tango-app-ui-ai-audio 3.0.21 → 3.0.22

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.
@@ -68,7 +68,8 @@ export class AudioPageComponent {
68
68
  const imgStyle = 'max-width:100%;border-radius:8px;margin:8px 0;display:block;';
69
69
  let processed = text
70
70
  .replace(/<img\s[^>]*>/gi, (match) => {
71
- const tag = /style=/i.test(match) ? match : match.replace(/\/?>$/, ` style="${imgStyle}" />`);
71
+ const hasStyle = /style=/i.test(match);
72
+ const tag = hasStyle ? match : match.replace(/\/?>$/, ` style="${imgStyle}" />`);
72
73
  imgPlaceholders.push(tag);
73
74
  return `%%IMG_${imgPlaceholders.length - 1}%%`;
74
75
  })
@@ -975,4 +976,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
975
976
  type: HostListener,
976
977
  args: ['document:click', ['$event']]
977
978
  }] } });
978
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW8tcGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1haS1hdWRpby9zcmMvbGliL2NvbXBvbmVudHMvYXVkaW8tcGFnZS9hdWRpby1wYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFpLWF1ZGlvL3NyYy9saWIvY29tcG9uZW50cy9hdWRpby1wYWdlL2F1ZGlvLXBhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQWMsWUFBWSxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckgsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7QUFXMUMsTUFBTSxPQUFPLGtCQUFrQjtJQTBEbkI7SUFDQTtJQUNEO0lBQ0M7SUFDQTtJQUNBO0lBOURGLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBQ04sa0JBQWtCLENBQThCO0lBQzNDLGVBQWUsQ0FBYztJQUVuRSxtREFBbUQ7SUFDbkQsUUFBUSxHQUFVLEVBQUUsQ0FBQztJQUNyQixXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQ2pCLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUN4QixXQUFXLEdBQXNFLEVBQUUsQ0FBQztJQUNwRixjQUFjLEdBQWtCLElBQUksQ0FBQztJQUNyQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLFVBQVUsR0FBRyxFQUFFLENBQUM7SUFFaEIsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDakMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVB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QUFFLENBQUMsQ0FBQyxDQUFDO1NBQzFFLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxjQUFjO1FBQ3BCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJO2dCQUNGLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsYUFBYSxDQUFDO2dCQUMvQyxJQUFJLEVBQUU7b0JBQUUsRUFBRSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDO2FBQ3hDO1lBQUMsTUFBTSxHQUFFO1FBQ1osQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDO3dHQWorQlksa0JBQWtCOzRGQUFsQixrQkFBa0IsMlZDYi9CLDBrMkRBNG9CTTs7NEZEL25CTyxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsZ0JBQWdCO2dPQU1PLGtCQUFrQjtzQkFBbEQsU0FBUzt1QkFBQyxvQkFBb0I7Z0JBQ08sZUFBZTtzQkFBcEQsU0FBUzt1QkFBQyxpQkFBaUI7Z0JBOEs1QixlQUFlO3NCQURkLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUGFnZUluZm9TZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBBdWRpb1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hdWRpby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWF1ZGlvLXBhZ2UnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hdWRpby1wYWdlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hdWRpby1wYWdlLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEF1ZGlvUGFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBAVmlld0NoaWxkKCdjaGF0VGhyZWFkTWVzc2FnZXMnKSBjaGF0VGhyZWFkTWVzc2FnZXMhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKCdzY3JvbGxDb250YWluZXInKSBwcml2YXRlIHNjcm9sbENvbnRhaW5lciE6IEVsZW1lbnRSZWY7XHJcblxyXG4gIC8vIGFpLWNoYXQgdmFyaWFibGVzICh1c2VkIGJ5IGlubGluZWQgYWktY2hhdCBIVE1MKVxyXG4gIG1lc3NhZ2VzOiBhbnlbXSA9IFtdO1xyXG4gIHVzZXJNZXNzYWdlID0gJyc7XHJcbiAgaXNUeXBpbmcgPSBmYWxzZTtcclxuICBzaG93Q2hhdEhpc3RvcnkgPSBmYWxzZTtcclxuICBjaGF0SGlzdG9yeTogeyBzZXNzaW9uX2lkOiBzdHJpbmc7IHNlc3Npb25fdGl0bGU6IHN0cmluZzsgbWVzc2FnZXM/OiBhbnlbXSB9W10gPSBbXTtcclxuICBzZWxlY3RlZENoYXRJZDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgaXNDaGF0TG9hZGluZyA9IGZhbHNlO1xyXG4gIHNlYXJjaFRleHQgPSAnJztcclxuXHJcbiAgZ2V0IGZpbHRlcmVkSGlzdG9yeSgpIHtcclxuICAgIHJldHVybiB0aGlzLmNoYXRIaXN0b3J5LmZpbHRlcihoID0+XHJcbiAgICAgIGguc2Vzc2lvbl90aXRsZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMuc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldENoYXRUaXRsZSgpOiBzdHJpbmcgeyByZXR1cm4gJ1RhbmdvIFNTRyBBSSc7IH1cclxuXHJcbiAgdG90YWxBdWRpbyA9IDA7XHJcbiAgZmlsdGVyVHlwZSA9ICcnO1xyXG4gIHNlbGVjdGVkQ29ob3J0SWQgPSAnJztcclxuICBpc0NvaG9ydERyb3Bkb3duT3BlbiA9IGZhbHNlO1xyXG4gIGNvaG9ydExpc3Q6IHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nIH1bXSA9IFtdO1xyXG4gIGNvaG9ydE9wdGlvbnM6IHN0cmluZ1tdID0gW107XHJcbiAgY2hhdFF1ZXJ5ID0gJyc7XHJcblxyXG4gIGN1cnJlbnRQYWdlID0gMTtcclxuICBvZmZzZXQgPSAxO1xyXG4gIHBhZ2VTaXplID0gMTA7XHJcbiAgdG90YWxJdGVtcyA9IDA7XHJcbiAgcGFnaW5hdGlvblNpemVzID0gWzEwLCAyMCwgMzBdO1xyXG4gIGRpc3BsYXllZENvbnZlcnNhdGlvbnM6IGFueVtdID0gW107XHJcblxyXG4gIGlzTG9hZGluZ0NhcmRzID0gZmFsc2U7XHJcbiAgaXNMb2FkaW5nQ29udmVyc2F0aW9ucyA9IGZhbHNlO1xyXG5cclxuICBzZWxlY3RlZENhcmRJZCA9ICcnO1xyXG4gIHNlbGVjdGVkQ2FyZE5hbWUgPSAnJztcclxuXHJcblxyXG4gIC8vIOKUgOKUgCBXZWlnaHRhZ2Ugb3B0aW9ucyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuICB3ZWlnaHRhZ2VPcHRpb25zID0gWydMb3cnLCAnTWVkaXVtJywgJ0hpZ2gnLCAnQ3JpdGljYWwnXTtcclxuXHJcbiAgLy8g4pSA4pSAIER5bmFtaWMgU3RhdCBDYXJkcyBmcm9tIEFQSSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuICBjb2hvcnRDYXJkczoge1xyXG4gICAgbmFtZTogc3RyaW5nO1xyXG4gICAgdHlwZTogYW55O1xyXG4gICAgYm9vbGVhblJvd3M/OiBhbnlbXTtcclxuICAgIG51bWVyaWNEYXRhPzogYW55O1xyXG4gICAgc3ViamVjdGl2ZVJvd3M/OiBhbnlbXTtcclxuICAgIHBpdGNoUm93cz86IGFueVtdO1xyXG4gIH1bXSA9IFtdO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBwYWdlSW5mbzogUGFnZUluZm9TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhdWRpb1NlcnZpY2U6IEF1ZGlvU2VydmljZSxcclxuICAgIHB1YmxpYyBnczogR2xvYmFsU3RhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHt9XHJcblxyXG4gIHBhcnNlTWFya2Rvd24odGV4dDogc3RyaW5nKTogU2FmZUh0bWwge1xyXG4gICAgaWYgKCF0ZXh0KSByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoJycpO1xyXG5cclxuICAgIGNvbnN0IGltZ1BsYWNlaG9sZGVyczogc3RyaW5nW10gPSBbXTtcclxuICAgIGNvbnN0IGltZ1N0eWxlID0gJ21heC13aWR0aDoxMDAlO2JvcmRlci1yYWRpdXM6OHB4O21hcmdpbjo4cHggMDtkaXNwbGF5OmJsb2NrOyc7XHJcblxyXG4gICAgbGV0IHByb2Nlc3NlZCA9IHRleHRcclxuICAgICAgLnJlcGxhY2UoLzxpbWdcXHNbXj5dKj4vZ2ksIChtYXRjaCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHRhZyA9IC9zdHlsZT0vaS50ZXN0KG1hdGNoKSA/IG1hdGNoIDogbWF0Y2gucmVwbGFjZSgvXFwvPz4kLywgYCBzdHlsZT1cIiR7aW1nU3R5bGV9XCIgLz5gKTtcclxuICAgICAgICBpbWdQbGFjZWhvbGRlcnMucHVzaCh0YWcpO1xyXG4gICAgICAgIHJldHVybiBgJSVJTUdfJHtpbWdQbGFjZWhvbGRlcnMubGVuZ3RoIC0gMX0lJWA7XHJcbiAgICAgIH0pXHJcbiAgICAgIC5yZXBsYWNlKC8hXFxbKFteXFxdXSopXFxdXFwoKGh0dHBzPzpcXC9cXC9bXildKylcXCkvZywgKF8sIGFsdCwgc3JjKSA9PiB7XHJcbiAgICAgICAgaW1nUGxhY2Vob2xkZXJzLnB1c2goYDxpbWcgc3JjPVwiJHtzcmN9XCIgYWx0PVwiJHthbHR9XCIgc3R5bGU9XCIke2ltZ1N0eWxlfVwiIC8+YCk7XHJcbiAgICAgICAgcmV0dXJuIGAlJUlNR18ke2ltZ1BsYWNlaG9sZGVycy5sZW5ndGggLSAxfSUlYDtcclxuICAgICAgfSlcclxuICAgICAgLnJlcGxhY2UoLyhodHRwcz86XFwvXFwvXFxTK1xcLig/OmpwZ3xqcGVnfHBuZ3xnaWZ8d2VicHxzdmcpKFxcP1teXFxzXSopPykvZ2ksIChfLCBzcmMpID0+IHtcclxuICAgICAgICBpbWdQbGFjZWhvbGRlcnMucHVzaChgPGltZyBzcmM9XCIke3NyY31cIiBhbHQ9XCJpbWFnZVwiIHN0eWxlPVwiJHtpbWdTdHlsZX1cIiAvPmApO1xyXG4gICAgICAgIHJldHVybiBgJSVJTUdfJHtpbWdQbGFjZWhvbGRlcnMubGVuZ3RoIC0gMX0lJWA7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIGxldCBodG1sID0gcHJvY2Vzc2VkXHJcbiAgICAgIC5yZXBsYWNlKC8mL2csICcmYW1wOycpLnJlcGxhY2UoLzwvZywgJyZsdDsnKS5yZXBsYWNlKC8+L2csICcmZ3Q7JylcclxuICAgICAgLnJlcGxhY2UoL14jIyMgKC4rKSQvZ20sICc8aDU+JDE8L2g1PicpXHJcbiAgICAgIC5yZXBsYWNlKC9eIyMgKC4rKSQvZ20sICc8aDQ+JDE8L2g0PicpXHJcbiAgICAgIC5yZXBsYWNlKC9eIyAoLispJC9nbSwgJzxoMz4kMTwvaDM+JylcclxuICAgICAgLnJlcGxhY2UoL1xcKlxcKiguKz8pXFwqXFwqL2csICc8c3Ryb25nPiQxPC9zdHJvbmc+JylcclxuICAgICAgLnJlcGxhY2UoL19fKC4rPylfXy9nLCAnPHN0cm9uZz4kMTwvc3Ryb25nPicpXHJcbiAgICAgIC5yZXBsYWNlKC9cXCooLis/KVxcKi9nLCAnPGVtPiQxPC9lbT4nKVxyXG4gICAgICAucmVwbGFjZSgvXyguKz8pXy9nLCAnPGVtPiQxPC9lbT4nKVxyXG4gICAgICAucmVwbGFjZSgvXlxccypbLSpdICguKykkL2dtLCAnPGxpPiQxPC9saT4nKVxyXG4gICAgICAucmVwbGFjZSgvXlxccypcXGQrXFwuICguKykkL2dtLCAnPGxpPiQxPC9saT4nKVxyXG4gICAgICAucmVwbGFjZSgvKDxsaT4uKjxcXC9saT4pL2dzLCAnPHVsPiQxPC91bD4nKVxyXG4gICAgICAucmVwbGFjZSgvXFxuezIsfS9nLCAnPC9wPjxwPicpXHJcbiAgICAgIC5yZXBsYWNlKC9cXG4vZywgJzxicj4nKTtcclxuICAgIGh0bWwgPSBgPHA+JHtodG1sfTwvcD5gO1xyXG4gICAgaHRtbCA9IGh0bWwucmVwbGFjZSgvJSVJTUdfKFxcZCspJSUvZywgKF8sIGkpID0+IGltZ1BsYWNlaG9sZGVyc1sraV0gfHwgJycpO1xyXG4gICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGh0bWwpO1xyXG4gIH1cclxuXHJcbiAgcGFyc2VDb2hvcnRBbmFseXNpcyhyZXNwb25zZTogYW55KTogdm9pZCB7XHJcbiAgICBjb25zdCBhbmFseXNpcyA9IHJlc3BvbnNlPy5kYXRhPy5jb2hvcnRBbmFseXNpcztcclxuICAgIGlmICghYW5hbHlzaXMpIHJldHVybjtcclxuXHJcbiAgICB0aGlzLnRvdGFsQXVkaW8gPSBhbmFseXNpcy50b3RhbEF1ZGlvQXZhaWxhYmxlIHx8IDA7XHJcbiAgICB0aGlzLmNvaG9ydENhcmRzID0gW107XHJcblxyXG4gICAgY29uc3Qgc2tpcEtleXMgPSBuZXcgU2V0KFsndG90YWxBdWRpb0F2YWlsYWJsZScsICdjb2hvcnRUeXBlJywgJ2RhdGVSYW5nZScsICd1bmlxdWVQaXRjaGVzJ10pO1xyXG5cclxuICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGFuYWx5c2lzKSkge1xyXG4gICAgICBpZiAoc2tpcEtleXMuaGFzKGtleSkpIGNvbnRpbnVlO1xyXG4gICAgICBjb25zdCBzZWN0aW9uID0gYW5hbHlzaXNba2V5XTtcclxuICAgICAgaWYgKCFzZWN0aW9uIHx8IHR5cGVvZiBzZWN0aW9uICE9PSAnb2JqZWN0JykgY29udGludWU7XHJcblxyXG4gICAgICBjb25zdCB2YWx1ZXM6IGFueVtdID0gc2VjdGlvbi52YWx1ZSB8fCBbXTtcclxuICAgICAgY29uc3QgdHlwZSA9IHNlY3Rpb24udHlwZTtcclxuXHJcbiAgICAgIGlmICghdmFsdWVzLmxlbmd0aCkgY29udGludWU7XHJcblxyXG4gICAgICBpZiAodHlwZSA9PT0gJ0JPT0xFQU5fQkFTS0VUJykge1xyXG4gICAgICAgIHRoaXMuY29ob3J0Q2FyZHMucHVzaCh7XHJcbiAgICAgICAgICBuYW1lOiBzZWN0aW9uLm5hbWUgfHwga2V5LFxyXG4gICAgICAgICAgdHlwZTogJ0JPT0xFQU5fQkFTS0VUJyxcclxuICAgICAgICAgIGJvb2xlYW5Sb3dzOiB2YWx1ZXMubWFwKChpdGVtOiBhbnkpID0+ICh7XHJcbiAgICAgICAgICAgIGlkOiBpdGVtLl9pZCB8fCAnJyxcclxuICAgICAgICAgICAgbGFiZWw6IGl0ZW0ubmFtZSxcclxuICAgICAgICAgICAgcmVzcG9uc2VzOiBpdGVtLlJlc3BvbnNlcyA/PyBpdGVtLmNvdW50ID8/IDAsXHJcbiAgICAgICAgICAgIHNjb3JlOiBpdGVtLnNjb3JlID8/IDBcclxuICAgICAgICAgIH0pKVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdOVU1FUklDX1NDQUxBUicpIHtcclxuICAgICAgICBjb25zdCBpdGVtID0gdmFsdWVzWzBdIHx8IHt9O1xyXG4gICAgICAgIHRoaXMuY29ob3J0Q2FyZHMucHVzaCh7XHJcbiAgICAgICAgICBuYW1lOiBzZWN0aW9uLm5hbWUgfHwga2V5LFxyXG4gICAgICAgICAgdHlwZTogJ05VTUVSSUNfU0NBTEFSJyxcclxuICAgICAgICAgIG51bWVyaWNEYXRhOiB7IHRvdGFsOiBpdGVtLlRvdGFsID8/IDAsIGF2ZzogaXRlbS5BdmcgPz8gMCB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ05VTUVSSUNfQVJSQVknKSB7XHJcbiAgICAgICAgIGNvbnN0IGl0ZW0gPSB2YWx1ZXNbMF0gfHwge307XHJcbiAgICAgICAgdGhpcy5jb2hvcnRDYXJkcy5wdXNoKHtcclxuICAgICAgICAgIG5hbWU6IHNlY3Rpb24ubmFtZSB8fCBrZXksXHJcbiAgICAgICAgICB0eXBlOiAnTlVNRVJJQ19BUlJBWScsXHJcbiAgICAgICAgICBudW1lcmljRGF0YTogeyB0b3RhbDogaXRlbS5Ub3RhbCA/PyAwLCBhdmc6IGl0ZW0uQXZnID8/IDAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKHR5cGUgPT09ICdTVUJKRUNUSVZFJ3x8dHlwZT09PSdTVUJKRUNUSVZFX0NPVU5UJykge1xyXG4gICAgICAgIHRoaXMuY29ob3J0Q2FyZHMucHVzaCh7XHJcbiAgICAgICAgICBuYW1lOiBzZWN0aW9uLm5hbWUgfHwga2V5LFxyXG4gICAgICAgICAgdHlwZTogdHlwZSxcclxuICAgICAgICAgIHN1YmplY3RpdmVSb3dzOiB2YWx1ZXMubWFwKChpdGVtOiBhbnkpID0+ICh7XHJcbiAgICAgICAgICAgIF9pZDogaXRlbS5faWQgfHwgJycsXHJcbiAgICAgICAgICAgIHJlYXNvbmluZzogaXRlbS5yZWFzb25pbmcgfHwgJycsXHJcbiAgICAgICAgICAgIHN0b3JlX2lkOiBpdGVtLnN0b3JlX2lkIHx8ICcnLFxyXG4gICAgICAgICAgICBkYXRlOiBpdGVtLmRhdGUgfHwgJydcclxuICAgICAgICAgIH0pKVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSW5zZXJ0IHVuaXF1ZSBwaXRjaGVzIGNhcmQgaWYgcHJlc2VudFxyXG4gICAgaWYgKGFuYWx5c2lzLnVuaXF1ZVBpdGNoZXMgJiYgQXJyYXkuaXNBcnJheShhbmFseXNpcy51bmlxdWVQaXRjaGVzKSkge1xyXG4gICAgICBjb25zdCBwaXRjaEluc2VydElkeCA9IHRoaXMuY29ob3J0Q2FyZHMubGVuZ3RoID49IDIgPyAyIDogdGhpcy5jb2hvcnRDYXJkcy5sZW5ndGg7XHJcbiAgICAgIHRoaXMuY29ob3J0Q2FyZHMuc3BsaWNlKHBpdGNoSW5zZXJ0SWR4LCAwLCB7XHJcbiAgICAgICAgbmFtZTogJ1VuaXF1ZSBQaXRjaGVzJyxcclxuICAgICAgICB0eXBlOiAnVU5JUVVFX1BJVENIRVMnLFxyXG4gICAgICAgIHBpdGNoUm93czogYW5hbHlzaXMudW5pcXVlUGl0Y2hlcy5tYXAoKHA6IGFueSkgPT4gKHsgaWQ6IHAucGl0Y2hJZCwgZGVzYzogcC5kZXNjcmlwdGlvbiB9KSlcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXHJcbiAgb25Eb2N1bWVudENsaWNrKGU6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmICghKGUudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5jbG9zZXN0KCcuY29ob3J0LWRyb3Bkb3duJykpIHtcclxuICAgICAgdGhpcy5pc0NvaG9ydERyb3Bkb3duT3BlbiA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgaWYgKCEoZS50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsb3Nlc3QoJy5wbHVzLW1lbnUtd3JhcCcpKSB7XHJcbiAgICAgIHRoaXMuc2hvd1BsdXNNZW51ID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyDilIDilIAgQUkgTW9kZWwg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcbiAgcmVhZG9ubHkgbW9kZWxPcHRpb25zID0gW1xyXG4gICAgeyBsYWJlbDogJ3YxJywgdmFsdWU6ICdnZW1pbmktMi41LXBybycgfSxcclxuICAgIHsgbGFiZWw6ICd2MicsIHZhbHVlOiAnY2xhdWRlLXNvbm5ldC00LTYnIH1cclxuICBdO1xyXG4gIHNlbGVjdGVkTW9kZWwgPSAnZ2VtaW5pLTIuNS1wcm8nO1xyXG4gIHNob3dQbHVzTWVudSA9IGZhbHNlO1xyXG5cclxuICBnZXQgc2VsZWN0ZWRNb2RlbFZlcnNpb24oKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IG1hdGNoID0gdGhpcy5zZWxlY3RlZE1vZGVsLm1hdGNoKC8oXFxkK1xcLlxcZCspLyk7XHJcbiAgICByZXR1cm4gbWF0Y2ggPyBtYXRjaFsxXSA6ICcnO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0TW9kZWwodmFsdWU6IHN0cmluZyk6IHZvaWQgeyB0aGlzLnNlbGVjdGVkTW9kZWwgPSB2YWx1ZTsgfVxyXG4gIHRvZ2dsZVBsdXNNZW51KCk6IHZvaWQgeyB0aGlzLnNob3dQbHVzTWVudSA9ICF0aGlzLnNob3dQbHVzTWVudTsgfVxyXG4gIGNsb3NlUGx1c01lbnUoKTogdm9pZCB7IHRoaXMuc2hvd1BsdXNNZW51ID0gZmFsc2U7IH1cclxuXHJcbiAgc2VsZWN0Q29ob3J0VHlwZShvcHRpb246IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5maWx0ZXJUeXBlID0gb3B0aW9uO1xyXG4gICAgY29uc3QgZm91bmQgPSB0aGlzLmNvaG9ydExpc3QuZmluZChjID0+IGMubmFtZSA9PT0gb3B0aW9uKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRDb2hvcnRJZCA9IGZvdW5kID8gZm91bmQuaWQgOiAnJztcclxuICAgIHRoaXMuaXNDb2hvcnREcm9wZG93bk9wZW4gPSBmYWxzZTtcclxuICAgIHRoaXMuY3VycmVudFBhZ2UgPSAxO1xyXG4gICAgdGhpcy5vZmZzZXQgPSAxO1xyXG4gICAgdGhpcy5zZWxlY3RlZENhcmRJZCA9ICcnO1xyXG4gICAgdGhpcy5zZWxlY3RlZENhcmROYW1lID0gJyc7XHJcbiAgICB0aGlzLmZldGNoQ29ob3J0Q2FyZHMoKTtcclxuICAgIHRoaXMuZmV0Y2hDb252ZXJzYXRpb25zKCk7XHJcbiAgfVxyXG5cclxuICAvLyDilIDilIAgV2F2ZWZvcm0gJiBQbGF5ZXIg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcblxyXG4gIHdhdmVmb3JtSGVpZ2h0cyA9IFtcclxuICAgIDgsIDIyLCAzOCwgNTIsIDQ0LCAyOCwgNTYsIDQyLCAxOCwgMzIsIDU0LCA0NiwgMjQsIDQwLCA2MCwgNTAsIDI2LCA0NCxcclxuICAgIDM2LCAxOCwgNTIsIDM4LCAyOCwgNDYsIDM0LCAyMCwgNTYsIDQyLCAxNCwgMzYsIDUwLCAzMCwgMjIsIDQ0LCA1NiwgMzgsXHJcbiAgICAyMCwgNDYsIDMwLCAxNiwgNTAsIDM2LCAyNCwgNTQsIDQyLCAyOCwgMzYsIDIwLCA0NiwgMzIsIDE4LCA0MCwgNTYsIDQ0LFxyXG4gICAgMjQsIDM2LCAyMCwgNTAsIDM0LCAyMlxyXG4gIF07XHJcblxyXG4gIC8qKiAwLjAg4oCTIDEuMDogZnJhY3Rpb24gb2YgYXVkaW8gdGhhdCBoYXMgYmVlbiBwbGF5ZWQgKi9cclxuICAvLyBwbGF5UHJvZ3Jlc3MgPSAwLjE4O1xyXG4gIC8qKiBJRCBvZiB0aGUgY29udmVyc2F0aW9uIHdob3NlIGF1ZGlvIGlzIGN1cnJlbnRseSBwbGF5aW5nIChudWxsID0gbm9uZSkgKi9cclxuICBwbGF5aW5nQ29udklkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBpc011dGVkID0gZmFsc2U7XHJcbiAgLy8gUGVyLWNvbnZlcnNhdGlvbiBwbGF5YmFjayBzdGF0ZXMgZm9yIFVJIHBlcnNpc3RlbmNlXHJcbiAgcGxheWJhY2tTdGF0ZXM6IHsgW2lkOiBzdHJpbmddOiB7IGN1cnJlbnRUaW1lOiBzdHJpbmcsIHRvdGFsVGltZTogc3RyaW5nLCBwcm9ncmVzczogbnVtYmVyIH0gfCB1bmRlZmluZWQgfSA9IHt9O1xyXG5cclxuICBvbkxvYWRlZE1ldGFkYXRhKGF1ZGlvOiBIVE1MQXVkaW9FbGVtZW50LCBjb252SWQ6IHN0cmluZywgYXBpRHVyYXRpb24/OiBzdHJpbmcpIHtcclxuICAgIGlmICghdGhpcy5wbGF5YmFja1N0YXRlc1tjb252SWRdKSB7XHJcbiAgICAgIHRoaXMucGxheWJhY2tTdGF0ZXNbY29udklkXSA9IHsgY3VycmVudFRpbWU6ICcwOjAwJywgdG90YWxUaW1lOiAnMDowMCcsIHByb2dyZXNzOiAwIH07XHJcbiAgICB9XHJcbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMucGxheWJhY2tTdGF0ZXNbY29udklkXSE7XHJcbiAgICAvLyBVc2UgYnJvd3NlciBkdXJhdGlvbiBpZiB2YWxpZDsgb3RoZXJ3aXNlIGZhbGwgYmFjayB0byBBUEktcHJvdmlkZWQgc3RyaW5nXHJcbiAgICBpZiAoaXNGaW5pdGUoYXVkaW8uZHVyYXRpb24pICYmIGF1ZGlvLmR1cmF0aW9uID4gMCkge1xyXG4gICAgICBzdGF0ZS50b3RhbFRpbWUgPSB0aGlzLmZvcm1hdFRpbWUoYXVkaW8uZHVyYXRpb24pO1xyXG4gICAgfSBlbHNlIGlmIChhcGlEdXJhdGlvbikge1xyXG4gICAgICBzdGF0ZS50b3RhbFRpbWUgPSBhcGlEdXJhdGlvbjtcclxuICAgIH1cclxuICAgIC8vIFJlc3RvcmUgc2F2ZWQgcGxheWJhY2sgcG9zaXRpb24gaWYgdXNlciBoYWQgYmVlbiBsaXN0ZW5pbmcgYmVmb3JlXHJcbiAgICBpZiAoc3RhdGUucHJvZ3Jlc3MgPiAwICYmIGlzRmluaXRlKGF1ZGlvLmR1cmF0aW9uKSAmJiBhdWRpby5kdXJhdGlvbiA+IDApIHtcclxuICAgICAgYXVkaW8uY3VycmVudFRpbWUgPSBzdGF0ZS5wcm9ncmVzcyAqIGF1ZGlvLmR1cmF0aW9uO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25UaW1lVXBkYXRlKGF1ZGlvOiBIVE1MQXVkaW9FbGVtZW50LCBjb252SWQ6IHN0cmluZykge1xyXG4gICAgaWYgKCF0aGlzLnBsYXliYWNrU3RhdGVzW2NvbnZJZF0pIHtcclxuICAgICAgdGhpcy5wbGF5YmFja1N0YXRlc1tjb252SWRdID0geyBjdXJyZW50VGltZTogJzA6MDAnLCB0b3RhbFRpbWU6ICcwOjAwJywgcHJvZ3Jlc3M6IDAgfTtcclxuICAgIH1cclxuICAgIGNvbnN0IHN0YXRlID0gdGhpcy5wbGF5YmFja1N0YXRlc1tjb252SWRdITtcclxuICAgIHN0YXRlLmN1cnJlbnRUaW1lID0gdGhpcy5mb3JtYXRUaW1lKGF1ZGlvLmN1cnJlbnRUaW1lKTtcclxuICAgIGlmIChpc0Zpbml0ZShhdWRpby5kdXJhdGlvbikgJiYgYXVkaW8uZHVyYXRpb24gPiAwKSB7XHJcbiAgICAgIHN0YXRlLnByb2dyZXNzID0gYXVkaW8uY3VycmVudFRpbWUgLyBhdWRpby5kdXJhdGlvbjtcclxuICAgIH1cclxuICB9XHJcblxyXG5mb3JtYXRUaW1lKHNlY29uZHM6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgaWYgKCFzZWNvbmRzKSByZXR1cm4gJzA6MDAnO1xyXG5cclxuICBjb25zdCBtaW5zID0gTWF0aC5mbG9vcihzZWNvbmRzIC8gNjApO1xyXG4gIGNvbnN0IHNlY3MgPSBNYXRoLmZsb29yKHNlY29uZHMgJSA2MCk7XHJcblxyXG4gIHJldHVybiBgJHttaW5zfToke3NlY3MgPCAxMCA/ICcwJyArIHNlY3MgOiBzZWNzfWA7XHJcbn1cclxuXHJcbiAgc2Vla0F1ZGlvKGV2ZW50OiBNb3VzZUV2ZW50LCBjb252SWQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3QgdHJhY2sgPSBldmVudC5jdXJyZW50VGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgY29uc3QgcmF0aW8gPSBldmVudC5vZmZzZXRYIC8gdHJhY2sub2Zmc2V0V2lkdGg7XHJcbiAgICBjb25zdCBhdWRpbyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGBhdWRpby0ke2NvbnZJZH1gKSBhcyBIVE1MQXVkaW9FbGVtZW50O1xyXG4gICAgaWYgKCFhdWRpbyB8fCAhYXVkaW8uZHVyYXRpb24pIHJldHVybjtcclxuICAgIGF1ZGlvLmN1cnJlbnRUaW1lID0gcmF0aW8gKiBhdWRpby5kdXJhdGlvbjtcclxuICB9XHJcblxyXG4gIHRvZ2dsZVBsYXkoY29udklkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGF1ZGlvID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYGF1ZGlvLSR7Y29udklkfWApIGFzIEhUTUxBdWRpb0VsZW1lbnQ7XHJcbiAgICBpZiAoIWF1ZGlvKSByZXR1cm47XHJcblxyXG4gICAgaWYgKHRoaXMucGxheWluZ0NvbnZJZCA9PT0gY29udklkKSB7XHJcbiAgICAgIGF1ZGlvLnBhdXNlKCk7XHJcbiAgICAgIHRoaXMucGxheWluZ0NvbnZJZCA9IG51bGw7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBQYXVzZSBwcmV2aW91c2x5IHBsYXlpbmcgYXVkaW9cclxuICAgICAgaWYgKHRoaXMucGxheWluZ0NvbnZJZCkge1xyXG4gICAgICAgIGNvbnN0IG90aGVyQXVkaW8gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgYXVkaW8tJHt0aGlzLnBsYXlpbmdDb252SWR9YCkgYXMgSFRNTEF1ZGlvRWxlbWVudDtcclxuICAgICAgICBpZiAob3RoZXJBdWRpbykgb3RoZXJBdWRpby5wYXVzZSgpO1xyXG4gICAgICAgIHRoaXMucGxheWluZ0NvbnZJZCA9IG51bGw7XHJcbiAgICAgIH1cclxuICAgICAgLy8gcGxheSgpIHJldHVybnMgYSBQcm9taXNlIOKAlCBoYW5kbGUgcmVqZWN0aW9uIHRvIGF2b2lkIHNpbGVudCBmYWlsdXJlc1xyXG4gICAgICBjb25zdCBwbGF5UHJvbWlzZSA9IGF1ZGlvLnBsYXkoKTtcclxuICAgICAgaWYgKHBsYXlQcm9taXNlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICBwbGF5UHJvbWlzZS50aGVuKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMucGxheWluZ0NvbnZJZCA9IGNvbnZJZDtcclxuICAgICAgICB9KS5jYXRjaCgoZXJyKSA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdbQXVkaW9dIFBsYXkgZmFpbGVkOicsIGVycik7XHJcbiAgICAgICAgICB0aGlzLnBsYXlpbmdDb252SWQgPSBudWxsO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMucGxheWluZ0NvbnZJZCA9IGNvbnZJZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdG9nZ2xlTXV0ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNNdXRlZCA9ICF0aGlzLmlzTXV0ZWQ7XHJcbiAgICBjb25zdCBhdWRpb3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdhdWRpbycpO1xyXG4gICAgYXVkaW9zLmZvckVhY2goYSA9PiBhLm11dGVkID0gdGhpcy5pc011dGVkKTtcclxuICB9XHJcblxyXG4gIC8vIOKUgOKUgCBBY2NvcmRpb24gU3RhdGUg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcblxyXG4gIG9wZW5JZDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgYWN0aXZlVGFiOiB7IFtpZDogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcclxuaGVhZGVyRGF0YTogYW55O1xyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRQYWdlRGF0YSgpO1xyXG4gICAgdGhpcy5pbml0Q2hhdFNlc3Npb24oKTtcclxuICAgIHRoaXMubG9hZENoYXRIaXN0b3J5TGlzdCgpO1xyXG4gICAgdGhpcy5ncy5kYXRhUmFuZ2VWYWx1ZVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChkYXRhKSB7XHJcbiAgICAgICAgICB0aGlzLmhlYWRlckRhdGEgPSBkYXRhO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcclxuICAgICAgICB0aGlzLm9mZnNldCA9IDE7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZENhcmRJZCA9ICcnO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDYXJkTmFtZSA9ICcnO1xyXG4gICAgICAgIGlmICghdGhpcy5jb2hvcnRMaXN0TG9hZGVkKSB7XHJcbiAgICAgICAgICB0aGlzLmZldGNoQ29ob3J0TGlzdCgpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmZldGNoQ29ob3J0Q2FyZHMoKTtcclxuICAgICAgICAgIHRoaXMuZmV0Y2hDb252ZXJzYXRpb25zKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY29ob3J0TGlzdExvYWRlZCA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIGZldGNoQ29ob3J0TGlzdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGNsaWVudElkID0gJzExJztcclxuICAgIHRoaXMuYXVkaW9TZXJ2aWNlLmxpc3RDb2hvcnRzKGNsaWVudElkLCAxMDAsIDApLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmNvaG9ydExpc3RMb2FkZWQgPSB0cnVlO1xyXG4gICAgICAgIGNvbnN0IGNvaG9ydHMgPSByZXM/LmRhdGE/LmNvaG9ydHMgfHwgW107XHJcbiAgICAgICAgdGhpcy5jb2hvcnRMaXN0ID0gY29ob3J0cy5tYXAoKGM6IGFueSkgPT4gKHsgaWQ6IGMuY29ob3J0SWQsIG5hbWU6IGMuY29ob3J0TmFtZSB8fCAnJyB9KSk7XHJcbiAgICAgICAgdGhpcy5jb2hvcnRPcHRpb25zID0gdGhpcy5jb2hvcnRMaXN0Lm1hcChjID0+IGMubmFtZSk7XHJcbiAgICAgICAgaWYgKHRoaXMuY29ob3J0TGlzdC5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICB0aGlzLmZpbHRlclR5cGUgPSB0aGlzLmNvaG9ydExpc3RbMF0ubmFtZTtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDb2hvcnRJZCA9IHRoaXMuY29ob3J0TGlzdFswXS5pZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5mZXRjaENvaG9ydENhcmRzKCk7XHJcbiAgICAgICAgdGhpcy5mZXRjaENvbnZlcnNhdGlvbnMoKTtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6ICgpID0+IHtcclxuICAgICAgICB0aGlzLmNvaG9ydExpc3RMb2FkZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuZmV0Y2hDb2hvcnRDYXJkcygpO1xyXG4gICAgICAgIHRoaXMuZmV0Y2hDb252ZXJzYXRpb25zKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRQYXlsb2FkKCk6IGFueSB7XHJcbiAgICBjb25zdCBjbGllbnRJZCA9ICAnMTEnO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgY2xpZW50SWQ6IEFycmF5LmlzQXJyYXkoY2xpZW50SWQpID8gY2xpZW50SWQgOiBbY2xpZW50SWRdLFxyXG4gICAgICBzdG9yZUlkOiBbXHJcbiAgICAgICAgXCIxMS0xMDYyXCIsXHJcbiAgICAgICAgXCIxMS0xMDc4XCIsXHJcbiAgICAgICAgXCIxMS0xMDgzXCIsXHJcbiAgICAgICAgXCIxMS0xNTE1XCIsXHJcbiAgICAgICAgXCIxMS0xNTRcIixcclxuICAgICAgICBcIjExLTE2MjZcIixcclxuICAgICAgICBcIjExLTE4MVwiLFxyXG4gICAgICAgIFwiMTEtMTk0N1wiLFxyXG4gICAgICAgIFwiMTEtMTk5NFwiLFxyXG4gICAgICAgIFwiMTEtMjAwXCIsXHJcbiAgICAgICAgXCIxMS0yMDJcIixcclxuICAgICAgICBcIjExLTIxNVwiLFxyXG4gICAgICAgIFwiMTEtMjYwXCIsXHJcbiAgICAgICAgXCIxMS03OFwiLFxyXG4gICAgICAgIFwiMTEtODE5XCJcclxuICAgIF0sXHJcbiAgICAgIGNvaG9ydFR5cGU6IHRoaXMuc2VsZWN0ZWRDb2hvcnRJZCA/IFt0aGlzLnNlbGVjdGVkQ29ob3J0SWRdIDogW10sXHJcbiAgICAgIHN0YXJ0RGF0ZTogXCIyMDI2LTAzLTAxXCIsXHJcbiAgICAgIGVuZERhdGU6IFwiMjAyNi0wMy0yOFwiLFxyXG4gICAgICBpc0FJOiB0cnVlLFxyXG4gICAgICBhbmFseXRpY3NUeXBlOiAnYXVkaW8nLFxyXG4gICAgICBpc0V4cG9ydDogZmFsc2VcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBmZXRjaENvaG9ydENhcmRzKCk6IHZvaWQge1xyXG4gICBcclxuICAgIHRoaXMuaXNMb2FkaW5nQ2FyZHMgPSB0cnVlO1xyXG4gICAgdGhpcy5hdWRpb1NlcnZpY2UuZ2V0Q29ob3J0QW5hbHlzaXNDYXJkKHRoaXMuYnVpbGRQYXlsb2FkKCkpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLnBhcnNlQ29ob3J0QW5hbHlzaXMocmVzKTtcclxuICAgICAgICB0aGlzLmlzTG9hZGluZ0NhcmRzID0gZmFsc2U7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoKSA9PiB7IHRoaXMuaXNMb2FkaW5nQ2FyZHMgPSBmYWxzZTsgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvblNlYXJjaCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY3VycmVudFBhZ2UgPSAxO1xyXG4gICAgdGhpcy5vZmZzZXQgPSAxO1xyXG4gICAgdGhpcy5zZW5kQ2hhdE1lc3NhZ2UoKTtcclxuICB9XHJcblxyXG4gIGZldGNoQ29udmVyc2F0aW9ucygpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5wYWdlU2l6ZSB8fCB0aGlzLnBhZ2VTaXplIDwgMSkgeyB0aGlzLnBhZ2VTaXplID0gMTA7IH1cclxuICAgIGNvbnN0IHBheWxvYWQgPSB7XHJcbiAgICAgIC4uLnRoaXMuYnVpbGRQYXlsb2FkKCksXHJcbiAgICAgIC8vIHNlYXJjaFZhbHVlOiB0aGlzLmNoYXRRdWVyeSB8fCAnJyxcclxuICAgICAgbGltaXQ6IHRoaXMucGFnZVNpemUsXHJcbiAgICAgIF9pZDogdGhpcy5zZWxlY3RlZENhcmRJZCA/IFt0aGlzLnNlbGVjdGVkQ2FyZElkXSA6IFtdLFxyXG4gICAgICBuYW1lOiB0aGlzLnNlbGVjdGVkQ2FyZElkID8gJycgOiAodGhpcy5zZWxlY3RlZENhcmROYW1lIHx8ICcnKSxcclxuICAgICAgb2Zmc2V0OiB0aGlzLmN1cnJlbnRQYWdlIC0gMVxyXG4gICAgfTtcclxuICAgIHRoaXMuaXNMb2FkaW5nQ29udmVyc2F0aW9ucyA9IHRydWU7XHJcbiAgICB0aGlzLmF1ZGlvU2VydmljZS5nZXRDb252ZXJzYXRpb25zTGlzdChwYXlsb2FkKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgY29uc3QgbGlzdCA9IHJlcz8uZGF0YT8uZGF0YSB8fCByZXM/LmRhdGE/LmNvbnZlcnNhdGlvbnMgfHwgW107XHJcbiAgICAgICAgdGhpcy5jb252ZXJzYXRpb25zID0gbGlzdC5tYXAoKGl0ZW06IGFueSkgPT4gdGhpcy5tYXBDb252ZXJzYXRpb24oaXRlbSkpO1xyXG4gICAgICAgIHRoaXMudG90YWxJdGVtcyA9IHJlcz8uZGF0YT8uY291bnQgPz8gcmVzPy5kYXRhPy5wYWdpbmF0aW9uPy50b3RhbCA/PyB0aGlzLmNvbnZlcnNhdGlvbnMubGVuZ3RoO1xyXG4gICAgICAgIHRoaXMucGFnaW5hdGlvblNpemVzID0gdGhpcy50b3RhbEl0ZW1zID4gMTAgPyBbMTAsIDIwLCA1MCwgMTAwXSA6IFt0aGlzLnRvdGFsSXRlbXMgfHwgMTBdO1xyXG4gICAgICAgIHRoaXMucGFnZVNpemUgPSB0aGlzLnBhZ2luYXRpb25TaXplcy5pbmNsdWRlcyh0aGlzLnBhZ2VTaXplKSA/IHRoaXMucGFnZVNpemUgOiB0aGlzLnBhZ2luYXRpb25TaXplc1swXTtcclxuICAgICAgICB0aGlzLnVwZGF0ZURpc3BsYXllZENvbnZlcnNhdGlvbnMoKTtcclxuICAgICAgICB0aGlzLmlzTG9hZGluZ0NvbnZlcnNhdGlvbnMgPSBmYWxzZTtcclxuICAgICAgICAvLyBBdXRvLW9wZW4gZmlyc3QgY29udmVyc2F0aW9uXHJcbiAgICAgICAgaWYgKHRoaXMuZGlzcGxheWVkQ29udmVyc2F0aW9ucy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICBjb25zdCBmaXJzdCA9IHRoaXMuZGlzcGxheWVkQ29udmVyc2F0aW9uc1swXTtcclxuICAgICAgICAgIHRoaXMub3BlbklkID0gZmlyc3QuYXVkaW9JZDtcclxuICAgICAgICAgIGlmICghdGhpcy5hY3RpdmVUYWJbZmlyc3QuYXVkaW9JZF0pIHRoaXMuYWN0aXZlVGFiW2ZpcnN0LmF1ZGlvSWRdID0gJ3N1bW1hcnknO1xyXG4gICAgICAgICAgdGhpcy5sb2FkQ29udmVyc2F0aW9uRGV0YWlsKGZpcnN0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jb252ZXJzYXRpb25zID0gW107XHJcbiAgICAgICAgdGhpcy5kaXNwbGF5ZWRDb252ZXJzYXRpb25zID0gW107XHJcbiAgICAgICAgdGhpcy50b3RhbEl0ZW1zID0gMDtcclxuICAgICAgICB0aGlzLmlzTG9hZGluZ0NvbnZlcnNhdGlvbnMgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHBhcnNlTWV0cmljcyhyYXc6IGFueSk6IHsgbmFtZTogc3RyaW5nOyB0eXBlOiBzdHJpbmc7IHZhbHVlOiBhbnlbXSB9W10ge1xyXG4gICAgaWYgKCFyYXcgfHwgdHlwZW9mIHJhdyAhPT0gJ29iamVjdCcpIHJldHVybiBbXTtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHJhdykpIHJldHVybiByYXc7IC8vIGFscmVhZHkgcGFyc2VkXHJcbiAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyhyYXcpXHJcbiAgICAgIC5maWx0ZXIoKHNlY3Rpb246IGFueSkgPT4gc2VjdGlvbiAmJiB0eXBlb2Ygc2VjdGlvbiA9PT0gJ29iamVjdCcgJiYgc2VjdGlvbi50eXBlKVxyXG4gICAgICAubWFwKChzZWN0aW9uOiBhbnkpID0+ICh7XHJcbiAgICAgICAgbmFtZTogc2VjdGlvbi5uYW1lIHx8ICcnLFxyXG4gICAgICAgIHR5cGU6IHNlY3Rpb24udHlwZSB8fCAnJyxcclxuICAgICAgICB2YWx1ZTogc2VjdGlvbi52YWx1ZSB8fCBbXVxyXG4gICAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG1hcENvbnZlcnNhdGlvbihpdGVtOiBhbnkpOiBhbnkge1xyXG4gICAgY29uc3QgaGFzRGV0YWlsID0gISEoaXRlbS5haUluc2lnaHRzIHx8IGl0ZW0uY29udmVyc2F0aW9uRGV0YWlscyk7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBhdWRpb0lkOiBpdGVtLmRvY19pZCB8fCBpdGVtLmF1ZGlvSWQgfHwgaXRlbS5faWQgfHwgJycsXHJcbiAgICAgIHN0b3JlSWQ6IGl0ZW0uc3RvcmVJZCB8fCAnJyxcclxuICAgICAgc3RvcmVOYW1lOiBpdGVtLnN0b3JlTmFtZSB8fCAnJyxcclxuICAgICAgdXNlck5hbWU6IGl0ZW0uc3RhZmYgfHwgaXRlbS5zdGFmZklkIHx8IGl0ZW0udXNlck5hbWUgfHwgaXRlbS5zdGFmZk5hbWUgfHwgJycsXHJcbiAgICAgIGxvY2F0aW9uOiBpdGVtLmxvY2F0aW9uIHx8IGl0ZW0uc3RhdGUgfHwgJycsXHJcbiAgICAgIGRhdGU6IGl0ZW0uZGF0ZSB8fCAnJyxcclxuICAgICAgdGltZTogaXRlbS5UaW1lc3RhbXAgfHwgaXRlbS50aW1lIHx8ICcnLFxyXG4gICAgICBkdXJhdGlvbjogaXRlbS5EdXJhdGlvbiB8fCBpdGVtLmR1cmF0aW9uIHx8ICcnLFxyXG4gICAgICBhdWRpb0Rlc2NyaXB0aW9uOiBpdGVtLlN1bW1hcnkgfHwgaXRlbS5hdWRpb0Rlc2NyaXB0aW9uIHx8IGl0ZW0uc3VtbWFyeSB8fCBpdGVtLmNvbnZlcnNhdGlvbkRldGFpbHM/LmF1ZGlvU3VtbWFyeSB8fCAnJyxcclxuICAgICAgZXllVGVzdExpbms6ICEhaXRlbS5leWVUZXN0TGluayxcclxuICAgICAgYXVkaW9Vcmw6IGl0ZW0uYXVkaW9VcmwgfHwgaXRlbS5hdWRpb191cmwgfHwgJycsXHJcbiAgICAgIG1ldHJpY3M6IHRoaXMucGFyc2VNZXRyaWNzKGl0ZW0ubWV0cmljcyksXHJcbiAgICAgIGFpSW5zaWdodHM6IGl0ZW0uYWlJbnNpZ2h0cyB8fCB7IHRpdGxlOiAnVGFuZ28gQUkgR2VuZXJhdGVkIEluc2lnaHRzJywgc3VtbWFyeTogW10gfSxcclxuICAgICAgY29udmVyc2F0aW9uRGV0YWlsczogaXRlbS5jb252ZXJzYXRpb25EZXRhaWxzIHx8IHsgYXVkaW9TdW1tYXJ5OiAnJywgdHJhbnNjcmlwdGlvbjogJycgfSxcclxuICAgICAgX2RldGFpbExvYWRlZDogaGFzRGV0YWlsLFxyXG4gICAgICBfZGV0YWlsTG9hZGluZzogZmFsc2UsXHJcbiAgICAgIF9kZXRhaWxFcnJvcjogZmFsc2VcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBsb2FkQ29udmVyc2F0aW9uRGV0YWlsKGNvbnY6IGFueSk6IHZvaWQge1xyXG4gICAgLy8gU2tpcCBpZiBhbHJlYWR5IGxvYWRlZCBBTkQgYXVkaW9VcmwgaXMgcG9wdWxhdGVkOyBhbHdheXMgcmUtZmV0Y2ggaWYgYXVkaW9VcmwgaXMgbWlzc2luZ1xyXG4gICAgaWYgKChjb252Ll9kZXRhaWxMb2FkZWQgJiYgY29udi5hdWRpb1VybCkgfHwgY29udi5fZGV0YWlsTG9hZGluZykgcmV0dXJuO1xyXG4gICAgY29udi5fZGV0YWlsTG9hZGluZyA9IHRydWU7XHJcbiAgICBjb25zdCBwYXlsb2FkID0geyBjb2hvcnRJZDogdGhpcy5zZWxlY3RlZENvaG9ydElkID8gW3RoaXMuc2VsZWN0ZWRDb2hvcnRJZF0gOiBbXSwgY2xpZW50SWQ6ICcxMScgfTtcclxuICAgIHRoaXMuYXVkaW9TZXJ2aWNlLmdldENvbnZlcnNhdGlvbkRldGFpbChjb252LmF1ZGlvSWQsIHBheWxvYWQpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZygnW0F1ZGlvRGV0YWlsXSByYXcgcmVzcG9uc2U6JywgSlNPTi5zdHJpbmdpZnkocmVzKSk7XHJcbiAgICAgICAgLy8gaGFuZGxlOiB7IGRhdGE6IGl0ZW0gfSBvciB7IGRhdGE6IHsgZGF0YTogaXRlbSB9IH0gb3IgaXRlbSBkaXJlY3RseVxyXG4gICAgICAgIGNvbnN0IHJhdyA9IHJlcz8uZGF0YTtcclxuICAgICAgICBjb25zdCBkZXRhaWwgPSByYXc/LmF1ZGlvSWQgPyByYXcgOiAocmF3Py5kYXRhPy5hdWRpb0lkID8gcmF3LmRhdGEgOiAocmF3IHx8IHt9KSk7XHJcbiAgICAgICAgaWYgKGRldGFpbC5tZXRyaWNzKSBjb252Lm1ldHJpY3MgPSB0aGlzLnBhcnNlTWV0cmljcyhkZXRhaWwubWV0cmljcyk7XHJcbiAgICAgICAgaWYgKGRldGFpbC5haUluc2lnaHRzPy5zdW1tYXJ5Py5sZW5ndGgpIGNvbnYuYWlJbnNpZ2h0cyA9IGRldGFpbC5haUluc2lnaHRzO1xyXG4gICAgICAgIGlmIChkZXRhaWwuY29udmVyc2F0aW9uRGV0YWlscz8uYXVkaW9TdW1tYXJ5KSBjb252LmNvbnZlcnNhdGlvbkRldGFpbHMgPSBkZXRhaWwuY29udmVyc2F0aW9uRGV0YWlscztcclxuICAgICAgICBpZiAoZGV0YWlsLmF1ZGlvVXJsIHx8IGRldGFpbC5hdWRpb191cmwpIGNvbnYuYXVkaW9VcmwgPSBkZXRhaWwuYXVkaW9VcmwgfHwgZGV0YWlsLmF1ZGlvX3VybDtcclxuICAgICAgICBjb252Ll9kZXRhaWxMb2FkZWQgPSB0cnVlO1xyXG4gICAgICAgIGNvbnYuX2RldGFpbExvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6ICgpID0+IHsgY29udi5fZGV0YWlsTG9hZGluZyA9IGZhbHNlOyBjb252Ll9kZXRhaWxFcnJvciA9IHRydWU7IH1cclxuICAgIH0pO1xyXG4gIH1cclxuICBzZXRQYWdlRGF0YSgpIHtcclxuICAgIHRoaXMucGFnZUluZm8uc2V0VGl0bGUoJ0NvaG9ydHMnKTtcclxuICAgIHRoaXMucGFnZUluZm8uc2V0RGVzY3JpcHRpb24oJ1RvIG9wdGltaXplIGFuZCBpbXByb3ZlIGV4aXN0aW5nIGFsZ29yaXRobScpO1xyXG4gICAgdGhpcy5wYWdlSW5mby5zZXRCcmVhZGNydW1icyhbXHJcbiAgICAgIHsgdGl0bGU6ICdBdWRpbycsIHBhdGg6ICcvbWFuYWdlL2FpLWF1ZGlvL2F1ZGlvJywgaXNBY3RpdmU6IGZhbHNlLCBpc1NlcGFyYXRvcjogZmFsc2UgfSxcclxuICAgICAgeyB0aXRsZTogJ0NvaG9ydHMnLCBwYXRoOiAnJywgaXNBY3RpdmU6IGZhbHNlLCBpc1NlcGFyYXRvcjogdHJ1ZSB9LFxyXG4gICAgXSk7XHJcbiAgfVxyXG4gIGNvbnZlcnNhdGlvbnM6IGFueVtdID0gW107XHJcblxyXG4gIHRvZ2dsZUNvbnZlcnNhdGlvbihpZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBpc0Nsb3NpbmcgPSB0aGlzLm9wZW5JZCA9PT0gaWQ7XHJcbiAgICAvLyBCZWZvcmUgY2xvc2luZywgc2F2ZSBjdXJyZW50IHBsYXliYWNrIHN0YXRlIGFuZCBwYXVzZVxyXG4gICAgaWYgKGlzQ2xvc2luZyAmJiB0aGlzLnBsYXlpbmdDb252SWQgPT09IGlkKSB7XHJcbiAgICAgIGNvbnN0IGF1ZGlvID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYGF1ZGlvLSR7aWR9YCkgYXMgSFRNTEF1ZGlvRWxlbWVudDtcclxuICAgICAgaWYgKGF1ZGlvKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnBsYXliYWNrU3RhdGVzW2lkXSkge1xyXG4gICAgICAgICAgdGhpcy5wbGF5YmFja1N0YXRlc1tpZF0gPSB7IGN1cnJlbnRUaW1lOiAnMDowMCcsIHRvdGFsVGltZTogJzA6MDAnLCBwcm9ncmVzczogMCB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnBsYXliYWNrU3RhdGVzW2lkXSEuY3VycmVudFRpbWUgPSB0aGlzLmZvcm1hdFRpbWUoYXVkaW8uY3VycmVudFRpbWUpO1xyXG4gICAgICAgIHRoaXMucGxheWJhY2tTdGF0ZXNbaWRdIS5wcm9ncmVzcyA9IChpc0Zpbml0ZShhdWRpby5kdXJhdGlvbikgJiYgYXVkaW8uZHVyYXRpb24gPiAwKVxyXG4gICAgICAgICAgPyBhdWRpby5jdXJyZW50VGltZSAvIGF1ZGlvLmR1cmF0aW9uIDogMDtcclxuICAgICAgICBhdWRpby5wYXVzZSgpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMucGxheWluZ0NvbnZJZCA9IG51bGw7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9wZW5JZCA9IGlzQ2xvc2luZyA/IG51bGwgOiBpZDtcclxuICAgIGlmICghdGhpcy5hY3RpdmVUYWJbaWRdKSB7XHJcbiAgICAgIHRoaXMuYWN0aXZlVGFiW2lkXSA9ICdzdW1tYXJ5JztcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm9wZW5JZCA9PT0gaWQpIHtcclxuICAgICAgY29uc3QgY29udiA9IHRoaXMuZGlzcGxheWVkQ29udmVyc2F0aW9ucy5maW5kKGMgPT4gYy5hdWRpb0lkID09PSBpZCk7XHJcbiAgICAgIGlmIChjb252KSB0aGlzLmxvYWRDb252ZXJzYXRpb25EZXRhaWwoY29udik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRUYWIoaWQ6IHN0cmluZywgdGFiOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuYWN0aXZlVGFiW2lkXSA9IHRhYjtcclxuICB9XHJcblxyXG4gIHVwZGF0ZURpc3BsYXllZENvbnZlcnNhdGlvbnMoKTogdm9pZCB7XHJcbiAgICAvLyBjb25zdCBzdGFydCA9ICh0aGlzLmN1cnJlbnRQYWdlIC0gMSkgKiB0aGlzLnBhZ2VTaXplO1xyXG4gICAgLy8gY29uc3QgZW5kID0gc3RhcnQgKyB0aGlzLnBhZ2VTaXplO1xyXG4gICAgLy8gdGhpcy5kaXNwbGF5ZWRDb252ZXJzYXRpb25zID0gdGhpcy5jb252ZXJzYXRpb25zLnNsaWNlKHN0YXJ0LCBlbmQpO1xyXG4gICAgdGhpcy5kaXNwbGF5ZWRDb252ZXJzYXRpb25zID0gdGhpcy5jb252ZXJzYXRpb25zO1xyXG4gIH1cclxuXHJcbiAgb25QYWdlQ2hhbmdlKGV2ZW50OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuY3VycmVudFBhZ2UgPSBldmVudDtcclxuICAgIHRoaXMub2Zmc2V0ID0gZXZlbnQ7XHJcbiAgICB0aGlzLmZldGNoQ29udmVyc2F0aW9ucygpO1xyXG4gIH1cclxuXHJcbiAgb25QYWdlU2l6ZUNoYW5nZShldmVudDogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnBhZ2VTaXplID0gcGFyc2VJbnQoZXZlbnQpO1xyXG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IDE7XHJcbiAgICB0aGlzLm9mZnNldCA9IDE7XHJcbiAgICB0aGlzLmZldGNoQ29udmVyc2F0aW9ucygpO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlV2VpZ2h0YWdlRHJvcGRvd24obWk6IG51bWJlciwgY2k6IG51bWJlcik6IHZvaWQge1xyXG4gICAgY29uc3QgY29udiA9IHRoaXMuY29udmVyc2F0aW9uc1ttaV07XHJcbiAgICBjb25zdCBwaXRjaE1ldHJpYyA9IGNvbnY/Lm1ldHJpY3M/LmZpbmQoKG06IGFueSkgPT4gbS50eXBlID09PSAnQk9PTEVBTl9CQVNLRVQnICYmIG0ubmFtZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcygncGl0Y2gnKSk7XHJcbiAgICBpZiAocGl0Y2hNZXRyaWM/LnZhbHVlPy5bY2ldKSB7XHJcbiAgICAgIHBpdGNoTWV0cmljLnZhbHVlW2NpXS5pc1dlaWdodGFnZU9wZW4gPSAhcGl0Y2hNZXRyaWMudmFsdWVbY2ldLmlzV2VpZ2h0YWdlT3BlbjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlbGVjdFdlaWdodGFnZShtaTogbnVtYmVyLCBjaTogbnVtYmVyLCB3ZWlnaHQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3QgY29udiA9IHRoaXMuY29udmVyc2F0aW9uc1ttaV07XHJcbiAgICBjb25zdCBwaXRjaE1ldHJpYyA9IGNvbnY/Lm1ldHJpY3M/LmZpbmQoKG06IGFueSkgPT4gbS50eXBlID09PSAnQk9PTEVBTl9CQVNLRVQnICYmIG0ubmFtZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcygncGl0Y2gnKSk7XHJcbiAgICBpZiAocGl0Y2hNZXRyaWM/LnZhbHVlPy5bY2ldKSB7XHJcbiAgICAgIHBpdGNoTWV0cmljLnZhbHVlW2NpXS53ZWlnaHRhZ2UgPSB3ZWlnaHQ7XHJcbiAgICAgIHBpdGNoTWV0cmljLnZhbHVlW2NpXS5pc1dlaWdodGFnZU9wZW4gPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcbmV4cG9ydERhdGEoKTogdm9pZCB7XHJcbiAgICBjb25zdCBwYXlsb2FkID0ge1xyXG4gICAgICAuLi50aGlzLmJ1aWxkUGF5bG9hZCgpLFxyXG4gICAgICBpc0FJOiBmYWxzZSxcclxuICAgICAgaXNFeHBvcnQ6IHRydWUsXHJcbiAgICAgIC8vIHNlYXJjaFZhbHVlOiB0aGlzLmNoYXRRdWVyeSB8fCAnJyxcclxuICAgICAgbGltaXQ6IHRoaXMucGFnZVNpemUsXHJcbiAgICAgIG9mZnNldDogMCxcclxuICAgIH07XHJcbiAgICB0aGlzLmF1ZGlvU2VydmljZS5nZXRDb252ZXJzYXRpb25MaXN0RXhwb3J0KHBheWxvYWQpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBjb25zdCB1cmwgPSByZXM/Lm1lc3NhZ2U7XHJcbiAgICAgICAgaWYgKHVybCkge1xyXG4gICAgICAgICAgY29uc3QgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgICAgICAgIGEuaHJlZiA9IHVybDtcclxuICAgICAgICAgIGEudGFyZ2V0ID0gJ19ibGFuayc7XHJcbiAgICAgICAgICBhLmRvd25sb2FkID0gJyc7XHJcbiAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpO1xyXG4gICAgICAgICAgYS5jbGljaygpO1xyXG4gICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChhKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoKSA9PiB7XHJcbiAgICAgICAgLy8gSGFuZGxlIGV4cG9ydCBlcnJvciBpZiBuZWVkZWRcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuZm9ybWF0RHVyYXRpb24oc2Vjb25kczogbnVtYmVyKTogc3RyaW5nIHtcclxuICBjb25zdCBtaW5zID0gTWF0aC5mbG9vcihzZWNvbmRzIC8gNjApO1xyXG4gIHJldHVybiBgJHttaW5zfSBtaW5zYDtcclxufVxyXG5jcmVhdGVDb2hvcnQoKTogdm9pZCB7XHJcbiB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCIvbWFuYWdlL2FpLWF1ZGlvL2FkZC1tYW5hZ2UtY29ob3J0XCJdLCB7XHJcbiAgICAgIHN0YXRlOiB7IG1vZGU6IFwiY3JlYXRlXCIgfSxcclxuICAgIH0pO1xyXG59XHJcblxyXG4vLyDilIDilIAgQUkgQXNzaXN0YW50IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5jaGF0TWVzc2FnZXM6IHsgc2VuZGVyOiAndXNlcicgfCAnYXNzaXN0YW50JzsgdGV4dDogc3RyaW5nIH1bXSA9IFtdO1xyXG5pc0FpTG9hZGluZyA9IGZhbHNlO1xyXG5wcml2YXRlIGNoYXRTZXNzaW9uSWQgPSAnJztcclxucHJpdmF0ZSBjaGF0VXNlcklkID0gJyc7XHJcblxyXG5wcml2YXRlIHNjcm9sbENoYXRUb0JvdHRvbSgpOiB2b2lkIHtcclxuICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgIGNvbnN0IGVsID0gdGhpcy5jaGF0VGhyZWFkTWVzc2FnZXM/Lm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBpZiAoZWwpIGVsLnNjcm9sbFRvcCA9IGVsLnNjcm9sbEhlaWdodDtcclxuICB9KTtcclxufVxyXG5cclxuc3RhcnROZXdDaGF0KCk6IHZvaWQge1xyXG4gIHRoaXMuY2hhdE1lc3NhZ2VzID0gW107XHJcbiAgdGhpcy5jaGF0UXVlcnkgPSAnJztcclxuICB0aGlzLmlzQWlMb2FkaW5nID0gZmFsc2U7XHJcbiAgdGhpcy5jaGF0U2Vzc2lvbklkID0gYEFVRElPXyR7RGF0ZS5ub3coKX1gO1xyXG59XHJcblxyXG5wcml2YXRlIGluaXRDaGF0U2Vzc2lvbigpOiB2b2lkIHtcclxuICB0cnkge1xyXG4gICAgY29uc3QgdXNlciA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXItaW5mbycpIGFzIHN0cmluZyk7XHJcbiAgICB0aGlzLmNoYXRVc2VySWQgPSB1c2VyPy5faWQgfHwgJyc7XHJcbiAgICBjb25zdCBuYW1lOiBzdHJpbmcgPSB1c2VyPy51c2VyTmFtZSB8fCB1c2VyPy5uYW1lIHx8IHVzZXI/LmZ1bGxOYW1lIHx8ICcnO1xyXG4gICAgY29uc3QgcGFydHMgPSBuYW1lLnRyaW0oKS5zcGxpdCgvXFxzKy8pO1xyXG4gICAgdGhpcy51c2VySW5pdGlhbHMgPSBwYXJ0cy5sZW5ndGggPj0gMlxyXG4gICAgICA/IChwYXJ0c1swXVswXSArIHBhcnRzW3BhcnRzLmxlbmd0aCAtIDFdWzBdKS50b1VwcGVyQ2FzZSgpXHJcbiAgICAgIDogbmFtZS5zdWJzdHJpbmcoMCwgMikudG9VcHBlckNhc2UoKTtcclxuICB9IGNhdGNoIHsgdGhpcy5jaGF0VXNlcklkID0gJyc7IH1cclxuICB0aGlzLmNoYXRTZXNzaW9uSWQgPSBgQVVESU9fJHtEYXRlLm5vdygpfWA7XHJcbn1cclxuXHJcbnNlbmRDaGF0TWVzc2FnZSgpOiB2b2lkIHtcclxuICBpZiAoIXRoaXMuY2hhdFF1ZXJ5LnRyaW0oKSB8fCB0aGlzLmlzQWlMb2FkaW5nKSByZXR1cm47XHJcbiAgaWYgKCF0aGlzLmNoYXRTZXNzaW9uSWQpIHRoaXMuaW5pdENoYXRTZXNzaW9uKCk7XHJcblxyXG4gIGNvbnN0IHBheWxvYWQgPSB7XHJcbiAgICB1c2VyX2lkOiB0aGlzLmNoYXRVc2VySWQsXHJcbiAgICBzZXNzaW9uX2lkOiB0aGlzLmNoYXRTZXNzaW9uSWQsXHJcbiAgICBzZXNzaW9uX2RhdGU6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKS5zbGljZSgwLCAxMCksXHJcbiAgICBzZXNzaW9uX3RpbWV6b25lOiBJbnRsLkRhdGVUaW1lRm9ybWF0KCkucmVzb2x2ZWRPcHRpb25zKCkudGltZVpvbmUsXHJcbiAgICBtZXNzYWdlOiB0aGlzLmNoYXRRdWVyeSxcclxuICAgIGFuYWx5dGljc1R5cGU6ICdhdWRpbycsXHJcbiAgICBjb25maWc6IHtcclxuICAgICAgc2VsZWN0ZWRfY29ob3J0OiB0aGlzLnNlbGVjdGVkQ29ob3J0SWQgPyBbdGhpcy5zZWxlY3RlZENvaG9ydElkXSA6IFtdLFxyXG4gICAgICBzZWxlY3RlZF9zdG9yZXM6IFtcclxuICAgIFwiTEtTVDExNjZcIixcclxuICAgIFwiTEtTVDExOTlcIixcclxuICAgIFwiTEtTVDc4MFwiLFxyXG4gICAgXCJMS1NUMTc3MFwiLFxyXG4gICAgXCJMS1NUMzMyXCIsXHJcbiAgICBcIkxLU1QxNjczXCIsXHJcbiAgICBcIkxLU1QyOTNcIixcclxuICAgIFwiTEtTVDE4NjFcIixcclxuICAgIFwiTEtTVDE5NjdcIixcclxuICAgIFwiTEtTVDI3NFwiLFxyXG4gICAgXCJMS1NUMDNcIixcclxuICAgIFwiTEtTVDMzM1wiLFxyXG4gICAgXCJMS1NUNTM0XCIsXHJcbiAgICBcIkxLU1Q0OTZcIixcclxuICAgIFwiTEtTVDc3OVwiXHJcbl0sXHJcbiAgICAgIGRhdGVfcmFuZ2U6IHtcclxuICAgICAgICBzdGFydDogXCIyMDI2LTAzLTAxXCIsXHJcbiAgICAgICAgZW5kOlwiMjAyNi0wMy0yOFwiXHJcbiAgICAgIH0sXHJcbiAgICAgIHNlbGVjdGVkX3Byb2R1Y3RzOiBbJ0F1ZGlvJ11cclxuICAgIH1cclxuICB9O1xyXG5cclxuICAvLyBQdXNoIHVzZXIgbWVzc2FnZSB0byB0aHJlYWRcclxuICB0aGlzLmNoYXRNZXNzYWdlcy5wdXNoKHsgc2VuZGVyOiAndXNlcicsIHRleHQ6IHRoaXMuY2hhdFF1ZXJ5IH0pO1xyXG4gIHRoaXMuY2hhdFF1ZXJ5ID0gJyc7XHJcbiAgdGhpcy5pc0FpTG9hZGluZyA9IHRydWU7XHJcbiAgdGhpcy5zY3JvbGxDaGF0VG9Cb3R0b20oKTtcclxuXHJcbiAgLy8gUGxhY2Vob2xkZXIgZm9yIEFJIHJlc3BvbnNlICh1cGRhdGVkIGFzIHN0cmVhbSBhcnJpdmVzKVxyXG4gIGNvbnN0IGFpSW5kZXggPSB0aGlzLmNoYXRNZXNzYWdlcy5wdXNoKHsgc2VuZGVyOiAnYXNzaXN0YW50JywgdGV4dDogJycgfSkgLSAxO1xyXG5cclxuICB0aGlzLmF1ZGlvU2VydmljZS5jaGF0U3RyZWFtKHBheWxvYWQpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgbmV4dDogKHRleHQ6IHN0cmluZykgPT4ge1xyXG4gICAgICB0aGlzLmNoYXRNZXNzYWdlc1thaUluZGV4XS50ZXh0ID0gdGV4dDtcclxuICAgICAgdGhpcy5pc0FpTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnNjcm9sbENoYXRUb0JvdHRvbSgpO1xyXG4gICAgfSxcclxuICAgIGVycm9yOiAoKSA9PiB7XHJcbiAgICAgIHRoaXMuY2hhdE1lc3NhZ2VzW2FpSW5kZXhdLnRleHQgPSAnU29ycnksIHNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluLic7XHJcbiAgICAgIHRoaXMuaXNBaUxvYWRpbmcgPSBmYWxzZTtcclxuICAgIH0sXHJcbiAgICBjb21wbGV0ZTogKCkgPT4geyB0aGlzLmlzQWlMb2FkaW5nID0gZmFsc2U7IH1cclxuICB9KTtcclxufVxyXG5cclxuY29weUZlZWRiYWNrOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxudXNlckluaXRpYWxzID0gJyc7XHJcbmNvcHlUb0NsaXBib2FyZCh0ZXh0OiBzdHJpbmcpOiB2b2lkIHtcclxuICB0aGlzLmNvcHlGZWVkYmFjayA9IG51bGw7XHJcbiAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dCh0ZXh0KS50aGVuKCgpID0+IHtcclxuICAgICAgdGhpcy5jb3B5RmVlZGJhY2sgPSAnQ29waWVkIHRvIGNsaXBib2FyZCEnO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY29weUZlZWRiYWNrID0gbnVsbCwgMjAwMCk7XHJcbiAgICB9KTtcclxuICB9LCAwKTtcclxufVxyXG5cclxuaXNDaGF0SGlzdG9yeU9wZW4gPSBmYWxzZTtcclxuY2hhdEhpc3RvcnlMaXN0OiB7IHNlc3Npb25faWQ6IHN0cmluZzsgc2Vzc2lvbl90aXRsZTogc3RyaW5nIH1bXSA9IFtdO1xyXG5pc0hpc3RvcnlMb2FkaW5nID0gZmFsc2U7XHJcbnNlbGVjdGVkSGlzdG9yeVNlc3Npb25JZDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbnNlc3Npb25NZXNzYWdlczogeyBzZW5kZXI6IHN0cmluZzsgdGV4dDogc3RyaW5nIH1bXSA9IFtdO1xyXG5pc1Nlc3Npb25Mb2FkaW5nID0gZmFsc2U7XHJcbnByaXZhdGUgaGlzdG9yeVVzZXJJZCA9ICcnO1xyXG5cclxudG9nZ2xlQ2hhdEhpc3RvcnkoKTogdm9pZCB7XHJcbiAgdGhpcy5zaG93Q2hhdEhpc3RvcnkgPSAhdGhpcy5zaG93Q2hhdEhpc3Rvcnk7XHJcbiAgaWYgKHRoaXMuc2hvd0NoYXRIaXN0b3J5KSB7XHJcbiAgICB0aGlzLmxvYWRDaGF0SGlzdG9yeUxpc3QoKTtcclxuICB9XHJcbn1cclxuXHJcbmxvYWRIaXN0b3J5TGlzdCgpOiB2b2lkIHtcclxuICBpZiAoIXRoaXMuaGlzdG9yeVVzZXJJZCkgcmV0dXJuO1xyXG4gIHRoaXMuaXNIaXN0b3J5TG9hZGluZyA9IHRydWU7XHJcbiAgdGhpcy5hdWRpb1NlcnZpY2UuZ2V0Q2hhdEhpc3RvcnlMaXN0KHRoaXMuaGlzdG9yeVVzZXJJZCkuc3Vic2NyaWJlKHtcclxuICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLmNoYXRIaXN0b3J5TGlzdCA9IChyZXM/LmRhdGE/LnNlc3Npb25zIHx8IFtdKS5tYXAoKHM6IGFueSkgPT4gKHtcclxuICAgICAgICBzZXNzaW9uX2lkOiBzLnNlc3Npb25faWQsXHJcbiAgICAgICAgc2Vzc2lvbl90aXRsZTogcy5zZXNzaW9uX3RpdGxlXHJcbiAgICAgIH0pKTtcclxuICAgICAgdGhpcy5pc0hpc3RvcnlMb2FkaW5nID0gZmFsc2U7XHJcbiAgICB9LFxyXG4gICAgZXJyb3I6ICgpID0+IHsgdGhpcy5pc0hpc3RvcnlMb2FkaW5nID0gZmFsc2U7IH1cclxuICB9KTtcclxufVxyXG5cclxuY2xlYXJDYXJkRmlsdGVyKCk6IHZvaWQge1xyXG4gIHRoaXMuc2VsZWN0ZWRDYXJkSWQgPSAnJztcclxuICB0aGlzLnNlbGVjdGVkQ2FyZE5hbWUgPSAnJztcclxuICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcclxuICB0aGlzLm9mZnNldCA9IDE7XHJcbiAgdGhpcy5mZXRjaENvbnZlcnNhdGlvbnMoKTtcclxufVxyXG5cclxub25DYXJkUm93Q2xpY2soaWQ6IGFueSwgbmFtZTogYW55KTogdm9pZCB7XHJcbiAgdGhpcy5zZWxlY3RlZENhcmRJZCA9IGlkIHx8ICcnO1xyXG4gIHRoaXMuc2VsZWN0ZWRDYXJkTmFtZSA9IGlkID8gJycgOiAobmFtZSB8fCAnJyk7XHJcbiAgdGhpcy5jdXJyZW50UGFnZSA9IDE7XHJcbiAgdGhpcy5vZmZzZXQgPSAxO1xyXG5cclxuICBjb25zdCBwYXlsb2FkID0ge1xyXG4gICAgLi4udGhpcy5idWlsZFBheWxvYWQoKSxcclxuICAgIC8vIHNlYXJjaFZhbHVlOiB0aGlzLmNoYXRRdWVyeSB8fCAnJyxcclxuICAgIGxpbWl0OiB0aGlzLnBhZ2VTaXplLFxyXG4gICAgX2lkOiB0aGlzLnNlbGVjdGVkQ2FyZElkID8gW3RoaXMuc2VsZWN0ZWRDYXJkSWRdIDogW10sXHJcbiAgICBuYW1lOiB0aGlzLnNlbGVjdGVkQ2FyZE5hbWUsXHJcbiAgICBvZmZzZXQ6IDBcclxuICB9O1xyXG4gIHRoaXMuaXNMb2FkaW5nQ29udmVyc2F0aW9ucyA9IHRydWU7XHJcbiAgdGhpcy5hdWRpb1NlcnZpY2UuZ2V0Q29udmVyc2F0aW9uc0xpc3QocGF5bG9hZCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgbGlzdCA9IHJlcz8uZGF0YT8uZGF0YSB8fCByZXM/LmRhdGE/LmNvbnZlcnNhdGlvbnMgfHwgW107XHJcbiAgICAgIHRoaXMuY29udmVyc2F0aW9ucyA9IGxpc3QubWFwKChpdGVtOiBhbnkpID0+IHRoaXMubWFwQ29udmVyc2F0aW9uKGl0ZW0pKTtcclxuICAgICAgdGhpcy50b3RhbEl0ZW1zID0gcmVzPy5kYXRhPy5jb3VudCA/PyByZXM/LmRhdGE/LnBhZ2luYXRpb24/LnRvdGFsID8/IHRoaXMuY29udmVyc2F0aW9ucy5sZW5ndGg7XHJcbiAgICAgIHRoaXMucGFnaW5hdGlvblNpemVzID0gdGhpcy50b3RhbEl0ZW1zID4gMTAgPyBbMTAsIDIwLCA1MCwgMTAwXSA6IFt0aGlzLnRvdGFsSXRlbXMgfHwgMTBdO1xyXG4gICAgICB0aGlzLnBhZ2VTaXplID0gdGhpcy5wYWdpbmF0aW9uU2l6ZXMuaW5jbHVkZXModGhpcy5wYWdlU2l6ZSkgPyB0aGlzLnBhZ2VTaXplIDogdGhpcy5wYWdpbmF0aW9uU2l6ZXNbMF07XHJcbiAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSAxO1xyXG4gICAgICB0aGlzLnVwZGF0ZURpc3BsYXllZENvbnZlcnNhdGlvbnMoKTtcclxuICAgICAgdGhpcy5pc0xvYWRpbmdDb252ZXJzYXRpb25zID0gZmFsc2U7XHJcbiAgICAgIGlmICh0aGlzLmRpc3BsYXllZENvbnZlcnNhdGlvbnMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGNvbnN0IGZpcnN0ID0gdGhpcy5kaXNwbGF5ZWRDb252ZXJzYXRpb25zWzBdO1xyXG4gICAgICAgIHRoaXMub3BlbklkID0gZmlyc3QuYXVkaW9JZDtcclxuICAgICAgICBpZiAoIXRoaXMuYWN0aXZlVGFiW2ZpcnN0LmF1ZGlvSWRdKSB0aGlzLmFjdGl2ZVRhYltmaXJzdC5hdWRpb0lkXSA9ICdzdW1tYXJ5JztcclxuICAgICAgICB0aGlzLmxvYWRDb252ZXJzYXRpb25EZXRhaWwoZmlyc3QpO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgZXJyb3I6ICgpID0+IHtcclxuICAgICAgdGhpcy5jb252ZXJzYXRpb25zID0gW107XHJcbiAgICAgIHRoaXMuZGlzcGxheWVkQ29udmVyc2F0aW9ucyA9IFtdO1xyXG4gICAgICB0aGlzLnRvdGFsSXRlbXMgPSAwO1xyXG4gICAgICB0aGlzLmlzTG9hZGluZ0NvbnZlcnNhdGlvbnMgPSBmYWxzZTtcclxuICAgIH1cclxuICB9KTtcclxufVxyXG5cclxubG9hZEhpc3RvcnlTZXNzaW9uKHNlc3Npb25JZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgaWYgKHRoaXMuc2VsZWN0ZWRIaXN0b3J5U2Vzc2lvbklkID09PSBzZXNzaW9uSWQpIHJldHVybjtcclxuICB0aGlzLnNlbGVjdGVkSGlzdG9yeVNlc3Npb25JZCA9IHNlc3Npb25JZDtcclxuICB0aGlzLnNlc3Npb25NZXNzYWdlcyA9IFtdO1xyXG4gIHRoaXMuaXNTZXNzaW9uTG9hZGluZyA9IHRydWU7XHJcbiAgdGhpcy5hdWRpb1NlcnZpY2UuZ2V0Q2hhdChzZXNzaW9uSWQpLnN1YnNjcmliZSh7XHJcbiAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgZGF0YSA9IHJlcz8uZGF0YSB8fCByZXM7XHJcbiAgICAgIGNvbnN0IGNvbnZlcnNhdGlvbnM6IGFueVtdID0gZGF0YT8uY29udmVyc2F0aW9uIHx8IFtdO1xyXG4gICAgICB0aGlzLnNlc3Npb25NZXNzYWdlcyA9IFtdO1xyXG4gICAgICBjb252ZXJzYXRpb25zLmZvckVhY2goKGM6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChjLmh1bWFuKSB0aGlzLnNlc3Npb25NZXNzYWdlcy5wdXNoKHsgc2VuZGVyOiAndXNlcicsIHRleHQ6IGMuaHVtYW4gfSk7XHJcbiAgICAgICAgaWYgKGMuYWkpIHRoaXMuc2Vzc2lvbk1lc3NhZ2VzLnB1c2goeyBzZW5kZXI6ICdhc3Npc3RhbnQnLCB0ZXh0OiBjLmFpIH0pO1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5pc1Nlc3Npb25Mb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIC8vIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAvLyAgIGNvbnN0IGJvZHkgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuY2hhdC1oaXN0b3J5LWJvZHknKSBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgLy8gICBpZiAoYm9keSkgYm9keS5zY3JvbGxUb3AgPSBib2R5LnNjcm9sbEhlaWdodDtcclxuICAgICAgLy8gfSwgNTApO1xyXG4gICAgfSxcclxuICAgIGVycm9yOiAoKSA9PiB7IHRoaXMuaXNTZXNzaW9uTG9hZGluZyA9IGZhbHNlOyB9XHJcbiAgfSk7XHJcbn1cclxuXHJcbmNvbnRpbnVlSGlzdG9yeVNlc3Npb24oc2Vzc2lvbklkOiBzdHJpbmcpOiB2b2lkIHtcclxuICB0aGlzLmlzU2Vzc2lvbkxvYWRpbmcgPSB0cnVlO1xyXG4gIHRoaXMuYXVkaW9TZXJ2aWNlLmdldENoYXQoc2Vzc2lvbklkKS5zdWJzY3JpYmUoe1xyXG4gICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IGRhdGEgPSByZXM/LmRhdGEgfHwgcmVzO1xyXG4gICAgICBjb25zdCBjb252ZXJzYXRpb25zOiBhbnlbXSA9IGRhdGE/LmNvbnZlcnNhdGlvbiB8fCBbXTtcclxuICAgICAgdGhpcy5tZXNzYWdlcyA9IFtdO1xyXG4gICAgICBjb252ZXJzYXRpb25zLmZvckVhY2goKGM6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChjLmh1bWFuKSB0aGlzLm1lc3NhZ2VzLnB1c2goeyBzZW5kZXI6ICd1c2VyJywgdGV4dDogYy5odW1hbiB9KTtcclxuICAgICAgICBpZiAoYy5haSkgdGhpcy5tZXNzYWdlcy5wdXNoKHsgc2VuZGVyOiAnYXNzaXN0YW50JywgdGV4dDogYy5haSB9KTtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuY2hhdFNlc3Npb25JZCA9IHNlc3Npb25JZDtcclxuICAgICAgdGhpcy5zZWxlY3RlZENoYXRJZCA9IHNlc3Npb25JZDtcclxuICAgICAgdGhpcy5pc1Nlc3Npb25Mb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuaXNDaGF0SGlzdG9yeU9wZW4gPSBmYWxzZTtcclxuICAgICAgdGhpcy5zZWxlY3RlZEhpc3RvcnlTZXNzaW9uSWQgPSBudWxsO1xyXG4gICAgICB0aGlzLnNlc3Npb25NZXNzYWdlcyA9IFtdO1xyXG4gICAgICB0aGlzLnNjcm9sbFRvQm90dG9tKCk7XHJcbiAgICB9LFxyXG4gICAgZXJyb3I6ICgpID0+IHsgdGhpcy5pc1Nlc3Npb25Mb2FkaW5nID0gZmFsc2U7IH1cclxuICB9KTtcclxufVxyXG5cclxuLy8g4pSA4pSAIGFpLWNoYXQgbWV0aG9kcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuc2VuZE1lc3NhZ2UoKTogdm9pZCB7XHJcbiAgaWYgKCF0aGlzLnVzZXJNZXNzYWdlLnRyaW0oKSB8fCB0aGlzLmlzVHlwaW5nKSByZXR1cm47XHJcbiAgY29uc3QgY3VycmVudFF1ZXJ5ID0gdGhpcy51c2VyTWVzc2FnZS50cmltKCk7XHJcblxyXG4gIHRoaXMubWVzc2FnZXMucHVzaCh7IHRleHQ6IGN1cnJlbnRRdWVyeSwgc2VuZGVyOiAndXNlcicsIHRpbWVzdGFtcDogbmV3IERhdGUoKSB9KTtcclxuICB0aGlzLnVzZXJNZXNzYWdlID0gJyc7XHJcbiAgdGhpcy5zY3JvbGxUb0JvdHRvbSgpO1xyXG5cclxuICBpZiAodGhpcy5zZWxlY3RlZENoYXRJZCA9PT0gbnVsbCkge1xyXG4gICAgdGhpcy5jaGF0SGlzdG9yeS51bnNoaWZ0KHtcclxuICAgICAgc2Vzc2lvbl9pZDogdGhpcy5jaGF0U2Vzc2lvbklkLFxyXG4gICAgICBzZXNzaW9uX3RpdGxlOiBjdXJyZW50UXVlcnkubGVuZ3RoID4gMzAgPyBjdXJyZW50UXVlcnkuc3Vic3RyaW5nKDAsIDMwKSArICcuLi4nIDogY3VycmVudFF1ZXJ5XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2VsZWN0ZWRDaGF0SWQgPSB0aGlzLmNoYXRTZXNzaW9uSWQ7XHJcbiAgfVxyXG5cclxuICB0aGlzLmlzVHlwaW5nID0gdHJ1ZTtcclxuICBjb25zdCBwYXlsb2FkID0ge1xyXG4gICAgdXNlcl9pZDogdGhpcy5jaGF0VXNlcklkLFxyXG4gICAgc2Vzc2lvbl9pZDogdGhpcy5jaGF0U2Vzc2lvbklkLFxyXG4gICAgc2Vzc2lvbl9kYXRlOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkuc2xpY2UoMCwgMTApLFxyXG4gICAgc2Vzc2lvbl90aW1lem9uZTogJ0FzaWEvS29sa2F0YScsXHJcbiAgICBtZXNzYWdlOiBjdXJyZW50UXVlcnksXHJcbiAgICBhbmFseXRpY3NUeXBlOiAnYXVkaW8nLFxyXG4gICAgY29uZmlnOiB7XHJcbiAgICAgIHNlbGVjdGVkX21vZGVsOiB0aGlzLnNlbGVjdGVkTW9kZWwsXHJcbiAgICAgIHNlbGVjdGVkX3N0b3JlczogW1xyXG4gICAgICAgIFwiTEtTVDExNjZcIixcIkxLU1QxMTk5XCIsXCJMS1NUNzgwXCIsXCJMS1NUMTc3MFwiLFwiTEtTVDMzMlwiLFxyXG4gICAgICAgIFwiTEtTVDE2NzNcIixcIkxLU1QyOTNcIixcIkxLU1QxODYxXCIsXCJMS1NUMTk2N1wiLFwiTEtTVDI3NFwiLFxyXG4gICAgICAgIFwiTEtTVDAzXCIsXCJMS1NUMzMzXCIsXCJMS1NUNTM0XCIsXCJMS1NUNDk2XCIsXCJMS1NUNzc5XCJcclxuICAgICAgXSxcclxuICAgICAgZGF0ZV9yYW5nZTogeyBzdGFydDogXCIyMDI2LTAzLTAxXCIsIGVuZDogXCIyMDI2LTAzLTI4XCIgfSxcclxuICAgICAgc2VsZWN0ZWRfcHJvZHVjdHM6IFsnQXVkaW8nXVxyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIGNvbnN0IGFzc2lzdGFudE1zZzogYW55ID0geyBzZW5kZXI6ICdhc3Npc3RhbnQnLCB0ZXh0OiAnJywgdGltZXN0YW1wOiBuZXcgRGF0ZSgpLCBzdHJlYW1pbmc6IHRydWUgfTtcclxuICBsZXQgcGxhY2Vob2xkZXJBZGRlZCA9IGZhbHNlO1xyXG5cclxuICB0aGlzLmF1ZGlvU2VydmljZS5jaGF0U3RyZWFtKHBheWxvYWQpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgbmV4dDogKGNodW5rOiBzdHJpbmcpID0+IHtcclxuICAgICAgaWYgKCFwbGFjZWhvbGRlckFkZGVkKSB7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlcy5wdXNoKGFzc2lzdGFudE1zZyk7XHJcbiAgICAgICAgdGhpcy5pc1R5cGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHBsYWNlaG9sZGVyQWRkZWQgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICAgIGFzc2lzdGFudE1zZy50ZXh0ICs9IGNodW5rO1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIHRoaXMuc2Nyb2xsVG9Cb3R0b20oKTtcclxuICAgIH0sXHJcbiAgICBlcnJvcjogKCkgPT4ge1xyXG4gICAgICBpZiAoIXBsYWNlaG9sZGVyQWRkZWQpIHsgdGhpcy5tZXNzYWdlcy5wdXNoKGFzc2lzdGFudE1zZyk7IHRoaXMuaXNUeXBpbmcgPSBmYWxzZTsgfVxyXG4gICAgICBhc3Npc3RhbnRNc2cudGV4dCA9IGFzc2lzdGFudE1zZy50ZXh0IHx8ICdTb21ldGhpbmcgd2VudCB3cm9uZy4gUGxlYXNlIHRyeSBhZ2Fpbi4nO1xyXG4gICAgICBhc3Npc3RhbnRNc2cuc3RyZWFtaW5nID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0sXHJcbiAgICBjb21wbGV0ZTogKCkgPT4ge1xyXG4gICAgICBhc3Npc3RhbnRNc2cuc3RyZWFtaW5nID0gZmFsc2U7XHJcbiAgICAgIGNvbnN0IGVudHJ5ID0gdGhpcy5jaGF0SGlzdG9yeS5maW5kKGMgPT4gYy5zZXNzaW9uX2lkID09PSB0aGlzLnNlbGVjdGVkQ2hhdElkKTtcclxuICAgICAgaWYgKGVudHJ5KSBlbnRyeS5tZXNzYWdlcyA9IFsuLi50aGlzLm1lc3NhZ2VzXTtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH0pO1xyXG59XHJcblxyXG5uZXdDaGF0KCk6IHZvaWQge1xyXG4gIHRoaXMubWVzc2FnZXMgPSBbXTtcclxuICB0aGlzLnNlbGVjdGVkQ2hhdElkID0gbnVsbDtcclxuICB0aGlzLnVzZXJNZXNzYWdlID0gJyc7XHJcbiAgdGhpcy5jaGF0U2Vzc2lvbklkID0gYEFVRElPXyR7RGF0ZS5ub3coKX1gO1xyXG4gIHRoaXMubG9hZENoYXRIaXN0b3J5TGlzdCgpO1xyXG59XHJcblxyXG5sb2FkQ2hhdChzZXNzaW9uSWQ6IHN0cmluZyk6IHZvaWQge1xyXG4gIGlmICh0aGlzLnNlbGVjdGVkQ2hhdElkID09PSBzZXNzaW9uSWQpIHJldHVybjtcclxuICB0aGlzLnNlbGVjdGVkQ2hhdElkID0gc2Vzc2lvbklkO1xyXG4gIHRoaXMuY2hhdFNlc3Npb25JZCA9IHNlc3Npb25JZDtcclxuICB0aGlzLm1lc3NhZ2VzID0gW107XHJcbiAgdGhpcy5pc1R5cGluZyA9IGZhbHNlO1xyXG5cclxuICBjb25zdCBjYWNoZWQgPSB0aGlzLmNoYXRIaXN0b3J5LmZpbmQoYyA9PiBjLnNlc3Npb25faWQgPT09IHNlc3Npb25JZCk7XHJcbiAgaWYgKGNhY2hlZD8ubWVzc2FnZXMpIHtcclxuICAgIHRoaXMubWVzc2FnZXMgPSBbLi4uY2FjaGVkLm1lc3NhZ2VzXTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIHRoaXMuc2Nyb2xsVG9Cb3R0b20oKTtcclxuICAgIHJldHVybjtcclxuICB9XHJcblxyXG4gIHRoaXMuaXNDaGF0TG9hZGluZyA9IHRydWU7XHJcbiAgdGhpcy5hdWRpb1NlcnZpY2UuZ2V0Q2hhdChzZXNzaW9uSWQpLnN1YnNjcmliZSh7XHJcbiAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgZGF0YSA9IHJlcz8uZGF0YSB8fCByZXM7XHJcbiAgICAgIGNvbnN0IGNvbnZlcnNhdGlvbnM6IGFueVtdID0gZGF0YT8uY29udmVyc2F0aW9uIHx8IFtdO1xyXG4gICAgICB0aGlzLm1lc3NhZ2VzID0gW107XHJcbiAgICAgIGNvbnZlcnNhdGlvbnMuZm9yRWFjaCgoYzogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGMuaHVtYW4pIHRoaXMubWVzc2FnZXMucHVzaCh7IHNlbmRlcjogJ3VzZXInLCB0ZXh0OiBjLmh1bWFuIH0pO1xyXG4gICAgICAgIGlmIChjLmFpKSB0aGlzLm1lc3NhZ2VzLnB1c2goeyBzZW5kZXI6ICdhc3Npc3RhbnQnLCB0ZXh0OiBjLmFpIH0pO1xyXG4gICAgICB9KTtcclxuICAgICAgaWYgKGNhY2hlZCkgY2FjaGVkLm1lc3NhZ2VzID0gWy4uLnRoaXMubWVzc2FnZXNdO1xyXG4gICAgICB0aGlzLmlzQ2hhdExvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB0aGlzLnNjcm9sbFRvQm90dG9tKCk7XHJcbiAgICB9LFxyXG4gICAgZXJyb3I6ICgpID0+IHsgdGhpcy5pc0NoYXRMb2FkaW5nID0gZmFsc2U7IHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTsgfVxyXG4gIH0pO1xyXG59XHJcblxyXG5sb2FkQ2hhdEhpc3RvcnlMaXN0KCk6IHZvaWQge1xyXG4gIGlmICghdGhpcy5jaGF0VXNlcklkKSByZXR1cm47XHJcbiAgdGhpcy5pc0hpc3RvcnlMb2FkaW5nID0gdHJ1ZTtcclxuICB0aGlzLmF1ZGlvU2VydmljZS5nZXRDaGF0SGlzdG9yeUxpc3QodGhpcy5jaGF0VXNlcklkKS5zdWJzY3JpYmUoe1xyXG4gICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuY2hhdEhpc3RvcnkgPSAocmVzPy5kYXRhPy5zZXNzaW9ucyB8fCBbXSkubWFwKChzOiBhbnkpID0+ICh7XHJcbiAgICAgICAgc2Vzc2lvbl9pZDogcy5zZXNzaW9uX2lkLFxyXG4gICAgICAgIHNlc3Npb25fdGl0bGU6IHMuc2Vzc2lvbl90aXRsZVxyXG4gICAgICB9KSk7XHJcbiAgICAgIHRoaXMuaXNIaXN0b3J5TG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9LFxyXG4gICAgZXJyb3I6ICgpID0+IHsgdGhpcy5pc0hpc3RvcnlMb2FkaW5nID0gZmFsc2U7IHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTsgfVxyXG4gIH0pO1xyXG59XHJcblxyXG5wcml2YXRlIHNjcm9sbFRvQm90dG9tKCk6IHZvaWQge1xyXG4gIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgZWwgPSB0aGlzLnNjcm9sbENvbnRhaW5lcj8ubmF0aXZlRWxlbWVudDtcclxuICAgICAgaWYgKGVsKSBlbC5zY3JvbGxUb3AgPSBlbC5zY3JvbGxIZWlnaHQ7XHJcbiAgICB9IGNhdGNoIHt9XHJcbiAgfSwgMCk7XHJcbn1cclxuXHJcbmdvQmFja1RvRmlsdGVycygpOiB2b2lkIHtcclxuICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9tYW5hZ2UvYWktYXVkaW8vZmlsdGVycyddKTtcclxufVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJhdWRpby1wYWdlXCI+XG5cbiAgPCEtLSDilIDilIAgSGVhZGVyIFJvdyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgLS0+XG4gIDxkaXYgY2xhc3M9XCJoZWFkZXItcm93LWNvbnRhaW5lciBtYi00XCIgKm5nSWY9XCJjb2hvcnRPcHRpb25zLmxlbmd0aCA+IDBcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgICAgICAgPCEtLSBDdXN0b20gU2luZ2xlLXNlbGVjdCBDb2hvcnQgRHJvcGRvd24gLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2hvcnQtZHJvcGRvd25cIiBbY2xhc3Mub3Blbl09XCJpc0NvaG9ydERyb3Bkb3duT3BlblwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2hvcnQtZHJvcGRvd24tdHJpZ2dlclwiXG4gICAgICAgICAgICAoY2xpY2spPVwiaXNDb2hvcnREcm9wZG93bk9wZW4gPSAhaXNDb2hvcnREcm9wZG93bk9wZW47ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICAgICAgICAgICAgPHNwYW4+e3sgZmlsdGVyVHlwZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCIgW2NsYXNzLnJvdGF0ZV09XCJpc0NvaG9ydERyb3Bkb3duT3BlblwiPlxuICAgICAgICAgICAgICA8cGF0aCBkPVwiTTUgNy41TDEwIDEyLjVMMTUgNy41XCIgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XG4gICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29ob3J0LWRyb3Bkb3duLW1lbnVcIiAqbmdJZj1cImlzQ29ob3J0RHJvcGRvd25PcGVuXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvaG9ydC1vcHRpb25cIiAqbmdGb3I9XCJsZXQgb3B0IG9mIGNvaG9ydE9wdGlvbnNcIiBbY2xhc3Muc2VsZWN0ZWRdPVwib3B0ID09PSBmaWx0ZXJUeXBlXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdENvaG9ydFR5cGUob3B0KVwiPlxuICAgICAgICAgICAgICB7eyBvcHQgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGg0IGNsYXNzPVwic2VjdGlvbi10aXRsZSBtYi0wXCI+Q29ob3J0IEFuYWx5c2lzPC9oND5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInRvdGFsLWF1ZGlvLWxhYmVsXCI+VG90YWwgQXVkaW8gQXZhaWxhYmxlIDxzdHJvbmc+e3sgdG90YWxBdWRpbyB9fTwvc3Ryb25nPjwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8IS0tIOKUgOKUgCBTdGF0cyBHcmlkIChEeW5hbWljKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgLS0+XG4gIDxkaXYgY2xhc3M9XCJzdGF0cy1ncmlkIG1iLTRcIj5cblxuICAgIDwhLS0gTG9hZGVyIC0tPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0xvYWRpbmdDYXJkc1wiPlxuICAgICAgPGRpdiBjbGFzcz1cInN0YXQtY2FyZFwiICpuZ0Zvcj1cImxldCBzIG9mIFsxLDIsMyw0LDUsNl1cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBsb2FkZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPGRpdiBjbGFzcz1cInN0YXQtY2FyZFwiICpuZ0Zvcj1cImxldCBjYXJkIG9mIGNvaG9ydENhcmRzXCIgW2hpZGRlbl09XCJpc0xvYWRpbmdDYXJkc1wiPlxuICAgIDxkaXYgY2xhc3M9XCJzdGF0LWNhcmQtaGVhZGVyIHRleHQtY2FwaXRhbGl6ZSBlbGxpcHNlMSBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvbkNhcmRSb3dDbGljaygnJywgY2FyZC5uYW1lKVwiPlxuICB7eyBjYXJkLm5hbWUgfX1cbiAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdGF0LWNhcmQtYm9keVwiPlxuXG4gICAgICAgIDwhLS0gQk9PTEVBTl9CQVNLRVQ6IGxhYmVsICsgcmVzcG9uc2VzICsgc2NvcmUgLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjYXJkLnR5cGUgPT09ICdCT09MRUFOX0JBU0tFVCdcIj5cbiAgICAgICAgICA8dGFibGUgY2xhc3M9XCJjb2hvcnQtdGFibGUgdy0xMDBcIj5cbiAgICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCByb3cgb2YgY2FyZD8uYm9vbGVhblJvd3NcIj5cbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgdGV4dC1jYXBpdGFsaXplIHRleHQtZGVjb3JhdGlvbi11bmRlcmxpbmUgY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25DYXJkUm93Q2xpY2soJycsIHJvdz8ubGFiZWwpXCI+e3sgcm93Py5sYWJlbC5zcGxpdCgnXycpLmpvaW4oJyAnKS50b0xvd2VyQ2FzZSgpIH19PC90ZD5cbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0ZXh0LWVuZFwiPnt7IHJvdz8ucmVzcG9uc2VzIH19PC90ZD5cbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0ZXh0LWVuZFwiPnt7IHJvdz8uc2NvcmUgfX0lPC90ZD5cbiAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgPC90YWJsZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPCEtLSBOVU1FUklDX1NDQUxBUjogdG90YWwgKyBhdmcgLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjYXJkLnR5cGUgPT09ICdOVU1FUklDX1NDQUxBUicgfHwgY2FyZC50eXBlID09PSAnTlVNRVJJQ19BUlJBWSdcIj5cbiAgICAgICAgICA8dGFibGUgY2xhc3M9XCJjb2hvcnQtdGFibGUgdy0xMDBcIj5cbiAgICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgIDx0ZD5Ub3RhbDwvdGQ+XG4gICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGV4dC1lbmRcIj57eyBjYXJkLm51bWVyaWNEYXRhPy50b3RhbCB9fTwvdGQ+XG4gICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICA8dGQ+QXZlcmFnZTwvdGQ+XG4gICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGV4dC1lbmRcIj57eyBjYXJkLm51bWVyaWNEYXRhPy5hdmcgfX08L3RkPlxuICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tIFNVQkpFQ1RJVkU6IGlkICsgcmVhc29uaW5nIHRleHQgLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjYXJkLnR5cGUgPT09ICdTVUJKRUNUSVZFJ1wiPlxuICAgICAgICAgIDx0YWJsZSBjbGFzcz1cImNvaG9ydC10YWJsZSB3LTEwMFwiPlxuICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IHJvdyBvZiBjYXJkLnN1YmplY3RpdmVSb3dzXCI+XG4gICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGV4dC1ub3dyYXBcIj57eyByb3c/LnN0b3JlX2lkIHx8ICfigJQnIH19PC90ZD5cbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0ZXh0LW5vd3JhcFwiPnt7IHJvdz8uZGF0ZSB8fCAn4oCUJyB9fTwvdGQ+XG4gICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGV4dC1wcmltYXJ5IHRleHQtY2FwaXRhbGl6ZSB0ZXh0LWRlY29yYXRpb24tdW5kZXJsaW5lIGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uQ2FyZFJvd0NsaWNrKHJvdz8uX2lkLCcnKVwiIFtuZ2JUb29sdGlwXT1cInJvdz8ucmVhc29uaW5nIHx8ICdObyBkZXNjcmlwdGlvbiBhdmFpbGFibGUnXCIgcGxhY2VtZW50PVwidG9wXCIgY29udGFpbmVyPVwiYm9keVwiIHRvb2x0aXBDbGFzcz1cImF1ZGlvLXRvb2x0aXBcIj57eyByb3c/LnJlYXNvbmluZyAmJiByb3c/LnJlYXNvbmluZyAhPT0gJycgPyByb3c/LnJlYXNvbmluZz8uc2xpY2UoMCwgMjUpICsgJy4uLicgOiAnTm8gcmVhc29uaW5nIGF2YWlsYWJsZScgfX08L3RkPlxuICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNhcmQudHlwZSA9PT0gJ1NVQkpFQ1RJVkVfQ09VTlQnXCI+XG4gICAgICAgICAgPHRhYmxlIGNsYXNzPVwiY29ob3J0LXRhYmxlIHctMTAwXCI+XG4gICAgICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgcm93IG9mIGNhcmQuc3ViamVjdGl2ZVJvd3NcIj5cbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0ZXh0LW5vd3JhcCBmdy1ib2xkXCJcbiAgICAgICAgICAgICAgICAgIFtuZ2JUb29sdGlwXT1cInJvdz8uX2lkXCIgcGxhY2VtZW50PVwidG9wXCIgY29udGFpbmVyPVwiYm9keVwiIHRvb2x0aXBDbGFzcz1cImF1ZGlvLXRvb2x0aXBcIj57eyByb3c/Ll9pZCB9fTwvdGQ+XG4gICAgICAgICAgICAgICAgPHRkIFtuZ2JUb29sdGlwXT1cInJvdz8ucmVhc29uaW5nIHx8ICdObyBkZXNjcmlwdGlvbiBhdmFpbGFibGUnXCIgcGxhY2VtZW50PVwidG9wXCIgY29udGFpbmVyPVwiYm9keVwiIHRvb2x0aXBDbGFzcz1cImF1ZGlvLXRvb2x0aXBcIj57eyByb3c/LnJlYXNvbmluZyAmJiByb3c/LnJlYXNvbmluZyAhPT0gJycgPyByb3c/LnJlYXNvbmluZz8uc2xpY2UoMCwgMjUpICA6ICdObyByZWFzb25pbmcgYXZhaWxhYmxlJyB9fTwvdGQ+XG4gICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgIDwvdGFibGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDwhLS0gVU5JUVVFX1BJVENIRVM6IHBpdGNoSWQgKyBkZXNjcmlwdGlvbiAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNhcmQudHlwZSA9PT0gJ1VOSVFVRV9QSVRDSEVTJ1wiPlxuICAgICAgICAgIDx0YWJsZSBjbGFzcz1cImNvaG9ydC10YWJsZSB3LTEwMFwiPlxuICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IHBpdGNoIG9mIGNhcmQucGl0Y2hSb3dzXCI+XG4gICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGV4dC1ub3dyYXAgZnctYm9sZFwiXG4gICAgICAgICAgICAgICAgICBbbmdiVG9vbHRpcF09XCJwaXRjaC5pZFwiIHBsYWNlbWVudD1cInRvcFwiIGNvbnRhaW5lcj1cImJvZHlcIiB0b29sdGlwQ2xhc3M9XCJhdWRpby10b29sdGlwXCI+e3sgcGl0Y2guaWQgfX08L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCBbbmdiVG9vbHRpcF09XCJwaXRjaC5kZXNjIHx8ICdObyBkZXNjcmlwdGlvbiBhdmFpbGFibGUnXCIgcGxhY2VtZW50PVwidG9wXCIgY29udGFpbmVyPVwiYm9keVwiIHRvb2x0aXBDbGFzcz1cImF1ZGlvLXRvb2x0aXBcIj57eyBwaXRjaC5kZXNjID8gcGl0Y2guZGVzYy5zbGljZSgwLCA3NSkgKyAnLi4uJyA6ICdObyBkZXNjcmlwdGlvbiBhdmFpbGFibGUnIH19PC90ZD5cbiAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgPC90YWJsZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gIDwvZGl2PlxuXG4gIDwhLS0g4pSA4pSAIENvbnZlcnNhdGlvbiBBbmFseXNpcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgLS0+XG4gIDxkaXYgY2xhc3M9XCJjb252ZXJzYXRpb24tYXJlYSBiZy13aGl0ZSBwLTQgcm91bmRlZC0zXCI+XG5cbiAgICA8IS0tIFNlY3Rpb24gSGVhZGVyIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIHB4LTIgYm90dG9tLWJvcmRlciBtYi00XCI+XG4gICAgICA8aDUgY2xhc3M9XCJzZWN0aW9uLXRpdGxlICBtYi0wXCI+Q29udmVyc2F0aW9uIEFuYWx5c2lzPC9oNT5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJleHBvcnQtYnRuIGJ0biBidG4tZGVmYXVsdCBteC0xIGJ0bi1vdXRsaW5lIGJnLXdoaXRlIGJ0bi1vdXRsaW5lLWRlZmF1bHRcIiAoY2xpY2spPVwiZXhwb3J0RGF0YSgpXCIgbmdiVG9vbHRpcD1cIkV4cG9ydCBjb252ZXJzYXRpb24gZGF0YSB0byBDU1ZcIiBwbGFjZW1lbnQ9XCJ0b3BcIiBbZGlzYWJsZWRdPVwidG90YWxJdGVtcyA9PT0gMFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImV4cG9ydC10ZXh0XCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiXG4gICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgZD1cIk04LjEyNSAxMy4xMjVIMTYuMzU2M0wxNC43NDM4IDE0Ljc0MzhMMTUuNjI1IDE1LjYyNUwxOC43NSAxMi41TDE1LjYyNSA5LjM3NUwxNC43NDM4IDEwLjI1NjJMMTYuMzU2MyAxMS44NzVIOC4xMjVWMTMuMTI1WlwiXG4gICAgICAgICAgICAgIGZpbGw9XCJibGFja1wiIC8+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBkPVwiTTEzLjc1IDguNzUwMDFWNi4yNTAwMUMxMy43NTA1IDYuMTY3NzYgMTMuNzM0NyA2LjA4NjIyIDEzLjcwMzYgNi4wMTAwN0MxMy42NzI1IDUuOTMzOTIgMTMuNjI2NyA1Ljg2NDY2IDEzLjU2ODggNS44MDYyNkw5LjE5Mzc1IDEuNDMxMjZDOS4xMzUzNSAxLjM3MzMzIDkuMDY2MDkgMS4zMjc1MSA4Ljk4OTk0IDEuMjk2NEM4LjkxMzc5IDEuMjY1MyA4LjgzMjI1IDEuMjQ5NTMgOC43NSAxLjI1MDAxSDIuNUMyLjE2ODQ4IDEuMjUwMDEgMS44NTA1NCAxLjM4MTcxIDEuNjE2MTIgMS42MTYxM0MxLjM4MTcgMS44NTA1NSAxLjI1IDIuMTY4NDkgMS4yNSAyLjUwMDAxVjE3LjVDMS4yNSAxNy44MzE1IDEuMzgxNyAxOC4xNDk1IDEuNjE2MTIgMTguMzgzOUMxLjg1MDU0IDE4LjYxODMgMi4xNjg0OCAxOC43NSAyLjUgMTguNzVIMTIuNUMxMi44MzE1IDE4Ljc1IDEzLjE0OTUgMTguNjE4MyAxMy4zODM5IDE4LjM4MzlDMTMuNjE4MyAxOC4xNDk1IDEzLjc1IDE3LjgzMTUgMTMuNzUgMTcuNVYxNi4yNUgxMi41VjE3LjVIMi41VjIuNTAwMDFINy41VjYuMjUwMDFDNy41IDYuNTgxNTMgNy42MzE3IDYuODk5NDcgNy44NjYxMiA3LjEzMzg5QzguMTAwNTQgNy4zNjgzMSA4LjQxODQ4IDcuNTAwMDEgOC43NSA3LjUwMDAxSDEyLjVWOC43NTAwMUgxMy43NVpNOC43NSA2LjI1MDAxVjIuNzU2MjZMMTIuMjQzOCA2LjI1MDAxSDguNzVaXCJcbiAgICAgICAgICAgICAgZmlsbD1cImJsYWNrXCIgLz5cbiAgICAgICAgICA8L3N2Zz4gRXhwb3J0PC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIOKUgOKUgCBUYW5nbyBBSSBDaGF0IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiY2hhdC1wYWdlXCI+XG4gIDxkaXYgY2xhc3M9XCJjaGF0LWxheW91dC1jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2hhdC1tYWluXCI+XG4gICAgICA8aGVhZGVyIGNsYXNzPVwiY2hhdC1oZWFkZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci10b3BcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLWNvbnRlbnQgdGV4dC1jZW50ZXJcIj48L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2hlYWRlcj5cblxuICAgICAgPCEtLSBNZXNzYWdlIEFyZWEgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2hhdC1tZXNzYWdlcy1hcmVhIHNjcm9sbGJhci1oaWRkZW5cIiAjc2Nyb2xsQ29udGFpbmVyPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIHB5LTRcIiAqbmdJZj1cImlzQ2hhdExvYWRpbmdcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtbXV0ZWRcIj5Mb2FkaW5nIGNvbnZlcnNhdGlvbi4uLjwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IG1zZyBvZiBtZXNzYWdlc1wiIGNsYXNzPVwibWVzc2FnZS13cmFwcGVyXCIgW2NsYXNzLnVzZXJdPVwibXNnLnNlbmRlciA9PT0gJ3VzZXInXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1lc3NhZ2VcIiBbY2xhc3MuYXNzaXN0YW50XT1cIm1zZy5zZW5kZXIgPT09ICdhc3Npc3RhbnQnXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZS1hdmF0YXJcIiAqbmdJZj1cIm1zZy5zZW5kZXIgPT09ICdhc3Npc3RhbnQnXCI+XG4gICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxuICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHJ4PVwiMTJcIiBmaWxsPVwiI0VBRjhGRlwiIC8+XG4gICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xNS45OTQxIDE0LjU1NjFMMTUuNDU2NSAxNC4wMTg1TDkuNjYzIDguMjI1TDExLjM4MTYgNi41MDY0TDExLjc5MzQgNi4wOTM4QzExLjgzMjcgNi4wNTM5NSAxMS44NTQ5IDYuMDAwMzIgMTEuODU1MiA1Ljk0MjhDMTEuODU1IDUuOTE2NjggMTEuODQ5NCA1Ljg4OTMxIDExLjgzODcgNS44NjM4MUMxMS44MjggNS44MzgzIDExLjgxMjMgNS44MTUxNyAxMS43OTI2IDUuNzk1NzJMMTEuMzggNS4zODMxMkw5LjU1NzQgMy41NTcyOUw5LjE0NDggMy4xNDQ2OUM5LjEyNTMgMy4xMjQ4NSA5LjEwMjEgMy4xMDkwOSA5LjA3NjQgMy4wOTgzM0M5LjA1MDggMy4wODc1NyA5LjAyMzIgMy4wODIwMyA4Ljk5NTQgMy4wODIwM0M4Ljk2NzYgMy4wODIwMyA4Ljk0IDMuMDg3NTcgOC45MTQ0IDMuMDk4MzNDOC44ODg3IDMuMTA5MDkgOC44NjU1IDMuMTI0ODUgOC44NDU5IDMuMTQ0NjlMOC40MzMzIDMuNTU4MUw2LjE5OTggNS43OTE2NkM2LjE4IDUuODExMDkgNi4xNjQyIDUuODM0MjggNi4xNTM1IDUuODU5ODhDNi4xNDI3IDUuODg1NDcgNi4xMzcyIDUuOTEyOTQgNi4xMzcyIDUuOTQwN0M2LjEzNzIgNS45Njg0NiA2LjE0MjcgNS45OTU5MyA2LjE1MzUgNi4wMjE1MkM2LjE2NDIgNi4wNDcxMiA2LjE4IDYuMDcwMzEgNi4xOTk4IDYuMDg5NzRMOC4zMzM0IDguMjI0MkwyLjUzOTIgMTQuMDE4NUwyLjAwNCAxNC41NTYxQzEuOTY0MyAxNC41OTU1IDEuOTQxOCAxNC42NDg5IDEuOTQxNCAxNC43MDQ4QzEuOTQxNiAxNC43NTg4IDEuOTYyMiAxNC44MTA3IDEuOTk5MSAxNC44NTAyQzIuMDE4NyAxNC44NzEyIDIuMDQyNSAxNC44ODc5IDIuMDY4OSAxNC44OTk0QzIuMDk1MyAxNC45MTA4IDIuMTIzOCAxNC45MTY4IDIuMTUyNiAxNC45MTY4SDcuMzY0NUM3LjQyMDQgMTQuOTE2NiA3LjQ3NCAxNC44OTQyIDcuNTEzNiAxNC44NTQ3QzcuNTUzMSAxNC44MTUxIDcuNTc1NCAxNC43NjE1IDcuNTc1NyAxNC43MDU2VjE0LjE4NzRDNy41NzU3IDE0LjEzMTMgNy41NTM0IDE0LjA3NzUgNy41MTM5IDE0LjAzNzhDNy40NzQzIDEzLjk5ODEgNy40MjA2IDEzLjk3NTYgNy4zNjQ1IDEzLjk3NTRIMy45MTI2TDguOTk3OCA4Ljg5MDJMMTQuMDgzIDEzLjk3NTRIMTAuNjAxMUMxMC41NDUgMTMuOTc1NiAxMC40OTEzIDEzLjk5ODEgMTAuNDUxNyAxNC4wMzc4QzEwLjQxMjIgMTQuMDc3NSAxMC4zODk5IDE0LjEzMTMgMTAuMzg5OSAxNC4xODc0VjE0LjcwNTZDMTAuMzg5OCAxNC43MzM0IDEwLjM5NTMgMTQuNzYxIDEwLjQwNjEgMTQuNzg2N0MxMC40MTY4IDE0LjgxMjMgMTAuNDMyNiAxNC44MzU2IDEwLjQ1MjUgMTQuODU1QzEwLjQ5MTkgMTQuODk0NCAxMC41NDU0IDE0LjkxNjYgMTAuNjAxMSAxNC45MTY4SDE1Ljg0NDdDMTUuODczNiAxNC45MTY5IDE1LjkwMjMgMTQuOTExIDE1LjkyODggMTQuODk5NUMxNS45NTU0IDE0Ljg4ODEgMTUuOTc5MyAxNC44NzEzIDE1Ljk5OSAxNC44NTAyQzE2LjAzNyAxNC44MTAzIDE2LjA1NzcgMTQuNzU3MiAxNi4wNTY4IDE0LjcwMjJDMTYuMDU1OSAxNC42NDcxIDE2LjAzMzQgMTQuNTk0NyAxNS45OTQxIDE0LjU1NjFaTTguOTk0NiA0LjMyNjQ1TDEwLjYxMzMgNS45NDUxN0w4Ljk5ODYgNy41NTk4TDcuMzc5OSA1Ljk0MTExTDguOTk0NiA0LjMyNjQ1WlwiIGZpbGw9XCIjMDBBM0ZGXCIvPlxuICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1lc3NhZ2UtY29udGVudFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZS1idWJibGVcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwicGFyc2VNYXJrZG93bihtc2cudGV4dClcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zZy1zZW5kZXItdGFnXCIgKm5nSWY9XCJtc2cuc2VuZGVyID09PSAndXNlcidcIj57eyB1c2VySW5pdGlhbHMgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZS1hY3Rpb25zXCIgKm5nSWY9XCJtc2cuc2VuZGVyID09PSAnYXNzaXN0YW50JyAmJiBtc2cudGV4dFwiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4tY29weVwiIChjbGljayk9XCJjb3B5VG9DbGlwYm9hcmQobXNnLnRleHQpXCIgdGl0bGU9XCJDb3B5IHRvIGNsaXBib2FyZFwiPlxuICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiPlxuICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzLjMzMzMgMTMuMzMzM1YxNi42NjY3QzEzLjMzMzMgMTcuNTg3MiAxMi41ODcyIDE4LjMzMzMgMTEuNjY2NyAxOC4zMzMzSDMuMzMzMzNDMi40MTI4NiAxOC4zMzMzIDEuNjY2NjcgMTcuNTg3MiAxLjY2NjY3IDE2LjY2NjdWOC4zMzMzM0MxLjY2NjY3IDcuNDEyODYgMi40MTI4NiA2LjY2NjY3IDMuMzMzMzMgNi42NjY2N0g2LjY2NjY3TTguMzMzMzMgMy4zMzMzM1YxMS42NjY3QzguMzMzMzMgMTIuNTg3MiA5LjA3OTUzIDEzLjMzMzMgMTAgMTMuMzMzM0gxNi42NjY3QzE3LjU4NzIgMTMuMzMzMyAxOC4zMzMzIDEyLjU4NzIgMTguMzMzMyAxMS42NjY3VjMuMzMzMzNDMTguMzMzMyAyLjQxMjg2IDE3LjU4NzIgMS42NjY2NyAxNi42NjY3IDEuNjY2NjdIMTBDOS4wNzk1MyAxLjY2NjY3IDguMzMzMzMgMi40MTI4NiA4LjMzMzMzIDMuMzMzMzNaXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cbiAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPCEtLSBUeXBpbmcgSW5kaWNhdG9yIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZS13cmFwcGVyIGFzc2lzdGFudFwiICpuZ0lmPVwiaXNUeXBpbmdcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZSBhc3Npc3RhbnRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlLWF2YXRhclwiPlxuICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cbiAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiByeD1cIjEyXCIgZmlsbD1cIiNFQUY4RkZcIiAvPlxuICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTUuOTk0MSAxNC41NTYxTDE1LjQ1NjUgMTQuMDE4NUw5LjY2MyA4LjIyNUwxMS4zODE2IDYuNTA2NEwxMS43OTM0IDYuMDkzOEMxMS44MzI3IDYuMDUzOTUgMTEuODU0OSA2LjAwMDMyIDExLjg1NTIgNS45NDI4QzExLjg1NSA1LjkxNjY4IDExLjg0OTQgNS44ODkzMSAxMS44Mzg3IDUuODYzODFDMTEuODI4IDUuODM4MyAxMS44MTIzIDUuODE1MTcgMTEuNzkyNiA1Ljc5NTcyTDExLjM4IDUuMzgzMTJMOS41NTc0IDMuNTU3MjlMOS4xNDQ4IDMuMTQ0NjlDOS4xMjUzIDMuMTI0ODUgOS4xMDIxIDMuMTA5MDkgOS4wNzY0IDMuMDk4MzNDOS4wNTA4IDMuMDg3NTcgOS4wMjMyIDMuMDgyMDMgOC45OTU0IDMuMDgyMDNDOC45Njc2IDMuMDgyMDMgOC45NCAzLjA4NzU3IDguOTE0NCAzLjA5ODMzQzguODg4NyAzLjEwOTA5IDguODY1NSAzLjEyNDg1IDguODQ1OSAzLjE0NDY5TDguNDMzMyAzLjU1ODFMNi4xOTk4IDUuNzkxNjZDNi4xOCA1LjgxMTA5IDYuMTY0MiA1LjgzNDI4IDYuMTUzNSA1Ljg1OTg4QzYuMTQyNyA1Ljg4NTQ3IDYuMTM3MiA1LjkxMjk0IDYuMTM3MiA1Ljk0MDdDNi4xMzcyIDUuOTY4NDYgNi4xNDI3IDUuOTk1OTMgNi4xNTM1IDYuMDIxNTJDNi4xNjQyIDYuMDQ3MTIgNi4xOCA2LjA3MDMxIDYuMTk5OCA2LjA4OTc0TDguMzMzNCA4LjIyNDJMMi41MzkyIDE0LjAxODVMMi4wMDQgMTQuNTU2MUMxLjk2NDMgMTQuNTk1NSAxLjk0MTggMTQuNjQ4OSAxLjk0MTQgMTQuNzA0OEMxLjk0MTYgMTQuNzU4OCAxLjk2MjIgMTQuODEwNyAxLjk5OTEgMTQuODUwMkMyLjAxODcgMTQuODcxMiAyLjA0MjUgMTQuODg3OSAyLjA2ODkgMTQuODk5NEMyLjA5NTMgMTQuOTEwOCAyLjEyMzggMTQuOTE2OCAyLjE1MjYgMTQuOTE2OEg3LjM2NDVDNy40MjA0IDE0LjkxNjYgNy40NzQgMTQuODk0MiA3LjUxMzYgMTQuODU0N0M3LjU1MzEgMTQuODE1MSA3LjU3NTQgMTQuNzYxNSA3LjU3NTcgMTQuNzA1NlYxNC4xODc0QzcuNTc1NyAxNC4xMzEzIDcuNTUzNCAxNC4wNzc1IDcuNTEzOSAxNC4wMzc4QzcuNDc0MyAxMy45OTgxIDcuNDIwNiAxMy45NzU2IDcuMzY0NSAxMy45NzU0SDMuOTEyNkw4Ljk5NzggOC44OTAyTDE0LjA4MyAxMy45NzU0SDEwLjYwMTFDMTAuNTQ1IDEzLjk3NTYgMTAuNDkxMyAxMy45OTgxIDEwLjQ1MTcgMTQuMDM3OEMxMC40MTIyIDE0LjA3NzUgMTAuMzg5OSAxNC4xMzEzIDEwLjM4OTkgMTQuMTg3NFYxNC43MDU2QzEwLjM4OTggMTQuNzMzNCAxMC4zOTUzIDE0Ljc2MSAxMC40MDYxIDE0Ljc4NjdDMTAuNDE2OCAxNC44MTIzIDEwLjQzMjYgMTQuODM1NiAxMC40NTI1IDE0Ljg1NUMxMC40OTE5IDE0Ljg5NDQgMTAuNTQ1NCAxNC45MTY2IDEwLjYwMTEgMTQuOTE2OEgxNS44NDQ3QzE1Ljg3MzYgMTQuOTE2OSAxNS45MDIzIDE0LjkxMSAxNS45Mjg4IDE0Ljg5OTVDMTUuOTU1NCAxNC44ODgxIDE1Ljk3OTMgMTQuODcxMyAxNS45OTkgMTQuODUwMkMxNi4wMzcgMTQuODEwMyAxNi4wNTc3IDE0Ljc1NzIgMTYuMDU2OCAxNC43MDIyQzE2LjA1NTkgMTQuNjQ3MSAxNi4wMzM0IDE0LjU5NDcgMTUuOTk0MSAxNC41NTYxWk04Ljk5NDYgNC4zMjY0NUwxMC42MTMzIDUuOTQ1MTdMOC45OTg2IDcuNTU5OEw3LjM3OTkgNS45NDExMUw4Ljk5NDYgNC4zMjY0NVpcIiBmaWxsPVwiIzAwQTNGRlwiLz5cbiAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlLWNvbnRlbnQgbXQtM1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZS1idWJibGUgdHlwaW5nXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkb3RcIj48L3NwYW4+PHNwYW4gY2xhc3M9XCJkb3RcIj48L3NwYW4+PHNwYW4gY2xhc3M9XCJkb3RcIj48L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIENvcHkgRmVlZGJhY2sgVG9hc3QgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29weS1mZWVkYmFjay10b2FzdFwiICpuZ0lmPVwiY29weUZlZWRiYWNrXCI+e3sgY29weUZlZWRiYWNrIH19PC9kaXY+XG4gICAgICA8IS0tIElucHV0IEFyZWEgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2hhdC1pbnB1dC1hcmVhIGJvcmRlci10b3BcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNoYXQtZm9vdGVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtd3JhcHBlciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtZ3Jvdy0xXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGx1cy1tZW51LXdyYXAgbWUtMlwiPlxuICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuLXBsdXNcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInRvZ2dsZVBsdXNNZW51KClcIiBbY2xhc3Mub3Blbl09XCJzaG93UGx1c01lbnVcIj4vPC9idXR0b24+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwbHVzLXBvcHVwXCIgKm5nSWY9XCJzaG93UGx1c01lbnVcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGx1cy1wb3B1cC1zZWN0aW9uLWxhYmVsXCI+TW9kZWw8L2Rpdj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwicGx1cy1wb3B1cC1pdGVtXCIgdHlwZT1cImJ1dHRvblwiICpuZ0Zvcj1cImxldCBtIG9mIG1vZGVsT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwic2VsZWN0ZWRNb2RlbCA9PT0gbS52YWx1ZVwiIChjbGljayk9XCJzZWxlY3RNb2RlbChtLnZhbHVlKTsgY2xvc2VQbHVzTWVudSgpXCI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1vZGVsLWhpbnQgZnctYm9sZCB0ZXh0LWRhcmsgZnMtNVwiPnt7IG0ubGFiZWwgfCB0aXRsZWNhc2UgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwic2VsZWN0ZWRNb2RlbCA9PT0gbS52YWx1ZVwiIGNsYXNzPVwiY2hlY2staWNvblwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjMDA5QkYzXCIgc3Ryb2tlLXdpZHRoPVwiMi41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9XCIyMCA2IDkgMTcgNCAxMlwiLz5cbiAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwbHVzLXBvcHVwLWRpdmlkZXJcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwicGx1cy1wb3B1cC1pdGVtXCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJjbG9zZVBsdXNNZW51KCk7IG5ld0NoYXQoKVwiPlxuICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuOFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPlxuICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEyIDIwaDlNMTYuNSAzLjVhMi4xMjEgMi4xMjEgMCAwIDEgMyAzTDcgMTlsLTQgMSAxLTRMMTYuNSAzLjV6XCIvPlxuICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICA8c3Bhbj5OZXcgQ2hhdDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwicGx1cy1wb3B1cC1pdGVtXCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJjbG9zZVBsdXNNZW51KCk7IHRvZ2dsZUNoYXRIaXN0b3J5KClcIj5cbiAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjhcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIj5cbiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMiA4djRsMyAzbTYtM2E5IDkgMCAxIDEtMTggMCA5IDkgMCAwIDEgMTggMHpcIi8+XG4gICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgIDxzcGFuPkNoYXQgSGlzdG9yeTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwidXNlck1lc3NhZ2VcIiBjbGFzcz1cImNoYXQtaW5wdXRcIiBwbGFjZWhvbGRlcj1cIkFzayBhbnl0aGluZy4uLlwiXG4gICAgICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJzZW5kTWVzc2FnZSgpXCIgW2Rpc2FibGVkXT1cImlzVHlwaW5nXCI+XG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuLWhpc3RvcnktaW5saW5lXCIgKm5nSWY9XCIhc2hvd0NoYXRIaXN0b3J5XCIgKGNsaWNrKT1cInRvZ2dsZUNoYXRIaXN0b3J5KClcIiB0aXRsZT1cIkNoYXQgSGlzdG9yeVwiPlxuICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS44XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCI+XG4gICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMiA4djRsMyAzbTYtM2E5IDkgMCAxIDEtMTggMCA5IDkgMCAwIDEgMTggMHpcIi8+XG4gICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuLXNlbmRcIiAoY2xpY2spPVwic2VuZE1lc3NhZ2UoKVwiIFtkaXNhYmxlZF09XCIhdXNlck1lc3NhZ2UudHJpbSgpIHx8IGlzVHlwaW5nXCI+XG4gICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiPlxuICAgICAgICAgICAgICAgIDxsaW5lIHgxPVwiMjJcIiB5MT1cIjJcIiB4Mj1cIjExXCIgeTI9XCIxM1wiPjwvbGluZT5cbiAgICAgICAgICAgICAgICA8cG9seWdvbiBwb2ludHM9XCIyMiAyIDE1IDIyIDExIDEzIDIgOSAyMiAyXCI+PC9wb2x5Z29uPlxuICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDwhLS0gQmFja2Ryb3AgLS0+XG4gICAgPGRpdiBjbGFzcz1cImNoYXQtaGlzdG9yeS1iYWNrZHJvcFwiICpuZ0lmPVwic2hvd0NoYXRIaXN0b3J5XCIgKGNsaWNrKT1cInRvZ2dsZUNoYXRIaXN0b3J5KClcIj48L2Rpdj5cbiAgICA8IS0tIFJpZ2h0IFNpZGViYXI6IENoYXQgSGlzdG9yeSAtLT5cbiAgICA8YXNpZGUgY2xhc3M9XCJjaGF0LWhpc3Rvcnktc2lkZWJhciBib3JkZXItc3RhcnRcIiAqbmdJZj1cInNob3dDaGF0SGlzdG9yeVwiPlxuICAgICAgPGRpdiBjbGFzcz1cInNpZGViYXItaGVhZGVyIHAtMyBib3JkZXItYm90dG9tIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPGg2IChjbGljayk9XCJ0b2dnbGVDaGF0SGlzdG9yeSgpXCIgY2xhc3M9XCJtYi0wIGZ3LWJvbGQgY3Vyc29yLXBvaW50ZXJcIj5cbiAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cbiAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTAuODMzMyAxNC4xNjczTDE1IDEwLjAwMDdMMTAuODMzMyA1LjgzMzk4TTUgMTQuMTY3M0w5LjE2NjY3IDEwLjAwMDdMNSA1LjgzMzk4XCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxuICAgICAgICAgIDwvc3ZnPiBDaGF0IEhpc3RvcnlcbiAgICAgICAgPC9oNj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInNpZGViYXItc2VhcmNoIHAtMyBwYi0wXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJoaXN0b3J5LXNlYXJjaC13cmFwcGVyXCI+XG4gICAgICAgICAgPGkgY2xhc3M9XCJiaSBiaS1zZWFyY2hcIj48L2k+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgcGxhY2Vob2xkZXI9XCJTZWFyY2ggY2hhdHMuLlwiIFsobmdNb2RlbCldPVwic2VhcmNoVGV4dFwiPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInNpZGViYXItY29udGVudCBwLTMgc2Nyb2xsYmFyLWhpZGRlblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgdGV4dC1tdXRlZCBweS0zXCIgKm5nSWY9XCJpc0hpc3RvcnlMb2FkaW5nXCI+TG9hZGluZy4uLjwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgdGV4dC1tdXRlZCBweS0zXCIgKm5nSWY9XCIhaXNIaXN0b3J5TG9hZGluZyAmJiBmaWx0ZXJlZEhpc3RvcnkubGVuZ3RoID09PSAwXCI+Tm8gY2hhdHMgZm91bmQ8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgY2hhdCBvZiBmaWx0ZXJlZEhpc3RvcnlcIiBjbGFzcz1cImhpc3RvcnktaXRlbVwiIFtjbGFzcy5hY3RpdmVdPVwic2VsZWN0ZWRDaGF0SWQgPT09IGNoYXQuc2Vzc2lvbl9pZFwiXG4gICAgICAgICAgKGNsaWNrKT1cImxvYWRDaGF0KGNoYXQuc2Vzc2lvbl9pZClcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbS10aXRsZSB0ZXh0LXRydW5jYXRlXCI+e3sgY2hhdC5zZXNzaW9uX3RpdGxlIH19PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic2lkZWJhci1mb290ZXIgcC0zIG10LWF1dG9cIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0bi1uZXctY2hhdCB3LTEwMFwiIChjbGljayk9XCJuZXdDaGF0KClcIj5cbiAgICAgICAgICA8aSBjbGFzcz1cImJpIGJpLXBsdXMtbGcgbWUtMlwiPjwvaT4gTmV3IENoYXRcbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2FzaWRlPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG4gICAgPCEtLSBDb252ZXJzYXRpb25zIENvdW50IC0tPlxuICAgIDxkaXYgY2xhc3M9XCJjb252ZXJzYXRpb25zLWNvdW50IG1iLTMgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LXdyYXAgZ2FwLTJcIj5cbiAgICAgIDxzdHJvbmc+e3sgdG90YWxJdGVtcyB9fSBUb3RhbCBDb252ZXJzYXRpb25zIEZvdW5kPC9zdHJvbmc+XG4gICAgICA8c3BhbiAqbmdJZj1cInNlbGVjdGVkQ2FyZElkIHx8IHNlbGVjdGVkQ2FyZE5hbWVcIiBjbGFzcz1cImFjdGl2ZS1maWx0ZXItY2hpcFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNoaXAtbGFiZWxcIj57eyBzZWxlY3RlZENhcmRJZCB8fCBzZWxlY3RlZENhcmROYW1lIH19PC9zcGFuPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiY2hpcC1yZW1vdmVcIiAoY2xpY2spPVwiY2xlYXJDYXJkRmlsdGVyKClcIiB0aXRsZT1cIlJlbW92ZSBmaWx0ZXJcIj4mdGltZXM7PC9idXR0b24+XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIENvbnZlcnNhdGlvbiBDYXJkcyAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiY29udmVyc2F0aW9ucy1saXN0XCI+XG5cbiAgICAgIDwhLS0gTG9hZGVyIC0tPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTG9hZGluZ0NvbnZlcnNhdGlvbnNcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnZlcnNhdGlvbi1jYXJkIHAtM1wiICpuZ0Zvcj1cImxldCBzIG9mIFsxLDIsM11cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGxvYWRlciBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPCEtLSBObyBEYXRhIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW4gbXktMTBcIlxuICAgICAgICAqbmdJZj1cIiFpc0xvYWRpbmdDb252ZXJzYXRpb25zICYmIGRpc3BsYXllZENvbnZlcnNhdGlvbnMubGVuZ3RoID09PSAwXCI+XG4gICAgICAgIDxpbWcgY2xhc3M9XCJpbWctbWFwXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvTm9kYXRhMS5zdmdcIiBhbHQ9XCJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS10aXRsZVwiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS1zdWJcIj5ObyBjb2hvcnRzIGhhcyBiZWVuIGNyZWF0ZWQgeWV0Ljxicj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGVhc2UgQ3JlYXRlIGEgY29ob3J0IHRvIHZpZXcgdGhlIGRhc2hib2FyZC48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSAgcm91bmRlZC0zIHctMjUgcC00IG10LTNcIiAoY2xpY2spPVwiY3JlYXRlQ29ob3J0KClcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmdy1ib2xkIGZzLTQgbXgtMiBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cbjxwYXRoIGQ9XCJNMTAuMDAxMyA0LjE2Njk5VjE1LjgzMzdNNC4xNjc5NyAxMC4wMDAzSDE1LjgzNDZcIiBzdHJva2U9XCJ3aGl0ZVwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XG48L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctYm9sZCBmcy00IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBtcy0yXCI+Q3JlYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29ob3J0czwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb252ZXJzYXRpb24tY2FyZFwiICpuZ0Zvcj1cImxldCBjIG9mIGRpc3BsYXllZENvbnZlcnNhdGlvbnM7IGxldCBtaSA9IGluZGV4XCJcbiAgICAgICAgW2hpZGRlbl09XCJpc0xvYWRpbmdDb252ZXJzYXRpb25zXCI+XG5cbiAgICAgICAgPCEtLSBTdW1tYXJ5IFJvdyAoYWx3YXlzIHZpc2libGUpIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udi1zdW1tYXJ5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiIChjbGljayk9XCJ0b2dnbGVDb252ZXJzYXRpb24oYy5hdWRpb0lkKVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb252LXN1bW1hcnktbGVmdFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgbXktMlwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvbnYtaWQgbS0wXCI+e3sgYy5hdWRpb0lkIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udi1tZXRhLXJvdyBteS0yXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWV0YS1pdGVtXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiXG4gICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxuICAgICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgICAgZD1cIk00LjA4OTg0IDkuNDY3NzdDMy45MzQwOCA5LjQ4NzA3IDMuNzc1MDQgOS41IDMuNjEzMjggOS41QzMuNTE1NjIgOS40OTk5OSAzLjQxOTY3IDkuNDk0NDggMy4zMjUyIDkuNDg3M1YxNC4yMjM2QzMuMzI1MiAxNC45MDE1IDMuODg2NTIgMTUuNDY0OCA0LjU4OTg0IDE1LjQ2NDhIMTMuNDExMUMxNC4xMTQ1IDE1LjQ2NDggMTQuNjc1OCAxNC45MDE1IDE0LjY3NTggMTQuMjIzNlY5LjQ4ODI4QzE0LjU4MjcgOS40OTUxMiAxNC40ODc4IDkuNSAxNC4zOTI2IDkuNUMxNC4yMjk3IDkuNDk5OTggMTQuMDY5MSA5LjQ4NzYyIDEzLjkxMTEgOS40Njc3N1YxMi45ODI0SDQuMDg5ODRWOS40Njc3N1pNMTMuOTE4OSAyLjUzNjEzSDQuMDgyMDNDMy45ODE0NSAyLjUzNjIzIDMuODkxMyAyLjU4ODI2IDMuODQ0NzMgMi42NjExM1YyLjY2MjExTDIuMjY0NjUgNS4xMjk4OEwyLjI0MzE2IDUuMTYzMDlDMS42MzYwOSA2LjE1NjUzIDIuMjIyNTMgNy40NjQ5MSAzLjM0Mjc3IDcuNjEyM0MzLjQzNTMyIDcuNjIzNTggMy41MjM4OCA3LjYyOTg4IDMuNjExMzMgNy42Mjk4OEM0LjE4MzEyIDcuNjI5NzUgNC42ODkyMyA3LjM4MzggNS4wNDEwMiA3LjAwMTk1TDUuNDA5MTggNi42MDE1Nkw1Ljc3NzM0IDcuMDAyOTNDNi4xMjU2MiA3LjM4MzM0IDYuNjMwNzYgNy42Mjk4OCA3LjIwNjA1IDcuNjI5ODhDNy43Nzg4IDcuNjI5ODIgOC4yODY3NSA3LjM4MzA2IDguNjM0NzcgNy4wMDI5M0wxMi41OTg2IDYuNjAwNTlMMTIuOTY2OCA3LjAwMjkzQzEzLjMxNDggNy4zODMwNyAxMy44MjI3IDcuNjI5ODIgMTQuMzk1NSA3LjYyOTg4QzE0LjQ4MDYgNy42Mjk4OCAxNC41NzE2IDcuNjIzNTcgMTQuNjY0MSA3LjYxMjNIMTQuNjYzMUMxNS43ODk5IDcuNDYxMzkgMTYuMzc3IDYuMTI1MTYgMTUuNzM5MyA1LjEyOTg4TDE0LjE1NzIgMi42NjIxMUwxNC4xNTYyIDIuNjYxMTNDMTQuMTA5NyAyLjU4ODI2IDE0LjAxOTUgMi41MzYxOSAxMy45MTg5IDIuNTM2MTNaXCJcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIC8+XG4gICAgICAgICAgICAgICAgPC9zdmc+IDxzcGFuIGNsYXNzPVwidGV4dC1uYW1lXCI+U3RvcmU6PC9zcGFuPiA8c3BhbiBjbGFzcz1cIm5hbWUtdmFsXCI+e3sgYy5zdG9yZU5hbWUgfX08L3NwYW4+PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1ldGEtc2VwXCI+PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1ldGEtaXRlbVwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTRcIiBoZWlnaHQ9XCIxNVwiIHZpZXdCb3g9XCIwIDAgMTQgMTVcIlxuICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cbiAgICAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgICAgIGQ9XCJNMTIuNzUgMTQuMjVWMTIuNzVDMTIuNzUgMTEuOTU0NCAxMi40MzM5IDExLjE5MTMgMTEuODcxMyAxMC42Mjg3QzExLjMwODcgMTAuMDY2MSAxMC41NDU2IDkuNzUgOS43NSA5Ljc1SDMuNzVDMi45NTQzNSA5Ljc1IDIuMTkxMjkgMTAuMDY2MSAxLjYyODY4IDEwLjYyODdDMS4wNjYwNyAxMS4xOTEzIDAuNzUgMTEuOTU0NCAwLjc1IDEyLjc1VjE0LjI1TTkuNzUgMy43NUM5Ljc1IDUuNDA2ODUgOC40MDY4NSA2Ljc1IDYuNzUgNi43NUM1LjA5MzE1IDYuNzUgMy43NSA1LjQwNjg1IDMuNzUgMy43NUMzLjc1IDIuMDkzMTUgNS4wOTMxNSAwLjc1IDYuNzUgMC43NUM4LjQwNjg1IDAuNzUgOS43NSAyLjA5MzE1IDkuNzUgMy43NVpcIlxuICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cbiAgICAgICAgICAgICAgICA8L3N2Zz48c3BhbiBjbGFzcz1cInRleHQtbmFtZVwiPlN0YWZmOjwvc3Bhbj4gPHNwYW4gY2xhc3M9XCJuYW1lLXZhbFwiPnt7IGMudXNlck5hbWUgfX08L3NwYW4+PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1ldGEtc2VwXCI+PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1ldGEtaXRlbVwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIlxuICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cbiAgICAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgICAgIGQ9XCJNMTAuODc1IDEzLjY4NzVDMTAuMzUgMTMuNjg3NSA5LjkwNjI1IDEzLjUwNjIgOS41NDM3NSAxMy4xNDM3QzkuMTgxMjUgMTIuNzgxMiA5IDEyLjMzNzUgOSAxMS44MTI1QzkgMTEuMjg3NSA5LjE4MTI1IDEwLjg0MzggOS41NDM3NSAxMC40ODEzQzkuOTA2MjUgMTAuMTE4OCAxMC4zNSA5LjkzNzUgMTAuODc1IDkuOTM3NUMxMS40IDkuOTM3NSAxMS44NDM4IDEwLjExODggMTIuMjA2MyAxMC40ODEzQzEyLjU2ODggMTAuODQzOCAxMi43NSAxMS4yODc1IDEyLjc1IDExLjgxMjVDMTIuNzUgMTIuMzM3NSAxMi41Njg4IDEyLjc4MTIgMTIuMjA2MyAxMy4xNDM3QzExLjg0MzggMTMuNTA2MiAxMS40IDEzLjY4NzUgMTAuODc1IDEzLjY4NzVaTTMuNzUgMTYuNjg3NUMzLjMzNzUgMTYuNjg3NSAyLjk4NDUgMTYuNTQwOCAyLjY5MSAxNi4yNDcyQzIuMzk3NSAxNS45NTM3IDIuMjUwNSAxNS42MDA1IDIuMjUgMTUuMTg3NVY0LjY4NzVDMi4yNSA0LjI3NSAyLjM5NyAzLjkyMiAyLjY5MSAzLjYyODVDMi45ODUgMy4zMzUgMy4zMzggMy4xODggMy43NSAzLjE4NzVINC41VjEuNjg3NUg2VjMuMTg3NUgxMlYxLjY4NzVIMTMuNVYzLjE4NzVIMTQuMjVDMTQuNjYyNSAzLjE4NzUgMTUuMDE1OCAzLjMzNDUgMTUuMzA5OCAzLjYyODVDMTUuNjAzOCAzLjkyMjUgMTUuNzUwNSA0LjI3NTUgMTUuNzUgNC42ODc1VjE1LjE4NzVDMTUuNzUgMTUuNiAxNS42MDMzIDE1Ljk1MzIgMTUuMzA5OCAxNi4yNDcyQzE1LjAxNjMgMTYuNTQxMyAxNC42NjMgMTYuNjg4IDE0LjI1IDE2LjY4NzVIMy43NVpNMy43NSAxNS4xODc1SDE0LjI1VjcuNjg3NUgzLjc1VjE1LjE4NzVaXCJcbiAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiM2NjcwODVcIiAvPlxuICAgICAgICAgICAgICAgIDwvc3ZnPjxzcGFuIGNsYXNzPVwidGV4dC1uYW1lXCI+RGF0ZTo8L3NwYW4+IDxzcGFuIGNsYXNzPVwibmFtZS12YWxcIj57eyBjLmRhdGUgfX08L3NwYW4+PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1ldGEtc2VwXCI+PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1ldGEtaXRlbVwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIlxuICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cbiAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMTg0OV8xMzMwMilcIj5cbiAgICAgICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgICAgICBkPVwiTTkgNC41VjlMMTIgMTAuNU0xNi41IDlDMTYuNSAxMy4xNDIxIDEzLjE0MjEgMTYuNSA5IDE2LjVDNC44NTc4NiAxNi41IDEuNSAxMy4xNDIxIDEuNSA5QzEuNSA0Ljg1Nzg2IDQuODU3ODYgMS41IDkgMS41QzEzLjE0MjEgMS41IDE2LjUgNC44NTc4NiAxNi41IDlaXCJcbiAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XG4gICAgICAgICAgICAgICAgICA8L2c+XG4gICAgICAgICAgICAgICAgICA8ZGVmcz5cbiAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTg0OV8xMzMwMlwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIGZpbGw9XCJ3aGl0ZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XG4gICAgICAgICAgICAgICAgICA8L2RlZnM+XG4gICAgICAgICAgICAgICAgPC9zdmc+PHNwYW4gY2xhc3M9XCJ0ZXh0LW5hbWVcIj5UaW1lc3RhbXA6PC9zcGFuPiA8c3BhbiBjbGFzcz1cIm5hbWUtdmFsXCI+e3sgYy50aW1lIHwgZGF0ZTonaGg6bW0gYScgfX08L3NwYW4+PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1ldGEtc2VwXCI+PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1ldGEtaXRlbVwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIlxuICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cbiAgICAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgICAgIGQ9XCJNNi44NzUgMi4xNTI2N0M2Ljg3NSAxLjk2NDgxIDYuOTQ5NjMgMS43ODQ2NCA3LjA4MjQ3IDEuNjUxOEM3LjIxNTMxIDEuNTE4OTYgNy4zOTU0NyAxLjQ0NDM0IDcuNTgzMzMgMS40NDQzNEgxMC40MTY3QzEwLjYwNDUgMS40NDQzNCAxMC43ODQ3IDEuNTE4OTYgMTAuOTE3NSAxLjY1MThDMTEuMDUwNCAxLjc4NDY0IDExLjEyNSAxLjk2NDgxIDExLjEyNSAyLjE1MjY3QzExLjEyNSAyLjM0MDUzIDExLjA1MDQgMi41MjA3IDEwLjkxNzUgMi42NTM1NEMxMC43ODQ3IDIuNzg2MzcgMTAuNjA0NSAyLjg2MSAxMC40MTY3IDIuODYxSDkuNzA4MzNWMy44MDU0NUw5LjcwNzM5IDMuODQ0MTdDMTAuOTA0NyAzLjk3NTM2IDEyLjAzOTYgNC40NDU1MyAxMi45Nzg5IDUuMTk5NDVMMTIuOTg1NiA1LjE5Mzc4TDEzLjY5MzkgNC40ODU0NUMxMy43ODA1IDQuMzkyMjEgMTMuODkwNiA0LjMyNDA0IDE0LjAxMjcgNC4yODgxNEMxNC4xMzQ3IDQuMjUyMjQgMTQuMjY0MiA0LjI0OTkzIDE0LjM4NzUgNC4yODE0NEMxNC41MTA4IDQuMzEyOTYgMTQuNjIzMyA0LjM3NzE1IDE0LjcxMzEgNC40NjcyNEMxNC44MDMgNC41NTczMiAxNC44NjY5IDQuNjY5OTggMTQuODk4MSA0Ljc5MzMzQzE0LjkyOTUgNC45MTY0NyAxNC45MjczIDUuMDQ1ODEgMTQuODkxNSA1LjE2Nzc3QzE0Ljg1NTggNS4yODk3NCAxNC43ODc5IDUuMzk5ODUgMTQuNjk1IDUuNDg2NTZMMTMuOTg2NyA2LjE5NDg5TDEzLjk4MSA2LjIwMTVDMTQuNzMwMiA3LjEzOTQ0IDE1LjE5OTQgOC4yNjk4NSAxNS4zMzQ1IDkuNDYyNjZDMTUuNDY5NiAxMC42NTU1IDE1LjI2NTIgMTEuODYyMiAxNC43NDQ4IDEyLjk0MzlDMTQuMjI0NCAxNC4wMjU3IDEzLjQwOTEgMTQuOTM4NSAxMi4zOTI4IDE1LjU3NzRDMTEuMzc2NSAxNi4yMTYzIDEwLjIwMDQgMTYuNTU1MiA5IDE2LjU1NTJDNy43OTk1NyAxNi41NTUyIDYuNjIzNTMgMTYuMjE2MyA1LjYwNzIyIDE1LjU3NzRDNC41OTA5MSAxNC45Mzg1IDMuNzc1NjQgMTQuMDI1NyAzLjI1NTIyIDEyLjk0MzlDMi43MzQ4MSAxMS44NjIyIDIuNTMwNCAxMC42NTU1IDIuNjY1NTIgOS40NjI2NkMyLjgwMDY0IDguMjY5ODUgMy4yNjk4IDcuMTM5NDQgNC4wMTkgNi4yMDE1TDQuMDEzMzQgNi4xOTQ4OUwzLjMwNSA1LjQ4NjU2QzMuMTc5NzMgNS4zNTIzMSAzLjExMTQ4IDUuMTc0NjYgMy4xMTQ2NiA0Ljk5MTA3QzMuMTE3ODMgNC44MDc0NyAzLjE5MjE3IDQuNjMyMjkgMy4zMjIgNC41MDI0NUMzLjQ1MTg1IDQuMzcyNjEgMy42MjcwMyA0LjI5ODI3IDMuODEwNjIgNC4yOTUxQzMuOTk0MjIgNC4yOTE5MyA0LjE3MTg3IDQuMzYwMTcgNC4zMDYxMSA0LjQ4NTQ1TDUuMDE0NDUgNS4xOTM3OEw1LjAyMTA2IDUuMTk5NDVDNS45NjAxIDQuNDQ1NyA3LjA5NDcyIDMuOTc1NTQgOC4yOTE2NyAzLjg0NDE3VjIuODYxSDcuNTgzMzNDNy4zOTU0NyAyLjg2MSA3LjIxNTMxIDIuNzg2MzcgNy4wODI0NyAyLjY1MzU0QzYuOTQ5NjMgMi41MjA3IDYuODc1IDIuMzQwNTMgNi44NzUgMi4xNTI2N1pNOSAxNS4xMzg4QzEwLjMxNTIgMTUuMTM4NiAxMS41NzY0IDE0LjYxNjEgMTIuNTA2MyAxMy42ODZDMTMuNDM2MSAxMi43NTYgMTMuOTU4NSAxMS40OTQ3IDEzLjk1ODMgMTAuMTc5NUMxMy45NTgyIDguODY0MzQgMTMuNDM1NiA3LjYwMzEgMTIuNTA1NiA2LjY3MzIzQzExLjU3NTYgNS43NDMzNyAxMC4zMTQyIDUuMjIxMDQgOC45OTkwNiA1LjIyMTE3QzcuNjgzOSA1LjIyMTI5IDYuNDIyNjYgNS43NDM4NiA1LjQ5Mjc5IDYuNjczOUM0LjU2MjkyIDcuNjAzOTUgNC4wNDA2IDguODY1MjkgNC4wNDA3MiAxMC4xODA0QzQuMDQwODUgMTEuNDk1NiA0LjU2MzQxIDEyLjc1NjggNS40OTM0NiAxMy42ODY3QzYuNDIzNSAxNC42MTY2IDcuNjg0ODQgMTUuMTM4OSA5IDE1LjEzODhaTTkuMzY3MzkgOC44MTFMMTAuNjIzNSA3LjU1NDg5QzEwLjY4ODggNy40ODcyIDEwLjc2NjkgNy40MzMyMSAxMC44NTMzIDcuMzk2MDRDMTAuOTM5NyA3LjM1ODg4IDExLjAzMjcgNy4zMzkzIDExLjEyNjcgNy4zMzg0M0MxMS4yMjA4IDcuMzM3NTcgMTEuMzE0MSA3LjM1NTQ1IDExLjQwMTEgNy4zOTEwM0MxMS40ODgyIDcuNDI2NiAxMS41NjczIDcuNDc5MTYgMTEuNjMzOSA3LjU0NTYzQzExLjcwMDQgNy42MTIxMSAxMS43NTMgNy42OTExNyAxMS43ODg3IDcuNzc4MjFDMTEuODI0MyA3Ljg2NTI0IDExLjg0MjMgNy45NTg1IDExLjg0MTUgOC4wNTI1NkMxMS44NDA4IDguMTQ2NjEgMTEuODIxMyA4LjIzOTU3IDExLjc4NDIgOC4zMjZDMTEuNzQ3MSA4LjQxMjQ0IDExLjY5MzIgOC40OTA2MiAxMS42MjU2IDguNTU2TDEwLjM2OTQgOS44MTMwNUMxMC40MjUyIDEwLjAyMyAxMC40MzIxIDEwLjI0MyAxMC4zODk1IDEwLjQ1NjFDMTAuMzQ2OCAxMC42NjkyIDEwLjI1NTkgMTAuODY5NiAxMC4xMjM2IDExLjA0MTlDOS45OTEyNyAxMS4yMTQzIDkuODIxMTcgMTEuMzU0IDkuNjI2MzcgMTEuNDUwMkM5LjQzMTU3IDExLjU0NjUgOS4yMTcyOCAxMS41OTY3IDkgMTEuNTk3MUM4Ljc5OTQ5IDExLjU5NTQgOC42MDE2MyAxMS41NTExIDguNDE5NTMgMTEuNDY3MUM4LjIzNzQzIDExLjM4MzIgOC4wNzUyNCAxMS4yNjE1IDcuOTQzNjkgMTEuMTEwMkM3LjgxMjE1IDEwLjk1ODggNy43MTQyNiAxMC43ODEzIDcuNjU2NDkgMTAuNTg5M0M3LjU5ODczIDEwLjM5NzMgNy41ODI0MSAxMC4xOTUyIDcuNjA4NjMgOS45OTYzNkM3LjYzNDg0IDkuNzk3NTYgNy43MDI5OSA5LjYwNjYgNy44MDg1NSA5LjQzNjEyQzcuOTE0MTIgOS4yNjU2NCA4LjA1NDY5IDkuMTE5NTMgOC4yMjA5NyA5LjAwNzQ2QzguMzg3MjUgOC44OTUzOSA4LjU3NTQzIDguODE5OTMgOC43NzMwNyA4Ljc4NjA2QzguOTcwNzEgOC43NTIxOSA5LjE3MzI4IDguNzYwNjkgOS4zNjczOSA4LjgxMVpcIlxuICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzY2NzA4NVwiIC8+XG4gICAgICAgICAgICAgICAgPC9zdmc+PHNwYW4gY2xhc3M9XCJ0ZXh0LW5hbWVcIj4gRHVyYXRpb246PC9zcGFuPiA8c3BhbiBjbGFzcz1cIm5hbWUtdmFsXCI+e3sgZm9ybWF0RHVyYXRpb24oYy5kdXJhdGlvbikgfX08L3NwYW4+PC9zcGFuPlxuICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1ldGEtc2VwXCI+PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1ldGEtaXRlbVwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTggMThcIiBmaWxsPVwibm9uZVwiPlxuICA8cGF0aCBkPVwiTTkgMS41QzYuMjM4NTggMS41IDQgMy43Mzg1OCA0IDYuNUM0IDEwLjI1IDkgMTYuNSA5IDE2LjVDOSAxNi41IDE0IDEwLjI1IDE0IDYuNUMxNCAzLjczODU4IDExLjc2MTQgMS41IDkgMS41Wk05IDguNzVDNy43NTczNiA4Ljc1IDYuNzUgNy43NDI2NCA2Ljc1IDYuNUM2Ljc1IDUuMjU3MzYgNy43NTczNiA0LjI1IDkgNC4yNUMxMC4yNDI2IDQuMjUgMTEuMjUgNS4yNTczNiAxMS4yNSA2LjVDMTEuMjUgNy43NDI2NCAxMC4yNDI2IDguNzUgOSA4Ljc1WlwiIGZpbGw9XCIjNjY3MDg1XCIvPlxuPC9zdmc+PHNwYW4gY2xhc3M9XCJ0ZXh0LW5hbWVcIj4gTG9jYXRpb246PC9zcGFuPiA8c3BhbiBjbGFzcz1cIm5hbWUtdmFsIGxvY2F0aW9uLXRydW5jYXRlXCIgW3RpdGxlXT1cImMubG9jYXRpb25cIj57eyBjLmxvY2F0aW9uIH19PC9zcGFuPjwvc3Bhbj5cblxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udi1leGNlcnB0IG15LTJcIj57eyBjLmF1ZGlvRGVzY3JpcHRpb24gfX08L2Rpdj5cbiAgICAgICAgICAgIDxhICpuZ0lmPVwiYy5leWVUZXN0TGlua1wiIGNsYXNzPVwiZXllLXRlc3QtbGlua1wiIGhyZWY9XCIjXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICAgICAgICAgICAgICBWaWV3IEV5ZSBUZXN0IDxzcGFuPlxuICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxuICAgICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgICAgZD1cIk0xNSAxMC44MzMzVjE1LjgzMzNDMTUgMTYuMjc1NCAxNC44MjQ0IDE2LjY5OTMgMTQuNTExOCAxNy4wMTE4QzE0LjE5OTMgMTcuMzI0NCAxMy43NzU0IDE3LjUgMTMuMzMzMyAxNy41SDQuMTY2NjdDMy43MjQ2NCAxNy41IDMuMzAwNzIgMTcuMzI0NCAyLjk4ODE2IDE3LjAxMThDMi42NzU1OSAxNi42OTkzIDIuNSAxNi4yNzU0IDIuNSAxNS44MzMzVjYuNjY2NjdDMi41IDYuMjI0NjQgMi42NzU1OSA1LjgwMDcyIDIuOTg4MTYgNS40ODgxNkMzLjMwMDcyIDUuMTc1NTkgMy43MjQ2NCA1IDQuMTY2NjcgNUg5LjE2NjY3TTEyLjUgMi41SDE3LjVNMTcuNSAyLjVWNy41TTE3LjUgMi41TDguMzMzMzMgMTEuNjY2N1wiXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMwMDlCRjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cbiAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb252LXRvZ2dsZS1idG4gdGV4dC1ub3dyYXBcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyB0b2dnbGVDb252ZXJzYXRpb24oYy5hdWRpb0lkKVwiPlxuICAgICAgICAgICAgPHNwYW4+e3sgb3BlbklkID09PSBjLmF1ZGlvSWQgPyAnVmlldyBMZXNzJyA6ICdWaWV3IE1vcmUnIH19PC9zcGFuPlxuXG4gICAgICAgICAgICA8IS0tIGRvd24gYXJyb3cgd2hlbiBjbG9zZWQgLS0+XG4gICAgICAgICAgICA8c3ZnICpuZ0lmPVwib3BlbklkICE9PSBjLmF1ZGlvSWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCJcbiAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XG4gICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNS44MzIwMyAxMC44MzMzTDkuOTk4NyAxNUwxNC4xNjU0IDEwLjgzMzNNNS44MzIwMyA1TDkuOTk4NyA5LjE2NjY3TDE0LjE2NTQgNVwiIHN0cm9rZT1cIiM2NjcwODVcIlxuICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxuICAgICAgICAgICAgPC9zdmc+XG5cbiAgICAgICAgICAgIDwhLS0gdXAgYXJyb3cgd2hlbiBvcGVuIC0tPlxuICAgICAgICAgICAgPHN2ZyAqbmdJZj1cIm9wZW5JZCA9PT0gYy5hdWRpb0lkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiXG4gICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxuICAgICAgICAgICAgICA8cGF0aCBkPVwiTTUuODMyMDMgMTAuODMzM0w5Ljk5ODcgMTVMMTQuMTY1NCAxMC44MzMzTTUuODMyMDMgNUw5Ljk5ODcgOS4xNjY2N0wxNC4xNjU0IDVcIiBzdHJva2U9XCIjNjY3MDg1XCJcbiAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgdHJhbnNmb3JtPVwicm90YXRlKDE4MCAxMCAxMClcIiAvPlxuICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwhLS0gRXhwYW5kZWQgQm9keSAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnYtYm9keVwiICpuZ0lmPVwib3BlbklkID09PSBjLmF1ZGlvSWRcIj5cblxuICAgICAgICAgIDwhLS0gRGV0YWlsIExvYWRpbmcgc2hpbW1lciAtLT5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYy5fZGV0YWlsTG9hZGluZ1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBsb2FkZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIHB4LTQgcHktM1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgPCEtLSBObyBkYXRhIC8gZXJyb3IgYWZ0ZXIgbG9hZCAtLT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtbiBteS02XCJcbiAgICAgICAgICAgICpuZ0lmPVwiIWMuX2RldGFpbExvYWRpbmcgJiYgKGMuX2RldGFpbEVycm9yIHx8IChjLl9kZXRhaWxMb2FkZWQgJiYgIWMuY29udmVyc2F0aW9uRGV0YWlscz8uYXVkaW9TdW1tYXJ5ICYmIGMubWV0cmljcz8ubGVuZ3RoID09PSAwKSlcIj5cbiAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctbWFwXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvTm9kYXRhMS5zdmdcIiBhbHQ9XCJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGVcIj5ObyBkYXRhIGZvdW5kPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXN1YlwiPk5vIGRldGFpbHMgYXZhaWxhYmxlIGZvciB0aGlzIGNvbnZlcnNhdGlvbjwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnYtYm9keS1pbm5lclwiICpuZ0lmPVwiIWMuX2RldGFpbExvYWRpbmcgJiYgIWMuX2RldGFpbEVycm9yXCI+XG5cbiAgICAgICAgICAgIDwhLS0gTGVmdDogUmVjb3JkaW5nICsgU3VtbWFyeSArIEluc2lnaHRzIC0tPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnYtbGVmdFwiPlxuXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZWNvcmRpbmctYm94IG1iLTJcIiBbY2xhc3MuaXMtcGxheWluZy1ib3hdPVwicGxheWluZ0NvbnZJZCA9PT0gYy5hdWRpb0lkXCIgKm5nSWY9XCJjLmF1ZGlvVXJsXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlY29yZGluZy10aXRsZVwiPkNvbnZlcnNhdGlvbiBSZWNvcmRpbmc8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDwhLS0gV2F2ZWZvcm06IHBlci1jb252ZXJzYXRpb24gcGxheWluZyBzdGF0ZSAtLT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2F2ZWZvcm0tYmFyc1wiIFtjbGFzcy5pcy1wbGF5aW5nXT1cInBsYXlpbmdDb252SWQgPT09IGMuYXVkaW9JZFwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndmLWJhclwiICpuZ0Zvcj1cImxldCBoIG9mIHdhdmVmb3JtSGVpZ2h0czsgbGV0IGkgPSBpbmRleFwiIFtzdHlsZS5oZWlnaHQucHhdPVwiaFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy53Zi1iYXItLXBsYXllZF09XCIocGxheWJhY2tTdGF0ZXNbYy5hdWRpb0lkXT8ucHJvZ3Jlc3MgfHwgMCkgPiBpIC8gd2F2ZWZvcm1IZWlnaHRzLmxlbmd0aFwiPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8IS0tIFBsYXllciBjb250cm9scyAtLT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGxheWVyLXJvd1wiPlxuXG4gICAgICAgICAgICAgICAgICA8IS0tIFBsYXkgLyBQYXVzZSBidXR0b24gd2l0aCB3aGl0ZSBvdXRlciByaW5nIC0tPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBsYXktYnRuLXdyYXBcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInBsYXktYnRuLWNpcmNsZVwiIChjbGljayk9XCJ0b2dnbGVQbGF5KGMuYXVkaW9JZClcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8IS0tIFBsYXkgaWNvbiAtLT5cbiAgICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwicGxheWluZ0NvbnZJZCAhPT0gYy5hdWRpb0lkXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJ3aGl0ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk04IDV2MTRsMTEtN3pcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgIDwhLS0gUGF1c2UgaWNvbiAtLT5cbiAgICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwicGxheWluZ0NvbnZJZCA9PT0gYy5hdWRpb0lkXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJ3aGl0ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02IDE5aDRWNUg2djE0em04LTE0djE0aDRWNWgtNHpcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICA8IS0tIFByb2dyZXNzIGJhciArIHRpbWVzIC0tPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBsYXllci1wcm9ncmVzcyB3LTEwMFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwbGF5ZXItdGltZSBzdGFydC10aW1lXCI+e3sgcGxheWJhY2tTdGF0ZXNbYy5hdWRpb0lkXT8uY3VycmVudFRpbWUgfHwgJzA6MDAnIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicGxheWVyLXRpbWUgZW5kLXRpbWVcIj57eyBwbGF5YmFja1N0YXRlc1tjLmF1ZGlvSWRdPy50b3RhbFRpbWUgfHwgYy5kdXJhdGlvbiB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb2dyZXNzLXRyYWNrXCIgKGNsaWNrKT1cInNlZWtBdWRpbygkZXZlbnQsIGMuYXVkaW9JZClcIiBzdHlsZT1cImN1cnNvcjogcG9pbnRlcjtcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3MtZmlsbFwiIFtzdHlsZS53aWR0aC4lXT1cIihwbGF5YmFja1N0YXRlc1tjLmF1ZGlvSWRdPy5wcm9ncmVzcyB8fCAwKSAqIDEwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8YXVkaW8gW2lkXT1cIidhdWRpby0nICsgYy5hdWRpb0lkXCIgW3NyY109XCJjLmF1ZGlvVXJsXCJcbiAgICAgICAgICAgICAgICAgICAgcHJlbG9hZD1cIm1ldGFkYXRhXCJcbiAgICAgICAgICAgICAgICAgICAgKHRpbWV1cGRhdGUpPVwib25UaW1lVXBkYXRlKGF1ZGlvUGxheWVyLCBjLmF1ZGlvSWQpXCJcbiAgICAgICAgICAgICAgICAgICAgKGxvYWRlZG1ldGFkYXRhKT1cIm9uTG9hZGVkTWV0YWRhdGEoYXVkaW9QbGF5ZXIsIGMuYXVkaW9JZCwgYy5kdXJhdGlvbilcIlxuICAgICAgICAgICAgICAgICAgICAoZW5kZWQpPVwicGxheWluZ0NvbnZJZCA9IG51bGxcIiAjYXVkaW9QbGF5ZXI+XG4gICAgICAgICAgICAgICAgICA8L2F1ZGlvPlxuICAgICAgICAgICAgICAgICAgPCEtLSA8YXVkaW8gI2F1ZGlvUGxheWVyICh0aW1ldXBkYXRlKT1cIm9uVGltZVVwZGF0ZShhdWRpb1BsYXllcilcIlxuICAgICAgICAgICAgICAgICAgICAobG9hZGVkbWV0YWRhdGEpPVwib25Mb2FkZWRNZXRhZGF0YShhdWRpb1BsYXllcilcIj5cbiAgICAgICAgICAgICAgICAgIDwvYXVkaW8+IC0tPlxuXG4gICAgICAgICAgICAgICAgICA8IS0tIE11dGUgLyBVbm11dGUgYnV0dG9uIC0tPlxuICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm11dGUtYnRuXCIgKGNsaWNrKT1cInRvZ2dsZU11dGUoKVwiIFt0aXRsZV09XCJpc011dGVkID8gJ1VubXV0ZScgOiAnTXV0ZSdcIj5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSBWb2x1bWUgb24gLS0+XG4gICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCIhaXNNdXRlZFwiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwiY3VycmVudENvbG9yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMyA5djZoNGw1IDVWNEw3IDlIM3ptMTMuNSAzYzAtMS43Ny0xLjAyLTMuMjktMi41LTQuMDN2OC4wNWMxLjQ4LS43MyAyLjUtMi4yNSAyLjUtNC4wMnpNMTQgMy4yM3YyLjA2YzIuODkuODYgNSAzLjU0IDUgNi43MXMtMi4xMSA1Ljg1LTUgNi43MXYyLjA2YzQuMDEtLjkxIDctNC40OSA3LTguNzdzLTIuOTktNy44Ni03LTguNzd6XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgIDwhLS0gVm9sdW1lIG11dGVkIC0tPlxuICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwiaXNNdXRlZFwiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwiY3VycmVudENvbG9yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTYuNSAxMmMwLTEuNzctMS4wMi0zLjI5LTIuNS00LjAzdjIuMjFsMi40NSAyLjQ1Yy4wMy0uMi4wNS0uNDEuMDUtLjYzem0yLjUgMGMwIC45NC0uMiAxLjgyLS41NCAyLjY0bDEuNTEgMS41MUMyMC42MyAxNC45MSAyMSAxMy41IDIxIDEyYzAtNC4yOC0yLjk5LTcuODYtNy04Ljc3djIuMDZjMi44OS44NiA1IDMuNTQgNSA2Ljcxek00LjI3IDNMMyA0LjI3IDcuNzMgOUgzdjZoNGw1IDV2LTYuNzNsNC4yNSA0LjI1Yy0uNjcuNTItMS40Mi45My0yLjI1IDEuMTh2Mi4wNmMxLjM4LS4zMSAyLjYzLS45NSAzLjY5LTEuODFMMTkuNzMgMjEgMjEgMTkuNzNsLTktOUw0LjI3IDN6TTEyIDRMOS45MSA2LjA5IDEyIDguMThWNHpcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgIDwhLS0gVGFicyAtLT5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvcmRlci1sYXllciBtYi0yXCI+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udi10YWJzXCI+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiY29udi10YWJcIiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZVRhYltjLmF1ZGlvSWRdICE9PSAndHJhbnNjcmlwdCdcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyBzZXRUYWIoYy5hdWRpb0lkLCAnc3VtbWFyeScpXCI+U3VtbWFyeTwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImNvbnYtdGFiXCIgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVUYWJbYy5hdWRpb0lkXSA9PT0gJ3RyYW5zY3JpcHQnXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgc2V0VGFiKGMuYXVkaW9JZCwgJ3RyYW5zY3JpcHQnKVwiPlRyYW5zY3JpcHQ8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb252LWJvZHktdGV4dCBtdC0yXCI+XG4gICAgICAgICAgICAgICAgICA8cCAqbmdJZj1cImFjdGl2ZVRhYltjLmF1ZGlvSWRdICE9PSAndHJhbnNjcmlwdCdcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgYy5jb252ZXJzYXRpb25EZXRhaWxzLmF1ZGlvU3VtbWFyeSB9fVxuICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgPHAgKm5nSWY9XCJhY3RpdmVUYWJbYy5hdWRpb0lkXSA9PT0gJ3RyYW5zY3JpcHQnXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGMuY29udmVyc2F0aW9uRGV0YWlscy50cmFuc2NyaXB0aW9uIH19XG4gICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgIDwhLS0gQUkgSW5zaWdodHMgLS0+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhaS1pbnNpZ2h0cy1ib3hcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWktaW5zaWdodHMtaGVhZGVyXCI+XG4gICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjM2XCIgaGVpZ2h0PVwiMzdcIiB2aWV3Qm94PVwiMCAwIDM2IDM3XCIgZmlsbD1cIm5vbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hc2sgaWQ9XCJwYXRoLTEtaW5zaWRlLTFfMTg0OV8xMzM4NFwiIGZpbGw9XCJ3aGl0ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTI5LjUxNTEgMjkuMzIyN0wyOC42MTU2IDI4LjQyMzJMMTguOTI0NCAxOC43MzJMMjEuNzk5MyAxNS44NTcxTDIyLjQ4ODIgMTUuMTY3QzIyLjU1MzkgMTUuMTAwMyAyMi41OTA5IDE1LjAxMDYgMjIuNTkxNCAxNC45MTdDMjIuNTkxMiAxNC44NzA3IDIyLjU4MTggMTQuODI0OSAyMi41NjM5IDE0Ljc4MjJDMjIuNTQ1OSAxNC43Mzk2IDIyLjUxOTcgMTQuNzAwOSAyMi40ODY4IDE0LjY2ODNMMjEuNzk2NiAxMy45NzgxTDE4Ljc0NzggMTAuOTIzOUwxOC4wNTc2IDEwLjIzMzdDMTguMDI1IDEwLjIwMDUgMTcuOTg2MSAxMC4xNzQyIDE3Ljk0MzIgMTAuMTU2MkMxNy45MDAyIDEwLjEzODIgMTcuODU0MiAxMC4xMjg5IDE3LjgwNzYgMTAuMTI4OUMxNy43NjExIDEwLjEyODkgMTcuNzE1IDEwLjEzODIgMTcuNjcyMSAxMC4xNTYyQzE3LjYyOTIgMTAuMTc0MiAxNy41OTAzIDEwLjIwMDUgMTcuNTU3NiAxMC4yMzM3TDE2Ljg2NzQgMTAuOTI1M0wxMy4xMzEyIDE0LjY2MTVDMTMuMDk4IDE0LjY5NCAxMy4wNzE3IDE0LjczMjggMTMuMDUzNyAxNC43NzU2QzEzLjAzNTcgMTQuODE4NSAxMy4wMjY1IDE0Ljg2NDQgMTMuMDI2NSAxNC45MTA4QzEzLjAyNjUgMTQuOTU3MyAxMy4wMzU3IDE1LjAwMzIgMTMuMDUzNyAxNS4wNDYxQzEzLjA3MTcgMTUuMDg4OSAxMy4wOTggMTUuMTI3NyAxMy4xMzEyIDE1LjE2MDJMMTYuNzAwMyAxOC43MzA3TDcuMDA3NzcgMjguNDIzMkw2LjExMjQzIDI5LjMyMjdDNi4wNDYwNCAyOS4zODg0IDYuMDA4NDIgMjkuNDc3OCA2LjAwNzgxIDI5LjU3MTNDNi4wMDgyIDI5LjY2MTYgNi4wNDI2NSAyOS43NDg1IDYuMTA0MjggMjkuODE0NUM2LjEzNzE4IDI5Ljg0OTYgNi4xNzY5NSAyOS44Nzc3IDYuMjIxMTEgMjkuODk2OEM2LjI2NTI4IDI5LjkxNiA2LjMxMjkxIDI5LjkyNTkgNi4zNjEwNiAyOS45MjU5SDE1LjA3OTVDMTUuMTczIDI5LjkyNTUgMTUuMjYyNyAyOS44ODgyIDE1LjMyODkgMjkuODIyQzE1LjM5NSAyOS43NTU5IDE1LjQzMjQgMjkuNjY2MiAxNS40MzI3IDI5LjU3MjZWMjguNzA1OEMxNS40MzI3IDI4LjYxMiAxNS4zOTU1IDI4LjUyMiAxNS4zMjkzIDI4LjQ1NTZDMTUuMjYzMSAyOC4zODkxIDE1LjE3MzMgMjguMzUxNiAxNS4wNzk1IDI4LjM1MTJIOS4zMDUyNEwxNy44MTE3IDE5Ljg0NDhMMjYuMzE4MiAyOC4zNTEySDIwLjQ5MzdDMjAuMzk5OSAyOC4zNTE2IDIwLjMxIDI4LjM4OTEgMjAuMjQzOCAyOC40NTU2QzIwLjE3NzYgMjguNTIyIDIwLjE0MDQgMjguNjEyIDIwLjE0MDQgMjguNzA1OFYyOS41NzI2QzIwLjE0MDIgMjkuNjE5MiAyMC4xNDk0IDI5LjY2NTMgMjAuMTY3NCAyOS43MDgzQzIwLjE4NTMgMjkuNzUxMiAyMC4yMTE4IDI5Ljc5MDEgMjAuMjQ1IDI5LjgyMjZDMjAuMzExIDI5Ljg4ODUgMjAuNDAwNCAyOS45MjU2IDIwLjQ5MzcgMjkuOTI1OUgyOS4yNjUxQzI5LjMxMzQgMjkuOTI2MSAyOS4zNjEzIDI5LjkxNjMgMjkuNDA1NyAyOS44OTcxQzI5LjQ1MDIgMjkuODc3OSAyOS40OTAxIDI5Ljg0OTggMjkuNTIzMiAyOS44MTQ1QzI5LjU4NjcgMjkuNzQ3OCAyOS42MjE0IDI5LjY1ODkgMjkuNjE5OSAyOS41NjY5QzI5LjYxODQgMjkuNDc0OSAyOS41ODA3IDI5LjM4NzIgMjkuNTE1MSAyOS4zMjI3Wk0xNy44MDYzIDEyLjIxMDVMMjAuNTE0IDE0LjkxODNMMTcuODEzMSAxNy42MTkzTDE1LjEwNTMgMTQuOTExNUwxNy44MDYzIDEyLjIxMDVaXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXNrPlxuICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjkuNTE1MSAyOS4zMjI3TC0xOC4xMTM5IDc2Ljk1MTZMLTE3LjkwMjQgNzcuMTYzMUwtMTcuNjg5MSA3Ny4zNzI3TDI5LjUxNTEgMjkuMzIyN1pNMjguNjE1NiAyOC40MjMyTDc2LjI0NDYgLTE5LjIwNTdWLTE5LjIwNTdMMjguNjE1NiAyOC40MjMyWk0xOC45MjQ0IDE4LjczMkwtMjguNzA0NSAtMjguODk2OUwtNzYuMzMzNSAxOC43MzJMLTI4LjcwNDYgNjYuMzYxTDE4LjkyNDQgMTguNzMyWk0yMS43OTkzIDE1Ljg1NzFMNjkuNDI4MyA2My40ODYxTDY5LjQ1MTggNjMuNDYyNkw2OS40NzUzIDYzLjQzOTFMMjEuNzk5MyAxNS44NTcxWk0yMi40ODgyIDE1LjE2N0w3MC4xNjQxIDYyLjc0ODlMNzAuMzA5NSA2Mi42MDMyTDcwLjQ1NCA2Mi40NTY2TDIyLjQ4ODIgMTUuMTY3Wk0yMi41OTE0IDE0LjkxN0w4OS45NDgxIDE1LjI2MDVMODkuOTQ5OCAxNC45MjI2TDg5Ljk0ODEgMTQuNTg0OEwyMi41OTE0IDE0LjkxN1pNMjIuNDg2OCAxNC42NjgzTC0yNS4xNDIyIDYyLjI5NzNMLTI0Ljk5MzkgNjIuNDQ1NkwtMjQuODQ0NyA2Mi41OTI5TDIyLjQ4NjggMTQuNjY4M1pNMjEuNzk2NiAxMy45NzgxTC0yNS44NzQ4IDYxLjU2NDdMLTI1Ljg1MzYgNjEuNTg1OUwtMjUuODMyNCA2MS42MDcxTDIxLjc5NjYgMTMuOTc4MVpNMTguNzQ3OCAxMC45MjM5TDY2LjQxOTIgLTM2LjY2MjZMNjYuMzk4IC0zNi42ODM5TDY2LjM3NjggLTM2LjcwNTFMMTguNzQ3OCAxMC45MjM5Wk0xOC4wNTc2IDEwLjIzMzdMLTI5Ljk4MDMgNTcuNDUwMkwtMjkuNzc2NyA1Ny42NTc0TC0yOS41NzEzIDU3Ljg2MjdMMTguMDU3NiAxMC4yMzM3Wk0xNy41NTc2IDEwLjIzMzdMNjUuMjMzNCA1Ny44MTU5TDY1LjQxNTIgNTcuNjMzN0w2NS41OTU2IDU3LjQ1MDJMMTcuNTU3NiAxMC4yMzM3Wk0xNi44Njc0IDEwLjkyNTNMNjQuNDk2NCA1OC41NTQyTDY0LjUxOTggNTguNTMwOEw2NC41NDMyIDU4LjUwNzRMMTYuODY3NCAxMC45MjUzWk0xMy4xMzEyIDE0LjY2MTVMNjAuMjkwNyA2Mi43NTU0TDYwLjUyNjYgNjIuNTI0MUw2MC43NjAyIDYyLjI5MDVMMTMuMTMxMiAxNC42NjE1Wk0xMy4wMjY1IDE0LjkxMDhIODAuMzg0SDEzLjAyNjVaTTEzLjEzMTIgMTUuMTYwMkw2MC43NjkyIC0zMi40NTk3TDYwLjUzMTIgLTMyLjY5NzlMNjAuMjkwNyAtMzIuOTMzN0wxMy4xMzEyIDE1LjE2MDJaTTE2LjcwMDMgMTguNzMwN0w2NC4zMjkzIDY2LjM1OTZMMTExLjk0OSAxOC43Mzk3TDY0LjMzODQgLTI4Ljg4OTJMMTYuNzAwMyAxOC43MzA3Wk03LjAwNzc3IDI4LjQyMzJMLTQwLjYyMTIgLTE5LjIwNTdMLTQwLjY3NTMgLTE5LjE1MTdMLTQwLjcyOTIgLTE5LjA5NzVMNy4wMDc3NyAyOC40MjMyWk02LjExMjQzIDI5LjMyMjdMNTMuNTIwMyA3Ny4xNzE3TDUzLjY4NTUgNzcuMDA4MUw1My44NDk0IDc2Ljg0MzRMNi4xMTI0MyAyOS4zMjI3Wk02LjAwNzgxIDI5LjU3MTNMLTYxLjM0ODMgMjkuMTMxNkwtNjEuMzUwNyAyOS40OTZMLTYxLjM0OTEgMjkuODYwNEw2LjAwNzgxIDI5LjU3MTNaTTYuMTA0MjggMjkuODE0NUwtNDMuMTM3NiA3NS43NzRMLTQzLjEwMzcgNzUuODEwM0wtNDMuMDY5OSA3NS44NDY1TDYuMTA0MjggMjkuODE0NVpNNi4zNjEwNiAyOS45MjU5TDYuMzM5NzMgOTcuMjgzNEw2LjM1MDQgOTcuMjgzNEg2LjM2MTA2VjI5LjkyNTlaTTE1LjA3OTUgMjkuOTI1OVY5Ny4yODM0SDE1LjIwODNMMTUuMzM3MSA5Ny4yODNMMTUuMDc5NSAyOS45MjU5Wk0xNS40MzI3IDI5LjU3MjZMODIuNzg5OCAyOS44MzAyTDgyLjc5MDMgMjkuNzAxNFYyOS41NzI2SDE1LjQzMjdaTTE1LjQzMjcgMjguNzA1OEwtNTEuOTI0OCAyOC43MDUzVjI4LjcwNThIMTUuNDMyN1pNMTUuMDc5NSAyOC4zNTEyTDE1LjMzNzUgLTM5LjAwNThMMTUuMjA4NSAtMzkuMDA2M0gxNS4wNzk1VjI4LjM1MTJaTTkuMzA1MjQgMjguMzUxMkwtMzguMzIzNyAtMTkuMjc3OEwtMTUzLjMxIDk1LjcwODhIOS4zMDUyNFYyOC4zNTEyWk0xNy44MTE3IDE5Ljg0NDhMNjUuNDQwNyAtMjcuNzg0MkwxNy44MTE3IC03NS40MTMyTC0yOS44MTczIC0yNy43ODQyTDE3LjgxMTcgMTkuODQ0OFpNMjYuMzE4MiAyOC4zNTEyVjk1LjcwODhIMTg4LjkzNEw3My45NDcyIC0xOS4yNzc4TDI2LjMxODIgMjguMzUxMlpNMjAuNDkzNyAyOC4zNTEyVi0zOS4wMDYzSDIwLjM2NDZMMjAuMjM1NiAtMzkuMDA1OEwyMC40OTM3IDI4LjM1MTJaTTIwLjE0MDQgMjguNzA1OEg4Ny40OThWMjguNzA1M0wyMC4xNDA0IDI4LjcwNThaTTIwLjE0MDQgMjkuNTcyNkw4Ny40OTc1IDI5LjgzMUw4Ny40OTggMjkuNzAxOFYyOS41NzI2SDIwLjE0MDRaTTIwLjI0NSAyOS44MjI2TDY3LjgzNDggLTE3Ljg0NTVMNjcuNTg5NyAtMTguMDkwMkw2Ny4zNDIyIC0xOC4zMzIzTDIwLjI0NSAyOS44MjI2Wk0yMC40OTM3IDI5LjkyNTlMMjAuMzEzMyA5Ny4yODMyTDIwLjQwMzUgOTcuMjgzNEgyMC40OTM3VjI5LjkyNTlaTTI5LjI2NTEgMjkuOTI1OUwyOS41MDM0IC0zNy40MzEyTDI5LjM4NDIgLTM3LjQzMTdIMjkuMjY1MVYyOS45MjU5Wk0yOS41MjMyIDI5LjgxNDVMLTE5LjI0NzQgLTE2LjY0NDlMLTE5LjQ1MDMgLTE2LjQzMTlMLTE5LjY1MTMgLTE2LjIxNzFMMjkuNTIzMiAyOS44MTQ1Wk0xNy44MDYzIDEyLjIxMDVMNjUuNDM1MyAtMzUuNDE4NEwxNy44MDYzIC04My4wNDc0TC0yOS44MjI3IC0zNS40MTg0TDE3LjgwNjMgMTIuMjEwNVpNMjAuNTE0IDE0LjkxODNMNjguMTQzIDYyLjU0NzNMMTE1Ljc3MiAxNC45MTgzTDY4LjE0MyAtMzIuNzEwN0wyMC41MTQgMTQuOTE4M1pNMTcuODEzMSAxNy42MTkzTC0yOS44MTU5IDY1LjI0ODNMMTcuODEzIDExMi44NzdMNjUuNDQyIDY1LjI0ODNMMTcuODEzMSAxNy42MTkzWk0xNS4xMDUzIDE0LjkxMTVMLTMyLjUyMzcgLTMyLjcxNzRMLTgwLjE1MjcgMTQuOTExNUwtMzIuNTIzNyA2Mi41NDA1TDE1LjEwNTMgMTQuOTExNVpNMjkuNTE1MSAyOS4zMjI3TDc3LjE0NCAtMTguMzA2M0w3Ni4yNDQ2IC0xOS4yMDU3TDI4LjYxNTYgMjguNDIzMkwtMTkuMDEzMyA3Ni4wNTIyTC0xOC4xMTM5IDc2Ljk1MTZMMjkuNTE1MSAyOS4zMjI3Wk0yOC42MTU2IDI4LjQyMzJMNzYuMjQ0NiAtMTkuMjA1N0w2Ni41NTM0IC0yOC44OTY5TDE4LjkyNDQgMTguNzMyTC0yOC43MDQ2IDY2LjM2MUwtMTkuMDEzMyA3Ni4wNTIyTDI4LjYxNTYgMjguNDIzMlpNMTguOTI0NCAxOC43MzJMNjYuNTUzNCA2Ni4zNjFMNjkuNDI4MyA2My40ODYxTDIxLjc5OTMgMTUuODU3MUwtMjUuODI5NyAtMzEuNzcxOEwtMjguNzA0NSAtMjguODk2OUwxOC45MjQ0IDE4LjczMlpNMjEuNzk5MyAxNS44NTcxTDY5LjQ3NTMgNjMuNDM5MUw3MC4xNjQxIDYyLjc0ODlMMjIuNDg4MiAxNS4xNjdMLTI1LjE4NzggLTMyLjQxNUwtMjUuODc2NiAtMzEuNzI0OEwyMS43OTkzIDE1Ljg1NzFaTTIyLjQ4ODIgMTUuMTY3TDcwLjQ1NCA2Mi40NTY2QzgyLjg2MjIgNDkuODcxMSA4OS44NTc5IDMyLjkzMzQgODkuOTQ4MSAxNS4yNjA1TDIyLjU5MTQgMTQuOTE3TC00NC43NjUzIDE0LjU3MzRDLTQ0LjY3NjEgLTIuOTEyMjEgLTM3Ljc1NDQgLTE5LjY3MDUgLTI1LjQ3NzcgLTMyLjEyMjdMMjIuNDg4MiAxNS4xNjdaTTIyLjU5MTQgMTQuOTE3TDg5Ljk0ODEgMTQuNTg0OEM4OS45MDQyIDUuNjc5NTMgODguMTA0IC0zLjEzMDc1IDg0LjY0OTQgLTExLjM0MTJMMjIuNTYzOSAxNC43ODIyTC0zOS41MjE2IDQwLjkwNTZDLTQyLjk0MDQgMzIuNzgwNSAtNDQuNzIxOSAyNC4wNjE4IC00NC43NjUzIDE1LjI0OTJMMjIuNTkxNCAxNC45MTdaTTIyLjU2MzkgMTQuNzgyMkw4NC42NDk0IC0xMS4zNDEyQzgxLjE5NTIgLTE5LjU1MDQgNzYuMTU1NCAtMjYuOTk3NiA2OS44MTgzIC0zMy4yNTYzTDIyLjQ4NjggMTQuNjY4M0wtMjQuODQ0NyA2Mi41OTI5Qy0zMS4xMTU5IDU2LjM5OTQgLTM2LjEwMzQgNDkuMDI5NSAtMzkuNTIxNiA0MC45MDU2TDIyLjU2MzkgMTQuNzgyMlpNMjIuNDg2OCAxNC42NjgzTDcwLjExNTggLTMyLjk2MDZMNjkuNDI1NiAtMzMuNjUwOEwyMS43OTY2IDEzLjk3ODFMLTI1LjgzMjQgNjEuNjA3MUwtMjUuMTQyMiA2Mi4yOTczTDIyLjQ4NjggMTQuNjY4M1pNMjEuNzk2NiAxMy45NzgxTDY5LjQ2OCAtMzMuNjA4NEw2Ni40MTkyIC0zNi42NjI2TDE4Ljc0NzggMTAuOTIzOUwtMjguOTIzNiA1OC41MTA1TC0yNS44NzQ4IDYxLjU2NDdMMjEuNzk2NiAxMy45NzgxWk0xOC43NDc4IDEwLjkyMzlMNjYuMzc2OCAtMzYuNzA1MUw2NS42ODY2IC0zNy4zOTUzTDE4LjA1NzYgMTAuMjMzN0wtMjkuNTcxMyA1Ny44NjI3TC0yOC44ODExIDU4LjU1MjlMMTguNzQ3OCAxMC45MjM5Wk0xOC4wNTc2IDEwLjIzMzdMNjYuMDk1NiAtMzYuOTgyOEM1OS43OTQ1IC00My4zOTM0IDUyLjI3OTMgLTQ4LjQ4NiA0My45ODc5IC01MS45NjI0TDE3Ljk0MzIgMTAuMTU2MkwtOC4xMDE1NSA3Mi4yNzQ3Qy0xNi4zMDcyIDY4LjgzNDMgLTIzLjc0NDUgNjMuNzk0NSAtMjkuOTgwMyA1Ny40NTAyTDE4LjA1NzYgMTAuMjMzN1pNMTcuOTQzMiAxMC4xNTYyTDQzLjk4NzkgLTUxLjk2MjRDMzUuNjk3IC01NS40Mzg1IDI2Ljc5NzIgLTU3LjIyODYgMTcuODA3NiAtNTcuMjI4NlYxMC4xMjg5Vjc3LjQ4NjVDOC45MTExNSA3Ny40ODY1IDAuMTAzNDU2IDc1LjcxNDkgLTguMTAxNTUgNzIuMjc0N0wxNy45NDMyIDEwLjE1NjJaTTE3LjgwNzYgMTAuMTI4OVYtNTcuMjI4NkM4LjgxNzg2IC01Ny4yMjg2IC0wLjA4MTk2NTkgLTU1LjQzODQgLTguMzcyNjIgLTUxLjk2MjRMMTcuNjcyMSAxMC4xNTYyTDQzLjcxNjggNzIuMjc0N0MzNS41MTIgNzUuNzE0OCAyNi43MDQzIDc3LjQ4NjUgMTcuODA3NiA3Ny40ODY1VjEwLjEyODlaTTE3LjY3MjEgMTAuMTU2MkwtOC4zNzI2MiAtNTEuOTYyNEMtMTYuNjYzNSAtNDguNDg2MiAtMjQuMTc4OCAtNDMuMzkzOCAtMzAuNDgwMyAtMzYuOTgyOEwxNy41NTc2IDEwLjIzMzdMNjUuNTk1NiA1Ny40NTAyQzU5LjM1OTQgNjMuNzk0OSA1MS45MjE5IDY4LjgzNDUgNDMuNzE2OCA3Mi4yNzQ3TDE3LjY3MjEgMTAuMTU2MlpNMTcuNTU3NiAxMC4yMzM3TC0zMC4xMTgxIC0zNy4zNDg0TC0zMC44MDgzIC0zNi42NTY5TDE2Ljg2NzQgMTAuOTI1M0w2NC41NDMyIDU4LjUwNzRMNjUuMjMzNCA1Ny44MTU5TDE3LjU1NzYgMTAuMjMzN1pNMTYuODY3NCAxMC45MjUzTC0zMC43NjE1IC0zNi43MDM3TC0zNC40OTc4IC0zMi45Njc0TDEzLjEzMTIgMTQuNjYxNUw2MC43NjAyIDYyLjI5MDVMNjQuNDk2NCA1OC41NTQyTDE2Ljg2NzQgMTAuOTI1M1pNMTMuMTMxMiAxNC42NjE1TC0zNC4wMjg0IC0zMy40MzIzQy00MC40NTY2IC0yNy4xMjkgLTQ1LjU2MzIgLTE5LjYwNjggLTQ5LjA0OTQgLTExLjMwNThMMTMuMDUzNyAxNC43NzU2TDc1LjE1NjggNDAuODU3MUM3MS43MDY2IDQ5LjA3MjUgNjYuNjUyNiA1Ni41MTcxIDYwLjI5MDcgNjIuNzU1NEwxMy4xMzEyIDE0LjY2MTVaTTEzLjA1MzcgMTQuNzc1NkwtNDkuMDQ5NCAtMTEuMzA1OEMtNTIuNTM1MSAtMy4wMDU4NCAtNTQuMzMxMSA1LjkwNjgyIC01NC4zMzExIDE0LjkxMDhIMTMuMDI2NUg4MC4zODRDODAuMzg0IDIzLjgyMiA3OC42MDY2IDMyLjY0MjcgNzUuMTU2OCA0MC44NTcxTDEzLjA1MzcgMTQuNzc1NlpNMTMuMDI2NSAxNC45MTA4SC01NC4zMzExQy01NC4zMzExIDIzLjkxNDggLTUyLjUzNTIgMzIuODI3NCAtNDkuMDQ5NCA0MS4xMjc1TDEzLjA1MzcgMTUuMDQ2MUw3NS4xNTY4IC0xMS4wMzU0Qzc4LjYwNjcgLTIuODIwOTYgODAuMzg0IDUuOTk5NzggODAuMzg0IDE0LjkxMDhIMTMuMDI2NVpNMTMuMDUzNyAxNS4wNDYxTC00OS4wNDk0IDQxLjEyNzVDLTQ1LjU2MzEgNDkuNDI4OCAtNDAuNDU2NCA1Ni45NTA5IC0zNC4wMjg0IDYzLjI1NEwxMy4xMzEyIDE1LjE2MDJMNjAuMjkwNyAtMzIuOTMzN0M2Ni42NTI0IC0yNi42OTU2IDcxLjcwNjUgLTE5LjI1MTEgNzUuMTU2OCAtMTEuMDM1NEwxMy4wNTM3IDE1LjA0NjFaTTEzLjEzMTIgMTUuMTYwMkwtMzQuNTA2OSA2Mi43ODAxTC0zMC45Mzc3IDY2LjM1MDZMMTYuNzAwMyAxOC43MzA3TDY0LjMzODQgLTI4Ljg4OTJMNjAuNzY5MiAtMzIuNDU5N0wxMy4xMzEyIDE1LjE2MDJaTTE2LjcwMDMgMTguNzMwN0wtMzAuOTI4NyAtMjguODk4M0wtNDAuNjIxMiAtMTkuMjA1N0w3LjAwNzc3IDI4LjQyMzJMNTQuNjM2OCA3Ni4wNTIyTDY0LjMyOTMgNjYuMzU5NkwxNi43MDAzIDE4LjczMDdaTTcuMDA3NzcgMjguNDIzMkwtNDAuNzI5MiAtMTkuMDk3NUwtNDEuNjI0NiAtMTguMTk4MUw2LjExMjQzIDI5LjMyMjdMNTMuODQ5NCA3Ni44NDM0TDU0Ljc0NDggNzUuOTQ0TDcuMDA3NzcgMjguNDIzMlpNNi4xMTI0MyAyOS4zMjI3TC00MS4yOTU1IC0xOC41MjY0Qy01NC4wMjA4IC01LjkxODM4IC02MS4yMzE0IDExLjIxODUgLTYxLjM0ODMgMjkuMTMxNkw2LjAwNzgxIDI5LjU3MTNMNzMuMzYzOSAzMC4wMTFDNzMuMjQ4MiA0Ny43MzcyIDY2LjExMjkgNjQuNjk1MiA1My41MjAzIDc3LjE3MTdMNi4xMTI0MyAyOS4zMjI3Wk02LjAwNzgxIDI5LjU3MTNMLTYxLjM0OTEgMjkuODYwNEMtNjEuMjc1OSA0Ni45MTIzIC01NC43NzIxIDYzLjMwODYgLTQzLjEzNzYgNzUuNzc0TDYuMTA0MjggMjkuODE0NUw1NS4zNDYxIC0xNi4xNDUxQzY2Ljg1NzQgLTMuODExNjYgNzMuMjkyMyAxMi40MTA5IDczLjM2NDcgMjkuMjgyMkw2LjAwNzgxIDI5LjU3MTNaTTYuMTA0MjggMjkuODE0NUwtNDMuMDY5OSA3NS44NDY1Qy0zNi43MzkzIDgyLjYwOTEgLTI5LjA4NzkgODguMDAxNSAtMjAuNTg4MyA5MS42ODkyTDYuMjIxMTEgMjkuODk2OEwzMy4wMzA1IC0zMS44OTU1QzQxLjQ0MTcgLTI4LjI0NjIgNDkuMDEzNyAtMjIuOTA5OSA1NS4yNzg0IC0xNi4yMTc1TDYuMTA0MjggMjkuODE0NVpNNi4yMjExMSAyOS44OTY4TC0yMC41ODgzIDkxLjY4OTJDLTEyLjA5MDUgOTUuMzc2MSAtMi45MjU1MSA5Ny4yODA1IDYuMzM5NzMgOTcuMjgzNEw2LjM2MTA2IDI5LjkyNTlMNi4zODIzOSAtMzcuNDMxN0MxNS41NTEzIC0zNy40Mjg3IDI0LjYyMSAtMzUuNTQ0MSAzMy4wMzA1IC0zMS44OTU1TDYuMjIxMTEgMjkuODk2OFpNNi4zNjEwNiAyOS45MjU5Vjk3LjI4MzRIMTUuMDc5NVYyOS45MjU5Vi0zNy40MzE3SDYuMzYxMDZWMjkuOTI1OVpNMTUuMDc5NSAyOS45MjU5TDE1LjMzNzEgOTcuMjgzQzMzLjIwNTkgOTcuMjE0NiA1MC4zMjMgOTAuMDg1OSA2Mi45NTc4IDc3LjQ1MUwxNS4zMjg5IDI5LjgyMkwtMzIuMzAwMSAtMTcuODA2OUMtMTkuNzk3NiAtMzAuMzA5NSAtMi44NTk3NyAtMzcuMzYzNSAxNC44MjE5IC0zNy40MzEyTDE1LjA3OTUgMjkuOTI1OVpNMTUuMzI4OSAyOS44MjJMNjIuOTU3OCA3Ny40NTFDNzUuNTkzOCA2NC44MTUgODIuNzIxNSA0Ny42OTc1IDgyLjc4OTggMjkuODMwMkwxNS40MzI3IDI5LjU3MjZMLTUxLjkyNDMgMjkuMzE1MUMtNTEuODU2NyAxMS42MzUgLTQ0LjgwMzcgLTUuMzAzMzIgLTMyLjMwMDEgLTE3LjgwNjlMMTUuMzI4OSAyOS44MjJaTTE1LjQzMjcgMjkuNTcyNkg4Mi43OTAzVjI4LjcwNThIMTUuNDMyN0gtNTEuOTI0OFYyOS41NzI2SDE1LjQzMjdaTTE1LjQzMjcgMjguNzA1OEw4Mi43OTAzIDI4LjcwNjNDODIuNzkwNCAxMC43OTI3IDc1LjY5MiAtNi4zOTA5MyA2My4wNDk3IC0xOS4wODE5TDE1LjMyOTMgMjguNDU1NkwtMzIuMzkxIDc1Ljk5M0MtNDQuOTAwOSA2My40MzUgLTUxLjkyNSA0Ni40MzE0IC01MS45MjQ4IDI4LjcwNTNMMTUuNDMyNyAyOC43MDU4Wk0xNS4zMjkzIDI4LjQ1NTZMNjMuMDQ5NyAtMTkuMDgxOUM1MC40MDggLTMxLjc3MjEgMzMuMjUyMSAtMzguOTM3MiAxNS4zMzc1IC0zOS4wMDU4TDE1LjA3OTUgMjguMzUxMkwxNC44MjE0IDk1LjcwODNDLTIuOTA1NTUgOTUuNjQwNCAtMTkuODgxOCA4OC41NTAzIC0zMi4zOTEgNzUuOTkzTDE1LjMyOTMgMjguNDU1NlpNMTUuMDc5NSAyOC4zNTEyVi0zOS4wMDYzSDkuMzA1MjRWMjguMzUxMlY5NS43MDg4SDE1LjA3OTVWMjguMzUxMlpNOS4zMDUyNCAyOC4zNTEyTDU2LjkzNDIgNzUuOTgwMkw2NS40NDA3IDY3LjQ3MzdMMTcuODExNyAxOS44NDQ4TC0yOS44MTczIC0yNy43ODQyTC0zOC4zMjM3IC0xOS4yNzc4TDkuMzA1MjQgMjguMzUxMlpNMTcuODExNyAxOS44NDQ4TC0yOS44MTczIDY3LjQ3MzdMLTIxLjMxMDggNzUuOTgwMkwyNi4zMTgyIDI4LjM1MTJMNzMuOTQ3MiAtMTkuMjc3OEw2NS40NDA3IC0yNy43ODQyTDE3LjgxMTcgMTkuODQ0OFpNMjYuMzE4MiAyOC4zNTEyVi0zOS4wMDYzSDIwLjQ5MzdWMjguMzUxMlY5NS43MDg4SDI2LjMxODJWMjguMzUxMlpNMjAuNDkzNyAyOC4zNTEyTDIwLjIzNTYgLTM5LjAwNThDMi4zMjEyNCAtMzguOTM3MiAtMTQuODM0OCAtMzEuNzcyMyAtMjcuNDc2NSAtMTkuMDgxOUwyMC4yNDM4IDI4LjQ1NTZMNjcuOTY0MSA3NS45OTNDNTUuNDU0OCA4OC41NTA1IDM4LjQ3ODUgOTUuNjQwNCAyMC43NTE3IDk1LjcwODNMMjAuNDkzNyAyOC4zNTEyWk0yMC4yNDM4IDI4LjQ1NTZMLTI3LjQ3NjUgLTE5LjA4MTlDLTQwLjExODUgLTYuMzkxMjkgLTQ3LjIxNzMgMTAuNzkyMiAtNDcuMjE3MSAyOC43MDYzTDIwLjE0MDQgMjguNzA1OEw4Ny40OTggMjguNzA1M0M4Ny40OTgxIDQ2LjQzMTkgODAuNDczNyA2My40MzU0IDY3Ljk2NDEgNzUuOTkzTDIwLjI0MzggMjguNDU1NlpNMjAuMTQwNCAyOC43MDU4SC00Ny4yMTcxVjI5LjU3MjZIMjAuMTQwNEg4Ny40OThWMjguNzA1OEgyMC4xNDA0Wk0yMC4xNDA0IDI5LjU3MjZMLTQ3LjIxNjYgMjkuMzE0M0MtNDcuMjUxNCAzOC4zNzU5IC00NS40NjY4IDQ3LjM1MiAtNDEuOTY4OCA1NS43MTA5TDIwLjE2NzQgMjkuNzA4M0w4Mi4zMDM1IDMuNzA1NjJDODUuNzY1NiAxMS45Nzg2IDg3LjUzMTkgMjAuODYyNSA4Ny40OTc1IDI5LjgzMUwyMC4xNDA0IDI5LjU3MjZaTTIwLjE2NzQgMjkuNzA4M0wtNDEuOTY4OCA1NS43MTA5Qy0zOC40NzA1IDY0LjA3MDMgLTMzLjMzIDcxLjY0MiAtMjYuODUyMSA3Ny45Nzc2TDIwLjI0NSAyOS44MjI2TDY3LjM0MjIgLTE4LjMzMjNDNzMuNzUzNSAtMTIuMDYxOCA3OC44NDEyIC00LjU2Nzk0IDgyLjMwMzUgMy43MDU2MkwyMC4xNjc0IDI5LjcwODNaTTIwLjI0NSAyOS44MjI2TC0yNy4zNDQ3IDc3LjQ5MDhDLTE0LjY5NDUgOTAuMTIwMiAyLjQzNjkxIDk3LjIzNTMgMjAuMzEzMyA5Ny4yODMyTDIwLjQ5MzcgMjkuOTI1OUwyMC42NzQxIC0zNy40MzE0QzM4LjM2MzkgLTM3LjM4NCA1NS4zMTY2IC0zMC4zNDMxIDY3LjgzNDggLTE3Ljg0NTVMMjAuMjQ1IDI5LjgyMjZaTTIwLjQ5MzcgMjkuOTI1OVY5Ny4yODM0SDI5LjI2NTFWMjkuOTI1OVYtMzcuNDMxN0gyMC40OTM3VjI5LjkyNTlaTTI5LjI2NTEgMjkuOTI1OUwyOS4wMjY3IDk3LjI4M0MzOC4zMzcyIDk3LjMxNiA0Ny41NTIgOTUuNDI4NCA1Ni4wOTYyIDkxLjc0MDlMMjkuNDA1NyAyOS44OTcxTDIuNzE1MjUgLTMxLjk0NjdDMTEuMTcwNiAtMzUuNTk1OSAyMC4yODk3IC0zNy40NjM4IDI5LjUwMzQgLTM3LjQzMTJMMjkuMjY1MSAyOS45MjU5Wk0yOS40MDU3IDI5Ljg5NzFMNTYuMDk2MiA5MS43NDA5QzY0LjY0MyA4OC4wNTIzIDcyLjMzNjkgODIuNjQxMiA3OC42OTc3IDc1Ljg0NjFMMjkuNTIzMiAyOS44MTQ1TC0xOS42NTEzIC0xNi4yMTcxQy0xMy4zNTY2IC0yMi45NDE2IC01Ljc0MjY2IC0yOC4yOTY1IDIuNzE1MjUgLTMxLjk0NjdMMjkuNDA1NyAyOS44OTcxWk0yOS41MjMyIDI5LjgxNDVMNzguMjkzOCA3Ni4yNzM4QzkwLjU1NDMgNjMuNDAzNCA5Ny4yNjI4IDQ2LjIyNjUgOTYuOTY4MiAyOC40NTA2TDI5LjYxOTkgMjkuNTY2OUwtMzcuNzI4NCAzMC42ODMyQy0zOC4wMiAxMy4wOTE0IC0zMS4zODA5IC0zLjkwNzcgLTE5LjI0NzQgLTE2LjY0NDlMMjkuNTIzMiAyOS44MTQ1Wk0yOS42MTk5IDI5LjU2NjlMOTYuOTY4MiAyOC40NTA2Qzk2LjY3MzYgMTAuNjc1MyA4OS4zOTk5IC02LjI2OTk4IDc2LjcxOTIgLTE4LjcyNzRMMjkuNTE1MSAyOS4zMjI3TC0xNy42ODkxIDc3LjM3MjdDLTMwLjIzODUgNjUuMDQ0MyAtMzcuNDM2OCA0OC4yNzQ0IC0zNy43Mjg0IDMwLjY4MzJMMjkuNjE5OSAyOS41NjY5Wk0xNy44MDYzIDEyLjIxMDVMLTI5LjgyMjcgNTkuODM5NUwtMjcuMTE0OSA2Mi41NDczTDIwLjUxNCAxNC45MTgzTDY4LjE0MyAtMzIuNzEwN0w2NS40MzUzIC0zNS40MTg0TDE3LjgwNjMgMTIuMjEwNVpNMjAuNTE0IDE0LjkxODNMLTI3LjExNDkgLTMyLjcxMDdMLTI5LjgxNTkgLTMwLjAwOTdMMTcuODEzMSAxNy42MTkzTDY1LjQ0MiA2NS4yNDgzTDY4LjE0MyA2Mi41NDczTDIwLjUxNCAxNC45MTgzWk0xNy44MTMxIDE3LjYxOTNMNjUuNDQyMSAtMzAuMDA5N0w2Mi43MzQzIC0zMi43MTc0TDE1LjEwNTMgMTQuOTExNUwtMzIuNTIzNyA2Mi41NDA1TC0yOS44MTU5IDY1LjI0ODNMMTcuODEzMSAxNy42MTkzWk0xNS4xMDUzIDE0LjkxMTVMNjIuNzM0MyA2Mi41NDA1TDY1LjQzNTMgNTkuODM5NUwxNy44MDYzIDEyLjIxMDVMLTI5LjgyMjcgLTM1LjQxODRMLTMyLjUyMzcgLTMyLjcxNzRMMTUuMTA1MyAxNC45MTE1WlwiXG4gICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMEEzRkZcIiBtYXNrPVwidXJsKCNwYXRoLTEtaW5zaWRlLTFfMTg0OV8xMzM4NClcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjYuMjUzNyAwLjc0MDIzNEwyNi42OTc0IDIuNTg0MzdDMjYuOTIzNSAzLjUyNDU3IDI3LjQyNTUgNC4zOTc3IDI4LjE1NDUgNS4xMTg2MkMyOC44ODM2IDUuODM5NTQgMjkuODE0NyA2LjM4MzY2IDMwLjg1NzEgNi42OTc5MUwzMS44Mzk0IDYuOTkzOTFMMzAuODU3MSA3LjI4OTkyQzI5LjgxNDcgNy42MDQxNyAyOC44ODM2IDguMTQ4MjggMjguMTU0NSA4Ljg2OTIxQzI3LjQyNTUgOS41OTAxMyAyNi45MjM1IDEwLjQ2MzMgMjYuNjk3NCAxMS40MDM1TDI2LjI1MzcgMTMuMjQ3NkwyNS44MSAxMS40MDM1QzI1LjU4MzkgMTAuNDYzMyAyNS4wODE5IDkuNTkwMTMgMjQuMzUyOCA4Ljg2OTIxQzIzLjYyMzggOC4xNDgyOCAyMi42OTI3IDcuNjA0MTcgMjEuNjUwMyA3LjI4OTkyTDIwLjY2OCA2Ljk5MzkxTDIxLjY1MDMgNi42OTc5MUMyMi42OTI3IDYuMzgzNjYgMjMuNjIzOCA1LjgzOTU0IDI0LjM1MjggNS4xMTg2MkMyNS4wODE5IDQuMzk3NyAyNS41ODM5IDMuNTI0NTcgMjUuODEgMi41ODQzN0wyNi4yNTM3IDAuNzQwMjM0WlwiXG4gICAgICAgICAgICAgICAgICAgICAgZmlsbD1cInVybCgjcGFpbnQwX2xpbmVhcl8xODQ5XzEzMzg0KVwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgICAgICAgZD1cIk05LjkyNDQgOS41MTM1MUw5Ljc3Mjc5IDguODYwMzVMOS42MjExNyA5LjUxMzUxQzkuNTEyNTIgOS45ODI1NCA5LjI2NjY2IDEwLjQxOTIgOC45MDczOSAxMC43ODEyQzguNTQ4MTIgMTEuMTQzMyA4LjA4NzYgMTEuNDE4NCA3LjU3MDQyIDExLjU4TDcuMzc4OTEgMTEuNjM5OEw3LjU3MDQyIDExLjY5OTVDOC4wODc2IDExLjg2MTEgOC41NDgxMiAxMi4xMzYzIDguOTA3MzkgMTIuNDk4M0M5LjI2NjY2IDEyLjg2MDMgOS41MTI1MiAxMy4yOTcgOS42MjExNyAxMy43NjZMOS43NzI3OSAxNC40MTkyTDkuOTI0NCAxMy43NjZDMTAuMDMzIDEzLjI5NyAxMC4yNzg5IDEyLjg2MDMgMTAuNjM4MiAxMi40OTgzQzEwLjk5NzUgMTIuMTM2MyAxMS40NTggMTEuODYxMSAxMS45NzUyIDExLjY5OTVMMTIuMTY2NyAxMS42Mzk4TDExLjk3NTIgMTEuNThDMTEuNDU4IDExLjQxODQgMTAuOTk3NSAxMS4xNDMzIDEwLjYzODIgMTAuNzgxMkMxMC4yNzg5IDEwLjQxOTIgMTAuMDMzIDkuOTgyNTQgOS45MjQ0IDkuNTEzNTFaXCJcbiAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwidXJsKCNwYWludDFfbGluZWFyXzE4NDlfMTMzODQpXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPHBhdGggb3BhY2l0eT1cIjAuNlwiXG4gICAgICAgICAgICAgICAgICAgICAgZD1cIk03LjY4OTYxIDIxLjU2MjRMNy41MDYwOCAyMC42NzU4TDcuMzIzMzQgMjEuNTYzMUM3LjI3NTQ5IDIxLjc5NDMgNy4xNjEwOSAyMi4wMTEyIDYuOTkwODQgMjIuMTkzNUM2LjgyMDU5IDIyLjM3NTggNi42MDAwNSAyMi41MTc1IDYuMzQ5ODMgMjIuNjA1NEw1LjkxMDE2IDIyLjc2MDNMNi4zNDk4MyAyMi45MTUzQzYuNiAyMy4wMDM0IDYuODIwNDUgMjMuMTQ1MiA2Ljk5MDU2IDIzLjMyNzZDNy4xNjA2NyAyMy41MSA3LjI3NDg5IDIzLjcyNyA3LjMyMjU1IDIzLjk1ODNMNy41MDYwOCAyNC44NDQ5TDcuNjg4ODEgMjMuOTU3NkM3LjczNjY3IDIzLjcyNjMgNy44NTEwNyAyMy41MDk1IDguMDIxMzEgMjMuMzI3MkM4LjE5MTU2IDIzLjE0NDkgOC40MTIxIDIzLjAwMzIgOC42NjIzMiAyMi45MTUzTDkuMTAyIDIyLjc2MDNMOC42NjIzMiAyMi42MDU0QzguNDEyMTUgMjIuNTE3MyA4LjE5MTcxIDIyLjM3NTUgOC4wMjE2IDIyLjE5MzFDNy44NTE0OSAyMi4wMTA3IDcuNzM3MjYgMjEuNzkzNyA3LjY4OTYxIDIxLjU2MjRaXCJcbiAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwidXJsKCNwYWludDJfbGluZWFyXzE4NDlfMTMzODQpXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPGRlZnM+XG4gICAgICAgICAgICAgICAgICAgICAgPGxpbmVhckdyYWRpZW50IGlkPVwicGFpbnQwX2xpbmVhcl8xODQ5XzEzMzg0XCIgeDE9XCIyMy40NlwiIHkxPVwiMTMuOTQyMlwiIHgyPVwiMjMuNDZcIiB5Mj1cIjAuMDQ1MTYyNVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9XCIjMTE3RkY1XCIgc3RvcC1vcGFjaXR5PVwiMC4yXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiIzA1OTFGRlwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPC9saW5lYXJHcmFkaWVudD5cbiAgICAgICAgICAgICAgICAgICAgICA8bGluZWFyR3JhZGllbnQgaWQ9XCJwYWludDFfbGluZWFyXzE4NDlfMTMzODRcIiB4MT1cIjE1Ljc1NzVcIiB5MT1cIjIyLjc1NzRcIiB4Mj1cIjE1Ljc1NzVcIiB5Mj1cIjguODYwMzVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPVwid2hpdGVcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjMDU5MUZGXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L2xpbmVhckdyYWRpZW50PlxuICAgICAgICAgICAgICAgICAgICAgIDxsaW5lYXJHcmFkaWVudCBpZD1cInBhaW50Ml9saW5lYXJfMTg0OV8xMzM4NFwiIHgxPVwiNS45MTAxNlwiIHkxPVwiMjAuNjc1OFwiIHgyPVwiOS4xMDJcIiB5Mj1cIjIwLjY3NThcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPVwiIzAwQTNGRlwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiMzM0I1RkZcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbGluZWFyR3JhZGllbnQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cbiAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhaS1pbnNpZ2h0cy10aXRsZSB0ZXh0LWRhcmtcIj57eyBjLmFpSW5zaWdodHMudGl0bGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiYWktaW5zaWdodHMtbGlzdCBiZy13aGl0ZSBteS00IHAtNCByb3VuZGVkLWxnXCI+XG4gICAgICAgICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGluc2lnaHQgb2YgYy5haUluc2lnaHRzLnN1bW1hcnlcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpbnNpZ2h0LWJ1bGxldC1pY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiMzM0I1RkZcIiBzdHJva2Utd2lkdGg9XCIyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICB7eyBpbnNpZ2h0IH19XG4gICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPCEtLSBSaWdodDogTWV0cmljcyAtLT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb252LXJpZ2h0XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXRyaWNzLXBhbmVsXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1ldHJpY3MtdGl0bGVcIj5NZXRyaWNzPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBtIG9mIGMubWV0cmljczsgbGV0IG1pID0gaW5kZXhcIj5cblxuICAgICAgICAgICAgICAgICAgPCEtLSBCT09MRUFOX0JBU0tFVCAtLT5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtLnR5cGUgPT09ICdCT09MRUFOX0JBU0tFVCdcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1ldHJpYy1zZWN0aW9uLWxhYmVsIG1iLTFcIj57eyBtLm5hbWUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1ldHJpYy1yb3ctaXRlbVwiICpuZ0Zvcj1cImxldCByb3cgb2YgbS52YWx1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWV0cmljLWtleVwiPjxzcGFuIGNsYXNzPVwiZG90XCI+PC9zcGFuPnt7IHJvdy5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmcgY2xhc3M9XCJtZXRyaWMtdmFsXCI+e3sgcm93LnNjb3JlIH19PC9zdHJvbmc+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWV0cmljLWRpdmlkZXJcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgICA8IS0tIE5VTUVSSUNfU0NBTEFSIC0tPlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm0udHlwZSA9PT0gJ05VTUVSSUNfU0NBTEFSJyB8fCBtLnR5cGUgPT09ICdOVU1FUklDX0FSUkFZJ1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWV0cmljLXNlY3Rpb24tbGFiZWwgbWItMVwiPnt7IG0ubmFtZSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWV0cmljLXJvdy1pdGVtXCIgKm5nRm9yPVwibGV0IHJvdyBvZiBtLnZhbHVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZXRyaWMta2V5XCI+VG90YWw8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZyBjbGFzcz1cIm1ldHJpYy12YWxcIj57eyByb3cuVG90YWwgfX08L3N0cm9uZz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXRyaWMtcm93LWl0ZW1cIiAqbmdGb3I9XCJsZXQgcm93IG9mIG0udmFsdWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1ldHJpYy1rZXlcIj5Bdmc8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZyBjbGFzcz1cIm1ldHJpYy12YWxcIj57eyByb3cuQXZnIH19PC9zdHJvbmc+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWV0cmljLWRpdmlkZXJcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgICA8IS0tIFNVQkpFQ1RJVkUgLS0+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibS50eXBlID09PSAnU1VCSkVDVElWRSdcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1ldHJpYy1zZWN0aW9uLWxhYmVsIG1iLTFcIj57eyBtLm5hbWUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwibWV0cmljLWJ1bGxldC1saXN0IG1ldHJpYy1idWxsZXQtbGlzdC0tdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxsaSAgKm5nRm9yPVwibGV0IHJvdyBvZiBtLnZhbHVlXCI+e3sgcm93LnJlYXNvbmluZyB9fTwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXRyaWMtZGl2aWRlclwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8bGliLXBhZ2luYXRpb24gKm5nSWY9XCJ0b3RhbEl0ZW1zID4gMFwiIFtpdGVtc1BlclBhZ2VdPVwicGFnZVNpemVcIiBbY3VycmVudFBhZ2VdPVwiY3VycmVudFBhZ2VcIiBbdG90YWxJdGVtc109XCJ0b3RhbEl0ZW1zXCJcbiAgICAgIFtwYWdpbmF0aW9uU2l6ZXNdPVwicGFnaW5hdGlvblNpemVzXCIgW3BhZ2VTaXplXT1cInBhZ2VTaXplXCIgKHBhZ2VDaGFuZ2UpPVwib25QYWdlQ2hhbmdlKCRldmVudClcIlxuICAgICAgKHBhZ2VTaXplQ2hhbmdlKT1cIm9uUGFnZVNpemVDaGFuZ2UoJGV2ZW50KVwiPjwvbGliLXBhZ2luYXRpb24+XG4gIDwvZGl2PlxuPC9kaXY+Il19
979
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW8tcGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1haS1hdWRpby9zcmMvbGliL2NvbXBvbmVudHMvYXVkaW8tcGFnZS9hdWRpby1wYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFpLWF1ZGlvL3NyYy9saWIvY29tcG9uZW50cy9hdWRpby1wYWdlL2F1ZGlvLXBhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQWMsWUFBWSxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckgsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7QUFXMUMsTUFBTSxPQUFPLGtCQUFrQjtJQTBEbkI7SUFDQTtJQUNEO0lBQ0M7SUFDQTtJQUNBO0lBOURGLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBQ04sa0JBQWtCLENBQThCO0lBQzNDLGVBQWUsQ0FBYztJQUVuRSxtREFBbUQ7SUFDbkQsUUFBUSxHQUFVLEVBQUUsQ0FBQztJQUNyQixXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQ2pCLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUN4QixXQUFXLEdBQXNFLEVBQUUsQ0FBQztJQUNwRixjQUFjLEdBQWtCLElBQUksQ0FBQztJQUNyQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLFVBQVUsR0FBRyxFQUFFLENBQUM7SUFFaEIsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDakMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUN0RSxDQUFDO0lBQ0osQ0FBQztJQUVELFlBQVksS0FBYSxPQUFPLGNBQWMsQ0FBQyxDQUFDLENBQUM7SUFFakQsVUFBVSxHQUFHLENBQUMsQ0FBQztJQUNmLFVBQVUsR0FBRyxFQUFFLENBQUM7SUFDaEIsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLG9CQUFvQixHQUFHLEtBQUssQ0FBQztJQUM3QixVQUFVLEdBQW1DLEVBQUUsQ0FBQztJQUNoRCxhQUFhLEdBQWEsRUFBRSxDQUFDO0lBQzdCLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFFZixXQUFXLEdBQUcsQ0FBQyxDQUFDO0lBQ2hCLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDWCxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ2QsVUFBVSxHQUFHLENBQUMsQ0FBQztJQUNmLGVBQWUsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDL0Isc0JBQXNCLEdBQVUsRUFBRSxDQUFDO0lBRW5DLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDdkIsc0JBQXNCLEdBQUcsS0FBSyxDQUFDO0lBRS9CLGNBQWMsR0FBRyxFQUFFLENBQUM7SUFDcEIsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO0lBR3RCLDJEQUEyRDtJQUMzRCxnQkFBZ0IsR0FBRyxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBRXpELDJEQUEyRDtJQUMzRCxXQUFXLEdBT0wsRUFBRSxDQUFDO0lBQ1QsWUFDVSxRQUF5QixFQUN6QixZQUEwQixFQUMzQixFQUFzQixFQUNyQixNQUFjLEVBQ2QsU0FBdUIsRUFDdkIsR0FBc0I7UUFMdEIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDM0IsT0FBRSxHQUFGLEVBQUUsQ0FBb0I7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFDdkIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7SUFDN0IsQ0FBQztJQUVKLGFBQWEsQ0FBQyxJQUFZO1FBQ3hCLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRTdELE1BQU0sZUFBZSxHQUFhLEVBQUUsQ0FBQztRQUNyQyxNQUFNLFFBQVEsR0FBRyw4REFBOEQsQ0FBQztRQUVoRixJQUFJLFNBQVMsR0FBRyxJQUFJO2FBQ2pCLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ25DLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkMsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFdBQVcsUUFBUSxNQUFNLENBQUMsQ0FBQztZQUNqRixlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzFCLE9BQU8sU0FBUyxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDO1FBQ2pELENBQUMsQ0FBQzthQUNELE9BQU8sQ0FBQyxzQ0FBc0MsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDL0QsZUFBZSxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsVUFBVSxHQUFHLFlBQVksUUFBUSxNQUFNLENBQUMsQ0FBQztZQUM5RSxPQUFPLFNBQVMsZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQztRQUNqRCxDQUFDLENBQUM7YUFDRCxPQUFPLENBQUMsOERBQThELEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDbEYsZUFBZSxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsd0JBQXdCLFFBQVEsTUFBTSxDQUFDLENBQUM7WUFDN0UsT0FBTyxTQUFTLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFDakQsQ0FBQyxDQUFDLENBQUM7UUFFTCxJQUFJLElBQUksR0FBRyxTQUFTO2FBQ2pCLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQzthQUNsRSxPQUFPLENBQUMsY0FBYyxFQUFFLGFBQWEsQ0FBQzthQUN0QyxPQUFPLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQzthQUNyQyxPQUFPLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQzthQUNwQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUscUJBQXFCLENBQUM7YUFDaEQsT0FBTyxDQUFDLFlBQVksRUFBRSxxQkFBcUIsQ0FBQzthQUM1QyxPQUFPLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQzthQUNwQyxPQUFPLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQzthQUNsQyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsYUFBYSxDQUFDO2FBQzFDLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxhQUFhLENBQUM7YUFDM0MsT0FBTyxDQUFDLGtCQUFrQixFQUFFLGFBQWEsQ0FBQzthQUMxQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzthQUM3QixPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzFCLElBQUksR0FBRyxNQUFNLElBQUksTUFBTSxDQUFDO1FBRXhCLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFFM0UsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxRQUFhO1FBQy9CLE1BQU0sUUFBUSxHQUFHLFFBQVEsRUFBRSxJQUFJLEVBQUUsY0FBYyxDQUFDO1FBQ2hELElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUV0QixJQUFJLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQyxtQkFBbUIsSUFBSSxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFFdEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxxQkFBcUIsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUM7UUFFOUYsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3ZDLElBQUksUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7Z0JBQUUsU0FBUztZQUNoQyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDOUIsSUFBSSxDQUFDLE9BQU8sSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRO2dCQUFFLFNBQVM7WUFFdEQsTUFBTSxNQUFNLEdBQVUsT0FBTyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDMUMsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztZQUUxQixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07Z0JBQUUsU0FBUztZQUU3QixJQUFJLElBQUksS0FBSyxnQkFBZ0IsRUFBRTtnQkFDN0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7b0JBQ3BCLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxJQUFJLEdBQUc7b0JBQ3pCLElBQUksRUFBRSxnQkFBZ0I7b0JBQ3RCLFdBQVcsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO3dCQUN0QyxFQUFFLEVBQUUsSUFBSSxDQUFDLEdBQUcsSUFBSSxFQUFFO3dCQUNsQixLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUk7d0JBQ2hCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQzt3QkFDNUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQztxQkFDdkIsQ0FBQyxDQUFDO2lCQUNKLENBQUMsQ0FBQzthQUNKO2lCQUFNLElBQUksSUFBSSxLQUFLLGdCQUFnQixFQUFFO2dCQUNwQyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUM3QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztvQkFDcEIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLElBQUksR0FBRztvQkFDekIsSUFBSSxFQUFFLGdCQUFnQjtvQkFDdEIsV0FBVyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRTtpQkFDNUQsQ0FBQyxDQUFDO2FBQ0o7aUJBQU0sSUFBSSxJQUFJLEtBQUssZUFBZSxFQUFFO2dCQUNsQyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUM5QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztvQkFDcEIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLElBQUksR0FBRztvQkFDekIsSUFBSSxFQUFFLGVBQWU7b0JBQ3JCLFdBQVcsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUU7aUJBQzVELENBQUMsQ0FBQzthQUNKO2lCQUNJLElBQUksSUFBSSxLQUFLLFlBQVksSUFBRSxJQUFJLEtBQUcsa0JBQWtCLEVBQUU7Z0JBQ3pELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO29CQUNwQixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksSUFBSSxHQUFHO29CQUN6QixJQUFJLEVBQUUsSUFBSTtvQkFDVixjQUFjLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQzt3QkFDekMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLElBQUksRUFBRTt3QkFDbkIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRTt3QkFDL0IsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRTt3QkFDN0IsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRTtxQkFDdEIsQ0FBQyxDQUFDO2lCQUNKLENBQUMsQ0FBQzthQUNKO1NBQ0Y7UUFFRCx3Q0FBd0M7UUFDeEMsSUFBSSxRQUFRLENBQUMsYUFBYSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQ25FLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQztZQUNsRixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxFQUFFO2dCQUN6QyxJQUFJLEVBQUUsZ0JBQWdCO2dCQUN0QixJQUFJLEVBQUUsZ0JBQWdCO2dCQUN0QixTQUFTLEVBQUUsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7YUFDNUYsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBR0QsZUFBZSxDQUFDLENBQWE7UUFDM0IsSUFBSSxDQUFFLENBQUMsQ0FBQyxNQUFzQixDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFO1lBQzFELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7U0FDbkM7UUFDRCxJQUFJLENBQUUsQ0FBQyxDQUFDLE1BQXNCLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLEVBQUU7WUFDekQsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7U0FDM0I7SUFDSCxDQUFDO0lBRUQsNkRBQTZEO0lBQ3BELFlBQVksR0FBRztRQUN0QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFO1FBQ3hDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsbUJBQW1CLEVBQUU7S0FDNUMsQ0FBQztJQUNGLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQztJQUNqQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBRXJCLElBQUksb0JBQW9CO1FBQ3RCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3JELE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWEsSUFBVSxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDaEUsY0FBYyxLQUFXLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUNsRSxhQUFhLEtBQVcsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBRXBELGdCQUFnQixDQUFDLE1BQWM7UUFDN0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7UUFDekIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM5QyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELDZEQUE2RDtJQUU3RCxlQUFlLEdBQUc7UUFDaEIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO1FBQ3JFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtRQUN0RSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7UUFDdEUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO0tBQ3ZCLENBQUM7SUFFRix3REFBd0Q7SUFDeEQsdUJBQXVCO0lBQ3ZCLDRFQUE0RTtJQUM1RSxhQUFhLEdBQWtCLElBQUksQ0FBQztJQUNwQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ2hCLHNEQUFzRDtJQUN0RCxjQUFjLEdBQStGLEVBQUUsQ0FBQztJQUVoSCxnQkFBZ0IsQ0FBQyxLQUF1QixFQUFFLE1BQWMsRUFBRSxXQUFvQjtRQUM1RSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNoQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQztTQUN2RjtRQUNELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFFLENBQUM7UUFDM0MsNEVBQTRFO1FBQzVFLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLENBQUMsUUFBUSxHQUFHLENBQUMsRUFBRTtZQUNsRCxLQUFLLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ25EO2FBQU0sSUFBSSxXQUFXLEVBQUU7WUFDdEIsS0FBSyxDQUFDLFNBQVMsR0FBRyxXQUFXLENBQUM7U0FDL0I7UUFDRCxvRUFBb0U7UUFDcEUsSUFBSSxLQUFLLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssQ0FBQyxRQUFRLEdBQUcsQ0FBQyxFQUFFO1lBQ3hFLEtBQUssQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1NBQ3JEO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUF1QixFQUFFLE1BQWM7UUFDbEQsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDaEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUM7U0FDdkY7UUFDRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBRSxDQUFDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdkQsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssQ0FBQyxRQUFRLEdBQUcsQ0FBQyxFQUFFO1lBQ2xELEtBQUssQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1NBQ3JEO0lBQ0gsQ0FBQztJQUVILFVBQVUsQ0FBQyxPQUFlO1FBQ3hCLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTyxNQUFNLENBQUM7UUFFNUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDdEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFFdEMsT0FBTyxHQUFHLElBQUksSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0lBRUMsU0FBUyxDQUFDLEtBQWlCLEVBQUUsTUFBYztRQUN6QyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsYUFBNEIsQ0FBQztRQUNqRCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUM7UUFDaEQsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxTQUFTLE1BQU0sRUFBRSxDQUFxQixDQUFDO1FBQzdFLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDdEMsS0FBSyxDQUFDLFdBQVcsR0FBRyxLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztJQUM3QyxDQUFDO0lBRUQsVUFBVSxDQUFDLE1BQWM7UUFDdkIsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxTQUFTLE1BQU0sRUFBRSxDQUFxQixDQUFDO1FBQzdFLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTztRQUVuQixJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssTUFBTSxFQUFFO1lBQ2pDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1NBQzNCO2FBQU07WUFDTCxpQ0FBaUM7WUFDakMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO2dCQUN0QixNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLFNBQVMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFxQixDQUFDO2dCQUM5RixJQUFJLFVBQVU7b0JBQUUsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNuQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQzthQUMzQjtZQUNELHVFQUF1RTtZQUN2RSxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDakMsSUFBSSxXQUFXLEtBQUssU0FBUyxFQUFFO2dCQUM3QixXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtvQkFDcEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUM7Z0JBQzlCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO29CQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsc0JBQXNCLEVBQUUsR0FBRyxDQUFDLENBQUM7b0JBQzNDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO2dCQUM1QixDQUFDLENBQUMsQ0FBQzthQUNKO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDO2FBQzdCO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzdCLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsRCxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELDZEQUE2RDtJQUU3RCxNQUFNLEdBQWtCLElBQUksQ0FBQztJQUM3QixTQUFTLEdBQTZCLEVBQUUsQ0FBQztJQUMzQyxVQUFVLENBQU07SUFDZCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWM7YUFDbkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUIsU0FBUyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7WUFDdkIsSUFBSSxJQUFJLEVBQUU7Z0JBQ1IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7YUFDeEI7WUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztZQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUNoQixJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQzthQUN4QjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7YUFDM0I7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFFekIsZUFBZTtRQUNyQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUN2RixJQUFJLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDakIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztnQkFDN0IsTUFBTSxPQUFPLEdBQUcsR0FBRyxFQUFFLElBQUksRUFBRSxPQUFPLElBQUksRUFBRSxDQUFDO2dCQUN6QyxJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLFVBQVUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQzFGLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3RELElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO29CQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO29CQUMxQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7aUJBQy9DO2dCQUNELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2dCQUN4QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUM1QixDQUFDO1lBQ0QsS0FBSyxFQUFFLEdBQUcsRUFBRTtnQkFDVixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO2dCQUM3QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDNUIsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTyxZQUFZO1FBQ2xCLE1BQU0sUUFBUSxHQUFJLElBQUksQ0FBQztRQUN2QixPQUFPO1lBQ0wsUUFBUSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7WUFDekQsT0FBTyxFQUFFO2dCQUNQLFNBQVM7Z0JBQ1QsU0FBUztnQkFDVCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsUUFBUTtnQkFDUixTQUFTO2dCQUNULFFBQVE7Z0JBQ1IsU0FBUztnQkFDVCxTQUFTO2dCQUNULFFBQVE7Z0JBQ1IsUUFBUTtnQkFDUixRQUFRO2dCQUNSLFFBQVE7Z0JBQ1IsT0FBTztnQkFDUCxRQUFRO2FBQ1g7WUFDQyxVQUFVLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2hFLFNBQVMsRUFBRSxZQUFZO1lBQ3ZCLE9BQU8sRUFBRSxZQUFZO1lBQ3JCLElBQUksRUFBRSxJQUFJO1lBQ1YsYUFBYSxFQUFFLE9BQU87WUFDdEIsUUFBUSxFQUFFLEtBQUs7U0FDaEIsQ0FBQztJQUNKLENBQUM7SUFFRCxnQkFBZ0I7UUFFZCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3BHLElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNqQixJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1lBQzlCLENBQUM7WUFDRCxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQzlDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDaEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLEVBQUU7WUFBRSxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztTQUFFO1FBQ2hFLE1BQU0sT0FBTyxHQUFHO1lBQ2QsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3RCLHFDQUFxQztZQUNyQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDcEIsR0FBRyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3JELElBQUksRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQztZQUM5RCxNQUFNLEVBQUUsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDO1NBQzdCLENBQUM7UUFDRixJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDO1FBQ25DLElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDdkYsSUFBSSxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2pCLE1BQU0sSUFBSSxHQUFHLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxJQUFJLEdBQUcsRUFBRSxJQUFJLEVBQUUsYUFBYSxJQUFJLEVBQUUsQ0FBQztnQkFDL0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQ3pFLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLElBQUksR0FBRyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsS0FBSyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO2dCQUNoRyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLENBQUM7Z0JBQzFGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN2RyxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztnQkFDcEMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEtBQUssQ0FBQztnQkFDcEMsK0JBQStCO2dCQUMvQixJQUFJLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO29CQUMxQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQzdDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztvQkFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQzt3QkFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxTQUFTLENBQUM7b0JBQzlFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDcEM7WUFDSCxDQUFDO1lBQ0QsS0FBSyxFQUFFLEdBQUcsRUFBRTtnQkFDVixJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEVBQUUsQ0FBQztnQkFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxLQUFLLENBQUM7WUFDdEMsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxZQUFZLENBQUMsR0FBUTtRQUMzQixJQUFJLENBQUMsR0FBRyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVE7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUMvQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO1lBQUUsT0FBTyxHQUFHLENBQUMsQ0FBQyxpQkFBaUI7UUFDckQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQzthQUN0QixNQUFNLENBQUMsQ0FBQyxPQUFZLEVBQUUsRUFBRSxDQUFDLE9BQU8sSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQzthQUNoRixHQUFHLENBQUMsQ0FBQyxPQUFZLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDdEIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLElBQUksRUFBRTtZQUN4QixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksSUFBSSxFQUFFO1lBQ3hCLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxJQUFJLEVBQUU7U0FDM0IsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDO0lBRU8sZUFBZSxDQUFDLElBQVM7UUFDL0IsTUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNsRSxPQUFPO1lBQ0wsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsR0FBRyxJQUFJLEVBQUU7WUFDdEQsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRTtZQUMzQixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsSUFBSSxFQUFFO1lBQy9CLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUU7WUFDN0UsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQzNDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUU7WUFDckIsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFO1lBQ3ZDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRTtZQUM5QyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxZQUFZLElBQUksRUFBRTtZQUN2SCxXQUFXLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXO1lBQy9CLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRTtZQUMvQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQ3hDLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsS0FBSyxFQUFFLDZCQUE2QixFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUU7WUFDcEYsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFO1lBQ3hGLGFBQWEsRUFBRSxTQUFTO1lBQ3hCLGNBQWMsRUFBRSxLQUFLO1lBQ3JCLFlBQVksRUFBRSxLQUFLO1NBQ3BCLENBQUM7SUFDSixDQUFDO0lBRUQsc0JBQXNCLENBQUMsSUFBUztRQUM5QiwyRkFBMkY7UUFDM0YsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjO1lBQUUsT0FBTztRQUN6RSxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUMzQixNQUFNLE9BQU8sR0FBRyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDbkcsSUFBSSxDQUFDLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3RHLElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNqQixPQUFPLENBQUMsR0FBRyxDQUFDLDZCQUE2QixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDaEUsc0VBQXNFO2dCQUN0RSxNQUFNLEdBQUcsR0FBRyxHQUFHLEVBQUUsSUFBSSxDQUFDO2dCQUN0QixNQUFNLE1BQU0sR0FBRyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xGLElBQUksTUFBTSxDQUFDLE9BQU87b0JBQUUsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDckUsSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNO29CQUFFLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztnQkFDNUUsSUFBSSxNQUFNLENBQUMsbUJBQW1CLEVBQUUsWUFBWTtvQkFBRSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDO2dCQUNwRyxJQUFJLE1BQU0sQ0FBQyxRQUFRLElBQUksTUFBTSxDQUFDLFNBQVM7b0JBQUUsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUM7Z0JBQzdGLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO2dCQUMxQixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztZQUM5QixDQUFDO1lBQ0QsS0FBSyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQ3hFLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsNENBQTRDLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQztZQUMzQixFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLHdCQUF3QixFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRTtZQUN2RixFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7U0FDbkUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELGFBQWEsR0FBVSxFQUFFLENBQUM7SUFFMUIsa0JBQWtCLENBQUMsRUFBVTtRQUMzQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQztRQUNyQyx3REFBd0Q7UUFDeEQsSUFBSSxTQUFTLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxFQUFFLEVBQUU7WUFDMUMsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFxQixDQUFDO1lBQ3pFLElBQUksS0FBSyxFQUFFO2dCQUNULElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxFQUFFO29CQUM1QixJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQztpQkFDbkY7Z0JBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUUsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQzFFLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFFLENBQUMsUUFBUSxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztvQkFDbEYsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMzQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDZjtZQUNELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1NBQzNCO1FBQ0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDO1NBQ2hDO1FBQ0QsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLEVBQUUsRUFBRTtZQUN0QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxFQUFFLENBQUMsQ0FBQztZQUNyRSxJQUFJLElBQUk7Z0JBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzdDO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxFQUFVLEVBQUUsR0FBVztRQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQztJQUMzQixDQUFDO0lBRUQsNEJBQTRCO1FBQzFCLHdEQUF3RDtRQUN4RCxxQ0FBcUM7UUFDckMsc0VBQXNFO1FBQ3RFLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQ25ELENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYTtRQUN4QixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBVTtRQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNoQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsdUJBQXVCLENBQUMsRUFBVSxFQUFFLEVBQVU7UUFDNUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNwQyxNQUFNLFdBQVcsR0FBRyxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxnQkFBZ0IsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQzVILElBQUksV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQzVCLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsZUFBZSxHQUFHLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUM7U0FDaEY7SUFDSCxDQUFDO0lBRUQsZUFBZSxDQUFDLEVBQVUsRUFBRSxFQUFVLEVBQUUsTUFBYztRQUNwRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sV0FBVyxHQUFHLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLGdCQUFnQixJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDNUgsSUFBSSxXQUFXLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDNUIsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDO1lBQ3pDLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztTQUMvQztJQUNILENBQUM7SUFDSCxVQUFVO1FBQ04sTUFBTSxPQUFPLEdBQUc7WUFDZCxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDdEIsSUFBSSxFQUFFLEtBQUs7WUFDWCxRQUFRLEVBQUUsSUFBSTtZQUNkLHFDQUFxQztZQUNyQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDcEIsTUFBTSxFQUFFLENBQUM7U0FDVixDQUFDO1FBQ0YsSUFBSSxDQUFDLFlBQVksQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUM1RixJQUFJLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDakIsTUFBTSxHQUFHLEdBQUcsR0FBRyxFQUFFLE9BQU8sQ0FBQztnQkFDekIsSUFBSSxHQUFHLEVBQUU7b0JBQ1AsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDdEMsQ0FBQyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7b0JBQ2IsQ0FBQyxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUM7b0JBQ3BCLENBQUMsQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO29CQUNoQixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDN0IsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUNWLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUM5QjtZQUNILENBQUM7WUFDRCxLQUFLLEVBQUUsR0FBRyxFQUFFO2dCQUNWLGdDQUFnQztZQUNsQyxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVILGNBQWMsQ0FBQyxPQUFlO1FBQzVCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3RDLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBQ0QsWUFBWTtRQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsb0NBQW9DLENBQUMsRUFBRTtZQUN4RCxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO1NBQzFCLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCw2REFBNkQ7SUFDN0QsWUFBWSxHQUFxRCxFQUFFLENBQUM7SUFDcEUsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUNaLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFDbkIsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUVoQixrQkFBa0I7UUFDeEIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxhQUFhLENBQUM7WUFDbEQsSUFBSSxFQUFFO2dCQUFFLEVBQUUsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDO0lBQzdDLENBQUM7SUFFTyxlQUFlO1FBQ3JCLElBQUk7WUFDRixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFXLENBQUMsQ0FBQztZQUNyRSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDO1lBQ2xDLE1BQU0sSUFBSSxHQUFXLElBQUksRUFBRSxRQUFRLElBQUksSUFBSSxFQUFFLElBQUksSUFBSSxJQUFJLEVBQUUsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUMxRSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDO2dCQUNuQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUU7Z0JBQzFELENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN4QztRQUFDLE1BQU07WUFBRSxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztTQUFFO1FBQ2pDLElBQUksQ0FBQyxhQUFhLEdBQUcsU0FBUyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxXQUFXO1lBQUUsT0FBTztRQUN2RCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWE7WUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFaEQsTUFBTSxPQUFPLEdBQUc7WUFDZCxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDeEIsVUFBVSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQzlCLFlBQVksRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ25ELGdCQUFnQixFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRO1lBQ2xFLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUztZQUN2QixhQUFhLEVBQUUsT0FBTztZQUN0QixNQUFNLEVBQUU7Z0JBQ04sZUFBZSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDckUsZUFBZSxFQUFFO29CQUNuQixVQUFVO29CQUNWLFVBQVU7b0JBQ1YsU0FBUztvQkFDVCxVQUFVO29CQUNWLFNBQVM7b0JBQ1QsVUFBVTtvQkFDVixTQUFTO29CQUNULFVBQVU7b0JBQ1YsVUFBVTtvQkFDVixTQUFTO29CQUNULFFBQVE7b0JBQ1IsU0FBUztvQkFDVCxTQUFTO29CQUNULFNBQVM7b0JBQ1QsU0FBUztpQkFDWjtnQkFDSyxVQUFVLEVBQUU7b0JBQ1YsS0FBSyxFQUFFLFlBQVk7b0JBQ25CLEdBQUcsRUFBQyxZQUFZO2lCQUNqQjtnQkFDRCxpQkFBaUIsRUFBRSxDQUFDLE9BQU8sQ0FBQzthQUM3QjtTQUNGLENBQUM7UUFFRiw4QkFBOEI7UUFDOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUUxQiwwREFBMEQ7UUFDMUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUU5RSxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUM3RSxJQUFJLEVBQUUsQ0FBQyxJQUFZLEVBQUUsRUFBRTtnQkFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO2dCQUN2QyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztnQkFDekIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDNUIsQ0FBQztZQUNELEtBQUssRUFBRSxHQUFHLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEdBQUcsZ0RBQWdELENBQUM7Z0JBQ25GLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1lBQzNCLENBQUM7WUFDRCxRQUFRLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQzlDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxZQUFZLEdBQWtCLElBQUksQ0FBQztJQUNuQyxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBQ2xCLGVBQWUsQ0FBQyxJQUFZO1FBQzFCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxTQUFTLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUM1QyxJQUFJLENBQUMsWUFBWSxHQUFHLHNCQUFzQixDQUFDO2dCQUMzQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDbkQsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDO0lBRUQsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQzFCLGVBQWUsR0FBb0QsRUFBRSxDQUFDO0lBQ3RFLGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUN6Qix3QkFBd0IsR0FBa0IsSUFBSSxDQUFDO0lBQy9DLGVBQWUsR0FBdUMsRUFBRSxDQUFDO0lBQ3pELGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUNqQixhQUFhLEdBQUcsRUFBRSxDQUFDO0lBRTNCLGlCQUFpQjtRQUNmLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQzdDLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN4QixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhO1lBQUUsT0FBTztRQUNoQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNqRSxJQUFJLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDakIsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDbEUsVUFBVSxFQUFFLENBQUMsQ0FBQyxVQUFVO29CQUN4QixhQUFhLEVBQUUsQ0FBQyxDQUFDLGFBQWE7aUJBQy9CLENBQUMsQ0FBQyxDQUFDO2dCQUNKLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7WUFDaEMsQ0FBQztZQUNELEtBQUssRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUNoRCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDaEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGNBQWMsQ0FBQyxFQUFPLEVBQUUsSUFBUztRQUMvQixJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUVoQixNQUFNLE9BQU8sR0FBRztZQUNkLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUN0QixxQ0FBcUM7WUFDckMsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3BCLEdBQUcsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNyRCxJQUFJLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUMzQixNQUFNLEVBQUUsQ0FBQztTQUNWLENBQUM7UUFDRixJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDO1FBQ25DLElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDdkYsSUFBSSxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2pCLE1BQU0sSUFBSSxHQUFHLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxJQUFJLEdBQUcsRUFBRSxJQUFJLEVBQUUsYUFBYSxJQUFJLEVBQUUsQ0FBQztnQkFDL0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQ3pFLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLElBQUksR0FBRyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsS0FBSyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO2dCQUNoRyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLENBQUM7Z0JBQzFGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN2RyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztnQkFDckIsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxLQUFLLENBQUM7Z0JBQ3BDLElBQUksSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7b0JBQzFDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDN0MsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO29CQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO3dCQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLFNBQVMsQ0FBQztvQkFDOUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUNwQztZQUNILENBQUM7WUFDRCxLQUFLLEVBQUUsR0FBRyxFQUFFO2dCQUNWLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO2dCQUN4QixJQUFJLENBQUMsc0JBQXNCLEdBQUcsRUFBRSxDQUFDO2dCQUNqQyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEtBQUssQ0FBQztZQUN0QyxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGtCQUFrQixDQUFDLFNBQWlCO1FBQ2xDLElBQUksSUFBSSxDQUFDLHdCQUF3QixLQUFLLFNBQVM7WUFBRSxPQUFPO1FBQ3hELElBQUksQ0FBQyx3QkFBd0IsR0FBRyxTQUFTLENBQUM7UUFDMUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDN0MsSUFBSSxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2pCLE1BQU0sSUFBSSxHQUFHLEdBQUcsRUFBRSxJQUFJLElBQUksR0FBRyxDQUFDO2dCQUM5QixNQUFNLGFBQWEsR0FBVSxJQUFJLEVBQUUsWUFBWSxJQUFJLEVBQUUsQ0FBQztnQkFDdEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7Z0JBQzFCLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRTtvQkFDL0IsSUFBSSxDQUFDLENBQUMsS0FBSzt3QkFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO29CQUMxRSxJQUFJLENBQUMsQ0FBQyxFQUFFO3dCQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQzNFLENBQUMsQ0FBQyxDQUFDO2dCQUNILElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7Z0JBQzlCLHFCQUFxQjtnQkFDckIsOEVBQThFO2dCQUM5RSxrREFBa0Q7Z0JBQ2xELFVBQVU7WUFDWixDQUFDO1lBQ0QsS0FBSyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ2hELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxTQUFpQjtRQUN0QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUM3QyxJQUFJLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDakIsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFLElBQUksSUFBSSxHQUFHLENBQUM7Z0JBQzlCLE1BQU0sYUFBYSxHQUFVLElBQUksRUFBRSxZQUFZLElBQUksRUFBRSxDQUFDO2dCQUN0RCxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztnQkFDbkIsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFO29CQUMvQixJQUFJLENBQUMsQ0FBQyxLQUFLO3dCQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7b0JBQ25FLElBQUksQ0FBQyxDQUFDLEVBQUU7d0JBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDcEUsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFDO2dCQUNoQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO2dCQUM5QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO2dCQUMvQixJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDO2dCQUNyQyxJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztnQkFDMUIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3hCLENBQUM7WUFDRCxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDaEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELDREQUE0RDtJQUM1RCxXQUFXO1FBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBQ3RELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFN0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2xGLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUV0QixJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssSUFBSSxFQUFFO1lBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDO2dCQUN2QixVQUFVLEVBQUUsSUFBSSxDQUFDLGFBQWE7Z0JBQzlCLGFBQWEsRUFBRSxZQUFZLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxZQUFZO2FBQy9GLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUMxQztRQUVELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLE1BQU0sT0FBTyxHQUFHO1lBQ2QsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQ3hCLFVBQVUsRUFBRSxJQUFJLENBQUMsYUFBYTtZQUM5QixZQUFZLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNuRCxnQkFBZ0IsRUFBRSxjQUFjO1lBQ2hDLE9BQU8sRUFBRSxZQUFZO1lBQ3JCLGFBQWEsRUFBRSxPQUFPO1lBQ3RCLE1BQU0sRUFBRTtnQkFDTixjQUFjLEVBQUUsSUFBSSxDQUFDLGFBQWE7Z0JBQ2xDLGVBQWUsRUFBRTtvQkFDZixVQUFVLEVBQUMsVUFBVSxFQUFDLFNBQVMsRUFBQyxVQUFVLEVBQUMsU0FBUztvQkFDcEQsVUFBVSxFQUFDLFNBQVMsRUFBQyxVQUFVLEVBQUMsVUFBVSxFQUFDLFNBQVM7b0JBQ3BELFFBQVEsRUFBQyxTQUFTLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxTQUFTO2lCQUNqRDtnQkFDRCxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUU7Z0JBQ3RELGlCQUFpQixFQUFFLENBQUMsT0FBTyxDQUFDO2FBQzdCO1NBQ0YsQ0FBQztRQUVGLE1BQU0sWUFBWSxHQUFRLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLElBQUksRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUNwRyxJQUFJLGdCQUFnQixHQUFHLEtBQUssQ0FBQztRQUU3QixJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUM3RSxJQUFJLEVBQUUsQ0FBQyxLQUFhLEVBQUUsRUFBRTtnQkFDdEIsSUFBSSxDQUFDLGdCQUFnQixFQUFFO29CQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztvQkFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7b0JBQ3RCLGdCQUFnQixHQUFHLElBQUksQ0FBQztpQkFDekI7Z0JBQ0QsWUFBWSxDQUFDLElBQUksSUFBSSxLQUFLLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN4QixDQUFDO1lBQ0QsS0FBSyxFQUFFLEdBQUcsRUFBRTtnQkFDVixJQUFJLENBQUMsZ0JBQWdCLEVBQUU7b0JBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7b0JBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7aUJBQUU7Z0JBQ25GLFlBQVksQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDLElBQUksSUFBSSx5Q0FBeUMsQ0FBQztnQkFDbkYsWUFBWSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDM0IsQ0FBQztZQUNELFFBQVEsRUFBRSxHQUFHLEVBQUU7Z0JBQ2IsWUFBWSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7Z0JBQy9CLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsS0FBSyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7Z0JBQy9FLElBQUksS0FBSztvQkFBRSxLQUFLLENBQUMsUUFBUSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQy9DLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDM0IsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDM0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDO1FBQzNDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxRQUFRLENBQUMsU0FBaUI7UUFDeEIsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLFNBQVM7WUFBRSxPQUFPO1FBQzlDLElBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDO1FBQy9CLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBRXRCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsS0FBSyxTQUFTLENBQUMsQ0FBQztRQUN0RSxJQUFJLE1BQU0sRUFBRSxRQUFRLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3JDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3RCLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzFCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUM3QyxJQUFJLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDakIsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFLElBQUksSUFBSSxHQUFHLENBQUM7Z0JBQzlCLE1BQU0sYUFBYSxHQUFVLElBQUksRUFBRSxZQUFZLElBQUksRUFBRSxDQUFDO2dCQUN0RCxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztnQkFDbkIsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFO29CQUMvQixJQUFJLENBQUMsQ0FBQyxLQUFLO3dCQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7b0JBQ25FLElBQUksQ0FBQyxDQUFDLEVBQUU7d0JBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDcEUsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsSUFBSSxNQUFNO29CQUFFLE1BQU0sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDakQsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN4QixDQUFDO1lBQ0QsS0FBSyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDdkUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVU7WUFBRSxPQUFPO1FBQzdCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDN0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzlELElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNqQixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxRQUFRLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUM5RCxVQUFVLEVBQUUsQ0FBQyxDQUFDLFVBQVU7b0JBQ3hCLGFBQWEsRUFBRSxDQUFDLENBQUMsYUFBYTtpQkFDL0IsQ0FBQyxDQUFDLENBQUM7Z0JBQ0osSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztnQkFDOUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUMzQixDQUFDO1lBQ0QsS0FBSyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUMxRSxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sY0FBYztRQUNwQixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSTtnQkFDRixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLGFBQWEsQ0FBQztnQkFDL0MsSUFBSSxFQUFFO29CQUFFLEVBQUUsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQzthQUN4QztZQUFDLE1BQU0sR0FBRTtRQUNaLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUM7SUFDckQsQ0FBQzt3R0FwK0JZLGtCQUFrQjs0RkFBbEIsa0JBQWtCLDJWQ2IvQiwwazJEQTRvQk07OzRGRC9uQk8sa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLGdCQUFnQjtnT0FNTyxrQkFBa0I7c0JBQWxELFNBQVM7dUJBQUMsb0JBQW9CO2dCQUNPLGVBQWU7c0JBQXBELFNBQVM7dUJBQUMsaUJBQWlCO2dCQWlMNUIsZUFBZTtzQkFEZCxZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFBhZ2VJbmZvU2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1nbG9iYWwnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQXVkaW9TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXVkaW8uc2VydmljZSc7XHJcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1nbG9iYWwnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1hdWRpby1wYWdlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXVkaW8tcGFnZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYXVkaW8tcGFnZS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdWRpb1BhZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgQFZpZXdDaGlsZCgnY2hhdFRocmVhZE1lc3NhZ2VzJykgY2hhdFRocmVhZE1lc3NhZ2VzITogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZCgnc2Nyb2xsQ29udGFpbmVyJykgcHJpdmF0ZSBzY3JvbGxDb250YWluZXIhOiBFbGVtZW50UmVmO1xyXG5cclxuICAvLyBhaS1jaGF0IHZhcmlhYmxlcyAodXNlZCBieSBpbmxpbmVkIGFpLWNoYXQgSFRNTClcclxuICBtZXNzYWdlczogYW55W10gPSBbXTtcclxuICB1c2VyTWVzc2FnZSA9ICcnO1xyXG4gIGlzVHlwaW5nID0gZmFsc2U7XHJcbiAgc2hvd0NoYXRIaXN0b3J5ID0gZmFsc2U7XHJcbiAgY2hhdEhpc3Rvcnk6IHsgc2Vzc2lvbl9pZDogc3RyaW5nOyBzZXNzaW9uX3RpdGxlOiBzdHJpbmc7IG1lc3NhZ2VzPzogYW55W10gfVtdID0gW107XHJcbiAgc2VsZWN0ZWRDaGF0SWQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIGlzQ2hhdExvYWRpbmcgPSBmYWxzZTtcclxuICBzZWFyY2hUZXh0ID0gJyc7XHJcblxyXG4gIGdldCBmaWx0ZXJlZEhpc3RvcnkoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jaGF0SGlzdG9yeS5maWx0ZXIoaCA9PlxyXG4gICAgICBoLnNlc3Npb25fdGl0bGUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLnNlYXJjaFRleHQudG9Mb3dlckNhc2UoKSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRDaGF0VGl0bGUoKTogc3RyaW5nIHsgcmV0dXJuICdUYW5nbyBTU0cgQUknOyB9XHJcblxyXG4gIHRvdGFsQXVkaW8gPSAwO1xyXG4gIGZpbHRlclR5cGUgPSAnJztcclxuICBzZWxlY3RlZENvaG9ydElkID0gJyc7XHJcbiAgaXNDb2hvcnREcm9wZG93bk9wZW4gPSBmYWxzZTtcclxuICBjb2hvcnRMaXN0OiB7IGlkOiBzdHJpbmc7IG5hbWU6IHN0cmluZyB9W10gPSBbXTtcclxuICBjb2hvcnRPcHRpb25zOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNoYXRRdWVyeSA9ICcnO1xyXG5cclxuICBjdXJyZW50UGFnZSA9IDE7XHJcbiAgb2Zmc2V0ID0gMTtcclxuICBwYWdlU2l6ZSA9IDEwO1xyXG4gIHRvdGFsSXRlbXMgPSAwO1xyXG4gIHBhZ2luYXRpb25TaXplcyA9IFsxMCwgMjAsIDMwXTtcclxuICBkaXNwbGF5ZWRDb252ZXJzYXRpb25zOiBhbnlbXSA9IFtdO1xyXG5cclxuICBpc0xvYWRpbmdDYXJkcyA9IGZhbHNlO1xyXG4gIGlzTG9hZGluZ0NvbnZlcnNhdGlvbnMgPSBmYWxzZTtcclxuXHJcbiAgc2VsZWN0ZWRDYXJkSWQgPSAnJztcclxuICBzZWxlY3RlZENhcmROYW1lID0gJyc7XHJcblxyXG5cclxuICAvLyDilIDilIAgV2VpZ2h0YWdlIG9wdGlvbnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcbiAgd2VpZ2h0YWdlT3B0aW9ucyA9IFsnTG93JywgJ01lZGl1bScsICdIaWdoJywgJ0NyaXRpY2FsJ107XHJcblxyXG4gIC8vIOKUgOKUgCBEeW5hbWljIFN0YXQgQ2FyZHMgZnJvbSBBUEkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcbiAgY29ob3J0Q2FyZHM6IHtcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIHR5cGU6IGFueTtcclxuICAgIGJvb2xlYW5Sb3dzPzogYW55W107XHJcbiAgICBudW1lcmljRGF0YT86IGFueTtcclxuICAgIHN1YmplY3RpdmVSb3dzPzogYW55W107XHJcbiAgICBwaXRjaFJvd3M/OiBhbnlbXTtcclxuICB9W10gPSBbXTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcGFnZUluZm86IFBhZ2VJbmZvU2VydmljZSxcclxuICAgIHByaXZhdGUgYXVkaW9TZXJ2aWNlOiBBdWRpb1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgZ3M6IEdsb2JhbFN0YXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxyXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgKSB7fVxyXG5cclxuICBwYXJzZU1hcmtkb3duKHRleHQ6IHN0cmluZyk6IFNhZmVIdG1sIHtcclxuICAgIGlmICghdGV4dCkgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKCcnKTtcclxuXHJcbiAgICBjb25zdCBpbWdQbGFjZWhvbGRlcnM6IHN0cmluZ1tdID0gW107XHJcbiAgICBjb25zdCBpbWdTdHlsZSA9ICdtYXgtd2lkdGg6MTAwJTtib3JkZXItcmFkaXVzOjhweDttYXJnaW46OHB4IDA7ZGlzcGxheTpibG9jazsnO1xyXG5cclxuICAgIGxldCBwcm9jZXNzZWQgPSB0ZXh0XHJcbiAgICAgIC5yZXBsYWNlKC88aW1nXFxzW14+XSo+L2dpLCAobWF0Y2gpID0+IHtcclxuICAgICAgICBjb25zdCBoYXNTdHlsZSA9IC9zdHlsZT0vaS50ZXN0KG1hdGNoKTtcclxuICAgICAgICBjb25zdCB0YWcgPSBoYXNTdHlsZSA/IG1hdGNoIDogbWF0Y2gucmVwbGFjZSgvXFwvPz4kLywgYCBzdHlsZT1cIiR7aW1nU3R5bGV9XCIgLz5gKTtcclxuICAgICAgICBpbWdQbGFjZWhvbGRlcnMucHVzaCh0YWcpO1xyXG4gICAgICAgIHJldHVybiBgJSVJTUdfJHtpbWdQbGFjZWhvbGRlcnMubGVuZ3RoIC0gMX0lJWA7XHJcbiAgICAgIH0pXHJcbiAgICAgIC5yZXBsYWNlKC8hXFxbKFteXFxdXSopXFxdXFwoKGh0dHBzPzpcXC9cXC9bXildKylcXCkvZywgKF8sIGFsdCwgc3JjKSA9PiB7XHJcbiAgICAgICAgaW1nUGxhY2Vob2xkZXJzLnB1c2goYDxpbWcgc3JjPVwiJHtzcmN9XCIgYWx0PVwiJHthbHR9XCIgc3R5bGU9XCIke2ltZ1N0eWxlfVwiIC8+YCk7XHJcbiAgICAgICAgcmV0dXJuIGAlJUlNR18ke2ltZ1BsYWNlaG9sZGVycy5sZW5ndGggLSAxfSUlYDtcclxuICAgICAgfSlcclxuICAgICAgLnJlcGxhY2UoLyhodHRwcz86XFwvXFwvXFxTK1xcLig/OmpwZ3xqcGVnfHBuZ3xnaWZ8d2VicHxzdmcpKFxcP1teXFxzXSopPykvZ2ksIChfLCBzcmMpID0+IHtcclxuICAgICAgICBpbWdQbGFjZWhvbGRlcnMucHVzaChgPGltZyBzcmM9XCIke3NyY31cIiBhbHQ9XCJpbWFnZVwiIHN0eWxlPVwiJHtpbWdTdHlsZX1cIiAvPmApO1xyXG4gICAgICAgIHJldHVybiBgJSVJTUdfJHtpbWdQbGFjZWhvbGRlcnMubGVuZ3RoIC0gMX0lJWA7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIGxldCBodG1sID0gcHJvY2Vzc2VkXHJcbiAgICAgIC5yZXBsYWNlKC8mL2csICcmYW1wOycpLnJlcGxhY2UoLzwvZywgJyZsdDsnKS5yZXBsYWNlKC8+L2csICcmZ3Q7JylcclxuICAgICAgLnJlcGxhY2UoL14jIyMgKC4rKSQvZ20sICc8aDU+JDE8L2g1PicpXHJcbiAgICAgIC5yZXBsYWNlKC9eIyMgKC4rKSQvZ20sICc8aDQ+JDE8L2g0PicpXHJcbiAgICAgIC5yZXBsYWNlKC9eIyAoLispJC9nbSwgJzxoMz4kMTwvaDM+JylcclxuICAgICAgLnJlcGxhY2UoL1xcKlxcKiguKz8pXFwqXFwqL2csICc8c3Ryb25nPiQxPC9zdHJvbmc+JylcclxuICAgICAgLnJlcGxhY2UoL19fKC4rPylfXy9nLCAnPHN0cm9uZz4kMTwvc3Ryb25nPicpXHJcbiAgICAgIC5yZXBsYWNlKC9cXCooLis/KVxcKi9nLCAnPGVtPiQxPC9lbT4nKVxyXG4gICAgICAucmVwbGFjZSgvXyguKz8pXy9nLCAnPGVtPiQxPC9lbT4nKVxyXG4gICAgICAucmVwbGFjZSgvXlxccypbLSpdICguKykkL2dtLCAnPGxpPiQxPC9saT4nKVxyXG4gICAgICAucmVwbGFjZSgvXlxccypcXGQrXFwuICguKykkL2dtLCAnPGxpPiQxPC9saT4nKVxyXG4gICAgICAucmVwbGFjZSgvKDxsaT4uKjxcXC9saT4pL2dzLCAnPHVsPiQxPC91bD4nKVxyXG4gICAgICAucmVwbGFjZSgvXFxuezIsfS9nLCAnPC9wPjxwPicpXHJcbiAgICAgIC5yZXBsYWNlKC9cXG4vZywgJzxicj4nKTtcclxuICAgIGh0bWwgPSBgPHA+JHtodG1sfTwvcD5gO1xyXG5cclxuICAgIGh0bWwgPSBodG1sLnJlcGxhY2UoLyUlSU1HXyhcXGQrKSUlL2csIChfLCBpKSA9PiBpbWdQbGFjZWhvbGRlcnNbK2ldIHx8ICcnKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoaHRtbCk7XHJcbiAgfVxyXG5cclxuICBwYXJzZUNvaG9ydEFuYWx5c2lzKHJlc3BvbnNlOiBhbnkpOiB2b2lkIHtcclxuICAgIGNvbnN0IGFuYWx5c2lzID0gcmVzcG9uc2U/LmRhdGE/LmNvaG9ydEFuYWx5c2lzO1xyXG4gICAgaWYgKCFhbmFseXNpcykgcmV0dXJuO1xyXG5cclxuICAgIHRoaXMudG90YWxBdWRpbyA9IGFuYWx5c2lzLnRvdGFsQXVkaW9BdmFpbGFibGUgfHwgMDtcclxuICAgIHRoaXMuY29ob3J0Q2FyZHMgPSBbXTtcclxuXHJcbiAgICBjb25zdCBza2lwS2V5cyA9IG5ldyBTZXQoWyd0b3RhbEF1ZGlvQXZhaWxhYmxlJywgJ2NvaG9ydFR5cGUnLCAnZGF0ZVJhbmdlJywgJ3VuaXF1ZVBpdGNoZXMnXSk7XHJcblxyXG4gICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoYW5hbHlzaXMpKSB7XHJcbiAgICAgIGlmIChza2lwS2V5cy5oYXMoa2V5KSkgY29udGludWU7XHJcbiAgICAgIGNvbnN0IHNlY3Rpb24gPSBhbmFseXNpc1trZXldO1xyXG4gICAgICBpZiAoIXNlY3Rpb24gfHwgdHlwZW9mIHNlY3Rpb24gIT09ICdvYmplY3QnKSBjb250aW51ZTtcclxuXHJcbiAgICAgIGNvbnN0IHZhbHVlczogYW55W10gPSBzZWN0aW9uLnZhbHVlIHx8IFtdO1xyXG4gICAgICBjb25zdCB0eXBlID0gc2VjdGlvbi50eXBlO1xyXG5cclxuICAgICAgaWYgKCF2YWx1ZXMubGVuZ3RoKSBjb250aW51ZTtcclxuXHJcbiAgICAgIGlmICh0eXBlID09PSAnQk9PTEVBTl9CQVNLRVQnKSB7XHJcbiAgICAgICAgdGhpcy5jb2hvcnRDYXJkcy5wdXNoKHtcclxuICAgICAgICAgIG5hbWU6IHNlY3Rpb24ubmFtZSB8fCBrZXksXHJcbiAgICAgICAgICB0eXBlOiAnQk9PTEVBTl9CQVNLRVQnLFxyXG4gICAgICAgICAgYm9vbGVhblJvd3M6IHZhbHVlcy5tYXAoKGl0ZW06IGFueSkgPT4gKHtcclxuICAgICAgICAgICAgaWQ6IGl0ZW0uX2lkIHx8ICcnLFxyXG4gICAgICAgICAgICBsYWJlbDogaXRlbS5uYW1lLFxyXG4gICAgICAgICAgICByZXNwb25zZXM6IGl0ZW0uUmVzcG9uc2VzID8/IGl0ZW0uY291bnQgPz8gMCxcclxuICAgICAgICAgICAgc2NvcmU6IGl0ZW0uc2NvcmUgPz8gMFxyXG4gICAgICAgICAgfSkpXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ05VTUVSSUNfU0NBTEFSJykge1xyXG4gICAgICAgIGNvbnN0IGl0ZW0gPSB2YWx1ZXNbMF0gfHwge307XHJcbiAgICAgICAgdGhpcy5jb2hvcnRDYXJkcy5wdXNoKHtcclxuICAgICAgICAgIG5hbWU6IHNlY3Rpb24ubmFtZSB8fCBrZXksXHJcbiAgICAgICAgICB0eXBlOiAnTlVNRVJJQ19TQ0FMQVInLFxyXG4gICAgICAgICAgbnVtZXJpY0RhdGE6IHsgdG90YWw6IGl0ZW0uVG90YWwgPz8gMCwgYXZnOiBpdGVtLkF2ZyA/PyAwIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmICh0eXBlID09PSAnTlVNRVJJQ19BUlJBWScpIHtcclxuICAgICAgICAgY29uc3QgaXRlbSA9IHZhbHVlc1swXSB8fCB7fTtcclxuICAgICAgICB0aGlzLmNvaG9ydENhcmRzLnB1c2goe1xyXG4gICAgICAgICAgbmFtZTogc2VjdGlvbi5uYW1lIHx8IGtleSxcclxuICAgICAgICAgIHR5cGU6ICdOVU1FUklDX0FSUkFZJyxcclxuICAgICAgICAgIG51bWVyaWNEYXRhOiB7IHRvdGFsOiBpdGVtLlRvdGFsID8/IDAsIGF2ZzogaXRlbS5BdmcgPz8gMCB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAodHlwZSA9PT0gJ1NVQkpFQ1RJVkUnfHx0eXBlPT09J1NVQkpFQ1RJVkVfQ09VTlQnKSB7XHJcbiAgICAgICAgdGhpcy5jb2hvcnRDYXJkcy5wdXNoKHtcclxuICAgICAgICAgIG5hbWU6IHNlY3Rpb24ubmFtZSB8fCBrZXksXHJcbiAgICAgICAgICB0eXBlOiB0eXBlLFxyXG4gICAgICAgICAgc3ViamVjdGl2ZVJvd3M6IHZhbHVlcy5tYXAoKGl0ZW06IGFueSkgPT4gKHtcclxuICAgICAgICAgICAgX2lkOiBpdGVtLl9pZCB8fCAnJyxcclxuICAgICAgICAgICAgcmVhc29uaW5nOiBpdGVtLnJlYXNvbmluZyB8fCAnJyxcclxuICAgICAgICAgICAgc3RvcmVfaWQ6IGl0ZW0uc3RvcmVfaWQgfHwgJycsXHJcbiAgICAgICAgICAgIGRhdGU6IGl0ZW0uZGF0ZSB8fCAnJ1xyXG4gICAgICAgICAgfSkpXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBJbnNlcnQgdW5pcXVlIHBpdGNoZXMgY2FyZCBpZiBwcmVzZW50XHJcbiAgICBpZiAoYW5hbHlzaXMudW5pcXVlUGl0Y2hlcyAmJiBBcnJheS5pc0FycmF5KGFuYWx5c2lzLnVuaXF1ZVBpdGNoZXMpKSB7XHJcbiAgICAgIGNvbnN0IHBpdGNoSW5zZXJ0SWR4ID0gdGhpcy5jb2hvcnRDYXJkcy5sZW5ndGggPj0gMiA/IDIgOiB0aGlzLmNvaG9ydENhcmRzLmxlbmd0aDtcclxuICAgICAgdGhpcy5jb2hvcnRDYXJkcy5zcGxpY2UocGl0Y2hJbnNlcnRJZHgsIDAsIHtcclxuICAgICAgICBuYW1lOiAnVW5pcXVlIFBpdGNoZXMnLFxyXG4gICAgICAgIHR5cGU6ICdVTklRVUVfUElUQ0hFUycsXHJcbiAgICAgICAgcGl0Y2hSb3dzOiBhbmFseXNpcy51bmlxdWVQaXRjaGVzLm1hcCgocDogYW55KSA9PiAoeyBpZDogcC5waXRjaElkLCBkZXNjOiBwLmRlc2NyaXB0aW9uIH0pKVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcclxuICBvbkRvY3VtZW50Q2xpY2soZTogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKCEoZS50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsb3Nlc3QoJy5jb2hvcnQtZHJvcGRvd24nKSkge1xyXG4gICAgICB0aGlzLmlzQ29ob3J0RHJvcGRvd25PcGVuID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBpZiAoIShlLnRhcmdldCBhcyBIVE1MRWxlbWVudCkuY2xvc2VzdCgnLnBsdXMtbWVudS13cmFwJykpIHtcclxuICAgICAgdGhpcy5zaG93UGx1c01lbnUgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIOKUgOKUgCBBSSBNb2RlbCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuICByZWFkb25seSBtb2RlbE9wdGlvbnMgPSBbXHJcbiAgICB7IGxhYmVsOiAndjEnLCB2YWx1ZTogJ2dlbWluaS0yLjUtcHJvJyB9LFxyXG4gICAgeyBsYWJlbDogJ3YyJywgdmFsdWU6ICdjbGF1ZGUtc29ubmV0LTQtNicgfVxyXG4gIF07XHJcbiAgc2VsZWN0ZWRNb2RlbCA9ICdnZW1pbmktMi41LXBybyc7XHJcbiAgc2hvd1BsdXNNZW51ID0gZmFsc2U7XHJcblxyXG4gIGdldCBzZWxlY3RlZE1vZGVsVmVyc2lvbigpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgbWF0Y2ggPSB0aGlzLnNlbGVjdGVkTW9kZWwubWF0Y2goLyhcXGQrXFwuXFxkKykvKTtcclxuICAgIHJldHVybiBtYXRjaCA/IG1hdGNoWzFdIDogJyc7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RNb2RlbCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7IHRoaXMuc2VsZWN0ZWRNb2RlbCA9IHZhbHVlOyB9XHJcbiAgdG9nZ2xlUGx1c01lbnUoKTogdm9pZCB7IHRoaXMuc2hvd1BsdXNNZW51ID0gIXRoaXMuc2hvd1BsdXNNZW51OyB9XHJcbiAgY2xvc2VQbHVzTWVudSgpOiB2b2lkIHsgdGhpcy5zaG93UGx1c01lbnUgPSBmYWxzZTsgfVxyXG5cclxuICBzZWxlY3RDb2hvcnRUeXBlKG9wdGlvbjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmZpbHRlclR5cGUgPSBvcHRpb247XHJcbiAgICBjb25zdCBmb3VuZCA9IHRoaXMuY29ob3J0TGlzdC5maW5kKGMgPT4gYy5uYW1lID09PSBvcHRpb24pO1xyXG4gICAgdGhpcy5zZWxlY3RlZENvaG9ydElkID0gZm91bmQgPyBmb3VuZC5pZCA6ICcnO1xyXG4gICAgdGhpcy5pc0NvaG9ydERyb3Bkb3duT3BlbiA9IGZhbHNlO1xyXG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IDE7XHJcbiAgICB0aGlzLm9mZnNldCA9IDE7XHJcbiAgICB0aGlzLnNlbGVjdGVkQ2FyZElkID0gJyc7XHJcbiAgICB0aGlzLnNlbGVjdGVkQ2FyZE5hbWUgPSAnJztcclxuICAgIHRoaXMuZmV0Y2hDb2hvcnRDYXJkcygpO1xyXG4gICAgdGhpcy5mZXRjaENvbnZlcnNhdGlvbnMoKTtcclxuICB9XHJcblxyXG4gIC8vIOKUgOKUgCBXYXZlZm9ybSAmIFBsYXllciDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHJcbiAgd2F2ZWZvcm1IZWlnaHRzID0gW1xyXG4gICAgOCwgMjIsIDM4LCA1MiwgNDQsIDI4LCA1NiwgNDIsIDE4LCAzMiwgNTQsIDQ2LCAyNCwgNDAsIDYwLCA1MCwgMjYsIDQ0LFxyXG4gICAgMzYsIDE4LCA1MiwgMzgsIDI4LCA0NiwgMzQsIDIwLCA1NiwgNDIsIDE0LCAzNiwgNTAsIDMwLCAyMiwgNDQsIDU2LCAzOCxcclxuICAgIDIwLCA0NiwgMzAsIDE2LCA1MCwgMzYsIDI0LCA1NCwgNDIsIDI4LCAzNiwgMjAsIDQ2LCAzMiwgMTgsIDQwLCA1NiwgNDQsXHJcbiAgICAyNCwgMzYsIDIwLCA1MCwgMzQsIDIyXHJcbiAgXTtcclxuXHJcbiAgLyoqIDAuMCDigJMgMS4wOiBmcmFjdGlvbiBvZiBhdWRpbyB0aGF0IGhhcyBiZWVuIHBsYXllZCAqL1xyXG4gIC8vIHBsYXlQcm9ncmVzcyA9IDAuMTg7XHJcbiAgLyoqIElEIG9mIHRoZSBjb252ZXJzYXRpb24gd2hvc2UgYXVkaW8gaXMgY3VycmVudGx5IHBsYXlpbmcgKG51bGwgPSBub25lKSAqL1xyXG4gIHBsYXlpbmdDb252SWQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIGlzTXV0ZWQgPSBmYWxzZTtcclxuICAvLyBQZXItY29udmVyc2F0aW9uIHBsYXliYWNrIHN0YXRlcyBmb3IgVUkgcGVyc2lzdGVuY2VcclxuICBwbGF5YmFja1N0YXRlczogeyBbaWQ6IHN0cmluZ106IHsgY3VycmVudFRpbWU6IHN0cmluZywgdG90YWxUaW1lOiBzdHJpbmcsIHByb2dyZXNzOiBudW1iZXIgfSB8IHVuZGVmaW5lZCB9ID0ge307XHJcblxyXG4gIG9uTG9hZGVkTWV0YWRhdGEoYXVkaW86IEhUTUxBdWRpb0VsZW1lbnQsIGNvbnZJZDogc3RyaW5nLCBhcGlEdXJhdGlvbj86IHN0cmluZykge1xyXG4gICAgaWYgKCF0aGlzLnBsYXliYWNrU3RhdGVzW2NvbnZJZF0pIHtcclxuICAgICAgdGhpcy5wbGF5YmFja1N0YXRlc1tjb252SWRdID0geyBjdXJyZW50VGltZTogJzA6MDAnLCB0b3RhbFRpbWU6ICcwOjAwJywgcHJvZ3Jlc3M6IDAgfTtcclxuICAgIH1cclxuICAgIGNvbnN0IHN0YXRlID0gdGhpcy5wbGF5YmFja1N0YXRlc1tjb252SWRdITtcclxuICAgIC8vIFVzZSBicm93c2VyIGR1cmF0aW9uIGlmIHZhbGlkOyBvdGhlcndpc2UgZmFsbCBiYWNrIHRvIEFQSS1wcm92aWRlZCBzdHJpbmdcclxuICAgIGlmIChpc0Zpbml0ZShhdWRpby5kdXJhdGlvbikgJiYgYXVkaW8uZHVyYXRpb24gPiAwKSB7XHJcbiAgICAgIHN0YXRlLnRvdGFsVGltZSA9IHRoaXMuZm9ybWF0VGltZShhdWRpby5kdXJhdGlvbik7XHJcbiAgICB9IGVsc2UgaWYgKGFwaUR1cmF0aW9uKSB7XHJcbiAgICAgIHN0YXRlLnRvdGFsVGltZSA9IGFwaUR1cmF0aW9uO1xyXG4gICAgfVxyXG4gICAgLy8gUmVzdG9yZSBzYXZlZCBwbGF5YmFjayBwb3NpdGlvbiBpZiB1c2VyIGhhZCBiZWVuIGxpc3RlbmluZyBiZWZvcmVcclxuICAgIGlmIChzdGF0ZS5wcm9ncmVzcyA+IDAgJiYgaXNGaW5pdGUoYXVkaW8uZHVyYXRpb24pICYmIGF1ZGlvLmR1cmF0aW9uID4gMCkge1xyXG4gICAgICBhdWRpby5jdXJyZW50VGltZSA9IHN0YXRlLnByb2dyZXNzICogYXVkaW8uZHVyYXRpb247XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblRpbWVVcGRhdGUoYXVkaW86IEhUTUxBdWRpb0VsZW1lbnQsIGNvbnZJZDogc3RyaW5nKSB7XHJcbiAgICBpZiAoIXRoaXMucGxheWJhY2tTdGF0ZXNbY29udklkXSkge1xyXG4gICAgICB0aGlzLnBsYXliYWNrU3RhdGVzW2NvbnZJZF0gPSB7IGN1cnJlbnRUaW1lOiAnMDowMCcsIHRvdGFsVGltZTogJzA6MDAnLCBwcm9ncmVzczogMCB9O1xyXG4gICAgfVxyXG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLnBsYXliYWNrU3RhdGVzW2NvbnZJZF0hO1xyXG4gICAgc3RhdGUuY3VycmVudFRpbWUgPSB0aGlzLmZvcm1hdFRpbWUoYXVkaW8uY3VycmVudFRpbWUpO1xyXG4gICAgaWYgKGlzRmluaXRlKGF1ZGlvLmR1cmF0aW9uKSAmJiBhdWRpby5kdXJhdGlvbiA+IDApIHtcclxuICAgICAgc3RhdGUucHJvZ3Jlc3MgPSBhdWRpby5jdXJyZW50VGltZSAvIGF1ZGlvLmR1cmF0aW9uO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbmZvcm1hdFRpbWUoc2Vjb25kczogbnVtYmVyKTogc3RyaW5nIHtcclxuICBpZiAoIXNlY29uZHMpIHJldHVybiAnMDowMCc7XHJcblxyXG4gIGNvbnN0IG1pbnMgPSBNYXRoLmZsb29yKHNlY29uZHMgLyA2MCk7XHJcbiAgY29uc3Qgc2VjcyA9IE1hdGguZmxvb3Ioc2Vjb25kcyAlIDYwKTtcclxuXHJcbiAgcmV0dXJuIGAke21pbnN9OiR7c2VjcyA8IDEwID8gJzAnICsgc2VjcyA6IHNlY3N9YDtcclxufVxyXG5cclxuICBzZWVrQXVkaW8oZXZlbnQ6IE1vdXNlRXZlbnQsIGNvbnZJZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCB0cmFjayA9IGV2ZW50LmN1cnJlbnRUYXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICBjb25zdCByYXRpbyA9IGV2ZW50Lm9mZnNldFggLyB0cmFjay5vZmZzZXRXaWR0aDtcclxuICAgIGNvbnN0IGF1ZGlvID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYGF1ZGlvLSR7Y29udklkfWApIGFzIEhUTUxBdWRpb0VsZW1lbnQ7XHJcbiAgICBpZiAoIWF1ZGlvIHx8ICFhdWRpby5kdXJhdGlvbikgcmV0dXJuO1xyXG4gICAgYXVkaW8uY3VycmVudFRpbWUgPSByYXRpbyAqIGF1ZGlvLmR1cmF0aW9uO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlUGxheShjb252SWQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3QgYXVkaW8gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgYXVkaW8tJHtjb252SWR9YCkgYXMgSFRNTEF1ZGlvRWxlbWVudDtcclxuICAgIGlmICghYXVkaW8pIHJldHVybjtcclxuXHJcbiAgICBpZiAodGhpcy5wbGF5aW5nQ29udklkID09PSBjb252SWQpIHtcclxuICAgICAgYXVkaW8ucGF1c2UoKTtcclxuICAgICAgdGhpcy5wbGF5aW5nQ29udklkID0gbnVsbDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIFBhdXNlIHByZXZpb3VzbHkgcGxheWluZyBhdWRpb1xyXG4gICAgICBpZiAodGhpcy5wbGF5aW5nQ29udklkKSB7XHJcbiAgICAgICAgY29uc3Qgb3RoZXJBdWRpbyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGBhdWRpby0ke3RoaXMucGxheWluZ0NvbnZJZH1gKSBhcyBIVE1MQXVkaW9FbGVtZW50O1xyXG4gICAgICAgIGlmIChvdGhlckF1ZGlvKSBvdGhlckF1ZGlvLnBhdXNlKCk7XHJcbiAgICAgICAgdGhpcy5wbGF5aW5nQ29udklkID0gbnVsbDtcclxuICAgICAgfVxyXG4gICAgICAvLyBwbGF5KCkgcmV0dXJucyBhIFByb21pc2Ug4oCUIGhhbmRsZSByZWplY3Rpb24gdG8gYXZvaWQgc2lsZW50IGZhaWx1cmVzXHJcbiAgICAgIGNvbnN0IHBsYXlQcm9taXNlID0gYXVkaW8ucGxheSgpO1xyXG4gICAgICBpZiAocGxheVByb21pc2UgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHBsYXlQcm9taXNlLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5wbGF5aW5nQ29udklkID0gY29udklkO1xyXG4gICAgICAgIH0pLmNhdGNoKChlcnIpID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1tBdWRpb10gUGxheSBmYWlsZWQ6JywgZXJyKTtcclxuICAgICAgICAgIHRoaXMucGxheWluZ0NvbnZJZCA9IG51bGw7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5wbGF5aW5nQ29udklkID0gY29udklkO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB0b2dnbGVNdXRlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc011dGVkID0gIXRoaXMuaXNNdXRlZDtcclxuICAgIGNvbnN0IGF1ZGlvcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2F1ZGlvJyk7XHJcbiAgICBhdWRpb3MuZm9yRWFjaChhID0+IGEubXV0ZWQgPSB0aGlzLmlzTXV0ZWQpO1xyXG4gIH1cclxuXHJcbiAgLy8g4pSA4pSAIEFjY29yZGlvbiBTdGF0ZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHJcbiAgb3BlbklkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBhY3RpdmVUYWI6IHsgW2lkOiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG5oZWFkZXJEYXRhOiBhbnk7XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNldFBhZ2VEYXRhKCk7XHJcbiAgICB0aGlzLmluaXRDaGF0U2Vzc2lvbigpO1xyXG4gICAgdGhpcy5sb2FkQ2hhdEhpc3RvcnlMaXN0KCk7XHJcbiAgICB0aGlzLmdzLmRhdGFSYW5nZVZhbHVlXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGRhdGEpIHtcclxuICAgICAgICAgIHRoaXMuaGVhZGVyRGF0YSA9IGRhdGE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSAxO1xyXG4gICAgICAgIHRoaXMub2Zmc2V0ID0gMTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkQ2FyZElkID0gJyc7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZENhcmROYW1lID0gJyc7XHJcbiAgICAgICAgaWYgKCF0aGlzLmNvaG9ydExpc3RMb2FkZWQpIHtcclxuICAgICAgICAgIHRoaXMuZmV0Y2hDb2hvcnRMaXN0KCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuZmV0Y2hDb2hvcnRDYXJkcygpO1xyXG4gICAgICAgICAgdGhpcy5mZXRjaENvbnZlcnNhdGlvbnMoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjb2hvcnRMaXN0TG9hZGVkID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgZmV0Y2hDb2hvcnRMaXN0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgY2xpZW50SWQgPSAnMTEnO1xyXG4gICAgdGhpcy5hdWRpb1NlcnZpY2UubGlzdENvaG9ydHMoY2xpZW50SWQsIDEwMCwgMCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuY29ob3J0TGlzdExvYWRlZCA9IHRydWU7XHJcbiAgICAgICAgY29uc3QgY29ob3J0cyA9IHJlcz8uZGF0YT8uY29ob3J0cyB8fCBbXTtcclxuICAgICAgICB0aGlzLmNvaG9ydExpc3QgPSBjb2hvcnRzLm1hcCgoYzogYW55KSA9PiAoeyBpZDogYy5jb2hvcnRJZCwgbmFtZTogYy5jb2hvcnROYW1lIHx8ICcnIH0pKTtcclxuICAgICAgICB0aGlzLmNvaG9ydE9wdGlvbnMgPSB0aGlzLmNvaG9ydExpc3QubWFwKGMgPT4gYy5uYW1lKTtcclxuICAgICAgICBpZiAodGhpcy5jb2hvcnRMaXN0Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIHRoaXMuZmlsdGVyVHlwZSA9IHRoaXMuY29ob3J0TGlzdFswXS5uYW1lO1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZENvaG9ydElkID0gdGhpcy5jb2hvcnRMaXN0WzBdLmlkO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmZldGNoQ29ob3J0Q2FyZHMoKTtcclxuICAgICAgICB0aGlzLmZldGNoQ29udmVyc2F0aW9ucygpO1xyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY29ob3J0TGlzdExvYWRlZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5mZXRjaENvaG9ydENhcmRzKCk7XHJcbiAgICAgICAgdGhpcy5mZXRjaENvbnZlcnNhdGlvbnMoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZFBheWxvYWQoKTogYW55IHtcclxuICAgIGNvbnN0IGNsaWVudElkID0gICcxMSc7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBjbGllbnRJZDogQXJyYXkuaXNBcnJheShjbGllbnRJZCkgPyBjbGllbnRJZCA6IFtjbGllbnRJZF0sXHJcbiAgICAgIHN0b3JlSWQ6IFtcclxuICAgICAgICBcIjExLTEwNjJcIixcclxuICAgICAgICBcIjExLTEwNzhcIixcclxuICAgICAgICBcIjExLTEwODNcIixcclxuICAgICAgICBcIjExLTE1MTVcIixcclxuICAgICAgICBcIjExLTE1NFwiLFxyXG4gICAgICAgIFwiMTEtMTYyNlwiLFxyXG4gICAgICAgIFwiMTEtMTgxXCIsXHJcbiAgICAgICAgXCIxMS0xOTQ3XCIsXHJcbiAgICAgICAgXCIxMS0xOTk0XCIsXHJcbiAgICAgICAgXCIxMS0yMDBcIixcclxuICAgICAgICBcIjExLTIwMlwiLFxyXG4gICAgICAgIFwiMTEtMjE1XCIsXHJcbiAgICAgICAgXCIxMS0yNjBcIixcclxuICAgICAgICBcIjExLTc4XCIsXHJcbiAgICAgICAgXCIxMS04MTlcIlxyXG4gICAgXSxcclxuICAgICAgY29ob3J0VHlwZTogdGhpcy5zZWxlY3RlZENvaG9ydElkID8gW3RoaXMuc2VsZWN0ZWRDb2hvcnRJZF0gOiBbXSxcclxuICAgICAgc3RhcnREYXRlOiBcIjIwMjYtMDMtMDFcIixcclxuICAgICAgZW5kRGF0ZTogXCIyMDI2LTAzLTI4XCIsXHJcbiAgICAgIGlzQUk6IHRydWUsXHJcbiAgICAgIGFuYWx5dGljc1R5cGU6ICdhdWRpbycsXHJcbiAgICAgIGlzRXhwb3J0OiBmYWxzZVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGZldGNoQ29ob3J0Q2FyZHMoKTogdm9pZCB7XHJcbiAgIFxyXG4gICAgdGhpcy5pc0xvYWRpbmdDYXJkcyA9IHRydWU7XHJcbiAgICB0aGlzLmF1ZGlvU2VydmljZS5nZXRDb2hvcnRBbmFseXNpc0NhcmQodGhpcy5idWlsZFBheWxvYWQoKSkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMucGFyc2VDb2hvcnRBbmFseXNpcyhyZXMpO1xyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nQ2FyZHMgPSBmYWxzZTtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6ICgpID0+IHsgdGhpcy5pc0xvYWRpbmdDYXJkcyA9IGZhbHNlOyB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uU2VhcmNoKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IDE7XHJcbiAgICB0aGlzLm9mZnNldCA9IDE7XHJcbiAgICB0aGlzLnNlbmRDaGF0TWVzc2FnZSgpO1xyXG4gIH1cclxuXHJcbiAgZmV0Y2hDb252ZXJzYXRpb25zKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnBhZ2VTaXplIHx8IHRoaXMucGFnZVNpemUgPCAxKSB7IHRoaXMucGFnZVNpemUgPSAxMDsgfVxyXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcclxuICAgICAgLi4udGhpcy5idWlsZFBheWxvYWQoKSxcclxuICAgICAgLy8gc2VhcmNoVmFsdWU6IHRoaXMuY2hhdFF1ZXJ5IHx8ICcnLFxyXG4gICAgICBsaW1pdDogdGhpcy5wYWdlU2l6ZSxcclxuICAgICAgX2lkOiB0aGlzLnNlbGVjdGVkQ2FyZElkID8gW3RoaXMuc2VsZWN0ZWRDYXJkSWRdIDogW10sXHJcbiAgICAgIG5hbWU6IHRoaXMuc2VsZWN0ZWRDYXJkSWQgPyAnJyA6ICh0aGlzLnNlbGVjdGVkQ2FyZE5hbWUgfHwgJycpLFxyXG4gICAgICBvZmZzZXQ6IHRoaXMuY3VycmVudFBhZ2UgLSAxXHJcbiAgICB9O1xyXG4gICAgdGhpcy5pc0xvYWRpbmdDb252ZXJzYXRpb25zID0gdHJ1ZTtcclxuICAgIHRoaXMuYXVkaW9TZXJ2aWNlLmdldENvbnZlcnNhdGlvbnNMaXN0KHBheWxvYWQpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBjb25zdCBsaXN0ID0gcmVzPy5kYXRhPy5kYXRhIHx8IHJlcz8uZGF0YT8uY29udmVyc2F0aW9ucyB8fCBbXTtcclxuICAgICAgICB0aGlzLmNvbnZlcnNhdGlvbnMgPSBsaXN0Lm1hcCgoaXRlbTogYW55KSA9PiB0aGlzLm1hcENvbnZlcnNhdGlvbihpdGVtKSk7XHJcbiAgICAgICAgdGhpcy50b3RhbEl0ZW1zID0gcmVzPy5kYXRhPy5jb3VudCA/PyByZXM/LmRhdGE/LnBhZ2luYXRpb24/LnRvdGFsID8/IHRoaXMuY29udmVyc2F0aW9ucy5sZW5ndGg7XHJcbiAgICAgICAgdGhpcy5wYWdpbmF0aW9uU2l6ZXMgPSB0aGlzLnRvdGFsSXRlbXMgPiAxMCA/IFsxMCwgMjAsIDUwLCAxMDBdIDogW3RoaXMudG90YWxJdGVtcyB8fCAxMF07XHJcbiAgICAgICAgdGhpcy5wYWdlU2l6ZSA9IHRoaXMucGFnaW5hdGlvblNpemVzLmluY2x1ZGVzKHRoaXMucGFnZVNpemUpID8gdGhpcy5wYWdlU2l6ZSA6IHRoaXMucGFnaW5hdGlvblNpemVzWzBdO1xyXG4gICAgICAgIHRoaXMudXBkYXRlRGlzcGxheWVkQ29udmVyc2F0aW9ucygpO1xyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nQ29udmVyc2F0aW9ucyA9IGZhbHNlO1xyXG4gICAgICAgIC8vIEF1dG8tb3BlbiBmaXJzdCBjb252ZXJzYXRpb25cclxuICAgICAgICBpZiAodGhpcy5kaXNwbGF5ZWRDb252ZXJzYXRpb25zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIGNvbnN0IGZpcnN0ID0gdGhpcy5kaXNwbGF5ZWRDb252ZXJzYXRpb25zWzBdO1xyXG4gICAgICAgICAgdGhpcy5vcGVuSWQgPSBmaXJzdC5hdWRpb0lkO1xyXG4gICAgICAgICAgaWYgKCF0aGlzLmFjdGl2ZVRhYltmaXJzdC5hdWRpb0lkXSkgdGhpcy5hY3RpdmVUYWJbZmlyc3QuYXVkaW9JZF0gPSAnc3VtbWFyeSc7XHJcbiAgICAgICAgICB0aGlzLmxvYWRDb252ZXJzYXRpb25EZXRhaWwoZmlyc3QpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6ICgpID0+IHtcclxuICAgICAgICB0aGlzLmNvbnZlcnNhdGlvbnMgPSBbXTtcclxuICAgICAgICB0aGlzLmRpc3BsYXllZENvbnZlcnNhdGlvbnMgPSBbXTtcclxuICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSAwO1xyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nQ29udmVyc2F0aW9ucyA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcGFyc2VNZXRyaWNzKHJhdzogYW55KTogeyBuYW1lOiBzdHJpbmc7IHR5cGU6IHN0cmluZzsgdmFsdWU6IGFueVtdIH1bXSB7XHJcbiAgICBpZiAoIXJhdyB8fCB0eXBlb2YgcmF3ICE9PSAnb2JqZWN0JykgcmV0dXJuIFtdO1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkocmF3KSkgcmV0dXJuIHJhdzsgLy8gYWxyZWFkeSBwYXJzZWRcclxuICAgIHJldHVybiBPYmplY3QudmFsdWVzKHJhdylcclxuICAgICAgLmZpbHRlcigoc2VjdGlvbjogYW55KSA9PiBzZWN0aW9uICYmIHR5cGVvZiBzZWN0aW9uID09PSAnb2JqZWN0JyAmJiBzZWN0aW9uLnR5cGUpXHJcbiAgICAgIC5tYXAoKHNlY3Rpb246IGFueSkgPT4gKHtcclxuICAgICAgICBuYW1lOiBzZWN0aW9uLm5hbWUgfHwgJycsXHJcbiAgICAgICAgdHlwZTogc2VjdGlvbi50eXBlIHx8ICcnLFxyXG4gICAgICAgIHZhbHVlOiBzZWN0aW9uLnZhbHVlIHx8IFtdXHJcbiAgICAgIH0pKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbWFwQ29udmVyc2F0aW9uKGl0ZW06IGFueSk6IGFueSB7XHJcbiAgICBjb25zdCBoYXNEZXRhaWwgPSAhIShpdGVtLmFpSW5zaWdodHMgfHwgaXRlbS5jb252ZXJzYXRpb25EZXRhaWxzKTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGF1ZGlvSWQ6IGl0ZW0uZG9jX2lkIHx8IGl0ZW0uYXVkaW9JZCB8fCBpdGVtLl9pZCB8fCAnJyxcclxuICAgICAgc3RvcmVJZDogaXRlbS5zdG9yZUlkIHx8ICcnLFxyXG4gICAgICBzdG9yZU5hbWU6IGl0ZW0uc3RvcmVOYW1lIHx8ICcnLFxyXG4gICAgICB1c2VyTmFtZTogaXRlbS5zdGFmZiB8fCBpdGVtLnN0YWZmSWQgfHwgaXRlbS51c2VyTmFtZSB8fCBpdGVtLnN0YWZmTmFtZSB8fCAnJyxcclxuICAgICAgbG9jYXRpb246IGl0ZW0ubG9jYXRpb24gfHwgaXRlbS5zdGF0ZSB8fCAnJyxcclxuICAgICAgZGF0ZTogaXRlbS5kYXRlIHx8ICcnLFxyXG4gICAgICB0aW1lOiBpdGVtLlRpbWVzdGFtcCB8fCBpdGVtLnRpbWUgfHwgJycsXHJcbiAgICAgIGR1cmF0aW9uOiBpdGVtLkR1cmF0aW9uIHx8IGl0ZW0uZHVyYXRpb24gfHwgJycsXHJcbiAgICAgIGF1ZGlvRGVzY3JpcHRpb246IGl0ZW0uU3VtbWFyeSB8fCBpdGVtLmF1ZGlvRGVzY3JpcHRpb24gfHwgaXRlbS5zdW1tYXJ5IHx8IGl0ZW0uY29udmVyc2F0aW9uRGV0YWlscz8uYXVkaW9TdW1tYXJ5IHx8ICcnLFxyXG4gICAgICBleWVUZXN0TGluazogISFpdGVtLmV5ZVRlc3RMaW5rLFxyXG4gICAgICBhdWRpb1VybDogaXRlbS5hdWRpb1VybCB8fCBpdGVtLmF1ZGlvX3VybCB8fCAnJyxcclxuICAgICAgbWV0cmljczogdGhpcy5wYXJzZU1ldHJpY3MoaXRlbS5tZXRyaWNzKSxcclxuICAgICAgYWlJbnNpZ2h0czogaXRlbS5haUluc2lnaHRzIHx8IHsgdGl0bGU6ICdUYW5nbyBBSSBHZW5lcmF0ZWQgSW5zaWdodHMnLCBzdW1tYXJ5OiBbXSB9LFxyXG4gICAgICBjb252ZXJzYXRpb25EZXRhaWxzOiBpdGVtLmNvbnZlcnNhdGlvbkRldGFpbHMgfHwgeyBhdWRpb1N1bW1hcnk6ICcnLCB0cmFuc2NyaXB0aW9uOiAnJyB9LFxyXG4gICAgICBfZGV0YWlsTG9hZGVkOiBoYXNEZXRhaWwsXHJcbiAgICAgIF9kZXRhaWxMb2FkaW5nOiBmYWxzZSxcclxuICAgICAgX2RldGFpbEVycm9yOiBmYWxzZVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGxvYWRDb252ZXJzYXRpb25EZXRhaWwoY29udjogYW55KTogdm9pZCB7XHJcbiAgICAvLyBTa2lwIGlmIGFscmVhZHkgbG9hZGVkIEFORCBhdWRpb1VybCBpcyBwb3B1bGF0ZWQ7IGFsd2F5cyByZS1mZXRjaCBpZiBhdWRpb1VybCBpcyBtaXNzaW5nXHJcbiAgICBpZiAoKGNvbnYuX2RldGFpbExvYWRlZCAmJiBjb252LmF1ZGlvVXJsKSB8fCBjb252Ll9kZXRhaWxMb2FkaW5nKSByZXR1cm47XHJcbiAgICBjb252Ll9kZXRhaWxMb2FkaW5nID0gdHJ1ZTtcclxuICAgIGNvbnN0IHBheWxvYWQgPSB7IGNvaG9ydElkOiB0aGlzLnNlbGVjdGVkQ29ob3J0SWQgPyBbdGhpcy5zZWxlY3RlZENvaG9ydElkXSA6IFtdLCBjbGllbnRJZDogJzExJyB9O1xyXG4gICAgdGhpcy5hdWRpb1NlcnZpY2UuZ2V0Q29udmVyc2F0aW9uRGV0YWlsKGNvbnYuYXVkaW9JZCwgcGF5bG9hZCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdbQXVkaW9EZXRhaWxdIHJhdyByZXNwb25zZTonLCBKU09OLnN0cmluZ2lmeShyZXMpKTtcclxuICAgICAgICAvLyBoYW5kbGU6IHsgZGF0YTogaXRlbSB9IG9yIHsgZGF0YTogeyBkYXRhOiBpdGVtIH0gfSBvciBpdGVtIGRpcmVjdGx5XHJcbiAgICAgICAgY29uc3QgcmF3ID0gcmVzPy5kYXRhO1xyXG4gICAgICAgIGNvbnN0IGRldGFpbCA9IHJhdz8uYXVkaW9JZCA/IHJhdyA6IChyYXc/LmRhdGE/LmF1ZGlvSWQgPyByYXcuZGF0YSA6IChyYXcgfHwge30pKTtcclxuICAgICAgICBpZiAoZGV0YWlsLm1ldHJpY3MpIGNvbnYubWV0cmljcyA9IHRoaXMucGFyc2VNZXRyaWNzKGRldGFpbC5tZXRyaWNzKTtcclxuICAgICAgICBpZiAoZGV0YWlsLmFpSW5zaWdodHM/LnN1bW1hcnk/Lmxlbmd0aCkgY29udi5haUluc2lnaHRzID0gZGV0YWlsLmFpSW5zaWdodHM7XHJcbiAgICAgICAgaWYgKGRldGFpbC5jb252ZXJzYXRpb25EZXRhaWxzPy5hdWRpb1N1bW1hcnkpIGNvbnYuY29udmVyc2F0aW9uRGV0YWlscyA9IGRldGFpbC5jb252ZXJzYXRpb25EZXRhaWxzO1xyXG4gICAgICAgIGlmIChkZXRhaWwuYXVkaW9VcmwgfHwgZGV0YWlsLmF1ZGlvX3VybCkgY29udi5hdWRpb1VybCA9IGRldGFpbC5hdWRpb1VybCB8fCBkZXRhaWwuYXVkaW9fdXJsO1xyXG4gICAgICAgIGNvbnYuX2RldGFpbExvYWRlZCA9IHRydWU7XHJcbiAgICAgICAgY29udi5fZGV0YWlsTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKCkgPT4geyBjb252Ll9kZXRhaWxMb2FkaW5nID0gZmFsc2U7IGNvbnYuX2RldGFpbEVycm9yID0gdHJ1ZTsgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHNldFBhZ2VEYXRhKCkge1xyXG4gICAgdGhpcy5wYWdlSW5mby5zZXRUaXRsZSgnQ29ob3J0cycpO1xyXG4gICAgdGhpcy5wYWdlSW5mby5zZXREZXNjcmlwdGlvbignVG8gb3B0aW1pemUgYW5kIGltcHJvdmUgZXhpc3RpbmcgYWxnb3JpdGhtJyk7XHJcbiAgICB0aGlzLnBhZ2VJbmZvLnNldEJyZWFkY3J1bWJzKFtcclxuICAgICAgeyB0aXRsZTogJ0F1ZGlvJywgcGF0aDogJy9tYW5hZ2UvYWktYXVkaW8vYXVkaW8nLCBpc0FjdGl2ZTogZmFsc2UsIGlzU2VwYXJhdG9yOiBmYWxzZSB9LFxyXG4gICAgICB7IHRpdGxlOiAnQ29ob3J0cycsIHBhdGg6ICcnLCBpc0FjdGl2ZTogZmFsc2UsIGlzU2VwYXJhdG9yOiB0cnVlIH0sXHJcbiAgICBdKTtcclxuICB9XHJcbiAgY29udmVyc2F0aW9uczogYW55W10gPSBbXTtcclxuXHJcbiAgdG9nZ2xlQ29udmVyc2F0aW9uKGlkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGlzQ2xvc2luZyA9IHRoaXMub3BlbklkID09PSBpZDtcclxuICAgIC8vIEJlZm9yZSBjbG9zaW5nLCBzYXZlIGN1cnJlbnQgcGxheWJhY2sgc3RhdGUgYW5kIHBhdXNlXHJcbiAgICBpZiAoaXNDbG9zaW5nICYmIHRoaXMucGxheWluZ0NvbnZJZCA9PT0gaWQpIHtcclxuICAgICAgY29uc3QgYXVkaW8gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgYXVkaW8tJHtpZH1gKSBhcyBIVE1MQXVkaW9FbGVtZW50O1xyXG4gICAgICBpZiAoYXVkaW8pIHtcclxuICAgICAgICBpZiAoIXRoaXMucGxheWJhY2tTdGF0ZXNbaWRdKSB7XHJcbiAgICAgICAgICB0aGlzLnBsYXliYWNrU3RhdGVzW2lkXSA9IHsgY3VycmVudFRpbWU6ICcwOjAwJywgdG90YWxUaW1lOiAnMDowMCcsIHByb2dyZXNzOiAwIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMucGxheWJhY2tTdGF0ZXNbaWRdIS5jdXJyZW50VGltZSA9IHRoaXMuZm9ybWF0VGltZShhdWRpby5jdXJyZW50VGltZSk7XHJcbiAgICAgICAgdGhpcy5wbGF5YmFja1N0YXRlc1tpZF0hLnByb2dyZXNzID0gKGlzRmluaXRlKGF1ZGlvLmR1cmF0aW9uKSAmJiBhdWRpby5kdXJhdGlvbiA+IDApXHJcbiAgICAgICAgICA/IGF1ZGlvLmN1cnJlbnRUaW1lIC8gYXVkaW8uZHVyYXRpb24gOiAwO1xyXG4gICAgICAgIGF1ZGlvLnBhdXNlKCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5wbGF5aW5nQ29udklkID0gbnVsbDtcclxuICAgIH1cclxuICAgIHRoaXMub3BlbklkID0gaXNDbG9zaW5nID8gbnVsbCA6IGlkO1xyXG4gICAgaWYgKCF0aGlzLmFjdGl2ZVRhYltpZF0pIHtcclxuICAgICAgdGhpcy5hY3RpdmVUYWJbaWRdID0gJ3N1bW1hcnknO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMub3BlbklkID09PSBpZCkge1xyXG4gICAgICBjb25zdCBjb252ID0gdGhpcy5kaXNwbGF5ZWRDb252ZXJzYXRpb25zLmZpbmQoYyA9PiBjLmF1ZGlvSWQgPT09IGlkKTtcclxuICAgICAgaWYgKGNvbnYpIHRoaXMubG9hZENvbnZlcnNhdGlvbkRldGFpbChjb252KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldFRhYihpZDogc3RyaW5nLCB0YWI6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5hY3RpdmVUYWJbaWRdID0gdGFiO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlRGlzcGxheWVkQ29udmVyc2F0aW9ucygpOiB2b2lkIHtcclxuICAgIC8vIGNvbnN0IHN0YXJ0ID0gKHRoaXMuY3VycmVudFBhZ2UgLSAxKSAqIHRoaXMucGFnZVNpemU7XHJcbiAgICAvLyBjb25zdCBlbmQgPSBzdGFydCArIHRoaXMucGFnZVNpemU7XHJcbiAgICAvLyB0aGlzLmRpc3BsYXllZENvbnZlcnNhdGlvbnMgPSB0aGlzLmNvbnZlcnNhdGlvbnMuc2xpY2Uoc3RhcnQsIGVuZCk7XHJcbiAgICB0aGlzLmRpc3BsYXllZENvbnZlcnNhdGlvbnMgPSB0aGlzLmNvbnZlcnNhdGlvbnM7XHJcbiAgfVxyXG5cclxuICBvblBhZ2VDaGFuZ2UoZXZlbnQ6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IGV2ZW50O1xyXG4gICAgdGhpcy5vZmZzZXQgPSBldmVudDtcclxuICAgIHRoaXMuZmV0Y2hDb252ZXJzYXRpb25zKCk7XHJcbiAgfVxyXG5cclxuICBvblBhZ2VTaXplQ2hhbmdlKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMucGFnZVNpemUgPSBwYXJzZUludChldmVudCk7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcclxuICAgIHRoaXMub2Zmc2V0ID0gMTtcclxuICAgIHRoaXMuZmV0Y2hDb252ZXJzYXRpb25zKCk7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVXZWlnaHRhZ2VEcm9wZG93bihtaTogbnVtYmVyLCBjaTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBjb25zdCBjb252ID0gdGhpcy5jb252ZXJzYXRpb25zW21pXTtcclxuICAgIGNvbnN0IHBpdGNoTWV0cmljID0gY29udj8ubWV0cmljcz8uZmluZCgobTogYW55KSA9PiBtLnR5cGUgPT09ICdCT09MRUFOX0JBU0tFVCcgJiYgbS5uYW1lPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCdwaXRjaCcpKTtcclxuICAgIGlmIChwaXRjaE1ldHJpYz8udmFsdWU/LltjaV0pIHtcclxuICAgICAgcGl0Y2hNZXRyaWMudmFsdWVbY2ldLmlzV2VpZ2h0YWdlT3BlbiA9ICFwaXRjaE1ldHJpYy52YWx1ZVtjaV0uaXNXZWlnaHRhZ2VPcGVuO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0V2VpZ2h0YWdlKG1pOiBudW1iZXIsIGNpOiBudW1iZXIsIHdlaWdodDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBjb252ID0gdGhpcy5jb252ZXJzYXRpb25zW21pXTtcclxuICAgIGNvbnN0IHBpdGNoTWV0cmljID0gY29udj8ubWV0cmljcz8uZmluZCgobTogYW55KSA9PiBtLnR5cGUgPT09ICdCT09MRUFOX0JBU0tFVCcgJiYgbS5uYW1lPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCdwaXRjaCcpKTtcclxuICAgIGlmIChwaXRjaE1ldHJpYz8udmFsdWU/LltjaV0pIHtcclxuICAgICAgcGl0Y2hNZXRyaWMudmFsdWVbY2ldLndlaWdodGFnZSA9IHdlaWdodDtcclxuICAgICAgcGl0Y2hNZXRyaWMudmFsdWVbY2ldLmlzV2VpZ2h0YWdlT3BlbiA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuZXhwb3J0RGF0YSgpOiB2b2lkIHtcclxuICAgIGNvbnN0IHBheWxvYWQgPSB7XHJcbiAgICAgIC4uLnRoaXMuYnVpbGRQYXlsb2FkKCksXHJcbiAgICAgIGlzQUk6IGZhbHNlLFxyXG4gICAgICBpc0V4cG9ydDogdHJ1ZSxcclxuICAgICAgLy8gc2VhcmNoVmFsdWU6IHRoaXMuY2hhdFF1ZXJ5IHx8ICcnLFxyXG4gICAgICBsaW1pdDogdGhpcy5wYWdlU2l6ZSxcclxuICAgICAgb2Zmc2V0OiAwLFxyXG4gICAgfTtcclxuICAgIHRoaXMuYXVkaW9TZXJ2aWNlLmdldENvbnZlcnNhdGlvbkxpc3RFeHBvcnQocGF5bG9hZCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHVybCA9IHJlcz8ubWVzc2FnZTtcclxuICAgICAgICBpZiAodXJsKSB7XHJcbiAgICAgICAgICBjb25zdCBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xyXG4gICAgICAgICAgYS5ocmVmID0gdXJsO1xyXG4gICAgICAgICAgYS50YXJnZXQgPSAnX2JsYW5rJztcclxuICAgICAgICAgIGEuZG93bmxvYWQgPSAnJztcclxuICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYSk7XHJcbiAgICAgICAgICBhLmNsaWNrKCk7XHJcbiAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGEpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6ICgpID0+IHtcclxuICAgICAgICAvLyBIYW5kbGUgZXhwb3J0IGVycm9yIGlmIG5lZWRlZFxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG5mb3JtYXREdXJhdGlvbihzZWNvbmRzOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gIGNvbnN0IG1pbnMgPSBNYXRoLmZsb29yKHNlY29uZHMgLyA2MCk7XHJcbiAgcmV0dXJuIGAke21pbnN9IG1pbnNgO1xyXG59XHJcbmNyZWF0ZUNvaG9ydCgpOiB2b2lkIHtcclxuIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcIi9tYW5hZ2UvYWktYXVkaW8vYWRkLW1hbmFnZS1jb2hvcnRcIl0sIHtcclxuICAgICAgc3RhdGU6IHsgbW9kZTogXCJjcmVhdGVcIiB9LFxyXG4gICAgfSk7XHJcbn1cclxuXHJcbi8vIOKUgOKUgCBBSSBBc3Npc3RhbnQg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcbmNoYXRNZXNzYWdlczogeyBzZW5kZXI6ICd1c2VyJyB8ICdhc3Npc3RhbnQnOyB0ZXh0OiBzdHJpbmcgfVtdID0gW107XHJcbmlzQWlMb2FkaW5nID0gZmFsc2U7XHJcbnByaXZhdGUgY2hhdFNlc3Npb25JZCA9ICcnO1xyXG5wcml2YXRlIGNoYXRVc2VySWQgPSAnJztcclxuXHJcbnByaXZhdGUgc2Nyb2xsQ2hhdFRvQm90dG9tKCk6IHZvaWQge1xyXG4gIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgY29uc3QgZWwgPSB0aGlzLmNoYXRUaHJlYWRNZXNzYWdlcz8ubmF0aXZlRWxlbWVudDtcclxuICAgIGlmIChlbCkgZWwuc2Nyb2xsVG9wID0gZWwuc2Nyb2xsSGVpZ2h0O1xyXG4gIH0pO1xyXG59XHJcblxyXG5zdGFydE5ld0NoYXQoKTogdm9pZCB7XHJcbiAgdGhpcy5jaGF0TWVzc2FnZXMgPSBbXTtcclxuICB0aGlzLmNoYXRRdWVyeSA9ICcnO1xyXG4gIHRoaXMuaXNBaUxvYWRpbmcgPSBmYWxzZTtcclxuICB0aGlzLmNoYXRTZXNzaW9uSWQgPSBgQVVESU9fJHtEYXRlLm5vdygpfWA7XHJcbn1cclxuXHJcbnByaXZhdGUgaW5pdENoYXRTZXNzaW9uKCk6IHZvaWQge1xyXG4gIHRyeSB7XHJcbiAgICBjb25zdCB1c2VyID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlci1pbmZvJykgYXMgc3RyaW5nKTtcclxuICAgIHRoaXMuY2hhdFVzZXJJZCA9IHVzZXI/Ll9pZCB8fCAnJztcclxuICAgIGNvbnN0IG5hbWU6IHN0cmluZyA9IHVzZXI/LnVzZXJOYW1lIHx8IHVzZXI/Lm5hbWUgfHwgdXNlcj8uZnVsbE5hbWUgfHwgJyc7XHJcbiAgICBjb25zdCBwYXJ0cyA9IG5hbWUudHJpbSgpLnNwbGl0KC9cXHMrLyk7XHJcbiAgICB0aGlzLnVzZXJJbml0aWFscyA9IHBhcnRzLmxlbmd0aCA+PSAyXHJcbiAgICAgID8gKHBhcnRzWzBdWzBdICsgcGFydHNbcGFydHMubGVuZ3RoIC0gMV1bMF0pLnRvVXBwZXJDYXNlKClcclxuICAgICAgOiBuYW1lLnN1YnN0cmluZygwLCAyKS50b1VwcGVyQ2FzZSgpO1xyXG4gIH0gY2F0Y2ggeyB0aGlzLmNoYXRVc2VySWQgPSAnJzsgfVxyXG4gIHRoaXMuY2hhdFNlc3Npb25JZCA9IGBBVURJT18ke0RhdGUubm93KCl9YDtcclxufVxyXG5cclxuc2VuZENoYXRNZXNzYWdlKCk6IHZvaWQge1xyXG4gIGlmICghdGhpcy5jaGF0UXVlcnkudHJpbSgpIHx8IHRoaXMuaXNBaUxvYWRpbmcpIHJldHVybjtcclxuICBpZiAoIXRoaXMuY2hhdFNlc3Npb25JZCkgdGhpcy5pbml0Q2hhdFNlc3Npb24oKTtcclxuXHJcbiAgY29uc3QgcGF5bG9hZCA9IHtcclxuICAgIHVzZXJfaWQ6IHRoaXMuY2hhdFVzZXJJZCxcclxuICAgIHNlc3Npb25faWQ6IHRoaXMuY2hhdFNlc3Npb25JZCxcclxuICAgIHNlc3Npb25fZGF0ZTogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLnNsaWNlKDAsIDEwKSxcclxuICAgIHNlc3Npb25fdGltZXpvbmU6IEludGwuRGF0ZVRpbWVGb3JtYXQoKS5yZXNvbHZlZE9wdGlvbnMoKS50aW1lWm9uZSxcclxuICAgIG1lc3NhZ2U6IHRoaXMuY2hhdFF1ZXJ5LFxyXG4gICAgYW5hbHl0aWNzVHlwZTogJ2F1ZGlvJyxcclxuICAgIGNvbmZpZzoge1xyXG4gICAgICBzZWxlY3RlZF9jb2hvcnQ6IHRoaXMuc2VsZWN0ZWRDb2hvcnRJZCA/IFt0aGlzLnNlbGVjdGVkQ29ob3J0SWRdIDogW10sXHJcbiAgICAgIHNlbGVjdGVkX3N0b3JlczogW1xyXG4gICAgXCJMS1NUMTE2NlwiLFxyXG4gICAgXCJMS1NUMTE5OVwiLFxyXG4gICAgXCJMS1NUNzgwXCIsXHJcbiAgICBcIkxLU1QxNzcwXCIsXHJcbiAgICBcIkxLU1QzMzJcIixcclxuICAgIFwiTEtTVDE2NzNcIixcclxuICAgIFwiTEtTVDI5M1wiLFxyXG4gICAgXCJMS1NUMTg2MVwiLFxyXG4gICAgXCJMS1NUMTk2N1wiLFxyXG4gICAgXCJMS1NUMjc0XCIsXHJcbiAgICBcIkxLU1QwM1wiLFxyXG4gICAgXCJMS1NUMzMzXCIsXHJcbiAgICBcIkxLU1Q1MzRcIixcclxuICAgIFwiTEtTVDQ5NlwiLFxyXG4gICAgXCJMS1NUNzc5XCJcclxuXSxcclxuICAgICAgZGF0ZV9yYW5nZToge1xyXG4gICAgICAgIHN0YXJ0OiBcIjIwMjYtMDMtMDFcIixcclxuICAgICAgICBlbmQ6XCIyMDI2LTAzLTI4XCJcclxuICAgICAgfSxcclxuICAgICAgc2VsZWN0ZWRfcHJvZHVjdHM6IFsnQXVkaW8nXVxyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIC8vIFB1c2ggdXNlciBtZXNzYWdlIHRvIHRocmVhZFxyXG4gIHRoaXMuY2hhdE1lc3NhZ2VzLnB1c2goeyBzZW5kZXI6ICd1c2VyJywgdGV4dDogdGhpcy5jaGF0UXVlcnkgfSk7XHJcbiAgdGhpcy5jaGF0UXVlcnkgPSAnJztcclxuICB0aGlzLmlzQWlMb2FkaW5nID0gdHJ1ZTtcclxuICB0aGlzLnNjcm9sbENoYXRUb0JvdHRvbSgpO1xyXG5cclxuICAvLyBQbGFjZWhvbGRlciBmb3IgQUkgcmVzcG9uc2UgKHVwZGF0ZWQgYXMgc3RyZWFtIGFycml2ZXMpXHJcbiAgY29uc3QgYWlJbmRleCA9IHRoaXMuY2hhdE1lc3NhZ2VzLnB1c2goeyBzZW5kZXI6ICdhc3Npc3RhbnQnLCB0ZXh0OiAnJyB9KSAtIDE7XHJcblxyXG4gIHRoaXMuYXVkaW9TZXJ2aWNlLmNoYXRTdHJlYW0ocGF5bG9hZCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICBuZXh0OiAodGV4dDogc3RyaW5nKSA9PiB7XHJcbiAgICAgIHRoaXMuY2hhdE1lc3NhZ2VzW2FpSW5kZXhdLnRleHQgPSB0ZXh0O1xyXG4gICAgICB0aGlzLmlzQWlMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuc2Nyb2xsQ2hhdFRvQm90dG9tKCk7XHJcbiAgICB9LFxyXG4gICAgZXJyb3I6ICgpID0+IHtcclxuICAgICAgdGhpcy5jaGF0TWVzc2FnZXNbYWlJbmRleF0udGV4dCA9ICdTb3JyeSwgc29tZXRoaW5nIHdlbnQgd3JvbmcuIFBsZWFzZSB0cnkgYWdhaW4uJztcclxuICAgICAgdGhpcy5pc0FpTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgfSxcclxuICAgIGNvbXBsZXRlOiAoKSA9PiB7IHRoaXMuaXNBaUxvYWRpbmcgPSBmYWxzZTsgfVxyXG4gIH0pO1xyXG59XHJcblxyXG5jb3B5RmVlZGJhY2s6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG51c2VySW5pdGlhbHMgPSAnJztcclxuY29weVRvQ2xpcGJvYXJkKHRleHQ6IHN0cmluZyk6IHZvaWQge1xyXG4gIHRoaXMuY29weUZlZWRiYWNrID0gbnVsbDtcclxuICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KHRleHQpLnRoZW4oKCkgPT4ge1xyXG4gICAgICB0aGlzLmNvcHlGZWVkYmFjayA9ICdDb3BpZWQgdG8gY2xpcGJvYXJkISc7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jb3B5RmVlZGJhY2sgPSBudWxsLCAyMDAwKTtcclxuICAgIH0pO1xyXG4gIH0sIDApO1xyXG59XHJcblxyXG5pc0NoYXRIaXN0b3J5T3BlbiA9IGZhbHNlO1xyXG5jaGF0SGlzdG9yeUxpc3Q6IHsgc2Vzc2lvbl9pZDogc3RyaW5nOyBzZXNzaW9uX3RpdGxlOiBzdHJpbmcgfVtdID0gW107XHJcbmlzSGlzdG9yeUxvYWRpbmcgPSBmYWxzZTtcclxuc2VsZWN0ZWRIaXN0b3J5U2Vzc2lvbklkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuc2Vzc2lvbk1lc3NhZ2VzOiB7IHNlbmRlcjogc3RyaW5nOyB0ZXh0OiBzdHJpbmcgfVtdID0gW107XHJcbmlzU2Vzc2lvbkxvYWRpbmcgPSBmYWxzZTtcclxucHJpdmF0ZSBoaXN0b3J5VXNlcklkID0gJyc7XHJcblxyXG50b2dnbGVDaGF0SGlzdG9yeSgpOiB2b2lkIHtcclxuICB0aGlzLnNob3dDaGF0SGlzdG9yeSA9ICF0aGlzLnNob3dDaGF0SGlzdG9yeTtcclxuICBpZiAodGhpcy5zaG93Q2hhdEhpc3RvcnkpIHtcclxuICAgIHRoaXMubG9hZENoYXRIaXN0b3J5TGlzdCgpO1xyXG4gIH1cclxufVxyXG5cclxubG9hZEhpc3RvcnlMaXN0KCk6IHZvaWQge1xyXG4gIGlmICghdGhpcy5oaXN0b3J5VXNlcklkKSByZXR1cm47XHJcbiAgdGhpcy5pc0hpc3RvcnlMb2FkaW5nID0gdHJ1ZTtcclxuICB0aGlzLmF1ZGlvU2VydmljZS5nZXRDaGF0SGlzdG9yeUxpc3QodGhpcy5oaXN0b3J5VXNlcklkKS5zdWJzY3JpYmUoe1xyXG4gICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuY2hhdEhpc3RvcnlMaXN0ID0gKHJlcz8uZGF0YT8uc2Vzc2lvbnMgfHwgW10pLm1hcCgoczogYW55KSA9PiAoe1xyXG4gICAgICAgIHNlc3Npb25faWQ6IHMuc2Vzc2lvbl9pZCxcclxuICAgICAgICBzZXNzaW9uX3RpdGxlOiBzLnNlc3Npb25fdGl0bGVcclxuICAgICAgfSkpO1xyXG4gICAgICB0aGlzLmlzSGlzdG9yeUxvYWRpbmcgPSBmYWxzZTtcclxuICAgIH0sXHJcbiAgICBlcnJvcjogKCkgPT4geyB0aGlzLmlzSGlzdG9yeUxvYWRpbmcgPSBmYWxzZTsgfVxyXG4gIH0pO1xyXG59XHJcblxyXG5jbGVhckNhcmRGaWx0ZXIoKTogdm9pZCB7XHJcbiAgdGhpcy5zZWxlY3RlZENhcmRJZCA9ICcnO1xyXG4gIHRoaXMuc2VsZWN0ZWRDYXJkTmFtZSA9ICcnO1xyXG4gIHRoaXMuY3VycmVudFBhZ2UgPSAxO1xyXG4gIHRoaXMub2Zmc2V0ID0gMTtcclxuICB0aGlzLmZldGNoQ29udmVyc2F0aW9ucygpO1xyXG59XHJcblxyXG5vbkNhcmRSb3dDbGljayhpZDogYW55LCBuYW1lOiBhbnkpOiB2b2lkIHtcclxuICB0aGlzLnNlbGVjdGVkQ2FyZElkID0gaWQgfHwgJyc7XHJcbiAgdGhpcy5zZWxlY3RlZENhcmROYW1lID0gaWQgPyAnJyA6IChuYW1lIHx8ICcnKTtcclxuICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcclxuICB0aGlzLm9mZnNldCA9IDE7XHJcblxyXG4gIGNvbnN0IHBheWxvYWQgPSB7XHJcbiAgICAuLi50aGlzLmJ1aWxkUGF5bG9hZCgpLFxyXG4gICAgLy8gc2VhcmNoVmFsdWU6IHRoaXMuY2hhdFF1ZXJ5IHx8ICcnLFxyXG4gICAgbGltaXQ6IHRoaXMucGFnZVNpemUsXHJcbiAgICBfaWQ6IHRoaXMuc2VsZWN0ZWRDYXJkSWQgPyBbdGhpcy5zZWxlY3RlZENhcmRJZF0gOiBbXSxcclxuICAgIG5hbWU6IHRoaXMuc2VsZWN0ZWRDYXJkTmFtZSxcclxuICAgIG9mZnNldDogMFxyXG4gIH07XHJcbiAgdGhpcy5pc0xvYWRpbmdDb252ZXJzYXRpb25zID0gdHJ1ZTtcclxuICB0aGlzLmF1ZGlvU2VydmljZS5nZXRDb252ZXJzYXRpb25zTGlzdChwYXlsb2FkKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCBsaXN0ID0gcmVzPy5kYXRhPy5kYXRhIHx8IHJlcz8uZGF0YT8uY29udmVyc2F0aW9ucyB8fCBbXTtcclxuICAgICAgdGhpcy5jb252ZXJzYXRpb25zID0gbGlzdC5tYXAoKGl0ZW06IGFueSkgPT4gdGhpcy5tYXBDb252ZXJzYXRpb24oaXRlbSkpO1xyXG4gICAgICB0aGlzLnRvdGFsSXRlbXMgPSByZXM/LmRhdGE/LmNvdW50ID8/IHJlcz8uZGF0YT8ucGFnaW5hdGlvbj8udG90YWwgPz8gdGhpcy5jb252ZXJzYXRpb25zLmxlbmd0aDtcclxuICAgICAgdGhpcy5wYWdpbmF0aW9uU2l6ZXMgPSB0aGlzLnRvdGFsSXRlbXMgPiAxMCA/IFsxMCwgMjAsIDUwLCAxMDBdIDogW3RoaXMudG90YWxJdGVtcyB8fCAxMF07XHJcbiAgICAgIHRoaXMucGFnZVNpemUgPSB0aGlzLnBhZ2luYXRpb25TaXplcy5pbmNsdWRlcyh0aGlzLnBhZ2VTaXplKSA/IHRoaXMucGFnZVNpemUgOiB0aGlzLnBhZ2luYXRpb25TaXplc1swXTtcclxuICAgICAgdGhpcy5jdXJyZW50UGFnZSA9IDE7XHJcbiAgICAgIHRoaXMudXBkYXRlRGlzcGxheWVkQ29udmVyc2F0aW9ucygpO1xyXG4gICAgICB0aGlzLmlzTG9hZGluZ0NvbnZlcnNhdGlvbnMgPSBmYWxzZTtcclxuICAgICAgaWYgKHRoaXMuZGlzcGxheWVkQ29udmVyc2F0aW9ucy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgY29uc3QgZmlyc3QgPSB0aGlzLmRpc3BsYXllZENvbnZlcnNhdGlvbnNbMF07XHJcbiAgICAgICAgdGhpcy5vcGVuSWQgPSBmaXJzdC5hdWRpb0lkO1xyXG4gICAgICAgIGlmICghdGhpcy5hY3RpdmVUYWJbZmlyc3QuYXVkaW9JZF0pIHRoaXMuYWN0aXZlVGFiW2ZpcnN0LmF1ZGlvSWRdID0gJ3N1bW1hcnknO1xyXG4gICAgICAgIHRoaXMubG9hZENvbnZlcnNhdGlvbkRldGFpbChmaXJzdCk7XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICBlcnJvcjogKCkgPT4ge1xyXG4gICAgICB0aGlzLmNvbnZlcnNhdGlvbnMgPSBbXTtcclxuICAgICAgdGhpcy5kaXNwbGF5ZWRDb252ZXJzYXRpb25zID0gW107XHJcbiAgICAgIHRoaXMudG90YWxJdGVtcyA9IDA7XHJcbiAgICAgIHRoaXMuaXNMb2FkaW5nQ29udmVyc2F0aW9ucyA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH0pO1xyXG59XHJcblxyXG5sb2FkSGlzdG9yeVNlc3Npb24oc2Vzc2lvbklkOiBzdHJpbmcpOiB2b2lkIHtcclxuICBpZiAodGhpcy5zZWxlY3RlZEhpc3RvcnlTZXNzaW9uSWQgPT09IHNlc3Npb25JZCkgcmV0dXJuO1xyXG4gIHRoaXMuc2VsZWN0ZWRIaXN0b3J5U2Vzc2lvbklkID0gc2Vzc2lvbklkO1xyXG4gIHRoaXMuc2Vzc2lvbk1lc3NhZ2VzID0gW107XHJcbiAgdGhpcy5pc1Nlc3Npb25Mb2FkaW5nID0gdHJ1ZTtcclxuICB0aGlzLmF1ZGlvU2VydmljZS5nZXRDaGF0KHNlc3Npb25JZCkuc3Vic2NyaWJlKHtcclxuICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCBkYXRhID0gcmVzPy5kYXRhIHx8IHJlcztcclxuICAgICAgY29uc3QgY29udmVyc2F0aW9uczogYW55W10gPSBkYXRhPy5jb252ZXJzYXRpb24gfHwgW107XHJcbiAgICAgIHRoaXMuc2Vzc2lvbk1lc3NhZ2VzID0gW107XHJcbiAgICAgIGNvbnZlcnNhdGlvbnMuZm9yRWFjaCgoYzogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGMuaHVtYW4pIHRoaXMuc2Vzc2lvbk1lc3NhZ2VzLnB1c2goeyBzZW5kZXI6ICd1c2VyJywgdGV4dDogYy5odW1hbiB9KTtcclxuICAgICAgICBpZiAoYy5haSkgdGhpcy5zZXNzaW9uTWVzc2FnZXMucHVzaCh7IHNlbmRlcjogJ2Fzc2lzdGFudCcsIHRleHQ6IGMuYWkgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLmlzU2Vzc2lvbkxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgLy8gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIC8vICAgY29uc3QgYm9keSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5jaGF0LWhpc3RvcnktYm9keScpIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICAvLyAgIGlmIChib2R5KSBib2R5LnNjcm9sbFRvcCA9IGJvZHkuc2Nyb2xsSGVpZ2h0O1xyXG4gICAgICAvLyB9LCA1MCk7XHJcbiAgICB9LFxyXG4gICAgZXJyb3I6ICgpID0+IHsgdGhpcy5pc1Nlc3Npb25Mb2FkaW5nID0gZmFsc2U7IH1cclxuICB9KTtcclxufVxyXG5cclxuY29udGludWVIaXN0b3J5U2Vzc2lvbihzZXNzaW9uSWQ6IHN0cmluZyk6IHZvaWQge1xyXG4gIHRoaXMuaXNTZXNzaW9uTG9hZGluZyA9IHRydWU7XHJcbiAgdGhpcy5hdWRpb1NlcnZpY2UuZ2V0Q2hhdChzZXNzaW9uSWQpLnN1YnNjcmliZSh7XHJcbiAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgZGF0YSA9IHJlcz8uZGF0YSB8fCByZXM7XHJcbiAgICAgIGNvbnN0IGNvbnZlcnNhdGlvbnM6IGFueVtdID0gZGF0YT8uY29udmVyc2F0aW9uIHx8IFtdO1xyXG4gICAgICB0aGlzLm1lc3NhZ2VzID0gW107XHJcbiAgICAgIGNvbnZlcnNhdGlvbnMuZm9yRWFjaCgoYzogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGMuaHVtYW4pIHRoaXMubWVzc2FnZXMucHVzaCh7IHNlbmRlcjogJ3VzZXInLCB0ZXh0OiBjLmh1bWFuIH0pO1xyXG4gICAgICAgIGlmIChjLmFpKSB0aGlzLm1lc3NhZ2VzLnB1c2goeyBzZW5kZXI6ICdhc3Npc3RhbnQnLCB0ZXh0OiBjLmFpIH0pO1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5jaGF0U2Vzc2lvbklkID0gc2Vzc2lvbklkO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkQ2hhdElkID0gc2Vzc2lvbklkO1xyXG4gICAgICB0aGlzLmlzU2Vzc2lvbkxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgdGhpcy5pc0NoYXRIaXN0b3J5T3BlbiA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSGlzdG9yeVNlc3Npb25JZCA9IG51bGw7XHJcbiAgICAgIHRoaXMuc2Vzc2lvbk1lc3NhZ2VzID0gW107XHJcbiAgICAgIHRoaXMuc2Nyb2xsVG9Cb3R0b20oKTtcclxuICAgIH0sXHJcbiAgICBlcnJvcjogKCkgPT4geyB0aGlzLmlzU2Vzc2lvbkxvYWRpbmcgPSBmYWxzZTsgfVxyXG4gIH0pO1xyXG59XHJcblxyXG4vLyDilIDilIAgYWktY2hhdCBtZXRob2RzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5zZW5kTWVzc2FnZSgpOiB2b2lkIHtcclxuICBpZiAoIXRoaXMudXNlck1lc3NhZ2UudHJpbSgpIHx8IHRoaXMuaXNUeXBpbmcpIHJldHVybjtcclxuICBjb25zdCBjdXJyZW50UXVlcnkgPSB0aGlzLnVzZXJNZXNzYWdlLnRyaW0oKTtcclxuXHJcbiAgdGhpcy5tZXNzYWdlcy5wdXNoKHsgdGV4dDogY3VycmVudFF1ZXJ5LCBzZW5kZXI6ICd1c2VyJywgdGltZXN0YW1wOiBuZXcgRGF0ZSgpIH0pO1xyXG4gIHRoaXMudXNlck1lc3NhZ2UgPSAnJztcclxuICB0aGlzLnNjcm9sbFRvQm90dG9tKCk7XHJcblxyXG4gIGlmICh0aGlzLnNlbGVjdGVkQ2hhdElkID09PSBudWxsKSB7XHJcbiAgICB0aGlzLmNoYXRIaXN0b3J5LnVuc2hpZnQoe1xyXG4gICAgICBzZXNzaW9uX2lkOiB0aGlzLmNoYXRTZXNzaW9uSWQsXHJcbiAgICAgIHNlc3Npb25fdGl0bGU6IGN1cnJlbnRRdWVyeS5sZW5ndGggPiAzMCA/IGN1cnJlbnRRdWVyeS5zdWJzdHJpbmcoMCwgMzApICsgJy4uLicgOiBjdXJyZW50UXVlcnlcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZWxlY3RlZENoYXRJZCA9IHRoaXMuY2hhdFNlc3Npb25JZDtcclxuICB9XHJcblxyXG4gIHRoaXMuaXNUeXBpbmcgPSB0cnVlO1xyXG4gIGNvbnN0IHBheWxvYWQgPSB7XHJcbiAgICB1c2VyX2lkOiB0aGlzLmNoYXRVc2VySWQsXHJcbiAgICBzZXNzaW9uX2lkOiB0aGlzLmNoYXRTZXNzaW9uSWQsXHJcbiAgICBzZXNzaW9uX2RhdGU6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKS5zbGljZSgwLCAxMCksXHJcbiAgICBzZXNzaW9uX3RpbWV6b25lOiAnQXNpYS9Lb2xrYXRhJyxcclxuICAgIG1lc3NhZ2U6IGN1cnJlbnRRdWVyeSxcclxuICAgIGFuYWx5dGljc1R5cGU6ICdhdWRpbycsXHJcbiAgICBjb25maWc6IHtcclxuICAgICAgc2VsZWN0ZWRfbW9kZWw6IHRoaXMuc2VsZWN0ZWRNb2RlbCxcclxuICAgICAgc2VsZWN0ZWRfc3RvcmVzOiBbXHJcbiAgICAgICAgXCJMS1NUMTE2NlwiLFwiTEtTVDExOTlcIixcIkxLU1Q3ODBcIixcIkxLU1QxNzcwXCIsXCJMS1NUMzMyXCIsXHJcbiAgICAgICAgXCJMS1NUMTY3M1wiLFwiTEtTVDI5M1wiLFwiTEtTVDE4NjFcIixcIkxLU1QxOTY3XCIsXCJMS1NUMjc0XCIsXHJcbiAgICAgICAgXCJMS1NUMDNcIixcIkxLU1QzMzNcIixcIkxLU1Q1MzRcIixcIkxLU1Q0OTZcIixcIkxLU1Q3NzlcIlxyXG4gICAgICBdLFxyXG4gICAgICBkYXRlX3JhbmdlOiB7IHN0YXJ0OiBcIjIwMjYtMDMtMDFcIiwgZW5kOiBcIjIwMjYtMDMtMjhcIiB9LFxyXG4gICAgICBzZWxlY3RlZF9wcm9kdWN0czogWydBdWRpbyddXHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgY29uc3QgYXNzaXN0YW50TXNnOiBhbnkgPSB7IHNlbmRlcjogJ2Fzc2lzdGFudCcsIHRleHQ6ICcnLCB0aW1lc3RhbXA6IG5ldyBEYXRlKCksIHN0cmVhbWluZzogdHJ1ZSB9O1xyXG4gIGxldCBwbGFjZWhvbGRlckFkZGVkID0gZmFsc2U7XHJcblxyXG4gIHRoaXMuYXVkaW9TZXJ2aWNlLmNoYXRTdHJlYW0ocGF5bG9hZCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICBuZXh0OiAoY2h1bms6IHN0cmluZykgPT4ge1xyXG4gICAgICBpZiAoIXBsYWNlaG9sZGVyQWRkZWQpIHtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VzLnB1c2goYXNzaXN0YW50TXNnKTtcclxuICAgICAgICB0aGlzLmlzVHlwaW5nID0gZmFsc2U7XHJcbiAgICAgICAgcGxhY2Vob2xkZXJBZGRlZCA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgICAgYXNzaXN0YW50TXNnLnRleHQgKz0gY2h1bms7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgdGhpcy5zY3JvbGxUb0JvdHRvbSgpO1xyXG4gICAgfSxcclxuICAgIGVycm9yOiAoKSA9PiB7XHJcbiAgICAgIGlmICghcGxhY2Vob2xkZXJBZGRlZCkgeyB0aGlzLm1lc3NhZ2VzLnB1c2goYXNzaXN0YW50TXNnKTsgdGhpcy5pc1R5cGluZyA9IGZhbHNlOyB9XHJcbiAgICAgIGFzc2lzdGFudE1zZy50ZXh0ID0gYXNzaXN0YW50TXNnLnRleHQgfHwgJ1NvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluLic7XHJcbiAgICAgIGFzc2lzdGFudE1zZy5zdHJlYW1pbmcgPSBmYWxzZTtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfSxcclxuICAgIGNvbXBsZXRlOiAoKSA9PiB7XHJcbiAgICAgIGFzc2lzdGFudE1zZy5zdHJlYW1pbmcgPSBmYWxzZTtcclxuICAgICAgY29uc3QgZW50cnkgPSB0aGlzLmNoYXRIaXN0b3J5LmZpbmQoYyA9PiBjLnNlc3Npb25faWQgPT09IHRoaXMuc2VsZWN0ZWRDaGF0SWQpO1xyXG4gICAgICBpZiAoZW50cnkpIGVudHJ5Lm1lc3NhZ2VzID0gWy4uLnRoaXMubWVzc2FnZXNdO1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfSk7XHJcbn1cclxuXHJcbm5ld0NoYXQoKTogdm9pZCB7XHJcbiAgdGhpcy5tZXNzYWdlcyA9IFtdO1xyXG4gIHRoaXMuc2VsZWN0ZWRDaGF0SWQgPSBudWxsO1xyXG4gIHRoaXMudXNlck1lc3NhZ2UgPSAnJztcclxuICB0aGlzLmNoYXRTZXNzaW9uSWQgPSBgQVVESU9fJHtEYXRlLm5vdygpfWA7XHJcbiAgdGhpcy5sb2FkQ2hhdEhpc3RvcnlMaXN0KCk7XHJcbn1cclxuXHJcbmxvYWRDaGF0KHNlc3Npb25JZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgaWYgKHRoaXMuc2VsZWN0ZWRDaGF0SWQgPT09IHNlc3Npb25JZCkgcmV0dXJuO1xyXG4gIHRoaXMuc2VsZWN0ZWRDaGF0SWQgPSBzZXNzaW9uSWQ7XHJcbiAgdGhpcy5jaGF0U2Vzc2lvbklkID0gc2Vzc2lvbklkO1xyXG4gIHRoaXMubWVzc2FnZXMgPSBbXTtcclxuICB0aGlzLmlzVHlwaW5nID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0IGNhY2hlZCA9IHRoaXMuY2hhdEhpc3RvcnkuZmluZChjID0+IGMuc2Vzc2lvbl9pZCA9PT0gc2Vzc2lvbklkKTtcclxuICBpZiAoY2FjaGVkPy5tZXNzYWdlcykge1xyXG4gICAgdGhpcy5tZXNzYWdlcyA9IFsuLi5jYWNoZWQubWVzc2FnZXNdO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgdGhpcy5zY3JvbGxUb0JvdHRvbSgpO1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgdGhpcy5pc0NoYXRMb2FkaW5nID0gdHJ1ZTtcclxuICB0aGlzLmF1ZGlvU2VydmljZS5nZXRDaGF0KHNlc3Npb25JZCkuc3Vic2NyaWJlKHtcclxuICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCBkYXRhID0gcmVzPy5kYXRhIHx8IHJlcztcclxuICAgICAgY29uc3QgY29udmVyc2F0aW9uczogYW55W10gPSBkYXRhPy5jb252ZXJzYXRpb24gfHwgW107XHJcbiAgICAgIHRoaXMubWVzc2FnZXMgPSBbXTtcclxuICAgICAgY29udmVyc2F0aW9ucy5mb3JFYWNoKChjOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoYy5odW1hbikgdGhpcy5tZXNzYWdlcy5wdXNoKHsgc2VuZGVyOiAndXNlcicsIHRleHQ6IGMuaHVtYW4gfSk7XHJcbiAgICAgICAgaWYgKGMuYWkpIHRoaXMubWVzc2FnZXMucHVzaCh7IHNlbmRlcjogJ2Fzc2lzdGFudCcsIHRleHQ6IGMuYWkgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgICBpZiAoY2FjaGVkKSBjYWNoZWQubWVzc2FnZXMgPSBbLi4udGhpcy5tZXNzYWdlc107XHJcbiAgICAgIHRoaXMuaXNDaGF0TG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIHRoaXMuc2Nyb2xsVG9Cb3R0b20oKTtcclxuICAgIH0sXHJcbiAgICBlcnJvcjogKCkgPT4geyB0aGlzLmlzQ2hhdExvYWRpbmcgPSBmYWxzZTsgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpOyB9XHJcbiAgfSk7XHJcbn1cclxuXHJcbmxvYWRDaGF0SGlzdG9yeUxpc3QoKTogdm9pZCB7XHJcbiAgaWYgKCF0aGlzLmNoYXRVc2VySWQpIHJldHVybjtcclxuICB0aGlzLmlzSGlzdG9yeUxvYWRpbmcgPSB0cnVlO1xyXG4gIHRoaXMuYXVkaW9TZXJ2aWNlLmdldENoYXRIaXN0b3J5TGlzdCh0aGlzLmNoYXRVc2VySWQpLnN1YnNjcmliZSh7XHJcbiAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy5jaGF0SGlzdG9yeSA9IChyZXM/LmRhdGE/LnNlc3Npb25zIHx8IFtdKS5tYXAoKHM6IGFueSkgPT4gKHtcclxuICAgICAgICBzZXNzaW9uX2lkOiBzLnNlc3Npb25faWQsXHJcbiAgICAgICAgc2Vzc2lvbl90aXRsZTogcy5zZXNzaW9uX3RpdGxlXHJcbiAgICAgIH0pKTtcclxuICAgICAgdGhpcy5pc0hpc3RvcnlMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0sXHJcbiAgICBlcnJvcjogKCkgPT4geyB0aGlzLmlzSGlzdG9yeUxvYWRpbmcgPSBmYWxzZTsgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpOyB9XHJcbiAgfSk7XHJcbn1cclxuXHJcbnByaXZhdGUgc2Nyb2xsVG9Cb3R0b20oKTogdm9pZCB7XHJcbiAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCBlbCA9IHRoaXMuc2Nyb2xsQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50O1xyXG4gICAgICBpZiAoZWwpIGVsLnNjcm9sbFRvcCA9IGVsLnNjcm9sbEhlaWdodDtcclxuICAgIH0gY2F0Y2gge31cclxuICB9LCAwKTtcclxufVxyXG5cclxuZ29CYWNrVG9GaWx0ZXJzKCk6IHZvaWQge1xyXG4gIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL21hbmFnZS9haS1hdWRpby9maWx0ZXJzJ10pO1xyXG59XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImF1ZGlvLXBhZ2VcIj5cblxuICA8IS0tIOKUgOKUgCBIZWFkZXIgUm93IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAtLT5cbiAgPGRpdiBjbGFzcz1cImhlYWRlci1yb3ctY29udGFpbmVyIG1iLTRcIiAqbmdJZj1cImNvaG9ydE9wdGlvbnMubGVuZ3RoID4gMFwiPlxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtM1wiPlxuICAgICAgICA8IS0tIEN1c3RvbSBTaW5nbGUtc2VsZWN0IENvaG9ydCBEcm9wZG93biAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvaG9ydC1kcm9wZG93blwiIFtjbGFzcy5vcGVuXT1cImlzQ29ob3J0RHJvcGRvd25PcGVuXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvaG9ydC1kcm9wZG93bi10cmlnZ2VyXCJcbiAgICAgICAgICAgIChjbGljayk9XCJpc0NvaG9ydERyb3Bkb3duT3BlbiA9ICFpc0NvaG9ydERyb3Bkb3duT3BlbjsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XG4gICAgICAgICAgICA8c3Bhbj57eyBmaWx0ZXJUeXBlIH19PC9zcGFuPlxuICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIiBbY2xhc3Mucm90YXRlXT1cImlzQ29ob3J0RHJvcGRvd25PcGVuXCI+XG4gICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNSA3LjVMMTAgMTIuNUwxNSA3LjVcIiBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cbiAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2hvcnQtZHJvcGRvd24tbWVudVwiICpuZ0lmPVwiaXNDb2hvcnREcm9wZG93bk9wZW5cIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29ob3J0LW9wdGlvblwiICpuZ0Zvcj1cImxldCBvcHQgb2YgY29ob3J0T3B0aW9uc1wiIFtjbGFzcy5zZWxlY3RlZF09XCJvcHQgPT09IGZpbHRlclR5cGVcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0Q29ob3J0VHlwZShvcHQpXCI+XG4gICAgICAgICAgICAgIHt7IG9wdCB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8aDQgY2xhc3M9XCJzZWN0aW9uLXRpdGxlIG1iLTBcIj5Db2hvcnQgQW5hbHlzaXM8L2g0PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwidG90YWwtYXVkaW8tbGFiZWxcIj5Ub3RhbCBBdWRpbyBBdmFpbGFibGUgPHN0cm9uZz57eyB0b3RhbEF1ZGlvIH19PC9zdHJvbmc+PC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDwhLS0g4pSA4pSAIFN0YXRzIEdyaWQgKER5bmFtaWMpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAtLT5cbiAgPGRpdiBjbGFzcz1cInN0YXRzLWdyaWQgbWItNFwiPlxuXG4gICAgPCEtLSBMb2FkZXIgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTG9hZGluZ0NhcmRzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwic3RhdC1jYXJkXCIgKm5nRm9yPVwibGV0IHMgb2YgWzEsMiwzLDQsNSw2XVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGxvYWRlciBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8ZGl2IGNsYXNzPVwic3RhdC1jYXJkXCIgKm5nRm9yPVwibGV0IGNhcmQgb2YgY29ob3J0Q2FyZHNcIiBbaGlkZGVuXT1cImlzTG9hZGluZ0NhcmRzXCI+XG4gICAgPGRpdiBjbGFzcz1cInN0YXQtY2FyZC1oZWFkZXIgdGV4dC1jYXBpdGFsaXplIGVsbGlwc2UxIGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uQ2FyZFJvd0NsaWNrKCcnLCBjYXJkLm5hbWUpXCI+XG4gIHt7IGNhcmQubmFtZSB9fVxuICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInN0YXQtY2FyZC1ib2R5XCI+XG5cbiAgICAgICAgPCEtLSBCT09MRUFOX0JBU0tFVDogbGFiZWwgKyByZXNwb25zZXMgKyBzY29yZSAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNhcmQudHlwZSA9PT0gJ0JPT0xFQU5fQkFTS0VUJ1wiPlxuICAgICAgICAgIDx0YWJsZSBjbGFzcz1cImNvaG9ydC10YWJsZSB3LTEwMFwiPlxuICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IHJvdyBvZiBjYXJkPy5ib29sZWFuUm93c1wiPlxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRleHQtcHJpbWFyeSB0ZXh0LWNhcGl0YWxpemUgdGV4dC1kZWNvcmF0aW9uLXVuZGVybGluZSBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvbkNhcmRSb3dDbGljaygnJywgcm93Py5sYWJlbClcIj57eyByb3c/LmxhYmVsLnNwbGl0KCdfJykuam9pbignICcpLnRvTG93ZXJDYXNlKCkgfX08L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRleHQtZW5kXCI+e3sgcm93Py5yZXNwb25zZXMgfX08L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRleHQtZW5kXCI+e3sgcm93Py5zY29yZSB9fSU8L3RkPlxuICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tIE5VTUVSSUNfU0NBTEFSOiB0b3RhbCArIGF2ZyAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNhcmQudHlwZSA9PT0gJ05VTUVSSUNfU0NBTEFSJyB8fCBjYXJkLnR5cGUgPT09ICdOVU1FUklDX0FSUkFZJ1wiPlxuICAgICAgICAgIDx0YWJsZSBjbGFzcz1cImNvaG9ydC10YWJsZSB3LTEwMFwiPlxuICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgPHRkPlRvdGFsPC90ZD5cbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0ZXh0LWVuZFwiPnt7IGNhcmQubnVtZXJpY0RhdGE/LnRvdGFsIH19PC90ZD5cbiAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgIDx0ZD5BdmVyYWdlPC90ZD5cbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0ZXh0LWVuZFwiPnt7IGNhcmQubnVtZXJpY0RhdGE/LmF2ZyB9fTwvdGQ+XG4gICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgIDwvdGFibGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDwhLS0gU1VCSkVDVElWRTogaWQgKyByZWFzb25pbmcgdGV4dCAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNhcmQudHlwZSA9PT0gJ1NVQkpFQ1RJVkUnXCI+XG4gICAgICAgICAgPHRhYmxlIGNsYXNzPVwiY29ob3J0LXRhYmxlIHctMTAwXCI+XG4gICAgICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgcm93IG9mIGNhcmQuc3ViamVjdGl2ZVJvd3NcIj5cbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0ZXh0LW5vd3JhcFwiPnt7IHJvdz8uc3RvcmVfaWQgfHwgJ+KAlCcgfX08L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRleHQtbm93cmFwXCI+e3sgcm93Py5kYXRlIHx8ICfigJQnIH19PC90ZD5cbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgdGV4dC1jYXBpdGFsaXplIHRleHQtZGVjb3JhdGlvbi11bmRlcmxpbmUgY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25DYXJkUm93Q2xpY2socm93Py5faWQsJycpXCIgW25nYlRvb2x0aXBdPVwicm93Py5yZWFzb25pbmcgfHwgJ05vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZSdcIiBwbGFjZW1lbnQ9XCJ0b3BcIiBjb250YWluZXI9XCJib2R5XCIgdG9vbHRpcENsYXNzPVwiYXVkaW8tdG9vbHRpcFwiPnt7IHJvdz8ucmVhc29uaW5nICYmIHJvdz8ucmVhc29uaW5nICE9PSAnJyA/IHJvdz8ucmVhc29uaW5nPy5zbGljZSgwLCAyNSkgKyAnLi4uJyA6ICdObyByZWFzb25pbmcgYXZhaWxhYmxlJyB9fTwvdGQ+XG4gICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgIDwvdGFibGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2FyZC50eXBlID09PSAnU1VCSkVDVElWRV9DT1VOVCdcIj5cbiAgICAgICAgICA8dGFibGUgY2xhc3M9XCJjb2hvcnQtdGFibGUgdy0xMDBcIj5cbiAgICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCByb3cgb2YgY2FyZC5zdWJqZWN0aXZlUm93c1wiPlxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRleHQtbm93cmFwIGZ3LWJvbGRcIlxuICAgICAgICAgICAgICAgICAgW25nYlRvb2x0aXBdPVwicm93Py5faWRcIiBwbGFjZW1lbnQ9XCJ0b3BcIiBjb250YWluZXI9XCJib2R5XCIgdG9vbHRpcENsYXNzPVwiYXVkaW8tdG9vbHRpcFwiPnt7IHJvdz8uX2lkIH19PC90ZD5cbiAgICAgICAgICAgICAgICA8dGQgW25nYlRvb2x0aXBdPVwicm93Py5yZWFzb25pbmcgfHwgJ05vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZSdcIiBwbGFjZW1lbnQ9XCJ0b3BcIiBjb250YWluZXI9XCJib2R5XCIgdG9vbHRpcENsYXNzPVwiYXVkaW8tdG9vbHRpcFwiPnt7IHJvdz8ucmVhc29uaW5nICYmIHJvdz8ucmVhc29uaW5nICE9PSAnJyA/IHJvdz8ucmVhc29uaW5nPy5zbGljZSgwLCAyNSkgIDogJ05vIHJlYXNvbmluZyBhdmFpbGFibGUnIH19PC90ZD5cbiAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgPC90YWJsZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPCEtLSBVTklRVUVfUElUQ0hFUzogcGl0Y2hJZCArIGRlc2NyaXB0aW9uIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2FyZC50eXBlID09PSAnVU5JUVVFX1BJVENIRVMnXCI+XG4gICAgICAgICAgPHRhYmxlIGNsYXNzPVwiY29ob3J0LXRhYmxlIHctMTAwXCI+XG4gICAgICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgcGl0Y2ggb2YgY2FyZC5waXRjaFJvd3NcIj5cbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0ZXh0LW5vd3JhcCBmdy1ib2xkXCJcbiAgICAgICAgICAgICAgICAgIFtuZ2JUb29sdGlwXT1cInBpdGNoLmlkXCIgcGxhY2VtZW50PVwidG9wXCIgY29udGFpbmVyPVwiYm9keVwiIHRvb2x0aXBDbGFzcz1cImF1ZGlvLXRvb2x0aXBcIj57eyBwaXRjaC5pZCB9fTwvdGQ+XG4gICAgICAgICAgICAgICAgPHRkIFtuZ2JUb29sdGlwXT1cInBpdGNoLmRlc2MgfHwgJ05vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZSdcIiBwbGFjZW1lbnQ9XCJ0b3BcIiBjb250YWluZXI9XCJib2R5XCIgdG9vbHRpcENsYXNzPVwiYXVkaW8tdG9vbHRpcFwiPnt7IHBpdGNoLmRlc2MgPyBwaXRjaC5kZXNjLnNsaWNlKDAsIDc1KSArICcuLi4nIDogJ05vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZScgfX08L3RkPlxuICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgPC9kaXY+XG5cbiAgPCEtLSDilIDilIAgQ29udmVyc2F0aW9uIEFuYWx5c2lzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAtLT5cbiAgPGRpdiBjbGFzcz1cImNvbnZlcnNhdGlvbi1hcmVhIGJnLXdoaXRlIHAtNCByb3VuZGVkLTNcIj5cblxuICAgIDwhLS0gU2VjdGlvbiBIZWFkZXIgLS0+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgcHgtMiBib3R0b20tYm9yZGVyIG1iLTRcIj5cbiAgICAgIDxoNSBjbGFzcz1cInNlY3Rpb24tdGl0bGUgIG1iLTBcIj5Db252ZXJzYXRpb24gQW5hbHlzaXM8L2g1PlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cImV4cG9ydC1idG4gYnRuIGJ0bi1kZWZhdWx0IG14LTEgYnRuLW91dGxpbmUgYmctd2hpdGUgYnRuLW91dGxpbmUtZGVmYXVsdFwiIChjbGljayk9XCJleHBvcnREYXRhKClcIiBuZ2JUb29sdGlwPVwiRXhwb3J0IGNvbnZlcnNhdGlvbiBkYXRhIHRvIENTVlwiIHBsYWNlbWVudD1cInRvcFwiIFtkaXNhYmxlZF09XCJ0b3RhbEl0ZW1zID09PSAwXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZXhwb3J0LXRleHRcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcbiAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBkPVwiTTguMTI1IDEzLjEyNUgxNi4zNTYzTDE0Ljc0MzggMTQuNzQzOEwxNS42MjUgMTUuNjI1TDE4Ljc1IDEyLjVMMTUuNjI1IDkuMzc1TDE0Ljc0MzggMTAuMjU2MkwxNi4zNTYzIDExLjg3NUg4LjEyNVYxMy4xMjVaXCJcbiAgICAgICAgICAgICAgZmlsbD1cImJsYWNrXCIgLz5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGQ9XCJNMTMuNzUgOC43NTAwMVY2LjI1MDAxQzEzLjc1MDUgNi4xNjc3NiAxMy43MzQ3IDYuMDg2MjIgMTMuNzAzNiA2LjAxMDA3QzEzLjY3MjUgNS45MzM5MiAxMy42MjY3IDUuODY0NjYgMTMuNTY4OCA1LjgwNjI2TDkuMTkzNzUgMS40MzEyNkM5LjEzNTM1IDEuMzczMzMgOS4wNjYwOSAxLjMyNzUxIDguOTg5OTQgMS4yOTY0QzguOTEzNzkgMS4yNjUzIDguODMyMjUgMS4yNDk1MyA4Ljc1IDEuMjUwMDFIMi41QzIuMTY4NDggMS4yNTAwMSAxLjg1MDU0IDEuMzgxNzEgMS42MTYxMiAxLjYxNjEzQzEuMzgxNyAxLjg1MDU1IDEuMjUgMi4xNjg0OSAxLjI1IDIuNTAwMDFWMTcuNUMxLjI1IDE3LjgzMTUgMS4zODE3IDE4LjE0OTUgMS42MTYxMiAxOC4zODM5QzEuODUwNTQgMTguNjE4MyAyLjE2ODQ4IDE4Ljc1IDIuNSAxOC43NUgxMi41QzEyLjgzMTUgMTguNzUgMTMuMTQ5NSAxOC42MTgzIDEzLjM4MzkgMTguMzgzOUMxMy42MTgzIDE4LjE0OTUgMTMuNzUgMTcuODMxNSAxMy43NSAxNy41VjE2LjI1SDEyLjVWMTcuNUgyLjVWMi41MDAwMUg3LjVWNi4yNTAwMUM3LjUgNi41ODE1MyA3LjYzMTcgNi44OTk0NyA3Ljg2NjEyIDcuMTMzODlDOC4xMDA1NCA3LjM2ODMxIDguNDE4NDggNy41MDAwMSA4Ljc1IDcuNTAwMDFIMTIuNVY4Ljc1MDAxSDEzLjc1Wk04Ljc1IDYuMjUwMDFWMi43NTYyNkwxMi4yNDM4IDYuMjUwMDFIOC43NVpcIlxuICAgICAgICAgICAgICBmaWxsPVwiYmxhY2tcIiAvPlxuICAgICAgICAgIDwvc3ZnPiBFeHBvcnQ8L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0g4pSA4pSAIFRhbmdvIEFJIENoYXQg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJjaGF0LXBhZ2VcIj5cbiAgPGRpdiBjbGFzcz1cImNoYXQtbGF5b3V0LWNvbnRhaW5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJjaGF0LW1haW5cIj5cbiAgICAgIDxoZWFkZXIgY2xhc3M9XCJjaGF0LWhlYWRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXRvcFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItY29udGVudCB0ZXh0LWNlbnRlclwiPjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvaGVhZGVyPlxuXG4gICAgICA8IS0tIE1lc3NhZ2UgQXJlYSAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJjaGF0LW1lc3NhZ2VzLWFyZWEgc2Nyb2xsYmFyLWhpZGRlblwiICNzY3JvbGxDb250YWluZXI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgcHktNFwiICpuZ0lmPVwiaXNDaGF0TG9hZGluZ1wiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1tdXRlZFwiPkxvYWRpbmcgY29udmVyc2F0aW9uLi4uPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgbXNnIG9mIG1lc3NhZ2VzXCIgY2xhc3M9XCJtZXNzYWdlLXdyYXBwZXJcIiBbY2xhc3MudXNlcl09XCJtc2cuc2VuZGVyID09PSAndXNlcidcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZVwiIFtjbGFzcy5hc3Npc3RhbnRdPVwibXNnLnNlbmRlciA9PT0gJ2Fzc2lzdGFudCdcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlLWF2YXRhclwiICpuZ0lmPVwibXNnLnNlbmRlciA9PT0gJ2Fzc2lzdGFudCdcIj5cbiAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XG4gICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgcng9XCIxMlwiIGZpbGw9XCIjRUFGOEZGXCIgLz5cbiAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTE1Ljk5NDEgMTQuNTU2MUwxNS40NTY1IDE0LjAxODVMOS42NjMgOC4yMjVMMTEuMzgxNiA2LjUwNjRMMTEuNzkzNCA2LjA5MzhDMTEuODMyNyA2LjA1Mzk1IDExLjg1NDkgNi4wMDAzMiAxMS44NTUyIDUuOTQyOEMxMS44NTUgNS45MTY2OCAxMS44NDk0IDUuODg5MzEgMTEuODM4NyA1Ljg2MzgxQzExLjgyOCA1LjgzODMgMTEuODEyMyA1LjgxNTE3IDExLjc5MjYgNS43OTU3MkwxMS4zOCA1LjM4MzEyTDkuNTU3NCAzLjU1NzI5TDkuMTQ0OCAzLjE0NDY5QzkuMTI1MyAzLjEyNDg1IDkuMTAyMSAzLjEwOTA5IDkuMDc2NCAzLjA5ODMzQzkuMDUwOCAzLjA4NzU3IDkuMDIzMiAzLjA4MjAzIDguOTk1NCAzLjA4MjAzQzguOTY3NiAzLjA4MjAzIDguOTQgMy4wODc1NyA4LjkxNDQgMy4wOTgzM0M4Ljg4ODcgMy4xMDkwOSA4Ljg2NTUgMy4xMjQ4NSA4Ljg0NTkgMy4xNDQ2OUw4LjQzMzMgMy41NTgxTDYuMTk5OCA1Ljc5MTY2QzYuMTggNS44MTEwOSA2LjE2NDIgNS44MzQyOCA2LjE1MzUgNS44NTk4OEM2LjE0MjcgNS44ODU0NyA2LjEzNzIgNS45MTI5NCA2LjEzNzIgNS45NDA3QzYuMTM3MiA1Ljk2ODQ2IDYuMTQyNyA1Ljk5NTkzIDYuMTUzNSA2LjAyMTUyQzYuMTY0MiA2LjA0NzEyIDYuMTggNi4wNzAzMSA2LjE5OTggNi4wODk3NEw4LjMzMzQgOC4yMjQyTDIuNTM5MiAxNC4wMTg1TDIuMDA0IDE0LjU1NjFDMS45NjQzIDE0LjU5NTUgMS45NDE4IDE0LjY0ODkgMS45NDE0IDE0LjcwNDhDMS45NDE2IDE0Ljc1ODggMS45NjIyIDE0LjgxMDcgMS45OTkxIDE0Ljg1MDJDMi4wMTg3IDE0Ljg3MTIgMi4wNDI1IDE0Ljg4NzkgMi4wNjg5IDE0Ljg5OTRDMi4wOTUzIDE0LjkxMDggMi4xMjM4IDE0LjkxNjggMi4xNTI2IDE0LjkxNjhINy4zNjQ1QzcuNDIwNCAxNC45MTY2IDcuNDc0IDE0Ljg5NDIgNy41MTM2IDE0Ljg1NDdDNy41NTMxIDE0LjgxNTEgNy41NzU0IDE0Ljc2MTUgNy41NzU3IDE0LjcwNTZWMTQuMTg3NEM3LjU3NTcgMTQuMTMxMyA3LjU1MzQgMTQuMDc3NSA3LjUxMzkgMTQuMDM3OEM3LjQ3NDMgMTMuOTk4MSA3LjQyMDYgMTMuOTc1NiA3LjM2NDUgMTMuOTc1NEgzLjkxMjZMOC45OTc4IDguODkwMkwxNC4wODMgMTMuOTc1NEgxMC42MDExQzEwLjU0NSAxMy45NzU2IDEwLjQ5MTMgMTMuOTk4MSAxMC40NTE3IDE0LjAzNzhDMTAuNDEyMiAxNC4wNzc1IDEwLjM4OTkgMTQuMTMxMyAxMC4zODk5IDE0LjE4NzRWMTQuNzA1NkMxMC4zODk4IDE0LjczMzQgMTAuMzk1MyAxNC43NjEgMTAuNDA2MSAxNC43ODY3QzEwLjQxNjggMTQuODEyMyAxMC40MzI2IDE0LjgzNTYgMTAuNDUyNSAxNC44NTVDMTAuNDkxOSAxNC44OTQ0IDEwLjU0NTQgMTQuOTE2NiAxMC42MDExIDE0LjkxNjhIMTUuODQ0N0MxNS44NzM2IDE0LjkxNjkgMTUuOTAyMyAxNC45MTEgMTUuOTI4OCAxNC44OTk1QzE1Ljk1NTQgMTQuODg4MSAxNS45NzkzIDE0Ljg3MTMgMTUuOTk5IDE0Ljg1MDJDMTYuMDM3IDE0LjgxMDMgMTYuMDU3NyAxNC43NTcyIDE2LjA1NjggMTQuNzAyMkMxNi4wNTU5IDE0LjY0NzEgMTYuMDMzNCAxNC41OTQ3IDE1Ljk5NDEgMTQuNTU2MVpNOC45OTQ2IDQuMzI2NDVMMTAuNjEzMyA1Ljk0NTE3TDguOTk4NiA3LjU1OThMNy4zNzk5IDUuOTQxMTFMOC45OTQ2IDQuMzI2NDVaXCIgZmlsbD1cIiMwMEEzRkZcIi8+XG4gICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZS1jb250ZW50XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlLWJ1YmJsZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJwYXJzZU1hcmtkb3duKG1zZy50ZXh0KVwiPjwvZGl2PlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXNnLXNlbmRlci10YWdcIiAqbmdJZj1cIm1zZy5zZW5kZXIgPT09ICd1c2VyJ1wiPnt7IHVzZXJJbml0aWFscyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlLWFjdGlvbnNcIiAqbmdJZj1cIm1zZy5zZW5kZXIgPT09ICdhc3Npc3RhbnQnICYmIG1zZy50ZXh0XCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0bi1jb3B5XCIgKGNsaWNrKT1cImNvcHlUb0NsaXBib2FyZChtc2cudGV4dClcIiB0aXRsZT1cIkNvcHkgdG8gY2xpcGJvYXJkXCI+XG4gICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCI+XG4gICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMuMzMzMyAxMy4zMzMzVjE2LjY2NjdDMTMuMzMzMyAxNy41ODcyIDEyLjU4NzIgMTguMzMzMyAxMS42NjY3IDE4LjMzMzNIMy4zMzMzM0MyLjQxMjg2IDE4LjMzMzMgMS42NjY2NyAxNy41ODcyIDEuNjY2NjcgMTYuNjY2N1Y4LjMzMzMzQzEuNjY2NjcgNy40MTI4NiAyLjQxMjg2IDYuNjY2NjcgMy4zMzMzMyA2LjY2NjY3SDYuNjY2NjdNOC4zMzMzMyAzLjMzMzMzVjExLjY2NjdDOC4zMzMzMyAxMi41ODcyIDkuMDc5NTMgMTMuMzMzMyAxMCAxMy4zMzMzSDE2LjY2NjdDMTcuNTg3MiAxMy4zMzMzIDE4LjMzMzMgMTIuNTg3MiAxOC4zMzMzIDExLjY2NjdWMy4zMzMzM0MxOC4zMzMzIDIuNDEyODYgMTcuNTg3MiAxLjY2NjY3IDE2LjY2NjcgMS42NjY2N0gxMEM5LjA3OTUzIDEuNjY2NjcgOC4zMzMzMyAyLjQxMjg2IDguMzMzMzMgMy4zMzMzM1pcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxuICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8IS0tIFR5cGluZyBJbmRpY2F0b3IgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlLXdyYXBwZXIgYXNzaXN0YW50XCIgKm5nSWY9XCJpc1R5cGluZ1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlIGFzc2lzdGFudFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1lc3NhZ2UtYXZhdGFyXCI+XG4gICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxuICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHJ4PVwiMTJcIiBmaWxsPVwiI0VBRjhGRlwiIC8+XG4gICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xNS45OTQxIDE0LjU1NjFMMTUuNDU2NSAxNC4wMTg1TDkuNjYzIDguMjI1TDExLjM4MTYgNi41MDY0TDExLjc5MzQgNi4wOTM4QzExLjgzMjcgNi4wNTM5NSAxMS44NTQ5IDYuMDAwMzIgMTEuODU1MiA1Ljk0MjhDMTEuODU1IDUuOTE2NjggMTEuODQ5NCA1Ljg4OTMxIDExLjgzODcgNS44NjM4MUMxMS44MjggNS44MzgzIDExLjgxMjMgNS44MTUxNyAxMS43OTI2IDUuNzk1NzJMMTEuMzggNS4zODMxMkw5LjU1NzQgMy41NTcyOUw5LjE0NDggMy4xNDQ2OUM5LjEyNTMgMy4xMjQ4NSA5LjEwMjEgMy4xMDkwOSA5LjA3NjQgMy4wOTgzM0M5LjA1MDggMy4wODc1NyA5LjAyMzIgMy4wODIwMyA4Ljk5NTQgMy4wODIwM0M4Ljk2NzYgMy4wODIwMyA4Ljk0IDMuMDg3NTcgOC45MTQ0IDMuMDk4MzNDOC44ODg3IDMuMTA5MDkgOC44NjU1IDMuMTI0ODUgOC44NDU5IDMuMTQ0NjlMOC40MzMzIDMuNTU4MUw2LjE5OTggNS43OTE2NkM2LjE4IDUuODExMDkgNi4xNjQyIDUuODM0MjggNi4xNTM1IDUuODU5ODhDNi4xNDI3IDUuODg1NDcgNi4xMzcyIDUuOTEyOTQgNi4xMzcyIDUuOTQwN0M2LjEzNzIgNS45Njg0NiA2LjE0MjcgNS45OTU5MyA2LjE1MzUgNi4wMjE1MkM2LjE2NDIgNi4wNDcxMiA2LjE4IDYuMDcwMzEgNi4xOTk4IDYuMDg5NzRMOC4zMzM0IDguMjI0MkwyLjUzOTIgMTQuMDE4NUwyLjAwNCAxNC41NTYxQzEuOTY0MyAxNC41OTU1IDEuOTQxOCAxNC42NDg5IDEuOTQxNCAxNC43MDQ4QzEuOTQxNiAxNC43NTg4IDEuOTYyMiAxNC44MTA3IDEuOTk5MSAxNC44NTAyQzIuMDE4NyAxNC44NzEyIDIuMDQyNSAxNC44ODc5IDIuMDY4OSAxNC44OTk0QzIuMDk1MyAxNC45MTA4IDIuMTIzOCAxNC45MTY4IDIuMTUyNiAxNC45MTY4SDcuMzY0NUM3LjQyMDQgMTQuOTE2NiA3LjQ3NCAxNC44OTQyIDcuNTEzNiAxNC44NTQ3QzcuNTUzMSAxNC44MTUxIDcuNTc1NCAxNC43NjE1IDcuNTc1NyAxNC43MDU2VjE0LjE4NzRDNy41NzU3IDE0LjEzMTMgNy41NTM0IDE0LjA3NzUgNy41MTM5IDE0LjAzNzhDNy40NzQzIDEzLjk5ODEgNy40MjA2IDEzLjk3NTYgNy4zNjQ1IDEzLjk3NTRIMy45MTI2TDguOTk3OCA4Ljg5MDJMMTQuMDgzIDEzLjk3NTRIMTAuNjAxMUMxMC41NDUgMTMuOTc1NiAxMC40OTEzIDEzLjk5ODEgMTAuNDUxNyAxNC4wMzc4QzEwLjQxMjIgMTQuMDc3NSAxMC4zODk5IDE0LjEzMTMgMTAuMzg5OSAxNC4xODc0VjE0LjcwNTZDMTAuMzg5OCAxNC43MzM0IDEwLjM5NTMgMTQuNzYxIDEwLjQwNjEgMTQuNzg2N0MxMC40MTY4IDE0LjgxMjMgMTAuNDMyNiAxNC44MzU2IDEwLjQ1MjUgMTQuODU1QzEwLjQ5MTkgMTQuODk0NCAxMC41NDU0IDE0LjkxNjYgMTAuNjAxMSAxNC45MTY4SDE1Ljg0NDdDMTUuODczNiAxNC45MTY5IDE1LjkwMjMgMTQuOTExIDE1LjkyODggMTQuODk5NUMxNS45NTU0IDE0Ljg4ODEgMTUuOTc5MyAxNC44NzEzIDE1Ljk5OSAxNC44NTAyQzE2LjAzNyAxNC44MTAzIDE2LjA1NzcgMTQuNzU3MiAxNi4wNTY4IDE0LjcwMjJDMTYuMDU1OSAxNC42NDcxIDE2LjAzMzQgMTQuNTk0NyAxNS45OTQxIDE0LjU1NjFaTTguOTk0NiA0LjMyNjQ1TDEwLjYxMzMgNS45NDUxN0w4Ljk5ODYgNy41NTk4TDcuMzc5OSA1Ljk0MTExTDguOTk0NiA0LjMyNjQ1WlwiIGZpbGw9XCIjMDBBM0ZGXCIvPlxuICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1lc3NhZ2UtY29udGVudCBtdC0zXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlLWJ1YmJsZSB0eXBpbmdcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRvdFwiPjwvc3Bhbj48c3BhbiBjbGFzcz1cImRvdFwiPjwvc3Bhbj48c3BhbiBjbGFzcz1cImRvdFwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gQ29weSBGZWVkYmFjayBUb2FzdCAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb3B5LWZlZWRiYWNrLXRvYXN0XCIgKm5nSWY9XCJjb3B5RmVlZGJhY2tcIj57eyBjb3B5RmVlZGJhY2sgfX08L2Rpdj5cbiAgICAgIDwhLS0gSW5wdXQgQXJlYSAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJjaGF0LWlucHV0LWFyZWEgYm9yZGVyLXRvcFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2hhdC1mb290ZXIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC13cmFwcGVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1ncm93LTFcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwbHVzLW1lbnUtd3JhcCBtZS0yXCI+XG4gICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4tcGx1c1wiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwidG9nZ2xlUGx1c01lbnUoKVwiIFtjbGFzcy5vcGVuXT1cInNob3dQbHVzTWVudVwiPi88L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBsdXMtcG9wdXBcIiAqbmdJZj1cInNob3dQbHVzTWVudVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwbHVzLXBvcHVwLXNlY3Rpb24tbGFiZWxcIj5Nb2RlbDwvZGl2PlxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJwbHVzLXBvcHVwLWl0ZW1cIiB0eXBlPVwiYnV0dG9uXCIgKm5nRm9yPVwibGV0IG0gb2YgbW9kZWxPcHRpb25zXCJcbiAgICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJzZWxlY3RlZE1vZGVsID09PSBtLnZhbHVlXCIgKGNsaWNrKT1cInNlbGVjdE1vZGVsKG0udmFsdWUpOyBjbG9zZVBsdXNNZW51KClcIj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibW9kZWwtaGludCBmdy1ib2xkIHRleHQtZGFyayBmcy01XCI+e3sgbS5sYWJlbCB8IHRpdGxlY2FzZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJzZWxlY3RlZE1vZGVsID09PSBtLnZhbHVlXCIgY2xhc3M9XCJjaGVjay1pY29uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiMwMDlCRjNcIiBzdHJva2Utd2lkdGg9XCIyLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIj5cbiAgICAgICAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz1cIjIwIDYgOSAxNyA0IDEyXCIvPlxuICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBsdXMtcG9wdXAtZGl2aWRlclwiPjwvZGl2PlxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJwbHVzLXBvcHVwLWl0ZW1cIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImNsb3NlUGx1c01lbnUoKTsgbmV3Q2hhdCgpXCI+XG4gICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS44XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTIgMjBoOU0xNi41IDMuNWEyLjEyMSAyLjEyMSAwIDAgMSAzIDNMNyAxOWwtNCAxIDEtNEwxNi41IDMuNXpcIi8+XG4gICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgIDxzcGFuPk5ldyBDaGF0PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJwbHVzLXBvcHVwLWl0ZW1cIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImNsb3NlUGx1c01lbnUoKTsgdG9nZ2xlQ2hhdEhpc3RvcnkoKVwiPlxuICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuOFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPlxuICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEyIDh2NGwzIDNtNi0zYTkgOSAwIDEgMS0xOCAwIDkgOSAwIDAgMSAxOCAwelwiLz5cbiAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+Q2hhdCBIaXN0b3J5PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJ1c2VyTWVzc2FnZVwiIGNsYXNzPVwiY2hhdC1pbnB1dFwiIHBsYWNlaG9sZGVyPVwiQXNrIGFueXRoaW5nLi4uXCJcbiAgICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cInNlbmRNZXNzYWdlKClcIiBbZGlzYWJsZWRdPVwiaXNUeXBpbmdcIj5cbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4taGlzdG9yeS1pbmxpbmVcIiAqbmdJZj1cIiFzaG93Q2hhdEhpc3RvcnlcIiAoY2xpY2spPVwidG9nZ2xlQ2hhdEhpc3RvcnkoKVwiIHRpdGxlPVwiQ2hhdCBIaXN0b3J5XCI+XG4gICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjhcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIj5cbiAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEyIDh2NGwzIDNtNi0zYTkgOSAwIDEgMS0xOCAwIDkgOSAwIDAgMSAxOCAwelwiLz5cbiAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4tc2VuZFwiIChjbGljayk9XCJzZW5kTWVzc2FnZSgpXCIgW2Rpc2FibGVkXT1cIiF1c2VyTWVzc2FnZS50cmltKCkgfHwgaXNUeXBpbmdcIj5cbiAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIyXCI+XG4gICAgICAgICAgICAgICAgPGxpbmUgeDE9XCIyMlwiIHkxPVwiMlwiIHgyPVwiMTFcIiB5Mj1cIjEzXCI+PC9saW5lPlxuICAgICAgICAgICAgICAgIDxwb2x5Z29uIHBvaW50cz1cIjIyIDIgMTUgMjIgMTEgMTMgMiA5IDIyIDJcIj48L3BvbHlnb24+XG4gICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPCEtLSBCYWNrZHJvcCAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiY2hhdC1oaXN0b3J5LWJhY2tkcm9wXCIgKm5nSWY9XCJzaG93Q2hhdEhpc3RvcnlcIiAoY2xpY2spPVwidG9nZ2xlQ2hhdEhpc3RvcnkoKVwiPjwvZGl2PlxuICAgIDwhLS0gUmlnaHQgU2lkZWJhcjogQ2hhdCBIaXN0b3J5IC0tPlxuICAgIDxhc2lkZSBjbGFzcz1cImNoYXQtaGlzdG9yeS1zaWRlYmFyIGJvcmRlci1zdGFydFwiICpuZ0lmPVwic2hvd0NoYXRIaXN0b3J5XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwic2lkZWJhci1oZWFkZXIgcC0zIGJvcmRlci1ib3R0b20gZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICA8aDYgKGNsaWNrKT1cInRvZ2dsZUNoYXRIaXN0b3J5KClcIiBjbGFzcz1cIm1iLTAgZnctYm9sZCBjdXJzb3ItcG9pbnRlclwiPlxuICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxuICAgICAgICAgICAgPHBhdGggZD1cIk0xMC44MzMzIDE0LjE2NzNMMTUgMTAuMDAwN0wxMC44MzMzIDUuODMzOThNNSAxNC4xNjczTDkuMTY2NjcgMTAuMDAwN0w1IDUuODMzOThcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XG4gICAgICAgICAgPC9zdmc+IENoYXQgSGlzdG9yeVxuICAgICAgICA8L2g2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic2lkZWJhci1zZWFyY2ggcC0zIHBiLTBcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImhpc3Rvcnktc2VhcmNoLXdyYXBwZXJcIj5cbiAgICAgICAgICA8aSBjbGFzcz1cImJpIGJpLXNlYXJjaFwiPjwvaT5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBwbGFjZWhvbGRlcj1cIlNlYXJjaCBjaGF0cy4uXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hUZXh0XCI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic2lkZWJhci1jb250ZW50IHAtMyBzY3JvbGxiYXItaGlkZGVuXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciB0ZXh0LW11dGVkIHB5LTNcIiAqbmdJZj1cImlzSGlzdG9yeUxvYWRpbmdcIj5Mb2FkaW5nLi4uPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciB0ZXh0LW11dGVkIHB5LTNcIiAqbmdJZj1cIiFpc0hpc3RvcnlMb2FkaW5nICYmIGZpbHRlcmVkSGlzdG9yeS5sZW5ndGggPT09IDBcIj5ObyBjaGF0cyBmb3VuZDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBjaGF0IG9mIGZpbHRlcmVkSGlzdG9yeVwiIGNsYXNzPVwiaGlzdG9yeS1pdGVtXCIgW2NsYXNzLmFjdGl2ZV09XCJzZWxlY3RlZENoYXRJZCA9PT0gY2hhdC5zZXNzaW9uX2lkXCJcbiAgICAgICAgICAoY2xpY2spPVwibG9hZENoYXQoY2hhdC5zZXNzaW9uX2lkKVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLXRpdGxlIHRleHQtdHJ1bmNhdGVcIj57eyBjaGF0LnNlc3Npb25fdGl0bGUgfX08L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzaWRlYmFyLWZvb3RlciBwLTMgbXQtYXV0b1wiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuLW5ldy1jaGF0IHctMTAwXCIgKGNsaWNrKT1cIm5ld0NoYXQoKVwiPlxuICAgICAgICAgIDxpIGNsYXNzPVwiYmkgYmktcGx1cy1sZyBtZS0yXCI+PC9pPiBOZXcgQ2hhdFxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvYXNpZGU+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbiAgICA8IS0tIENvbnZlcnNhdGlvbnMgQ291bnQgLS0+XG4gICAgPGRpdiBjbGFzcz1cImNvbnZlcnNhdGlvbnMtY291bnQgbWItMyBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtd3JhcCBnYXAtMlwiPlxuICAgICAgPHN0cm9uZz57eyB0b3RhbEl0ZW1zIH19IFRvdGFsIENvbnZlcnNhdGlvbnMgRm91bmQ8L3N0cm9uZz5cbiAgICAgIDxzcGFuICpuZ0lmPVwic2VsZWN0ZWRDYXJkSWQgfHwgc2VsZWN0ZWRDYXJkTmFtZVwiIGNsYXNzPVwiYWN0aXZlLWZpbHRlci1jaGlwXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY2hpcC1sYWJlbFwiPnt7IHNlbGVjdGVkQ2FyZElkIHx8IHNlbGVjdGVkQ2FyZE5hbWUgfX08L3NwYW4+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJjaGlwLXJlbW92ZVwiIChjbGljayk9XCJjbGVhckNhcmRGaWx0ZXIoKVwiIHRpdGxlPVwiUmVtb3ZlIGZpbHRlclwiPiZ0aW1lczs8L2J1dHRvbj5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gQ29udmVyc2F0aW9uIENhcmRzIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJjb252ZXJzYXRpb25zLWxpc3RcIj5cblxuICAgICAgPCEtLSBMb2FkZXIgLS0+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNMb2FkaW5nQ29udmVyc2F0aW9uc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udmVyc2F0aW9uLWNhcmQgcC0zXCIgKm5nRm9yPVwibGV0IHMgb2YgWzEsMiwzXVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbG9hZGVyIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8IS0tIE5vIERhdGEgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtbiBteS0xMFwiXG4gICAgICAgICpuZ0lmPVwiIWlzTG9hZGluZ0NvbnZlcnNhdGlvbnMgJiYgZGlzcGxheWVkQ29udmVyc2F0aW9ucy5sZW5ndGggPT09IDBcIj5cbiAgICAgICAgPGltZyBjbGFzcz1cImltZy1tYXBcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXRpdGxlXCI+Tm8gZGF0YSBmb3VuZDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXN1YlwiPk5vIGNvaG9ydHMgaGFzIGJlZW4gY3JlYXRlZCB5ZXQuPGJyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBDcmVhdGUgYSBjb2hvcnQgdG8gdmlldyB0aGUgZGFzaGJvYXJkLjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5ICByb3VuZGVkLTMgdy0yNSBwLTQgbXQtM1wiIChjbGljayk9XCJjcmVhdGVDb2hvcnQoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZ3LWJvbGQgZnMtNCBteC0yIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxuPHBhdGggZD1cIk0xMC4wMDEzIDQuMTY2OTlWMTUuODMzN000LjE2Nzk3IDEwLjAwMDNIMTUuODM0NlwiIHN0cm9rZT1cIndoaXRlXCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cbjwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmdy1ib2xkIGZzLTQgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIG1zLTJcIj5DcmVhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb2hvcnRzPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImNvbnZlcnNhdGlvbi1jYXJkXCIgKm5nRm9yPVwibGV0IGMgb2YgZGlzcGxheWVkQ29udmVyc2F0aW9uczsgbGV0IG1pID0gaW5kZXhcIlxuICAgICAgICBbaGlkZGVuXT1cImlzTG9hZGluZ0NvbnZlcnNhdGlvbnNcIj5cblxuICAgICAgICA8IS0tIFN1bW1hcnkgUm93IChhbHdheXMgdmlzaWJsZSkgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb252LXN1bW1hcnkgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCIgKGNsaWNrKT1cInRvZ2dsZUNvbnZlcnNhdGlvbihjLmF1ZGlvSWQpXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnYtc3VtbWFyeS1sZWZ0XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMiBteS0yXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY29udi1pZCBtLTBcIj57eyBjLmF1ZGlvSWQgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb252LW1ldGEtcm93IG15LTJcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZXRhLWl0ZW1cIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCJcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XG4gICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICBkPVwiTTQuMDg5ODQgOS40Njc3N0MzLjkzNDA4IDkuNDg3MDcgMy43NzUwNCA5LjUgMy42MTMyOCA5LjVDMy41MTU2MiA5LjQ5OTk5IDMuNDE5NjcgOS40OTQ0OCAzLjMyNTIgOS40ODczVjE0LjIyMzZDMy4zMjUyIDE0LjkwMTUgMy44ODY1MiAxNS40NjQ4IDQuNTg5ODQgMTUuNDY0OEgxMy40MTExQzE0LjExNDUgMTUuNDY0OCAxNC42NzU4IDE0LjkwMTUgMTQuNjc1OCAxNC4yMjM2VjkuNDg4MjhDMTQuNTgyNyA5LjQ5NTEyIDE0LjQ4NzggOS41IDE0LjM5MjYgOS41QzE0LjIyOTcgOS40OTk5OCAxNC4wNjkxIDkuNDg3NjIgMTMuOTExMSA5LjQ2Nzc3VjEyLjk4MjRINC4wODk4NFY5LjQ2Nzc3Wk0xMy45MTg5IDIuNTM2MTNINC4wODIwM0MzLjk4MTQ1IDIuNTM2MjMgMy44OTEzIDIuNTg4MjYgMy44NDQ3MyAyLjY2MTEzVjIuNjYyMTFMMi4yNjQ2NSA1LjEyOTg4TDIuMjQzMTYgNS4xNjMwOUMxLjYzNjA5IDYuMTU2NTMgMi4yMjI1MyA3LjQ2NDkxIDMuMzQyNzcgNy42MTIzQzMuNDM1MzIgNy42MjM1OCAzLjUyMzg4IDcuNjI5ODggMy42MTEzMyA3LjYyOTg4QzQuMTgzMTIgNy42Mjk3NSA0LjY4OTIzIDcuMzgzOCA1LjA0MTAyIDcuMDAxOTVMNS40MDkxOCA2LjYwMTU2TDUuNzc3MzQgNy4wMDI5M0M2LjEyNTYyIDcuMzgzMzQgNi42MzA3NiA3LjYyOTg4IDcuMjA2MDUgNy42Mjk4OEM3Ljc3ODggNy42Mjk4MiA4LjI4Njc1IDcuMzgzMDYgOC42MzQ3NyA3LjAwMjkzTDEyLjU5ODYgNi42MDA1OUwxMi45NjY4IDcuMDAyOTNDMTMuMzE0OCA3LjM4MzA3IDEzLjgyMjcgNy42Mjk4MiAxNC4zOTU1IDcuNjI5ODhDMTQuNDgwNiA3LjYyOTg4IDE0LjU3MTYgNy42MjM1NyAxNC42NjQxIDcuNjEyM0gxNC42NjMxQzE1Ljc4OTkgNy40NjEzOSAxNi4zNzcgNi4xMjUxNiAxNS43MzkzIDUuMTI5ODhMMTQuMTU3MiAyLjY2MjExTDE0LjE1NjIgMi42NjExM0MxNC4xMDk3IDIuNTg4MjYgMTQuMDE5NSAyLjUzNjE5IDEzLjkxODkgMi41MzYxM1pcIlxuICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgLz5cbiAgICAgICAgICAgICAgICA8L3N2Zz4gPHNwYW4gY2xhc3M9XCJ0ZXh0LW5hbWVcIj5TdG9yZTo8L3NwYW4+IDxzcGFuIGNsYXNzPVwibmFtZS12YWxcIj57eyBjLnN0b3JlTmFtZSB9fTwvc3Bhbj48L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWV0YS1zZXBcIj48L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWV0YS1pdGVtXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNFwiIGhlaWdodD1cIjE1XCIgdmlld0JveD1cIjAgMCAxNCAxNVwiXG4gICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxuICAgICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgICAgZD1cIk0xMi43NSAxNC4yNVYxMi43NUMxMi43NSAxMS45NTQ0IDEyLjQzMzkgMTEuMTkxMyAxMS44NzEzIDEwLjYyODdDMTEuMzA4NyAxMC4wNjYxIDEwLjU0NTYgOS43NSA5Ljc1IDkuNzVIMy43NUMyLjk1NDM1IDkuNzUgMi4xOTEyOSAxMC4wNjYxIDEuNjI4NjggMTAuNjI4N0MxLjA2NjA3IDExLjE5MTMgMC43NSAxMS45NTQ0IDAuNzUgMTIuNzVWMTQuMjVNOS43NSAzLjc1QzkuNzUgNS40MDY4NSA4LjQwNjg1IDYuNzUgNi43NSA2Ljc1QzUuMDkzMTUgNi43NSAzLjc1IDUuNDA2ODUgMy43NSAzLjc1QzMuNzUgMi4wOTMxNSA1LjA5MzE1IDAuNzUgNi43NSAwLjc1QzguNDA2ODUgMC43NSA5Ljc1IDIuMDkzMTUgOS43NSAzLjc1WlwiXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxuICAgICAgICAgICAgICAgIDwvc3ZnPjxzcGFuIGNsYXNzPVwidGV4dC1uYW1lXCI+U3RhZmY6PC9zcGFuPiA8c3BhbiBjbGFzcz1cIm5hbWUtdmFsXCI+e3sgYy51c2VyTmFtZSB9fTwvc3Bhbj48L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWV0YS1zZXBcIj48L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWV0YS1pdGVtXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiXG4gICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxuICAgICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgICAgZD1cIk0xMC44NzUgMTMuNjg3NUMxMC4zNSAxMy42ODc1IDkuOTA2MjUgMTMuNTA2MiA5LjU0Mzc1IDEzLjE0MzdDOS4xODEyNSAxMi43ODEyIDkgMTIuMzM3NSA5IDExLjgxMjVDOSAxMS4yODc1IDkuMTgxMjUgMTAuODQzOCA5LjU0Mzc1IDEwLjQ4MTNDOS45MDYyNSAxMC4xMTg4IDEwLjM1IDkuOTM3NSAxMC44NzUgOS45Mzc1QzExLjQgOS45Mzc1IDExLjg0MzggMTAuMTE4OCAxMi4yMDYzIDEwLjQ4MTNDMTIuNTY4OCAxMC44NDM4IDEyLjc1IDExLjI4NzUgMTIuNzUgMTEuODEyNUMxMi43NSAxMi4zMzc1IDEyLjU2ODggMTIuNzgxMiAxMi4yMDYzIDEzLjE0MzdDMTEuODQzOCAxMy41MDYyIDExLjQgMTMuNjg3NSAxMC44NzUgMTMuNjg3NVpNMy43NSAxNi42ODc1QzMuMzM3NSAxNi42ODc1IDIuOTg0NSAxNi41NDA4IDIuNjkxIDE2LjI0NzJDMi4zOTc1IDE1Ljk1MzcgMi4yNTA1IDE1LjYwMDUgMi4yNSAxNS4xODc1VjQuNjg3NUMyLjI1IDQuMjc1IDIuMzk3IDMuOTIyIDIuNjkxIDMuNjI4NUMyLjk4NSAzLjMzNSAzLjMzOCAzLjE4OCAzLjc1IDMuMTg3NUg0LjVWMS42ODc1SDZWMy4xODc1SDEyVjEuNjg3NUgxMy41VjMuMTg3NUgxNC4yNUMxNC42NjI1IDMuMTg3NSAxNS4wMTU4IDMuMzM0NSAxNS4zMDk4IDMuNjI4NUMxNS42MDM4IDMuOTIyNSAxNS43NTA1IDQuMjc1NSAxNS43NSA0LjY4NzVWMTUuMTg3NUMxNS43NSAxNS42IDE1LjYwMzMgMTUuOTUzMiAxNS4zMDk4IDE2LjI0NzJDMTUuMDE2MyAxNi41NDEzIDE0LjY2MyAxNi42ODggMTQuMjUgMTYuNjg3NUgzLjc1Wk0zLjc1IDE1LjE4NzVIMTQuMjVWNy42ODc1SDMuNzVWMTUuMTg3NVpcIlxuICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzY2NzA4NVwiIC8+XG4gICAgICAgICAgICAgICAgPC9zdmc+PHNwYW4gY2xhc3M9XCJ0ZXh0LW5hbWVcIj5EYXRlOjwvc3Bhbj4gPHNwYW4gY2xhc3M9XCJuYW1lLXZhbFwiPnt7IGMuZGF0ZSB9fTwvc3Bhbj48L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWV0YS1zZXBcIj48L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWV0YS1pdGVtXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiXG4gICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxuICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xODQ5XzEzMzAyKVwiPlxuICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOSA0LjVWOUwxMiAxMC41TTE2LjUgOUMxNi41IDEzLjE0MjEgMTMuMTQyMSAxNi41IDkgMTYuNUM0Ljg1Nzg2IDE2LjUgMS41IDEzLjE0MjEgMS41IDlDMS41IDQuODU3ODYgNC44NTc4NiAxLjUgOSAxLjVDMTMuMTQyMSAxLjUgMTYuNSA0Ljg1Nzg2IDE2LjUgOVpcIlxuICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cbiAgICAgICAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICAgICAgICAgIDxkZWZzPlxuICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8xODQ5XzEzMzAyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgZmlsbD1cIndoaXRlXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cbiAgICAgICAgICAgICAgICAgIDwvZGVmcz5cbiAgICAgICAgICAgICAgICA8L3N2Zz48c3BhbiBjbGFzcz1cInRleHQtbmFtZVwiPlRpbWVzdGFtcDo8L3NwYW4+IDxzcGFuIGNsYXNzPVwibmFtZS12YWxcIj57eyBjLnRpbWUgfCBkYXRlOidoaDptbSBhJyB9fTwvc3Bhbj48L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWV0YS1zZXBcIj48L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWV0YS1pdGVtXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiXG4gICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxuICAgICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgICAgZD1cIk02Ljg3NSAyLjE1MjY3QzYuODc1IDEuOTY0ODEgNi45NDk2MyAxLjc4NDY0IDcuMDgyNDcgMS42NTE4QzcuMjE1MzEgMS41MTg5NiA3LjM5NTQ3IDEuNDQ0MzQgNy41ODMzMyAxLjQ0NDM0SDEwLjQxNjdDMTAuNjA0NSAxLjQ0NDM0IDEwLjc4NDcgMS41MTg5NiAxMC45MTc1IDEuNjUxOEMxMS4wNTA0IDEuNzg0NjQgMTEuMTI1IDEuOTY0ODEgMTEuMTI1IDIuMTUyNjdDMTEuMTI1IDIuMzQwNTMgMTEuMDUwNCAyLjUyMDcgMTAuOTE3NSAyLjY1MzU0QzEwLjc4NDcgMi43ODYzNyAxMC42MDQ1IDIuODYxIDEwLjQxNjcgMi44NjFIOS43MDgzM1YzLjgwNTQ1TDkuNzA3MzkgMy44NDQxN0MxMC45MDQ3IDMuOTc1MzYgMTIuMDM5NiA0LjQ0NTUzIDEyLjk3ODkgNS4xOTk0NUwxMi45ODU2IDUuMTkzNzhMMTMuNjkzOSA0LjQ4NTQ1QzEzLjc4MDUgNC4zOTIyMSAxMy44OTA2IDQuMzI0MDQgMTQuMDEyNyA0LjI4ODE0QzE0LjEzNDcgNC4yNTIyNCAxNC4yNjQyIDQuMjQ5OTMgMTQuMzg3NSA0LjI4MTQ0QzE0LjUxMDggNC4zMTI5NiAxNC42MjMzIDQuMzc3MTUgMTQuNzEzMSA0LjQ2NzI0QzE0LjgwMyA0LjU1NzMyIDE0Ljg2NjkgNC42Njk5OCAxNC44OTgxIDQuNzkzMzNDMTQuOTI5NSA0LjkxNjQ3IDE0LjkyNzMgNS4wNDU4MSAxNC44OTE1IDUuMTY3NzdDMTQuODU1OCA1LjI4OTc0IDE0Ljc4NzkgNS4zOTk4NSAxNC42OTUgNS40ODY1NkwxMy45ODY3IDYuMTk0ODlMMTMuOTgxIDYuMjAxNUMxNC43MzAyIDcuMTM5NDQgMTUuMTk5NCA4LjI2OTg1IDE1LjMzNDUgOS40NjI2NkMxNS40Njk2IDEwLjY1NTUgMTUuMjY1MiAxMS44NjIyIDE0Ljc0NDggMTIuOTQzOUMxNC4yMjQ0IDE0LjAyNTcgMTMuNDA5MSAxNC45Mzg1IDEyLjM5MjggMTUuNTc3NEMxMS4zNzY1IDE2LjIxNjMgMTAuMjAwNCAxNi41NTUyIDkgMTYuNTU1MkM3Ljc5OTU3IDE2LjU1NTIgNi42MjM1MyAxNi4yMTYzIDUuNjA3MjIgMTUuNTc3NEM0LjU5MDkxIDE0LjkzODUgMy43NzU2NCAxNC4wMjU3IDMuMjU1MjIgMTIuOTQzOUMyLjczNDgxIDExLjg2MjIgMi41MzA0IDEwLjY1NTUgMi42NjU1MiA5LjQ2MjY2QzIuODAwNjQgOC4yNjk4NSAzLjI2OTggNy4xMzk0NCA0LjAxOSA2LjIwMTVMNC4wMTMzNCA2LjE5NDg5TDMuMzA1IDUuNDg2NTZDMy4xNzk3MyA1LjM1MjMxIDMuMTExNDggNS4xNzQ2NiAzLjExNDY2IDQuOTkxMDdDMy4xMTc4MyA0LjgwNzQ3IDMuMTkyMTcgNC42MzIyOSAzLjMyMiA0LjUwMjQ1QzMuNDUxODUgNC4zNzI2MSAzLjYyNzAzIDQuMjk4MjcgMy44MTA2MiA0LjI5NTFDMy45OTQyMiA0LjI5MTkzIDQuMTcxODcgNC4zNjAxNyA0LjMwNjExIDQuNDg1NDVMNS4wMTQ0NSA1LjE5Mzc4TDUuMDIxMDYgNS4xOTk0NUM1Ljk2MDEgNC40NDU3IDcuMDk0NzIgMy45NzU1NCA4LjI5MTY3IDMuODQ0MTdWMi44NjFINy41ODMzM0M3LjM5NTQ3IDIuODYxIDcuMjE1MzEgMi43ODYzNyA3LjA4MjQ3IDIuNjUzNTRDNi45NDk2MyAyLjUyMDcgNi44NzUgMi4zNDA1MyA2Ljg3NSAyLjE1MjY3Wk05IDE1LjEzODhDMTAuMzE1MiAxNS4xMzg2IDExLjU3NjQgMTQuNjE2MSAxMi41MDYzIDEzLjY4NkMxMy40MzYxIDEyLjc1NiAxMy45NTg1IDExLjQ5NDcgMTMuOTU4MyAxMC4xNzk1QzEzLjk1ODIgOC44NjQzNCAxMy40MzU2IDcuNjAzMSAxMi41MDU2IDYuNjczMjNDMTEuNTc1NiA1Ljc0MzM3IDEwLjMxNDIgNS4yMjEwNCA4Ljk5OTA2IDUuMjIxMTdDNy42ODM5IDUuMjIxMjkgNi40MjI2NiA1Ljc0Mzg2IDUuNDkyNzkgNi42NzM5QzQuNTYyOTIgNy42MDM5NSA0LjA0MDYgOC44NjUyOSA0LjA0MDcyIDEwLjE4MDRDNC4wNDA4NSAxMS40OTU2IDQuNTYzNDEgMTIuNzU2OCA1LjQ5MzQ2IDEzLjY4NjdDNi40MjM1IDE0LjYxNjYgNy42ODQ4NCAxNS4xMzg5IDkgMTUuMTM4OFpNOS4zNjczOSA4LjgxMUwxMC42MjM1IDcuNTU0ODlDMTAuNjg4OCA3LjQ4NzIgMTAuNzY2OSA3LjQzMzIxIDEwLjg1MzMgNy4zOTYwNEMxMC45Mzk3IDcuMzU4ODggMTEuMDMyNyA3LjMzOTMgMTEuMTI2NyA3LjMzODQzQzExLjIyMDggNy4zMzc1NyAxMS4zMTQxIDcuMzU1NDUgMTEuNDAxMSA3LjM5MTAzQzExLjQ4ODIgNy40MjY2IDExLjU2NzMgNy40NzkxNiAxMS42MzM5IDcuNTQ1NjNDMTEuNzAwNCA3LjYxMjExIDExLjc1MyA3LjY5MTE3IDExLjc4ODcgNy43NzgyMUMxMS44MjQzIDcuODY1MjQgMTEuODQyMyA3Ljk1ODUgMTEuODQxNSA4LjA1MjU2QzExLjg0MDggOC4xNDY2MSAxMS44MjEzIDguMjM5NTcgMTEuNzg0MiA4LjMyNkMxMS43NDcxIDguNDEyNDQgMTEuNjkzMiA4LjQ5MDYyIDExLjYyNTYgOC41NTZMMTAuMzY5NCA5LjgxMzA1QzEwLjQyNTIgMTAuMDIzIDEwLjQzMjEgMTAuMjQzIDEwLjM4OTUgMTAuNDU2MUMxMC4zNDY4IDEwLjY2OTIgMTAuMjU1OSAxMC44Njk2IDEwLjEyMzYgMTEuMDQxOUM5Ljk5MTI3IDExLjIxNDMgOS44MjExNyAxMS4zNTQgOS42MjYzNyAxMS40NTAyQzkuNDMxNTcgMTEuNTQ2NSA5LjIxNzI4IDExLjU5NjcgOSAxMS41OTcxQzguNzk5NDkgMTEuNTk1NCA4LjYwMTYzIDExLjU1MTEgOC40MTk1MyAxMS40NjcxQzguMjM3NDMgMTEuMzgzMiA4LjA3NTI0IDExLjI2MTUgNy45NDM2OSAxMS4xMTAyQzcuODEyMTUgMTAuOTU4OCA3LjcxNDI2IDEwLjc4MTMgNy42NTY0OSAxMC41ODkzQzcuNTk4NzMgMTAuMzk3MyA3LjU4MjQxIDEwLjE5NTIgNy42MDg2MyA5Ljk5NjM2QzcuNjM0ODQgOS43OTc1NiA3LjcwMjk5IDkuNjA2NiA3LjgwODU1IDkuNDM2MTJDNy45MTQxMiA5LjI2NTY0IDguMDU0NjkgOS4xMTk1MyA4LjIyMDk3IDkuMDA3NDZDOC4zODcyNSA4Ljg5NTM5IDguNTc1NDMgOC44MTk5MyA4Ljc3MzA3IDguNzg2MDZDOC45NzA3MSA4Ljc1MjE5IDkuMTczMjggOC43NjA2OSA5LjM2NzM5IDguODExWlwiXG4gICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjNjY3MDg1XCIgLz5cbiAgICAgICAgICAgICAgICA8L3N2Zz48c3BhbiBjbGFzcz1cInRleHQtbmFtZVwiPiBEdXJhdGlvbjo8L3NwYW4+IDxzcGFuIGNsYXNzPVwibmFtZS12YWxcIj57eyBmb3JtYXREdXJhdGlvbihjLmR1cmF0aW9uKSB9fTwvc3Bhbj48L3NwYW4+XG4gICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWV0YS1zZXBcIj48L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWV0YS1pdGVtXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiIGZpbGw9XCJub25lXCI+XG4gIDxwYXRoIGQ9XCJNOSAxLjVDNi4yMzg1OCAxLjUgNCAzLjczODU4IDQgNi41QzQgMTAuMjUgOSAxNi41IDkgMTYuNUM5IDE2LjUgMTQgMTAuMjUgMTQgNi41QzE0IDMuNzM4NTggMTEuNzYxNCAxLjUgOSAxLjVaTTkgOC43NUM3Ljc1NzM2IDguNzUgNi43NSA3Ljc0MjY0IDYuNzUgNi41QzYuNzUgNS4yNTczNiA3Ljc1NzM2IDQuMjUgOSA0LjI1QzEwLjI0MjYgNC4yNSAxMS4yNSA1LjI1NzM2IDExLjI1IDYuNUMxMS4yNSA3Ljc0MjY0IDEwLjI0MjYgOC43NSA5IDguNzVaXCIgZmlsbD1cIiM2NjcwODVcIi8+XG48L3N2Zz48c3BhbiBjbGFzcz1cInRleHQtbmFtZVwiPiBMb2NhdGlvbjo8L3NwYW4+IDxzcGFuIGNsYXNzPVwibmFtZS12YWwgbG9jYXRpb24tdHJ1bmNhdGVcIiBbdGl0bGVdPVwiYy5sb2NhdGlvblwiPnt7IGMubG9jYXRpb24gfX08L3NwYW4+PC9zcGFuPlxuXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb252LWV4Y2VycHQgbXktMlwiPnt7IGMuYXVkaW9EZXNjcmlwdGlvbiB9fTwvZGl2PlxuICAgICAgICAgICAgPGEgKm5nSWY9XCJjLmV5ZVRlc3RMaW5rXCIgY2xhc3M9XCJleWUtdGVzdC1saW5rXCIgaHJlZj1cIiNcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XG4gICAgICAgICAgICAgIFZpZXcgRXllIFRlc3QgPHNwYW4+XG4gICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XG4gICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICBkPVwiTTE1IDEwLjgzMzNWMTUuODMzM0MxNSAxNi4yNzU0IDE0LjgyNDQgMTYuNjk5MyAxNC41MTE4IDE3LjAxMThDMTQuMTk5MyAxNy4zMjQ0IDEzLjc3NTQgMTcuNSAxMy4zMzMzIDE3LjVINC4xNjY2N0MzLjcyNDY0IDE3LjUgMy4zMDA3MiAxNy4zMjQ0IDIuOTg4MTYgMTcuMDExOEMyLjY3NTU5IDE2LjY5OTMgMi41IDE2LjI3NTQgMi41IDE1LjgzMzNWNi42NjY2N0MyLjUgNi4yMjQ2NCAyLjY3NTU5IDUuODAwNzIgMi45ODgxNiA1LjQ4ODE2QzMuMzAwNzIgNS4xNzU1OSAzLjcyNDY0IDUgNC4xNjY2NyA1SDkuMTY2NjdNMTIuNSAyLjVIMTcuNU0xNy41IDIuNVY3LjVNMTcuNSAyLjVMOC4zMzMzMyAxMS42NjY3XCJcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzAwOUJGM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxuICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnYtdG9nZ2xlLWJ0biB0ZXh0LW5vd3JhcFwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IHRvZ2dsZUNvbnZlcnNhdGlvbihjLmF1ZGlvSWQpXCI+XG4gICAgICAgICAgICA8c3Bhbj57eyBvcGVuSWQgPT09IGMuYXVkaW9JZCA/ICdWaWV3IExlc3MnIDogJ1ZpZXcgTW9yZScgfX08L3NwYW4+XG5cbiAgICAgICAgICAgIDwhLS0gZG93biBhcnJvdyB3aGVuIGNsb3NlZCAtLT5cbiAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJvcGVuSWQgIT09IGMuYXVkaW9JZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIlxuICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cbiAgICAgICAgICAgICAgPHBhdGggZD1cIk01LjgzMjAzIDEwLjgzMzNMOS45OTg3IDE1TDE0LjE2NTQgMTAuODMzM001LjgzMjAzIDVMOS45OTg3IDkuMTY2NjdMMTQuMTY1NCA1XCIgc3Ryb2tlPVwiIzY2NzA4NVwiXG4gICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XG4gICAgICAgICAgICA8L3N2Zz5cblxuICAgICAgICAgICAgPCEtLSB1cCBhcnJvdyB3aGVuIG9wZW4gLS0+XG4gICAgICAgICAgICA8c3ZnICpuZ0lmPVwib3BlbklkID09PSBjLmF1ZGlvSWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCJcbiAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XG4gICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNS44MzIwMyAxMC44MzMzTDkuOTk4NyAxNUwxNC4xNjU0IDEwLjgzMzNNNS44MzIwMyA1TDkuOTk4NyA5LjE2NjY3TDE0LjE2NTQgNVwiIHN0cm9rZT1cIiM2NjcwODVcIlxuICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiB0cmFuc2Zvcm09XCJyb3RhdGUoMTgwIDEwIDEwKVwiIC8+XG4gICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLSBFeHBhbmRlZCBCb2R5IC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udi1ib2R5XCIgKm5nSWY9XCJvcGVuSWQgPT09IGMuYXVkaW9JZFwiPlxuXG4gICAgICAgICAgPCEtLSBEZXRhaWwgTG9hZGluZyBzaGltbWVyIC0tPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjLl9kZXRhaWxMb2FkaW5nXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGxvYWRlciBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgcHgtNCBweS0zXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICA8IS0tIE5vIGRhdGEgLyBlcnJvciBhZnRlciBsb2FkIC0tPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uIG15LTZcIlxuICAgICAgICAgICAgKm5nSWY9XCIhYy5fZGV0YWlsTG9hZGluZyAmJiAoYy5fZGV0YWlsRXJyb3IgfHwgKGMuX2RldGFpbExvYWRlZCAmJiAhYy5jb252ZXJzYXRpb25EZXRhaWxzPy5hdWRpb1N1bW1hcnkgJiYgYy5tZXRyaWNzPy5sZW5ndGggPT09IDApKVwiPlxuICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1tYXBcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS10aXRsZVwiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViXCI+Tm8gZGV0YWlscyBhdmFpbGFibGUgZm9yIHRoaXMgY29udmVyc2F0aW9uPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udi1ib2R5LWlubmVyXCIgKm5nSWY9XCIhYy5fZGV0YWlsTG9hZGluZyAmJiAhYy5fZGV0YWlsRXJyb3JcIj5cblxuICAgICAgICAgICAgPCEtLSBMZWZ0OiBSZWNvcmRpbmcgKyBTdW1tYXJ5ICsgSW5zaWdodHMgLS0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udi1sZWZ0XCI+XG5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlY29yZGluZy1ib3ggbWItMlwiIFtjbGFzcy5pcy1wbGF5aW5nLWJveF09XCJwbGF5aW5nQ29udklkID09PSBjLmF1ZGlvSWRcIiAqbmdJZj1cImMuYXVkaW9VcmxcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVjb3JkaW5nLXRpdGxlXCI+Q29udmVyc2F0aW9uIFJlY29yZGluZzwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPCEtLSBXYXZlZm9ybTogcGVyLWNvbnZlcnNhdGlvbiBwbGF5aW5nIHN0YXRlIC0tPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3YXZlZm9ybS1iYXJzXCIgW2NsYXNzLmlzLXBsYXlpbmddPVwicGxheWluZ0NvbnZJZCA9PT0gYy5hdWRpb0lkXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2YtYmFyXCIgKm5nRm9yPVwibGV0IGggb2Ygd2F2ZWZvcm1IZWlnaHRzOyBsZXQgaSA9IGluZGV4XCIgW3N0eWxlLmhlaWdodC5weF09XCJoXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLndmLWJhci0tcGxheWVkXT1cIihwbGF5YmFja1N0YXRlc1tjLmF1ZGlvSWRdPy5wcm9ncmVzcyB8fCAwKSA+IGkgLyB3YXZlZm9ybUhlaWdodHMubGVuZ3RoXCI+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDwhLS0gUGxheWVyIGNvbnRyb2xzIC0tPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwbGF5ZXItcm93XCI+XG5cbiAgICAgICAgICAgICAgICAgIDwhLS0gUGxheSAvIFBhdXNlIGJ1dHRvbiB3aXRoIHdoaXRlIG91dGVyIHJpbmcgLS0+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGxheS1idG4td3JhcFwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwicGxheS1idG4tY2lyY2xlXCIgKGNsaWNrKT1cInRvZ2dsZVBsYXkoYy5hdWRpb0lkKVwiPlxuICAgICAgICAgICAgICAgICAgICAgIDwhLS0gUGxheSBpY29uIC0tPlxuICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJwbGF5aW5nQ29udklkICE9PSBjLmF1ZGlvSWRcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIndoaXRlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTggNXYxNGwxMS03elwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgPCEtLSBQYXVzZSBpY29uIC0tPlxuICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJwbGF5aW5nQ29udklkID09PSBjLmF1ZGlvSWRcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIndoaXRlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYgMTloNFY1SDZ2MTR6bTgtMTR2MTRoNFY1aC00elwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgIDwhLS0gUHJvZ3Jlc3MgYmFyICsgdGltZXMgLS0+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGxheWVyLXByb2dyZXNzIHctMTAwXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBsYXllci10aW1lIHN0YXJ0LXRpbWVcIj57eyBwbGF5YmFja1N0YXRlc1tjLmF1ZGlvSWRdPy5jdXJyZW50VGltZSB8fCAnMDowMCcgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwbGF5ZXItdGltZSBlbmQtdGltZVwiPnt7IHBsYXliYWNrU3RhdGVzW2MuYXVkaW9JZF0/LnRvdGFsVGltZSB8fCBjLmR1cmF0aW9uIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3MtdHJhY2tcIiAoY2xpY2spPVwic2Vla0F1ZGlvKCRldmVudCwgYy5hdWRpb0lkKVwiIHN0eWxlPVwiY3Vyc29yOiBwb2ludGVyO1wiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9ncmVzcy1maWxsXCIgW3N0eWxlLndpZHRoLiVdPVwiKHBsYXliYWNrU3RhdGVzW2MuYXVkaW9JZF0/LnByb2dyZXNzIHx8IDApICogMTAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxhdWRpbyBbaWRdPVwiJ2F1ZGlvLScgKyBjLmF1ZGlvSWRcIiBbc3JjXT1cImMuYXVkaW9VcmxcIlxuICAgICAgICAgICAgICAgICAgICBwcmVsb2FkPVwibWV0YWRhdGFcIlxuICAgICAgICAgICAgICAgICAgICAodGltZXVwZGF0ZSk9XCJvblRpbWVVcGRhdGUoYXVkaW9QbGF5ZXIsIGMuYXVkaW9JZClcIlxuICAgICAgICAgICAgICAgICAgICAobG9hZGVkbWV0YWRhdGEpPVwib25Mb2FkZWRNZXRhZGF0YShhdWRpb1BsYXllciwgYy5hdWRpb0lkLCBjLmR1cmF0aW9uKVwiXG4gICAgICAgICAgICAgICAgICAgIChlbmRlZCk9XCJwbGF5aW5nQ29udklkID0gbnVsbFwiICNhdWRpb1BsYXllcj5cbiAgICAgICAgICAgICAgICAgIDwvYXVkaW8+XG4gICAgICAgICAgICAgICAgICA8IS0tIDxhdWRpbyAjYXVkaW9QbGF5ZXIgKHRpbWV1cGRhdGUpPVwib25UaW1lVXBkYXRlKGF1ZGlvUGxheWVyKVwiXG4gICAgICAgICAgICAgICAgICAgIChsb2FkZWRtZXRhZGF0YSk9XCJvbkxvYWRlZE1ldGFkYXRhKGF1ZGlvUGxheWVyKVwiPlxuICAgICAgICAgICAgICAgICAgPC9hdWRpbz4gLS0+XG5cbiAgICAgICAgICAgICAgICAgIDwhLS0gTXV0ZSAvIFVubXV0ZSBidXR0b24gLS0+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwibXV0ZS1idG5cIiAoY2xpY2spPVwidG9nZ2xlTXV0ZSgpXCIgW3RpdGxlXT1cImlzTXV0ZWQgPyAnVW5tdXRlJyA6ICdNdXRlJ1wiPlxuICAgICAgICAgICAgICAgICAgICA8IS0tIFZvbHVtZSBvbiAtLT5cbiAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cIiFpc011dGVkXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0zIDl2Nmg0bDUgNVY0TDcgOUgzem0xMy41IDNjMC0xLjc3LTEuMDItMy4yOS0yLjUtNC4wM3Y4LjA1YzEuNDgtLjczIDIuNS0yLjI1IDIuNS00LjAyek0xNCAzLjIzdjIuMDZjMi44OS44NiA1IDMuNTQgNSA2Ljcxcy0yLjExIDUuODUtNSA2LjcxdjIuMDZjNC4wMS0uOTEgNy00LjQ5IDctOC43N3MtMi45OS03Ljg2LTctOC43N3pcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSBWb2x1bWUgbXV0ZWQgLS0+XG4gICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJpc011dGVkXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xNi41IDEyYzAtMS43Ny0xLjAyLTMuMjktMi41LTQuMDN2Mi4yMWwyLjQ1IDIuNDVjLjAzLS4yLjA1LS40MS4wNS0uNjN6bTIuNSAwYzAgLjk0LS4yIDEuODItLjU0IDIuNjRsMS41MSAxLjUxQzIwLjYzIDE0LjkxIDIxIDEzLjUgMjEgMTJjMC00LjI4LTIuOTktNy44Ni03LTguNzd2Mi4wNmMyLjg5Ljg2IDUgMy41NCA1IDYuNzF6TTQuMjcgM0wzIDQuMjcgNy43MyA5SDN2Nmg0bDUgNXYtNi43M2w0LjI1IDQuMjVjLS42Ny41Mi0xLjQyLjkzLTIuMjUgMS4xOHYyLjA2YzEuMzgtLjMxIDIuNjMtLjk1IDMuNjktMS44MUwxOS43MyAyMSAyMSAxOS43M2wtOS05TDQuMjcgM3pNMTIgNEw5LjkxIDYuMDkgMTIgOC4xOFY0elwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgPCEtLSBUYWJzIC0tPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyLWxheWVyIG1iLTJcIj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb252LXRhYnNcIj5cbiAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJjb252LXRhYlwiIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlVGFiW2MuYXVkaW9JZF0gIT09ICd0cmFuc2NyaXB0J1wiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IHNldFRhYihjLmF1ZGlvSWQsICdzdW1tYXJ5JylcIj5TdW1tYXJ5PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiY29udi10YWJcIiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZVRhYltjLmF1ZGlvSWRdID09PSAndHJhbnNjcmlwdCdcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyBzZXRUYWIoYy5hdWRpb0lkLCAndHJhbnNjcmlwdCcpXCI+VHJhbnNjcmlwdDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnYtYm9keS10ZXh0IG10LTJcIj5cbiAgICAgICAgICAgICAgICAgIDxwICpuZ0lmPVwiYWN0aXZlVGFiW2MuYXVkaW9JZF0gIT09ICd0cmFuc2NyaXB0J1wiPlxuICAgICAgICAgICAgICAgICAgICB7eyBjLmNvbnZlcnNhdGlvbkRldGFpbHMuYXVkaW9TdW1tYXJ5IH19XG4gICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICA8cCAqbmdJZj1cImFjdGl2ZVRhYltjLmF1ZGlvSWRdID09PSAndHJhbnNjcmlwdCdcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgYy5jb252ZXJzYXRpb25EZXRhaWxzLnRyYW5zY3JpcHRpb24gfX1cbiAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgPCEtLSBBSSBJbnNpZ2h0cyAtLT5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFpLWluc2lnaHRzLWJveFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhaS1pbnNpZ2h0cy1oZWFkZXJcIj5cbiAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzZcIiBoZWlnaHQ9XCIzN1wiIHZpZXdCb3g9XCIwIDAgMzYgMzdcIiBmaWxsPVwibm9uZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWFzayBpZD1cInBhdGgtMS1pbnNpZGUtMV8xODQ5XzEzMzg0XCIgZmlsbD1cIndoaXRlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjkuNTE1MSAyOS4zMjI3TDI4LjYxNTYgMjguNDIzMkwxOC45MjQ0IDE4LjczMkwyMS43OTkzIDE1Ljg1NzFMMjIuNDg4MiAxNS4xNjdDMjIuNTUzOSAxNS4xMDAzIDIyLjU5MDkgMTUuMDEwNiAyMi41OTE0IDE0LjkxN0MyMi41OTEyIDE0Ljg3MDcgMjIuNTgxOCAxNC44MjQ5IDIyLjU2MzkgMTQuNzgyMkMyMi41NDU5IDE0LjczOTYgMjIuNTE5NyAxNC43MDA5IDIyLjQ4NjggMTQuNjY4M0wyMS43OTY2IDEzLjk3ODFMMTguNzQ3OCAxMC45MjM5TDE4LjA1NzYgMTAuMjMzN0MxOC4wMjUgMTAuMjAwNSAxNy45ODYxIDEwLjE3NDIgMTcuOTQzMiAxMC4xNTYyQzE3LjkwMDIgMTAuMTM4MiAxNy44NTQyIDEwLjEyODkgMTcuODA3NiAxMC4xMjg5QzE3Ljc2MTEgMTAuMTI4OSAxNy43MTUgMTAuMTM4MiAxNy42NzIxIDEwLjE1NjJDMTcuNjI5MiAxMC4xNzQyIDE3LjU5MDMgMTAuMjAwNSAxNy41NTc2IDEwLjIzMzdMMTYuODY3NCAxMC45MjUzTDEzLjEzMTIgMTQuNjYxNUMxMy4wOTggMTQuNjk0IDEzLjA3MTcgMTQuNzMyOCAxMy4wNTM3IDE0Ljc3NTZDMTMuMDM1NyAxNC44MTg1IDEzLjAyNjUgMTQuODY0NCAxMy4wMjY1IDE0LjkxMDhDMTMuMDI2NSAxNC45NTczIDEzLjAzNTcgMTUuMDAzMiAxMy4wNTM3IDE1LjA0NjFDMTMuMDcxNyAxNS4wODg5IDEzLjA5OCAxNS4xMjc3IDEzLjEzMTIgMTUuMTYwMkwxNi43MDAzIDE4LjczMDdMNy4wMDc3NyAyOC40MjMyTDYuMTEyNDMgMjkuMzIyN0M2LjA0NjA0IDI5LjM4ODQgNi4wMDg0MiAyOS40Nzc4IDYuMDA3ODEgMjkuNTcxM0M2LjAwODIgMjkuNjYxNiA2LjA0MjY1IDI5Ljc0ODUgNi4xMDQyOCAyOS44MTQ1QzYuMTM3MTggMjkuODQ5NiA2LjE3Njk1IDI5Ljg3NzcgNi4yMjExMSAyOS44OTY4QzYuMjY1MjggMjkuOTE2IDYuMzEyOTEgMjkuOTI1OSA2LjM2MTA2IDI5LjkyNTlIMTUuMDc5NUMxNS4xNzMgMjkuOTI1NSAxNS4yNjI3IDI5Ljg4ODIgMTUuMzI4OSAyOS44MjJDMTUuMzk1IDI5Ljc1NTkgMTUuNDMyNCAyOS42NjYyIDE1LjQzMjcgMjkuNTcyNlYyOC43MDU4QzE1LjQzMjcgMjguNjEyIDE1LjM5NTUgMjguNTIyIDE1LjMyOTMgMjguNDU1NkMxNS4yNjMxIDI4LjM4OTEgMTUuMTczMyAyOC4zNTE2IDE1LjA3OTUgMjguMzUxMkg5LjMwNTI0TDE3LjgxMTcgMTkuODQ0OEwyNi4zMTgyIDI4LjM1MTJIMjAuNDkzN0MyMC4zOTk5IDI4LjM1MTYgMjAuMzEgMjguMzg5MSAyMC4yNDM4IDI4LjQ1NTZDMjAuMTc3NiAyOC41MjIgMjAuMTQwNCAyOC42MTIgMjAuMTQwNCAyOC43MDU4VjI5LjU3MjZDMjAuMTQwMiAyOS42MTkyIDIwLjE0OTQgMjkuNjY1MyAyMC4xNjc0IDI5LjcwODNDMjAuMTg1MyAyOS43NTEyIDIwLjIxMTggMjkuNzkwMSAyMC4yNDUgMjkuODIyNkMyMC4zMTEgMjkuODg4NSAyMC40MDA0IDI5LjkyNTYgMjAuNDkzNyAyOS45MjU5SDI5LjI2NTFDMjkuMzEzNCAyOS45MjYxIDI5LjM2MTMgMjkuOTE2MyAyOS40MDU3IDI5Ljg5NzFDMjkuNDUwMiAyOS44Nzc5IDI5LjQ5MDEgMjkuODQ5OCAyOS41MjMyIDI5LjgxNDVDMjkuNTg2NyAyOS43NDc4IDI5LjYyMTQgMjkuNjU4OSAyOS42MTk5IDI5LjU2NjlDMjkuNjE4NCAyOS40NzQ5IDI5LjU4MDcgMjkuMzg3MiAyOS41MTUxIDI5LjMyMjdaTTE3LjgwNjMgMTIuMjEwNUwyMC41MTQgMTQuOTE4M0wxNy44MTMxIDE3LjYxOTNMMTUuMTA1MyAxNC45MTE1TDE3LjgwNjMgMTIuMjEwNVpcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L21hc2s+XG4gICAgICAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgICAgICAgZD1cIk0yOS41MTUxIDI5LjMyMjdMLTE4LjExMzkgNzYuOTUxNkwtMTcuOTAyNCA3Ny4xNjMxTC0xNy42ODkxIDc3LjM3MjdMMjkuNTE1MSAyOS4zMjI3Wk0yOC42MTU2IDI4LjQyMzJMNzYuMjQ0NiAtMTkuMjA1N1YtMTkuMjA1N0wyOC42MTU2IDI4LjQyMzJaTTE4LjkyNDQgMTguNzMyTC0yOC43MDQ1IC0yOC44OTY5TC03Ni4zMzM1IDE4LjczMkwtMjguNzA0NiA2Ni4zNjFMMTguOTI0NCAxOC43MzJaTTIxLjc5OTMgMTUuODU3MUw2OS40MjgzIDYzLjQ4NjFMNjkuNDUxOCA2My40NjI2TDY5LjQ3NTMgNjMuNDM5MUwyMS43OTkzIDE1Ljg1NzFaTTIyLjQ4ODIgMTUuMTY3TDcwLjE2NDEgNjIuNzQ4OUw3MC4zMDk1IDYyLjYwMzJMNzAuNDU0IDYyLjQ1NjZMMjIuNDg4MiAxNS4xNjdaTTIyLjU5MTQgMTQuOTE3TDg5Ljk0ODEgMTUuMjYwNUw4OS45NDk4IDE0LjkyMjZMODkuOTQ4MSAxNC41ODQ4TDIyLjU5MTQgMTQuOTE3Wk0yMi40ODY4IDE0LjY2ODNMLTI1LjE0MjIgNjIuMjk3M0wtMjQuOTkzOSA2Mi40NDU2TC0yNC44NDQ3IDYyLjU5MjlMMjIuNDg2OCAxNC42NjgzWk0yMS43OTY2IDEzLjk3ODFMLTI1Ljg3NDggNjEuNTY0N0wtMjUuODUzNiA2MS41ODU5TC0yNS44MzI0IDYxLjYwNzFMMjEuNzk2NiAxMy45NzgxWk0xOC43NDc4IDEwLjkyMzlMNjYuNDE5MiAtMzYuNjYyNkw2Ni4zOTggLTM2LjY4MzlMNjYuMzc2OCAtMzYuNzA1MUwxOC43NDc4IDEwLjkyMzlaTTE4LjA1NzYgMTAuMjMzN0wtMjkuOTgwMyA1Ny40NTAyTC0yOS43NzY3IDU3LjY1NzRMLTI5LjU3MTMgNTcuODYyN0wxOC4wNTc2IDEwLjIzMzdaTTE3LjU1NzYgMTAuMjMzN0w2NS4yMzM0IDU3LjgxNTlMNjUuNDE1MiA1Ny42MzM3TDY1LjU5NTYgNTcuNDUwMkwxNy41NTc2IDEwLjIzMzdaTTE2Ljg2NzQgMTAuOTI1M0w2NC40OTY0IDU4LjU1NDJMNjQuNTE5OCA1OC41MzA4TDY0LjU0MzIgNTguNTA3NEwxNi44Njc0IDEwLjkyNTNaTTEzLjEzMTIgMTQuNjYxNUw2MC4yOTA3IDYyLjc1NTRMNjAuNTI2NiA2Mi41MjQxTDYwLjc2MDIgNjIuMjkwNUwxMy4xMzEyIDE0LjY2MTVaTTEzLjAyNjUgMTQuOTEwOEg4MC4zODRIMTMuMDI2NVpNMTMuMTMxMiAxNS4xNjAyTDYwLjc2OTIgLTMyLjQ1OTdMNjAuNTMxMiAtMzIuNjk3OUw2MC4yOTA3IC0zMi45MzM3TDEzLjEzMTIgMTUuMTYwMlpNMTYuNzAwMyAxOC43MzA3TDY0LjMyOTMgNjYuMzU5NkwxMTEuOTQ5IDE4LjczOTdMNjQuMzM4NCAtMjguODg5MkwxNi43MDAzIDE4LjczMDdaTTcuMDA3NzcgMjguNDIzMkwtNDAuNjIxMiAtMTkuMjA1N0wtNDAuNjc1MyAtMTkuMTUxN0wtNDAuNzI5MiAtMTkuMDk3NUw3LjAwNzc3IDI4LjQyMzJaTTYuMTEyNDMgMjkuMzIyN0w1My41MjAzIDc3LjE3MTdMNTMuNjg1NSA3Ny4wMDgxTDUzLjg0OTQgNzYuODQzNEw2LjExMjQzIDI5LjMyMjdaTTYuMDA3ODEgMjkuNTcxM0wtNjEuMzQ4MyAyOS4xMzE2TC02MS4zNTA3IDI5LjQ5NkwtNjEuMzQ5MSAyOS44NjA0TDYuMDA3ODEgMjkuNTcxM1pNNi4xMDQyOCAyOS44MTQ1TC00My4xMzc2IDc1Ljc3NEwtNDMuMTAzNyA3NS44MTAzTC00My4wNjk5IDc1Ljg0NjVMNi4xMDQyOCAyOS44MTQ1Wk02LjM2MTA2IDI5LjkyNTlMNi4zMzk3MyA5Ny4yODM0TDYuMzUwNCA5Ny4yODM0SDYuMzYxMDZWMjkuOTI1OVpNMTUuMDc5NSAyOS45MjU5Vjk3LjI4MzRIMTUuMjA4M0wxNS4zMzcxIDk3LjI4M0wxNS4wNzk1IDI5LjkyNTlaTTE1LjQzMjcgMjkuNTcyNkw4Mi43ODk4IDI5LjgzMDJMODIuNzkwMyAyOS43MDE0VjI5LjU3MjZIMTUuNDMyN1pNMTUuNDMyNyAyOC43MDU4TC01MS45MjQ4IDI4LjcwNTNWMjguNzA1OEgxNS40MzI3Wk0xNS4wNzk1IDI4LjM1MTJMMTUuMzM3NSAtMzkuMDA1OEwxNS4yMDg1IC0zOS4wMDYzSDE1LjA3OTVWMjguMzUxMlpNOS4zMDUyNCAyOC4zNTEyTC0zOC4zMjM3IC0xOS4yNzc4TC0xNTMuMzEgOTUuNzA4OEg5LjMwNTI0VjI4LjM1MTJaTTE3LjgxMTcgMTkuODQ0OEw2NS40NDA3IC0yNy43ODQyTDE3LjgxMTcgLTc1LjQxMzJMLTI5LjgxNzMgLTI3Ljc4NDJMMTcuODExNyAxOS44NDQ4Wk0yNi4zMTgyIDI4LjM1MTJWOTUuNzA4OEgxODguOTM0TDczLjk0NzIgLTE5LjI3NzhMMjYuMzE4MiAyOC4zNTEyWk0yMC40OTM3IDI4LjM1MTJWLTM5LjAwNjNIMjAuMzY0NkwyMC4yMzU2IC0zOS4wMDU4TDIwLjQ5MzcgMjguMzUxMlpNMjAuMTQwNCAyOC43MDU4SDg3LjQ5OFYyOC43MDUzTDIwLjE0MDQgMjguNzA1OFpNMjAuMTQwNCAyOS41NzI2TDg3LjQ5NzUgMjkuODMxTDg3LjQ5OCAyOS43MDE4VjI5LjU3MjZIMjAuMTQwNFpNMjAuMjQ1IDI5LjgyMjZMNjcuODM0OCAtMTcuODQ1NUw2Ny41ODk3IC0xOC4wOTAyTDY3LjM0MjIgLTE4LjMzMjNMMjAuMjQ1IDI5LjgyMjZaTTIwLjQ5MzcgMjkuOTI1OUwyMC4zMTMzIDk3LjI4MzJMMjAuNDAzNSA5Ny4yODM0SDIwLjQ5MzdWMjkuOTI1OVpNMjkuMjY1MSAyOS45MjU5TDI5LjUwMzQgLTM3LjQzMTJMMjkuMzg0MiAtMzcuNDMxN0gyOS4yNjUxVjI5LjkyNTlaTTI5LjUyMzIgMjkuODE0NUwtMTkuMjQ3NCAtMTYuNjQ0OUwtMTkuNDUwMyAtMTYuNDMxOUwtMTkuNjUxMyAtMTYuMjE3MUwyOS41MjMyIDI5LjgxNDVaTTE3LjgwNjMgMTIuMjEwNUw2NS40MzUzIC0zNS40MTg0TDE3LjgwNjMgLTgzLjA0NzRMLTI5LjgyMjcgLTM1LjQxODRMMTcuODA2MyAxMi4yMTA1Wk0yMC41MTQgMTQuOTE4M0w2OC4xNDMgNjIuNTQ3M0wxMTUuNzcyIDE0LjkxODNMNjguMTQzIC0zMi43MTA3TDIwLjUxNCAxNC45MTgzWk0xNy44MTMxIDE3LjYxOTNMLTI5LjgxNTkgNjUuMjQ4M0wxNy44MTMgMTEyLjg3N0w2NS40NDIgNjUuMjQ4M0wxNy44MTMxIDE3LjYxOTNaTTE1LjEwNTMgMTQuOTExNUwtMzIuNTIzNyAtMzIuNzE3NEwtODAuMTUyNyAxNC45MTE1TC0zMi41MjM3IDYyLjU0MDVMMTUuMTA1MyAxNC45MTE1Wk0yOS41MTUxIDI5LjMyMjdMNzcuMTQ0IC0xOC4zMDYzTDc2LjI0NDYgLTE5LjIwNTdMMjguNjE1NiAyOC40MjMyTC0xOS4wMTMzIDc2LjA1MjJMLTE4LjExMzkgNzYuOTUxNkwyOS41MTUxIDI5LjMyMjdaTTI4LjYxNTYgMjguNDIzMkw3Ni4yNDQ2IC0xOS4yMDU3TDY2LjU1MzQgLTI4Ljg5NjlMMTguOTI0NCAxOC43MzJMLTI4LjcwNDYgNjYuMzYxTC0xOS4wMTMzIDc2LjA1MjJMMjguNjE1NiAyOC40MjMyWk0xOC45MjQ0IDE4LjczMkw2Ni41NTM0IDY2LjM2MUw2OS40MjgzIDYzLjQ4NjFMMjEuNzk5MyAxNS44NTcxTC0yNS44Mjk3IC0zMS43NzE4TC0yOC43MDQ1IC0yOC44OTY5TDE4LjkyNDQgMTguNzMyWk0yMS43OTkzIDE1Ljg1NzFMNjkuNDc1MyA2My40MzkxTDcwLjE2NDEgNjIuNzQ4OUwyMi40ODgyIDE1LjE2N0wtMjUuMTg3OCAtMzIuNDE1TC0yNS44NzY2IC0zMS43MjQ4TDIxLjc5OTMgMTUuODU3MVpNMjIuNDg4MiAxNS4xNjdMNzAuNDU0IDYyLjQ1NjZDODIuODYyMiA0OS44NzExIDg5Ljg1NzkgMzIuOTMzNCA4OS45NDgxIDE1LjI2MDVMMjIuNTkxNCAxNC45MTdMLTQ0Ljc2NTMgMTQuNTczNEMtNDQuNjc2MSAtMi45MTIyMSAtMzcuNzU0NCAtMTkuNjcwNSAtMjUuNDc3NyAtMzIuMTIyN0wyMi40ODgyIDE1LjE2N1pNMjIuNTkxNCAxNC45MTdMODkuOTQ4MSAxNC41ODQ4Qzg5LjkwNDIgNS42Nzk1MyA4OC4xMDQgLTMuMTMwNzUgODQuNjQ5NCAtMTEuMzQxMkwyMi41NjM5IDE0Ljc4MjJMLTM5LjUyMTYgNDAuOTA1NkMtNDIuOTQwNCAzMi43ODA1IC00NC43MjE5IDI0LjA2MTggLTQ0Ljc2NTMgMTUuMjQ5MkwyMi41OTE0IDE0LjkxN1pNMjIuNTYzOSAxNC43ODIyTDg0LjY0OTQgLTExLjM0MTJDODEuMTk1MiAtMTkuNTUwNCA3Ni4xNTU0IC0yNi45OTc2IDY5LjgxODMgLTMzLjI1NjNMMjIuNDg2OCAxNC42NjgzTC0yNC44NDQ3IDYyLjU5MjlDLTMxLjExNTkgNTYuMzk5NCAtMzYuMTAzNCA0OS4wMjk1IC0zOS41MjE2IDQwLjkwNTZMMjIuNTYzOSAxNC43ODIyWk0yMi40ODY4IDE0LjY2ODNMNzAuMTE1OCAtMzIuOTYwNkw2OS40MjU2IC0zMy42NTA4TDIxLjc5NjYgMTMuOTc4MUwtMjUuODMyNCA2MS42MDcxTC0yNS4xNDIyIDYyLjI5NzNMMjIuNDg2OCAxNC42NjgzWk0yMS43OTY2IDEzLjk3ODFMNjkuNDY4IC0zMy42MDg0TDY2LjQxOTIgLTM2LjY2MjZMMTguNzQ3OCAxMC45MjM5TC0yOC45MjM2IDU4LjUxMDVMLTI1Ljg3NDggNjEuNTY0N0wyMS43OTY2IDEzLjk3ODFaTTE4Ljc0NzggMTAuOTIzOUw2Ni4zNzY4IC0zNi43MDUxTDY1LjY4NjYgLTM3LjM5NTNMMTguMDU3NiAxMC4yMzM3TC0yOS41NzEzIDU3Ljg2MjdMLTI4Ljg4MTEgNTguNTUyOUwxOC43NDc4IDEwLjkyMzlaTTE4LjA1NzYgMTAuMjMzN0w2Ni4wOTU2IC0zNi45ODI4QzU5Ljc5NDUgLTQzLjM5MzQgNTIuMjc5MyAtNDguNDg2IDQzLjk4NzkgLTUxLjk2MjRMMTcuOTQzMiAxMC4xNTYyTC04LjEwMTU1IDcyLjI3NDdDLTE2LjMwNzIgNjguODM0MyAtMjMuNzQ0NSA2My43OTQ1IC0yOS45ODAzIDU3LjQ1MDJMMTguMDU3NiAxMC4yMzM3Wk0xNy45NDMyIDEwLjE1NjJMNDMuOTg3OSAtNTEuOTYyNEMzNS42OTcgLTU1LjQzODUgMjYuNzk3MiAtNTcuMjI4NiAxNy44MDc2IC01Ny4yMjg2VjEwLjEyODlWNzcuNDg2NUM4LjkxMTE1IDc3LjQ4NjUgMC4xMDM0NTYgNzUuNzE0OSAtOC4xMDE1NSA3Mi4yNzQ3TDE3Ljk0MzIgMTAuMTU2MlpNMTcuODA3NiAxMC4xMjg5Vi01Ny4yMjg2QzguODE3ODYgLTU3LjIyODYgLTAuMDgxOTY1OSAtNTUuNDM4NCAtOC4zNzI2MiAtNTEuOTYyNEwxNy42NzIxIDEwLjE1NjJMNDMuNzE2OCA3Mi4yNzQ3QzM1LjUxMiA3NS43MTQ4IDI2LjcwNDMgNzcuNDg2NSAxNy44MDc2IDc3LjQ4NjVWMTAuMTI4OVpNMTcuNjcyMSAxMC4xNTYyTC04LjM3MjYyIC01MS45NjI0Qy0xNi42NjM1IC00OC40ODYyIC0yNC4xNzg4IC00My4zOTM4IC0zMC40ODAzIC0zNi45ODI4TDE3LjU1NzYgMTAuMjMzN0w2NS41OTU2IDU3LjQ1MDJDNTkuMzU5NCA2My43OTQ5IDUxLjkyMTkgNjguODM0NSA0My43MTY4IDcyLjI3NDdMMTcuNjcyMSAxMC4xNTYyWk0xNy41NTc2IDEwLjIzMzdMLTMwLjExODEgLTM3LjM0ODRMLTMwLjgwODMgLTM2LjY1NjlMMTYuODY3NCAxMC45MjUzTDY0LjU0MzIgNTguNTA3NEw2NS4yMzM0IDU3LjgxNTlMMTcuNTU3NiAxMC4yMzM3Wk0xNi44Njc0IDEwLjkyNTNMLTMwLjc2MTUgLTM2LjcwMzdMLTM0LjQ5NzggLTMyLjk2NzRMMTMuMTMxMiAxNC42NjE1TDYwLjc2MDIgNjIuMjkwNUw2NC40OTY0IDU4LjU1NDJMMTYuODY3NCAxMC45MjUzWk0xMy4xMzEyIDE0LjY2MTVMLTM0LjAyODQgLTMzLjQzMjNDLTQwLjQ1NjYgLTI3LjEyOSAtNDUuNTYzMiAtMTkuNjA2OCAtNDkuMDQ5NCAtMTEuMzA1OEwxMy4wNTM3IDE0Ljc3NTZMNzUuMTU2OCA0MC44NTcxQzcxLjcwNjYgNDkuMDcyNSA2Ni42NTI2IDU2LjUxNzEgNjAuMjkwNyA2Mi43NTU0TDEzLjEzMTIgMTQuNjYxNVpNMTMuMDUzNyAxNC43NzU2TC00OS4wNDk0IC0xMS4zMDU4Qy01Mi41MzUxIC0zLjAwNTg0IC01NC4zMzExIDUuOTA2ODIgLTU0LjMzMTEgMTQuOTEwOEgxMy4wMjY1SDgwLjM4NEM4MC4zODQgMjMuODIyIDc4LjYwNjYgMzIuNjQyNyA3NS4xNTY4IDQwLjg1NzFMMTMuMDUzNyAxNC43NzU2Wk0xMy4wMjY1IDE0LjkxMDhILTU0LjMzMTFDLTU0LjMzMTEgMjMuOTE0OCAtNTIuNTM1MiAzMi44Mjc0IC00OS4wNDk0IDQxLjEyNzVMMTMuMDUzNyAxNS4wNDYxTDc1LjE1NjggLTExLjAzNTRDNzguNjA2NyAtMi44MjA5NiA4MC4zODQgNS45OTk3OCA4MC4zODQgMTQuOTEwOEgxMy4wMjY1Wk0xMy4wNTM3IDE1LjA0NjFMLTQ5LjA0OTQgNDEuMTI3NUMtNDUuNTYzMSA0OS40Mjg4IC00MC40NTY0IDU2Ljk1MDkgLTM0LjAyODQgNjMuMjU0TDEzLjEzMTIgMTUuMTYwMkw2MC4yOTA3IC0zMi45MzM3QzY2LjY1MjQgLTI2LjY5NTYgNzEuNzA2NSAtMTkuMjUxMSA3NS4xNTY4IC0xMS4wMzU0TDEzLjA1MzcgMTUuMDQ2MVpNMTMuMTMxMiAxNS4xNjAyTC0zNC41MDY5IDYyLjc4MDFMLTMwLjkzNzcgNjYuMzUwNkwxNi43MDAzIDE4LjczMDdMNjQuMzM4NCAtMjguODg5Mkw2MC43NjkyIC0zMi40NTk3TDEzLjEzMTIgMTUuMTYwMlpNMTYuNzAwMyAxOC43MzA3TC0zMC45Mjg3IC0yOC44OTgzTC00MC42MjEyIC0xOS4yMDU3TDcuMDA3NzcgMjguNDIzMkw1NC42MzY4IDc2LjA1MjJMNjQuMzI5MyA2Ni4zNTk2TDE2LjcwMDMgMTguNzMwN1pNNy4wMDc3NyAyOC40MjMyTC00MC43MjkyIC0xOS4wOTc1TC00MS42MjQ2IC0xOC4xOTgxTDYuMTEyNDMgMjkuMzIyN0w1My44NDk0IDc2Ljg0MzRMNTQuNzQ0OCA3NS45NDRMNy4wMDc3NyAyOC40MjMyWk02LjExMjQzIDI5LjMyMjdMLTQxLjI5NTUgLTE4LjUyNjRDLTU0LjAyMDggLTUuOTE4MzggLTYxLjIzMTQgMTEuMjE4NSAtNjEuMzQ4MyAyOS4xMzE2TDYuMDA3ODEgMjkuNTcxM0w3My4zNjM5IDMwLjAxMUM3My4yNDgyIDQ3LjczNzIgNjYuMTEyOSA2NC42OTUyIDUzLjUyMDMgNzcuMTcxN0w2LjExMjQzIDI5LjMyMjdaTTYuMDA3ODEgMjkuNTcxM0wtNjEuMzQ5MSAyOS44NjA0Qy02MS4yNzU5IDQ2LjkxMjMgLTU0Ljc3MjEgNjMuMzA4NiAtNDMuMTM3NiA3NS43NzRMNi4xMDQyOCAyOS44MTQ1TDU1LjM0NjEgLTE2LjE0NTFDNjYuODU3NCAtMy44MTE2NiA3My4yOTIzIDEyLjQxMDkgNzMuMzY0NyAyOS4yODIyTDYuMDA3ODEgMjkuNTcxM1pNNi4xMDQyOCAyOS44MTQ1TC00My4wNjk5IDc1Ljg0NjVDLTM2LjczOTMgODIuNjA5MSAtMjkuMDg3OSA4OC4wMDE1IC0yMC41ODgzIDkxLjY4OTJMNi4yMjExMSAyOS44OTY4TDMzLjAzMDUgLTMxLjg5NTVDNDEuNDQxNyAtMjguMjQ2MiA0OS4wMTM3IC0yMi45MDk5IDU1LjI3ODQgLTE2LjIxNzVMNi4xMDQyOCAyOS44MTQ1Wk02LjIyMTExIDI5Ljg5NjhMLTIwLjU4ODMgOTEuNjg5MkMtMTIuMDkwNSA5NS4zNzYxIC0yLjkyNTUxIDk3LjI4MDUgNi4zMzk3MyA5Ny4yODM0TDYuMzYxMDYgMjkuOTI1OUw2LjM4MjM5IC0zNy40MzE3QzE1LjU1MTMgLTM3LjQyODcgMjQuNjIxIC0zNS41NDQxIDMzLjAzMDUgLTMxLjg5NTVMNi4yMjExMSAyOS44OTY4Wk02LjM2MTA2IDI5LjkyNTlWOTcuMjgzNEgxNS4wNzk1VjI5LjkyNTlWLTM3LjQzMTdINi4zNjEwNlYyOS45MjU5Wk0xNS4wNzk1IDI5LjkyNTlMMTUuMzM3MSA5Ny4yODNDMzMuMjA1OSA5Ny4yMTQ2IDUwLjMyMyA5MC4wODU5IDYyLjk1NzggNzcuNDUxTDE1LjMyODkgMjkuODIyTC0zMi4zMDAxIC0xNy44MDY5Qy0xOS43OTc2IC0zMC4zMDk1IC0yLjg1OTc3IC0zNy4zNjM1IDE0LjgyMTkgLTM3LjQzMTJMMTUuMDc5NSAyOS45MjU5Wk0xNS4zMjg5IDI5LjgyMkw2Mi45NTc4IDc3LjQ1MUM3NS41OTM4IDY0LjgxNSA4Mi43MjE1IDQ3LjY5NzUgODIuNzg5OCAyOS44MzAyTDE1LjQzMjcgMjkuNTcyNkwtNTEuOTI0MyAyOS4zMTUxQy01MS44NTY3IDExLjYzNSAtNDQuODAzNyAtNS4zMDMzMiAtMzIuMzAwMSAtMTcuODA2OUwxNS4zMjg5IDI5LjgyMlpNMTUuNDMyNyAyOS41NzI2SDgyLjc5MDNWMjguNzA1OEgxNS40MzI3SC01MS45MjQ4VjI5LjU3MjZIMTUuNDMyN1pNMTUuNDMyNyAyOC43MDU4TDgyLjc5MDMgMjguNzA2M0M4Mi43OTA0IDEwLjc5MjcgNzUuNjkyIC02LjM5MDkzIDYzLjA0OTcgLTE5LjA4MTlMMTUuMzI5MyAyOC40NTU2TC0zMi4zOTEgNzUuOTkzQy00NC45MDA5IDYzLjQzNSAtNTEuOTI1IDQ2LjQzMTQgLTUxLjkyNDggMjguNzA1M0wxNS40MzI3IDI4LjcwNThaTTE1LjMyOTMgMjguNDU1Nkw2My4wNDk3IC0xOS4wODE5QzUwLjQwOCAtMzEuNzcyMSAzMy4yNTIxIC0zOC45MzcyIDE1LjMzNzUgLTM5LjAwNThMMTUuMDc5NSAyOC4zNTEyTDE0LjgyMTQgOTUuNzA4M0MtMi45MDU1NSA5NS42NDA0IC0xOS44ODE4IDg4LjU1MDMgLTMyLjM5MSA3NS45OTNMMTUuMzI5MyAyOC40NTU2Wk0xNS4wNzk1IDI4LjM1MTJWLTM5LjAwNjNIOS4zMDUyNFYyOC4zNTEyVjk1LjcwODhIMTUuMDc5NVYyOC4zNTEyWk05LjMwNTI0IDI4LjM1MTJMNTYuOTM0MiA3NS45ODAyTDY1LjQ0MDcgNjcuNDczN0wxNy44MTE3IDE5Ljg0NDhMLTI5LjgxNzMgLTI3Ljc4NDJMLTM4LjMyMzcgLTE5LjI3NzhMOS4zMDUyNCAyOC4zNTEyWk0xNy44MTE3IDE5Ljg0NDhMLTI5LjgxNzMgNjcuNDczN0wtMjEuMzEwOCA3NS45ODAyTDI2LjMxODIgMjguMzUxMkw3My45NDcyIC0xOS4yNzc4TDY1LjQ0MDcgLTI3Ljc4NDJMMTcuODExNyAxOS44NDQ4Wk0yNi4zMTgyIDI4LjM1MTJWLTM5LjAwNjNIMjAuNDkzN1YyOC4zNTEyVjk1LjcwODhIMjYuMzE4MlYyOC4zNTEyWk0yMC40OTM3IDI4LjM1MTJMMjAuMjM1NiAtMzkuMDA1OEMyLjMyMTI0IC0zOC45MzcyIC0xNC44MzQ4IC0zMS43NzIzIC0yNy40NzY1IC0xOS4wODE5TDIwLjI0MzggMjguNDU1Nkw2Ny45NjQxIDc1Ljk5M0M1NS40NTQ4IDg4LjU1MDUgMzguNDc4NSA5NS42NDA0IDIwLjc1MTcgOTUuNzA4M0wyMC40OTM3IDI4LjM1MTJaTTIwLjI0MzggMjguNDU1NkwtMjcuNDc2NSAtMTkuMDgxOUMtNDAuMTE4NSAtNi4zOTEyOSAtNDcuMjE3MyAxMC43OTIyIC00Ny4yMTcxIDI4LjcwNjNMMjAuMTQwNCAyOC43MDU4TDg3LjQ5OCAyOC43MDUzQzg3LjQ5ODEgNDYuNDMxOSA4MC40NzM3IDYzLjQzNTQgNjcuOTY0MSA3NS45OTNMMjAuMjQzOCAyOC40NTU2Wk0yMC4xNDA0IDI4LjcwNThILTQ3LjIxNzFWMjkuNTcyNkgyMC4xNDA0SDg3LjQ5OFYyOC43MDU4SDIwLjE0MDRaTTIwLjE0MDQgMjkuNTcyNkwtNDcuMjE2NiAyOS4zMTQzQy00Ny4yNTE0IDM4LjM3NTkgLTQ1LjQ2NjggNDcuMzUyIC00MS45Njg4IDU1LjcxMDlMMjAuMTY3NCAyOS43MDgzTDgyLjMwMzUgMy43MDU2MkM4NS43NjU2IDExLjk3ODYgODcuNTMxOSAyMC44NjI1IDg3LjQ5NzUgMjkuODMxTDIwLjE0MDQgMjkuNTcyNlpNMjAuMTY3NCAyOS43MDgzTC00MS45Njg4IDU1LjcxMDlDLTM4LjQ3MDUgNjQuMDcwMyAtMzMuMzMgNzEuNjQyIC0yNi44NTIxIDc3Ljk3NzZMMjAuMjQ1IDI5LjgyMjZMNjcuMzQyMiAtMTguMzMyM0M3My43NTM1IC0xMi4wNjE4IDc4Ljg0MTIgLTQuNTY3OTQgODIuMzAzNSAzLjcwNTYyTDIwLjE2NzQgMjkuNzA4M1pNMjAuMjQ1IDI5LjgyMjZMLTI3LjM0NDcgNzcuNDkwOEMtMTQuNjk0NSA5MC4xMjAyIDIuNDM2OTEgOTcuMjM1MyAyMC4zMTMzIDk3LjI4MzJMMjAuNDkzNyAyOS45MjU5TDIwLjY3NDEgLTM3LjQzMTRDMzguMzYzOSAtMzcuMzg0IDU1LjMxNjYgLTMwLjM0MzEgNjcuODM0OCAtMTcuODQ1NUwyMC4yNDUgMjkuODIyNlpNMjAuNDkzNyAyOS45MjU5Vjk3LjI4MzRIMjkuMjY1MVYyOS45MjU5Vi0zNy40MzE3SDIwLjQ5MzdWMjkuOTI1OVpNMjkuMjY1MSAyOS45MjU5TDI5LjAyNjcgOTcuMjgzQzM4LjMzNzIgOTcuMzE2IDQ3LjU1MiA5NS40Mjg0IDU2LjA5NjIgOTEuNzQwOUwyOS40MDU3IDI5Ljg5NzFMMi43MTUyNSAtMzEuOTQ2N0MxMS4xNzA2IC0zNS41OTU5IDIwLjI4OTcgLTM3LjQ2MzggMjkuNTAzNCAtMzcuNDMxMkwyOS4yNjUxIDI5LjkyNTlaTTI5LjQwNTcgMjkuODk3MUw1Ni4wOTYyIDkxLjc0MDlDNjQuNjQzIDg4LjA1MjMgNzIuMzM2OSA4Mi42NDEyIDc4LjY5NzcgNzUuODQ2MUwyOS41MjMyIDI5LjgxNDVMLTE5LjY1MTMgLTE2LjIxNzFDLTEzLjM1NjYgLTIyLjk0MTYgLTUuNzQyNjYgLTI4LjI5NjUgMi43MTUyNSAtMzEuOTQ2N0wyOS40MDU3IDI5Ljg5NzFaTTI5LjUyMzIgMjkuODE0NUw3OC4yOTM4IDc2LjI3MzhDOTAuNTU0MyA2My40MDM0IDk3LjI2MjggNDYuMjI2NSA5Ni45NjgyIDI4LjQ1MDZMMjkuNjE5OSAyOS41NjY5TC0zNy43Mjg0IDMwLjY4MzJDLTM4LjAyIDEzLjA5MTQgLTMxLjM4MDkgLTMuOTA3NyAtMTkuMjQ3NCAtMTYuNjQ0OUwyOS41MjMyIDI5LjgxNDVaTTI5LjYxOTkgMjkuNTY2OUw5Ni45NjgyIDI4LjQ1MDZDOTYuNjczNiAxMC42NzUzIDg5LjM5OTkgLTYuMjY5OTggNzYuNzE5MiAtMTguNzI3NEwyOS41MTUxIDI5LjMyMjdMLTE3LjY4OTEgNzcuMzcyN0MtMzAuMjM4NSA2NS4wNDQzIC0zNy40MzY4IDQ4LjI3NDQgLTM3LjcyODQgMzAuNjgzMkwyOS42MTk5IDI5LjU2NjlaTTE3LjgwNjMgMTIuMjEwNUwtMjkuODIyNyA1OS44Mzk1TC0yNy4xMTQ5IDYyLjU0NzNMMjAuNTE0IDE0LjkxODNMNjguMTQzIC0zMi43MTA3TDY1LjQzNTMgLTM1LjQxODRMMTcuODA2MyAxMi4yMTA1Wk0yMC41MTQgMTQuOTE4M0wtMjcuMTE0OSAtMzIuNzEwN0wtMjkuODE1OSAtMzAuMDA5N0wxNy44MTMxIDE3LjYxOTNMNjUuNDQyIDY1LjI0ODNMNjguMTQzIDYyLjU0NzNMMjAuNTE0IDE0LjkxODNaTTE3LjgxMzEgMTcuNjE5M0w2NS40NDIxIC0zMC4wMDk3TDYyLjczNDMgLTMyLjcxNzRMMTUuMTA1MyAxNC45MTE1TC0zMi41MjM3IDYyLjU0MDVMLTI5LjgxNTkgNjUuMjQ4M0wxNy44MTMxIDE3LjYxOTNaTTE1LjEwNTMgMTQuOTExNUw2Mi43MzQzIDYyLjU0MDVMNjUuNDM1MyA1OS44Mzk1TDE3LjgwNjMgMTIuMjEwNUwtMjkuODIyNyAtMzUuNDE4NEwtMzIuNTIzNyAtMzIuNzE3NEwxNS4xMDUzIDE0LjkxMTVaXCJcbiAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzAwQTNGRlwiIG1hc2s9XCJ1cmwoI3BhdGgtMS1pbnNpZGUtMV8xODQ5XzEzMzg0KVwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgICAgICAgZD1cIk0yNi4yNTM3IDAuNzQwMjM0TDI2LjY5NzQgMi41ODQzN0MyNi45MjM1IDMuNTI0NTcgMjcuNDI1NSA0LjM5NzcgMjguMTU0NSA1LjExODYyQzI4Ljg4MzYgNS44Mzk1NCAyOS44MTQ3IDYuMzgzNjYgMzAuODU3MSA2LjY5NzkxTDMxLjgzOTQgNi45OTM5MUwzMC44NTcxIDcuMjg5OTJDMjkuODE0NyA3LjYwNDE3IDI4Ljg4MzYgOC4xNDgyOCAyOC4xNTQ1IDguODY5MjFDMjcuNDI1NSA5LjU5MDEzIDI2LjkyMzUgMTAuNDYzMyAyNi42OTc0IDExLjQwMzVMMjYuMjUzNyAxMy4yNDc2TDI1LjgxIDExLjQwMzVDMjUuNTgzOSAxMC40NjMzIDI1LjA4MTkgOS41OTAxMyAyNC4zNTI4IDguODY5MjFDMjMuNjIzOCA4LjE0ODI4IDIyLjY5MjcgNy42MDQxNyAyMS42NTAzIDcuMjg5OTJMMjAuNjY4IDYuOTkzOTFMMjEuNjUwMyA2LjY5NzkxQzIyLjY5MjcgNi4zODM2NiAyMy42MjM4IDUuODM5NTQgMjQuMzUyOCA1LjExODYyQzI1LjA4MTkgNC4zOTc3IDI1LjU4MzkgMy41MjQ1NyAyNS44MSAyLjU4NDM3TDI2LjI1MzcgMC43NDAyMzRaXCJcbiAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwidXJsKCNwYWludDBfbGluZWFyXzE4NDlfMTMzODQpXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgICAgICBkPVwiTTkuOTI0NCA5LjUxMzUxTDkuNzcyNzkgOC44NjAzNUw5LjYyMTE3IDkuNTEzNTFDOS41MTI1MiA5Ljk4MjU0IDkuMjY2NjYgMTAuNDE5MiA4LjkwNzM5IDEwLjc4MTJDOC41NDgxMiAxMS4xNDMzIDguMDg3NiAxMS40MTg0IDcuNTcwNDIgMTEuNThMNy4zNzg5MSAxMS42Mzk4TDcuNTcwNDIgMTEuNjk5NUM4LjA4NzYgMTEuODYxMSA4LjU0ODEyIDEyLjEzNjMgOC45MDczOSAxMi40OTgzQzkuMjY2NjYgMTIuODYwMyA5LjUxMjUyIDEzLjI5NyA5LjYyMTE3IDEzLjc2Nkw5Ljc3Mjc5IDE0LjQxOTJMOS45MjQ0IDEzLjc2NkMxMC4wMzMgMTMuMjk3IDEwLjI3ODkgMTIuODYwMyAxMC42MzgyIDEyLjQ5ODNDMTAuOTk3NSAxMi4xMzYzIDExLjQ1OCAxMS44NjExIDExLjk3NTIgMTEuNjk5NUwxMi4xNjY3IDExLjYzOThMMTEuOTc1MiAxMS41OEMxMS40NTggMTEuNDE4NCAxMC45OTc1IDExLjE0MzMgMTAuNjM4MiAxMC43ODEyQzEwLjI3ODkgMTAuNDE5MiAxMC4wMzMgOS45ODI1NCA5LjkyNDQgOS41MTM1MVpcIlxuICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJ1cmwoI3BhaW50MV9saW5lYXJfMTg0OV8xMzM4NClcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8cGF0aCBvcGFjaXR5PVwiMC42XCJcbiAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcuNjg5NjEgMjEuNTYyNEw3LjUwNjA4IDIwLjY3NThMNy4zMjMzNCAyMS41NjMxQzcuMjc1NDkgMjEuNzk0MyA3LjE2MTA5IDIyLjAxMTIgNi45OTA4NCAyMi4xOTM1QzYuODIwNTkgMjIuMzc1OCA2LjYwMDA1IDIyLjUxNzUgNi4zNDk4MyAyMi42MDU0TDUuOTEwMTYgMjIuNzYwM0w2LjM0OTgzIDIyLjkxNTNDNi42IDIzLjAwMzQgNi44MjA0NSAyMy4xNDUyIDYuOTkwNTYgMjMuMzI3NkM3LjE2MDY3IDIzLjUxIDcuMjc0ODkgMjMuNzI3IDcuMzIyNTUgMjMuOTU4M0w3LjUwNjA4IDI0Ljg0NDlMNy42ODg4MSAyMy45NTc2QzcuNzM2NjcgMjMuNzI2MyA3Ljg1MTA3IDIzLjUwOTUgOC4wMjEzMSAyMy4zMjcyQzguMTkxNTYgMjMuMTQ0OSA4LjQxMjEgMjMuMDAzMiA4LjY2MjMyIDIyLjkxNTNMOS4xMDIgMjIuNzYwM0w4LjY2MjMyIDIyLjYwNTRDOC40MTIxNSAyMi41MTczIDguMTkxNzEgMjIuMzc1NSA4LjAyMTYgMjIuMTkzMUM3Ljg1MTQ5IDIyLjAxMDcgNy43MzcyNiAyMS43OTM3IDcuNjg5NjEgMjEuNTYyNFpcIlxuICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJ1cmwoI3BhaW50Ml9saW5lYXJfMTg0OV8xMzM4NClcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cbiAgICAgICAgICAgICAgICAgICAgICA8bGluZWFyR3JhZGllbnQgaWQ9XCJwYWludDBfbGluZWFyXzE4NDlfMTMzODRcIiB4MT1cIjIzLjQ2XCIgeTE9XCIxMy45NDIyXCIgeDI9XCIyMy40NlwiIHkyPVwiMC4wNDUxNjI1XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj1cIiMxMTdGRjVcIiBzdG9wLW9wYWNpdHk9XCIwLjJcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjMDU5MUZGXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L2xpbmVhckdyYWRpZW50PlxuICAgICAgICAgICAgICAgICAgICAgIDxsaW5lYXJHcmFkaWVudCBpZD1cInBhaW50MV9saW5lYXJfMTg0OV8xMzM4NFwiIHgxPVwiMTUuNzU3NVwiIHkxPVwiMjIuNzU3NFwiIHgyPVwiMTUuNzU3NVwiIHkyPVwiOC44NjAzNVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9XCJ3aGl0ZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiMwNTkxRkZcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbGluZWFyR3JhZGllbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgPGxpbmVhckdyYWRpZW50IGlkPVwicGFpbnQyX2xpbmVhcl8xODQ5XzEzMzg0XCIgeDE9XCI1LjkxMDE2XCIgeTE9XCIyMC42NzU4XCIgeDI9XCI5LjEwMlwiIHkyPVwiMjAuNjc1OFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9XCIjMDBBM0ZGXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiIzMzQjVGRlwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPC9saW5lYXJHcmFkaWVudD5cbiAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxuICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFpLWluc2lnaHRzLXRpdGxlIHRleHQtZGFya1wiPnt7IGMuYWlJbnNpZ2h0cy50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJhaS1pbnNpZ2h0cy1saXN0IGJnLXdoaXRlIG15LTQgcC00IHJvdW5kZWQtbGdcIj5cbiAgICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgaW5zaWdodCBvZiBjLmFpSW5zaWdodHMuc3VtbWFyeVwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImluc2lnaHQtYnVsbGV0LWljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMkwzIDE0SDEyTDExIDIyTDIxIDEwSDEyTDEzIDJaXCIgc3Ryb2tlPVwiIzMzQjVGRlwiIHN0cm9rZS13aWR0aD1cIjJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIHt7IGluc2lnaHQgfX1cbiAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8IS0tIFJpZ2h0OiBNZXRyaWNzIC0tPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnYtcmlnaHRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1ldHJpY3MtcGFuZWxcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWV0cmljcy10aXRsZVwiPk1ldHJpY3M8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG0gb2YgYy5tZXRyaWNzOyBsZXQgbWkgPSBpbmRleFwiPlxuXG4gICAgICAgICAgICAgICAgICA8IS0tIEJPT0xFQU5fQkFTS0VUIC0tPlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm0udHlwZSA9PT0gJ0JPT0xFQU5fQkFTS0VUJ1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWV0cmljLXNlY3Rpb24tbGFiZWwgbWItMVwiPnt7IG0ubmFtZSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWV0cmljLXJvdy1pdGVtXCIgKm5nRm9yPVwibGV0IHJvdyBvZiBtLnZhbHVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZXRyaWMta2V5XCI+PHNwYW4gY2xhc3M9XCJkb3RcIj48L3NwYW4+e3sgcm93Lm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZyBjbGFzcz1cIm1ldHJpYy12YWxcIj57eyByb3cuc2NvcmUgfX08L3N0cm9uZz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXRyaWMtZGl2aWRlclwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICAgIDwhLS0gTlVNRVJJQ19TQ0FMQVIgLS0+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibS50eXBlID09PSAnTlVNRVJJQ19TQ0FMQVInIHx8IG0udHlwZSA9PT0gJ05VTUVSSUNfQVJSQVknXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXRyaWMtc2VjdGlvbi1sYWJlbCBtYi0xXCI+e3sgbS5uYW1lIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXRyaWMtcm93LWl0ZW1cIiAqbmdGb3I9XCJsZXQgcm93IG9mIG0udmFsdWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1ldHJpYy1rZXlcIj5Ub3RhbDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nIGNsYXNzPVwibWV0cmljLXZhbFwiPnt7IHJvdy5Ub3RhbCB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1ldHJpYy1yb3ctaXRlbVwiICpuZ0Zvcj1cImxldCByb3cgb2YgbS52YWx1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWV0cmljLWtleVwiPkF2Zzwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nIGNsYXNzPVwibWV0cmljLXZhbFwiPnt7IHJvdy5BdmcgfX08L3N0cm9uZz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXRyaWMtZGl2aWRlclwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICAgIDwhLS0gU1VCSkVDVElWRSAtLT5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtLnR5cGUgPT09ICdTVUJKRUNUSVZFJ1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWV0cmljLXNlY3Rpb24tbGFiZWwgbWItMVwiPnt7IG0ubmFtZSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJtZXRyaWMtYnVsbGV0LWxpc3QgbWV0cmljLWJ1bGxldC1saXN0LS10ZXh0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGxpICAqbmdGb3I9XCJsZXQgcm93IG9mIG0udmFsdWVcIj57eyByb3cucmVhc29uaW5nIH19PC9saT5cbiAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1ldHJpYy1kaXZpZGVyXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxsaWItcGFnaW5hdGlvbiAqbmdJZj1cInRvdGFsSXRlbXMgPiAwXCIgW2l0ZW1zUGVyUGFnZV09XCJwYWdlU2l6ZVwiIFtjdXJyZW50UGFnZV09XCJjdXJyZW50UGFnZVwiIFt0b3RhbEl0ZW1zXT1cInRvdGFsSXRlbXNcIlxuICAgICAgW3BhZ2luYXRpb25TaXplc109XCJwYWdpbmF0aW9uU2l6ZXNcIiBbcGFnZVNpemVdPVwicGFnZVNpemVcIiAocGFnZUNoYW5nZSk9XCJvblBhZ2VDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAocGFnZVNpemVDaGFuZ2UpPVwib25QYWdlU2l6ZUNoYW5nZSgkZXZlbnQpXCI+PC9saWItcGFnaW5hdGlvbj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=