@colijnit/transaction 257.1.61 → 257.1.63

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.
@@ -60,6 +60,7 @@ export class TransactionHeaderPopupPaymentComponent extends TransactionHeaderPop
60
60
  this._paymentSubs.push(this.transactionEventService.transactionPaymentDone.subscribe(() => {
61
61
  this._getDepositInfo();
62
62
  this._getOutstandingAmounts();
63
+ this.handleCloseDialog();
63
64
  }), this.screenConfigService.configSet.subscribe((configObjects) => this._getObjectConfiguration(configObjects)));
64
65
  this.showCashOnDelivery = yield this.transactionService.getInternalParameter(InternalParam.SellDirectlyFromSuppl);
65
66
  });
@@ -91,7 +92,7 @@ export class TransactionHeaderPopupPaymentComponent extends TransactionHeaderPop
91
92
  this.cashOnDelivery = value;
92
93
  }
93
94
  showPaymentButton() {
94
- return this.orderPaymentAnalysis.some(t => t.outstandingAmount > 0) && this.chosenAmountToPay > 0;
95
+ return this.orderPaymentAnalysis.some(t => t.outstandingAmount !== 0) && this.chosenAmountToPay !== 0;
95
96
  }
96
97
  openPayment(event) {
97
98
  var _a;
@@ -399,9 +400,9 @@ TransactionHeaderPopupPaymentComponent.decorators = [
399
400
 
400
401
  <co-dialog
401
402
  class="payment-dialog"
403
+ *ngIf="showPaymentDialog"
402
404
  [modal]="true"
403
405
  [headerTemplate]="headerTemplate"
404
- *ngIf="showPaymentDialog"
405
406
  (closeClick)="handleCloseDialog()">
406
407
  <ng-template #headerTemplate>
407
408
  <div class="co-dialog-wrapper-popup-title">
@@ -417,8 +418,8 @@ TransactionHeaderPopupPaymentComponent.decorators = [
417
418
  [remainingPayment]="true"
418
419
  [currencyId]="transactionInfo.currencyId"
419
420
  [doNotFetchAmountToPayForRemaining]="true"
420
- [showPaymentDate]="true"
421
- ></co-payment>
421
+ [showPaymentDate]="true">
422
+ </co-payment>
422
423
  </co-dialog>
423
424
  `,
424
425
  encapsulation: ViewEncapsulation.None
@@ -441,4 +442,4 @@ TransactionHeaderPopupPaymentComponent.ctorParameters = () => [
441
442
  TransactionHeaderPopupPaymentComponent.propDecorators = {
442
443
  showClass: [{ type: HostBinding, args: ['class.co-transaction-header-popup-payment',] }]
443
444
  };
444
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLXBheW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24taGVhZGVyL3RyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC90cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtcGF5bWVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFxQixpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM5RyxPQUFPLEVBQUMsbUNBQW1DLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUc5RixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUNoSCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUN6RixPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUMxRyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFDL0UsT0FBTyxFQUFD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QUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN4SixJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDO1NBQzVCO0lBQ0gsQ0FBQzs7O1lBMWFGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUscUNBQXFDO2dCQUMvQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeU9UO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUExUE8sd0JBQXdCO1lBWHhCLHVCQUF1QjtZQUN2QixrQkFBa0I7WUFDbEIsZ0JBQWdCO1lBQ2hCLHFDQUFxQztZQUNyQyxpQkFBaUI7WUFDakIsdUJBQXVCO1lBVHZCLGlCQUFpQjtZQVVqQix3QkFBd0I7WUFDeEIsaUJBQWlCO1lBQ2pCLDBCQUEwQjtZQUMxQixrQ0FBa0M7Ozt3QkE4UHZDLFdBQVcsU0FBQywyQ0FBMkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSGVhZGVyUG9wdXBCYXNlQ29tcG9uZW50fSBmcm9tICcuL3RyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25EZXBvc2l0UGF5bWVudEluZm99IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1kZXBvc2l0LXBheW1lbnQtaW5mby5ibyc7XHJcbmltcG9ydCB7UGF5bWVudEFuYWx5c2lzfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGF5bWVudC1hbmFseXNpcy5ibyc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25FdmVudFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tZXZlbnQuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXNjcmVlbi1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbWFnZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24taW1hZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25EaWFsb2dTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWRpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHtGb3JtTWFzdGVyU2VydmljZX0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25SZWxhdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tcmVsYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25QYXltZW50Q29ubmVjdG9yU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1wYXltZW50LWNvbm5lY3Rvci5zZXJ2aWNlJztcclxuaW1wb3J0IHtJbnRlcm5hbFBhcmFtfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL2ludGVybmFsLXBhcmFtLmVudW0nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSGVhZGVyU2VydmljZX0gZnJvbSAnLi4vLi4vY29yZS9iYXNlL3NlcnZpY2UvdHJhbnNhY3Rpb24taGVhZGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7T2JqZWN0Q29uZmlndXJhdGlvbn0gZnJvbSAnQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvbW9kZWwvb2JqZWN0LWNvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQge0NvQ3VycmVuY3lQaXBlfSBmcm9tICcuLi8uLi8uLi9waXBlL2NvLWN1cnJlbmN5LnBpcGUnO1xyXG5pbXBvcnQge09yZGVyUGF5bWVudEFuYWx5c2lzfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvb3JkZXItcGF5bWVudC1hbmFseXNpcy5ibyc7XHJcbmltcG9ydCB7T3JkZXJQYXltZW50QW5hbHlzaXNGaWx0ZXJ9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9vcmRlci1wYXltZW50LWFuYWx5c2lzLWZpbHRlci5ibyc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25SZWdpc3RlcmVkUGF5bWVudEluZm99IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1yZWdpc3RlcmVkLXBheW1lbnQtaW5mby5ibyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBheW1lbnRDYXRlZ29yeSB7XHJcbiAgaW5kZXg6IG51bWJlcjtcclxuICB0aXRsZTogc3RyaW5nO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvLXRyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC1wYXltZW50JyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLWNhdGVnb3J5LXdyYXBwZXIgY28tc21hbGwtc2Nyb2xsYmFyXCI+XHJcbiAgICAgICAgICA8Y28tZm9ybT5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLXNlY3Rpb25cIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLXNlY3Rpb24tbGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic2hvd1BheURvd25MYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3RleHRDb250ZW50XT1cIidUT19QQVlfRE9XTicgfCBsb2NhbGl6ZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtdHdvLWNvbHVtbi1ncmlkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24taGVhZGVyLWRlcG9zaXQtcGVyY2VudGFnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5EZXBvc2l0UGVyY2VudGFnZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsb2NrQW5kU2F2ZV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRlcG9zaXRVcGRhdGVkKT1cInNob3dPdXRzdGFuZGluZ0Ftb3VudHMoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9jby10cmFuc2FjdGlvbi1oZWFkZXItZGVwb3NpdC1wZXJjZW50YWdlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWhlYWRlci1kZXBvc2l0LWFtb3VudCBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtdG90YWxzLXByaWNlIHByaWNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuRGVwb3NpdEFtb3VudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsb2NrQW5kU2F2ZV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJ1c2luZXNzUnVsZUFwcGxpZWQpPVwic2hvd0J1c2luZXNzUnVsZUluZm8gPSAkZXZlbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvY28tdHJhbnNhY3Rpb24taGVhZGVyLWRlcG9zaXQtYW1vdW50PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtdGhyZWUtY29sdW1uLWdyaWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1oZWFkZXItdXNlLWRlcG9zaXQtcnVsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRyYW5zYWN0aW9uSW5mby50cmFuc2FjdGlvbktpbmQgIT09IHRyYW5zS2luZC5QdXJjaGFzZU9yZGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuVXNlRGVwb3NpdFJ1bGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbG9ja0FuZFNhdmVdPVwiZmFsc2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvY28tdHJhbnNhY3Rpb24taGVhZGVyLXVzZS1kZXBvc2l0LXJ1bGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24taGVhZGVyLWF1dG8tcmVjYWxjdWxhdGUtZGVwb3NpdFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRyYW5zYWN0aW9uSW5mby50cmFuc2FjdGlvbktpbmQgIT09IHRyYW5zS2luZC5QdXJjaGFzZU9yZGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuQXV0b1JlY2FsY3VsYXRlRGVwb3NpdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsb2NrQW5kU2F2ZV09XCJmYWxzZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9jby10cmFuc2FjdGlvbi1oZWFkZXItYXV0by1yZWNhbGN1bGF0ZS1kZXBvc2l0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWhlYWRlci1kaXZpZGUtZXZlbmx5XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidHJhbnNhY3Rpb25JbmZvLnRyYW5zYWN0aW9uS2luZCAhPT0gdHJhbnNLaW5kLlB1cmNoYXNlT3JkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5EaXZpZGVFdmVubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbG9ja0FuZFNhdmVdPVwiZmFsc2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvY28tdHJhbnNhY3Rpb24taGVhZGVyLWRpdmlkZS1ldmVubHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLWJ1c2luZXNzLXJ1bGUtYXBwbGllZFwiICpuZ0lmPVwic2hvd0J1c2luZXNzUnVsZUluZm9cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28taWNvbiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNpcmNsZUV4Y2xhbWF0aW9uUmVndWxhcilcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIidERVBPU0lUX0JVU0lORVNTX1JVTEVfQVBQTElFRCcgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtdHdvLWNvbHVtbi1ncmlkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24taGVhZGVyLWFtb3VudC10by1zZXR0bGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuQW1vdW50VG9TZXR0bGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbG9ja0FuZFNhdmVdPVwiZmFsc2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvY28tdHJhbnNhY3Rpb24taGVhZGVyLWFtb3VudC10by1zZXR0bGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLWFscmVhZHktcGFpZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5Ub3RhbFBhaWREb3duXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInVE9UQUxfUEFJRF9ET1dOJyB8IGxvY2FsaXplXCIgW2ZvcmNlUmVhZG9ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZWxdPVwicGFpZERvd25cIiBbZm9ybWF0UGlwZV09XCJjdXJyZW5jeVBpcGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LXRleHRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLlNldHRsZWRTb0ZhclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1NFVFRMRURfU09fRkFSJyB8IGxvY2FsaXplXCIgW2ZvcmNlUmVhZG9ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZWxdPVwic2V0dGxlZFwiIFtmb3JtYXRQaXBlXT1cImN1cnJlbmN5UGlwZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtdHdvLWNvbHVtbi1ncmlkXCIgKm5nSWY9XCJzaG93Q2FzaE9uRGVsaXZlcnlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXNoLW9uLWRlbGl2ZXJ5LXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0NBU0hfT05fREVMSVZFUlknIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZvcmNlUmVhZG9ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJjYXNoT25EZWxpdmVyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybWF0UGlwZV09XCJjdXJyZW5jeVBpcGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzYXZlLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWlzRGlyZWN0U2VsbEVuYWJsZWQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlRydWNrTW92aW5nUmVndWxhcilcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNhc2hPbkRlbGl2ZXJ5TW9kYWxWaXNpYmxlID0gdHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2PjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC10d28tY29sdW1uLWdyaWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLlBheW1lbnRCdG5cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNjcmVlbkNvbmZpZ05hdGl2ZUVsZW1lbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24taGVhZGVyLXBheW1lbnQtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidHJhbnNhY3Rpb25JbmZvLnRyYW5zYWN0aW9uS2luZCAhPT0gdHJhbnNLaW5kLlB1cmNoYXNlT3JkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiKCdERUxJVkVSWV9UT1RBTCcgfCBsb2NhbGl6ZSkgfCBhcHBlbmQ6JyAvICcgfCBhcHBlbmQ6KCdUT19TRVRUTEUnIHwgbG9jYWxpemU6ZmFsc2UpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xvY2tBbmRTYXZlXT1cImZhbHNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWhlYWRlci1wYXltZW50LWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJwYXltZW50QW5hbHlzaXNcIiBjbGFzcz1cInRyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC1zZWN0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtc2VjdGlvbi1sYWJlbFwiIFt0ZXh0Q29udGVudF09XCInVE9fSU5WT0lDRScgfCBsb2NhbGl6ZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RpbGwtdG9wLXBheS1zdGF0c1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBheW1lbnQtaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBbdGV4dENvbnRlbnRdPVwiJ1RPX0JFX0lOVk9JQ0VEJyB8IGxvY2FsaXplXCI+PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYW1vdW50XCI+e3sgcGF5bWVudEFuYWx5c2lzPy50b3RhbFRvSW52b2ljZSB8IGNvQ3VycmVuY3k6dHJ1ZSB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGF5bWVudC1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIFt0ZXh0Q29udGVudF09XCInQUxSRUFEWV9JTlZPSUNFRCcgfCBsb2NhbGl6ZVwiPjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFtb3VudFwiPnt7IHBheW1lbnRBbmFseXNpcz8udG90YWxEZXBvc2l0SW52b2ljZSB8IGNvQ3VycmVuY3k6dHJ1ZSB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGF5bWVudC1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIFt0ZXh0Q29udGVudF09XCInU1RJTExfVE9fUEFZJyB8IGxvY2FsaXplXCI+PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYW1vdW50XCIgW2NsYXNzLm91dHN0YW5kaW5nXT1cInBheW1lbnRBbmFseXNpcz8udG90YWxUb1BheSA+IDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz57eyBwYXltZW50QW5hbHlzaXM/LnRvdGFsVG9QYXkgfCBjb0N1cnJlbmN5OnRydWUgfX08L3N0cm9uZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm9yZGVyUGF5bWVudEFuYWx5c2lzLmxlbmd0aCA+IDBcIiBjbGFzcz1cInBheW1lbnQtaW5mb3JtYXRpb25cIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2F2ZS1idXR0b24gcGF5bWVudC1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic2hvd1BheW1lbnRCdXR0b24oKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5DcmVkaXRDYXJkUmVndWxhcilcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuUGF5bWVudCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvY28tYnV0dG9uPlxyXG5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBheW1lbnQtY2F0ZWdvcmllc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInBheW1lbnQtY2F0ZWdvcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiYWN0aXZlQ2F0ZWdvcnkuaW5kZXggPT09IGNhdGVnb3J5LmluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNhdGVnb3J5IG9mIHBheW1lbnRDYXRlZ29yaWVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZUNhdGVnb3J5Q2xpY2soY2F0ZWdvcnkpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCIgW3RleHRDb250ZW50XT1cImNhdGVnb3J5LnRpdGxlIHwgbG9jYWxpemVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDx0YWJsZSAqbmdJZj1cImFjdGl2ZUNhdGVnb3J5LmluZGV4ID09PSAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwibGVmdFwiICpuZ0lmPVwic2hvd0ludm9pY2VTZWxlY3Rpb24oKVwiIFt0ZXh0Q29udGVudF09XCInUEFZJyB8IGxvY2FsaXplXCI+PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJsZWZ0XCIgW3RleHRDb250ZW50XT1cIidERVNDUklQVElPTicgfCBsb2NhbGl6ZVwiPjwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIFt0ZXh0Q29udGVudF09XCInQU1PVU5UMicgfCBsb2NhbGl6ZVwiPjwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIFt0ZXh0Q29udGVudF09XCInUEFJRCcgfCBsb2NhbGl6ZVwiPjwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIFt0ZXh0Q29udGVudF09XCInU0VUVExFRCcgfCBsb2NhbGl6ZVwiPjwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIFt0ZXh0Q29udGVudF09XCInT1VUU1RBTkRJTkcnIHwgbG9jYWxpemVcIj48L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IHBheW1lbnRJbmZvIG9mIG9yZGVyUGF5bWVudEFuYWx5c2lzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwibGVmdFwiICpuZ0lmPVwic2hvd0ludm9pY2VTZWxlY3Rpb24oKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28taW5wdXQtcmFkaW8tYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJwYXltZW50SW5mby50cmFuc2FjdGlvbktpbmQgPT09IHRyYW5zS2luZC5TYWxlc0ludm9pY2UgJiYgcGF5bWVudEluZm8ub3V0c3RhbmRpbmdBbW91bnQgPiAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRlZmF1bHQtd2lkdGhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInBheW1lbnRJbmZvLmlzU2VsZWN0ZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJoYW5kbGVTZWxlY3RJbnZvaWNlTGluZXMocGF5bWVudEluZm8pXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY28taW5wdXQtcmFkaW8tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwibGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicGF5bWVudEluZm8udHJhbnNhY3Rpb25LaW5kID09PSB0cmFuc0tpbmQuU2FsZXNPcmRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RleHRDb250ZW50XT1cIidERVBPU0lUJyB8IGxvY2FsaXplXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJwYXltZW50SW5mby50cmFuc2FjdGlvbktpbmQgPT09IHRyYW5zS2luZC5TYWxlc0ludm9pY2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiJ0lOVk9JQ0UnIHwgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+IHt7IHBheW1lbnRJbmZvLnRyYW5zYWN0aW9uTnVtYmVyIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPiB7eyBwYXltZW50SW5mby50cmFuc2FjdGlvbkRhdGUgfCBkYXRlOidkZC1NTS15eXl5JyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxzdHJvbmc+e3sgcGF5bWVudEluZm8uaW52b2ljZUFtb3VudCB8IGNvQ3VycmVuY3k6dHJ1ZSB9fTwvc3Ryb25nPjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIFtjbGFzcy5wYWlkXT1cInBheW1lbnRJbmZvLnBhaWRBbW91bnQgPiAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+e3sgcGF5bWVudEluZm8ucGFpZEFtb3VudCB8IGNvQ3VycmVuY3k6dHJ1ZSB9fTwvc3Ryb25nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7IHBheW1lbnRJbmZvLnNldHRsZWRBbW91bnQgfCBjb0N1cnJlbmN5OnRydWUgfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBbY2xhc3Mub3V0c3RhbmRpbmddPVwicGF5bWVudEluZm8ub3V0c3RhbmRpbmdBbW91bnQgPiAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+e3sgcGF5bWVudEluZm8ub3V0c3RhbmRpbmdBbW91bnQgfCBjb0N1cnJlbmN5OnRydWUgfX08L3N0cm9uZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgIDwvdGFibGU+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiYWN0aXZlQ2F0ZWdvcnkuaW5kZXggPT09IDFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxwXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicmVnaXN0ZXJlZFBheW1lbnRJbmZvICYmIHJlZ2lzdGVyZWRQYXltZW50SW5mby5wYXltZW50cy5sZW5ndGggPT09IDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGV4dENvbnRlbnRdPVwiJ05PVF9GT1VORCcgfCBsb2NhbGl6ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9wPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSAqbmdJZj1cInJlZ2lzdGVyZWRQYXltZW50SW5mbyAmJiByZWdpc3RlcmVkUGF5bWVudEluZm8ucGF5bWVudHMubGVuZ3RoID4gMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImxlZnRcIiBbdGV4dENvbnRlbnRdPVwiJ0RFU0NSSVBUSU9OJyB8IGxvY2FsaXplXCI+PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIFt0ZXh0Q29udGVudF09XCInQU1PVU5UMicgfCBsb2NhbGl6ZVwiPjwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBbdGV4dENvbnRlbnRdPVwiJ0RBVEUnIHwgbG9jYWxpemVcIj48L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBwYXltZW50SW5mbyBvZiByZWdpc3RlcmVkUGF5bWVudEluZm8ucGF5bWVudHNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwibGVmdFwiPnt7IHBheW1lbnRJbmZvLnJlZmVyZW5jZSB9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48c3Ryb25nPnt7IHBheW1lbnRJbmZvLmFtb3VudCB8IGNvQ3VycmVuY3k6dHJ1ZSB9fTwvc3Ryb25nPjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57eyBwYXltZW50SW5mby5wYXltZW50RGF0ZVRpbWUgfCBkYXRlOidkZC1NTS15eXl5JyB9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2NvLWZvcm0+XHJcblxyXG4gICAgICAgICAgPGNvLWNhc2gtb24tZGVsaXZlcnktbW9kYWxcclxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjYXNoT25EZWxpdmVyeU1vZGFsVmlzaWJsZVwiXHJcbiAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvbkluZm9VdWlkXT1cInRyYW5zYWN0aW9uSW5mby51dWlkXCJcclxuICAgICAgICAgICAgICAgICAgKGNhc2hBbW91bnQpPVwiZ2V0Q2FzaEFtb3VudCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgKHNob3dDYXNoT25EZWxpdmVyeU1vZGFsKT1cInNob3dDYXNoT25EZWxpdmVyeU1vZGFsKCRldmVudClcIj5cclxuICAgICAgICAgIDwvY28tY2FzaC1vbi1kZWxpdmVyeS1tb2RhbD5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8Y28tZGlhbG9nXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJwYXltZW50LWRpYWxvZ1wiXHJcbiAgICAgICAgICAgICAgW21vZGFsXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgIFtoZWFkZXJUZW1wbGF0ZV09XCJoZWFkZXJUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJzaG93UGF5bWVudERpYWxvZ1wiXHJcbiAgICAgICAgICAgICAgKGNsb3NlQ2xpY2spPVwiaGFuZGxlQ2xvc2VEaWFsb2coKVwiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNoZWFkZXJUZW1wbGF0ZT5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY28tZGlhbG9nLXdyYXBwZXItcG9wdXAtdGl0bGVcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5DcmVkaXRDYXJkUmVndWxhckNoZWNrKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvLWRpYWxvZy1oZWFkZXItdGl0bGVcIiBbdGV4dENvbnRlbnRdPVwiJ1BBWU1FTlRfTUVUSE9EJyB8IGxvY2FsaXplXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgPGNvLXBheW1lbnRcclxuICAgICAgICAgICAgICAgICAgW3RyYW5zSWRdPVwidHJhbnNhY3Rpb25JZFRvUGF5XCJcclxuICAgICAgICAgICAgICAgICAgW2JyYW5jaF09XCJ0cmFuc2FjdGlvbkluZm8uYnJhbmNoPy5yZWxhdGlvbk5yXCJcclxuICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uVXVpZF09XCJ0cmFuc2FjdGlvbkluZm8udXVpZFwiXHJcbiAgICAgICAgICAgICAgICAgIFthbW91bnRdPVwiY2hvc2VuQW1vdW50VG9QYXlcIlxyXG4gICAgICAgICAgICAgICAgICBbcmVtYWluaW5nUGF5bWVudF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgW2N1cnJlbmN5SWRdPVwidHJhbnNhY3Rpb25JbmZvLmN1cnJlbmN5SWRcIlxyXG4gICAgICAgICAgICAgICAgICBbZG9Ob3RGZXRjaEFtb3VudFRvUGF5Rm9yUmVtYWluaW5nXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICBbc2hvd1BheW1lbnREYXRlXT1cInRydWVcIlxyXG4gICAgICAgICAgPjwvY28tcGF5bWVudD5cclxuICAgICAgPC9jby1kaWFsb2c+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkhlYWRlclBvcHVwUGF5bWVudENvbXBvbmVudCBleHRlbmRzIFRyYW5zYWN0aW9uSGVhZGVyUG9wdXBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY28tdHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLXBheW1lbnQnKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjdXJyZW5jeVBpcGU6IHR5cGVvZiBDb0N1cnJlbmN5UGlwZSA9IENvQ3VycmVuY3lQaXBlO1xyXG4gIHB1YmxpYyBwYWlkRG93bjogbnVtYmVyID0gMDtcclxuICBwdWJsaWMgc2V0dGxlZDogbnVtYmVyID0gMDtcclxuICBwdWJsaWMgY2FzaE9uRGVsaXZlcnk6IG51bWJlciA9IDA7XHJcbiAgcHVibGljIHNob3dCdXNpbmVzc1J1bGVJbmZvOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dQYXlEb3duTGFiZWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgY2FzaE9uRGVsaXZlcnlNb2RhbFZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd0Nhc2hPbkRlbGl2ZXJ5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dQYXltZW50RGlhbG9nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgLy8gcHVibGljIG91dHN0YW5kaW5nQ3VzdG9tZXJBbW91bnQ6IE91dHN0YW5kaW5nQW1vdW50Q3VzdG9tZXJbXSA9IFtdO1xyXG4gIHB1YmxpYyBvcmRlclBheW1lbnRBbmFseXNpczogT3JkZXJQYXltZW50QW5hbHlzaXNbXSA9IFtdO1xyXG4gIHB1YmxpYyBwYXltZW50QW5hbHlzaXM6IFBheW1lbnRBbmFseXNpcztcclxuICBwdWJsaWMgcGF5bWVudENhdGVnb3JpZXM6IFBheW1lbnRDYXRlZ29yeVtdID0gW1xyXG4gICAge2luZGV4OiAwLCB0aXRsZTogJ1BBWU1FTlRfQU5BTFlTSVMnfSxcclxuICAgIHtpbmRleDogMSwgdGl0bGU6ICdQQVlNRU5UU19NQURFJ31cclxuICBdO1xyXG4gIHB1YmxpYyBhY3RpdmVDYXRlZ29yeTogUGF5bWVudENhdGVnb3J5ID0gdGhpcy5wYXltZW50Q2F0ZWdvcmllc1swXTtcclxuICBwdWJsaWMgY2hvc2VuQW1vdW50VG9QYXk6IG51bWJlcjtcclxuICBwdWJsaWMgdHJhbnNhY3Rpb25JZFRvUGF5OiBudW1iZXI7XHJcbiAgcHVibGljIHJlZ2lzdGVyZWRQYXltZW50SW5mbzogVHJhbnNhY3Rpb25SZWdpc3RlcmVkUGF5bWVudEluZm87XHJcblxyXG4gIHByaXZhdGUgX3BheW1lbnRTdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvbkhlYWRlclNlcnZpY2U6IFRyYW5zYWN0aW9uSGVhZGVyU2VydmljZSxcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvbkV2ZW50U2VydmljZTogVHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgc2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBkaWN0aW9uYXJ5U2VydmljZTogRGljdGlvbmFyeVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgaW1hZ2VTZXJ2aWNlOiBUcmFuc2FjdGlvbkltYWdlU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcm90ZWN0ZWQgZGlhbG9nU2VydmljZTogVHJhbnNhY3Rpb25EaWFsb2dTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGZvcm1NYXN0ZXJTZXJ2aWNlOiBGb3JtTWFzdGVyU2VydmljZSxcclxuICAgIHByb3RlY3RlZCByZWxhdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uUmVsYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcGF5bWVudENvbm5lY3RvclNlcnZpY2U6IFRyYW5zYWN0aW9uUGF5bWVudENvbm5lY3RvclNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKHRyYW5zYWN0aW9uSGVhZGVyU2VydmljZSwgdHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsIHNlcnZpY2UsIGljb25DYWNoZVNlcnZpY2UsIHRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UsIGRpY3Rpb25hcnlTZXJ2aWNlLCBpbWFnZVNlcnZpY2UsIGNoYW5nZURldGVjdG9yLCBkaWFsb2dTZXJ2aWNlLCBmb3JtTWFzdGVyU2VydmljZSwgcmVsYXRpb25TZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgYXdhaXQgc3VwZXIubmdPbkluaXQoKTtcclxuICAgIHRoaXMuX3BheW1lbnRTdWJzLnB1c2goXHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudFNlcnZpY2UudHJhbnNhY3Rpb25QYXltZW50RG9uZS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuX2dldERlcG9zaXRJbmZvKCk7XHJcbiAgICAgICAgdGhpcy5fZ2V0T3V0c3RhbmRpbmdBbW91bnRzKCk7XHJcbiAgICAgIH0pLFxyXG4gICAgICB0aGlzLnNjcmVlbkNvbmZpZ1NlcnZpY2UuY29uZmlnU2V0LnN1YnNjcmliZSgoY29uZmlnT2JqZWN0czogT2JqZWN0Q29uZmlndXJhdGlvbltdKSA9PiB0aGlzLl9nZXRPYmplY3RDb25maWd1cmF0aW9uKGNvbmZpZ09iamVjdHMpKVxyXG4gICAgKTtcclxuICAgIHRoaXMuc2hvd0Nhc2hPbkRlbGl2ZXJ5ID0gYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0SW50ZXJuYWxQYXJhbWV0ZXIoSW50ZXJuYWxQYXJhbS5TZWxsRGlyZWN0bHlGcm9tU3VwcGwpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgbmdPbkRlc3Ryb3koKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLl9wYXltZW50U3Vicy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcclxuICAgIGF3YWl0IHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQ2F0ZWdvcnlDbGljayhjYXQ6IFBheW1lbnRDYXRlZ29yeSk6IHZvaWQge1xyXG4gICAgdGhpcy5hY3RpdmVDYXRlZ29yeSA9IGNhdDtcclxuXHJcbiAgICBpZiAodGhpcy5hY3RpdmVDYXRlZ29yeS5pbmRleCA9PT0gMSkge1xyXG4gICAgICB0aGlzLl9nZXRSZWdpc3RlcmVkUGF5bWVudEluZm8oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBzaG93T3V0c3RhbmRpbmdBbW91bnRzKCkge1xyXG4gICAgYXdhaXQgdGhpcy5zZXJ2aWNlLnNhdmVUcmFuc2FjdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dDYXNoT25EZWxpdmVyeU1vZGFsKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmNhc2hPbkRlbGl2ZXJ5TW9kYWxWaXNpYmxlID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0Q2FzaEFtb3VudCh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmNhc2hPbkRlbGl2ZXJ5ID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd1BheW1lbnRCdXR0b24oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5vcmRlclBheW1lbnRBbmFseXNpcy5zb21lKHQgPT4gdC5vdXRzdGFuZGluZ0Ftb3VudCA+IDApICYmIHRoaXMuY2hvc2VuQW1vdW50VG9QYXkgPiAwO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIG9wZW5QYXltZW50KGV2ZW50OiBNb3VzZUV2ZW50KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uSWRUb1BheSA9IHRoaXMudHJhbnNhY3Rpb25JZFRvUGF5ID8/IHRoaXMudHJhbnNhY3Rpb25JbmZvLmlkO1xyXG4gICAgaWYgKHRoaXMub3JkZXJQYXltZW50QW5hbHlzaXMuZmlsdGVyKHBheW1lbnQgPT4gcGF5bWVudC50cmFuc2FjdGlvbktpbmQgPT09IHRoaXMudHJhbnNLaW5kLlNhbGVzSW52b2ljZSAmJiBwYXltZW50Lm91dHN0YW5kaW5nQW1vdW50ID4gMCkubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgIGNvbnN0IGxhc3RUcmFuc2FjdGlvbiA9IHRoaXMub3JkZXJQYXltZW50QW5hbHlzaXMuZmlsdGVyKHBheW1lbnQgPT4gcGF5bWVudC50cmFuc2FjdGlvbktpbmQgPT09IHRoaXMudHJhbnNLaW5kLlNhbGVzSW52b2ljZSAmJiBwYXltZW50Lm91dHN0YW5kaW5nQW1vdW50ID4gMClbMF07XHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25JZFRvUGF5ID0gbGFzdFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSWQ7XHJcbiAgICB9XHJcbiAgICBpZiAoYXdhaXQgdGhpcy5sb2NrVHJhbnNhY3Rpb24oKSkge1xyXG4gICAgICB0aGlzLnNob3dQYXltZW50RGlhbG9nID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVDbG9zZURpYWxvZygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd1BheW1lbnREaWFsb2cgPSBmYWxzZTtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLnJvbGxiYWNrKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNEaXJlY3RTZWxsRW5hYmxlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uTGluZXMuc29tZShsaW5lID0+IGxpbmUuZGlyZWN0U2VsbCAmJiBsaW5lLmRyb3BTaGlwbWVudCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd0ludm9pY2VTZWxlY3Rpb24oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5vcmRlclBheW1lbnRBbmFseXNpcy5maWx0ZXIocGF5bWVudCA9PiBwYXltZW50LnRyYW5zYWN0aW9uS2luZCA9PT0gdGhpcy50cmFuc0tpbmQuU2FsZXNJbnZvaWNlICYmIHBheW1lbnQub3V0c3RhbmRpbmdBbW91bnQgPiAwKS5sZW5ndGggPiAxO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVNlbGVjdEludm9pY2VMaW5lcyhwYXltZW50SW5mbzogT3JkZXJQYXltZW50QW5hbHlzaXMpOiB2b2lkIHtcclxuICAgIHRoaXMub3JkZXJQYXltZW50QW5hbHlzaXMuZm9yRWFjaChpbnZvaWNlID0+IChpbnZvaWNlIGFzIGFueSkuaXNTZWxlY3RlZCA9IGZhbHNlKTtcclxuICAgIChwYXltZW50SW5mbyBhcyBhbnkpLmlzU2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5jaG9zZW5BbW91bnRUb1BheSA9IHBheW1lbnRJbmZvLm91dHN0YW5kaW5nQW1vdW50O1xyXG4gICAgdGhpcy50cmFuc2FjdGlvbklkVG9QYXkgPSBwYXltZW50SW5mby50cmFuc2FjdGlvbklkO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHRyYW5zYWN0aW9uU2V0KCkge1xyXG4gICAgc3VwZXIudHJhbnNhY3Rpb25TZXQoKTtcclxuICAgIHRoaXMuX2dldERlcG9zaXRJbmZvKCk7XHJcbiAgICB0aGlzLl9nZXRPdXRzdGFuZGluZ0Ftb3VudHMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldERlcG9zaXRJbmZvKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcGF5bWVudENvbm5lY3RvclNlcnZpY2UuZ2V0RGVwb3NpdFBheW1lbnRJbmZvKHRoaXMudHJhbnNhY3Rpb25JbmZvLnV1aWQpLnRoZW4oKGluZm86IFRyYW5zYWN0aW9uRGVwb3NpdFBheW1lbnRJbmZvKSA9PiB7XHJcbiAgICAgIGlmIChpbmZvKSB7XHJcbiAgICAgICAgdGhpcy5wYWlkRG93biA9IGluZm8uZGVwb3NpdFBheW1lbnRBbW91bnRUb3RhbDtcclxuICAgICAgICB0aGlzLnNldHRsZWQgPSBpbmZvLmRlcG9zaXRBbW91bnRTZXR0bGVkO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldE91dHN0YW5kaW5nQW1vdW50cygpOiB2b2lkIHtcclxuICAgIC8vIGtlZXBpbmcgdGhpcyBmb3Igbm93LCBjb3VsZCBiZSB0aGF0IHdlIG5lZWQgdG8gdXNlIHRoaXMgY2FsbCBhZnRlciBhbGxcclxuICAgIC8vIGNvbnN0IG91dHN0YW5kaW5nQW1vdW50c1JlcXVlc3Q6IE91dHN0YW5kaW5nQW1vdW50RmlsdGVyQ3VzdG9tZXIgPSBuZXcgT3V0c3RhbmRpbmdBbW91bnRGaWx0ZXJDdXN0b21lcigpO1xyXG4gICAgLy8gb3V0c3RhbmRpbmdBbW91bnRzUmVxdWVzdC50cmFuc2FjdGlvbklkID0gdGhpcy50cmFuc2FjdGlvbkluZm8uaWQ7XHJcbiAgICAvLyB0aGlzLl9wYXltZW50Q29ubmVjdG9yU2VydmljZS5nZXRPdXRzdGFuZGluZ0N1c3RvbWVyQW1vdW50cyhvdXRzdGFuZGluZ0Ftb3VudHNSZXF1ZXN0KS50aGVuKChyZXNwb25zZTogT3V0c3RhbmRpbmdBbW91bnRDdXN0b21lcltdKSA9PiB7XHJcbiAgICAvLyAgIHRoaXMub3V0c3RhbmRpbmdDdXN0b21lckFtb3VudCA9IHJlc3BvbnNlO1xyXG4gICAgLy8gfSk7XHJcblxyXG4gICAgY29uc3QgcGF5bWVudEFuYWx5c2lzUmVxdWVzdDogT3JkZXJQYXltZW50QW5hbHlzaXNGaWx0ZXIgPSBuZXcgT3JkZXJQYXltZW50QW5hbHlzaXNGaWx0ZXIoKTtcclxuICAgIHBheW1lbnRBbmFseXNpc1JlcXVlc3QudHJhbnNhY3Rpb25JZCA9IHRoaXMudHJhbnNhY3Rpb25JbmZvLmlkO1xyXG4gICAgdGhpcy5fcGF5bWVudENvbm5lY3RvclNlcnZpY2UuZ2V0U2FsZXNPcmRlclBheW1lbnRBbmFseXNpcyhwYXltZW50QW5hbHlzaXNSZXF1ZXN0KS50aGVuKChyZXNwb25zZTogT3JkZXJQYXltZW50QW5hbHlzaXNbXSkgPT4ge1xyXG4gICAgICB0aGlzLm9yZGVyUGF5bWVudEFuYWx5c2lzID0gcmVzcG9uc2U7XHJcbiAgICAgIHRoaXMub3JkZXJQYXltZW50QW5hbHlzaXMgPSB0aGlzLm9yZGVyUGF5bWVudEFuYWx5c2lzLm1hcCh0cmFuc2FjdGlvbiA9PiAoe1xyXG4gICAgICAgIC4uLnRyYW5zYWN0aW9uLFxyXG4gICAgICAgIGlzU2VsZWN0ZWQ6IGZhbHNlXHJcbiAgICAgIH0pKSBhcyB1bmtub3duIGFzIE9yZGVyUGF5bWVudEFuYWx5c2lzW107XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLl9wYXltZW50Q29ubmVjdG9yU2VydmljZS5nZXRQYXltZW50QW5hbHlzaXModGhpcy50cmFuc2FjdGlvbkluZm8udXVpZCkudGhlbigocmVzcG9uc2U6IFBheW1lbnRBbmFseXNpcykgPT4ge1xyXG4gICAgICB0aGlzLnBheW1lbnRBbmFseXNpcyA9IHJlc3BvbnNlO1xyXG4gICAgICB0aGlzLmNob3NlbkFtb3VudFRvUGF5ID0gdGhpcy5wYXltZW50QW5hbHlzaXMudG90YWxUb1BheTtcclxuICAgICAgdGhpcy5fdXBkYXRlQ2hvc2VuQW1vdW50VG9QYXkoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfZ2V0UmVnaXN0ZXJlZFBheW1lbnRJbmZvKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3QgcGF5bWVudEluZm86IFRyYW5zYWN0aW9uUmVnaXN0ZXJlZFBheW1lbnRJbmZvID0gYXdhaXQgdGhpcy5fcGF5bWVudENvbm5lY3RvclNlcnZpY2UuZ2V0UmVnaXN0ZXJlZFBheW1lbnRJbmZvKHRoaXMudHJhbnNhY3Rpb25JbmZvLnV1aWQpO1xyXG4gICAgaWYgKHBheW1lbnRJbmZvKSB7XHJcbiAgICAgIHRoaXMucmVnaXN0ZXJlZFBheW1lbnRJbmZvID0gcGF5bWVudEluZm87XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZXRPYmplY3RDb25maWd1cmF0aW9uKGNvbmZpZ09iamVjdHM6IE9iamVjdENvbmZpZ3VyYXRpb25bXSk6IHZvaWQge1xyXG4gICAgaWYgKGNvbmZpZ09iamVjdHMgJiYgY29uZmlnT2JqZWN0cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuc2hvd1BheURvd25MYWJlbCA9IHRoaXMuc2NyZWVuQ29uZmlnU2VydmljZS5nZXRPYmplY3RDb25maWd1cmF0aW9uRm9yKHRoaXMuY2ZnTmFtZXMuRGVwb3NpdFBlcmNlbnRhZ2UpLmltbWVkaWF0ZWx5VmlzaWJsZSgpIHx8XHJcbiAgICAgICAgdGhpcy5zY3JlZW5Db25maWdTZXJ2aWNlLmdldE9iamVjdENvbmZpZ3VyYXRpb25Gb3IodGhpcy5jZmdOYW1lcy5EZXBvc2l0QW1vdW50KS5pbW1lZGlhdGVseVZpc2libGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3VwZGF0ZUNob3NlbkFtb3VudFRvUGF5KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMub3JkZXJQYXltZW50QW5hbHlzaXMuc29tZSh0ID0+IHQub3V0c3RhbmRpbmdBbW91bnQgPiAwKSAmJlxyXG4gICAgICB0aGlzLm9yZGVyUGF5bWVudEFuYWx5c2lzLmZpbHRlcihwYXltZW50ID0+IHBheW1lbnQudHJhbnNhY3Rpb25LaW5kID09PSB0aGlzLnRyYW5zS2luZC5TYWxlc0ludm9pY2UpLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLmNob3NlbkFtb3VudFRvUGF5ID0gdGhpcy5wYXltZW50QW5hbHlzaXMudG90YWxEZXBvc2l0O1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLm9yZGVyUGF5bWVudEFuYWx5c2lzLmZpbHRlcihwYXltZW50ID0+IChwYXltZW50LnRyYW5zYWN0aW9uS2luZCA9PT0gdGhpcy50cmFuc0tpbmQuU2FsZXNJbnZvaWNlKSAmJiAocGF5bWVudC5vdXRzdGFuZGluZ0Ftb3VudCA+IDApKS5sZW5ndGggPT09IDEpIHtcclxuICAgICAgY29uc3QgcmVtYWluaW5nSW52b2ljZSA9IHRoaXMub3JkZXJQYXltZW50QW5hbHlzaXMuZmlsdGVyKHBheW1lbnQgPT4gKHBheW1lbnQudHJhbnNhY3Rpb25LaW5kID09PSB0aGlzLnRyYW5zS2luZC5TYWxlc0ludm9pY2UpICYmIChwYXltZW50Lm91dHN0YW5kaW5nQW1vdW50ID4gMCkpWzBdO1xyXG4gICAgICB0aGlzLmNob3NlbkFtb3VudFRvUGF5ID0gcmVtYWluaW5nSW52b2ljZS5vdXRzdGFuZGluZ0Ftb3VudDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5vcmRlclBheW1lbnRBbmFseXNpcy5maWx0ZXIocGF5bWVudCA9PiAocGF5bWVudC50cmFuc2FjdGlvbktpbmQgPT09IHRoaXMudHJhbnNLaW5kLlNhbGVzSW52b2ljZSkgJiYgKHBheW1lbnQub3V0c3RhbmRpbmdBbW91bnQgPiAwKSkubGVuZ3RoID4gMSkge1xyXG4gICAgICB0aGlzLmNob3NlbkFtb3VudFRvUGF5ID0gMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
445
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLXBheW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24taGVhZGVyL3RyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC90cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtcGF5bWVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFxQixpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM5RyxPQUFPLEVBQUMsbUNBQW1DLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUc5RixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUNoSCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUN6RixPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUMxRyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFDL0UsT0FBTyxFQUFD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QU8sQ0FBQyxlQUFlLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDeEosSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMsQ0FBQztTQUM1QjtJQUNILENBQUM7OztZQTNhRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHFDQUFxQztnQkFDL0MsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlPVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBMVBPLHdCQUF3QjtZQVh4Qix1QkFBdUI7WUFDdkIsa0JBQWtCO1lBQ2xCLGdCQUFnQjtZQUNoQixxQ0FBcUM7WUFDckMsaUJBQWlCO1lBQ2pCLHVCQUF1QjtZQVR2QixpQkFBaUI7WUFVakIsd0JBQXdCO1lBQ3hCLGlCQUFpQjtZQUNqQiwwQkFBMEI7WUFDMUIsa0NBQWtDOzs7d0JBOFB2QyxXQUFXLFNBQUMsMkNBQTJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgT25EZXN0cm95LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlclBvcHVwQmFzZUNvbXBvbmVudH0gZnJvbSAnLi90cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRGVwb3NpdFBheW1lbnRJbmZvfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tZGVwb3NpdC1wYXltZW50LWluZm8uYm8nO1xyXG5pbXBvcnQge1BheW1lbnRBbmFseXNpc30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BheW1lbnQtYW5hbHlzaXMuYm8nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWV2ZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1zY3JlZW4tY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS9kaWN0aW9uYXJ5LnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSW1hZ2VTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWltYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRGlhbG9nU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1kaWFsb2cuc2VydmljZSc7XHJcbmltcG9ydCB7Rm9ybU1hc3RlclNlcnZpY2V9IGZyb20gJ0Bjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTInO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uUmVsYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXJlbGF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uUGF5bWVudENvbm5lY3RvclNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tcGF5bWVudC1jb25uZWN0b3Iuc2VydmljZSc7XHJcbmltcG9ydCB7SW50ZXJuYWxQYXJhbX0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS9pbnRlcm5hbC1wYXJhbS5lbnVtJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlclNlcnZpY2V9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS9zZXJ2aWNlL3RyYW5zYWN0aW9uLWhlYWRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge09iamVjdENvbmZpZ3VyYXRpb259IGZyb20gJ0Bjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL21vZGVsL29iamVjdC1jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHtDb0N1cnJlbmN5UGlwZX0gZnJvbSAnLi4vLi4vLi4vcGlwZS9jby1jdXJyZW5jeS5waXBlJztcclxuaW1wb3J0IHtPcmRlclBheW1lbnRBbmFseXNpc30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL29yZGVyLXBheW1lbnQtYW5hbHlzaXMuYm8nO1xyXG5pbXBvcnQge09yZGVyUGF5bWVudEFuYWx5c2lzRmlsdGVyfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvb3JkZXItcGF5bWVudC1hbmFseXNpcy1maWx0ZXIuYm8nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uUmVnaXN0ZXJlZFBheW1lbnRJbmZvfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tcmVnaXN0ZXJlZC1wYXltZW50LWluZm8uYm8nO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQYXltZW50Q2F0ZWdvcnkge1xyXG4gIGluZGV4OiBudW1iZXI7XHJcbiAgdGl0bGU6IHN0cmluZztcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjby10cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtcGF5bWVudCcsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC1jYXRlZ29yeS13cmFwcGVyIGNvLXNtYWxsLXNjcm9sbGJhclwiPlxyXG4gICAgICAgICAgPGNvLWZvcm0+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC1zZWN0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC1zZWN0aW9uLWxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dQYXlEb3duTGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCInVE9fUEFZX0RPV04nIHwgbG9jYWxpemVcIj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLXR3by1jb2x1bW4tZ3JpZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWhlYWRlci1kZXBvc2l0LXBlcmNlbnRhZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuRGVwb3NpdFBlcmNlbnRhZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbG9ja0FuZFNhdmVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkZXBvc2l0VXBkYXRlZCk9XCJzaG93T3V0c3RhbmRpbmdBbW91bnRzKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvY28tdHJhbnNhY3Rpb24taGVhZGVyLWRlcG9zaXQtcGVyY2VudGFnZT5cclxuICAgICAgICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1oZWFkZXItZGVwb3NpdC1hbW91bnQgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLXRvdGFscy1wcmljZSBwcmljZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkRlcG9zaXRBbW91bnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbG9ja0FuZFNhdmVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChidXNpbmVzc1J1bGVBcHBsaWVkKT1cInNob3dCdXNpbmVzc1J1bGVJbmZvID0gJGV2ZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWhlYWRlci1kZXBvc2l0LWFtb3VudD5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLXRocmVlLWNvbHVtbi1ncmlkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24taGVhZGVyLXVzZS1kZXBvc2l0LXJ1bGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0cmFuc2FjdGlvbkluZm8udHJhbnNhY3Rpb25LaW5kICE9PSB0cmFuc0tpbmQuUHVyY2hhc2VPcmRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLlVzZURlcG9zaXRSdWxlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xvY2tBbmRTYXZlXT1cImZhbHNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWhlYWRlci11c2UtZGVwb3NpdC1ydWxlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWhlYWRlci1hdXRvLXJlY2FsY3VsYXRlLWRlcG9zaXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0cmFuc2FjdGlvbkluZm8udHJhbnNhY3Rpb25LaW5kICE9PSB0cmFuc0tpbmQuUHVyY2hhc2VPcmRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkF1dG9SZWNhbGN1bGF0ZURlcG9zaXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbG9ja0FuZFNhdmVdPVwiZmFsc2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvY28tdHJhbnNhY3Rpb24taGVhZGVyLWF1dG8tcmVjYWxjdWxhdGUtZGVwb3NpdD5cclxuICAgICAgICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1oZWFkZXItZGl2aWRlLWV2ZW5seVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRyYW5zYWN0aW9uSW5mby50cmFuc2FjdGlvbktpbmQgIT09IHRyYW5zS2luZC5QdXJjaGFzZU9yZGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuRGl2aWRlRXZlbmx5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xvY2tBbmRTYXZlXT1cImZhbHNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWhlYWRlci1kaXZpZGUtZXZlbmx5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC1idXNpbmVzcy1ydWxlLWFwcGxpZWRcIiAqbmdJZj1cInNob3dCdXNpbmVzc1J1bGVJbmZvXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5DaXJjbGVFeGNsYW1hdGlvblJlZ3VsYXIpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCInREVQT1NJVF9CVVNJTkVTU19SVUxFX0FQUExJRUQnIHwgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLXR3by1jb2x1bW4tZ3JpZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWhlYWRlci1hbW91bnQtdG8tc2V0dGxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkFtb3VudFRvU2V0dGxlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xvY2tBbmRTYXZlXT1cImZhbHNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWhlYWRlci1hbW91bnQtdG8tc2V0dGxlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC1hbHJlYWR5LXBhaWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28taW5wdXQtdGV4dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuVG90YWxQYWlkRG93blwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1RPVEFMX1BBSURfRE9XTicgfCBsb2NhbGl6ZVwiIFtmb3JjZVJlYWRvbmx5XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cInBhaWREb3duXCIgW2Zvcm1hdFBpcGVdPVwiY3VycmVuY3lQaXBlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5TZXR0bGVkU29GYXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidTRVRUTEVEX1NPX0ZBUicgfCBsb2NhbGl6ZVwiIFtmb3JjZVJlYWRvbmx5XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cInNldHRsZWRcIiBbZm9ybWF0UGlwZV09XCJjdXJyZW5jeVBpcGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLXR3by1jb2x1bW4tZ3JpZFwiICpuZ0lmPVwic2hvd0Nhc2hPbkRlbGl2ZXJ5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FzaC1vbi1kZWxpdmVyeS1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28taW5wdXQtdGV4dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidDQVNIX09OX0RFTElWRVJZJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JjZVJlYWRvbmx5XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwiY2FzaE9uRGVsaXZlcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1hdFBpcGVdPVwiY3VycmVuY3lQaXBlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxjby1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2F2ZS1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc0RpcmVjdFNlbGxFbmFibGVkKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5UcnVja01vdmluZ1JlZ3VsYXIpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjYXNoT25EZWxpdmVyeU1vZGFsVmlzaWJsZSA9IHRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtdHdvLWNvbHVtbi1ncmlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5QYXltZW50QnRuXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JlZW5Db25maWdOYXRpdmVFbGVtZW50PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWhlYWRlci1wYXltZW50LWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRyYW5zYWN0aW9uSW5mby50cmFuc2FjdGlvbktpbmQgIT09IHRyYW5zS2luZC5QdXJjaGFzZU9yZGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIignREVMSVZFUllfVE9UQUwnIHwgbG9jYWxpemUpIHwgYXBwZW5kOicgLyAnIHwgYXBwZW5kOignVE9fU0VUVExFJyB8IGxvY2FsaXplOmZhbHNlKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsb2NrQW5kU2F2ZV09XCJmYWxzZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9jby10cmFuc2FjdGlvbi1oZWFkZXItcGF5bWVudC1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicGF5bWVudEFuYWx5c2lzXCIgY2xhc3M9XCJ0cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtc2VjdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLXNlY3Rpb24tbGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ1RPX0lOVk9JQ0UnIHwgbG9jYWxpemVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0aWxsLXRvcC1wYXktc3RhdHNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgW3RleHRDb250ZW50XT1cIidUT19CRV9JTlZPSUNFRCcgfCBsb2NhbGl6ZVwiPjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFtb3VudFwiPnt7IHBheW1lbnRBbmFseXNpcz8udG90YWxUb0ludm9pY2UgfCBjb0N1cnJlbmN5OnRydWUgfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBheW1lbnQtaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBbdGV4dENvbnRlbnRdPVwiJ0FMUkVBRFlfSU5WT0lDRUQnIHwgbG9jYWxpemVcIj48L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbW91bnRcIj57eyBwYXltZW50QW5hbHlzaXM/LnRvdGFsRGVwb3NpdEludm9pY2UgfCBjb0N1cnJlbmN5OnRydWUgfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBheW1lbnQtaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBbdGV4dENvbnRlbnRdPVwiJ1NUSUxMX1RPX1BBWScgfCBsb2NhbGl6ZVwiPjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFtb3VudFwiIFtjbGFzcy5vdXRzdGFuZGluZ109XCJwYXltZW50QW5hbHlzaXM/LnRvdGFsVG9QYXkgPiAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+e3sgcGF5bWVudEFuYWx5c2lzPy50b3RhbFRvUGF5IHwgY29DdXJyZW5jeTp0cnVlIH19PC9zdHJvbmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvcmRlclBheW1lbnRBbmFseXNpcy5sZW5ndGggPiAwXCIgY2xhc3M9XCJwYXltZW50LWluZm9ybWF0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNhdmUtYnV0dG9uIHBheW1lbnQtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dQYXltZW50QnV0dG9uKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ3JlZGl0Q2FyZFJlZ3VsYXIpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlblBheW1lbnQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L2NvLWJ1dHRvbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LWNhdGVnb3JpZXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwYXltZW50LWNhdGVnb3J5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cImFjdGl2ZUNhdGVnb3J5LmluZGV4ID09PSBjYXRlZ29yeS5pbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjYXRlZ29yeSBvZiBwYXltZW50Q2F0ZWdvcmllc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVDYXRlZ29yeUNsaWNrKGNhdGVnb3J5KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiIFt0ZXh0Q29udGVudF09XCJjYXRlZ29yeS50aXRsZSB8IGxvY2FsaXplXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8dGFibGUgKm5nSWY9XCJhY3RpdmVDYXRlZ29yeS5pbmRleCA9PT0gMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImxlZnRcIiAqbmdJZj1cInNob3dJbnZvaWNlU2VsZWN0aW9uKClcIiBbdGV4dENvbnRlbnRdPVwiJ1BBWScgfCBsb2NhbGl6ZVwiPjwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwibGVmdFwiIFt0ZXh0Q29udGVudF09XCInREVTQ1JJUFRJT04nIHwgbG9jYWxpemVcIj48L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBbdGV4dENvbnRlbnRdPVwiJ0FNT1VOVDInIHwgbG9jYWxpemVcIj48L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBbdGV4dENvbnRlbnRdPVwiJ1BBSUQnIHwgbG9jYWxpemVcIj48L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBbdGV4dENvbnRlbnRdPVwiJ1NFVFRMRUQnIHwgbG9jYWxpemVcIj48L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBbdGV4dENvbnRlbnRdPVwiJ09VVFNUQU5ESU5HJyB8IGxvY2FsaXplXCI+PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBwYXltZW50SW5mbyBvZiBvcmRlclBheW1lbnRBbmFseXNpc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImxlZnRcIiAqbmdJZj1cInNob3dJbnZvaWNlU2VsZWN0aW9uKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LXJhZGlvLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicGF5bWVudEluZm8udHJhbnNhY3Rpb25LaW5kID09PSB0cmFuc0tpbmQuU2FsZXNJbnZvaWNlICYmIHBheW1lbnRJbmZvLm91dHN0YW5kaW5nQW1vdW50ID4gMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkZWZhdWx0LXdpZHRoXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJwYXltZW50SW5mby5pc1NlbGVjdGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlU2VsZWN0SW52b2ljZUxpbmVzKHBheW1lbnRJbmZvKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvLWlucHV0LXJhZGlvLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImxlZnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInBheW1lbnRJbmZvLnRyYW5zYWN0aW9uS2luZCA9PT0gdHJhbnNLaW5kLlNhbGVzT3JkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCInREVQT1NJVCcgfCBsb2NhbGl6ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwicGF5bWVudEluZm8udHJhbnNhY3Rpb25LaW5kID09PSB0cmFuc0tpbmQuU2FsZXNJbnZvaWNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIidJTlZPSUNFJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPiB7eyBwYXltZW50SW5mby50cmFuc2FjdGlvbk51bWJlciB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj4ge3sgcGF5bWVudEluZm8udHJhbnNhY3Rpb25EYXRlIHwgZGF0ZTonZGQtTU0teXl5eScgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48c3Ryb25nPnt7IHBheW1lbnRJbmZvLmludm9pY2VBbW91bnQgfCBjb0N1cnJlbmN5OnRydWUgfX08L3N0cm9uZz48L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBbY2xhc3MucGFpZF09XCJwYXltZW50SW5mby5wYWlkQW1vdW50ID4gMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPnt7IHBheW1lbnRJbmZvLnBhaWRBbW91bnQgfCBjb0N1cnJlbmN5OnRydWUgfX08L3N0cm9uZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57eyBwYXltZW50SW5mby5zZXR0bGVkQW1vdW50IHwgY29DdXJyZW5jeTp0cnVlIH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgW2NsYXNzLm91dHN0YW5kaW5nXT1cInBheW1lbnRJbmZvLm91dHN0YW5kaW5nQW1vdW50ID4gMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPnt7IHBheW1lbnRJbmZvLm91dHN0YW5kaW5nQW1vdW50IHwgY29DdXJyZW5jeTp0cnVlIH19PC9zdHJvbmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICAgICAgICAgICA8L3RhYmxlPlxyXG5cclxuICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImFjdGl2ZUNhdGVnb3J5LmluZGV4ID09PSAxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8cFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInJlZ2lzdGVyZWRQYXltZW50SW5mbyAmJiByZWdpc3RlcmVkUGF5bWVudEluZm8ucGF5bWVudHMubGVuZ3RoID09PSAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RleHRDb250ZW50XT1cIidOT1RfRk9VTkQnIHwgbG9jYWxpemVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvcD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgKm5nSWY9XCJyZWdpc3RlcmVkUGF5bWVudEluZm8gJiYgcmVnaXN0ZXJlZFBheW1lbnRJbmZvLnBheW1lbnRzLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJsZWZ0XCIgW3RleHRDb250ZW50XT1cIidERVNDUklQVElPTicgfCBsb2NhbGl6ZVwiPjwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBbdGV4dENvbnRlbnRdPVwiJ0FNT1VOVDInIHwgbG9jYWxpemVcIj48L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggW3RleHRDb250ZW50XT1cIidEQVRFJyB8IGxvY2FsaXplXCI+PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgcGF5bWVudEluZm8gb2YgcmVnaXN0ZXJlZFBheW1lbnRJbmZvLnBheW1lbnRzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImxlZnRcIj57eyBwYXltZW50SW5mby5yZWZlcmVuY2UgfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PHN0cm9uZz57eyBwYXltZW50SW5mby5hbW91bnQgfCBjb0N1cnJlbmN5OnRydWUgfX08L3N0cm9uZz48L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3sgcGF5bWVudEluZm8ucGF5bWVudERhdGVUaW1lIHwgZGF0ZTonZGQtTU0teXl5eScgfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9jby1mb3JtPlxyXG5cclxuICAgICAgICAgIDxjby1jYXNoLW9uLWRlbGl2ZXJ5LW1vZGFsXHJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2FzaE9uRGVsaXZlcnlNb2RhbFZpc2libGVcIlxyXG4gICAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25JbmZvVXVpZF09XCJ0cmFuc2FjdGlvbkluZm8udXVpZFwiXHJcbiAgICAgICAgICAgICAgICAgIChjYXNoQW1vdW50KT1cImdldENhc2hBbW91bnQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgIChzaG93Q2FzaE9uRGVsaXZlcnlNb2RhbCk9XCJzaG93Q2FzaE9uRGVsaXZlcnlNb2RhbCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICA8L2NvLWNhc2gtb24tZGVsaXZlcnktbW9kYWw+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGNvLWRpYWxvZ1xyXG4gICAgICAgICAgICAgIGNsYXNzPVwicGF5bWVudC1kaWFsb2dcIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwic2hvd1BheW1lbnREaWFsb2dcIlxyXG4gICAgICAgICAgICAgIFttb2RhbF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICBbaGVhZGVyVGVtcGxhdGVdPVwiaGVhZGVyVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgIChjbG9zZUNsaWNrKT1cImhhbmRsZUNsb3NlRGlhbG9nKClcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyVGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvLWRpYWxvZy13cmFwcGVyLXBvcHVwLXRpdGxlXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1pY29uIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ3JlZGl0Q2FyZFJlZ3VsYXJDaGVjaylcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctaGVhZGVyLXRpdGxlXCIgW3RleHRDb250ZW50XT1cIidQQVlNRU5UX01FVEhPRCcgfCBsb2NhbGl6ZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDxjby1wYXltZW50XHJcbiAgICAgICAgICAgICAgICAgIFt0cmFuc0lkXT1cInRyYW5zYWN0aW9uSWRUb1BheVwiXHJcbiAgICAgICAgICAgICAgICAgIFticmFuY2hdPVwidHJhbnNhY3Rpb25JbmZvLmJyYW5jaD8ucmVsYXRpb25OclwiXHJcbiAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvblV1aWRdPVwidHJhbnNhY3Rpb25JbmZvLnV1aWRcIlxyXG4gICAgICAgICAgICAgICAgICBbYW1vdW50XT1cImNob3NlbkFtb3VudFRvUGF5XCJcclxuICAgICAgICAgICAgICAgICAgW3JlbWFpbmluZ1BheW1lbnRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtjdXJyZW5jeUlkXT1cInRyYW5zYWN0aW9uSW5mby5jdXJyZW5jeUlkXCJcclxuICAgICAgICAgICAgICAgICAgW2RvTm90RmV0Y2hBbW91bnRUb1BheUZvclJlbWFpbmluZ109XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgW3Nob3dQYXltZW50RGF0ZV09XCJ0cnVlXCI+XHJcbiAgICAgICAgICA8L2NvLXBheW1lbnQ+XHJcbiAgICAgIDwvY28tZGlhbG9nPlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25IZWFkZXJQb3B1cFBheW1lbnRDb21wb25lbnQgZXh0ZW5kcyBUcmFuc2FjdGlvbkhlYWRlclBvcHVwQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLXRyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC1wYXltZW50JylcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY3VycmVuY3lQaXBlOiB0eXBlb2YgQ29DdXJyZW5jeVBpcGUgPSBDb0N1cnJlbmN5UGlwZTtcclxuICBwdWJsaWMgcGFpZERvd246IG51bWJlciA9IDA7XHJcbiAgcHVibGljIHNldHRsZWQ6IG51bWJlciA9IDA7XHJcbiAgcHVibGljIGNhc2hPbkRlbGl2ZXJ5OiBudW1iZXIgPSAwO1xyXG4gIHB1YmxpYyBzaG93QnVzaW5lc3NSdWxlSW5mbzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93UGF5RG93bkxhYmVsOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGNhc2hPbkRlbGl2ZXJ5TW9kYWxWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dDYXNoT25EZWxpdmVyeTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93UGF5bWVudERpYWxvZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIC8vIHB1YmxpYyBvdXRzdGFuZGluZ0N1c3RvbWVyQW1vdW50OiBPdXRzdGFuZGluZ0Ftb3VudEN1c3RvbWVyW10gPSBbXTtcclxuICBwdWJsaWMgb3JkZXJQYXltZW50QW5hbHlzaXM6IE9yZGVyUGF5bWVudEFuYWx5c2lzW10gPSBbXTtcclxuICBwdWJsaWMgcGF5bWVudEFuYWx5c2lzOiBQYXltZW50QW5hbHlzaXM7XHJcbiAgcHVibGljIHBheW1lbnRDYXRlZ29yaWVzOiBQYXltZW50Q2F0ZWdvcnlbXSA9IFtcclxuICAgIHtpbmRleDogMCwgdGl0bGU6ICdQQVlNRU5UX0FOQUxZU0lTJ30sXHJcbiAgICB7aW5kZXg6IDEsIHRpdGxlOiAnUEFZTUVOVFNfTUFERSd9XHJcbiAgXTtcclxuICBwdWJsaWMgYWN0aXZlQ2F0ZWdvcnk6IFBheW1lbnRDYXRlZ29yeSA9IHRoaXMucGF5bWVudENhdGVnb3JpZXNbMF07XHJcbiAgcHVibGljIGNob3NlbkFtb3VudFRvUGF5OiBudW1iZXI7XHJcbiAgcHVibGljIHRyYW5zYWN0aW9uSWRUb1BheTogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWdpc3RlcmVkUGF5bWVudEluZm86IFRyYW5zYWN0aW9uUmVnaXN0ZXJlZFBheW1lbnRJbmZvO1xyXG5cclxuICBwcml2YXRlIF9wYXltZW50U3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgdHJhbnNhY3Rpb25IZWFkZXJTZXJ2aWNlOiBUcmFuc2FjdGlvbkhlYWRlclNlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNhY3Rpb25FdmVudFNlcnZpY2U6IFRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLFxyXG4gICAgcHVibGljIHNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZSxcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgZGljdGlvbmFyeVNlcnZpY2U6IERpY3Rpb25hcnlTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGltYWdlU2VydmljZTogVHJhbnNhY3Rpb25JbWFnZVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJvdGVjdGVkIGRpYWxvZ1NlcnZpY2U6IFRyYW5zYWN0aW9uRGlhbG9nU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBmb3JtTWFzdGVyU2VydmljZTogRm9ybU1hc3RlclNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgcmVsYXRpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblJlbGF0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX3BheW1lbnRDb25uZWN0b3JTZXJ2aWNlOiBUcmFuc2FjdGlvblBheW1lbnRDb25uZWN0b3JTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcih0cmFuc2FjdGlvbkhlYWRlclNlcnZpY2UsIHRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLCBzZXJ2aWNlLCBpY29uQ2FjaGVTZXJ2aWNlLCB0cmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlLCBkaWN0aW9uYXJ5U2VydmljZSwgaW1hZ2VTZXJ2aWNlLCBjaGFuZ2VEZXRlY3RvciwgZGlhbG9nU2VydmljZSwgZm9ybU1hc3RlclNlcnZpY2UsIHJlbGF0aW9uU2VydmljZSk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGF3YWl0IHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICB0aGlzLl9wYXltZW50U3Vicy5wdXNoKFxyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLnRyYW5zYWN0aW9uUGF5bWVudERvbmUuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLl9nZXREZXBvc2l0SW5mbygpO1xyXG4gICAgICAgIHRoaXMuX2dldE91dHN0YW5kaW5nQW1vdW50cygpO1xyXG4gICAgICAgIHRoaXMuaGFuZGxlQ2xvc2VEaWFsb2coKTtcclxuICAgICAgfSksXHJcbiAgICAgIHRoaXMuc2NyZWVuQ29uZmlnU2VydmljZS5jb25maWdTZXQuc3Vic2NyaWJlKChjb25maWdPYmplY3RzOiBPYmplY3RDb25maWd1cmF0aW9uW10pID0+IHRoaXMuX2dldE9iamVjdENvbmZpZ3VyYXRpb24oY29uZmlnT2JqZWN0cykpXHJcbiAgICApO1xyXG4gICAgdGhpcy5zaG93Q2FzaE9uRGVsaXZlcnkgPSBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRJbnRlcm5hbFBhcmFtZXRlcihJbnRlcm5hbFBhcmFtLlNlbGxEaXJlY3RseUZyb21TdXBwbCk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBuZ09uRGVzdHJveSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuX3BheW1lbnRTdWJzLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgYXdhaXQgc3VwZXIubmdPbkRlc3Ryb3koKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVDYXRlZ29yeUNsaWNrKGNhdDogUGF5bWVudENhdGVnb3J5KTogdm9pZCB7XHJcbiAgICB0aGlzLmFjdGl2ZUNhdGVnb3J5ID0gY2F0O1xyXG5cclxuICAgIGlmICh0aGlzLmFjdGl2ZUNhdGVnb3J5LmluZGV4ID09PSAxKSB7XHJcbiAgICAgIHRoaXMuX2dldFJlZ2lzdGVyZWRQYXltZW50SW5mbygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHNob3dPdXRzdGFuZGluZ0Ftb3VudHMoKSB7XHJcbiAgICBhd2FpdCB0aGlzLnNlcnZpY2Uuc2F2ZVRyYW5zYWN0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd0Nhc2hPbkRlbGl2ZXJ5TW9kYWwodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuY2FzaE9uRGVsaXZlcnlNb2RhbFZpc2libGUgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRDYXNoQW1vdW50KHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuY2FzaE9uRGVsaXZlcnkgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93UGF5bWVudEJ1dHRvbigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLm9yZGVyUGF5bWVudEFuYWx5c2lzLnNvbWUodCA9PiB0Lm91dHN0YW5kaW5nQW1vdW50ICE9PSAwKSAmJiB0aGlzLmNob3NlbkFtb3VudFRvUGF5ICE9PSAwO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIG9wZW5QYXltZW50KGV2ZW50OiBNb3VzZUV2ZW50KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uSWRUb1BheSA9IHRoaXMudHJhbnNhY3Rpb25JZFRvUGF5ID8/IHRoaXMudHJhbnNhY3Rpb25JbmZvLmlkO1xyXG4gICAgaWYgKHRoaXMub3JkZXJQYXltZW50QW5hbHlzaXMuZmlsdGVyKHBheW1lbnQgPT4gcGF5bWVudC50cmFuc2FjdGlvbktpbmQgPT09IHRoaXMudHJhbnNLaW5kLlNhbGVzSW52b2ljZSAmJiBwYXltZW50Lm91dHN0YW5kaW5nQW1vdW50ID4gMCkubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgIGNvbnN0IGxhc3RUcmFuc2FjdGlvbiA9IHRoaXMub3JkZXJQYXltZW50QW5hbHlzaXMuZmlsdGVyKHBheW1lbnQgPT4gcGF5bWVudC50cmFuc2FjdGlvbktpbmQgPT09IHRoaXMudHJhbnNLaW5kLlNhbGVzSW52b2ljZSAmJiBwYXltZW50Lm91dHN0YW5kaW5nQW1vdW50ID4gMClbMF07XHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25JZFRvUGF5ID0gbGFzdFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSWQ7XHJcbiAgICB9XHJcbiAgICBpZiAoYXdhaXQgdGhpcy5sb2NrVHJhbnNhY3Rpb24oKSkge1xyXG4gICAgICB0aGlzLnNob3dQYXltZW50RGlhbG9nID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVDbG9zZURpYWxvZygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd1BheW1lbnREaWFsb2cgPSBmYWxzZTtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLnJvbGxiYWNrKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNEaXJlY3RTZWxsRW5hYmxlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uTGluZXMuc29tZShsaW5lID0+IGxpbmUuZGlyZWN0U2VsbCAmJiBsaW5lLmRyb3BTaGlwbWVudCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd0ludm9pY2VTZWxlY3Rpb24oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5vcmRlclBheW1lbnRBbmFseXNpcy5maWx0ZXIocGF5bWVudCA9PiBwYXltZW50LnRyYW5zYWN0aW9uS2luZCA9PT0gdGhpcy50cmFuc0tpbmQuU2FsZXNJbnZvaWNlICYmIHBheW1lbnQub3V0c3RhbmRpbmdBbW91bnQgPiAwKS5sZW5ndGggPiAxO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVNlbGVjdEludm9pY2VMaW5lcyhwYXltZW50SW5mbzogT3JkZXJQYXltZW50QW5hbHlzaXMpOiB2b2lkIHtcclxuICAgIHRoaXMub3JkZXJQYXltZW50QW5hbHlzaXMuZm9yRWFjaChpbnZvaWNlID0+IChpbnZvaWNlIGFzIGFueSkuaXNTZWxlY3RlZCA9IGZhbHNlKTtcclxuICAgIChwYXltZW50SW5mbyBhcyBhbnkpLmlzU2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5jaG9zZW5BbW91bnRUb1BheSA9IHBheW1lbnRJbmZvLm91dHN0YW5kaW5nQW1vdW50O1xyXG4gICAgdGhpcy50cmFuc2FjdGlvbklkVG9QYXkgPSBwYXltZW50SW5mby50cmFuc2FjdGlvbklkO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHRyYW5zYWN0aW9uU2V0KCkge1xyXG4gICAgc3VwZXIudHJhbnNhY3Rpb25TZXQoKTtcclxuICAgIHRoaXMuX2dldERlcG9zaXRJbmZvKCk7XHJcbiAgICB0aGlzLl9nZXRPdXRzdGFuZGluZ0Ftb3VudHMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldERlcG9zaXRJbmZvKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcGF5bWVudENvbm5lY3RvclNlcnZpY2UuZ2V0RGVwb3NpdFBheW1lbnRJbmZvKHRoaXMudHJhbnNhY3Rpb25JbmZvLnV1aWQpLnRoZW4oKGluZm86IFRyYW5zYWN0aW9uRGVwb3NpdFBheW1lbnRJbmZvKSA9PiB7XHJcbiAgICAgIGlmIChpbmZvKSB7XHJcbiAgICAgICAgdGhpcy5wYWlkRG93biA9IGluZm8uZGVwb3NpdFBheW1lbnRBbW91bnRUb3RhbDtcclxuICAgICAgICB0aGlzLnNldHRsZWQgPSBpbmZvLmRlcG9zaXRBbW91bnRTZXR0bGVkO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldE91dHN0YW5kaW5nQW1vdW50cygpOiB2b2lkIHtcclxuICAgIC8vIGtlZXBpbmcgdGhpcyBmb3Igbm93LCBjb3VsZCBiZSB0aGF0IHdlIG5lZWQgdG8gdXNlIHRoaXMgY2FsbCBhZnRlciBhbGxcclxuICAgIC8vIGNvbnN0IG91dHN0YW5kaW5nQW1vdW50c1JlcXVlc3Q6IE91dHN0YW5kaW5nQW1vdW50RmlsdGVyQ3VzdG9tZXIgPSBuZXcgT3V0c3RhbmRpbmdBbW91bnRGaWx0ZXJDdXN0b21lcigpO1xyXG4gICAgLy8gb3V0c3RhbmRpbmdBbW91bnRzUmVxdWVzdC50cmFuc2FjdGlvbklkID0gdGhpcy50cmFuc2FjdGlvbkluZm8uaWQ7XHJcbiAgICAvLyB0aGlzLl9wYXltZW50Q29ubmVjdG9yU2VydmljZS5nZXRPdXRzdGFuZGluZ0N1c3RvbWVyQW1vdW50cyhvdXRzdGFuZGluZ0Ftb3VudHNSZXF1ZXN0KS50aGVuKChyZXNwb25zZTogT3V0c3RhbmRpbmdBbW91bnRDdXN0b21lcltdKSA9PiB7XHJcbiAgICAvLyAgIHRoaXMub3V0c3RhbmRpbmdDdXN0b21lckFtb3VudCA9IHJlc3BvbnNlO1xyXG4gICAgLy8gfSk7XHJcblxyXG4gICAgY29uc3QgcGF5bWVudEFuYWx5c2lzUmVxdWVzdDogT3JkZXJQYXltZW50QW5hbHlzaXNGaWx0ZXIgPSBuZXcgT3JkZXJQYXltZW50QW5hbHlzaXNGaWx0ZXIoKTtcclxuICAgIHBheW1lbnRBbmFseXNpc1JlcXVlc3QudHJhbnNhY3Rpb25JZCA9IHRoaXMudHJhbnNhY3Rpb25JbmZvLmlkO1xyXG4gICAgdGhpcy5fcGF5bWVudENvbm5lY3RvclNlcnZpY2UuZ2V0U2FsZXNPcmRlclBheW1lbnRBbmFseXNpcyhwYXltZW50QW5hbHlzaXNSZXF1ZXN0KS50aGVuKChyZXNwb25zZTogT3JkZXJQYXltZW50QW5hbHlzaXNbXSkgPT4ge1xyXG4gICAgICB0aGlzLm9yZGVyUGF5bWVudEFuYWx5c2lzID0gcmVzcG9uc2U7XHJcbiAgICAgIHRoaXMub3JkZXJQYXltZW50QW5hbHlzaXMgPSB0aGlzLm9yZGVyUGF5bWVudEFuYWx5c2lzLm1hcCh0cmFuc2FjdGlvbiA9PiAoe1xyXG4gICAgICAgIC4uLnRyYW5zYWN0aW9uLFxyXG4gICAgICAgIGlzU2VsZWN0ZWQ6IGZhbHNlXHJcbiAgICAgIH0pKSBhcyB1bmtub3duIGFzIE9yZGVyUGF5bWVudEFuYWx5c2lzW107XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLl9wYXltZW50Q29ubmVjdG9yU2VydmljZS5nZXRQYXltZW50QW5hbHlzaXModGhpcy50cmFuc2FjdGlvbkluZm8udXVpZCkudGhlbigocmVzcG9uc2U6IFBheW1lbnRBbmFseXNpcykgPT4ge1xyXG4gICAgICB0aGlzLnBheW1lbnRBbmFseXNpcyA9IHJlc3BvbnNlO1xyXG4gICAgICB0aGlzLmNob3NlbkFtb3VudFRvUGF5ID0gdGhpcy5wYXltZW50QW5hbHlzaXMudG90YWxUb1BheTtcclxuICAgICAgdGhpcy5fdXBkYXRlQ2hvc2VuQW1vdW50VG9QYXkoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfZ2V0UmVnaXN0ZXJlZFBheW1lbnRJbmZvKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3QgcGF5bWVudEluZm86IFRyYW5zYWN0aW9uUmVnaXN0ZXJlZFBheW1lbnRJbmZvID0gYXdhaXQgdGhpcy5fcGF5bWVudENvbm5lY3RvclNlcnZpY2UuZ2V0UmVnaXN0ZXJlZFBheW1lbnRJbmZvKHRoaXMudHJhbnNhY3Rpb25JbmZvLnV1aWQpO1xyXG4gICAgaWYgKHBheW1lbnRJbmZvKSB7XHJcbiAgICAgIHRoaXMucmVnaXN0ZXJlZFBheW1lbnRJbmZvID0gcGF5bWVudEluZm87XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZXRPYmplY3RDb25maWd1cmF0aW9uKGNvbmZpZ09iamVjdHM6IE9iamVjdENvbmZpZ3VyYXRpb25bXSk6IHZvaWQge1xyXG4gICAgaWYgKGNvbmZpZ09iamVjdHMgJiYgY29uZmlnT2JqZWN0cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuc2hvd1BheURvd25MYWJlbCA9IHRoaXMuc2NyZWVuQ29uZmlnU2VydmljZS5nZXRPYmplY3RDb25maWd1cmF0aW9uRm9yKHRoaXMuY2ZnTmFtZXMuRGVwb3NpdFBlcmNlbnRhZ2UpLmltbWVkaWF0ZWx5VmlzaWJsZSgpIHx8XHJcbiAgICAgICAgdGhpcy5zY3JlZW5Db25maWdTZXJ2aWNlLmdldE9iamVjdENvbmZpZ3VyYXRpb25Gb3IodGhpcy5jZmdOYW1lcy5EZXBvc2l0QW1vdW50KS5pbW1lZGlhdGVseVZpc2libGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3VwZGF0ZUNob3NlbkFtb3VudFRvUGF5KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMub3JkZXJQYXltZW50QW5hbHlzaXMuc29tZSh0ID0+IHQub3V0c3RhbmRpbmdBbW91bnQgPiAwKSAmJlxyXG4gICAgICB0aGlzLm9yZGVyUGF5bWVudEFuYWx5c2lzLmZpbHRlcihwYXltZW50ID0+IHBheW1lbnQudHJhbnNhY3Rpb25LaW5kID09PSB0aGlzLnRyYW5zS2luZC5TYWxlc0ludm9pY2UpLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLmNob3NlbkFtb3VudFRvUGF5ID0gdGhpcy5wYXltZW50QW5hbHlzaXMudG90YWxEZXBvc2l0O1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLm9yZGVyUGF5bWVudEFuYWx5c2lzLmZpbHRlcihwYXltZW50ID0+IChwYXltZW50LnRyYW5zYWN0aW9uS2luZCA9PT0gdGhpcy50cmFuc0tpbmQuU2FsZXNJbnZvaWNlKSAmJiAocGF5bWVudC5vdXRzdGFuZGluZ0Ftb3VudCA+IDApKS5sZW5ndGggPT09IDEpIHtcclxuICAgICAgY29uc3QgcmVtYWluaW5nSW52b2ljZSA9IHRoaXMub3JkZXJQYXltZW50QW5hbHlzaXMuZmlsdGVyKHBheW1lbnQgPT4gKHBheW1lbnQudHJhbnNhY3Rpb25LaW5kID09PSB0aGlzLnRyYW5zS2luZC5TYWxlc0ludm9pY2UpICYmIChwYXltZW50Lm91dHN0YW5kaW5nQW1vdW50ID4gMCkpWzBdO1xyXG4gICAgICB0aGlzLmNob3NlbkFtb3VudFRvUGF5ID0gcmVtYWluaW5nSW52b2ljZS5vdXRzdGFuZGluZ0Ftb3VudDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5vcmRlclBheW1lbnRBbmFseXNpcy5maWx0ZXIocGF5bWVudCA9PiAocGF5bWVudC50cmFuc2FjdGlvbktpbmQgPT09IHRoaXMudHJhbnNLaW5kLlNhbGVzSW52b2ljZSkgJiYgKHBheW1lbnQub3V0c3RhbmRpbmdBbW91bnQgPiAwKSkubGVuZ3RoID4gMSkge1xyXG4gICAgICB0aGlzLmNob3NlbkFtb3VudFRvUGF5ID0gMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -75,34 +75,39 @@ export class TransactionLineDropShipmentButtonComponent extends TransactionLineB
75
75
  }
76
76
  TransactionLineDropShipmentButtonComponent.decorators = [
77
77
  { type: Component, args: [{
78
- selector: "co-transaction-line-drop-shipment-button",
78
+ selector: 'co-transaction-line-drop-shipment-button',
79
79
  template: `
80
- <div class="inside-field">
81
- <co-transaction-line-label *ngIf="transactionService.internalParameterAllowsDropShipment && supplierAllowsDropShipment && inputLabel"
82
- [insideLabel]="'DROPSHIPMENT'"></co-transaction-line-label>
83
- <co-transaction-button *ngIf="transactionService.internalParameterAllowsDropShipment && supplierAllowsDropShipment"
84
- [hidden]="hidden"
85
- [readonly]="readonly"
86
- [label]="'DROPSHIPMENT' | localize"
87
- (click)="handleToggleDropShipment($event)"
88
- ></co-transaction-button>
89
- <co-transaction-button *ngIf="!transactionService.internalParameterAllowsDropShipment || !supplierAllowsDropShipment"
90
- class="disabled-button"
91
- [hidden]="hidden"
92
- [readonly]="readonly"
93
- [label]="'DROPSHIPMENT_NO' | localize"
94
- ></co-transaction-button>
95
- </div>
96
- <co-dialog-transaction-line-warehouse *ngIf="showDialogWarehouse && !readonly"
97
- [autoClose]="true"
98
- (close)="showDialogWarehouse = false"
99
- ></co-dialog-transaction-line-warehouse>
80
+ <div class="inside-field">
81
+ <co-transaction-line-label
82
+ *ngIf="transactionService.internalParameterAllowsDropShipment && supplierAllowsDropShipment && inputLabel"
83
+ [insideLabel]="'DROPSHIPMENT'">
84
+ </co-transaction-line-label>
85
+ <co-transaction-button
86
+ *ngIf="transactionService.internalParameterAllowsDropShipment && supplierAllowsDropShipment"
87
+ [hidden]="hidden"
88
+ [readonly]="readonly"
89
+ [label]="'DROPSHIPMENT' | localize"
90
+ (click)="handleToggleDropShipment($event)">
91
+ </co-transaction-button>
92
+ <co-transaction-button
93
+ *ngIf="!transactionService.internalParameterAllowsDropShipment || !supplierAllowsDropShipment"
94
+ class="disabled-button"
95
+ [hidden]="hidden"
96
+ [readonly]="readonly"
97
+ [label]="'DROPSHIPMENT_NO' | localize">
98
+ </co-transaction-button>
99
+ </div>
100
+
101
+ <co-dialog-transaction-line-warehouse
102
+ *ngIf="showDialogWarehouse && !readonly"
103
+ [autoClose]="true"
104
+ (close)="showDialogWarehouse = false">
105
+ </co-dialog-transaction-line-warehouse>
100
106
  `,
101
107
  providers: [{
102
108
  provide: SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME,
103
109
  useExisting: forwardRef(() => TransactionLineDropShipmentButtonComponent)
104
- }
105
- ],
110
+ }],
106
111
  encapsulation: ViewEncapsulation.None
107
112
  },] }
108
113
  ];
@@ -121,6 +126,6 @@ TransactionLineDropShipmentButtonComponent.ctorParameters = () => [
121
126
  TransactionLineDropShipmentButtonComponent.propDecorators = {
122
127
  showLabel: [{ type: Input }],
123
128
  inputLabel: [{ type: Input }],
124
- showClass: [{ type: HostBinding, args: ["class.co-transaction-line-drop-shipment-button",] }]
129
+ showClass: [{ type: HostBinding, args: ['class.co-transaction-line-drop-shipment-button',] }]
125
130
  };
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tbGluZS1kcm9wLXNoaXBtZW50LWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lLWZpZWxkcy90cmFuc2FjdGlvbi1saW5lLWRyb3Atc2hpcG1lbnQtYnV0dG9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBVSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN0SCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUN0RixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUM3RyxPQUFPLEVBQUMsOENBQThDLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUU1RixPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUMxRixPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUN6RixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQWdDckYsTUFBTSxPQUFPLDBDQUEyQyxTQUFRLDRCQUE0QjtJQWlCMUYsWUFDUyx3QkFB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SUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUE2QixFQUFFLEVBQUU7Z0JBQ2pILElBQUksQ0FBQywwQkFBMEIsR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDO2dCQUN4RCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdkIsQ0FBQyxDQUFDLENBQUE7U0FDSDtJQUNILENBQUM7OztZQXRHRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDBDQUEwQztnQkFDcEQsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQlQ7Z0JBQ0QsU0FBUyxFQUFFLENBQUM7d0JBQ1YsT0FBTyxFQUFFLDhDQUE4Qzt3QkFDdkQsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywwQ0FBMEMsQ0FBQztxQkFBQztpQkFDM0U7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQWhDTyx3QkFBd0I7WUFDeEIsc0JBQXNCO1lBTnRCLHVCQUF1QjtZQUx2QixrQkFBa0I7WUFJbEIsZ0JBQWdCO1lBRWhCLHFDQUFxQztZQUpyQyxpQkFBaUI7WUFDakIsdUJBQXVCO1lBSnZCLGlCQUFpQjtZQUVqQiwwQkFBMEI7Ozt3QkFnRC9CLEtBQUs7eUJBR0wsS0FBSzt3QkFHTCxXQUFXLFNBQUMsZ0RBQWdEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblJlbGF0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1yZWxhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9kaWN0aW9uYXJ5LnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSW1hZ2VTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWltYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkV2ZW50U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1ldmVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXNjcmVlbi1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1NDUkVFTl9DT05GSUdfQURBUFRFUl9DT01QT05FTlRfSU5URVJGQUNFX05BTUV9IGZyb20gJ0Bjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTInO1xyXG5pbXBvcnQge1N1cHBsaWVyTGlnaHRPYmplY3R9IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9zdXBwbGllci1saWdodC1vYmplY3QuYm8nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZUJhc2VDb21wb25lbnR9IGZyb20gJy4uL2NvcmUvYmFzZS90cmFuc2FjdGlvbi1saW5lLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlclNlcnZpY2V9IGZyb20gJy4uL2NvcmUvYmFzZS9zZXJ2aWNlL3RyYW5zYWN0aW9uLWhlYWRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVTZXJ2aWNlfSBmcm9tICcuLi9jb3JlL2Jhc2Uvc2VydmljZS90cmFuc2FjdGlvbi1saW5lLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tdHJhbnNhY3Rpb24tbGluZS1kcm9wLXNoaXBtZW50LWJ1dHRvblwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwiaW5zaWRlLWZpZWxkXCI+XHJcbiAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLWxhYmVsICpuZ0lmPVwidHJhbnNhY3Rpb25TZXJ2aWNlLmludGVybmFsUGFyYW1ldGVyQWxsb3dzRHJvcFNoaXBtZW50ICYmIHN1cHBsaWVyQWxsb3dzRHJvcFNoaXBtZW50ICYmIGlucHV0TGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5zaWRlTGFiZWxdPVwiJ0RST1BTSElQTUVOVCdcIj48L2NvLXRyYW5zYWN0aW9uLWxpbmUtbGFiZWw+XHJcbiAgICAgIDxjby10cmFuc2FjdGlvbi1idXR0b24gKm5nSWY9XCJ0cmFuc2FjdGlvblNlcnZpY2UuaW50ZXJuYWxQYXJhbWV0ZXJBbGxvd3NEcm9wU2hpcG1lbnQgJiYgc3VwcGxpZXJBbGxvd3NEcm9wU2hpcG1lbnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoaWRkZW5dPVwiaGlkZGVuXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInRFJPUFNISVBNRU5UJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlVG9nZ2xlRHJvcFNoaXBtZW50KCRldmVudClcIlxyXG4gICAgICA+PC9jby10cmFuc2FjdGlvbi1idXR0b24+XHJcbiAgICAgIDxjby10cmFuc2FjdGlvbi1idXR0b24gKm5nSWY9XCIhdHJhbnNhY3Rpb25TZXJ2aWNlLmludGVybmFsUGFyYW1ldGVyQWxsb3dzRHJvcFNoaXBtZW50IHx8ICFzdXBwbGllckFsbG93c0Ryb3BTaGlwbWVudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkaXNhYmxlZC1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoaWRkZW5dPVwiaGlkZGVuXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInRFJPUFNISVBNRU5UX05PJyB8IGxvY2FsaXplXCJcclxuICAgICAgPjwvY28tdHJhbnNhY3Rpb24tYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8Y28tZGlhbG9nLXRyYW5zYWN0aW9uLWxpbmUtd2FyZWhvdXNlICpuZ0lmPVwic2hvd0RpYWxvZ1dhcmVob3VzZSAmJiAhcmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXV0b0Nsb3NlXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xvc2UpPVwic2hvd0RpYWxvZ1dhcmVob3VzZSA9IGZhbHNlXCJcclxuICAgID48L2NvLWRpYWxvZy10cmFuc2FjdGlvbi1saW5lLXdhcmVob3VzZT5cclxuICBgLFxyXG4gIHByb3ZpZGVyczogW3tcclxuICAgIHByb3ZpZGU6IFNDUkVFTl9DT05GSUdfQURBUFRFUl9DT01QT05FTlRfSU5URVJGQUNFX05BTUUsXHJcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUcmFuc2FjdGlvbkxpbmVEcm9wU2hpcG1lbnRCdXR0b25Db21wb25lbnQpfVxyXG4gIF0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25MaW5lRHJvcFNoaXBtZW50QnV0dG9uQ29tcG9uZW50IGV4dGVuZHMgVHJhbnNhY3Rpb25MaW5lQmFzZUNvbXBvbmVudCB7XHJcblxyXG4gIHB1YmxpYyBzdXBwbGllckFsbG93c0Ryb3BTaGlwbWVudDogYm9vbGVhbjtcclxuICBwdWJsaWMgYnV0dG9uRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd0RpYWxvZ1dhcmVob3VzZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93TGFiZWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaW5wdXRMYWJlbDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby10cmFuc2FjdGlvbi1saW5lLWRyb3Atc2hpcG1lbnQtYnV0dG9uXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgdHJhbnNhY3Rpb25IZWFkZXJTZXJ2aWNlOiBUcmFuc2FjdGlvbkhlYWRlclNlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNhY3Rpb25MaW5lU2VydmljZTogVHJhbnNhY3Rpb25MaW5lU2VydmljZSxcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvbkV2ZW50U2VydmljZTogVHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNhY3Rpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGRpY3Rpb25hcnlTZXJ2aWNlOiBEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgIHByb3RlY3RlZCBpbWFnZVNlcnZpY2U6IFRyYW5zYWN0aW9uSW1hZ2VTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgX3JlbGF0aW9uU2VydmljZTogVHJhbnNhY3Rpb25SZWxhdGlvblNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKHRyYW5zYWN0aW9uSGVhZGVyU2VydmljZSwgdHJhbnNhY3Rpb25MaW5lU2VydmljZSwgdHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsIGljb25DYWNoZVNlcnZpY2UsIHRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UsIGltYWdlU2VydmljZSwgZGljdGlvbmFyeVNlcnZpY2UsIHRyYW5zYWN0aW9uU2VydmljZSwgY2hhbmdlRGV0ZWN0b3IpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZVRvZ2dsZURyb3BTaGlwbWVudChldmVudDogTW91c2VFdmVudCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKCF0aGlzLmJ1dHRvbkRpc2FibGVkKSB7XHJcbiAgICAgIHRoaXMuYnV0dG9uRGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS50cnlUb0xvY2tUcmFuc2FjdGlvbih0aGlzLnRyYW5zYWN0aW9uSW5mby5pZCwgdGhpcy50cmFuc2FjdGlvbkluZm8udmVyc2lvbilcclxuICAgICAgICAudGhlbihhc3luYyAobG9ja2VkKSA9PiB7XHJcbiAgICAgICAgICBpZiAobG9ja2VkKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG9sZERyb3BTaGlwbWVudFZhbHVlOiBib29sZWFuID0gdGhpcy50cmFuc2FjdGlvbkxpbmUuZHJvcFNoaXBtZW50O1xyXG4gICAgICAgICAgICBjb25zdCBzdWNjZXNzID0gYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UudXBkYXRlRHJvcFNoaXBtZW50VHJhbnNhY3Rpb25MaW5lKFxyXG4gICAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmN1cnJlbnRUcmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8udXVpZCwgdGhpcy50cmFuc2FjdGlvbkxpbmUudXVpZCwgIW9sZERyb3BTaGlwbWVudFZhbHVlKTtcclxuICAgICAgICAgICAgaWYgKCFzdWNjZXNzKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy50cmFuc2FjdGlvbkxpbmUuZHJvcFNoaXBtZW50ID0gb2xkRHJvcFNoaXBtZW50VmFsdWU7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5zaG93RGlhbG9nV2FyZWhvdXNlID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmZpbmFsbHkoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5idXR0b25EaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgdHJhbnNhY3Rpb25MaW5lU2V0KCk6IHZvaWQge1xyXG4gICAgc3VwZXIudHJhbnNhY3Rpb25MaW5lU2V0KCk7XHJcbiAgICB0aGlzLl9nZXRTdXBwbGllckFsbG93c0Ryb3BTaGlwbWVudFBhcmFtZXRlcigpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHZpc2liaWxpdHlTZXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci52aXNpYmlsaXR5U2V0KCk7XHJcbiAgICB0aGlzLl9nZXRTdXBwbGllckFsbG93c0Ryb3BTaGlwbWVudFBhcmFtZXRlcigpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2V0U3VwcGxpZXJBbGxvd3NEcm9wU2hpcG1lbnRQYXJhbWV0ZXIoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy50cmFuc2FjdGlvbkxpbmUgJiYgdGhpcy52aXNpYmxlICYmIHRoaXMuc3VwcGxpZXJBbGxvd3NEcm9wU2hpcG1lbnQgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLl9yZWxhdGlvblNlcnZpY2UuZ2V0U3VwcGxpZXJMaWdodEJ5SWQodGhpcy50cmFuc2FjdGlvbkxpbmUuc3VwcGxpZXJJZCkudGhlbigoc3VwcGxpZXI6IFN1cHBsaWVyTGlnaHRPYmplY3QpID0+IHtcclxuICAgICAgICB0aGlzLnN1cHBsaWVyQWxsb3dzRHJvcFNoaXBtZW50ID0gc3VwcGxpZXIuZHJvcFNoaXBtZW50O1xyXG4gICAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9KVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tbGluZS1kcm9wLXNoaXBtZW50LWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lLWZpZWxkcy90cmFuc2FjdGlvbi1saW5lLWRyb3Atc2hpcG1lbnQtYnV0dG9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM5RyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUN0RixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUM3RyxPQUFPLEVBQUMsOENBQThDLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUU1RixPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUMxRixPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUN6RixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQXNDckYsTUFBTSxPQUFPLDBDQUEyQyxTQUFRLDRCQUE0QjtJQWlCMUYsWUFDUyx3QkFBa0QsRUFDbEQsc0JBQThDLEVBQzlDLHVCQUFnRCxFQUNoRCxrQkFBc0MsRUFDdEMsZ0JBQWtDLEVBQ2xDLHFDQUE0RSxFQUN6RSxpQkFBb0MsRUFDcEMsWUFBcUMsRUFDckMsY0FBaUMsRUFDbkMsZ0JBQTRDO1FBRXBELEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxzQkFBc0IsRUFBRSx1QkFBdUIsRUFBRSxnQkFBZ0IsRUFBRSxxQ0FBcUMsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFYeE0sNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFDaEQsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLDBDQUFxQyxHQUFyQyxxQ0FBcUMsQ0FBdUM7UUFDekUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxpQkFBWSxHQUFaLFlBQVksQ0FBeUI7UUFDckMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ25DLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBNEI7UUF4Qi9DLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBQ2hDLHdCQUFtQixHQUFZLEtBQUssQ0FBQztRQUdyQyxjQUFTLEdBQVksS0FBSyxDQUFDO1FBRzNCLGVBQVUsR0FBWSxLQUFLLENBQUM7SUFvQm5DLENBQUM7SUFqQk0sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQWlCWSx3QkFBd0IsQ0FBQyxLQUFpQjs7WUFDckQsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO2dCQUMzQixJQUFJLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUM7cUJBQ2hHLElBQUksQ0FBQyxDQUFPLE1BQWUsRUFBRSxFQUFFO29CQUM5QixJQUFJLE1BQU0sRUFBRTt3QkFDVixNQUFNLG9CQUFvQixHQUFZLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDO3dCQUN4RSxNQUFNLE9BQU8sR0FBWSxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxpQ0FBaUMsQ0FDdEYsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQy9ELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUN6QixDQUFDLG9CQUFvQixDQUN0QixDQUFDO3dCQUVGLElBQUksQ0FBQyxPQUFPLEVBQUU7NEJBQ1osSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEdBQUcsb0JBQW9CLENBQUM7eUJBQzFEOzZCQUFNOzRCQUNMLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUM7eUJBQ2pDO3FCQUNGO2dCQUNILENBQUMsQ0FBQSxDQUFDO3FCQUNELE9BQU8sQ0FBQyxHQUFHLEVBQUU7b0JBQ1osSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7b0JBQzVCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDdkIsQ0FBQyxDQUFDLENBQUM7YUFDTjtRQUNILENBQUM7S0FBQTtJQUVTLGtCQUFrQjtRQUMxQixLQUFLLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsdUNBQXVDLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRVMsYUFBYTtRQUNyQixLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLHVDQUF1QyxFQUFFLENBQUM7SUFDakQsQ0FBQztJQUVPLHVDQUF1QztRQUM3QyxJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsMEJBQTBCLEtBQUssU0FBUyxFQUFFO1lBQ3pGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQTZCLEVBQUUsRUFBRTtnQkFDakgsSUFBSSxDQUFDLDBCQUEwQixHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUM7Z0JBQ3hELElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN2QixDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7O1lBaEhGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsMENBQTBDO2dCQUNwRCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJCVDtnQkFDRCxTQUFTLEVBQUUsQ0FBQzt3QkFDVixPQUFPLEVBQUUsOENBQThDO3dCQUN2RCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDBDQUEwQyxDQUFDO3FCQUMxRSxDQUFDO2dCQUNGLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUF0Q08sd0JBQXdCO1lBQ3hCLHNCQUFzQjtZQU50Qix1QkFBdUI7WUFMdkIsa0JBQWtCO1lBSWxCLGdCQUFnQjtZQUVoQixxQ0FBcUM7WUFKckMsaUJBQWlCO1lBQ2pCLHVCQUF1QjtZQUp2QixpQkFBaUI7WUFFakIsMEJBQTBCOzs7d0JBc0QvQixLQUFLO3lCQUdMLEtBQUs7d0JBR0wsV0FBVyxTQUFDLGdEQUFnRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSG9zdEJpbmRpbmcsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uUmVsYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXJlbGF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbWFnZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24taW1hZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWV2ZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tc2NyZWVuLWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7U0NSRUVOX0NPTkZJR19BREFQVEVSX0NPTVBPTkVOVF9JTlRFUkZBQ0VfTkFNRX0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcbmltcG9ydCB7U3VwcGxpZXJMaWdodE9iamVjdH0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL21vZGVsL3N1cHBsaWVyLWxpZ2h0LW9iamVjdC5ibyc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lQmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vY29yZS9iYXNlL3RyYW5zYWN0aW9uLWxpbmUtYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSGVhZGVyU2VydmljZX0gZnJvbSAnLi4vY29yZS9iYXNlL3NlcnZpY2UvdHJhbnNhY3Rpb24taGVhZGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZVNlcnZpY2V9IGZyb20gJy4uL2NvcmUvYmFzZS9zZXJ2aWNlL3RyYW5zYWN0aW9uLWxpbmUuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvLXRyYW5zYWN0aW9uLWxpbmUtZHJvcC1zaGlwbWVudC1idXR0b24nLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpbnNpZGUtZmllbGRcIj5cclxuICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLWxhYmVsXHJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwidHJhbnNhY3Rpb25TZXJ2aWNlLmludGVybmFsUGFyYW1ldGVyQWxsb3dzRHJvcFNoaXBtZW50ICYmIHN1cHBsaWVyQWxsb3dzRHJvcFNoaXBtZW50ICYmIGlucHV0TGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICBbaW5zaWRlTGFiZWxdPVwiJ0RST1BTSElQTUVOVCdcIj5cclxuICAgICAgICAgIDwvY28tdHJhbnNhY3Rpb24tbGluZS1sYWJlbD5cclxuICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1idXR0b25cclxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0cmFuc2FjdGlvblNlcnZpY2UuaW50ZXJuYWxQYXJhbWV0ZXJBbGxvd3NEcm9wU2hpcG1lbnQgJiYgc3VwcGxpZXJBbGxvd3NEcm9wU2hpcG1lbnRcIlxyXG4gICAgICAgICAgICAgICAgICBbaGlkZGVuXT1cImhpZGRlblwiXHJcbiAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInRFJPUFNISVBNRU5UJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZVRvZ2dsZURyb3BTaGlwbWVudCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWJ1dHRvbj5cclxuICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1idXR0b25cclxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhdHJhbnNhY3Rpb25TZXJ2aWNlLmludGVybmFsUGFyYW1ldGVyQWxsb3dzRHJvcFNoaXBtZW50IHx8ICFzdXBwbGllckFsbG93c0Ryb3BTaGlwbWVudFwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZGlzYWJsZWQtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgW2hpZGRlbl09XCJoaWRkZW5cIlxyXG4gICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0RST1BTSElQTUVOVF9OTycgfCBsb2NhbGl6ZVwiPlxyXG4gICAgICAgICAgPC9jby10cmFuc2FjdGlvbi1idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGNvLWRpYWxvZy10cmFuc2FjdGlvbi1saW5lLXdhcmVob3VzZVxyXG4gICAgICAgICAgICAgICpuZ0lmPVwic2hvd0RpYWxvZ1dhcmVob3VzZSAmJiAhcmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgIFthdXRvQ2xvc2VdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgKGNsb3NlKT1cInNob3dEaWFsb2dXYXJlaG91c2UgPSBmYWxzZVwiPlxyXG4gICAgICA8L2NvLWRpYWxvZy10cmFuc2FjdGlvbi1saW5lLXdhcmVob3VzZT5cclxuICBgLFxyXG4gIHByb3ZpZGVyczogW3tcclxuICAgIHByb3ZpZGU6IFNDUkVFTl9DT05GSUdfQURBUFRFUl9DT01QT05FTlRfSU5URVJGQUNFX05BTUUsXHJcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUcmFuc2FjdGlvbkxpbmVEcm9wU2hpcG1lbnRCdXR0b25Db21wb25lbnQpXHJcbiAgfV0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25MaW5lRHJvcFNoaXBtZW50QnV0dG9uQ29tcG9uZW50IGV4dGVuZHMgVHJhbnNhY3Rpb25MaW5lQmFzZUNvbXBvbmVudCB7XHJcblxyXG4gIHB1YmxpYyBzdXBwbGllckFsbG93c0Ryb3BTaGlwbWVudDogYm9vbGVhbjtcclxuICBwdWJsaWMgYnV0dG9uRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd0RpYWxvZ1dhcmVob3VzZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93TGFiZWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaW5wdXRMYWJlbDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLXRyYW5zYWN0aW9uLWxpbmUtZHJvcC1zaGlwbWVudC1idXR0b24nKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uSGVhZGVyU2VydmljZTogVHJhbnNhY3Rpb25IZWFkZXJTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uTGluZVNlcnZpY2U6IFRyYW5zYWN0aW9uTGluZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNhY3Rpb25FdmVudFNlcnZpY2U6IFRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBkaWN0aW9uYXJ5U2VydmljZTogRGljdGlvbmFyeVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgaW1hZ2VTZXJ2aWNlOiBUcmFuc2FjdGlvbkltYWdlU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIF9yZWxhdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uUmVsYXRpb25TZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcih0cmFuc2FjdGlvbkhlYWRlclNlcnZpY2UsIHRyYW5zYWN0aW9uTGluZVNlcnZpY2UsIHRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLCBpY29uQ2FjaGVTZXJ2aWNlLCB0cmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlLCBpbWFnZVNlcnZpY2UsIGRpY3Rpb25hcnlTZXJ2aWNlLCB0cmFuc2FjdGlvblNlcnZpY2UsIGNoYW5nZURldGVjdG9yKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVUb2dnbGVEcm9wU2hpcG1lbnQoZXZlbnQ6IE1vdXNlRXZlbnQpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghdGhpcy5idXR0b25EaXNhYmxlZCkge1xyXG4gICAgICB0aGlzLmJ1dHRvbkRpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UudHJ5VG9Mb2NrVHJhbnNhY3Rpb24odGhpcy50cmFuc2FjdGlvbkluZm8uaWQsIHRoaXMudHJhbnNhY3Rpb25JbmZvLnZlcnNpb24pXHJcbiAgICAgICAgLnRoZW4oYXN5bmMgKGxvY2tlZDogYm9vbGVhbikgPT4ge1xyXG4gICAgICAgICAgaWYgKGxvY2tlZCkge1xyXG4gICAgICAgICAgICBjb25zdCBvbGREcm9wU2hpcG1lbnRWYWx1ZTogYm9vbGVhbiA9IHRoaXMudHJhbnNhY3Rpb25MaW5lLmRyb3BTaGlwbWVudDtcclxuICAgICAgICAgICAgY29uc3Qgc3VjY2VzczogYm9vbGVhbiA9IGF3YWl0IHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLnVwZGF0ZURyb3BTaGlwbWVudFRyYW5zYWN0aW9uTGluZShcclxuICAgICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnV1aWQsXHJcbiAgICAgICAgICAgICAgdGhpcy50cmFuc2FjdGlvbkxpbmUudXVpZCxcclxuICAgICAgICAgICAgICAhb2xkRHJvcFNoaXBtZW50VmFsdWVcclxuICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICAgIGlmICghc3VjY2Vzcykge1xyXG4gICAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lLmRyb3BTaGlwbWVudCA9IG9sZERyb3BTaGlwbWVudFZhbHVlO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2hvd0RpYWxvZ1dhcmVob3VzZSA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICAgIC5maW5hbGx5KCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuYnV0dG9uRGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHRyYW5zYWN0aW9uTGluZVNldCgpOiB2b2lkIHtcclxuICAgIHN1cGVyLnRyYW5zYWN0aW9uTGluZVNldCgpO1xyXG4gICAgdGhpcy5fZ2V0U3VwcGxpZXJBbGxvd3NEcm9wU2hpcG1lbnRQYXJhbWV0ZXIoKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCB2aXNpYmlsaXR5U2V0KCk6IHZvaWQge1xyXG4gICAgc3VwZXIudmlzaWJpbGl0eVNldCgpO1xyXG4gICAgdGhpcy5fZ2V0U3VwcGxpZXJBbGxvd3NEcm9wU2hpcG1lbnRQYXJhbWV0ZXIoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldFN1cHBsaWVyQWxsb3dzRHJvcFNoaXBtZW50UGFyYW1ldGVyKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMudHJhbnNhY3Rpb25MaW5lICYmIHRoaXMudmlzaWJsZSAmJiB0aGlzLnN1cHBsaWVyQWxsb3dzRHJvcFNoaXBtZW50ID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5fcmVsYXRpb25TZXJ2aWNlLmdldFN1cHBsaWVyTGlnaHRCeUlkKHRoaXMudHJhbnNhY3Rpb25MaW5lLnN1cHBsaWVySWQpLnRoZW4oKHN1cHBsaWVyOiBTdXBwbGllckxpZ2h0T2JqZWN0KSA9PiB7XHJcbiAgICAgICAgdGhpcy5zdXBwbGllckFsbG93c0Ryb3BTaGlwbWVudCA9IHN1cHBsaWVyLmRyb3BTaGlwbWVudDtcclxuICAgICAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -67,7 +67,7 @@ export class TransactionLineSidePanelArticleDetailsComponent {
67
67
  }
68
68
  _getAlternateSuppliers() {
69
69
  this.alternateSuppliers = [];
70
- if (!this.suppliers || this.suppliers.length === 0) {
70
+ if (!this.suppliers || this.suppliers.length === 0 || !this.purchaseAdviceLine) {
71
71
  return;
72
72
  }
73
73
  this.selectedSupplierId = this.purchaseAdviceLine.supplierId;
@@ -330,4 +330,4 @@ TransactionLineSidePanelArticleDetailsComponent.propDecorators = {
330
330
  closeSideBarClicked: [{ type: Output }],
331
331
  showClass: [{ type: HostBinding, args: ["class.co-transaction-line-side-panel-article-details",] }]
332
332
  };
333
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tbGluZS1zaWRlLXBhbmVsLWFydGljbGUtZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lLXNpZGUtcGFuZWwtYXJ0aWNsZS1kZXRhaWxzL3RyYW5zYWN0aW9uLWxpbmUtc2lkZS1wYW5lbC1hcnRpY2xlLWRldGFpbHMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUt4SCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUNwRixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUE2T2xFLE1BQU0sT0FBTywrQ0FBK0M7SUFzRDFELFlBQ1MsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUF0RDNCLFVBQUssR0FBZ0IsSUFBSSxDQUFDO1FBNEJuQywwQkFBcUIsR0FBWSxLQUFLLENBQUM7UUFHdkMsNkJBQXdCLEdBQXFDLElBQUksWUFBWSxFQUFzQixDQUFDO1FBR3BHLHdCQUFtQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRW5FLDJCQUFzQixHQUFPLEVBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFDLENBQUM7UUFFdkUsNEJBQXVCLEdBQW9CLEVBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFDLENBQUM7UUFLdkYsdUJBQWtCLEdBQWlDLEVBQUUsQ0FBQztRQUdyRCxl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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNPVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBNU9PLGdCQUFnQjs7O3dCQWdQckIsS0FBSzt5QkFXTCxLQUFLO2lDQUdMLEtBQUs7b0NBV0wsS0FBSzt1Q0FHTCxNQUFNO2tDQUdOLE1BQU07d0JBZU4sV0FBVyxTQUFDLHNEQUFzRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1B1cmNoYXNlQWR2aWNlTGluZX0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3B1cmNoYXNlLWFkdmljZS1saW5lLmJvJztcclxuaW1wb3J0IHtXYXJlaG91c2V9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC93YXJlaG91c2UuYm8nO1xyXG5pbXBvcnQge1JlbGF0aW9uTGlzdE9iamVjdH0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL21vZGVsL3JlbGF0aW9uLWxpc3Qtb2JqZWN0LmJvJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7QWx0ZXJuYXRlU3VwcGxpZXJWaWV3bW9kZWx9IGZyb20gJy4uLy4uL21vZGVsL2FsdGVybmF0ZS1zdXBwbGllci52aWV3bW9kZWwnO1xyXG5pbXBvcnQge0ljb259IGZyb20gJy4uLy4uL2VudW0vaWNvbi5lbnVtJztcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby10cmFuc2FjdGlvbi1saW5lLXNpZGUtcGFuZWwtYXJ0aWNsZS1kZXRhaWxzXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLXNpZGUtcGFuZWwtYXJ0aWNsZS1kZXRhaWxzLXdyYXBwZXJcIj5cclxuICAgICAgPGNvLWljb24gKGNsaWNrKT1cImhhbmRsZUNhbmNlbENsaWNrKClcIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNyb3Nzc2tpbm55KVwiXHJcbiAgICAgICAgICAgICAgIGNsYXNzPVwic2lkZS1wYW5lbCBjbG9zZS1idXR0b25cIj48L2NvLWljb24+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLXNpZGUtcGFuZWwtaGVhZGVyXCI+XHJcbiAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5TaGVsdmVzT3BlbilcIj48L2NvLWljb24+XHJcbiAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIidPUkRFUl9BRFZJQ0UnIHwgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS1zaWRlLXBhbmVsLWFydGljbGUtZGV0YWlscy1oZWFkZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS1zaWRlLXBhbmVsLWFydGljbGUtZGV0YWlscy1oZWFkZXItaXRlbVwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzaWRlLXBhbmVsLWhlYWRlci1sYWJlbFwiIFt0ZXh0Q29udGVudF09XCInQVJUSUNMRV9OUid8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzaWRlLXBhbmVsLWhlYWRlci1maWVsZFwiIFt0ZXh0Q29udGVudF09XCJwdXJjaGFzZUFkdmljZUxpbmUuYXJ0aWNsZU5vXCI+PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzaWRlLXBhbmVsLWhlYWRlci1kaXZpZGVyXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtc2lkZS1wYW5lbC1hcnRpY2xlLWRldGFpbHMtaGVhZGVyLWl0ZW0gbWF4LXdpZHRoLTQwXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNpZGUtcGFuZWwtaGVhZGVyLWxhYmVsXCIgW3RleHRDb250ZW50XT1cIidERVNDUklQVElPTid8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzaWRlLXBhbmVsLWhlYWRlci1maWVsZFwiIFt0ZXh0Q29udGVudF09XCJwdXJjaGFzZUFkdmljZUxpbmUucHVyY2hhc2VEZXNjcmlwdGlvblwiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2lkZS1wYW5lbC1oZWFkZXItZGl2aWRlclwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLXNpZGUtcGFuZWwtYXJ0aWNsZS1kZXRhaWxzLWhlYWRlci1pdGVtXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNpZGUtcGFuZWwtaGVhZGVyLWxhYmVsXCIgW3RleHRDb250ZW50XT1cIidBTU9VTlQyJ3wgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNpZGUtcGFuZWwtaGVhZGVyLWZpZWxkXCJcclxuICAgICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJwdXJjaGFzZUFkdmljZUxpbmUub3JkZXJBbW91bnQgPyBwdXJjaGFzZUFkdmljZUxpbmUub3JkZXJBbW91bnQgOiAnLSdcIj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNpZGUtcGFuZWwtaGVhZGVyLWRpdmlkZXJcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS1zaWRlLXBhbmVsLWFydGljbGUtZGV0YWlscy1oZWFkZXItaXRlbSBsYXN0LWl0ZW0tbWFyZ2luXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNpZGUtcGFuZWwtaGVhZGVyLWxhYmVsXCIgW3RleHRDb250ZW50XT1cIidQUklDRScgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2lkZS1wYW5lbC1oZWFkZXItZmllbGRcIlxyXG4gICAgICAgICAgICAgICAgW3RleHRDb250ZW50XT1cInB1cmNoYXNlQWR2aWNlTGluZS5wdXJjaGFzZVByaWNlID8gKHB1cmNoYXNlQWR2aWNlTGluZS5wdXJjaGFzZVByaWNlIHwgcHJpY2VEaXNwbGF5KSA6ICctJ1wiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS1zaWRlLXBhbmVsLWNvbnRlbnQgY28tc21hbGwtc2Nyb2xsYmFyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImRlZmF1bHQtZGV0YWlscy13cmFwcGVyIGZvcm0tYW5kLWJ1dHRvbnNcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWN0aW9uLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZWN0aW9uLXRpdGxlXCIgW3RleHRDb250ZW50XT1cIidTVE9DS19QQVJBTUVURVJTJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHVyY2hhc2UtYWR2aWNlLWRldGFpbC1oZWFkZXJcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS1zaWRlLXBhbmVsLWFydGljbGUtZGV0YWlscy1oZWFkZXItaXRlbSBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2lkZS1wYW5lbC1oZWFkZXItbGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ0VDT05PTUlDJ3wgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNpZGUtcGFuZWwtaGVhZGVyLWZpZWxkIGJvbGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3RleHRDb250ZW50XT1cInB1cmNoYXNlQWR2aWNlTGluZS5lY29uU3RvY2sgPyBwdXJjaGFzZUFkdmljZUxpbmUuZWNvblN0b2NrIDogJy0nXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaWRlLXBhbmVsLWhlYWRlci1kaXZpZGVyXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtc2lkZS1wYW5lbC1hcnRpY2xlLWRldGFpbHMtaGVhZGVyLWl0ZW0gY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNpZGUtcGFuZWwtaGVhZGVyLWxhYmVsXCIgW3RleHRDb250ZW50XT1cIidUQVJHRVQyJ3wgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNpZGUtcGFuZWwtaGVhZGVyLWZpZWxkIGJvbGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3RleHRDb250ZW50XT1cInB1cmNoYXNlQWR2aWNlTGluZS50YXJnZXRTdG9jayA/IHB1cmNoYXNlQWR2aWNlTGluZS50YXJnZXRTdG9jayA6ICctJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2lkZS1wYW5lbC1oZWFkZXItZGl2aWRlclwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLXNpZGUtcGFuZWwtYXJ0aWNsZS1kZXRhaWxzLWhlYWRlci1pdGVtIGNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzaWRlLXBhbmVsLWhlYWRlci1sYWJlbFwiIFt0ZXh0Q29udGVudF09XCInRFlOQU1JQ19NSU5JTUFMJ3wgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNpZGUtcGFuZWwtaGVhZGVyLWZpZWxkIGJvbGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3RleHRDb250ZW50XT1cInB1cmNoYXNlQWR2aWNlTGluZS5taW5EeW5hbWljU3RvY2sgPyBwdXJjaGFzZUFkdmljZUxpbmUubWluRHluYW1pY1N0b2NrIDogJy0nXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaWRlLXBhbmVsLWhlYWRlci1kaXZpZGVyXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtc2lkZS1wYW5lbC1hcnRpY2xlLWRldGFpbHMtaGVhZGVyLWl0ZW0gY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNpZGUtcGFuZWwtaGVhZGVyLWxhYmVsXCIgW3RleHRDb250ZW50XT1cIidNSU5JTUFMJ3wgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNpZGUtcGFuZWwtaGVhZGVyLWZpZWxkIGJvbGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3RleHRDb250ZW50XT1cInB1cmNoYXNlQWR2aWNlTGluZS5taW5TdG9jayA/IHB1cmNoYXNlQWR2aWNlTGluZS5taW5TdG9jayA6ICctJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2lkZS1wYW5lbC1oZWFkZXItZGl2aWRlclwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLXNpZGUtcGFuZWwtYXJ0aWNsZS1kZXRhaWxzLWhlYWRlci1pdGVtIGNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzaWRlLXBhbmVsLWhlYWRlci1sYWJlbFwiIFt0ZXh0Q29udGVudF09XCInTUFYJ3wgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNpZGUtcGFuZWwtaGVhZGVyLWZpZWxkIGJvbGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3RleHRDb250ZW50XT1cInB1cmNoYXNlQWR2aWNlTGluZS5tYXhTdG9jayA/IHB1cmNoYXNlQWR2aWNlTGluZS5tYXhTdG9jayA6ICctJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2lkZS1wYW5lbC1oZWFkZXItZGl2aWRlclwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLXNpZGUtcGFuZWwtYXJ0aWNsZS1kZXRhaWxzLWhlYWRlci1pdGVtIGNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzaWRlLXBhbmVsLWhlYWRlci1sYWJlbFwiIFt0ZXh0Q29udGVudF09XCInRElSRUNUTFlfQVZBSUxBQkxFJ3wgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNpZGUtcGFuZWwtaGVhZGVyLWZpZWxkIGJvbGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3RleHRDb250ZW50XT1cInB1cmNoYXNlQWR2aWNlTGluZS5yZWFkaWx5QXZhaWxhYmxlID8gcHVyY2hhc2VBZHZpY2VMaW5lLnJlYWRpbHlBdmFpbGFibGUgOiAnLSdcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNlY3Rpb24td3JhcHBlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsLWNvbHVtbi1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsLWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtc2lkZS1wYW5lbC1hcnRpY2xlLWRldGFpbHMtaGVhZGVyLWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRldGFpbC1jb2x1bW4taXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2lkZS1wYW5lbC1oZWFkZXItbGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ1NBTEVTX0RFU0NSSVBUSU9OJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2lkZS1wYW5lbC1oZWFkZXItZmllbGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJwdXJjaGFzZUFkdmljZUxpbmUuc2FsZXNEZXNjcmlwdGlvbiA/IHB1cmNoYXNlQWR2aWNlTGluZS5zYWxlc0Rlc2NyaXB0aW9uIDogJy0nXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtc2lkZS1wYW5lbC1hcnRpY2xlLWRldGFpbHMtaGVhZGVyLWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRldGFpbC1jb2x1bW4taXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2lkZS1wYW5lbC1oZWFkZXItbGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ1RVUk5PVkVSX0dST1VQJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2lkZS1wYW5lbC1oZWFkZXItZmllbGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJwdXJjaGFzZUFkdmljZUxpbmUudHVybk92ZXJHcm91cE5vID8gcHVyY2hhc2VBZHZpY2VMaW5lLnR1cm5PdmVyR3JvdXBObyA6ICctJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLXNpZGUtcGFuZWwtYXJ0aWNsZS1kZXRhaWxzLWhlYWRlci1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWwtY29sdW1uLWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNpZGUtcGFuZWwtaGVhZGVyLWxhYmVsXCIgW3RleHRDb250ZW50XT1cIidFWENFRURBTkNFX0NPREUnIHwgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzaWRlLXBhbmVsLWhlYWRlci1maWVsZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3RleHRDb250ZW50XT1cInB1cmNoYXNlQWR2aWNlTGluZS5leGNlZWRhbmNlQ29kZSA/IHB1cmNoYXNlQWR2aWNlTGluZS5leGNlZWRhbmNlQ29kZSA6ICctJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsLWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtc2lkZS1wYW5lbC1hcnRpY2xlLWRldGFpbHMtaGVhZGVyLWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRldGFpbC1jb2x1bW4taXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2lkZS1wYW5lbC1oZWFkZXItbGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ09SREVSX0NPREUnIHwgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzaWRlLXBhbmVsLWhlYWRlci1maWVsZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3RleHRDb250ZW50XT1cInB1cmNoYXNlQWR2aWNlTGluZS5vcmRlckNvZGUgPyBwdXJjaGFzZUFkdmljZUxpbmUub3JkZXJDb2RlIDogJy0nXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtc2lkZS1wYW5lbC1hcnRpY2xlLWRldGFpbHMtaGVhZGVyLWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRldGFpbC1jb2x1bW4taXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2lkZS1wYW5lbC1oZWFkZXItbGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ05BTUUnIHwgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzaWRlLXBhbmVsLWhlYWRlci1maWVsZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3RleHRDb250ZW50XT1cInB1cmNoYXNlQWR2aWNlTGluZS5hcnRpY2xlTmFtZSA/IHB1cmNoYXNlQWR2aWNlTGluZS5hcnRpY2xlTmFtZSA6ICctJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VjdGlvbi13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2VjdGlvbi10aXRsZVwiIFt0ZXh0Q29udGVudF09XCInT1JERVJfSU5GT1JNQVRJT04nIHwgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwdXJjaGFzZS1hZHZpY2UtZGV0YWlsLWhlYWRlclwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLXNpZGUtcGFuZWwtYXJ0aWNsZS1kZXRhaWxzLWhlYWRlci1pdGVtIGNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzaWRlLXBhbmVsLWhlYWRlci1sYWJlbFwiIFt0ZXh0Q29udGVudF09XCInU0FMRVNfUVVBTlRJVFknfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2lkZS1wYW5lbC1oZWFkZXItZmllbGQgYm9sZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbdGV4dENvbnRlbnRdPVwicHVyY2hhc2VBZHZpY2VMaW5lLmFtb3VudFNhbGVzID8gcHVyY2hhc2VBZHZpY2VMaW5lLmFtb3VudFNhbGVzIDogJy0nXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaWRlLXBhbmVsLWhlYWRlci1kaXZpZGVyXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtc2lkZS1wYW5lbC1hcnRpY2xlLWRldGFpbHMtaGVhZGVyLWl0ZW0gY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNpZGUtcGFuZWwtaGVhZGVyLWxhYmVsXCIgW3RleHRDb250ZW50XT1cIidQVVJDSEFTRV9RVUFOVElUWSd8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzaWRlLXBhbmVsLWhlYWRlci1maWVsZCBib2xkXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJwdXJjaGFzZUFkdmljZUxpbmUuYW1vdW50UHVyY2hhc2UgPyBwdXJjaGFzZUFkdmljZUxpbmUuYW1vdW50UHVyY2hhc2UgOiAnLSdcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNpZGUtcGFuZWwtaGVhZGVyLWRpdmlkZXJcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS1zaWRlLXBhbmVsLWFydGljbGUtZGV0YWlscy1oZWFkZXItaXRlbSBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2lkZS1wYW5lbC1oZWFkZXItbGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ09SREVSX0FNT1VOVCd8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzaWRlLXBhbmVsLWhlYWRlci1maWVsZCBib2xkXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCIkYW55KHB1cmNoYXNlQWR2aWNlTGluZSkuZGlzcGxheU9yZGVyQW1vdW50ID8gJGFueShwdXJjaGFzZUFkdmljZUxpbmUpLmRpc3BsYXlPcmRlckFtb3VudCA6ICctJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2lkZS1wYW5lbC1oZWFkZXItZGl2aWRlclwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLXNpZGUtcGFuZWwtYXJ0aWNsZS1kZXRhaWxzLWhlYWRlci1pdGVtIGNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzaWRlLXBhbmVsLWhlYWRlci1sYWJlbFwiIFt0ZXh0Q29udGVudF09XCInVkVMT0NJVFknfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2lkZS1wYW5lbC1oZWFkZXItZmllbGQgYm9sZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbdGV4dENvbnRlbnRdPVwicHVyY2hhc2VBZHZpY2VMaW5lLnZlbG9jaXR5TW9udGggPyBwdXJjaGFzZUFkdmljZUxpbmUudmVsb2NpdHlNb250aCA6ICctJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VjdGlvbi13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWwtY29sdW1uLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWwtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uLWlucHV0LWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LW51bWJlci1waWNrZXJcclxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0FNT1VOVCcgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwicHVyY2hhc2VBZHZpY2VMaW5lLmFtb3VudFB1cmNoYXNlTGlzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImhhbmRsZU1vZGVsQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIFttaW5dPVwiMVwiIFtmb3JjZVJlYWRvbmx5XT1cIm9ubHlTdXBwbGllckF2YWlsYWJsZVwiXHJcbiAgICAgICAgICAgICAgICAgID48L2NvLWlucHV0LW51bWJlci1waWNrZXI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuPCEtLVxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbi1pbnB1dC1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGNvLWxpc3Qtb2YtdmFsdWVzIGNsYXNzPVwiZGV0YWlscy1pbnB1dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInB1cmNoYXNlQWR2aWNlTGluZS53YXJlaG91c2VOb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cIndhcmVob3VzZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzcGxheUZpZWxkXT1cIidkZXNjcmlwdGlvbidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1dBUkVIT1VTRScgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPjwvY28tbGlzdC1vZi12YWx1ZXM+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuLS0+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRldGFpbC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4taW5wdXQtaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28taW5wdXQtdGV4dFxyXG4gICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInUFVSQ0hBU0VfUFJJQ0UnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFt0eXBlXT1cIidudW1iZXInXCJcclxuICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJwdXJjaGFzZUFkdmljZUxpbmUucHVyY2hhc2VQcmljZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW21pbl09XCIwXCIgW2ZvcmNlUmVhZG9ubHldPVwib25seVN1cHBsaWVyQXZhaWxhYmxlXCJcclxuICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlQ29zdENoYW5nZSgpXCJcclxuICAgICAgICAgICAgICAgICAgPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbi1pbnB1dC1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0XHJcbiAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidUUkFOU1BPUlRfUFJJQ0UnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFt0eXBlXT1cIidudW1iZXInXCJcclxuICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJwdXJjaGFzZUFkdmljZUxpbmUuc2hpcHBpbmdDb3N0XCJcclxuICAgICAgICAgICAgICAgICAgICBbbWluXT1cIjBcIiBbZm9yY2VSZWFkb25seV09XCJvbmx5U3VwcGxpZXJBdmFpbGFibGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlQ29zdENoYW5nZSgpXCJcclxuICAgICAgICAgICAgICAgICAgPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbi1pbnB1dC1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0XHJcbiAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidNQU5VRkFDVFVSSU5HX1BSSUNFJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICBbdHlwZV09XCInbnVtYmVyJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwiY2FsY3VsYXRlZEFzc2VtYmx5Q29zdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW21pbl09XCIwXCIgW2ZvcmNlUmVhZG9ubHldPVwib25seVN1cHBsaWVyQXZhaWxhYmxlXCJcclxuICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImhhbmRsZUFzc2VtYmx5Q29zdENoYW5nZSgpXCJcclxuICAgICAgICAgICAgICAgICAgPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWN0aW9uLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZWN0aW9uLXRpdGxlXCIgW3RleHRDb250ZW50XT1cIidBTFRFUk5BVElWRV9TVVBQTElFUlMnIHwgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWwtY29sdW1uLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWwtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHluYW1pYy1zdXBwbGllcnMtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28tYWx0ZXJuYXRlLXN1cHBsaWVyLXRpbGUgICpuZ0Zvcj1cImxldCBzdXBwbGllciBvZiBhbHRlcm5hdGVTdXBwbGllcnNcIiAoc3VwcGxpZXJDbGlja2VkKT1cImhhbmRsZVNlbGVjdFN1cHBsaWVyKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICBbc3VwcGxpZXJdPVwic3VwcGxpZXJcIiBbc2VsZWN0ZWRTdXBwbGllcklkXT1cInNlbGVjdGVkU3VwcGxpZXJJZFwiIFtnb29kSWRdPVwicHVyY2hhc2VBZHZpY2VMaW5lPy5nb29kSWRcIj48L2NvLWFsdGVybmF0ZS1zdXBwbGllci10aWxlPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRldGFpbC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgIDxjby1saXN0LW9mLXZhbHVlcyBjbGFzcz1cInN1cHBsaWVyLWxpc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInU1VQUExJRVInIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9DbGlja0ZvY3VzXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWFyY2hQbGFjZWhvbGRlcl09XCInU0VBUkNIJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJzdXBwbGllcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNwbGF5RmllbGRdPVwiJ2ZhbWlseU5hbWUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWxlY3RlZFN1cHBsaWVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlU3VwcGxpZXJDaGFuZ2VkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgPjwvY28tbGlzdC1vZi12YWx1ZXM+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkxpbmVTaWRlUGFuZWxBcnRpY2xlRGV0YWlsc0NvbXBvbmVudCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHN1cHBsaWVycyh2YWx1ZTogUmVsYXRpb25MaXN0T2JqZWN0W10pIHtcclxuICAgIHRoaXMuX3N1cHBsaWVycyA9IHZhbHVlO1xyXG4gICAgdGhpcy5fZ2V0QWx0ZXJuYXRlU3VwcGxpZXJzKCk7XHJcbiAgfTtcclxuXHJcbiAgZ2V0IHN1cHBsaWVycygpOiBSZWxhdGlvbkxpc3RPYmplY3RbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc3VwcGxpZXJzO1xyXG4gIH1cclxuXHJcbiAgLy9ub3QgY3VycmVudGx5IGluIHVzZS4uLi5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB3YXJlaG91c2VzOiBXYXJlaG91c2VbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHB1cmNoYXNlQWR2aWNlTGluZSh2YWx1ZTogUHVyY2hhc2VBZHZpY2VMaW5lKSB7XHJcbiAgICB0aGlzLl9wdXJjaGFzZUFkdmljZUxpbmUgPSB2YWx1ZTtcclxuICAgIHRoaXMuaGFuZGxlQ29zdENoYW5nZSgpO1xyXG4gICAgdGhpcy5fZ2V0QWx0ZXJuYXRlU3VwcGxpZXJzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHB1cmNoYXNlQWR2aWNlTGluZSgpOiBQdXJjaGFzZUFkdmljZUxpbmUge1xyXG4gICAgcmV0dXJuIHRoaXMuX3B1cmNoYXNlQWR2aWNlTGluZTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG9ubHlTdXBwbGllckF2YWlsYWJsZTogQm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcHVyY2hhc2VBZHZpY2VMaW5lQ2hhbmdlOiBFdmVudEVtaXR0ZXI8UHVyY2hhc2VBZHZpY2VMaW5lPiA9IG5ldyBFdmVudEVtaXR0ZXI8UHVyY2hhc2VBZHZpY2VMaW5lPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgY2xvc2VTaWRlQmFyQ2xpY2tlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBwdWJsaWMgc3VwcGxpZXJEcm9wZG93bkZpZWxkczoge30gPSB7dGV4dDogXCJmYW1pbHlOYW1lXCIsIHZhbHVlOiBcInJlbGF0aW9uSWRcIn07XHJcblxyXG4gIHB1YmxpYyB3YXJlaG91c2VEcm9wRG93bkZpZWxkczogeyB0ZXh0LCB2YWx1ZSB9ID0ge3RleHQ6IFwiZGVzY3JpcHRpb25cIiwgdmFsdWU6IFwid2FyZWhvdXNlTm9cIn07XHJcbiAgcHVibGljIHNlbGVjdGVkU3VwcGxpZXJJZDogbnVtYmVyO1xyXG4gIHB1YmxpYyBzZWxlY3RlZFN1cHBsaWVyOiBSZWxhdGlvbkxpc3RPYmplY3Q7XHJcblxyXG4gIHB1YmxpYyBjYWxjdWxhdGVkQXNzZW1ibHlDb3N0OiBudW1iZXI7XHJcbiAgcHVibGljIGFsdGVybmF0ZVN1cHBsaWVyczogQWx0ZXJuYXRlU3VwcGxpZXJWaWV3bW9kZWxbXSA9IFtdO1xyXG5cclxuICBwcml2YXRlIF9wdXJjaGFzZUFkdmljZUxpbmU6IFB1cmNoYXNlQWR2aWNlTGluZTtcclxuICBwcml2YXRlIF9zdXBwbGllcnM6IFJlbGF0aW9uTGlzdE9iamVjdFtdID0gW107XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXRyYW5zYWN0aW9uLWxpbmUtc2lkZS1wYW5lbC1hcnRpY2xlLWRldGFpbHNcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQ2FuY2VsQ2xpY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLmNsb3NlU2lkZUJhckNsaWNrZWQubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgLy8gVmVsZGVuIGFhbnBhc3NlbiBvZiBvYmplY3QgdmVydmFuZ2VuIG1ldCBnZXRQdXJjaGFzZUxpbmUoZ29vZElkKT9cclxuICBwdWJsaWMgaGFuZGxlU3VwcGxpZXJDaGFuZ2VkKHN1cHBsaWVyOiBSZWxhdGlvbkxpc3RPYmplY3QgfCBudW1iZXIpOiB2b2lkIHtcclxuICAgIGlmICh0eXBlb2Ygc3VwcGxpZXIgPT09ICdudW1iZXInKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRTdXBwbGllciA9IHRoaXMuc3VwcGxpZXJzLmZpbmQocyA9PiBzLnJlbGF0aW9uSWQgPT09IHN1cHBsaWVyKTtcclxuICAgIH1cclxuICAgIHRoaXMucHVyY2hhc2VBZHZpY2VMaW5lLnN1cHBsaWVySWQgPSAgdGhpcy5zZWxlY3RlZFN1cHBsaWVyLnJlbGF0aW9uSWQ7XHJcbiAgICB0aGlzLnB1cmNoYXNlQWR2aWNlTGluZS5zdXBwbGllck5vID0gKyB0aGlzLnNlbGVjdGVkU3VwcGxpZXIucmVsYXRpb25OcjtcclxuICAgIHRoaXMucHVyY2hhc2VBZHZpY2VMaW5lLnN1cHBsaWVyTmFtZSA9ICB0aGlzLnNlbGVjdGVkU3VwcGxpZXIuZmFtaWx5TmFtZTtcclxuICAgIHRoaXMuaGFuZGxlTW9kZWxDaGFuZ2UoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVDb3N0Q2hhbmdlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucHVyY2hhc2VBZHZpY2VMaW5lLnB1cmNoYXNlUHJpY2UgJiYgdGhpcy5wdXJjaGFzZUFkdmljZUxpbmUuc2hpcHBpbmdDb3N0KSB7XHJcbiAgICAgIHRoaXMuY2FsY3VsYXRlZEFzc2VtYmx5Q29zdCA9ICsoK3RoaXMucHVyY2hhc2VBZHZpY2VMaW5lLnB1cmNoYXNlUHJpY2UgLSArdGhpcy5wdXJjaGFzZUFkdmljZUxpbmUuc2hpcHBpbmdDb3N0KS50b0ZpeGVkKDIpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5oYW5kbGVNb2RlbENoYW5nZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUFzc2VtYmx5Q29zdENoYW5nZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmNhbGN1bGF0ZWRBc3NlbWJseUNvc3QgJiYgdGhpcy5wdXJjaGFzZUFkdmljZUxpbmUuc2hpcHBpbmdDb3N0KSB7XHJcbiAgICAgIHRoaXMucHVyY2hhc2VBZHZpY2VMaW5lLnB1cmNoYXNlUHJpY2UgPSArKCt0aGlzLmNhbGN1bGF0ZWRBc3NlbWJseUNvc3QgKyArdGhpcy5wdXJjaGFzZUFkdmljZUxpbmUuc2hpcHBpbmdDb3N0KS50b0ZpeGVkKDIpO1xyXG4gICAgICB0aGlzLmhhbmRsZU1vZGVsQ2hhbmdlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU2VsZWN0U3VwcGxpZXIoc3VwcGxpZXI6IEFsdGVybmF0ZVN1cHBsaWVyVmlld21vZGVsKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkU3VwcGxpZXJJZCA9IHN1cHBsaWVyLnN1cHBsaWVyUHJvZHVjdC5yZWxhdGlvbklkU3VwcGxpZXI7XHJcbiAgICB0aGlzLmhhbmRsZVN1cHBsaWVyQ2hhbmdlZChzdXBwbGllci5zdXBwbGllclByb2R1Y3QucmVsYXRpb25JZFN1cHBsaWVyKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVNb2RlbENoYW5nZShtb2RlbD86IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5wdXJjaGFzZUFkdmljZUxpbmVDaGFuZ2UubmV4dCh0aGlzLnB1cmNoYXNlQWR2aWNlTGluZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZXRBbHRlcm5hdGVTdXBwbGllcnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmFsdGVybmF0ZVN1cHBsaWVycyA9IFtdO1xyXG4gICAgaWYgKCF0aGlzLnN1cHBsaWVycyB8fCB0aGlzLnN1cHBsaWVycy5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZWxlY3RlZFN1cHBsaWVySWQgPSB0aGlzLnB1cmNoYXNlQWR2aWNlTGluZS5zdXBwbGllcklkO1xyXG4gICAgdGhpcy5zZWxlY3RlZFN1cHBsaWVyID0gdGhpcy5zdXBwbGllcnMuZmluZChzID0+IHMucmVsYXRpb25JZCA9PT0gdGhpcy5zZWxlY3RlZFN1cHBsaWVySWQpO1xyXG4gICAgdGhpcy5wdXJjaGFzZUFkdmljZUxpbmUuc3VwcGxpZXJQcm9kdWN0LmZvckVhY2goKHN1cHBsaWVyKSA9PiB7XHJcbiAgICAgIGNvbnN0IGFsdGVybmF0ZVN1cHBsaWVyOiBBbHRlcm5hdGVTdXBwbGllclZpZXdtb2RlbCA9IG5ldyBBbHRlcm5hdGVTdXBwbGllclZpZXdtb2RlbCgpO1xyXG4gICAgICBhbHRlcm5hdGVTdXBwbGllci5zdXBwbGllclByb2R1Y3QgPSBzdXBwbGllcjtcclxuICAgICAgYWx0ZXJuYXRlU3VwcGxpZXIucmVsYXRpb25OYW1lID0gdGhpcy5zdXBwbGllcnMuZmluZCgocykgPT4gcy5yZWxhdGlvbklkID09PSBzdXBwbGllci5yZWxhdGlvbklkU3VwcGxpZXIpPy5mYW1pbHlOYW1lO1xyXG4gICAgICB0aGlzLmFsdGVybmF0ZVN1cHBsaWVycy5wdXNoKGFsdGVybmF0ZVN1cHBsaWVyKTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
333
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tbGluZS1zaWRlLXBhbmVsLWFydGljbGUtZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lLXNpZGUtcGFuZWwtYXJ0aWNsZS1kZXRhaWxzL3RyYW5zYWN0aW9uLWxpbmUtc2lkZS1wYW5lbC1hcnRpY2xlLWRldGFpbHMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUt4SCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUNwRixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUE2T2xFLE1BQU0sT0FBTywrQ0FBK0M7SUFzRDFELFlBQ1MsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUF0RDNCLFVBQUssR0FBZ0IsSUFBSSxDQUFDO1FBNEJuQywwQkFBcUIsR0FBWSxLQUFLLENBQUM7UUFHdkMsNkJBQXdCLEdBQXFDLElBQUksWUFBWSxFQUFzQixDQUFDO1FBR3BHLHdCQUFtQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRW5FLDJCQUFzQixHQUFPLEVBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFDLENBQUM7UUFFdkUsNEJBQXVCLEdBQW9CLEVBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFDLENBQUM7UUFLdkYsdUJBQWtCLEdBQWlDLEVBQUUsQ0FBQztRQUdyRCxl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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzT1Q7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQTVPTyxnQkFBZ0I7Ozt3QkFnUHJCLEtBQUs7eUJBV0wsS0FBSztpQ0FHTCxLQUFLO29DQVdMLEtBQUs7dUNBR0wsTUFBTTtrQ0FHTixNQUFNO3dCQWVOLFdBQVcsU0FBQyxzREFBc0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtQdXJjaGFzZUFkdmljZUxpbmV9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wdXJjaGFzZS1hZHZpY2UtbGluZS5ibyc7XHJcbmltcG9ydCB7V2FyZWhvdXNlfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvd2FyZWhvdXNlLmJvJztcclxuaW1wb3J0IHtSZWxhdGlvbkxpc3RPYmplY3R9IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi1saXN0LW9iamVjdC5ibyc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge0FsdGVybmF0ZVN1cHBsaWVyVmlld21vZGVsfSBmcm9tICcuLi8uLi9tb2RlbC9hbHRlcm5hdGUtc3VwcGxpZXIudmlld21vZGVsJztcclxuaW1wb3J0IHtJY29ufSBmcm9tICcuLi8uLi9lbnVtL2ljb24uZW51bSc7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tdHJhbnNhY3Rpb24tbGluZS1zaWRlLXBhbmVsLWFydGljbGUtZGV0YWlsc1wiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS1zaWRlLXBhbmVsLWFydGljbGUtZGV0YWlscy13cmFwcGVyXCI+XHJcbiAgICAgIDxjby1pY29uIChjbGljayk9XCJoYW5kbGVDYW5jZWxDbGljaygpXCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5Dcm9zc3NraW5ueSlcIlxyXG4gICAgICAgICAgICAgICBjbGFzcz1cInNpZGUtcGFuZWwgY2xvc2UtYnV0dG9uXCI+PC9jby1pY29uPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS1zaWRlLXBhbmVsLWhlYWRlclwiPlxyXG4gICAgICAgIDxjby1pY29uIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuU2hlbHZlc09wZW4pXCI+PC9jby1pY29uPlxyXG4gICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCInT1JERVJfQURWSUNFJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtc2lkZS1wYW5lbC1hcnRpY2xlLWRldGFpbHMtaGVhZGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtc2lkZS1wYW5lbC1hcnRpY2xlLWRldGFpbHMtaGVhZGVyLWl0ZW1cIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2lkZS1wYW5lbC1oZWFkZXItbGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ0FSVElDTEVfTlInfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2lkZS1wYW5lbC1oZWFkZXItZmllbGRcIiBbdGV4dENvbnRlbnRdPVwicHVyY2hhc2VBZHZpY2VMaW5lLmFydGljbGVOb1wiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2lkZS1wYW5lbC1oZWFkZXItZGl2aWRlclwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLXNpZGUtcGFuZWwtYXJ0aWNsZS1kZXRhaWxzLWhlYWRlci1pdGVtIG1heC13aWR0aC00MFwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzaWRlLXBhbmVsLWhlYWRlci1sYWJlbFwiIFt0ZXh0Q29udGVudF09XCInREVTQ1JJUFRJT04nfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2lkZS1wYW5lbC1oZWFkZXItZmllbGRcIiBbdGV4dENvbnRlbnRdPVwicHVyY2hhc2VBZHZpY2VMaW5lLnB1cmNoYXNlRGVzY3JpcHRpb25cIj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNpZGUtcGFuZWwtaGVhZGVyLWRpdmlkZXJcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS1zaWRlLXBhbmVsLWFydGljbGUtZGV0YWlscy1oZWFkZXItaXRlbVwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzaWRlLXBhbmVsLWhlYWRlci1sYWJlbFwiIFt0ZXh0Q29udGVudF09XCInQU1PVU5UMid8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzaWRlLXBhbmVsLWhlYWRlci1maWVsZFwiXHJcbiAgICAgICAgICAgICAgICBbdGV4dENvbnRlbnRdPVwicHVyY2hhc2VBZHZpY2VMaW5lLm9yZGVyQW1vdW50ID8gcHVyY2hhc2VBZHZpY2VMaW5lLm9yZGVyQW1vdW50IDogJy0nXCI+PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzaWRlLXBhbmVsLWhlYWRlci1kaXZpZGVyXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtc2lkZS1wYW5lbC1hcnRpY2xlLWRldGFpbHMtaGVhZGVyLWl0ZW0gbGFzdC1pdGVtLW1hcmdpblwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzaWRlLXBhbmVsLWhlYWRlci1sYWJlbFwiIFt0ZXh0Q29udGVudF09XCInUFJJQ0UnIHwgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNpZGUtcGFuZWwtaGVhZGVyLWZpZWxkXCJcclxuICAgICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJwdXJjaGFzZUFkdmljZUxpbmUucHVyY2hhc2VQcmljZSA/IChwdXJjaGFzZUFkdmljZUxpbmUucHVyY2hhc2VQcmljZSB8IHByaWNlRGlzcGxheSkgOiAnLSdcIj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtc2lkZS1wYW5lbC1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkZWZhdWx0LWRldGFpbHMtd3JhcHBlciBmb3JtLWFuZC1idXR0b25zXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VjdGlvbi13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2VjdGlvbi10aXRsZVwiIFt0ZXh0Q29udGVudF09XCInU1RPQ0tfUEFSQU1FVEVSUycgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB1cmNoYXNlLWFkdmljZS1kZXRhaWwtaGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtc2lkZS1wYW5lbC1hcnRpY2xlLWRldGFpbHMtaGVhZGVyLWl0ZW0gY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNpZGUtcGFuZWwtaGVhZGVyLWxhYmVsXCIgW3RleHRDb250ZW50XT1cIidFQ09OT01JQyd8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzaWRlLXBhbmVsLWhlYWRlci1maWVsZCBib2xkXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJwdXJjaGFzZUFkdmljZUxpbmUuZWNvblN0b2NrID8gcHVyY2hhc2VBZHZpY2VMaW5lLmVjb25TdG9jayA6ICctJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2lkZS1wYW5lbC1oZWFkZXItZGl2aWRlclwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLXNpZGUtcGFuZWwtYXJ0aWNsZS1kZXRhaWxzLWhlYWRlci1pdGVtIGNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzaWRlLXBhbmVsLWhlYWRlci1sYWJlbFwiIFt0ZXh0Q29udGVudF09XCInVEFSR0VUMid8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzaWRlLXBhbmVsLWhlYWRlci1maWVsZCBib2xkXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJwdXJjaGFzZUFkdmljZUxpbmUudGFyZ2V0U3RvY2sgPyBwdXJjaGFzZUFkdmljZUxpbmUudGFyZ2V0U3RvY2sgOiAnLSdcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNpZGUtcGFuZWwtaGVhZGVyLWRpdmlkZXJcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS1zaWRlLXBhbmVsLWFydGljbGUtZGV0YWlscy1oZWFkZXItaXRlbSBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2lkZS1wYW5lbC1oZWFkZXItbGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ0RZTkFNSUNfTUlOSU1BTCd8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzaWRlLXBhbmVsLWhlYWRlci1maWVsZCBib2xkXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJwdXJjaGFzZUFkdmljZUxpbmUubWluRHluYW1pY1N0b2NrID8gcHVyY2hhc2VBZHZpY2VMaW5lLm1pbkR5bmFtaWNTdG9jayA6ICctJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2lkZS1wYW5lbC1oZWFkZXItZGl2aWRlclwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLXNpZGUtcGFuZWwtYXJ0aWNsZS1kZXRhaWxzLWhlYWRlci1pdGVtIGNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzaWRlLXBhbmVsLWhlYWRlci1sYWJlbFwiIFt0ZXh0Q29udGVudF09XCInTUlOSU1BTCd8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzaWRlLXBhbmVsLWhlYWRlci1maWVsZCBib2xkXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJwdXJjaGFzZUFkdmljZUxpbmUubWluU3RvY2sgPyBwdXJjaGFzZUFkdmljZUxpbmUubWluU3RvY2sgOiAnLSdcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNpZGUtcGFuZWwtaGVhZGVyLWRpdmlkZXJcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS1zaWRlLXBhbmVsLWFydGljbGUtZGV0YWlscy1oZWFkZXItaXRlbSBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2lkZS1wYW5lbC1oZWFkZXItbGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ01BWCd8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzaWRlLXBhbmVsLWhlYWRlci1maWVsZCBib2xkXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJwdXJjaGFzZUFkdmljZUxpbmUubWF4U3RvY2sgPyBwdXJjaGFzZUFkdmljZUxpbmUubWF4U3RvY2sgOiAnLSdcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNpZGUtcGFuZWwtaGVhZGVyLWRpdmlkZXJcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS1zaWRlLXBhbmVsLWFydGljbGUtZGV0YWlscy1oZWFkZXItaXRlbSBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2lkZS1wYW5lbC1oZWFkZXItbGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ0RJUkVDVExZX0FWQUlMQUJMRSd8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzaWRlLXBhbmVsLWhlYWRlci1maWVsZCBib2xkXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJwdXJjaGFzZUFkdmljZUxpbmUucmVhZGlseUF2YWlsYWJsZSA/IHB1cmNoYXNlQWR2aWNlTGluZS5yZWFkaWx5QXZhaWxhYmxlIDogJy0nXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWN0aW9uLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRldGFpbC1jb2x1bW4tY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRldGFpbC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLXNpZGUtcGFuZWwtYXJ0aWNsZS1kZXRhaWxzLWhlYWRlci1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWwtY29sdW1uLWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNpZGUtcGFuZWwtaGVhZGVyLWxhYmVsXCIgW3RleHRDb250ZW50XT1cIidTQUxFU19ERVNDUklQVElPTicgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNpZGUtcGFuZWwtaGVhZGVyLWZpZWxkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbdGV4dENvbnRlbnRdPVwicHVyY2hhc2VBZHZpY2VMaW5lLnNhbGVzRGVzY3JpcHRpb24gPyBwdXJjaGFzZUFkdmljZUxpbmUuc2FsZXNEZXNjcmlwdGlvbiA6ICctJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLXNpZGUtcGFuZWwtYXJ0aWNsZS1kZXRhaWxzLWhlYWRlci1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWwtY29sdW1uLWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNpZGUtcGFuZWwtaGVhZGVyLWxhYmVsXCIgW3RleHRDb250ZW50XT1cIidUVVJOT1ZFUl9HUk9VUCcgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNpZGUtcGFuZWwtaGVhZGVyLWZpZWxkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbdGV4dENvbnRlbnRdPVwicHVyY2hhc2VBZHZpY2VMaW5lLnR1cm5PdmVyR3JvdXBObyA/IHB1cmNoYXNlQWR2aWNlTGluZS50dXJuT3Zlckdyb3VwTm8gOiAnLSdcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS1zaWRlLXBhbmVsLWFydGljbGUtZGV0YWlscy1oZWFkZXItaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsLWNvbHVtbi1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzaWRlLXBhbmVsLWhlYWRlci1sYWJlbFwiIFt0ZXh0Q29udGVudF09XCInRVhDRUVEQU5DRV9DT0RFJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2lkZS1wYW5lbC1oZWFkZXItZmllbGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJwdXJjaGFzZUFkdmljZUxpbmUuZXhjZWVkYW5jZUNvZGUgPyBwdXJjaGFzZUFkdmljZUxpbmUuZXhjZWVkYW5jZUNvZGUgOiAnLSdcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRldGFpbC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLXNpZGUtcGFuZWwtYXJ0aWNsZS1kZXRhaWxzLWhlYWRlci1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWwtY29sdW1uLWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNpZGUtcGFuZWwtaGVhZGVyLWxhYmVsXCIgW3RleHRDb250ZW50XT1cIidPUkRFUl9DT0RFJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2lkZS1wYW5lbC1oZWFkZXItZmllbGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJwdXJjaGFzZUFkdmljZUxpbmUub3JkZXJDb2RlID8gcHVyY2hhc2VBZHZpY2VMaW5lLm9yZGVyQ29kZSA6ICctJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLXNpZGUtcGFuZWwtYXJ0aWNsZS1kZXRhaWxzLWhlYWRlci1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWwtY29sdW1uLWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNpZGUtcGFuZWwtaGVhZGVyLWxhYmVsXCIgW3RleHRDb250ZW50XT1cIidOQU1FJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2lkZS1wYW5lbC1oZWFkZXItZmllbGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJwdXJjaGFzZUFkdmljZUxpbmUuYXJ0aWNsZU5hbWUgPyBwdXJjaGFzZUFkdmljZUxpbmUuYXJ0aWNsZU5hbWUgOiAnLSdcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNlY3Rpb24td3JhcHBlclwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNlY3Rpb24tdGl0bGVcIiBbdGV4dENvbnRlbnRdPVwiJ09SREVSX0lORk9STUFUSU9OJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHVyY2hhc2UtYWR2aWNlLWRldGFpbC1oZWFkZXJcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS1zaWRlLXBhbmVsLWFydGljbGUtZGV0YWlscy1oZWFkZXItaXRlbSBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2lkZS1wYW5lbC1oZWFkZXItbGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ1NBTEVTX1FVQU5USVRZJ3wgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNpZGUtcGFuZWwtaGVhZGVyLWZpZWxkIGJvbGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3RleHRDb250ZW50XT1cInB1cmNoYXNlQWR2aWNlTGluZS5hbW91bnRTYWxlcyA/IHB1cmNoYXNlQWR2aWNlTGluZS5hbW91bnRTYWxlcyA6ICctJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2lkZS1wYW5lbC1oZWFkZXItZGl2aWRlclwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLXNpZGUtcGFuZWwtYXJ0aWNsZS1kZXRhaWxzLWhlYWRlci1pdGVtIGNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzaWRlLXBhbmVsLWhlYWRlci1sYWJlbFwiIFt0ZXh0Q29udGVudF09XCInUFVSQ0hBU0VfUVVBTlRJVFknfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2lkZS1wYW5lbC1oZWFkZXItZmllbGQgYm9sZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbdGV4dENvbnRlbnRdPVwicHVyY2hhc2VBZHZpY2VMaW5lLmFtb3VudFB1cmNoYXNlID8gcHVyY2hhc2VBZHZpY2VMaW5lLmFtb3VudFB1cmNoYXNlIDogJy0nXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaWRlLXBhbmVsLWhlYWRlci1kaXZpZGVyXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtc2lkZS1wYW5lbC1hcnRpY2xlLWRldGFpbHMtaGVhZGVyLWl0ZW0gY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNpZGUtcGFuZWwtaGVhZGVyLWxhYmVsXCIgW3RleHRDb250ZW50XT1cIidPUkRFUl9BTU9VTlQnfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2lkZS1wYW5lbC1oZWFkZXItZmllbGQgYm9sZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbdGV4dENvbnRlbnRdPVwiJGFueShwdXJjaGFzZUFkdmljZUxpbmUpLmRpc3BsYXlPcmRlckFtb3VudCA/ICRhbnkocHVyY2hhc2VBZHZpY2VMaW5lKS5kaXNwbGF5T3JkZXJBbW91bnQgOiAnLSdcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNpZGUtcGFuZWwtaGVhZGVyLWRpdmlkZXJcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS1zaWRlLXBhbmVsLWFydGljbGUtZGV0YWlscy1oZWFkZXItaXRlbSBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2lkZS1wYW5lbC1oZWFkZXItbGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ1ZFTE9DSVRZJ3wgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNpZGUtcGFuZWwtaGVhZGVyLWZpZWxkIGJvbGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3RleHRDb250ZW50XT1cInB1cmNoYXNlQWR2aWNlTGluZS52ZWxvY2l0eU1vbnRoID8gcHVyY2hhc2VBZHZpY2VMaW5lLnZlbG9jaXR5TW9udGggOiAnLSdcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNlY3Rpb24td3JhcHBlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsLWNvbHVtbi1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsLWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbi1pbnB1dC1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1pbnB1dC1udW1iZXItcGlja2VyXHJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidBTU9VTlQnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInB1cmNoYXNlQWR2aWNlTGluZS5hbW91bnRQdXJjaGFzZUxpc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJoYW5kbGVNb2RlbENoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICBbbWluXT1cIjFcIiBbZm9yY2VSZWFkb25seV09XCJvbmx5U3VwcGxpZXJBdmFpbGFibGVcIlxyXG4gICAgICAgICAgICAgICAgICA+PC9jby1pbnB1dC1udW1iZXItcGlja2VyPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbjwhLS1cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4taW5wdXQtaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxjby1saXN0LW9mLXZhbHVlcyBjbGFzcz1cImRldGFpbHMtaW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJwdXJjaGFzZUFkdmljZUxpbmUud2FyZWhvdXNlTm9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJ3YXJlaG91c2VzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc3BsYXlGaWVsZF09XCInZGVzY3JpcHRpb24nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidXQVJFSE9VU0UnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgID48L2NvLWxpc3Qtb2YtdmFsdWVzPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbi0tPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWwtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uLWlucHV0LWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LXRleHRcclxuICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1BVUkNIQVNFX1BSSUNFJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICBbdHlwZV09XCInbnVtYmVyJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwicHVyY2hhc2VBZHZpY2VMaW5lLnB1cmNoYXNlUHJpY2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIFttaW5dPVwiMFwiIFtmb3JjZVJlYWRvbmx5XT1cIm9ubHlTdXBwbGllckF2YWlsYWJsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImhhbmRsZUNvc3RDaGFuZ2UoKVwiXHJcbiAgICAgICAgICAgICAgICAgID48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4taW5wdXQtaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28taW5wdXQtdGV4dFxyXG4gICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInVFJBTlNQT1JUX1BSSUNFJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICBbdHlwZV09XCInbnVtYmVyJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwicHVyY2hhc2VBZHZpY2VMaW5lLnNoaXBwaW5nQ29zdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW21pbl09XCIwXCIgW2ZvcmNlUmVhZG9ubHldPVwib25seVN1cHBsaWVyQXZhaWxhYmxlXCJcclxuICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImhhbmRsZUNvc3RDaGFuZ2UoKVwiXHJcbiAgICAgICAgICAgICAgICAgID48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4taW5wdXQtaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28taW5wdXQtdGV4dFxyXG4gICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInTUFOVUZBQ1RVUklOR19QUklDRScgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3R5cGVdPVwiJ251bWJlcidcIlxyXG4gICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cImNhbGN1bGF0ZWRBc3NlbWJseUNvc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgIFttaW5dPVwiMFwiIFtmb3JjZVJlYWRvbmx5XT1cIm9ubHlTdXBwbGllckF2YWlsYWJsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJoYW5kbGVBc3NlbWJseUNvc3RDaGFuZ2UoKVwiXHJcbiAgICAgICAgICAgICAgICAgID48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VjdGlvbi13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2VjdGlvbi10aXRsZVwiIFt0ZXh0Q29udGVudF09XCInQUxURVJOQVRJVkVfU1VQUExJRVJTJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsLWNvbHVtbi1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsLWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImR5bmFtaWMtc3VwcGxpZXJzLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWFsdGVybmF0ZS1zdXBwbGllci10aWxlICAqbmdGb3I9XCJsZXQgc3VwcGxpZXIgb2YgYWx0ZXJuYXRlU3VwcGxpZXJzXCIgKHN1cHBsaWVyQ2xpY2tlZCk9XCJoYW5kbGVTZWxlY3RTdXBwbGllcigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgW3N1cHBsaWVyXT1cInN1cHBsaWVyXCIgW3NlbGVjdGVkU3VwcGxpZXJJZF09XCJzZWxlY3RlZFN1cHBsaWVySWRcIiBbZ29vZElkXT1cInB1cmNoYXNlQWR2aWNlTGluZT8uZ29vZElkXCI+PC9jby1hbHRlcm5hdGUtc3VwcGxpZXItdGlsZT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWwtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICA8Y28tbGlzdC1vZi12YWx1ZXMgY2xhc3M9XCJzdXBwbGllci1saXN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1NVUFBMSUVSJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vQ2xpY2tGb2N1c109XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VhcmNoUGxhY2Vob2xkZXJdPVwiJ1NFQVJDSCcgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwic3VwcGxpZXJzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzcGxheUZpZWxkXT1cIidmYW1pbHlOYW1lJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VsZWN0ZWRTdXBwbGllclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImhhbmRsZVN1cHBsaWVyQ2hhbmdlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgID48L2NvLWxpc3Qtb2YtdmFsdWVzPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25MaW5lU2lkZVBhbmVsQXJ0aWNsZURldGFpbHNDb21wb25lbnQge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgc3VwcGxpZXJzKHZhbHVlOiBSZWxhdGlvbkxpc3RPYmplY3RbXSkge1xyXG4gICAgdGhpcy5fc3VwcGxpZXJzID0gdmFsdWU7XHJcbiAgICB0aGlzLl9nZXRBbHRlcm5hdGVTdXBwbGllcnMoKTtcclxuICB9O1xyXG5cclxuICBwdWJsaWMgZ2V0IHN1cHBsaWVycygpOiBSZWxhdGlvbkxpc3RPYmplY3RbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc3VwcGxpZXJzO1xyXG4gIH1cclxuXHJcbiAgLy9ub3QgY3VycmVudGx5IGluIHVzZS4uLi5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB3YXJlaG91c2VzOiBXYXJlaG91c2VbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHB1cmNoYXNlQWR2aWNlTGluZSh2YWx1ZTogUHVyY2hhc2VBZHZpY2VMaW5lKSB7XHJcbiAgICB0aGlzLl9wdXJjaGFzZUFkdmljZUxpbmUgPSB2YWx1ZTtcclxuICAgIHRoaXMuaGFuZGxlQ29zdENoYW5nZSgpO1xyXG4gICAgdGhpcy5fZ2V0QWx0ZXJuYXRlU3VwcGxpZXJzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHB1cmNoYXNlQWR2aWNlTGluZSgpOiBQdXJjaGFzZUFkdmljZUxpbmUge1xyXG4gICAgcmV0dXJuIHRoaXMuX3B1cmNoYXNlQWR2aWNlTGluZTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG9ubHlTdXBwbGllckF2YWlsYWJsZTogQm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcHVyY2hhc2VBZHZpY2VMaW5lQ2hhbmdlOiBFdmVudEVtaXR0ZXI8UHVyY2hhc2VBZHZpY2VMaW5lPiA9IG5ldyBFdmVudEVtaXR0ZXI8UHVyY2hhc2VBZHZpY2VMaW5lPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgY2xvc2VTaWRlQmFyQ2xpY2tlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBwdWJsaWMgc3VwcGxpZXJEcm9wZG93bkZpZWxkczoge30gPSB7dGV4dDogXCJmYW1pbHlOYW1lXCIsIHZhbHVlOiBcInJlbGF0aW9uSWRcIn07XHJcblxyXG4gIHB1YmxpYyB3YXJlaG91c2VEcm9wRG93bkZpZWxkczogeyB0ZXh0LCB2YWx1ZSB9ID0ge3RleHQ6IFwiZGVzY3JpcHRpb25cIiwgdmFsdWU6IFwid2FyZWhvdXNlTm9cIn07XHJcbiAgcHVibGljIHNlbGVjdGVkU3VwcGxpZXJJZDogbnVtYmVyO1xyXG4gIHB1YmxpYyBzZWxlY3RlZFN1cHBsaWVyOiBSZWxhdGlvbkxpc3RPYmplY3Q7XHJcblxyXG4gIHB1YmxpYyBjYWxjdWxhdGVkQXNzZW1ibHlDb3N0OiBudW1iZXI7XHJcbiAgcHVibGljIGFsdGVybmF0ZVN1cHBsaWVyczogQWx0ZXJuYXRlU3VwcGxpZXJWaWV3bW9kZWxbXSA9IFtdO1xyXG5cclxuICBwcml2YXRlIF9wdXJjaGFzZUFkdmljZUxpbmU6IFB1cmNoYXNlQWR2aWNlTGluZTtcclxuICBwcml2YXRlIF9zdXBwbGllcnM6IFJlbGF0aW9uTGlzdE9iamVjdFtdID0gW107XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXRyYW5zYWN0aW9uLWxpbmUtc2lkZS1wYW5lbC1hcnRpY2xlLWRldGFpbHNcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQ2FuY2VsQ2xpY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLmNsb3NlU2lkZUJhckNsaWNrZWQubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgLy8gVmVsZGVuIGFhbnBhc3NlbiBvZiBvYmplY3QgdmVydmFuZ2VuIG1ldCBnZXRQdXJjaGFzZUxpbmUoZ29vZElkKT9cclxuICBwdWJsaWMgaGFuZGxlU3VwcGxpZXJDaGFuZ2VkKHN1cHBsaWVyOiBSZWxhdGlvbkxpc3RPYmplY3QgfCBudW1iZXIpOiB2b2lkIHtcclxuICAgIGlmICh0eXBlb2Ygc3VwcGxpZXIgPT09ICdudW1iZXInKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRTdXBwbGllciA9IHRoaXMuc3VwcGxpZXJzLmZpbmQocyA9PiBzLnJlbGF0aW9uSWQgPT09IHN1cHBsaWVyKTtcclxuICAgIH1cclxuICAgIHRoaXMucHVyY2hhc2VBZHZpY2VMaW5lLnN1cHBsaWVySWQgPSAgdGhpcy5zZWxlY3RlZFN1cHBsaWVyLnJlbGF0aW9uSWQ7XHJcbiAgICB0aGlzLnB1cmNoYXNlQWR2aWNlTGluZS5zdXBwbGllck5vID0gKyB0aGlzLnNlbGVjdGVkU3VwcGxpZXIucmVsYXRpb25OcjtcclxuICAgIHRoaXMucHVyY2hhc2VBZHZpY2VMaW5lLnN1cHBsaWVyTmFtZSA9ICB0aGlzLnNlbGVjdGVkU3VwcGxpZXIuZmFtaWx5TmFtZTtcclxuICAgIHRoaXMuaGFuZGxlTW9kZWxDaGFuZ2UoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVDb3N0Q2hhbmdlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucHVyY2hhc2VBZHZpY2VMaW5lLnB1cmNoYXNlUHJpY2UgJiYgdGhpcy5wdXJjaGFzZUFkdmljZUxpbmUuc2hpcHBpbmdDb3N0KSB7XHJcbiAgICAgIHRoaXMuY2FsY3VsYXRlZEFzc2VtYmx5Q29zdCA9ICsoK3RoaXMucHVyY2hhc2VBZHZpY2VMaW5lLnB1cmNoYXNlUHJpY2UgLSArdGhpcy5wdXJjaGFzZUFkdmljZUxpbmUuc2hpcHBpbmdDb3N0KS50b0ZpeGVkKDIpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5oYW5kbGVNb2RlbENoYW5nZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUFzc2VtYmx5Q29zdENoYW5nZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmNhbGN1bGF0ZWRBc3NlbWJseUNvc3QgJiYgdGhpcy5wdXJjaGFzZUFkdmljZUxpbmUuc2hpcHBpbmdDb3N0KSB7XHJcbiAgICAgIHRoaXMucHVyY2hhc2VBZHZpY2VMaW5lLnB1cmNoYXNlUHJpY2UgPSArKCt0aGlzLmNhbGN1bGF0ZWRBc3NlbWJseUNvc3QgKyArdGhpcy5wdXJjaGFzZUFkdmljZUxpbmUuc2hpcHBpbmdDb3N0KS50b0ZpeGVkKDIpO1xyXG4gICAgICB0aGlzLmhhbmRsZU1vZGVsQ2hhbmdlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU2VsZWN0U3VwcGxpZXIoc3VwcGxpZXI6IEFsdGVybmF0ZVN1cHBsaWVyVmlld21vZGVsKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkU3VwcGxpZXJJZCA9IHN1cHBsaWVyLnN1cHBsaWVyUHJvZHVjdC5yZWxhdGlvbklkU3VwcGxpZXI7XHJcbiAgICB0aGlzLmhhbmRsZVN1cHBsaWVyQ2hhbmdlZChzdXBwbGllci5zdXBwbGllclByb2R1Y3QucmVsYXRpb25JZFN1cHBsaWVyKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVNb2RlbENoYW5nZShtb2RlbD86IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5wdXJjaGFzZUFkdmljZUxpbmVDaGFuZ2UubmV4dCh0aGlzLnB1cmNoYXNlQWR2aWNlTGluZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZXRBbHRlcm5hdGVTdXBwbGllcnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmFsdGVybmF0ZVN1cHBsaWVycyA9IFtdO1xyXG4gICAgaWYgKCF0aGlzLnN1cHBsaWVycyB8fCB0aGlzLnN1cHBsaWVycy5sZW5ndGggPT09IDAgfHwgIXRoaXMucHVyY2hhc2VBZHZpY2VMaW5lKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuc2VsZWN0ZWRTdXBwbGllcklkID0gdGhpcy5wdXJjaGFzZUFkdmljZUxpbmUuc3VwcGxpZXJJZDtcclxuICAgIHRoaXMuc2VsZWN0ZWRTdXBwbGllciA9IHRoaXMuc3VwcGxpZXJzLmZpbmQocyA9PiBzLnJlbGF0aW9uSWQgPT09IHRoaXMuc2VsZWN0ZWRTdXBwbGllcklkKTtcclxuICAgIHRoaXMucHVyY2hhc2VBZHZpY2VMaW5lLnN1cHBsaWVyUHJvZHVjdC5mb3JFYWNoKChzdXBwbGllcikgPT4ge1xyXG4gICAgICBjb25zdCBhbHRlcm5hdGVTdXBwbGllcjogQWx0ZXJuYXRlU3VwcGxpZXJWaWV3bW9kZWwgPSBuZXcgQWx0ZXJuYXRlU3VwcGxpZXJWaWV3bW9kZWwoKTtcclxuICAgICAgYWx0ZXJuYXRlU3VwcGxpZXIuc3VwcGxpZXJQcm9kdWN0ID0gc3VwcGxpZXI7XHJcbiAgICAgIGFsdGVybmF0ZVN1cHBsaWVyLnJlbGF0aW9uTmFtZSA9IHRoaXMuc3VwcGxpZXJzLmZpbmQoKHMpID0+IHMucmVsYXRpb25JZCA9PT0gc3VwcGxpZXIucmVsYXRpb25JZFN1cHBsaWVyKT8uZmFtaWx5TmFtZTtcclxuICAgICAgdGhpcy5hbHRlcm5hdGVTdXBwbGllcnMucHVzaChhbHRlcm5hdGVTdXBwbGllcik7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19