@vendasta/billing 9.4.0 → 9.7.0

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 (49) hide show
  1. package/esm2020/lib/_internal/enums/fee.enum.mjs +18 -0
  2. package/esm2020/lib/_internal/enums/index.mjs +4 -2
  3. package/esm2020/lib/_internal/enums/merchant.enum.mjs +7 -1
  4. package/esm2020/lib/_internal/enums/report-run.enum.mjs +19 -0
  5. package/esm2020/lib/_internal/interfaces/fee.interface.mjs +8 -0
  6. package/esm2020/lib/_internal/interfaces/index.mjs +1 -1
  7. package/esm2020/lib/_internal/interfaces/invoice.interface.mjs +1 -1
  8. package/esm2020/lib/_internal/interfaces/merchant.interface.mjs +1 -1
  9. package/esm2020/lib/_internal/interfaces/pricing-plan.interface.mjs +1 -1
  10. package/esm2020/lib/_internal/interfaces/product-pricing.interface.mjs +1 -1
  11. package/esm2020/lib/_internal/interfaces/recurring-invoice.interface.mjs +1 -1
  12. package/esm2020/lib/_internal/interfaces/report-run.interface.mjs +8 -0
  13. package/esm2020/lib/_internal/invoice.api.service.mjs +7 -2
  14. package/esm2020/lib/_internal/merchant.api.service.mjs +12 -2
  15. package/esm2020/lib/_internal/objects/fee.mjs +40 -0
  16. package/esm2020/lib/_internal/objects/index.mjs +5 -3
  17. package/esm2020/lib/_internal/objects/invoice.mjs +82 -1
  18. package/esm2020/lib/_internal/objects/merchant.mjs +19 -1
  19. package/esm2020/lib/_internal/objects/pricing-plan.mjs +8 -1
  20. package/esm2020/lib/_internal/objects/product-pricing.mjs +8 -1
  21. package/esm2020/lib/_internal/objects/recurring-invoice.mjs +30 -1
  22. package/esm2020/lib/_internal/objects/report-run.mjs +110 -0
  23. package/fesm2015/vendasta-billing.mjs +484 -138
  24. package/fesm2015/vendasta-billing.mjs.map +1 -1
  25. package/fesm2020/vendasta-billing.mjs +484 -138
  26. package/fesm2020/vendasta-billing.mjs.map +1 -1
  27. package/lib/_internal/enums/fee.enum.d.ts +9 -0
  28. package/lib/_internal/enums/index.d.ts +3 -1
  29. package/lib/_internal/enums/merchant.enum.d.ts +5 -0
  30. package/lib/_internal/enums/report-run.enum.d.ts +10 -0
  31. package/lib/_internal/interfaces/fee.interface.d.ts +6 -0
  32. package/lib/_internal/interfaces/index.d.ts +4 -2
  33. package/lib/_internal/interfaces/invoice.interface.d.ts +14 -0
  34. package/lib/_internal/interfaces/merchant.interface.d.ts +3 -0
  35. package/lib/_internal/interfaces/pricing-plan.interface.d.ts +2 -0
  36. package/lib/_internal/interfaces/product-pricing.interface.d.ts +2 -0
  37. package/lib/_internal/interfaces/recurring-invoice.interface.d.ts +4 -0
  38. package/lib/_internal/interfaces/report-run.interface.d.ts +18 -0
  39. package/lib/_internal/invoice.api.service.d.ts +3 -2
  40. package/lib/_internal/merchant.api.service.d.ts +4 -2
  41. package/lib/_internal/objects/fee.d.ts +11 -0
  42. package/lib/_internal/objects/index.d.ts +4 -2
  43. package/lib/_internal/objects/invoice.d.ts +23 -0
  44. package/lib/_internal/objects/merchant.d.ts +3 -0
  45. package/lib/_internal/objects/pricing-plan.d.ts +2 -0
  46. package/lib/_internal/objects/product-pricing.d.ts +2 -0
  47. package/lib/_internal/objects/recurring-invoice.d.ts +7 -0
  48. package/lib/_internal/objects/report-run.d.ts +29 -0
  49. package/package.json +1 -1
@@ -5,7 +5,7 @@
5
5
  // API Service.
6
6
  // *********************************
7
7
  import { Injectable } from '@angular/core';
8
- import { ChargeSalesInvoiceRequest, CreateMerchantRequest, CreatePaymentCardRequest, CreateStripeExternalAccountRequest, DeleteBankAccountRequest, GetMerchantRequest, GetMerchantResponse, GetMultiRetailConfigurationsRequest, GetMultiRetailConfigurationsResponse, GetOutstandingBalanceRequest, GetOutstandingBalanceResponse, GetPayoutSummaryRequest, GetPayoutSummaryResponse, GetRetailBalanceRequest, GetRetailBalanceResponse, GetRetailPayoutRequest, GetRetailPayoutResponse, GetStatisticsRequest, GetStatisticsResponse, ListBankAccountsRequest, ListBankAccountsResponse, ListPaymentCardsRequest, ListPaymentCardsResponse, ListRetailPayoutsRequest, ListRetailPayoutsResponse, SearchMerchantsRequest, SearchMerchantsResponse, SendSalesInvoiceEmailRequest, SendSalesInvoiceReceiptEmailRequest, SetAutoChargeInvoicesRequest, SetAutoPostInvoicesRequest, SetDefaultBankAccountRequest, SetDefaultPaymentCardRequest, SetHasAlternativePaymentMethodRequest, SetIncludeInFinancialRecordsRequest, UpdateMerchantRequest, UpdatePaymentCardRequest, UpsertDefaultRetailCustomerConfigurationRequest, UpsertRetailConfigurationRequest, } from './objects/';
8
+ import { ChargeSalesInvoiceRequest, CreateMerchantRequest, CreateMerchantServicesReportRun, CreatePaymentCardRequest, CreateStripeExternalAccountRequest, DeleteBankAccountRequest, GetMerchantRequest, GetMerchantResponse, GetMerchantServicesReportRun, GetMultiRetailConfigurationsRequest, GetMultiRetailConfigurationsResponse, GetOutstandingBalanceRequest, GetOutstandingBalanceResponse, GetPayoutSummaryRequest, GetPayoutSummaryResponse, GetRetailBalanceRequest, GetRetailBalanceResponse, GetRetailPayoutRequest, GetRetailPayoutResponse, GetStatisticsRequest, GetStatisticsResponse, ListBankAccountsRequest, ListBankAccountsResponse, ListPaymentCardsRequest, ListPaymentCardsResponse, ListRetailPayoutsRequest, ListRetailPayoutsResponse, MerchantServicesReportRun, SearchMerchantsRequest, SearchMerchantsResponse, SendSalesInvoiceEmailRequest, SendSalesInvoiceReceiptEmailRequest, SetAutoChargeInvoicesRequest, SetAutoPostInvoicesRequest, SetDefaultBankAccountRequest, SetDefaultPaymentCardRequest, SetHasAlternativePaymentMethodRequest, SetIncludeInFinancialRecordsRequest, UpdateMerchantRequest, UpdatePaymentCardRequest, UpsertDefaultRetailCustomerConfigurationRequest, UpsertRetailConfigurationRequest, } from './objects/';
9
9
  import { HttpHeaders, HttpClient } from '@angular/common/http';
10
10
  import { HostService } from '../_generated/host.service';
11
11
  import { map } from 'rxjs/operators';
@@ -149,6 +149,16 @@ export class MerchantApiService {
149
149
  return this.http.post(this._host + "/billing.v1.MerchantService/GetRetailPayout", request.toApiJson(), this.apiOptions())
150
150
  .pipe(map(resp => GetRetailPayoutResponse.fromProto(resp)));
151
151
  }
152
+ createReportRun(r) {
153
+ const request = (r.toApiJson) ? r : new CreateMerchantServicesReportRun(r);
154
+ return this.http.post(this._host + "/billing.v1.MerchantService/CreateReportRun", request.toApiJson(), this.apiOptions())
155
+ .pipe(map(resp => MerchantServicesReportRun.fromProto(resp)));
156
+ }
157
+ getReportRun(r) {
158
+ const request = (r.toApiJson) ? r : new GetMerchantServicesReportRun(r);
159
+ return this.http.post(this._host + "/billing.v1.MerchantService/GetReportRun", request.toApiJson(), this.apiOptions())
160
+ .pipe(map(resp => MerchantServicesReportRun.fromProto(resp)));
161
+ }
152
162
  }
153
163
  MerchantApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MerchantApiService, deps: [{ token: i1.HttpClient }, { token: i2.HostService }], target: i0.ɵɵFactoryTarget.Injectable });
154
164
  MerchantApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MerchantApiService, providedIn: 'root' });
@@ -156,4 +166,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
156
166
  type: Injectable,
157
167
  args: [{ providedIn: 'root' }]
158
168
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.HostService }]; } });
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVyY2hhbnQuYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9iaWxsaW5nX3Nkay9zcmMvbGliL19pbnRlcm5hbC9tZXJjaGFudC5hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7QUFDcEMsMkJBQTJCO0FBQzNCLGdCQUFnQjtBQUNoQixFQUFFO0FBQ0YsZUFBZTtBQUNmLG9DQUFvQztBQUNwQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDQyx5QkFBeUIsRUFDekIscUJBQXFCLEVBQ3JCLHdCQUF3QixFQUN4QixrQ0FBa0MsRUFDbEMsd0JBQXdCLEVBQ3hCLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsbUNBQW1DLEVBQ25DLG9DQUFvQyxFQUNwQyw0QkFBNEIsRUFDNUIsNkJBQTZCLEVBQzdCLHVCQUF1QixFQUN2Qix3QkFBd0IsRUFDeEIsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4QixzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4Qix1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQ3hCLHdCQUF3QixFQUN4Qix5QkFBeUIsRUFDekIsc0JBQXNCLEVBQ3RCLHVCQUF1QixFQUN2Qiw0QkFBNEIsRUFDNUIsbUNBQW1DLEVBQ25DLDRCQUE0QixFQUM1QiwwQkFBMEIsRUFDMUIsNEJBQTRCLEVBQzVCLDRCQUE0QixFQUM1QixxQ0FBcUMsRUFDckMsbUNBQW1DLEVBQ25DLHFCQUFxQixFQUNyQix3QkFBd0IsRUFDeEIsK0NBQStDLEVBQy9DLGdDQUFnQyxHQUN2QyxNQUFNLFlBQVksQ0FBQztBQTBDcEIsT0FBTyxFQUFDLFdBQVcsRUFBRSxVQUFVLEVBQWUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1B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LENBQUMsQ0FBQyxDQUFDLENBQTRCLENBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1SCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFxQyxJQUFJLENBQUMsS0FBSyxHQUFHLCtDQUErQyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7YUFDMUosSUFBSSxDQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUN6RCxDQUFDO0lBQ1YsQ0FBQztJQUNELGVBQWUsQ0FBQyxDQUEyRDtRQUN2RSxNQUFNLE9BQU8sR0FBRyxDQUEwQixDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUEwQixDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEgsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBbUMsSUFBSSxDQUFDLEtBQUssR0FBRyw2Q0FBNkMsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ3RKLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDdkQsQ0FBQztJQUNWLENBQUM7OytHQS9KUSxrQkFBa0I7bUhBQWxCLGtCQUFrQixjQUROLE1BQU07MkZBQ2xCLGtCQUFrQjtrQkFEOUIsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIEFQSSBTZXJ2aWNlLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICAgICAgQ2hhcmdlU2FsZXNJbnZvaWNlUmVxdWVzdCxcbiAgICAgICAgQ3JlYXRlTWVyY2hhbnRSZXF1ZXN0LFxuICAgICAgICBDcmVhdGVQYXltZW50Q2FyZFJlcXVlc3QsXG4gICAgICAgIENyZWF0ZVN0cmlwZUV4dGVybmFsQWNjb3VudFJlcXVlc3QsXG4gICAgICAgIERlbGV0ZUJhbmtBY2NvdW50UmVxdWVzdCxcbiAgICAgICAgR2V0TWVyY2hhbnRSZXF1ZXN0LFxuICAgICAgICBHZXRNZXJjaGFudFJlc3BvbnNlLFxuICAgICAgICBHZXRNdWx0aVJldGFpbENvbmZpZ3VyYXRpb25zUmVxdWVzdCxcbiAgICAgICAgR2V0TXVsdGlSZXRhaWxDb25maWd1cmF0aW9uc1Jlc3BvbnNlLFxuICAgICAgICBHZXRPdXRzdGFuZGluZ0JhbGFuY2VSZXF1ZXN0LFxuICAgICAgICBHZXRPdXRzdGFuZGluZ0JhbGFuY2VSZXNwb25zZSxcbiAgICAgICAgR2V0UGF5b3V0U3VtbWFyeVJlcXVlc3QsXG4gICAgICAgIEdldFBheW91dFN1bW1hcnlSZXNwb25zZSxcbiAgICAgICAgR2V0UmV0YWlsQmFsYW5jZVJlcXVlc3QsXG4gICAgICAgIEdldFJldGFpbEJhbGFuY2VSZXNwb25zZSxcbiAgICAgICAgR2V0UmV0YWlsUGF5b3V0UmVxdWVzdCxcbiAgICAgICAgR2V0UmV0YWlsUGF5b3V0UmVzcG9uc2UsXG4gICAgICAgIEdldFN0YXRpc3RpY3NSZXF1ZXN0LFxuICAgICAgICBHZXRTdGF0aXN0aWNzUmVzcG9uc2UsXG4gICAgICAgIExpc3RCYW5rQWNjb3VudHNSZXF1ZXN0LFxuICAgICAgICBMaXN0QmFua0FjY291bnRzUmVzcG9uc2UsXG4gICAgICAgIExpc3RQYXltZW50Q2FyZHNSZXF1ZXN0LFxuICAgICAgICBMaXN0UGF5bWVudENhcmRzUmVzcG9uc2UsXG4gICAgICAgIExpc3RSZXRhaWxQYXlvdXRzUmVxdWVzdCxcbiAgICAgICAgTGlzdFJldGFpbFBheW91dHNSZXNwb25zZSxcbiAgICAgICAgU2VhcmNoTWVyY2hhbnRzUmVxdWVzdCxcbiAgICAgICAgU2VhcmNoTWVyY2hhbnRzUmVzcG9uc2UsXG4gICAgICAgIFNlbmRTYWxlc0ludm9pY2VFbWFpbFJlcXVlc3QsXG4gICAgICAgIFNlbmRTYWxlc0ludm9pY2VSZWNlaXB0RW1haWxSZXF1ZXN0LFxuICAgICAgICBTZXRBdXRvQ2hhcmdlSW52b2ljZXNSZXF1ZXN0LFxuICAgICAgICBTZXRBdXRvUG9zdEludm9pY2VzUmVxdWVzdCxcbiAgICAgICAgU2V0RGVmYXVsdEJhbmtBY2NvdW50UmVxdWVzdCxcbiAgICAgICAgU2V0RGVmYXVsdFBheW1lbnRDYXJkUmVxdWVzdCxcbiAgICAgICAgU2V0SGFzQWx0ZXJuYXRpdmVQYXltZW50TWV0aG9kUmVxdWVzdCxcbiAgICAgICAgU2V0SW5jbHVkZUluRmluYW5jaWFsUmVjb3Jkc1JlcXVlc3QsXG4gICAgICAgIFVwZGF0ZU1lcmNoYW50UmVxdWVzdCxcbiAgICAgICAgVXBkYXRlUGF5bWVudENhcmRSZXF1ZXN0LFxuICAgICAgICBVcHNlcnREZWZhdWx0UmV0YWlsQ3VzdG9tZXJDb25maWd1cmF0aW9uUmVxdWVzdCxcbiAgICAgICAgVXBzZXJ0UmV0YWlsQ29uZmlndXJhdGlvblJlcXVlc3QsXG59IGZyb20gJy4vb2JqZWN0cy8nO1xuaW1wb3J0IHtcbiAgICAgICAgQ2hhcmdlU2FsZXNJbnZvaWNlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlTWVyY2hhbnRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBDcmVhdGVQYXltZW50Q2FyZFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIENyZWF0ZVN0cmlwZUV4dGVybmFsQWNjb3VudFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIERlbGV0ZUJhbmtBY2NvdW50UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0TWVyY2hhbnRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRNZXJjaGFudFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aVJldGFpbENvbmZpZ3VyYXRpb25zUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0TXVsdGlSZXRhaWxDb25maWd1cmF0aW9uc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRPdXRzdGFuZGluZ0JhbGFuY2VSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRPdXRzdGFuZGluZ0JhbGFuY2VSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0UGF5b3V0U3VtbWFyeVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldFBheW91dFN1bW1hcnlSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0UmV0YWlsQmFsYW5jZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldFJldGFpbEJhbGFuY2VSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0UmV0YWlsUGF5b3V0UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0UmV0YWlsUGF5b3V0UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldFN0YXRpc3RpY3NSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRTdGF0aXN0aWNzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIExpc3RCYW5rQWNjb3VudHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBMaXN0QmFua0FjY291bnRzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIExpc3RQYXltZW50Q2FyZHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBMaXN0UGF5bWVudENhcmRzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIExpc3RSZXRhaWxQYXlvdXRzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTGlzdFJldGFpbFBheW91dHNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgU2VhcmNoTWVyY2hhbnRzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgU2VhcmNoTWVyY2hhbnRzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIFNlbmRTYWxlc0ludm9pY2VFbWFpbFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFNlbmRTYWxlc0ludm9pY2VSZWNlaXB0RW1haWxSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBTZXRBdXRvQ2hhcmdlSW52b2ljZXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBTZXRBdXRvUG9zdEludm9pY2VzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgU2V0RGVmYXVsdEJhbmtBY2NvdW50UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgU2V0RGVmYXVsdFBheW1lbnRDYXJkUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgU2V0SGFzQWx0ZXJuYXRpdmVQYXltZW50TWV0aG9kUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgU2V0SW5jbHVkZUluRmluYW5jaWFsUmVjb3Jkc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFVwZGF0ZU1lcmNoYW50UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgVXBkYXRlUGF5bWVudENhcmRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBVcHNlcnREZWZhdWx0UmV0YWlsQ3VzdG9tZXJDb25maWd1cmF0aW9uUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgVXBzZXJ0UmV0YWlsQ29uZmlndXJhdGlvblJlcXVlc3RJbnRlcmZhY2UsXG59IGZyb20gJy4vaW50ZXJmYWNlcy8nO1xuaW1wb3J0IHtIdHRwSGVhZGVycywgSHR0cENsaWVudCwgSHR0cFJlc3BvbnNlfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge0hvc3RTZXJ2aWNlfSBmcm9tICcuLi9fZ2VuZXJhdGVkL2hvc3Quc2VydmljZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgTWVyY2hhbnRBcGlTZXJ2aWNlIHtcbiAgICBwcml2YXRlIF9ob3N0ID0gdGhpcy5ob3N0U2VydmljZS5ob3N0V2l0aFNjaGVtZTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBob3N0U2VydmljZTogSG9zdFNlcnZpY2UpIHtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFwaU9wdGlvbnMoKToge2hlYWRlcnM6IEh0dHBIZWFkZXJzLCB3aXRoQ3JlZGVudGlhbHM6IGJvb2xlYW59IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBjcmVhdGUocjogQ3JlYXRlTWVyY2hhbnRSZXF1ZXN0IHwgQ3JlYXRlTWVyY2hhbnRSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENyZWF0ZU1lcmNoYW50UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxDcmVhdGVNZXJjaGFudFJlcXVlc3Q+cikgOiBuZXcgQ3JlYXRlTWVyY2hhbnRSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuTWVyY2hhbnRTZXJ2aWNlL0NyZWF0ZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgZ2V0KHI6IEdldE1lcmNoYW50UmVxdWVzdCB8IEdldE1lcmNoYW50UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0TWVyY2hhbnRSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0TWVyY2hhbnRSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldE1lcmNoYW50UmVxdWVzdD5yKSA6IG5ldyBHZXRNZXJjaGFudFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRNZXJjaGFudFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5NZXJjaGFudFNlcnZpY2UvR2V0XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0TWVyY2hhbnRSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRPdXRzdGFuZGluZ0JhbGFuY2UocjogR2V0T3V0c3RhbmRpbmdCYWxhbmNlUmVxdWVzdCB8IEdldE91dHN0YW5kaW5nQmFsYW5jZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldE91dHN0YW5kaW5nQmFsYW5jZVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRPdXRzdGFuZGluZ0JhbGFuY2VSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldE91dHN0YW5kaW5nQmFsYW5jZVJlcXVlc3Q+cikgOiBuZXcgR2V0T3V0c3RhbmRpbmdCYWxhbmNlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldE91dHN0YW5kaW5nQmFsYW5jZVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5NZXJjaGFudFNlcnZpY2UvR2V0T3V0c3RhbmRpbmdCYWxhbmNlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0T3V0c3RhbmRpbmdCYWxhbmNlUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgdXBkYXRlKHI6IFVwZGF0ZU1lcmNoYW50UmVxdWVzdCB8IFVwZGF0ZU1lcmNoYW50UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxVcGRhdGVNZXJjaGFudFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8VXBkYXRlTWVyY2hhbnRSZXF1ZXN0PnIpIDogbmV3IFVwZGF0ZU1lcmNoYW50UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLk1lcmNoYW50U2VydmljZS9VcGRhdGVcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGNyZWF0ZVBheW1lbnRDYXJkKHI6IENyZWF0ZVBheW1lbnRDYXJkUmVxdWVzdCB8IENyZWF0ZVBheW1lbnRDYXJkUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxDcmVhdGVQYXltZW50Q2FyZFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8Q3JlYXRlUGF5bWVudENhcmRSZXF1ZXN0PnIpIDogbmV3IENyZWF0ZVBheW1lbnRDYXJkUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLk1lcmNoYW50U2VydmljZS9DcmVhdGVQYXltZW50Q2FyZFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgc2V0RGVmYXVsdFBheW1lbnRDYXJkKHI6IFNldERlZmF1bHRQYXltZW50Q2FyZFJlcXVlc3QgfCBTZXREZWZhdWx0UGF5bWVudENhcmRSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFNldERlZmF1bHRQYXltZW50Q2FyZFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8U2V0RGVmYXVsdFBheW1lbnRDYXJkUmVxdWVzdD5yKSA6IG5ldyBTZXREZWZhdWx0UGF5bWVudENhcmRSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuTWVyY2hhbnRTZXJ2aWNlL1NldERlZmF1bHRQYXltZW50Q2FyZFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgbGlzdFBheW1lbnRDYXJkcyhyOiBMaXN0UGF5bWVudENhcmRzUmVxdWVzdCB8IExpc3RQYXltZW50Q2FyZHNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxMaXN0UGF5bWVudENhcmRzUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPExpc3RQYXltZW50Q2FyZHNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPExpc3RQYXltZW50Q2FyZHNSZXF1ZXN0PnIpIDogbmV3IExpc3RQYXltZW50Q2FyZHNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TGlzdFBheW1lbnRDYXJkc1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5NZXJjaGFudFNlcnZpY2UvTGlzdFBheW1lbnRDYXJkc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IExpc3RQYXltZW50Q2FyZHNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICB1cGRhdGVQYXltZW50Q2FyZChyOiBVcGRhdGVQYXltZW50Q2FyZFJlcXVlc3QgfCBVcGRhdGVQYXltZW50Q2FyZFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8VXBkYXRlUGF5bWVudENhcmRSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFVwZGF0ZVBheW1lbnRDYXJkUmVxdWVzdD5yKSA6IG5ldyBVcGRhdGVQYXltZW50Q2FyZFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5NZXJjaGFudFNlcnZpY2UvVXBkYXRlUGF5bWVudENhcmRcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGdldFN0YXRpc3RpY3MocjogR2V0U3RhdGlzdGljc1JlcXVlc3QgfCBHZXRTdGF0aXN0aWNzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0U3RhdGlzdGljc1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRTdGF0aXN0aWNzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRTdGF0aXN0aWNzUmVxdWVzdD5yKSA6IG5ldyBHZXRTdGF0aXN0aWNzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldFN0YXRpc3RpY3NSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuTWVyY2hhbnRTZXJ2aWNlL0dldFN0YXRpc3RpY3NcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRTdGF0aXN0aWNzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgc2VhcmNoKHI6IFNlYXJjaE1lcmNoYW50c1JlcXVlc3QgfCBTZWFyY2hNZXJjaGFudHNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxTZWFyY2hNZXJjaGFudHNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8U2VhcmNoTWVyY2hhbnRzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxTZWFyY2hNZXJjaGFudHNSZXF1ZXN0PnIpIDogbmV3IFNlYXJjaE1lcmNoYW50c1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxTZWFyY2hNZXJjaGFudHNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuTWVyY2hhbnRTZXJ2aWNlL1NlYXJjaFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IFNlYXJjaE1lcmNoYW50c1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIHNldEF1dG9Qb3N0SW52b2ljZXMocjogU2V0QXV0b1Bvc3RJbnZvaWNlc1JlcXVlc3QgfCBTZXRBdXRvUG9zdEludm9pY2VzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxTZXRBdXRvUG9zdEludm9pY2VzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxTZXRBdXRvUG9zdEludm9pY2VzUmVxdWVzdD5yKSA6IG5ldyBTZXRBdXRvUG9zdEludm9pY2VzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLk1lcmNoYW50U2VydmljZS9TZXRBdXRvUG9zdEludm9pY2VzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBzZXRBdXRvQ2hhcmdlSW52b2ljZXMocjogU2V0QXV0b0NoYXJnZUludm9pY2VzUmVxdWVzdCB8IFNldEF1dG9DaGFyZ2VJbnZvaWNlc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8U2V0QXV0b0NoYXJnZUludm9pY2VzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxTZXRBdXRvQ2hhcmdlSW52b2ljZXNSZXF1ZXN0PnIpIDogbmV3IFNldEF1dG9DaGFyZ2VJbnZvaWNlc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5NZXJjaGFudFNlcnZpY2UvU2V0QXV0b0NoYXJnZUludm9pY2VzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBzZXRJbmNsdWRlSW5GaW5hbmNpYWxSZWNvcmRzKHI6IFNldEluY2x1ZGVJbkZpbmFuY2lhbFJlY29yZHNSZXF1ZXN0IHwgU2V0SW5jbHVkZUluRmluYW5jaWFsUmVjb3Jkc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8U2V0SW5jbHVkZUluRmluYW5jaWFsUmVjb3Jkc1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8U2V0SW5jbHVkZUluRmluYW5jaWFsUmVjb3Jkc1JlcXVlc3Q+cikgOiBuZXcgU2V0SW5jbHVkZUluRmluYW5jaWFsUmVjb3Jkc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5NZXJjaGFudFNlcnZpY2UvU2V0SW5jbHVkZUluRmluYW5jaWFsUmVjb3Jkc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgc2V0SGFzQWx0ZXJuYXRpdmVQYXltZW50TWV0aG9kKHI6IFNldEhhc0FsdGVybmF0aXZlUGF5bWVudE1ldGhvZFJlcXVlc3QgfCBTZXRIYXNBbHRlcm5hdGl2ZVBheW1lbnRNZXRob2RSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFNldEhhc0FsdGVybmF0aXZlUGF5bWVudE1ldGhvZFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8U2V0SGFzQWx0ZXJuYXRpdmVQYXltZW50TWV0aG9kUmVxdWVzdD5yKSA6IG5ldyBTZXRIYXNBbHRlcm5hdGl2ZVBheW1lbnRNZXRob2RSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuTWVyY2hhbnRTZXJ2aWNlL1NldEhhc0FsdGVybmF0aXZlUGF5bWVudE1ldGhvZFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgc2VuZFNhbGVzSW52b2ljZUVtYWlsKHI6IFNlbmRTYWxlc0ludm9pY2VFbWFpbFJlcXVlc3QgfCBTZW5kU2FsZXNJbnZvaWNlRW1haWxSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFNlbmRTYWxlc0ludm9pY2VFbWFpbFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8U2VuZFNhbGVzSW52b2ljZUVtYWlsUmVxdWVzdD5yKSA6IG5ldyBTZW5kU2FsZXNJbnZvaWNlRW1haWxSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuTWVyY2hhbnRTZXJ2aWNlL1NlbmRTYWxlc0ludm9pY2VFbWFpbFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgY2hhcmdlU2FsZXNJbnZvaWNlKHI6IENoYXJnZVNhbGVzSW52b2ljZVJlcXVlc3QgfCBDaGFyZ2VTYWxlc0ludm9pY2VSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENoYXJnZVNhbGVzSW52b2ljZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8Q2hhcmdlU2FsZXNJbnZvaWNlUmVxdWVzdD5yKSA6IG5ldyBDaGFyZ2VTYWxlc0ludm9pY2VSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuTWVyY2hhbnRTZXJ2aWNlL0NoYXJnZVNhbGVzSW52b2ljZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgc2VuZFNhbGVzSW52b2ljZVJlY2VpcHRFbWFpbChyOiBTZW5kU2FsZXNJbnZvaWNlUmVjZWlwdEVtYWlsUmVxdWVzdCB8IFNlbmRTYWxlc0ludm9pY2VSZWNlaXB0RW1haWxSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFNlbmRTYWxlc0ludm9pY2VSZWNlaXB0RW1haWxSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFNlbmRTYWxlc0ludm9pY2VSZWNlaXB0RW1haWxSZXF1ZXN0PnIpIDogbmV3IFNlbmRTYWxlc0ludm9pY2VSZWNlaXB0RW1haWxSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuTWVyY2hhbnRTZXJ2aWNlL1NlbmRTYWxlc0ludm9pY2VSZWNlaXB0RW1haWxcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGNyZWF0ZVN0cmlwZUV4dGVybmFsQWNjb3VudChyOiBDcmVhdGVTdHJpcGVFeHRlcm5hbEFjY291bnRSZXF1ZXN0IHwgQ3JlYXRlU3RyaXBlRXh0ZXJuYWxBY2NvdW50UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxDcmVhdGVTdHJpcGVFeHRlcm5hbEFjY291bnRSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENyZWF0ZVN0cmlwZUV4dGVybmFsQWNjb3VudFJlcXVlc3Q+cikgOiBuZXcgQ3JlYXRlU3RyaXBlRXh0ZXJuYWxBY2NvdW50UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLk1lcmNoYW50U2VydmljZS9DcmVhdGVTdHJpcGVFeHRlcm5hbEFjY291bnRcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGxpc3RCYW5rQWNjb3VudHMocjogTGlzdEJhbmtBY2NvdW50c1JlcXVlc3QgfCBMaXN0QmFua0FjY291bnRzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8TGlzdEJhbmtBY2NvdW50c1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxMaXN0QmFua0FjY291bnRzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxMaXN0QmFua0FjY291bnRzUmVxdWVzdD5yKSA6IG5ldyBMaXN0QmFua0FjY291bnRzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PExpc3RCYW5rQWNjb3VudHNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuTWVyY2hhbnRTZXJ2aWNlL0xpc3RCYW5rQWNjb3VudHNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBMaXN0QmFua0FjY291bnRzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgc2V0RGVmYXVsdEJhbmtBY2NvdW50KHI6IFNldERlZmF1bHRCYW5rQWNjb3VudFJlcXVlc3QgfCBTZXREZWZhdWx0QmFua0FjY291bnRSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFNldERlZmF1bHRCYW5rQWNjb3VudFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8U2V0RGVmYXVsdEJhbmtBY2NvdW50UmVxdWVzdD5yKSA6IG5ldyBTZXREZWZhdWx0QmFua0FjY291bnRSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuTWVyY2hhbnRTZXJ2aWNlL1NldERlZmF1bHRCYW5rQWNjb3VudFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgZGVsZXRlQmFua0FjY291bnQocjogRGVsZXRlQmFua0FjY291bnRSZXF1ZXN0IHwgRGVsZXRlQmFua0FjY291bnRSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPERlbGV0ZUJhbmtBY2NvdW50UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxEZWxldGVCYW5rQWNjb3VudFJlcXVlc3Q+cikgOiBuZXcgRGVsZXRlQmFua0FjY291bnRSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuTWVyY2hhbnRTZXJ2aWNlL0RlbGV0ZUJhbmtBY2NvdW50XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBnZXRNdWx0aVJldGFpbENvbmZpZ3VyYXRpb25zKHI6IEdldE11bHRpUmV0YWlsQ29uZmlndXJhdGlvbnNSZXF1ZXN0IHwgR2V0TXVsdGlSZXRhaWxDb25maWd1cmF0aW9uc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldE11bHRpUmV0YWlsQ29uZmlndXJhdGlvbnNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0TXVsdGlSZXRhaWxDb25maWd1cmF0aW9uc1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0TXVsdGlSZXRhaWxDb25maWd1cmF0aW9uc1JlcXVlc3Q+cikgOiBuZXcgR2V0TXVsdGlSZXRhaWxDb25maWd1cmF0aW9uc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRNdWx0aVJldGFpbENvbmZpZ3VyYXRpb25zUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLk1lcmNoYW50U2VydmljZS9HZXRNdWx0aVJldGFpbENvbmZpZ3VyYXRpb25zXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0TXVsdGlSZXRhaWxDb25maWd1cmF0aW9uc1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIHVwc2VydFJldGFpbENvbmZpZ3VyYXRpb24ocjogVXBzZXJ0UmV0YWlsQ29uZmlndXJhdGlvblJlcXVlc3QgfCBVcHNlcnRSZXRhaWxDb25maWd1cmF0aW9uUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxVcHNlcnRSZXRhaWxDb25maWd1cmF0aW9uUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxVcHNlcnRSZXRhaWxDb25maWd1cmF0aW9uUmVxdWVzdD5yKSA6IG5ldyBVcHNlcnRSZXRhaWxDb25maWd1cmF0aW9uUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLk1lcmNoYW50U2VydmljZS9VcHNlcnRSZXRhaWxDb25maWd1cmF0aW9uXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICB1cHNlcnREZWZhdWx0UmV0YWlsQ3VzdG9tZXJDb25maWd1cmF0aW9uKHI6IFVwc2VydERlZmF1bHRSZXRhaWxDdXN0b21lckNvbmZpZ3VyYXRpb25SZXF1ZXN0IHwgVXBzZXJ0RGVmYXVsdFJldGFpbEN1c3RvbWVyQ29uZmlndXJhdGlvblJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8VXBzZXJ0RGVmYXVsdFJldGFpbEN1c3RvbWVyQ29uZmlndXJhdGlvblJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8VXBzZXJ0RGVmYXVsdFJldGFpbEN1c3RvbWVyQ29uZmlndXJhdGlvblJlcXVlc3Q+cikgOiBuZXcgVXBzZXJ0RGVmYXVsdFJldGFpbEN1c3RvbWVyQ29uZmlndXJhdGlvblJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5NZXJjaGFudFNlcnZpY2UvVXBzZXJ0RGVmYXVsdFJldGFpbEN1c3RvbWVyQ29uZmlndXJhdGlvblwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgZ2V0UmV0YWlsQmFsYW5jZShyOiBHZXRSZXRhaWxCYWxhbmNlUmVxdWVzdCB8IEdldFJldGFpbEJhbGFuY2VSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRSZXRhaWxCYWxhbmNlUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldFJldGFpbEJhbGFuY2VSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldFJldGFpbEJhbGFuY2VSZXF1ZXN0PnIpIDogbmV3IEdldFJldGFpbEJhbGFuY2VSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0UmV0YWlsQmFsYW5jZVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5NZXJjaGFudFNlcnZpY2UvR2V0UmV0YWlsQmFsYW5jZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldFJldGFpbEJhbGFuY2VSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRQYXlvdXRTdW1tYXJ5KHI6IEdldFBheW91dFN1bW1hcnlSZXF1ZXN0IHwgR2V0UGF5b3V0U3VtbWFyeVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldFBheW91dFN1bW1hcnlSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0UGF5b3V0U3VtbWFyeVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0UGF5b3V0U3VtbWFyeVJlcXVlc3Q+cikgOiBuZXcgR2V0UGF5b3V0U3VtbWFyeVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRQYXlvdXRTdW1tYXJ5UmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLk1lcmNoYW50U2VydmljZS9HZXRQYXlvdXRTdW1tYXJ5XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0UGF5b3V0U3VtbWFyeVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGxpc3RSZXRhaWxQYXlvdXRzKHI6IExpc3RSZXRhaWxQYXlvdXRzUmVxdWVzdCB8IExpc3RSZXRhaWxQYXlvdXRzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8TGlzdFJldGFpbFBheW91dHNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TGlzdFJldGFpbFBheW91dHNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPExpc3RSZXRhaWxQYXlvdXRzUmVxdWVzdD5yKSA6IG5ldyBMaXN0UmV0YWlsUGF5b3V0c1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxMaXN0UmV0YWlsUGF5b3V0c1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5NZXJjaGFudFNlcnZpY2UvTGlzdFJldGFpbFBheW91dHNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBMaXN0UmV0YWlsUGF5b3V0c1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldFJldGFpbFBheW91dChyOiBHZXRSZXRhaWxQYXlvdXRSZXF1ZXN0IHwgR2V0UmV0YWlsUGF5b3V0UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0UmV0YWlsUGF5b3V0UmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldFJldGFpbFBheW91dFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0UmV0YWlsUGF5b3V0UmVxdWVzdD5yKSA6IG5ldyBHZXRSZXRhaWxQYXlvdXRSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0UmV0YWlsUGF5b3V0UmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLk1lcmNoYW50U2VydmljZS9HZXRSZXRhaWxQYXlvdXRcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRSZXRhaWxQYXlvdXRSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBcbn1cbiJdfQ==
169
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVyY2hhbnQuYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9iaWxsaW5nX3Nkay9zcmMvbGliL19pbnRlcm5hbC9tZXJjaGFudC5hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7QUFDcEMsMkJBQTJCO0FBQzNCLGdCQUFnQjtBQUNoQixFQUFFO0FBQ0YsZUFBZTtBQUNmLG9DQUFvQztBQUNwQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDQyx5QkFBeUIsRUFDekIscUJBQXFCLEVBQ3JCLCtCQUErQixFQUMvQix3QkFBd0IsRUFDeEIsa0NBQWtDLEVBQ2xDLHdCQUF3QixFQUN4QixrQkFBa0IsRUFDbEIsbUJBQW1CLEVBQ25CLDRCQUE0QixFQUM1QixtQ0FBbUMsRUFDbkMsb0NBQW9DLEVBQ3BDLDRCQUE0QixFQUM1Qiw2QkFBNkIsRUFDN0IsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4Qix1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQ3hCLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIsb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQix1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQ3hCLHVCQUF1QixFQUN2Qix3QkFBd0IsRUFDeEIsd0JBQXdCLEVBQ3hCLHlCQUF5QixFQUN6Qix5QkFBeUIsRUFDekIsc0JBQXNCLEVBQ3RCLHVCQUF1QixFQUN2Qiw0QkFBNEIsRUFDNUIsbUNBQW1DLEVBQ25DLDRCQUE0QixFQUM1QiwwQkFBMEIsRUFDMUIsNEJBQTRCLEVBQzVCLDRCQUE0QixFQUM1QixxQ0FBcUMsRUFDckMsbUNBQW1DLEVBQ25DLHFCQUFxQixFQUNyQix3QkFBd0IsRUFDeEIsK0NBQStDLEVBQy9DLGdDQUFnQyxHQUN2QyxNQUFNLFlBQVksQ0FBQztBQTZDcEIsT0FBTyxFQUFDLFdBQVcsRUFBRSxVQUFVLEVBQWUsTUFBTSxz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QUcsNkNBQTZDLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUN4SixJQUFJLENBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMseUJBQXlCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ3pELENBQUM7SUFDVixDQUFDO0lBQ0QsWUFBWSxDQUFDLENBQXVFO1FBQ2hGLE1BQU0sT0FBTyxHQUFHLENBQWdDLENBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQWdDLENBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSw0QkFBNEIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4SSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFxQyxJQUFJLENBQUMsS0FBSyxHQUFHLDBDQUEwQyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7YUFDckosSUFBSSxDQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUN6RCxDQUFDO0lBQ1YsQ0FBQzs7K0dBN0tRLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBRE4sTUFBTTsyRkFDbEIsa0JBQWtCO2tCQUQ5QixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gQ29kZSBnZW5lcmF0ZWQgYnkgc2RrZ2VuXG4vLyBETyBOT1QgRURJVCEuXG4vL1xuLy8gQVBJIFNlcnZpY2UuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgICAgICBDaGFyZ2VTYWxlc0ludm9pY2VSZXF1ZXN0LFxuICAgICAgICBDcmVhdGVNZXJjaGFudFJlcXVlc3QsXG4gICAgICAgIENyZWF0ZU1lcmNoYW50U2VydmljZXNSZXBvcnRSdW4sXG4gICAgICAgIENyZWF0ZVBheW1lbnRDYXJkUmVxdWVzdCxcbiAgICAgICAgQ3JlYXRlU3RyaXBlRXh0ZXJuYWxBY2NvdW50UmVxdWVzdCxcbiAgICAgICAgRGVsZXRlQmFua0FjY291bnRSZXF1ZXN0LFxuICAgICAgICBHZXRNZXJjaGFudFJlcXVlc3QsXG4gICAgICAgIEdldE1lcmNoYW50UmVzcG9uc2UsXG4gICAgICAgIEdldE1lcmNoYW50U2VydmljZXNSZXBvcnRSdW4sXG4gICAgICAgIEdldE11bHRpUmV0YWlsQ29uZmlndXJhdGlvbnNSZXF1ZXN0LFxuICAgICAgICBHZXRNdWx0aVJldGFpbENvbmZpZ3VyYXRpb25zUmVzcG9uc2UsXG4gICAgICAgIEdldE91dHN0YW5kaW5nQmFsYW5jZVJlcXVlc3QsXG4gICAgICAgIEdldE91dHN0YW5kaW5nQmFsYW5jZVJlc3BvbnNlLFxuICAgICAgICBHZXRQYXlvdXRTdW1tYXJ5UmVxdWVzdCxcbiAgICAgICAgR2V0UGF5b3V0U3VtbWFyeVJlc3BvbnNlLFxuICAgICAgICBHZXRSZXRhaWxCYWxhbmNlUmVxdWVzdCxcbiAgICAgICAgR2V0UmV0YWlsQmFsYW5jZVJlc3BvbnNlLFxuICAgICAgICBHZXRSZXRhaWxQYXlvdXRSZXF1ZXN0LFxuICAgICAgICBHZXRSZXRhaWxQYXlvdXRSZXNwb25zZSxcbiAgICAgICAgR2V0U3RhdGlzdGljc1JlcXVlc3QsXG4gICAgICAgIEdldFN0YXRpc3RpY3NSZXNwb25zZSxcbiAgICAgICAgTGlzdEJhbmtBY2NvdW50c1JlcXVlc3QsXG4gICAgICAgIExpc3RCYW5rQWNjb3VudHNSZXNwb25zZSxcbiAgICAgICAgTGlzdFBheW1lbnRDYXJkc1JlcXVlc3QsXG4gICAgICAgIExpc3RQYXltZW50Q2FyZHNSZXNwb25zZSxcbiAgICAgICAgTGlzdFJldGFpbFBheW91dHNSZXF1ZXN0LFxuICAgICAgICBMaXN0UmV0YWlsUGF5b3V0c1Jlc3BvbnNlLFxuICAgICAgICBNZXJjaGFudFNlcnZpY2VzUmVwb3J0UnVuLFxuICAgICAgICBTZWFyY2hNZXJjaGFudHNSZXF1ZXN0LFxuICAgICAgICBTZWFyY2hNZXJjaGFudHNSZXNwb25zZSxcbiAgICAgICAgU2VuZFNhbGVzSW52b2ljZUVtYWlsUmVxdWVzdCxcbiAgICAgICAgU2VuZFNhbGVzSW52b2ljZVJlY2VpcHRFbWFpbFJlcXVlc3QsXG4gICAgICAgIFNldEF1dG9DaGFyZ2VJbnZvaWNlc1JlcXVlc3QsXG4gICAgICAgIFNldEF1dG9Qb3N0SW52b2ljZXNSZXF1ZXN0LFxuICAgICAgICBTZXREZWZhdWx0QmFua0FjY291bnRSZXF1ZXN0LFxuICAgICAgICBTZXREZWZhdWx0UGF5bWVudENhcmRSZXF1ZXN0LFxuICAgICAgICBTZXRIYXNBbHRlcm5hdGl2ZVBheW1lbnRNZXRob2RSZXF1ZXN0LFxuICAgICAgICBTZXRJbmNsdWRlSW5GaW5hbmNpYWxSZWNvcmRzUmVxdWVzdCxcbiAgICAgICAgVXBkYXRlTWVyY2hhbnRSZXF1ZXN0LFxuICAgICAgICBVcGRhdGVQYXltZW50Q2FyZFJlcXVlc3QsXG4gICAgICAgIFVwc2VydERlZmF1bHRSZXRhaWxDdXN0b21lckNvbmZpZ3VyYXRpb25SZXF1ZXN0LFxuICAgICAgICBVcHNlcnRSZXRhaWxDb25maWd1cmF0aW9uUmVxdWVzdCxcbn0gZnJvbSAnLi9vYmplY3RzLyc7XG5pbXBvcnQge1xuICAgICAgICBDaGFyZ2VTYWxlc0ludm9pY2VSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBDcmVhdGVNZXJjaGFudFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIENyZWF0ZU1lcmNoYW50U2VydmljZXNSZXBvcnRSdW5JbnRlcmZhY2UsXG4gICAgICAgIENyZWF0ZVBheW1lbnRDYXJkUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlU3RyaXBlRXh0ZXJuYWxBY2NvdW50UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgRGVsZXRlQmFua0FjY291bnRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRNZXJjaGFudFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldE1lcmNoYW50UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldE1lcmNoYW50U2VydmljZXNSZXBvcnRSdW5JbnRlcmZhY2UsXG4gICAgICAgIEdldE11bHRpUmV0YWlsQ29uZmlndXJhdGlvbnNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aVJldGFpbENvbmZpZ3VyYXRpb25zUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldE91dHN0YW5kaW5nQmFsYW5jZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldE91dHN0YW5kaW5nQmFsYW5jZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRQYXlvdXRTdW1tYXJ5UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0UGF5b3V0U3VtbWFyeVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRSZXRhaWxCYWxhbmNlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0UmV0YWlsQmFsYW5jZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRSZXRhaWxQYXlvdXRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRSZXRhaWxQYXlvdXRSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0U3RhdGlzdGljc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldFN0YXRpc3RpY3NSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgTGlzdEJhbmtBY2NvdW50c1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIExpc3RCYW5rQWNjb3VudHNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgTGlzdFBheW1lbnRDYXJkc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIExpc3RQYXltZW50Q2FyZHNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgTGlzdFJldGFpbFBheW91dHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBMaXN0UmV0YWlsUGF5b3V0c1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBNZXJjaGFudFNlcnZpY2VzUmVwb3J0UnVuSW50ZXJmYWNlLFxuICAgICAgICBTZWFyY2hNZXJjaGFudHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBTZWFyY2hNZXJjaGFudHNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgU2VuZFNhbGVzSW52b2ljZUVtYWlsUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgU2VuZFNhbGVzSW52b2ljZVJlY2VpcHRFbWFpbFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFNldEF1dG9DaGFyZ2VJbnZvaWNlc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFNldEF1dG9Qb3N0SW52b2ljZXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBTZXREZWZhdWx0QmFua0FjY291bnRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBTZXREZWZhdWx0UGF5bWVudENhcmRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBTZXRIYXNBbHRlcm5hdGl2ZVBheW1lbnRNZXRob2RSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBTZXRJbmNsdWRlSW5GaW5hbmNpYWxSZWNvcmRzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgVXBkYXRlTWVyY2hhbnRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBVcGRhdGVQYXltZW50Q2FyZFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFVwc2VydERlZmF1bHRSZXRhaWxDdXN0b21lckNvbmZpZ3VyYXRpb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBVcHNlcnRSZXRhaWxDb25maWd1cmF0aW9uUmVxdWVzdEludGVyZmFjZSxcbn0gZnJvbSAnLi9pbnRlcmZhY2VzLyc7XG5pbXBvcnQge0h0dHBIZWFkZXJzLCBIdHRwQ2xpZW50LCBIdHRwUmVzcG9uc2V9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7SG9zdFNlcnZpY2V9IGZyb20gJy4uL19nZW5lcmF0ZWQvaG9zdC5zZXJ2aWNlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBNZXJjaGFudEFwaVNlcnZpY2Uge1xuICAgIHByaXZhdGUgX2hvc3QgPSB0aGlzLmhvc3RTZXJ2aWNlLmhvc3RXaXRoU2NoZW1lO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIGhvc3RTZXJ2aWNlOiBIb3N0U2VydmljZSkge1xuICAgIH1cblxuICAgIHByaXZhdGUgYXBpT3B0aW9ucygpOiB7aGVhZGVyczogSHR0cEhlYWRlcnMsIHdpdGhDcmVkZW50aWFsczogYm9vbGVhbn0ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGNyZWF0ZShyOiBDcmVhdGVNZXJjaGFudFJlcXVlc3QgfCBDcmVhdGVNZXJjaGFudFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8Q3JlYXRlTWVyY2hhbnRSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENyZWF0ZU1lcmNoYW50UmVxdWVzdD5yKSA6IG5ldyBDcmVhdGVNZXJjaGFudFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5NZXJjaGFudFNlcnZpY2UvQ3JlYXRlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBnZXQocjogR2V0TWVyY2hhbnRSZXF1ZXN0IHwgR2V0TWVyY2hhbnRSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRNZXJjaGFudFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRNZXJjaGFudFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0TWVyY2hhbnRSZXF1ZXN0PnIpIDogbmV3IEdldE1lcmNoYW50UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldE1lcmNoYW50UmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLk1lcmNoYW50U2VydmljZS9HZXRcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRNZXJjaGFudFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldE91dHN0YW5kaW5nQmFsYW5jZShyOiBHZXRPdXRzdGFuZGluZ0JhbGFuY2VSZXF1ZXN0IHwgR2V0T3V0c3RhbmRpbmdCYWxhbmNlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0T3V0c3RhbmRpbmdCYWxhbmNlUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldE91dHN0YW5kaW5nQmFsYW5jZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0T3V0c3RhbmRpbmdCYWxhbmNlUmVxdWVzdD5yKSA6IG5ldyBHZXRPdXRzdGFuZGluZ0JhbGFuY2VSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0T3V0c3RhbmRpbmdCYWxhbmNlUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLk1lcmNoYW50U2VydmljZS9HZXRPdXRzdGFuZGluZ0JhbGFuY2VcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRPdXRzdGFuZGluZ0JhbGFuY2VSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICB1cGRhdGUocjogVXBkYXRlTWVyY2hhbnRSZXF1ZXN0IHwgVXBkYXRlTWVyY2hhbnRSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFVwZGF0ZU1lcmNoYW50UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxVcGRhdGVNZXJjaGFudFJlcXVlc3Q+cikgOiBuZXcgVXBkYXRlTWVyY2hhbnRSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuTWVyY2hhbnRTZXJ2aWNlL1VwZGF0ZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgY3JlYXRlUGF5bWVudENhcmQocjogQ3JlYXRlUGF5bWVudENhcmRSZXF1ZXN0IHwgQ3JlYXRlUGF5bWVudENhcmRSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENyZWF0ZVBheW1lbnRDYXJkUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxDcmVhdGVQYXltZW50Q2FyZFJlcXVlc3Q+cikgOiBuZXcgQ3JlYXRlUGF5bWVudENhcmRSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuTWVyY2hhbnRTZXJ2aWNlL0NyZWF0ZVBheW1lbnRDYXJkXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBzZXREZWZhdWx0UGF5bWVudENhcmQocjogU2V0RGVmYXVsdFBheW1lbnRDYXJkUmVxdWVzdCB8IFNldERlZmF1bHRQYXltZW50Q2FyZFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8U2V0RGVmYXVsdFBheW1lbnRDYXJkUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxTZXREZWZhdWx0UGF5bWVudENhcmRSZXF1ZXN0PnIpIDogbmV3IFNldERlZmF1bHRQYXltZW50Q2FyZFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5NZXJjaGFudFNlcnZpY2UvU2V0RGVmYXVsdFBheW1lbnRDYXJkXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBsaXN0UGF5bWVudENhcmRzKHI6IExpc3RQYXltZW50Q2FyZHNSZXF1ZXN0IHwgTGlzdFBheW1lbnRDYXJkc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPExpc3RQYXltZW50Q2FyZHNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TGlzdFBheW1lbnRDYXJkc1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8TGlzdFBheW1lbnRDYXJkc1JlcXVlc3Q+cikgOiBuZXcgTGlzdFBheW1lbnRDYXJkc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxMaXN0UGF5bWVudENhcmRzUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLk1lcmNoYW50U2VydmljZS9MaXN0UGF5bWVudENhcmRzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTGlzdFBheW1lbnRDYXJkc1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIHVwZGF0ZVBheW1lbnRDYXJkKHI6IFVwZGF0ZVBheW1lbnRDYXJkUmVxdWVzdCB8IFVwZGF0ZVBheW1lbnRDYXJkUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxVcGRhdGVQYXltZW50Q2FyZFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8VXBkYXRlUGF5bWVudENhcmRSZXF1ZXN0PnIpIDogbmV3IFVwZGF0ZVBheW1lbnRDYXJkUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLk1lcmNoYW50U2VydmljZS9VcGRhdGVQYXltZW50Q2FyZFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgZ2V0U3RhdGlzdGljcyhyOiBHZXRTdGF0aXN0aWNzUmVxdWVzdCB8IEdldFN0YXRpc3RpY3NSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRTdGF0aXN0aWNzUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldFN0YXRpc3RpY3NSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldFN0YXRpc3RpY3NSZXF1ZXN0PnIpIDogbmV3IEdldFN0YXRpc3RpY3NSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0U3RhdGlzdGljc1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5NZXJjaGFudFNlcnZpY2UvR2V0U3RhdGlzdGljc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldFN0YXRpc3RpY3NSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBzZWFyY2gocjogU2VhcmNoTWVyY2hhbnRzUmVxdWVzdCB8IFNlYXJjaE1lcmNoYW50c1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPFNlYXJjaE1lcmNoYW50c1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxTZWFyY2hNZXJjaGFudHNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFNlYXJjaE1lcmNoYW50c1JlcXVlc3Q+cikgOiBuZXcgU2VhcmNoTWVyY2hhbnRzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFNlYXJjaE1lcmNoYW50c1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5NZXJjaGFudFNlcnZpY2UvU2VhcmNoXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gU2VhcmNoTWVyY2hhbnRzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgc2V0QXV0b1Bvc3RJbnZvaWNlcyhyOiBTZXRBdXRvUG9zdEludm9pY2VzUmVxdWVzdCB8IFNldEF1dG9Qb3N0SW52b2ljZXNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFNldEF1dG9Qb3N0SW52b2ljZXNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFNldEF1dG9Qb3N0SW52b2ljZXNSZXF1ZXN0PnIpIDogbmV3IFNldEF1dG9Qb3N0SW52b2ljZXNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuTWVyY2hhbnRTZXJ2aWNlL1NldEF1dG9Qb3N0SW52b2ljZXNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIHNldEF1dG9DaGFyZ2VJbnZvaWNlcyhyOiBTZXRBdXRvQ2hhcmdlSW52b2ljZXNSZXF1ZXN0IHwgU2V0QXV0b0NoYXJnZUludm9pY2VzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxTZXRBdXRvQ2hhcmdlSW52b2ljZXNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFNldEF1dG9DaGFyZ2VJbnZvaWNlc1JlcXVlc3Q+cikgOiBuZXcgU2V0QXV0b0NoYXJnZUludm9pY2VzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLk1lcmNoYW50U2VydmljZS9TZXRBdXRvQ2hhcmdlSW52b2ljZXNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIHNldEluY2x1ZGVJbkZpbmFuY2lhbFJlY29yZHMocjogU2V0SW5jbHVkZUluRmluYW5jaWFsUmVjb3Jkc1JlcXVlc3QgfCBTZXRJbmNsdWRlSW5GaW5hbmNpYWxSZWNvcmRzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxTZXRJbmNsdWRlSW5GaW5hbmNpYWxSZWNvcmRzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxTZXRJbmNsdWRlSW5GaW5hbmNpYWxSZWNvcmRzUmVxdWVzdD5yKSA6IG5ldyBTZXRJbmNsdWRlSW5GaW5hbmNpYWxSZWNvcmRzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLk1lcmNoYW50U2VydmljZS9TZXRJbmNsdWRlSW5GaW5hbmNpYWxSZWNvcmRzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBzZXRIYXNBbHRlcm5hdGl2ZVBheW1lbnRNZXRob2QocjogU2V0SGFzQWx0ZXJuYXRpdmVQYXltZW50TWV0aG9kUmVxdWVzdCB8IFNldEhhc0FsdGVybmF0aXZlUGF5bWVudE1ldGhvZFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8U2V0SGFzQWx0ZXJuYXRpdmVQYXltZW50TWV0aG9kUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxTZXRIYXNBbHRlcm5hdGl2ZVBheW1lbnRNZXRob2RSZXF1ZXN0PnIpIDogbmV3IFNldEhhc0FsdGVybmF0aXZlUGF5bWVudE1ldGhvZFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5NZXJjaGFudFNlcnZpY2UvU2V0SGFzQWx0ZXJuYXRpdmVQYXltZW50TWV0aG9kXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBzZW5kU2FsZXNJbnZvaWNlRW1haWwocjogU2VuZFNhbGVzSW52b2ljZUVtYWlsUmVxdWVzdCB8IFNlbmRTYWxlc0ludm9pY2VFbWFpbFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8U2VuZFNhbGVzSW52b2ljZUVtYWlsUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxTZW5kU2FsZXNJbnZvaWNlRW1haWxSZXF1ZXN0PnIpIDogbmV3IFNlbmRTYWxlc0ludm9pY2VFbWFpbFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5NZXJjaGFudFNlcnZpY2UvU2VuZFNhbGVzSW52b2ljZUVtYWlsXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBjaGFyZ2VTYWxlc0ludm9pY2UocjogQ2hhcmdlU2FsZXNJbnZvaWNlUmVxdWVzdCB8IENoYXJnZVNhbGVzSW52b2ljZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8Q2hhcmdlU2FsZXNJbnZvaWNlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxDaGFyZ2VTYWxlc0ludm9pY2VSZXF1ZXN0PnIpIDogbmV3IENoYXJnZVNhbGVzSW52b2ljZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5NZXJjaGFudFNlcnZpY2UvQ2hhcmdlU2FsZXNJbnZvaWNlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBzZW5kU2FsZXNJbnZvaWNlUmVjZWlwdEVtYWlsKHI6IFNlbmRTYWxlc0ludm9pY2VSZWNlaXB0RW1haWxSZXF1ZXN0IHwgU2VuZFNhbGVzSW52b2ljZVJlY2VpcHRFbWFpbFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8U2VuZFNhbGVzSW52b2ljZVJlY2VpcHRFbWFpbFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8U2VuZFNhbGVzSW52b2ljZVJlY2VpcHRFbWFpbFJlcXVlc3Q+cikgOiBuZXcgU2VuZFNhbGVzSW52b2ljZVJlY2VpcHRFbWFpbFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5NZXJjaGFudFNlcnZpY2UvU2VuZFNhbGVzSW52b2ljZVJlY2VpcHRFbWFpbFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgY3JlYXRlU3RyaXBlRXh0ZXJuYWxBY2NvdW50KHI6IENyZWF0ZVN0cmlwZUV4dGVybmFsQWNjb3VudFJlcXVlc3QgfCBDcmVhdGVTdHJpcGVFeHRlcm5hbEFjY291bnRSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENyZWF0ZVN0cmlwZUV4dGVybmFsQWNjb3VudFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8Q3JlYXRlU3RyaXBlRXh0ZXJuYWxBY2NvdW50UmVxdWVzdD5yKSA6IG5ldyBDcmVhdGVTdHJpcGVFeHRlcm5hbEFjY291bnRSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuTWVyY2hhbnRTZXJ2aWNlL0NyZWF0ZVN0cmlwZUV4dGVybmFsQWNjb3VudFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgbGlzdEJhbmtBY2NvdW50cyhyOiBMaXN0QmFua0FjY291bnRzUmVxdWVzdCB8IExpc3RCYW5rQWNjb3VudHNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxMaXN0QmFua0FjY291bnRzUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPExpc3RCYW5rQWNjb3VudHNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPExpc3RCYW5rQWNjb3VudHNSZXF1ZXN0PnIpIDogbmV3IExpc3RCYW5rQWNjb3VudHNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TGlzdEJhbmtBY2NvdW50c1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5NZXJjaGFudFNlcnZpY2UvTGlzdEJhbmtBY2NvdW50c1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IExpc3RCYW5rQWNjb3VudHNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBzZXREZWZhdWx0QmFua0FjY291bnQocjogU2V0RGVmYXVsdEJhbmtBY2NvdW50UmVxdWVzdCB8IFNldERlZmF1bHRCYW5rQWNjb3VudFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8U2V0RGVmYXVsdEJhbmtBY2NvdW50UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxTZXREZWZhdWx0QmFua0FjY291bnRSZXF1ZXN0PnIpIDogbmV3IFNldERlZmF1bHRCYW5rQWNjb3VudFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5NZXJjaGFudFNlcnZpY2UvU2V0RGVmYXVsdEJhbmtBY2NvdW50XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBkZWxldGVCYW5rQWNjb3VudChyOiBEZWxldGVCYW5rQWNjb3VudFJlcXVlc3QgfCBEZWxldGVCYW5rQWNjb3VudFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8RGVsZXRlQmFua0FjY291bnRSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPERlbGV0ZUJhbmtBY2NvdW50UmVxdWVzdD5yKSA6IG5ldyBEZWxldGVCYW5rQWNjb3VudFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5NZXJjaGFudFNlcnZpY2UvRGVsZXRlQmFua0FjY291bnRcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGdldE11bHRpUmV0YWlsQ29uZmlndXJhdGlvbnMocjogR2V0TXVsdGlSZXRhaWxDb25maWd1cmF0aW9uc1JlcXVlc3QgfCBHZXRNdWx0aVJldGFpbENvbmZpZ3VyYXRpb25zUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0TXVsdGlSZXRhaWxDb25maWd1cmF0aW9uc1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRNdWx0aVJldGFpbENvbmZpZ3VyYXRpb25zUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRNdWx0aVJldGFpbENvbmZpZ3VyYXRpb25zUmVxdWVzdD5yKSA6IG5ldyBHZXRNdWx0aVJldGFpbENvbmZpZ3VyYXRpb25zUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldE11bHRpUmV0YWlsQ29uZmlndXJhdGlvbnNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuTWVyY2hhbnRTZXJ2aWNlL0dldE11bHRpUmV0YWlsQ29uZmlndXJhdGlvbnNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRNdWx0aVJldGFpbENvbmZpZ3VyYXRpb25zUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgdXBzZXJ0UmV0YWlsQ29uZmlndXJhdGlvbihyOiBVcHNlcnRSZXRhaWxDb25maWd1cmF0aW9uUmVxdWVzdCB8IFVwc2VydFJldGFpbENvbmZpZ3VyYXRpb25SZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFVwc2VydFJldGFpbENvbmZpZ3VyYXRpb25SZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFVwc2VydFJldGFpbENvbmZpZ3VyYXRpb25SZXF1ZXN0PnIpIDogbmV3IFVwc2VydFJldGFpbENvbmZpZ3VyYXRpb25SZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuTWVyY2hhbnRTZXJ2aWNlL1Vwc2VydFJldGFpbENvbmZpZ3VyYXRpb25cIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIHVwc2VydERlZmF1bHRSZXRhaWxDdXN0b21lckNvbmZpZ3VyYXRpb24ocjogVXBzZXJ0RGVmYXVsdFJldGFpbEN1c3RvbWVyQ29uZmlndXJhdGlvblJlcXVlc3QgfCBVcHNlcnREZWZhdWx0UmV0YWlsQ3VzdG9tZXJDb25maWd1cmF0aW9uUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxVcHNlcnREZWZhdWx0UmV0YWlsQ3VzdG9tZXJDb25maWd1cmF0aW9uUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxVcHNlcnREZWZhdWx0UmV0YWlsQ3VzdG9tZXJDb25maWd1cmF0aW9uUmVxdWVzdD5yKSA6IG5ldyBVcHNlcnREZWZhdWx0UmV0YWlsQ3VzdG9tZXJDb25maWd1cmF0aW9uUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLk1lcmNoYW50U2VydmljZS9VcHNlcnREZWZhdWx0UmV0YWlsQ3VzdG9tZXJDb25maWd1cmF0aW9uXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBnZXRSZXRhaWxCYWxhbmNlKHI6IEdldFJldGFpbEJhbGFuY2VSZXF1ZXN0IHwgR2V0UmV0YWlsQmFsYW5jZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldFJldGFpbEJhbGFuY2VSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0UmV0YWlsQmFsYW5jZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0UmV0YWlsQmFsYW5jZVJlcXVlc3Q+cikgOiBuZXcgR2V0UmV0YWlsQmFsYW5jZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRSZXRhaWxCYWxhbmNlUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLk1lcmNoYW50U2VydmljZS9HZXRSZXRhaWxCYWxhbmNlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0UmV0YWlsQmFsYW5jZVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldFBheW91dFN1bW1hcnkocjogR2V0UGF5b3V0U3VtbWFyeVJlcXVlc3QgfCBHZXRQYXlvdXRTdW1tYXJ5UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0UGF5b3V0U3VtbWFyeVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRQYXlvdXRTdW1tYXJ5UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRQYXlvdXRTdW1tYXJ5UmVxdWVzdD5yKSA6IG5ldyBHZXRQYXlvdXRTdW1tYXJ5UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldFBheW91dFN1bW1hcnlSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuTWVyY2hhbnRTZXJ2aWNlL0dldFBheW91dFN1bW1hcnlcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRQYXlvdXRTdW1tYXJ5UmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgbGlzdFJldGFpbFBheW91dHMocjogTGlzdFJldGFpbFBheW91dHNSZXF1ZXN0IHwgTGlzdFJldGFpbFBheW91dHNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxMaXN0UmV0YWlsUGF5b3V0c1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxMaXN0UmV0YWlsUGF5b3V0c1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8TGlzdFJldGFpbFBheW91dHNSZXF1ZXN0PnIpIDogbmV3IExpc3RSZXRhaWxQYXlvdXRzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PExpc3RSZXRhaWxQYXlvdXRzUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLk1lcmNoYW50U2VydmljZS9MaXN0UmV0YWlsUGF5b3V0c1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IExpc3RSZXRhaWxQYXlvdXRzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0UmV0YWlsUGF5b3V0KHI6IEdldFJldGFpbFBheW91dFJlcXVlc3QgfCBHZXRSZXRhaWxQYXlvdXRSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRSZXRhaWxQYXlvdXRSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0UmV0YWlsUGF5b3V0UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRSZXRhaWxQYXlvdXRSZXF1ZXN0PnIpIDogbmV3IEdldFJldGFpbFBheW91dFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRSZXRhaWxQYXlvdXRSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuTWVyY2hhbnRTZXJ2aWNlL0dldFJldGFpbFBheW91dFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldFJldGFpbFBheW91dFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGNyZWF0ZVJlcG9ydFJ1bihyOiBDcmVhdGVNZXJjaGFudFNlcnZpY2VzUmVwb3J0UnVuIHwgQ3JlYXRlTWVyY2hhbnRTZXJ2aWNlc1JlcG9ydFJ1bkludGVyZmFjZSk6IE9ic2VydmFibGU8TWVyY2hhbnRTZXJ2aWNlc1JlcG9ydFJ1bj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8Q3JlYXRlTWVyY2hhbnRTZXJ2aWNlc1JlcG9ydFJ1bj5yKS50b0FwaUpzb24pID8gKDxDcmVhdGVNZXJjaGFudFNlcnZpY2VzUmVwb3J0UnVuPnIpIDogbmV3IENyZWF0ZU1lcmNoYW50U2VydmljZXNSZXBvcnRSdW4ocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxNZXJjaGFudFNlcnZpY2VzUmVwb3J0UnVuSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5NZXJjaGFudFNlcnZpY2UvQ3JlYXRlUmVwb3J0UnVuXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTWVyY2hhbnRTZXJ2aWNlc1JlcG9ydFJ1bi5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRSZXBvcnRSdW4ocjogR2V0TWVyY2hhbnRTZXJ2aWNlc1JlcG9ydFJ1biB8IEdldE1lcmNoYW50U2VydmljZXNSZXBvcnRSdW5JbnRlcmZhY2UpOiBPYnNlcnZhYmxlPE1lcmNoYW50U2VydmljZXNSZXBvcnRSdW4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldE1lcmNoYW50U2VydmljZXNSZXBvcnRSdW4+cikudG9BcGlKc29uKSA/ICg8R2V0TWVyY2hhbnRTZXJ2aWNlc1JlcG9ydFJ1bj5yKSA6IG5ldyBHZXRNZXJjaGFudFNlcnZpY2VzUmVwb3J0UnVuKHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TWVyY2hhbnRTZXJ2aWNlc1JlcG9ydFJ1bkludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuTWVyY2hhbnRTZXJ2aWNlL0dldFJlcG9ydFJ1blwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IE1lcmNoYW50U2VydmljZXNSZXBvcnRSdW4uZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgXG59XG4iXX0=
@@ -0,0 +1,40 @@
1
+ import * as e from '../enums';
2
+ export function enumStringToValue(enumRef, value) {
3
+ if (typeof value === 'number') {
4
+ return value;
5
+ }
6
+ return enumRef[value];
7
+ }
8
+ export class Fee {
9
+ constructor(kwargs) {
10
+ if (!kwargs) {
11
+ return;
12
+ }
13
+ Object.assign(this, kwargs);
14
+ }
15
+ static fromProto(proto) {
16
+ let m = new Fee();
17
+ m = Object.assign(m, proto);
18
+ if (proto.amountType) {
19
+ m.amountType = enumStringToValue(e.FeeAmountType, proto.amountType);
20
+ }
21
+ if (proto.feeType) {
22
+ m.feeType = enumStringToValue(e.FeeType, proto.feeType);
23
+ }
24
+ return m;
25
+ }
26
+ toApiJson() {
27
+ const toReturn = {};
28
+ if (typeof this.amount !== 'undefined') {
29
+ toReturn['amount'] = this.amount;
30
+ }
31
+ if (typeof this.amountType !== 'undefined') {
32
+ toReturn['amountType'] = this.amountType;
33
+ }
34
+ if (typeof this.feeType !== 'undefined') {
35
+ toReturn['feeType'] = this.feeType;
36
+ }
37
+ return toReturn;
38
+ }
39
+ }
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vYmlsbGluZ19zZGsvc3JjL2xpYi9faW50ZXJuYWwvb2JqZWN0cy9mZWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsT0FBTyxLQUFLLENBQUMsTUFBTSxVQUFVLENBQUM7QUFFOUIsTUFBTSxVQUFVLGlCQUFpQixDQUFJLE9BQVksRUFBRSxLQUFhO0lBQzlELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1FBQzdCLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFDRCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN4QixDQUFDO0FBRUQsTUFBTSxPQUFPLEdBQUc7SUFhWixZQUFZLE1BQXVCO1FBQy9CLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDVCxPQUFPO1NBQ1Y7UUFDRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBYkQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFVO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDbEIsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVCLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRTtZQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUcsaUJBQWlCLENBQWtCLENBQUMsQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQUM7UUFDN0csSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxpQkFBaUIsQ0FBWSxDQUFDLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUFDO1FBQ3hGLE9BQU8sQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQVNELFNBQVM7UUFDTCxNQUFNLFFBQVEsR0FFVixFQUFFLENBQUM7UUFFUCxJQUFJLE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztTQUFDO1FBQzNFLElBQUksT0FBTyxJQUFJLENBQUMsVUFBVSxLQUFLLFdBQVcsRUFBRTtZQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1NBQUM7UUFDdkYsSUFBSSxPQUFPLElBQUksQ0FBQyxPQUFPLEtBQUssV0FBVyxFQUFFO1lBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7U0FBQztRQUM5RSxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIE9iamVjdHMuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmltcG9ydCAqIGFzIGkgZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5cbmltcG9ydCAqIGFzIGUgZnJvbSAnLi4vZW51bXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZW51bVN0cmluZ1RvVmFsdWU8RT4oZW51bVJlZjogYW55LCB2YWx1ZTogc3RyaW5nKTogRSB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG4gIHJldHVybiBlbnVtUmVmW3ZhbHVlXTtcbn1cblxuZXhwb3J0IGNsYXNzIEZlZSBpbXBsZW1lbnRzIGkuRmVlSW50ZXJmYWNlIHtcbiAgICBhbW91bnQ6IG51bWJlcjtcbiAgICBhbW91bnRUeXBlOiBlLkZlZUFtb3VudFR5cGU7XG4gICAgZmVlVHlwZTogZS5GZWVUeXBlO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogRmVlIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgRmVlKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLmFtb3VudFR5cGUpIHttLmFtb3VudFR5cGUgPSBlbnVtU3RyaW5nVG9WYWx1ZTxlLkZlZUFtb3VudFR5cGU+KGUuRmVlQW1vdW50VHlwZSwgcHJvdG8uYW1vdW50VHlwZSk7fVxuICAgICAgICBpZiAocHJvdG8uZmVlVHlwZSkge20uZmVlVHlwZSA9IGVudW1TdHJpbmdUb1ZhbHVlPGUuRmVlVHlwZT4oZS5GZWVUeXBlLCBwcm90by5mZWVUeXBlKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuRmVlSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYW1vdW50ICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydhbW91bnQnXSA9IHRoaXMuYW1vdW50O31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmFtb3VudFR5cGUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2Ftb3VudFR5cGUnXSA9IHRoaXMuYW1vdW50VHlwZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5mZWVUeXBlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydmZWVUeXBlJ10gPSB0aGlzLmZlZVR5cGU7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG4iXX0=
@@ -18,7 +18,7 @@ export { AppliedTaxRate, } from './applied-tax-rate';
18
18
  export { FieldMask, } from './field-mask';
19
19
  export { ArchiveTaxRequest, CalculateTaxRequest, CalculateTaxResponse, CreateTaxRequest, ListTaxRequestFilters, GetMultiTaxRequest, GetMultiTaxResponse, ListTaxRequest, ListTaxResponse, TaxRate, UpdateTaxRequest, } from './tax-rate';
20
20
  export { AppliedBundle, AppliedBundleItem, } from './applied-bundle';
21
- export { AddBundleRequest, AddBundleResponse, AddLineItemRequest, AddLineItemResponse, ChargeInvoiceRequest, CreateInvoiceRequest, CreateInvoiceResponse, InvoiceCustomerAddress, ListInvoicesRequestFiltersDateFilter, DeleteInvoiceRequest, DeleteLineItemRequest, DeleteLineItemResponse, DuplicateInvoiceRequest, DuplicateInvoiceResponse, ListInvoicesRequestFilters, GetInvoiceRequest, GetInvoiceResponse, Invoice, InvoiceItem, ListInvoicesRequest, ListInvoicesResponse, PayInvoiceRequest, RemoveBundleRequest, RemoveBundleResponse, SendInvoiceRequest, UpdateBundleRequest, UpdateBundleResponse, UpdateDefaultTaxRatesRequest, UpdateDefaultTaxRatesResponse, UpdateInvoiceRequest, UpdateInvoiceResponse, UpdateLineItemRequest, UpdateLineItemResponse, VoidInvoiceRequest, } from './invoice';
21
+ export { AddBundleRequest, AddBundleResponse, AddLineItemRequest, AddLineItemResponse, ChargeInvoiceRequest, CreateInvoiceRequest, CreateInvoiceResponse, CreatePaymentLinkRequest, CreatePaymentLinkResponse, InvoiceCustomerAddress, ListInvoicesRequestFiltersDateFilter, DeleteInvoiceRequest, DeleteLineItemRequest, DeleteLineItemResponse, DuplicateInvoiceRequest, DuplicateInvoiceResponse, ListInvoicesRequestFilters, GetInvoiceRequest, GetInvoiceResponse, Invoice, InvoiceItem, ListInvoicesRequest, ListInvoicesResponse, PayInvoiceRequest, PaymentLinkItem, RemoveBundleRequest, RemoveBundleResponse, SendInvoiceRequest, UpdateBundleRequest, UpdateBundleResponse, UpdateDefaultTaxRatesRequest, UpdateDefaultTaxRatesResponse, UpdateInvoiceRequest, UpdateInvoiceResponse, UpdateLineItemRequest, UpdateLineItemResponse, VoidInvoiceRequest, } from './invoice';
22
22
  export { Balance, } from './balance';
23
23
  export { DateRange, } from './date-range';
24
24
  export { ListPayoutsRequestFilters, ListPayoutsRequest, ListPayoutsResponse, Payout, ReconcilePayoutRequest, ReconcilePayoutResponse, RetailPayout, } from './payout';
@@ -27,6 +27,7 @@ export { ListMerchantBillingReportsRequest, ListMerchantBillingReportsResponse,
27
27
  export { CreateMeteredComponentRequest, MeteredComponent, TickComponentUsageRequest, } from './metered-component';
28
28
  export { RetailPaymentCardDetails, CloseRetailDisputeRequest, ConfigureRetailPaymentProviderRequest, ConfigureRetailPaymentProviderResponse, ConfirmRetailPaymentRequest, Dispute, DisputeEvidence, SubmitEvidenceRequestDisputeEvidence, DisputeEvidenceDetails, File, GetRetailDisputeRequest, GetRetailDisputeResponse, GetRetailPaymentProviderRequest, GetRetailPaymentProviderResponse, GetRetailPaymentRequest, GetRetailPaymentResponse, ListPaymentRequestListPaymentFilters, ListPaymentRequest, ListPaymentResponse, ListRetailDisputesRequest, ListRetailDisputesResponse, ListRetailPaymentsRequestListRetailPaymentsFilters, ListRetailPaymentsRequest, ListRetailPaymentsResponse, PrepareRetailPaymentRequestOrder, Payment, PaymentPaymentAllocation, PrepareRetailPaymentRequest, PrepareRetailPaymentResponse, RetailPayment, RetailPaymentsEnabledRequest, RetailPaymentsEnabledResponse, RetailStatusRequest, RetailStatusResponse, SubmitEvidenceRequest, UpdateRetailPaymentProviderRequest, RetailStatusResponseVerificationError, RetailStatusResponseVerificationRequirements, } from './payment';
29
29
  export { CreatePaymentCardRequest, DeletePaymentCardRequest, ListPaymentCardsRequest, ListPaymentCardsResponse, PaymentCard, SetDefaultPaymentMethodRequest, UpdatePaymentCardRequest, } from './payment-card';
30
+ export { Fee, } from './fee';
30
31
  export { ComponentPricing, CreatePricingPlanRequest, CreatePricingPlanResponse, GetMultiPricingPlanRequest, GetMultiPricingPlanResponse, PricingPlan, PricingPlanProductPricing, ProductPricingRule, UpdatePricingPlanRequest, UpdatePricingPlanResponse, } from './pricing-plan';
31
32
  export { CreatePricingPlanProductRequest, CreatePricingPlanProductResponse, DeletePricingPlanProductRequest, GetMultiPricingPlanProductRequest, GetMultiPricingPlanProductResponse, GetPricingPlanProductRequest, GetPricingPlanProductResponse, ListPricingPlanProductsRequestListPricingPlanProductsFilters, ListPricingPlanProductsRequest, ListPricingPlanProductsResponse, PricingPlanProductPricingEntry, CreatePricingPlanProductRequestPricingEntry, UpdatePricingPlanProductRequestPricingEntry, PricingPlanProduct, UpdatePricingPlanProductRequest, UpdatePricingPlanProductResponse, UpsertWholesalePricingRequest, } from './pricing-plan-product';
32
33
  export { CreateProductRequest, DeleteProductRequest, GetMultiProductRequest, GetMultiProductResponse, ListProductsRequestListProductsFilters, ListProductsRequest, ListProductsResponse, Product, GetMultiProductResponseProductsEntry, UpdateProductRequest, } from './product';
@@ -41,7 +42,8 @@ export { ContractDocument, DeleteContractDocumentRequest, ListContractDocumentsR
41
42
  export { GetRetailCustomerConfigurationRequest, GetRetailCustomerConfigurationResponse, RetailCustomerConfiguration, UpsertRetailCustomerConfigurationRequest, } from './retail-customer-configuration';
42
43
  export { AddCreditRequest, CreditBalance, GetBalanceRequest, GetBalanceResponse, } from './credit';
43
44
  export { AddTemplateBundleRequest, AddTemplateBundleResponse, AddTemplateLineItemRequest, AddTemplateLineItemResponse, CreateTemplateRequest, CreateTemplateResponse, DeleteInvoiceTemplateRequest, DeleteTemplateLineItemRequest, DeleteTemplateLineItemResponse, GetInvoiceTemplateRequest, GetInvoiceTemplateResponse, InvoiceTemplate, InvoiceTemplateItem, UpsertInvoiceTemplateRequestInvoiceTemplateItemRequest, UpdateTemplateBundleRequest, UpdateTemplateBundleResponse, UpdateTemplateDefaultTaxRatesRequest, UpdateTemplateDefaultTaxRatesResponse, UpdateTemplateLineItemRequest, UpdateTemplateLineItemResponse, UpsertInvoiceTemplateRequest, UpsertInvoiceTemplateResponse, } from './invoice-template';
44
- export { DeleteRecurringInvoiceRequest, GetRecurringInvoiceRequest, ListRecurringInvoicesRequest, ListRecurringInvoicesResponse, RecurringInvoice, RecurringInvoiceBundle, RecurringInvoiceItem, RecurringInvoiceLineItem, UpdateRecurringInvoiceRequest, } from './recurring-invoice';
45
+ export { DeleteRecurringInvoiceRequest, GetRecurringInvoiceRequest, ListRecurringInvoicesFilters, ListRecurringInvoicesRequest, ListRecurringInvoicesResponse, RecurringInvoice, RecurringInvoiceBundle, RecurringInvoiceItem, RecurringInvoiceLineItem, UpdateRecurringInvoiceRequest, } from './recurring-invoice';
46
+ export { CreateMerchantServicesReportRun, GetMerchantServicesReportRun, MerchantServicesReportRun, } from './report-run';
45
47
  export { Access, } from './annotations';
46
48
  export { DeleteRetailPricingRequest, GenerateBillableItemsCSVRequest, GenerateBillableItemsCSVResponse, GenerateVendorReportRequest, GenerateVendorReportResponse, GetMultiBundleRetailPricingRequest, GetMultiBundleRetailPricingResponse, GetMultiProductPricingRequest, GetMultiProductPricingResponse, GetMultiRetailPricingRequest, GetMultiRetailPricingResponse, GetMultiWholesaleCostRequest, GetMultiWholesaleCostResponse, GetPurchaseCostRequest, GetPurchaseCostResponse, GetRevenueStatsRequest, GetRevenueStatsResponse, GetStatisticsRequest, GetStatisticsResponse, GetWholesaleComparisonRequestGetWholesaleComparisonFilters, GetWholesaleComparisonRequest, GetWholesaleComparisonResponse, GetWholesaleComparisonResponseGetWholesaleComparisonResult, GetMultiBundleRetailPricingResponsePricesEntry, UpsertRetailPricingRequestPricingEntry, GetMultiRetailPricingResponseProductPricesEntry, GetMultiProductPricingResponseProductPricesEntry, SetWholesaleProductStrategyRequest, SetWholesaleProductVolumeCommitmentRequest, StartRevRecTemplateBackfillRequest, UpsertRetailPricingRequest, } from './api';
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9iaWxsaW5nX3Nkay9zcmMvbGliL19pbnRlcm5hbC9vYmplY3RzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQztBQUNwQywyQkFBMkI7QUFDM0IsZ0JBQWdCO0FBQ2hCLEVBQUU7QUFDRixpQkFBaUI7QUFDakIsb0NBQW9DO0FBQ3BDLE9BQU8sRUFDSCxtQkFBbUIsRUFDbkIscUJBQXFCLEdBQ3hCLE1BQU0sVUFBVSxDQUFDO0FBS2xCLE9BQU8sRUFDSCxlQUFlLEVBQ2Ysd0JBQXdCLEVBQ3hCLHlCQUF5QixFQUN6QixZQUFZLEVBQ1osa0JBQWtCLEVBQ2xCLDJCQUEyQixFQUMzQix5QkFBeUIsRUFDekIseUJBQXlCLEVBQ3pCLCtCQUErQixFQUMvQixzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLDRCQUE0QixFQUM1Qiw2QkFBNkIsRUFDN0IsSUFBSSxFQUNKLCtCQUErQixFQUMvQix3QkFBd0IsRUFDeEIseUJBQXlCLEdBQzVCLE1BQU0saUJBQWlCLENBQUM7QUFFekIsT0FBTyxFQUNILGVBQWUsR0FDbEIsTUFBTSxvQkFBb0IsQ0FBQztBQUU1QixPQUFPLEVBQ0gsTUFBTSxFQUNOLFVBQVUsRUFDVixhQUFhLEVBQ2Isa0NBQWtDLEVBQ2xDLHlCQUF5QixFQUN6QixxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsZUFBZSxFQUNmLDhCQUE4QixFQUM5QixtQkFBbUIsR0FDdEIsTUFBTSxVQUFVLENBQUM7QUFFbEIsT0FBTyxFQUNILFVBQVUsR0FDYixNQUFNLGNBQWMsQ0FBQztBQUt0QixPQUFPLEVBQ0gsUUFBUSxFQUNSLHVDQUF1QyxFQUN2QyxxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsd0JBQXdCLEVBQ3hCLHlCQUF5QixFQUN6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QWtDLEVBQ2xDLDBCQUEwQixHQUM3QixNQUFNLE9BQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gQ29kZSBnZW5lcmF0ZWQgYnkgc2RrZ2VuXG4vLyBETyBOT1QgRURJVCEuXG4vL1xuLy8gT2JqZWN0cyBJbmRleC5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuZXhwb3J0IHtcbiAgICBQYWdlZFJlcXVlc3RPcHRpb25zLFxuICAgIFBhZ2VkUmVzcG9uc2VNZXRhZGF0YSxcbn0gZnJvbSAnLi9jb21tb24nO1xuXG5leHBvcnQge1xufSBmcm9tICcuL2ZyZXF1ZW5jeSc7XG5cbmV4cG9ydCB7XG4gICAgQmlsbEl0ZW1SZXF1ZXN0LFxuICAgIEJpbGxNdWx0aXBsZUl0ZW1zUmVxdWVzdCxcbiAgICBCaWxsTXVsdGlwbGVJdGVtc1Jlc3BvbnNlLFxuICAgIEJpbGxhYmxlSXRlbSxcbiAgICBDYW5CaWxsSXRlbVJlcXVlc3QsXG4gICAgQmlsbGFibGVJdGVtQ3VzdG9tZXJBZGRyZXNzLFxuICAgIERlbGV0ZUJpbGxhYmxlSXRlbVJlcXVlc3QsXG4gICAgRXhwaXJlQmlsbGFibGVJdGVtUmVxdWVzdCxcbiAgICBMaXN0QmlsbGFibGVJdGVtc1JlcXVlc3RGaWx0ZXJzLFxuICAgIEdldEJpbGxhYmxlSXRlbVJlcXVlc3QsXG4gICAgR2V0QmlsbGFibGVJdGVtUmVzcG9uc2UsXG4gICAgR2V0TXVsdGlTdWJzY3JpcHRpb25zUmVxdWVzdCxcbiAgICBHZXRNdWx0aVN1YnNjcmlwdGlvbnNSZXNwb25zZSxcbiAgICBJdGVtLFxuICAgIEdldE11bHRpU3Vic2NyaXB0aW9uc1JlcXVlc3RLZXksXG4gICAgTGlzdEJpbGxhYmxlSXRlbXNSZXF1ZXN0LFxuICAgIExpc3RCaWxsYWJsZUl0ZW1zUmVzcG9uc2UsXG59IGZyb20gJy4vYmlsbGFibGUtaXRlbSc7XG5cbmV4cG9ydCB7XG4gICAgQXBwbGllZERpc2NvdW50LFxufSBmcm9tICcuL2FwcGxpZWQtZGlzY291bnQnO1xuXG5leHBvcnQge1xuICAgIEJ1bmRsZSxcbiAgICBCdW5kbGVJdGVtLFxuICAgIEJ1bmRsZVByaWNpbmcsXG4gICAgR2V0TXVsdGlCdW5kbGVSZXNwb25zZUJ1bmRsZXNFbnRyeSxcbiAgICBMaXN0QnVuZGxlc1JlcXVlc3RGaWx0ZXJzLFxuICAgIEdldE11bHRpQnVuZGxlUmVxdWVzdCxcbiAgICBHZXRNdWx0aUJ1bmRsZVJlc3BvbnNlLFxuICAgIExpc3RCdW5kbGVzUmVxdWVzdCxcbiAgICBMaXN0QnVuZGxlc1Jlc3BvbnNlLFxuICAgIEJ1bmRsZUl0ZW1QcmljZSxcbiAgICBCdW5kbGVQcmljaW5nUHJpY2VBbmRGcmVxdWVuY3ksXG4gICAgVXBzZXJ0QnVuZGxlUmVxdWVzdCxcbn0gZnJvbSAnLi9idW5kbGUnO1xuXG5leHBvcnQge1xuICAgIENvbW1pdG1lbnQsXG59IGZyb20gJy4vY29tbWl0bWVudCc7XG5cbmV4cG9ydCB7XG59IGZyb20gJy4vY3VycmVuY3knO1xuXG5leHBvcnQge1xuICAgIENvbnRyYWN0LFxuICAgIEdldE11bHRpQ29udHJhY3RzUmVzcG9uc2VDb250cmFjdHNFbnRyeSxcbiAgICBDcmVhdGVDb250cmFjdFJlcXVlc3QsXG4gICAgQ3JlYXRlQ29udHJhY3RSZXNwb25zZSxcbiAgICBHZXRDb250cmFjdFJlcXVlc3QsXG4gICAgR2V0Q29udHJhY3RSZXNwb25zZSxcbiAgICBHZXRNdWx0aUNvbnRyYWN0c1JlcXVlc3QsXG4gICAgR2V0TXVsdGlDb250cmFjdHNSZXNwb25zZSxcbiAgICBMaXN0Q29udHJhY3RzUmVxdWVzdCxcbiAgICBMaXN0Q29udHJhY3RzUmVzcG9uc2UsXG4gICAgVXBkYXRlQ29udHJhY3RSZXF1ZXN0TXV0YXRpb24sXG4gICAgUmVzZXRDb250cmFjdFByaWNpbmdSZXF1ZXN0LFxuICAgIFVwZGF0ZUNvbnRyYWN0UmVxdWVzdCxcbiAgICBVcGRhdGVDb250cmFjdFJlc3BvbnNlLFxuICAgIFVwZGF0ZUNvbnRyYWN0U3Vic2NyaXB0aW9uUmVxdWVzdCxcbn0gZnJvbSAnLi9jb250cmFjdCc7XG5cbmV4cG9ydCB7XG4gICAgQ3VzdG9tZXJTdW1tYXJ5LFxuICAgIEdldE11bHRpQ3VzdG9tZXJTdW1tYXJpZXNSZXF1ZXN0LFxuICAgIEdldE11bHRpQ3VzdG9tZXJTdW1tYXJpZXNSZXNwb25zZSxcbn0gZnJvbSAnLi9jdXN0b21lci1zdW1tYXJ5JztcblxuZXhwb3J0IHtcbiAgICBCYW5rQWNjb3VudCxcbiAgICBDcmVhdGVTdHJpcGVFeHRlcm5hbEFjY291bnRSZXF1ZXN0LFxuICAgIERlbGV0ZUJhbmtBY2NvdW50UmVxdWVzdCxcbiAgICBMaXN0QmFua0FjY291bnRzUmVxdWVzdCxcbiAgICBMaXN0QmFua0FjY291bnRzUmVzcG9uc2UsXG4gICAgU2V0RGVmYXVsdEJhbmtBY2NvdW50UmVxdWVzdCxcbn0gZnJvbSAnLi9leHRlcm5hbC1hY2NvdW50JztcblxuZXhwb3J0IHtcbiAgICBQcm9kdWN0U3VtbWFyeURpc2NvdW50LFxuICAgIExpc3RTdWJzY3JpcHRpb25SZXRlbnRpb25SZXF1ZXN0RmlsdGVycyxcbiAgICBHZXRQcm9kdWN0U3VtbWFyaWVzVG90YWxSZXF1ZXN0LFxuICAgIEdldFByb2R1Y3RTdW1tYXJpZXNUb3RhbFJlc3BvbnNlLFxuICAgIExpc3RQcm9kdWN0U3VtbWFyaWVzUmVxdWVzdCxcbiAgICBMaXN0UHJvZHVjdFN1bW1hcmllc1Jlc3BvbnNlLFxuICAgIExpc3RTdWJzY3JpcHRpb25SZXRlbnRpb25CeUdyb3VwUmVzcG9uc2UsXG4gICAgTGlzdFN1YnNjcmlwdGlvblJldGVudGlvbkJ5U0tVUmVzcG9uc2UsXG4gICAgTGlzdFN1YnNjcmlwdGlvblJldGVudGlvblJlcXVlc3QsXG4gICAgUHJpY2luZyxcbiAgICBQcm9kdWN0U3VtbWFyeSxcbiAgICBSZXRlbnRpb25NZXRyaWNzLFxuICAgIFByaWNpbmdSdWxlLFxuICAgIExpc3RTdWJzY3JpcHRpb25SZXRlbnRpb25CeUdyb3VwUmVzcG9uc2VTdWJzY3JpcHRpb25SZXRlbnRpb25CeUdyb3VwLFxufSBmcm9tICcuL3Byb2R1Y3Qtc3VtbWFyeSc7XG5cbmV4cG9ydCB7XG4gICAgQ3JlYXRlRGlzY291bnRSZXF1ZXN0LFxuICAgIERpc2NvdW50LFxuICAgIEV4cGlyZURpc2NvdW50UmVxdWVzdCxcbiAgICBMaXN0RGlzY291bnRzUmVxdWVzdEZpbHRlcnMsXG4gICAgTGlzdERpc2NvdW50c1JlcXVlc3QsXG4gICAgTGlzdERpc2NvdW50c1Jlc3BvbnNlLFxuICAgIFVwZGF0ZURpc2NvdW50UmVxdWVzdCxcbn0gZnJvbSAnLi9kaXNjb3VudCc7XG5cbmV4cG9ydCB7XG4gICAgQXBwbGllZFRheFJhdGUsXG59IGZyb20gJy4vYXBwbGllZC10YXgtcmF0ZSc7XG5cbmV4cG9ydCB7XG4gICAgRmllbGRNYXNrLFxufSBmcm9tICcuL2ZpZWxkLW1hc2snO1xuXG5leHBvcnQge1xuICAgIEFyY2hpdmVUYXhSZXF1ZXN0LFxuICAgIENhbGN1bGF0ZVRheFJlcXVlc3QsXG4gICAgQ2FsY3VsYXRlVGF4UmVzcG9uc2UsXG4gICAgQ3JlYXRlVGF4UmVxdWVzdCxcbiAgICBMaXN0VGF4UmVxdWVzdEZpbHRlcnMsXG4gICAgR2V0TXVsdGlUYXhSZXF1ZXN0LFxuICAgIEdldE11bHRpVGF4UmVzcG9uc2UsXG4gICAgTGlzdFRheFJlcXVlc3QsXG4gICAgTGlzdFRheFJlc3BvbnNlLFxuICAgIFRheFJhdGUsXG4gICAgVXBkYXRlVGF4UmVxdWVzdCxcbn0gZnJvbSAnLi90YXgtcmF0ZSc7XG5cbmV4cG9ydCB7XG4gICAgQXBwbGllZEJ1bmRsZSxcbiAgICBBcHBsaWVkQnVuZGxlSXRlbSxcbn0gZnJvbSAnLi9hcHBsaWVkLWJ1bmRsZSc7XG5cbmV4cG9ydCB7XG4gICAgQWRkQnVuZGxlUmVxdWVzdCxcbiAgICBBZGRCdW5kbGVSZXNwb25zZSxcbiAgICBBZGRMaW5lSXRlbVJlcXVlc3QsXG4gICAgQWRkTGluZUl0ZW1SZXNwb25zZSxcbiAgICBDaGFyZ2VJbnZvaWNlUmVxdWVzdCxcbiAgICBDcmVhdGVJbnZvaWNlUmVxdWVzdCxcbiAgICBDcmVhdGVJbnZvaWNlUmVzcG9uc2UsXG4gICAgSW52b2ljZUN1c3RvbWVyQWRkcmVzcyxcbiAgICBMaXN0SW52b2ljZXNSZXF1ZXN0RmlsdGVyc0RhdGVGaWx0ZXIsXG4gICAgRGVsZXRlSW52b2ljZVJlcXVlc3QsXG4gICAgRGVsZXRlTGluZUl0ZW1SZXF1ZXN0LFxuICAgIERlbGV0ZUxpbmVJdGVtUmVzcG9uc2UsXG4gICAgRHVwbGljYXRlSW52b2ljZVJlcXVlc3QsXG4gICAgRHVwbGljYXRlSW52b2ljZVJlc3BvbnNlLFxuICAgIExpc3RJbnZvaWNlc1JlcXVlc3RGaWx0ZXJzLFxuICAgIEdldEludm9pY2VSZXF1ZXN0LFxuICAgIEdldEludm9pY2VSZXNwb25zZSxcbiAgICBJbnZvaWNlLFxuICAgIEludm9pY2VJdGVtLFxuICAgIExpc3RJbnZvaWNlc1JlcXVlc3QsXG4gICAgTGlzdEludm9pY2VzUmVzcG9uc2UsXG4gICAgUGF5SW52b2ljZVJlcXVlc3QsXG4gICAgUmVtb3ZlQnVuZGxlUmVxdWVzdCxcbiAgICBSZW1vdmVCdW5kbGVSZXNwb25zZSxcbiAgICBTZW5kSW52b2ljZVJlcXVlc3QsXG4gICAgVXBkYXRlQnVuZGxlUmVxdWVzdCxcbiAgICBVcGRhdGVCdW5kbGVSZXNwb25zZSxcbiAgICBVcGRhdGVEZWZhdWx0VGF4UmF0ZXNSZXF1ZXN0LFxuICAgIFVwZGF0ZURlZmF1bHRUYXhSYXRlc1Jlc3BvbnNlLFxuICAgIFVwZGF0ZUludm9pY2VSZXF1ZXN0LFxuICAgIFVwZGF0ZUludm9pY2VSZXNwb25zZSxcbiAgICBVcGRhdGVMaW5lSXRlbVJlcXVlc3QsXG4gICAgVXBkYXRlTGluZUl0ZW1SZXNwb25zZSxcbiAgICBWb2lkSW52b2ljZVJlcXVlc3QsXG59IGZyb20gJy4vaW52b2ljZSc7XG5cbmV4cG9ydCB7XG4gICAgQmFsYW5jZSxcbn0gZnJvbSAnLi9iYWxhbmNlJztcblxuZXhwb3J0IHtcbiAgICBEYXRlUmFuZ2UsXG59IGZyb20gJy4vZGF0ZS1yYW5nZSc7XG5cbmV4cG9ydCB7XG4gICAgTGlzdFBheW91dHNSZXF1ZXN0RmlsdGVycyxcbiAgICBMaXN0UGF5b3V0c1JlcXVlc3QsXG4gICAgTGlzdFBheW91dHNSZXNwb25zZSxcbiAgICBQYXlvdXQsXG4gICAgUmVjb25jaWxlUGF5b3V0UmVxdWVzdCxcbiAgICBSZWNvbmNpbGVQYXlvdXRSZXNwb25zZSxcbiAgICBSZXRhaWxQYXlvdXQsXG59IGZyb20gJy4vcGF5b3V0JztcblxuZXhwb3J0IHtcbn0gZnJvbSAnLi9zb3J0LWRpcmVjdGlvbic7XG5cbmV4cG9ydCB7XG4gICAgQ2hhcmdlU2FsZXNJbnZvaWNlUmVxdWVzdCxcbiAgICBDb25uZWN0U3RyaXBlQWNjb3VudFJlcXVlc3QsXG4gICAgQ29ubmVjdFN0cmlwZUFjY291bnRSZXNwb25zZSxcbiAgICBDcmVhdGVNZXJjaGFudFJlcXVlc3QsXG4gICAgRGVmYXVsdEN1c3RvbWVyQ29uZmlndXJhdGlvbixcbiAgICBHZXRNZXJjaGFudFJlcXVlc3QsXG4gICAgR2V0TWVyY2hhbnRSZXNwb25zZSxcbiAgICBHZXRNdWx0aVJldGFpbENvbmZpZ3VyYXRpb25zUmVxdWVzdCxcbiAgICBHZXRNdWx0aVJldGFpbENvbmZpZ3VyYXRpb25zUmVzcG9uc2UsXG4gICAgR2V0T3V0c3RhbmRpbmdCYWxhbmNlUmVxdWVzdCxcbiAgICBHZXRPdXRzdGFuZGluZ0JhbGFuY2VSZXNwb25zZSxcbiAgICBHZXRQYXlvdXRTdW1tYXJ5UmVxdWVzdCxcbiAgICBHZXRQYXlvdXRTdW1tYXJ5UmVzcG9uc2UsXG4gICAgR2V0UmV0YWlsQmFsYW5jZVJlcXVlc3QsXG4gICAgR2V0UmV0YWlsQmFsYW5jZVJlc3BvbnNlLFxuICAgIEdldFJldGFpbFBheW91dFJlcXVlc3QsXG4gICAgR2V0UmV0YWlsUGF5b3V0UmVzcG9uc2UsXG4gICAgQ3JlYXRlTWVyY2hhbnRSZXF1ZXN0SW5jbHVkZUluRmluYW5jaWFsUmVjb3JkcyxcbiAgICBVcGRhdGVNZXJjaGFudFJlcXVlc3RJbmNsdWRlSW5GaW5hbmNpYWxSZWNvcmRzLFxuICAgIExpc3RSZXRhaWxQYXlvdXRzUmVxdWVzdCxcbiAgICBMaXN0UmV0YWlsUGF5b3V0c1Jlc3BvbnNlLFxuICAgIE1lcmNoYW50LFxuICAgIFJldGFpbENvbmZpZ3VyYXRpb24sXG4gICAgR2V0TXVsdGlSZXRhaWxDb25maWd1cmF0aW9uc1Jlc3BvbnNlUmV0YWlsQ29uZmlndXJhdGlvbnNFbnRyeSxcbiAgICBTZWFyY2hNZXJjaGFudHNSZXF1ZXN0LFxuICAgIFNlYXJjaE1lcmNoYW50c1Jlc3BvbnNlLFxuICAgIFNldEF1dG9DaGFyZ2VJbnZvaWNlc1JlcXVlc3QsXG4gICAgU2V0QXV0b1Bvc3RJbnZvaWNlc1JlcXVlc3QsXG4gICAgU2V0RGVmYXVsdFBheW1lbnRDYXJkUmVxdWVzdCxcbiAgICBTZXRIYXNBbHRlcm5hdGl2ZVBheW1lbnRNZXRob2RSZXF1ZXN0LFxuICAgIFNldEluY2x1ZGVJbkZpbmFuY2lhbFJlY29yZHNSZXF1ZXN0LFxuICAgIFVwZGF0ZU1lcmNoYW50UmVxdWVzdCxcbiAgICBVcHNlcnREZWZhdWx0UmV0YWlsQ3VzdG9tZXJDb25maWd1cmF0aW9uUmVxdWVzdCxcbiAgICBVcHNlcnRSZXRhaWxDb25maWd1cmF0aW9uUmVxdWVzdCxcbn0gZnJvbSAnLi9tZXJjaGFudCc7XG5cbmV4cG9ydCB7XG59IGZyb20gJy4vbW9udGgnO1xuXG5leHBvcnQge1xuICAgIExpc3RNZXJjaGFudEJpbGxpbmdSZXBvcnRzUmVxdWVzdCxcbiAgICBMaXN0TWVyY2hhbnRCaWxsaW5nUmVwb3J0c1Jlc3BvbnNlLFxuICAgIE1lcmNoYW50UmVwb3J0LFxufSBmcm9tICcuL21lcmNoYW50LXJlcG9ydCc7XG5cbmV4cG9ydCB7XG4gICAgQ3JlYXRlTWV0ZXJlZENvbXBvbmVudFJlcXVlc3QsXG4gICAgTWV0ZXJlZENvbXBvbmVudCxcbiAgICBUaWNrQ29tcG9uZW50VXNhZ2VSZXF1ZXN0LFxufSBmcm9tICcuL21ldGVyZWQtY29tcG9uZW50JztcblxuZXhwb3J0IHtcbn0gZnJvbSAnLi9jYXJkJztcblxuZXhwb3J0IHtcbiAgICBSZXRhaWxQYXltZW50Q2FyZERldGFpbHMsXG4gICAgQ2xvc2VSZXRhaWxEaXNwdXRlUmVxdWVzdCxcbiAgICBDb25maWd1cmVSZXRhaWxQYXltZW50UHJvdmlkZXJSZXF1ZXN0LFxuICAgIENvbmZpZ3VyZVJldGFpbFBheW1lbnRQcm92aWRlclJlc3BvbnNlLFxuICAgIENvbmZpcm1SZXRhaWxQYXltZW50UmVxdWVzdCxcbiAgICBEaXNwdXRlLFxuICAgIERpc3B1dGVFdmlkZW5jZSxcbiAgICBTdWJtaXRFdmlkZW5jZVJlcXVlc3REaXNwdXRlRXZpZGVuY2UsXG4gICAgRGlzcHV0ZUV2aWRlbmNlRGV0YWlscyxcbiAgICBGaWxlLFxuICAgIEdldFJldGFpbERpc3B1dGVSZXF1ZXN0LFxuICAgIEdldFJldGFpbERpc3B1dGVSZXNwb25zZSxcbiAgICBHZXRSZXRhaWxQYXltZW50UHJvdmlkZXJSZXF1ZXN0LFxuICAgIEdldFJldGFpbFBheW1lbnRQcm92aWRlclJlc3BvbnNlLFxuICAgIEdldFJldGFpbFBheW1lbnRSZXF1ZXN0LFxuICAgIEdldFJldGFpbFBheW1lbnRSZXNwb25zZSxcbiAgICBMaXN0UGF5bWVudFJlcXVlc3RMaXN0UGF5bWVudEZpbHRlcnMsXG4gICAgTGlzdFBheW1lbnRSZXF1ZXN0LFxuICAgIExpc3RQYXltZW50UmVzcG9uc2UsXG4gICAgTGlzdFJldGFpbERpc3B1dGVzUmVxdWVzdCxcbiAgICBMaXN0UmV0YWlsRGlzcHV0ZXNSZXNwb25zZSxcbiAgICBMaXN0UmV0YWlsUGF5bWVudHNSZXF1ZXN0TGlzdFJldGFpbFBheW1lbnRzRmlsdGVycyxcbiAgICBMaXN0UmV0YWlsUGF5bWVudHNSZXF1ZXN0LFxuICAgIExpc3RSZXRhaWxQYXltZW50c1Jlc3BvbnNlLFxuICAgIFByZXBhcmVSZXRhaWxQYXltZW50UmVxdWVzdE9yZGVyLFxuICAgIFBheW1lbnQsXG4gICAgUGF5bWVudFBheW1lbnRBbGxvY2F0aW9uLFxuICAgIFByZXBhcmVSZXRhaWxQYXltZW50UmVxdWVzdCxcbiAgICBQcmVwYXJlUmV0YWlsUGF5bWVudFJlc3BvbnNlLFxuICAgIFJldGFpbFBheW1lbnQsXG4gICAgUmV0YWlsUGF5bWVudHNFbmFibGVkUmVxdWVzdCxcbiAgICBSZXRhaWxQYXltZW50c0VuYWJsZWRSZXNwb25zZSxcbiAgICBSZXRhaWxTdGF0dXNSZXF1ZXN0LFxuICAgIFJldGFpbFN0YXR1c1Jlc3BvbnNlLFxuICAgIFN1Ym1pdEV2aWRlbmNlUmVxdWVzdCxcbiAgICBVcGRhdGVSZXRhaWxQYXltZW50UHJvdmlkZXJSZXF1ZXN0LFxuICAgIFJldGFpbFN0YXR1c1Jlc3BvbnNlVmVyaWZpY2F0aW9uRXJyb3IsXG4gICAgUmV0YWlsU3RhdHVzUmVzcG9uc2VWZXJpZmljYXRpb25SZXF1aXJlbWVudHMsXG59IGZyb20gJy4vcGF5bWVudCc7XG5cbmV4cG9ydCB7XG4gICAgQ3JlYXRlUGF5bWVudENhcmRSZXF1ZXN0LFxuICAgIERlbGV0ZVBheW1lbnRDYXJkUmVxdWVzdCxcbiAgICBMaXN0UGF5bWVudENhcmRzUmVxdWVzdCxcbiAgICBMaXN0UGF5bWVudENhcmRzUmVzcG9uc2UsXG4gICAgUGF5bWVudENhcmQsXG4gICAgU2V0RGVmYXVsdFBheW1lbnRNZXRob2RSZXF1ZXN0LFxuICAgIFVwZGF0ZVBheW1lbnRDYXJkUmVxdWVzdCxcbn0gZnJvbSAnLi9wYXltZW50LWNhcmQnO1xuXG5leHBvcnQge1xuICAgIENvbXBvbmVudFByaWNpbmcsXG4gICAgQ3JlYXRlUHJpY2luZ1BsYW5SZXF1ZXN0LFxuICAgIENyZWF0ZVByaWNpbmdQbGFuUmVzcG9uc2UsXG4gICAgR2V0TXVsdGlQcmljaW5nUGxhblJlcXVlc3QsXG4gICAgR2V0TXVsdGlQcmljaW5nUGxhblJlc3BvbnNlLFxuICAgIFByaWNpbmdQbGFuLFxuICAgIFByaWNpbmdQbGFuUHJvZHVjdFByaWNpbmcsXG4gICAgUHJvZHVjdFByaWNpbmdSdWxlLFxuICAgIFVwZGF0ZVByaWNpbmdQbGFuUmVxdWVzdCxcbiAgICBVcGRhdGVQcmljaW5nUGxhblJlc3BvbnNlLFxufSBmcm9tICcuL3ByaWNpbmctcGxhbic7XG5cbmV4cG9ydCB7XG4gICAgQ3JlYXRlUHJpY2luZ1BsYW5Qcm9kdWN0UmVxdWVzdCxcbiAgICBDcmVhdGVQcmljaW5nUGxhblByb2R1Y3RSZXNwb25zZSxcbiAgICBEZWxldGVQcmljaW5nUGxhblByb2R1Y3RSZXF1ZXN0LFxuICAgIEdldE11bHRpUHJpY2luZ1BsYW5Qcm9kdWN0UmVxdWVzdCxcbiAgICBHZXRNdWx0aVByaWNpbmdQbGFuUHJvZHVjdFJlc3BvbnNlLFxuICAgIEdldFByaWNpbmdQbGFuUHJvZHVjdFJlcXVlc3QsXG4gICAgR2V0UHJpY2luZ1BsYW5Qcm9kdWN0UmVzcG9uc2UsXG4gICAgTGlzdFByaWNpbmdQbGFuUHJvZHVjdHNSZXF1ZXN0TGlzdFByaWNpbmdQbGFuUHJvZHVjdHNGaWx0ZXJzLFxuICAgIExpc3RQcmljaW5nUGxhblByb2R1Y3RzUmVxdWVzdCxcbiAgICBMaXN0UHJpY2luZ1BsYW5Qcm9kdWN0c1Jlc3BvbnNlLFxuICAgIFByaWNpbmdQbGFuUHJvZHVjdFByaWNpbmdFbnRyeSxcbiAgICBDcmVhdGVQcmljaW5nUGxhblByb2R1Y3RSZXF1ZXN0UHJpY2luZ0VudHJ5LFxuICAgIFVwZGF0ZVByaWNpbmdQbGFuUHJvZHVjdFJlcXVlc3RQcmljaW5nRW50cnksXG4gICAgUHJpY2luZ1BsYW5Qcm9kdWN0LFxuICAgIFVwZGF0ZVByaWNpbmdQbGFuUHJvZHVjdFJlcXVlc3QsXG4gICAgVXBkYXRlUHJpY2luZ1BsYW5Qcm9kdWN0UmVzcG9uc2UsXG4gICAgVXBzZXJ0V2hvbGVzYWxlUHJpY2luZ1JlcXVlc3QsXG59IGZyb20gJy4vcHJpY2luZy1wbGFuLXByb2R1Y3QnO1xuXG5leHBvcnQge1xuICAgIENyZWF0ZVByb2R1Y3RSZXF1ZXN0LFxuICAgIERlbGV0ZVByb2R1Y3RSZXF1ZXN0LFxuICAgIEdldE11bHRpUHJvZHVjdFJlcXVlc3QsXG4gICAgR2V0TXVsdGlQcm9kdWN0UmVzcG9uc2UsXG4gICAgTGlzdFByb2R1Y3RzUmVxdWVzdExpc3RQcm9kdWN0c0ZpbHRlcnMsXG4gICAgTGlzdFByb2R1Y3RzUmVxdWVzdCxcbiAgICBMaXN0UHJvZHVjdHNSZXNwb25zZSxcbiAgICBQcm9kdWN0LFxuICAgIEdldE11bHRpUHJvZHVjdFJlc3BvbnNlUHJvZHVjdHNFbnRyeSxcbiAgICBVcGRhdGVQcm9kdWN0UmVxdWVzdCxcbn0gZnJvbSAnLi9wcm9kdWN0JztcblxuZXhwb3J0IHtcbiAgICBQcm9kdWN0UHJpY2VzLFxuICAgIFByb2R1Y3RQcmljaW5nLFxuICAgIFdob2xlc2FsZUNvc3RJdGVtUmVxdWVzdCxcbn0gZnJvbSAnLi9wcm9kdWN0LXByaWNpbmcnO1xuXG5leHBvcnQge1xuICAgIEFwcGxpZWRDcmVkaXQsXG4gICAgTGlzdFB1cmNoYXNlUmVxdWVzdExpc3RQdXJjaGFzZUJpbGxpbmdTdHJhdGVneUZpbHRlcixcbiAgICBMaXN0UHVyY2hhc2VSZXF1ZXN0TGlzdFB1cmNoYXNlRmlsdGVycyxcbiAgICBMaXN0UHVyY2hhc2VJdGVtc1JlcXVlc3RMaXN0UHVyY2hhc2VJdGVtc0ZpbHRlcnMsXG4gICAgTGlzdFB1cmNoYXNlSXRlbXNSZXF1ZXN0LFxuICAgIExpc3RQdXJjaGFzZUl0ZW1zUmVzcG9uc2UsXG4gICAgTGlzdFB1cmNoYXNlUmVxdWVzdCxcbiAgICBMaXN0UHVyY2hhc2VSZXNwb25zZSxcbiAgICBQdXJjaGFzZSxcbiAgICBQdXJjaGFzZUl0ZW0sXG4gICAgUmV0cnlQdXJjaGFzZVJlcXVlc3QsXG4gICAgVm9pZFB1cmNoYXNlUmVxdWVzdCxcbn0gZnJvbSAnLi9wdXJjaGFzZSc7XG5cbmV4cG9ydCB7XG4gICAgQ3JlYXRlUmVmdW5kUmVxdWVzdCxcbiAgICBMaXN0UmVmdW5kc1JlcXVlc3QsXG4gICAgTGlzdFJlZnVuZHNSZXNwb25zZSxcbiAgICBSZWZ1bmQsXG59IGZyb20gJy4vcmVmdW5kJztcblxuZXhwb3J0IHtcbiAgICBDcmVhdGVTYWxlc0NyZWRpdE5vdGVSZXF1ZXN0LFxuICAgIExpc3RTYWxlc0NyZWRpdE5vdGVSZXF1ZXN0TGlzdFNhbGVzQ3JlZGl0Tm90ZUZpbHRlcnMsXG4gICAgTGlzdFNhbGVzQ3JlZGl0Tm90ZVJlcXVlc3QsXG4gICAgTGlzdFNhbGVzQ3JlZGl0Tm90ZVJlc3BvbnNlLFxuICAgIFNhbGVzQ3JlZGl0Tm90ZSxcbn0gZnJvbSAnLi9zYWxlcy1jcmVkaXQtbm90ZSc7XG5cbmV4cG9ydCB7XG4gICAgR2V0U2FsZXNJbnZvaWNlUmVxdWVzdCxcbiAgICBHZXRTYWxlc0ludm9pY2VSZXNwb25zZSxcbiAgICBMaXN0U2FsZXNJbnZvaWNlUmVxdWVzdExpc3RTYWxlc0ludm9pY2VGaWx0ZXJzLFxuICAgIExpc3RTYWxlc0ludm9pY2VSZXF1ZXN0LFxuICAgIExpc3RTYWxlc0ludm9pY2VSZXNwb25zZSxcbiAgICBQb3N0U2FsZXNJbnZvaWNlUmVxdWVzdCxcbiAgICBTYWxlc0ludm9pY2UsXG4gICAgU2VuZFNhbGVzSW52b2ljZUVtYWlsUmVxdWVzdCxcbiAgICBTZW5kU2FsZXNJbnZvaWNlUmVjZWlwdEVtYWlsUmVxdWVzdCxcbn0gZnJvbSAnLi9zYWxlcy1pbnZvaWNlJztcblxuZXhwb3J0IHtcbiAgICBTdWJzY3JpYmVWYWxpZGF0aW9uLFxufSBmcm9tICcuL3N1YnNjcmliZS12YWxpZGF0aW9uJztcblxuZXhwb3J0IHtcbiAgICBBbGlnbm1lbnRTdWJzY3JpcHRpb24sXG4gICAgQ2FuQ3JlYXRlU3Vic2NyaXB0aW9uc1JlcXVlc3QsXG4gICAgQ2FuQ3JlYXRlU3Vic2NyaXB0aW9uc1Jlc3BvbnNlLFxuICAgIENoYW5nZUN1c3RvbVVuaXRQcmljZVJlcXVlc3QsXG4gICAgQ2hhbmdlRnJlcXVlbmN5UmVxdWVzdCxcbiAgICBDaGFuZ2VSZW5ld2FsRGF0ZVJlcXVlc3QsXG4gICAgQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdCxcbiAgICBDcmVhdGVTdWJzY3JpcHRpb25zUmVxdWVzdCxcbiAgICBDcmVhdGVTdWJzY3JpcHRpb25zUmVzcG9uc2UsXG4gICAgUmV2ZXJzZVN1YnNjcmlwdGlvblJlcXVlc3QsXG4gICAgU2V0UmVuZXdhbFN0YXJ0UmVxdWVzdCxcbiAgICBDYW5DcmVhdGVTdWJzY3JpcHRpb25zUmVxdWVzdFNrdXNFbnRyeSxcbiAgICBTdWJzY3JpcHRpb24sXG4gICAgQ2FuQ3JlYXRlU3Vic2NyaXB0aW9uc1JlcXVlc3RTdWJzY3JpcHRpb25JdGVtLFxuICAgIFZhbGlkYXRlUmVzcG9uc2UsXG59IGZyb20gJy4vc3Vic2NyaXB0aW9uJztcblxuZXhwb3J0IHtcbiAgICBDb250cmFjdERvY3VtZW50LFxuICAgIERlbGV0ZUNvbnRyYWN0RG9jdW1lbnRSZXF1ZXN0LFxuICAgIExpc3RDb250cmFjdERvY3VtZW50c1JlcXVlc3RGaWx0ZXJzLFxuICAgIExpc3RDb250cmFjdERvY3VtZW50c1JlcXVlc3QsXG4gICAgTGlzdENvbnRyYWN0RG9jdW1lbnRzUmVzcG9uc2UsXG59IGZyb20gJy4vY29udHJhY3QtZG9jdW1lbnQnO1xuXG5leHBvcnQge1xuICAgIEdldFJldGFpbEN1c3RvbWVyQ29uZmlndXJhdGlvblJlcXVlc3QsXG4gICAgR2V0UmV0YWlsQ3VzdG9tZXJDb25maWd1cmF0aW9uUmVzcG9uc2UsXG4gICAgUmV0YWlsQ3VzdG9tZXJDb25maWd1cmF0aW9uLFxuICAgIFVwc2VydFJldGFpbEN1c3RvbWVyQ29uZmlndXJhdGlvblJlcXVlc3QsXG59IGZyb20gJy4vcmV0YWlsLWN1c3RvbWVyLWNvbmZpZ3VyYXRpb24nO1xuXG5leHBvcnQge1xuICAgIEFkZENyZWRpdFJlcXVlc3QsXG4gICAgQ3JlZGl0QmFsYW5jZSxcbiAgICBHZXRCYWxhbmNlUmVxdWVzdCxcbiAgICBHZXRCYWxhbmNlUmVzcG9uc2UsXG59IGZyb20gJy4vY3JlZGl0JztcblxuZXhwb3J0IHtcbiAgICBBZGRUZW1wbGF0ZUJ1bmRsZVJlcXVlc3QsXG4gICAgQWRkVGVtcGxhdGVCdW5kbGVSZXNwb25zZSxcbiAgICBBZGRUZW1wbGF0ZUxpbmVJdGVtUmVxdWVzdCxcbiAgICBBZGRUZW1wbGF0ZUxpbmVJdGVtUmVzcG9uc2UsXG4gICAgQ3JlYXRlVGVtcGxhdGVSZXF1ZXN0LFxuICAgIENyZWF0ZVRlbXBsYXRlUmVzcG9uc2UsXG4gICAgRGVsZXRlSW52b2ljZVRlbXBsYXRlUmVxdWVzdCxcbiAgICBEZWxldGVUZW1wbGF0ZUxpbmVJdGVtUmVxdWVzdCxcbiAgICBEZWxldGVUZW1wbGF0ZUxpbmVJdGVtUmVzcG9uc2UsXG4gICAgR2V0SW52b2ljZVRlbXBsYXRlUmVxdWVzdCxcbiAgICBHZXRJbnZvaWNlVGVtcGxhdGVSZXNwb25zZSxcbiAgICBJbnZvaWNlVGVtcGxhdGUsXG4gICAgSW52b2ljZVRlbXBsYXRlSXRlbSxcbiAgICBVcHNlcnRJbnZvaWNlVGVtcGxhdGVSZXF1ZXN0SW52b2ljZVRlbXBsYXRlSXRlbVJlcXVlc3QsXG4gICAgVXBkYXRlVGVtcGxhdGVCdW5kbGVSZXF1ZXN0LFxuICAgIFVwZGF0ZVRlbXBsYXRlQnVuZGxlUmVzcG9uc2UsXG4gICAgVXBkYXRlVGVtcGxhdGVEZWZhdWx0VGF4UmF0ZXNSZXF1ZXN0LFxuICAgIFVwZGF0ZVRlbXBsYXRlRGVmYXVsdFRheFJhdGVzUmVzcG9uc2UsXG4gICAgVXBkYXRlVGVtcGxhdGVMaW5lSXRlbVJlcXVlc3QsXG4gICAgVXBkYXRlVGVtcGxhdGVMaW5lSXRlbVJlc3BvbnNlLFxuICAgIFVwc2VydEludm9pY2VUZW1wbGF0ZVJlcXVlc3QsXG4gICAgVXBzZXJ0SW52b2ljZVRlbXBsYXRlUmVzcG9uc2UsXG59IGZyb20gJy4vaW52b2ljZS10ZW1wbGF0ZSc7XG5cbmV4cG9ydCB7XG59IGZyb20gJy4vcGF5bWVudC1wcm9jZXNzb3InO1xuXG5leHBvcnQge1xuICAgIERlbGV0ZVJlY3VycmluZ0ludm9pY2VSZXF1ZXN0LFxuICAgIEdldFJlY3VycmluZ0ludm9pY2VSZXF1ZXN0LFxuICAgIExpc3RSZWN1cnJpbmdJbnZvaWNlc1JlcXVlc3QsXG4gICAgTGlzdFJlY3VycmluZ0ludm9pY2VzUmVzcG9uc2UsXG4gICAgUmVjdXJyaW5nSW52b2ljZSxcbiAgICBSZWN1cnJpbmdJbnZvaWNlQnVuZGxlLFxuICAgIFJlY3VycmluZ0ludm9pY2VJdGVtLFxuICAgIFJlY3VycmluZ0ludm9pY2VMaW5lSXRlbSxcbiAgICBVcGRhdGVSZWN1cnJpbmdJbnZvaWNlUmVxdWVzdCxcbn0gZnJvbSAnLi9yZWN1cnJpbmctaW52b2ljZSc7XG5cbmV4cG9ydCB7XG4gICAgQWNjZXNzLFxufSBmcm9tICcuL2Fubm90YXRpb25zJztcblxuZXhwb3J0IHtcbiAgICBEZWxldGVSZXRhaWxQcmljaW5nUmVxdWVzdCxcbiAgICBHZW5lcmF0ZUJpbGxhYmxlSXRlbXNDU1ZSZXF1ZXN0LFxuICAgIEdlbmVyYXRlQmlsbGFibGVJdGVtc0NTVlJlc3BvbnNlLFxuICAgIEdlbmVyYXRlVmVuZG9yUmVwb3J0UmVxdWVzdCxcbiAgICBHZW5lcmF0ZVZlbmRvclJlcG9ydFJlc3BvbnNlLFxuICAgIEdldE11bHRpQnVuZGxlUmV0YWlsUHJpY2luZ1JlcXVlc3QsXG4gICAgR2V0TXVsdGlCdW5kbGVSZXRhaWxQcmljaW5nUmVzcG9uc2UsXG4gICAgR2V0TXVsdGlQcm9kdWN0UHJpY2luZ1JlcXVlc3QsXG4gICAgR2V0TXVsdGlQcm9kdWN0UHJpY2luZ1Jlc3BvbnNlLFxuICAgIEdldE11bHRpUmV0YWlsUHJpY2luZ1JlcXVlc3QsXG4gICAgR2V0TXVsdGlSZXRhaWxQcmljaW5nUmVzcG9uc2UsXG4gICAgR2V0TXVsdGlXaG9sZXNhbGVDb3N0UmVxdWVzdCxcbiAgICBHZXRNdWx0aVdob2xlc2FsZUNvc3RSZXNwb25zZSxcbiAgICBHZXRQdXJjaGFzZUNvc3RSZXF1ZXN0LFxuICAgIEdldFB1cmNoYXNlQ29zdFJlc3BvbnNlLFxuICAgIEdldFJldmVudWVTdGF0c1JlcXVlc3QsXG4gICAgR2V0UmV2ZW51ZVN0YXRzUmVzcG9uc2UsXG4gICAgR2V0U3RhdGlzdGljc1JlcXVlc3QsXG4gICAgR2V0U3RhdGlzdGljc1Jlc3BvbnNlLFxuICAgIEdldFdob2xlc2FsZUNvbXBhcmlzb25SZXF1ZXN0R2V0V2hvbGVzYWxlQ29tcGFyaXNvbkZpbHRlcnMsXG4gICAgR2V0V2hvbGVzYWxlQ29tcGFyaXNvblJlcXVlc3QsXG4gICAgR2V0V2hvbGVzYWxlQ29tcGFyaXNvblJlc3BvbnNlLFxuICAgIEdldFdob2xlc2FsZUNvbXBhcmlzb25SZXNwb25zZUdldFdob2xlc2FsZUNvbXBhcmlzb25SZXN1bHQsXG4gICAgR2V0TXVsdGlCdW5kbGVSZXRhaWxQcmljaW5nUmVzcG9uc2VQcmljZXNFbnRyeSxcbiAgICBVcHNlcnRSZXRhaWxQcmljaW5nUmVxdWVzdFByaWNpbmdFbnRyeSxcbiAgICBHZXRNdWx0aVJldGFpbFByaWNpbmdSZXNwb25zZVByb2R1Y3RQcmljZXNFbnRyeSxcbiAgICBHZXRNdWx0aVByb2R1Y3RQcmljaW5nUmVzcG9uc2VQcm9kdWN0UHJpY2VzRW50cnksXG4gICAgU2V0V2hvbGVzYWxlUHJvZHVjdFN0cmF0ZWd5UmVxdWVzdCxcbiAgICBTZXRXaG9sZXNhbGVQcm9kdWN0Vm9sdW1lQ29tbWl0bWVudFJlcXVlc3QsXG4gICAgU3RhcnRSZXZSZWNUZW1wbGF0ZUJhY2tmaWxsUmVxdWVzdCxcbiAgICBVcHNlcnRSZXRhaWxQcmljaW5nUmVxdWVzdCxcbn0gZnJvbSAnLi9hcGknO1xuXG4iXX0=
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9iaWxsaW5nX3Nkay9zcmMvbGliL19pbnRlcm5hbC9vYmplY3RzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQztBQUNwQywyQkFBMkI7QUFDM0IsZ0JBQWdCO0FBQ2hCLEVBQUU7QUFDRixpQkFBaUI7QUFDakIsb0NBQW9DO0FBQ3BDLE9BQU8sRUFDSCxtQkFBbUIsRUFDbkIscUJBQXFCLEdBQ3hCLE1BQU0sVUFBVSxDQUFDO0FBS2xCLE9BQU8sRUFDSCxlQUFlLEVBQ2Ysd0JBQXdCLEVBQ3hCLHlCQUF5QixFQUN6QixZQUFZLEVBQ1osa0JBQWtCLEVBQ2xCLDJCQUEyQixFQUMzQix5QkFBeUIsRUFDekIseUJBQXlCLEVBQ3pCLCtCQUErQixFQUMvQixzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLDRCQUE0QixFQUM1Qiw2QkFBNkIsRUFDN0IsSUFBSSxFQUNKLCtCQUErQixFQUMvQix3QkFBd0IsRUFDeEIseUJBQXlCLEdBQzVCLE1BQU0saUJBQWlCLENBQUM7QUFFekIsT0FBTyxFQUNILGVBQWUsR0FDbEIsTUFBTSxvQkFBb0IsQ0FBQztBQUU1QixPQUFPLEVBQ0gsTUFBTSxFQUNOLFVBQVUsRUFDVixhQUFhLEVBQ2Isa0NBQWtDLEVBQ2xDLHlCQUF5QixFQUN6QixxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsZUFBZSxFQUNmLDhCQUE4QixFQUM5QixtQkFBbUIsR0FDdEIsTUFBTSxVQUFVLENBQUM7QUFFbEIsT0FBTyxFQUNILFVBQVUsR0FDYixNQUFNLGNBQWMsQ0FBQztBQUt0QixPQUFPLEVBQ0gsUUFBUSxFQUNSLHVDQUF1QyxFQUN2QyxxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsd0JBQXdCLEVBQ3hCLHlCQUF5QixFQUN6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b0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQiwwREFBMEQsRUFDMUQsNkJBQTZCLEVBQzdCLDhCQUE4QixFQUM5QiwwREFBMEQsRUFDMUQsOENBQThDLEVBQzlDLHNDQUFzQyxFQUN0QywrQ0FBK0MsRUFDL0MsZ0RBQWdELEVBQ2hELGtDQUFrQyxFQUNsQywwQ0FBMEMsRUFDMUMsa0NBQWtDLEVBQ2xDLDBCQUEwQixHQUM3QixNQUFNLE9BQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gQ29kZSBnZW5lcmF0ZWQgYnkgc2RrZ2VuXG4vLyBETyBOT1QgRURJVCEuXG4vL1xuLy8gT2JqZWN0cyBJbmRleC5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuZXhwb3J0IHtcbiAgICBQYWdlZFJlcXVlc3RPcHRpb25zLFxuICAgIFBhZ2VkUmVzcG9uc2VNZXRhZGF0YSxcbn0gZnJvbSAnLi9jb21tb24nO1xuXG5leHBvcnQge1xufSBmcm9tICcuL2ZyZXF1ZW5jeSc7XG5cbmV4cG9ydCB7XG4gICAgQmlsbEl0ZW1SZXF1ZXN0LFxuICAgIEJpbGxNdWx0aXBsZUl0ZW1zUmVxdWVzdCxcbiAgICBCaWxsTXVsdGlwbGVJdGVtc1Jlc3BvbnNlLFxuICAgIEJpbGxhYmxlSXRlbSxcbiAgICBDYW5CaWxsSXRlbVJlcXVlc3QsXG4gICAgQmlsbGFibGVJdGVtQ3VzdG9tZXJBZGRyZXNzLFxuICAgIERlbGV0ZUJpbGxhYmxlSXRlbVJlcXVlc3QsXG4gICAgRXhwaXJlQmlsbGFibGVJdGVtUmVxdWVzdCxcbiAgICBMaXN0QmlsbGFibGVJdGVtc1JlcXVlc3RGaWx0ZXJzLFxuICAgIEdldEJpbGxhYmxlSXRlbVJlcXVlc3QsXG4gICAgR2V0QmlsbGFibGVJdGVtUmVzcG9uc2UsXG4gICAgR2V0TXVsdGlTdWJzY3JpcHRpb25zUmVxdWVzdCxcbiAgICBHZXRNdWx0aVN1YnNjcmlwdGlvbnNSZXNwb25zZSxcbiAgICBJdGVtLFxuICAgIEdldE11bHRpU3Vic2NyaXB0aW9uc1JlcXVlc3RLZXksXG4gICAgTGlzdEJpbGxhYmxlSXRlbXNSZXF1ZXN0LFxuICAgIExpc3RCaWxsYWJsZUl0ZW1zUmVzcG9uc2UsXG59IGZyb20gJy4vYmlsbGFibGUtaXRlbSc7XG5cbmV4cG9ydCB7XG4gICAgQXBwbGllZERpc2NvdW50LFxufSBmcm9tICcuL2FwcGxpZWQtZGlzY291bnQnO1xuXG5leHBvcnQge1xuICAgIEJ1bmRsZSxcbiAgICBCdW5kbGVJdGVtLFxuICAgIEJ1bmRsZVByaWNpbmcsXG4gICAgR2V0TXVsdGlCdW5kbGVSZXNwb25zZUJ1bmRsZXNFbnRyeSxcbiAgICBMaXN0QnVuZGxlc1JlcXVlc3RGaWx0ZXJzLFxuICAgIEdldE11bHRpQnVuZGxlUmVxdWVzdCxcbiAgICBHZXRNdWx0aUJ1bmRsZVJlc3BvbnNlLFxuICAgIExpc3RCdW5kbGVzUmVxdWVzdCxcbiAgICBMaXN0QnVuZGxlc1Jlc3BvbnNlLFxuICAgIEJ1bmRsZUl0ZW1QcmljZSxcbiAgICBCdW5kbGVQcmljaW5nUHJpY2VBbmRGcmVxdWVuY3ksXG4gICAgVXBzZXJ0QnVuZGxlUmVxdWVzdCxcbn0gZnJvbSAnLi9idW5kbGUnO1xuXG5leHBvcnQge1xuICAgIENvbW1pdG1lbnQsXG59IGZyb20gJy4vY29tbWl0bWVudCc7XG5cbmV4cG9ydCB7XG59IGZyb20gJy4vY3VycmVuY3knO1xuXG5leHBvcnQge1xuICAgIENvbnRyYWN0LFxuICAgIEdldE11bHRpQ29udHJhY3RzUmVzcG9uc2VDb250cmFjdHNFbnRyeSxcbiAgICBDcmVhdGVDb250cmFjdFJlcXVlc3QsXG4gICAgQ3JlYXRlQ29udHJhY3RSZXNwb25zZSxcbiAgICBHZXRDb250cmFjdFJlcXVlc3QsXG4gICAgR2V0Q29udHJhY3RSZXNwb25zZSxcbiAgICBHZXRNdWx0aUNvbnRyYWN0c1JlcXVlc3QsXG4gICAgR2V0TXVsdGlDb250cmFjdHNSZXNwb25zZSxcbiAgICBMaXN0Q29udHJhY3RzUmVxdWVzdCxcbiAgICBMaXN0Q29udHJhY3RzUmVzcG9uc2UsXG4gICAgVXBkYXRlQ29udHJhY3RSZXF1ZXN0TXV0YXRpb24sXG4gICAgUmVzZXRDb250cmFjdFByaWNpbmdSZXF1ZXN0LFxuICAgIFVwZGF0ZUNvbnRyYWN0UmVxdWVzdCxcbiAgICBVcGRhdGVDb250cmFjdFJlc3BvbnNlLFxuICAgIFVwZGF0ZUNvbnRyYWN0U3Vic2NyaXB0aW9uUmVxdWVzdCxcbn0gZnJvbSAnLi9jb250cmFjdCc7XG5cbmV4cG9ydCB7XG4gICAgQ3VzdG9tZXJTdW1tYXJ5LFxuICAgIEdldE11bHRpQ3VzdG9tZXJTdW1tYXJpZXNSZXF1ZXN0LFxuICAgIEdldE11bHRpQ3VzdG9tZXJTdW1tYXJpZXNSZXNwb25zZSxcbn0gZnJvbSAnLi9jdXN0b21lci1zdW1tYXJ5JztcblxuZXhwb3J0IHtcbiAgICBCYW5rQWNjb3VudCxcbiAgICBDcmVhdGVTdHJpcGVFeHRlcm5hbEFjY291bnRSZXF1ZXN0LFxuICAgIERlbGV0ZUJhbmtBY2NvdW50UmVxdWVzdCxcbiAgICBMaXN0QmFua0FjY291bnRzUmVxdWVzdCxcbiAgICBMaXN0QmFua0FjY291bnRzUmVzcG9uc2UsXG4gICAgU2V0RGVmYXVsdEJhbmtBY2NvdW50UmVxdWVzdCxcbn0gZnJvbSAnLi9leHRlcm5hbC1hY2NvdW50JztcblxuZXhwb3J0IHtcbiAgICBQcm9kdWN0U3VtbWFyeURpc2NvdW50LFxuICAgIExpc3RTdWJzY3JpcHRpb25SZXRlbnRpb25SZXF1ZXN0RmlsdGVycyxcbiAgICBHZXRQcm9kdWN0U3VtbWFyaWVzVG90YWxSZXF1ZXN0LFxuICAgIEdldFByb2R1Y3RTdW1tYXJpZXNUb3RhbFJlc3BvbnNlLFxuICAgIExpc3RQcm9kdWN0U3VtbWFyaWVzUmVxdWVzdCxcbiAgICBMaXN0UHJvZHVjdFN1bW1hcmllc1Jlc3BvbnNlLFxuICAgIExpc3RTdWJzY3JpcHRpb25SZXRlbnRpb25CeUdyb3VwUmVzcG9uc2UsXG4gICAgTGlzdFN1YnNjcmlwdGlvblJldGVudGlvbkJ5U0tVUmVzcG9uc2UsXG4gICAgTGlzdFN1YnNjcmlwdGlvblJldGVudGlvblJlcXVlc3QsXG4gICAgUHJpY2luZyxcbiAgICBQcm9kdWN0U3VtbWFyeSxcbiAgICBSZXRlbnRpb25NZXRyaWNzLFxuICAgIFByaWNpbmdSdWxlLFxuICAgIExpc3RTdWJzY3JpcHRpb25SZXRlbnRpb25CeUdyb3VwUmVzcG9uc2VTdWJzY3JpcHRpb25SZXRlbnRpb25CeUdyb3VwLFxufSBmcm9tICcuL3Byb2R1Y3Qtc3VtbWFyeSc7XG5cbmV4cG9ydCB7XG4gICAgQ3JlYXRlRGlzY291bnRSZXF1ZXN0LFxuICAgIERpc2NvdW50LFxuICAgIEV4cGlyZURpc2NvdW50UmVxdWVzdCxcbiAgICBMaXN0RGlzY291bnRzUmVxdWVzdEZpbHRlcnMsXG4gICAgTGlzdERpc2NvdW50c1JlcXVlc3QsXG4gICAgTGlzdERpc2NvdW50c1Jlc3BvbnNlLFxuICAgIFVwZGF0ZURpc2NvdW50UmVxdWVzdCxcbn0gZnJvbSAnLi9kaXNjb3VudCc7XG5cbmV4cG9ydCB7XG4gICAgQXBwbGllZFRheFJhdGUsXG59IGZyb20gJy4vYXBwbGllZC10YXgtcmF0ZSc7XG5cbmV4cG9ydCB7XG4gICAgRmllbGRNYXNrLFxufSBmcm9tICcuL2ZpZWxkLW1hc2snO1xuXG5leHBvcnQge1xuICAgIEFyY2hpdmVUYXhSZXF1ZXN0LFxuICAgIENhbGN1bGF0ZVRheFJlcXVlc3QsXG4gICAgQ2FsY3VsYXRlVGF4UmVzcG9uc2UsXG4gICAgQ3JlYXRlVGF4UmVxdWVzdCxcbiAgICBMaXN0VGF4UmVxdWVzdEZpbHRlcnMsXG4gICAgR2V0TXVsdGlUYXhSZXF1ZXN0LFxuICAgIEdldE11bHRpVGF4UmVzcG9uc2UsXG4gICAgTGlzdFRheFJlcXVlc3QsXG4gICAgTGlzdFRheFJlc3BvbnNlLFxuICAgIFRheFJhdGUsXG4gICAgVXBkYXRlVGF4UmVxdWVzdCxcbn0gZnJvbSAnLi90YXgtcmF0ZSc7XG5cbmV4cG9ydCB7XG4gICAgQXBwbGllZEJ1bmRsZSxcbiAgICBBcHBsaWVkQnVuZGxlSXRlbSxcbn0gZnJvbSAnLi9hcHBsaWVkLWJ1bmRsZSc7XG5cbmV4cG9ydCB7XG4gICAgQWRkQnVuZGxlUmVxdWVzdCxcbiAgICBBZGRCdW5kbGVSZXNwb25zZSxcbiAgICBBZGRMaW5lSXRlbVJlcXVlc3QsXG4gICAgQWRkTGluZUl0ZW1SZXNwb25zZSxcbiAgICBDaGFyZ2VJbnZvaWNlUmVxdWVzdCxcbiAgICBDcmVhdGVJbnZvaWNlUmVxdWVzdCxcbiAgICBDcmVhdGVJbnZvaWNlUmVzcG9uc2UsXG4gICAgQ3JlYXRlUGF5bWVudExpbmtSZXF1ZXN0LFxuICAgIENyZWF0ZVBheW1lbnRMaW5rUmVzcG9uc2UsXG4gICAgSW52b2ljZUN1c3RvbWVyQWRkcmVzcyxcbiAgICBMaXN0SW52b2ljZXNSZXF1ZXN0RmlsdGVyc0RhdGVGaWx0ZXIsXG4gICAgRGVsZXRlSW52b2ljZVJlcXVlc3QsXG4gICAgRGVsZXRlTGluZUl0ZW1SZXF1ZXN0LFxuICAgIERlbGV0ZUxpbmVJdGVtUmVzcG9uc2UsXG4gICAgRHVwbGljYXRlSW52b2ljZVJlcXVlc3QsXG4gICAgRHVwbGljYXRlSW52b2ljZVJlc3BvbnNlLFxuICAgIExpc3RJbnZvaWNlc1JlcXVlc3RGaWx0ZXJzLFxuICAgIEdldEludm9pY2VSZXF1ZXN0LFxuICAgIEdldEludm9pY2VSZXNwb25zZSxcbiAgICBJbnZvaWNlLFxuICAgIEludm9pY2VJdGVtLFxuICAgIExpc3RJbnZvaWNlc1JlcXVlc3QsXG4gICAgTGlzdEludm9pY2VzUmVzcG9uc2UsXG4gICAgUGF5SW52b2ljZVJlcXVlc3QsXG4gICAgUGF5bWVudExpbmtJdGVtLFxuICAgIFJlbW92ZUJ1bmRsZVJlcXVlc3QsXG4gICAgUmVtb3ZlQnVuZGxlUmVzcG9uc2UsXG4gICAgU2VuZEludm9pY2VSZXF1ZXN0LFxuICAgIFVwZGF0ZUJ1bmRsZVJlcXVlc3QsXG4gICAgVXBkYXRlQnVuZGxlUmVzcG9uc2UsXG4gICAgVXBkYXRlRGVmYXVsdFRheFJhdGVzUmVxdWVzdCxcbiAgICBVcGRhdGVEZWZhdWx0VGF4UmF0ZXNSZXNwb25zZSxcbiAgICBVcGRhdGVJbnZvaWNlUmVxdWVzdCxcbiAgICBVcGRhdGVJbnZvaWNlUmVzcG9uc2UsXG4gICAgVXBkYXRlTGluZUl0ZW1SZXF1ZXN0LFxuICAgIFVwZGF0ZUxpbmVJdGVtUmVzcG9uc2UsXG4gICAgVm9pZEludm9pY2VSZXF1ZXN0LFxufSBmcm9tICcuL2ludm9pY2UnO1xuXG5leHBvcnQge1xuICAgIEJhbGFuY2UsXG59IGZyb20gJy4vYmFsYW5jZSc7XG5cbmV4cG9ydCB7XG4gICAgRGF0ZVJhbmdlLFxufSBmcm9tICcuL2RhdGUtcmFuZ2UnO1xuXG5leHBvcnQge1xuICAgIExpc3RQYXlvdXRzUmVxdWVzdEZpbHRlcnMsXG4gICAgTGlzdFBheW91dHNSZXF1ZXN0LFxuICAgIExpc3RQYXlvdXRzUmVzcG9uc2UsXG4gICAgUGF5b3V0LFxuICAgIFJlY29uY2lsZVBheW91dFJlcXVlc3QsXG4gICAgUmVjb25jaWxlUGF5b3V0UmVzcG9uc2UsXG4gICAgUmV0YWlsUGF5b3V0LFxufSBmcm9tICcuL3BheW91dCc7XG5cbmV4cG9ydCB7XG59IGZyb20gJy4vc29ydC1kaXJlY3Rpb24nO1xuXG5leHBvcnQge1xuICAgIENoYXJnZVNhbGVzSW52b2ljZVJlcXVlc3QsXG4gICAgQ29ubmVjdFN0cmlwZUFjY291bnRSZXF1ZXN0LFxuICAgIENvbm5lY3RTdHJpcGVBY2NvdW50UmVzcG9uc2UsXG4gICAgQ3JlYXRlTWVyY2hhbnRSZXF1ZXN0LFxuICAgIERlZmF1bHRDdXN0b21lckNvbmZpZ3VyYXRpb24sXG4gICAgR2V0TWVyY2hhbnRSZXF1ZXN0LFxuICAgIEdldE1lcmNoYW50UmVzcG9uc2UsXG4gICAgR2V0TXVsdGlSZXRhaWxDb25maWd1cmF0aW9uc1JlcXVlc3QsXG4gICAgR2V0TXVsdGlSZXRhaWxDb25maWd1cmF0aW9uc1Jlc3BvbnNlLFxuICAgIEdldE91dHN0YW5kaW5nQmFsYW5jZVJlcXVlc3QsXG4gICAgR2V0T3V0c3RhbmRpbmdCYWxhbmNlUmVzcG9uc2UsXG4gICAgR2V0UGF5b3V0U3VtbWFyeVJlcXVlc3QsXG4gICAgR2V0UGF5b3V0U3VtbWFyeVJlc3BvbnNlLFxuICAgIEdldFJldGFpbEJhbGFuY2VSZXF1ZXN0LFxuICAgIEdldFJldGFpbEJhbGFuY2VSZXNwb25zZSxcbiAgICBHZXRSZXRhaWxQYXlvdXRSZXF1ZXN0LFxuICAgIEdldFJldGFpbFBheW91dFJlc3BvbnNlLFxuICAgIENyZWF0ZU1lcmNoYW50UmVxdWVzdEluY2x1ZGVJbkZpbmFuY2lhbFJlY29yZHMsXG4gICAgVXBkYXRlTWVyY2hhbnRSZXF1ZXN0SW5jbHVkZUluRmluYW5jaWFsUmVjb3JkcyxcbiAgICBMaXN0UmV0YWlsUGF5b3V0c1JlcXVlc3QsXG4gICAgTGlzdFJldGFpbFBheW91dHNSZXNwb25zZSxcbiAgICBNZXJjaGFudCxcbiAgICBSZXRhaWxDb25maWd1cmF0aW9uLFxuICAgIEdldE11bHRpUmV0YWlsQ29uZmlndXJhdGlvbnNSZXNwb25zZVJldGFpbENvbmZpZ3VyYXRpb25zRW50cnksXG4gICAgU2VhcmNoTWVyY2hhbnRzUmVxdWVzdCxcbiAgICBTZWFyY2hNZXJjaGFudHNSZXNwb25zZSxcbiAgICBTZXRBdXRvQ2hhcmdlSW52b2ljZXNSZXF1ZXN0LFxuICAgIFNldEF1dG9Qb3N0SW52b2ljZXNSZXF1ZXN0LFxuICAgIFNldERlZmF1bHRQYXltZW50Q2FyZFJlcXVlc3QsXG4gICAgU2V0SGFzQWx0ZXJuYXRpdmVQYXltZW50TWV0aG9kUmVxdWVzdCxcbiAgICBTZXRJbmNsdWRlSW5GaW5hbmNpYWxSZWNvcmRzUmVxdWVzdCxcbiAgICBVcGRhdGVNZXJjaGFudFJlcXVlc3QsXG4gICAgVXBzZXJ0RGVmYXVsdFJldGFpbEN1c3RvbWVyQ29uZmlndXJhdGlvblJlcXVlc3QsXG4gICAgVXBzZXJ0UmV0YWlsQ29uZmlndXJhdGlvblJlcXVlc3QsXG59IGZyb20gJy4vbWVyY2hhbnQnO1xuXG5leHBvcnQge1xufSBmcm9tICcuL21vbnRoJztcblxuZXhwb3J0IHtcbiAgICBMaXN0TWVyY2hhbnRCaWxsaW5nUmVwb3J0c1JlcXVlc3QsXG4gICAgTGlzdE1lcmNoYW50QmlsbGluZ1JlcG9ydHNSZXNwb25zZSxcbiAgICBNZXJjaGFudFJlcG9ydCxcbn0gZnJvbSAnLi9tZXJjaGFudC1yZXBvcnQnO1xuXG5leHBvcnQge1xuICAgIENyZWF0ZU1ldGVyZWRDb21wb25lbnRSZXF1ZXN0LFxuICAgIE1ldGVyZWRDb21wb25lbnQsXG4gICAgVGlja0NvbXBvbmVudFVzYWdlUmVxdWVzdCxcbn0gZnJvbSAnLi9tZXRlcmVkLWNvbXBvbmVudCc7XG5cbmV4cG9ydCB7XG59IGZyb20gJy4vY2FyZCc7XG5cbmV4cG9ydCB7XG4gICAgUmV0YWlsUGF5bWVudENhcmREZXRhaWxzLFxuICAgIENsb3NlUmV0YWlsRGlzcHV0ZVJlcXVlc3QsXG4gICAgQ29uZmlndXJlUmV0YWlsUGF5bWVudFByb3ZpZGVyUmVxdWVzdCxcbiAgICBDb25maWd1cmVSZXRhaWxQYXltZW50UHJvdmlkZXJSZXNwb25zZSxcbiAgICBDb25maXJtUmV0YWlsUGF5bWVudFJlcXVlc3QsXG4gICAgRGlzcHV0ZSxcbiAgICBEaXNwdXRlRXZpZGVuY2UsXG4gICAgU3VibWl0RXZpZGVuY2VSZXF1ZXN0RGlzcHV0ZUV2aWRlbmNlLFxuICAgIERpc3B1dGVFdmlkZW5jZURldGFpbHMsXG4gICAgRmlsZSxcbiAgICBHZXRSZXRhaWxEaXNwdXRlUmVxdWVzdCxcbiAgICBHZXRSZXRhaWxEaXNwdXRlUmVzcG9uc2UsXG4gICAgR2V0UmV0YWlsUGF5bWVudFByb3ZpZGVyUmVxdWVzdCxcbiAgICBHZXRSZXRhaWxQYXltZW50UHJvdmlkZXJSZXNwb25zZSxcbiAgICBHZXRSZXRhaWxQYXltZW50UmVxdWVzdCxcbiAgICBHZXRSZXRhaWxQYXltZW50UmVzcG9uc2UsXG4gICAgTGlzdFBheW1lbnRSZXF1ZXN0TGlzdFBheW1lbnRGaWx0ZXJzLFxuICAgIExpc3RQYXltZW50UmVxdWVzdCxcbiAgICBMaXN0UGF5bWVudFJlc3BvbnNlLFxuICAgIExpc3RSZXRhaWxEaXNwdXRlc1JlcXVlc3QsXG4gICAgTGlzdFJldGFpbERpc3B1dGVzUmVzcG9uc2UsXG4gICAgTGlzdFJldGFpbFBheW1lbnRzUmVxdWVzdExpc3RSZXRhaWxQYXltZW50c0ZpbHRlcnMsXG4gICAgTGlzdFJldGFpbFBheW1lbnRzUmVxdWVzdCxcbiAgICBMaXN0UmV0YWlsUGF5bWVudHNSZXNwb25zZSxcbiAgICBQcmVwYXJlUmV0YWlsUGF5bWVudFJlcXVlc3RPcmRlcixcbiAgICBQYXltZW50LFxuICAgIFBheW1lbnRQYXltZW50QWxsb2NhdGlvbixcbiAgICBQcmVwYXJlUmV0YWlsUGF5bWVudFJlcXVlc3QsXG4gICAgUHJlcGFyZVJldGFpbFBheW1lbnRSZXNwb25zZSxcbiAgICBSZXRhaWxQYXltZW50LFxuICAgIFJldGFpbFBheW1lbnRzRW5hYmxlZFJlcXVlc3QsXG4gICAgUmV0YWlsUGF5bWVudHNFbmFibGVkUmVzcG9uc2UsXG4gICAgUmV0YWlsU3RhdHVzUmVxdWVzdCxcbiAgICBSZXRhaWxTdGF0dXNSZXNwb25zZSxcbiAgICBTdWJtaXRFdmlkZW5jZVJlcXVlc3QsXG4gICAgVXBkYXRlUmV0YWlsUGF5bWVudFByb3ZpZGVyUmVxdWVzdCxcbiAgICBSZXRhaWxTdGF0dXNSZXNwb25zZVZlcmlmaWNhdGlvbkVycm9yLFxuICAgIFJldGFpbFN0YXR1c1Jlc3BvbnNlVmVyaWZpY2F0aW9uUmVxdWlyZW1lbnRzLFxufSBmcm9tICcuL3BheW1lbnQnO1xuXG5leHBvcnQge1xuICAgIENyZWF0ZVBheW1lbnRDYXJkUmVxdWVzdCxcbiAgICBEZWxldGVQYXltZW50Q2FyZFJlcXVlc3QsXG4gICAgTGlzdFBheW1lbnRDYXJkc1JlcXVlc3QsXG4gICAgTGlzdFBheW1lbnRDYXJkc1Jlc3BvbnNlLFxuICAgIFBheW1lbnRDYXJkLFxuICAgIFNldERlZmF1bHRQYXltZW50TWV0aG9kUmVxdWVzdCxcbiAgICBVcGRhdGVQYXltZW50Q2FyZFJlcXVlc3QsXG59IGZyb20gJy4vcGF5bWVudC1jYXJkJztcblxuZXhwb3J0IHtcbiAgICBGZWUsXG59IGZyb20gJy4vZmVlJztcblxuZXhwb3J0IHtcbiAgICBDb21wb25lbnRQcmljaW5nLFxuICAgIENyZWF0ZVByaWNpbmdQbGFuUmVxdWVzdCxcbiAgICBDcmVhdGVQcmljaW5nUGxhblJlc3BvbnNlLFxuICAgIEdldE11bHRpUHJpY2luZ1BsYW5SZXF1ZXN0LFxuICAgIEdldE11bHRpUHJpY2luZ1BsYW5SZXNwb25zZSxcbiAgICBQcmljaW5nUGxhbixcbiAgICBQcmljaW5nUGxhblByb2R1Y3RQcmljaW5nLFxuICAgIFByb2R1Y3RQcmljaW5nUnVsZSxcbiAgICBVcGRhdGVQcmljaW5nUGxhblJlcXVlc3QsXG4gICAgVXBkYXRlUHJpY2luZ1BsYW5SZXNwb25zZSxcbn0gZnJvbSAnLi9wcmljaW5nLXBsYW4nO1xuXG5leHBvcnQge1xuICAgIENyZWF0ZVByaWNpbmdQbGFuUHJvZHVjdFJlcXVlc3QsXG4gICAgQ3JlYXRlUHJpY2luZ1BsYW5Qcm9kdWN0UmVzcG9uc2UsXG4gICAgRGVsZXRlUHJpY2luZ1BsYW5Qcm9kdWN0UmVxdWVzdCxcbiAgICBHZXRNdWx0aVByaWNpbmdQbGFuUHJvZHVjdFJlcXVlc3QsXG4gICAgR2V0TXVsdGlQcmljaW5nUGxhblByb2R1Y3RSZXNwb25zZSxcbiAgICBHZXRQcmljaW5nUGxhblByb2R1Y3RSZXF1ZXN0LFxuICAgIEdldFByaWNpbmdQbGFuUHJvZHVjdFJlc3BvbnNlLFxuICAgIExpc3RQcmljaW5nUGxhblByb2R1Y3RzUmVxdWVzdExpc3RQcmljaW5nUGxhblByb2R1Y3RzRmlsdGVycyxcbiAgICBMaXN0UHJpY2luZ1BsYW5Qcm9kdWN0c1JlcXVlc3QsXG4gICAgTGlzdFByaWNpbmdQbGFuUHJvZHVjdHNSZXNwb25zZSxcbiAgICBQcmljaW5nUGxhblByb2R1Y3RQcmljaW5nRW50cnksXG4gICAgQ3JlYXRlUHJpY2luZ1BsYW5Qcm9kdWN0UmVxdWVzdFByaWNpbmdFbnRyeSxcbiAgICBVcGRhdGVQcmljaW5nUGxhblByb2R1Y3RSZXF1ZXN0UHJpY2luZ0VudHJ5LFxuICAgIFByaWNpbmdQbGFuUHJvZHVjdCxcbiAgICBVcGRhdGVQcmljaW5nUGxhblByb2R1Y3RSZXF1ZXN0LFxuICAgIFVwZGF0ZVByaWNpbmdQbGFuUHJvZHVjdFJlc3BvbnNlLFxuICAgIFVwc2VydFdob2xlc2FsZVByaWNpbmdSZXF1ZXN0LFxufSBmcm9tICcuL3ByaWNpbmctcGxhbi1wcm9kdWN0JztcblxuZXhwb3J0IHtcbiAgICBDcmVhdGVQcm9kdWN0UmVxdWVzdCxcbiAgICBEZWxldGVQcm9kdWN0UmVxdWVzdCxcbiAgICBHZXRNdWx0aVByb2R1Y3RSZXF1ZXN0LFxuICAgIEdldE11bHRpUHJvZHVjdFJlc3BvbnNlLFxuICAgIExpc3RQcm9kdWN0c1JlcXVlc3RMaXN0UHJvZHVjdHNGaWx0ZXJzLFxuICAgIExpc3RQcm9kdWN0c1JlcXVlc3QsXG4gICAgTGlzdFByb2R1Y3RzUmVzcG9uc2UsXG4gICAgUHJvZHVjdCxcbiAgICBHZXRNdWx0aVByb2R1Y3RSZXNwb25zZVByb2R1Y3RzRW50cnksXG4gICAgVXBkYXRlUHJvZHVjdFJlcXVlc3QsXG59IGZyb20gJy4vcHJvZHVjdCc7XG5cbmV4cG9ydCB7XG4gICAgUHJvZHVjdFByaWNlcyxcbiAgICBQcm9kdWN0UHJpY2luZyxcbiAgICBXaG9sZXNhbGVDb3N0SXRlbVJlcXVlc3QsXG59IGZyb20gJy4vcHJvZHVjdC1wcmljaW5nJztcblxuZXhwb3J0IHtcbiAgICBBcHBsaWVkQ3JlZGl0LFxuICAgIExpc3RQdXJjaGFzZVJlcXVlc3RMaXN0UHVyY2hhc2VCaWxsaW5nU3RyYXRlZ3lGaWx0ZXIsXG4gICAgTGlzdFB1cmNoYXNlUmVxdWVzdExpc3RQdXJjaGFzZUZpbHRlcnMsXG4gICAgTGlzdFB1cmNoYXNlSXRlbXNSZXF1ZXN0TGlzdFB1cmNoYXNlSXRlbXNGaWx0ZXJzLFxuICAgIExpc3RQdXJjaGFzZUl0ZW1zUmVxdWVzdCxcbiAgICBMaXN0UHVyY2hhc2VJdGVtc1Jlc3BvbnNlLFxuICAgIExpc3RQdXJjaGFzZVJlcXVlc3QsXG4gICAgTGlzdFB1cmNoYXNlUmVzcG9uc2UsXG4gICAgUHVyY2hhc2UsXG4gICAgUHVyY2hhc2VJdGVtLFxuICAgIFJldHJ5UHVyY2hhc2VSZXF1ZXN0LFxuICAgIFZvaWRQdXJjaGFzZVJlcXVlc3QsXG59IGZyb20gJy4vcHVyY2hhc2UnO1xuXG5leHBvcnQge1xuICAgIENyZWF0ZVJlZnVuZFJlcXVlc3QsXG4gICAgTGlzdFJlZnVuZHNSZXF1ZXN0LFxuICAgIExpc3RSZWZ1bmRzUmVzcG9uc2UsXG4gICAgUmVmdW5kLFxufSBmcm9tICcuL3JlZnVuZCc7XG5cbmV4cG9ydCB7XG4gICAgQ3JlYXRlU2FsZXNDcmVkaXROb3RlUmVxdWVzdCxcbiAgICBMaXN0U2FsZXNDcmVkaXROb3RlUmVxdWVzdExpc3RTYWxlc0NyZWRpdE5vdGVGaWx0ZXJzLFxuICAgIExpc3RTYWxlc0NyZWRpdE5vdGVSZXF1ZXN0LFxuICAgIExpc3RTYWxlc0NyZWRpdE5vdGVSZXNwb25zZSxcbiAgICBTYWxlc0NyZWRpdE5vdGUsXG59IGZyb20gJy4vc2FsZXMtY3JlZGl0LW5vdGUnO1xuXG5leHBvcnQge1xuICAgIEdldFNhbGVzSW52b2ljZVJlcXVlc3QsXG4gICAgR2V0U2FsZXNJbnZvaWNlUmVzcG9uc2UsXG4gICAgTGlzdFNhbGVzSW52b2ljZVJlcXVlc3RMaXN0U2FsZXNJbnZvaWNlRmlsdGVycyxcbiAgICBMaXN0U2FsZXNJbnZvaWNlUmVxdWVzdCxcbiAgICBMaXN0U2FsZXNJbnZvaWNlUmVzcG9uc2UsXG4gICAgUG9zdFNhbGVzSW52b2ljZVJlcXVlc3QsXG4gICAgU2FsZXNJbnZvaWNlLFxuICAgIFNlbmRTYWxlc0ludm9pY2VFbWFpbFJlcXVlc3QsXG4gICAgU2VuZFNhbGVzSW52b2ljZVJlY2VpcHRFbWFpbFJlcXVlc3QsXG59IGZyb20gJy4vc2FsZXMtaW52b2ljZSc7XG5cbmV4cG9ydCB7XG4gICAgU3Vic2NyaWJlVmFsaWRhdGlvbixcbn0gZnJvbSAnLi9zdWJzY3JpYmUtdmFsaWRhdGlvbic7XG5cbmV4cG9ydCB7XG4gICAgQWxpZ25tZW50U3Vic2NyaXB0aW9uLFxuICAgIENhbkNyZWF0ZVN1YnNjcmlwdGlvbnNSZXF1ZXN0LFxuICAgIENhbkNyZWF0ZVN1YnNjcmlwdGlvbnNSZXNwb25zZSxcbiAgICBDaGFuZ2VDdXN0b21Vbml0UHJpY2VSZXF1ZXN0LFxuICAgIENoYW5nZUZyZXF1ZW5jeVJlcXVlc3QsXG4gICAgQ2hhbmdlUmVuZXdhbERhdGVSZXF1ZXN0LFxuICAgIENyZWF0ZVN1YnNjcmlwdGlvblJlcXVlc3QsXG4gICAgQ3JlYXRlU3Vic2NyaXB0aW9uc1JlcXVlc3QsXG4gICAgQ3JlYXRlU3Vic2NyaXB0aW9uc1Jlc3BvbnNlLFxuICAgIFJldmVyc2VTdWJzY3JpcHRpb25SZXF1ZXN0LFxuICAgIFNldFJlbmV3YWxTdGFydFJlcXVlc3QsXG4gICAgQ2FuQ3JlYXRlU3Vic2NyaXB0aW9uc1JlcXVlc3RTa3VzRW50cnksXG4gICAgU3Vic2NyaXB0aW9uLFxuICAgIENhbkNyZWF0ZVN1YnNjcmlwdGlvbnNSZXF1ZXN0U3Vic2NyaXB0aW9uSXRlbSxcbiAgICBWYWxpZGF0ZVJlc3BvbnNlLFxufSBmcm9tICcuL3N1YnNjcmlwdGlvbic7XG5cbmV4cG9ydCB7XG4gICAgQ29udHJhY3REb2N1bWVudCxcbiAgICBEZWxldGVDb250cmFjdERvY3VtZW50UmVxdWVzdCxcbiAgICBMaXN0Q29udHJhY3REb2N1bWVudHNSZXF1ZXN0RmlsdGVycyxcbiAgICBMaXN0Q29udHJhY3REb2N1bWVudHNSZXF1ZXN0LFxuICAgIExpc3RDb250cmFjdERvY3VtZW50c1Jlc3BvbnNlLFxufSBmcm9tICcuL2NvbnRyYWN0LWRvY3VtZW50JztcblxuZXhwb3J0IHtcbiAgICBHZXRSZXRhaWxDdXN0b21lckNvbmZpZ3VyYXRpb25SZXF1ZXN0LFxuICAgIEdldFJldGFpbEN1c3RvbWVyQ29uZmlndXJhdGlvblJlc3BvbnNlLFxuICAgIFJldGFpbEN1c3RvbWVyQ29uZmlndXJhdGlvbixcbiAgICBVcHNlcnRSZXRhaWxDdXN0b21lckNvbmZpZ3VyYXRpb25SZXF1ZXN0LFxufSBmcm9tICcuL3JldGFpbC1jdXN0b21lci1jb25maWd1cmF0aW9uJztcblxuZXhwb3J0IHtcbiAgICBBZGRDcmVkaXRSZXF1ZXN0LFxuICAgIENyZWRpdEJhbGFuY2UsXG4gICAgR2V0QmFsYW5jZVJlcXVlc3QsXG4gICAgR2V0QmFsYW5jZVJlc3BvbnNlLFxufSBmcm9tICcuL2NyZWRpdCc7XG5cbmV4cG9ydCB7XG4gICAgQWRkVGVtcGxhdGVCdW5kbGVSZXF1ZXN0LFxuICAgIEFkZFRlbXBsYXRlQnVuZGxlUmVzcG9uc2UsXG4gICAgQWRkVGVtcGxhdGVMaW5lSXRlbVJlcXVlc3QsXG4gICAgQWRkVGVtcGxhdGVMaW5lSXRlbVJlc3BvbnNlLFxuICAgIENyZWF0ZVRlbXBsYXRlUmVxdWVzdCxcbiAgICBDcmVhdGVUZW1wbGF0ZVJlc3BvbnNlLFxuICAgIERlbGV0ZUludm9pY2VUZW1wbGF0ZVJlcXVlc3QsXG4gICAgRGVsZXRlVGVtcGxhdGVMaW5lSXRlbVJlcXVlc3QsXG4gICAgRGVsZXRlVGVtcGxhdGVMaW5lSXRlbVJlc3BvbnNlLFxuICAgIEdldEludm9pY2VUZW1wbGF0ZVJlcXVlc3QsXG4gICAgR2V0SW52b2ljZVRlbXBsYXRlUmVzcG9uc2UsXG4gICAgSW52b2ljZVRlbXBsYXRlLFxuICAgIEludm9pY2VUZW1wbGF0ZUl0ZW0sXG4gICAgVXBzZXJ0SW52b2ljZVRlbXBsYXRlUmVxdWVzdEludm9pY2VUZW1wbGF0ZUl0ZW1SZXF1ZXN0LFxuICAgIFVwZGF0ZVRlbXBsYXRlQnVuZGxlUmVxdWVzdCxcbiAgICBVcGRhdGVUZW1wbGF0ZUJ1bmRsZVJlc3BvbnNlLFxuICAgIFVwZGF0ZVRlbXBsYXRlRGVmYXVsdFRheFJhdGVzUmVxdWVzdCxcbiAgICBVcGRhdGVUZW1wbGF0ZURlZmF1bHRUYXhSYXRlc1Jlc3BvbnNlLFxuICAgIFVwZGF0ZVRlbXBsYXRlTGluZUl0ZW1SZXF1ZXN0LFxuICAgIFVwZGF0ZVRlbXBsYXRlTGluZUl0ZW1SZXNwb25zZSxcbiAgICBVcHNlcnRJbnZvaWNlVGVtcGxhdGVSZXF1ZXN0LFxuICAgIFVwc2VydEludm9pY2VUZW1wbGF0ZVJlc3BvbnNlLFxufSBmcm9tICcuL2ludm9pY2UtdGVtcGxhdGUnO1xuXG5leHBvcnQge1xufSBmcm9tICcuL3BheW1lbnQtcHJvY2Vzc29yJztcblxuZXhwb3J0IHtcbiAgICBEZWxldGVSZWN1cnJpbmdJbnZvaWNlUmVxdWVzdCxcbiAgICBHZXRSZWN1cnJpbmdJbnZvaWNlUmVxdWVzdCxcbiAgICBMaXN0UmVjdXJyaW5nSW52b2ljZXNGaWx0ZXJzLFxuICAgIExpc3RSZWN1cnJpbmdJbnZvaWNlc1JlcXVlc3QsXG4gICAgTGlzdFJlY3VycmluZ0ludm9pY2VzUmVzcG9uc2UsXG4gICAgUmVjdXJyaW5nSW52b2ljZSxcbiAgICBSZWN1cnJpbmdJbnZvaWNlQnVuZGxlLFxuICAgIFJlY3VycmluZ0ludm9pY2VJdGVtLFxuICAgIFJlY3VycmluZ0ludm9pY2VMaW5lSXRlbSxcbiAgICBVcGRhdGVSZWN1cnJpbmdJbnZvaWNlUmVxdWVzdCxcbn0gZnJvbSAnLi9yZWN1cnJpbmctaW52b2ljZSc7XG5cbmV4cG9ydCB7XG4gICAgQ3JlYXRlTWVyY2hhbnRTZXJ2aWNlc1JlcG9ydFJ1bixcbiAgICBHZXRNZXJjaGFudFNlcnZpY2VzUmVwb3J0UnVuLFxuICAgIE1lcmNoYW50U2VydmljZXNSZXBvcnRSdW4sXG59IGZyb20gJy4vcmVwb3J0LXJ1bic7XG5cbmV4cG9ydCB7XG4gICAgQWNjZXNzLFxufSBmcm9tICcuL2Fubm90YXRpb25zJztcblxuZXhwb3J0IHtcbiAgICBEZWxldGVSZXRhaWxQcmljaW5nUmVxdWVzdCxcbiAgICBHZW5lcmF0ZUJpbGxhYmxlSXRlbXNDU1ZSZXF1ZXN0LFxuICAgIEdlbmVyYXRlQmlsbGFibGVJdGVtc0NTVlJlc3BvbnNlLFxuICAgIEdlbmVyYXRlVmVuZG9yUmVwb3J0UmVxdWVzdCxcbiAgICBHZW5lcmF0ZVZlbmRvclJlcG9ydFJlc3BvbnNlLFxuICAgIEdldE11bHRpQnVuZGxlUmV0YWlsUHJpY2luZ1JlcXVlc3QsXG4gICAgR2V0TXVsdGlCdW5kbGVSZXRhaWxQcmljaW5nUmVzcG9uc2UsXG4gICAgR2V0TXVsdGlQcm9kdWN0UHJpY2luZ1JlcXVlc3QsXG4gICAgR2V0TXVsdGlQcm9kdWN0UHJpY2luZ1Jlc3BvbnNlLFxuICAgIEdldE11bHRpUmV0YWlsUHJpY2luZ1JlcXVlc3QsXG4gICAgR2V0TXVsdGlSZXRhaWxQcmljaW5nUmVzcG9uc2UsXG4gICAgR2V0TXVsdGlXaG9sZXNhbGVDb3N0UmVxdWVzdCxcbiAgICBHZXRNdWx0aVdob2xlc2FsZUNvc3RSZXNwb25zZSxcbiAgICBHZXRQdXJjaGFzZUNvc3RSZXF1ZXN0LFxuICAgIEdldFB1cmNoYXNlQ29zdFJlc3BvbnNlLFxuICAgIEdldFJldmVudWVTdGF0c1JlcXVlc3QsXG4gICAgR2V0UmV2ZW51ZVN0YXRzUmVzcG9uc2UsXG4gICAgR2V0U3RhdGlzdGljc1JlcXVlc3QsXG4gICAgR2V0U3RhdGlzdGljc1Jlc3BvbnNlLFxuICAgIEdldFdob2xlc2FsZUNvbXBhcmlzb25SZXF1ZXN0R2V0V2hvbGVzYWxlQ29tcGFyaXNvbkZpbHRlcnMsXG4gICAgR2V0V2hvbGVzYWxlQ29tcGFyaXNvblJlcXVlc3QsXG4gICAgR2V0V2hvbGVzYWxlQ29tcGFyaXNvblJlc3BvbnNlLFxuICAgIEdldFdob2xlc2FsZUNvbXBhcmlzb25SZXNwb25zZUdldFdob2xlc2FsZUNvbXBhcmlzb25SZXN1bHQsXG4gICAgR2V0TXVsdGlCdW5kbGVSZXRhaWxQcmljaW5nUmVzcG9uc2VQcmljZXNFbnRyeSxcbiAgICBVcHNlcnRSZXRhaWxQcmljaW5nUmVxdWVzdFByaWNpbmdFbnRyeSxcbiAgICBHZXRNdWx0aVJldGFpbFByaWNpbmdSZXNwb25zZVByb2R1Y3RQcmljZXNFbnRyeSxcbiAgICBHZXRNdWx0aVByb2R1Y3RQcmljaW5nUmVzcG9uc2VQcm9kdWN0UHJpY2VzRW50cnksXG4gICAgU2V0V2hvbGVzYWxlUHJvZHVjdFN0cmF0ZWd5UmVxdWVzdCxcbiAgICBTZXRXaG9sZXNhbGVQcm9kdWN0Vm9sdW1lQ29tbWl0bWVudFJlcXVlc3QsXG4gICAgU3RhcnRSZXZSZWNUZW1wbGF0ZUJhY2tmaWxsUmVxdWVzdCxcbiAgICBVcHNlcnRSZXRhaWxQcmljaW5nUmVxdWVzdCxcbn0gZnJvbSAnLi9hcGknO1xuXG4iXX0=