@hmcts/ccpay-web-component 6.2.2-beta2 → 6.2.2-beta3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/esm2022/lib/components/add-remission/add-remission.component.mjs +6 -6
  2. package/esm2022/lib/components/allocate-payments/allocate-payments.component.mjs +6 -6
  3. package/esm2022/lib/components/card-details/card-details.component.mjs +5 -5
  4. package/esm2022/lib/components/case-transactions/case-transactions.component.mjs +6 -6
  5. package/esm2022/lib/components/contact-details/contact-details.component.mjs +6 -6
  6. package/esm2022/lib/components/error-banner/error-banner.component.mjs +5 -5
  7. package/esm2022/lib/components/fee-summary/fee-summary.component.mjs +6 -6
  8. package/esm2022/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.mjs +6 -6
  9. package/esm2022/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.mjs +6 -6
  10. package/esm2022/lib/components/notification-preview/notification-preview.component.mjs +5 -5
  11. package/esm2022/lib/components/page-not-found.component.mjs +4 -4
  12. package/esm2022/lib/components/payment-list/payment-list.component.mjs +6 -6
  13. package/esm2022/lib/components/payment-view/payment-view.component.mjs +6 -6
  14. package/esm2022/lib/components/pba-details/pba-details.component.mjs +5 -5
  15. package/esm2022/lib/components/pba-payment/pba-payment.component.mjs +7 -7
  16. package/esm2022/lib/components/process-refund/process-refund.component.mjs +6 -6
  17. package/esm2022/lib/components/processed-payments/processed-payments.component.mjs +5 -5
  18. package/esm2022/lib/components/refund-list/refund-list.component.mjs +5 -5
  19. package/esm2022/lib/components/refund-status/refund-status.component.mjs +6 -6
  20. package/esm2022/lib/components/reports/reports.component.mjs +7 -7
  21. package/esm2022/lib/components/service-request/service-request.component.mjs +6 -6
  22. package/esm2022/lib/components/status-history/status-history.component.mjs +6 -6
  23. package/esm2022/lib/components/table/table.component.mjs +6 -7
  24. package/esm2022/lib/components/unprocessed-payments/unprocessed-payments.component.mjs +7 -7
  25. package/esm2022/lib/interfaces/AllocatePaymentRequest.mjs +1 -1
  26. package/esm2022/lib/interfaces/IPutNotificationRequest.mjs +1 -1
  27. package/esm2022/lib/interfaces/NotificationPreviewRequest.mjs +1 -1
  28. package/esm2022/lib/payment-lib.component.mjs +5 -5
  29. package/esm2022/lib/payment-lib.module.mjs +5 -5
  30. package/esm2022/lib/payment-lib.service.mjs +5 -5
  31. package/esm2022/lib/pipes/capitalize.pipe.mjs +5 -5
  32. package/esm2022/lib/pipes/ccd-hyphens.pipe.mjs +5 -5
  33. package/esm2022/lib/pipes/key-value.pipe.mjs +5 -5
  34. package/esm2022/lib/pipes/sanitize-html.pipe.mjs +5 -5
  35. package/esm2022/lib/services/bulk-scaning-payment/bulk-scaning-payment.service.mjs +5 -5
  36. package/esm2022/lib/services/card-details/card-details.service.mjs +5 -5
  37. package/esm2022/lib/services/case-transactions/case-transactions.service.mjs +5 -5
  38. package/esm2022/lib/services/notification/notification.service.mjs +5 -5
  39. package/esm2022/lib/services/orderslist.service.mjs +5 -5
  40. package/esm2022/lib/services/payment-list/payment-list.service.mjs +5 -5
  41. package/esm2022/lib/services/payment-view/payment-view.service.mjs +5 -5
  42. package/esm2022/lib/services/refunds/refunds.service.mjs +5 -5
  43. package/esm2022/lib/services/shared/error-handler.service.mjs +26 -57
  44. package/esm2022/lib/services/shared/httpclient/webcomponent.http.client.mjs +5 -5
  45. package/esm2022/lib/services/shared/logger/console-logger.service.mjs +4 -4
  46. package/esm2022/lib/services/shared/logger/logger.service.mjs +4 -4
  47. package/esm2022/lib/services/status-history/status-history.service.mjs +5 -5
  48. package/esm2022/lib/services/xl-file/xl-file.service.mjs +5 -5
  49. package/fesm2022/hmcts-ccpay-web-component.mjs +218 -249
  50. package/fesm2022/hmcts-ccpay-web-component.mjs.map +1 -1
  51. package/lib/components/add-remission/add-remission.component.d.ts +3 -1
  52. package/lib/components/allocate-payments/allocate-payments.component.d.ts +3 -1
  53. package/lib/components/case-transactions/case-transactions.component.d.ts +4 -2
  54. package/lib/components/contact-details/contact-details.component.d.ts +3 -1
  55. package/lib/components/fee-summary/fee-summary.component.d.ts +3 -1
  56. package/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.d.ts +3 -1
  57. package/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.d.ts +3 -1
  58. package/lib/components/payment-list/payment-list.component.d.ts +3 -1
  59. package/lib/components/payment-view/payment-view.component.d.ts +3 -1
  60. package/lib/components/pba-payment/pba-payment.component.d.ts +3 -1
  61. package/lib/components/process-refund/process-refund.component.d.ts +3 -1
  62. package/lib/components/refund-status/refund-status.component.d.ts +3 -1
  63. package/lib/components/reports/reports.component.d.ts +3 -1
  64. package/lib/components/service-request/service-request.component.d.ts +3 -1
  65. package/lib/components/status-history/status-history.component.d.ts +3 -1
  66. package/lib/components/table/table.component.d.ts +3 -1
  67. package/package.json +1 -1
@@ -195,16 +195,16 @@ export class UnprocessedPaymentsComponent {
195
195
  event.preventDefault();
196
196
  this.unassignedRecordSelectedList = obj;
197
197
  }
198
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UnprocessedPaymentsComponent, deps: [{ token: i1.Router }, { token: i2.BulkScaningPaymentService }, { token: 'PAYMENT_LIB' }, { token: i3.PaymentViewService }, { token: i4.OrderslistService }], target: i0.ɵɵFactoryTarget.Component });
199
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: UnprocessedPaymentsComponent, isStandalone: true, selector: "ccpay-app-unprocessed-payments", inputs: { FEE_RECORDS_EXISTS: "FEE_RECORDS_EXISTS", PAYMENTREF: "PAYMENTREF", ISTURNOFF: "ISTURNOFF", IS_BUTTON_ENABLE: "IS_BUTTON_ENABLE", IS_OS_AMT_AVAILABLE: "IS_OS_AMT_AVAILABLE", ISSFENABLE: "ISSFENABLE", PAYMENTSLENGTH: "PAYMENTSLENGTH", LEVEL: "LEVEL" }, outputs: { selectedUnprocessedFeeEvent: "selectedUnprocessedFeeEvent", getUnprocessedFeeCount: "getUnprocessedFeeCount" }, ngImport: i0, template: "<!-- <ng-container *ngIf=\"IS_BUTTON_ENABLE\">\n <div class=\"unprocessed-payments govuk-grid-column-full govuk-!-padding-bottom-3\">\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='CASETRANSACTION'>\n <h3 class=\"heading-medium\" *ngIf=\"!IS_BUTTON_ENABLE\">Unprocessed payments</h3>\n <h3 class=\"heading-medium\" *ngIf=\"IS_BUTTON_ENABLE\">Unallocated payments</h3>\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\" *ngIf=\"IS_BUTTON_ENABLE && !isTurnOff\">Select</td>\n <td class=\"govuk-table__header\" scope=\"col\" *ngIf=\"IS_BUTTON_ENABLE && isTurnOff\"><a href=\"#\" (click)=\"unprocessedPaymentUnSelectEvent($event)\">Unselect</a></td>\n \n <td class=\"govuk-table__header\" scope=\"col\">Payment asset number (DCN)</td>\n <td class=\"govuk-table__header\" scope=\"col\">Banked date</td>\n <td class=\"govuk-table__header\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header\" scope=\"col\">Method</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" >\n <tr class=\"govuk-table__row\" *ngFor=\"let unassignedRecord of unassignedRecordList; let i of index;\">\n <td class=\"govuk-table__cell\" *ngIf=\"IS_BUTTON_ENABLE\">\n <div class=\"multiple-choice unprocessed-payments--radio-button\">\n <input id=\"'unpaiedFee'+i+''\"\n aria-label=\"unassignedRecord\"\n name=\"unassignedRecord\"\n type=\"radio\"\n [(ngModel)]=\"recordId\"\n (click)=\"unprocessedPaymentSelectEvent(unassignedRecord.dcn_reference)\"\n value=\"{{unassignedRecord.dcn_reference}}\" />\n <label for=\"radio-inline-1\"></label>\n </div>\n </td>\n <td class=\"govuk-table__cell whitespace-inherit\">\n {{unassignedRecord.dcn_reference}}\n </td>\n <td class=\"govuk-table__cell whitespace-inherit\"> {{unassignedRecord.date_banked | date:'dd MMM yyyy'}}</td>\n <td class=\"govuk-table__cell whitespace-inherit\"> {{unassignedRecord.amount | currency :'GBP':'symbol':'1.2-2'}}</td>\n <td class=\"capitalize govuk-table__cell whitespace-inherit\"> {{ trimUnderscore(unassignedRecord.payment_method) | lowercase}} </td>\n </tr>\n </tbody>\n <tbody class=\"govuk-table__body\" *ngIf=\"upPaymentErrorMessage !== null\">\n <td class=\"govuk-table__cell\" colspan=\"6\">No unallocated payments record available</td>\n </tbody>\n </table>\n <div class=\"button-grb\" *ngIf=\"IS_BUTTON_ENABLE && !isTurnOff\">\n <button type=\"button\"\n [disabled]=\"!isAllocatedToNewFeebtnEnabled\"\n [ngClass]=\"!isAllocatedToNewFeebtnEnabled ? 'button govuk-button--secondary button--disabled govuk-!-margin-right-1' : 'button govuk-button--secondary govuk-!-margin-right-1'\" (click)=\"redirectToFeeSearchPage($event)\">\n Allocate to a new fee\n </button>\n <button type=\"button\" \n [disabled]=\"!isAllocateToExistingFeebtnEnabled\"\n [ngClass]='!isAllocateToExistingFeebtnEnabled ? \"button govuk-button--secondary button--disabled govuk-!-margin-right-1\" : \"button govuk-button--secondary govuk-!-margin-right-1\"' (click)=\"goToAllocatePage()\">\n Allocate to an existing fee\n </button>\n <button type=\"button\" \n [disabled]=\"!isMarkAsUnidentifiedbtnEnabled\"\n [ngClass]='!isMarkAsUnidentifiedbtnEnabled ? \"button govuk-button--secondary button--disabled govuk-!-margin-right-1\" : \"button govuk-button--secondary govuk-!-margin-right-1\"' (click)=\"loadUnsolicitedPage('unidentifiedPage')\">\n Mark as unidentified\n </button>\n <button type=\"button\" \n [disabled]=\"!isUnprocessedRecordSelected\"\n [ngClass]='!isUnprocessedRecordSelected ? \"button govuk-button--secondary button--disabled govuk-!-margin-right-1\" : \"button govuk-button--secondary govuk-!-margin-right-1\"' (click)=\"loadUnsolicitedPage('unsolicitedPage')\">\n Mark as transferred\n </button> \n </div>\n \n <div class=\"button-grb\" *ngIf=\"IS_BUTTON_ENABLE && isTurnOff\">\n <button type=\"button\"\n [disabled]=\"!isAllocatedToNewFeebtnEnabled\"\n [ngClass]=\"!isAllocatedToNewFeebtnEnabled ? 'button button--disabled govuk-!-margin-right-1' : 'button govuk-!-margin-right-1'\" (click)=\"redirectToFeeSearchPage($event)\">\n Allocate to a new fee\n </button>\n <button type=\"button\" \n [disabled]=\"!isAllocateToExistingFeebtnEnabled\"\n [ngClass]='!isAllocateToExistingFeebtnEnabled ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"' (click)=\"goToAllocatePage()\">\n Allocate to an existing fee\n </button>\n <button type=\"button\" \n [disabled]=\"!isMarkAsUnidentifiedbtnEnabled\"\n [ngClass]='!isMarkAsUnidentifiedbtnEnabled ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"' (click)=\"loadUnsolicitedPage('unidentifiedPage')\">\n Mark as unidentified\n </button>\n <button type=\"button\" \n [disabled]=\"!isUnprocessedRecordSelected\"\n [ngClass]='!isUnprocessedRecordSelected ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"' (click)=\"loadUnsolicitedPage('unsolicitedPage')\">\n Mark as transferred\n </button> \n </div>\n </div>\n</ng-container> -->\n\n\n<ng-container *ngIf=\"!IS_BUTTON_ENABLE\">\n <table class=\"govuk-table\">\n \n <thead class=\"govuk-table__head\" *ngIf='PAYMENTSLENGTH === 0 '>\n <!-- <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-14\" scope=\"col\">Status</td>\n <td class=\"govuk-table__header col-10\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header col-14\" scope=\"col\">Date</td>\n <td class=\"govuk-table__header col-20\" scope=\"col\">Request reference</td>\n <td class=\"govuk-table__header col-9\" scope=\"col\"></td>\n <td class=\"govuk-table__header\" scope=\"col\"></td>\n </tr> -->\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\" *ngFor=\"let unassignedRecord of unassignedRecordList; let i = index;\">\n <td class=\"govuk-table__cell whitespace-inherit\" class=\"col-13\">\n Unallocated \n </td>\n <td class=\"govuk-table__cell whitespace-inherit\"> {{unassignedRecord.amount | currency :'GBP':'symbol':'1.2-2'}}</td>\n <td class=\"govuk-table__cell whitespace-inherit\"></td>\n <td class=\"govuk-table__cell whitespace-inherit\"></td>\n <td class=\"govuk-table__cell whitespace-inherit\"></td>\n <td class=\"govuk-table__cell whitespace-inherit\"></td>\n </tr>\n </tbody>\n \n </table>\n\n</ng-container>\n\n\n<!--Orders Unallocated changes-->\n<ng-container *ngIf=\"IS_BUTTON_ENABLE\">\n <div class=\"unprocessed-payments\">\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='CASETRANSACTION'>\n <table class=\"table\">\n \n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-13\" scope=\"col\">Status</td>\n <td class=\"govuk-table__header col-9\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header col-16\" scope=\"col\">Date allocated</td>\n <td class=\"govuk-table__header col-24\" colspan=\"3\" scope=\"col\">Request reference</td>\n <td class=\"govuk-table__header col-13\" scope=\"col\"></td>\n <td class=\"govuk-table__header\" scope=\"col\"></td>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let unassignedRecord of unassignedRecordList; let i = index;\">\n <tr>\n <td class=\"govuk-table__cell whitespace-inherit col-13\" >\n Unallocated \n </td>\n <td class=\"govuk-table__cell whitespace-inherit col-10\">\n {{unassignedRecord.amount | currency :'GBP':'symbol':'1.2-2'}}\n </td>\n <td class=\"govuk-table__cell whitespace-inherit\" colspan=\"8\">\n <div *ngIf=\"IS_BUTTON_ENABLE && !isTurnOff\" class=\"alignright\">\n <button type=\"button\"\n [disabled]=\"!isAllocatedToNewFeebtnEnabled\"\n [ngClass]=\"!isAllocatedToNewFeebtnEnabled ? 'button govuk-button--secondary button--disabled' : 'button govuk-button--secondary'\" (click)=\"redirectToFeeSearchPage($event,unassignedRecord.dcn_reference)\">\n Allocate to new service request\n </button><br/>\n <button type=\"button\" \n [disabled]=\"!isAllocateToExistingFeebtnEnabled\"\n [ngClass]='!isAllocateToExistingFeebtnEnabled ? \"button govuk-button--secondary button--disabled\" : \"button govuk-button--secondary\"' (click)=\"goToAllocatePage(unassignedRecord.dcn_reference)\">\n Allocate to existing service request \n </button>\n </div>\n \n </td>\n </tr>\n \n <!-- <ng-container> -->\n <tr>\n <td class=\"unassigned noborders\" colspan=\"10\">\n <summary (click)=\"unassignedRecord.expanded = !unassignedRecord.expanded\" class=\"govuk-details__summary\">\n <span class=\"govuk-details__summary-text\">\n More details and actions\n </span>\n </summary>\n <div *ngIf=\"unassignedRecord.expanded\" class=\"govuk-details__text govuk-!-margin-bottom-5 paddingright\">\n <dl class=\"govuk-summary-list govuk-!-margin-bottom-5\">\n <div class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n Method\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{ trimUnderscore(unassignedRecord.payment_method) | lowercase}}\n </dd>\n </div>\n <div class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n Payment assest number (DCN) \n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{unassignedRecord.dcn_reference}}\n </dd>\n </div>\n </dl>\n <div class=\" govuk-!-margin-bottom-5\">\n <button type=\"button\" \n [disabled]=\"!isMarkAsUnidentifiedbtnEnabled\"\n [ngClass]='!isMarkAsUnidentifiedbtnEnabled ? \"button govuk-button--secondary button--disabled\" : \"button govuk-button--secondary\"' (click)=\"loadUnsolicitedPage('unidentifiedPage',unassignedRecord.dcn_reference)\">\n Mark as unidentified\n </button>\n </div>\n <div>\n <button type=\"button\" \n [disabled]=\"!isUnprocessedRecordSelected\"\n [ngClass]='!isUnprocessedRecordSelected ? \"button govuk-button--secondary button--disabled\" : \"button govuk-button--secondary\"' (click)=\"loadUnsolicitedPage('unsolicitedPage',unassignedRecord.dcn_reference)\">\n Mark as transferred\n </button> \n </div>\n\n </div>\n </td> \n </tr> \n <!-- </ng-container> -->\n </ng-container>\n </tbody>\n </table>\n \n </div>\n</ng-container>\n\n<ng-container *ngIf=\"viewStatus === 'main'\">\n\n</ng-container>\n<!-- <ng-container *ngIf=\"PAYMENTSLENGTH === 0 && unassignedRecordListLength === 0\">\n <br/>No payments.<br/>\n</ng-container> -->\n\n", styles: [".unprocessed-payments .unprocessed-payments--radio-button{bottom:10px}.disable{text-decoration:none;padding:.526315em .789473em .263157em;cursor:default;color:#fff;background-color:#00823b;pointer-events:none;font-size:1em;line-height:1.25;outline:1px solid transparent;outline-offset:-1px;-webkit-appearance:none;box-shadow:0 2px #003618}.button.disabled,.button[disabled=disabled],.button[disabled]{zoom:1;filter:alpha(opacity=50);opacity:.5}.button.disabled:active,.button[disabled=disabled]:active,.button[disabled]:active{top:0;box-shadow:0 2px #003618}.button[disabled=disabled]{background:#00823b}.col-13{width:13%!important}.col-17{width:17%!important}.col-12{width:12%!important}.col-9{width:9%!important}.col-15{width:15%!important}.lowercase{text-transform:lowercase}.capitalize:first-letter{text-transform:uppercase}.whitespace-inherit{white-space:inherit!important}.top_row{display:table;width:100%}.top_row>div{display:table-cell;width:50%;border-bottom:1px solid #eee}.unassigned{border-top:hidden}.col-16{width:16%!important}.col-10{width:10%!important}.col-14{width:14%!important}.col-19{width:19%!important;padding-left:0!important}.col-18{width:18%!important;padding-left:0!important;padding-right:0!important}.col-21{width:21%!important}.col-20{width:20%!important}.col-11{width:11%!important}.col-37{width:37%!important}.noborders>td{border-color:transparent;border-top-style:hidden;border-right-style:hidden;border-left-style:hidden}.govuk-button--secondary{margin-bottom:10px}.govuk-summary-list{font-size:19px}.govuk-summary-list__key{width:35%}td{white-space:nowrap;overflow:hidden!important}table{table-layout:fixed;width:100%}th,td{word-wrap:break-word}.alignright{text-align:right}.paddingright{padding-right:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i5.LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: i5.CurrencyPipe, name: "currency" }] });
198
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: UnprocessedPaymentsComponent, deps: [{ token: i1.Router }, { token: i2.BulkScaningPaymentService }, { token: 'PAYMENT_LIB' }, { token: i3.PaymentViewService }, { token: i4.OrderslistService }], target: i0.ɵɵFactoryTarget.Component });
199
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: UnprocessedPaymentsComponent, isStandalone: true, selector: "ccpay-app-unprocessed-payments", inputs: { FEE_RECORDS_EXISTS: "FEE_RECORDS_EXISTS", PAYMENTREF: "PAYMENTREF", ISTURNOFF: "ISTURNOFF", IS_BUTTON_ENABLE: "IS_BUTTON_ENABLE", IS_OS_AMT_AVAILABLE: "IS_OS_AMT_AVAILABLE", ISSFENABLE: "ISSFENABLE", PAYMENTSLENGTH: "PAYMENTSLENGTH", LEVEL: "LEVEL" }, outputs: { selectedUnprocessedFeeEvent: "selectedUnprocessedFeeEvent", getUnprocessedFeeCount: "getUnprocessedFeeCount" }, ngImport: i0, template: "<!-- <ng-container *ngIf=\"IS_BUTTON_ENABLE\">\n <div class=\"unprocessed-payments govuk-grid-column-full govuk-!-padding-bottom-3\">\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='CASETRANSACTION'>\n <h3 class=\"heading-medium\" *ngIf=\"!IS_BUTTON_ENABLE\">Unprocessed payments</h3>\n <h3 class=\"heading-medium\" *ngIf=\"IS_BUTTON_ENABLE\">Unallocated payments</h3>\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\" *ngIf=\"IS_BUTTON_ENABLE && !isTurnOff\">Select</td>\n <td class=\"govuk-table__header\" scope=\"col\" *ngIf=\"IS_BUTTON_ENABLE && isTurnOff\"><a href=\"#\" (click)=\"unprocessedPaymentUnSelectEvent($event)\">Unselect</a></td>\n \n <td class=\"govuk-table__header\" scope=\"col\">Payment asset number (DCN)</td>\n <td class=\"govuk-table__header\" scope=\"col\">Banked date</td>\n <td class=\"govuk-table__header\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header\" scope=\"col\">Method</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" >\n <tr class=\"govuk-table__row\" *ngFor=\"let unassignedRecord of unassignedRecordList; let i of index;\">\n <td class=\"govuk-table__cell\" *ngIf=\"IS_BUTTON_ENABLE\">\n <div class=\"multiple-choice unprocessed-payments--radio-button\">\n <input id=\"'unpaiedFee'+i+''\"\n aria-label=\"unassignedRecord\"\n name=\"unassignedRecord\"\n type=\"radio\"\n [(ngModel)]=\"recordId\"\n (click)=\"unprocessedPaymentSelectEvent(unassignedRecord.dcn_reference)\"\n value=\"{{unassignedRecord.dcn_reference}}\" />\n <label for=\"radio-inline-1\"></label>\n </div>\n </td>\n <td class=\"govuk-table__cell whitespace-inherit\">\n {{unassignedRecord.dcn_reference}}\n </td>\n <td class=\"govuk-table__cell whitespace-inherit\"> {{unassignedRecord.date_banked | date:'dd MMM yyyy'}}</td>\n <td class=\"govuk-table__cell whitespace-inherit\"> {{unassignedRecord.amount | currency :'GBP':'symbol':'1.2-2'}}</td>\n <td class=\"capitalize govuk-table__cell whitespace-inherit\"> {{ trimUnderscore(unassignedRecord.payment_method) | lowercase}} </td>\n </tr>\n </tbody>\n <tbody class=\"govuk-table__body\" *ngIf=\"upPaymentErrorMessage !== null\">\n <td class=\"govuk-table__cell\" colspan=\"6\">No unallocated payments record available</td>\n </tbody>\n </table>\n <div class=\"button-grb\" *ngIf=\"IS_BUTTON_ENABLE && !isTurnOff\">\n <button type=\"button\"\n [disabled]=\"!isAllocatedToNewFeebtnEnabled\"\n [ngClass]=\"!isAllocatedToNewFeebtnEnabled ? 'button govuk-button--secondary button--disabled govuk-!-margin-right-1' : 'button govuk-button--secondary govuk-!-margin-right-1'\" (click)=\"redirectToFeeSearchPage($event)\">\n Allocate to a new fee\n </button>\n <button type=\"button\" \n [disabled]=\"!isAllocateToExistingFeebtnEnabled\"\n [ngClass]='!isAllocateToExistingFeebtnEnabled ? \"button govuk-button--secondary button--disabled govuk-!-margin-right-1\" : \"button govuk-button--secondary govuk-!-margin-right-1\"' (click)=\"goToAllocatePage()\">\n Allocate to an existing fee\n </button>\n <button type=\"button\" \n [disabled]=\"!isMarkAsUnidentifiedbtnEnabled\"\n [ngClass]='!isMarkAsUnidentifiedbtnEnabled ? \"button govuk-button--secondary button--disabled govuk-!-margin-right-1\" : \"button govuk-button--secondary govuk-!-margin-right-1\"' (click)=\"loadUnsolicitedPage('unidentifiedPage')\">\n Mark as unidentified\n </button>\n <button type=\"button\" \n [disabled]=\"!isUnprocessedRecordSelected\"\n [ngClass]='!isUnprocessedRecordSelected ? \"button govuk-button--secondary button--disabled govuk-!-margin-right-1\" : \"button govuk-button--secondary govuk-!-margin-right-1\"' (click)=\"loadUnsolicitedPage('unsolicitedPage')\">\n Mark as transferred\n </button> \n </div>\n \n <div class=\"button-grb\" *ngIf=\"IS_BUTTON_ENABLE && isTurnOff\">\n <button type=\"button\"\n [disabled]=\"!isAllocatedToNewFeebtnEnabled\"\n [ngClass]=\"!isAllocatedToNewFeebtnEnabled ? 'button button--disabled govuk-!-margin-right-1' : 'button govuk-!-margin-right-1'\" (click)=\"redirectToFeeSearchPage($event)\">\n Allocate to a new fee\n </button>\n <button type=\"button\" \n [disabled]=\"!isAllocateToExistingFeebtnEnabled\"\n [ngClass]='!isAllocateToExistingFeebtnEnabled ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"' (click)=\"goToAllocatePage()\">\n Allocate to an existing fee\n </button>\n <button type=\"button\" \n [disabled]=\"!isMarkAsUnidentifiedbtnEnabled\"\n [ngClass]='!isMarkAsUnidentifiedbtnEnabled ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"' (click)=\"loadUnsolicitedPage('unidentifiedPage')\">\n Mark as unidentified\n </button>\n <button type=\"button\" \n [disabled]=\"!isUnprocessedRecordSelected\"\n [ngClass]='!isUnprocessedRecordSelected ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"' (click)=\"loadUnsolicitedPage('unsolicitedPage')\">\n Mark as transferred\n </button> \n </div>\n </div>\n</ng-container> -->\n\n\n<ng-container *ngIf=\"!IS_BUTTON_ENABLE\">\n <table class=\"govuk-table\">\n \n <thead class=\"govuk-table__head\" *ngIf='PAYMENTSLENGTH === 0 '>\n <!-- <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-14\" scope=\"col\">Status</td>\n <td class=\"govuk-table__header col-10\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header col-14\" scope=\"col\">Date</td>\n <td class=\"govuk-table__header col-20\" scope=\"col\">Request reference</td>\n <td class=\"govuk-table__header col-9\" scope=\"col\"></td>\n <td class=\"govuk-table__header\" scope=\"col\"></td>\n </tr> -->\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\" *ngFor=\"let unassignedRecord of unassignedRecordList; let i = index;\">\n <td class=\"govuk-table__cell whitespace-inherit\" class=\"col-13\">\n Unallocated \n </td>\n <td class=\"govuk-table__cell whitespace-inherit\"> {{unassignedRecord.amount | currency :'GBP':'symbol':'1.2-2'}}</td>\n <td class=\"govuk-table__cell whitespace-inherit\"></td>\n <td class=\"govuk-table__cell whitespace-inherit\"></td>\n <td class=\"govuk-table__cell whitespace-inherit\"></td>\n <td class=\"govuk-table__cell whitespace-inherit\"></td>\n </tr>\n </tbody>\n \n </table>\n\n</ng-container>\n\n\n<!--Orders Unallocated changes-->\n<ng-container *ngIf=\"IS_BUTTON_ENABLE\">\n <div class=\"unprocessed-payments\">\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='CASETRANSACTION'>\n <table class=\"table\">\n \n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-13\" scope=\"col\">Status</td>\n <td class=\"govuk-table__header col-9\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header col-16\" scope=\"col\">Date allocated</td>\n <td class=\"govuk-table__header col-24\" colspan=\"3\" scope=\"col\">Request reference</td>\n <td class=\"govuk-table__header col-13\" scope=\"col\"></td>\n <td class=\"govuk-table__header\" scope=\"col\"></td>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let unassignedRecord of unassignedRecordList; let i = index;\">\n <tr>\n <td class=\"govuk-table__cell whitespace-inherit col-13\" >\n Unallocated \n </td>\n <td class=\"govuk-table__cell whitespace-inherit col-10\">\n {{unassignedRecord.amount | currency :'GBP':'symbol':'1.2-2'}}\n </td>\n <td class=\"govuk-table__cell whitespace-inherit\" colspan=\"8\">\n <div *ngIf=\"IS_BUTTON_ENABLE && !isTurnOff\" class=\"alignright\">\n <button type=\"button\"\n [disabled]=\"!isAllocatedToNewFeebtnEnabled\"\n [ngClass]=\"!isAllocatedToNewFeebtnEnabled ? 'button govuk-button--secondary button--disabled' : 'button govuk-button--secondary'\" (click)=\"redirectToFeeSearchPage($event,unassignedRecord.dcn_reference)\">\n Allocate to new service request\n </button><br/>\n <button type=\"button\" \n [disabled]=\"!isAllocateToExistingFeebtnEnabled\"\n [ngClass]='!isAllocateToExistingFeebtnEnabled ? \"button govuk-button--secondary button--disabled\" : \"button govuk-button--secondary\"' (click)=\"goToAllocatePage(unassignedRecord.dcn_reference)\">\n Allocate to existing service request \n </button>\n </div>\n \n </td>\n </tr>\n \n <!-- <ng-container> -->\n <tr>\n <td class=\"unassigned noborders\" colspan=\"10\">\n <summary (click)=\"unassignedRecord.expanded = !unassignedRecord.expanded\" class=\"govuk-details__summary\">\n <span class=\"govuk-details__summary-text\">\n More details and actions\n </span>\n </summary>\n <div *ngIf=\"unassignedRecord.expanded\" class=\"govuk-details__text govuk-!-margin-bottom-5 paddingright\">\n <dl class=\"govuk-summary-list govuk-!-margin-bottom-5\">\n <div class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n Method\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{ trimUnderscore(unassignedRecord.payment_method) | lowercase}}\n </dd>\n </div>\n <div class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n Payment assest number (DCN) \n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{unassignedRecord.dcn_reference}}\n </dd>\n </div>\n </dl>\n <div class=\" govuk-!-margin-bottom-5\">\n <button type=\"button\" \n [disabled]=\"!isMarkAsUnidentifiedbtnEnabled\"\n [ngClass]='!isMarkAsUnidentifiedbtnEnabled ? \"button govuk-button--secondary button--disabled\" : \"button govuk-button--secondary\"' (click)=\"loadUnsolicitedPage('unidentifiedPage',unassignedRecord.dcn_reference)\">\n Mark as unidentified\n </button>\n </div>\n <div>\n <button type=\"button\" \n [disabled]=\"!isUnprocessedRecordSelected\"\n [ngClass]='!isUnprocessedRecordSelected ? \"button govuk-button--secondary button--disabled\" : \"button govuk-button--secondary\"' (click)=\"loadUnsolicitedPage('unsolicitedPage',unassignedRecord.dcn_reference)\">\n Mark as transferred\n </button> \n </div>\n\n </div>\n </td> \n </tr> \n <!-- </ng-container> -->\n </ng-container>\n </tbody>\n </table>\n \n </div>\n</ng-container>\n\n<ng-container *ngIf=\"viewStatus === 'main'\">\n\n</ng-container>\n<!-- <ng-container *ngIf=\"PAYMENTSLENGTH === 0 && unassignedRecordListLength === 0\">\n <br/>No payments.<br/>\n</ng-container> -->\n\n", styles: [".unprocessed-payments .unprocessed-payments--radio-button{bottom:10px}.disable{text-decoration:none;padding:.526315em .789473em .263157em;cursor:default;color:#fff;background-color:#00823b;pointer-events:none;font-size:1em;line-height:1.25;outline:1px solid transparent;outline-offset:-1px;-webkit-appearance:none;box-shadow:0 2px #003618}.button.disabled,.button[disabled=disabled],.button[disabled]{zoom:1;filter:alpha(opacity=50);opacity:.5}.button.disabled:active,.button[disabled=disabled]:active,.button[disabled]:active{top:0;-webkit-box-shadow:0 2px 0 #003618;-moz-box-shadow:0 2px 0 #003618;box-shadow:0 2px #003618}.button[disabled=disabled]{background:#00823b}.col-13{width:13%!important}.col-17{width:17%!important}.col-12{width:12%!important}.col-9{width:9%!important}.col-15{width:15%!important}.lowercase{text-transform:lowercase}.capitalize:first-letter{text-transform:uppercase}.whitespace-inherit{white-space:inherit!important}.top_row{display:table;width:100%}.top_row>div{display:table-cell;width:50%;border-bottom:1px solid #eee}.unassigned{border-top:hidden}.col-16{width:16%!important}.col-10{width:10%!important}.col-14{width:14%!important}.col-19{width:19%!important;padding-left:0!important}.col-18{width:18%!important;padding-left:0!important;padding-right:0!important}.col-21{width:21%!important}.col-20{width:20%!important}.col-11{width:11%!important}.col-37{width:37%!important}.noborders>td{border-color:transparent;border-top-style:hidden;border-right-style:hidden;border-left-style:hidden}.govuk-button--secondary{margin-bottom:10px}.govuk-summary-list{font-size:19px}.govuk-summary-list__key{width:35%}td{white-space:nowrap;overflow:hidden!important}table{table-layout:fixed;width:100%}th,td{word-wrap:break-word}.alignright{text-align:right}.paddingright{padding-right:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i5.LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: i5.CurrencyPipe, name: "currency" }] });
200
200
  }
201
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UnprocessedPaymentsComponent, decorators: [{
201
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: UnprocessedPaymentsComponent, decorators: [{
202
202
  type: Component,
203
- args: [{ selector: 'ccpay-app-unprocessed-payments', imports: [CommonModule], standalone: true, template: "<!-- <ng-container *ngIf=\"IS_BUTTON_ENABLE\">\n <div class=\"unprocessed-payments govuk-grid-column-full govuk-!-padding-bottom-3\">\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='CASETRANSACTION'>\n <h3 class=\"heading-medium\" *ngIf=\"!IS_BUTTON_ENABLE\">Unprocessed payments</h3>\n <h3 class=\"heading-medium\" *ngIf=\"IS_BUTTON_ENABLE\">Unallocated payments</h3>\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\" *ngIf=\"IS_BUTTON_ENABLE && !isTurnOff\">Select</td>\n <td class=\"govuk-table__header\" scope=\"col\" *ngIf=\"IS_BUTTON_ENABLE && isTurnOff\"><a href=\"#\" (click)=\"unprocessedPaymentUnSelectEvent($event)\">Unselect</a></td>\n \n <td class=\"govuk-table__header\" scope=\"col\">Payment asset number (DCN)</td>\n <td class=\"govuk-table__header\" scope=\"col\">Banked date</td>\n <td class=\"govuk-table__header\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header\" scope=\"col\">Method</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" >\n <tr class=\"govuk-table__row\" *ngFor=\"let unassignedRecord of unassignedRecordList; let i of index;\">\n <td class=\"govuk-table__cell\" *ngIf=\"IS_BUTTON_ENABLE\">\n <div class=\"multiple-choice unprocessed-payments--radio-button\">\n <input id=\"'unpaiedFee'+i+''\"\n aria-label=\"unassignedRecord\"\n name=\"unassignedRecord\"\n type=\"radio\"\n [(ngModel)]=\"recordId\"\n (click)=\"unprocessedPaymentSelectEvent(unassignedRecord.dcn_reference)\"\n value=\"{{unassignedRecord.dcn_reference}}\" />\n <label for=\"radio-inline-1\"></label>\n </div>\n </td>\n <td class=\"govuk-table__cell whitespace-inherit\">\n {{unassignedRecord.dcn_reference}}\n </td>\n <td class=\"govuk-table__cell whitespace-inherit\"> {{unassignedRecord.date_banked | date:'dd MMM yyyy'}}</td>\n <td class=\"govuk-table__cell whitespace-inherit\"> {{unassignedRecord.amount | currency :'GBP':'symbol':'1.2-2'}}</td>\n <td class=\"capitalize govuk-table__cell whitespace-inherit\"> {{ trimUnderscore(unassignedRecord.payment_method) | lowercase}} </td>\n </tr>\n </tbody>\n <tbody class=\"govuk-table__body\" *ngIf=\"upPaymentErrorMessage !== null\">\n <td class=\"govuk-table__cell\" colspan=\"6\">No unallocated payments record available</td>\n </tbody>\n </table>\n <div class=\"button-grb\" *ngIf=\"IS_BUTTON_ENABLE && !isTurnOff\">\n <button type=\"button\"\n [disabled]=\"!isAllocatedToNewFeebtnEnabled\"\n [ngClass]=\"!isAllocatedToNewFeebtnEnabled ? 'button govuk-button--secondary button--disabled govuk-!-margin-right-1' : 'button govuk-button--secondary govuk-!-margin-right-1'\" (click)=\"redirectToFeeSearchPage($event)\">\n Allocate to a new fee\n </button>\n <button type=\"button\" \n [disabled]=\"!isAllocateToExistingFeebtnEnabled\"\n [ngClass]='!isAllocateToExistingFeebtnEnabled ? \"button govuk-button--secondary button--disabled govuk-!-margin-right-1\" : \"button govuk-button--secondary govuk-!-margin-right-1\"' (click)=\"goToAllocatePage()\">\n Allocate to an existing fee\n </button>\n <button type=\"button\" \n [disabled]=\"!isMarkAsUnidentifiedbtnEnabled\"\n [ngClass]='!isMarkAsUnidentifiedbtnEnabled ? \"button govuk-button--secondary button--disabled govuk-!-margin-right-1\" : \"button govuk-button--secondary govuk-!-margin-right-1\"' (click)=\"loadUnsolicitedPage('unidentifiedPage')\">\n Mark as unidentified\n </button>\n <button type=\"button\" \n [disabled]=\"!isUnprocessedRecordSelected\"\n [ngClass]='!isUnprocessedRecordSelected ? \"button govuk-button--secondary button--disabled govuk-!-margin-right-1\" : \"button govuk-button--secondary govuk-!-margin-right-1\"' (click)=\"loadUnsolicitedPage('unsolicitedPage')\">\n Mark as transferred\n </button> \n </div>\n \n <div class=\"button-grb\" *ngIf=\"IS_BUTTON_ENABLE && isTurnOff\">\n <button type=\"button\"\n [disabled]=\"!isAllocatedToNewFeebtnEnabled\"\n [ngClass]=\"!isAllocatedToNewFeebtnEnabled ? 'button button--disabled govuk-!-margin-right-1' : 'button govuk-!-margin-right-1'\" (click)=\"redirectToFeeSearchPage($event)\">\n Allocate to a new fee\n </button>\n <button type=\"button\" \n [disabled]=\"!isAllocateToExistingFeebtnEnabled\"\n [ngClass]='!isAllocateToExistingFeebtnEnabled ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"' (click)=\"goToAllocatePage()\">\n Allocate to an existing fee\n </button>\n <button type=\"button\" \n [disabled]=\"!isMarkAsUnidentifiedbtnEnabled\"\n [ngClass]='!isMarkAsUnidentifiedbtnEnabled ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"' (click)=\"loadUnsolicitedPage('unidentifiedPage')\">\n Mark as unidentified\n </button>\n <button type=\"button\" \n [disabled]=\"!isUnprocessedRecordSelected\"\n [ngClass]='!isUnprocessedRecordSelected ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"' (click)=\"loadUnsolicitedPage('unsolicitedPage')\">\n Mark as transferred\n </button> \n </div>\n </div>\n</ng-container> -->\n\n\n<ng-container *ngIf=\"!IS_BUTTON_ENABLE\">\n <table class=\"govuk-table\">\n \n <thead class=\"govuk-table__head\" *ngIf='PAYMENTSLENGTH === 0 '>\n <!-- <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-14\" scope=\"col\">Status</td>\n <td class=\"govuk-table__header col-10\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header col-14\" scope=\"col\">Date</td>\n <td class=\"govuk-table__header col-20\" scope=\"col\">Request reference</td>\n <td class=\"govuk-table__header col-9\" scope=\"col\"></td>\n <td class=\"govuk-table__header\" scope=\"col\"></td>\n </tr> -->\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\" *ngFor=\"let unassignedRecord of unassignedRecordList; let i = index;\">\n <td class=\"govuk-table__cell whitespace-inherit\" class=\"col-13\">\n Unallocated \n </td>\n <td class=\"govuk-table__cell whitespace-inherit\"> {{unassignedRecord.amount | currency :'GBP':'symbol':'1.2-2'}}</td>\n <td class=\"govuk-table__cell whitespace-inherit\"></td>\n <td class=\"govuk-table__cell whitespace-inherit\"></td>\n <td class=\"govuk-table__cell whitespace-inherit\"></td>\n <td class=\"govuk-table__cell whitespace-inherit\"></td>\n </tr>\n </tbody>\n \n </table>\n\n</ng-container>\n\n\n<!--Orders Unallocated changes-->\n<ng-container *ngIf=\"IS_BUTTON_ENABLE\">\n <div class=\"unprocessed-payments\">\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='CASETRANSACTION'>\n <table class=\"table\">\n \n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-13\" scope=\"col\">Status</td>\n <td class=\"govuk-table__header col-9\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header col-16\" scope=\"col\">Date allocated</td>\n <td class=\"govuk-table__header col-24\" colspan=\"3\" scope=\"col\">Request reference</td>\n <td class=\"govuk-table__header col-13\" scope=\"col\"></td>\n <td class=\"govuk-table__header\" scope=\"col\"></td>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let unassignedRecord of unassignedRecordList; let i = index;\">\n <tr>\n <td class=\"govuk-table__cell whitespace-inherit col-13\" >\n Unallocated \n </td>\n <td class=\"govuk-table__cell whitespace-inherit col-10\">\n {{unassignedRecord.amount | currency :'GBP':'symbol':'1.2-2'}}\n </td>\n <td class=\"govuk-table__cell whitespace-inherit\" colspan=\"8\">\n <div *ngIf=\"IS_BUTTON_ENABLE && !isTurnOff\" class=\"alignright\">\n <button type=\"button\"\n [disabled]=\"!isAllocatedToNewFeebtnEnabled\"\n [ngClass]=\"!isAllocatedToNewFeebtnEnabled ? 'button govuk-button--secondary button--disabled' : 'button govuk-button--secondary'\" (click)=\"redirectToFeeSearchPage($event,unassignedRecord.dcn_reference)\">\n Allocate to new service request\n </button><br/>\n <button type=\"button\" \n [disabled]=\"!isAllocateToExistingFeebtnEnabled\"\n [ngClass]='!isAllocateToExistingFeebtnEnabled ? \"button govuk-button--secondary button--disabled\" : \"button govuk-button--secondary\"' (click)=\"goToAllocatePage(unassignedRecord.dcn_reference)\">\n Allocate to existing service request \n </button>\n </div>\n \n </td>\n </tr>\n \n <!-- <ng-container> -->\n <tr>\n <td class=\"unassigned noborders\" colspan=\"10\">\n <summary (click)=\"unassignedRecord.expanded = !unassignedRecord.expanded\" class=\"govuk-details__summary\">\n <span class=\"govuk-details__summary-text\">\n More details and actions\n </span>\n </summary>\n <div *ngIf=\"unassignedRecord.expanded\" class=\"govuk-details__text govuk-!-margin-bottom-5 paddingright\">\n <dl class=\"govuk-summary-list govuk-!-margin-bottom-5\">\n <div class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n Method\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{ trimUnderscore(unassignedRecord.payment_method) | lowercase}}\n </dd>\n </div>\n <div class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n Payment assest number (DCN) \n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{unassignedRecord.dcn_reference}}\n </dd>\n </div>\n </dl>\n <div class=\" govuk-!-margin-bottom-5\">\n <button type=\"button\" \n [disabled]=\"!isMarkAsUnidentifiedbtnEnabled\"\n [ngClass]='!isMarkAsUnidentifiedbtnEnabled ? \"button govuk-button--secondary button--disabled\" : \"button govuk-button--secondary\"' (click)=\"loadUnsolicitedPage('unidentifiedPage',unassignedRecord.dcn_reference)\">\n Mark as unidentified\n </button>\n </div>\n <div>\n <button type=\"button\" \n [disabled]=\"!isUnprocessedRecordSelected\"\n [ngClass]='!isUnprocessedRecordSelected ? \"button govuk-button--secondary button--disabled\" : \"button govuk-button--secondary\"' (click)=\"loadUnsolicitedPage('unsolicitedPage',unassignedRecord.dcn_reference)\">\n Mark as transferred\n </button> \n </div>\n\n </div>\n </td> \n </tr> \n <!-- </ng-container> -->\n </ng-container>\n </tbody>\n </table>\n \n </div>\n</ng-container>\n\n<ng-container *ngIf=\"viewStatus === 'main'\">\n\n</ng-container>\n<!-- <ng-container *ngIf=\"PAYMENTSLENGTH === 0 && unassignedRecordListLength === 0\">\n <br/>No payments.<br/>\n</ng-container> -->\n\n", styles: [".unprocessed-payments .unprocessed-payments--radio-button{bottom:10px}.disable{text-decoration:none;padding:.526315em .789473em .263157em;cursor:default;color:#fff;background-color:#00823b;pointer-events:none;font-size:1em;line-height:1.25;outline:1px solid transparent;outline-offset:-1px;-webkit-appearance:none;box-shadow:0 2px #003618}.button.disabled,.button[disabled=disabled],.button[disabled]{zoom:1;filter:alpha(opacity=50);opacity:.5}.button.disabled:active,.button[disabled=disabled]:active,.button[disabled]:active{top:0;box-shadow:0 2px #003618}.button[disabled=disabled]{background:#00823b}.col-13{width:13%!important}.col-17{width:17%!important}.col-12{width:12%!important}.col-9{width:9%!important}.col-15{width:15%!important}.lowercase{text-transform:lowercase}.capitalize:first-letter{text-transform:uppercase}.whitespace-inherit{white-space:inherit!important}.top_row{display:table;width:100%}.top_row>div{display:table-cell;width:50%;border-bottom:1px solid #eee}.unassigned{border-top:hidden}.col-16{width:16%!important}.col-10{width:10%!important}.col-14{width:14%!important}.col-19{width:19%!important;padding-left:0!important}.col-18{width:18%!important;padding-left:0!important;padding-right:0!important}.col-21{width:21%!important}.col-20{width:20%!important}.col-11{width:11%!important}.col-37{width:37%!important}.noborders>td{border-color:transparent;border-top-style:hidden;border-right-style:hidden;border-left-style:hidden}.govuk-button--secondary{margin-bottom:10px}.govuk-summary-list{font-size:19px}.govuk-summary-list__key{width:35%}td{white-space:nowrap;overflow:hidden!important}table{table-layout:fixed;width:100%}th,td{word-wrap:break-word}.alignright{text-align:right}.paddingright{padding-right:0}\n"] }]
204
- }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.BulkScaningPaymentService }, { type: undefined, decorators: [{
203
+ args: [{ selector: 'ccpay-app-unprocessed-payments', imports: [CommonModule], standalone: true, template: "<!-- <ng-container *ngIf=\"IS_BUTTON_ENABLE\">\n <div class=\"unprocessed-payments govuk-grid-column-full govuk-!-padding-bottom-3\">\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='CASETRANSACTION'>\n <h3 class=\"heading-medium\" *ngIf=\"!IS_BUTTON_ENABLE\">Unprocessed payments</h3>\n <h3 class=\"heading-medium\" *ngIf=\"IS_BUTTON_ENABLE\">Unallocated payments</h3>\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\" *ngIf=\"IS_BUTTON_ENABLE && !isTurnOff\">Select</td>\n <td class=\"govuk-table__header\" scope=\"col\" *ngIf=\"IS_BUTTON_ENABLE && isTurnOff\"><a href=\"#\" (click)=\"unprocessedPaymentUnSelectEvent($event)\">Unselect</a></td>\n \n <td class=\"govuk-table__header\" scope=\"col\">Payment asset number (DCN)</td>\n <td class=\"govuk-table__header\" scope=\"col\">Banked date</td>\n <td class=\"govuk-table__header\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header\" scope=\"col\">Method</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" >\n <tr class=\"govuk-table__row\" *ngFor=\"let unassignedRecord of unassignedRecordList; let i of index;\">\n <td class=\"govuk-table__cell\" *ngIf=\"IS_BUTTON_ENABLE\">\n <div class=\"multiple-choice unprocessed-payments--radio-button\">\n <input id=\"'unpaiedFee'+i+''\"\n aria-label=\"unassignedRecord\"\n name=\"unassignedRecord\"\n type=\"radio\"\n [(ngModel)]=\"recordId\"\n (click)=\"unprocessedPaymentSelectEvent(unassignedRecord.dcn_reference)\"\n value=\"{{unassignedRecord.dcn_reference}}\" />\n <label for=\"radio-inline-1\"></label>\n </div>\n </td>\n <td class=\"govuk-table__cell whitespace-inherit\">\n {{unassignedRecord.dcn_reference}}\n </td>\n <td class=\"govuk-table__cell whitespace-inherit\"> {{unassignedRecord.date_banked | date:'dd MMM yyyy'}}</td>\n <td class=\"govuk-table__cell whitespace-inherit\"> {{unassignedRecord.amount | currency :'GBP':'symbol':'1.2-2'}}</td>\n <td class=\"capitalize govuk-table__cell whitespace-inherit\"> {{ trimUnderscore(unassignedRecord.payment_method) | lowercase}} </td>\n </tr>\n </tbody>\n <tbody class=\"govuk-table__body\" *ngIf=\"upPaymentErrorMessage !== null\">\n <td class=\"govuk-table__cell\" colspan=\"6\">No unallocated payments record available</td>\n </tbody>\n </table>\n <div class=\"button-grb\" *ngIf=\"IS_BUTTON_ENABLE && !isTurnOff\">\n <button type=\"button\"\n [disabled]=\"!isAllocatedToNewFeebtnEnabled\"\n [ngClass]=\"!isAllocatedToNewFeebtnEnabled ? 'button govuk-button--secondary button--disabled govuk-!-margin-right-1' : 'button govuk-button--secondary govuk-!-margin-right-1'\" (click)=\"redirectToFeeSearchPage($event)\">\n Allocate to a new fee\n </button>\n <button type=\"button\" \n [disabled]=\"!isAllocateToExistingFeebtnEnabled\"\n [ngClass]='!isAllocateToExistingFeebtnEnabled ? \"button govuk-button--secondary button--disabled govuk-!-margin-right-1\" : \"button govuk-button--secondary govuk-!-margin-right-1\"' (click)=\"goToAllocatePage()\">\n Allocate to an existing fee\n </button>\n <button type=\"button\" \n [disabled]=\"!isMarkAsUnidentifiedbtnEnabled\"\n [ngClass]='!isMarkAsUnidentifiedbtnEnabled ? \"button govuk-button--secondary button--disabled govuk-!-margin-right-1\" : \"button govuk-button--secondary govuk-!-margin-right-1\"' (click)=\"loadUnsolicitedPage('unidentifiedPage')\">\n Mark as unidentified\n </button>\n <button type=\"button\" \n [disabled]=\"!isUnprocessedRecordSelected\"\n [ngClass]='!isUnprocessedRecordSelected ? \"button govuk-button--secondary button--disabled govuk-!-margin-right-1\" : \"button govuk-button--secondary govuk-!-margin-right-1\"' (click)=\"loadUnsolicitedPage('unsolicitedPage')\">\n Mark as transferred\n </button> \n </div>\n \n <div class=\"button-grb\" *ngIf=\"IS_BUTTON_ENABLE && isTurnOff\">\n <button type=\"button\"\n [disabled]=\"!isAllocatedToNewFeebtnEnabled\"\n [ngClass]=\"!isAllocatedToNewFeebtnEnabled ? 'button button--disabled govuk-!-margin-right-1' : 'button govuk-!-margin-right-1'\" (click)=\"redirectToFeeSearchPage($event)\">\n Allocate to a new fee\n </button>\n <button type=\"button\" \n [disabled]=\"!isAllocateToExistingFeebtnEnabled\"\n [ngClass]='!isAllocateToExistingFeebtnEnabled ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"' (click)=\"goToAllocatePage()\">\n Allocate to an existing fee\n </button>\n <button type=\"button\" \n [disabled]=\"!isMarkAsUnidentifiedbtnEnabled\"\n [ngClass]='!isMarkAsUnidentifiedbtnEnabled ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"' (click)=\"loadUnsolicitedPage('unidentifiedPage')\">\n Mark as unidentified\n </button>\n <button type=\"button\" \n [disabled]=\"!isUnprocessedRecordSelected\"\n [ngClass]='!isUnprocessedRecordSelected ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"' (click)=\"loadUnsolicitedPage('unsolicitedPage')\">\n Mark as transferred\n </button> \n </div>\n </div>\n</ng-container> -->\n\n\n<ng-container *ngIf=\"!IS_BUTTON_ENABLE\">\n <table class=\"govuk-table\">\n \n <thead class=\"govuk-table__head\" *ngIf='PAYMENTSLENGTH === 0 '>\n <!-- <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-14\" scope=\"col\">Status</td>\n <td class=\"govuk-table__header col-10\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header col-14\" scope=\"col\">Date</td>\n <td class=\"govuk-table__header col-20\" scope=\"col\">Request reference</td>\n <td class=\"govuk-table__header col-9\" scope=\"col\"></td>\n <td class=\"govuk-table__header\" scope=\"col\"></td>\n </tr> -->\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\" *ngFor=\"let unassignedRecord of unassignedRecordList; let i = index;\">\n <td class=\"govuk-table__cell whitespace-inherit\" class=\"col-13\">\n Unallocated \n </td>\n <td class=\"govuk-table__cell whitespace-inherit\"> {{unassignedRecord.amount | currency :'GBP':'symbol':'1.2-2'}}</td>\n <td class=\"govuk-table__cell whitespace-inherit\"></td>\n <td class=\"govuk-table__cell whitespace-inherit\"></td>\n <td class=\"govuk-table__cell whitespace-inherit\"></td>\n <td class=\"govuk-table__cell whitespace-inherit\"></td>\n </tr>\n </tbody>\n \n </table>\n\n</ng-container>\n\n\n<!--Orders Unallocated changes-->\n<ng-container *ngIf=\"IS_BUTTON_ENABLE\">\n <div class=\"unprocessed-payments\">\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='CASETRANSACTION'>\n <table class=\"table\">\n \n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-13\" scope=\"col\">Status</td>\n <td class=\"govuk-table__header col-9\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header col-16\" scope=\"col\">Date allocated</td>\n <td class=\"govuk-table__header col-24\" colspan=\"3\" scope=\"col\">Request reference</td>\n <td class=\"govuk-table__header col-13\" scope=\"col\"></td>\n <td class=\"govuk-table__header\" scope=\"col\"></td>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let unassignedRecord of unassignedRecordList; let i = index;\">\n <tr>\n <td class=\"govuk-table__cell whitespace-inherit col-13\" >\n Unallocated \n </td>\n <td class=\"govuk-table__cell whitespace-inherit col-10\">\n {{unassignedRecord.amount | currency :'GBP':'symbol':'1.2-2'}}\n </td>\n <td class=\"govuk-table__cell whitespace-inherit\" colspan=\"8\">\n <div *ngIf=\"IS_BUTTON_ENABLE && !isTurnOff\" class=\"alignright\">\n <button type=\"button\"\n [disabled]=\"!isAllocatedToNewFeebtnEnabled\"\n [ngClass]=\"!isAllocatedToNewFeebtnEnabled ? 'button govuk-button--secondary button--disabled' : 'button govuk-button--secondary'\" (click)=\"redirectToFeeSearchPage($event,unassignedRecord.dcn_reference)\">\n Allocate to new service request\n </button><br/>\n <button type=\"button\" \n [disabled]=\"!isAllocateToExistingFeebtnEnabled\"\n [ngClass]='!isAllocateToExistingFeebtnEnabled ? \"button govuk-button--secondary button--disabled\" : \"button govuk-button--secondary\"' (click)=\"goToAllocatePage(unassignedRecord.dcn_reference)\">\n Allocate to existing service request \n </button>\n </div>\n \n </td>\n </tr>\n \n <!-- <ng-container> -->\n <tr>\n <td class=\"unassigned noborders\" colspan=\"10\">\n <summary (click)=\"unassignedRecord.expanded = !unassignedRecord.expanded\" class=\"govuk-details__summary\">\n <span class=\"govuk-details__summary-text\">\n More details and actions\n </span>\n </summary>\n <div *ngIf=\"unassignedRecord.expanded\" class=\"govuk-details__text govuk-!-margin-bottom-5 paddingright\">\n <dl class=\"govuk-summary-list govuk-!-margin-bottom-5\">\n <div class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n Method\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{ trimUnderscore(unassignedRecord.payment_method) | lowercase}}\n </dd>\n </div>\n <div class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n Payment assest number (DCN) \n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{unassignedRecord.dcn_reference}}\n </dd>\n </div>\n </dl>\n <div class=\" govuk-!-margin-bottom-5\">\n <button type=\"button\" \n [disabled]=\"!isMarkAsUnidentifiedbtnEnabled\"\n [ngClass]='!isMarkAsUnidentifiedbtnEnabled ? \"button govuk-button--secondary button--disabled\" : \"button govuk-button--secondary\"' (click)=\"loadUnsolicitedPage('unidentifiedPage',unassignedRecord.dcn_reference)\">\n Mark as unidentified\n </button>\n </div>\n <div>\n <button type=\"button\" \n [disabled]=\"!isUnprocessedRecordSelected\"\n [ngClass]='!isUnprocessedRecordSelected ? \"button govuk-button--secondary button--disabled\" : \"button govuk-button--secondary\"' (click)=\"loadUnsolicitedPage('unsolicitedPage',unassignedRecord.dcn_reference)\">\n Mark as transferred\n </button> \n </div>\n\n </div>\n </td> \n </tr> \n <!-- </ng-container> -->\n </ng-container>\n </tbody>\n </table>\n \n </div>\n</ng-container>\n\n<ng-container *ngIf=\"viewStatus === 'main'\">\n\n</ng-container>\n<!-- <ng-container *ngIf=\"PAYMENTSLENGTH === 0 && unassignedRecordListLength === 0\">\n <br/>No payments.<br/>\n</ng-container> -->\n\n", styles: [".unprocessed-payments .unprocessed-payments--radio-button{bottom:10px}.disable{text-decoration:none;padding:.526315em .789473em .263157em;cursor:default;color:#fff;background-color:#00823b;pointer-events:none;font-size:1em;line-height:1.25;outline:1px solid transparent;outline-offset:-1px;-webkit-appearance:none;box-shadow:0 2px #003618}.button.disabled,.button[disabled=disabled],.button[disabled]{zoom:1;filter:alpha(opacity=50);opacity:.5}.button.disabled:active,.button[disabled=disabled]:active,.button[disabled]:active{top:0;-webkit-box-shadow:0 2px 0 #003618;-moz-box-shadow:0 2px 0 #003618;box-shadow:0 2px #003618}.button[disabled=disabled]{background:#00823b}.col-13{width:13%!important}.col-17{width:17%!important}.col-12{width:12%!important}.col-9{width:9%!important}.col-15{width:15%!important}.lowercase{text-transform:lowercase}.capitalize:first-letter{text-transform:uppercase}.whitespace-inherit{white-space:inherit!important}.top_row{display:table;width:100%}.top_row>div{display:table-cell;width:50%;border-bottom:1px solid #eee}.unassigned{border-top:hidden}.col-16{width:16%!important}.col-10{width:10%!important}.col-14{width:14%!important}.col-19{width:19%!important;padding-left:0!important}.col-18{width:18%!important;padding-left:0!important;padding-right:0!important}.col-21{width:21%!important}.col-20{width:20%!important}.col-11{width:11%!important}.col-37{width:37%!important}.noborders>td{border-color:transparent;border-top-style:hidden;border-right-style:hidden;border-left-style:hidden}.govuk-button--secondary{margin-bottom:10px}.govuk-summary-list{font-size:19px}.govuk-summary-list__key{width:35%}td{white-space:nowrap;overflow:hidden!important}table{table-layout:fixed;width:100%}th,td{word-wrap:break-word}.alignright{text-align:right}.paddingright{padding-right:0}\n"] }]
204
+ }], ctorParameters: () => [{ type: i1.Router }, { type: i2.BulkScaningPaymentService }, { type: undefined, decorators: [{
205
205
  type: Inject,
206
206
  args: ['PAYMENT_LIB']
207
- }] }, { type: i3.PaymentViewService }, { type: i4.OrderslistService }]; }, propDecorators: { FEE_RECORDS_EXISTS: [{
207
+ }] }, { type: i3.PaymentViewService }, { type: i4.OrderslistService }], propDecorators: { FEE_RECORDS_EXISTS: [{
208
208
  type: Input,
209
209
  args: ['FEE_RECORDS_EXISTS']
210
210
  }], PAYMENTREF: [{
@@ -233,4 +233,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
233
233
  }], getUnprocessedFeeCount: [{
234
234
  type: Output
235
235
  }] } });
236
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5wcm9jZXNzZWQtcGF5bWVudHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGF5bWVudC1saWIvc3JjL2xpYi9jb21wb25lbnRzL3VucHJvY2Vzc2VkLXBheW1lbnRzL3VucHJvY2Vzc2VkLXBheW1lbnRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BheW1lbnQtbGliL3NyYy9saWIvY29tcG9uZW50cy91bnByb2Nlc3NlZC1wYXltZW50cy91bnByb2Nlc3NlZC1wYXltZW50cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUc3RyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDdEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7O0FBUy9DLE1BQU0sT0FBTyw0QkFBNEI7SUFtQ25CO0lBQ1Y7SUFDdUI7SUFDdkI7SUFDQTtJQXJDbUIsa0JBQWtCLENBQVU7SUFDcEMsVUFBVSxDQUFTO0lBQ3BCLFNBQVMsQ0FBVTtJQUNaLGdCQUFnQixDQUFVO0lBQ3ZCLG1CQUFtQixDQUFVO0lBQ3RDLFVBQVUsQ0FBVTtJQUNoQixjQUFjLENBQVM7SUFDaEMsS0FBSyxDQUFTO0lBRXBCLDJCQUEyQixHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ3ZFLHNCQUFzQixHQUF5QixJQUFJLFlBQVks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c0I7c0JBQS9CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT3V0cHV0LCBJbnB1dCwgRXZlbnRFbWl0dGVyLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJ1bGtTY2FuaW5nUGF5bWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9idWxrLXNjYW5pbmctcGF5bWVudC9idWxrLXNjYW5pbmctcGF5bWVudC5zZXJ2aWNlJztcbmltcG9ydCB0eXBlIHsgUGF5bWVudExpYkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3BheW1lbnQtbGliLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJQlNQYXltZW50cyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSUJTUGF5bWVudHMnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFBheW1lbnRWaWV3U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3BheW1lbnQtdmlldy9wYXltZW50LXZpZXcuc2VydmljZSc7XG5pbXBvcnQgeyBPcmRlcnNsaXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL29yZGVyc2xpc3Quc2VydmljZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY3BheS1hcHAtdW5wcm9jZXNzZWQtcGF5bWVudHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vdW5wcm9jZXNzZWQtcGF5bWVudHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi91bnByb2Nlc3NlZC1wYXltZW50cy5jb21wb25lbnQuc2NzcyddLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBVbnByb2Nlc3NlZFBheW1lbnRzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoJ0ZFRV9SRUNPUkRTX0VYSVNUUycpIEZFRV9SRUNPUkRTX0VYSVNUUzogYm9vbGVhbjtcbiAgQElucHV0KCdQQVlNRU5UUkVGJykgUEFZTUVOVFJFRjogc3RyaW5nO1xuICBASW5wdXQoJ0lTVFVSTk9GRicpIElTVFVSTk9GRjogYm9vbGVhbjtcbiAgQElucHV0KCdJU19CVVRUT05fRU5BQkxFJykgSVNfQlVUVE9OX0VOQUJMRTogYm9vbGVhbjtcbiAgQElucHV0KCdJU19PU19BTVRfQVZBSUxBQkxFJykgSVNfT1NfQU1UX0FWQUlMQUJMRTogYm9vbGVhbjtcbiAgQElucHV0KCdJU1NGRU5BQkxFJykgSVNTRkVOQUJMRTogYm9vbGVhbjtcbiAgQElucHV0KCdQQVlNRU5UU0xFTkdUSCcpIFBBWU1FTlRTTEVOR1RIOiBOdW1iZXI7XG4gIEBJbnB1dCgnTEVWRUwnKSBMRVZFTDogTnVtYmVyO1xuXG4gIEBPdXRwdXQoKSBzZWxlY3RlZFVucHJvY2Vzc2VkRmVlRXZlbnQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgZ2V0VW5wcm9jZXNzZWRGZWVDb3VudDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgdmlld1N0YXR1cyA9ICdtYWluJztcbiAgdW5hc3NpZ25lZFJlY29yZExpc3Q6IElCU1BheW1lbnRzO1xuICB1cFBheW1lbnRFcnJvck1lc3NhZ2U6IHN0cmluZyA9IG51bGw7XG4gIGNjZENhc2VOdW1iZXI6IHN0cmluZztcbiAgcmVjb3JkSWQ6IHN0cmluZyA9IG51bGw7XG4gIGlzUmVjb3JkRXhpc3Q6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZGNuTnVtYmVyOiBzdHJpbmcgPSBudWxsO1xuICBzZWxlY3RlZE9wdGlvbjogc3RyaW5nO1xuICBpc1VucHJvY2Vzc2VkUmVjb3JkU2VsZWN0ZWQ6IGJvb2xlYW4gPSB0cnVlO1xuICBpc0FsbG9jYXRlVG9FeGlzdGluZ0ZlZWJ0bkVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNNYXJrQXNVbmlkZW50aWZpZWRidG5FbmFibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIGlzQWxsb2NhdGVkVG9OZXdGZWVidG5FbmFibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIGlzRXhjZXB0aW9uQ2FzZTogYm9vbGVhbiA9IGZhbHNlO1xuICBzZXJ2aWNlSWQ6IHN0cmluZyA9IG51bGw7XG4gIGlzQnVsa1NjYW5FbmFibGU7XG4gIGlzVHVybk9mZjogYm9vbGVhbiA9IHRydWU7XG4gIGlzU3RGaXhFbmFibGU7XG4gIHVuYXNzaWduZWRSZWNvcmRTZWxlY3RlZExpc3Q6IElCU1BheW1lbnRzO1xuICB1bmFzc2lnbmVkUmVjb3JkTGlzdExlbmd0aDogbnVtYmVyID0gMDtcbiAgc2hvd0NvbnRlbnQ6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIGJ1bGtTY2FuaW5nUGF5bWVudFNlcnZpY2U6IEJ1bGtTY2FuaW5nUGF5bWVudFNlcnZpY2UsXG4gICAgQEluamVjdCgnUEFZTUVOVF9MSUInKSBwcml2YXRlIHBheW1lbnRMaWJDb21wb25lbnQ6IFBheW1lbnRMaWJDb21wb25lbnQsXG4gICAgcHJpdmF0ZSBwYXltZW50Vmlld1NlcnZpY2U6IFBheW1lbnRWaWV3U2VydmljZSxcbiAgICBwcml2YXRlIE9yZGVyc2xpc3RTZXJ2aWNlOiBPcmRlcnNsaXN0U2VydmljZVxuICApIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIC8vIFRvZG8gLi4uXG4gICAgdGhpcy5jY2RDYXNlTnVtYmVyID0gdGhpcy5wYXltZW50TGliQ29tcG9uZW50LkNDRF9DQVNFX05VTUJFUjtcbiAgICB0aGlzLnNlbGVjdGVkT3B0aW9uID0gdGhpcy5wYXltZW50TGliQ29tcG9uZW50LlNFTEVDVEVEX09QVElPTi50b0xvY2FsZUxvd2VyQ2FzZSgpO1xuICAgIHRoaXMuZGNuTnVtYmVyID0gdGhpcy5wYXltZW50TGliQ29tcG9uZW50LkRDTl9OVU1CRVI7XG4gICAgdGhpcy5pc0J1bGtTY2FuRW5hYmxlID0gdGhpcy5wYXltZW50TGliQ29tcG9uZW50LklTQlNFTkFCTEU7XG4gICAgdGhpcy5pc1R1cm5PZmYgPSB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuSVNUVVJOT0ZGO1xuICAgIHRoaXMuaXNTdEZpeEVuYWJsZSA9IHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5JU1NGRU5BQkxFO1xuICAgIHRoaXMuT3JkZXJzbGlzdFNlcnZpY2UuZ2V0RmVlRXhpc3RzKCkuc3Vic2NyaWJlKChkYXRhKSA9PiB0aGlzLkZFRV9SRUNPUkRTX0VYSVNUUyA9IGRhdGEpO1xuICAgIHRoaXMuZ2V0VW5hc3NpZ25lZFBheW1lbnRsaXN0KCk7XG5cbiAgfVxuXG4gIGdldFVuYXNzaWduZWRQYXltZW50bGlzdCgpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZE9wdGlvbiA9PT0gJ2RjbicpIHtcbiAgICAgIHRoaXMuYnVsa1NjYW5pbmdQYXltZW50U2VydmljZS5nZXRCU1BheW1lbnRzQnlEQ04odGhpcy5kY25OdW1iZXIpLnN1YnNjcmliZShcbiAgICAgICAgdW5hc3NpZ25lZFBheW1lbnRzID0+IHtcbiAgICAgICAgICAvLyAgdW5hc3NpZ25lZFBheW1lbnRzWydkYXRhJ10ubWFwKGRhdGEgPT4gZGF0YS5leHBhbmRhYmxlPWZhbHNlKTtcbiAgICAgICAgICBpZiAodW5hc3NpZ25lZFBheW1lbnRzWydkYXRhJ10gJiYgdW5hc3NpZ25lZFBheW1lbnRzWydkYXRhJ10ucGF5bWVudHMpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0VmFsdWVzRm9yVW5hc3NpZ25lZFJlY29yZCh1bmFzc2lnbmVkUGF5bWVudHNbJ2RhdGEnXSk7XG4gICAgICAgICAgfSBlbHNlIGlmICh1bmFzc2lnbmVkUGF5bWVudHNbJ3BheW1lbnRzJ10pIHtcbiAgICAgICAgICAgIHRoaXMuc2V0VmFsdWVzRm9yVW5hc3NpZ25lZFJlY29yZCh1bmFzc2lnbmVkUGF5bWVudHMpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnVwUGF5bWVudEVycm9yTWVzc2FnZSA9ICdlcnJvcic7XG4gICAgICAgICAgICB0aGlzLmdldFVucHJvY2Vzc2VkRmVlQ291bnQuZW1pdCgnMCcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLnVwUGF5bWVudEVycm9yTWVzc2FnZSA9IGVycm9yO1xuICAgICAgICAgIHRoaXMuZ2V0VW5wcm9jZXNzZWRGZWVDb3VudC5lbWl0KCcwJyk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYnVsa1NjYW5pbmdQYXltZW50U2VydmljZS5nZXRCU1BheW1lbnRzQnlDQ0QodGhpcy5jY2RDYXNlTnVtYmVyKS5zdWJzY3JpYmUoXG4gICAgICAgIHVuYXNzaWduZWRQYXltZW50cyA9PiB7XG4gICAgICAgICAgLy8gIHVuYXNzaWduZWRQYXltZW50c1snZGF0YSddLm1hcChkYXRhID0+IGRhdGEuZXhwYW5kYWJsZT1mYWxzZSk7XG4gICAgICAgICAgaWYgKHVuYXNzaWduZWRQYXltZW50c1snZGF0YSddICYmIHVuYXNzaWduZWRQYXltZW50c1snZGF0YSddLnBheW1lbnRzKSB7XG4gICAgICAgICAgICB0aGlzLnNldFZhbHVlc0ZvclVuYXNzaWduZWRSZWNvcmQodW5hc3NpZ25lZFBheW1lbnRzWydkYXRhJ10pO1xuICAgICAgICAgIH0gZWxzZSBpZiAodW5hc3NpZ25lZFBheW1lbnRzWydwYXltZW50cyddKSB7XG4gICAgICAgICAgICB0aGlzLnNldFZhbHVlc0ZvclVuYXNzaWduZWRSZWNvcmQodW5hc3NpZ25lZFBheW1lbnRzKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy51cFBheW1lbnRFcnJvck1lc3NhZ2UgPSAnZXJyb3InO1xuICAgICAgICAgICAgdGhpcy5nZXRVbnByb2Nlc3NlZEZlZUNvdW50LmVtaXQoJzAnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy51cFBheW1lbnRFcnJvck1lc3NhZ2UgPSBlcnJvcjtcbiAgICAgICAgICB0aGlzLmdldFVucHJvY2Vzc2VkRmVlQ291bnQuZW1pdCgnMCcpO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH1cblxuICB9XG5cbiAgc2V0VmFsdWVzRm9yVW5hc3NpZ25lZFJlY29yZCh1bmFzc2lnbmVkUGF5bWVudHMpIHtcblxuICAgIHRoaXMudW5hc3NpZ25lZFJlY29yZExpc3QgPSB1bmFzc2lnbmVkUGF5bWVudHMucGF5bWVudHM7XG4gICAgaWYgKHRoaXMudW5hc3NpZ25lZFJlY29yZExpc3QpIHtcbiAgICAgIHRoaXMudW5hc3NpZ25lZFJlY29yZExpc3RMZW5ndGggPSB1bmFzc2lnbmVkUGF5bWVudHMucGF5bWVudHMubGVuZ3RoXG4gICAgfVxuICAgIHRoaXMuc2VydmljZUlkID0gdW5hc3NpZ25lZFBheW1lbnRzLnJlc3BvbnNpYmxlX3NlcnZpY2VfaWQ7XG4gICAgaWYgKHVuYXNzaWduZWRQYXltZW50c1snY2NkX3JlZmVyZW5jZSddID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuaXNFeGNlcHRpb25DYXNlID0gdHJ1ZTtcbiAgICB9XG4gICAgLy8gdGhpcy5pc1JlY29yZEV4aXN0ID0gIHRoaXMudW5hc3NpZ25lZFJlY29yZExpc3QubGVuZ3RoID09PSAwO1xuICAgIHRoaXMuZ2V0VW5wcm9jZXNzZWRGZWVDb3VudC5lbWl0KDxhbnk+dGhpcy51bmFzc2lnbmVkUmVjb3JkTGlzdC5sZW5ndGgpO1xuICAgIHRoaXMudW5wcm9jZXNzZWRQYXltZW50U2VsZWN0RXZlbnQodGhpcy51bmFzc2lnbmVkUmVjb3JkTGlzdCk7XG4gIH1cblxuICBmb3JtYXRVbmFzc2lnbmVkUmVjb3JkSWQoSUQ6IE51bWJlcikge1xuICAgIHJldHVybiBgdW5hc3NpZ25yZWNvcmQtJHtJRH1gO1xuICB9XG5cbiAgdHJpbVVuZGVyc2NvcmUobWV0aG9kOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5idWxrU2NhbmluZ1BheW1lbnRTZXJ2aWNlLnJlbW92ZVVud2FudGVkU3RyaW5nKG1ldGhvZCwgJyAnKTtcbiAgfVxuXG4gIHJlZGlyZWN0VG9GZWVTZWFyY2hQYWdlKGV2ZW50OiBhbnksIGRjbl9yZWZlcmVuY2U6IGFueSkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5yZWNvcmRJZCA9IGRjbl9yZWZlcmVuY2U7XG4gICAgbGV0IHVybCA9IHRoaXMuaXNCdWxrU2NhbkVuYWJsZSA/ICcmaXNCdWxrU2Nhbm5pbmc9RW5hYmxlJyA6ICcmaXNCdWxrU2Nhbm5pbmc9RGlzYWJsZSc7XG4gICAgdXJsICs9IHRoaXMuSVNUVVJOT0ZGID8gJyZpc1R1cm5PZmY9RW5hYmxlJyA6ICcmaXNUdXJuT2ZmPURpc2FibGUnO1xuICAgIHVybCArPSB0aGlzLmlzU3RGaXhFbmFibGUgPyAnJmlzU3RGaXhFbmFibGU9RW5hYmxlJyA6ICcmaXNTdEZpeEVuYWJsZT1EaXNhYmxlJztcbiAgICB1cmwgKz0gYCZjYXNlVHlwZT0ke3RoaXMucGF5bWVudExpYkNvbXBvbmVudC5DQVNFVFlQRX1gO1xuXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChgL2ZlZS1zZWFyY2g/c2VsZWN0ZWRPcHRpb249JHt0aGlzLnNlbGVjdGVkT3B0aW9ufSZjY2RDYXNlTnVtYmVyPSR7dGhpcy5jY2RDYXNlTnVtYmVyfSZkY249JHt0aGlzLnJlY29yZElkfSR7dXJsfWApO1xuICB9XG5cbiAgbG9hZFVuc29saWNpdGVkUGFnZSh2aWV3TmFtZTogc3RyaW5nLCBkY25fcmVmZXJlbmNlOiBhbnkpIHtcbiAgICB0aGlzLnJlY29yZElkID0gZGNuX3JlZmVyZW5jZTtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuYnNwYXltZW50ZGNuID0gdGhpcy5yZWNvcmRJZDtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQudmlld05hbWUgPSB2aWV3TmFtZTtcbiAgfVxuXG4gIHVucHJvY2Vzc2VkUGF5bWVudFNlbGVjdEV2ZW50KHNlbGVjdGVkUmVjb3JkUmVmZXJlbmNlOiBhbnkpIHtcbiAgICB0aGlzLmlzVW5wcm9jZXNzZWRSZWNvcmRTZWxlY3RlZCA9IHRydWU7XG4gICAgdGhpcy52YWxpZGF0ZUJ1dHRvbnMoKTtcbiAgICB0aGlzLnNlbGVjdGVkVW5wcm9jZXNzZWRGZWVFdmVudC5lbWl0KHNlbGVjdGVkUmVjb3JkUmVmZXJlbmNlKTtcbiAgfVxuXG4gIHJlc2V0QnV0dG9ucygpIHtcbiAgICB0aGlzLmlzVW5wcm9jZXNzZWRSZWNvcmRTZWxlY3RlZCA9IGZhbHNlO1xuICAgIHRoaXMuaXNBbGxvY2F0ZVRvRXhpc3RpbmdGZWVidG5FbmFibGVkID0gZmFsc2U7XG4gICAgdGhpcy5pc01hcmtBc1VuaWRlbnRpZmllZGJ0bkVuYWJsZWQgPSBmYWxzZTtcbiAgICB0aGlzLmlzQWxsb2NhdGVkVG9OZXdGZWVidG5FbmFibGVkID0gZmFsc2U7XG4gIH1cblxuICBnb1RvQWxsb2NhdGVQYWdlKGRjbl9yZWZlcmVuY2U6IGFueSkge1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5ic3BheW1lbnRkY24gPSBkY25fcmVmZXJlbmNlO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC51blByb2Nlc3NlZFBheW1lbnRTZXJ2aWNlSWQgPSB0aGlzLnNlcnZpY2VJZFxuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5pc1R1cm5PZmYgPSB0aGlzLklTVFVSTk9GRjtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuSVNTRkVOQUJMRSA9IHRoaXMuaXNTdEZpeEVuYWJsZTtcblxuICAgIGlmICh0aGlzLklTVFVSTk9GRikge1xuICAgICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnBheW1lbnRHcm91cFJlZmVyZW5jZSA9IHRoaXMuUEFZTUVOVFJFRjtcbiAgICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC52aWV3TmFtZSA9ICdmZWUtc3VtbWFyeSc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5wYXltZW50R3JvdXBSZWZlcmVuY2UgPSBudWxsO1xuICAgICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnZpZXdOYW1lID0gJ2FsbG9jYXRlLXBheW1lbnRzJztcbiAgICB9XG5cbiAgfVxuXG4gIHZhbGlkYXRlQnV0dG9ucygpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmlzVW5wcm9jZXNzZWRSZWNvcmRTZWxlY3RlZCAmJiB0aGlzLmlzRXhjZXB0aW9uQ2FzZSkge1xuICAgICAgICB0aGlzLmlzTWFya0FzVW5pZGVudGlmaWVkYnRuRW5hYmxlZCA9IHRydWU7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuaXNVbnByb2Nlc3NlZFJlY29yZFNlbGVjdGVkICYmICF0aGlzLmlzRXhjZXB0aW9uQ2FzZSAmJiAhdGhpcy5GRUVfUkVDT1JEU19FWElTVFMpIHtcbiAgICAgICAgdGhpcy5pc0FsbG9jYXRlVG9FeGlzdGluZ0ZlZWJ0bkVuYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc0FsbG9jYXRlZFRvTmV3RmVlYnRuRW5hYmxlZCA9IHRydWU7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuaXNVbnByb2Nlc3NlZFJlY29yZFNlbGVjdGVkICYmICF0aGlzLmlzRXhjZXB0aW9uQ2FzZSAmJiB0aGlzLkZFRV9SRUNPUkRTX0VYSVNUUykge1xuICAgICAgICBpZiAoIXRoaXMuSVNUVVJOT0ZGKSB7XG4gICAgICAgICAgdGhpcy5pc0FsbG9jYXRlVG9FeGlzdGluZ0ZlZWJ0bkVuYWJsZWQgPSB0cnVlO1xuICAgICAgICAgIHRoaXMuaXNBbGxvY2F0ZWRUb05ld0ZlZWJ0bkVuYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmlzQWxsb2NhdGVUb0V4aXN0aW5nRmVlYnRuRW5hYmxlZCA9IHRoaXMuSVNfT1NfQU1UX0FWQUlMQUJMRTtcbiAgICAgICAgICB0aGlzLmlzQWxsb2NhdGVkVG9OZXdGZWVidG5FbmFibGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sIDQwMDApO1xuICB9XG5cbiAgdW5wcm9jZXNzZWRQYXltZW50VW5TZWxlY3RFdmVudChldmVudDogYW55KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLnJlY29yZElkID0gbnVsbDtcbiAgICB0aGlzLmlzVW5wcm9jZXNzZWRSZWNvcmRTZWxlY3RlZCA9IGZhbHNlO1xuICAgIHRoaXMuaXNBbGxvY2F0ZVRvRXhpc3RpbmdGZWVidG5FbmFibGVkID0gZmFsc2U7XG4gICAgdGhpcy5pc0FsbG9jYXRlZFRvTmV3RmVlYnRuRW5hYmxlZCA9IGZhbHNlO1xuICAgIHRoaXMuaXNNYXJrQXNVbmlkZW50aWZpZWRidG5FbmFibGVkID0gZmFsc2U7XG4gICAgLy90aGlzLnZhbGlkYXRlQnV0dG9ucygpO1xuICAgIHRoaXMuc2VsZWN0ZWRVbnByb2Nlc3NlZEZlZUV2ZW50LmVtaXQoJycpO1xuICB9XG5cbiAgc2hvd0RldGFpbFJvdyhldmVudDogYW55LCBvYmo6IGFueSwgaTogYW55KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIHRoaXMudW5hc3NpZ25lZFJlY29yZFNlbGVjdGVkTGlzdCA9IG9iajtcblxuICB9XG59XG4iLCI8IS0tIDxuZy1jb250YWluZXIgKm5nSWY9XCJJU19CVVRUT05fRU5BQkxFXCI+XG4gICAgPGRpdiBjbGFzcz1cInVucHJvY2Vzc2VkLXBheW1lbnRzIGdvdnVrLWdyaWQtY29sdW1uLWZ1bGwgZ292dWstIS1wYWRkaW5nLWJvdHRvbS0zXCI+XG4gICAgICAgIDxpbnB1dCAjbXlJbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdpRnJhbWVEcml2ZW5JbWFnZVZhbHVlJyB2YWx1ZT0nQ0FTRVRSQU5TQUNUSU9OJz5cbiAgICAgICAgPGgzIGNsYXNzPVwiaGVhZGluZy1tZWRpdW1cIiAqbmdJZj1cIiFJU19CVVRUT05fRU5BQkxFXCI+VW5wcm9jZXNzZWQgcGF5bWVudHM8L2gzPlxuICAgICAgICA8aDMgY2xhc3M9XCJoZWFkaW5nLW1lZGl1bVwiICpuZ0lmPVwiSVNfQlVUVE9OX0VOQUJMRVwiPlVuYWxsb2NhdGVkIHBheW1lbnRzPC9oMz5cbiAgICAgICAgICA8dGFibGUgY2xhc3M9XCJnb3Z1ay10YWJsZVwiPlxuICAgICAgICAgICAgPHRoZWFkIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRcIj5cbiAgICAgICAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiIHNjb3BlPVwiY29sXCIgKm5nSWY9XCJJU19CVVRUT05fRU5BQkxFICYmICFpc1R1cm5PZmZcIj5TZWxlY3Q8L3RkPlxuICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiIHNjb3BlPVwiY29sXCIgKm5nSWY9XCJJU19CVVRUT05fRU5BQkxFICYmIGlzVHVybk9mZlwiPjxhIGhyZWY9XCIjXCIgKGNsaWNrKT1cInVucHJvY2Vzc2VkUGF5bWVudFVuU2VsZWN0RXZlbnQoJGV2ZW50KVwiPlVuc2VsZWN0PC9hPjwvdGQ+XG4gICAgICBcbiAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIiBzY29wZT1cImNvbFwiPlBheW1lbnQgYXNzZXQgbnVtYmVyIChEQ04pPC90ZD5cbiAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIiBzY29wZT1cImNvbFwiPkJhbmtlZCBkYXRlPC90ZD5cbiAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIiBzY29wZT1cImNvbFwiPkFtb3VudDwvdGQ+XG4gICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgc2NvcGU9XCJjb2xcIj5NZXRob2Q8L3RkPlxuICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgPC90aGVhZD5cbiAgICAgICAgICAgIDx0Ym9keSBjbGFzcz1cImdvdnVrLXRhYmxlX19ib2R5XCIgPlxuICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCIgKm5nRm9yPVwibGV0IHVuYXNzaWduZWRSZWNvcmQgb2YgdW5hc3NpZ25lZFJlY29yZExpc3Q7IGxldCBpIG9mIGluZGV4O1wiPlxuICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIiAqbmdJZj1cIklTX0JVVFRPTl9FTkFCTEVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm11bHRpcGxlLWNob2ljZSB1bnByb2Nlc3NlZC1wYXltZW50cy0tcmFkaW8tYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPVwiJ3VucGFpZWRGZWUnK2krJydcIlxuICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJ1bmFzc2lnbmVkUmVjb3JkXCJcbiAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwidW5hc3NpZ25lZFJlY29yZFwiXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInJlY29yZElkXCJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidW5wcm9jZXNzZWRQYXltZW50U2VsZWN0RXZlbnQodW5hc3NpZ25lZFJlY29yZC5kY25fcmVmZXJlbmNlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWU9XCJ7e3VuYXNzaWduZWRSZWNvcmQuZGNuX3JlZmVyZW5jZX19XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicmFkaW8taW5saW5lLTFcIj48L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbCB3aGl0ZXNwYWNlLWluaGVyaXRcIj5cbiAgICAgICAgICAgICAgICAgICAge3t1bmFzc2lnbmVkUmVjb3JkLmRjbl9yZWZlcmVuY2V9fVxuICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsIHdoaXRlc3BhY2UtaW5oZXJpdFwiPiB7e3VuYXNzaWduZWRSZWNvcmQuZGF0ZV9iYW5rZWQgfCBkYXRlOidkZCBNTU0geXl5eSd9fTwvdGQ+XG4gICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbCB3aGl0ZXNwYWNlLWluaGVyaXRcIj4ge3t1bmFzc2lnbmVkUmVjb3JkLmFtb3VudCB8IGN1cnJlbmN5IDonR0JQJzonc3ltYm9sJzonMS4yLTInfX08L3RkPlxuICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiY2FwaXRhbGl6ZSBnb3Z1ay10YWJsZV9fY2VsbCB3aGl0ZXNwYWNlLWluaGVyaXRcIj4ge3sgdHJpbVVuZGVyc2NvcmUodW5hc3NpZ25lZFJlY29yZC5wYXltZW50X21ldGhvZCkgfCBsb3dlcmNhc2V9fSAgPC90ZD5cbiAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgICAgIDx0Ym9keSBjbGFzcz1cImdvdnVrLXRhYmxlX19ib2R5XCIgKm5nSWY9XCJ1cFBheW1lbnRFcnJvck1lc3NhZ2UgIT09IG51bGxcIj5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIiBjb2xzcGFuPVwiNlwiPk5vIHVuYWxsb2NhdGVkIHBheW1lbnRzIHJlY29yZCBhdmFpbGFibGU8L3RkPlxuICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi1ncmJcIiAqbmdJZj1cIklTX0JVVFRPTl9FTkFCTEUgJiYgIWlzVHVybk9mZlwiPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNBbGxvY2F0ZWRUb05ld0ZlZWJ0bkVuYWJsZWRcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiIWlzQWxsb2NhdGVkVG9OZXdGZWVidG5FbmFibGVkID8gJ2J1dHRvbiBnb3Z1ay1idXR0b24tLXNlY29uZGFyeSBidXR0b24tLWRpc2FibGVkIGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTEnIDogJ2J1dHRvbiBnb3Z1ay1idXR0b24tLXNlY29uZGFyeSBnb3Z1ay0hLW1hcmdpbi1yaWdodC0xJ1wiIChjbGljayk9XCJyZWRpcmVjdFRvRmVlU2VhcmNoUGFnZSgkZXZlbnQpXCI+XG4gICAgICAgICAgICAgIEFsbG9jYXRlIHRvIGEgbmV3IGZlZVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNBbGxvY2F0ZVRvRXhpc3RpbmdGZWVidG5FbmFibGVkXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT0nIWlzQWxsb2NhdGVUb0V4aXN0aW5nRmVlYnRuRW5hYmxlZCA/ICBcImJ1dHRvbiBnb3Z1ay1idXR0b24tLXNlY29uZGFyeSBidXR0b24tLWRpc2FibGVkIGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTFcIiA6IFwiYnV0dG9uIGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5IGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTFcIicgKGNsaWNrKT1cImdvVG9BbGxvY2F0ZVBhZ2UoKVwiPlxuICAgICAgICAgICAgICBBbGxvY2F0ZSB0byBhbiBleGlzdGluZyBmZWVcbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWlzTWFya0FzVW5pZGVudGlmaWVkYnRuRW5hYmxlZFwiXG4gICAgICAgICAgICBbbmdDbGFzc109JyFpc01hcmtBc1VuaWRlbnRpZmllZGJ0bkVuYWJsZWQgPyAgXCJidXR0b24gZ292dWstYnV0dG9uLS1zZWNvbmRhcnkgYnV0dG9uLS1kaXNhYmxlZCBnb3Z1ay0hLW1hcmdpbi1yaWdodC0xXCIgOiBcImJ1dHRvbiBnb3Z1ay1idXR0b24tLXNlY29uZGFyeSBnb3Z1ay0hLW1hcmdpbi1yaWdodC0xXCInIChjbGljayk9XCJsb2FkVW5zb2xpY2l0ZWRQYWdlKCd1bmlkZW50aWZpZWRQYWdlJylcIj5cbiAgICAgICAgICAgICAgTWFyayBhcyB1bmlkZW50aWZpZWRcbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWlzVW5wcm9jZXNzZWRSZWNvcmRTZWxlY3RlZFwiXG4gICAgICAgICAgICBbbmdDbGFzc109JyFpc1VucHJvY2Vzc2VkUmVjb3JkU2VsZWN0ZWQgPyAgXCJidXR0b24gZ292dWstYnV0dG9uLS1zZWNvbmRhcnkgYnV0dG9uLS1kaXNhYmxlZCBnb3Z1ay0hLW1hcmdpbi1yaWdodC0xXCIgOiBcImJ1dHRvbiBnb3Z1ay1idXR0b24tLXNlY29uZGFyeSBnb3Z1ay0hLW1hcmdpbi1yaWdodC0xXCInIChjbGljayk9XCJsb2FkVW5zb2xpY2l0ZWRQYWdlKCd1bnNvbGljaXRlZFBhZ2UnKVwiPlxuICAgICAgICAgICAgICBNYXJrIGFzIHRyYW5zZmVycmVkXG4gICAgICAgICAgICA8L2J1dHRvbj4gIFxuICAgICAgICAgPC9kaXY+XG4gICAgICBcbiAgICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b24tZ3JiXCIgKm5nSWY9XCJJU19CVVRUT05fRU5BQkxFICYmIGlzVHVybk9mZlwiPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNBbGxvY2F0ZWRUb05ld0ZlZWJ0bkVuYWJsZWRcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiIWlzQWxsb2NhdGVkVG9OZXdGZWVidG5FbmFibGVkID8gJ2J1dHRvbiBidXR0b24tLWRpc2FibGVkIGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTEnIDogJ2J1dHRvbiBnb3Z1ay0hLW1hcmdpbi1yaWdodC0xJ1wiIChjbGljayk9XCJyZWRpcmVjdFRvRmVlU2VhcmNoUGFnZSgkZXZlbnQpXCI+XG4gICAgICAgICAgICAgIEFsbG9jYXRlIHRvIGEgbmV3IGZlZVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNBbGxvY2F0ZVRvRXhpc3RpbmdGZWVidG5FbmFibGVkXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT0nIWlzQWxsb2NhdGVUb0V4aXN0aW5nRmVlYnRuRW5hYmxlZCA/ICBcImJ1dHRvbiBidXR0b24tLWRpc2FibGVkIGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTFcIiA6IFwiYnV0dG9uIGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTFcIicgKGNsaWNrKT1cImdvVG9BbGxvY2F0ZVBhZ2UoKVwiPlxuICAgICAgICAgICAgICBBbGxvY2F0ZSB0byBhbiBleGlzdGluZyBmZWVcbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWlzTWFya0FzVW5pZGVudGlmaWVkYnRuRW5hYmxlZFwiXG4gICAgICAgICAgICBbbmdDbGFzc109JyFpc01hcmtBc1VuaWRlbnRpZmllZGJ0bkVuYWJsZWQgPyAgXCJidXR0b24gYnV0dG9uLS1kaXNhYmxlZCBnb3Z1ay0hLW1hcmdpbi1yaWdodC0xXCIgOiBcImJ1dHRvbiBnb3Z1ay0hLW1hcmdpbi1yaWdodC0xXCInIChjbGljayk9XCJsb2FkVW5zb2xpY2l0ZWRQYWdlKCd1bmlkZW50aWZpZWRQYWdlJylcIj5cbiAgICAgICAgICAgICAgTWFyayBhcyB1bmlkZW50aWZpZWRcbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWlzVW5wcm9jZXNzZWRSZWNvcmRTZWxlY3RlZFwiXG4gICAgICAgICAgICBbbmdDbGFzc109JyFpc1VucHJvY2Vzc2VkUmVjb3JkU2VsZWN0ZWQgPyAgXCJidXR0b24gYnV0dG9uLS1kaXNhYmxlZCBnb3Z1ay0hLW1hcmdpbi1yaWdodC0xXCIgOiBcImJ1dHRvbiBnb3Z1ay0hLW1hcmdpbi1yaWdodC0xXCInIChjbGljayk9XCJsb2FkVW5zb2xpY2l0ZWRQYWdlKCd1bnNvbGljaXRlZFBhZ2UnKVwiPlxuICAgICAgICAgICAgICBNYXJrIGFzIHRyYW5zZmVycmVkXG4gICAgICAgICAgICA8L2J1dHRvbj4gXG4gICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuPC9uZy1jb250YWluZXI+IC0tPlxuXG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCIhSVNfQlVUVE9OX0VOQUJMRVwiPlxuICAgIDx0YWJsZSBjbGFzcz1cImdvdnVrLXRhYmxlXCI+XG4gICAgICAgXG4gICAgICAgIDx0aGVhZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkXCIgKm5nSWY9J1BBWU1FTlRTTEVOR1RIID09PSAwICc+XG4gICAgICAgICAgICA8IS0tIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGNvbC0xNFwiIHNjb3BlPVwiY29sXCI+U3RhdHVzPC90ZD5cbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGNvbC0xMFwiIHNjb3BlPVwiY29sXCI+QW1vdW50PC90ZD5cbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGNvbC0xNFwiIHNjb3BlPVwiY29sXCI+RGF0ZTwvdGQ+XG4gICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBjb2wtMjBcIiBzY29wZT1cImNvbFwiPlJlcXVlc3QgcmVmZXJlbmNlPC90ZD5cbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGNvbC05XCIgc2NvcGU9XCJjb2xcIj48L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIiBzY29wZT1cImNvbFwiPjwvdGQ+XG4gICAgICAgICAgICAgIDwvdHI+IC0tPlxuICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgPHRib2R5IGNsYXNzPVwiZ292dWstdGFibGVfX2JvZHlcIj5cbiAgICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCIgKm5nRm9yPVwibGV0IHVuYXNzaWduZWRSZWNvcmQgb2YgdW5hc3NpZ25lZFJlY29yZExpc3Q7IGxldCBpID0gaW5kZXg7XCI+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsIHdoaXRlc3BhY2UtaW5oZXJpdFwiIGNsYXNzPVwiY29sLTEzXCI+XG4gICAgICAgICAgICAgICAgICAgIFVuYWxsb2NhdGVkIFxuICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbCB3aGl0ZXNwYWNlLWluaGVyaXRcIj4ge3t1bmFzc2lnbmVkUmVjb3JkLmFtb3VudCB8IGN1cnJlbmN5IDonR0JQJzonc3ltYm9sJzonMS4yLTInfX08L3RkPlxuICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbCB3aGl0ZXNwYWNlLWluaGVyaXRcIj48L3RkPlxuICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbCB3aGl0ZXNwYWNlLWluaGVyaXRcIj48L3RkPlxuICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbCB3aGl0ZXNwYWNlLWluaGVyaXRcIj48L3RkPlxuICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbCB3aGl0ZXNwYWNlLWluaGVyaXRcIj48L3RkPlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgPC90Ym9keT5cbiAgICAgICBcbiAgICA8L3RhYmxlPlxuXG48L25nLWNvbnRhaW5lcj5cblxuXG48IS0tT3JkZXJzIFVuYWxsb2NhdGVkIGNoYW5nZXMtLT5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJJU19CVVRUT05fRU5BQkxFXCI+XG4gICAgPGRpdiBjbGFzcz1cInVucHJvY2Vzc2VkLXBheW1lbnRzXCI+XG4gICAgICAgIDxpbnB1dCAjbXlJbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdpRnJhbWVEcml2ZW5JbWFnZVZhbHVlJyB2YWx1ZT0nQ0FTRVRSQU5TQUNUSU9OJz5cbiAgICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZVwiPlxuICAgICAgICAgICAgIFxuICAgICAgICAgICAgICA8dGhlYWQgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZFwiPlxuICAgICAgICAgICAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY29sLTEzXCIgc2NvcGU9XCJjb2xcIj5TdGF0dXM8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY29sLTlcIiBzY29wZT1cImNvbFwiPkFtb3VudDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBjb2wtMTZcIiBzY29wZT1cImNvbFwiPkRhdGUgYWxsb2NhdGVkPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGNvbC0yNFwiIGNvbHNwYW49XCIzXCIgc2NvcGU9XCJjb2xcIj5SZXF1ZXN0IHJlZmVyZW5jZTwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBjb2wtMTNcIiBzY29wZT1cImNvbFwiPjwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiIHNjb3BlPVwiY29sXCI+PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICA8L3RoZWFkPlxuICAgICAgICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB1bmFzc2lnbmVkUmVjb3JkIG9mIHVuYXNzaWduZWRSZWNvcmRMaXN0OyBsZXQgaSA9IGluZGV4O1wiPlxuICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICA8dGQgIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGwgd2hpdGVzcGFjZS1pbmhlcml0IGNvbC0xM1wiID5cbiAgICAgICAgICAgICAgICAgIFVuYWxsb2NhdGVkIFxuICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbCB3aGl0ZXNwYWNlLWluaGVyaXQgY29sLTEwXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7dW5hc3NpZ25lZFJlY29yZC5hbW91bnQgfCBjdXJyZW5jeSA6J0dCUCc6J3N5bWJvbCc6JzEuMi0yJ319XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbCB3aGl0ZXNwYWNlLWluaGVyaXRcIiBjb2xzcGFuPVwiOFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICAqbmdJZj1cIklTX0JVVFRPTl9FTkFCTEUgJiYgIWlzVHVybk9mZlwiIGNsYXNzPVwiYWxpZ25yaWdodFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNBbGxvY2F0ZWRUb05ld0ZlZWJ0bkVuYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiIWlzQWxsb2NhdGVkVG9OZXdGZWVidG5FbmFibGVkID8gJ2J1dHRvbiBnb3Z1ay1idXR0b24tLXNlY29uZGFyeSBidXR0b24tLWRpc2FibGVkJyA6ICdidXR0b24gZ292dWstYnV0dG9uLS1zZWNvbmRhcnknXCIgKGNsaWNrKT1cInJlZGlyZWN0VG9GZWVTZWFyY2hQYWdlKCRldmVudCx1bmFzc2lnbmVkUmVjb3JkLmRjbl9yZWZlcmVuY2UpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIEFsbG9jYXRlIHRvIG5ldyBzZXJ2aWNlIHJlcXVlc3RcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPjxici8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNBbGxvY2F0ZVRvRXhpc3RpbmdGZWVidG5FbmFibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT0nIWlzQWxsb2NhdGVUb0V4aXN0aW5nRmVlYnRuRW5hYmxlZCA/ICBcImJ1dHRvbiBnb3Z1ay1idXR0b24tLXNlY29uZGFyeSBidXR0b24tLWRpc2FibGVkXCIgOiBcImJ1dHRvbiBnb3Z1ay1idXR0b24tLXNlY29uZGFyeVwiJyAoY2xpY2spPVwiZ29Ub0FsbG9jYXRlUGFnZSh1bmFzc2lnbmVkUmVjb3JkLmRjbl9yZWZlcmVuY2UpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIEFsbG9jYXRlIHRvIGV4aXN0aW5nIHNlcnZpY2UgcmVxdWVzdCBcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICBcbiAgICAgICAgICAgICAgPCEtLSA8bmctY29udGFpbmVyPiAtLT5cbiAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ1bmFzc2lnbmVkIG5vYm9yZGVyc1wiIGNvbHNwYW49XCIxMFwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxzdW1tYXJ5IChjbGljayk9XCJ1bmFzc2lnbmVkUmVjb3JkLmV4cGFuZGVkID0gIXVuYXNzaWduZWRSZWNvcmQuZXhwYW5kZWRcIiBjbGFzcz1cImdvdnVrLWRldGFpbHNfX3N1bW1hcnlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay1kZXRhaWxzX19zdW1tYXJ5LXRleHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1vcmUgZGV0YWlscyBhbmQgYWN0aW9uc1xuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPC9zdW1tYXJ5PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ1bmFzc2lnbmVkUmVjb3JkLmV4cGFuZGVkXCIgY2xhc3M9XCJnb3Z1ay1kZXRhaWxzX190ZXh0ICBnb3Z1ay0hLW1hcmdpbi1ib3R0b20tNSBwYWRkaW5ncmlnaHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRsIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0IGdvdnVrLSEtbWFyZ2luLWJvdHRvbS01XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19yb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZXRob2RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2R0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdHJpbVVuZGVyc2NvcmUodW5hc3NpZ25lZFJlY29yZC5wYXltZW50X21ldGhvZCkgfCBsb3dlcmNhc2V9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3Jvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkdCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBheW1lbnQgYXNzZXN0IG51bWJlciAoRENOKSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2R0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3t1bmFzc2lnbmVkUmVjb3JkLmRjbl9yZWZlcmVuY2V9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIiBnb3Z1ay0hLW1hcmdpbi1ib3R0b20tNVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWlzTWFya0FzVW5pZGVudGlmaWVkYnRuRW5hYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109JyFpc01hcmtBc1VuaWRlbnRpZmllZGJ0bkVuYWJsZWQgPyAgXCJidXR0b24gZ292dWstYnV0dG9uLS1zZWNvbmRhcnkgYnV0dG9uLS1kaXNhYmxlZFwiIDogXCJidXR0b24gZ292dWstYnV0dG9uLS1zZWNvbmRhcnlcIicgKGNsaWNrKT1cImxvYWRVbnNvbGljaXRlZFBhZ2UoJ3VuaWRlbnRpZmllZFBhZ2UnLHVuYXNzaWduZWRSZWNvcmQuZGNuX3JlZmVyZW5jZSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFyayBhcyB1bmlkZW50aWZpZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWlzVW5wcm9jZXNzZWRSZWNvcmRTZWxlY3RlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT0nIWlzVW5wcm9jZXNzZWRSZWNvcmRTZWxlY3RlZCA/ICBcImJ1dHRvbiBnb3Z1ay1idXR0b24tLXNlY29uZGFyeSBidXR0b24tLWRpc2FibGVkXCIgOiBcImJ1dHRvbiBnb3Z1ay1idXR0b24tLXNlY29uZGFyeVwiJyAoY2xpY2spPVwibG9hZFVuc29saWNpdGVkUGFnZSgndW5zb2xpY2l0ZWRQYWdlJyx1bmFzc2lnbmVkUmVjb3JkLmRjbl9yZWZlcmVuY2UpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFyayBhcyB0cmFuc2ZlcnJlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4gIFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC90ZD4gXG4gICAgICAgICAgICAgICAgPC90cj4gXG4gICAgICAgICAgICAgIDwhLS0gPC9uZy1jb250YWluZXI+IC0tPlxuICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgXG4gICAgICAgIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJ2aWV3U3RhdHVzID09PSAnbWFpbidcIj5cblxuPC9uZy1jb250YWluZXI+XG48IS0tIDxuZy1jb250YWluZXIgKm5nSWY9XCJQQVlNRU5UU0xFTkdUSCA9PT0gMCAmJiB1bmFzc2lnbmVkUmVjb3JkTGlzdExlbmd0aCA9PT0gMFwiPlxuICA8YnIvPk5vIHBheW1lbnRzLjxici8+XG48L25nLWNvbnRhaW5lcj4gLS0+XG5cbiJdfQ==
236
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5wcm9jZXNzZWQtcGF5bWVudHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGF5bWVudC1saWIvc3JjL2xpYi9jb21wb25lbnRzL3VucHJvY2Vzc2VkLXBheW1lbnRzL3VucHJvY2Vzc2VkLXBheW1lbnRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BheW1lbnQtbGliL3NyYy9saWIvY29tcG9uZW50cy91bnByb2Nlc3NlZC1wYXltZW50cy91bnByb2Nlc3NlZC1wYXltZW50cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUc3RyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDdEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7O0FBUy9DLE1BQU0sT0FBTyw0QkFBNEI7SUFtQ25CO0lBQ1Y7SUFDdUI7SUFDdkI7SUFDQTtJQXJDbUIsa0JBQWtCLENBQVU7SUFDcEMsVUFBVSxDQUFTO0lBQ3BCLFNBQVMsQ0FBVTtJQUNaLGdCQUFnQixDQUFVO0lBQ3ZCLG1CQUFtQixDQUFVO0lBQ3RDLFVBQVUsQ0FBVTtJQUNoQixjQUFjLENBQVM7SUFDaEMsS0FBSyxDQUFTO0lBRXBCLDJCQUEyQixHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ3ZFLHNCQUFzQixHQUF5QixJQUFJLFlBQVks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QkFBbUI7c0JBQWhELEtBQUs7dUJBQUMscUJBQXFCO2dCQUNQLFVBQVU7c0JBQTlCLEtBQUs7dUJBQUMsWUFBWTtnQkFDTSxjQUFjO3NCQUF0QyxLQUFLO3VCQUFDLGdCQUFnQjtnQkFDUCxLQUFLO3NCQUFwQixLQUFLO3VCQUFDLE9BQU87Z0JBRUosMkJBQTJCO3NCQUFwQyxNQUFNO2dCQUNHLHNCQUFzQjtzQkFBL0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPdXRwdXQsIElucHV0LCBFdmVudEVtaXR0ZXIsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnVsa1NjYW5pbmdQYXltZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2J1bGstc2NhbmluZy1wYXltZW50L2J1bGstc2NhbmluZy1wYXltZW50LnNlcnZpY2UnO1xuaW1wb3J0IHR5cGUgeyBQYXltZW50TGliQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcGF5bWVudC1saWIuY29tcG9uZW50JztcbmltcG9ydCB7IElCU1BheW1lbnRzIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JQlNQYXltZW50cyc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgUGF5bWVudFZpZXdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcGF5bWVudC12aWV3L3BheW1lbnQtdmlldy5zZXJ2aWNlJztcbmltcG9ydCB7IE9yZGVyc2xpc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvb3JkZXJzbGlzdC5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjcGF5LWFwcC11bnByb2Nlc3NlZC1wYXltZW50cycsXG4gIHRlbXBsYXRlVXJsOiAnLi91bnByb2Nlc3NlZC1wYXltZW50cy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3VucHJvY2Vzc2VkLXBheW1lbnRzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFVucHJvY2Vzc2VkUGF5bWVudHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgnRkVFX1JFQ09SRFNfRVhJU1RTJykgRkVFX1JFQ09SRFNfRVhJU1RTOiBib29sZWFuO1xuICBASW5wdXQoJ1BBWU1FTlRSRUYnKSBQQVlNRU5UUkVGOiBzdHJpbmc7XG4gIEBJbnB1dCgnSVNUVVJOT0ZGJykgSVNUVVJOT0ZGOiBib29sZWFuO1xuICBASW5wdXQoJ0lTX0JVVFRPTl9FTkFCTEUnKSBJU19CVVRUT05fRU5BQkxFOiBib29sZWFuO1xuICBASW5wdXQoJ0lTX09TX0FNVF9BVkFJTEFCTEUnKSBJU19PU19BTVRfQVZBSUxBQkxFOiBib29sZWFuO1xuICBASW5wdXQoJ0lTU0ZFTkFCTEUnKSBJU1NGRU5BQkxFOiBib29sZWFuO1xuICBASW5wdXQoJ1BBWU1FTlRTTEVOR1RIJykgUEFZTUVOVFNMRU5HVEg6IE51bWJlcjtcbiAgQElucHV0KCdMRVZFTCcpIExFVkVMOiBOdW1iZXI7XG5cbiAgQE91dHB1dCgpIHNlbGVjdGVkVW5wcm9jZXNzZWRGZWVFdmVudDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBnZXRVbnByb2Nlc3NlZEZlZUNvdW50OiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICB2aWV3U3RhdHVzID0gJ21haW4nO1xuICB1bmFzc2lnbmVkUmVjb3JkTGlzdDogSUJTUGF5bWVudHM7XG4gIHVwUGF5bWVudEVycm9yTWVzc2FnZTogc3RyaW5nID0gbnVsbDtcbiAgY2NkQ2FzZU51bWJlcjogc3RyaW5nO1xuICByZWNvcmRJZDogc3RyaW5nID0gbnVsbDtcbiAgaXNSZWNvcmRFeGlzdDogYm9vbGVhbiA9IGZhbHNlO1xuICBkY25OdW1iZXI6IHN0cmluZyA9IG51bGw7XG4gIHNlbGVjdGVkT3B0aW9uOiBzdHJpbmc7XG4gIGlzVW5wcm9jZXNzZWRSZWNvcmRTZWxlY3RlZDogYm9vbGVhbiA9IHRydWU7XG4gIGlzQWxsb2NhdGVUb0V4aXN0aW5nRmVlYnRuRW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBpc01hcmtBc1VuaWRlbnRpZmllZGJ0bkVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNBbGxvY2F0ZWRUb05ld0ZlZWJ0bkVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNFeGNlcHRpb25DYXNlOiBib29sZWFuID0gZmFsc2U7XG4gIHNlcnZpY2VJZDogc3RyaW5nID0gbnVsbDtcbiAgaXNCdWxrU2NhbkVuYWJsZTtcbiAgaXNUdXJuT2ZmOiBib29sZWFuID0gdHJ1ZTtcbiAgaXNTdEZpeEVuYWJsZTtcbiAgdW5hc3NpZ25lZFJlY29yZFNlbGVjdGVkTGlzdDogSUJTUGF5bWVudHM7XG4gIHVuYXNzaWduZWRSZWNvcmRMaXN0TGVuZ3RoOiBudW1iZXIgPSAwO1xuICBzaG93Q29udGVudDogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgYnVsa1NjYW5pbmdQYXltZW50U2VydmljZTogQnVsa1NjYW5pbmdQYXltZW50U2VydmljZSxcbiAgICBASW5qZWN0KCdQQVlNRU5UX0xJQicpIHByaXZhdGUgcGF5bWVudExpYkNvbXBvbmVudDogUGF5bWVudExpYkNvbXBvbmVudCxcbiAgICBwcml2YXRlIHBheW1lbnRWaWV3U2VydmljZTogUGF5bWVudFZpZXdTZXJ2aWNlLFxuICAgIHByaXZhdGUgT3JkZXJzbGlzdFNlcnZpY2U6IE9yZGVyc2xpc3RTZXJ2aWNlXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgLy8gVG9kbyAuLi5cbiAgICB0aGlzLmNjZENhc2VOdW1iZXIgPSB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuQ0NEX0NBU0VfTlVNQkVSO1xuICAgIHRoaXMuc2VsZWN0ZWRPcHRpb24gPSB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuU0VMRUNURURfT1BUSU9OLnRvTG9jYWxlTG93ZXJDYXNlKCk7XG4gICAgdGhpcy5kY25OdW1iZXIgPSB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuRENOX05VTUJFUjtcbiAgICB0aGlzLmlzQnVsa1NjYW5FbmFibGUgPSB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuSVNCU0VOQUJMRTtcbiAgICB0aGlzLmlzVHVybk9mZiA9IHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5JU1RVUk5PRkY7XG4gICAgdGhpcy5pc1N0Rml4RW5hYmxlID0gdGhpcy5wYXltZW50TGliQ29tcG9uZW50LklTU0ZFTkFCTEU7XG4gICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5nZXRGZWVFeGlzdHMoKS5zdWJzY3JpYmUoKGRhdGEpID0+IHRoaXMuRkVFX1JFQ09SRFNfRVhJU1RTID0gZGF0YSk7XG4gICAgdGhpcy5nZXRVbmFzc2lnbmVkUGF5bWVudGxpc3QoKTtcblxuICB9XG5cbiAgZ2V0VW5hc3NpZ25lZFBheW1lbnRsaXN0KCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkT3B0aW9uID09PSAnZGNuJykge1xuICAgICAgdGhpcy5idWxrU2NhbmluZ1BheW1lbnRTZXJ2aWNlLmdldEJTUGF5bWVudHNCeURDTih0aGlzLmRjbk51bWJlcikuc3Vic2NyaWJlKFxuICAgICAgICB1bmFzc2lnbmVkUGF5bWVudHMgPT4ge1xuICAgICAgICAgIC8vICB1bmFzc2lnbmVkUGF5bWVudHNbJ2RhdGEnXS5tYXAoZGF0YSA9PiBkYXRhLmV4cGFuZGFibGU9ZmFsc2UpO1xuICAgICAgICAgIGlmICh1bmFzc2lnbmVkUGF5bWVudHNbJ2RhdGEnXSAmJiB1bmFzc2lnbmVkUGF5bWVudHNbJ2RhdGEnXS5wYXltZW50cykge1xuICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZXNGb3JVbmFzc2lnbmVkUmVjb3JkKHVuYXNzaWduZWRQYXltZW50c1snZGF0YSddKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKHVuYXNzaWduZWRQYXltZW50c1sncGF5bWVudHMnXSkge1xuICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZXNGb3JVbmFzc2lnbmVkUmVjb3JkKHVuYXNzaWduZWRQYXltZW50cyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudXBQYXltZW50RXJyb3JNZXNzYWdlID0gJ2Vycm9yJztcbiAgICAgICAgICAgIHRoaXMuZ2V0VW5wcm9jZXNzZWRGZWVDb3VudC5lbWl0KCcwJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAoZXJyb3I6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMudXBQYXltZW50RXJyb3JNZXNzYWdlID0gZXJyb3I7XG4gICAgICAgICAgdGhpcy5nZXRVbnByb2Nlc3NlZEZlZUNvdW50LmVtaXQoJzAnKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5idWxrU2NhbmluZ1BheW1lbnRTZXJ2aWNlLmdldEJTUGF5bWVudHNCeUNDRCh0aGlzLmNjZENhc2VOdW1iZXIpLnN1YnNjcmliZShcbiAgICAgICAgdW5hc3NpZ25lZFBheW1lbnRzID0+IHtcbiAgICAgICAgICAvLyAgdW5hc3NpZ25lZFBheW1lbnRzWydkYXRhJ10ubWFwKGRhdGEgPT4gZGF0YS5leHBhbmRhYmxlPWZhbHNlKTtcbiAgICAgICAgICBpZiAodW5hc3NpZ25lZFBheW1lbnRzWydkYXRhJ10gJiYgdW5hc3NpZ25lZFBheW1lbnRzWydkYXRhJ10ucGF5bWVudHMpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0VmFsdWVzRm9yVW5hc3NpZ25lZFJlY29yZCh1bmFzc2lnbmVkUGF5bWVudHNbJ2RhdGEnXSk7XG4gICAgICAgICAgfSBlbHNlIGlmICh1bmFzc2lnbmVkUGF5bWVudHNbJ3BheW1lbnRzJ10pIHtcbiAgICAgICAgICAgIHRoaXMuc2V0VmFsdWVzRm9yVW5hc3NpZ25lZFJlY29yZCh1bmFzc2lnbmVkUGF5bWVudHMpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnVwUGF5bWVudEVycm9yTWVzc2FnZSA9ICdlcnJvcic7XG4gICAgICAgICAgICB0aGlzLmdldFVucHJvY2Vzc2VkRmVlQ291bnQuZW1pdCgnMCcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLnVwUGF5bWVudEVycm9yTWVzc2FnZSA9IGVycm9yO1xuICAgICAgICAgIHRoaXMuZ2V0VW5wcm9jZXNzZWRGZWVDb3VudC5lbWl0KCcwJyk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfVxuXG4gIH1cblxuICBzZXRWYWx1ZXNGb3JVbmFzc2lnbmVkUmVjb3JkKHVuYXNzaWduZWRQYXltZW50cykge1xuXG4gICAgdGhpcy51bmFzc2lnbmVkUmVjb3JkTGlzdCA9IHVuYXNzaWduZWRQYXltZW50cy5wYXltZW50cztcbiAgICBpZiAodGhpcy51bmFzc2lnbmVkUmVjb3JkTGlzdCkge1xuICAgICAgdGhpcy51bmFzc2lnbmVkUmVjb3JkTGlzdExlbmd0aCA9IHVuYXNzaWduZWRQYXltZW50cy5wYXltZW50cy5sZW5ndGhcbiAgICB9XG4gICAgdGhpcy5zZXJ2aWNlSWQgPSB1bmFzc2lnbmVkUGF5bWVudHMucmVzcG9uc2libGVfc2VydmljZV9pZDtcbiAgICBpZiAodW5hc3NpZ25lZFBheW1lbnRzWydjY2RfcmVmZXJlbmNlJ10gPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5pc0V4Y2VwdGlvbkNhc2UgPSB0cnVlO1xuICAgIH1cbiAgICAvLyB0aGlzLmlzUmVjb3JkRXhpc3QgPSAgdGhpcy51bmFzc2lnbmVkUmVjb3JkTGlzdC5sZW5ndGggPT09IDA7XG4gICAgdGhpcy5nZXRVbnByb2Nlc3NlZEZlZUNvdW50LmVtaXQoPGFueT50aGlzLnVuYXNzaWduZWRSZWNvcmRMaXN0Lmxlbmd0aCk7XG4gICAgdGhpcy51bnByb2Nlc3NlZFBheW1lbnRTZWxlY3RFdmVudCh0aGlzLnVuYXNzaWduZWRSZWNvcmRMaXN0KTtcbiAgfVxuXG4gIGZvcm1hdFVuYXNzaWduZWRSZWNvcmRJZChJRDogTnVtYmVyKSB7XG4gICAgcmV0dXJuIGB1bmFzc2lnbnJlY29yZC0ke0lEfWA7XG4gIH1cblxuICB0cmltVW5kZXJzY29yZShtZXRob2Q6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmJ1bGtTY2FuaW5nUGF5bWVudFNlcnZpY2UucmVtb3ZlVW53YW50ZWRTdHJpbmcobWV0aG9kLCAnICcpO1xuICB9XG5cbiAgcmVkaXJlY3RUb0ZlZVNlYXJjaFBhZ2UoZXZlbnQ6IGFueSwgZGNuX3JlZmVyZW5jZTogYW55KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLnJlY29yZElkID0gZGNuX3JlZmVyZW5jZTtcbiAgICBsZXQgdXJsID0gdGhpcy5pc0J1bGtTY2FuRW5hYmxlID8gJyZpc0J1bGtTY2FubmluZz1FbmFibGUnIDogJyZpc0J1bGtTY2FubmluZz1EaXNhYmxlJztcbiAgICB1cmwgKz0gdGhpcy5JU1RVUk5PRkYgPyAnJmlzVHVybk9mZj1FbmFibGUnIDogJyZpc1R1cm5PZmY9RGlzYWJsZSc7XG4gICAgdXJsICs9IHRoaXMuaXNTdEZpeEVuYWJsZSA/ICcmaXNTdEZpeEVuYWJsZT1FbmFibGUnIDogJyZpc1N0Rml4RW5hYmxlPURpc2FibGUnO1xuICAgIHVybCArPSBgJmNhc2VUeXBlPSR7dGhpcy5wYXltZW50TGliQ29tcG9uZW50LkNBU0VUWVBFfWA7XG5cbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGAvZmVlLXNlYXJjaD9zZWxlY3RlZE9wdGlvbj0ke3RoaXMuc2VsZWN0ZWRPcHRpb259JmNjZENhc2VOdW1iZXI9JHt0aGlzLmNjZENhc2VOdW1iZXJ9JmRjbj0ke3RoaXMucmVjb3JkSWR9JHt1cmx9YCk7XG4gIH1cblxuICBsb2FkVW5zb2xpY2l0ZWRQYWdlKHZpZXdOYW1lOiBzdHJpbmcsIGRjbl9yZWZlcmVuY2U6IGFueSkge1xuICAgIHRoaXMucmVjb3JkSWQgPSBkY25fcmVmZXJlbmNlO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5ic3BheW1lbnRkY24gPSB0aGlzLnJlY29yZElkO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC52aWV3TmFtZSA9IHZpZXdOYW1lO1xuICB9XG5cbiAgdW5wcm9jZXNzZWRQYXltZW50U2VsZWN0RXZlbnQoc2VsZWN0ZWRSZWNvcmRSZWZlcmVuY2U6IGFueSkge1xuICAgIHRoaXMuaXNVbnByb2Nlc3NlZFJlY29yZFNlbGVjdGVkID0gdHJ1ZTtcbiAgICB0aGlzLnZhbGlkYXRlQnV0dG9ucygpO1xuICAgIHRoaXMuc2VsZWN0ZWRVbnByb2Nlc3NlZEZlZUV2ZW50LmVtaXQoc2VsZWN0ZWRSZWNvcmRSZWZlcmVuY2UpO1xuICB9XG5cbiAgcmVzZXRCdXR0b25zKCkge1xuICAgIHRoaXMuaXNVbnByb2Nlc3NlZFJlY29yZFNlbGVjdGVkID0gZmFsc2U7XG4gICAgdGhpcy5pc0FsbG9jYXRlVG9FeGlzdGluZ0ZlZWJ0bkVuYWJsZWQgPSBmYWxzZTtcbiAgICB0aGlzLmlzTWFya0FzVW5pZGVudGlmaWVkYnRuRW5hYmxlZCA9IGZhbHNlO1xuICAgIHRoaXMuaXNBbGxvY2F0ZWRUb05ld0ZlZWJ0bkVuYWJsZWQgPSBmYWxzZTtcbiAgfVxuXG4gIGdvVG9BbGxvY2F0ZVBhZ2UoZGNuX3JlZmVyZW5jZTogYW55KSB7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LmJzcGF5bWVudGRjbiA9IGRjbl9yZWZlcmVuY2U7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnVuUHJvY2Vzc2VkUGF5bWVudFNlcnZpY2VJZCA9IHRoaXMuc2VydmljZUlkXG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LmlzVHVybk9mZiA9IHRoaXMuSVNUVVJOT0ZGO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5JU1NGRU5BQkxFID0gdGhpcy5pc1N0Rml4RW5hYmxlO1xuXG4gICAgaWYgKHRoaXMuSVNUVVJOT0ZGKSB7XG4gICAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQucGF5bWVudEdyb3VwUmVmZXJlbmNlID0gdGhpcy5QQVlNRU5UUkVGO1xuICAgICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnZpZXdOYW1lID0gJ2ZlZS1zdW1tYXJ5JztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnBheW1lbnRHcm91cFJlZmVyZW5jZSA9IG51bGw7XG4gICAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQudmlld05hbWUgPSAnYWxsb2NhdGUtcGF5bWVudHMnO1xuICAgIH1cblxuICB9XG5cbiAgdmFsaWRhdGVCdXR0b25zKCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuaXNVbnByb2Nlc3NlZFJlY29yZFNlbGVjdGVkICYmIHRoaXMuaXNFeGNlcHRpb25DYXNlKSB7XG4gICAgICAgIHRoaXMuaXNNYXJrQXNVbmlkZW50aWZpZWRidG5FbmFibGVkID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5pc1VucHJvY2Vzc2VkUmVjb3JkU2VsZWN0ZWQgJiYgIXRoaXMuaXNFeGNlcHRpb25DYXNlICYmICF0aGlzLkZFRV9SRUNPUkRTX0VYSVNUUykge1xuICAgICAgICB0aGlzLmlzQWxsb2NhdGVUb0V4aXN0aW5nRmVlYnRuRW5hYmxlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlzQWxsb2NhdGVkVG9OZXdGZWVidG5FbmFibGVkID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5pc1VucHJvY2Vzc2VkUmVjb3JkU2VsZWN0ZWQgJiYgIXRoaXMuaXNFeGNlcHRpb25DYXNlICYmIHRoaXMuRkVFX1JFQ09SRFNfRVhJU1RTKSB7XG4gICAgICAgIGlmICghdGhpcy5JU1RVUk5PRkYpIHtcbiAgICAgICAgICB0aGlzLmlzQWxsb2NhdGVUb0V4aXN0aW5nRmVlYnRuRW5hYmxlZCA9IHRydWU7XG4gICAgICAgICAgdGhpcy5pc0FsbG9jYXRlZFRvTmV3RmVlYnRuRW5hYmxlZCA9IGZhbHNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuaXNBbGxvY2F0ZVRvRXhpc3RpbmdGZWVidG5FbmFibGVkID0gdGhpcy5JU19PU19BTVRfQVZBSUxBQkxFO1xuICAgICAgICAgIHRoaXMuaXNBbGxvY2F0ZWRUb05ld0ZlZWJ0bkVuYWJsZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSwgNDAwMCk7XG4gIH1cblxuICB1bnByb2Nlc3NlZFBheW1lbnRVblNlbGVjdEV2ZW50KGV2ZW50OiBhbnkpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMucmVjb3JkSWQgPSBudWxsO1xuICAgIHRoaXMuaXNVbnByb2Nlc3NlZFJlY29yZFNlbGVjdGVkID0gZmFsc2U7XG4gICAgdGhpcy5pc0FsbG9jYXRlVG9FeGlzdGluZ0ZlZWJ0bkVuYWJsZWQgPSBmYWxzZTtcbiAgICB0aGlzLmlzQWxsb2NhdGVkVG9OZXdGZWVidG5FbmFibGVkID0gZmFsc2U7XG4gICAgdGhpcy5pc01hcmtBc1VuaWRlbnRpZmllZGJ0bkVuYWJsZWQgPSBmYWxzZTtcbiAgICAvL3RoaXMudmFsaWRhdGVCdXR0b25zKCk7XG4gICAgdGhpcy5zZWxlY3RlZFVucHJvY2Vzc2VkRmVlRXZlbnQuZW1pdCgnJyk7XG4gIH1cblxuICBzaG93RGV0YWlsUm93KGV2ZW50OiBhbnksIG9iajogYW55LCBpOiBhbnkpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgdGhpcy51bmFzc2lnbmVkUmVjb3JkU2VsZWN0ZWRMaXN0ID0gb2JqO1xuXG4gIH1cbn1cbiIsIjwhLS0gPG5nLWNvbnRhaW5lciAqbmdJZj1cIklTX0JVVFRPTl9FTkFCTEVcIj5cbiAgICA8ZGl2IGNsYXNzPVwidW5wcm9jZXNzZWQtcGF5bWVudHMgZ292dWstZ3JpZC1jb2x1bW4tZnVsbCBnb3Z1ay0hLXBhZGRpbmctYm90dG9tLTNcIj5cbiAgICAgICAgPGlucHV0ICNteUlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2lGcmFtZURyaXZlbkltYWdlVmFsdWUnIHZhbHVlPSdDQVNFVFJBTlNBQ1RJT04nPlxuICAgICAgICA8aDMgY2xhc3M9XCJoZWFkaW5nLW1lZGl1bVwiICpuZ0lmPVwiIUlTX0JVVFRPTl9FTkFCTEVcIj5VbnByb2Nlc3NlZCBwYXltZW50czwvaDM+XG4gICAgICAgIDxoMyBjbGFzcz1cImhlYWRpbmctbWVkaXVtXCIgKm5nSWY9XCJJU19CVVRUT05fRU5BQkxFXCI+VW5hbGxvY2F0ZWQgcGF5bWVudHM8L2gzPlxuICAgICAgICAgIDx0YWJsZSBjbGFzcz1cImdvdnVrLXRhYmxlXCI+XG4gICAgICAgICAgICA8dGhlYWQgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZFwiPlxuICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgc2NvcGU9XCJjb2xcIiAqbmdJZj1cIklTX0JVVFRPTl9FTkFCTEUgJiYgIWlzVHVybk9mZlwiPlNlbGVjdDwvdGQ+XG4gICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgc2NvcGU9XCJjb2xcIiAqbmdJZj1cIklTX0JVVFRPTl9FTkFCTEUgJiYgaXNUdXJuT2ZmXCI+PGEgaHJlZj1cIiNcIiAoY2xpY2spPVwidW5wcm9jZXNzZWRQYXltZW50VW5TZWxlY3RFdmVudCgkZXZlbnQpXCI+VW5zZWxlY3Q8L2E+PC90ZD5cbiAgICAgIFxuICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiIHNjb3BlPVwiY29sXCI+UGF5bWVudCBhc3NldCBudW1iZXIgKERDTik8L3RkPlxuICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiIHNjb3BlPVwiY29sXCI+QmFua2VkIGRhdGU8L3RkPlxuICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiIHNjb3BlPVwiY29sXCI+QW1vdW50PC90ZD5cbiAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIiBzY29wZT1cImNvbFwiPk1ldGhvZDwvdGQ+XG4gICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8L3RoZWFkPlxuICAgICAgICAgICAgPHRib2R5IGNsYXNzPVwiZ292dWstdGFibGVfX2JvZHlcIiA+XG4gICAgICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIiAqbmdGb3I9XCJsZXQgdW5hc3NpZ25lZFJlY29yZCBvZiB1bmFzc2lnbmVkUmVjb3JkTGlzdDsgbGV0IGkgb2YgaW5kZXg7XCI+XG4gICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiICpuZ0lmPVwiSVNfQlVUVE9OX0VOQUJMRVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXVsdGlwbGUtY2hvaWNlIHVucHJvY2Vzc2VkLXBheW1lbnRzLS1yYWRpby1idXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCIndW5wYWllZEZlZScraSsnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cInVuYXNzaWduZWRSZWNvcmRcIlxuICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJ1bmFzc2lnbmVkUmVjb3JkXCJcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwicmVjb3JkSWRcIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ1bnByb2Nlc3NlZFBheW1lbnRTZWxlY3RFdmVudCh1bmFzc2lnbmVkUmVjb3JkLmRjbl9yZWZlcmVuY2UpXCJcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cInt7dW5hc3NpZ25lZFJlY29yZC5kY25fcmVmZXJlbmNlfX1cIiAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJyYWRpby1pbmxpbmUtMVwiPjwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsIHdoaXRlc3BhY2UtaW5oZXJpdFwiPlxuICAgICAgICAgICAgICAgICAgICB7e3VuYXNzaWduZWRSZWNvcmQuZGNuX3JlZmVyZW5jZX19XG4gICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGwgd2hpdGVzcGFjZS1pbmhlcml0XCI+IHt7dW5hc3NpZ25lZFJlY29yZC5kYXRlX2JhbmtlZCB8IGRhdGU6J2RkIE1NTSB5eXl5J319PC90ZD5cbiAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsIHdoaXRlc3BhY2UtaW5oZXJpdFwiPiB7e3VuYXNzaWduZWRSZWNvcmQuYW1vdW50IHwgY3VycmVuY3kgOidHQlAnOidzeW1ib2wnOicxLjItMid9fTwvdGQ+XG4gICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJjYXBpdGFsaXplIGdvdnVrLXRhYmxlX19jZWxsIHdoaXRlc3BhY2UtaW5oZXJpdFwiPiB7eyB0cmltVW5kZXJzY29yZSh1bmFzc2lnbmVkUmVjb3JkLnBheW1lbnRfbWV0aG9kKSB8IGxvd2VyY2FzZX19ICA8L3RkPlxuICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgICAgPHRib2R5IGNsYXNzPVwiZ292dWstdGFibGVfX2JvZHlcIiAqbmdJZj1cInVwUGF5bWVudEVycm9yTWVzc2FnZSAhPT0gbnVsbFwiPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiIGNvbHNwYW49XCI2XCI+Tm8gdW5hbGxvY2F0ZWQgcGF5bWVudHMgcmVjb3JkIGF2YWlsYWJsZTwvdGQ+XG4gICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgIDwvdGFibGU+XG4gICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLWdyYlwiICpuZ0lmPVwiSVNfQlVUVE9OX0VOQUJMRSAmJiAhaXNUdXJuT2ZmXCI+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc0FsbG9jYXRlZFRvTmV3RmVlYnRuRW5hYmxlZFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCIhaXNBbGxvY2F0ZWRUb05ld0ZlZWJ0bkVuYWJsZWQgPyAnYnV0dG9uIGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5IGJ1dHRvbi0tZGlzYWJsZWQgZ292dWstIS1tYXJnaW4tcmlnaHQtMScgOiAnYnV0dG9uIGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5IGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTEnXCIgKGNsaWNrKT1cInJlZGlyZWN0VG9GZWVTZWFyY2hQYWdlKCRldmVudClcIj5cbiAgICAgICAgICAgICAgQWxsb2NhdGUgdG8gYSBuZXcgZmVlXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc0FsbG9jYXRlVG9FeGlzdGluZ0ZlZWJ0bkVuYWJsZWRcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPSchaXNBbGxvY2F0ZVRvRXhpc3RpbmdGZWVidG5FbmFibGVkID8gIFwiYnV0dG9uIGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5IGJ1dHRvbi0tZGlzYWJsZWQgZ292dWstIS1tYXJnaW4tcmlnaHQtMVwiIDogXCJidXR0b24gZ292dWstYnV0dG9uLS1zZWNvbmRhcnkgZ292dWstIS1tYXJnaW4tcmlnaHQtMVwiJyAoY2xpY2spPVwiZ29Ub0FsbG9jYXRlUGFnZSgpXCI+XG4gICAgICAgICAgICAgIEFsbG9jYXRlIHRvIGFuIGV4aXN0aW5nIGZlZVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNNYXJrQXNVbmlkZW50aWZpZWRidG5FbmFibGVkXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT0nIWlzTWFya0FzVW5pZGVudGlmaWVkYnRuRW5hYmxlZCA/ICBcImJ1dHRvbiBnb3Z1ay1idXR0b24tLXNlY29uZGFyeSBidXR0b24tLWRpc2FibGVkIGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTFcIiA6IFwiYnV0dG9uIGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5IGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTFcIicgKGNsaWNrKT1cImxvYWRVbnNvbGljaXRlZFBhZ2UoJ3VuaWRlbnRpZmllZFBhZ2UnKVwiPlxuICAgICAgICAgICAgICBNYXJrIGFzIHVuaWRlbnRpZmllZFxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNVbnByb2Nlc3NlZFJlY29yZFNlbGVjdGVkXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT0nIWlzVW5wcm9jZXNzZWRSZWNvcmRTZWxlY3RlZCA/ICBcImJ1dHRvbiBnb3Z1ay1idXR0b24tLXNlY29uZGFyeSBidXR0b24tLWRpc2FibGVkIGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTFcIiA6IFwiYnV0dG9uIGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5IGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTFcIicgKGNsaWNrKT1cImxvYWRVbnNvbGljaXRlZFBhZ2UoJ3Vuc29saWNpdGVkUGFnZScpXCI+XG4gICAgICAgICAgICAgIE1hcmsgYXMgdHJhbnNmZXJyZWRcbiAgICAgICAgICAgIDwvYnV0dG9uPiAgXG4gICAgICAgICA8L2Rpdj5cbiAgICAgIFxuICAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi1ncmJcIiAqbmdJZj1cIklTX0JVVFRPTl9FTkFCTEUgJiYgaXNUdXJuT2ZmXCI+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc0FsbG9jYXRlZFRvTmV3RmVlYnRuRW5hYmxlZFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCIhaXNBbGxvY2F0ZWRUb05ld0ZlZWJ0bkVuYWJsZWQgPyAnYnV0dG9uIGJ1dHRvbi0tZGlzYWJsZWQgZ292dWstIS1tYXJnaW4tcmlnaHQtMScgOiAnYnV0dG9uIGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTEnXCIgKGNsaWNrKT1cInJlZGlyZWN0VG9GZWVTZWFyY2hQYWdlKCRldmVudClcIj5cbiAgICAgICAgICAgICAgQWxsb2NhdGUgdG8gYSBuZXcgZmVlXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc0FsbG9jYXRlVG9FeGlzdGluZ0ZlZWJ0bkVuYWJsZWRcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPSchaXNBbGxvY2F0ZVRvRXhpc3RpbmdGZWVidG5FbmFibGVkID8gIFwiYnV0dG9uIGJ1dHRvbi0tZGlzYWJsZWQgZ292dWstIS1tYXJnaW4tcmlnaHQtMVwiIDogXCJidXR0b24gZ292dWstIS1tYXJnaW4tcmlnaHQtMVwiJyAoY2xpY2spPVwiZ29Ub0FsbG9jYXRlUGFnZSgpXCI+XG4gICAgICAgICAgICAgIEFsbG9jYXRlIHRvIGFuIGV4aXN0aW5nIGZlZVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNNYXJrQXNVbmlkZW50aWZpZWRidG5FbmFibGVkXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT0nIWlzTWFya0FzVW5pZGVudGlmaWVkYnRuRW5hYmxlZCA/ICBcImJ1dHRvbiBidXR0b24tLWRpc2FibGVkIGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTFcIiA6IFwiYnV0dG9uIGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTFcIicgKGNsaWNrKT1cImxvYWRVbnNvbGljaXRlZFBhZ2UoJ3VuaWRlbnRpZmllZFBhZ2UnKVwiPlxuICAgICAgICAgICAgICBNYXJrIGFzIHVuaWRlbnRpZmllZFxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNVbnByb2Nlc3NlZFJlY29yZFNlbGVjdGVkXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT0nIWlzVW5wcm9jZXNzZWRSZWNvcmRTZWxlY3RlZCA/ICBcImJ1dHRvbiBidXR0b24tLWRpc2FibGVkIGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTFcIiA6IFwiYnV0dG9uIGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTFcIicgKGNsaWNrKT1cImxvYWRVbnNvbGljaXRlZFBhZ2UoJ3Vuc29saWNpdGVkUGFnZScpXCI+XG4gICAgICAgICAgICAgIE1hcmsgYXMgdHJhbnNmZXJyZWRcbiAgICAgICAgICAgIDwvYnV0dG9uPiBcbiAgICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj4gLS0+XG5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFJU19CVVRUT05fRU5BQkxFXCI+XG4gICAgPHRhYmxlIGNsYXNzPVwiZ292dWstdGFibGVcIj5cbiAgICAgICBcbiAgICAgICAgPHRoZWFkIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRcIiAqbmdJZj0nUEFZTUVOVFNMRU5HVEggPT09IDAgJz5cbiAgICAgICAgICAgIDwhLS0gPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY29sLTE0XCIgc2NvcGU9XCJjb2xcIj5TdGF0dXM8L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY29sLTEwXCIgc2NvcGU9XCJjb2xcIj5BbW91bnQ8L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY29sLTE0XCIgc2NvcGU9XCJjb2xcIj5EYXRlPC90ZD5cbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGNvbC0yMFwiIHNjb3BlPVwiY29sXCI+UmVxdWVzdCByZWZlcmVuY2U8L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY29sLTlcIiBzY29wZT1cImNvbFwiPjwvdGQ+XG4gICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiIHNjb3BlPVwiY29sXCI+PC90ZD5cbiAgICAgICAgICAgICAgPC90cj4gLS0+XG4gICAgICAgICAgPC90aGVhZD5cbiAgICAgICAgICA8dGJvZHkgY2xhc3M9XCJnb3Z1ay10YWJsZV9fYm9keVwiPlxuICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIiAqbmdGb3I9XCJsZXQgdW5hc3NpZ25lZFJlY29yZCBvZiB1bmFzc2lnbmVkUmVjb3JkTGlzdDsgbGV0IGkgPSBpbmRleDtcIj5cbiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGwgd2hpdGVzcGFjZS1pbmhlcml0XCIgY2xhc3M9XCJjb2wtMTNcIj5cbiAgICAgICAgICAgICAgICAgICAgVW5hbGxvY2F0ZWQgXG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsIHdoaXRlc3BhY2UtaW5oZXJpdFwiPiB7e3VuYXNzaWduZWRSZWNvcmQuYW1vdW50IHwgY3VycmVuY3kgOidHQlAnOidzeW1ib2wnOicxLjItMid9fTwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsIHdoaXRlc3BhY2UtaW5oZXJpdFwiPjwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsIHdoaXRlc3BhY2UtaW5oZXJpdFwiPjwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsIHdoaXRlc3BhY2UtaW5oZXJpdFwiPjwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsIHdoaXRlc3BhY2UtaW5oZXJpdFwiPjwvdGQ+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgICA8L3Rib2R5PlxuICAgICAgIFxuICAgIDwvdGFibGU+XG5cbjwvbmctY29udGFpbmVyPlxuXG5cbjwhLS1PcmRlcnMgVW5hbGxvY2F0ZWQgY2hhbmdlcy0tPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIklTX0JVVFRPTl9FTkFCTEVcIj5cbiAgICA8ZGl2IGNsYXNzPVwidW5wcm9jZXNzZWQtcGF5bWVudHNcIj5cbiAgICAgICAgPGlucHV0ICNteUlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2lGcmFtZURyaXZlbkltYWdlVmFsdWUnIHZhbHVlPSdDQVNFVFJBTlNBQ1RJT04nPlxuICAgICAgICAgIDx0YWJsZSBjbGFzcz1cInRhYmxlXCI+XG4gICAgICAgICAgICAgXG4gICAgICAgICAgICAgIDx0aGVhZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkXCI+XG4gICAgICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBjb2wtMTNcIiBzY29wZT1cImNvbFwiPlN0YXR1czwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBjb2wtOVwiIHNjb3BlPVwiY29sXCI+QW1vdW50PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGNvbC0xNlwiIHNjb3BlPVwiY29sXCI+RGF0ZSBhbGxvY2F0ZWQ8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY29sLTI0XCIgY29sc3Bhbj1cIjNcIiBzY29wZT1cImNvbFwiPlJlcXVlc3QgcmVmZXJlbmNlPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGNvbC0xM1wiIHNjb3BlPVwiY29sXCI+PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgc2NvcGU9XCJjb2xcIj48L3RkPlxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHVuYXNzaWduZWRSZWNvcmQgb2YgdW5hc3NpZ25lZFJlY29yZExpc3Q7IGxldCBpID0gaW5kZXg7XCI+XG4gICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgIDx0ZCAgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbCB3aGl0ZXNwYWNlLWluaGVyaXQgY29sLTEzXCIgPlxuICAgICAgICAgICAgICAgICAgVW5hbGxvY2F0ZWQgXG4gICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsIHdoaXRlc3BhY2UtaW5oZXJpdCBjb2wtMTBcIj5cbiAgICAgICAgICAgICAgICAgICAge3t1bmFzc2lnbmVkUmVjb3JkLmFtb3VudCB8IGN1cnJlbmN5IDonR0JQJzonc3ltYm9sJzonMS4yLTInfX1cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsIHdoaXRlc3BhY2UtaW5oZXJpdFwiIGNvbHNwYW49XCI4XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgICpuZ0lmPVwiSVNfQlVUVE9OX0VOQUJMRSAmJiAhaXNUdXJuT2ZmXCIgY2xhc3M9XCJhbGlnbnJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc0FsbG9jYXRlZFRvTmV3RmVlYnRuRW5hYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCIhaXNBbGxvY2F0ZWRUb05ld0ZlZWJ0bkVuYWJsZWQgPyAnYnV0dG9uIGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5IGJ1dHRvbi0tZGlzYWJsZWQnIDogJ2J1dHRvbiBnb3Z1ay1idXR0b24tLXNlY29uZGFyeSdcIiAoY2xpY2spPVwicmVkaXJlY3RUb0ZlZVNlYXJjaFBhZ2UoJGV2ZW50LHVuYXNzaWduZWRSZWNvcmQuZGNuX3JlZmVyZW5jZSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgQWxsb2NhdGUgdG8gbmV3IHNlcnZpY2UgcmVxdWVzdFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+PGJyLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc0FsbG9jYXRlVG9FeGlzdGluZ0ZlZWJ0bkVuYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPSchaXNBbGxvY2F0ZVRvRXhpc3RpbmdGZWVidG5FbmFibGVkID8gIFwiYnV0dG9uIGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5IGJ1dHRvbi0tZGlzYWJsZWRcIiA6IFwiYnV0dG9uIGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5XCInIChjbGljayk9XCJnb1RvQWxsb2NhdGVQYWdlKHVuYXNzaWduZWRSZWNvcmQuZGNuX3JlZmVyZW5jZSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgQWxsb2NhdGUgdG8gZXhpc3Rpbmcgc2VydmljZSByZXF1ZXN0IFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgIFxuICAgICAgICAgICAgICA8IS0tIDxuZy1jb250YWluZXI+IC0tPlxuICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInVuYXNzaWduZWQgbm9ib3JkZXJzXCIgY29sc3Bhbj1cIjEwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHN1bW1hcnkgKGNsaWNrKT1cInVuYXNzaWduZWRSZWNvcmQuZXhwYW5kZWQgPSAhdW5hc3NpZ25lZFJlY29yZC5leHBhbmRlZFwiIGNsYXNzPVwiZ292dWstZGV0YWlsc19fc3VtbWFyeVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLWRldGFpbHNfX3N1bW1hcnktdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTW9yZSBkZXRhaWxzIGFuZCBhY3Rpb25zXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L3N1bW1hcnk+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInVuYXNzaWduZWRSZWNvcmQuZXhwYW5kZWRcIiBjbGFzcz1cImdvdnVrLWRldGFpbHNfX3RleHQgIGdvdnVrLSEtbWFyZ2luLWJvdHRvbS01IHBhZGRpbmdyaWdodFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGwgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3QgZ292dWstIS1tYXJnaW4tYm90dG9tLTVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3Jvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkdCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZHQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X192YWx1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyB0cmltVW5kZXJzY29yZSh1bmFzc2lnbmVkUmVjb3JkLnBheW1lbnRfbWV0aG9kKSB8IGxvd2VyY2FzZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fcm93XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR0IGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19rZXlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGF5bWVudCBhc3Nlc3QgbnVtYmVyIChEQ04pIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZHQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X192YWx1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3VuYXNzaWduZWRSZWNvcmQuZGNuX3JlZmVyZW5jZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiIGdvdnVrLSEtbWFyZ2luLWJvdHRvbS01XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNNYXJrQXNVbmlkZW50aWZpZWRidG5FbmFibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT0nIWlzTWFya0FzVW5pZGVudGlmaWVkYnRuRW5hYmxlZCA/ICBcImJ1dHRvbiBnb3Z1ay1idXR0b24tLXNlY29uZGFyeSBidXR0b24tLWRpc2FibGVkXCIgOiBcImJ1dHRvbiBnb3Z1ay1idXR0b24tLXNlY29uZGFyeVwiJyAoY2xpY2spPVwibG9hZFVuc29saWNpdGVkUGFnZSgndW5pZGVudGlmaWVkUGFnZScsdW5hc3NpZ25lZFJlY29yZC5kY25fcmVmZXJlbmNlKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXJrIGFzIHVuaWRlbnRpZmllZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNVbnByb2Nlc3NlZFJlY29yZFNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPSchaXNVbnByb2Nlc3NlZFJlY29yZFNlbGVjdGVkID8gIFwiYnV0dG9uIGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5IGJ1dHRvbi0tZGlzYWJsZWRcIiA6IFwiYnV0dG9uIGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5XCInIChjbGljayk9XCJsb2FkVW5zb2xpY2l0ZWRQYWdlKCd1bnNvbGljaXRlZFBhZ2UnLHVuYXNzaWduZWRSZWNvcmQuZGNuX3JlZmVyZW5jZSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXJrIGFzIHRyYW5zZmVycmVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPiAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L3RkPiBcbiAgICAgICAgICAgICAgICA8L3RyPiBcbiAgICAgICAgICAgICAgPCEtLSA8L25nLWNvbnRhaW5lcj4gLS0+XG4gICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgICAgIDwvdGFibGU+XG4gICAgICBcbiAgICAgICAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInZpZXdTdGF0dXMgPT09ICdtYWluJ1wiPlxuXG48L25nLWNvbnRhaW5lcj5cbjwhLS0gPG5nLWNvbnRhaW5lciAqbmdJZj1cIlBBWU1FTlRTTEVOR1RIID09PSAwICYmIHVuYXNzaWduZWRSZWNvcmRMaXN0TGVuZ3RoID09PSAwXCI+XG4gIDxici8+Tm8gcGF5bWVudHMuPGJyLz5cbjwvbmctY29udGFpbmVyPiAtLT5cblxuIl19
@@ -38,4 +38,4 @@ export class AllocatePaymentRequest {
38
38
  }
39
39
  }
40
40
  }
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWxsb2NhdGVQYXltZW50UmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BheW1lbnQtbGliL3NyYy9saWIvaW50ZXJmYWNlcy9BbGxvY2F0ZVBheW1lbnRSZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsTUFBTSxDQUFTO0lBQ2YsV0FBVyxDQUFTO0lBQ3BCLGVBQWUsQ0FBUztJQUN4QixnQkFBZ0IsQ0FBUztJQUN6QixRQUFRLENBQVM7SUFDakIsdUJBQXVCLENBQVM7SUFDaEMsaUJBQWlCLENBQVM7SUFDMUIsWUFBWSxDQUFTO0lBQ3JCLFVBQVUsQ0FBUztJQUNuQixlQUFlLENBQVM7SUFDeEIsY0FBYyxDQUFTO0lBQ3ZCLGNBQWMsQ0FBUztJQUN2QixTQUFTLENBQVM7SUFDbEIsc0JBQXNCLENBYXJCO0lBRUQsWUFBWSxlQUF3QixFQUFFLGtCQUErQixFQUFFLFFBQWdCLEVBQUUsZUFBdUIsRUFBRSxnQkFBc0I7UUFDdEksSUFBSSxDQUFDLE1BQU0sR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQUM7UUFDeEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQyxXQUFXLENBQUM7UUFDbEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQUM7UUFDdkMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGVBQWUsQ0FBQztRQUN4QyxJQUFJLENBQUMsUUFBUSxHQUFFLGtCQUFrQixDQUFDLFFBQVEsQ0FBQztRQUMzQyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsa0JBQWtCLENBQUMsYUFBYSxDQUFDO1FBQ2hFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxPQUFPLENBQUM7UUFDakMsSUFBSSxDQUFDLFlBQVksR0FBRyxrQkFBa0IsQ0FBQyxhQUFhLENBQUM7UUFDckQsSUFBSSxDQUFDLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQyxVQUFVLENBQUM7UUFDaEQsSUFBSSxDQUFDLGVBQWUsR0FBRztZQUNyQixXQUFXLEVBQUUsRUFBRTtZQUNmLElBQUksRUFBRSxXQUFXO1NBQ2xCLENBQUM7UUFDRixJQUFJLENBQUMsY0FBYyxHQUFFO1lBQ25CLFdBQVcsRUFBRSw2QkFBNkI7WUFDMUMsSUFBSSxFQUFFLFNBQVM7U0FDaEIsQ0FBQTtRQUNELElBQUksQ0FBQyxjQUFjLEdBQUcsa0JBQWtCLENBQUMsY0FBYyxDQUFDO1FBQ3hELElBQUksQ0FBQyxTQUFTLEdBQUUsUUFBUSxDQUFDO1FBQ3pCLElBQUcsZ0JBQWdCLEVBQUU7WUFDbkIsSUFBSSxDQUFDLHNCQUFzQixHQUFHLGdCQUFnQixDQUFDO1NBQ2hEO0lBRUgsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUJTUGF5bWVudHMgfSBmcm9tIFwiLi9JQlNQYXltZW50c1wiO1xuXG5leHBvcnQgY2xhc3MgQWxsb2NhdGVQYXltZW50UmVxdWVzdCB7XG4gIGFtb3VudDogTnVtYmVyO1xuICBiYW5rZWRfZGF0ZTogU3RyaW5nO1xuICBjY2RfY2FzZV9udW1iZXI6IFN0cmluZztcbiAgZXhjZXB0aW9uX3JlY29yZDogc3RyaW5nO1xuICBjdXJyZW5jeTogU3RyaW5nO1xuICBkb2N1bWVudF9jb250cm9sX251bWJlcjogU3RyaW5nO1xuICBleHRlcm5hbF9wcm92aWRlcjogU3RyaW5nO1xuICBnaXJvX3NsaXBfbm86IFN0cmluZztcbiAgcGF5ZXJfbmFtZTogU3RyaW5nO1xuICBwYXltZW50X2NoYW5uZWw6IE9iamVjdDtcbiAgcGF5bWVudF9zdGF0dXM6IE9iamVjdDtcbiAgcGF5bWVudF9tZXRob2Q6IFN0cmluZztcbiAgY2FzZV90eXBlOiBTdHJpbmc7XG4gIHBheW1lbnRfYWxsb2NhdGlvbl9kdG8/OiB7XG4gICAgYWxsb2NhdGlvbl9yZWFzb246IFN0cmluZyxcbiAgICBhbGxvY2F0aW9uX3N0YXR1czogU3RyaW5nLFxuICAgIGV4cGxhbmF0aW9uOiBTdHJpbmcsXG4gICAgcGF5bWVudF9hbGxvY2F0aW9uX3N0YXR1czogT2JqZWN0LFxuICAgIHBheW1lbnRfZ3JvdXBfcmVmZXJlbmNlOiBTdHJpbmcsXG4gICAgcGF5bWVudF9yZWZlcmVuY2U6IFN0cmluZyxcbiAgICByZWFzb246IFN0cmluZyxcbiAgICByZWNlaXZpbmdfb2ZmaWNlOiBTdHJpbmcsXG4gICAgdW5pZGVudGlmaWVkX3JlYXNvbjogU3RyaW5nLFxuICAgIHVzZXJfaWQ6IFN0cmluZyxcbiAgICB1c2VyX25hbWU6IFN0cmluZyxcbiAgICBjYXNlX3R5cGU6IFN0cmluZ1xuICB9XG5cbiAgY29uc3RydWN0b3IoY2NkX2Nhc2VfbnVtYmVyIDogc3RyaW5nLCB1bkFsbG9jYXRlZFBheW1lbnQ6IElCU1BheW1lbnRzLCBjYXNlVHlwZTogc3RyaW5nLCBleGNlcHRpb25SZWNvcmQ6IHN0cmluZywgYWxsb2NhdGVkUmVxdWVzdD86IGFueSkge1xuICAgIHRoaXMuYW1vdW50ID0gdW5BbGxvY2F0ZWRQYXltZW50LmFtb3VudDtcbiAgICB0aGlzLmJhbmtlZF9kYXRlID0gdW5BbGxvY2F0ZWRQYXltZW50LmRhdGVfYmFua2VkO1xuICAgIHRoaXMuY2NkX2Nhc2VfbnVtYmVyID0gY2NkX2Nhc2VfbnVtYmVyO1xuICAgIHRoaXMuZXhjZXB0aW9uX3JlY29yZCA9IGV4Y2VwdGlvblJlY29yZDtcbiAgICB0aGlzLmN1cnJlbmN5PSB1bkFsbG9jYXRlZFBheW1lbnQuY3VycmVuY3k7XG4gICAgdGhpcy5kb2N1bWVudF9jb250cm9sX251bWJlciA9IHVuQWxsb2NhdGVkUGF5bWVudC5kY25fcmVmZXJlbmNlO1xuICAgIHRoaXMuZXh0ZXJuYWxfcHJvdmlkZXIgPSAnZXhlbGEnO1xuICAgIHRoaXMuZ2lyb19zbGlwX25vID0gdW5BbGxvY2F0ZWRQYXltZW50LmJnY19yZWZlcmVuY2U7XG4gICAgdGhpcy5wYXllcl9uYW1lID0gdW5BbGxvY2F0ZWRQYXltZW50LnBheWVyX25hbWU7XG4gICAgdGhpcy5wYXltZW50X2NoYW5uZWwgPSB7XG4gICAgICBkZXNjcmlwdGlvbjogJycsXG4gICAgICBuYW1lOiAnYnVsayBzY2FuJ1xuICAgIH07XG4gICAgdGhpcy5wYXltZW50X3N0YXR1cyA9e1xuICAgICAgZGVzY3JpcHRpb246ICdidWxrIHNjYW4gcGF5bWVudCBjb21wbGV0ZWQnLFxuICAgICAgbmFtZTogJ3N1Y2Nlc3MnXG4gICAgfVxuICAgIHRoaXMucGF5bWVudF9tZXRob2QgPSB1bkFsbG9jYXRlZFBheW1lbnQucGF5bWVudF9tZXRob2Q7XG4gICAgdGhpcy5jYXNlX3R5cGU9IGNhc2VUeXBlO1xuICAgIGlmKGFsbG9jYXRlZFJlcXVlc3QpIHtcbiAgICAgIHRoaXMucGF5bWVudF9hbGxvY2F0aW9uX2R0byA9IGFsbG9jYXRlZFJlcXVlc3Q7XG4gICAgfVxuXG4gIH1cbn1cbiJdfQ==
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWxsb2NhdGVQYXltZW50UmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BheW1lbnQtbGliL3NyYy9saWIvaW50ZXJmYWNlcy9BbGxvY2F0ZVBheW1lbnRSZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsTUFBTSxDQUFTO0lBQ2YsV0FBVyxDQUFTO0lBQ3BCLGVBQWUsQ0FBUztJQUN4QixnQkFBZ0IsQ0FBUztJQUN6QixRQUFRLENBQVM7SUFDakIsdUJBQXVCLENBQVM7SUFDaEMsaUJBQWlCLENBQVM7SUFDMUIsWUFBWSxDQUFTO0lBQ3JCLFVBQVUsQ0FBUztJQUNuQixlQUFlLENBQVM7SUFDeEIsY0FBYyxDQUFTO0lBQ3ZCLGNBQWMsQ0FBUztJQUN2QixTQUFTLENBQVM7SUFDbEIsc0JBQXNCLENBYXJCO0lBRUQsWUFBWSxlQUF3QixFQUFFLGtCQUErQixFQUFFLFFBQWdCLEVBQUUsZUFBdUIsRUFBRSxnQkFBc0I7UUFDdEksSUFBSSxDQUFDLE1BQU0sR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQUM7UUFDeEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQyxXQUFXLENBQUM7UUFDbEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQUM7UUFDdkMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGVBQWUsQ0FBQztRQUN4QyxJQUFJLENBQUMsUUFBUSxHQUFFLGtCQUFrQixDQUFDLFFBQVEsQ0FBQztRQUMzQyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsa0JBQWtCLENBQUMsYUFBYSxDQUFDO1FBQ2hFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxPQUFPLENBQUM7UUFDakMsSUFBSSxDQUFDLFlBQVksR0FBRyxrQkFBa0IsQ0FBQyxhQUFhLENBQUM7UUFDckQsSUFBSSxDQUFDLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQyxVQUFVLENBQUM7UUFDaEQsSUFBSSxDQUFDLGVBQWUsR0FBRztZQUNyQixXQUFXLEVBQUUsRUFBRTtZQUNmLElBQUksRUFBRSxXQUFXO1NBQ2xCLENBQUM7UUFDRixJQUFJLENBQUMsY0FBYyxHQUFFO1lBQ25CLFdBQVcsRUFBRSw2QkFBNkI7WUFDMUMsSUFBSSxFQUFFLFNBQVM7U0FDaEIsQ0FBQTtRQUNELElBQUksQ0FBQyxjQUFjLEdBQUcsa0JBQWtCLENBQUMsY0FBYyxDQUFDO1FBQ3hELElBQUksQ0FBQyxTQUFTLEdBQUUsUUFBUSxDQUFDO1FBQ3pCLElBQUcsZ0JBQWdCLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsc0JBQXNCLEdBQUcsZ0JBQWdCLENBQUM7UUFDakQsQ0FBQztJQUVILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElCU1BheW1lbnRzIH0gZnJvbSBcIi4vSUJTUGF5bWVudHNcIjtcblxuZXhwb3J0IGNsYXNzIEFsbG9jYXRlUGF5bWVudFJlcXVlc3Qge1xuICBhbW91bnQ6IE51bWJlcjtcbiAgYmFua2VkX2RhdGU6IFN0cmluZztcbiAgY2NkX2Nhc2VfbnVtYmVyOiBTdHJpbmc7XG4gIGV4Y2VwdGlvbl9yZWNvcmQ6IHN0cmluZztcbiAgY3VycmVuY3k6IFN0cmluZztcbiAgZG9jdW1lbnRfY29udHJvbF9udW1iZXI6IFN0cmluZztcbiAgZXh0ZXJuYWxfcHJvdmlkZXI6IFN0cmluZztcbiAgZ2lyb19zbGlwX25vOiBTdHJpbmc7XG4gIHBheWVyX25hbWU6IFN0cmluZztcbiAgcGF5bWVudF9jaGFubmVsOiBPYmplY3Q7XG4gIHBheW1lbnRfc3RhdHVzOiBPYmplY3Q7XG4gIHBheW1lbnRfbWV0aG9kOiBTdHJpbmc7XG4gIGNhc2VfdHlwZTogU3RyaW5nO1xuICBwYXltZW50X2FsbG9jYXRpb25fZHRvPzoge1xuICAgIGFsbG9jYXRpb25fcmVhc29uOiBTdHJpbmcsXG4gICAgYWxsb2NhdGlvbl9zdGF0dXM6IFN0cmluZyxcbiAgICBleHBsYW5hdGlvbjogU3RyaW5nLFxuICAgIHBheW1lbnRfYWxsb2NhdGlvbl9zdGF0dXM6IE9iamVjdCxcbiAgICBwYXltZW50X2dyb3VwX3JlZmVyZW5jZTogU3RyaW5nLFxuICAgIHBheW1lbnRfcmVmZXJlbmNlOiBTdHJpbmcsXG4gICAgcmVhc29uOiBTdHJpbmcsXG4gICAgcmVjZWl2aW5nX29mZmljZTogU3RyaW5nLFxuICAgIHVuaWRlbnRpZmllZF9yZWFzb246IFN0cmluZyxcbiAgICB1c2VyX2lkOiBTdHJpbmcsXG4gICAgdXNlcl9uYW1lOiBTdHJpbmcsXG4gICAgY2FzZV90eXBlOiBTdHJpbmdcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKGNjZF9jYXNlX251bWJlciA6IHN0cmluZywgdW5BbGxvY2F0ZWRQYXltZW50OiBJQlNQYXltZW50cywgY2FzZVR5cGU6IHN0cmluZywgZXhjZXB0aW9uUmVjb3JkOiBzdHJpbmcsIGFsbG9jYXRlZFJlcXVlc3Q/OiBhbnkpIHtcbiAgICB0aGlzLmFtb3VudCA9IHVuQWxsb2NhdGVkUGF5bWVudC5hbW91bnQ7XG4gICAgdGhpcy5iYW5rZWRfZGF0ZSA9IHVuQWxsb2NhdGVkUGF5bWVudC5kYXRlX2JhbmtlZDtcbiAgICB0aGlzLmNjZF9jYXNlX251bWJlciA9IGNjZF9jYXNlX251bWJlcjtcbiAgICB0aGlzLmV4Y2VwdGlvbl9yZWNvcmQgPSBleGNlcHRpb25SZWNvcmQ7XG4gICAgdGhpcy5jdXJyZW5jeT0gdW5BbGxvY2F0ZWRQYXltZW50LmN1cnJlbmN5O1xuICAgIHRoaXMuZG9jdW1lbnRfY29udHJvbF9udW1iZXIgPSB1bkFsbG9jYXRlZFBheW1lbnQuZGNuX3JlZmVyZW5jZTtcbiAgICB0aGlzLmV4dGVybmFsX3Byb3ZpZGVyID0gJ2V4ZWxhJztcbiAgICB0aGlzLmdpcm9fc2xpcF9ubyA9IHVuQWxsb2NhdGVkUGF5bWVudC5iZ2NfcmVmZXJlbmNlO1xuICAgIHRoaXMucGF5ZXJfbmFtZSA9IHVuQWxsb2NhdGVkUGF5bWVudC5wYXllcl9uYW1lO1xuICAgIHRoaXMucGF5bWVudF9jaGFubmVsID0ge1xuICAgICAgZGVzY3JpcHRpb246ICcnLFxuICAgICAgbmFtZTogJ2J1bGsgc2NhbidcbiAgICB9O1xuICAgIHRoaXMucGF5bWVudF9zdGF0dXMgPXtcbiAgICAgIGRlc2NyaXB0aW9uOiAnYnVsayBzY2FuIHBheW1lbnQgY29tcGxldGVkJyxcbiAgICAgIG5hbWU6ICdzdWNjZXNzJ1xuICAgIH1cbiAgICB0aGlzLnBheW1lbnRfbWV0aG9kID0gdW5BbGxvY2F0ZWRQYXltZW50LnBheW1lbnRfbWV0aG9kO1xuICAgIHRoaXMuY2FzZV90eXBlPSBjYXNlVHlwZTtcbiAgICBpZihhbGxvY2F0ZWRSZXF1ZXN0KSB7XG4gICAgICB0aGlzLnBheW1lbnRfYWxsb2NhdGlvbl9kdG8gPSBhbGxvY2F0ZWRSZXF1ZXN0O1xuICAgIH1cblxuICB9XG59XG4iXX0=
@@ -10,4 +10,4 @@ export class IPutNotificationRequest {
10
10
  }
11
11
  }
12
12
  }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSVB1dE5vdGlmaWNhdGlvblJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wYXltZW50LWxpYi9zcmMvbGliL2ludGVyZmFjZXMvSVB1dE5vdGlmaWNhdGlvblJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyx1QkFBdUIsQ0FBVTtJQUNqQyx3QkFBd0IsQ0FBd0I7SUFFOUMsWUFBWSxjQUFtQixFQUFFLGdCQUF3QjtRQUN2RCxJQUFHLGdCQUFnQixLQUFLLE9BQU8sRUFBRTtZQUMvQixJQUFJLENBQUMsdUJBQXVCLEdBQUcsY0FBYyxDQUFDO1NBQy9DO2FBQU0sSUFBRyxnQkFBZ0IsS0FBSyxRQUFRLEVBQUU7WUFDdkMsSUFBSSxDQUFDLHdCQUF3QixHQUFHLGNBQWMsQ0FBQztTQUNoRDtJQUNILENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElSZWZ1bmRDb250YWN0RGV0YWlscyB9IGZyb20gJy4vSVJlZnVuZENvbnRhY3REZXRhaWxzJztcblxuZXhwb3J0IGNsYXNzIElQdXROb3RpZmljYXRpb25SZXF1ZXN0IHtcbiAgcmVjaXBpZW50X2VtYWlsX2FkZHJlc3M/OiBzdHJpbmc7XG4gIHJlY2lwaWVudF9wb3N0YWxfYWRkcmVzcz86IElSZWZ1bmRDb250YWN0RGV0YWlsc1xuICBcbiAgICBjb25zdHJ1Y3Rvcihjb250YWN0RGV0YWlsczogYW55LCBub3RpZmljYXRpb25UeXBlOiBzdHJpbmcpIHtcbiAgICAgIGlmKG5vdGlmaWNhdGlvblR5cGUgPT09ICdFTUFJTCcpIHtcbiAgICAgICAgdGhpcy5yZWNpcGllbnRfZW1haWxfYWRkcmVzcyA9IGNvbnRhY3REZXRhaWxzO1xuICAgICAgfSBlbHNlIGlmKG5vdGlmaWNhdGlvblR5cGUgPT09ICdMRVRURVInKSB7XG4gICAgICAgIHRoaXMucmVjaXBpZW50X3Bvc3RhbF9hZGRyZXNzID0gY29udGFjdERldGFpbHM7XG4gICAgICB9XG4gICAgfSBcbn0iXX0=
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSVB1dE5vdGlmaWNhdGlvblJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wYXltZW50LWxpYi9zcmMvbGliL2ludGVyZmFjZXMvSVB1dE5vdGlmaWNhdGlvblJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyx1QkFBdUIsQ0FBVTtJQUNqQyx3QkFBd0IsQ0FBd0I7SUFFOUMsWUFBWSxjQUFtQixFQUFFLGdCQUF3QjtRQUN2RCxJQUFHLGdCQUFnQixLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxjQUFjLENBQUM7UUFDaEQsQ0FBQzthQUFNLElBQUcsZ0JBQWdCLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDeEMsSUFBSSxDQUFDLHdCQUF3QixHQUFHLGNBQWMsQ0FBQztRQUNqRCxDQUFDO0lBQ0gsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVJlZnVuZENvbnRhY3REZXRhaWxzIH0gZnJvbSAnLi9JUmVmdW5kQ29udGFjdERldGFpbHMnO1xuXG5leHBvcnQgY2xhc3MgSVB1dE5vdGlmaWNhdGlvblJlcXVlc3Qge1xuICByZWNpcGllbnRfZW1haWxfYWRkcmVzcz86IHN0cmluZztcbiAgcmVjaXBpZW50X3Bvc3RhbF9hZGRyZXNzPzogSVJlZnVuZENvbnRhY3REZXRhaWxzXG4gIFxuICAgIGNvbnN0cnVjdG9yKGNvbnRhY3REZXRhaWxzOiBhbnksIG5vdGlmaWNhdGlvblR5cGU6IHN0cmluZykge1xuICAgICAgaWYobm90aWZpY2F0aW9uVHlwZSA9PT0gJ0VNQUlMJykge1xuICAgICAgICB0aGlzLnJlY2lwaWVudF9lbWFpbF9hZGRyZXNzID0gY29udGFjdERldGFpbHM7XG4gICAgICB9IGVsc2UgaWYobm90aWZpY2F0aW9uVHlwZSA9PT0gJ0xFVFRFUicpIHtcbiAgICAgICAgdGhpcy5yZWNpcGllbnRfcG9zdGFsX2FkZHJlc3MgPSBjb250YWN0RGV0YWlscztcbiAgICAgIH1cbiAgICB9IFxufSJdfQ==
@@ -42,4 +42,4 @@ export class NotificationPreviewRequest {
42
42
  }
43
43
  }
44
44
  }
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTm90aWZpY2F0aW9uUHJldmlld1JlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wYXltZW50LWxpYi9zcmMvbGliL2ludGVyZmFjZXMvTm90aWZpY2F0aW9uUHJldmlld1JlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLDBCQUEwQjtJQUNuQyxpQkFBaUIsQ0FBVTtJQUMzQixlQUFlLENBQVU7SUFDekIsY0FBYyxDQUFVO0lBQ3hCLGlCQUFpQixDQUFVO0lBQzNCLGVBQWUsQ0FLZDtJQUNELHVCQUF1QixDQUFVO0lBQ2pDLHdCQUF3QixDQU12QjtJQUNELFlBQVksQ0FBVTtJQUV0QixZQUFZLE9BQWlCLEVBQUUsY0FBcUMsRUFBRSxhQUFxQixFQUFFLGFBQXFCLEVBQUUsZ0JBQXdCLEVBQUUsaUJBQXlCO1FBRW5LLElBQUksY0FBYyxLQUFLLFNBQVMsSUFBSSxjQUFjLEtBQUssSUFBSSxFQUFFO1lBQ3pELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxjQUFjLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDM0U7UUFFRCxJQUFJLE9BQU8sS0FBSyxTQUFTLElBQUksT0FBTyxLQUFLLElBQUksRUFBRTtZQUMzQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztZQUMzQyxJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFDckMsSUFBSSxDQUFDLGVBQWUsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQztTQUM1QzthQUFNO1lBQ0gsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGlCQUFpQixDQUFDO1NBQzlDO1FBRUQsSUFBSSxDQUFDLGVBQWUsR0FBRztZQUNuQixlQUFlLEVBQUUsQ0FBQyxPQUFPLEtBQUssU0FBUyxJQUFJLE9BQU8sS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUMzRixhQUFhLEVBQUUsYUFBYTtZQUM1QixhQUFhLEVBQUUsYUFBYTtZQUM1QixnQkFBZ0IsRUFBRSxnQkFBZ0I7U0FDckMsQ0FBQztRQUVGLElBQUksSUFBSSxDQUFDLGlCQUFpQixLQUFLLE9BQU8sRUFBRTtZQUNwQyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQztZQUNwRCxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDO1NBQ3hDO2FBQU0sSUFBSSxJQUFJLENBQUMsaUJBQWlCLEtBQUssUUFBUSxFQUFFO1lBQzVDLElBQUksQ0FBQyx3QkFBd0IsR0FBRztnQkFDNUIsWUFBWSxFQUFFLGNBQWMsQ0FBQyxZQUFZO2dCQUN6QyxJQUFJLEVBQUUsY0FBYyxDQUFDLElBQUk7Z0JBQ3pCLE1BQU0sRUFBRSxjQUFjLENBQUMsTUFBTTtnQkFDN0IsT0FBTyxFQUFFLGNBQWMsQ0FBQyxPQUFPO2dCQUMvQixXQUFXLEVBQUUsY0FBYyxDQUFDLFdBQVc7YUFDMUMsQ0FBQztZQUNGLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUM7U0FDdkM7SUFFTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUGF5bWVudCB9IGZyb20gJy4vSVBheW1lbnQnO1xuaW1wb3J0IHsgSVJlZnVuZENvbnRhY3REZXRhaWxzIH0gZnJvbSAnLi9JUmVmdW5kQ29udGFjdERldGFpbHMnO1xuXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uUHJldmlld1JlcXVlc3Qge1xuICAgIG5vdGlmaWNhdGlvbl90eXBlPzogc3RyaW5nO1xuICAgIHBheW1lbnRfY2hhbm5lbD86IHN0cmluZztcbiAgICBwYXltZW50X21ldGhvZD86IHN0cmluZztcbiAgICBwYXltZW50X3JlZmVyZW5jZT86IHN0cmluZztcbiAgICBwZXJzb25hbGlzYXRpb24/OiB7XG4gICAgICAgIGNjZF9jYXNlX251bWJlcj86IHN0cmluZztcbiAgICAgICAgcmVmdW5kX2Ftb3VudD86IG51bWJlcjtcbiAgICAgICAgcmVmdW5kX3JlYXNvbj86IHN0cmluZztcbiAgICAgICAgcmVmdW5kX3JlZmVyZW5jZT86IHN0cmluZztcbiAgICB9XG4gICAgcmVjaXBpZW50X2VtYWlsX2FkZHJlc3M/OiBzdHJpbmc7XG4gICAgcmVjaXBpZW50X3Bvc3RhbF9hZGRyZXNzPzoge1xuICAgICAgICBhZGRyZXNzX2xpbmU/OiBzdHJpbmc7XG4gICAgICAgIGNpdHk/OiBzdHJpbmc7XG4gICAgICAgIGNvdW50eT86IHN0cmluZztcbiAgICAgICAgY291bnRyeT86IHN0cmluZztcbiAgICAgICAgcG9zdGFsX2NvZGU/OiBzdHJpbmc7XG4gICAgfVxuICAgIHNlcnZpY2VfbmFtZT86IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKHBheW1lbnQ6IElQYXltZW50LCBjb250YWN0RGV0YWlsczogSVJlZnVuZENvbnRhY3REZXRhaWxzLCByZWZ1bmRfcmVhc29uOiBzdHJpbmcsIHJlZnVuZF9hbW91bnQ6IG51bWJlciwgcmVmdW5kX3JlZmVyZW5jZTogc3RyaW5nLCBwYXltZW50X3JlZmVyZW5jZTogc3RyaW5nKSB7XG4gICAgICAgIFxuICAgICAgICBpZiAoY29udGFjdERldGFpbHMgIT09IHVuZGVmaW5lZCAmJiBjb250YWN0RGV0YWlscyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25fdHlwZSA9IGNvbnRhY3REZXRhaWxzLm5vdGlmaWNhdGlvbl90eXBlLnRvVXBwZXJDYXNlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocGF5bWVudCAhPT0gdW5kZWZpbmVkICYmIHBheW1lbnQgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMucGF5bWVudF9yZWZlcmVuY2UgPSBwYXltZW50LnJlZmVyZW5jZTtcbiAgICAgICAgICAgIHRoaXMucGF5bWVudF9tZXRob2QgPSBwYXltZW50Lm1ldGhvZDtcbiAgICAgICAgICAgIHRoaXMucGF5bWVudF9jaGFubmVsID0gcGF5bWVudC5jaGFubmVsO1xuICAgICAgICAgICAgdGhpcy5zZXJ2aWNlX25hbWUgPSBwYXltZW50LnNlcnZpY2VfbmFtZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucGF5bWVudF9yZWZlcmVuY2UgPSBwYXltZW50X3JlZmVyZW5jZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucGVyc29uYWxpc2F0aW9uID0ge1xuICAgICAgICAgICAgY2NkX2Nhc2VfbnVtYmVyOiAocGF5bWVudCAhPT0gdW5kZWZpbmVkICYmIHBheW1lbnQgIT09IG51bGwpID8gcGF5bWVudC5jY2RfY2FzZV9udW1iZXIgOiAnJyxcbiAgICAgICAgICAgIHJlZnVuZF9yZWFzb246IHJlZnVuZF9yZWFzb24sXG4gICAgICAgICAgICByZWZ1bmRfYW1vdW50OiByZWZ1bmRfYW1vdW50LFxuICAgICAgICAgICAgcmVmdW5kX3JlZmVyZW5jZTogcmVmdW5kX3JlZmVyZW5jZVxuICAgICAgICB9O1xuXG4gICAgICAgIGlmICh0aGlzLm5vdGlmaWNhdGlvbl90eXBlID09PSBcIkVNQUlMXCIpIHtcbiAgICAgICAgICAgIHRoaXMucmVjaXBpZW50X2VtYWlsX2FkZHJlc3MgPSBjb250YWN0RGV0YWlscy5lbWFpbDtcbiAgICAgICAgICAgIHRoaXMucmVjaXBpZW50X3Bvc3RhbF9hZGRyZXNzID0gbnVsbDtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLm5vdGlmaWNhdGlvbl90eXBlID09PSBcIkxFVFRFUlwiKSB7XG4gICAgICAgICAgICB0aGlzLnJlY2lwaWVudF9wb3N0YWxfYWRkcmVzcyA9IHtcbiAgICAgICAgICAgICAgICBhZGRyZXNzX2xpbmU6IGNvbnRhY3REZXRhaWxzLmFkZHJlc3NfbGluZSxcbiAgICAgICAgICAgICAgICBjaXR5OiBjb250YWN0RGV0YWlscy5jaXR5LFxuICAgICAgICAgICAgICAgIGNvdW50eTogY29udGFjdERldGFpbHMuY291bnR5LFxuICAgICAgICAgICAgICAgIGNvdW50cnk6IGNvbnRhY3REZXRhaWxzLmNvdW50cnksXG4gICAgICAgICAgICAgICAgcG9zdGFsX2NvZGU6IGNvbnRhY3REZXRhaWxzLnBvc3RhbF9jb2RlXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgdGhpcy5yZWNpcGllbnRfZW1haWxfYWRkcmVzcyA9IG51bGw7XG4gICAgICAgIH1cblxuICAgIH1cbn0iXX0=
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTm90aWZpY2F0aW9uUHJldmlld1JlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wYXltZW50LWxpYi9zcmMvbGliL2ludGVyZmFjZXMvTm90aWZpY2F0aW9uUHJldmlld1JlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLDBCQUEwQjtJQUNuQyxpQkFBaUIsQ0FBVTtJQUMzQixlQUFlLENBQVU7SUFDekIsY0FBYyxDQUFVO0lBQ3hCLGlCQUFpQixDQUFVO0lBQzNCLGVBQWUsQ0FLZDtJQUNELHVCQUF1QixDQUFVO0lBQ2pDLHdCQUF3QixDQU12QjtJQUNELFlBQVksQ0FBVTtJQUV0QixZQUFZLE9BQWlCLEVBQUUsY0FBcUMsRUFBRSxhQUFxQixFQUFFLGFBQXFCLEVBQUUsZ0JBQXdCLEVBQUUsaUJBQXlCO1FBRW5LLElBQUksY0FBYyxLQUFLLFNBQVMsSUFBSSxjQUFjLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDMUQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM1RSxDQUFDO1FBRUQsSUFBSSxPQUFPLEtBQUssU0FBUyxJQUFJLE9BQU8sS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUM1QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztZQUMzQyxJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFDckMsSUFBSSxDQUFDLGVBQWUsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQztRQUM3QyxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztRQUMvQyxDQUFDO1FBRUQsSUFBSSxDQUFDLGVBQWUsR0FBRztZQUNuQixlQUFlLEVBQUUsQ0FBQyxPQUFPLEtBQUssU0FBUyxJQUFJLE9BQU8sS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUMzRixhQUFhLEVBQUUsYUFBYTtZQUM1QixhQUFhLEVBQUUsYUFBYTtZQUM1QixnQkFBZ0IsRUFBRSxnQkFBZ0I7U0FDckMsQ0FBQztRQUVGLElBQUksSUFBSSxDQUFDLGlCQUFpQixLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDO1lBQ3BELElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUM7UUFDekMsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLGlCQUFpQixLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzdDLElBQUksQ0FBQyx3QkFBd0IsR0FBRztnQkFDNUIsWUFBWSxFQUFFLGNBQWMsQ0FBQyxZQUFZO2dCQUN6QyxJQUFJLEVBQUUsY0FBYyxDQUFDLElBQUk7Z0JBQ3pCLE1BQU0sRUFBRSxjQUFjLENBQUMsTUFBTTtnQkFDN0IsT0FBTyxFQUFFLGNBQWMsQ0FBQyxPQUFPO2dCQUMvQixXQUFXLEVBQUUsY0FBYyxDQUFDLFdBQVc7YUFDMUMsQ0FBQztZQUNGLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUM7UUFDeEMsQ0FBQztJQUVMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQYXltZW50IH0gZnJvbSAnLi9JUGF5bWVudCc7XG5pbXBvcnQgeyBJUmVmdW5kQ29udGFjdERldGFpbHMgfSBmcm9tICcuL0lSZWZ1bmRDb250YWN0RGV0YWlscyc7XG5cbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25QcmV2aWV3UmVxdWVzdCB7XG4gICAgbm90aWZpY2F0aW9uX3R5cGU/OiBzdHJpbmc7XG4gICAgcGF5bWVudF9jaGFubmVsPzogc3RyaW5nO1xuICAgIHBheW1lbnRfbWV0aG9kPzogc3RyaW5nO1xuICAgIHBheW1lbnRfcmVmZXJlbmNlPzogc3RyaW5nO1xuICAgIHBlcnNvbmFsaXNhdGlvbj86IHtcbiAgICAgICAgY2NkX2Nhc2VfbnVtYmVyPzogc3RyaW5nO1xuICAgICAgICByZWZ1bmRfYW1vdW50PzogbnVtYmVyO1xuICAgICAgICByZWZ1bmRfcmVhc29uPzogc3RyaW5nO1xuICAgICAgICByZWZ1bmRfcmVmZXJlbmNlPzogc3RyaW5nO1xuICAgIH1cbiAgICByZWNpcGllbnRfZW1haWxfYWRkcmVzcz86IHN0cmluZztcbiAgICByZWNpcGllbnRfcG9zdGFsX2FkZHJlc3M/OiB7XG4gICAgICAgIGFkZHJlc3NfbGluZT86IHN0cmluZztcbiAgICAgICAgY2l0eT86IHN0cmluZztcbiAgICAgICAgY291bnR5Pzogc3RyaW5nO1xuICAgICAgICBjb3VudHJ5Pzogc3RyaW5nO1xuICAgICAgICBwb3N0YWxfY29kZT86IHN0cmluZztcbiAgICB9XG4gICAgc2VydmljZV9uYW1lPzogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IocGF5bWVudDogSVBheW1lbnQsIGNvbnRhY3REZXRhaWxzOiBJUmVmdW5kQ29udGFjdERldGFpbHMsIHJlZnVuZF9yZWFzb246IHN0cmluZywgcmVmdW5kX2Ftb3VudDogbnVtYmVyLCByZWZ1bmRfcmVmZXJlbmNlOiBzdHJpbmcsIHBheW1lbnRfcmVmZXJlbmNlOiBzdHJpbmcpIHtcbiAgICAgICAgXG4gICAgICAgIGlmIChjb250YWN0RGV0YWlscyAhPT0gdW5kZWZpbmVkICYmIGNvbnRhY3REZXRhaWxzICE9PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbl90eXBlID0gY29udGFjdERldGFpbHMubm90aWZpY2F0aW9uX3R5cGUudG9VcHBlckNhc2UoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwYXltZW50ICE9PSB1bmRlZmluZWQgJiYgcGF5bWVudCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5wYXltZW50X3JlZmVyZW5jZSA9IHBheW1lbnQucmVmZXJlbmNlO1xuICAgICAgICAgICAgdGhpcy5wYXltZW50X21ldGhvZCA9IHBheW1lbnQubWV0aG9kO1xuICAgICAgICAgICAgdGhpcy5wYXltZW50X2NoYW5uZWwgPSBwYXltZW50LmNoYW5uZWw7XG4gICAgICAgICAgICB0aGlzLnNlcnZpY2VfbmFtZSA9IHBheW1lbnQuc2VydmljZV9uYW1lO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5wYXltZW50X3JlZmVyZW5jZSA9IHBheW1lbnRfcmVmZXJlbmNlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wZXJzb25hbGlzYXRpb24gPSB7XG4gICAgICAgICAgICBjY2RfY2FzZV9udW1iZXI6IChwYXltZW50ICE9PSB1bmRlZmluZWQgJiYgcGF5bWVudCAhPT0gbnVsbCkgPyBwYXltZW50LmNjZF9jYXNlX251bWJlciA6ICcnLFxuICAgICAgICAgICAgcmVmdW5kX3JlYXNvbjogcmVmdW5kX3JlYXNvbixcbiAgICAgICAgICAgIHJlZnVuZF9hbW91bnQ6IHJlZnVuZF9hbW91bnQsXG4gICAgICAgICAgICByZWZ1bmRfcmVmZXJlbmNlOiByZWZ1bmRfcmVmZXJlbmNlXG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKHRoaXMubm90aWZpY2F0aW9uX3R5cGUgPT09IFwiRU1BSUxcIikge1xuICAgICAgICAgICAgdGhpcy5yZWNpcGllbnRfZW1haWxfYWRkcmVzcyA9IGNvbnRhY3REZXRhaWxzLmVtYWlsO1xuICAgICAgICAgICAgdGhpcy5yZWNpcGllbnRfcG9zdGFsX2FkZHJlc3MgPSBudWxsO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMubm90aWZpY2F0aW9uX3R5cGUgPT09IFwiTEVUVEVSXCIpIHtcbiAgICAgICAgICAgIHRoaXMucmVjaXBpZW50X3Bvc3RhbF9hZGRyZXNzID0ge1xuICAgICAgICAgICAgICAgIGFkZHJlc3NfbGluZTogY29udGFjdERldGFpbHMuYWRkcmVzc19saW5lLFxuICAgICAgICAgICAgICAgIGNpdHk6IGNvbnRhY3REZXRhaWxzLmNpdHksXG4gICAgICAgICAgICAgICAgY291bnR5OiBjb250YWN0RGV0YWlscy5jb3VudHksXG4gICAgICAgICAgICAgICAgY291bnRyeTogY29udGFjdERldGFpbHMuY291bnRyeSxcbiAgICAgICAgICAgICAgICBwb3N0YWxfY29kZTogY29udGFjdERldGFpbHMucG9zdGFsX2NvZGVcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB0aGlzLnJlY2lwaWVudF9lbWFpbF9hZGRyZXNzID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgfVxufSJdfQ==
@@ -122,8 +122,8 @@ export class PaymentLibComponent {
122
122
  this.isFromPayBubble = true;
123
123
  }
124
124
  }
125
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PaymentLibComponent, deps: [{ token: i1.PaymentLibService }, { token: i0.ChangeDetectorRef }, { token: i2.OrderslistService }], target: i0.ɵɵFactoryTarget.Component });
126
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PaymentLibComponent, selector: "ccpay-payment-lib", inputs: { API_ROOT: "API_ROOT", BULKSCAN_API_ROOT: "BULKSCAN_API_ROOT", REFUNDS_API_ROOT: "REFUNDS_API_ROOT", NOTIFICATION_API_ROOT: "NOTIFICATION_API_ROOT", CARDPAYMENTRETURNURL: "CARDPAYMENTRETURNURL", CCD_CASE_NUMBER: "CCD_CASE_NUMBER", EXC_REFERENCE: "EXC_REFERENCE", PAYMENT_METHOD: "PAYMENT_METHOD", VIEW: "VIEW", VIEWSERVICE: "VIEWSERVICE", PAYMENT_GROUP_REF: "PAYMENT_GROUP_REF", TAKEPAYMENT: "TAKEPAYMENT", SERVICEREQUEST: "SERVICEREQUEST", DCN_NUMBER: "DCN_NUMBER", SELECTED_OPTION: "SELECTED_OPTION", ISBSENABLE: "ISBSENABLE", ISSFENABLE: "ISSFENABLE", ISTURNOFF: "ISTURNOFF", CASETYPE: "CASETYPE", ISPAYMENTSTATUSENABLED: "ISPAYMENTSTATUSENABLED", rootUrl: "rootUrl", REFUNDLIST: "REFUNDLIST", USERID: "USERID", LOGGEDINUSERROLES: "LOGGEDINUSERROLES", LOGGEDINUSEREMAIL: "LOGGEDINUSEREMAIL", isFromServiceRequestPage: "isFromServiceRequestPage" }, providers: [{ provide: 'PAYMENT_LIB', useExisting: forwardRef(() => PaymentLibComponent) }], ngImport: i0, template: `
125
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: PaymentLibComponent, deps: [{ token: i1.PaymentLibService }, { token: i0.ChangeDetectorRef }, { token: i2.OrderslistService }], target: i0.ɵɵFactoryTarget.Component });
126
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: PaymentLibComponent, selector: "ccpay-payment-lib", inputs: { API_ROOT: "API_ROOT", BULKSCAN_API_ROOT: "BULKSCAN_API_ROOT", REFUNDS_API_ROOT: "REFUNDS_API_ROOT", NOTIFICATION_API_ROOT: "NOTIFICATION_API_ROOT", CARDPAYMENTRETURNURL: "CARDPAYMENTRETURNURL", CCD_CASE_NUMBER: "CCD_CASE_NUMBER", EXC_REFERENCE: "EXC_REFERENCE", PAYMENT_METHOD: "PAYMENT_METHOD", VIEW: "VIEW", VIEWSERVICE: "VIEWSERVICE", PAYMENT_GROUP_REF: "PAYMENT_GROUP_REF", TAKEPAYMENT: "TAKEPAYMENT", SERVICEREQUEST: "SERVICEREQUEST", DCN_NUMBER: "DCN_NUMBER", SELECTED_OPTION: "SELECTED_OPTION", ISBSENABLE: "ISBSENABLE", ISSFENABLE: "ISSFENABLE", ISTURNOFF: "ISTURNOFF", CASETYPE: "CASETYPE", ISPAYMENTSTATUSENABLED: "ISPAYMENTSTATUSENABLED", rootUrl: "rootUrl", REFUNDLIST: "REFUNDLIST", USERID: "USERID", LOGGEDINUSERROLES: "LOGGEDINUSERROLES", LOGGEDINUSEREMAIL: "LOGGEDINUSEREMAIL", isFromServiceRequestPage: "isFromServiceRequestPage" }, providers: [{ provide: 'PAYMENT_LIB', useExisting: forwardRef(() => PaymentLibComponent) }], ngImport: i0, template: `
127
127
  <ccpay-refund-list [USERID]="USERID" [LOGGEDINUSERROLES]="LOGGEDINUSERROLES" [LOGGEDINUSEREMAIL]="LOGGEDINUSEREMAIL" *ngIf="viewName === 'refund-list'"></ccpay-refund-list>
128
128
  <ccpay-payment-list *ngIf="viewName === 'payment-list'"></ccpay-payment-list>
129
129
  <ccpay-refund-status
@@ -162,7 +162,7 @@ export class PaymentLibComponent {
162
162
  ></ccpay-reports>
163
163
  `, isInline: true, dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.PaymentViewComponent, selector: "ccpay-payment-view", inputs: ["isTurnOff", "isTakePayment", "caseType", "orderRef", "orderStatus", "orderTotalPayments", "payment", "LOGGEDINUSERROLES", "ISPAYMENTSTATUSENABLED", "orderParty", "orderCreated", "orderCCDEvent", "orderFeesTotal", "orderRemissionTotal", "orderDetail", "isServiceRequest"] }, { kind: "component", type: i5.CaseTransactionsComponent, selector: "ccpay-case-transactions", inputs: ["LOGGEDINUSERROLES", "isTakePayment", "isFromServiceRequestPage"] }, { kind: "component", type: i6.RefundStatusComponent, selector: "ccpay-refund-status", inputs: ["LOGGEDINUSERROLES", "API_ROOT", "ccdCaseNumber", "isTurnOff", "orderParty"] }, { kind: "component", type: i7.PbaPaymentComponent, selector: "ccpay-pba-payment", inputs: ["pbaPayOrderRef"] }, { kind: "component", type: i8.PaymentListComponent, selector: "ccpay-payment-list" }, { kind: "component", type: i9.ProcessRefundComponent, selector: "ccpay-process-refund", inputs: ["refundReference", "refundlistsource"] }, { kind: "component", type: i10.RefundListComponent, selector: "ccpay-refund-list", inputs: ["USERID", "LOGGEDINUSERROLES", "LOGGEDINUSEREMAIL"] }, { kind: "component", type: i11.MarkUnidentifiedPaymentComponent, selector: "app-mark-unidentified-payment", inputs: ["caseType"] }, { kind: "component", type: i12.MarkUnsolicitedPaymentComponent, selector: "app-mark-unsolicited-payment", inputs: ["caseType"] }, { kind: "component", type: i13.AllocatePaymentsComponent, selector: "app-allocate-payments", inputs: ["isTurnOff", "caseType"] }, { kind: "component", type: i14.FeeSummaryComponent, selector: "ccpay-fee-summary", inputs: ["paymentGroupRef", "ccdCaseNumber", "isTurnOff", "caseType"] }, { kind: "component", type: i15.ReportsComponent, selector: "ccpay-reports", inputs: ["ISPAYMENTSTATUSENABLED"] }] });
164
164
  }
165
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PaymentLibComponent, decorators: [{
165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: PaymentLibComponent, decorators: [{
166
166
  type: Component,
167
167
  args: [{
168
168
  selector: 'ccpay-payment-lib',
@@ -206,7 +206,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
206
206
  `,
207
207
  providers: [{ provide: 'PAYMENT_LIB', useExisting: forwardRef(() => PaymentLibComponent) }]
208
208
  }]
209
- }], ctorParameters: function () { return [{ type: i1.PaymentLibService }, { type: i0.ChangeDetectorRef }, { type: i2.OrderslistService }]; }, propDecorators: { API_ROOT: [{
209
+ }], ctorParameters: () => [{ type: i1.PaymentLibService }, { type: i0.ChangeDetectorRef }, { type: i2.OrderslistService }], propDecorators: { API_ROOT: [{
210
210
  type: Input,
211
211
  args: ['API_ROOT']
212
212
  }], BULKSCAN_API_ROOT: [{
@@ -285,4 +285,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
285
285
  type: Input,
286
286
  args: ['isFromServiceRequestPage']
287
287
  }] } });
288
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC1saWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcGF5bWVudC1saWIvc3JjL2xpYi9wYXltZW50LWxpYi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTFELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7OztBQStDbEUsTUFBTSxPQUFPLG1CQUFtQjtJQThEVjtJQUNWO0lBQ0E7SUEvRFMsUUFBUSxDQUFTO0lBQ1IsaUJBQWlCLENBQVM7SUFDM0IsZ0JBQWdCLENBQVM7SUFDcEIscUJBQXFCLENBQVM7SUFDL0Isb0JBQW9CLENBQVM7SUFDbEMsZUFBZSxDQUFTO0lBQzFCLGFBQWEsQ0FBUztJQUNyQixjQUFjLENBQVM7SUFDakMsSUFBSSxDQUFTO0lBQ04sV0FBVyxDQUFTO0lBQ2QsaUJBQWlCLENBQVU7SUFDakMsV0FBVyxDQUFVO0lBQ2xCLGNBQWMsQ0FBUztJQUMzQixVQUFVLENBQVM7SUFDZCxlQUFlLENBQVM7SUFDN0IsVUFBVSxDQUFVO0lBQ3BCLFVBQVUsQ0FBVTtJQUNyQixTQUFTLENBQVU7SUFDcEIsUUFBUSxDQUFTO0lBQ0gsc0JBQXNCLENBQVU7SUFDL0MsT0FBTyxDQUFVO0lBQ2QsVUFBVSxDQUFTO0lBQ3ZCLE1BQU0sQ0FBUztJQUNKLGlCQUFpQixDQUFRO0lBQ3pCLGlCQUFpQixDQUFTO0lBQ25CLHdCQUF3QixDQUFVO0lBRXJFLGFBQWEsQ0FBUztJQUN0QixZQUFZLENBQVM7SUFDckIsMkJBQTJCLEdBQVcsSUFBSSxDQUFDO0lBQzNDLHFCQUFxQixDQUFTO0lBQzlCLGdCQUFn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LG1CQUFtQjtnQkFDSixXQUFXO3NCQUFoQyxLQUFLO3VCQUFDLGFBQWE7Z0JBQ0ssY0FBYztzQkFBdEMsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBQ0YsVUFBVTtzQkFBOUIsS0FBSzt1QkFBQyxZQUFZO2dCQUNPLGVBQWU7c0JBQXhDLEtBQUs7dUJBQUMsaUJBQWlCO2dCQUNILFVBQVU7c0JBQTlCLEtBQUs7dUJBQUMsWUFBWTtnQkFDRSxVQUFVO3NCQUE5QixLQUFLO3VCQUFDLFlBQVk7Z0JBQ0MsU0FBUztzQkFBNUIsS0FBSzt1QkFBQyxXQUFXO2dCQUNDLFFBQVE7c0JBQTFCLEtBQUs7dUJBQUMsVUFBVTtnQkFDZ0Isc0JBQXNCO3NCQUF0RCxLQUFLO3VCQUFDLHdCQUF3QjtnQkFDYixPQUFPO3NCQUF4QixLQUFLO3VCQUFDLFNBQVM7Z0JBQ0ssVUFBVTtzQkFBOUIsS0FBSzt1QkFBQyxZQUFZO2dCQUNGLE1BQU07c0JBQXRCLEtBQUs7dUJBQUMsUUFBUTtnQkFDYSxpQkFBaUI7c0JBQTVDLEtBQUs7dUJBQUMsbUJBQW1CO2dCQUNFLGlCQUFpQjtzQkFBNUMsS0FBSzt1QkFBQyxtQkFBbUI7Z0JBQ1Msd0JBQXdCO3NCQUExRCxLQUFLO3VCQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBheW1lbnRMaWJTZXJ2aWNlIH0gZnJvbSAnLi9wYXltZW50LWxpYi5zZXJ2aWNlJztcbmltcG9ydCB7IElCU1BheW1lbnRzIH0gZnJvbSAnLi9pbnRlcmZhY2VzL0lCU1BheW1lbnRzJztcbmltcG9ydCB7IE9yZGVyc2xpc3RTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9vcmRlcnNsaXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgSVBheW1lbnQgfSBmcm9tICcuL2ludGVyZmFjZXMvSVBheW1lbnQnO1xuaW1wb3J0IHsgUGF5bWVudFZpZXdDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGF5bWVudC12aWV3L3BheW1lbnQtdmlldy5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY3BheS1wYXltZW50LWxpYicsXG4gIHRlbXBsYXRlOiBgXG4gIDxjY3BheS1yZWZ1bmQtbGlzdCBbVVNFUklEXT1cIlVTRVJJRFwiIFtMT0dHRURJTlVTRVJST0xFU109XCJMT0dHRURJTlVTRVJST0xFU1wiIFtMT0dHRURJTlVTRVJFTUFJTF09XCJMT0dHRURJTlVTRVJFTUFJTFwiICpuZ0lmPVwidmlld05hbWUgPT09ICdyZWZ1bmQtbGlzdCdcIj48L2NjcGF5LXJlZnVuZC1saXN0PlxuICAgIDxjY3BheS1wYXltZW50LWxpc3QgKm5nSWY9XCJ2aWV3TmFtZSA9PT0gJ3BheW1lbnQtbGlzdCdcIj48L2NjcGF5LXBheW1lbnQtbGlzdD5cbiAgICA8Y2NwYXktcmVmdW5kLXN0YXR1c1xuICAgIFtMT0dHRURJTlVTRVJST0xFU109XCJMT0dHRURJTlVTRVJST0xFU1wiXG4gICAgW0FQSV9ST09UXT1cIkFQSV9ST09UXCJcbiAgICAqbmdJZj1cInZpZXdOYW1lID09PSAncmVmdW5kc3RhdHVzbGlzdCdcIj4gPC9jY3BheS1yZWZ1bmQtc3RhdHVzID5cbiAgICA8Y2NwYXktcGF5bWVudC12aWV3IFtMT0dHRURJTlVTRVJST0xFU109XCJMT0dHRURJTlVTRVJST0xFU1wiICpuZ0lmPVwidmlld05hbWUgPT09ICdwYXltZW50LXZpZXcnXCJcbiAgICBbaXNUdXJuT2ZmXT1cIklTVFVSTk9GRlwiIFtpc1Rha2VQYXltZW50XT1cIlRBS0VQQVlNRU5UXCIgIFtjYXNlVHlwZV09XCJDQVNFVFlQRVwiXG4gICAgW0lTUEFZTUVOVFNUQVRVU0VOQUJMRURdID0gXCJJU1BBWU1FTlRTVEFUVVNFTkFCTEVEXCJcbiAgICA+PC9jY3BheS1wYXltZW50LXZpZXc+XG5cbiAgICA8Y2NwYXktcHJvY2Vzcy1yZWZ1bmQgKm5nSWY9XCJ2aWV3TmFtZSA9PT0gJ3Byb2Nlc3MtcmVmdW5kJ1wiXG4gICAgW3JlZnVuZFJlZmVyZW5jZV09XCJyZWZ1bmRSZWZlcmVuY2VcIlxuICAgIFtyZWZ1bmRsaXN0c291cmNlXT1cInJlZnVuZGxpc3Rzb3VyY2VcIlxuICAgID48L2NjcGF5LXByb2Nlc3MtcmVmdW5kPlxuICAgIDxjY3BheS1wYmEtcGF5bWVudCAqbmdJZj1cInZpZXdOYW1lID09PSAncGJhLXBheW1lbnQnXCJcbiAgICBbcGJhUGF5T3JkZXJSZWZdPVwicGJhUGF5T3JkZXJSZWZcIlxuICAgID48L2NjcGF5LXBiYS1wYXltZW50PlxuICAgIDxjY3BheS1jYXNlLXRyYW5zYWN0aW9ucyBbaXNUYWtlUGF5bWVudF09XCJpc1Rha2VQYXltZW50XCIgW2lzRnJvbVNlcnZpY2VSZXF1ZXN0UGFnZV09XCJpc0Zyb21TZXJ2aWNlUmVxdWVzdFBhZ2VcIiBbTE9HR0VESU5VU0VSUk9MRVNdPVwiTE9HR0VESU5VU0VSUk9MRVNcIiAqbmdJZj1cInZpZXdOYW1lID09PSAnY2FzZS10cmFuc2FjdGlvbnMnXCI+PC9jY3BheS1jYXNlLXRyYW5zYWN0aW9ucz5cbiAgICA8YXBwLW1hcmstdW5pZGVudGlmaWVkLXBheW1lbnQgKm5nSWY9XCJ2aWV3TmFtZSA9PT0gJ3VuaWRlbnRpZmllZFBhZ2UnXCJcbiAgICBbY2FzZVR5cGVdPVwiQ0FTRVRZUEVcIj48L2FwcC1tYXJrLXVuaWRlbnRpZmllZC1wYXltZW50PlxuICAgIDxhcHAtbWFyay11bnNvbGljaXRlZC1wYXltZW50ICpuZ0lmPVwidmlld05hbWUgPT09ICd1bnNvbGljaXRlZFBhZ2UnXCJcbiAgICBbY2FzZVR5cGVdPVwiQ0FTRVRZUEVcIj48L2FwcC1tYXJrLXVuc29saWNpdGVkLXBheW1lbnQ+XG4gICAgPGFwcC1hbGxvY2F0ZS1wYXltZW50cyAqbmdJZj1cInZpZXdOYW1lID09PSAnYWxsb2NhdGUtcGF5bWVudHMnXCJcbiAgICBbaXNUdXJuT2ZmXT1cIklTVFVSTk9GRlwiXG4gICAgW2Nhc2VUeXBlXT1cIkNBU0VUWVBFXCJcbiAgICA+PC9hcHAtYWxsb2NhdGUtcGF5bWVudHM+XG4gICAgPGNjcGF5LWZlZS1zdW1tYXJ5ICpuZ0lmPVwidmlld05hbWUgPT09ICdmZWUtc3VtbWFyeSdcIlxuICAgICAgW2NjZENhc2VOdW1iZXJdPVwiQ0NEX0NBU0VfTlVNQkVSXCJcbiAgICAgIFtwYXltZW50R3JvdXBSZWZdPVwicGF5bWVudEdyb3VwUmVmZXJlbmNlXCJcbiAgICAgIFtpc1R1cm5PZmZdPVwiSVNUVVJOT0ZGXCJcbiAgICAgIFtjYXNlVHlwZV09XCJDQVNFVFlQRVwiXG4gICAgICA+PC9jY3BheS1mZWUtc3VtbWFyeT5cbiAgICA8Y2NwYXktcmVwb3J0cyAqbmdJZj1cInZpZXdOYW1lID09PSAncmVwb3J0cydcIlxuICAgIFtJU1BBWU1FTlRTVEFUVVNFTkFCTEVEXSA9IFwiSVNQQVlNRU5UU1RBVFVTRU5BQkxFRFwiXG4gICAgPjwvY2NwYXktcmVwb3J0cz5cbiAgICBgLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6ICdQQVlNRU5UX0xJQicsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBheW1lbnRMaWJDb21wb25lbnQpIH1dXG59KVxuXG5leHBvcnQgY2xhc3MgUGF5bWVudExpYkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgnQVBJX1JPT1QnKSBBUElfUk9PVDogc3RyaW5nO1xuICBASW5wdXQoJ0JVTEtTQ0FOX0FQSV9ST09UJykgQlVMS1NDQU5fQVBJX1JPT1Q6IHN0cmluZztcbiAgQElucHV0KCdSRUZVTkRTX0FQSV9ST09UJykgUkVGVU5EU19BUElfUk9PVDogc3RyaW5nO1xuICBASW5wdXQoJ05PVElGSUNBVElPTl9BUElfUk9PVCcpIE5PVElGSUNBVElPTl9BUElfUk9PVDogc3RyaW5nO1xuICBASW5wdXQoJ0NBUkRQQVlNRU5UUkVUVVJOVVJMJykgQ0FSRFBBWU1FTlRSRVRVUk5VUkw6IHN0cmluZztcbiAgQElucHV0KCdDQ0RfQ0FTRV9OVU1CRVInKSBDQ0RfQ0FTRV9OVU1CRVI6IHN0cmluZztcbiAgQElucHV0KCdFWENfUkVGRVJFTkNFJykgRVhDX1JFRkVSRU5DRTogc3RyaW5nO1xuICBASW5wdXQoJ1BBWU1FTlRfTUVUSE9EJykgUEFZTUVOVF9NRVRIT0Q6IHN0cmluZztcbiAgQElucHV0KCdWSUVXJykgVklFVzogc3RyaW5nO1xuICBASW5wdXQoJ1ZJRVdTRVJWSUNFJykgVklFV1NFUlZJQ0U6IHN0cmluZztcbiAgQElucHV0KCdQQVlNRU5UX0dST1VQX1JFRicpIFBBWU1FTlRfR1JPVVBfUkVGPzogc3RyaW5nO1xuICBASW5wdXQoJ1RBS0VQQVlNRU5UJykgVEFLRVBBWU1FTlQ6IGJvb2xlYW47XG4gIEBJbnB1dCgnU0VSVklDRVJFUVVFU1QnKSBTRVJWSUNFUkVRVUVTVDogc3RyaW5nO1xuICBASW5wdXQoJ0RDTl9OVU1CRVInKSBEQ05fTlVNQkVSOiBzdHJpbmc7XG4gIEBJbnB1dCgnU0VMRUNURURfT1BUSU9OJykgU0VMRUNURURfT1BUSU9OOiBzdHJpbmc7XG4gIEBJbnB1dCgnSVNCU0VOQUJMRScpIElTQlNFTkFCTEU6IEJvb2xlYW47XG4gIEBJbnB1dCgnSVNTRkVOQUJMRScpIElTU0ZFTkFCTEU6IGJvb2xlYW47XG4gIEBJbnB1dCgnSVNUVVJOT0ZGJykgSVNUVVJOT0ZGOiBib29sZWFuO1xuICBASW5wdXQoJ0NBU0VUWVBFJykgQ0FTRVRZUEU6IHN0cmluZztcbiAgQElucHV0KCdJU1BBWU1FTlRTVEFUVVNFTkFCTEVEJykgSVNQQVlNRU5UU1RBVFVTRU5BQkxFRDogYm9vbGVhbjtcbiAgQElucHV0KCdyb290VXJsJykgcm9vdFVybDogYm9vbGVhbjtcbiAgQElucHV0KCdSRUZVTkRMSVNUJykgUkVGVU5ETElTVDogc3RyaW5nO1xuICBASW5wdXQoJ1VTRVJJRCcpIFVTRVJJRDogc3RyaW5nO1xuICBASW5wdXQoJ0xPR0dFRElOVVNFUlJPTEVTJykgTE9HR0VESU5VU0VSUk9MRVM6IGFueVtdO1xuICBASW5wdXQoJ0xPR0dFRElOVVNFUkVNQUlMJykgTE9HR0VESU5VU0VSRU1BSUw6IHN0cmluZztcbiAgQElucHV0KCdpc0Zyb21TZXJ2aWNlUmVxdWVzdFBhZ2UnKSBpc0Zyb21TZXJ2aWNlUmVxdWVzdFBhZ2U6IGJvb2xlYW47XG5cbiAgcGF5bWVudE1ldGhvZDogc3RyaW5nO1xuICBic3BheW1lbnRkY246IHN0cmluZztcbiAgdW5Qcm9jZXNzZWRQYXltZW50U2VydmljZUlkOiBzdHJpbmcgPSBudWxsO1xuICBwYXltZW50R3JvdXBSZWZlcmVuY2U6IHN0cmluZztcbiAgcGF5bWVudFJlZmVyZW5jZTogc3RyaW5nO1xuICByZWZ1bmRSZWZlcmVuY2U6IHN0cmluZztcbiAgaXNGcm9tUGF5QnViYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIHJlZnVuZGxpc3Rzb3VyY2U6IGFueTtcbiAgdmlld05hbWU6IHN0cmluZztcbiAgaXNUdXJuT2ZmOiBib29sZWFuO1xuICBjYXNlVHlwZTogc3RyaW5nO1xuICB1blByb2Nlc3NlZFBheW1lbnQ6IElCU1BheW1lbnRzID0gbnVsbDtcbiAgaXNSZWZ1bmRTdGF0dXNWaWV3OiBib29sZWFuO1xuICBpc1JlZGlyZWN0RnJvbUNhc2VUcmFuc2FjdGlvblBhZ2U6IHN0cmluZztcbiAgaXNDYWxsRnJvbVJlZnVuZExpc3Q6IGJvb2xlYW47XG4gIGlzRnJvbVJlZnVuZFN0YXR1c1BhZ2U6IGJvb2xlYW47XG4gIGlzY2FuY2VsQ2xpY2tlZDogYm9vbGVhbjtcbiAgaXNGcm9tUGF5bWVudERldGFpbFBhZ2U6IGJvb2xlYW47XG4gIHBiYVBheU9yZGVyUmVmOiBJUGF5bWVudDtcbiAgaXNUYWtlUGF5bWVudDogYm9vbGVhbjtcblxuICBvcmRlckRldGFpbDogYW55W107XG4gIG9yZGVyUmVmOiBzdHJpbmc7XG4gIG9yZGVyU3RhdHVzOiBzdHJpbmc7XG4gIG9yZGVyUGFydHk6IHN0cmluZztcbiAgb3JkZXJDcmVhdGVkOiBEYXRlO1xuICBvcmRlckNDREV2ZW50OiBzdHJpbmc7XG4gIHNlcnZpY2VSZXF1ZXN0VmFsdWU6IHN0cmluZztcbiAgb3JkZXJBZGRCdG5FbmFibGU6IGJvb2xlYW47XG4gIG9yZGVyRmVlc1RvdGFsOiBudW1iZXIgPSAwLjAwO1xuICBvcmRlclJlbWlzc2lvblRvdGFsOiBudW1iZXIgPSAwLjAwO1xuICBvcmRlclRvdGFsUGF5bWVudHM6IG51bWJlciA9IDAuMDA7XG4gIG9yZGVyUGVuZGluZ1BheW1lbnRzOiBudW1iZXIgPSAwLjAwO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGF5bWVudExpYlNlcnZpY2U6IFBheW1lbnRMaWJTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgT3JkZXJzbGlzdFNlcnZpY2U6IE9yZGVyc2xpc3RTZXJ2aWNlKSB7IH1cbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cblxuICBuZ09uSW5pdCgpIHtcblxuICAgIHRoaXMucGF5bWVudExpYlNlcnZpY2Uuc2V0QXBpUm9vdFVybCh0aGlzLkFQSV9ST09UKTtcbiAgICB0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLnNldEJ1bGtTY2FuQXBpUm9vdFVybCh0aGlzLkJVTEtTQ0FOX0FQSV9ST09UKTtcbiAgICB0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLnNldFJlZnVuZG5kc0FwaVJvb3RVcmwodGhpcy5SRUZVTkRTX0FQSV9ST09UKTtcbiAgICB0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLnNldE5vdGljYXRpb25BcGlSb290VXJsKHRoaXMuTk9USUZJQ0FUSU9OX0FQSV9ST09UKTtcbiAgICB0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLnNldENhcmRQYXltZW50UmV0dXJuVXJsKHRoaXMuQ0FSRFBBWU1FTlRSRVRVUk5VUkwpO1xuXG4gICAgaWYgKHRoaXMuTE9HR0VESU5VU0VSUk9MRVMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5zZXRVc2VyUm9sZXNMaXN0KHRoaXMuTE9HR0VESU5VU0VSUk9MRVMpO1xuICAgIH1cbiAgICBpZiAodGhpcy5QQVlNRU5UX0dST1VQX1JFRikge1xuICAgICAgdGhpcy5wYXltZW50R3JvdXBSZWZlcmVuY2UgPSB0aGlzLlBBWU1FTlRfR1JPVVBfUkVGO1xuICAgIH1cbiAgICBpZiAodGhpcy5EQ05fTlVNQkVSKSB7XG4gICAgICB0aGlzLmJzcGF5bWVudGRjbiA9IHRoaXMuRENOX05VTUJFUjtcbiAgICB9XG4gICAgaWYgKHRoaXMuUkVGVU5ETElTVCA9PT0gXCJ0cnVlXCIpIHtcbiAgICAgIHRoaXMuVklFVyA9ICdyZWZ1bmQtbGlzdCc7XG4gICAgICB0aGlzLnZpZXdOYW1lID0gdGhpcy5WSUVXO1xuICAgIH1cbiAgICBpZiAodGhpcy5WSUVXID09PSAnZmVlLXN1bW1hcnknKSB7XG4gICAgICB0aGlzLnZpZXdOYW1lID0gJ2ZlZS1zdW1tYXJ5JztcbiAgICB9IGVsc2UgaWYgKHRoaXMuVklFVyAhPT0gJ3JlcG9ydHMnICYmIHRoaXMuVklFVyAhPT0gJ3JlZnVuZC1saXN0Jykge1xuICAgICAgdGhpcy52aWV3TmFtZSA9ICdjYXNlLXRyYW5zYWN0aW9ucyc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmlld05hbWUgPSB0aGlzLlZJRVc7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNUYWtlUGF5bWVudCkge1xuICAgICAgdGhpcy5UQUtFUEFZTUVOVCA9IHRydWU7XG4gICAgfVxuICAgIGlmICh0aGlzLkFQSV9ST09UID09ICdhcGkvcGF5bWVudC1oaXN0b3J5Jykge1xuICAgICAgdGhpcy5pc0Zyb21QYXlCdWJibGUgPSB0cnVlO1xuICAgIH1cbiAgfVxufVxuIl19
288
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC1saWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcGF5bWVudC1saWIvc3JjL2xpYi9wYXltZW50LWxpYi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTFELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7OztBQStDbEUsTUFBTSxPQUFPLG1CQUFtQjtJQThEVjtJQUNWO0lBQ0E7SUEvRFMsUUFBUSxDQUFTO0lBQ1IsaUJBQWlCLENBQVM7SUFDM0IsZ0JBQWdCLENBQVM7SUFDcEIscUJBQXFCLENBQVM7SUFDL0Isb0JBQW9CLENBQVM7SUFDbEMsZUFBZSxDQUFTO0lBQzFCLGFBQWEsQ0FBUztJQUNyQixjQUFjLENBQVM7SUFDakMsSUFBSSxDQUFTO0lBQ04sV0FBVyxDQUFTO0lBQ2QsaUJBQWlCLENBQVU7SUFDakMsV0FBVyxDQUFVO0lBQ2xCLGNBQWMsQ0FBUztJQUMzQixVQUFVLENBQVM7SUFDZCxlQUFlLENBQVM7SUFDN0IsVUFBVSxDQUFVO0lBQ3BCLFVBQVUsQ0FBVTtJQUNyQixTQUFTLENBQVU7SUFDcEIsUUFBUSxDQUFTO0lBQ0gsc0JBQXNCLENBQVU7SUFDL0MsT0FBTyxDQUFVO0lBQ2QsVUFBVSxDQUFTO0lBQ3ZCLE1BQU0sQ0FBUztJQUNKLGlCQUFpQixDQUFRO0lBQ3pCLGlCQUFpQixDQUFTO0lBQ25CLHdCQUF3QixDQUFVO0lBRXJFLGFBQWEsQ0FBUztJQUN0QixZQUFZLENBQVM7SUFDckIsMkJBQTJCLEdBQVcsSUFBSSxDQUFDO0lBQzNDLHFCQUFxQixDQUFTO0lBQzlCLGdCQUFnQixDQUFTO0lBQ3pCLGVBQWUsQ0FBUztJQUN4QixlQUFlLEdBQVksS0FBSyxDQUFDO0lBQ2pDLGdCQUFnQixDQUFNO0lBQ3RCLFFBQVEsQ0FBUztJQUNqQixTQUFTLENBQVU7SUFDbkIsUUFBUSxDQUFTO0lBQ2pCLGtCQUFrQixHQUFnQixJQUFJLENBQUM7SUFDdkMsa0JBQWtCLENBQVU7SUFDNUIsaUNBQWlDLENBQVM7SUFDMUMsb0JBQW9CLENBQVU7SUFDOUIsc0JBQXNCLENBQVU7SUFDaEMsZUFBZSxDQUFVO0lBQ3pCLHVCQUF1QixDQUFVO0lBQ2pDLGNBQWMsQ0FBVztJQUN6QixhQUFhLENBQVU7SUFFdkIsV0FBVyxDQUFRO0lBQ25CLFFBQVEsQ0FBUztJQUNqQixXQUFXLENBQVM7SUFDcEIsVUFBVSxDQUFTO0lBQ25CLFlBQVksQ0FBTztJQUNuQixhQUFhLENBQVM7SUFDdEIsbUJBQW1CLENBQVM7SUFDNUIsaUJBQWlCLENBQVU7SUFDM0IsY0FBYyxHQUFXLElBQUksQ0FBQztJQUM5QixtQkFBbUIsR0FBVyxJQUFJLENBQUM7SUFDbkMsa0JBQWtCLEdBQVcsSUFBSSxDQUFDO0lBQ2xDLG9CQUFvQixHQUFXLElBQUksQ0FBQztJQUVwQyxZQUFvQixpQkFBb0MsRUFDOUMsRUFBcUIsRUFDckIsaUJBQW9DO1FBRjFCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDOUMsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFDckIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQUFJLENBQUM7SUFDbkQscUJBQXFCO1FBQ25CLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUdELFFBQVE7UUFFTixJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsaUJBQWlCLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFFMUUsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNsRSxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1FBQ3RELENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDdEMsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsSUFBSSxHQUFHLGFBQWEsQ0FBQztZQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDNUIsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxhQUFhLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsUUFBUSxHQUFHLGFBQWEsQ0FBQztRQUNoQyxDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLGFBQWEsRUFBRSxDQUFDO1lBQ2xFLElBQUksQ0FBQyxRQUFRLEdBQUcsbUJBQW1CLENBQUM7UUFDdEMsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDNUIsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQzFCLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUkscUJBQXFCLEVBQUUsQ0FBQztZQUMzQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztRQUM5QixDQUFDO0lBQ0gsQ0FBQzt1R0F6R1UsbUJBQW1COzJGQUFuQixtQkFBbUIsdzRCQUhuQixDQUFDLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQywwQkF0Q2pGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBcUNQOzsyRkFJUSxtQkFBbUI7a0JBM0MvQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQXFDUDtvQkFDSCxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUMsRUFBRSxDQUFDO2lCQUM1RjtzSkFHb0IsUUFBUTtzQkFBMUIsS0FBSzt1QkFBQyxVQUFVO2dCQUNXLGlCQUFpQjtzQkFBNUMsS0FBSzt1QkFBQyxtQkFBbUI7Z0JBQ0MsZ0JBQWdCO3NCQUExQyxLQUFLO3VCQUFDLGtCQUFrQjtnQkFDTyxxQkFBcUI7c0JBQXBELEtBQUs7dUJBQUMsdUJBQXVCO2dCQUNDLG9CQUFvQjtzQkFBbEQsS0FBSzt1QkFBQyxzQkFBc0I7Z0JBQ0gsZUFBZTtzQkFBeEMsS0FBSzt1QkFBQyxpQkFBaUI7Z0JBQ0EsYUFBYTtzQkFBcEMsS0FBSzt1QkFBQyxlQUFlO2dCQUNHLGNBQWM7c0JBQXRDLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQUNSLElBQUk7c0JBQWxCLEtBQUs7dUJBQUMsTUFBTTtnQkFDUyxXQUFXO3NCQUFoQyxLQUFLO3VCQUFDLGFBQWE7Z0JBQ1EsaUJBQWlCO3NCQUE1QyxLQUFLO3VCQUFDLG1CQUFtQjtnQkFDSixXQUFXO3NCQUFoQyxLQUFLO3VCQUFDLGFBQWE7Z0JBQ0ssY0FBYztzQkFBdEMsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBQ0YsVUFBVTtzQkFBOUIsS0FBSzt1QkFBQyxZQUFZO2dCQUNPLGVBQWU7c0JBQXhDLEtBQUs7dUJBQUMsaUJBQWlCO2dCQUNILFVBQVU7c0JBQTlCLEtBQUs7dUJBQUMsWUFBWTtnQkFDRSxVQUFVO3NCQUE5QixLQUFLO3VCQUFDLFlBQVk7Z0JBQ0MsU0FBUztzQkFBNUIsS0FBSzt1QkFBQyxXQUFXO2dCQUNDLFFBQVE7c0JBQTFCLEtBQUs7dUJBQUMsVUFBVTtnQkFDZ0Isc0JBQXNCO3NCQUF0RCxLQUFLO3VCQUFDLHdCQUF3QjtnQkFDYixPQUFPO3NCQUF4QixLQUFLO3VCQUFDLFNBQVM7Z0JBQ0ssVUFBVTtzQkFBOUIsS0FBSzt1QkFBQyxZQUFZO2dCQUNGLE1BQU07c0JBQXRCLEtBQUs7dUJBQUMsUUFBUTtnQkFDYSxpQkFBaUI7c0JBQTVDLEtBQUs7dUJBQUMsbUJBQW1CO2dCQUNFLGlCQUFpQjtzQkFBNUMsS0FBSzt1QkFBQyxtQkFBbUI7Z0JBQ1Msd0JBQXdCO3NCQUExRCxLQUFLO3VCQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBheW1lbnRMaWJTZXJ2aWNlIH0gZnJvbSAnLi9wYXltZW50LWxpYi5zZXJ2aWNlJztcbmltcG9ydCB7IElCU1BheW1lbnRzIH0gZnJvbSAnLi9pbnRlcmZhY2VzL0lCU1BheW1lbnRzJztcbmltcG9ydCB7IE9yZGVyc2xpc3RTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9vcmRlcnNsaXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgSVBheW1lbnQgfSBmcm9tICcuL2ludGVyZmFjZXMvSVBheW1lbnQnO1xuaW1wb3J0IHsgUGF5bWVudFZpZXdDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGF5bWVudC12aWV3L3BheW1lbnQtdmlldy5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY3BheS1wYXltZW50LWxpYicsXG4gIHRlbXBsYXRlOiBgXG4gIDxjY3BheS1yZWZ1bmQtbGlzdCBbVVNFUklEXT1cIlVTRVJJRFwiIFtMT0dHRURJTlVTRVJST0xFU109XCJMT0dHRURJTlVTRVJST0xFU1wiIFtMT0dHRURJTlVTRVJFTUFJTF09XCJMT0dHRURJTlVTRVJFTUFJTFwiICpuZ0lmPVwidmlld05hbWUgPT09ICdyZWZ1bmQtbGlzdCdcIj48L2NjcGF5LXJlZnVuZC1saXN0PlxuICAgIDxjY3BheS1wYXltZW50LWxpc3QgKm5nSWY9XCJ2aWV3TmFtZSA9PT0gJ3BheW1lbnQtbGlzdCdcIj48L2NjcGF5LXBheW1lbnQtbGlzdD5cbiAgICA8Y2NwYXktcmVmdW5kLXN0YXR1c1xuICAgIFtMT0dHRURJTlVTRVJST0xFU109XCJMT0dHRURJTlVTRVJST0xFU1wiXG4gICAgW0FQSV9ST09UXT1cIkFQSV9ST09UXCJcbiAgICAqbmdJZj1cInZpZXdOYW1lID09PSAncmVmdW5kc3RhdHVzbGlzdCdcIj4gPC9jY3BheS1yZWZ1bmQtc3RhdHVzID5cbiAgICA8Y2NwYXktcGF5bWVudC12aWV3IFtMT0dHRURJTlVTRVJST0xFU109XCJMT0dHRURJTlVTRVJST0xFU1wiICpuZ0lmPVwidmlld05hbWUgPT09ICdwYXltZW50LXZpZXcnXCJcbiAgICBbaXNUdXJuT2ZmXT1cIklTVFVSTk9GRlwiIFtpc1Rha2VQYXltZW50XT1cIlRBS0VQQVlNRU5UXCIgIFtjYXNlVHlwZV09XCJDQVNFVFlQRVwiXG4gICAgW0lTUEFZTUVOVFNUQVRVU0VOQUJMRURdID0gXCJJU1BBWU1FTlRTVEFUVVNFTkFCTEVEXCJcbiAgICA+PC9jY3BheS1wYXltZW50LXZpZXc+XG5cbiAgICA8Y2NwYXktcHJvY2Vzcy1yZWZ1bmQgKm5nSWY9XCJ2aWV3TmFtZSA9PT0gJ3Byb2Nlc3MtcmVmdW5kJ1wiXG4gICAgW3JlZnVuZFJlZmVyZW5jZV09XCJyZWZ1bmRSZWZlcmVuY2VcIlxuICAgIFtyZWZ1bmRsaXN0c291cmNlXT1cInJlZnVuZGxpc3Rzb3VyY2VcIlxuICAgID48L2NjcGF5LXByb2Nlc3MtcmVmdW5kPlxuICAgIDxjY3BheS1wYmEtcGF5bWVudCAqbmdJZj1cInZpZXdOYW1lID09PSAncGJhLXBheW1lbnQnXCJcbiAgICBbcGJhUGF5T3JkZXJSZWZdPVwicGJhUGF5T3JkZXJSZWZcIlxuICAgID48L2NjcGF5LXBiYS1wYXltZW50PlxuICAgIDxjY3BheS1jYXNlLXRyYW5zYWN0aW9ucyBbaXNUYWtlUGF5bWVudF09XCJpc1Rha2VQYXltZW50XCIgW2lzRnJvbVNlcnZpY2VSZXF1ZXN0UGFnZV09XCJpc0Zyb21TZXJ2aWNlUmVxdWVzdFBhZ2VcIiBbTE9HR0VESU5VU0VSUk9MRVNdPVwiTE9HR0VESU5VU0VSUk9MRVNcIiAqbmdJZj1cInZpZXdOYW1lID09PSAnY2FzZS10cmFuc2FjdGlvbnMnXCI+PC9jY3BheS1jYXNlLXRyYW5zYWN0aW9ucz5cbiAgICA8YXBwLW1hcmstdW5pZGVudGlmaWVkLXBheW1lbnQgKm5nSWY9XCJ2aWV3TmFtZSA9PT0gJ3VuaWRlbnRpZmllZFBhZ2UnXCJcbiAgICBbY2FzZVR5cGVdPVwiQ0FTRVRZUEVcIj48L2FwcC1tYXJrLXVuaWRlbnRpZmllZC1wYXltZW50PlxuICAgIDxhcHAtbWFyay11bnNvbGljaXRlZC1wYXltZW50ICpuZ0lmPVwidmlld05hbWUgPT09ICd1bnNvbGljaXRlZFBhZ2UnXCJcbiAgICBbY2FzZVR5cGVdPVwiQ0FTRVRZUEVcIj48L2FwcC1tYXJrLXVuc29saWNpdGVkLXBheW1lbnQ+XG4gICAgPGFwcC1hbGxvY2F0ZS1wYXltZW50cyAqbmdJZj1cInZpZXdOYW1lID09PSAnYWxsb2NhdGUtcGF5bWVudHMnXCJcbiAgICBbaXNUdXJuT2ZmXT1cIklTVFVSTk9GRlwiXG4gICAgW2Nhc2VUeXBlXT1cIkNBU0VUWVBFXCJcbiAgICA+PC9hcHAtYWxsb2NhdGUtcGF5bWVudHM+XG4gICAgPGNjcGF5LWZlZS1zdW1tYXJ5ICpuZ0lmPVwidmlld05hbWUgPT09ICdmZWUtc3VtbWFyeSdcIlxuICAgICAgW2NjZENhc2VOdW1iZXJdPVwiQ0NEX0NBU0VfTlVNQkVSXCJcbiAgICAgIFtwYXltZW50R3JvdXBSZWZdPVwicGF5bWVudEdyb3VwUmVmZXJlbmNlXCJcbiAgICAgIFtpc1R1cm5PZmZdPVwiSVNUVVJOT0ZGXCJcbiAgICAgIFtjYXNlVHlwZV09XCJDQVNFVFlQRVwiXG4gICAgICA+PC9jY3BheS1mZWUtc3VtbWFyeT5cbiAgICA8Y2NwYXktcmVwb3J0cyAqbmdJZj1cInZpZXdOYW1lID09PSAncmVwb3J0cydcIlxuICAgIFtJU1BBWU1FTlRTVEFUVVNFTkFCTEVEXSA9IFwiSVNQQVlNRU5UU1RBVFVTRU5BQkxFRFwiXG4gICAgPjwvY2NwYXktcmVwb3J0cz5cbiAgICBgLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6ICdQQVlNRU5UX0xJQicsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBheW1lbnRMaWJDb21wb25lbnQpIH1dXG59KVxuXG5leHBvcnQgY2xhc3MgUGF5bWVudExpYkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgnQVBJX1JPT1QnKSBBUElfUk9PVDogc3RyaW5nO1xuICBASW5wdXQoJ0JVTEtTQ0FOX0FQSV9ST09UJykgQlVMS1NDQU5fQVBJX1JPT1Q6IHN0cmluZztcbiAgQElucHV0KCdSRUZVTkRTX0FQSV9ST09UJykgUkVGVU5EU19BUElfUk9PVDogc3RyaW5nO1xuICBASW5wdXQoJ05PVElGSUNBVElPTl9BUElfUk9PVCcpIE5PVElGSUNBVElPTl9BUElfUk9PVDogc3RyaW5nO1xuICBASW5wdXQoJ0NBUkRQQVlNRU5UUkVUVVJOVVJMJykgQ0FSRFBBWU1FTlRSRVRVUk5VUkw6IHN0cmluZztcbiAgQElucHV0KCdDQ0RfQ0FTRV9OVU1CRVInKSBDQ0RfQ0FTRV9OVU1CRVI6IHN0cmluZztcbiAgQElucHV0KCdFWENfUkVGRVJFTkNFJykgRVhDX1JFRkVSRU5DRTogc3RyaW5nO1xuICBASW5wdXQoJ1BBWU1FTlRfTUVUSE9EJykgUEFZTUVOVF9NRVRIT0Q6IHN0cmluZztcbiAgQElucHV0KCdWSUVXJykgVklFVzogc3RyaW5nO1xuICBASW5wdXQoJ1ZJRVdTRVJWSUNFJykgVklFV1NFUlZJQ0U6IHN0cmluZztcbiAgQElucHV0KCdQQVlNRU5UX0dST1VQX1JFRicpIFBBWU1FTlRfR1JPVVBfUkVGPzogc3RyaW5nO1xuICBASW5wdXQoJ1RBS0VQQVlNRU5UJykgVEFLRVBBWU1FTlQ6IGJvb2xlYW47XG4gIEBJbnB1dCgnU0VSVklDRVJFUVVFU1QnKSBTRVJWSUNFUkVRVUVTVDogc3RyaW5nO1xuICBASW5wdXQoJ0RDTl9OVU1CRVInKSBEQ05fTlVNQkVSOiBzdHJpbmc7XG4gIEBJbnB1dCgnU0VMRUNURURfT1BUSU9OJykgU0VMRUNURURfT1BUSU9OOiBzdHJpbmc7XG4gIEBJbnB1dCgnSVNCU0VOQUJMRScpIElTQlNFTkFCTEU6IEJvb2xlYW47XG4gIEBJbnB1dCgnSVNTRkVOQUJMRScpIElTU0ZFTkFCTEU6IGJvb2xlYW47XG4gIEBJbnB1dCgnSVNUVVJOT0ZGJykgSVNUVVJOT0ZGOiBib29sZWFuO1xuICBASW5wdXQoJ0NBU0VUWVBFJykgQ0FTRVRZUEU6IHN0cmluZztcbiAgQElucHV0KCdJU1BBWU1FTlRTVEFUVVNFTkFCTEVEJykgSVNQQVlNRU5UU1RBVFVTRU5BQkxFRDogYm9vbGVhbjtcbiAgQElucHV0KCdyb290VXJsJykgcm9vdFVybDogYm9vbGVhbjtcbiAgQElucHV0KCdSRUZVTkRMSVNUJykgUkVGVU5ETElTVDogc3RyaW5nO1xuICBASW5wdXQoJ1VTRVJJRCcpIFVTRVJJRDogc3RyaW5nO1xuICBASW5wdXQoJ0xPR0dFRElOVVNFUlJPTEVTJykgTE9HR0VESU5VU0VSUk9MRVM6IGFueVtdO1xuICBASW5wdXQoJ0xPR0dFRElOVVNFUkVNQUlMJykgTE9HR0VESU5VU0VSRU1BSUw6IHN0cmluZztcbiAgQElucHV0KCdpc0Zyb21TZXJ2aWNlUmVxdWVzdFBhZ2UnKSBpc0Zyb21TZXJ2aWNlUmVxdWVzdFBhZ2U6IGJvb2xlYW47XG5cbiAgcGF5bWVudE1ldGhvZDogc3RyaW5nO1xuICBic3BheW1lbnRkY246IHN0cmluZztcbiAgdW5Qcm9jZXNzZWRQYXltZW50U2VydmljZUlkOiBzdHJpbmcgPSBudWxsO1xuICBwYXltZW50R3JvdXBSZWZlcmVuY2U6IHN0cmluZztcbiAgcGF5bWVudFJlZmVyZW5jZTogc3RyaW5nO1xuICByZWZ1bmRSZWZlcmVuY2U6IHN0cmluZztcbiAgaXNGcm9tUGF5QnViYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIHJlZnVuZGxpc3Rzb3VyY2U6IGFueTtcbiAgdmlld05hbWU6IHN0cmluZztcbiAgaXNUdXJuT2ZmOiBib29sZWFuO1xuICBjYXNlVHlwZTogc3RyaW5nO1xuICB1blByb2Nlc3NlZFBheW1lbnQ6IElCU1BheW1lbnRzID0gbnVsbDtcbiAgaXNSZWZ1bmRTdGF0dXNWaWV3OiBib29sZWFuO1xuICBpc1JlZGlyZWN0RnJvbUNhc2VUcmFuc2FjdGlvblBhZ2U6IHN0cmluZztcbiAgaXNDYWxsRnJvbVJlZnVuZExpc3Q6IGJvb2xlYW47XG4gIGlzRnJvbVJlZnVuZFN0YXR1c1BhZ2U6IGJvb2xlYW47XG4gIGlzY2FuY2VsQ2xpY2tlZDogYm9vbGVhbjtcbiAgaXNGcm9tUGF5bWVudERldGFpbFBhZ2U6IGJvb2xlYW47XG4gIHBiYVBheU9yZGVyUmVmOiBJUGF5bWVudDtcbiAgaXNUYWtlUGF5bWVudDogYm9vbGVhbjtcblxuICBvcmRlckRldGFpbDogYW55W107XG4gIG9yZGVyUmVmOiBzdHJpbmc7XG4gIG9yZGVyU3RhdHVzOiBzdHJpbmc7XG4gIG9yZGVyUGFydHk6IHN0cmluZztcbiAgb3JkZXJDcmVhdGVkOiBEYXRlO1xuICBvcmRlckNDREV2ZW50OiBzdHJpbmc7XG4gIHNlcnZpY2VSZXF1ZXN0VmFsdWU6IHN0cmluZztcbiAgb3JkZXJBZGRCdG5FbmFibGU6IGJvb2xlYW47XG4gIG9yZGVyRmVlc1RvdGFsOiBudW1iZXIgPSAwLjAwO1xuICBvcmRlclJlbWlzc2lvblRvdGFsOiBudW1iZXIgPSAwLjAwO1xuICBvcmRlclRvdGFsUGF5bWVudHM6IG51bWJlciA9IDAuMDA7XG4gIG9yZGVyUGVuZGluZ1BheW1lbnRzOiBudW1iZXIgPSAwLjAwO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGF5bWVudExpYlNlcnZpY2U6IFBheW1lbnRMaWJTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgT3JkZXJzbGlzdFNlcnZpY2U6IE9yZGVyc2xpc3RTZXJ2aWNlKSB7IH1cbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cblxuICBuZ09uSW5pdCgpIHtcblxuICAgIHRoaXMucGF5bWVudExpYlNlcnZpY2Uuc2V0QXBpUm9vdFVybCh0aGlzLkFQSV9ST09UKTtcbiAgICB0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLnNldEJ1bGtTY2FuQXBpUm9vdFVybCh0aGlzLkJVTEtTQ0FOX0FQSV9ST09UKTtcbiAgICB0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLnNldFJlZnVuZG5kc0FwaVJvb3RVcmwodGhpcy5SRUZVTkRTX0FQSV9ST09UKTtcbiAgICB0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLnNldE5vdGljYXRpb25BcGlSb290VXJsKHRoaXMuTk9USUZJQ0FUSU9OX0FQSV9ST09UKTtcbiAgICB0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLnNldENhcmRQYXltZW50UmV0dXJuVXJsKHRoaXMuQ0FSRFBBWU1FTlRSRVRVUk5VUkwpO1xuXG4gICAgaWYgKHRoaXMuTE9HR0VESU5VU0VSUk9MRVMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5zZXRVc2VyUm9sZXNMaXN0KHRoaXMuTE9HR0VESU5VU0VSUk9MRVMpO1xuICAgIH1cbiAgICBpZiAodGhpcy5QQVlNRU5UX0dST1VQX1JFRikge1xuICAgICAgdGhpcy5wYXltZW50R3JvdXBSZWZlcmVuY2UgPSB0aGlzLlBBWU1FTlRfR1JPVVBfUkVGO1xuICAgIH1cbiAgICBpZiAodGhpcy5EQ05fTlVNQkVSKSB7XG4gICAgICB0aGlzLmJzcGF5bWVudGRjbiA9IHRoaXMuRENOX05VTUJFUjtcbiAgICB9XG4gICAgaWYgKHRoaXMuUkVGVU5ETElTVCA9PT0gXCJ0cnVlXCIpIHtcbiAgICAgIHRoaXMuVklFVyA9ICdyZWZ1bmQtbGlzdCc7XG4gICAgICB0aGlzLnZpZXdOYW1lID0gdGhpcy5WSUVXO1xuICAgIH1cbiAgICBpZiAodGhpcy5WSUVXID09PSAnZmVlLXN1bW1hcnknKSB7XG4gICAgICB0aGlzLnZpZXdOYW1lID0gJ2ZlZS1zdW1tYXJ5JztcbiAgICB9IGVsc2UgaWYgKHRoaXMuVklFVyAhPT0gJ3JlcG9ydHMnICYmIHRoaXMuVklFVyAhPT0gJ3JlZnVuZC1saXN0Jykge1xuICAgICAgdGhpcy52aWV3TmFtZSA9ICdjYXNlLXRyYW5zYWN0aW9ucyc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmlld05hbWUgPSB0aGlzLlZJRVc7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNUYWtlUGF5bWVudCkge1xuICAgICAgdGhpcy5UQUtFUEFZTUVOVCA9IHRydWU7XG4gICAgfVxuICAgIGlmICh0aGlzLkFQSV9ST09UID09ICdhcGkvcGF5bWVudC1oaXN0b3J5Jykge1xuICAgICAgdGhpcy5pc0Zyb21QYXlCdWJibGUgPSB0cnVlO1xuICAgIH1cbiAgfVxufVxuIl19