@colijnit/transaction 257.1.28 → 257.1.30

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.
Files changed (20) hide show
  1. package/bundles/colijnit-transaction.umd.js +60 -17
  2. package/bundles/colijnit-transaction.umd.js.map +1 -1
  3. package/colijnit-transaction.metadata.json +1 -1
  4. package/esm2015/lib/component/transaction-line/transaction-planning-line/transaction-planning-line.component.js +4 -1
  5. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.component.js +4 -2
  6. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.component.js +11 -2
  7. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-send-method-base.component.js +2 -10
  8. package/esm2015/lib/service/transaction-connector-adapter.service.js +14 -1
  9. package/esm2015/lib/service/transaction-connector.service.js +6 -1
  10. package/esm2015/lib/service/transaction.service.js +6 -1
  11. package/esm2015/lib/transaction-version.js +3 -3
  12. package/fesm2015/colijnit-transaction.js +42 -13
  13. package/fesm2015/colijnit-transaction.js.map +1 -1
  14. package/lib/component/transaction-line/transaction-planning-line/transaction-planning-line.component.d.ts +2 -0
  15. package/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.component.d.ts +1 -0
  16. package/lib/component/transaction-quick-access/transaction-quick-access-send-method-base.component.d.ts +1 -1
  17. package/lib/service/transaction-connector-adapter.service.d.ts +2 -0
  18. package/lib/service/transaction-connector.service.d.ts +2 -0
  19. package/lib/service/transaction.service.d.ts +2 -0
  20. package/package.json +2 -2
@@ -70,6 +70,9 @@ export class TransactionPlanningLineComponent extends TransactionLineBaseCompone
70
70
  this.transactionLine.selected = value && !this.transactionLineToBePickedCompleted;
71
71
  this.detectChanges();
72
72
  }));
73
+ this.transactionService.getPlannedResourcesForTransactionLine(this.transactionInfo.id, this.transactionLine.lineNr).then((result) => {
74
+ this.plannedResourceForTransactionLine = result;
75
+ });
73
76
  }
74
77
  ngOnDestroy() {
75
78
  this._subs.forEach(s => s.unsubscribe());
@@ -317,4 +320,4 @@ TransactionPlanningLineComponent.propDecorators = {
317
320
  handleMouseLeave: [{ type: HostListener, args: ['mouseleave', ['$event'],] }],
318
321
  dragEnded: [{ type: HostListener, args: ['dragend', ['$event'],] }]
319
322
  };
320
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcGxhbm5pbmctbGluZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLXBsYW5uaW5nLWxpbmUvdHJhbnNhY3Rpb24tcGxhbm5pbmctbGluZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFHWixNQUFNLEVBQ04saUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUMxRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUdyRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUNoSCxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUV4RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUVsRyxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUM3RixPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUM1RixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFB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QjtZQVh0Qix1QkFBdUI7WUFDdkIsZ0JBQWdCO1lBQ2hCLHFDQUFxQztZQUNyQyx1QkFBdUI7WUFDdkIsaUJBQWlCO1lBQ2pCLGtCQUFrQjtZQW5CeEIsaUJBQWlCO1lBcUJYLHVCQUF1QjtZQUt2Qix3QkFBd0I7WUFSeEIsaUJBQWlCOzs7a0NBb0l0QixNQUFNO3dCQUdOLFdBQVcsU0FBQyxvQ0FBb0M7OEJBS2hELFlBQVksU0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7K0JBS3BDLFlBQVksU0FBQyxZQUFZLEVBQUUsQ0FBQyxRQUFRLENBQUM7d0JBb0pyQyxZQUFZLFNBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1N0b2NrU3RhdHVzfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS9yZWZjb2RlL3N0b2NrLXN0YXR1cy5lbnVtJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblR5cGVDYXRlZ29yeX0gZnJvbSAnLi4vLi4vLi4vZW51bS90cmFuc2FjdGlvbi10eXBlLWNhdGVnb3J5LmVudW0nO1xyXG5pbXBvcnQge1N0YXR1c0JhckNmZ05hbWVzfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2Uvc3RhdHVzLWJhci1jZmctbmFtZXMuaW50ZXJmYWNlJztcclxuaW1wb3J0IHtMaW5lRGlzY291bnRDZmdOYW1lc30gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlL2xpbmUtZGlzY291bnQtY2ZnLW5hbWVzLmludGVyZmFjZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25FdmVudFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tZXZlbnQuc2VydmljZSc7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tc2NyZWVuLWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbWFnZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24taW1hZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvZGljdGlvbmFyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lSW5mb30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWxpbmUtaW5mby5ibyc7XHJcbmltcG9ydCB7RGVsaXZlcnlQbGFubmluZ1NlcnZpY2V9IGZyb20gJy4uLy4uL2RlbGl2ZXJ5LXBsYW5uaW5nL3NlcnZpY2UvZGVsaXZlcnktcGxhbm5pbmcuc2VydmljZSc7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVCYXNlQ29tcG9uZW50fSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24tbGluZS1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2Uvc2VydmljZS90cmFuc2FjdGlvbi1oZWFkZXIuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lU2VydmljZX0gZnJvbSAnLi4vLi4vY29yZS9iYXNlL3NlcnZpY2UvdHJhbnNhY3Rpb24tbGluZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkRpYWxvZ1NlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQge1BsYW5PcmRlcn0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW4tb3JkZXIuYm8nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjby10cmFuc2FjdGlvbi1wbGFubmluZy1saW5lJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgICA8Y28tdHJhbnNhY3Rpb24tYmFzZS1saW5lXHJcbiAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uSW5mb109XCJ0cmFuc2FjdGlvbkluZm9cIlxyXG4gICAgICAgICAgICAgIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgICAgICAgICBbcHJldmlld109XCJwcmV2aWV3XCJcclxuICAgICAgICAgICAgICBbaXNGaXJzdF09XCJpc0ZpcnN0XCJcclxuICAgICAgICAgICAgICBbZHJhZ2dhYmxlXT1cIiFsaW5lUGxhbm5lZFwiXHJcbiAgICAgICAgICAgICAgKGRyYWdzdGFydCk9XCJkcmFnU3RhcnRlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICBbY2hlY2tib3hdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgW2NoZWNrYm94VmFsdWVdPVwidHJhbnNhY3Rpb25MaW5lLnNlbGVjdGVkIHx8ICF0cmFuc2FjdGlvbkluZm8/LmFsbG93UGFydGlhbERlbGl2ZXJ5XCJcclxuICAgICAgICAgICAgICBbY2hlY2tib3hSZWFkb25seV09XCIhdHJhbnNhY3Rpb25JbmZvPy5hbGxvd1BhcnRpYWxEZWxpdmVyeVwiXHJcbiAgICAgICAgICAgICAgKGNoZWNrYm94VmFsdWVDaGFuZ2VkKT1cImhhbmRsZUNoZWNrQm94VmFsdWVDaGFuZ2VkKCRldmVudCwgdHJhbnNhY3Rpb25MaW5lKVwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZUxpbmVDbGlja2VkKCRldmVudClcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0cmFuc2FjdGlvbkxpbmUuaXNBcnRpY2xlXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPSFwcmV2aWV3IGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS1leHRlbmRlZC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLXN0YXR1c2JhclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuU3RhdHVzQmFyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdOYW1lc109XCJzdGF0dXNCYXJDb25maWdOYW1lc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWN0aXZlQ2F0ZWdvcnldPVwiY2F0ZWdvcnkuU2FsZXNPcmRlck92ZXJ2aWV3XCI+PC9jby10cmFuc2FjdGlvbi1saW5lLXN0YXR1c2Jhcj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbjJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tZmllbGQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5zaWRlLWZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1jb21taXNzaW9uLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5MaW5lQ29tbWlzc2lvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbnB1dExhYmVsXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tbGluZS1jb21taXNzaW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWZpZWxkLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImluc2lkZS1maWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtd2FyZWhvdXNlLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5MaW5lV2FyZWhvdXNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lucHV0TGFiZWxdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1saW5lLXdhcmVob3VzZS1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWVsZC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnNpZGUtZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLWRlbGl2ZXJ5LWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5MaW5lRGVsaXZlcnlNZXRob2RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5wdXRMYWJlbF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxpbmUtZGVsaXZlcnktYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tZmllbGQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5zaWRlLWZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1kZWxpdmVyeS1kYXRlLWJ1dHRvbiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtZGVsaXZlcnktZGF0ZSB0d28tY29sdW1uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkxpbmVEZWxpdmVyeURhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lucHV0TGFiZWxdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1saW5lLWRlbGl2ZXJ5LWRhdGUtYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbjRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tZmllbGQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5zaWRlLWZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS12YXQtYnV0dG9uICpuZ0lmPVwiIXByZXZpZXdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5MaW5lVmF0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lucHV0TGFiZWxdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1saW5lLXZhdC1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWVsZC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnNpZGUtZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLXByaWNlIGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS10b3RhbHMtcHJpY2UgcHJpY2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuTGluZVByaWNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93TGFiZWxdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRFZGl0TW9kZV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5wdXRMYWJlbF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxpbmUtcHJpY2U+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWVsZC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnNpZGUtZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLWRpc2NvdW50LWJ1dHRvbiAqbmdJZj1cIiFwcmV2aWV3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5MaW5lRGlzY291bnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdOYW1lc109XCJkaXNjb3VudENvbmZpZ05hbWVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5wdXRMYWJlbF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxpbmUtZGlzY291bnQtYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tZmllbGQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5zaWRlLWZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1sYWJlbCBbaW5zaWRlTGFiZWxdPVwiJ1FVQU5USVRZJ1wiPjwvY28tdHJhbnNhY3Rpb24tbGluZS1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjby1pbnB1dC1udW1iZXItcGlja2VyIGNsYXNzPVwiYW1vdW50LW51bWJlci1waWNrZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21pbl09XCIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXhdPVwidHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5QWxsb2NhdGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlbF09XCJ0cmFuc2FjdGlvbkxpbmUuYW1vdW50U2VsZWN0ZWQgPyB0cmFuc2FjdGlvbkxpbmUuYW1vdW50U2VsZWN0ZWQgOiAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJoYW5kbGVRdWFudGl0eVRvUGxhbkNoYW5nZSgkZXZlbnQpXCI+PC9jby1pbnB1dC1udW1iZXItcGlja2VyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tZmllbGQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5zaWRlLWZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28tZWRpdGFibGUtbGFiZWwgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLXRvdGFscy10b3RhbCBwcmljZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cInRyYW5zYWN0aW9uTGluZS5kaXNwbGF5TmV0TGluZVRvdGFsIHwgY29DdXJyZW5jeTogdHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VkaXRNb2RlbF09XCJ0cmFuc2FjdGlvbkxpbmUuZGlzcGxheU5ldExpbmVUb3RhbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbnB1dExhYmVsXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvY28tZWRpdGFibGUtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvY28tdHJhbnNhY3Rpb24tYmFzZS1saW5lPlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25QbGFubmluZ0xpbmVDb21wb25lbnQgZXh0ZW5kcyBUcmFuc2FjdGlvbkxpbmVCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyByZWFkb25seSBjYXRlZ29yeTogdHlwZW9mIFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5ID0gVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnk7XHJcbiAgcHVibGljIGNoZWNrZWRBdmFpbGliaWxpdHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGRlc2NyaXB0aW9uRGJsQ2xpY2s6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby10cmFuc2FjdGlvbi1wbGFubmluZy1saW5lJylcclxuICBwdWJsaWMgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdtb3VzZW92ZXInLCBbJyRldmVudCddKVxyXG4gIHB1YmxpYyBoYW5kbGVNb3VzZU92ZXIoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIHRoaXMubW91c2VPdmVyID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCBbJyRldmVudCddKVxyXG4gIHB1YmxpYyBoYW5kbGVNb3VzZUxlYXZlKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICB0aGlzLm1vdXNlT3ZlciA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0b2NrOiBTdG9ja1N0YXR1cyA9IFN0b2NrU3RhdHVzLkxvdztcclxuICBwdWJsaWMgbW91c2VPdmVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGhhc09wZW5lZFNpZGVQYW5lbDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgc3RhdHVzQmFyQ29uZmlnTmFtZXM6IFN0YXR1c0JhckNmZ05hbWVzID0ge1xyXG4gICAgc3RhdHVzQmFyQlQ6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyQlQsXHJcbiAgICBzdGF0dXNCYXJURzogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJURyxcclxuICAgIHN0YXR1c0JhclBBOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhclBBLFxyXG4gICAgc3RhdHVzQmFyUFY6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyUFYsXHJcbiAgICBzdGF0dXNCYXJUUDogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJUUCxcclxuICAgIHN0YXR1c0JhckdUOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhckdULFxyXG4gICAgc3RhdHVzQmFyR1A6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyR1AsXHJcbiAgICBzdGF0dXNCYXJHTDogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJHTCxcclxuICAgIHN0YXR1c0JhckdGOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhckdGXHJcbiAgfTtcclxuXHJcbiAgcHVibGljIGRpc2NvdW50Q29uZmlnTmFtZXM6IExpbmVEaXNjb3VudENmZ05hbWVzID0ge1xyXG4gICAgbGluZVByaWNlTGlzdDogdGhpcy5jZmdOYW1lcy5MaW5lUHJpY2VMaXN0LFxyXG4gICAgbGluZURpc2NvdW50QW1vdW50OiB0aGlzLmNmZ05hbWVzLkxpbmVEaXNjb3VudEFtb3VudCxcclxuICAgIGxpbmVEaXNjb3VudFBlcmNlbnRhZ2U6IHRoaXMuY2ZnTmFtZXMuTGluZURpc2NvdW50UGVyY2VudGFnZSxcclxuICAgIGxpbmVEaXNjb3VudFNwZWNpYWw6IHRoaXMuY2ZnTmFtZXMuTGluZURpc2NvdW50U3BlY2lhbCxcclxuICAgIGxpbmVEaXNjb3VudFF1YW50dW06IHRoaXMuY2ZnTmFtZXMuTGluZURpc2NvdW50UXVhbnR1bVxyXG4gIH07XHJcblxyXG4gIHB1YmxpYyB0cmFuc2FjdGlvbkxpbmVUb0JlUGlja2VkQ29tcGxldGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgX3N1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uSGVhZGVyU2VydmljZTogVHJhbnNhY3Rpb25IZWFkZXJTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uTGluZVNlcnZpY2U6IFRyYW5zYWN0aW9uTGluZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNhY3Rpb25FdmVudFNlcnZpY2U6IFRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLFxyXG4gICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgc2NyZWVuQ29uZmlnU2VydmljZTogVHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBpbWFnZVNlcnZpY2U6IFRyYW5zYWN0aW9uSW1hZ2VTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGRpY3Rpb25hcnlTZXJ2aWNlOiBEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgIHByb3RlY3RlZCB0cmFuc2FjdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIF9kZWxpdmVyeVBsYW5uaW5nU2VydmljZTogRGVsaXZlcnlQbGFubmluZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9kaWFsb2c6IFRyYW5zYWN0aW9uRGlhbG9nU2VydmljZSxcclxuICAgIHByaXZhdGUgX2RpY3Rpb25hcnk6IERpY3Rpb25hcnlTZXJ2aWNlLFxyXG4gICkge1xyXG4gICAgc3VwZXIodHJhbnNhY3Rpb25IZWFkZXJTZXJ2aWNlLCB0cmFuc2FjdGlvbkxpbmVTZXJ2aWNlLCB0cmFuc2FjdGlvbkV2ZW50U2VydmljZSwgaWNvbkNhY2hlU2VydmljZSwgc2NyZWVuQ29uZmlnU2VydmljZSwgaW1hZ2VTZXJ2aWNlLCBkaWN0aW9uYXJ5U2VydmljZSwgdHJhbnNhY3Rpb25TZXJ2aWNlLGNoYW5nZURldGVjdG9yKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgIHRoaXMuX3N1YnMucHVzaChcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS5zZWxlY3RBbGxTYWxlc09yZGVyTGluZXNUb0JlUGlja2VkLnN1YnNjcmliZSgodmFsdWUpID0+IHtcclxuICAgICAgICB0aGlzLnRyYW5zYWN0aW9uTGluZS5zZWxlY3RlZCA9IHZhbHVlICYmICF0aGlzLnRyYW5zYWN0aW9uTGluZVRvQmVQaWNrZWRDb21wbGV0ZWQ7XHJcbiAgICAgICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLl9zdWJzLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgaWYgKHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLnBsYW5PcmRlckRhdGUpIHtcclxuICAgICAgdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UucGxhbk9yZGVyRGF0ZSA9IHVuZGVmaW5lZDtcclxuICAgIH1cclxuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlQ2hlY2tCb3hWYWx1ZUNoYW5nZWQodmFsdWU6IGJvb2xlYW4sIGxpbmU6IFRyYW5zYWN0aW9uTGluZUluZm8pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICh2YWx1ZSAmJiAhdGhpcy5oYXNPcGVuZWRTaWRlUGFuZWwgJiYgIXRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmxzcE1vZGUpIHtcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS5vcGVuU2lkZVBhbmVsLm5leHQodGhpcy50cmFuc2FjdGlvbkxpbmUpO1xyXG4gICAgICB0aGlzLmhhc09wZW5lZFNpZGVQYW5lbCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYodGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UubHNwTW9kZSkge1xyXG4gICAgICBsZXQgcGFja2FnZVJlc3BvbnNlID0gYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0UGFja2FnZUluZm9ybWF0aW9uKHRoaXMudHJhbnNhY3Rpb25JbmZvLnV1aWQsIGxpbmUudXVpZCk7XHJcbiAgICAgIGlmKHBhY2thZ2VSZXNwb25zZT8ubGVuZ3RoICYmIHZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VMaW5lVmFsdWUoZmFsc2UpO1xyXG4gICAgICAgIGF3YWl0IHRoaXMuX2RpYWxvZy5zaG93RXJyb3IoXCJMU1BfQUxSRUFEWV9DUkVBVEVEX0ZPUl9USElTX0xJTkVcIiwgdHJ1ZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VMaW5lVmFsdWUodmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNoYW5nZUxpbmVWYWx1ZSh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlTGluZUNsaWNrZWQobW91c2VDbGljazogUG9pbnRlckV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UubGluZXNQbGFuT3JkZXI/LmxpbmVzPy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UucGxhbk9yZGVyRGF0ZSA9IG5ldyBEYXRlKHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmxpbmVzUGxhbk9yZGVyLmxpbmVzWzBdLmRlbGl2ZXJ5RGF0ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2hhbmdlTGluZVZhbHVlKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uTGluZS5zZWxlY3RlZCA9IHZhbHVlO1xyXG4gICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZHJhZ1N0YXJ0ZWQoZXY6IERyYWdFdmVudCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKCF0aGlzLmNoZWNrZWRBdmFpbGliaWxpdHkpIHtcclxuICAgICAgbGV0IHBsYW5PcmRlcjogUGxhbk9yZGVyID0gYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0UGxhbk9yZGVyKHRoaXMudHJhbnNhY3Rpb25IZWFkZXJTZXJ2aWNlLnRyYW5zYWN0aW9uSW5mby5pZCk7XHJcbiAgICAgIHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmF2YWlsYWJpbGl0eUNoZWNrRXZlbnQuZW1pdChwbGFuT3JkZXIpO1xyXG4gICAgICB0aGlzLmNoZWNrZWRBdmFpbGliaWxpdHkgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgaWYodGhpcy50cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlBbGxvY2F0ZWQgPD0gMCkge1xyXG4gICAgICAgYXdhaXQgdGhpcy5fZGlhbG9nLnNob3dFcnJvcih0aGlzLl9kaWN0aW9uYXJ5LmdldCgnT1JERVJfQ0FOX05PVF9CRV9QTEFOTkVEJyksIHRydWUpO1xyXG4gICAgICAgcmV0dXJuO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UuY3VycmVudFRyYW5zSWQgPSB0aGlzLnRyYW5zYWN0aW9uSW5mby5pZDtcclxuICAgICAgZXYuZGF0YVRyYW5zZmVyPy5zZXREYXRhKCd0ZXh0JywgJ2xpbmVzJyk7XHJcbiAgICB9XHJcbiAgICAoZXYudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5jbGFzc0xpc3QuYWRkKCdkcmFnZ2luZycpO1xyXG4gICAgY29uc3QgbGluZUVsZW1lbnQgPSAoZXYudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5jbG9zZXN0KCdjby10cmFuc2FjdGlvbi1iYXNlLWxpbmUnKTtcclxuICAgIGlmICghbGluZUVsZW1lbnQpIHJldHVybjtcclxuXHJcbiAgICBjb25zdCBkcmFnQm94ID0gbGluZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmNvLXRyYW5zYWN0aW9uLWxpbmUtaW1hZ2UtYW5kLWRlc2NyaXB0aW9uJyk/LmNsb25lTm9kZSh0cnVlKSBhcyBIVE1MRWxlbWVudDtcclxuXHJcbiAgICBjb25zdCBkcmFnSW1hZ2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIGRyYWdJbWFnZS5zdHlsZS5kaXNwbGF5ID0gJ2ZsZXgnO1xyXG4gICAgZHJhZ0ltYWdlLnN0eWxlLmZsZXhEaXJlY3Rpb24gPSAncm93JztcclxuICAgIGRyYWdJbWFnZS5zdHlsZS5hbGlnbkl0ZW1zID0gJ2NlbnRlcic7XHJcbiAgICBkcmFnSW1hZ2Uuc3R5bGUuanVzdGlmeUNvbnRlbnQgPSAnc3BhY2UtYXJvdW5kJztcclxuICAgIGRyYWdJbWFnZS5zdHlsZS53aWR0aCA9ICcyNTBweCc7XHJcbiAgICBkcmFnSW1hZ2Uuc3R5bGUubWluSGVpZ2h0ID0gJzUwcHgnO1xyXG4gICAgZHJhZ0ltYWdlLnN0eWxlLnBhZGRpbmcgPSAnMTBweCc7XHJcbiAgICBkcmFnSW1hZ2Uuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gJyNmZmZmZmYnO1xyXG4gICAgZHJhZ0ltYWdlLnN0eWxlLmJvcmRlciA9ICcxcHggc29saWQgI2NjYyc7XHJcbiAgICBkcmFnSW1hZ2Uuc3R5bGUuYm94U2hhZG93ID0gJzAgNHB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMSknO1xyXG4gICAgZHJhZ0ltYWdlLnN0eWxlLmJvcmRlclJhZGl1cyA9ICc1cHgnO1xyXG4gICAgZHJhZ0ltYWdlLnN0eWxlLmZvbnRTaXplID0gJzEycHgnO1xyXG5cclxuICAgIGlmIChkcmFnQm94KSB7XHJcbiAgICAgIGRyYWdCb3guc3R5bGUuZmxleCA9ICcxJztcclxuICAgICAgZHJhZ0ltYWdlLmFwcGVuZENoaWxkKGRyYWdCb3gpO1xyXG4gICAgfVxyXG5cclxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZHJhZ0ltYWdlKTtcclxuICAgIGRyYWdJbWFnZS5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XHJcbiAgICBkcmFnSW1hZ2Uuc3R5bGUudG9wID0gJy0xMDAwcHgnO1xyXG4gICAgZHJhZ0ltYWdlLnN0eWxlLmxlZnQgPSAnLTEwMDBweCc7XHJcblxyXG4gICAgLy8gU2V0IHRoZSBjdXN0b20gZHJhZyBpbWFnZVxyXG4gICAgZXYuZGF0YVRyYW5zZmVyPy5zZXREcmFnSW1hZ2UoZHJhZ0ltYWdlLCA1MCwgMjUpO1xyXG5cclxuICAgIC8vIENsZWFudXA6IFJlbW92ZSB0aGUgZHJhZyBpbWFnZSBhZnRlciBpdCdzIHNldFxyXG4gICAgc2V0VGltZW91dCgoKSA9PiBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRyYWdJbWFnZSksIDApO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZHJhZ2VuZCcsIFsnJGV2ZW50J10pXHJcbiAgcHVibGljIGRyYWdFbmRlZChldjogRHJhZ0V2ZW50KTogdm9pZCB7XHJcbiAgICBpZih0aGlzLmNoZWNrZWRBdmFpbGliaWxpdHkpIHtcclxuICAgICAgdGhpcy5jaGVja2VkQXZhaWxpYmlsaXR5ID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmF2YWlsYWJpbGl0eVJlc2V0RXZlbnQuZW1pdCgpO1xyXG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICAgIChldi50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsYXNzTGlzdC5yZW1vdmUoJ2RyYWdnaW5nJyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGxpbmVQbGFubmVkKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCF0aGlzLl9kZWxpdmVyeVBsYW5uaW5nU2VydmljZS5saW5lc1BsYW5PcmRlcikge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuICF0aGlzLl9kZWxpdmVyeVBsYW5uaW5nU2VydmljZS5saW5lc1BsYW5PcmRlcj8ubGluZXM/LmZpbmQobGluZSA9PiBsaW5lLm9yaWdpbmFsTGluZU5yID09PSB0aGlzLnRyYW5zYWN0aW9uTGluZS5saW5lTnIpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVF1YW50aXR5VG9QbGFuQ2hhbmdlKGFtb3VudDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uTGluZS5hbW91bnRTZWxlY3RlZCA9IGFtb3VudDtcclxuICB9XHJcbn1cclxuIl19
323
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcGxhbm5pbmctbGluZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLXBsYW5uaW5nLWxpbmUvdHJhbnNhY3Rpb24tcGxhbm5pbmctbGluZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFHWixNQUFNLEVBQ04saUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUMxRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUdyRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUNoSCxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUV4RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUVsRyxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUM3RixPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUM1RixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFB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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStHVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtnQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDaEQ7OztZQTFITyx3QkFBd0I7WUFDeEIsc0JBQXNCO1lBWHRCLHVCQUF1QjtZQUN2QixnQkFBZ0I7WUFDaEIscUNBQXFDO1lBQ3JDLHVCQUF1QjtZQUN2QixpQkFBaUI7WUFDakIsa0JBQWtCO1lBbkJ4QixpQkFBaUI7WUFxQlgsdUJBQXVCO1lBS3ZCLHdCQUF3QjtZQVJ4QixpQkFBaUI7OztrQ0FzSXRCLE1BQU07d0JBR04sV0FBVyxTQUFDLG9DQUFvQzs4QkFLaEQsWUFBWSxTQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQzsrQkFLcEMsWUFBWSxTQUFDLFlBQVksRUFBRSxDQUFDLFFBQVEsQ0FBQzt3QkF1SnJDLFlBQVksU0FBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7U3RvY2tTdGF0dXN9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL3JlZmNvZGUvc3RvY2stc3RhdHVzLmVudW0nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uVHlwZUNhdGVnb3J5fSBmcm9tICcuLi8uLi8uLi9lbnVtL3RyYW5zYWN0aW9uLXR5cGUtY2F0ZWdvcnkuZW51bSc7XHJcbmltcG9ydCB7U3RhdHVzQmFyQ2ZnTmFtZXN9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZS9zdGF0dXMtYmFyLWNmZy1uYW1lcy5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge0xpbmVEaXNjb3VudENmZ05hbWVzfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2UvbGluZS1kaXNjb3VudC1jZmctbmFtZXMuaW50ZXJmYWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkV2ZW50U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1ldmVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1zY3JlZW4tY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkltYWdlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1pbWFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS9kaWN0aW9uYXJ5LnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVJbmZvfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tbGluZS1pbmZvLmJvJztcclxuaW1wb3J0IHtEZWxpdmVyeVBsYW5uaW5nU2VydmljZX0gZnJvbSAnLi4vLi4vZGVsaXZlcnktcGxhbm5pbmcvc2VydmljZS9kZWxpdmVyeS1wbGFubmluZy5zZXJ2aWNlJztcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZUJhc2VDb21wb25lbnR9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS90cmFuc2FjdGlvbi1saW5lLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlclNlcnZpY2V9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS9zZXJ2aWNlL3RyYW5zYWN0aW9uLWhlYWRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVTZXJ2aWNlfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2Uvc2VydmljZS90cmFuc2FjdGlvbi1saW5lLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRGlhbG9nU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1kaWFsb2cuc2VydmljZSc7XHJcbmltcG9ydCB7UGxhbk9yZGVyfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbi1vcmRlci5ibyc7XHJcbmltcG9ydCB7UGxhbm5lZFJlc291cmNlRm9yVHJhbnNhY3Rpb25MaW5lfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbm5lZC1yZXNvdXJjZS1mb3ItdHJhbnNhY3Rpb24tbGluZS5ibyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvLXRyYW5zYWN0aW9uLXBsYW5uaW5nLWxpbmUnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxjby10cmFuc2FjdGlvbi1iYXNlLWxpbmVcclxuICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uSW5mb1wiXHJcbiAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uTGluZV09XCJ0cmFuc2FjdGlvbkxpbmVcIlxyXG4gICAgICAgICAgICAgIFtwcmV2aWV3XT1cInByZXZpZXdcIlxyXG4gICAgICAgICAgICAgIFtpc0ZpcnN0XT1cImlzRmlyc3RcIlxyXG4gICAgICAgICAgICAgIFtkcmFnZ2FibGVdPVwiIWxpbmVQbGFubmVkXCJcclxuICAgICAgICAgICAgICAoZHJhZ3N0YXJ0KT1cImRyYWdTdGFydGVkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgIFtjaGVja2JveF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICBbY2hlY2tib3hWYWx1ZV09XCJ0cmFuc2FjdGlvbkxpbmUuc2VsZWN0ZWQgfHwgIXRyYW5zYWN0aW9uSW5mbz8uYWxsb3dQYXJ0aWFsRGVsaXZlcnlcIlxyXG4gICAgICAgICAgICAgIFtjaGVja2JveFJlYWRvbmx5XT1cIiF0cmFuc2FjdGlvbkluZm8/LmFsbG93UGFydGlhbERlbGl2ZXJ5XCJcclxuICAgICAgICAgICAgICAoY2hlY2tib3hWYWx1ZUNoYW5nZWQpPVwiaGFuZGxlQ2hlY2tCb3hWYWx1ZUNoYW5nZWQoJGV2ZW50LCB0cmFuc2FjdGlvbkxpbmUpXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlTGluZUNsaWNrZWQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRyYW5zYWN0aW9uTGluZS5pc0FydGljbGVcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9IXByZXZpZXcgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLWV4dGVuZGVkLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtc3RhdHVzYmFyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5TdGF0dXNCYXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ05hbWVzXT1cInN0YXR1c0JhckNvbmZpZ05hbWVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthY3RpdmVDYXRlZ29yeV09XCJjYXRlZ29yeS5TYWxlc09yZGVyT3ZlcnZpZXdcIj48L2NvLXRyYW5zYWN0aW9uLWxpbmUtc3RhdHVzYmFyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWVsZC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnNpZGUtZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLWNvbW1pc3Npb24tYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkxpbmVDb21taXNzaW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lucHV0TGFiZWxdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1saW5lLWNvbW1pc3Npb24tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tZmllbGQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5zaWRlLWZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS13YXJlaG91c2UtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkxpbmVXYXJlaG91c2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5wdXRMYWJlbF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxpbmUtd2FyZWhvdXNlLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWZpZWxkLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImluc2lkZS1maWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtZGVsaXZlcnktYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkxpbmVEZWxpdmVyeU1ldGhvZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbnB1dExhYmVsXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tbGluZS1kZWxpdmVyeS1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWVsZC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnNpZGUtZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLWRlbGl2ZXJ5LWRhdGUtYnV0dG9uIGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS1kZWxpdmVyeS1kYXRlIHR3by1jb2x1bW5cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuTGluZURlbGl2ZXJ5RGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5wdXRMYWJlbF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxpbmUtZGVsaXZlcnktZGF0ZS1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWVsZC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnNpZGUtZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLXZhdC1idXR0b24gKm5nSWY9XCIhcHJldmlld1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkxpbmVWYXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5wdXRMYWJlbF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxpbmUtdmF0LWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWZpZWxkLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImluc2lkZS1maWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtcHJpY2UgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLXRvdGFscy1wcmljZSBwcmljZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5MaW5lUHJpY2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dMYWJlbF09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdEVkaXRNb2RlXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbnB1dExhYmVsXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tbGluZS1wcmljZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWZpZWxkLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImluc2lkZS1maWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtZGlzY291bnQtYnV0dG9uICpuZ0lmPVwiIXByZXZpZXdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkxpbmVEaXNjb3VudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ05hbWVzXT1cImRpc2NvdW50Q29uZmlnTmFtZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbnB1dExhYmVsXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tbGluZS1kaXNjb3VudC1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWVsZC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnNpZGUtZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLWxhYmVsIFtpbnNpZGVMYWJlbF09XCInUVVBTlRJVFknXCI+PC9jby10cmFuc2FjdGlvbi1saW5lLWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LW51bWJlci1waWNrZXIgY2xhc3M9XCJhbW91bnQtbnVtYmVyLXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWluXT1cIjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21heF09XCJ0cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlBbGxvY2F0ZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cInRyYW5zYWN0aW9uTGluZS5hbW91bnRTZWxlY3RlZCA/IHRyYW5zYWN0aW9uTGluZS5hbW91bnRTZWxlY3RlZCA6IDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImhhbmRsZVF1YW50aXR5VG9QbGFuQ2hhbmdlKCRldmVudClcIj48L2NvLWlucHV0LW51bWJlci1waWNrZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWVsZC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnNpZGUtZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjby1lZGl0YWJsZS1sYWJlbCBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtdG90YWxzLXRvdGFsIHByaWNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZWxdPVwidHJhbnNhY3Rpb25MaW5lLmRpc3BsYXlOZXRMaW5lVG90YWwgfCBjb0N1cnJlbmN5OiB0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZWRpdE1vZGVsXT1cInRyYW5zYWN0aW9uTGluZS5kaXNwbGF5TmV0TGluZVRvdGFsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lucHV0TGFiZWxdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9jby1lZGl0YWJsZS1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9jby10cmFuc2FjdGlvbi1iYXNlLWxpbmU+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvblBsYW5uaW5nTGluZUNvbXBvbmVudCBleHRlbmRzIFRyYW5zYWN0aW9uTGluZUJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGNhdGVnb3J5OiB0eXBlb2YgVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkgPSBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeTtcclxuICBwdWJsaWMgY2hlY2tlZEF2YWlsaWJpbGl0eTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBwbGFubmVkUmVzb3VyY2VGb3JUcmFuc2FjdGlvbkxpbmU6IFBsYW5uZWRSZXNvdXJjZUZvclRyYW5zYWN0aW9uTGluZVtdO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgZGVzY3JpcHRpb25EYmxDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLXRyYW5zYWN0aW9uLXBsYW5uaW5nLWxpbmUnKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlb3ZlcicsIFsnJGV2ZW50J10pXHJcbiAgcHVibGljIGhhbmRsZU1vdXNlT3ZlcihldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgdGhpcy5tb3VzZU92ZXIgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScsIFsnJGV2ZW50J10pXHJcbiAgcHVibGljIGhhbmRsZU1vdXNlTGVhdmUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIHRoaXMubW91c2VPdmVyID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RvY2s6IFN0b2NrU3RhdHVzID0gU3RvY2tTdGF0dXMuTG93O1xyXG4gIHB1YmxpYyBtb3VzZU92ZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgaGFzT3BlbmVkU2lkZVBhbmVsOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBzdGF0dXNCYXJDb25maWdOYW1lczogU3RhdHVzQmFyQ2ZnTmFtZXMgPSB7XHJcbiAgICBzdGF0dXNCYXJCVDogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJCVCxcclxuICAgIHN0YXR1c0JhclRHOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhclRHLFxyXG4gICAgc3RhdHVzQmFyUEE6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyUEEsXHJcbiAgICBzdGF0dXNCYXJQVjogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJQVixcclxuICAgIHN0YXR1c0JhclRQOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhclRQLFxyXG4gICAgc3RhdHVzQmFyR1Q6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyR1QsXHJcbiAgICBzdGF0dXNCYXJHUDogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJHUCxcclxuICAgIHN0YXR1c0JhckdMOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhckdMLFxyXG4gICAgc3RhdHVzQmFyR0Y6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyR0ZcclxuICB9O1xyXG5cclxuICBwdWJsaWMgZGlzY291bnRDb25maWdOYW1lczogTGluZURpc2NvdW50Q2ZnTmFtZXMgPSB7XHJcbiAgICBsaW5lUHJpY2VMaXN0OiB0aGlzLmNmZ05hbWVzLkxpbmVQcmljZUxpc3QsXHJcbiAgICBsaW5lRGlzY291bnRBbW91bnQ6IHRoaXMuY2ZnTmFtZXMuTGluZURpc2NvdW50QW1vdW50LFxyXG4gICAgbGluZURpc2NvdW50UGVyY2VudGFnZTogdGhpcy5jZmdOYW1lcy5MaW5lRGlzY291bnRQZXJjZW50YWdlLFxyXG4gICAgbGluZURpc2NvdW50U3BlY2lhbDogdGhpcy5jZmdOYW1lcy5MaW5lRGlzY291bnRTcGVjaWFsLFxyXG4gICAgbGluZURpc2NvdW50UXVhbnR1bTogdGhpcy5jZmdOYW1lcy5MaW5lRGlzY291bnRRdWFudHVtXHJcbiAgfTtcclxuXHJcbiAgcHVibGljIHRyYW5zYWN0aW9uTGluZVRvQmVQaWNrZWRDb21wbGV0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHJpdmF0ZSBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgdHJhbnNhY3Rpb25IZWFkZXJTZXJ2aWNlOiBUcmFuc2FjdGlvbkhlYWRlclNlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNhY3Rpb25MaW5lU2VydmljZTogVHJhbnNhY3Rpb25MaW5lU2VydmljZSxcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvbkV2ZW50U2VydmljZTogVHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgIHB1YmxpYyBzY3JlZW5Db25maWdTZXJ2aWNlOiBUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGltYWdlU2VydmljZTogVHJhbnNhY3Rpb25JbWFnZVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgZGljdGlvbmFyeVNlcnZpY2U6IERpY3Rpb25hcnlTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIHRyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlOiBEZWxpdmVyeVBsYW5uaW5nU2VydmljZSxcclxuICAgIHByaXZhdGUgX2RpYWxvZzogVHJhbnNhY3Rpb25EaWFsb2dTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZGljdGlvbmFyeTogRGljdGlvbmFyeVNlcnZpY2UsXHJcbiAgKSB7XHJcbiAgICBzdXBlcih0cmFuc2FjdGlvbkhlYWRlclNlcnZpY2UsIHRyYW5zYWN0aW9uTGluZVNlcnZpY2UsIHRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLCBpY29uQ2FjaGVTZXJ2aWNlLCBzY3JlZW5Db25maWdTZXJ2aWNlLCBpbWFnZVNlcnZpY2UsIGRpY3Rpb25hcnlTZXJ2aWNlLCB0cmFuc2FjdGlvblNlcnZpY2UsY2hhbmdlRGV0ZWN0b3IpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgdGhpcy5fc3Vicy5wdXNoKFxyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLnNlbGVjdEFsbFNhbGVzT3JkZXJMaW5lc1RvQmVQaWNrZWQuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xyXG4gICAgICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lLnNlbGVjdGVkID0gdmFsdWUgJiYgIXRoaXMudHJhbnNhY3Rpb25MaW5lVG9CZVBpY2tlZENvbXBsZXRlZDtcclxuICAgICAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRQbGFubmVkUmVzb3VyY2VzRm9yVHJhbnNhY3Rpb25MaW5lKHRoaXMudHJhbnNhY3Rpb25JbmZvLmlkLCB0aGlzLnRyYW5zYWN0aW9uTGluZS5saW5lTnIpLnRoZW4oIChyZXN1bHQ6IFBsYW5uZWRSZXNvdXJjZUZvclRyYW5zYWN0aW9uTGluZVtdKSA9PiB7XHJcbiAgICAgIHRoaXMucGxhbm5lZFJlc291cmNlRm9yVHJhbnNhY3Rpb25MaW5lID0gcmVzdWx0O1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuX3N1YnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgICBpZiAodGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UucGxhbk9yZGVyRGF0ZSkge1xyXG4gICAgICB0aGlzLl9kZWxpdmVyeVBsYW5uaW5nU2VydmljZS5wbGFuT3JkZXJEYXRlID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVDaGVja0JveFZhbHVlQ2hhbmdlZCh2YWx1ZTogYm9vbGVhbiwgbGluZTogVHJhbnNhY3Rpb25MaW5lSW5mbyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHZhbHVlICYmICF0aGlzLmhhc09wZW5lZFNpZGVQYW5lbCAmJiAhdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UubHNwTW9kZSkge1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLm9wZW5TaWRlUGFuZWwubmV4dCh0aGlzLnRyYW5zYWN0aW9uTGluZSk7XHJcbiAgICAgIHRoaXMuaGFzT3BlbmVkU2lkZVBhbmVsID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZih0aGlzLl9kZWxpdmVyeVBsYW5uaW5nU2VydmljZS5sc3BNb2RlKSB7XHJcbiAgICAgIGxldCBwYWNrYWdlUmVzcG9uc2UgPSBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRQYWNrYWdlSW5mb3JtYXRpb24odGhpcy50cmFuc2FjdGlvbkluZm8udXVpZCwgbGluZS51dWlkKTtcclxuICAgICAgaWYocGFja2FnZVJlc3BvbnNlPy5sZW5ndGggJiYgdmFsdWUpIHtcclxuICAgICAgICB0aGlzLmNoYW5nZUxpbmVWYWx1ZShmYWxzZSk7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5fZGlhbG9nLnNob3dFcnJvcihcIkxTUF9BTFJFQURZX0NSRUFURURfRk9SX1RISVNfTElORVwiLCB0cnVlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmNoYW5nZUxpbmVWYWx1ZSh2YWx1ZSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY2hhbmdlTGluZVZhbHVlKHZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVMaW5lQ2xpY2tlZChtb3VzZUNsaWNrOiBQb2ludGVyRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9kZWxpdmVyeVBsYW5uaW5nU2VydmljZS5saW5lc1BsYW5PcmRlcj8ubGluZXM/Lmxlbmd0aCkge1xyXG4gICAgICB0aGlzLl9kZWxpdmVyeVBsYW5uaW5nU2VydmljZS5wbGFuT3JkZXJEYXRlID0gbmV3IERhdGUodGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UubGluZXNQbGFuT3JkZXIubGluZXNbMF0uZGVsaXZlcnlEYXRlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBjaGFuZ2VMaW5lVmFsdWUodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lLnNlbGVjdGVkID0gdmFsdWU7XHJcbiAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBkcmFnU3RhcnRlZChldjogRHJhZ0V2ZW50KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAoIXRoaXMuY2hlY2tlZEF2YWlsaWJpbGl0eSkge1xyXG4gICAgICBsZXQgcGxhbk9yZGVyOiBQbGFuT3JkZXIgPSBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRQbGFuT3JkZXIodGhpcy50cmFuc2FjdGlvbkhlYWRlclNlcnZpY2UudHJhbnNhY3Rpb25JbmZvLmlkKTtcclxuICAgICAgdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UuYXZhaWxhYmlsaXR5Q2hlY2tFdmVudC5lbWl0KHBsYW5PcmRlcik7XHJcbiAgICAgIHRoaXMuY2hlY2tlZEF2YWlsaWJpbGl0eSA9IHRydWU7XHJcbiAgICB9XHJcbiAgICBpZih0aGlzLnRyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eUFsbG9jYXRlZCA8PSAwKSB7XHJcbiAgICAgICBhd2FpdCB0aGlzLl9kaWFsb2cuc2hvd0Vycm9yKHRoaXMuX2RpY3Rpb25hcnkuZ2V0KCdPUkRFUl9DQU5fTk9UX0JFX1BMQU5ORUQnKSwgdHJ1ZSk7XHJcbiAgICAgICByZXR1cm47XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9kZWxpdmVyeVBsYW5uaW5nU2VydmljZS5jdXJyZW50VHJhbnNJZCA9IHRoaXMudHJhbnNhY3Rpb25JbmZvLmlkO1xyXG4gICAgICBldi5kYXRhVHJhbnNmZXI/LnNldERhdGEoJ3RleHQnLCAnbGluZXMnKTtcclxuICAgIH1cclxuICAgIChldi50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsYXNzTGlzdC5hZGQoJ2RyYWdnaW5nJyk7XHJcbiAgICBjb25zdCBsaW5lRWxlbWVudCA9IChldi50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsb3Nlc3QoJ2NvLXRyYW5zYWN0aW9uLWJhc2UtbGluZScpO1xyXG4gICAgaWYgKCFsaW5lRWxlbWVudCkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IGRyYWdCb3ggPSBsaW5lRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuY28tdHJhbnNhY3Rpb24tbGluZS1pbWFnZS1hbmQtZGVzY3JpcHRpb24nKT8uY2xvbmVOb2RlKHRydWUpIGFzIEhUTUxFbGVtZW50O1xyXG5cclxuICAgIGNvbnN0IGRyYWdJbWFnZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgZHJhZ0ltYWdlLnN0eWxlLmRpc3BsYXkgPSAnZmxleCc7XHJcbiAgICBkcmFnSW1hZ2Uuc3R5bGUuZmxleERpcmVjdGlvbiA9ICdyb3cnO1xyXG4gICAgZHJhZ0ltYWdlLnN0eWxlLmFsaWduSXRlbXMgPSAnY2VudGVyJztcclxuICAgIGRyYWdJbWFnZS5zdHlsZS5qdXN0aWZ5Q29udGVudCA9ICdzcGFjZS1hcm91bmQnO1xyXG4gICAgZHJhZ0ltYWdlLnN0eWxlLndpZHRoID0gJzI1MHB4JztcclxuICAgIGRyYWdJbWFnZS5zdHlsZS5taW5IZWlnaHQgPSAnNTBweCc7XHJcbiAgICBkcmFnSW1hZ2Uuc3R5bGUucGFkZGluZyA9ICcxMHB4JztcclxuICAgIGRyYWdJbWFnZS5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSAnI2ZmZmZmZic7XHJcbiAgICBkcmFnSW1hZ2Uuc3R5bGUuYm9yZGVyID0gJzFweCBzb2xpZCAjY2NjJztcclxuICAgIGRyYWdJbWFnZS5zdHlsZS5ib3hTaGFkb3cgPSAnMCA0cHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xKSc7XHJcbiAgICBkcmFnSW1hZ2Uuc3R5bGUuYm9yZGVyUmFkaXVzID0gJzVweCc7XHJcbiAgICBkcmFnSW1hZ2Uuc3R5bGUuZm9udFNpemUgPSAnMTJweCc7XHJcblxyXG4gICAgaWYgKGRyYWdCb3gpIHtcclxuICAgICAgZHJhZ0JveC5zdHlsZS5mbGV4ID0gJzEnO1xyXG4gICAgICBkcmFnSW1hZ2UuYXBwZW5kQ2hpbGQoZHJhZ0JveCk7XHJcbiAgICB9XHJcblxyXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkcmFnSW1hZ2UpO1xyXG4gICAgZHJhZ0ltYWdlLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcclxuICAgIGRyYWdJbWFnZS5zdHlsZS50b3AgPSAnLTEwMDBweCc7XHJcbiAgICBkcmFnSW1hZ2Uuc3R5bGUubGVmdCA9ICctMTAwMHB4JztcclxuXHJcbiAgICAvLyBTZXQgdGhlIGN1c3RvbSBkcmFnIGltYWdlXHJcbiAgICBldi5kYXRhVHJhbnNmZXI/LnNldERyYWdJbWFnZShkcmFnSW1hZ2UsIDUwLCAyNSk7XHJcblxyXG4gICAgLy8gQ2xlYW51cDogUmVtb3ZlIHRoZSBkcmFnIGltYWdlIGFmdGVyIGl0J3Mgc2V0XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZHJhZ0ltYWdlKSwgMCk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdkcmFnZW5kJywgWyckZXZlbnQnXSlcclxuICBwdWJsaWMgZHJhZ0VuZGVkKGV2OiBEcmFnRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmKHRoaXMuY2hlY2tlZEF2YWlsaWJpbGl0eSkge1xyXG4gICAgICB0aGlzLmNoZWNrZWRBdmFpbGliaWxpdHkgPSBmYWxzZTtcclxuICAgICAgdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UuYXZhaWxhYmlsaXR5UmVzZXRFdmVudC5lbWl0KCk7XHJcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gICAgKGV2LnRhcmdldCBhcyBIVE1MRWxlbWVudCkuY2xhc3NMaXN0LnJlbW92ZSgnZHJhZ2dpbmcnKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgbGluZVBsYW5uZWQoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmxpbmVzUGxhbk9yZGVyKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gIXRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmxpbmVzUGxhbk9yZGVyPy5saW5lcz8uZmluZChsaW5lID0+IGxpbmUub3JpZ2luYWxMaW5lTnIgPT09IHRoaXMudHJhbnNhY3Rpb25MaW5lLmxpbmVOcik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlUXVhbnRpdHlUb1BsYW5DaGFuZ2UoYW1vdW50OiBudW1iZXIpIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lLmFtb3VudFNlbGVjdGVkID0gYW1vdW50O1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -115,9 +115,11 @@ export class TransactionQuickAccessOrderPurchaseComponent extends TransactionQui
115
115
  emailDocument(request) {
116
116
  }
117
117
  printDocument(request) {
118
+ var _a, _b;
118
119
  return __awaiter(this, void 0, void 0, function* () {
119
120
  const printPurchaseOrderForSalesOrderRequest = Object.assign(new PrintPurchaseOrderForSalesOrderRequest(), request);
120
- console.log(printPurchaseOrderForSalesOrderRequest);
121
+ (_a = printPurchaseOrderForSalesOrderRequest.useRelationSpecificReports) !== null && _a !== void 0 ? _a : (printPurchaseOrderForSalesOrderRequest.useRelationSpecificReports = true);
122
+ (_b = printPurchaseOrderForSalesOrderRequest.useRelationSpecificSendMethods) !== null && _b !== void 0 ? _b : (printPurchaseOrderForSalesOrderRequest.useRelationSpecificSendMethods = true);
121
123
  yield this.transactionService.generateAndSendPurchaseOrdersForSalesOrder(printPurchaseOrderForSalesOrderRequest, this.transactionInfo.version);
122
124
  });
123
125
  }
@@ -189,4 +191,4 @@ TransactionQuickAccessOrderPurchaseComponent.ctorParameters = () => [
189
191
  TransactionQuickAccessOrderPurchaseComponent.propDecorators = {
190
192
  showClass: [{ type: HostBinding, args: ['class.co-transaction-quick-access-order-purchase',] }]
191
193
  };
192
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLW9yZGVyLXB1cmNoYXNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3Mtb3JkZXItcHVyY2hhc2UvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLW9yZGVyLXB1cmNoYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFM0YsT0FBTyxFQUFDLDZDQUE2QyxFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFDckgsT0FBTyxFQUFDLHdDQUF3QyxFQUFDLE1BQU0sOEVBQThFLENBQUM7QUFDdEksT0FBTyxFQUFDLHdDQUF3QyxFQUFDLE1BQU0sOEVBQThFLENBQUM7QUFDdEksT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sbUVBQW1FLENBQUM7QUFHbEgsT0FBTyxFQUFDLHNDQUFzQyxFQUFDLE1BQU0sbUZBQW1GLENBQUM7QUFDekksT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDbkYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDckUsT0FBTyxFQUFDLHFDQUFxQyxFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDaEgsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sNkRBQTZELENBQUM7QUFDckcsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDbkYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFDLGtCQUFrQixF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LFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDRDQUE0QztnQkFDdEQsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRDVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBMURPLHdCQUF3QjtZQU14Qix3QkFBd0I7WUFUeEIsdUJBQXVCO1lBQ3ZCLGdCQUFnQjtZQUNoQixxQ0FBcUM7WUFFckMsdUJBQXVCO1lBQ3ZCLGlCQUFpQjtZQUNqQixrQkFBa0I7WUFmbEIsaUJBQWlCO1lBZ0JqQix3QkFBd0I7WUFDeEIsa0NBQWtDOzs7d0JBd0R2QyxXQUFXLFNBQUMsa0RBQWtEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25RdWlja0FjY2Vzc1NlbmRNZXRob2RCYXNlQ29tcG9uZW50fSBmcm9tICcuLi90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3Mtc2VuZC1tZXRob2QtYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1JlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydGluZy1kb2N1bWVudC1wcmludC1zaWduLWRvYy1iYXNlLXJlcXVlc3QnO1xyXG5pbXBvcnQge1JlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydGluZy1kb2N1bWVudC1lbWFpbC1zaWduLWRvYy1iYXNlLXJlcXVlc3QnO1xyXG5pbXBvcnQge1JlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydGluZy1kb2N1bWVudC1wZGYtYmFzZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtSZXBvcnRMYXlvdXRTZWxlY3Rpb25FbWFpbH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0LWxheW91dC1zZWxlY3Rpb24tZW1haWwuYm8nO1xyXG5pbXBvcnQge1JlcG9ydExheW91dFNlbGVjdGlvblByaW50fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnQtbGF5b3V0LXNlbGVjdGlvbi1wcmludC5ibyc7XHJcbmltcG9ydCB7UHJpbnRQdXJjaGFzZU9yZGVyRm9yU2FsZXNPcmRlclJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wcmludC1wdXJjaGFzZS1vcmRlci1mb3Itc2FsZXMtb3JkZXItcmVxdWVzdCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25FdmVudFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tZXZlbnQuc2VydmljZSc7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tc2NyZWVuLWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZWFyY2hTZXJ2aWNlfSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbi1zZWFyY2gvc2VydmljZS90cmFuc2FjdGlvbi1zZWFyY2guc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbWFnZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24taW1hZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvZGljdGlvbmFyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25EaWFsb2dTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWRpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNhbGVzUmVzZXJ2YXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbi1yZXNlcnZhdGlvbi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXNhbGVzLXJlc2VydmF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSGVhZGVyU2VydmljZX0gZnJvbSAnLi4vLi4vY29yZS9iYXNlL3NlcnZpY2UvdHJhbnNhY3Rpb24taGVhZGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VhcmNoVmlld30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLXNlYXJjaC12aWV3LmJvJztcclxuaW1wb3J0IHtCYXRjaFRyYW5zYWN0aW9uU2VuZGluZ1JlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9iYXRjaC10cmFuc2FjdGlvbi1zZW5kaW5nLXJlcXVlc3QnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjby10cmFuc2FjdGlvbi1xdWljay1hY2Nlc3Mtb3JkZXItcHVyY2hhc2UnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJxdWljay1hY2Nlc3MtY29udGVudC13cmFwcGVyXCIgKm5nSWY9XCJjYW5HZW5lcmF0ZSAmJiB0cmFuc2FjdGlvbkluZm8udHJhbnNhY3Rpb25EZWZpbml0aXZlXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0LWFsbC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgPGNvLWlucHV0LWNoZWNrYm94XHJcbiAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1NFTEVDVF9BTExfTElORVMnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImhhbmRsZVNlbGVjdEFsbExpbmVzKCRldmVudClcIj5cclxuICAgICAgICAgICAgICA8L2NvLWlucHV0LWNoZWNrYm94PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8Y28tcXVpY2stc2VuZC1idXR0b25cclxuICAgICAgICAgICAgICAgICAgW2RlZmF1bHRNZXRob2RJY29uXT1cImRlZmF1bHRTZW5kTWV0aG9kSWNvblwiXHJcbiAgICAgICAgICAgICAgICAgIFtzaG93TG9hZGVyXT1cInNob3dMb2FkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAoc2VuZEljb25DbGlja2VkKT1cImhhbmRsZVNlbmQoZGVmYXVsdFNlbmRNZXRob2QpXCJcclxuICAgICAgICAgICAgICAgICAgKG9wZW5TZW5kTWV0aG9kRGlhbG9nKT1cIm9wZW5TZW5kRGlhbG9nKClcIj5cclxuICAgICAgICAgIDwvY28tcXVpY2stc2VuZC1idXR0b24+XHJcblxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJidXR0b25cIiBbY2xhc3Muc2VsZWN0ZWRdPVwidHJhbnNhY3Rpb25IZWFkZXJTZXJ2aWNlLnJlc2VydmF0aW9uTW9kZVwiPlxyXG4gICAgICAgICAgICA8Y28taWNvbiAoY2xpY2spPVwiaGFuZGxlUmVzZXJ2YXRpb25Nb2RlQ2xpY2soKVwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuUGFsbGV0Qm94ZXNSb3RhdGUpXCI+PC9jby1pY29uPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8Y28tc2VuZC1tZXRob2QtZGlhbG9nXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJzaG93U2VuZE1ldGhvZERpYWxvZ1wiXHJcbiAgICAgICAgICAgICAgW3ByaW50ZXJMaXN0XT1cInByaW50ZXJMaXN0XCJcclxuICAgICAgICAgICAgICBbaGVhZGVyVGl0bGVdPVwiJ0NSRUFURV9QVVJDSEFTRV9PUkRFUicgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgW2RlZmF1bHRTZW5kTWV0aG9kXT1cImRlZmF1bHRTZW5kTWV0aG9kXCJcclxuICAgICAgICAgICAgICBbdmlzaWJsZU1ldGhvZHNdPVwiW3NlbmRNZXRob2RUeXBlLlByaW50XVwiXHJcbiAgICAgICAgICAgICAgW2VtYWlsQWRkcmVzc2VzXT1cImVtYWlsQWRkcmVzc2VzXCJcclxuICAgICAgICAgICAgICBbZW1haWxMYXlvdXRzXT1cImVtYWlsTGF5b3V0c1wiXHJcbiAgICAgICAgICAgICAgW2lzUHJpbnRlckxheW91dHNFbmFibGVkXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICBbaXNEb2NTaWduRW5hYmxlZF09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgWyhyZXBvcnRpbmdEb2N1bWVudEVtYWlsUmVxdWVzdCldPVwicmVwb3J0RG9jdW1lbnRFbWFpbFJlcXVlc3RcIlxyXG4gICAgICAgICAgICAgIFsocmVwb3J0aW5nRG9jdW1lbnRQcmludFJlcXVlc3QpXT1cInJlcG9ydERvY3VtZW50UHJpbnRSZXF1ZXN0XCJcclxuICAgICAgICAgICAgICBbKHJlcG9ydGluZ0RvY3VtZW50UGRmUmVxdWVzdCldPVwicmVwb3J0RG9jdW1lbnRQZGZSZXF1ZXN0XCJcclxuICAgICAgICAgICAgICAoY2xvc2VDbGljayk9XCJzaG93U2VuZE1ldGhvZERpYWxvZyA9IGZhbHNlXCJcclxuICAgICAgICAgICAgICAob2tDbGljayk9XCJoYW5kbGVTZW5kTWV0aG9kT2tDbGljaygkZXZlbnQpXCI+XHJcbiAgICAgIDwvY28tc2VuZC1tZXRob2QtZGlhbG9nPlxyXG5cclxuICAgICAgPGNvLXNoaXBwaW5nLW1ldGhvZC1kaWFsb2dcclxuICAgICAgICAgICAgICAqbmdJZj1cInNob3dTaGlwcGluZ01ldGhvZERpYWxvZ1wiXHJcbiAgICAgICAgICAgICAgW2NhdGVnb3J5XT1cIidwdXJjaGFzZSdcIlxyXG4gICAgICAgICAgICAgIFtzZWxlY3RlZFRyYW5zYWN0aW9uc109XCJzZWxlY3RlZFRyYW5zYWN0aW9uc1wiXHJcbiAgICAgICAgICAgICAgKGNhbmNlbENsaWNrZWQpPVwic2hvd1NoaXBwaW5nTWV0aG9kRGlhbG9nID0gZmFsc2VcIlxyXG4gICAgICAgICAgICAgIChzYXZlQ2xpY2tlZCk9XCJoYW5kbGVTaGlwcGluZ01ldGhvZE9rQ2xpY2soJGV2ZW50KVwiPlxyXG4gICAgICA8L2NvLXNoaXBwaW5nLW1ldGhvZC1kaWFsb2c+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvblF1aWNrQWNjZXNzT3JkZXJQdXJjaGFzZUNvbXBvbmVudCBleHRlbmRzIFRyYW5zYWN0aW9uUXVpY2tBY2Nlc3NTZW5kTWV0aG9kQmFzZUNvbXBvbmVudCB7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY28tdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLW9yZGVyLXB1cmNoYXNlJylcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2FuR2VuZXJhdGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd1NoaXBwaW5nTWV0aG9kRGlhbG9nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNlbGVjdGVkVHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvblNlYXJjaFZpZXdbXSA9IFtdO1xyXG5cclxuICBwdWJsaWMgcmVwb3J0RG9jdW1lbnRFbWFpbFJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3QgPSBuZXcgUmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdCgpO1xyXG4gIHB1YmxpYyByZXBvcnREb2N1bWVudFByaW50UmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdCA9IG5ldyBSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0KCk7XHJcbiAgcHVibGljIHJlcG9ydERvY3VtZW50UGRmUmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdCA9IG5ldyBSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0KCk7XHJcblxyXG4gIHByaXZhdGUgX3N1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgc2VhcmNoU2VydmljZTogVHJhbnNhY3Rpb25TZWFyY2hTZXJ2aWNlLFxyXG4gICAgdHJhbnNhY3Rpb25IZWFkZXJTZXJ2aWNlOiBUcmFuc2FjdGlvbkhlYWRlclNlcnZpY2UsXHJcbiAgICB0cmFuc2FjdGlvbkV2ZW50U2VydmljZTogVHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsXHJcbiAgICBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgc2NyZWVuQ29uZmlnU2VydmljZTogVHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZSxcclxuICAgIGltYWdlU2VydmljZTogVHJhbnNhY3Rpb25JbWFnZVNlcnZpY2UsXHJcbiAgICBkaWN0aW9uYXJ5U2VydmljZTogRGljdGlvbmFyeVNlcnZpY2UsXHJcbiAgICB0cmFuc2FjdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZSxcclxuICAgIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIGRpYWxvZ1NlcnZpY2U6IFRyYW5zYWN0aW9uRGlhbG9nU2VydmljZSxcclxuICAgIHB1YmxpYyBzYWxlc1Jlc2VydmF0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TYWxlc1Jlc2VydmF0aW9uU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoc2VhcmNoU2VydmljZSwgdHJhbnNhY3Rpb25IZWFkZXJTZXJ2aWNlLCB0cmFuc2FjdGlvbkV2ZW50U2VydmljZSwgaWNvbkNhY2hlU2VydmljZSwgc2NyZWVuQ29uZmlnU2VydmljZSwgaW1hZ2VTZXJ2aWNlLCBkaWN0aW9uYXJ5U2VydmljZSwgdHJhbnNhY3Rpb25TZXJ2aWNlLCBjaGFuZ2VEZXRlY3RvciwgZGlhbG9nU2VydmljZSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICB0aGlzLl9zdWJzLnB1c2goXHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudFNlcnZpY2UudHJhbnNhY3Rpb25MaW5lQ2hhbmdlZC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fY2hlY2tQdXJjaGFzZU9yZGVycygpKVxyXG4gICAgKTtcclxuICAgIGNvbnN0IHRyYW5zSXRlbSA9IHRoaXMudHJhbnNhY3Rpb24gYXMgdW5rbm93biBhcyBUcmFuc2FjdGlvblNlYXJjaFZpZXc7XHJcbiAgICB0aGlzLnNlbGVjdGVkVHJhbnNhY3Rpb25zLnB1c2godHJhbnNJdGVtKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc3Vicy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcclxuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU2VsZWN0QWxsTGluZXModmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudFNlcnZpY2Uuc2VsZWN0QWxsU2FsZXNPcmRlckxpbmVzRm9yUHVyY2hhc2UubmV4dCh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlU2VuZChtZXRob2Q6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3QgaXNQcmludERlZmF1bHRNZXRob2Q6IGJvb2xlYW4gPSBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5pc1ByaW50SXNEZWZhdWx0U2VuZE1ldGhvZEZvclB1cmNoYXNlT3JkZXIodGhpcy50cmFuc2FjdGlvbkluZm8uaWQpO1xyXG4gICAgaWYgKGlzUHJpbnREZWZhdWx0TWV0aG9kKSB7XHJcbiAgICAgIHRoaXMuc2hvd1NoaXBwaW5nTWV0aG9kRGlhbG9nID0gdHJ1ZTtcclxuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBhd2FpdCB0aGlzLnByaW50RG9jdW1lbnQodGhpcy5yZXBvcnREb2N1bWVudFByaW50UmVxdWVzdCk7XHJcbiAgICAgIHRoaXMuX3NldERlZmF1bHRNZXRob2QobWV0aG9kKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVTZW5kTWV0aG9kT2tDbGljayhtZXRob2Q6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5zaG93U2VuZE1ldGhvZERpYWxvZyA9IGZhbHNlO1xyXG4gICAgYXdhaXQgdGhpcy5wcmludERvY3VtZW50KHRoaXMucmVwb3J0RG9jdW1lbnRQcmludFJlcXVlc3QpO1xyXG4gICAgdGhpcy5fc2V0RGVmYXVsdE1ldGhvZChtZXRob2QpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZVNoaXBwaW5nTWV0aG9kT2tDbGljayhyZXF1ZXN0OiBCYXRjaFRyYW5zYWN0aW9uU2VuZGluZ1JlcXVlc3QpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuc2hvd1NoaXBwaW5nTWV0aG9kRGlhbG9nID0gZmFsc2U7XHJcbiAgICB0aGlzLnJlcG9ydERvY3VtZW50UHJpbnRSZXF1ZXN0LnByaW50ZXJOYW1lID0gcmVxdWVzdC5wcmludGVyTmFtZTtcclxuICAgIGF3YWl0IHRoaXMucHJpbnREb2N1bWVudCh0aGlzLnJlcG9ydERvY3VtZW50UHJpbnRSZXF1ZXN0KTtcclxuICAgIHRoaXMuX3NldERlZmF1bHRNZXRob2QodGhpcy5kZWZhdWx0U2VuZE1ldGhvZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlUmVzZXJ2YXRpb25Nb2RlQ2xpY2soKSB7XHJcbiAgICBpZiAodGhpcy50cmFuc2FjdGlvbj8udHJhbnNhY3Rpb25JbmZvPy5pZCkge1xyXG4gICAgICBpZiAoIXRoaXMudHJhbnNhY3Rpb25IZWFkZXJTZXJ2aWNlLnJlc2VydmF0aW9uTW9kZSkge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuc2FsZXNSZXNlcnZhdGlvblNlcnZpY2UuZ2V0U2FsZXNPcmRlckxpbmVzKHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLmlkKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNhbGVzUmVzZXJ2YXRpb25TZXJ2aWNlLnB1cmNoYXNlUmVzZXJ2YXRpb25zID0gW107XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25IZWFkZXJTZXJ2aWNlLnJlc2VydmF0aW9uTW9kZSA9ICF0aGlzLnRyYW5zYWN0aW9uSGVhZGVyU2VydmljZS5yZXNlcnZhdGlvbk1vZGU7XHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25IZWFkZXJTZXJ2aWNlLnJlc2VydmF0aW9uU3RhdGVDaGFuZ2UubmV4dCh0aGlzLnRyYW5zYWN0aW9uSGVhZGVyU2VydmljZS5yZXNlcnZhdGlvbk1vZGUpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdHJhbnNhY3Rpb25TZXQoKSB7XHJcbiAgICBzdXBlci50cmFuc2FjdGlvblNldCgpO1xyXG4gICAgdGhpcy5fY2hlY2tQdXJjaGFzZU9yZGVycygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9wZW5TZW5kRGlhbG9nKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93U2hpcHBpbmdNZXRob2REaWFsb2cgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY2hlY2tQdXJjaGFzZU9yZGVycygpOiB2b2lkIHtcclxuICAgIHRoaXMuY2FuR2VuZXJhdGUgPSB0aGlzLnRyYW5zYWN0aW9uTGluZXMgJiZcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkxpbmVzLmZpbHRlcihsID0+IGwuY29tbWlzc2lvbkNvZGUgPT09ICcwJyAmJiAobC5hcnRpY2xlTGluZVN0YXR1cyAmJiBsLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5T3JkZXJlZCAhPT0gbC5hbW91bnQpKS5sZW5ndGggPiAwO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldERlZmF1bHRFbWFpbEFkZHJlc3NMaXN0KCk6IFByb21pc2U8c3RyaW5nW10+IHtcclxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoW10pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldERlZmF1bHRTZW5kTWV0aG9kKCk6IFByb21pc2U8bnVtYmVyPiB7XHJcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKDEpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldEVtYWlsTGF5b3V0cygpOiBQcm9taXNlPFJlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsW10+IHtcclxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoW10pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldFByaW50TGF5b3V0cygpOiBQcm9taXNlPFJlcG9ydExheW91dFNlbGVjdGlvblByaW50W10+IHtcclxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoW10pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHBkZkRvY3VtZW50KHJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3QpIHtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBlbWFpbERvY3VtZW50KHJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3QpIHtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBhc3luYyBwcmludERvY3VtZW50KHJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QpIHtcclxuICAgIGNvbnN0IHByaW50UHVyY2hhc2VPcmRlckZvclNhbGVzT3JkZXJSZXF1ZXN0OiBQcmludFB1cmNoYXNlT3JkZXJGb3JTYWxlc09yZGVyUmVxdWVzdCA9XHJcbiAgICAgIE9iamVjdC5hc3NpZ24obmV3IFByaW50UHVyY2hhc2VPcmRlckZvclNhbGVzT3JkZXJSZXF1ZXN0KCksIHJlcXVlc3QpO1xyXG4gICAgY29uc29sZS5sb2cocHJpbnRQdXJjaGFzZU9yZGVyRm9yU2FsZXNPcmRlclJlcXVlc3QpO1xyXG4gICAgYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2VuZXJhdGVBbmRTZW5kUHVyY2hhc2VPcmRlcnNGb3JTYWxlc09yZGVyKHByaW50UHVyY2hhc2VPcmRlckZvclNhbGVzT3JkZXJSZXF1ZXN0LCB0aGlzLnRyYW5zYWN0aW9uSW5mby52ZXJzaW9uKTtcclxuICB9XHJcbn1cclxuIl19
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLW9yZGVyLXB1cmNoYXNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3Mtb3JkZXItcHVyY2hhc2UvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLW9yZGVyLXB1cmNoYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFM0YsT0FBTyxFQUFDLDZDQUE2QyxFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFDckgsT0FBTyxFQUFDLHdDQUF3QyxFQUFDLE1BQU0sOEVBQThFLENBQUM7QUFDdEksT0FBTyxFQUFDLHdDQUF3QyxFQUFDLE1BQU0sOEVBQThFLENBQUM7QUFDdEksT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sbUVBQW1FLENBQUM7QUFHbEgsT0FBTyxFQUFDLHNDQUFzQyxFQUFDLE1BQU0sbUZBQW1GLENBQUM7QUFDekksT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDbkYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDckUsT0FBTyxFQUFDLHFDQUFxQyxFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDaEgsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sNkRBQTZELENBQUM7QUFDckcsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDbkYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDckYsT0FBTyxFQUFDLGtDQUFrQyxFQUFDLE1BQU0sNkVBQTZFLENBQUM7QUFDL0gsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFxRDVGLE1BQU0sT0FBTyw0Q0FBNkMsU0FBUSw2Q0FBNkM7SUFpQjdHLFlBQ0UsYUFBdUMsRUFDdkMsd0JBQWtELEVBQ2xELHVCQUFnRCxFQUNoRCxnQkFBa0MsRUFDbEMsbUJBQTBELEVBQzFELFlBQXFDLEVBQ3JDLGlCQUFvQyxFQUNwQyxrQkFBc0MsRUFDdEMsY0FBaUMsRUFDakMsYUFBdUMsRUFDaEMsdUJBQTJEO1FBRWxFLEtBQUssQ0FBQyxhQUFhLEVBQUUsd0JBQXdCLEVBQUUsdUJBQXVCLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUY1TCw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQW9DO1FBckI3RCxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUM3Qiw2QkFBd0IsR0FBWSxLQUFLLENBQUM7UUFDMUMseUJBQW9CLEdBQTRCLEVBQUUsQ0FBQztRQUVuRCwrQkFBMEIsR0FBNkMsSUFBSSx3Q0FBd0MsRUFBRSxDQUFDO1FBQ3RILCtCQUEwQixHQUE2QyxJQUFJLHdDQUF3QyxFQUFFLENBQUM7UUFDdEgsNkJBQXdCLEdBQW9DLElBQUksK0JBQStCLEVBQUUsQ0FBQztRQUVqRyxVQUFLLEdBQW1CLEVBQUUsQ0FBQztJQWdCbkMsQ0FBQztJQTVCTSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBNEJELFFBQVE7UUFDTixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ2IsSUFBSSxDQUFDLHVCQUF1QixDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUNqRyxDQUFDO1FBQ0YsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQStDLENBQUM7UUFDdkUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDekMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxLQUFjO1FBQ3hDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxtQ0FBbUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVZLFVBQVUsQ0FBQyxNQUFjOztZQUNwQyxNQUFNLG9CQUFvQixHQUFZLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLDBDQUEwQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDeEksSUFBSSxvQkFBb0IsRUFBRTtnQkFDeEIsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQztnQkFDckMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsQ0FBQzthQUNyQztpQkFBTTtnQkFDTCxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLENBQUM7Z0JBQzFELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUNoQztRQUNILENBQUM7S0FBQTtJQUVZLHVCQUF1QixDQUFDLE1BQWM7O1lBQ2pELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7WUFDbEMsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1lBQzFELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqQyxDQUFDO0tBQUE7SUFFWSwyQkFBMkIsQ0FBQyxPQUF1Qzs7WUFDOUUsSUFBSSxDQUFDLHdCQUF3QixHQUFHLEtBQUssQ0FBQztZQUN0QyxJQUFJLENBQUMsMEJBQTBCLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUM7WUFDbEUsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1lBQzFELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNqRCxDQUFDO0tBQUE7SUFFWSwwQkFBMEI7OztZQUNyQyxJQUFJLE1BQUEsTUFBQSxJQUFJLENBQUMsV0FBVywwQ0FBRSxlQUFlLDBDQUFFLEVBQUUsRUFBRTtnQkFDekMsSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxlQUFlLEVBQUU7b0JBQ2xELE1BQU0sSUFBSSxDQUFDLHVCQUF1QixDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUM1RjtxQkFBTTtvQkFDTCxJQUFJLENBQUMsdUJBQXVCLENBQUMsb0JBQW9CLEdBQUcsRUFBRSxDQUFDO2lCQUN4RDtnQkFFRCxJQUFJLENBQUMsd0JBQXdCLENBQUMsZUFBZSxHQUFHLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGVBQWUsQ0FBQztnQkFDL0YsSUFBSSxDQUFDLHdCQUF3QixDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsZUFBZSxDQUFDLENBQUM7YUFDMUc7WUFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxDQUFDOztLQUNyQztJQUVNLGNBQWM7UUFDbkIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFTSxjQUFjO1FBQ25CLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUM7SUFDdkMsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxnQkFBZ0I7WUFDdEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixJQUFJLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUN4SixDQUFDO0lBRVMsMEJBQTBCO1FBQ2xDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRVMsb0JBQW9CO1FBQzVCLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRVMsZUFBZTtRQUN2QixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVTLGVBQWU7UUFDdkIsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFUyxXQUFXLENBQUMsT0FBd0M7SUFDOUQsQ0FBQztJQUVTLGFBQWEsQ0FBQyxPQUFpRDtJQUN6RSxDQUFDO0lBRWUsYUFBYSxDQUFDLE9BQWlEOzs7WUFDN0UsTUFBTSxzQ0FBc0MsR0FDMUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLHNDQUFzQyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDdkUsTUFBQSxzQ0FBc0MsQ0FBQywwQkFBMEIsb0NBQWpFLHNDQUFzQyxDQUFDLDBCQUEwQixHQUFLLElBQUksRUFBQztZQUMzRSxNQUFBLHNDQUFzQyxDQUFDLDhCQUE4QixvQ0FBckUsc0NBQXNDLENBQUMsOEJBQThCLEdBQUssSUFBSSxFQUFDO1lBQy9FLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLDBDQUEwQyxDQUFDLHNDQUFzQyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7O0tBQ2hKOzs7WUFwTEYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSw0Q0FBNEM7Z0JBQ3RELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0Q1Q7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQTFETyx3QkFBd0I7WUFNeEIsd0JBQXdCO1lBVHhCLHVCQUF1QjtZQUN2QixnQkFBZ0I7WUFDaEIscUNBQXFDO1lBRXJDLHVCQUF1QjtZQUN2QixpQkFBaUI7WUFDakIsa0JBQWtCO1lBZmxCLGlCQUFpQjtZQWdCakIsd0JBQXdCO1lBQ3hCLGtDQUFrQzs7O3dCQXdEdkMsV0FBVyxTQUFDLGtEQUFrRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uUXVpY2tBY2Nlc3NTZW5kTWV0aG9kQmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXNlbmQtbWV0aG9kLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHtSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtcHJpbnQtc2lnbi1kb2MtYmFzZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtZW1haWwtc2lnbi1kb2MtYmFzZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtcGRmLWJhc2UtcmVxdWVzdCc7XHJcbmltcG9ydCB7UmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWx9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLWVtYWlsLmJvJztcclxuaW1wb3J0IHtSZXBvcnRMYXlvdXRTZWxlY3Rpb25QcmludH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0LWxheW91dC1zZWxlY3Rpb24tcHJpbnQuYm8nO1xyXG5pbXBvcnQge1ByaW50UHVyY2hhc2VPcmRlckZvclNhbGVzT3JkZXJSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcHJpbnQtcHVyY2hhc2Utb3JkZXItZm9yLXNhbGVzLW9yZGVyLXJlcXVlc3QnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWV2ZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXNjcmVlbi1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VhcmNoU2VydmljZX0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24tc2VhcmNoL3NlcnZpY2UvdHJhbnNhY3Rpb24tc2VhcmNoLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSW1hZ2VTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWltYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRGlhbG9nU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1kaWFsb2cuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TYWxlc1Jlc2VydmF0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24tcmVzZXJ2YXRpb24vc2VydmljZS90cmFuc2FjdGlvbi1zYWxlcy1yZXNlcnZhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlclNlcnZpY2V9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS9zZXJ2aWNlL3RyYW5zYWN0aW9uLWhlYWRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlYXJjaFZpZXd9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1zZWFyY2gtdmlldy5ibyc7XHJcbmltcG9ydCB7QmF0Y2hUcmFuc2FjdGlvblNlbmRpbmdSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvYmF0Y2gtdHJhbnNhY3Rpb24tc2VuZGluZy1yZXF1ZXN0JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLW9yZGVyLXB1cmNoYXNlJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgICA8ZGl2IGNsYXNzPVwicXVpY2stYWNjZXNzLWNvbnRlbnQtd3JhcHBlclwiICpuZ0lmPVwiY2FuR2VuZXJhdGUgJiYgdHJhbnNhY3Rpb25JbmZvLnRyYW5zYWN0aW9uRGVmaW5pdGl2ZVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdC1hbGwtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgIDxjby1pbnB1dC1jaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidTRUxFQ1RfQUxMX0xJTkVTJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJoYW5kbGVTZWxlY3RBbGxMaW5lcygkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgPC9jby1pbnB1dC1jaGVja2JveD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGNvLXF1aWNrLXNlbmQtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgIFtkZWZhdWx0TWV0aG9kSWNvbl09XCJkZWZhdWx0U2VuZE1ldGhvZEljb25cIlxyXG4gICAgICAgICAgICAgICAgICBbc2hvd0xvYWRlcl09XCJzaG93TG9hZGVyXCJcclxuICAgICAgICAgICAgICAgICAgKHNlbmRJY29uQ2xpY2tlZCk9XCJoYW5kbGVTZW5kKGRlZmF1bHRTZW5kTWV0aG9kKVwiXHJcbiAgICAgICAgICAgICAgICAgIChvcGVuU2VuZE1ldGhvZERpYWxvZyk9XCJvcGVuU2VuZERpYWxvZygpXCI+XHJcbiAgICAgICAgICA8L2NvLXF1aWNrLXNlbmQtYnV0dG9uPlxyXG5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYnV0dG9uXCIgW2NsYXNzLnNlbGVjdGVkXT1cInRyYW5zYWN0aW9uSGVhZGVyU2VydmljZS5yZXNlcnZhdGlvbk1vZGVcIj5cclxuICAgICAgICAgICAgPGNvLWljb24gKGNsaWNrKT1cImhhbmRsZVJlc2VydmF0aW9uTW9kZUNsaWNrKClcIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlBhbGxldEJveGVzUm90YXRlKVwiPjwvY28taWNvbj5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGNvLXNlbmQtbWV0aG9kLWRpYWxvZ1xyXG4gICAgICAgICAgICAgICpuZ0lmPVwic2hvd1NlbmRNZXRob2REaWFsb2dcIlxyXG4gICAgICAgICAgICAgIFtwcmludGVyTGlzdF09XCJwcmludGVyTGlzdFwiXHJcbiAgICAgICAgICAgICAgW2hlYWRlclRpdGxlXT1cIidDUkVBVEVfUFVSQ0hBU0VfT1JERVInIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgIFtkZWZhdWx0U2VuZE1ldGhvZF09XCJkZWZhdWx0U2VuZE1ldGhvZFwiXHJcbiAgICAgICAgICAgICAgW3Zpc2libGVNZXRob2RzXT1cIltzZW5kTWV0aG9kVHlwZS5QcmludF1cIlxyXG4gICAgICAgICAgICAgIFtlbWFpbEFkZHJlc3Nlc109XCJlbWFpbEFkZHJlc3Nlc1wiXHJcbiAgICAgICAgICAgICAgW2VtYWlsTGF5b3V0c109XCJlbWFpbExheW91dHNcIlxyXG4gICAgICAgICAgICAgIFtpc1ByaW50ZXJMYXlvdXRzRW5hYmxlZF09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgW2lzRG9jU2lnbkVuYWJsZWRdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgIFsocmVwb3J0aW5nRG9jdW1lbnRFbWFpbFJlcXVlc3QpXT1cInJlcG9ydERvY3VtZW50RW1haWxSZXF1ZXN0XCJcclxuICAgICAgICAgICAgICBbKHJlcG9ydGluZ0RvY3VtZW50UHJpbnRSZXF1ZXN0KV09XCJyZXBvcnREb2N1bWVudFByaW50UmVxdWVzdFwiXHJcbiAgICAgICAgICAgICAgWyhyZXBvcnRpbmdEb2N1bWVudFBkZlJlcXVlc3QpXT1cInJlcG9ydERvY3VtZW50UGRmUmVxdWVzdFwiXHJcbiAgICAgICAgICAgICAgKGNsb3NlQ2xpY2spPVwic2hvd1NlbmRNZXRob2REaWFsb2cgPSBmYWxzZVwiXHJcbiAgICAgICAgICAgICAgKG9rQ2xpY2spPVwiaGFuZGxlU2VuZE1ldGhvZE9rQ2xpY2soJGV2ZW50KVwiPlxyXG4gICAgICA8L2NvLXNlbmQtbWV0aG9kLWRpYWxvZz5cclxuXHJcbiAgICAgIDxjby1zaGlwcGluZy1tZXRob2QtZGlhbG9nXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJzaG93U2hpcHBpbmdNZXRob2REaWFsb2dcIlxyXG4gICAgICAgICAgICAgIFtjYXRlZ29yeV09XCIncHVyY2hhc2UnXCJcclxuICAgICAgICAgICAgICBbc2VsZWN0ZWRUcmFuc2FjdGlvbnNdPVwic2VsZWN0ZWRUcmFuc2FjdGlvbnNcIlxyXG4gICAgICAgICAgICAgIChjYW5jZWxDbGlja2VkKT1cInNob3dTaGlwcGluZ01ldGhvZERpYWxvZyA9IGZhbHNlXCJcclxuICAgICAgICAgICAgICAoc2F2ZUNsaWNrZWQpPVwiaGFuZGxlU2hpcHBpbmdNZXRob2RPa0NsaWNrKCRldmVudClcIj5cclxuICAgICAgPC9jby1zaGlwcGluZy1tZXRob2QtZGlhbG9nPlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc09yZGVyUHVyY2hhc2VDb21wb25lbnQgZXh0ZW5kcyBUcmFuc2FjdGlvblF1aWNrQWNjZXNzU2VuZE1ldGhvZEJhc2VDb21wb25lbnQge1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLXRyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1vcmRlci1wdXJjaGFzZScpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNhbkdlbmVyYXRlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dTaGlwcGluZ01ldGhvZERpYWxvZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzZWxlY3RlZFRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25TZWFyY2hWaWV3W10gPSBbXTtcclxuXHJcbiAgcHVibGljIHJlcG9ydERvY3VtZW50RW1haWxSZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0ID0gbmV3IFJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3QoKTtcclxuICBwdWJsaWMgcmVwb3J0RG9jdW1lbnRQcmludFJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QgPSBuZXcgUmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdCgpO1xyXG4gIHB1YmxpYyByZXBvcnREb2N1bWVudFBkZlJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3QgPSBuZXcgUmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdCgpO1xyXG5cclxuICBwcml2YXRlIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHNlYXJjaFNlcnZpY2U6IFRyYW5zYWN0aW9uU2VhcmNoU2VydmljZSxcclxuICAgIHRyYW5zYWN0aW9uSGVhZGVyU2VydmljZTogVHJhbnNhY3Rpb25IZWFkZXJTZXJ2aWNlLFxyXG4gICAgdHJhbnNhY3Rpb25FdmVudFNlcnZpY2U6IFRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLFxyXG4gICAgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgIHNjcmVlbkNvbmZpZ1NlcnZpY2U6IFRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UsXHJcbiAgICBpbWFnZVNlcnZpY2U6IFRyYW5zYWN0aW9uSW1hZ2VTZXJ2aWNlLFxyXG4gICAgZGljdGlvbmFyeVNlcnZpY2U6IERpY3Rpb25hcnlTZXJ2aWNlLFxyXG4gICAgdHJhbnNhY3Rpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgICBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBkaWFsb2dTZXJ2aWNlOiBUcmFuc2FjdGlvbkRpYWxvZ1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgc2FsZXNSZXNlcnZhdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2FsZXNSZXNlcnZhdGlvblNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKHNlYXJjaFNlcnZpY2UsIHRyYW5zYWN0aW9uSGVhZGVyU2VydmljZSwgdHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsIGljb25DYWNoZVNlcnZpY2UsIHNjcmVlbkNvbmZpZ1NlcnZpY2UsIGltYWdlU2VydmljZSwgZGljdGlvbmFyeVNlcnZpY2UsIHRyYW5zYWN0aW9uU2VydmljZSwgY2hhbmdlRGV0ZWN0b3IsIGRpYWxvZ1NlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgdGhpcy5fc3Vicy5wdXNoKFxyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLnRyYW5zYWN0aW9uTGluZUNoYW5nZWQuc3Vic2NyaWJlKCgpID0+IHRoaXMuX2NoZWNrUHVyY2hhc2VPcmRlcnMoKSlcclxuICAgICk7XHJcbiAgICBjb25zdCB0cmFuc0l0ZW0gPSB0aGlzLnRyYW5zYWN0aW9uIGFzIHVua25vd24gYXMgVHJhbnNhY3Rpb25TZWFyY2hWaWV3O1xyXG4gICAgdGhpcy5zZWxlY3RlZFRyYW5zYWN0aW9ucy5wdXNoKHRyYW5zSXRlbSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N1YnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVNlbGVjdEFsbExpbmVzKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLnNlbGVjdEFsbFNhbGVzT3JkZXJMaW5lc0ZvclB1cmNoYXNlLm5leHQodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZVNlbmQobWV0aG9kOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnN0IGlzUHJpbnREZWZhdWx0TWV0aG9kOiBib29sZWFuID0gYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuaXNQcmludElzRGVmYXVsdFNlbmRNZXRob2RGb3JQdXJjaGFzZU9yZGVyKHRoaXMudHJhbnNhY3Rpb25JbmZvLmlkKTtcclxuICAgIGlmIChpc1ByaW50RGVmYXVsdE1ldGhvZCkge1xyXG4gICAgICB0aGlzLnNob3dTaGlwcGluZ01ldGhvZERpYWxvZyA9IHRydWU7XHJcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgYXdhaXQgdGhpcy5wcmludERvY3VtZW50KHRoaXMucmVwb3J0RG9jdW1lbnRQcmludFJlcXVlc3QpO1xyXG4gICAgICB0aGlzLl9zZXREZWZhdWx0TWV0aG9kKG1ldGhvZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlU2VuZE1ldGhvZE9rQ2xpY2sobWV0aG9kOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuc2hvd1NlbmRNZXRob2REaWFsb2cgPSBmYWxzZTtcclxuICAgIGF3YWl0IHRoaXMucHJpbnREb2N1bWVudCh0aGlzLnJlcG9ydERvY3VtZW50UHJpbnRSZXF1ZXN0KTtcclxuICAgIHRoaXMuX3NldERlZmF1bHRNZXRob2QobWV0aG9kKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVTaGlwcGluZ01ldGhvZE9rQ2xpY2socmVxdWVzdDogQmF0Y2hUcmFuc2FjdGlvblNlbmRpbmdSZXF1ZXN0KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLnNob3dTaGlwcGluZ01ldGhvZERpYWxvZyA9IGZhbHNlO1xyXG4gICAgdGhpcy5yZXBvcnREb2N1bWVudFByaW50UmVxdWVzdC5wcmludGVyTmFtZSA9IHJlcXVlc3QucHJpbnRlck5hbWU7XHJcbiAgICBhd2FpdCB0aGlzLnByaW50RG9jdW1lbnQodGhpcy5yZXBvcnREb2N1bWVudFByaW50UmVxdWVzdCk7XHJcbiAgICB0aGlzLl9zZXREZWZhdWx0TWV0aG9kKHRoaXMuZGVmYXVsdFNlbmRNZXRob2QpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZVJlc2VydmF0aW9uTW9kZUNsaWNrKCkge1xyXG4gICAgaWYgKHRoaXMudHJhbnNhY3Rpb24/LnRyYW5zYWN0aW9uSW5mbz8uaWQpIHtcclxuICAgICAgaWYgKCF0aGlzLnRyYW5zYWN0aW9uSGVhZGVyU2VydmljZS5yZXNlcnZhdGlvbk1vZGUpIHtcclxuICAgICAgICBhd2FpdCB0aGlzLnNhbGVzUmVzZXJ2YXRpb25TZXJ2aWNlLmdldFNhbGVzT3JkZXJMaW5lcyh0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5pZCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zYWxlc1Jlc2VydmF0aW9uU2VydmljZS5wdXJjaGFzZVJlc2VydmF0aW9ucyA9IFtdO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uSGVhZGVyU2VydmljZS5yZXNlcnZhdGlvbk1vZGUgPSAhdGhpcy50cmFuc2FjdGlvbkhlYWRlclNlcnZpY2UucmVzZXJ2YXRpb25Nb2RlO1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uSGVhZGVyU2VydmljZS5yZXNlcnZhdGlvblN0YXRlQ2hhbmdlLm5leHQodGhpcy50cmFuc2FjdGlvbkhlYWRlclNlcnZpY2UucmVzZXJ2YXRpb25Nb2RlKTtcclxuICAgIH1cclxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRyYW5zYWN0aW9uU2V0KCkge1xyXG4gICAgc3VwZXIudHJhbnNhY3Rpb25TZXQoKTtcclxuICAgIHRoaXMuX2NoZWNrUHVyY2hhc2VPcmRlcnMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvcGVuU2VuZERpYWxvZygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd1NoaXBwaW5nTWV0aG9kRGlhbG9nID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2NoZWNrUHVyY2hhc2VPcmRlcnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNhbkdlbmVyYXRlID0gdGhpcy50cmFuc2FjdGlvbkxpbmVzICYmXHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lcy5maWx0ZXIobCA9PiBsLmNvbW1pc3Npb25Db2RlID09PSAnMCcgJiYgKGwuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgbC5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eU9yZGVyZWQgIT09IGwuYW1vdW50KSkubGVuZ3RoID4gMDtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXREZWZhdWx0RW1haWxBZGRyZXNzTGlzdCgpOiBQcm9taXNlPHN0cmluZ1tdPiB7XHJcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFtdKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXREZWZhdWx0U2VuZE1ldGhvZCgpOiBQcm9taXNlPG51bWJlcj4ge1xyXG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgxKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXRFbWFpbExheW91dHMoKTogUHJvbWlzZTxSZXBvcnRMYXlvdXRTZWxlY3Rpb25FbWFpbFtdPiB7XHJcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFtdKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXRQcmludExheW91dHMoKTogUHJvbWlzZTxSZXBvcnRMYXlvdXRTZWxlY3Rpb25QcmludFtdPiB7XHJcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFtdKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBwZGZEb2N1bWVudChyZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0KSB7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZW1haWxEb2N1bWVudChyZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0KSB7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgYXN5bmMgcHJpbnREb2N1bWVudChyZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0KSB7XHJcbiAgICBjb25zdCBwcmludFB1cmNoYXNlT3JkZXJGb3JTYWxlc09yZGVyUmVxdWVzdDogUHJpbnRQdXJjaGFzZU9yZGVyRm9yU2FsZXNPcmRlclJlcXVlc3QgPVxyXG4gICAgICBPYmplY3QuYXNzaWduKG5ldyBQcmludFB1cmNoYXNlT3JkZXJGb3JTYWxlc09yZGVyUmVxdWVzdCgpLCByZXF1ZXN0KTtcclxuICAgIHByaW50UHVyY2hhc2VPcmRlckZvclNhbGVzT3JkZXJSZXF1ZXN0LnVzZVJlbGF0aW9uU3BlY2lmaWNSZXBvcnRzID8/PSB0cnVlO1xyXG4gICAgcHJpbnRQdXJjaGFzZU9yZGVyRm9yU2FsZXNPcmRlclJlcXVlc3QudXNlUmVsYXRpb25TcGVjaWZpY1NlbmRNZXRob2RzID8/PSB0cnVlO1xyXG4gICAgYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2VuZXJhdGVBbmRTZW5kUHVyY2hhc2VPcmRlcnNGb3JTYWxlc09yZGVyKHByaW50UHVyY2hhc2VPcmRlckZvclNhbGVzT3JkZXJSZXF1ZXN0LCB0aGlzLnRyYW5zYWN0aW9uSW5mby52ZXJzaW9uKTtcclxuICB9XHJcbn1cclxuIl19
@@ -30,6 +30,14 @@ export class TransactionQuickAccessOverviewComponent extends TransactionQuickAcc
30
30
  }
31
31
  this.showSendMethodDialog = true;
32
32
  }
33
+ loadDefaultPrinterName(reportId) {
34
+ this.transactionService.getDefaultPrinter(reportId, LayoutCode.OrderConfirmation).then((printerName) => {
35
+ if (printerName && this.printerList.find((printer) => printer.name === printerName)) {
36
+ this.defaultPrinterName = printerName;
37
+ this.changeDetector.detectChanges();
38
+ }
39
+ });
40
+ }
33
41
  emailDocument(request) {
34
42
  return __awaiter(this, void 0, void 0, function* () {
35
43
  if (this.sendDocumentsComponent.selected) {
@@ -140,7 +148,8 @@ TransactionQuickAccessOverviewComponent.decorators = [
140
148
  [(reportingDocumentPdfRequest)]="reportDocumentPdfRequest"
141
149
  [emailUnsignedPossible]="true"
142
150
  (additionalFileChangeEvent)="upsertDocument($event)"
143
- (showFilePreview)="onShowFilePreview(LayoutCode.OrderConfirmation)"
151
+ (showFilePreview)="onShowFilePreview()"
152
+ (loadDefaultPrinterName)="loadDefaultPrinterName($event)"
144
153
  (closeClick)="showSendMethodDialog = false"
145
154
  (okClick)="handleSendMethodOkClick($event)"
146
155
  ></co-send-method-dialog>
@@ -156,4 +165,4 @@ TransactionQuickAccessOverviewComponent.propDecorators = {
156
165
  sendDocumentsComponent: [{ type: ViewChild, args: [TransactionSendDocumentsComponent,] }],
157
166
  showClass: [{ type: HostBinding, args: ["class.co-transaction-quick-access-overview",] }]
158
167
  };
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLW92ZXJ2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3Mtb3ZlcnZpZXcvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLW92ZXJ2aWV3LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQVUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRzNGLE9BQU8sRUFBQyw2Q0FBNkMsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBQ3JILE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLHVFQUF1RSxDQUFDO0FBQ3hILE9BQU8sRUFBQywrQkFBK0IsRUFBQyxNQUFNLG1FQUFtRSxDQUFDO0FBQ2xILE9BQU8sRUFBQyxxQ0FBcUMsRUFBQyxNQUFNLGdGQUFnRixDQUFDO0FBQ3JJLE9BQU8sRUFBQyxxQ0FBcUMsRUFBQyxNQUFNLGdGQUFnRixDQUFDO0FBQ3JJLE9BQU8sRUFBQyxtQ0FBbUMsRUFBQyxNQUFNLDhFQUE4RSxDQUFDO0FBQ2pJLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLHVFQUF1RSxDQUFDO0FBQ3BILE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHFFQUFxRSxDQUFDO0FBQ2hILE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLHVFQUF1RSxDQUFDO0FBQ3BILE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsd0NBQXdDLEVBQUMsTUFBTSw4RUFBOEUsQ0FBQztBQUN0SSxPQUFPLEVBQUMsd0NBQXdDLEVBQUMsTUFBTSw4RUFBOEUsQ0FBQztB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R0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO3FCQUM5QztvQkFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixFQUFFLENBQUM7Z0JBQzFDLENBQUMsQ0FBQyxDQUFDO2FBQ0o7UUFDSCxDQUFDO0tBQUE7SUFFZSxvQkFBb0I7O1lBQ2xDLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLHFDQUFxQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pILENBQUM7S0FBQTtJQUVPLHVCQUF1QixDQUFDLE9BQTRIO1FBQzFKLE9BQU8sQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUM7SUFDM0UsQ0FBQzs7O1lBN0lGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsc0NBQXNDO2dCQUNoRCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0NUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7cUNBR0UsU0FBUyxTQUFDLGlDQUFpQzt3QkFHM0MsV0FBVyxTQUFDLDRDQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBIb3N0QmluZGluZywgT25Jbml0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtSZXBvcnRMYXlvdXRTZWxlY3Rpb25FbWFpbH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0LWxheW91dC1zZWxlY3Rpb24tZW1haWwuYm8nO1xyXG5pbXBvcnQge1JlcG9ydExheW91dFNlbGVjdGlvblByaW50fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnQtbGF5b3V0LXNlbGVjdGlvbi1wcmludC5ibyc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25RdWlja0FjY2Vzc1NlbmRNZXRob2RCYXNlQ29tcG9uZW50fSBmcm9tICcuLi90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3Mtc2VuZC1tZXRob2QtYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VuZERvY3VtZW50c0NvbXBvbmVudH0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24tc2VuZC1kb2N1bWVudHMvdHJhbnNhY3Rpb24tc2VuZC1kb2N1bWVudHMuY29tcG9uZW50JztcclxuaW1wb3J0IHtSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtcGRmLWJhc2UtcmVxdWVzdCc7XHJcbmltcG9ydCB7RW1haWxIaXN0b3JpY09yZGVyQ29uZmlybWF0aW9uUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2VtYWlsLWhpc3RvcmljLW9yZGVyLWNvbmZpcm1hdGlvbi1yZXF1ZXN0JztcclxuaW1wb3J0IHtQcmludEhpc3RvcmljT3JkZXJDb25maXJtYXRpb25SZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcHJpbnQtaGlzdG9yaWMtb3JkZXItY29uZmlybWF0aW9uLXJlcXVlc3QnO1xyXG5pbXBvcnQge1BkZkhpc3RvcmljT3JkZXJDb25maXJtYXRpb25SZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGRmLWhpc3RvcmljLW9yZGVyLWNvbmZpcm1hdGlvbi1yZXF1ZXN0JztcclxuaW1wb3J0IHtFbWFpbE9yZGVyQ29uZmlybWF0aW9uUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2VtYWlsLW9yZGVyLWNvbmZpcm1hdGlvbi1yZXF1ZXN0JztcclxuaW1wb3J0IHtQZGZPcmRlckNvbmZpcm1hdGlvblJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wZGYtb3JkZXItY29uZmlybWF0aW9uLXJlcXVlc3QnO1xyXG5pbXBvcnQge1ByaW50T3JkZXJDb25maXJtYXRpb25SZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcHJpbnQtb3JkZXItY29uZmlybWF0aW9uLXJlcXVlc3QnO1xyXG5pbXBvcnQge0NvRG9jdW1lbnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2NvLWRvY3VtZW50JztcclxuaW1wb3J0IHtSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtZW1haWwtc2lnbi1kb2MtYmFzZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtcHJpbnQtc2lnbi1kb2MtYmFzZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtMYXlvdXRDb2RlfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS9sYXlvdXQtY29kZS5lbnVtJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLXRyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1vdmVydmlld1wiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxjby1xdWljay1zZW5kLWJ1dHRvblxyXG4gICAgICAgICAgICAgIFtkZWZhdWx0TWV0aG9kSWNvbl09XCJkZWZhdWx0U2VuZE1ldGhvZEljb25cIlxyXG4gICAgICAgICAgICAgIFtzaG93TG9hZGVyXT1cInNob3dMb2FkZXJcIlxyXG4gICAgICAgICAgICAgIChzZW5kSWNvbkNsaWNrZWQpPVwiaGFuZGxlU2VuZChkZWZhdWx0U2VuZE1ldGhvZClcIlxyXG4gICAgICAgICAgICAgIChvcGVuU2VuZE1ldGhvZERpYWxvZyk9XCJvcGVuU2VuZERpYWxvZygpXCJcclxuICAgICAgPjwvY28tcXVpY2stc2VuZC1idXR0b24+XHJcbiAgICAgIDxjby10cmFuc2FjdGlvbi1zZW5kLWRvY3VtZW50c1xyXG4gICAgICAgICAgICAgIFtoaXN0b3JpY1JlcG9ydHNdPVwiaGlzdG9yaWNSZXBvcnRzXCJcclxuICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnldPVwidHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlck92ZXJ2aWV3XCJcclxuICAgICAgPjwvY28tdHJhbnNhY3Rpb24tc2VuZC1kb2N1bWVudHM+XHJcbiAgICAgIDxjby1zZW5kLW1ldGhvZC1kaWFsb2cgKm5nSWY9XCJzaG93U2VuZE1ldGhvZERpYWxvZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hlYWRlclRpdGxlXT1cIidWZXJ6ZW5kbWV0aG9kZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwcmludGVyTGlzdF09XCJwcmludGVyTGlzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRQcmludGVyTmFtZV09XCJkZWZhdWx0UHJpbnRlck5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0U2VuZE1ldGhvZF09XCJkZWZhdWx0U2VuZE1ldGhvZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Zpc2libGVNZXRob2RzXT1cIltzZW5kTWV0aG9kVHlwZS5QcmludCwgc2VuZE1ldGhvZFR5cGUuRW1haWwsIHNlbmRNZXRob2RUeXBlLlBkZl1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbWFpbEFkZHJlc3Nlc109XCJlbWFpbEFkZHJlc3Nlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VtYWlsTGF5b3V0c109XCJlbWFpbExheW91dHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwcmludExheW91dHNdPVwicHJpbnRMYXlvdXRzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXNEb2NTaWduRW5hYmxlZF09XCJpc0RvY1NpZ25FbmFibGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXNBZGRpdGlvbmFsRG9jRW5hYmxlZF09XCJpc0FkZGl0aW9uYWxEb2NFbmFibGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWRkaXRpb25hbEZpbGVDb250ZW50c109XCJhZGRpdGlvbmFsRmlsZUNvbnRlbnRzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWRkaXRpb25hbEZpbGVOYW1lXT1cImFkZGl0aW9uYWxGaWxlTmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BkZkRvY109XCJwZGZEb2NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsocmVwb3J0aW5nRG9jdW1lbnRFbWFpbFJlcXVlc3QpXT1cInJlcG9ydERvY3VtZW50RW1haWxSZXF1ZXN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKHJlcG9ydGluZ0RvY3VtZW50UHJpbnRSZXF1ZXN0KV09XCJyZXBvcnREb2N1bWVudFByaW50UmVxdWVzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhyZXBvcnRpbmdEb2N1bWVudFBkZlJlcXVlc3QpXT1cInJlcG9ydERvY3VtZW50UGRmUmVxdWVzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VtYWlsVW5zaWduZWRQb3NzaWJsZV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYWRkaXRpb25hbEZpbGVDaGFuZ2VFdmVudCk9XCJ1cHNlcnREb2N1bWVudCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2hvd0ZpbGVQcmV2aWV3KT1cIm9uU2hvd0ZpbGVQcmV2aWV3KExheW91dENvZGUuT3JkZXJDb25maXJtYXRpb24pXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xvc2VDbGljayk9XCJzaG93U2VuZE1ldGhvZERpYWxvZyA9IGZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob2tDbGljayk9XCJoYW5kbGVTZW5kTWV0aG9kT2tDbGljaygkZXZlbnQpXCJcclxuICAgICAgPjwvY28tc2VuZC1tZXRob2QtZGlhbG9nPlxyXG4gICAgICA8Y28tZGlnaXRhbC1zaWduYXR1cmVcclxuICAgICAgICAgICAgICBbZG9jdW1lbnRJZF09XCJzaWduYXR1cmVEb2N1bWVudElkXCJcclxuICAgICAgICAgICAgICAoZG9jdW1lbnRTdG9yZWQpPVwiY29tbWl0QW5kUmVmcmVzaFRyYW5zYWN0aW9uKClcIlxyXG4gICAgICA+PC9jby1kaWdpdGFsLXNpZ25hdHVyZT5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uUXVpY2tBY2Nlc3NPdmVydmlld0NvbXBvbmVudCBleHRlbmRzIFRyYW5zYWN0aW9uUXVpY2tBY2Nlc3NTZW5kTWV0aG9kQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBWaWV3Q2hpbGQoVHJhbnNhY3Rpb25TZW5kRG9jdW1lbnRzQ29tcG9uZW50KVxyXG4gIHB1YmxpYyBzZW5kRG9jdW1lbnRzQ29tcG9uZW50OiBUcmFuc2FjdGlvblNlbmREb2N1bWVudHNDb21wb25lbnQ7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXRyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1vdmVydmlld1wiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZXBvcnREb2N1bWVudEVtYWlsUmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdCA9IG5ldyBSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0KCk7XHJcbiAgcHVibGljIHJlcG9ydERvY3VtZW50UHJpbnRSZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0ID0gbmV3IFJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QoKTtcclxuICBwdWJsaWMgcmVwb3J0RG9jdW1lbnRQZGZSZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0ID0gbmV3IFJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3QoKTtcclxuXHJcbiAgcHVibGljIG9wZW5TZW5kRGlhbG9nKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaXNBZGRpdGlvbmFsRG9jRW5hYmxlZCkge1xyXG4gICAgICB0aGlzLmdldFRlcm1zQW5kQ29uZGl0aW9uc0Zvcm0oKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2hvd1NlbmRNZXRob2REaWFsb2cgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGFzeW5jIGVtYWlsRG9jdW1lbnQocmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdCkge1xyXG4gICAgaWYgKHRoaXMuc2VuZERvY3VtZW50c0NvbXBvbmVudC5zZWxlY3RlZCkge1xyXG4gICAgICBjb25zdCBlbWFpbEhpc3RvcmljT3JkZXJDb25maXJtYXRpb25SZXF1ZXN0OiBFbWFpbEhpc3RvcmljT3JkZXJDb25maXJtYXRpb25SZXF1ZXN0ID1cclxuICAgICAgICBPYmplY3QuYXNzaWduKG5ldyBFbWFpbEhpc3RvcmljT3JkZXJDb25maXJtYXRpb25SZXF1ZXN0KCksIHJlcXVlc3QpO1xyXG4gICAgICB0aGlzLl9wcmVwYXJlSGlzdG9yaWNSZXF1ZXN0KGVtYWlsSGlzdG9yaWNPcmRlckNvbmZpcm1hdGlvblJlcXVlc3QpO1xyXG4gICAgICBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5lbWFpbEhpc3RvcmljT3JkZXJDb25maXJtYXRpb24oZW1haWxIaXN0b3JpY09yZGVyQ29uZmlybWF0aW9uUmVxdWVzdCkudGhlbigoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZWFyY2hTZXJ2aWNlLnNlYXJjaFRyYW5zYWN0aW9ucygpO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGVtYWlsT3JkZXJDb25maXJtYXRpb25SZXF1ZXN0OiBFbWFpbE9yZGVyQ29uZmlybWF0aW9uUmVxdWVzdCA9XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbihuZXcgRW1haWxPcmRlckNvbmZpcm1hdGlvblJlcXVlc3QoKSwgcmVxdWVzdCk7XHJcbiAgICAgIGNvbnN0IHJlc3VsdDogQ29Eb2N1bWVudCB8IGJvb2xlYW4gPSBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5lbWFpbE9yZGVyQ29uZmlybWF0aW9uKGVtYWlsT3JkZXJDb25maXJtYXRpb25SZXF1ZXN0KTtcclxuICAgICAgaWYgKHJlc3VsdCBpbnN0YW5jZW9mIENvRG9jdW1lbnQgJiYgIXJlcXVlc3QuZW1haWxVbnNpZ25lZERvY3VtZW50KSB7XHJcbiAgICAgICAgdGhpcy5zaWduYXR1cmVEb2N1bWVudElkID0gcmVzdWx0LmRvY3VtZW50SWQ7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zZWFyY2hTZXJ2aWNlLnNlYXJjaFRyYW5zYWN0aW9ucygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldERlZmF1bHRFbWFpbEFkZHJlc3NMaXN0KCk6IFByb21pc2U8c3RyaW5nW10+IHtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXREZWZhdWx0RW1haWxBZGRyZXNzTGlzdEZvck9yZGVyQ29uZmlybWF0aW9uKHRoaXMudHJhbnNhY3Rpb25JbmZvLnV1aWQpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldEVtYWlsTGF5b3V0cygpOiBQcm9taXNlPFJlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsW10+IHtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRPcmRlckNvbmZpcm1hdGlvbkVtYWlsTGF5b3V0cyh0aGlzLnRyYW5zYWN0aW9uSW5mby51dWlkKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXRQcmludExheW91dHMoKTogUHJvbWlzZTxSZXBvcnRMYXlvdXRTZWxlY3Rpb25QcmludFtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0T3JkZXJDb25maXJtYXRpb25QcmludExheW91dHModGhpcy50cmFuc2FjdGlvbkluZm8udXVpZCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgYXN5bmMgcGRmRG9jdW1lbnQocmVxdWVzdDogUGRmT3JkZXJDb25maXJtYXRpb25SZXF1ZXN0KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAodGhpcy5zZW5kRG9jdW1lbnRzQ29tcG9uZW50LnNlbGVjdGVkKSB7XHJcbiAgICAgIGNvbnN0IHBkZkhpc3RvcmljT3JkZXJDb25maXJtYXRpb25SZXF1ZXN0OiBQZGZIaXN0b3JpY09yZGVyQ29uZmlybWF0aW9uUmVxdWVzdCA9XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbihuZXcgUGRmSGlzdG9yaWNPcmRlckNvbmZpcm1hdGlvblJlcXVlc3QoKSwgcmVxdWVzdCk7XHJcbiAgICAgIHRoaXMuX3ByZXBhcmVIaXN0b3JpY1JlcXVlc3QocGRmSGlzdG9yaWNPcmRlckNvbmZpcm1hdGlvblJlcXVlc3QpO1xyXG4gICAgICBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5wZGZIaXN0b3JpY09yZGVyQ29uZmlybWF0aW9uKHBkZkhpc3RvcmljT3JkZXJDb25maXJtYXRpb25SZXF1ZXN0KS50aGVuKCgpID0+IHtcclxuICAgICAgICB0aGlzLnNlYXJjaFNlcnZpY2Uuc2VhcmNoVHJhbnNhY3Rpb25zKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgcGRmT3JkZXJDb25maXJtYXRpb25SZXF1ZXN0OiBQZGZPcmRlckNvbmZpcm1hdGlvblJlcXVlc3QgPVxyXG4gICAgICAgIE9iamVjdC5hc3NpZ24obmV3IFBkZk9yZGVyQ29uZmlybWF0aW9uUmVxdWVzdCgpLCByZXF1ZXN0KTtcclxuICAgICAgYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UucGRmT3JkZXJDb25maXJtYXRpb24ocGRmT3JkZXJDb25maXJtYXRpb25SZXF1ZXN0KS50aGVuKChyZXN1bHQ6IENvRG9jdW1lbnQgfCBib29sZWFuKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdCBpbnN0YW5jZW9mIENvRG9jdW1lbnQpIHtcclxuICAgICAgICAgIHRoaXMuc2lnbmF0dXJlRG9jdW1lbnRJZCA9IHJlc3VsdC5kb2N1bWVudElkO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNlYXJjaFNlcnZpY2Uuc2VhcmNoVHJhbnNhY3Rpb25zKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGFzeW5jIHByaW50RG9jdW1lbnQocmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHRoaXMuc2VuZERvY3VtZW50c0NvbXBvbmVudC5zZWxlY3RlZCkge1xyXG4gICAgICBjb25zdCBwcmludEhpc3RvcmljT3JkZXJDb25maXJtYXRpb25SZXF1ZXN0OiBQcmludEhpc3RvcmljT3JkZXJDb25maXJtYXRpb25SZXF1ZXN0ID1cclxuICAgICAgICBPYmplY3QuYXNzaWduKG5ldyBQcmludEhpc3RvcmljT3JkZXJDb25maXJtYXRpb25SZXF1ZXN0KCksIHJlcXVlc3QpO1xyXG4gICAgICB0aGlzLl9wcmVwYXJlSGlzdG9yaWNSZXF1ZXN0KHByaW50SGlzdG9yaWNPcmRlckNvbmZpcm1hdGlvblJlcXVlc3QpO1xyXG4gICAgICBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5wcmludEhpc3RvcmljT3JkZXJDb25maXJtYXRpb24ocHJpbnRIaXN0b3JpY09yZGVyQ29uZmlybWF0aW9uUmVxdWVzdCkudGhlbigoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZWFyY2hTZXJ2aWNlLnNlYXJjaFRyYW5zYWN0aW9ucygpO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IHByaW50T3JkZXJDb25maXJtYXRpb25SZXF1ZXN0OiBQcmludE9yZGVyQ29uZmlybWF0aW9uUmVxdWVzdCA9XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbihuZXcgUHJpbnRPcmRlckNvbmZpcm1hdGlvblJlcXVlc3QoKSwgcmVxdWVzdCk7XHJcbiAgICAgIGF3YWl0IHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLnByaW50T3JkZXJDb25maXJtYXRpb24ocHJpbnRPcmRlckNvbmZpcm1hdGlvblJlcXVlc3QpLnRoZW4oKHJlc3VsdDogQ29Eb2N1bWVudCB8IGJvb2xlYW4pID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0IGluc3RhbmNlb2YgQ29Eb2N1bWVudCkge1xyXG4gICAgICAgICAgdGhpcy5zaWduYXR1cmVEb2N1bWVudElkID0gcmVzdWx0LmRvY3VtZW50SWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2VhcmNoU2VydmljZS5zZWFyY2hUcmFuc2FjdGlvbnMoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgYXN5bmMgZ2V0RGVmYXVsdFNlbmRNZXRob2QoKTogUHJvbWlzZTxudW1iZXI+IHtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRPcmRlckNvbmZpcm1hdGlvbkRlZmF1bHRTZW5kTWV0aG9kKHRoaXMudHJhbnNhY3Rpb25JbmZvLnJlbGF0aW9uLnJlbGF0aW9uSWQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcHJlcGFyZUhpc3RvcmljUmVxdWVzdChyZXF1ZXN0OiBFbWFpbEhpc3RvcmljT3JkZXJDb25maXJtYXRpb25SZXF1ZXN0IHwgUHJpbnRIaXN0b3JpY09yZGVyQ29uZmlybWF0aW9uUmVxdWVzdCB8IFBkZkhpc3RvcmljT3JkZXJDb25maXJtYXRpb25SZXF1ZXN0KTogdm9pZCB7XHJcbiAgICByZXF1ZXN0LnJlcG9ydERhdGFJZCA9IHRoaXMuc2VuZERvY3VtZW50c0NvbXBvbmVudC5hY3RpdmVSZXBvcnQucmVwb3J0SWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVhZG9ubHkgTGF5b3V0Q29kZSA9IExheW91dENvZGU7XHJcbn1cclxuIl19
168
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLW92ZXJ2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3Mtb3ZlcnZpZXcvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLW92ZXJ2aWV3LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQVUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRzNGLE9BQU8sRUFBQyw2Q0FBNkMsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBQ3JILE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLHVFQUF1RSxDQUFDO0FBQ3hILE9BQU8sRUFBQywrQkFBK0IsRUFBQyxNQUFNLG1FQUFtRSxDQUFDO0FBQ2xILE9BQU8sRUFBQyxxQ0FBcUMsRUFBQyxNQUFNLGdGQUFnRixDQUFDO0FBQ3JJLE9BQU8sRUFBQyxxQ0FBcUMsRUFBQyxNQUFNLGdGQUFnRixDQUFDO0FBQ3JJLE9BQU8sRUFBQyxtQ0FBbUMsRUFBQyxNQUFNLDhFQUE4RSxDQUFDO0FBQ2pJLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLHVFQUF1RSxDQUFDO0FBQ3BILE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHFFQUFxRSxDQUFDO0FBQ2hILE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLHVFQUF1RSxDQUFDO0FBQ3BILE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsd0NBQXdDLEVBQUMsTUFBTSw4RUFBOEUsQ0FBQztBQUN0SSxPQUFPLEVBQUMsd0NBQXdDLEVBQUMsTUFBTSw4RUFBOEUsQ0FBQztB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dGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSG9zdEJpbmRpbmcsIE9uSW5pdCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7UmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWx9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLWVtYWlsLmJvJztcclxuaW1wb3J0IHtSZXBvcnRMYXlvdXRTZWxlY3Rpb25QcmludH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0LWxheW91dC1zZWxlY3Rpb24tcHJpbnQuYm8nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uUXVpY2tBY2Nlc3NTZW5kTWV0aG9kQmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXNlbmQtbWV0aG9kLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlbmREb2N1bWVudHNDb21wb25lbnR9IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uLXNlbmQtZG9jdW1lbnRzL3RyYW5zYWN0aW9uLXNlbmQtZG9jdW1lbnRzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7UmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0aW5nLWRvY3VtZW50LXBkZi1iYXNlLXJlcXVlc3QnO1xyXG5pbXBvcnQge0VtYWlsSGlzdG9yaWNPcmRlckNvbmZpcm1hdGlvblJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9lbWFpbC1oaXN0b3JpYy1vcmRlci1jb25maXJtYXRpb24tcmVxdWVzdCc7XHJcbmltcG9ydCB7UHJpbnRIaXN0b3JpY09yZGVyQ29uZmlybWF0aW9uUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3ByaW50LWhpc3RvcmljLW9yZGVyLWNvbmZpcm1hdGlvbi1yZXF1ZXN0JztcclxuaW1wb3J0IHtQZGZIaXN0b3JpY09yZGVyQ29uZmlybWF0aW9uUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BkZi1oaXN0b3JpYy1vcmRlci1jb25maXJtYXRpb24tcmVxdWVzdCc7XHJcbmltcG9ydCB7RW1haWxPcmRlckNvbmZpcm1hdGlvblJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9lbWFpbC1vcmRlci1jb25maXJtYXRpb24tcmVxdWVzdCc7XHJcbmltcG9ydCB7UGRmT3JkZXJDb25maXJtYXRpb25SZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGRmLW9yZGVyLWNvbmZpcm1hdGlvbi1yZXF1ZXN0JztcclxuaW1wb3J0IHtQcmludE9yZGVyQ29uZmlybWF0aW9uUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3ByaW50LW9yZGVyLWNvbmZpcm1hdGlvbi1yZXF1ZXN0JztcclxuaW1wb3J0IHtDb0RvY3VtZW50fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1kb2N1bWVudCc7XHJcbmltcG9ydCB7UmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0aW5nLWRvY3VtZW50LWVtYWlsLXNpZ24tZG9jLWJhc2UtcmVxdWVzdCc7XHJcbmltcG9ydCB7UmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0aW5nLWRvY3VtZW50LXByaW50LXNpZ24tZG9jLWJhc2UtcmVxdWVzdCc7XHJcbmltcG9ydCB7TGF5b3V0Q29kZX0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL2VudW0vbGF5b3V0LWNvZGUuZW51bSc7XHJcbmltcG9ydCB7UHJpbnRlcn0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcHJpbnRlci5ibyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby10cmFuc2FjdGlvbi1xdWljay1hY2Nlc3Mtb3ZlcnZpZXdcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgICA8Y28tcXVpY2stc2VuZC1idXR0b25cclxuICAgICAgICAgICAgICBbZGVmYXVsdE1ldGhvZEljb25dPVwiZGVmYXVsdFNlbmRNZXRob2RJY29uXCJcclxuICAgICAgICAgICAgICBbc2hvd0xvYWRlcl09XCJzaG93TG9hZGVyXCJcclxuICAgICAgICAgICAgICAoc2VuZEljb25DbGlja2VkKT1cImhhbmRsZVNlbmQoZGVmYXVsdFNlbmRNZXRob2QpXCJcclxuICAgICAgICAgICAgICAob3BlblNlbmRNZXRob2REaWFsb2cpPVwib3BlblNlbmREaWFsb2coKVwiXHJcbiAgICAgID48L2NvLXF1aWNrLXNlbmQtYnV0dG9uPlxyXG4gICAgICA8Y28tdHJhbnNhY3Rpb24tc2VuZC1kb2N1bWVudHNcclxuICAgICAgICAgICAgICBbaGlzdG9yaWNSZXBvcnRzXT1cImhpc3RvcmljUmVwb3J0c1wiXHJcbiAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uVHlwZUNhdGVnb3J5XT1cInRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlNhbGVzT3JkZXJPdmVydmlld1wiXHJcbiAgICAgID48L2NvLXRyYW5zYWN0aW9uLXNlbmQtZG9jdW1lbnRzPlxyXG4gICAgICA8Y28tc2VuZC1tZXRob2QtZGlhbG9nICpuZ0lmPVwic2hvd1NlbmRNZXRob2REaWFsb2dcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoZWFkZXJUaXRsZV09XCInVmVyemVuZG1ldGhvZGUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcHJpbnRlckxpc3RdPVwicHJpbnRlckxpc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0UHJpbnRlck5hbWVdPVwiZGVmYXVsdFByaW50ZXJOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdFNlbmRNZXRob2RdPVwiZGVmYXVsdFNlbmRNZXRob2RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2aXNpYmxlTWV0aG9kc109XCJbc2VuZE1ldGhvZFR5cGUuUHJpbnQsIHNlbmRNZXRob2RUeXBlLkVtYWlsLCBzZW5kTWV0aG9kVHlwZS5QZGZdXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZW1haWxBZGRyZXNzZXNdPVwiZW1haWxBZGRyZXNzZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbWFpbExheW91dHNdPVwiZW1haWxMYXlvdXRzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcHJpbnRMYXlvdXRzXT1cInByaW50TGF5b3V0c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lzRG9jU2lnbkVuYWJsZWRdPVwiaXNEb2NTaWduRW5hYmxlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lzQWRkaXRpb25hbERvY0VuYWJsZWRdPVwiaXNBZGRpdGlvbmFsRG9jRW5hYmxlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FkZGl0aW9uYWxGaWxlQ29udGVudHNdPVwiYWRkaXRpb25hbEZpbGVDb250ZW50c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FkZGl0aW9uYWxGaWxlTmFtZV09XCJhZGRpdGlvbmFsRmlsZU5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwZGZEb2NdPVwicGRmRG9jXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKHJlcG9ydGluZ0RvY3VtZW50RW1haWxSZXF1ZXN0KV09XCJyZXBvcnREb2N1bWVudEVtYWlsUmVxdWVzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhyZXBvcnRpbmdEb2N1bWVudFByaW50UmVxdWVzdCldPVwicmVwb3J0RG9jdW1lbnRQcmludFJlcXVlc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsocmVwb3J0aW5nRG9jdW1lbnRQZGZSZXF1ZXN0KV09XCJyZXBvcnREb2N1bWVudFBkZlJlcXVlc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbWFpbFVuc2lnbmVkUG9zc2libGVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFkZGl0aW9uYWxGaWxlQ2hhbmdlRXZlbnQpPVwidXBzZXJ0RG9jdW1lbnQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNob3dGaWxlUHJldmlldyk9XCJvblNob3dGaWxlUHJldmlldygpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobG9hZERlZmF1bHRQcmludGVyTmFtZSk9XCJsb2FkRGVmYXVsdFByaW50ZXJOYW1lKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbG9zZUNsaWNrKT1cInNob3dTZW5kTWV0aG9kRGlhbG9nID0gZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChva0NsaWNrKT1cImhhbmRsZVNlbmRNZXRob2RPa0NsaWNrKCRldmVudClcIlxyXG4gICAgICA+PC9jby1zZW5kLW1ldGhvZC1kaWFsb2c+XHJcbiAgICAgIDxjby1kaWdpdGFsLXNpZ25hdHVyZVxyXG4gICAgICAgICAgICAgIFtkb2N1bWVudElkXT1cInNpZ25hdHVyZURvY3VtZW50SWRcIlxyXG4gICAgICAgICAgICAgIChkb2N1bWVudFN0b3JlZCk9XCJjb21taXRBbmRSZWZyZXNoVHJhbnNhY3Rpb24oKVwiXHJcbiAgICAgID48L2NvLWRpZ2l0YWwtc2lnbmF0dXJlPlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc092ZXJ2aWV3Q29tcG9uZW50IGV4dGVuZHMgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc1NlbmRNZXRob2RCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQFZpZXdDaGlsZChUcmFuc2FjdGlvblNlbmREb2N1bWVudHNDb21wb25lbnQpXHJcbiAgcHVibGljIHNlbmREb2N1bWVudHNDb21wb25lbnQ6IFRyYW5zYWN0aW9uU2VuZERvY3VtZW50c0NvbXBvbmVudDtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLW92ZXJ2aWV3XCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlcG9ydERvY3VtZW50RW1haWxSZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0ID0gbmV3IFJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3QoKTtcclxuICBwdWJsaWMgcmVwb3J0RG9jdW1lbnRQcmludFJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QgPSBuZXcgUmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdCgpO1xyXG4gIHB1YmxpYyByZXBvcnREb2N1bWVudFBkZlJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3QgPSBuZXcgUmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdCgpO1xyXG5cclxuICBwdWJsaWMgb3BlblNlbmREaWFsb2coKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5pc0FkZGl0aW9uYWxEb2NFbmFibGVkKSB7XHJcbiAgICAgIHRoaXMuZ2V0VGVybXNBbmRDb25kaXRpb25zRm9ybSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zaG93U2VuZE1ldGhvZERpYWxvZyA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbG9hZERlZmF1bHRQcmludGVyTmFtZShyZXBvcnRJZDogbnVtYmVyKSB7XHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldERlZmF1bHRQcmludGVyKHJlcG9ydElkLCBMYXlvdXRDb2RlLk9yZGVyQ29uZmlybWF0aW9uKS50aGVuKChwcmludGVyTmFtZTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgaWYgKHByaW50ZXJOYW1lICYmIHRoaXMucHJpbnRlckxpc3QuZmluZCggKHByaW50ZXI6IFByaW50ZXIpID0+IHByaW50ZXIubmFtZSA9PT0gcHJpbnRlck5hbWUpKSB7XHJcbiAgICAgICAgICB0aGlzLmRlZmF1bHRQcmludGVyTmFtZSA9IHByaW50ZXJOYW1lO1xyXG4gICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBhc3luYyBlbWFpbERvY3VtZW50KHJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3QpIHtcclxuICAgIGlmICh0aGlzLnNlbmREb2N1bWVudHNDb21wb25lbnQuc2VsZWN0ZWQpIHtcclxuICAgICAgY29uc3QgZW1haWxIaXN0b3JpY09yZGVyQ29uZmlybWF0aW9uUmVxdWVzdDogRW1haWxIaXN0b3JpY09yZGVyQ29uZmlybWF0aW9uUmVxdWVzdCA9XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbihuZXcgRW1haWxIaXN0b3JpY09yZGVyQ29uZmlybWF0aW9uUmVxdWVzdCgpLCByZXF1ZXN0KTtcclxuICAgICAgdGhpcy5fcHJlcGFyZUhpc3RvcmljUmVxdWVzdChlbWFpbEhpc3RvcmljT3JkZXJDb25maXJtYXRpb25SZXF1ZXN0KTtcclxuICAgICAgYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZW1haWxIaXN0b3JpY09yZGVyQ29uZmlybWF0aW9uKGVtYWlsSGlzdG9yaWNPcmRlckNvbmZpcm1hdGlvblJlcXVlc3QpLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2VhcmNoU2VydmljZS5zZWFyY2hUcmFuc2FjdGlvbnMoKTtcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBlbWFpbE9yZGVyQ29uZmlybWF0aW9uUmVxdWVzdDogRW1haWxPcmRlckNvbmZpcm1hdGlvblJlcXVlc3QgPVxyXG4gICAgICAgIE9iamVjdC5hc3NpZ24obmV3IEVtYWlsT3JkZXJDb25maXJtYXRpb25SZXF1ZXN0KCksIHJlcXVlc3QpO1xyXG4gICAgICBjb25zdCByZXN1bHQ6IENvRG9jdW1lbnQgfCBib29sZWFuID0gYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZW1haWxPcmRlckNvbmZpcm1hdGlvbihlbWFpbE9yZGVyQ29uZmlybWF0aW9uUmVxdWVzdCk7XHJcbiAgICAgIGlmIChyZXN1bHQgaW5zdGFuY2VvZiBDb0RvY3VtZW50ICYmICFyZXF1ZXN0LmVtYWlsVW5zaWduZWREb2N1bWVudCkge1xyXG4gICAgICAgIHRoaXMuc2lnbmF0dXJlRG9jdW1lbnRJZCA9IHJlc3VsdC5kb2N1bWVudElkO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc2VhcmNoU2VydmljZS5zZWFyY2hUcmFuc2FjdGlvbnMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXREZWZhdWx0RW1haWxBZGRyZXNzTGlzdCgpOiBQcm9taXNlPHN0cmluZ1tdPiB7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0RGVmYXVsdEVtYWlsQWRkcmVzc0xpc3RGb3JPcmRlckNvbmZpcm1hdGlvbih0aGlzLnRyYW5zYWN0aW9uSW5mby51dWlkKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXRFbWFpbExheW91dHMoKTogUHJvbWlzZTxSZXBvcnRMYXlvdXRTZWxlY3Rpb25FbWFpbFtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0T3JkZXJDb25maXJtYXRpb25FbWFpbExheW91dHModGhpcy50cmFuc2FjdGlvbkluZm8udXVpZCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0UHJpbnRMYXlvdXRzKCk6IFByb21pc2U8UmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnRbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldE9yZGVyQ29uZmlybWF0aW9uUHJpbnRMYXlvdXRzKHRoaXMudHJhbnNhY3Rpb25JbmZvLnV1aWQpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGFzeW5jIHBkZkRvY3VtZW50KHJlcXVlc3Q6IFBkZk9yZGVyQ29uZmlybWF0aW9uUmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHRoaXMuc2VuZERvY3VtZW50c0NvbXBvbmVudC5zZWxlY3RlZCkge1xyXG4gICAgICBjb25zdCBwZGZIaXN0b3JpY09yZGVyQ29uZmlybWF0aW9uUmVxdWVzdDogUGRmSGlzdG9yaWNPcmRlckNvbmZpcm1hdGlvblJlcXVlc3QgPVxyXG4gICAgICAgIE9iamVjdC5hc3NpZ24obmV3IFBkZkhpc3RvcmljT3JkZXJDb25maXJtYXRpb25SZXF1ZXN0KCksIHJlcXVlc3QpO1xyXG4gICAgICB0aGlzLl9wcmVwYXJlSGlzdG9yaWNSZXF1ZXN0KHBkZkhpc3RvcmljT3JkZXJDb25maXJtYXRpb25SZXF1ZXN0KTtcclxuICAgICAgYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UucGRmSGlzdG9yaWNPcmRlckNvbmZpcm1hdGlvbihwZGZIaXN0b3JpY09yZGVyQ29uZmlybWF0aW9uUmVxdWVzdCkudGhlbigoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZWFyY2hTZXJ2aWNlLnNlYXJjaFRyYW5zYWN0aW9ucygpO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IHBkZk9yZGVyQ29uZmlybWF0aW9uUmVxdWVzdDogUGRmT3JkZXJDb25maXJtYXRpb25SZXF1ZXN0ID1cclxuICAgICAgICBPYmplY3QuYXNzaWduKG5ldyBQZGZPcmRlckNvbmZpcm1hdGlvblJlcXVlc3QoKSwgcmVxdWVzdCk7XHJcbiAgICAgIGF3YWl0IHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLnBkZk9yZGVyQ29uZmlybWF0aW9uKHBkZk9yZGVyQ29uZmlybWF0aW9uUmVxdWVzdCkudGhlbigocmVzdWx0OiBDb0RvY3VtZW50IHwgYm9vbGVhbikgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQgaW5zdGFuY2VvZiBDb0RvY3VtZW50KSB7XHJcbiAgICAgICAgICB0aGlzLnNpZ25hdHVyZURvY3VtZW50SWQgPSByZXN1bHQuZG9jdW1lbnRJZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZWFyY2hTZXJ2aWNlLnNlYXJjaFRyYW5zYWN0aW9ucygpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBhc3luYyBwcmludERvY3VtZW50KHJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICh0aGlzLnNlbmREb2N1bWVudHNDb21wb25lbnQuc2VsZWN0ZWQpIHtcclxuICAgICAgY29uc3QgcHJpbnRIaXN0b3JpY09yZGVyQ29uZmlybWF0aW9uUmVxdWVzdDogUHJpbnRIaXN0b3JpY09yZGVyQ29uZmlybWF0aW9uUmVxdWVzdCA9XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbihuZXcgUHJpbnRIaXN0b3JpY09yZGVyQ29uZmlybWF0aW9uUmVxdWVzdCgpLCByZXF1ZXN0KTtcclxuICAgICAgdGhpcy5fcHJlcGFyZUhpc3RvcmljUmVxdWVzdChwcmludEhpc3RvcmljT3JkZXJDb25maXJtYXRpb25SZXF1ZXN0KTtcclxuICAgICAgYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UucHJpbnRIaXN0b3JpY09yZGVyQ29uZmlybWF0aW9uKHByaW50SGlzdG9yaWNPcmRlckNvbmZpcm1hdGlvblJlcXVlc3QpLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2VhcmNoU2VydmljZS5zZWFyY2hUcmFuc2FjdGlvbnMoKTtcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBwcmludE9yZGVyQ29uZmlybWF0aW9uUmVxdWVzdDogUHJpbnRPcmRlckNvbmZpcm1hdGlvblJlcXVlc3QgPVxyXG4gICAgICAgIE9iamVjdC5hc3NpZ24obmV3IFByaW50T3JkZXJDb25maXJtYXRpb25SZXF1ZXN0KCksIHJlcXVlc3QpO1xyXG4gICAgICBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5wcmludE9yZGVyQ29uZmlybWF0aW9uKHByaW50T3JkZXJDb25maXJtYXRpb25SZXF1ZXN0KS50aGVuKChyZXN1bHQ6IENvRG9jdW1lbnQgfCBib29sZWFuKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdCBpbnN0YW5jZW9mIENvRG9jdW1lbnQpIHtcclxuICAgICAgICAgIHRoaXMuc2lnbmF0dXJlRG9jdW1lbnRJZCA9IHJlc3VsdC5kb2N1bWVudElkO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNlYXJjaFNlcnZpY2Uuc2VhcmNoVHJhbnNhY3Rpb25zKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGFzeW5jIGdldERlZmF1bHRTZW5kTWV0aG9kKCk6IFByb21pc2U8bnVtYmVyPiB7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0T3JkZXJDb25maXJtYXRpb25EZWZhdWx0U2VuZE1ldGhvZCh0aGlzLnRyYW5zYWN0aW9uSW5mby5yZWxhdGlvbi5yZWxhdGlvbklkKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3ByZXBhcmVIaXN0b3JpY1JlcXVlc3QocmVxdWVzdDogRW1haWxIaXN0b3JpY09yZGVyQ29uZmlybWF0aW9uUmVxdWVzdCB8IFByaW50SGlzdG9yaWNPcmRlckNvbmZpcm1hdGlvblJlcXVlc3QgfCBQZGZIaXN0b3JpY09yZGVyQ29uZmlybWF0aW9uUmVxdWVzdCk6IHZvaWQge1xyXG4gICAgcmVxdWVzdC5yZXBvcnREYXRhSWQgPSB0aGlzLnNlbmREb2N1bWVudHNDb21wb25lbnQuYWN0aXZlUmVwb3J0LnJlcG9ydElkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlYWRvbmx5IExheW91dENvZGUgPSBMYXlvdXRDb2RlO1xyXG59XHJcbiJdfQ==
@@ -143,7 +143,7 @@ export class TransactionQuickAccessSendMethodBaseComponent extends TransactionHe
143
143
  }
144
144
  });
145
145
  }
146
- onShowFilePreview(layoutCode) {
146
+ onShowFilePreview() {
147
147
  let reportId = 0;
148
148
  this.defaultPrinterName = undefined;
149
149
  if (this.reportDocumentPrintRequest) {
@@ -159,14 +159,6 @@ export class TransactionQuickAccessSendMethodBaseComponent extends TransactionHe
159
159
  this.transactionService.previewOrderConfirmation(request).then((response) => {
160
160
  this.pdfDoc = response.pdfContent;
161
161
  });
162
- if (layoutCode) {
163
- this.transactionService.getDefaultPrinter(reportId, layoutCode).then((printer) => {
164
- if (printer) {
165
- this.defaultPrinterName = printer;
166
- this.changeDetector.detectChanges();
167
- }
168
- });
169
- }
170
162
  }
171
163
  _prepareData() {
172
164
  this._getPrinters();
@@ -247,4 +239,4 @@ TransactionQuickAccessSendMethodBaseComponent.ctorParameters = () => [
247
239
  { type: ChangeDetectorRef },
248
240
  { type: TransactionDialogService }
249
241
  ];
250
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXNlbmQtbWV0aG9kLWJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzL3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1zZW5kLW1ldGhvZC1iYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUduRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUUzRixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFFbEYsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBUWxGLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUdoRixPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUNsRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUM3RyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztB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MEJBQTBCLEVBQUU7d0JBQ25DLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQztxQkFDbkU7b0JBQ0QsSUFBSSxJQUFJLENBQUMsd0JBQXdCLEVBQUU7d0JBQ2pDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQztxQkFDakU7aUJBQ0Y7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVhLG1CQUFtQjs7WUFDL0IsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUN2RixJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDMUMsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0tBQUE7OztZQXhQRixTQUFTOzs7WUFORix3QkFBd0I7WUFEeEIsd0JBQXdCO1lBUHhCLHVCQUF1QjtZQUN2QixnQkFBZ0I7WUFDaEIscUNBQXFDO1lBQ3JDLHVCQUF1QjtZQUN2QixpQkFBaUI7WUFDakIsa0JBQWtCO1lBMUJsQixpQkFBaUI7WUFvQmpCLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtSZXBvcnRMYXlvdXRTZWxlY3Rpb25FbWFpbH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0LWxheW91dC1zZWxlY3Rpb24tZW1haWwuYm8nO1xyXG5pbXBvcnQge1JlcG9ydExheW91dFNlbGVjdGlvblByaW50fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnQtbGF5b3V0LXNlbGVjdGlvbi1wcmludC5ibyc7XHJcbmltcG9ydCB7Q29tbXVuaWNhdGlvblR5cGV9IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9lbnVtL2NvbW11bmljYXRpb24tdHlwZS5lbnVtJztcclxuaW1wb3J0IHtDb250YWN0T3B0aW9ufSBmcm9tICdAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvbW9kZWwvY29udGFjdC1vcHRpb24uYm8nO1xyXG5pbXBvcnQge3NlbmRNZXRob2RzV2l0aEljb259IGZyb20gJ0Bjb2xpam5pdC9zaGFyZWRjb21wb25lbnRzJztcclxuaW1wb3J0IHtTZW5kTWV0aG9kVHlwZX0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS9zZW5kLW1ldGhvZC10eXBlLmVudW0nO1xyXG5pbXBvcnQge1JlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydGluZy1kb2N1bWVudC1wZGYtYmFzZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtJY29ufSBmcm9tICcuLi8uLi9lbnVtL2ljb24uZW51bSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnl9IGZyb20gJy4uLy4uL2VudW0vdHJhbnNhY3Rpb24tdHlwZS1jYXRlZ29yeS5lbnVtJztcclxuaW1wb3J0IHtQcmludGVyfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9wcmludGVyLmJvJztcclxuaW1wb3J0IHtcclxuICBSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0XHJcbn0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0aW5nLWRvY3VtZW50LWVtYWlsLXNpZ24tZG9jLWJhc2UtcmVxdWVzdCc7XHJcbmltcG9ydCB7XHJcbiAgUmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdFxyXG59IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydGluZy1kb2N1bWVudC1wcmludC1zaWduLWRvYy1iYXNlLXJlcXVlc3QnO1xyXG5pbXBvcnQge0xheW91dENvZGV9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL2xheW91dC1jb2RlLmVudW0nO1xyXG5pbXBvcnQge0hpc3RvcmljUmVwb3J0fSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvaGlzdG9yaWMtcmVwb3J0LmJvJztcclxuaW1wb3J0IHtEaWFsb2dSZXNwb25zZUludGVyZmFjZX0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlL2RpYWxvZy1yZXNwb25zZS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRGlhbG9nU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1kaWFsb2cuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25FdmVudFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tZXZlbnQuc2VydmljZSc7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tc2NyZWVuLWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbWFnZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24taW1hZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvZGljdGlvbmFyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7QXBwUG9wdXBCdXR0b25UeXBlfSBmcm9tICcuLi9jb3JlL2VudW0vYXBwLXBvcHVwLWJ1dHRvbi10eXBlLmVudW0nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSGVhZGVyU2VydmljZX0gZnJvbSAnLi4vY29yZS9iYXNlL3NlcnZpY2UvdHJhbnNhY3Rpb24taGVhZGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VhcmNoU2VydmljZX0gZnJvbSAnLi4vdHJhbnNhY3Rpb24tc2VhcmNoL3NlcnZpY2UvdHJhbnNhY3Rpb24tc2VhcmNoLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSGVhZGVyQmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vY29yZS9iYXNlL3RyYW5zYWN0aW9uLWhlYWRlci1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Q29Eb2N1bWVudH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvY28tZG9jdW1lbnQnO1xyXG5pbXBvcnQge1BkZk9yZGVyQ29uZmlybWF0aW9uUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BkZi1vcmRlci1jb25maXJtYXRpb24tcmVxdWVzdCc7XHJcbmltcG9ydCB7UmVwb3J0aW5nUGRmQmFzZVJlc3BvbnNlfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcmVwb3J0aW5nLXBkZi1iYXNlLXJlc3BvbnNlLmJvJztcclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc1NlbmRNZXRob2RCYXNlQ29tcG9uZW50IGV4dGVuZHMgVHJhbnNhY3Rpb25IZWFkZXJCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuICBwdWJsaWMgcmVhZG9ubHkgc2VuZE1ldGhvZFR5cGU6IHR5cGVvZiBTZW5kTWV0aG9kVHlwZSA9IFNlbmRNZXRob2RUeXBlO1xyXG4gIHB1YmxpYyByZWFkb25seSB0cmFuc2FjdGlvblR5cGVDYXRlZ29yeTogdHlwZW9mIFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5ID0gVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnk7XHJcblxyXG4gIHB1YmxpYyBwcmludGVyTGlzdDogUHJpbnRlcltdID0gW107XHJcbiAgcHVibGljIGVtYWlsTGF5b3V0czogUmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWxbXSA9IFtdO1xyXG4gIHB1YmxpYyBwcmludExheW91dHM6IFJlcG9ydExheW91dFNlbGVjdGlvblByaW50W10gPSBbXTtcclxuICBwdWJsaWMgZGVmYXVsdFNlbmRNZXRob2Q6IHN0cmluZztcclxuICBwdWJsaWMgZGVmYXVsdFNlbmRNZXRob2RJY29uOiBzdHJpbmc7XHJcbiAgcHVibGljIGVtYWlsQWRkcmVzc2VzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHB1YmxpYyBzaG93U2VuZE1ldGhvZERpYWxvZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzZW5kTWV0aG9kcyA9IHNlbmRNZXRob2RzV2l0aEljb247XHJcbiAgcHVibGljIHNpZ25hdHVyZURvY3VtZW50SWQ6IG51bWJlcjtcclxuICBwdWJsaWMgaGlzdG9yaWNSZXBvcnRzOiBIaXN0b3JpY1JlcG9ydFtdID0gW107XHJcbiAgcHVibGljIGlzRG9jU2lnbkVuYWJsZWQ6IGJvb2xlYW47XHJcbiAgcHVibGljIGlzQWRkaXRpb25hbERvY0VuYWJsZWQ6IGJvb2xlYW47XHJcbiAgcHVibGljIGFkZGl0aW9uYWxGaWxlQ29udGVudHM6IGFueSA9ICcnO1xyXG4gIHB1YmxpYyBhZGRpdGlvbmFsRmlsZU5hbWU6IHN0cmluZyA9ICcnO1xyXG4gIHB1YmxpYyBwZGZEb2M6IGFueSA9ICcnO1xyXG4gIHB1YmxpYyBkZWZhdWx0UHJpbnRlck5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgbGF5b3V0Q29kZTogTGF5b3V0Q29kZTtcclxuXHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IHJlcG9ydERvY3VtZW50RW1haWxSZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0O1xyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCByZXBvcnREb2N1bWVudFByaW50UmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdDtcclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVwb3J0RG9jdW1lbnRQZGZSZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBzZWFyY2hTZXJ2aWNlOiBUcmFuc2FjdGlvblNlYXJjaFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNhY3Rpb25IZWFkZXJTZXJ2aWNlOiBUcmFuc2FjdGlvbkhlYWRlclNlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNhY3Rpb25FdmVudFNlcnZpY2U6IFRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLFxyXG4gICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgc2NyZWVuQ29uZmlnU2VydmljZTogVHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBpbWFnZVNlcnZpY2U6IFRyYW5zYWN0aW9uSW1hZ2VTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGRpY3Rpb25hcnlTZXJ2aWNlOiBEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgIHByb3RlY3RlZCB0cmFuc2FjdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcm90ZWN0ZWQgZGlhbG9nU2VydmljZTogVHJhbnNhY3Rpb25EaWFsb2dTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcih0cmFuc2FjdGlvbkhlYWRlclNlcnZpY2UsIHRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLCBpY29uQ2FjaGVTZXJ2aWNlLCBzY3JlZW5Db25maWdTZXJ2aWNlLCBpbWFnZVNlcnZpY2UsIGRpY3Rpb25hcnlTZXJ2aWNlLCB0cmFuc2FjdGlvblNlcnZpY2UsIGNoYW5nZURldGVjdG9yKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgIHRoaXMuX3ByZXBhcmVEYXRhKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdHJhbnNhY3Rpb25TZXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlcG9ydERvY3VtZW50RW1haWxSZXF1ZXN0LnRyYW5zSWQgPSB0aGlzLnRyYW5zYWN0aW9uSW5mby5pZDtcclxuICAgIHRoaXMucmVwb3J0RG9jdW1lbnRQcmludFJlcXVlc3QudHJhbnNJZCA9IHRoaXMudHJhbnNhY3Rpb25JbmZvLmlkO1xyXG4gICAgdGhpcy5yZXBvcnREb2N1bWVudFBkZlJlcXVlc3QudHJhbnNJZCA9IHRoaXMudHJhbnNhY3Rpb25JbmZvLmlkO1xyXG4gICAgdGhpcy5fcHJlcGFyZURhdGEoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWxhdGlvblNldCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZW1haWxBZGRyZXNzZXMubGVuZ3RoID0gMDtcclxuICAgIGNvbnN0IGVtYWlsQ29udGFjdE9wdGlvbnM6IENvbnRhY3RPcHRpb25bXSA9IHRoaXMudHJhbnNhY3Rpb25IZWFkZXJTZXJ2aWNlLnJlbGF0aW9uLmNvbnRhY3RPcHRpb25zLmZpbHRlcihjbyA9PiBjby50eXBlID09PSBDb21tdW5pY2F0aW9uVHlwZS5FbWFpbCk7XHJcbiAgICBjb25zdCBkZWZhdWx0RW1haWxDb250YWN0T3B0aW9uOiBDb250YWN0T3B0aW9uID0gZW1haWxDb250YWN0T3B0aW9ucy5maW5kKGNvID0+IGNvLmxvd2VzdFNlcXVlbmNlKTtcclxuICAgIHRoaXMuZW1haWxBZGRyZXNzZXMgPSBlbWFpbENvbnRhY3RPcHRpb25zLm1hcChlID0+IGUudmFsdWUpO1xyXG4gICAgdGhpcy5nZXREZWZhdWx0RW1haWxBZGRyZXNzTGlzdCgpLnRoZW4oKGFkZHJlc3Nlczogc3RyaW5nW10pID0+IHtcclxuICAgICAgaWYgKGFkZHJlc3NlcyAmJiBhZGRyZXNzZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHRoaXMucmVwb3J0RG9jdW1lbnRFbWFpbFJlcXVlc3QudG9BZGRyZXNzZXMgPSBhZGRyZXNzZXMuam9pbignOycpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMucmVwb3J0RG9jdW1lbnRFbWFpbFJlcXVlc3QudG9BZGRyZXNzZXMgPSBkZWZhdWx0RW1haWxDb250YWN0T3B0aW9uID8gZGVmYXVsdEVtYWlsQ29udGFjdE9wdGlvbi52YWx1ZSA6ICcnO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRIaXN0b3JpY0RvY3VtZW50cygpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldEhpc3RvcmljRG9jdW1lbnRzKHRoaXMudHJhbnNhY3Rpb25JbmZvLmlkLCBMYXlvdXRDb2RlLk9yZGVyQ29uZmlybWF0aW9uKVxyXG4gICAgICAudGhlbigocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgdGhpcy5oaXN0b3JpY1JlcG9ydHMgPSByZXN1bHQ7XHJcbiAgICAgICAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZVNlbmRNZXRob2RPa0NsaWNrKG1ldGhvZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAodGhpcy5oaXN0b3JpY1JlcG9ydHMubGVuZ3RoID4gMCAmJiAobWV0aG9kID09PSBTZW5kTWV0aG9kVHlwZS5FbWFpbCB8fCBtZXRob2QgPT09IFNlbmRNZXRob2RUeXBlLlBkZiB8fCBtZXRob2QgPT09IFNlbmRNZXRob2RUeXBlLldlYlNlcnZpY2UpKSB7XHJcbiAgICAgIGNvbnN0IHJlc3BvbnNlOiBEaWFsb2dSZXNwb25zZUludGVyZmFjZSA9IGF3YWl0IHRoaXMuZGlhbG9nU2VydmljZS5zaG93WWVzTm8oJ1FVRVNUSU9OJywgJ1FVRVNUSU9OX0RPQ1VNRU5UX0FMUkVBRFlfUFJJTlRFRCcpO1xyXG4gICAgICBpZiAocmVzcG9uc2UuYnV0dG9uID09PSBBcHBQb3B1cEJ1dHRvblR5cGUuWWVzKSB7XHJcbiAgICAgICAgdGhpcy5zaG93U2VuZE1ldGhvZERpYWxvZyA9IGZhbHNlO1xyXG4gICAgICAgIGF3YWl0IHRoaXMuaGFuZGxlU2VuZChtZXRob2QpO1xyXG4gICAgICAgIHRoaXMuX3NldERlZmF1bHRNZXRob2QobWV0aG9kKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zaG93U2VuZE1ldGhvZERpYWxvZyA9IGZhbHNlO1xyXG4gICAgICBhd2FpdCB0aGlzLmhhbmRsZVNlbmQobWV0aG9kKTtcclxuICAgICAgdGhpcy5fc2V0RGVmYXVsdE1ldGhvZChtZXRob2QpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZVNlbmQobWV0aG9kOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghbWV0aG9kKSB7XHJcbiAgICAgIHRoaXMuc2hvd1NlbmRNZXRob2REaWFsb2cgPSB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zaG93TG9hZGVyID0gdHJ1ZTtcclxuICAgICAgc3dpdGNoIChtZXRob2QpIHtcclxuICAgICAgICBjYXNlIFNlbmRNZXRob2RUeXBlLlByaW50OlxyXG4gICAgICAgICAgYXdhaXQgdGhpcy5wcmludERvY3VtZW50KHRoaXMucmVwb3J0RG9jdW1lbnRQcmludFJlcXVlc3QpO1xyXG4gICAgICAgICAgdGhpcy5zaG93TG9hZGVyID0gZmFsc2U7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIFNlbmRNZXRob2RUeXBlLkVtYWlsOlxyXG4gICAgICAgICAgYXdhaXQgdGhpcy5lbWFpbERvY3VtZW50KHRoaXMucmVwb3J0RG9jdW1lbnRFbWFpbFJlcXVlc3QpO1xyXG4gICAgICAgICAgdGhpcy5zaG93TG9hZGVyID0gZmFsc2U7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIFNlbmRNZXRob2RUeXBlLlBkZjpcclxuICAgICAgICAgIGF3YWl0IHRoaXMucGRmRG9jdW1lbnQodGhpcy5yZXBvcnREb2N1bWVudFBkZlJlcXVlc3QpO1xyXG4gICAgICAgICAgdGhpcy5zaG93TG9hZGVyID0gZmFsc2U7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIFNlbmRNZXRob2RUeXBlLldlYlNlcnZpY2U6XHJcbiAgICAgICAgICBhd2FpdCB0aGlzLl93ZWJTZXJ2aWNlRG9jdW1lbnQoKTtcclxuICAgICAgICAgIHRoaXMuc2hvd0xvYWRlciA9IGZhbHNlO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5nZXRIaXN0b3JpY0RvY3VtZW50cygpO1xyXG4gICAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBjb21taXRBbmRSZWZyZXNoVHJhbnNhY3Rpb24oKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5jb21taXRBbmRSZWZyZXNoVHJhbnNhY3Rpb24oKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRUZXJtc0FuZENvbmRpdGlvbnNGb3JtKCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0VGVybXNBbmRDb25kaXRpb25zRm9ybSh0aGlzLnRyYW5zYWN0aW9uSW5mby5pZCkudGhlbihyZXN1bHQgPT4ge1xyXG4gICAgICB0aGlzLmFkZGl0aW9uYWxGaWxlQ29udGVudHMgPSByZXN1bHQ7XHJcbiAgICAgIHRoaXMuYWRkaXRpb25hbEZpbGVOYW1lID0gdGhpcy50cmFuc2FjdGlvbkluZm8udHJhbnNhY3Rpb25LaW5kICsgJ18nICsgdGhpcy50cmFuc2FjdGlvbkluZm8udHJhbnNhY3Rpb25Oci50b1N0cmluZygpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgdXBzZXJ0RG9jdW1lbnQoZG9jOiBDb0RvY3VtZW50KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBjb25zdCByZXNwb25zZTogQ29Eb2N1bWVudCA9IGF3YWl0IHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLm1lcmdlRG9jdW1lbnRPblRyYW5zYWN0aW9uKHRoaXMudHJhbnNhY3Rpb25JbmZvLmlkLnRvU3RyaW5nKCksIGRvYyk7XHJcbiAgICBpZiAocmVzcG9uc2UpIHtcclxuICAgICAgdGhpcy5zaG93U2VuZE1ldGhvZERpYWxvZyA9IGZhbHNlO1xyXG4gICAgICBhd2FpdCB0aGlzLmRpYWxvZ1NlcnZpY2Uuc2hvd1RvYXN0KCdEQVRBX1NBVkVEJywgdHJ1ZSk7XHJcbiAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5oaWRlVG9hc3RBZnRlck1zKDIwMDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uU2hvd0ZpbGVQcmV2aWV3KGxheW91dENvZGU/OiBMYXlvdXRDb2RlKTogdm9pZCB7XHJcbiAgICBsZXQgcmVwb3J0SWQ6IG51bWJlciA9IDA7XHJcbiAgICB0aGlzLmRlZmF1bHRQcmludGVyTmFtZSA9IHVuZGVmaW5lZDtcclxuXHJcbiAgICBpZiAodGhpcy5yZXBvcnREb2N1bWVudFByaW50UmVxdWVzdCkge1xyXG4gICAgICByZXBvcnRJZCA9IHRoaXMucmVwb3J0RG9jdW1lbnRQcmludFJlcXVlc3QucmVwb3J0SWQ7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMucmVwb3J0RG9jdW1lbnRQZGZSZXF1ZXN0KSB7XHJcbiAgICAgIHJlcG9ydElkID0gdGhpcy5yZXBvcnREb2N1bWVudFBkZlJlcXVlc3QucmVwb3J0SWQ7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMucmVwb3J0RG9jdW1lbnRFbWFpbFJlcXVlc3QpIHtcclxuICAgICAgcmVwb3J0SWQgPSB0aGlzLnJlcG9ydERvY3VtZW50RW1haWxSZXF1ZXN0LnJlcG9ydElkO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHJlcXVlc3Q6IFBkZk9yZGVyQ29uZmlybWF0aW9uUmVxdWVzdCA9IHt0cmFuc0lkOiB0aGlzLnRyYW5zYWN0aW9uSW5mby5pZCwgcmVwb3J0SWQ6IHJlcG9ydElkfTtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLnByZXZpZXdPcmRlckNvbmZpcm1hdGlvbihyZXF1ZXN0KS50aGVuKChyZXNwb25zZTogUmVwb3J0aW5nUGRmQmFzZVJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIHRoaXMucGRmRG9jID0gcmVzcG9uc2UucGRmQ29udGVudDtcclxuICAgIH0pO1xyXG4gICAgaWYgKGxheW91dENvZGUpIHtcclxuICAgICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0RGVmYXVsdFByaW50ZXIocmVwb3J0SWQsIGxheW91dENvZGUpLnRoZW4oKHByaW50ZXI6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIGlmIChwcmludGVyKSB7XHJcbiAgICAgICAgICB0aGlzLmRlZmF1bHRQcmludGVyTmFtZSA9IHByaW50ZXI7XHJcbiAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IHByaW50RG9jdW1lbnQocmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdCk7XHJcblxyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBlbWFpbERvY3VtZW50KHJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3QpO1xyXG5cclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgcGRmRG9jdW1lbnQocmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdCk7XHJcblxyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXRFbWFpbExheW91dHMoKTogUHJvbWlzZTxSZXBvcnRMYXlvdXRTZWxlY3Rpb25FbWFpbFtdPjtcclxuXHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldFByaW50TGF5b3V0cygpOiBQcm9taXNlPFJlcG9ydExheW91dFNlbGVjdGlvblByaW50W10+O1xyXG5cclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0RGVmYXVsdEVtYWlsQWRkcmVzc0xpc3QoKTogUHJvbWlzZTxzdHJpbmdbXT47XHJcblxyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXREZWZhdWx0U2VuZE1ldGhvZCgpOiBQcm9taXNlPG51bWJlcj47XHJcblxyXG4gIHByaXZhdGUgX3ByZXBhcmVEYXRhKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZ2V0UHJpbnRlcnMoKTtcclxuICAgIHRoaXMuX2dldERlZmF1bHRTZW5kTWV0aG9kKCk7XHJcbiAgICB0aGlzLl9nZXRFbWFpbExheW91dHMoKTtcclxuICAgIHRoaXMuX2dldFByaW50TGF5b3V0cygpO1xyXG4gICAgdGhpcy5pc0RvY1NpZ25FbmFibGVkID0gdGhpcy5zY3JlZW5Db25maWdTZXJ2aWNlLmdldE9iamVjdENvbmZpZ3VyYXRpb25Gb3IodGhpcy5jZmdOYW1lcy5Jc0RvY1NpZ25FbmFibGVkKS5pbW1lZGlhdGVseVZpc2libGUoKTtcclxuICAgIHRoaXMuaXNBZGRpdGlvbmFsRG9jRW5hYmxlZCA9IHRoaXMuc2NyZWVuQ29uZmlnU2VydmljZS5nZXRPYmplY3RDb25maWd1cmF0aW9uRm9yKHRoaXMuY2ZnTmFtZXMuSXNBZGRpdGlvbmFsRG9jRW5hYmxlZCkuaW1tZWRpYXRlbHlWaXNpYmxlKCk7XHJcbiAgICB0aGlzLmdldEhpc3RvcmljRG9jdW1lbnRzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZXRQcmludGVycygpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldFByaW50ZXJzKCkudGhlbigocHJpbnRlckxpc3Q6IFByaW50ZXJbXSkgPT4ge1xyXG4gICAgICB0aGlzLnByaW50ZXJMaXN0ID0gcHJpbnRlckxpc3Q7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldERlZmF1bHRTZW5kTWV0aG9kKCk6IHZvaWQge1xyXG4gICAgdGhpcy5nZXREZWZhdWx0U2VuZE1ldGhvZCgpLnRoZW4oKG1ldGhvZDogbnVtYmVyKSA9PiB7XHJcbiAgICAgIGlmIChtZXRob2QgIT09IG51bGwgJiYgbWV0aG9kICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICB0aGlzLl9zZXREZWZhdWx0TWV0aG9kKG1ldGhvZC50b1N0cmluZygpKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgX3NldERlZmF1bHRNZXRob2QobWV0aG9kOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IHNlbmRNZXRob2QgPSB0aGlzLnNlbmRNZXRob2RzLmZpbmQoc20gPT4gc20uY29kZSA9PT0gbWV0aG9kKTtcclxuICAgIGlmIChzZW5kTWV0aG9kKSB7XHJcbiAgICAgIHRoaXMuZGVmYXVsdFNlbmRNZXRob2QgPSBzZW5kTWV0aG9kLmNvZGU7XHJcbiAgICAgIHRoaXMuZGVmYXVsdFNlbmRNZXRob2RJY29uID0gc2VuZE1ldGhvZC5pY29uO1xyXG4gICAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldEVtYWlsTGF5b3V0cygpOiB2b2lkIHtcclxuICAgIHRoaXMuZ2V0RW1haWxMYXlvdXRzKCkudGhlbigobGF5b3V0czogUmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWxbXSkgPT4ge1xyXG4gICAgICB0aGlzLmVtYWlsTGF5b3V0cyA9IGxheW91dHM7XHJcbiAgICAgIGlmICh0aGlzLmVtYWlsTGF5b3V0cyAmJiB0aGlzLmVtYWlsTGF5b3V0cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgY29uc3QgZGVmYXVsdExheW91dDogUmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWwgPSB0aGlzLmVtYWlsTGF5b3V0cy5maW5kKGUgPT4gZS5pc0RlZmF1bHQpO1xyXG4gICAgICAgIGlmIChkZWZhdWx0TGF5b3V0KSB7XHJcbiAgICAgICAgICB0aGlzLnJlcG9ydERvY3VtZW50RW1haWxSZXF1ZXN0LnJlcG9ydElkID0gZGVmYXVsdExheW91dC5yZXBvcnRJZDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2V0UHJpbnRMYXlvdXRzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5nZXRQcmludExheW91dHMoKS50aGVuKChsYXlvdXRzOiBSZXBvcnRMYXlvdXRTZWxlY3Rpb25QcmludFtdKSA9PiB7XHJcbiAgICAgIHRoaXMucHJpbnRMYXlvdXRzID0gbGF5b3V0cztcclxuICAgICAgaWYgKHRoaXMucHJpbnRMYXlvdXRzICYmIHRoaXMucHJpbnRMYXlvdXRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICBjb25zdCBkZWZhdWx0TGF5b3V0OiBSZXBvcnRMYXlvdXRTZWxlY3Rpb25QcmludCA9IHRoaXMucHJpbnRMYXlvdXRzLmZpbmQocCA9PiBwLmlzRGVmYXVsdCk7XHJcbiAgICAgICAgaWYgKGRlZmF1bHRMYXlvdXQpIHtcclxuICAgICAgICAgIGlmICh0aGlzLnJlcG9ydERvY3VtZW50UHJpbnRSZXF1ZXN0KSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVwb3J0RG9jdW1lbnRQcmludFJlcXVlc3QucmVwb3J0SWQgPSBkZWZhdWx0TGF5b3V0LnJlcG9ydElkO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKHRoaXMucmVwb3J0RG9jdW1lbnRQZGZSZXF1ZXN0KSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVwb3J0RG9jdW1lbnRQZGZSZXF1ZXN0LnJlcG9ydElkID0gZGVmYXVsdExheW91dC5yZXBvcnRJZDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfd2ViU2VydmljZURvY3VtZW50KCkge1xyXG4gICAgYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2VuZXJhdGVXZWJTZXJ2aWNlT3JkZXIodGhpcy50cmFuc2FjdGlvbkluZm8uaWQpLnRoZW4oKCkgPT4ge1xyXG4gICAgICB0aGlzLnNlYXJjaFNlcnZpY2Uuc2VhcmNoVHJhbnNhY3Rpb25zKCk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
242
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXNlbmQtbWV0aG9kLWJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzL3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1zZW5kLW1ldGhvZC1iYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUduRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUUzRixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFFbEYsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBUWxGLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUdoRixPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUNsRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUM3RyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztB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Q0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ3ZGLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUMxQyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7S0FBQTs7O1lBalBGLFNBQVM7OztZQU5GLHdCQUF3QjtZQUR4Qix3QkFBd0I7WUFQeEIsdUJBQXVCO1lBQ3ZCLGdCQUFnQjtZQUNoQixxQ0FBcUM7WUFDckMsdUJBQXVCO1lBQ3ZCLGlCQUFpQjtZQUNqQixrQkFBa0I7WUExQmxCLGlCQUFpQjtZQW9CakIsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlLCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1JlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnQtbGF5b3V0LXNlbGVjdGlvbi1lbWFpbC5ibyc7XHJcbmltcG9ydCB7UmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLXByaW50LmJvJztcclxuaW1wb3J0IHtDb21tdW5pY2F0aW9uVHlwZX0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL2VudW0vY29tbXVuaWNhdGlvbi10eXBlLmVudW0nO1xyXG5pbXBvcnQge0NvbnRhY3RPcHRpb259IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9jb250YWN0LW9wdGlvbi5ibyc7XHJcbmltcG9ydCB7c2VuZE1ldGhvZHNXaXRoSWNvbn0gZnJvbSAnQGNvbGlqbml0L3NoYXJlZGNvbXBvbmVudHMnO1xyXG5pbXBvcnQge1NlbmRNZXRob2RUeXBlfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL3NlbmQtbWV0aG9kLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7UmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0aW5nLWRvY3VtZW50LXBkZi1iYXNlLXJlcXVlc3QnO1xyXG5pbXBvcnQge0ljb259IGZyb20gJy4uLy4uL2VudW0vaWNvbi5lbnVtJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblR5cGVDYXRlZ29yeX0gZnJvbSAnLi4vLi4vZW51bS90cmFuc2FjdGlvbi10eXBlLWNhdGVnb3J5LmVudW0nO1xyXG5pbXBvcnQge1ByaW50ZXJ9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3ByaW50ZXIuYm8nO1xyXG5pbXBvcnQge1xyXG4gIFJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3RcclxufSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtZW1haWwtc2lnbi1kb2MtYmFzZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtcclxuICBSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0XHJcbn0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0aW5nLWRvY3VtZW50LXByaW50LXNpZ24tZG9jLWJhc2UtcmVxdWVzdCc7XHJcbmltcG9ydCB7TGF5b3V0Q29kZX0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL2VudW0vbGF5b3V0LWNvZGUuZW51bSc7XHJcbmltcG9ydCB7SGlzdG9yaWNSZXBvcnR9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9oaXN0b3JpYy1yZXBvcnQuYm8nO1xyXG5pbXBvcnQge0RpYWxvZ1Jlc3BvbnNlSW50ZXJmYWNlfSBmcm9tICcuLi8uLi9pbnRlcmZhY2UvZGlhbG9nLXJlc3BvbnNlLmludGVyZmFjZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25EaWFsb2dTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWRpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkV2ZW50U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1ldmVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1zY3JlZW4tY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkltYWdlU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1pbWFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9kaWN0aW9uYXJ5LnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtBcHBQb3B1cEJ1dHRvblR5cGV9IGZyb20gJy4uL2NvcmUvZW51bS9hcHAtcG9wdXAtYnV0dG9uLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJTZXJ2aWNlfSBmcm9tICcuLi9jb3JlL2Jhc2Uvc2VydmljZS90cmFuc2FjdGlvbi1oZWFkZXIuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZWFyY2hTZXJ2aWNlfSBmcm9tICcuLi90cmFuc2FjdGlvbi1zZWFyY2gvc2VydmljZS90cmFuc2FjdGlvbi1zZWFyY2guc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJCYXNlQ29tcG9uZW50fSBmcm9tICcuLi9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24taGVhZGVyLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHtDb0RvY3VtZW50fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1kb2N1bWVudCc7XHJcbmltcG9ydCB7UGRmT3JkZXJDb25maXJtYXRpb25SZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGRmLW9yZGVyLWNvbmZpcm1hdGlvbi1yZXF1ZXN0JztcclxuaW1wb3J0IHtSZXBvcnRpbmdQZGZCYXNlUmVzcG9uc2V9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctcGRmLWJhc2UtcmVzcG9uc2UuYm8nO1xyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUcmFuc2FjdGlvblF1aWNrQWNjZXNzU2VuZE1ldGhvZEJhc2VDb21wb25lbnQgZXh0ZW5kcyBUcmFuc2FjdGlvbkhlYWRlckJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG4gIHB1YmxpYyByZWFkb25seSBzZW5kTWV0aG9kVHlwZTogdHlwZW9mIFNlbmRNZXRob2RUeXBlID0gU2VuZE1ldGhvZFR5cGU7XHJcbiAgcHVibGljIHJlYWRvbmx5IHRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5OiB0eXBlb2YgVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkgPSBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeTtcclxuXHJcbiAgcHVibGljIHByaW50ZXJMaXN0OiBQcmludGVyW10gPSBbXTtcclxuICBwdWJsaWMgZW1haWxMYXlvdXRzOiBSZXBvcnRMYXlvdXRTZWxlY3Rpb25FbWFpbFtdID0gW107XHJcbiAgcHVibGljIHByaW50TGF5b3V0czogUmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnRbXSA9IFtdO1xyXG4gIHB1YmxpYyBkZWZhdWx0U2VuZE1ldGhvZDogc3RyaW5nO1xyXG4gIHB1YmxpYyBkZWZhdWx0U2VuZE1ldGhvZEljb246IHN0cmluZztcclxuICBwdWJsaWMgZW1haWxBZGRyZXNzZXM6IHN0cmluZ1tdID0gW107XHJcbiAgcHVibGljIHNob3dTZW5kTWV0aG9kRGlhbG9nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNlbmRNZXRob2RzID0gc2VuZE1ldGhvZHNXaXRoSWNvbjtcclxuICBwdWJsaWMgc2lnbmF0dXJlRG9jdW1lbnRJZDogbnVtYmVyO1xyXG4gIHB1YmxpYyBoaXN0b3JpY1JlcG9ydHM6IEhpc3RvcmljUmVwb3J0W10gPSBbXTtcclxuICBwdWJsaWMgaXNEb2NTaWduRW5hYmxlZDogYm9vbGVhbjtcclxuICBwdWJsaWMgaXNBZGRpdGlvbmFsRG9jRW5hYmxlZDogYm9vbGVhbjtcclxuICBwdWJsaWMgYWRkaXRpb25hbEZpbGVDb250ZW50czogYW55ID0gJyc7XHJcbiAgcHVibGljIGFkZGl0aW9uYWxGaWxlTmFtZTogc3RyaW5nID0gJyc7XHJcbiAgcHVibGljIHBkZkRvYzogYW55ID0gJyc7XHJcbiAgcHVibGljIGRlZmF1bHRQcmludGVyTmFtZTogc3RyaW5nO1xyXG4gIHB1YmxpYyBsYXlvdXRDb2RlOiBMYXlvdXRDb2RlO1xyXG5cclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVwb3J0RG9jdW1lbnRFbWFpbFJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3Q7XHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IHJlcG9ydERvY3VtZW50UHJpbnRSZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0O1xyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCByZXBvcnREb2N1bWVudFBkZlJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3Q7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHNlYXJjaFNlcnZpY2U6IFRyYW5zYWN0aW9uU2VhcmNoU2VydmljZSxcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvbkhlYWRlclNlcnZpY2U6IFRyYW5zYWN0aW9uSGVhZGVyU2VydmljZSxcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvbkV2ZW50U2VydmljZTogVHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgIHB1YmxpYyBzY3JlZW5Db25maWdTZXJ2aWNlOiBUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGltYWdlU2VydmljZTogVHJhbnNhY3Rpb25JbWFnZVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgZGljdGlvbmFyeVNlcnZpY2U6IERpY3Rpb25hcnlTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIHRyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByb3RlY3RlZCBkaWFsb2dTZXJ2aWNlOiBUcmFuc2FjdGlvbkRpYWxvZ1NlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKHRyYW5zYWN0aW9uSGVhZGVyU2VydmljZSwgdHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsIGljb25DYWNoZVNlcnZpY2UsIHNjcmVlbkNvbmZpZ1NlcnZpY2UsIGltYWdlU2VydmljZSwgZGljdGlvbmFyeVNlcnZpY2UsIHRyYW5zYWN0aW9uU2VydmljZSwgY2hhbmdlRGV0ZWN0b3IpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgdGhpcy5fcHJlcGFyZURhdGEoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0cmFuc2FjdGlvblNldCgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVwb3J0RG9jdW1lbnRFbWFpbFJlcXVlc3QudHJhbnNJZCA9IHRoaXMudHJhbnNhY3Rpb25JbmZvLmlkO1xyXG4gICAgdGhpcy5yZXBvcnREb2N1bWVudFByaW50UmVxdWVzdC50cmFuc0lkID0gdGhpcy50cmFuc2FjdGlvbkluZm8uaWQ7XHJcbiAgICB0aGlzLnJlcG9ydERvY3VtZW50UGRmUmVxdWVzdC50cmFuc0lkID0gdGhpcy50cmFuc2FjdGlvbkluZm8uaWQ7XHJcbiAgICB0aGlzLl9wcmVwYXJlRGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlbGF0aW9uU2V0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5lbWFpbEFkZHJlc3Nlcy5sZW5ndGggPSAwO1xyXG4gICAgY29uc3QgZW1haWxDb250YWN0T3B0aW9uczogQ29udGFjdE9wdGlvbltdID0gdGhpcy50cmFuc2FjdGlvbkhlYWRlclNlcnZpY2UucmVsYXRpb24uY29udGFjdE9wdGlvbnMuZmlsdGVyKGNvID0+IGNvLnR5cGUgPT09IENvbW11bmljYXRpb25UeXBlLkVtYWlsKTtcclxuICAgIGNvbnN0IGRlZmF1bHRFbWFpbENvbnRhY3RPcHRpb246IENvbnRhY3RPcHRpb24gPSBlbWFpbENvbnRhY3RPcHRpb25zLmZpbmQoY28gPT4gY28ubG93ZXN0U2VxdWVuY2UpO1xyXG4gICAgdGhpcy5lbWFpbEFkZHJlc3NlcyA9IGVtYWlsQ29udGFjdE9wdGlvbnMubWFwKGUgPT4gZS52YWx1ZSk7XHJcbiAgICB0aGlzLmdldERlZmF1bHRFbWFpbEFkZHJlc3NMaXN0KCkudGhlbigoYWRkcmVzc2VzOiBzdHJpbmdbXSkgPT4ge1xyXG4gICAgICBpZiAoYWRkcmVzc2VzICYmIGFkZHJlc3Nlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgdGhpcy5yZXBvcnREb2N1bWVudEVtYWlsUmVxdWVzdC50b0FkZHJlc3NlcyA9IGFkZHJlc3Nlcy5qb2luKCc7Jyk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5yZXBvcnREb2N1bWVudEVtYWlsUmVxdWVzdC50b0FkZHJlc3NlcyA9IGRlZmF1bHRFbWFpbENvbnRhY3RPcHRpb24gPyBkZWZhdWx0RW1haWxDb250YWN0T3B0aW9uLnZhbHVlIDogJyc7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEhpc3RvcmljRG9jdW1lbnRzKCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0SGlzdG9yaWNEb2N1bWVudHModGhpcy50cmFuc2FjdGlvbkluZm8uaWQsIExheW91dENvZGUuT3JkZXJDb25maXJtYXRpb24pXHJcbiAgICAgIC50aGVuKChyZXN1bHQpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgICB0aGlzLmhpc3RvcmljUmVwb3J0cyA9IHJlc3VsdDtcclxuICAgICAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlU2VuZE1ldGhvZE9rQ2xpY2sobWV0aG9kOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICh0aGlzLmhpc3RvcmljUmVwb3J0cy5sZW5ndGggPiAwICYmIChtZXRob2QgPT09IFNlbmRNZXRob2RUeXBlLkVtYWlsIHx8IG1ldGhvZCA9PT0gU2VuZE1ldGhvZFR5cGUuUGRmIHx8IG1ldGhvZCA9PT0gU2VuZE1ldGhvZFR5cGUuV2ViU2VydmljZSkpIHtcclxuICAgICAgY29uc3QgcmVzcG9uc2U6IERpYWxvZ1Jlc3BvbnNlSW50ZXJmYWNlID0gYXdhaXQgdGhpcy5kaWFsb2dTZXJ2aWNlLnNob3dZZXNObygnUVVFU1RJT04nLCAnUVVFU1RJT05fRE9DVU1FTlRfQUxSRUFEWV9QUklOVEVEJyk7XHJcbiAgICAgIGlmIChyZXNwb25zZS5idXR0b24gPT09IEFwcFBvcHVwQnV0dG9uVHlwZS5ZZXMpIHtcclxuICAgICAgICB0aGlzLnNob3dTZW5kTWV0aG9kRGlhbG9nID0gZmFsc2U7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5oYW5kbGVTZW5kKG1ldGhvZCk7XHJcbiAgICAgICAgdGhpcy5fc2V0RGVmYXVsdE1ldGhvZChtZXRob2QpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNob3dTZW5kTWV0aG9kRGlhbG9nID0gZmFsc2U7XHJcbiAgICAgIGF3YWl0IHRoaXMuaGFuZGxlU2VuZChtZXRob2QpO1xyXG4gICAgICB0aGlzLl9zZXREZWZhdWx0TWV0aG9kKG1ldGhvZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlU2VuZChtZXRob2Q6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKCFtZXRob2QpIHtcclxuICAgICAgdGhpcy5zaG93U2VuZE1ldGhvZERpYWxvZyA9IHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNob3dMb2FkZXIgPSB0cnVlO1xyXG4gICAgICBzd2l0Y2ggKG1ldGhvZCkge1xyXG4gICAgICAgIGNhc2UgU2VuZE1ldGhvZFR5cGUuUHJpbnQ6XHJcbiAgICAgICAgICBhd2FpdCB0aGlzLnByaW50RG9jdW1lbnQodGhpcy5yZXBvcnREb2N1bWVudFByaW50UmVxdWVzdCk7XHJcbiAgICAgICAgICB0aGlzLnNob3dMb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgU2VuZE1ldGhvZFR5cGUuRW1haWw6XHJcbiAgICAgICAgICBhd2FpdCB0aGlzLmVtYWlsRG9jdW1lbnQodGhpcy5yZXBvcnREb2N1bWVudEVtYWlsUmVxdWVzdCk7XHJcbiAgICAgICAgICB0aGlzLnNob3dMb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgU2VuZE1ldGhvZFR5cGUuUGRmOlxyXG4gICAgICAgICAgYXdhaXQgdGhpcy5wZGZEb2N1bWVudCh0aGlzLnJlcG9ydERvY3VtZW50UGRmUmVxdWVzdCk7XHJcbiAgICAgICAgICB0aGlzLnNob3dMb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgU2VuZE1ldGhvZFR5cGUuV2ViU2VydmljZTpcclxuICAgICAgICAgIGF3YWl0IHRoaXMuX3dlYlNlcnZpY2VEb2N1bWVudCgpO1xyXG4gICAgICAgICAgdGhpcy5zaG93TG9hZGVyID0gZmFsc2U7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmdldEhpc3RvcmljRG9jdW1lbnRzKCk7XHJcbiAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGNvbW1pdEFuZFJlZnJlc2hUcmFuc2FjdGlvbigpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmNvbW1pdEFuZFJlZnJlc2hUcmFuc2FjdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFRlcm1zQW5kQ29uZGl0aW9uc0Zvcm0oKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRUZXJtc0FuZENvbmRpdGlvbnNGb3JtKHRoaXMudHJhbnNhY3Rpb25JbmZvLmlkKS50aGVuKHJlc3VsdCA9PiB7XHJcbiAgICAgIHRoaXMuYWRkaXRpb25hbEZpbGVDb250ZW50cyA9IHJlc3VsdDtcclxuICAgICAgdGhpcy5hZGRpdGlvbmFsRmlsZU5hbWUgPSB0aGlzLnRyYW5zYWN0aW9uSW5mby50cmFuc2FjdGlvbktpbmQgKyAnXycgKyB0aGlzLnRyYW5zYWN0aW9uSW5mby50cmFuc2FjdGlvbk5yLnRvU3RyaW5nKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyB1cHNlcnREb2N1bWVudChkb2M6IENvRG9jdW1lbnQpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBDb0RvY3VtZW50ID0gYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UubWVyZ2VEb2N1bWVudE9uVHJhbnNhY3Rpb24odGhpcy50cmFuc2FjdGlvbkluZm8uaWQudG9TdHJpbmcoKSwgZG9jKTtcclxuICAgIGlmIChyZXNwb25zZSkge1xyXG4gICAgICB0aGlzLnNob3dTZW5kTWV0aG9kRGlhbG9nID0gZmFsc2U7XHJcbiAgICAgIGF3YWl0IHRoaXMuZGlhbG9nU2VydmljZS5zaG93VG9hc3QoJ0RBVEFfU0FWRUQnLCB0cnVlKTtcclxuICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLmhpZGVUb2FzdEFmdGVyTXMoMjAwMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25TaG93RmlsZVByZXZpZXcoKTogdm9pZCB7XHJcbiAgICBsZXQgcmVwb3J0SWQ6IG51bWJlciA9IDA7XHJcbiAgICB0aGlzLmRlZmF1bHRQcmludGVyTmFtZSA9IHVuZGVmaW5lZDtcclxuXHJcbiAgICBpZiAodGhpcy5yZXBvcnREb2N1bWVudFByaW50UmVxdWVzdCkge1xyXG4gICAgICByZXBvcnRJZCA9IHRoaXMucmVwb3J0RG9jdW1lbnRQcmludFJlcXVlc3QucmVwb3J0SWQ7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMucmVwb3J0RG9jdW1lbnRQZGZSZXF1ZXN0KSB7XHJcbiAgICAgIHJlcG9ydElkID0gdGhpcy5yZXBvcnREb2N1bWVudFBkZlJlcXVlc3QucmVwb3J0SWQ7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMucmVwb3J0RG9jdW1lbnRFbWFpbFJlcXVlc3QpIHtcclxuICAgICAgcmVwb3J0SWQgPSB0aGlzLnJlcG9ydERvY3VtZW50RW1haWxSZXF1ZXN0LnJlcG9ydElkO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHJlcXVlc3Q6IFBkZk9yZGVyQ29uZmlybWF0aW9uUmVxdWVzdCA9IHt0cmFuc0lkOiB0aGlzLnRyYW5zYWN0aW9uSW5mby5pZCwgcmVwb3J0SWQ6IHJlcG9ydElkfTtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLnByZXZpZXdPcmRlckNvbmZpcm1hdGlvbihyZXF1ZXN0KS50aGVuKChyZXNwb25zZTogUmVwb3J0aW5nUGRmQmFzZVJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIHRoaXMucGRmRG9jID0gcmVzcG9uc2UucGRmQ29udGVudDtcclxuICAgIH0pO1xyXG5cclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBwcmludERvY3VtZW50KHJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QpO1xyXG5cclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZW1haWxEb2N1bWVudChyZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0KTtcclxuXHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IHBkZkRvY3VtZW50KHJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3QpO1xyXG5cclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0RW1haWxMYXlvdXRzKCk6IFByb21pc2U8UmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWxbXT47XHJcblxyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXRQcmludExheW91dHMoKTogUHJvbWlzZTxSZXBvcnRMYXlvdXRTZWxlY3Rpb25QcmludFtdPjtcclxuXHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldERlZmF1bHRFbWFpbEFkZHJlc3NMaXN0KCk6IFByb21pc2U8c3RyaW5nW10+O1xyXG5cclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0RGVmYXVsdFNlbmRNZXRob2QoKTogUHJvbWlzZTxudW1iZXI+O1xyXG5cclxuICBwcml2YXRlIF9wcmVwYXJlRGF0YSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2dldFByaW50ZXJzKCk7XHJcbiAgICB0aGlzLl9nZXREZWZhdWx0U2VuZE1ldGhvZCgpO1xyXG4gICAgdGhpcy5fZ2V0RW1haWxMYXlvdXRzKCk7XHJcbiAgICB0aGlzLl9nZXRQcmludExheW91dHMoKTtcclxuICAgIHRoaXMuaXNEb2NTaWduRW5hYmxlZCA9IHRoaXMuc2NyZWVuQ29uZmlnU2VydmljZS5nZXRPYmplY3RDb25maWd1cmF0aW9uRm9yKHRoaXMuY2ZnTmFtZXMuSXNEb2NTaWduRW5hYmxlZCkuaW1tZWRpYXRlbHlWaXNpYmxlKCk7XHJcbiAgICB0aGlzLmlzQWRkaXRpb25hbERvY0VuYWJsZWQgPSB0aGlzLnNjcmVlbkNvbmZpZ1NlcnZpY2UuZ2V0T2JqZWN0Q29uZmlndXJhdGlvbkZvcih0aGlzLmNmZ05hbWVzLklzQWRkaXRpb25hbERvY0VuYWJsZWQpLmltbWVkaWF0ZWx5VmlzaWJsZSgpO1xyXG4gICAgdGhpcy5nZXRIaXN0b3JpY0RvY3VtZW50cygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2V0UHJpbnRlcnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRQcmludGVycygpLnRoZW4oKHByaW50ZXJMaXN0OiBQcmludGVyW10pID0+IHtcclxuICAgICAgdGhpcy5wcmludGVyTGlzdCA9IHByaW50ZXJMaXN0O1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZXREZWZhdWx0U2VuZE1ldGhvZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZ2V0RGVmYXVsdFNlbmRNZXRob2QoKS50aGVuKChtZXRob2Q6IG51bWJlcikgPT4ge1xyXG4gICAgICBpZiAobWV0aG9kICE9PSBudWxsICYmIG1ldGhvZCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0RGVmYXVsdE1ldGhvZChtZXRob2QudG9TdHJpbmcoKSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIF9zZXREZWZhdWx0TWV0aG9kKG1ldGhvZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBzZW5kTWV0aG9kID0gdGhpcy5zZW5kTWV0aG9kcy5maW5kKHNtID0+IHNtLmNvZGUgPT09IG1ldGhvZCk7XHJcbiAgICBpZiAoc2VuZE1ldGhvZCkge1xyXG4gICAgICB0aGlzLmRlZmF1bHRTZW5kTWV0aG9kID0gc2VuZE1ldGhvZC5jb2RlO1xyXG4gICAgICB0aGlzLmRlZmF1bHRTZW5kTWV0aG9kSWNvbiA9IHNlbmRNZXRob2QuaWNvbjtcclxuICAgICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZXRFbWFpbExheW91dHMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmdldEVtYWlsTGF5b3V0cygpLnRoZW4oKGxheW91dHM6IFJlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsW10pID0+IHtcclxuICAgICAgdGhpcy5lbWFpbExheW91dHMgPSBsYXlvdXRzO1xyXG4gICAgICBpZiAodGhpcy5lbWFpbExheW91dHMgJiYgdGhpcy5lbWFpbExheW91dHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGNvbnN0IGRlZmF1bHRMYXlvdXQ6IFJlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsID0gdGhpcy5lbWFpbExheW91dHMuZmluZChlID0+IGUuaXNEZWZhdWx0KTtcclxuICAgICAgICBpZiAoZGVmYXVsdExheW91dCkge1xyXG4gICAgICAgICAgdGhpcy5yZXBvcnREb2N1bWVudEVtYWlsUmVxdWVzdC5yZXBvcnRJZCA9IGRlZmF1bHRMYXlvdXQucmVwb3J0SWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldFByaW50TGF5b3V0cygpOiB2b2lkIHtcclxuICAgIHRoaXMuZ2V0UHJpbnRMYXlvdXRzKCkudGhlbigobGF5b3V0czogUmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnRbXSkgPT4ge1xyXG4gICAgICB0aGlzLnByaW50TGF5b3V0cyA9IGxheW91dHM7XHJcbiAgICAgIGlmICh0aGlzLnByaW50TGF5b3V0cyAmJiB0aGlzLnByaW50TGF5b3V0cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgY29uc3QgZGVmYXVsdExheW91dDogUmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnQgPSB0aGlzLnByaW50TGF5b3V0cy5maW5kKHAgPT4gcC5pc0RlZmF1bHQpO1xyXG4gICAgICAgIGlmIChkZWZhdWx0TGF5b3V0KSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5yZXBvcnREb2N1bWVudFByaW50UmVxdWVzdCkge1xyXG4gICAgICAgICAgICB0aGlzLnJlcG9ydERvY3VtZW50UHJpbnRSZXF1ZXN0LnJlcG9ydElkID0gZGVmYXVsdExheW91dC5yZXBvcnRJZDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICh0aGlzLnJlcG9ydERvY3VtZW50UGRmUmVxdWVzdCkge1xyXG4gICAgICAgICAgICB0aGlzLnJlcG9ydERvY3VtZW50UGRmUmVxdWVzdC5yZXBvcnRJZCA9IGRlZmF1bHRMYXlvdXQucmVwb3J0SWQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX3dlYlNlcnZpY2VEb2N1bWVudCgpIHtcclxuICAgIGF3YWl0IHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdlbmVyYXRlV2ViU2VydmljZU9yZGVyKHRoaXMudHJhbnNhY3Rpb25JbmZvLmlkKS50aGVuKCgpID0+IHtcclxuICAgICAgdGhpcy5zZWFyY2hTZXJ2aWNlLnNlYXJjaFRyYW5zYWN0aW9ucygpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==