@xsolla/payment-client-core 0.2.57 → 0.2.59

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.
@@ -1,10 +1,10 @@
1
1
  import { Injectable } from '@angular/core';
2
- import { Subject } from 'rxjs';
2
+ import { share, Subject } from 'rxjs';
3
3
  import * as i0 from "@angular/core";
4
- import * as i1 from "../external-window-communication/external-window-communication.service";
4
+ import * as i1 from "../../../payment/finance-details/summary/summary-finance-details-adapter.service";
5
5
  export class ApplePayCartService {
6
6
  get cartSuccessfulRecalculated$() {
7
- return this.cartSuccessfulRecalculated.asObservable();
7
+ return this.cartSuccessfulRecalculated.asObservable().pipe(share());
8
8
  }
9
9
  get cartErrorRecalculated$() {
10
10
  return this.cartErrorRecalculated.asObservable();
@@ -12,8 +12,8 @@ export class ApplePayCartService {
12
12
  get cartRecalculationRequest$() {
13
13
  return this.cartRecalculationRequest.asObservable();
14
14
  }
15
- constructor(externalWindowCommunicationService) {
16
- this.externalWindowCommunicationService = externalWindowCommunicationService;
15
+ constructor(summaryFinanceDetailsAdapterService) {
16
+ this.summaryFinanceDetailsAdapterService = summaryFinanceDetailsAdapterService;
17
17
  this.cartSuccessfulRecalculated = new Subject();
18
18
  this.cartErrorRecalculated = new Subject();
19
19
  this.cartRecalculationRequest = new Subject();
@@ -37,11 +37,16 @@ export class ApplePayCartService {
37
37
  newLineItems: this.getLineItems(updatedPrice),
38
38
  };
39
39
  }
40
- sendSuccessfulRecalculatedCart(updatedPrice) {
40
+ sendSuccessfulRecalculatedCart(xpsResponse) {
41
+ const financeDetails = this.summaryFinanceDetailsAdapterService.getFinanceDetails(xpsResponse.summary);
42
+ const updatedPrice = {
43
+ // @ts-expect-error finance exist
44
+ total: this.getTotalAmount(xpsResponse.summary.finance),
45
+ subtotalDetails: financeDetails.cartSummary.subtotalDetails,
46
+ totalDetails: financeDetails.cartSummary.totalDetails,
47
+ subtotalPayment: financeDetails.cartSummary.subtotalPayment,
48
+ };
41
49
  this.cartSuccessfulRecalculated.next(updatedPrice);
42
- void this.externalWindowCommunicationService.sendMessageToAnotherWindow("apple-pay-update-price" /* CommandsForPages.APPLE_PAY_UPDATE_PRICE */, {
43
- newCartPricing: updatedPrice,
44
- });
45
50
  }
46
51
  sendErrorRecalculatedCart(error) {
47
52
  this.cartErrorRecalculated.next(error);
@@ -75,7 +80,10 @@ export class ApplePayCartService {
75
80
  });
76
81
  return newLineItems;
77
82
  }
78
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ApplePayCartService, deps: [{ token: i1.ApplePayExternalWindowCommunicationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
83
+ getTotalAmount(finance) {
84
+ return finance?.grand_total?.amount ?? finance?.total?.amount;
85
+ }
86
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ApplePayCartService, deps: [{ token: i1.SummaryFinanceDetailsAdapterService }], target: i0.ɵɵFactoryTarget.Injectable }); }
79
87
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ApplePayCartService, providedIn: 'root' }); }
80
88
  }
81
89
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ApplePayCartService, decorators: [{
@@ -83,5 +91,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
83
91
  args: [{
84
92
  providedIn: 'root',
85
93
  }]
86
- }], ctorParameters: () => [{ type: i1.ApplePayExternalWindowCommunicationService }] });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGUtcGF5LWNhcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3Nkay1wYXltZW50LXN5c3RlbXMvYXBwbGUtcGF5L2FwcGxlLXBheS1jYXJ0L2FwcGxlLXBheS1jYXJ0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFrQjNDLE1BQU0sT0FBTyxtQkFBbUI7SUFNOUIsSUFBVywyQkFBMkI7UUFDcEMsT0FBTyxJQUFJLENBQUMsMEJBQTBCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQVcsc0JBQXNCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFFRCxJQUFXLHlCQUF5QjtRQUNsQyxPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0RCxDQUFDO0lBRUQsWUFDbUIsa0NBQThFO1FBQTlFLHVDQUFrQyxHQUFsQyxrQ0FBa0MsQ0FBNEM7UUFsQmhGLCtCQUEwQixHQUFHLElBQUksT0FBTyxFQUFnQixDQUFDO1FBQ3pELDBCQUFxQixHQUFHLElBQUksT0FBTyxFQUFpQixDQUFDO1FBRXJELDZCQUF3QixHQUFHLElBQUksT0FBTyxFQUFtQixDQUFDO0lBZ0J4RSxDQUFDO0lBRUcsb0JBQW9CLENBQUMsZUFBd0M7UUFDbEUsTUFBTSxHQUFHLEdBQUcsZUFBZSxDQUFDLFVBQVUsQ0FBQztRQUN2QyxNQUFNLE9BQU8sR0FBRyxlQUFlLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUNqRSxNQUFNLFNBQVMsR0FBRyxHQUFHLEVBQUUsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUUxQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDO1lBQ2pDLEdBQUcsRUFBRSxTQUFTO1lBQ2QsT0FBTztTQUNSLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSwwQkFBMEIsQ0FDL0IsYUFBNkIsRUFDN0IsWUFBMEI7UUFFMUIsT0FBTztZQUNMLE1BQU0sRUFBRSxnQkFBZ0I7WUFDeEIsUUFBUSxFQUFFO2dCQUNSLEtBQUssRUFBRSxhQUFhLENBQUMsVUFBVTtnQkFDL0IsTUFBTSxFQUFFLFlBQVksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFO2FBQ3RDO1lBQ0QsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDO1NBQzlDLENBQUM7SUFDSixDQUFDO0lBRU0sOEJBQThCLENBQUMsWUFBMEI7UUFDOUQsSUFBSSxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVuRCxLQUFLLElBQUksQ0FBQyxrQ0FBa0MsQ0FBQywwQkFBMEIseUVBRTVCO1lBQ3pDLGNBQWMsRUFBRSxZQUFZO1NBQzdCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSx5QkFBeUIsQ0FBQyxLQUFvQjtRQUNuRCxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFTSxZQUFZLENBQUMsT0FBZTtRQUNqQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU8sWUFBWSxDQUFDLFlBQTBCO1FBQzdDLE1BQU0sWUFBWSxHQUF1QixFQUFFLENBQUM7UUFFNUMsSUFBSSxZQUFZLENBQUMsZUFBZSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNoRCxZQUFZLENBQUMsSUFBSSxDQUFDO2dCQUNoQixLQUFLLEVBQUUsWUFBWSxDQUFDLGVBQWUsQ0FBQyxLQUFLLElBQUksVUFBVTtnQkFDdkQsTUFBTSxFQUFFLFlBQVksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUU7YUFDOUQsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELElBQUksZUFBZSxHQUFlLEVBQUUsQ0FBQztRQUVyQyxJQUFJLFlBQVksQ0FBQyxlQUFlLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDekMsZUFBZSxHQUFHLFlBQVksQ0FBQyxlQUFlLENBQUM7UUFDakQsQ0FBQztRQUVELElBQUksWUFBWSxDQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUN0QyxlQUFlLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDdEUsQ0FBQztRQUVELGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7Z0JBQy9DLE9BQU87WUFDVCxDQUFDO1lBRUQsWUFBWSxDQUFDLElBQUksQ0FBQztnQkFDaEIsS0FBSyxFQUFFLFFBQVEsQ0FBQyxLQUFLO2dCQUNyQixNQUFNLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFO2FBQ3pDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQzs4R0FqR1UsbUJBQW1CO2tIQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs7MkZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIEFwcGxlUGF5RXJyb3IsXG4gIEFwcGxlUGF5U2hpcHBpbmdDb250YWN0LFxuICBBcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZSxcbn0gZnJvbSAnLi4vc2Vzc2lvbi1oYW5kbGVycy9hcHBsZS1wYXktc2Vzc2lvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBwbGVQYXlQYXJhbXMgfSBmcm9tICcuLi9hcHBsZS1wYXktcGFyYW1zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBVcGRhdGVkUHJpY2UgfSBmcm9tICcuLi91cGRhdGVkLXByaWNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTaGlwcGluZ0FkZHJlc3MgfSBmcm9tICcuLi9zaGlwcGluZy1hZGRyZXNzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBBcHBsZVBheUxpbmVJdGVtIH0gZnJvbSAnYnJhaW50cmVlLXdlYic7XG5pbXBvcnQgeyBDYXJ0TGluZSB9IGZyb20gJy4uLy4uLy4uL3BheW1lbnQvZmluYW5jZS1kZXRhaWxzL2NhcnQtbGluZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBwbGVQYXlFeHRlcm5hbFdpbmRvd0NvbW11bmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vZXh0ZXJuYWwtd2luZG93LWNvbW11bmljYXRpb24vZXh0ZXJuYWwtd2luZG93LWNvbW11bmljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBDb21tYW5kc0ZvclBhZ2VzIH0gZnJvbSAnLi4vY29tbWFuZHMtZm9yLXBhZ2VzLmVudW0nO1xuaW1wb3J0IHsgVXBkYXRlUHJpY2VNZXNzYWdlIH0gZnJvbSAnLi4vc29ja2V0LW1lc3NhZ2VzL3VwZGF0ZS1wcmljZS1tZXNzYWdlLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBcHBsZVBheUNhcnRTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBjYXJ0U3VjY2Vzc2Z1bFJlY2FsY3VsYXRlZCA9IG5ldyBTdWJqZWN0PFVwZGF0ZWRQcmljZT4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBjYXJ0RXJyb3JSZWNhbGN1bGF0ZWQgPSBuZXcgU3ViamVjdDxBcHBsZVBheUVycm9yPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgY2FydFJlY2FsY3VsYXRpb25SZXF1ZXN0ID0gbmV3IFN1YmplY3Q8U2hpcHBpbmdBZGRyZXNzPigpO1xuXG4gIHB1YmxpYyBnZXQgY2FydFN1Y2Nlc3NmdWxSZWNhbGN1bGF0ZWQkKCk6IE9ic2VydmFibGU8VXBkYXRlZFByaWNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FydFN1Y2Nlc3NmdWxSZWNhbGN1bGF0ZWQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNhcnRFcnJvclJlY2FsY3VsYXRlZCQoKTogT2JzZXJ2YWJsZTxBcHBsZVBheUVycm9yPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FydEVycm9yUmVjYWxjdWxhdGVkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBjYXJ0UmVjYWxjdWxhdGlvblJlcXVlc3QkKCk6IE9ic2VydmFibGU8U2hpcHBpbmdBZGRyZXNzPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FydFJlY2FsY3VsYXRpb25SZXF1ZXN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZXh0ZXJuYWxXaW5kb3dDb21tdW5pY2F0aW9uU2VydmljZTogQXBwbGVQYXlFeHRlcm5hbFdpbmRvd0NvbW11bmljYXRpb25TZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgcmVjYWxjdWxhdGVDYXJ0VGF4ZXMoc2hpcHBpbmdDb250YWN0OiBBcHBsZVBheVNoaXBwaW5nQ29udGFjdCk6IHZvaWQge1xuICAgIGNvbnN0IHppcCA9IHNoaXBwaW5nQ29udGFjdC5wb3N0YWxDb2RlO1xuICAgIGNvbnN0IGNvdW50cnkgPSBzaGlwcGluZ0NvbnRhY3QuY291bnRyeUNvZGU/LnRvVXBwZXJDYXNlKCkgPz8gJyc7XG4gICAgY29uc3QgcGFyc2VkWmlwID0gemlwPy5yZXBsYWNlKC9cXHMvZywgJycpO1xuXG4gICAgdGhpcy5jYXJ0UmVjYWxjdWxhdGlvblJlcXVlc3QubmV4dCh7XG4gICAgICB6aXA6IHBhcnNlZFppcCxcbiAgICAgIGNvdW50cnksXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYnVpbGRTaGlwcGluZ0NvbnRhY3RVcGRhdGUoXG4gICAgcGF5bWVudFBhcmFtczogQXBwbGVQYXlQYXJhbXMsXG4gICAgdXBkYXRlZFByaWNlOiBVcGRhdGVkUHJpY2VcbiAgKTogQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGUge1xuICAgIHJldHVybiB7XG4gICAgICBzdGF0dXM6ICdTVEFUVVNfU1VDQ0VTUycsXG4gICAgICBuZXdUb3RhbDoge1xuICAgICAgICBsYWJlbDogcGF5bWVudFBhcmFtcy50b3RhbExhYmVsLFxuICAgICAgICBhbW91bnQ6IHVwZGF0ZWRQcmljZS50b3RhbC50b1N0cmluZygpLFxuICAgICAgfSxcbiAgICAgIG5ld0xpbmVJdGVtczogdGhpcy5nZXRMaW5lSXRlbXModXBkYXRlZFByaWNlKSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHNlbmRTdWNjZXNzZnVsUmVjYWxjdWxhdGVkQ2FydCh1cGRhdGVkUHJpY2U6IFVwZGF0ZWRQcmljZSk6IHZvaWQge1xuICAgIHRoaXMuY2FydFN1Y2Nlc3NmdWxSZWNhbGN1bGF0ZWQubmV4dCh1cGRhdGVkUHJpY2UpO1xuXG4gICAgdm9pZCB0aGlzLmV4dGVybmFsV2luZG93Q29tbXVuaWNhdGlvblNlcnZpY2Uuc2VuZE1lc3NhZ2VUb0Fub3RoZXJXaW5kb3c8XG4gICAgICBVcGRhdGVQcmljZU1lc3NhZ2VbJ2RhdGEnXVxuICAgID4oQ29tbWFuZHNGb3JQYWdlcy5BUFBMRV9QQVlfVVBEQVRFX1BSSUNFLCB7XG4gICAgICBuZXdDYXJ0UHJpY2luZzogdXBkYXRlZFByaWNlLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNlbmRFcnJvclJlY2FsY3VsYXRlZENhcnQoZXJyb3I6IEFwcGxlUGF5RXJyb3IpOiB2b2lkIHtcbiAgICB0aGlzLmNhcnRFcnJvclJlY2FsY3VsYXRlZC5uZXh0KGVycm9yKTtcbiAgfVxuXG4gIHB1YmxpYyBpc1ppcENvdW50cnkoY291bnRyeTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIFsnVVMnLCAnQ0EnXS5pbmNsdWRlcyhjb3VudHJ5KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TGluZUl0ZW1zKHVwZGF0ZWRQcmljZTogVXBkYXRlZFByaWNlKTogQXBwbGVQYXlMaW5lSXRlbVtdIHtcbiAgICBjb25zdCBuZXdMaW5lSXRlbXM6IEFwcGxlUGF5TGluZUl0ZW1bXSA9IFtdO1xuXG4gICAgaWYgKHVwZGF0ZWRQcmljZS5zdWJ0b3RhbFBheW1lbnQ/Lm1vbmV5Py5hbW91bnQpIHtcbiAgICAgIG5ld0xpbmVJdGVtcy5wdXNoKHtcbiAgICAgICAgbGFiZWw6IHVwZGF0ZWRQcmljZS5zdWJ0b3RhbFBheW1lbnQudGl0bGUgPz8gJ1N1YnRvdGFsJyxcbiAgICAgICAgYW1vdW50OiB1cGRhdGVkUHJpY2Uuc3VidG90YWxQYXltZW50Lm1vbmV5Py5hbW91bnQudG9TdHJpbmcoKSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGxldCBwYXltZW50c0RldGFpbHM6IENhcnRMaW5lW10gPSBbXTtcblxuICAgIGlmICh1cGRhdGVkUHJpY2Uuc3VidG90YWxEZXRhaWxzPy5sZW5ndGgpIHtcbiAgICAgIHBheW1lbnRzRGV0YWlscyA9IHVwZGF0ZWRQcmljZS5zdWJ0b3RhbERldGFpbHM7XG4gICAgfVxuXG4gICAgaWYgKHVwZGF0ZWRQcmljZS50b3RhbERldGFpbHM/Lmxlbmd0aCkge1xuICAgICAgcGF5bWVudHNEZXRhaWxzID0gcGF5bWVudHNEZXRhaWxzLmNvbmNhdCh1cGRhdGVkUHJpY2UudG90YWxEZXRhaWxzKTtcbiAgICB9XG5cbiAgICBwYXltZW50c0RldGFpbHMuZm9yRWFjaCgoY2FydEl0ZW0pID0+IHtcbiAgICAgIGlmICghY2FydEl0ZW0udGl0bGUgfHwgIWNhcnRJdGVtLm1vbmV5Py5hbW91bnQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBuZXdMaW5lSXRlbXMucHVzaCh7XG4gICAgICAgIGxhYmVsOiBjYXJ0SXRlbS50aXRsZSxcbiAgICAgICAgYW1vdW50OiBjYXJ0SXRlbS5tb25leS5hbW91bnQudG9TdHJpbmcoKSxcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIG5ld0xpbmVJdGVtcztcbiAgfVxufVxuIl19
94
+ }], ctorParameters: () => [{ type: i1.SummaryFinanceDetailsAdapterService }] });
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGUtcGF5LWNhcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3Nkay1wYXltZW50LXN5c3RlbXMvYXBwbGUtcGF5L2FwcGxlLXBheS1jYXJ0L2FwcGxlLXBheS1jYXJ0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBa0JsRCxNQUFNLE9BQU8sbUJBQW1CO0lBTTlCLElBQVcsMkJBQTJCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLDBCQUEwQixDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxJQUFXLHNCQUFzQjtRQUMvQixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNuRCxDQUFDO0lBRUQsSUFBVyx5QkFBeUI7UUFDbEMsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVELFlBQ21CLG1DQUF3RTtRQUF4RSx3Q0FBbUMsR0FBbkMsbUNBQW1DLENBQXFDO1FBbEIxRSwrQkFBMEIsR0FBRyxJQUFJLE9BQU8sRUFBZ0IsQ0FBQztRQUN6RCwwQkFBcUIsR0FBRyxJQUFJLE9BQU8sRUFBaUIsQ0FBQztRQUVyRCw2QkFBd0IsR0FBRyxJQUFJLE9BQU8sRUFBbUIsQ0FBQztJQWdCeEUsQ0FBQztJQUVHLG9CQUFvQixDQUFDLGVBQXdDO1FBQ2xFLE1BQU0sR0FBRyxHQUFHLGVBQWUsQ0FBQyxVQUFVLENBQUM7UUFDdkMsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUFDLFdBQVcsRUFBRSxX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QUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVPLGNBQWMsQ0FBQyxPQUFtQjtRQUN4QyxPQUFPLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxJQUFJLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDO0lBQ2hFLENBQUM7OEdBNUdVLG1CQUFtQjtrSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07OzJGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBzaGFyZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgQXBwbGVQYXlFcnJvcixcbiAgQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3QsXG4gIEFwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRlLFxufSBmcm9tICcuLi9zZXNzaW9uLWhhbmRsZXJzL2FwcGxlLXBheS1zZXNzaW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBBcHBsZVBheVBhcmFtcyB9IGZyb20gJy4uL2FwcGxlLXBheS1wYXJhbXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFVwZGF0ZWRQcmljZSB9IGZyb20gJy4uL3VwZGF0ZWQtcHJpY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNoaXBwaW5nQWRkcmVzcyB9IGZyb20gJy4uL3NoaXBwaW5nLWFkZHJlc3MuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFwcGxlUGF5TGluZUl0ZW0gfSBmcm9tICdicmFpbnRyZWUtd2ViJztcbmltcG9ydCB7IENhcnRMaW5lIH0gZnJvbSAnLi4vLi4vLi4vcGF5bWVudC9maW5hbmNlLWRldGFpbHMvY2FydC1saW5lLmludGVyZmFjZSc7XG5pbXBvcnQgeyBYcHNSZXNwb25zZSB9IGZyb20gJy4uLy4uLy4uL3BheW1lbnQveHBzLXJlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTdW1tYXJ5RmluYW5jZURldGFpbHNBZGFwdGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3BheW1lbnQvZmluYW5jZS1kZXRhaWxzL3N1bW1hcnkvc3VtbWFyeS1maW5hbmNlLWRldGFpbHMtYWRhcHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFhwc0ZpbmFuY2UgfSBmcm9tICcuLi8uLi8uLi9wYXltZW50L3hwcy1maW5hbmNlLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBcHBsZVBheUNhcnRTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBjYXJ0U3VjY2Vzc2Z1bFJlY2FsY3VsYXRlZCA9IG5ldyBTdWJqZWN0PFVwZGF0ZWRQcmljZT4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBjYXJ0RXJyb3JSZWNhbGN1bGF0ZWQgPSBuZXcgU3ViamVjdDxBcHBsZVBheUVycm9yPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgY2FydFJlY2FsY3VsYXRpb25SZXF1ZXN0ID0gbmV3IFN1YmplY3Q8U2hpcHBpbmdBZGRyZXNzPigpO1xuXG4gIHB1YmxpYyBnZXQgY2FydFN1Y2Nlc3NmdWxSZWNhbGN1bGF0ZWQkKCk6IE9ic2VydmFibGU8VXBkYXRlZFByaWNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FydFN1Y2Nlc3NmdWxSZWNhbGN1bGF0ZWQuYXNPYnNlcnZhYmxlKCkucGlwZShzaGFyZSgpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2FydEVycm9yUmVjYWxjdWxhdGVkJCgpOiBPYnNlcnZhYmxlPEFwcGxlUGF5RXJyb3I+IHtcbiAgICByZXR1cm4gdGhpcy5jYXJ0RXJyb3JSZWNhbGN1bGF0ZWQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNhcnRSZWNhbGN1bGF0aW9uUmVxdWVzdCQoKTogT2JzZXJ2YWJsZTxTaGlwcGluZ0FkZHJlc3M+IHtcbiAgICByZXR1cm4gdGhpcy5jYXJ0UmVjYWxjdWxhdGlvblJlcXVlc3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdW1tYXJ5RmluYW5jZURldGFpbHNBZGFwdGVyU2VydmljZTogU3VtbWFyeUZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyByZWNhbGN1bGF0ZUNhcnRUYXhlcyhzaGlwcGluZ0NvbnRhY3Q6IEFwcGxlUGF5U2hpcHBpbmdDb250YWN0KTogdm9pZCB7XG4gICAgY29uc3QgemlwID0gc2hpcHBpbmdDb250YWN0LnBvc3RhbENvZGU7XG4gICAgY29uc3QgY291bnRyeSA9IHNoaXBwaW5nQ29udGFjdC5jb3VudHJ5Q29kZT8udG9VcHBlckNhc2UoKSA/PyAnJztcbiAgICBjb25zdCBwYXJzZWRaaXAgPSB6aXA/LnJlcGxhY2UoL1xccy9nLCAnJyk7XG5cbiAgICB0aGlzLmNhcnRSZWNhbGN1bGF0aW9uUmVxdWVzdC5uZXh0KHtcbiAgICAgIHppcDogcGFyc2VkWmlwLFxuICAgICAgY291bnRyeSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBidWlsZFNoaXBwaW5nQ29udGFjdFVwZGF0ZShcbiAgICBwYXltZW50UGFyYW1zOiBBcHBsZVBheVBhcmFtcyxcbiAgICB1cGRhdGVkUHJpY2U6IFVwZGF0ZWRQcmljZVxuICApOiBBcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN0YXR1czogJ1NUQVRVU19TVUNDRVNTJyxcbiAgICAgIG5ld1RvdGFsOiB7XG4gICAgICAgIGxhYmVsOiBwYXltZW50UGFyYW1zLnRvdGFsTGFiZWwsXG4gICAgICAgIGFtb3VudDogdXBkYXRlZFByaWNlLnRvdGFsLnRvU3RyaW5nKCksXG4gICAgICB9LFxuICAgICAgbmV3TGluZUl0ZW1zOiB0aGlzLmdldExpbmVJdGVtcyh1cGRhdGVkUHJpY2UpLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgc2VuZFN1Y2Nlc3NmdWxSZWNhbGN1bGF0ZWRDYXJ0KHhwc1Jlc3BvbnNlOiBYcHNSZXNwb25zZSk6IHZvaWQge1xuICAgIGNvbnN0IGZpbmFuY2VEZXRhaWxzID1cbiAgICAgIHRoaXMuc3VtbWFyeUZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2UuZ2V0RmluYW5jZURldGFpbHMoXG4gICAgICAgIHhwc1Jlc3BvbnNlLnN1bW1hcnlcbiAgICAgICk7XG5cbiAgICBjb25zdCB1cGRhdGVkUHJpY2U6IFVwZGF0ZWRQcmljZSA9IHtcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgZmluYW5jZSBleGlzdFxuICAgICAgdG90YWw6IHRoaXMuZ2V0VG90YWxBbW91bnQoeHBzUmVzcG9uc2Uuc3VtbWFyeS5maW5hbmNlKSxcbiAgICAgIHN1YnRvdGFsRGV0YWlsczogZmluYW5jZURldGFpbHMuY2FydFN1bW1hcnkuc3VidG90YWxEZXRhaWxzLFxuICAgICAgdG90YWxEZXRhaWxzOiBmaW5hbmNlRGV0YWlscy5jYXJ0U3VtbWFyeS50b3RhbERldGFpbHMsXG4gICAgICBzdWJ0b3RhbFBheW1lbnQ6IGZpbmFuY2VEZXRhaWxzLmNhcnRTdW1tYXJ5LnN1YnRvdGFsUGF5bWVudCxcbiAgICB9O1xuXG4gICAgdGhpcy5jYXJ0U3VjY2Vzc2Z1bFJlY2FsY3VsYXRlZC5uZXh0KHVwZGF0ZWRQcmljZSk7XG4gIH1cblxuICBwdWJsaWMgc2VuZEVycm9yUmVjYWxjdWxhdGVkQ2FydChlcnJvcjogQXBwbGVQYXlFcnJvcik6IHZvaWQge1xuICAgIHRoaXMuY2FydEVycm9yUmVjYWxjdWxhdGVkLm5leHQoZXJyb3IpO1xuICB9XG5cbiAgcHVibGljIGlzWmlwQ291bnRyeShjb3VudHJ5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gWydVUycsICdDQSddLmluY2x1ZGVzKGNvdW50cnkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRMaW5lSXRlbXModXBkYXRlZFByaWNlOiBVcGRhdGVkUHJpY2UpOiBBcHBsZVBheUxpbmVJdGVtW10ge1xuICAgIGNvbnN0IG5ld0xpbmVJdGVtczogQXBwbGVQYXlMaW5lSXRlbVtdID0gW107XG5cbiAgICBpZiAodXBkYXRlZFByaWNlLnN1YnRvdGFsUGF5bWVudD8ubW9uZXk/LmFtb3VudCkge1xuICAgICAgbmV3TGluZUl0ZW1zLnB1c2goe1xuICAgICAgICBsYWJlbDogdXBkYXRlZFByaWNlLnN1YnRvdGFsUGF5bWVudC50aXRsZSA/PyAnU3VidG90YWwnLFxuICAgICAgICBhbW91bnQ6IHVwZGF0ZWRQcmljZS5zdWJ0b3RhbFBheW1lbnQubW9uZXk/LmFtb3VudC50b1N0cmluZygpLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgbGV0IHBheW1lbnRzRGV0YWlsczogQ2FydExpbmVbXSA9IFtdO1xuXG4gICAgaWYgKHVwZGF0ZWRQcmljZS5zdWJ0b3RhbERldGFpbHM/Lmxlbmd0aCkge1xuICAgICAgcGF5bWVudHNEZXRhaWxzID0gdXBkYXRlZFByaWNlLnN1YnRvdGFsRGV0YWlscztcbiAgICB9XG5cbiAgICBpZiAodXBkYXRlZFByaWNlLnRvdGFsRGV0YWlscz8ubGVuZ3RoKSB7XG4gICAgICBwYXltZW50c0RldGFpbHMgPSBwYXltZW50c0RldGFpbHMuY29uY2F0KHVwZGF0ZWRQcmljZS50b3RhbERldGFpbHMpO1xuICAgIH1cblxuICAgIHBheW1lbnRzRGV0YWlscy5mb3JFYWNoKChjYXJ0SXRlbSkgPT4ge1xuICAgICAgaWYgKCFjYXJ0SXRlbS50aXRsZSB8fCAhY2FydEl0ZW0ubW9uZXk/LmFtb3VudCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIG5ld0xpbmVJdGVtcy5wdXNoKHtcbiAgICAgICAgbGFiZWw6IGNhcnRJdGVtLnRpdGxlLFxuICAgICAgICBhbW91bnQ6IGNhcnRJdGVtLm1vbmV5LmFtb3VudC50b1N0cmluZygpLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbmV3TGluZUl0ZW1zO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUb3RhbEFtb3VudChmaW5hbmNlOiBYcHNGaW5hbmNlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gZmluYW5jZT8uZ3JhbmRfdG90YWw/LmFtb3VudCA/PyBmaW5hbmNlPy50b3RhbD8uYW1vdW50O1xuICB9XG59XG4iXX0=
@@ -19,6 +19,7 @@ import * as i5 from "../../exceptions-handling/elk/elk-logger.service";
19
19
  import * as i6 from "./apple-pay-sdk.service";
20
20
  import * as i7 from "./external-window-communication/external-window-communication.service";
21
21
  import * as i8 from "./apple-pay-cart/apple-pay-cart.service";
22
+ import * as i9 from "../../settings/settings.service";
22
23
  export class ApplePayService {
23
24
  get paymentParameters() {
24
25
  return this.applePayParams;
@@ -40,7 +41,27 @@ export class ApplePayService {
40
41
  get integrationType$() {
41
42
  return this.integrationType.asObservable();
42
43
  }
43
- constructor(window, summaryFinanceDetailsAdapterService, braintreeHandler, checkoutHandler, appleParamsBuilder, elkLoggerService, applePaySdkService, externalWindowCommunicationService, applePayCartService) {
44
+ get getCartRecalculationMessage$() {
45
+ return this.externalWindowCommunicationService
46
+ .getCartRecalculationMessage$()
47
+ .pipe(takeUntil(this.destroy$));
48
+ }
49
+ get getWindowSendTokenMessage$() {
50
+ return this.externalWindowCommunicationService
51
+ .getWindowSendTokenMessage$()
52
+ .pipe(takeUntil(this.destroy$));
53
+ }
54
+ get getWindowClose$() {
55
+ return this.externalWindowCommunicationService
56
+ .getWindowClose$()
57
+ .pipe(takeUntil(this.destroy$));
58
+ }
59
+ get getWindowReturnMessage$() {
60
+ return this.externalWindowCommunicationService
61
+ .getWindowReturnMessage$()
62
+ .pipe(takeUntil(this.destroy$));
63
+ }
64
+ constructor(window, summaryFinanceDetailsAdapterService, braintreeHandler, checkoutHandler, appleParamsBuilder, elkLoggerService, applePaySdkService, externalWindowCommunicationService, applePayCartService, settingsService) {
44
65
  this.window = window;
45
66
  this.summaryFinanceDetailsAdapterService = summaryFinanceDetailsAdapterService;
46
67
  this.braintreeHandler = braintreeHandler;
@@ -50,6 +71,7 @@ export class ApplePayService {
50
71
  this.applePaySdkService = applePaySdkService;
51
72
  this.externalWindowCommunicationService = externalWindowCommunicationService;
52
73
  this.applePayCartService = applePayCartService;
74
+ this.settingsService = settingsService;
53
75
  this.payment = new Subject();
54
76
  this.error = new Subject();
55
77
  this.integrationType = new Subject();
@@ -107,14 +129,19 @@ export class ApplePayService {
107
129
  }
108
130
  this.emitIntegrationType();
109
131
  }
110
- async redirectToPaymentPage(parameters, token, isSandbox) {
132
+ async startWindowCommunication() {
133
+ await this.externalWindowCommunicationService.openWebSocketConnection(this.settingsService.token);
134
+ }
135
+ sendUpdatedPriceViaWindowCommunication(updatedPrice) {
136
+ void this.externalWindowCommunicationService.sendMessageToAnotherWindow("apple-pay-update-price" /* CommandsForPages.APPLE_PAY_UPDATE_PRICE */, {
137
+ newCartPricing: updatedPrice,
138
+ });
139
+ }
140
+ redirectToPaymentPage(parameters, token, isSandbox) {
111
141
  const route = pagesRoutes.get(applePayId);
112
142
  if (!route) {
113
143
  return;
114
144
  }
115
- console.log('🟡[LOG] token :>>', token);
116
- await this.externalWindowCommunicationService.openWebSocketConnection(token);
117
- this.listenWebsocketMessages();
118
145
  const query = new URLSearchParams({
119
146
  ...parameters,
120
147
  merchantCapabilities: JSON.stringify(parameters.merchantCapabilities),
@@ -179,6 +206,12 @@ export class ApplePayService {
179
206
  sessionHandler.startSession(parameters, additionalParams, () => this.applePaySdkService.emitWindowClosing());
180
207
  this.emitApplePayOpened();
181
208
  }
209
+ mapShippingAddressToContact(shippingAddress) {
210
+ return mapShippingAddressToContact(shippingAddress);
211
+ }
212
+ setToken(token) {
213
+ this.payment.next(token);
214
+ }
182
215
  getSessionHandler(acquirer) {
183
216
  switch (acquirer) {
184
217
  case 'braintree':
@@ -220,34 +253,7 @@ export class ApplePayService {
220
253
  this.applePayQrOpened.next();
221
254
  }
222
255
  }
223
- listenWebsocketMessages() {
224
- // Cart recalculation
225
- this.externalWindowCommunicationService
226
- .getCartRecalculationMessage$()
227
- .pipe(takeUntil(this.destroy$))
228
- .subscribe((message) => {
229
- const shippingContact = mapShippingAddressToContact(message.data.shippingAddress);
230
- this.applePayCartService.recalculateCartTaxes(shippingContact);
231
- });
232
- // Send token
233
- this.externalWindowCommunicationService
234
- .getWindowSendTokenMessage$()
235
- .pipe(takeUntil(this.destroy$))
236
- .subscribe((message) => {
237
- this.payment.next(message.data.applePayToken);
238
- });
239
- // Close window
240
- this.externalWindowCommunicationService.getWindowClose$().subscribe(() => {
241
- // TODO handle
242
- });
243
- // Close window with 'back' button
244
- this.externalWindowCommunicationService
245
- .getWindowReturnMessage$()
246
- .subscribe(() => {
247
- // TODO handle
248
- });
249
- }
250
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ApplePayService, deps: [{ token: windowToken }, { token: i1.SummaryFinanceDetailsAdapterService }, { token: i2.BraintreeHandler }, { token: i3.CheckoutHandler }, { token: i4.ApplePayParamsBuilderService }, { token: i5.ElkLoggerService }, { token: i6.ApplePaySdkService }, { token: i7.ApplePayExternalWindowCommunicationService }, { token: i8.ApplePayCartService }], target: i0.ɵɵFactoryTarget.Injectable }); }
256
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ApplePayService, deps: [{ token: windowToken }, { token: i1.SummaryFinanceDetailsAdapterService }, { token: i2.BraintreeHandler }, { token: i3.CheckoutHandler }, { token: i4.ApplePayParamsBuilderService }, { token: i5.ElkLoggerService }, { token: i6.ApplePaySdkService }, { token: i7.ApplePayExternalWindowCommunicationService }, { token: i8.ApplePayCartService }, { token: i9.SettingsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
251
257
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ApplePayService, providedIn: 'root' }); }
252
258
  }
253
259
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ApplePayService, decorators: [{
@@ -258,5 +264,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
258
264
  }], ctorParameters: () => [{ type: undefined, decorators: [{
259
265
  type: Inject,
260
266
  args: [windowToken]
261
- }] }, { type: i1.SummaryFinanceDetailsAdapterService }, { type: i2.BraintreeHandler }, { type: i3.CheckoutHandler }, { type: i4.ApplePayParamsBuilderService }, { type: i5.ElkLoggerService }, { type: i6.ApplePaySdkService }, { type: i7.ApplePayExternalWindowCommunicationService }, { type: i8.ApplePayCartService }] });
262
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGUtcGF5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9zZGstcGF5bWVudC1zeXN0ZW1zL2FwcGxlLXBheS9hcHBsZS1wYXkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd0RCxPQUFPLEVBQ0wsY0FBYyxFQUNkLG9CQUFvQixHQUNyQixNQUFNLHVEQUF1RCxDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5RUFBeUUsQ0FBQztBQUNyRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDMUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBRUwsdUJBQXVCLEdBQ3hCLE1BQU0sOEJBQThCLENBQUM7QUFFdEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQU96RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdURBQXVELENBQUM7QUFLbEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNENBQTRDLENBQUM7Ozs7Ozs7Ozs7QUFLekYsTUFBTSxPQUFPLGVBQWU7SUFpQjFCLElBQVcsaUJBQWlCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZ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cm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXBwbGVQYXksIGFwcGxlUGF5LCBjbGllbnQgfSBmcm9tICdicmFpbnRyZWUtd2ViJztcbmltcG9ydCB7IEV4dGVuZGVkV2luZG93IH0gZnJvbSAnLi4vLi4vZXh0ZW5kZWQtd2luZG93LmludGVyZmFjZSc7XG5pbXBvcnQge1xuICBwYXlTdGF0aW9uNFVybCxcbiAgc2FuZGJveFBheVN0YXRpb25VcmwsXG59IGZyb20gJy4uLy4uL3BheW1lbnQvYWN0aW9ucy9yZWRpcmVjdC9wYXktc3RhdGlvbjQtdXJsLmNvbnN0JztcbmltcG9ydCB7IGFwcGxlUGF5SWQgfSBmcm9tICcuLi8uLi9wYXltZW50L2FjdGlvbnMvcmVkaXJlY3QvcHM0LXBhZ2VzL3BhZ2VzLXBheW1lbnQtbWV0aG9kcy1pZC5jb25zdCc7XG5pbXBvcnQgeyBwYWdlc1JvdXRlcyB9IGZyb20gJy4uLy4uL3BheW1lbnQvYWN0aW9ucy9yZWRpcmVjdC9wczQtcGFnZXMvcGFnZXMtcm91dGVzLmNvbnN0JztcbmltcG9ydCB7IEZpZWxkTmFtZXMgfSBmcm9tICcuLi8uLi9wYXltZW50L2ZpZWxkLW5hbWVzLmVudW0nO1xuaW1wb3J0IHsgU3VtbWFyeUZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9wYXltZW50L2ZpbmFuY2UtZGV0YWlscy9zdW1tYXJ5L3N1bW1hcnktZmluYW5jZS1kZXRhaWxzLWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBYcHNSZXNwb25zZSB9IGZyb20gJy4uLy4uL3BheW1lbnQveHBzLXJlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyB3aW5kb3dUb2tlbiB9IGZyb20gJy4uLy4uL3dpbmRvdy50b2tlbic7XG5pbXBvcnQge1xuICBBcHBsZVBheUludGVncmF0aW9uLFxuICBBcHBsZVBheUludGVncmF0aW9uVHlwZSxcbn0gZnJvbSAnLi9hcHBsZS1wYXktaW50ZWdyYXRpb24udHlwZSc7XG5pbXBvcnQgeyBBcHBsZVBheVBhcmFtcyB9IGZyb20gJy4vYXBwbGUtcGF5LXBhcmFtcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgYXBwbGVQYXlWZXJzaW9uIH0gZnJvbSAnLi9hcHBsZS1wYXkuY29uc3QnO1xuaW1wb3J0IHsgQXBwbGVQYXlFcnJvcnMgfSBmcm9tICcuL2FwcGxlLXBheS5lcnJvcnMuZW51bSc7XG5pbXBvcnQgeyBCcmFpbnRyZWVIYW5kbGVyIH0gZnJvbSAnLi9zZXNzaW9uLWhhbmRsZXJzL2JyYWludHJlZS5oYW5kbGVyJztcbmltcG9ydCB7IENoZWNrb3V0SGFuZGxlciB9IGZyb20gJy4vc2Vzc2lvbi1oYW5kbGVycy9jaGVja291dC5oYW5kbGVyJztcbmltcG9ydCB7IEFwcGxlUGF5U2Vzc2lvbkhhbmRsZXIgfSBmcm9tICcuL3Nlc3Npb24taGFuZGxlcnMvc2Vzc2lvbi1oYW5kbGVyLnR5cGUnO1xuaW1wb3J0IHsgUGF5bWVudEZvcm0gfSBmcm9tICcuLi8uLi9wYXltZW50L3BheW1lbnQtZm9ybS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBwbGVQYXlQYXJhbXNCdWlsZGVyU2VydmljZSB9IGZyb20gJy4vcGFyYW1zLWJ1aWxkZXIvYXBwbGUtcGF5LXBhcmFtcy1idWlsZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRWxrTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZWxrL2Vsay1sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBFcnJvclRhZ3MgfSBmcm9tICcuLi8uLi9leGNlcHRpb25zLWhhbmRsaW5nL2Vycm9ycy9lbGstZXJyb3ItdHlwZXMuZW51bSc7XG5pbXBvcnQgeyBTdGFydFNlc3Npb25QYXJhbXMgfSBmcm9tICcuL3Nlc3Npb24taGFuZGxlcnMvc3RhcnQtc2Vzc2lvbi1wYXJhbXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFwcGxlUGF5U2RrU2VydmljZSB9IGZyb20gJy4vYXBwbGUtcGF5LXNkay5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcGxlUGF5RXh0ZXJuYWxXaW5kb3dDb21tdW5pY2F0aW9uU2VydmljZSB9IGZyb20gJy4vZXh0ZXJuYWwtd2luZG93LWNvbW11bmljYXRpb24vZXh0ZXJuYWwtd2luZG93LWNvbW11bmljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBBcHBsZVBheUNhcnRTZXJ2aWNlIH0gZnJvbSAnLi9hcHBsZS1wYXktY2FydC9hcHBsZS1wYXktY2FydC5zZXJ2aWNlJztcbmltcG9ydCB7IG1hcFNoaXBwaW5nQWRkcmVzc1RvQ29udGFjdCB9IGZyb20gJy4vbWFwLXNoaXBwaW5nLWFkZHJlc3MtdG8tY29udGFjdC5mdW5jdGlvbic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBcHBsZVBheVNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IHBheW1lbnQ6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZXJyb3I6IFN1YmplY3Q8QXBwbGVQYXlFcnJvcnM+ID0gbmV3IFN1YmplY3QoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBpbnRlZ3JhdGlvblR5cGU6IFN1YmplY3Q8QXBwbGVQYXlJbnRlZ3JhdGlvbj4gPVxuICAgIG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXBwbGVQYXlRck9wZW5lZDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByaXZhdGUgcGF5bWVudENsaWVudDogQXBwbGVQYXkgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIHJlYWRvbmx5IGFwaTogUHJvbWlzZTx7XG4gICAgYXBwbGVQYXk6IHR5cGVvZiBhcHBsZVBheTtcbiAgICBjbGllbnQ6IHR5cGVvZiBjbGllbnQ7XG4gIH0+O1xuICBwcml2YXRlIGFwcGxlUGF5UGFyYW1zOiBBcHBsZVBheVBhcmFtcyB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIG9yZGVyPzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIGdldCBwYXltZW50UGFyYW1ldGVycygpOiBBcHBsZVBheVBhcmFtcyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmFwcGxlUGF5UGFyYW1zO1xuICB9XG5cbiAgcHVibGljIGdldCBwYXltZW50JCgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLnBheW1lbnQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGVycm9yJCgpOiBPYnNlcnZhYmxlPEFwcGxlUGF5RXJyb3JzPiB7XG4gICAgcmV0dXJuIHRoaXMuZXJyb3IuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBwdWJsaWMgZ2V0IGFwcGxlUGF5UXJPcGVuZWQkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmFwcGxlUGF5UXJPcGVuZWQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBwdWJsaWMgZ2V0IHdpbmRvd0Nsb3NpbmckKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmFwcGxlUGF5U2RrU2VydmljZS53aW5kb3dDbG9zaW5nJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaW50ZWdyYXRpb25UeXBlJCgpOiBPYnNlcnZhYmxlPEFwcGxlUGF5SW50ZWdyYXRpb24+IHtcbiAgICByZXR1cm4gdGhpcy5pbnRlZ3JhdGlvblR5cGUuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgQEluamVjdCh3aW5kb3dUb2tlbikgcHJpdmF0ZSByZWFkb25seSB3aW5kb3c6IEV4dGVuZGVkV2luZG93LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3VtbWFyeUZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2U6IFN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYnJhaW50cmVlSGFuZGxlcjogQnJhaW50cmVlSGFuZGxlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNoZWNrb3V0SGFuZGxlcjogQ2hlY2tvdXRIYW5kbGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXBwbGVQYXJhbXNCdWlsZGVyOiBBcHBsZVBheVBhcmFtc0J1aWxkZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxrTG9nZ2VyU2VydmljZTogRWxrTG9nZ2VyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwcGxlUGF5U2RrU2VydmljZTogQXBwbGVQYXlTZGtTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZXh0ZXJuYWxXaW5kb3dDb21tdW5pY2F0aW9uU2VydmljZTogQXBwbGVQYXlFeHRlcm5hbFdpbmRvd0NvbW11bmljYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXBwbGVQYXlDYXJ0U2VydmljZTogQXBwbGVQYXlDYXJ0U2VydmljZVxuICApIHtcbiAgICB0aGlzLmFwaSA9IHRoaXMubG9hZEJyYWludHJlZSgpO1xuXG4gICAgdGhpcy5zdWJzY3JpYmVUb0hhbmRsZXJzKCk7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBwdWJsaWMgYWRkQXBwbGVQYXlTZGtKcygpOiB2b2lkIHtcbiAgICB0aGlzLmFwcGxlUGF5U2RrU2VydmljZS5hZGRBcHBsZVBheVNka0pzKCk7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBwdWJsaWMgcmVtb3ZlTGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB0aGlzLmFwcGxlUGF5U2RrU2VydmljZS5yZW1vdmVMaXN0ZW5lcnMoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRBcHBsZVBheVBhcmFtcyhkYXRhOiB7IHBheW1lbnRGb3JtOiBQYXltZW50Rm9ybSB9KTogdm9pZCB7XG4gICAgY29uc3QgcGF5bWVudEZvcm0gPSBkYXRhPy5wYXltZW50Rm9ybTtcbiAgICBjb25zdCBmb3JtRmllbGRzID0gcGF5bWVudEZvcm0/LmZpZWxkcztcbiAgICBjb25zdCBzdW1tYXJ5ID0gcGF5bWVudEZvcm0/LnN1bW1hcnk7XG5cbiAgICBpZiAoIWZvcm1GaWVsZHMgfHwgIXN1bW1hcnkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmFwcGxlUGF5UGFyYW1zID0gdGhpcy5hcHBsZVBhcmFtc0J1aWxkZXIuYnVpbGRQYXJhbXMocGF5bWVudEZvcm0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGluaXRCcmFpbnRyZWVMaWJyYXJ5KHRva2VuS2V5OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgYXBpID0gYXdhaXQgdGhpcy5hcGk7XG4gICAgICBjb25zdCBjbGllbnRJbnN0YW5jZSA9IGF3YWl0IGFwaS5jbGllbnQuY3JlYXRlKHtcbiAgICAgICAgYXV0aG9yaXphdGlvbjogdG9rZW5LZXksXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5wYXltZW50Q2xpZW50ID0gYXdhaXQgYXBpLmFwcGxlUGF5LmNyZWF0ZSh7XG4gICAgICAgIGNsaWVudDogY2xpZW50SW5zdGFuY2UsXG4gICAgICB9KTtcbiAgICAgIHRoaXMuYnJhaW50cmVlSGFuZGxlci5zZXRDbGllbnQodGhpcy5wYXltZW50Q2xpZW50KTtcbiAgICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgICAgY29uc29sZS5lcnJvcihBcHBsZVBheUVycm9ycy5icmFpbnRyZWVJbml0aWFsaXplRXJyb3IsIGVycm9yKTtcbiAgICAgIHRoaXMuZWxrTG9nZ2VyU2VydmljZS5sb2coQXBwbGVQYXlFcnJvcnMuYnJhaW50cmVlSW5pdGlhbGl6ZUVycm9yLCBbXG4gICAgICAgIEVycm9yVGFncy5BUFBMRVBBWSxcbiAgICAgIF0pO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5wYXltZW50Q2xpZW50IHx8ICF0aGlzLmlzRGV2aWNlQ2FwYWJsZSkge1xuICAgICAgdGhpcy5lbWl0RXJyb3IoQXBwbGVQYXlFcnJvcnMuZGV2aWNlSXNOb3RDYXBhYmxlRXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBpbml0QXBwbGVQYXkodG9rZW5LZXk6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLmFwcGxlUGF5UGFyYW1zPy5hY3F1aXJlciA9PT0gJ2JyYWludHJlZScpIHtcbiAgICAgIGF3YWl0IHRoaXMuaW5pdEJyYWludHJlZUxpYnJhcnkodG9rZW5LZXkpO1xuICAgIH1cblxuICAgIHRoaXMuZW1pdEludGVncmF0aW9uVHlwZSgpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHJlZGlyZWN0VG9QYXltZW50UGFnZShcbiAgICBwYXJhbWV0ZXJzOiBBcHBsZVBheVBhcmFtcyxcbiAgICB0b2tlbjogc3RyaW5nLFxuICAgIGlzU2FuZGJveD86IGJvb2xlYW5cbiAgKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICBjb25zdCByb3V0ZSA9IHBhZ2VzUm91dGVzLmdldChhcHBsZVBheUlkKTtcbiAgICBpZiAoIXJvdXRlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnNvbGUubG9nKCfwn5+hW0xPR10gdG9rZW4gOj4+JywgdG9rZW4pO1xuXG4gICAgYXdhaXQgdGhpcy5leHRlcm5hbFdpbmRvd0NvbW11bmljYXRpb25TZXJ2aWNlLm9wZW5XZWJTb2NrZXRDb25uZWN0aW9uKFxuICAgICAgdG9rZW5cbiAgICApO1xuICAgIHRoaXMubGlzdGVuV2Vic29ja2V0TWVzc2FnZXMoKTtcblxuICAgIGNvbnN0IHF1ZXJ5ID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh7XG4gICAgICAuLi5wYXJhbWV0ZXJzLFxuICAgICAgbWVyY2hhbnRDYXBhYmlsaXRpZXM6IEpTT04uc3RyaW5naWZ5KHBhcmFtZXRlcnMubWVyY2hhbnRDYXBhYmlsaXRpZXMpLFxuICAgICAgc3VwcG9ydGVkTmV0d29ya3M6IEpTT04uc3RyaW5naWZ5KHBhcmFtZXRlcnMuc3VwcG9ydGVkTmV0d29ya3MpLFxuICAgICAgcmVxdWlyZWRCaWxsaW5nQ29udGFjdEZpZWxkczogSlNPTi5zdHJpbmdpZnkoXG4gICAgICAgIHBhcmFtZXRlcnM/LnJlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHNcbiAgICAgICksXG4gICAgICByZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkczogSlNPTi5zdHJpbmdpZnkoXG4gICAgICAgIHBhcmFtZXRlcnM/LnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzXG4gICAgICApLFxuICAgICAgYWdyZWVtZW50czogSlNPTi5zdHJpbmdpZnkocGFyYW1ldGVycy5hZ3JlZW1lbnRzKSxcbiAgICAgIHRva2VuLFxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMub3JkZXIpIHtcbiAgICAgIHF1ZXJ5LmFwcGVuZCgnb3JkZXInLCB0aGlzLm9yZGVyKTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXlTdGF0aW9uVXJsID0gaXNTYW5kYm94ID8gc2FuZGJveFBheVN0YXRpb25VcmwgOiBwYXlTdGF0aW9uNFVybDtcbiAgICByZXR1cm4gYCR7cGF5U3RhdGlvblVybH0vZW4ke3JvdXRlfT8ke3F1ZXJ5LnRvU3RyaW5nKCl9YDtcbiAgfVxuXG4gIHB1YmxpYyBzZXRPcmRlcihkYXRhOiB7IHBheW1lbnRGb3JtOiBQYXltZW50Rm9ybSB9KTogdm9pZCB7XG4gICAgY29uc3Qgc3VtbWFyeSA9IGRhdGE/LnBheW1lbnRGb3JtPy5zdW1tYXJ5O1xuICAgIGlmICghc3VtbWFyeSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGZpbmFuY2VEZXRhaWxzID1cbiAgICAgIHRoaXMuc3VtbWFyeUZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2UuZ2V0RmluYW5jZURldGFpbHMoc3VtbWFyeSk7XG5cbiAgICBpZiAoZmluYW5jZURldGFpbHM/LnB1cmNoYXNlICYmIGZpbmFuY2VEZXRhaWxzPy5maW5hbmNlKSB7XG4gICAgICBjb25zdCBjYXJ0SXRlbXMgPSBmaW5hbmNlRGV0YWlscy5jYXJ0SXRlbXM7XG4gICAgICB0aGlzLm9yZGVyID0gY2FydEl0ZW1zPy5yZWR1Y2UoKGN1cnIsIGl0ZW0pID0+IHtcbiAgICAgICAgaWYgKGN1cnIpIHtcbiAgICAgICAgICByZXR1cm4gY3VyciArIGA7ICR7aXRlbS50aXRsZX1gO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGN1cnIgKyBpdGVtLnRpdGxlO1xuICAgICAgfSwgJycpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNEZXZpY2VDYXBhYmxlKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmFwcGxlUGF5U2RrU2VydmljZS5uZWVkVG9BZGRBcHBsZVBheUpzKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIEJvb2xlYW4oXG4gICAgICAgIHRoaXMud2luZG93LkFwcGxlUGF5U2Vzc2lvbj8uc3VwcG9ydHNWZXJzaW9uKGFwcGxlUGF5VmVyc2lvbikgJiZcbiAgICAgICAgICB0aGlzLndpbmRvdy5BcHBsZVBheVNlc3Npb24/LmNhbk1ha2VQYXltZW50cygpXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFRva2VuTm9uY2VGaWVsZERhdGEodG9rZW5Ob25jZTogc3RyaW5nKToge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB2YWx1ZTogc3RyaW5nO1xuICB9IHtcbiAgICBjb25zdCBuYW1lID0gRmllbGROYW1lcy50b2tlbkFwcGxlUGF5O1xuICAgIGNvbnN0IHZhbHVlID0gYnRvYSh0b2tlbk5vbmNlKTtcbiAgICByZXR1cm4geyBuYW1lLCB2YWx1ZSB9O1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZUFwcGxlUGF5UGFyYW1zKGRhdGE6IHVua25vd24pOiB2b2lkIHtcbiAgICBjb25zdCBzdW1tYXJ5ID0gKGRhdGEgYXMgWHBzUmVzcG9uc2UpPy5zdW1tYXJ5O1xuICAgIGlmICghdGhpcy5hcHBsZVBheVBhcmFtcyB8fCAhc3VtbWFyeSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuYXBwbGVQYXlQYXJhbXMgPSB0aGlzLmFwcGxlUGFyYW1zQnVpbGRlci51cGRhdGVQYXJhbXMoXG4gICAgICB0aGlzLmFwcGxlUGF5UGFyYW1zLFxuICAgICAgc3VtbWFyeVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgcHJvY2VlZENoZWNrb3V0KFxuICAgIHBhcmFtZXRlcnM6IEFwcGxlUGF5UGFyYW1zLFxuICAgIGFkZGl0aW9uYWxQYXJhbXM6IFN0YXJ0U2Vzc2lvblBhcmFtc1xuICApOiB2b2lkIHtcbiAgICBjb25zdCBzZXNzaW9uSGFuZGxlciA9IHRoaXMuZ2V0U2Vzc2lvbkhhbmRsZXIocGFyYW1ldGVycy5hY3F1aXJlcik7XG5cbiAgICBpZiAoIXNlc3Npb25IYW5kbGVyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdBcHBsZSBQYXk6IFVuc3VwcG9ydGVkIGFjcXVpcmVyOicsIHBhcmFtZXRlcnMuYWNxdWlyZXIpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNlc3Npb25IYW5kbGVyLnN0YXJ0U2Vzc2lvbihwYXJhbWV0ZXJzLCBhZGRpdGlvbmFsUGFyYW1zLCAoKSA9PlxuICAgICAgdGhpcy5hcHBsZVBheVNka1NlcnZpY2UuZW1pdFdpbmRvd0Nsb3NpbmcoKVxuICAgICk7XG4gICAgdGhpcy5lbWl0QXBwbGVQYXlPcGVuZWQoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2Vzc2lvbkhhbmRsZXIoXG4gICAgYWNxdWlyZXI6IHN0cmluZ1xuICApOiBBcHBsZVBheVNlc3Npb25IYW5kbGVyIHwgdW5kZWZpbmVkIHtcbiAgICBzd2l0Y2ggKGFjcXVpcmVyKSB7XG4gICAgICBjYXNlICdicmFpbnRyZWUnOlxuICAgICAgICByZXR1cm4gdGhpcy5icmFpbnRyZWVIYW5kbGVyO1xuICAgICAgY2FzZSAnY2hlY2tvdXQnOlxuICAgICAgICByZXR1cm4gdGhpcy5jaGVja291dEhhbmRsZXI7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZEJyYWludHJlZSgpOiBQcm9taXNlPHtcbiAgICBhcHBsZVBheTogdHlwZW9mIGFwcGxlUGF5O1xuICAgIGNsaWVudDogdHlwZW9mIGNsaWVudDtcbiAgfT4ge1xuICAgIGNvbnN0IGFwaSA9IGF3YWl0IGltcG9ydCgnYnJhaW50cmVlLXdlYicpO1xuICAgIHJldHVybiBhcGk7XG4gIH1cblxuICBwcml2YXRlIGVtaXRFcnJvcihlcnJvcjogQXBwbGVQYXlFcnJvcnMpOiB2b2lkIHtcbiAgICB0aGlzLmVycm9yLm5leHQoZXJyb3IpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0SW50ZWdyYXRpb25UeXBlKCk6IHZvaWQge1xuICAgIHRoaXMuaW50ZWdyYXRpb25UeXBlLm5leHQodGhpcy5nZXRJbnRlZ3JhdGlvblR5cGUoKSk7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZVRvSGFuZGxlcnMoKTogdm9pZCB7XG4gICAgY29uc3QgaGFuZGxlcnMgPSBbdGhpcy5icmFpbnRyZWVIYW5kbGVyLCB0aGlzLmNoZWNrb3V0SGFuZGxlcl07XG5cbiAgICBoYW5kbGVycy5mb3JFYWNoKChoYW5kbGVyKSA9PiB7XG4gICAgICBoYW5kbGVyLmVycm9yJC5zdWJzY3JpYmUoKGVycm9yKSA9PiB0aGlzLmVtaXRFcnJvcihlcnJvcikpO1xuICAgICAgaGFuZGxlci5wYXltZW50JC5zdWJzY3JpYmUoKHRva2VuKSA9PiB7XG4gICAgICAgIHRoaXMucGF5bWVudC5uZXh0KHRva2VuKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRJbnRlZ3JhdGlvblR5cGUoKTogQXBwbGVQYXlJbnRlZ3JhdGlvblR5cGUge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIHRoaXMuaXNEZXZpY2VDYXBhYmxlXG4gICAgICA/IEFwcGxlUGF5SW50ZWdyYXRpb25UeXBlLm5hdGl2ZVxuICAgICAgOiBBcHBsZVBheUludGVncmF0aW9uVHlwZS5yZWRpcmVjdDtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdEFwcGxlUGF5T3BlbmVkKCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIHRoaXMuZ2V0SW50ZWdyYXRpb25UeXBlKCkgPT09IEFwcGxlUGF5SW50ZWdyYXRpb25UeXBlLm5hdGl2ZSAmJlxuICAgICAgdGhpcy5hcHBsZVBheVNka1NlcnZpY2UubmVlZFRvQWRkQXBwbGVQYXlKc1xuICAgICkge1xuICAgICAgdGhpcy5hcHBsZVBheVFyT3BlbmVkLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGxpc3RlbldlYnNvY2tldE1lc3NhZ2VzKCk6IHZvaWQge1xuICAgIC8vIENhcnQgcmVjYWxjdWxhdGlvblxuICAgIHRoaXMuZXh0ZXJuYWxXaW5kb3dDb21tdW5pY2F0aW9uU2VydmljZVxuICAgICAgLmdldENhcnRSZWNhbGN1bGF0aW9uTWVzc2FnZSQoKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgobWVzc2FnZSkgPT4ge1xuICAgICAgICBjb25zdCBzaGlwcGluZ0NvbnRhY3QgPSBtYXBTaGlwcGluZ0FkZHJlc3NUb0NvbnRhY3QoXG4gICAgICAgICAgbWVzc2FnZS5kYXRhLnNoaXBwaW5nQWRkcmVzc1xuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuYXBwbGVQYXlDYXJ0U2VydmljZS5yZWNhbGN1bGF0ZUNhcnRUYXhlcyhzaGlwcGluZ0NvbnRhY3QpO1xuICAgICAgfSk7XG5cbiAgICAvLyBTZW5kIHRva2VuXG4gICAgdGhpcy5leHRlcm5hbFdpbmRvd0NvbW11bmljYXRpb25TZXJ2aWNlXG4gICAgICAuZ2V0V2luZG93U2VuZFRva2VuTWVzc2FnZSQoKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgobWVzc2FnZSkgPT4ge1xuICAgICAgICB0aGlzLnBheW1lbnQubmV4dChtZXNzYWdlLmRhdGEuYXBwbGVQYXlUb2tlbik7XG4gICAgICB9KTtcblxuICAgIC8vIENsb3NlIHdpbmRvd1xuICAgIHRoaXMuZXh0ZXJuYWxXaW5kb3dDb21tdW5pY2F0aW9uU2VydmljZS5nZXRXaW5kb3dDbG9zZSQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgLy8gVE9ETyBoYW5kbGVcbiAgICB9KTtcblxuICAgIC8vIENsb3NlIHdpbmRvdyB3aXRoICdiYWNrJyBidXR0b25cbiAgICB0aGlzLmV4dGVybmFsV2luZG93Q29tbXVuaWNhdGlvblNlcnZpY2VcbiAgICAgIC5nZXRXaW5kb3dSZXR1cm5NZXNzYWdlJCgpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgLy8gVE9ETyBoYW5kbGVcbiAgICAgIH0pO1xuICB9XG59XG4iXX0=
267
+ }] }, { type: i1.SummaryFinanceDetailsAdapterService }, { type: i2.BraintreeHandler }, { type: i3.CheckoutHandler }, { type: i4.ApplePayParamsBuilderService }, { type: i5.ElkLoggerService }, { type: i6.ApplePaySdkService }, { type: i7.ApplePayExternalWindowCommunicationService }, { type: i8.ApplePayCartService }, { type: i9.SettingsService }] });
268
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGUtcGF5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9zZGstcGF5bWVudC1zeXN0ZW1zL2FwcGxlLXBheS9hcHBsZS1wYXkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd0RCxPQUFPLEVBQ0wsY0FBYyxFQUNkLG9CQUFvQixHQUNyQixNQUFNLHVEQUF1RCxDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5RUFBeUUsQ0FBQztBQUNyRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDMUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBRUwsdUJBQXVCLEdBQ3hCLE1BQU0sOEJBQThCLENBQUM7QUFFdEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQU96RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdURBQXVELENBQUM7QUFLbEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNENBQTRDLENBQUM7Ozs7Ozs7Ozs7O0FBZXpGLE1BQU0sT0FBTyxlQUFlO0lBaUIxQixJQUFXLGlCQUFpQjtRQUMxQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFB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dCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXBwbGVQYXksIGFwcGxlUGF5LCBjbGllbnQgfSBmcm9tICdicmFpbnRyZWUtd2ViJztcbmltcG9ydCB7IEV4dGVuZGVkV2luZG93IH0gZnJvbSAnLi4vLi4vZXh0ZW5kZWQtd2luZG93LmludGVyZmFjZSc7XG5pbXBvcnQge1xuICBwYXlTdGF0aW9uNFVybCxcbiAgc2FuZGJveFBheVN0YXRpb25VcmwsXG59IGZyb20gJy4uLy4uL3BheW1lbnQvYWN0aW9ucy9yZWRpcmVjdC9wYXktc3RhdGlvbjQtdXJsLmNvbnN0JztcbmltcG9ydCB7IGFwcGxlUGF5SWQgfSBmcm9tICcuLi8uLi9wYXltZW50L2FjdGlvbnMvcmVkaXJlY3QvcHM0LXBhZ2VzL3BhZ2VzLXBheW1lbnQtbWV0aG9kcy1pZC5jb25zdCc7XG5pbXBvcnQgeyBwYWdlc1JvdXRlcyB9IGZyb20gJy4uLy4uL3BheW1lbnQvYWN0aW9ucy9yZWRpcmVjdC9wczQtcGFnZXMvcGFnZXMtcm91dGVzLmNvbnN0JztcbmltcG9ydCB7IEZpZWxkTmFtZXMgfSBmcm9tICcuLi8uLi9wYXltZW50L2ZpZWxkLW5hbWVzLmVudW0nO1xuaW1wb3J0IHsgU3VtbWFyeUZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9wYXltZW50L2ZpbmFuY2UtZGV0YWlscy9zdW1tYXJ5L3N1bW1hcnktZmluYW5jZS1kZXRhaWxzLWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBYcHNSZXNwb25zZSB9IGZyb20gJy4uLy4uL3BheW1lbnQveHBzLXJlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyB3aW5kb3dUb2tlbiB9IGZyb20gJy4uLy4uL3dpbmRvdy50b2tlbic7XG5pbXBvcnQge1xuICBBcHBsZVBheUludGVncmF0aW9uLFxuICBBcHBsZVBheUludGVncmF0aW9uVHlwZSxcbn0gZnJvbSAnLi9hcHBsZS1wYXktaW50ZWdyYXRpb24udHlwZSc7XG5pbXBvcnQgeyBBcHBsZVBheVBhcmFtcyB9IGZyb20gJy4vYXBwbGUtcGF5LXBhcmFtcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgYXBwbGVQYXlWZXJzaW9uIH0gZnJvbSAnLi9hcHBsZS1wYXkuY29uc3QnO1xuaW1wb3J0IHsgQXBwbGVQYXlFcnJvcnMgfSBmcm9tICcuL2FwcGxlLXBheS5lcnJvcnMuZW51bSc7XG5pbXBvcnQgeyBCcmFpbnRyZWVIYW5kbGVyIH0gZnJvbSAnLi9zZXNzaW9uLWhhbmRsZXJzL2JyYWludHJlZS5oYW5kbGVyJztcbmltcG9ydCB7IENoZWNrb3V0SGFuZGxlciB9IGZyb20gJy4vc2Vzc2lvbi1oYW5kbGVycy9jaGVja291dC5oYW5kbGVyJztcbmltcG9ydCB7IEFwcGxlUGF5U2Vzc2lvbkhhbmRsZXIgfSBmcm9tICcuL3Nlc3Npb24taGFuZGxlcnMvc2Vzc2lvbi1oYW5kbGVyLnR5cGUnO1xuaW1wb3J0IHsgUGF5bWVudEZvcm0gfSBmcm9tICcuLi8uLi9wYXltZW50L3BheW1lbnQtZm9ybS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBwbGVQYXlQYXJhbXNCdWlsZGVyU2VydmljZSB9IGZyb20gJy4vcGFyYW1zLWJ1aWxkZXIvYXBwbGUtcGF5LXBhcmFtcy1idWlsZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRWxrTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZWxrL2Vsay1sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBFcnJvclRhZ3MgfSBmcm9tICcuLi8uLi9leGNlcHRpb25zLWhhbmRsaW5nL2Vycm9ycy9lbGstZXJyb3ItdHlwZXMuZW51bSc7XG5pbXBvcnQgeyBTdGFydFNlc3Npb25QYXJhbXMgfSBmcm9tICcuL3Nlc3Npb24taGFuZGxlcnMvc3RhcnQtc2Vzc2lvbi1wYXJhbXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFwcGxlUGF5U2RrU2VydmljZSB9IGZyb20gJy4vYXBwbGUtcGF5LXNkay5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcGxlUGF5RXh0ZXJuYWxXaW5kb3dDb21tdW5pY2F0aW9uU2VydmljZSB9IGZyb20gJy4vZXh0ZXJuYWwtd2luZG93LWNvbW11bmljYXRpb24vZXh0ZXJuYWwtd2luZG93LWNvbW11bmljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBBcHBsZVBheUNhcnRTZXJ2aWNlIH0gZnJvbSAnLi9hcHBsZS1wYXktY2FydC9hcHBsZS1wYXktY2FydC5zZXJ2aWNlJztcbmltcG9ydCB7IG1hcFNoaXBwaW5nQWRkcmVzc1RvQ29udGFjdCB9IGZyb20gJy4vbWFwLXNoaXBwaW5nLWFkZHJlc3MtdG8tY29udGFjdC5mdW5jdGlvbic7XG5pbXBvcnQgeyBSZWNhbGN1bGF0ZUNhcnRNZXNzYWdlIH0gZnJvbSAnLi9zb2NrZXQtbWVzc2FnZXMvcmVjYWxjdWxhdGUtY2FydC1tZXNzYWdlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBBcHBsZVBheVNlbmRUb2tlbk1lc3NhZ2UgfSBmcm9tICcuL3NvY2tldC1tZXNzYWdlcy9zZW5kLXRva2VuLW1lc3NhZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFdpbmRvd0Nsb3NlTWVzc2FnZSB9IGZyb20gJy4vc29ja2V0LW1lc3NhZ2VzL3dpbmRvdy1jbG9zZS1tZXNzYWdlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZXR1cm5NZXNzYWdlIH0gZnJvbSAnLi9zb2NrZXQtbWVzc2FnZXMvcmV0dXJuLW1lc3NhZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNldHRpbmdzU2VydmljZSB9IGZyb20gJy4uLy4uL3NldHRpbmdzL3NldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2hpcHBpbmdBZGRyZXNzIH0gZnJvbSAnLi9zaGlwcGluZy1hZGRyZXNzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBBcHBsZVBheVNoaXBwaW5nQ29udGFjdCB9IGZyb20gJy4vc2Vzc2lvbi1oYW5kbGVycy9hcHBsZS1wYXktc2Vzc2lvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVXBkYXRlZFByaWNlIH0gZnJvbSAnLi91cGRhdGVkLXByaWNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBVcGRhdGVQcmljZU1lc3NhZ2UgfSBmcm9tICcuL3NvY2tldC1tZXNzYWdlcy91cGRhdGUtcHJpY2UtbWVzc2FnZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ29tbWFuZHNGb3JQYWdlcyB9IGZyb20gJy4vY29tbWFuZHMtZm9yLXBhZ2VzLmVudW0nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQXBwbGVQYXlTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBwYXltZW50OiBTdWJqZWN0PHN0cmluZz4gPSBuZXcgU3ViamVjdCgpO1xuICBwcml2YXRlIHJlYWRvbmx5IGVycm9yOiBTdWJqZWN0PEFwcGxlUGF5RXJyb3JzPiA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgaW50ZWdyYXRpb25UeXBlOiBTdWJqZWN0PEFwcGxlUGF5SW50ZWdyYXRpb24+ID1cbiAgICBuZXcgU3ViamVjdCgpO1xuICBwcml2YXRlIHJlYWRvbmx5IGFwcGxlUGF5UXJPcGVuZWQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwcml2YXRlIHBheW1lbnRDbGllbnQ6IEFwcGxlUGF5IHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBhcGk6IFByb21pc2U8e1xuICAgIGFwcGxlUGF5OiB0eXBlb2YgYXBwbGVQYXk7XG4gICAgY2xpZW50OiB0eXBlb2YgY2xpZW50O1xuICB9PjtcbiAgcHJpdmF0ZSBhcHBsZVBheVBhcmFtczogQXBwbGVQYXlQYXJhbXMgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBvcmRlcj86IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIHB1YmxpYyBnZXQgcGF5bWVudFBhcmFtZXRlcnMoKTogQXBwbGVQYXlQYXJhbXMgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5hcHBsZVBheVBhcmFtcztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGF5bWVudCQoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5wYXltZW50LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBlcnJvciQoKTogT2JzZXJ2YWJsZTxBcHBsZVBheUVycm9ycz4ge1xuICAgIHJldHVybiB0aGlzLmVycm9yLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcHVibGljIGdldCBhcHBsZVBheVFyT3BlbmVkJCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5hcHBsZVBheVFyT3BlbmVkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcHVibGljIGdldCB3aW5kb3dDbG9zaW5nJCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5hcHBsZVBheVNka1NlcnZpY2Uud2luZG93Q2xvc2luZyQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGludGVncmF0aW9uVHlwZSQoKTogT2JzZXJ2YWJsZTxBcHBsZVBheUludGVncmF0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuaW50ZWdyYXRpb25UeXBlLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBnZXRDYXJ0UmVjYWxjdWxhdGlvbk1lc3NhZ2UkKCk6IE9ic2VydmFibGU8UmVjYWxjdWxhdGVDYXJ0TWVzc2FnZT4ge1xuICAgIHJldHVybiB0aGlzLmV4dGVybmFsV2luZG93Q29tbXVuaWNhdGlvblNlcnZpY2VcbiAgICAgIC5nZXRDYXJ0UmVjYWxjdWxhdGlvbk1lc3NhZ2UkKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGdldFdpbmRvd1NlbmRUb2tlbk1lc3NhZ2UkKCk6IE9ic2VydmFibGU8QXBwbGVQYXlTZW5kVG9rZW5NZXNzYWdlPiB7XG4gICAgcmV0dXJuIHRoaXMuZXh0ZXJuYWxXaW5kb3dDb21tdW5pY2F0aW9uU2VydmljZVxuICAgICAgLmdldFdpbmRvd1NlbmRUb2tlbk1lc3NhZ2UkKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGdldFdpbmRvd0Nsb3NlJCgpOiBPYnNlcnZhYmxlPFdpbmRvd0Nsb3NlTWVzc2FnZT4ge1xuICAgIHJldHVybiB0aGlzLmV4dGVybmFsV2luZG93Q29tbXVuaWNhdGlvblNlcnZpY2VcbiAgICAgIC5nZXRXaW5kb3dDbG9zZSQoKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZ2V0V2luZG93UmV0dXJuTWVzc2FnZSQoKTogT2JzZXJ2YWJsZTxSZXR1cm5NZXNzYWdlPiB7XG4gICAgcmV0dXJuIHRoaXMuZXh0ZXJuYWxXaW5kb3dDb21tdW5pY2F0aW9uU2VydmljZVxuICAgICAgLmdldFdpbmRvd1JldHVybk1lc3NhZ2UkKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSk7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgQEluamVjdCh3aW5kb3dUb2tlbikgcHJpdmF0ZSByZWFkb25seSB3aW5kb3c6IEV4dGVuZGVkV2luZG93LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3VtbWFyeUZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2U6IFN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYnJhaW50cmVlSGFuZGxlcjogQnJhaW50cmVlSGFuZGxlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNoZWNrb3V0SGFuZGxlcjogQ2hlY2tvdXRIYW5kbGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXBwbGVQYXJhbXNCdWlsZGVyOiBBcHBsZVBheVBhcmFtc0J1aWxkZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxrTG9nZ2VyU2VydmljZTogRWxrTG9nZ2VyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwcGxlUGF5U2RrU2VydmljZTogQXBwbGVQYXlTZGtTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZXh0ZXJuYWxXaW5kb3dDb21tdW5pY2F0aW9uU2VydmljZTogQXBwbGVQYXlFeHRlcm5hbFdpbmRvd0NvbW11bmljYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXBwbGVQYXlDYXJ0U2VydmljZTogQXBwbGVQYXlDYXJ0U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNldHRpbmdzU2VydmljZTogU2V0dGluZ3NTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuYXBpID0gdGhpcy5sb2FkQnJhaW50cmVlKCk7XG5cbiAgICB0aGlzLnN1YnNjcmliZVRvSGFuZGxlcnMoKTtcbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHB1YmxpYyBhZGRBcHBsZVBheVNka0pzKCk6IHZvaWQge1xuICAgIHRoaXMuYXBwbGVQYXlTZGtTZXJ2aWNlLmFkZEFwcGxlUGF5U2RrSnMoKTtcbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHB1YmxpYyByZW1vdmVMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuYXBwbGVQYXlTZGtTZXJ2aWNlLnJlbW92ZUxpc3RlbmVycygpO1xuICB9XG5cbiAgcHVibGljIHNldEFwcGxlUGF5UGFyYW1zKGRhdGE6IHsgcGF5bWVudEZvcm06IFBheW1lbnRGb3JtIH0pOiB2b2lkIHtcbiAgICBjb25zdCBwYXltZW50Rm9ybSA9IGRhdGE/LnBheW1lbnRGb3JtO1xuICAgIGNvbnN0IGZvcm1GaWVsZHMgPSBwYXltZW50Rm9ybT8uZmllbGRzO1xuICAgIGNvbnN0IHN1bW1hcnkgPSBwYXltZW50Rm9ybT8uc3VtbWFyeTtcblxuICAgIGlmICghZm9ybUZpZWxkcyB8fCAhc3VtbWFyeSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuYXBwbGVQYXlQYXJhbXMgPSB0aGlzLmFwcGxlUGFyYW1zQnVpbGRlci5idWlsZFBhcmFtcyhwYXltZW50Rm9ybSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgaW5pdEJyYWludHJlZUxpYnJhcnkodG9rZW5LZXk6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBhcGkgPSBhd2FpdCB0aGlzLmFwaTtcbiAgICAgIGNvbnN0IGNsaWVudEluc3RhbmNlID0gYXdhaXQgYXBpLmNsaWVudC5jcmVhdGUoe1xuICAgICAgICBhdXRob3JpemF0aW9uOiB0b2tlbktleSxcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnBheW1lbnRDbGllbnQgPSBhd2FpdCBhcGkuYXBwbGVQYXkuY3JlYXRlKHtcbiAgICAgICAgY2xpZW50OiBjbGllbnRJbnN0YW5jZSxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5icmFpbnRyZWVIYW5kbGVyLnNldENsaWVudCh0aGlzLnBheW1lbnRDbGllbnQpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgICBjb25zb2xlLmVycm9yKEFwcGxlUGF5RXJyb3JzLmJyYWludHJlZUluaXRpYWxpemVFcnJvciwgZXJyb3IpO1xuICAgICAgdGhpcy5lbGtMb2dnZXJTZXJ2aWNlLmxvZyhBcHBsZVBheUVycm9ycy5icmFpbnRyZWVJbml0aWFsaXplRXJyb3IsIFtcbiAgICAgICAgRXJyb3JUYWdzLkFQUExFUEFZLFxuICAgICAgXSk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnBheW1lbnRDbGllbnQgfHwgIXRoaXMuaXNEZXZpY2VDYXBhYmxlKSB7XG4gICAgICB0aGlzLmVtaXRFcnJvcihBcHBsZVBheUVycm9ycy5kZXZpY2VJc05vdENhcGFibGVFcnJvcik7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGluaXRBcHBsZVBheSh0b2tlbktleTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMuYXBwbGVQYXlQYXJhbXM/LmFjcXVpcmVyID09PSAnYnJhaW50cmVlJykge1xuICAgICAgYXdhaXQgdGhpcy5pbml0QnJhaW50cmVlTGlicmFyeSh0b2tlbktleSk7XG4gICAgfVxuXG4gICAgdGhpcy5lbWl0SW50ZWdyYXRpb25UeXBlKCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc3RhcnRXaW5kb3dDb21tdW5pY2F0aW9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuZXh0ZXJuYWxXaW5kb3dDb21tdW5pY2F0aW9uU2VydmljZS5vcGVuV2ViU29ja2V0Q29ubmVjdGlvbihcbiAgICAgIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnRva2VuXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzZW5kVXBkYXRlZFByaWNlVmlhV2luZG93Q29tbXVuaWNhdGlvbihcbiAgICB1cGRhdGVkUHJpY2U6IFVwZGF0ZWRQcmljZVxuICApOiB2b2lkIHtcbiAgICB2b2lkIHRoaXMuZXh0ZXJuYWxXaW5kb3dDb21tdW5pY2F0aW9uU2VydmljZS5zZW5kTWVzc2FnZVRvQW5vdGhlcldpbmRvdzxcbiAgICAgIFVwZGF0ZVByaWNlTWVzc2FnZVsnZGF0YSddXG4gICAgPihDb21tYW5kc0ZvclBhZ2VzLkFQUExFX1BBWV9VUERBVEVfUFJJQ0UsIHtcbiAgICAgIG5ld0NhcnRQcmljaW5nOiB1cGRhdGVkUHJpY2UsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVkaXJlY3RUb1BheW1lbnRQYWdlKFxuICAgIHBhcmFtZXRlcnM6IEFwcGxlUGF5UGFyYW1zLFxuICAgIHRva2VuOiBzdHJpbmcsXG4gICAgaXNTYW5kYm94PzogYm9vbGVhblxuICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHJvdXRlID0gcGFnZXNSb3V0ZXMuZ2V0KGFwcGxlUGF5SWQpO1xuICAgIGlmICghcm91dGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBxdWVyeSA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoe1xuICAgICAgLi4ucGFyYW1ldGVycyxcbiAgICAgIG1lcmNoYW50Q2FwYWJpbGl0aWVzOiBKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXJzLm1lcmNoYW50Q2FwYWJpbGl0aWVzKSxcbiAgICAgIHN1cHBvcnRlZE5ldHdvcmtzOiBKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXJzLnN1cHBvcnRlZE5ldHdvcmtzKSxcbiAgICAgIHJlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHM6IEpTT04uc3RyaW5naWZ5KFxuICAgICAgICBwYXJhbWV0ZXJzPy5yZXF1aXJlZEJpbGxpbmdDb250YWN0RmllbGRzXG4gICAgICApLFxuICAgICAgcmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHM6IEpTT04uc3RyaW5naWZ5KFxuICAgICAgICBwYXJhbWV0ZXJzPy5yZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkc1xuICAgICAgKSxcbiAgICAgIGFncmVlbWVudHM6IEpTT04uc3RyaW5naWZ5KHBhcmFtZXRlcnMuYWdyZWVtZW50cyksXG4gICAgICB0b2tlbixcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLm9yZGVyKSB7XG4gICAgICBxdWVyeS5hcHBlbmQoJ29yZGVyJywgdGhpcy5vcmRlcik7XG4gICAgfVxuXG4gICAgY29uc3QgcGF5U3RhdGlvblVybCA9IGlzU2FuZGJveCA/IHNhbmRib3hQYXlTdGF0aW9uVXJsIDogcGF5U3RhdGlvbjRVcmw7XG4gICAgcmV0dXJuIGAke3BheVN0YXRpb25Vcmx9L2VuJHtyb3V0ZX0/JHtxdWVyeS50b1N0cmluZygpfWA7XG4gIH1cblxuICBwdWJsaWMgc2V0T3JkZXIoZGF0YTogeyBwYXltZW50Rm9ybTogUGF5bWVudEZvcm0gfSk6IHZvaWQge1xuICAgIGNvbnN0IHN1bW1hcnkgPSBkYXRhPy5wYXltZW50Rm9ybT8uc3VtbWFyeTtcbiAgICBpZiAoIXN1bW1hcnkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBmaW5hbmNlRGV0YWlscyA9XG4gICAgICB0aGlzLnN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlLmdldEZpbmFuY2VEZXRhaWxzKHN1bW1hcnkpO1xuXG4gICAgaWYgKGZpbmFuY2VEZXRhaWxzPy5wdXJjaGFzZSAmJiBmaW5hbmNlRGV0YWlscz8uZmluYW5jZSkge1xuICAgICAgY29uc3QgY2FydEl0ZW1zID0gZmluYW5jZURldGFpbHMuY2FydEl0ZW1zO1xuICAgICAgdGhpcy5vcmRlciA9IGNhcnRJdGVtcz8ucmVkdWNlKChjdXJyLCBpdGVtKSA9PiB7XG4gICAgICAgIGlmIChjdXJyKSB7XG4gICAgICAgICAgcmV0dXJuIGN1cnIgKyBgOyAke2l0ZW0udGl0bGV9YDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjdXJyICsgaXRlbS50aXRsZTtcbiAgICAgIH0sICcnKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzRGV2aWNlQ2FwYWJsZSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5hcHBsZVBheVNka1NlcnZpY2UubmVlZFRvQWRkQXBwbGVQYXlKcykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBCb29sZWFuKFxuICAgICAgICB0aGlzLndpbmRvdy5BcHBsZVBheVNlc3Npb24/LnN1cHBvcnRzVmVyc2lvbihhcHBsZVBheVZlcnNpb24pICYmXG4gICAgICAgICAgdGhpcy53aW5kb3cuQXBwbGVQYXlTZXNzaW9uPy5jYW5NYWtlUGF5bWVudHMoKVxuICAgICAgKTtcbiAgICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRUb2tlbk5vbmNlRmllbGREYXRhKHRva2VuTm9uY2U6IHN0cmluZyk6IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgfSB7XG4gICAgY29uc3QgbmFtZSA9IEZpZWxkTmFtZXMudG9rZW5BcHBsZVBheTtcbiAgICBjb25zdCB2YWx1ZSA9IGJ0b2EodG9rZW5Ob25jZSk7XG4gICAgcmV0dXJuIHsgbmFtZSwgdmFsdWUgfTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVBcHBsZVBheVBhcmFtcyhkYXRhOiB1bmtub3duKTogdm9pZCB7XG4gICAgY29uc3Qgc3VtbWFyeSA9IChkYXRhIGFzIFhwc1Jlc3BvbnNlKT8uc3VtbWFyeTtcbiAgICBpZiAoIXRoaXMuYXBwbGVQYXlQYXJhbXMgfHwgIXN1bW1hcnkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmFwcGxlUGF5UGFyYW1zID0gdGhpcy5hcHBsZVBhcmFtc0J1aWxkZXIudXBkYXRlUGFyYW1zKFxuICAgICAgdGhpcy5hcHBsZVBheVBhcmFtcyxcbiAgICAgIHN1bW1hcnlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHByb2NlZWRDaGVja291dChcbiAgICBwYXJhbWV0ZXJzOiBBcHBsZVBheVBhcmFtcyxcbiAgICBhZGRpdGlvbmFsUGFyYW1zOiBTdGFydFNlc3Npb25QYXJhbXNcbiAgKTogdm9pZCB7XG4gICAgY29uc3Qgc2Vzc2lvbkhhbmRsZXIgPSB0aGlzLmdldFNlc3Npb25IYW5kbGVyKHBhcmFtZXRlcnMuYWNxdWlyZXIpO1xuXG4gICAgaWYgKCFzZXNzaW9uSGFuZGxlcikge1xuICAgICAgY29uc29sZS5lcnJvcignQXBwbGUgUGF5OiBVbnN1cHBvcnRlZCBhY3F1aXJlcjonLCBwYXJhbWV0ZXJzLmFjcXVpcmVyKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzZXNzaW9uSGFuZGxlci5zdGFydFNlc3Npb24ocGFyYW1ldGVycywgYWRkaXRpb25hbFBhcmFtcywgKCkgPT5cbiAgICAgIHRoaXMuYXBwbGVQYXlTZGtTZXJ2aWNlLmVtaXRXaW5kb3dDbG9zaW5nKClcbiAgICApO1xuICAgIHRoaXMuZW1pdEFwcGxlUGF5T3BlbmVkKCk7XG4gIH1cblxuICBwdWJsaWMgbWFwU2hpcHBpbmdBZGRyZXNzVG9Db250YWN0KFxuICAgIHNoaXBwaW5nQWRkcmVzczogU2hpcHBpbmdBZGRyZXNzXG4gICk6IEFwcGxlUGF5U2hpcHBpbmdDb250YWN0IHtcbiAgICByZXR1cm4gbWFwU2hpcHBpbmdBZGRyZXNzVG9Db250YWN0KHNoaXBwaW5nQWRkcmVzcyk7XG4gIH1cblxuICBwdWJsaWMgc2V0VG9rZW4odG9rZW46IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMucGF5bWVudC5uZXh0KHRva2VuKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2Vzc2lvbkhhbmRsZXIoXG4gICAgYWNxdWlyZXI6IHN0cmluZ1xuICApOiBBcHBsZVBheVNlc3Npb25IYW5kbGVyIHwgdW5kZWZpbmVkIHtcbiAgICBzd2l0Y2ggKGFjcXVpcmVyKSB7XG4gICAgICBjYXNlICdicmFpbnRyZWUnOlxuICAgICAgICByZXR1cm4gdGhpcy5icmFpbnRyZWVIYW5kbGVyO1xuICAgICAgY2FzZSAnY2hlY2tvdXQnOlxuICAgICAgICByZXR1cm4gdGhpcy5jaGVja291dEhhbmRsZXI7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZEJyYWludHJlZSgpOiBQcm9taXNlPHtcbiAgICBhcHBsZVBheTogdHlwZW9mIGFwcGxlUGF5O1xuICAgIGNsaWVudDogdHlwZW9mIGNsaWVudDtcbiAgfT4ge1xuICAgIGNvbnN0IGFwaSA9IGF3YWl0IGltcG9ydCgnYnJhaW50cmVlLXdlYicpO1xuICAgIHJldHVybiBhcGk7XG4gIH1cblxuICBwcml2YXRlIGVtaXRFcnJvcihlcnJvcjogQXBwbGVQYXlFcnJvcnMpOiB2b2lkIHtcbiAgICB0aGlzLmVycm9yLm5leHQoZXJyb3IpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0SW50ZWdyYXRpb25UeXBlKCk6IHZvaWQge1xuICAgIHRoaXMuaW50ZWdyYXRpb25UeXBlLm5leHQodGhpcy5nZXRJbnRlZ3JhdGlvblR5cGUoKSk7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZVRvSGFuZGxlcnMoKTogdm9pZCB7XG4gICAgY29uc3QgaGFuZGxlcnMgPSBbdGhpcy5icmFpbnRyZWVIYW5kbGVyLCB0aGlzLmNoZWNrb3V0SGFuZGxlcl07XG5cbiAgICBoYW5kbGVycy5mb3JFYWNoKChoYW5kbGVyKSA9PiB7XG4gICAgICBoYW5kbGVyLmVycm9yJC5zdWJzY3JpYmUoKGVycm9yKSA9PiB0aGlzLmVtaXRFcnJvcihlcnJvcikpO1xuICAgICAgaGFuZGxlci5wYXltZW50JC5zdWJzY3JpYmUoKHRva2VuKSA9PiB7XG4gICAgICAgIHRoaXMucGF5bWVudC5uZXh0KHRva2VuKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRJbnRlZ3JhdGlvblR5cGUoKTogQXBwbGVQYXlJbnRlZ3JhdGlvblR5cGUge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIHRoaXMuaXNEZXZpY2VDYXBhYmxlXG4gICAgICA/IEFwcGxlUGF5SW50ZWdyYXRpb25UeXBlLm5hdGl2ZVxuICAgICAgOiBBcHBsZVBheUludGVncmF0aW9uVHlwZS5yZWRpcmVjdDtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdEFwcGxlUGF5T3BlbmVkKCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIHRoaXMuZ2V0SW50ZWdyYXRpb25UeXBlKCkgPT09IEFwcGxlUGF5SW50ZWdyYXRpb25UeXBlLm5hdGl2ZSAmJlxuICAgICAgdGhpcy5hcHBsZVBheVNka1NlcnZpY2UubmVlZFRvQWRkQXBwbGVQYXlKc1xuICAgICkge1xuICAgICAgdGhpcy5hcHBsZVBheVFyT3BlbmVkLm5leHQoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -61,4 +61,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
61
61
  type: Inject,
62
62
  args: [windowToken]
63
63
  }] }, { type: i1.WebSocketFactory }, { type: i2.SocketBridgeService }] });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwtd2luZG93LWNvbW11bmljYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3Nkay1wYXltZW50LXN5c3RlbXMvYXBwbGUtcGF5L2V4dGVybmFsLXdpbmRvdy1jb21tdW5pY2F0aW9uL2V4dGVybmFsLXdpbmRvdy1jb21tdW5pY2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7O0FBY3BELE1BQU0sT0FBTywwQ0FBMEM7SUFHckQsWUFDd0MsTUFBc0IsRUFDM0MsZ0JBQWtDLEVBQ2xDLG1CQUF3QztRQUZuQixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUMzQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7SUFDeEQsQ0FBQztJQUVHLGVBQWU7UUFDcEIsTUFBTSxvQkFBb0IsR0FBRyxDQUMzQixPQUFzQixFQUNTLEVBQUUsQ0FDakMsT0FBTyxDQUFDLE9BQU8sMkVBQTRDLENBQUM7UUFFOUQsTUFBTSxZQUFZLEdBQ2hCLElBQUksQ0FBQyxjQUFjLENBQXFCLG9CQUFvQixDQUFDLENBQUM7UUFFaEUsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUN0QixHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1AsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVNLHVCQUF1QjtRQUM1QixNQUFNLGVBQWUsR0FBRyxDQUN0QixPQUFzQixFQUNJLEVBQUUsQ0FDNUIsT0FBTyxDQUFDLE9BQU8sK0RBQXNDLENBQUM7UUFFeEQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBZ0IsZUFBZSxDQUFDLENBQUM7UUFFekUsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUN0QixHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1AsZ0NBQWdDO1FBQ2xDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRU0sMEJBQTBCO1FBQy9CLE1BQU0sa0JBQWtCLEdBQUcsQ0FDekIsT0FBc0IsRUFDZSxFQUFFLENBQ3ZDLE9BQU8sQ0FBQyxPQUFPLHVFQUEwQyxDQUFDO1FBRTVELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBMkIsa0JBQWtCLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRU0sNEJBQTRCO1FBQ2pDLE1BQU0sd0JBQXdCLEdBQUcsQ0FDL0IsT0FBc0IsRUFDYSxFQUFFLENBQ3JDLE9BQU8sQ0FBQyxPQUFPLG1GQUFnRCxDQUFDO1FBRWxFLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FDeEIsd0JBQXdCLENBQ3pCLENBQUM7SUFDSixDQUFDO0lBRU0sS0FBSyxDQUFDLHVCQUF1QixDQUFDLEtBQWE7UUFDaEQsTUFBTSxVQUFVLEdBQ2QsTUFBTSxJQUFJLENBQUMsbUJBQW1CLENBQUMsMEJBQTBCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbkUsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMvQixDQUFDO1FBRUQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLENBQ2hFLFVBQVUsQ0FBQyxZQUFZLEVBQ3ZCLFVBQVUsQ0FBQyxVQUFVLENBQ3RCLENBQUM7UUFFRixNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUM3QixVQUFVLENBQUMsWUFBWSxFQUN2QixVQUFVLENBQUMsV0FBVyxDQUN2QixDQUFDO0lBQ0osQ0FBQztJQUVNLEtBQUssQ0FBQywwQkFBMEIsQ0FDckMsT0FBeUIsRUFDekIsT0FBVztRQUVYLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLGNBQWMsQ0FBSSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVPLGNBQWMsQ0FDcEIsWUFBc0Q7UUFFdEQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQ3hDLEdBQUcsQ0FBd0IsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNyQyxPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzNDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQWtCLENBQUM7UUFDOUMsQ0FBQyxDQUFDLEVBQ0YsTUFBTSxDQUFtQixZQUFZLENBQUMsQ0FDdkMsQ0FBQztJQUNKLENBQUM7OEdBaEdVLDBDQUEwQyxrQkFJM0MsV0FBVztrSEFKViwwQ0FBMEMsY0FGekMsTUFBTTs7MkZBRVAsMENBQTBDO2tCQUh0RCxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBS0ksTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgV2ViU29ja2V0RmFjdG9yeSB9IGZyb20gJy4uLy4uLy4uL3dlYi1zb2NrZXQvd2ViLXNvY2tldC5mYWN0b3J5JztcbmltcG9ydCB7IFdlYlNvY2tldENsaWVudCB9IGZyb20gJy4uLy4uLy4uL3dlYi1zb2NrZXQvd2ViLXNvY2tldC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgd2luZG93VG9rZW4gfSBmcm9tICcuLi8uLi8uLi93aW5kb3cudG9rZW4nO1xuaW1wb3J0IHsgRXh0ZW5kZWRXaW5kb3cgfSBmcm9tICcuLi8uLi8uLi9leHRlbmRlZC13aW5kb3cuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNvY2tldEJyaWRnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi93ZWItc29ja2V0L3NvY2tldC1icmlkZ2Uvc29ja2V0LWJyaWRnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFdpbmRvd0Nsb3NlTWVzc2FnZSB9IGZyb20gJy4uL3NvY2tldC1tZXNzYWdlcy93aW5kb3ctY2xvc2UtbWVzc2FnZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgV2luZG93Q29tbWFuZCB9IGZyb20gJy4uLy4uLy4uL3dpbmRvdy1jb21tYW5kLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb21tYW5kc0ZvclBhZ2VzIH0gZnJvbSAnLi4vY29tbWFuZHMtZm9yLXBhZ2VzLmVudW0nO1xuaW1wb3J0IHsgQnJpZGdlQ29tbWFuZCB9IGZyb20gJy4uLy4uLy4uL3dlYi1zb2NrZXQvc29ja2V0LWJyaWRnZS9icmlkZ2UtY29tbWFuZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVjYWxjdWxhdGVDYXJ0TWVzc2FnZSB9IGZyb20gJy4uL3NvY2tldC1tZXNzYWdlcy9yZWNhbGN1bGF0ZS1jYXJ0LW1lc3NhZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFwcGxlUGF5U2VuZFRva2VuTWVzc2FnZSB9IGZyb20gJy4uL3NvY2tldC1tZXNzYWdlcy9zZW5kLXRva2VuLW1lc3NhZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFJldHVybk1lc3NhZ2UgfSBmcm9tICcuLi9zb2NrZXQtbWVzc2FnZXMvcmV0dXJuLW1lc3NhZ2UuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFwcGxlUGF5RXh0ZXJuYWxXaW5kb3dDb21tdW5pY2F0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgd2Vic29ja2V0Q2xpZW50ITogV2ViU29ja2V0Q2xpZW50O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KHdpbmRvd1Rva2VuKSBwcml2YXRlIHJlYWRvbmx5IHdpbmRvdzogRXh0ZW5kZWRXaW5kb3csXG4gICAgcHJpdmF0ZSByZWFkb25seSB3ZWJTb2NrZXRGYWN0b3J5OiBXZWJTb2NrZXRGYWN0b3J5LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc29ja2V0QnJpZGdlU2VydmljZTogU29ja2V0QnJpZGdlU2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIGdldFdpbmRvd0Nsb3NlJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCBXaW5kb3dDbG9zZU1lc3NhZ2U+IHtcbiAgICBjb25zdCBpc1dpbmRvd0Nsb3NlTWVzc2FnZSA9IChcbiAgICAgIG1lc3NhZ2U6IFdpbmRvd0NvbW1hbmRcbiAgICApOiBtZXNzYWdlIGlzIFdpbmRvd0Nsb3NlTWVzc2FnZSA9PlxuICAgICAgbWVzc2FnZS5jb21tYW5kID09PSBDb21tYW5kc0ZvclBhZ2VzLkFQUExFX1BBWV9XSU5ET1dfQ0xPU0U7XG5cbiAgICBjb25zdCBldmVudFNvdXJjZSQgPVxuICAgICAgdGhpcy5nZXRFdmVudFNvdXJjZTxXaW5kb3dDbG9zZU1lc3NhZ2U+KGlzV2luZG93Q2xvc2VNZXNzYWdlKTtcblxuICAgIHJldHVybiBldmVudFNvdXJjZSQucGlwZShcbiAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgIHRoaXMud2luZG93LmZvY3VzKCk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0V2luZG93UmV0dXJuTWVzc2FnZSQoKTogT2JzZXJ2YWJsZTxSZXR1cm5NZXNzYWdlPiB7XG4gICAgY29uc3QgaXNSZXR1cm5NZXNzYWdlID0gKFxuICAgICAgbWVzc2FnZTogV2luZG93Q29tbWFuZFxuICAgICk6IG1lc3NhZ2UgaXMgUmV0dXJuTWVzc2FnZSA9PlxuICAgICAgbWVzc2FnZS5jb21tYW5kID09PSBDb21tYW5kc0ZvclBhZ2VzLkFQUExFX1BBWV9SRVRVUk47XG5cbiAgICBjb25zdCBldmVudFNvdXJjZSQgPSB0aGlzLmdldEV2ZW50U291cmNlPFJldHVybk1lc3NhZ2U+KGlzUmV0dXJuTWVzc2FnZSk7XG5cbiAgICByZXR1cm4gZXZlbnRTb3VyY2UkLnBpcGUoXG4gICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAvLyBUT0RPOiBzZW5kIGNsb3NlIGV2ZW50IHRvIHNka1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldFdpbmRvd1NlbmRUb2tlbk1lc3NhZ2UkKCk6IE9ic2VydmFibGU8QXBwbGVQYXlTZW5kVG9rZW5NZXNzYWdlPiB7XG4gICAgY29uc3QgaXNTZW5kVG9rZW5NZXNzYWdlID0gKFxuICAgICAgbWVzc2FnZTogV2luZG93Q29tbWFuZFxuICAgICk6IG1lc3NhZ2UgaXMgQXBwbGVQYXlTZW5kVG9rZW5NZXNzYWdlID0+XG4gICAgICBtZXNzYWdlLmNvbW1hbmQgPT09IENvbW1hbmRzRm9yUGFnZXMuQVBQTEVfUEFZX1NFTkRfVE9LRU47XG5cbiAgICByZXR1cm4gdGhpcy5nZXRFdmVudFNvdXJjZTxBcHBsZVBheVNlbmRUb2tlbk1lc3NhZ2U+KGlzU2VuZFRva2VuTWVzc2FnZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q2FydFJlY2FsY3VsYXRpb25NZXNzYWdlJCgpOiBPYnNlcnZhYmxlPFJlY2FsY3VsYXRlQ2FydE1lc3NhZ2U+IHtcbiAgICBjb25zdCBpc1JlY2FsY3VsYXRlQ2FydE1lc3NhZ2UgPSAoXG4gICAgICBtZXNzYWdlOiBXaW5kb3dDb21tYW5kXG4gICAgKTogbWVzc2FnZSBpcyBSZWNhbGN1bGF0ZUNhcnRNZXNzYWdlID0+XG4gICAgICBtZXNzYWdlLmNvbW1hbmQgPT09IENvbW1hbmRzRm9yUGFnZXMuQVBQTEVfUEFZX1JFQ0FMQ1VMQVRFX0NBUlQ7XG5cbiAgICByZXR1cm4gdGhpcy5nZXRFdmVudFNvdXJjZTxSZWNhbGN1bGF0ZUNhcnRNZXNzYWdlPihcbiAgICAgIGlzUmVjYWxjdWxhdGVDYXJ0TWVzc2FnZVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgb3BlbldlYlNvY2tldENvbm5lY3Rpb24odG9rZW46IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGJyaWRnZUluZm8gPVxuICAgICAgYXdhaXQgdGhpcy5zb2NrZXRCcmlkZ2VTZXJ2aWNlLmdldEJyaWRnZUNvbm5lY3Rpb25DaGFubmVsKHRva2VuKTtcblxuICAgIGlmICh0aGlzLndlYnNvY2tldENsaWVudCkge1xuICAgICAgdGhpcy53ZWJzb2NrZXRDbGllbnQuY2xvc2UoKTtcbiAgICB9XG5cbiAgICB0aGlzLndlYnNvY2tldENsaWVudCA9IHRoaXMud2ViU29ja2V0RmFjdG9yeS5jcmVhdGVXZWJTb2NrZXRDbGllbnQoXG4gICAgICBicmlkZ2VJbmZvLnN1YnNjcmliZVVybCxcbiAgICAgIGJyaWRnZUluZm8uY2xpZW50VHlwZVxuICAgICk7XG5cbiAgICBhd2FpdCB0aGlzLndlYnNvY2tldENsaWVudC5vcGVuKFxuICAgICAgYnJpZGdlSW5mby5zdWJzY3JpYmVVcmwsXG4gICAgICBicmlkZ2VJbmZvLmNoYW5uZWxOYW1lXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzZW5kTWVzc2FnZVRvQW5vdGhlcldpbmRvdzxQIGV4dGVuZHMgeyBba2V5OiBzdHJpbmddOiB1bmtub3duIH0+KFxuICAgIGNvbW1hbmQ6IENvbW1hbmRzRm9yUGFnZXMsXG4gICAgcGF5bG9hZD86IFBcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5zb2NrZXRCcmlkZ2VTZXJ2aWNlLnB1Ymxpc2hNZXNzYWdlPFA+KGNvbW1hbmQsIHBheWxvYWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRFdmVudFNvdXJjZTxUIGV4dGVuZHMgV2luZG93Q29tbWFuZD4oXG4gICAgZXZlbnRIYW5kbGVyOiAobWVzc2FnZTogV2luZG93Q29tbWFuZCkgPT4gbWVzc2FnZSBpcyBUXG4gICk6IE9ic2VydmFibGU8VD4ge1xuICAgIHJldHVybiB0aGlzLndlYnNvY2tldENsaWVudC5tZXNzYWdlcyQucGlwZShcbiAgICAgIG1hcDxzdHJpbmcsIEJyaWRnZUNvbW1hbmQ+KChtZXNzYWdlKSA9PiB7XG4gICAgICAgIGNvbnNvbGUuaW5mbygnd2Vic29ja2V0IG1lc3NhZ2UnLCBtZXNzYWdlKTtcbiAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UobWVzc2FnZSkgYXMgQnJpZGdlQ29tbWFuZDtcbiAgICAgIH0pLFxuICAgICAgZmlsdGVyPEJyaWRnZUNvbW1hbmQsIFQ+KGV2ZW50SGFuZGxlcilcbiAgICApO1xuICB9XG59XG4iXX0=
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwtd2luZG93LWNvbW11bmljYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3Nkay1wYXltZW50LXN5c3RlbXMvYXBwbGUtcGF5L2V4dGVybmFsLXdpbmRvdy1jb21tdW5pY2F0aW9uL2V4dGVybmFsLXdpbmRvdy1jb21tdW5pY2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7O0FBY3BELE1BQU0sT0FBTywwQ0FBMEM7SUFHckQsWUFDd0MsTUFBc0IsRUFDM0MsZ0JBQWtDLEVBQ2xDLG1CQUF3QztRQUZuQixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUMzQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7SUFDeEQsQ0FBQztJQUVHLGVBQWU7UUFDcEIsTUFBTSxvQkFBb0IsR0FBRyxDQUMzQixPQUFzQixFQUNTLEVBQUUsQ0FDakMsT0FBTyxDQUFDLE9BQU8sMkVBQTRDLENBQUM7UUFFOUQsTUFBTSxZQUFZLEdBQ2hCLElBQUksQ0FBQyxjQUFjLENBQXFCLG9CQUFvQixDQUFDLENBQUM7UUFFaEUsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUN0QixHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1AsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVNLHVCQUF1QjtRQUM1QixNQUFNLGVBQWUsR0FBRyxDQUN0QixPQUFzQixFQUNJLEVBQUUsQ0FDNUIsT0FBTyxDQUFDLE9BQU8sK0RBQXNDLENBQUM7UUFFeEQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBZ0IsZUFBZSxDQUFDLENBQUM7UUFFekUsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUN0QixHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1AsZ0NBQWdDO1FBQ2xDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRU0sMEJBQTBCO1FBQy9CLE1BQU0sa0JBQWtCLEdBQUcsQ0FDekIsT0FBc0IsRUFDZSxFQUFFLENBQ3ZDLE9BQU8sQ0FBQyxPQUFPLHVFQUEwQyxDQUFDO1FBRTVELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBMkIsa0JBQWtCLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRU0sNEJBQTRCO1FBQ2pDLE1BQU0sd0JBQXdCLEdBQUcsQ0FDL0IsT0FBc0IsRUFDYSxFQUFFLENBQ3JDLE9BQU8sQ0FBQyxPQUFPLG1GQUFnRCxDQUFDO1FBRWxFLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FDeEIsd0JBQXdCLENBQ3pCLENBQUM7SUFDSixDQUFDO0lBRU0sS0FBSyxDQUFDLHVCQUF1QixDQUFDLEtBQWE7UUFDaEQsTUFBTSxVQUFVLEdBQ2QsTUFBTSxJQUFJLENBQUMsbUJBQW1CLENBQUMsMEJBQTBCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbkUsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMvQixDQUFDO1FBRUQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLENBQ2hFLFVBQVUsQ0FBQyxZQUFZLEVBQ3ZCLFVBQVUsQ0FBQyxVQUFVLENBQ3RCLENBQUM7UUFFRixNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUM3QixVQUFVLENBQUMsWUFBWSxFQUN2QixVQUFVLENBQUMsV0FBVyxDQUN2QixDQUFDO0lBQ0osQ0FBQztJQUVNLEtBQUssQ0FBQywwQkFBMEIsQ0FDckMsT0FBeUIsRUFDekIsT0FBVztRQUVYLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLGNBQWMsQ0FBSSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVPLGNBQWMsQ0FDcEIsWUFBc0Q7UUFFdEQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQ3hDLEdBQUcsQ0FBd0IsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNyQyxPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzNDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQWtCLENBQUM7UUFDOUMsQ0FBQyxDQUFDLEVBQ0YsTUFBTSxDQUFtQixZQUFZLENBQUMsQ0FDdkMsQ0FBQztJQUNKLENBQUM7OEdBaEdVLDBDQUEwQyxrQkFJM0MsV0FBVztrSEFKViwwQ0FBMEMsY0FGekMsTUFBTTs7MkZBRVAsMENBQTBDO2tCQUh0RCxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBS0ksTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgV2ViU29ja2V0RmFjdG9yeSB9IGZyb20gJy4uLy4uLy4uL3dlYi1zb2NrZXQvd2ViLXNvY2tldC5mYWN0b3J5JztcbmltcG9ydCB7IFdlYlNvY2tldENsaWVudCB9IGZyb20gJy4uLy4uLy4uL3dlYi1zb2NrZXQvd2ViLXNvY2tldC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgd2luZG93VG9rZW4gfSBmcm9tICcuLi8uLi8uLi93aW5kb3cudG9rZW4nO1xuaW1wb3J0IHsgRXh0ZW5kZWRXaW5kb3cgfSBmcm9tICcuLi8uLi8uLi9leHRlbmRlZC13aW5kb3cuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNvY2tldEJyaWRnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi93ZWItc29ja2V0L3NvY2tldC1icmlkZ2Uvc29ja2V0LWJyaWRnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFdpbmRvd0Nsb3NlTWVzc2FnZSB9IGZyb20gJy4uL3NvY2tldC1tZXNzYWdlcy93aW5kb3ctY2xvc2UtbWVzc2FnZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgV2luZG93Q29tbWFuZCB9IGZyb20gJy4uLy4uLy4uL3dpbmRvdy1jb21tYW5kLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb21tYW5kc0ZvclBhZ2VzIH0gZnJvbSAnLi4vY29tbWFuZHMtZm9yLXBhZ2VzLmVudW0nO1xuaW1wb3J0IHsgQnJpZGdlQ29tbWFuZCB9IGZyb20gJy4uLy4uLy4uL3dlYi1zb2NrZXQvc29ja2V0LWJyaWRnZS9icmlkZ2UtY29tbWFuZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVjYWxjdWxhdGVDYXJ0TWVzc2FnZSB9IGZyb20gJy4uL3NvY2tldC1tZXNzYWdlcy9yZWNhbGN1bGF0ZS1jYXJ0LW1lc3NhZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFwcGxlUGF5U2VuZFRva2VuTWVzc2FnZSB9IGZyb20gJy4uL3NvY2tldC1tZXNzYWdlcy9zZW5kLXRva2VuLW1lc3NhZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFJldHVybk1lc3NhZ2UgfSBmcm9tICcuLi9zb2NrZXQtbWVzc2FnZXMvcmV0dXJuLW1lc3NhZ2UuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFwcGxlUGF5RXh0ZXJuYWxXaW5kb3dDb21tdW5pY2F0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgd2Vic29ja2V0Q2xpZW50ITogV2ViU29ja2V0Q2xpZW50O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KHdpbmRvd1Rva2VuKSBwcml2YXRlIHJlYWRvbmx5IHdpbmRvdzogRXh0ZW5kZWRXaW5kb3csXG4gICAgcHJpdmF0ZSByZWFkb25seSB3ZWJTb2NrZXRGYWN0b3J5OiBXZWJTb2NrZXRGYWN0b3J5LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc29ja2V0QnJpZGdlU2VydmljZTogU29ja2V0QnJpZGdlU2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIGdldFdpbmRvd0Nsb3NlJCgpOiBPYnNlcnZhYmxlPFdpbmRvd0Nsb3NlTWVzc2FnZT4ge1xuICAgIGNvbnN0IGlzV2luZG93Q2xvc2VNZXNzYWdlID0gKFxuICAgICAgbWVzc2FnZTogV2luZG93Q29tbWFuZFxuICAgICk6IG1lc3NhZ2UgaXMgV2luZG93Q2xvc2VNZXNzYWdlID0+XG4gICAgICBtZXNzYWdlLmNvbW1hbmQgPT09IENvbW1hbmRzRm9yUGFnZXMuQVBQTEVfUEFZX1dJTkRPV19DTE9TRTtcblxuICAgIGNvbnN0IGV2ZW50U291cmNlJCA9XG4gICAgICB0aGlzLmdldEV2ZW50U291cmNlPFdpbmRvd0Nsb3NlTWVzc2FnZT4oaXNXaW5kb3dDbG9zZU1lc3NhZ2UpO1xuXG4gICAgcmV0dXJuIGV2ZW50U291cmNlJC5waXBlKFxuICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgdGhpcy53aW5kb3cuZm9jdXMoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRXaW5kb3dSZXR1cm5NZXNzYWdlJCgpOiBPYnNlcnZhYmxlPFJldHVybk1lc3NhZ2U+IHtcbiAgICBjb25zdCBpc1JldHVybk1lc3NhZ2UgPSAoXG4gICAgICBtZXNzYWdlOiBXaW5kb3dDb21tYW5kXG4gICAgKTogbWVzc2FnZSBpcyBSZXR1cm5NZXNzYWdlID0+XG4gICAgICBtZXNzYWdlLmNvbW1hbmQgPT09IENvbW1hbmRzRm9yUGFnZXMuQVBQTEVfUEFZX1JFVFVSTjtcblxuICAgIGNvbnN0IGV2ZW50U291cmNlJCA9IHRoaXMuZ2V0RXZlbnRTb3VyY2U8UmV0dXJuTWVzc2FnZT4oaXNSZXR1cm5NZXNzYWdlKTtcblxuICAgIHJldHVybiBldmVudFNvdXJjZSQucGlwZShcbiAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgIC8vIFRPRE86IHNlbmQgY2xvc2UgZXZlbnQgdG8gc2RrXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0V2luZG93U2VuZFRva2VuTWVzc2FnZSQoKTogT2JzZXJ2YWJsZTxBcHBsZVBheVNlbmRUb2tlbk1lc3NhZ2U+IHtcbiAgICBjb25zdCBpc1NlbmRUb2tlbk1lc3NhZ2UgPSAoXG4gICAgICBtZXNzYWdlOiBXaW5kb3dDb21tYW5kXG4gICAgKTogbWVzc2FnZSBpcyBBcHBsZVBheVNlbmRUb2tlbk1lc3NhZ2UgPT5cbiAgICAgIG1lc3NhZ2UuY29tbWFuZCA9PT0gQ29tbWFuZHNGb3JQYWdlcy5BUFBMRV9QQVlfU0VORF9UT0tFTjtcblxuICAgIHJldHVybiB0aGlzLmdldEV2ZW50U291cmNlPEFwcGxlUGF5U2VuZFRva2VuTWVzc2FnZT4oaXNTZW5kVG9rZW5NZXNzYWdlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDYXJ0UmVjYWxjdWxhdGlvbk1lc3NhZ2UkKCk6IE9ic2VydmFibGU8UmVjYWxjdWxhdGVDYXJ0TWVzc2FnZT4ge1xuICAgIGNvbnN0IGlzUmVjYWxjdWxhdGVDYXJ0TWVzc2FnZSA9IChcbiAgICAgIG1lc3NhZ2U6IFdpbmRvd0NvbW1hbmRcbiAgICApOiBtZXNzYWdlIGlzIFJlY2FsY3VsYXRlQ2FydE1lc3NhZ2UgPT5cbiAgICAgIG1lc3NhZ2UuY29tbWFuZCA9PT0gQ29tbWFuZHNGb3JQYWdlcy5BUFBMRV9QQVlfUkVDQUxDVUxBVEVfQ0FSVDtcblxuICAgIHJldHVybiB0aGlzLmdldEV2ZW50U291cmNlPFJlY2FsY3VsYXRlQ2FydE1lc3NhZ2U+KFxuICAgICAgaXNSZWNhbGN1bGF0ZUNhcnRNZXNzYWdlXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBvcGVuV2ViU29ja2V0Q29ubmVjdGlvbih0b2tlbjogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgYnJpZGdlSW5mbyA9XG4gICAgICBhd2FpdCB0aGlzLnNvY2tldEJyaWRnZVNlcnZpY2UuZ2V0QnJpZGdlQ29ubmVjdGlvbkNoYW5uZWwodG9rZW4pO1xuXG4gICAgaWYgKHRoaXMud2Vic29ja2V0Q2xpZW50KSB7XG4gICAgICB0aGlzLndlYnNvY2tldENsaWVudC5jbG9zZSgpO1xuICAgIH1cblxuICAgIHRoaXMud2Vic29ja2V0Q2xpZW50ID0gdGhpcy53ZWJTb2NrZXRGYWN0b3J5LmNyZWF0ZVdlYlNvY2tldENsaWVudChcbiAgICAgIGJyaWRnZUluZm8uc3Vic2NyaWJlVXJsLFxuICAgICAgYnJpZGdlSW5mby5jbGllbnRUeXBlXG4gICAgKTtcblxuICAgIGF3YWl0IHRoaXMud2Vic29ja2V0Q2xpZW50Lm9wZW4oXG4gICAgICBicmlkZ2VJbmZvLnN1YnNjcmliZVVybCxcbiAgICAgIGJyaWRnZUluZm8uY2hhbm5lbE5hbWVcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHNlbmRNZXNzYWdlVG9Bbm90aGVyV2luZG93PFAgZXh0ZW5kcyB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfT4oXG4gICAgY29tbWFuZDogQ29tbWFuZHNGb3JQYWdlcyxcbiAgICBwYXlsb2FkPzogUFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnNvY2tldEJyaWRnZVNlcnZpY2UucHVibGlzaE1lc3NhZ2U8UD4oY29tbWFuZCwgcGF5bG9hZCk7XG4gIH1cblxuICBwcml2YXRlIGdldEV2ZW50U291cmNlPFQgZXh0ZW5kcyBXaW5kb3dDb21tYW5kPihcbiAgICBldmVudEhhbmRsZXI6IChtZXNzYWdlOiBXaW5kb3dDb21tYW5kKSA9PiBtZXNzYWdlIGlzIFRcbiAgKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMud2Vic29ja2V0Q2xpZW50Lm1lc3NhZ2VzJC5waXBlKFxuICAgICAgbWFwPHN0cmluZywgQnJpZGdlQ29tbWFuZD4oKG1lc3NhZ2UpID0+IHtcbiAgICAgICAgY29uc29sZS5pbmZvKCd3ZWJzb2NrZXQgbWVzc2FnZScsIG1lc3NhZ2UpO1xuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShtZXNzYWdlKSBhcyBCcmlkZ2VDb21tYW5kO1xuICAgICAgfSksXG4gICAgICBmaWx0ZXI8QnJpZGdlQ29tbWFuZCwgVD4oZXZlbnRIYW5kbGVyKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==