@xsolla/payment-client-core 0.2.10 → 0.2.12

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 (79) hide show
  1. package/esm2020/lib/core/extended-window.interface.mjs +1 -1
  2. package/esm2020/lib/core/payment/field-names.enum.mjs +4 -1
  3. package/esm2020/lib/core/payment/form/control-status.interface.mjs +2 -0
  4. package/esm2020/lib/core/payment/form-response.interface.mjs +1 -1
  5. package/esm2020/lib/core/payment/initialize/initialize.service.mjs +17 -7
  6. package/esm2020/lib/core/payment/payment.interface.mjs +1 -1
  7. package/esm2020/lib/core/payment/payment.service.mjs +18 -2
  8. package/esm2020/lib/core/payment/status/listen-status/listen-status.service.mjs +16 -4
  9. package/esm2020/lib/core/payment/submit/submit.service.mjs +21 -4
  10. package/esm2020/lib/core/payment/sync/sync.service.mjs +14 -4
  11. package/esm2020/lib/core/payment/xps-api/xps-api.service.mjs +7 -5
  12. package/esm2020/lib/core/performance/performance.service.mjs +111 -0
  13. package/esm2020/lib/core/performance/xhr-action.interface.mjs +2 -0
  14. package/esm2020/lib/core/performance/xhr-action.service.mjs +114 -0
  15. package/esm2020/lib/core/sdk-payment-systems/apple-pay/apple-pay.const.mjs +2 -1
  16. package/esm2020/lib/core/sdk-payment-systems/apple-pay/apple-pay.service.mjs +13 -6
  17. package/esm2020/lib/core/sdk-payment-systems/google-pay/google-pay.service.mjs +10 -10
  18. package/esm2020/lib/core/sdk-payment-systems/payment-systems/payment-system-processing.service.mjs +3 -3
  19. package/esm2020/lib/core/sdk-payment-systems/sdk-payment-systems.interface.mjs +1 -1
  20. package/esm2020/lib/core/settings/configuration.interface.mjs +1 -1
  21. package/esm2020/lib/core/settings/settings.service.mjs +4 -6
  22. package/esm2020/lib/core/user-agent/user-agent.service.mjs +12 -1
  23. package/esm2020/lib/core/user-behaviour-analytics/event-builder/event-builder.service.mjs +144 -0
  24. package/esm2020/lib/core/user-behaviour-analytics/event-builder/event-parameter-types.mjs +9 -0
  25. package/esm2020/lib/core/user-behaviour-analytics/event-builder/invoice.interface.mjs +2 -0
  26. package/esm2020/lib/core/user-behaviour-analytics/event-builder/purchase.type.mjs +2 -0
  27. package/esm2020/lib/core/user-behaviour-analytics/event-builder/user-behaviour-event.interface.mjs +2 -0
  28. package/esm2020/lib/core/user-behaviour-analytics/one-time-analytics-events.const.mjs +5 -0
  29. package/esm2020/lib/core/user-behaviour-analytics/user-behaviour-analytics.interface.mjs +2 -0
  30. package/esm2020/lib/core/user-behaviour-analytics/user-behaviour-analytics.service.mjs +158 -0
  31. package/esm2020/lib/core/user-behaviour-analytics/user-behaviour-event/user-behaviour-event-categories.mjs +5 -0
  32. package/esm2020/lib/core/user-behaviour-analytics/user-behaviour-event/user-behaviour-event-types.mjs +8 -0
  33. package/esm2020/lib/core/user-behaviour-analytics/user-behaviour-event-name.enum.mjs +8 -0
  34. package/esm2020/lib/core/user-behaviour-analytics/user-session-options.mjs +2 -0
  35. package/esm2020/lib/core-library.service.mjs +14 -21
  36. package/esm2020/public-api.mjs +6 -1
  37. package/fesm2015/xsolla-payment-client-core.mjs +6625 -6017
  38. package/fesm2015/xsolla-payment-client-core.mjs.map +1 -1
  39. package/fesm2020/xsolla-payment-client-core.mjs +6515 -5919
  40. package/fesm2020/xsolla-payment-client-core.mjs.map +1 -1
  41. package/lib/core/extended-window.interface.d.ts +1 -0
  42. package/lib/core/payment/field-names.enum.d.ts +3 -0
  43. package/lib/core/payment/form/control-status.interface.d.ts +7 -0
  44. package/lib/core/payment/form-response.interface.d.ts +1 -0
  45. package/lib/core/payment/initialize/initialize.service.d.ts +3 -1
  46. package/lib/core/payment/payment.interface.d.ts +3 -0
  47. package/lib/core/payment/payment.service.d.ts +3 -0
  48. package/lib/core/payment/status/listen-status/listen-status.service.d.ts +3 -1
  49. package/lib/core/payment/submit/submit.service.d.ts +4 -1
  50. package/lib/core/payment/sync/sync.service.d.ts +3 -1
  51. package/lib/core/payment/xps-api/xps-api.service.d.ts +3 -1
  52. package/lib/core/performance/performance.service.d.ts +24 -0
  53. package/lib/core/performance/xhr-action.interface.d.ts +8 -0
  54. package/lib/core/performance/xhr-action.service.d.ts +25 -0
  55. package/lib/core/sdk-payment-systems/apple-pay/apple-pay.const.d.ts +1 -0
  56. package/lib/core/sdk-payment-systems/apple-pay/apple-pay.service.d.ts +2 -1
  57. package/lib/core/sdk-payment-systems/google-pay/google-pay.service.d.ts +2 -2
  58. package/lib/core/sdk-payment-systems/payment-systems/payment-system-processing.service.d.ts +1 -1
  59. package/lib/core/sdk-payment-systems/sdk-payment-systems.interface.d.ts +0 -16
  60. package/lib/core/settings/configuration.interface.d.ts +0 -1
  61. package/lib/core/settings/settings.service.d.ts +1 -2
  62. package/lib/core/user-agent/user-agent.service.d.ts +1 -0
  63. package/lib/core/user-behaviour-analytics/event-builder/event-builder.service.d.ts +22 -0
  64. package/lib/core/user-behaviour-analytics/event-builder/event-parameter-types.d.ts +7 -0
  65. package/lib/core/user-behaviour-analytics/event-builder/invoice.interface.d.ts +14 -0
  66. package/lib/core/user-behaviour-analytics/event-builder/purchase.type.d.ts +1 -0
  67. package/lib/core/user-behaviour-analytics/event-builder/user-behaviour-event.interface.d.ts +52 -0
  68. package/lib/core/user-behaviour-analytics/one-time-analytics-events.const.d.ts +1 -0
  69. package/lib/core/user-behaviour-analytics/user-behaviour-analytics.interface.d.ts +36 -0
  70. package/lib/core/user-behaviour-analytics/user-behaviour-analytics.service.d.ts +43 -0
  71. package/lib/core/user-behaviour-analytics/user-behaviour-event/user-behaviour-event-categories.d.ts +4 -0
  72. package/lib/core/user-behaviour-analytics/user-behaviour-event/user-behaviour-event-types.d.ts +7 -0
  73. package/lib/core/user-behaviour-analytics/user-behaviour-event-name.enum.d.ts +6 -0
  74. package/lib/core/user-behaviour-analytics/user-session-options.d.ts +15 -0
  75. package/lib/core-library.service.d.ts +8 -5
  76. package/package.json +1 -1
  77. package/public-api.d.ts +5 -0
  78. package/xsolla-payment-client-core-0.2.12.tgz +0 -0
  79. package/xsolla-payment-client-core-0.2.10.tgz +0 -0
@@ -4,6 +4,8 @@ import { Subject } from 'rxjs';
4
4
  import { EmitDataService } from '../emit-data.service.abstract';
5
5
  import { syncRequestFactoryToken, } from './request/sync-request.token';
6
6
  import { syncResponseFactoryToken, } from './response/sync-response.token';
7
+ import { UserBehaviourEventName } from '../../user-behaviour-analytics/user-behaviour-event-name.enum';
8
+ import { userBehaviourEventTypes } from '../../user-behaviour-analytics/user-behaviour-event/user-behaviour-event-types';
7
9
  import * as i0 from "@angular/core";
8
10
  import * as i1 from "../xps-api/xps-api.service";
9
11
  import * as i2 from "../actions/next-action.service";
@@ -11,8 +13,9 @@ import * as i3 from "../../settings/settings.service";
11
13
  import * as i4 from "../../errors-mapping/xps-response-errors-mapping.service";
12
14
  import * as i5 from "../../encrypt-credit-card/encrypt-credit-card.service";
13
15
  import * as i6 from "../actions/show-errors/show-errors.action.class";
16
+ import * as i7 from "../../user-behaviour-analytics/user-behaviour-analytics.service";
14
17
  export class SyncService extends EmitDataService {
15
- constructor(requestFactory, responseFactory, xpsApiService, nextActionService, settingsService, xpsResponseErrorsMappingService, encryptCreditCardService, showErrorsActionCreator) {
18
+ constructor(requestFactory, responseFactory, xpsApiService, nextActionService, settingsService, xpsResponseErrorsMappingService, encryptCreditCardService, showErrorsActionCreator, userBehaviourAnalyticsService) {
16
19
  super();
17
20
  this.requestFactory = requestFactory;
18
21
  this.responseFactory = responseFactory;
@@ -22,6 +25,7 @@ export class SyncService extends EmitDataService {
22
25
  this.xpsResponseErrorsMappingService = xpsResponseErrorsMappingService;
23
26
  this.encryptCreditCardService = encryptCreditCardService;
24
27
  this.showErrorsActionCreator = showErrorsActionCreator;
28
+ this.userBehaviourAnalyticsService = userBehaviourAnalyticsService;
25
29
  this.prevFieldSyncStates = {};
26
30
  this.form = new UntypedFormGroup({});
27
31
  this.fields = [];
@@ -117,6 +121,12 @@ export class SyncService extends EmitDataService {
117
121
  this.prevFieldSyncStates[field.name] = { value, result };
118
122
  }
119
123
  emitFormErrors(response) {
124
+ if (response.errors) {
125
+ const logError = (error) => {
126
+ this.userBehaviourAnalyticsService.send(UserBehaviourEventName.showErrorMessage, userBehaviourEventTypes.manual, { value: String(error.code), extraValue: error.message });
127
+ };
128
+ response.errors.forEach(logError);
129
+ }
120
130
  const formErrors = response.errors?.filter((error) => !error.element_name);
121
131
  if (formErrors?.length) {
122
132
  this.nextActionService.emitFlowUpdates(this.showErrorsActionCreator.getActionData(formErrors));
@@ -130,7 +140,7 @@ export class SyncService extends EmitDataService {
130
140
  this.fieldSyncTimers[field.name] = timerId;
131
141
  }
132
142
  }
133
- SyncService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SyncService, deps: [{ token: syncRequestFactoryToken }, { token: syncResponseFactoryToken }, { token: i1.XpsApiService }, { token: i2.NextActionService }, { token: i3.SettingsService }, { token: i4.XpsResponseErrorsMappingService }, { token: i5.EncryptCreditCardService }, { token: i6.ShowErrorsActionCreator }], target: i0.ɵɵFactoryTarget.Injectable });
143
+ SyncService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SyncService, deps: [{ token: syncRequestFactoryToken }, { token: syncResponseFactoryToken }, { token: i1.XpsApiService }, { token: i2.NextActionService }, { token: i3.SettingsService }, { token: i4.XpsResponseErrorsMappingService }, { token: i5.EncryptCreditCardService }, { token: i6.ShowErrorsActionCreator }, { token: i7.UserBehaviourAnalyticsService }], target: i0.ɵɵFactoryTarget.Injectable });
134
144
  SyncService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SyncService, providedIn: 'root' });
135
145
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SyncService, decorators: [{
136
146
  type: Injectable,
@@ -143,5 +153,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
143
153
  }] }, { type: undefined, decorators: [{
144
154
  type: Inject,
145
155
  args: [syncResponseFactoryToken]
146
- }] }, { type: i1.XpsApiService }, { type: i2.NextActionService }, { type: i3.SettingsService }, { type: i4.XpsResponseErrorsMappingService }, { type: i5.EncryptCreditCardService }, { type: i6.ShowErrorsActionCreator }]; } });
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9zeW5jL3N5bmMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQW9CLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFJaEUsT0FBTyxFQUVMLHVCQUF1QixHQUN4QixNQUFNLDhCQUE4QixDQUFDO0FBRXRDLE9BQU8sRUFFTCx3QkFBd0IsR0FDekIsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7Ozs7QUFZeEMsTUFBTSxPQUFPLFdBQVksU0FBUSxlQUE0QjtJQU8zRCxZQUVtQixjQUFrQyxFQUVsQyxlQUFvQyxFQUNwQyxhQUE0QixFQUM1QixpQkFBb0MsRUFDcEMsZUFBZ0MsRUFDaEMsK0JBQWdFLEVBQ2hFLHdCQUFrRCxFQUNsRCx1QkFBZ0Q7UUFFakUsS0FBSyxFQUFFLENBQUM7UUFWUyxtQkFBYyxHQUFkLGNBQWMsQ0FBb0I7UUFFbEMsb0JBQWUsR0FBZixlQUFlLENBQXFCO1FBQ3BDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLG9DQUErQixHQUEvQiwrQkFBK0IsQ0FBaUM7UUFDaEUsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBaEIzRCx3QkFBbUIsR0FBNEMsRUFBRSxDQUFDO1FBQ2xFLFNBQUks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RSxPQUFlO1FBQ3ZELE1BQU0sV0FBVyxHQUFXLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTdELElBQUksV0FBVyxFQUFFO1lBQ2YsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQzNCO1FBRUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDO0lBQzdDLENBQUM7O3dHQTNLVSxXQUFXLGtCQVFaLHVCQUF1QixhQUV2Qix3QkFBd0I7NEdBVnZCLFdBQVcsY0FGVixNQUFNOzJGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFTSSxNQUFNOzJCQUFDLHVCQUF1Qjs7MEJBRTlCLE1BQU07MkJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2V0dGluZ3Mvc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyBFbWl0RGF0YVNlcnZpY2UgfSBmcm9tICcuLi9lbWl0LWRhdGEuc2VydmljZS5hYnN0cmFjdCc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4uL2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBYcHNSZXNwb25zZSB9IGZyb20gJy4uL3hwcy1yZXNwb25zZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmllbGRTeW5jU3RhdGUgfSBmcm9tICcuL2ZpZWxkLXN5bmMtc3RhdGUuaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIFN5bmNSZXF1ZXN0RmFjdG9yeSxcbiAgc3luY1JlcXVlc3RGYWN0b3J5VG9rZW4sXG59IGZyb20gJy4vcmVxdWVzdC9zeW5jLXJlcXVlc3QudG9rZW4nO1xuaW1wb3J0IHsgU3luY1Jlc3BvbnNlIH0gZnJvbSAnLi9yZXNwb25zZS9zeW5jLXJlc3BvbnNlLmNsYXNzJztcbmltcG9ydCB7XG4gIFN5bmNSZXNwb25zZUZhY3RvcnksXG4gIHN5bmNSZXNwb25zZUZhY3RvcnlUb2tlbixcbn0gZnJvbSAnLi9yZXNwb25zZS9zeW5jLXJlc3BvbnNlLnRva2VuJztcbmltcG9ydCB7IE5leHRBY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vYWN0aW9ucy9uZXh0LWFjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFNob3dFcnJvcnNBY3Rpb25DcmVhdG9yIH0gZnJvbSAnLi4vYWN0aW9ucy9zaG93LWVycm9ycy9zaG93LWVycm9ycy5hY3Rpb24uY2xhc3MnO1xuaW1wb3J0IHsgWHBzQXBpU2VydmljZSB9IGZyb20gJy4uL3hwcy1hcGkveHBzLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IEZpZWxkQXN5bmNWYWxpZGF0aW9uIH0gZnJvbSAnLi9maWVsZC1hc3luYy12YWxpZGF0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBFbmNyeXB0Q3JlZGl0Q2FyZFNlcnZpY2UgfSBmcm9tICcuLi8uLi9lbmNyeXB0LWNyZWRpdC1jYXJkL2VuY3J5cHQtY3JlZGl0LWNhcmQuc2VydmljZSc7XG5pbXBvcnQgeyBTeW5jUmVxdWVzdCB9IGZyb20gJy4vcmVxdWVzdC9zeW5jLXJlcXVlc3QuY2xhc3MnO1xuaW1wb3J0IHsgWHBzUmVzcG9uc2VFcnJvcnNNYXBwaW5nU2VydmljZSB9IGZyb20gJy4uLy4uL2Vycm9ycy1tYXBwaW5nL3hwcy1yZXNwb25zZS1lcnJvcnMtbWFwcGluZy5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFN5bmNTZXJ2aWNlIGV4dGVuZHMgRW1pdERhdGFTZXJ2aWNlPFhwc1Jlc3BvbnNlPiB7XG4gIHByaXZhdGUgcHJldkZpZWxkU3luY1N0YXRlczogeyBbZmllbGROYW1lOiBzdHJpbmddOiBGaWVsZFN5bmNTdGF0ZSB9ID0ge307XG4gIHByaXZhdGUgZm9ybTogVW50eXBlZEZvcm1Hcm91cCA9IG5ldyBVbnR5cGVkRm9ybUdyb3VwKHt9KTtcbiAgcHJpdmF0ZSBmaWVsZHM6IEZpZWxkW10gPSBbXTtcbiAgcHJpdmF0ZSBmaWVsZFN5bmNUaW1lcnM6IHsgW2ZpZWxkTmFtZTogc3RyaW5nXTogbnVtYmVyIH0gPSB7fTtcbiAgcHJpdmF0ZSByZWFkb25seSBmaWVsZEFzeW5jVmFsaWRhdGlvbiA9IG5ldyBTdWJqZWN0PEZpZWxkQXN5bmNWYWxpZGF0aW9uPigpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KHN5bmNSZXF1ZXN0RmFjdG9yeVRva2VuKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVxdWVzdEZhY3Rvcnk6IFN5bmNSZXF1ZXN0RmFjdG9yeSxcbiAgICBASW5qZWN0KHN5bmNSZXNwb25zZUZhY3RvcnlUb2tlbilcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc3BvbnNlRmFjdG9yeTogU3luY1Jlc3BvbnNlRmFjdG9yeSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHhwc0FwaVNlcnZpY2U6IFhwc0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZXh0QWN0aW9uU2VydmljZTogTmV4dEFjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXR0aW5nc1NlcnZpY2U6IFNldHRpbmdzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHhwc1Jlc3BvbnNlRXJyb3JzTWFwcGluZ1NlcnZpY2U6IFhwc1Jlc3BvbnNlRXJyb3JzTWFwcGluZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbmNyeXB0Q3JlZGl0Q2FyZFNlcnZpY2U6IEVuY3J5cHRDcmVkaXRDYXJkU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNob3dFcnJvcnNBY3Rpb25DcmVhdG9yOiBTaG93RXJyb3JzQWN0aW9uQ3JlYXRvclxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIGdldCBmaWVsZEFzeW5jVmFsaWRhdGlvbiQoKTogT2JzZXJ2YWJsZTxGaWVsZEFzeW5jVmFsaWRhdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLmZpZWxkQXN5bmNWYWxpZGF0aW9uLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIHNldHVwKGZvcm06IFVudHlwZWRGb3JtR3JvdXAsIGZpZWxkczogRmllbGRbXSk6IHZvaWQge1xuICAgIHRoaXMucmVzZXQoKTtcblxuICAgIHRoaXMuZm9ybSA9IGZvcm07XG4gICAgdGhpcy5maWVsZHMgPSBmaWVsZHM7XG4gIH1cblxuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5wcmV2RmllbGRTeW5jU3RhdGVzID0ge307XG4gICAgdGhpcy5mb3JtID0gbmV3IFVudHlwZWRGb3JtR3JvdXAoe30pO1xuICAgIHRoaXMuZmllbGRzID0gW107XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgdmFsaWRhdGUoXG4gICAgZmllbGQ6IEZpZWxkLFxuICAgIGRlbGF5ID0gTnVtYmVyKCc3NTAnKVxuICApOiBQcm9taXNlPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPiB7XG4gICAgaWYgKCF0aGlzLmlzUmVhZHlGaWVsZChmaWVsZCkpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCk7XG4gICAgfVxuXG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuZm9ybS5nZXQoZmllbGQubmFtZSk7XG4gICAgY29uc3QgdmFsdWUgPSBjb250cm9sPy52YWx1ZTtcbiAgICBjb25zdCBwcmV2RmllbGRTdGF0ZSA9IHRoaXMuZ2V0UHJldkZpZWxkU3luY1N0YXRlKGZpZWxkKTtcblxuICAgIGNvbnN0IGlzSW5pdGlhbFZhbHVlID0gdmFsdWUgPT09IGZpZWxkLnZhbHVlICYmICFwcmV2RmllbGRTdGF0ZTtcblxuICAgIGlmIChpc0luaXRpYWxWYWx1ZSkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKTtcbiAgICB9XG5cbiAgICBpZiAocHJldkZpZWxkU3RhdGUgJiYgdmFsdWUgPT09IHByZXZGaWVsZFN0YXRlLnZhbHVlKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHByZXZGaWVsZFN0YXRlLnJlc3VsdCkudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlPy5lcnJvciA/PyBudWxsO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgdXBkYXRlRmllbGRTdGF0ZSA9IGFzeW5jICgpOiBQcm9taXNlPFxuICAgICAgc3RyaW5nIHwgVmFsaWRhdGlvbkVycm9ycyB8IG51bGxcbiAgICA+ID0+IHtcbiAgICAgIGNvbnN0IHJlcXVlc3RQcm9taXNlID0gdGhpcy5yZXF1ZXN0KGZpZWxkKTtcblxuICAgICAgdGhpcy5zZXRQcmV2RmllbGRTeW5jU3RhdGUoZmllbGQsIHZhbHVlLCByZXF1ZXN0UHJvbWlzZSk7XG5cbiAgICAgIHJldHVybiByZXF1ZXN0UHJvbWlzZS50aGVuKChyZXNwb25zZTogU3luY1Jlc3BvbnNlKSA9PiB7XG4gICAgICAgIHRoaXMuZmllbGRBc3luY1ZhbGlkYXRpb24ubmV4dCh7XG4gICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgZmllbGQsXG4gICAgICAgICAgcmVzcG9uc2UsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiByZXNwb25zZS5lcnJvciA/PyBudWxsO1xuICAgICAgfSk7XG4gICAgfTtcblxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgaWYgKGRlbGF5KSB7XG4gICAgICAgIGNvbnN0IHRpbWVySWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBpZiAodmFsdWUgIT09IGNvbnRyb2w/LnZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVzb2x2ZShudWxsKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB2b2lkIHVwZGF0ZUZpZWxkU3RhdGUoKS50aGVuKFxuICAgICAgICAgICAgKGVycm9yczogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgfCBzdHJpbmcpID0+XG4gICAgICAgICAgICAgIHJlc29sdmUoZXJyb3JzIGFzIFZhbGlkYXRpb25FcnJvcnMpXG4gICAgICAgICAgKTtcbiAgICAgICAgfSwgZGVsYXkpO1xuXG4gICAgICAgIHRoaXMucmVzZXRGaWVsZFN5bmNUaW1lcihmaWVsZCwgTnVtYmVyKHRpbWVySWQpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZvaWQgdXBkYXRlRmllbGRTdGF0ZSgpLnRoZW4oXG4gICAgICAgICAgKGVycm9yczogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgfCBzdHJpbmcpID0+XG4gICAgICAgICAgICByZXNvbHZlKGVycm9ycyBhcyBWYWxpZGF0aW9uRXJyb3JzKVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldFN5bmNWYWxpZGF0aW9uRXJyb3JzKGZpZWxkOiBGaWVsZCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5mb3JtLmdldChmaWVsZC5uYW1lKTtcbiAgICByZXR1cm4gY29udHJvbD8uZXJyb3JzID8/IG51bGw7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgcmVxdWVzdChmaWVsZDogRmllbGQpOiBQcm9taXNlPFN5bmNSZXNwb25zZT4ge1xuICAgIGNvbnN0IHJlcXVlc3RQYXJhbXMgPSB0aGlzLnJlcXVlc3RGYWN0b3J5KHtcbiAgICAgIHRva2VuOiB0aGlzLnNldHRpbmdzU2VydmljZS50b2tlbixcbiAgICAgIGNoYW5nZWRGaWVsZDogZmllbGQsXG4gICAgICBmaWVsZHM6IHRoaXMuZmllbGRzLFxuICAgICAgZm9ybTogdGhpcy5mb3JtLFxuICAgIH0pO1xuXG4gICAgY29uc3QgZW5jcnlwdGVkUmVxdWVzdCA9XG4gICAgICB0aGlzLmVuY3J5cHRDcmVkaXRDYXJkU2VydmljZS5lbmNyeXB0Q3JlZGl0Q2FyZDxTeW5jUmVxdWVzdD4oXG4gICAgICAgIHJlcXVlc3RQYXJhbXNcbiAgICAgICk7XG5cbiAgICByZXR1cm4gdGhpcy54cHNBcGlTZXJ2aWNlXG4gICAgICAuZGlyZWN0UGF5bWVudFJlcXVlc3QoZW5jcnlwdGVkUmVxdWVzdClcbiAgICAgIC50aGVuKCh4cHNSZXNwb25zZTogWHBzUmVzcG9uc2UpID0+IHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPVxuICAgICAgICAgIHRoaXMueHBzUmVzcG9uc2VFcnJvcnNNYXBwaW5nU2VydmljZS5tYXBFcnJvcnMoeHBzUmVzcG9uc2UpO1xuXG4gICAgICAgIHRoaXMuZW1pdEZvcm1FcnJvcnMocmVzcG9uc2UpO1xuICAgICAgICB0aGlzLmVtaXQocmVzcG9uc2UpO1xuICAgICAgICByZXR1cm4gdGhpcy5yZXNwb25zZUZhY3RvcnkoZmllbGQsIHJlc3BvbnNlKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1JlYWR5RmllbGQoZmllbGQ6IEZpZWxkKTogYm9vbGVhbiB7XG4gICAgY29uc3QgaXNTeW5jRW5hYmxlZCA9ICEhZmllbGQuamF2YXNjcmlwdD8uY2hhbmdlO1xuICAgIGNvbnN0IGlzRXhpc3RzSW5Gb3JtID0gISF0aGlzLmZvcm0/LmdldChmaWVsZC5uYW1lKTtcblxuICAgIHJldHVybiBpc1N5bmNFbmFibGVkICYmIGlzRXhpc3RzSW5Gb3JtO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQcmV2RmllbGRTeW5jU3RhdGUoZmllbGQ6IEZpZWxkKTogRmllbGRTeW5jU3RhdGUge1xuICAgIHJldHVybiB0aGlzLnByZXZGaWVsZFN5bmNTdGF0ZXNbZmllbGQubmFtZV07XG4gIH1cblxuICBwcml2YXRlIHNldFByZXZGaWVsZFN5bmNTdGF0ZShcbiAgICBmaWVsZDogRmllbGQsXG4gICAgdmFsdWU6IHVua25vd24sXG4gICAgcmVzdWx0OiBQcm9taXNlPFN5bmNSZXNwb25zZT5cbiAgKTogdm9pZCB7XG4gICAgdGhpcy5wcmV2RmllbGRTeW5jU3RhdGVzW2ZpZWxkLm5hbWVdID0geyB2YWx1ZSwgcmVzdWx0IH07XG4gIH1cblxuICBwcml2YXRlIGVtaXRGb3JtRXJyb3JzKHJlc3BvbnNlOiBYcHNSZXNwb25zZSk6IHZvaWQge1xuICAgIGNvbnN0IGZvcm1FcnJvcnMgPSByZXNwb25zZS5lcnJvcnM/LmZpbHRlcigoZXJyb3IpID0+ICFlcnJvci5lbGVtZW50X25hbWUpO1xuXG4gICAgaWYgKGZvcm1FcnJvcnM/Lmxlbmd0aCkge1xuICAgICAgdGhpcy5uZXh0QWN0aW9uU2VydmljZS5lbWl0Rmxvd1VwZGF0ZXMoXG4gICAgICAgIHRoaXMuc2hvd0Vycm9yc0FjdGlvbkNyZWF0b3IuZ2V0QWN0aW9uRGF0YShmb3JtRXJyb3JzKVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlc2V0RmllbGRTeW5jVGltZXIoZmllbGQ6IEZpZWxkLCB0aW1lcklkOiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBwcmV2VGltZXJJZDogbnVtYmVyID0gdGhpcy5maWVsZFN5bmNUaW1lcnNbZmllbGQubmFtZV07XG5cbiAgICBpZiAocHJldlRpbWVySWQpIHtcbiAgICAgIGNsZWFyVGltZW91dChwcmV2VGltZXJJZCk7XG4gICAgfVxuXG4gICAgdGhpcy5maWVsZFN5bmNUaW1lcnNbZmllbGQubmFtZV0gPSB0aW1lcklkO1xuICB9XG59XG4iXX0=
156
+ }] }, { type: i1.XpsApiService }, { type: i2.NextActionService }, { type: i3.SettingsService }, { type: i4.XpsResponseErrorsMappingService }, { type: i5.EncryptCreditCardService }, { type: i6.ShowErrorsActionCreator }, { type: i7.UserBehaviourAnalyticsService }]; } });
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9zeW5jL3N5bmMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQW9CLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFJaEUsT0FBTyxFQUVMLHVCQUF1QixHQUN4QixNQUFNLDhCQUE4QixDQUFDO0FBRXRDLE9BQU8sRUFFTCx3QkFBd0IsR0FDekIsTUFBTSxnQ0FBZ0MsQ0FBQztBQVN4QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUN2RyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnRkFBZ0YsQ0FBQzs7Ozs7Ozs7O0FBS3pILE1BQU0sT0FBTyxXQUFZLFNBQVEsZUFBNEI7SUFPM0QsWUFFbUIsY0FBa0MsRUFFbEMsZUFBb0MsRUFDcEMsYUFBNEIsRUFDNUIsaUJBQW9DLEVBQ3BDLGVBQWdDLEVBQ2hDLCtCQUFnRSxFQUNoRSx3QkFBa0QsRUFDbEQsdUJBQWdELEVBQ2hELDZCQUE0RDtRQUU3RSxLQUFLLEVBQUUsQ0FBQztRQVhTLG1CQUFjLEdBQWQsY0FBYyxDQUFvQjtRQUVsQyxvQkFBZSxHQUFmLGVBQWUsQ0FBcUI7UUFDcEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsb0NBQStCLEdBQS9CLCtCQUErQixDQUFpQztR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RUFDdkMsdUJBQXVCLENBQUMsTUFBTSxFQUM5QixFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQ3pELENBQUM7WUFDSixDQUFDLENBQUM7WUFFRixRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNuQztRQUVELE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUUzRSxJQUFJLFVBQVUsRUFBRSxNQUFNLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FDcEMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FDdkQsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVPLG1CQUFtQixDQUFDLEtBQVksRUFBRSxPQUFlO1FBQ3ZELE1BQU0sV0FBVyxHQUFXLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTdELElBQUksV0FBVyxFQUFFO1lBQ2YsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQzNCO1FBRUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDO0lBQzdDLENBQUM7O3dHQXhMVSxXQUFXLGtCQVFaLHVCQUF1QixhQUV2Qix3QkFBd0I7NEdBVnZCLFdBQVcsY0FGVixNQUFNOzJGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFTSSxNQUFNOzJCQUFDLHVCQUF1Qjs7MEJBRTlCLE1BQU07MkJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2V0dGluZ3Mvc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyBFbWl0RGF0YVNlcnZpY2UgfSBmcm9tICcuLi9lbWl0LWRhdGEuc2VydmljZS5hYnN0cmFjdCc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4uL2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBYcHNSZXNwb25zZSB9IGZyb20gJy4uL3hwcy1yZXNwb25zZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmllbGRTeW5jU3RhdGUgfSBmcm9tICcuL2ZpZWxkLXN5bmMtc3RhdGUuaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIFN5bmNSZXF1ZXN0RmFjdG9yeSxcbiAgc3luY1JlcXVlc3RGYWN0b3J5VG9rZW4sXG59IGZyb20gJy4vcmVxdWVzdC9zeW5jLXJlcXVlc3QudG9rZW4nO1xuaW1wb3J0IHsgU3luY1Jlc3BvbnNlIH0gZnJvbSAnLi9yZXNwb25zZS9zeW5jLXJlc3BvbnNlLmNsYXNzJztcbmltcG9ydCB7XG4gIFN5bmNSZXNwb25zZUZhY3RvcnksXG4gIHN5bmNSZXNwb25zZUZhY3RvcnlUb2tlbixcbn0gZnJvbSAnLi9yZXNwb25zZS9zeW5jLXJlc3BvbnNlLnRva2VuJztcbmltcG9ydCB7IE5leHRBY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vYWN0aW9ucy9uZXh0LWFjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFNob3dFcnJvcnNBY3Rpb25DcmVhdG9yIH0gZnJvbSAnLi4vYWN0aW9ucy9zaG93LWVycm9ycy9zaG93LWVycm9ycy5hY3Rpb24uY2xhc3MnO1xuaW1wb3J0IHsgWHBzQXBpU2VydmljZSB9IGZyb20gJy4uL3hwcy1hcGkveHBzLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IEZpZWxkQXN5bmNWYWxpZGF0aW9uIH0gZnJvbSAnLi9maWVsZC1hc3luYy12YWxpZGF0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBFbmNyeXB0Q3JlZGl0Q2FyZFNlcnZpY2UgfSBmcm9tICcuLi8uLi9lbmNyeXB0LWNyZWRpdC1jYXJkL2VuY3J5cHQtY3JlZGl0LWNhcmQuc2VydmljZSc7XG5pbXBvcnQgeyBTeW5jUmVxdWVzdCB9IGZyb20gJy4vcmVxdWVzdC9zeW5jLXJlcXVlc3QuY2xhc3MnO1xuaW1wb3J0IHsgWHBzUmVzcG9uc2VFcnJvcnNNYXBwaW5nU2VydmljZSB9IGZyb20gJy4uLy4uL2Vycm9ycy1tYXBwaW5nL3hwcy1yZXNwb25zZS1lcnJvcnMtbWFwcGluZy5zZXJ2aWNlJztcbmltcG9ydCB7IFVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy5zZXJ2aWNlJztcbmltcG9ydCB7IFVzZXJCZWhhdmlvdXJFdmVudE5hbWUgfSBmcm9tICcuLi8uLi91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItZXZlbnQtbmFtZS5lbnVtJztcbmltcG9ydCB7IHVzZXJCZWhhdmlvdXJFdmVudFR5cGVzIH0gZnJvbSAnLi4vLi4vdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzL3VzZXItYmVoYXZpb3VyLWV2ZW50L3VzZXItYmVoYXZpb3VyLWV2ZW50LXR5cGVzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFN5bmNTZXJ2aWNlIGV4dGVuZHMgRW1pdERhdGFTZXJ2aWNlPFhwc1Jlc3BvbnNlPiB7XG4gIHByaXZhdGUgcHJldkZpZWxkU3luY1N0YXRlczogeyBbZmllbGROYW1lOiBzdHJpbmddOiBGaWVsZFN5bmNTdGF0ZSB9ID0ge307XG4gIHByaXZhdGUgZm9ybTogVW50eXBlZEZvcm1Hcm91cCA9IG5ldyBVbnR5cGVkRm9ybUdyb3VwKHt9KTtcbiAgcHJpdmF0ZSBmaWVsZHM6IEZpZWxkW10gPSBbXTtcbiAgcHJpdmF0ZSBmaWVsZFN5bmNUaW1lcnM6IHsgW2ZpZWxkTmFtZTogc3RyaW5nXTogbnVtYmVyIH0gPSB7fTtcbiAgcHJpdmF0ZSByZWFkb25seSBmaWVsZEFzeW5jVmFsaWRhdGlvbiA9IG5ldyBTdWJqZWN0PEZpZWxkQXN5bmNWYWxpZGF0aW9uPigpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KHN5bmNSZXF1ZXN0RmFjdG9yeVRva2VuKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVxdWVzdEZhY3Rvcnk6IFN5bmNSZXF1ZXN0RmFjdG9yeSxcbiAgICBASW5qZWN0KHN5bmNSZXNwb25zZUZhY3RvcnlUb2tlbilcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc3BvbnNlRmFjdG9yeTogU3luY1Jlc3BvbnNlRmFjdG9yeSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHhwc0FwaVNlcnZpY2U6IFhwc0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZXh0QWN0aW9uU2VydmljZTogTmV4dEFjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXR0aW5nc1NlcnZpY2U6IFNldHRpbmdzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHhwc1Jlc3BvbnNlRXJyb3JzTWFwcGluZ1NlcnZpY2U6IFhwc1Jlc3BvbnNlRXJyb3JzTWFwcGluZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbmNyeXB0Q3JlZGl0Q2FyZFNlcnZpY2U6IEVuY3J5cHRDcmVkaXRDYXJkU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNob3dFcnJvcnNBY3Rpb25DcmVhdG9yOiBTaG93RXJyb3JzQWN0aW9uQ3JlYXRvcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlOiBVc2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZVxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIGdldCBmaWVsZEFzeW5jVmFsaWRhdGlvbiQoKTogT2JzZXJ2YWJsZTxGaWVsZEFzeW5jVmFsaWRhdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLmZpZWxkQXN5bmNWYWxpZGF0aW9uLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIHNldHVwKGZvcm06IFVudHlwZWRGb3JtR3JvdXAsIGZpZWxkczogRmllbGRbXSk6IHZvaWQge1xuICAgIHRoaXMucmVzZXQoKTtcblxuICAgIHRoaXMuZm9ybSA9IGZvcm07XG4gICAgdGhpcy5maWVsZHMgPSBmaWVsZHM7XG4gIH1cblxuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5wcmV2RmllbGRTeW5jU3RhdGVzID0ge307XG4gICAgdGhpcy5mb3JtID0gbmV3IFVudHlwZWRGb3JtR3JvdXAoe30pO1xuICAgIHRoaXMuZmllbGRzID0gW107XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgdmFsaWRhdGUoXG4gICAgZmllbGQ6IEZpZWxkLFxuICAgIGRlbGF5ID0gTnVtYmVyKCc3NTAnKVxuICApOiBQcm9taXNlPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPiB7XG4gICAgaWYgKCF0aGlzLmlzUmVhZHlGaWVsZChmaWVsZCkpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCk7XG4gICAgfVxuXG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuZm9ybS5nZXQoZmllbGQubmFtZSk7XG4gICAgY29uc3QgdmFsdWUgPSBjb250cm9sPy52YWx1ZTtcbiAgICBjb25zdCBwcmV2RmllbGRTdGF0ZSA9IHRoaXMuZ2V0UHJldkZpZWxkU3luY1N0YXRlKGZpZWxkKTtcblxuICAgIGNvbnN0IGlzSW5pdGlhbFZhbHVlID0gdmFsdWUgPT09IGZpZWxkLnZhbHVlICYmICFwcmV2RmllbGRTdGF0ZTtcblxuICAgIGlmIChpc0luaXRpYWxWYWx1ZSkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKTtcbiAgICB9XG5cbiAgICBpZiAocHJldkZpZWxkU3RhdGUgJiYgdmFsdWUgPT09IHByZXZGaWVsZFN0YXRlLnZhbHVlKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHByZXZGaWVsZFN0YXRlLnJlc3VsdCkudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlPy5lcnJvciA/PyBudWxsO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgdXBkYXRlRmllbGRTdGF0ZSA9IGFzeW5jICgpOiBQcm9taXNlPFxuICAgICAgc3RyaW5nIHwgVmFsaWRhdGlvbkVycm9ycyB8IG51bGxcbiAgICA+ID0+IHtcbiAgICAgIGNvbnN0IHJlcXVlc3RQcm9taXNlID0gdGhpcy5yZXF1ZXN0KGZpZWxkKTtcblxuICAgICAgdGhpcy5zZXRQcmV2RmllbGRTeW5jU3RhdGUoZmllbGQsIHZhbHVlLCByZXF1ZXN0UHJvbWlzZSk7XG5cbiAgICAgIHJldHVybiByZXF1ZXN0UHJvbWlzZS50aGVuKChyZXNwb25zZTogU3luY1Jlc3BvbnNlKSA9PiB7XG4gICAgICAgIHRoaXMuZmllbGRBc3luY1ZhbGlkYXRpb24ubmV4dCh7XG4gICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgZmllbGQsXG4gICAgICAgICAgcmVzcG9uc2UsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiByZXNwb25zZS5lcnJvciA/PyBudWxsO1xuICAgICAgfSk7XG4gICAgfTtcblxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgaWYgKGRlbGF5KSB7XG4gICAgICAgIGNvbnN0IHRpbWVySWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBpZiAodmFsdWUgIT09IGNvbnRyb2w/LnZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVzb2x2ZShudWxsKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB2b2lkIHVwZGF0ZUZpZWxkU3RhdGUoKS50aGVuKFxuICAgICAgICAgICAgKGVycm9yczogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgfCBzdHJpbmcpID0+XG4gICAgICAgICAgICAgIHJlc29sdmUoZXJyb3JzIGFzIFZhbGlkYXRpb25FcnJvcnMpXG4gICAgICAgICAgKTtcbiAgICAgICAgfSwgZGVsYXkpO1xuXG4gICAgICAgIHRoaXMucmVzZXRGaWVsZFN5bmNUaW1lcihmaWVsZCwgTnVtYmVyKHRpbWVySWQpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZvaWQgdXBkYXRlRmllbGRTdGF0ZSgpLnRoZW4oXG4gICAgICAgICAgKGVycm9yczogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgfCBzdHJpbmcpID0+XG4gICAgICAgICAgICByZXNvbHZlKGVycm9ycyBhcyBWYWxpZGF0aW9uRXJyb3JzKVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldFN5bmNWYWxpZGF0aW9uRXJyb3JzKGZpZWxkOiBGaWVsZCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5mb3JtLmdldChmaWVsZC5uYW1lKTtcbiAgICByZXR1cm4gY29udHJvbD8uZXJyb3JzID8/IG51bGw7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgcmVxdWVzdChmaWVsZDogRmllbGQpOiBQcm9taXNlPFN5bmNSZXNwb25zZT4ge1xuICAgIGNvbnN0IHJlcXVlc3RQYXJhbXMgPSB0aGlzLnJlcXVlc3RGYWN0b3J5KHtcbiAgICAgIHRva2VuOiB0aGlzLnNldHRpbmdzU2VydmljZS50b2tlbixcbiAgICAgIGNoYW5nZWRGaWVsZDogZmllbGQsXG4gICAgICBmaWVsZHM6IHRoaXMuZmllbGRzLFxuICAgICAgZm9ybTogdGhpcy5mb3JtLFxuICAgIH0pO1xuXG4gICAgY29uc3QgZW5jcnlwdGVkUmVxdWVzdCA9XG4gICAgICB0aGlzLmVuY3J5cHRDcmVkaXRDYXJkU2VydmljZS5lbmNyeXB0Q3JlZGl0Q2FyZDxTeW5jUmVxdWVzdD4oXG4gICAgICAgIHJlcXVlc3RQYXJhbXNcbiAgICAgICk7XG5cbiAgICByZXR1cm4gdGhpcy54cHNBcGlTZXJ2aWNlXG4gICAgICAuZGlyZWN0UGF5bWVudFJlcXVlc3QoZW5jcnlwdGVkUmVxdWVzdClcbiAgICAgIC50aGVuKCh4cHNSZXNwb25zZTogWHBzUmVzcG9uc2UpID0+IHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPVxuICAgICAgICAgIHRoaXMueHBzUmVzcG9uc2VFcnJvcnNNYXBwaW5nU2VydmljZS5tYXBFcnJvcnMoeHBzUmVzcG9uc2UpO1xuXG4gICAgICAgIHRoaXMuZW1pdEZvcm1FcnJvcnMocmVzcG9uc2UpO1xuICAgICAgICB0aGlzLmVtaXQocmVzcG9uc2UpO1xuICAgICAgICByZXR1cm4gdGhpcy5yZXNwb25zZUZhY3RvcnkoZmllbGQsIHJlc3BvbnNlKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1JlYWR5RmllbGQoZmllbGQ6IEZpZWxkKTogYm9vbGVhbiB7XG4gICAgY29uc3QgaXNTeW5jRW5hYmxlZCA9ICEhZmllbGQuamF2YXNjcmlwdD8uY2hhbmdlO1xuICAgIGNvbnN0IGlzRXhpc3RzSW5Gb3JtID0gISF0aGlzLmZvcm0/LmdldChmaWVsZC5uYW1lKTtcblxuICAgIHJldHVybiBpc1N5bmNFbmFibGVkICYmIGlzRXhpc3RzSW5Gb3JtO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQcmV2RmllbGRTeW5jU3RhdGUoZmllbGQ6IEZpZWxkKTogRmllbGRTeW5jU3RhdGUge1xuICAgIHJldHVybiB0aGlzLnByZXZGaWVsZFN5bmNTdGF0ZXNbZmllbGQubmFtZV07XG4gIH1cblxuICBwcml2YXRlIHNldFByZXZGaWVsZFN5bmNTdGF0ZShcbiAgICBmaWVsZDogRmllbGQsXG4gICAgdmFsdWU6IHVua25vd24sXG4gICAgcmVzdWx0OiBQcm9taXNlPFN5bmNSZXNwb25zZT5cbiAgKTogdm9pZCB7XG4gICAgdGhpcy5wcmV2RmllbGRTeW5jU3RhdGVzW2ZpZWxkLm5hbWVdID0geyB2YWx1ZSwgcmVzdWx0IH07XG4gIH1cblxuICBwcml2YXRlIGVtaXRGb3JtRXJyb3JzKHJlc3BvbnNlOiBYcHNSZXNwb25zZSk6IHZvaWQge1xuICAgIGlmIChyZXNwb25zZS5lcnJvcnMpIHtcbiAgICAgIGNvbnN0IGxvZ0Vycm9yID0gKGVycm9yOiB7IGNvZGU6IG51bWJlcjsgbWVzc2FnZTogc3RyaW5nIH0pOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy51c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZS5zZW5kKFxuICAgICAgICAgIFVzZXJCZWhhdmlvdXJFdmVudE5hbWUuc2hvd0Vycm9yTWVzc2FnZSxcbiAgICAgICAgICB1c2VyQmVoYXZpb3VyRXZlbnRUeXBlcy5tYW51YWwsXG4gICAgICAgICAgeyB2YWx1ZTogU3RyaW5nKGVycm9yLmNvZGUpLCBleHRyYVZhbHVlOiBlcnJvci5tZXNzYWdlIH1cbiAgICAgICAgKTtcbiAgICAgIH07XG5cbiAgICAgIHJlc3BvbnNlLmVycm9ycy5mb3JFYWNoKGxvZ0Vycm9yKTtcbiAgICB9XG5cbiAgICBjb25zdCBmb3JtRXJyb3JzID0gcmVzcG9uc2UuZXJyb3JzPy5maWx0ZXIoKGVycm9yKSA9PiAhZXJyb3IuZWxlbWVudF9uYW1lKTtcblxuICAgIGlmIChmb3JtRXJyb3JzPy5sZW5ndGgpIHtcbiAgICAgIHRoaXMubmV4dEFjdGlvblNlcnZpY2UuZW1pdEZsb3dVcGRhdGVzKFxuICAgICAgICB0aGlzLnNob3dFcnJvcnNBY3Rpb25DcmVhdG9yLmdldEFjdGlvbkRhdGEoZm9ybUVycm9ycylcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZXNldEZpZWxkU3luY1RpbWVyKGZpZWxkOiBGaWVsZCwgdGltZXJJZDogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgcHJldlRpbWVySWQ6IG51bWJlciA9IHRoaXMuZmllbGRTeW5jVGltZXJzW2ZpZWxkLm5hbWVdO1xuXG4gICAgaWYgKHByZXZUaW1lcklkKSB7XG4gICAgICBjbGVhclRpbWVvdXQocHJldlRpbWVySWQpO1xuICAgIH1cblxuICAgIHRoaXMuZmllbGRTeW5jVGltZXJzW2ZpZWxkLm5hbWVdID0gdGltZXJJZDtcbiAgfVxufVxuIl19
@@ -7,12 +7,14 @@ import * as i0 from "@angular/core";
7
7
  import * as i1 from "../../http/secure-api/secure-api.service";
8
8
  import * as i2 from "../../settings/settings.service";
9
9
  import * as i3 from "../../country/country.service";
10
+ import * as i4 from "../../user-agent/user-agent.service";
10
11
  export class XpsApiService {
11
- constructor(window, secureApiClient, settingsService, countryService) {
12
+ constructor(window, secureApiClient, settingsService, countryService, userAgentService) {
12
13
  this.window = window;
13
14
  this.secureApiClient = secureApiClient;
14
15
  this.settingsService = settingsService;
15
16
  this.countryService = countryService;
17
+ this.userAgentService = userAgentService;
16
18
  this.directPaymentApiRoute = 'directpayment';
17
19
  }
18
20
  async directPaymentRequest(parameters) {
@@ -28,7 +30,7 @@ export class XpsApiService {
28
30
  country: this.countryService.getCountry(),
29
31
  ...parameters,
30
32
  };
31
- if (this.settingsService.isMobile) {
33
+ if (this.userAgentService.isMobileDevice) {
32
34
  requestParams.mobile = "1" /* XpsBoolean.true */;
33
35
  }
34
36
  return lastValueFrom(this.secureApiClient.post(this.directPaymentApiRoute, new URLSearchParams({ ...requestParams }), {
@@ -68,7 +70,7 @@ export class XpsApiService {
68
70
  return parameters;
69
71
  }
70
72
  }
71
- XpsApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XpsApiService, deps: [{ token: windowToken }, { token: i1.SecureApiClient }, { token: i2.SettingsService }, { token: i3.CountryService }], target: i0.ɵɵFactoryTarget.Injectable });
73
+ XpsApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XpsApiService, deps: [{ token: windowToken }, { token: i1.SecureApiClient }, { token: i2.SettingsService }, { token: i3.CountryService }, { token: i4.UserAgentService }], target: i0.ɵɵFactoryTarget.Injectable });
72
74
  XpsApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XpsApiService, providedIn: 'root' });
73
75
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XpsApiService, decorators: [{
74
76
  type: Injectable,
@@ -78,5 +80,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
78
80
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
79
81
  type: Inject,
80
82
  args: [windowToken]
81
- }] }, { type: i1.SecureApiClient }, { type: i2.SettingsService }, { type: i3.CountryService }]; } });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHBzLWFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC94cHMtYXBpL3hwcy1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUduRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFNakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRDQUE0QyxDQUFDOzs7OztBQU0xRSxNQUFNLE9BQU8sYUFBYTtJQUd4QixZQUVtQixNQUFzQixFQUN0QixlQUFnQyxFQUNoQyxlQUFnQyxFQUNoQyxjQUE4QjtRQUg5QixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUN0QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQVBoQywwQkFBcUIsR0FBRyxlQUFlLENBQUM7SUFRdEQsQ0FBQztJQUVHLEtBQUssQ0FBQyxvQkFBb0IsQ0FDL0IsVUFBc0I7UUFFdEIsTUFBTSxHQUFHLEdBQ1AsVUFBVSxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUU7WUFDekIsVUFBVSxDQUFDLFdBQWtDO1lBQzlDLEVBQUUsQ0FBQztRQUNMLE1BQU0sc0JBQXNCLEdBQzFCLFVBQVUsQ0FBQyxzQkFBc0I7WUFDaEMsVUFBVSxDQUFDLDBCQUFpRDtZQUM3RCxFQUFFLENBQUM7UUFFTCxNQUFNLGFBQWEsR0FBcUI7WUFDdEMsR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsR0FBRyxFQUFFLHNCQUFzQixDQUFDO1lBQy9ELEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzlCLE9BQU8sRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRTtZQUN6QyxHQUFHLFVBQVU7U0FDZCxDQUFDO1FBRUYsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRTtZQUNqQyxhQUFhLENBQUMsTUFBTSw0QkFBa0IsQ0FBQztTQUN4QztRQUVELE9BQU8sYUFBYSxDQUNsQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FDdkIsSUFBSSxDQUFDLHFCQUFxQixFQUMxQixJQUFJLGVBQWUsQ0FBQyxFQUFFLEdBQUcsYUFBYSxFQUVyQyxDQUFDLEVBQ0Y7WUFDRSxPQUFPLEVBQUUsSUFBSSxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQzVCLGNBQWMsRUFDZCxrREFBa0QsQ0FDbkQ7WUFDRCxZQUFZLEVBQUUsTUFBTTtTQUNyQixDQUNGLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTywwQkFBMEIsQ0FDaEMsZUFBd0IsRUFDeEIsc0JBQTRDO1FBSTVDLE1BQU0sVUFBVSxHQUFxQixFQUFFLENBQUM7UUFFeEMsVUFBVSxDQUFDLHNCQUFzQixHQUFHLHNCQUFzQjtZQUN4RCxDQUFDLENBQUMsc0JBQXNCO1lBQ3hCLENBQUMsMkJBQWlCLENBQUM7UUFFckIsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUNwQixPQUFPLFVBQVUsQ0FBQztTQUNuQjtRQUVELHFDQUFxQztRQUNyQyxJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDLEVBQUU7WUFDbEQsVUFBVSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO2dCQUN2QyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUU7Z0JBQ3ZELGVBQWUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRO2dCQUMvQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVO2dCQUNoRCxtQkFBbUIsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXO2dCQUNuRCxrQkFBa0IsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVO2dCQUNqRCxTQUFTLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRTtnQkFDekMsY0FBYyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU87Z0JBQzdDLGdCQUFnQixFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO2dCQUN2QyxlQUFlLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxJQUFJLEVBQUU7Z0JBQ3JELHFCQUFxQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGFBQWE7YUFDM0QsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRU8sb0JBQW9CO1FBQzFCLE1BQU0sVUFBVSxHQUFxQixFQUFFLENBQUM7UUFFeEMsVUFBVSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUM7UUFDMUUsVUFBVSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDO1FBRXhFLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7OzBHQTdGVSxhQUFhLGtCQUlkLFdBQVc7OEdBSlYsYUFBYSxjQUZaLE1BQU07MkZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUtJLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGxhc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBTZWN1cmVBcGlDbGllbnQgfSBmcm9tICcuLi8uLi9odHRwL3NlY3VyZS1hcGkvc2VjdXJlLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IFhwc0Jvb2xlYW4gfSBmcm9tICcuLi8uLi94cHMtYm9vbGVhbi5lbnVtJztcbmltcG9ydCB7IHdpbmRvd1Rva2VuIH0gZnJvbSAnLi4vLi4vd2luZG93LnRva2VuJztcbmltcG9ydCB7IEV4dGVuZGVkV2luZG93IH0gZnJvbSAnLi4vLi4vZXh0ZW5kZWQtd2luZG93LmludGVyZmFjZSc7XG5pbXBvcnQgeyBTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXR0aW5ncy9zZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IFhwc1JlcXVlc3QgfSBmcm9tICcuLi94cHMtcmVxdWVzdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgWHBzUmVzcG9uc2UgfSBmcm9tICcuLi94cHMtcmVzcG9uc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFhwc1JlcXVlc3RQYXJhbXMgfSBmcm9tICcuLi94cHMtcmVxdWVzdC1wYXJhbXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IGNhcmRzV2l0aDNkcyB9IGZyb20gJy4uL2NyZWRpdC1jYXJkLXBheW1lbnQtbWV0aG9kcy1pZC52YXJpYWJsZSc7XG5pbXBvcnQgeyBDb3VudHJ5U2VydmljZSB9IGZyb20gJy4uLy4uL2NvdW50cnkvY291bnRyeS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFhwc0FwaVNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGRpcmVjdFBheW1lbnRBcGlSb3V0ZSA9ICdkaXJlY3RwYXltZW50JztcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgQEluamVjdCh3aW5kb3dUb2tlbilcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdpbmRvdzogRXh0ZW5kZWRXaW5kb3csXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZWN1cmVBcGlDbGllbnQ6IFNlY3VyZUFwaUNsaWVudCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNldHRpbmdzU2VydmljZTogU2V0dGluZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY291bnRyeVNlcnZpY2U6IENvdW50cnlTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgYXN5bmMgZGlyZWN0UGF5bWVudFJlcXVlc3QoXG4gICAgcGFyYW1ldGVyczogWHBzUmVxdWVzdFxuICApOiBQcm9taXNlPFhwc1Jlc3BvbnNlPiB7XG4gICAgY29uc3QgcGlkID1cbiAgICAgIHBhcmFtZXRlcnMucGlkPy50b1N0cmluZygpID8/XG4gICAgICAocGFyYW1ldGVycy54cHNfZml4X3BpZCBhcyBzdHJpbmcgfCB1bmRlZmluZWQpID8/XG4gICAgICAnJztcbiAgICBjb25zdCBwYXltZW50V2l0aFNhdmVkTWV0aG9kID1cbiAgICAgIHBhcmFtZXRlcnMucGF5bWVudFdpdGhTYXZlZE1ldGhvZCA/P1xuICAgICAgKHBhcmFtZXRlcnMueHBzX3BheW1lbnRXaXRoU2F2ZWRNZXRob2QgYXMgc3RyaW5nIHwgdW5kZWZpbmVkKSA/P1xuICAgICAgJyc7XG5cbiAgICBjb25zdCByZXF1ZXN0UGFyYW1zOiBYcHNSZXF1ZXN0UGFyYW1zID0ge1xuICAgICAgLi4udGhpcy5jb2xsZWN0QW5hbHl0aWNzUGFyYW1ldGVycyhwaWQsIHBheW1lbnRXaXRoU2F2ZWRNZXRob2QpLFxuICAgICAgLi4udGhpcy5jb2xsZWN0VXNlclNlc3Npb25JZCgpLFxuICAgICAgY291bnRyeTogdGhpcy5jb3VudHJ5U2VydmljZS5nZXRDb3VudHJ5KCksXG4gICAgICAuLi5wYXJhbWV0ZXJzLFxuICAgIH07XG5cbiAgICBpZiAodGhpcy5zZXR0aW5nc1NlcnZpY2UuaXNNb2JpbGUpIHtcbiAgICAgIHJlcXVlc3RQYXJhbXMubW9iaWxlID0gWHBzQm9vbGVhbi50cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBsYXN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy5zZWN1cmVBcGlDbGllbnQucG9zdDxYcHNSZXNwb25zZT4oXG4gICAgICAgIHRoaXMuZGlyZWN0UGF5bWVudEFwaVJvdXRlLFxuICAgICAgICBuZXcgVVJMU2VhcmNoUGFyYW1zKHsgLi4ucmVxdWVzdFBhcmFtcyB9IGFzIHVua25vd24gYXMge1xuICAgICAgICAgIFtrZXk6IHN0cmluZ106IHN0cmluZztcbiAgICAgICAgfSksXG4gICAgICAgIHtcbiAgICAgICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXG4gICAgICAgICAgICAnQ29udGVudC1UeXBlJyxcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7IGNoYXJzZXQ9dXRmLTgnXG4gICAgICAgICAgKSxcbiAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcbiAgICAgICAgfVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNvbGxlY3RBbmFseXRpY3NQYXJhbWV0ZXJzKFxuICAgIHBheW1lbnRNZXRob2RJZD86IHN0cmluZyxcbiAgICBwYXltZW50V2l0aFNhdmVkTWV0aG9kPzogWHBzQm9vbGVhbiB8IHN0cmluZ1xuICApOiB7XG4gICAgW2tleTogc3RyaW5nXTogdW5rbm93bjtcbiAgfSB7XG4gICAgY29uc3QgcGFyYW1ldGVyczogWHBzUmVxdWVzdFBhcmFtcyA9IHt9O1xuXG4gICAgcGFyYW1ldGVycy5wYXltZW50V2l0aFNhdmVkTWV0aG9kID0gcGF5bWVudFdpdGhTYXZlZE1ldGhvZFxuICAgICAgPyBwYXltZW50V2l0aFNhdmVkTWV0aG9kXG4gICAgICA6IFhwc0Jvb2xlYW4uZmFsc2U7XG5cbiAgICBpZiAoIXBheW1lbnRNZXRob2RJZCkge1xuICAgICAgcmV0dXJuIHBhcmFtZXRlcnM7XG4gICAgfVxuXG4gICAgLyogSWYgcGF5bWVudCBtZXRob2Qgd2l0aCAzRFNlY3VyZSAqL1xuICAgIGlmIChjYXJkc1dpdGgzZHMuaW5jbHVkZXMoTnVtYmVyKHBheW1lbnRNZXRob2RJZCkpKSB7XG4gICAgICBwYXJhbWV0ZXJzLmNvbnRhaW5lcjNEUyA9IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgYnJvd3NlcmphdmFlbmFibGVkOiB0aGlzLndpbmRvdy5uYXZpZ2F0b3IuamF2YUVuYWJsZWQoKSxcbiAgICAgICAgYnJvd3Nlcmxhbmd1YWdlOiB0aGlzLndpbmRvdy5uYXZpZ2F0b3IubGFuZ3VhZ2UsXG4gICAgICAgIGJyb3dzZXJjb2xvcmRlcHRoOiB0aGlzLndpbmRvdy5zY3JlZW4uY29sb3JEZXB0aCxcbiAgICAgICAgYnJvd3NlcnNjcmVlbmhlaWdodDogdGhpcy53aW5kb3cuc2NyZWVuLmF2YWlsSGVpZ2h0LFxuICAgICAgICBicm93c2Vyc2NyZWVud2lkdGg6IHRoaXMud2luZG93LnNjcmVlbi5hdmFpbFdpZHRoLFxuICAgICAgICBicm93c2VydHo6IG5ldyBEYXRlKCkuZ2V0VGltZXpvbmVPZmZzZXQoKSxcbiAgICAgICAgYnJvd3NlcmFwcG5hbWU6IHRoaXMud2luZG93Lm5hdmlnYXRvci5hcHBOYW1lLFxuICAgICAgICBicm93c2VybG9jYWx0aW1lOiBuZXcgRGF0ZSgpLnRvU3RyaW5nKCksXG4gICAgICAgIGJyb3dzZXJwbGF0Zm9ybTogdGhpcy53aW5kb3cubmF2aWdhdG9yLnBsYXRmb3JtIHx8ICcnLFxuICAgICAgICBicm93c2VyY29va2llc2VuYWJsZWQ6IHRoaXMud2luZG93Lm5hdmlnYXRvci5jb29raWVFbmFibGVkLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcmFtZXRlcnM7XG4gIH1cblxuICBwcml2YXRlIGNvbGxlY3RVc2VyU2Vzc2lvbklkKCk6IFhwc1JlcXVlc3RQYXJhbXMge1xuICAgIGNvbnN0IHBhcmFtZXRlcnM6IFhwc1JlcXVlc3RQYXJhbXMgPSB7fTtcblxuICAgIHBhcmFtZXRlcnMueHBzX2lkVXNlclNlc3Npb24gPSB0aGlzLnNldHRpbmdzU2VydmljZS51c2VyLnNlc3Npb25faWQgPz8gJyc7XG4gICAgcGFyYW1ldGVycy51c2VyX3Nlc3Npb25faWQgPSB0aGlzLnNldHRpbmdzU2VydmljZS51c2VyLnNlc3Npb25faWQgPz8gJyc7XG5cbiAgICByZXR1cm4gcGFyYW1ldGVycztcbiAgfVxufVxuIl19
83
+ }] }, { type: i1.SecureApiClient }, { type: i2.SettingsService }, { type: i3.CountryService }, { type: i4.UserAgentService }]; } });
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHBzLWFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC94cHMtYXBpL3hwcy1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUduRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFNakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRDQUE0QyxDQUFDOzs7Ozs7QUFPMUUsTUFBTSxPQUFPLGFBQWE7SUFHeEIsWUFFbUIsTUFBc0IsRUFDdEIsZUFBZ0MsRUFDaEMsZUFBZ0MsRUFDaEMsY0FBOEIsRUFDOUIsZ0JBQWtDO1FBSmxDLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQ3RCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFScEMsMEJBQXFCLEdBQUcsZUFBZSxDQUFDO0lBU3RELENBQUM7SUFFRyxLQUFLLENBQUMsb0JBQW9CLENBQy9CLFVBQXNCO1FBRXRCLE1BQU0sR0FBRyxHQUNQLFVBQVUsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFO1lBQ3pCLFVBQVUsQ0FBQyxXQUFrQztZQUM5QyxFQUFFLENBQUM7UUFDTCxNQUFNLHNCQUFzQixHQUMxQixVQUFVLENBQUMsc0JBQXNCO1lBQ2hDLFVBQVUsQ0FBQywwQkFBaUQ7WUFDN0QsRUFBRSxDQUFDO1FBRUwsTUFBTSxh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b20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBTZWN1cmVBcGlDbGllbnQgfSBmcm9tICcuLi8uLi9odHRwL3NlY3VyZS1hcGkvc2VjdXJlLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IFhwc0Jvb2xlYW4gfSBmcm9tICcuLi8uLi94cHMtYm9vbGVhbi5lbnVtJztcbmltcG9ydCB7IHdpbmRvd1Rva2VuIH0gZnJvbSAnLi4vLi4vd2luZG93LnRva2VuJztcbmltcG9ydCB7IEV4dGVuZGVkV2luZG93IH0gZnJvbSAnLi4vLi4vZXh0ZW5kZWQtd2luZG93LmludGVyZmFjZSc7XG5pbXBvcnQgeyBTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXR0aW5ncy9zZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IFhwc1JlcXVlc3QgfSBmcm9tICcuLi94cHMtcmVxdWVzdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgWHBzUmVzcG9uc2UgfSBmcm9tICcuLi94cHMtcmVzcG9uc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFhwc1JlcXVlc3RQYXJhbXMgfSBmcm9tICcuLi94cHMtcmVxdWVzdC1wYXJhbXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IGNhcmRzV2l0aDNkcyB9IGZyb20gJy4uL2NyZWRpdC1jYXJkLXBheW1lbnQtbWV0aG9kcy1pZC52YXJpYWJsZSc7XG5pbXBvcnQgeyBDb3VudHJ5U2VydmljZSB9IGZyb20gJy4uLy4uL2NvdW50cnkvY291bnRyeS5zZXJ2aWNlJztcbmltcG9ydCB7IFVzZXJBZ2VudFNlcnZpY2UgfSBmcm9tICcuLi8uLi91c2VyLWFnZW50L3VzZXItYWdlbnQuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBYcHNBcGlTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBkaXJlY3RQYXltZW50QXBpUm91dGUgPSAnZGlyZWN0cGF5bWVudCc7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3Qod2luZG93VG9rZW4pXG4gICAgcHJpdmF0ZSByZWFkb25seSB3aW5kb3c6IEV4dGVuZGVkV2luZG93LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VjdXJlQXBpQ2xpZW50OiBTZWN1cmVBcGlDbGllbnQsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXR0aW5nc1NlcnZpY2U6IFNldHRpbmdzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvdW50cnlTZXJ2aWNlOiBDb3VudHJ5U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJBZ2VudFNlcnZpY2U6IFVzZXJBZ2VudFNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBhc3luYyBkaXJlY3RQYXltZW50UmVxdWVzdChcbiAgICBwYXJhbWV0ZXJzOiBYcHNSZXF1ZXN0XG4gICk6IFByb21pc2U8WHBzUmVzcG9uc2U+IHtcbiAgICBjb25zdCBwaWQgPVxuICAgICAgcGFyYW1ldGVycy5waWQ/LnRvU3RyaW5nKCkgPz9cbiAgICAgIChwYXJhbWV0ZXJzLnhwc19maXhfcGlkIGFzIHN0cmluZyB8IHVuZGVmaW5lZCkgPz9cbiAgICAgICcnO1xuICAgIGNvbnN0IHBheW1lbnRXaXRoU2F2ZWRNZXRob2QgPVxuICAgICAgcGFyYW1ldGVycy5wYXltZW50V2l0aFNhdmVkTWV0aG9kID8/XG4gICAgICAocGFyYW1ldGVycy54cHNfcGF5bWVudFdpdGhTYXZlZE1ldGhvZCBhcyBzdHJpbmcgfCB1bmRlZmluZWQpID8/XG4gICAgICAnJztcblxuICAgIGNvbnN0IHJlcXVlc3RQYXJhbXM6IFhwc1JlcXVlc3RQYXJhbXMgPSB7XG4gICAgICAuLi50aGlzLmNvbGxlY3RBbmFseXRpY3NQYXJhbWV0ZXJzKHBpZCwgcGF5bWVudFdpdGhTYXZlZE1ldGhvZCksXG4gICAgICAuLi50aGlzLmNvbGxlY3RVc2VyU2Vzc2lvbklkKCksXG4gICAgICBjb3VudHJ5OiB0aGlzLmNvdW50cnlTZXJ2aWNlLmdldENvdW50cnkoKSxcbiAgICAgIC4uLnBhcmFtZXRlcnMsXG4gICAgfTtcblxuICAgIGlmICh0aGlzLnVzZXJBZ2VudFNlcnZpY2UuaXNNb2JpbGVEZXZpY2UpIHtcbiAgICAgIHJlcXVlc3RQYXJhbXMubW9iaWxlID0gWHBzQm9vbGVhbi50cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBsYXN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy5zZWN1cmVBcGlDbGllbnQucG9zdDxYcHNSZXNwb25zZT4oXG4gICAgICAgIHRoaXMuZGlyZWN0UGF5bWVudEFwaVJvdXRlLFxuICAgICAgICBuZXcgVVJMU2VhcmNoUGFyYW1zKHsgLi4ucmVxdWVzdFBhcmFtcyB9IGFzIHVua25vd24gYXMge1xuICAgICAgICAgIFtrZXk6IHN0cmluZ106IHN0cmluZztcbiAgICAgICAgfSksXG4gICAgICAgIHtcbiAgICAgICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXG4gICAgICAgICAgICAnQ29udGVudC1UeXBlJyxcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7IGNoYXJzZXQ9dXRmLTgnXG4gICAgICAgICAgKSxcbiAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcbiAgICAgICAgfVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNvbGxlY3RBbmFseXRpY3NQYXJhbWV0ZXJzKFxuICAgIHBheW1lbnRNZXRob2RJZD86IHN0cmluZyxcbiAgICBwYXltZW50V2l0aFNhdmVkTWV0aG9kPzogWHBzQm9vbGVhbiB8IHN0cmluZ1xuICApOiB7XG4gICAgW2tleTogc3RyaW5nXTogdW5rbm93bjtcbiAgfSB7XG4gICAgY29uc3QgcGFyYW1ldGVyczogWHBzUmVxdWVzdFBhcmFtcyA9IHt9O1xuXG4gICAgcGFyYW1ldGVycy5wYXltZW50V2l0aFNhdmVkTWV0aG9kID0gcGF5bWVudFdpdGhTYXZlZE1ldGhvZFxuICAgICAgPyBwYXltZW50V2l0aFNhdmVkTWV0aG9kXG4gICAgICA6IFhwc0Jvb2xlYW4uZmFsc2U7XG5cbiAgICBpZiAoIXBheW1lbnRNZXRob2RJZCkge1xuICAgICAgcmV0dXJuIHBhcmFtZXRlcnM7XG4gICAgfVxuXG4gICAgLyogSWYgcGF5bWVudCBtZXRob2Qgd2l0aCAzRFNlY3VyZSAqL1xuICAgIGlmIChjYXJkc1dpdGgzZHMuaW5jbHVkZXMoTnVtYmVyKHBheW1lbnRNZXRob2RJZCkpKSB7XG4gICAgICBwYXJhbWV0ZXJzLmNvbnRhaW5lcjNEUyA9IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgYnJvd3NlcmphdmFlbmFibGVkOiB0aGlzLndpbmRvdy5uYXZpZ2F0b3IuamF2YUVuYWJsZWQoKSxcbiAgICAgICAgYnJvd3Nlcmxhbmd1YWdlOiB0aGlzLndpbmRvdy5uYXZpZ2F0b3IubGFuZ3VhZ2UsXG4gICAgICAgIGJyb3dzZXJjb2xvcmRlcHRoOiB0aGlzLndpbmRvdy5zY3JlZW4uY29sb3JEZXB0aCxcbiAgICAgICAgYnJvd3NlcnNjcmVlbmhlaWdodDogdGhpcy53aW5kb3cuc2NyZWVuLmF2YWlsSGVpZ2h0LFxuICAgICAgICBicm93c2Vyc2NyZWVud2lkdGg6IHRoaXMud2luZG93LnNjcmVlbi5hdmFpbFdpZHRoLFxuICAgICAgICBicm93c2VydHo6IG5ldyBEYXRlKCkuZ2V0VGltZXpvbmVPZmZzZXQoKSxcbiAgICAgICAgYnJvd3NlcmFwcG5hbWU6IHRoaXMud2luZG93Lm5hdmlnYXRvci5hcHBOYW1lLFxuICAgICAgICBicm93c2VybG9jYWx0aW1lOiBuZXcgRGF0ZSgpLnRvU3RyaW5nKCksXG4gICAgICAgIGJyb3dzZXJwbGF0Zm9ybTogdGhpcy53aW5kb3cubmF2aWdhdG9yLnBsYXRmb3JtIHx8ICcnLFxuICAgICAgICBicm93c2VyY29va2llc2VuYWJsZWQ6IHRoaXMud2luZG93Lm5hdmlnYXRvci5jb29raWVFbmFibGVkLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcmFtZXRlcnM7XG4gIH1cblxuICBwcml2YXRlIGNvbGxlY3RVc2VyU2Vzc2lvbklkKCk6IFhwc1JlcXVlc3RQYXJhbXMge1xuICAgIGNvbnN0IHBhcmFtZXRlcnM6IFhwc1JlcXVlc3RQYXJhbXMgPSB7fTtcblxuICAgIHBhcmFtZXRlcnMueHBzX2lkVXNlclNlc3Npb24gPSB0aGlzLnNldHRpbmdzU2VydmljZS51c2VyLnNlc3Npb25faWQgPz8gJyc7XG4gICAgcGFyYW1ldGVycy51c2VyX3Nlc3Npb25faWQgPSB0aGlzLnNldHRpbmdzU2VydmljZS51c2VyLnNlc3Npb25faWQgPz8gJyc7XG5cbiAgICByZXR1cm4gcGFyYW1ldGVycztcbiAgfVxufVxuIl19
@@ -0,0 +1,111 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { userBehaviourEventTypes } from '../user-behaviour-analytics/user-behaviour-event/user-behaviour-event-types';
3
+ import { eventCategories } from '../user-behaviour-analytics/user-behaviour-event/user-behaviour-event-categories';
4
+ import { windowToken } from '../window.token';
5
+ import { defaultApiUrl } from '../http/secure-api/api-url.const';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../user-behaviour-analytics/user-behaviour-analytics.service";
8
+ import * as i2 from "./xhr-action.service";
9
+ export class PerformanceService {
10
+ get network() {
11
+ return this.navigationPerformance?.responseEnd;
12
+ }
13
+ get runApp() {
14
+ const domComplete = this.navigationPerformance?.domComplete;
15
+ if (domComplete == null || this.network == null) {
16
+ return null;
17
+ }
18
+ return domComplete - this.network;
19
+ }
20
+ constructor(userBehaviourAnalyticsService, xhrActionService, window, zone) {
21
+ this.userBehaviourAnalyticsService = userBehaviourAnalyticsService;
22
+ this.xhrActionService = xhrActionService;
23
+ this.window = window;
24
+ this.zone = zone;
25
+ this.navigationPerformance = this.window.performance?.getEntriesByType('navigation')?.[0];
26
+ this.resourcesPerformance = this.window.performance?.getEntriesByType('resource');
27
+ }
28
+ init() {
29
+ if (!this.window?.performance) {
30
+ return;
31
+ }
32
+ this.zone.runOutsideAngular(() => {
33
+ this.measureInitialValues();
34
+ this.listenXhrActions();
35
+ });
36
+ }
37
+ getInitRequest() {
38
+ if (!this.navigationPerformance || !this.resourcesPerformance) {
39
+ return null;
40
+ }
41
+ const utilsTiming = this.resourcesPerformance.find((performance) => performance.name.includes(`${defaultApiUrl}utils`));
42
+ if (!utilsTiming) {
43
+ return null;
44
+ }
45
+ return {
46
+ duration: utilsTiming.fetchStart - utilsTiming.responseEnd,
47
+ timeReserve: this.navigationPerformance.domComplete - utilsTiming.responseEnd,
48
+ utilsDuration: utilsTiming.duration,
49
+ };
50
+ }
51
+ sendMeasurement(name, value, additional) {
52
+ if (value == null) {
53
+ return;
54
+ }
55
+ const eventOptions = {
56
+ value: value.toString(),
57
+ };
58
+ if (additional) {
59
+ Object.keys(additional).forEach((optionName) => {
60
+ const optionValue = additional[optionName];
61
+ if (optionValue != null) {
62
+ eventOptions[optionName] =
63
+ optionValue.toString();
64
+ }
65
+ });
66
+ }
67
+ void this.userBehaviourAnalyticsService.send(name, userBehaviourEventTypes.manual, eventOptions);
68
+ }
69
+ measureRunApp() {
70
+ const sendRunApp = () => void setTimeout(() => this.sendMeasurement('run-app', this.runApp));
71
+ if (document.readyState === 'complete') {
72
+ sendRunApp();
73
+ }
74
+ else {
75
+ this.window.addEventListener('load', () => sendRunApp());
76
+ }
77
+ }
78
+ measureInitialValues() {
79
+ const initRequest = this.getInitRequest();
80
+ if (initRequest) {
81
+ this.sendMeasurement('utils', initRequest.duration, {
82
+ extraValue: initRequest.timeReserve,
83
+ dimension1: initRequest.utilsDuration,
84
+ });
85
+ }
86
+ this.sendMeasurement('network', this.network);
87
+ this.measureRunApp();
88
+ }
89
+ listenXhrActions() {
90
+ const xhrAction = this.xhrActionService.getXhrAction();
91
+ xhrAction.subscribe((event) => {
92
+ void this.userBehaviourAnalyticsService.send(`xhr-action:${event.name}`, userBehaviourEventTypes.manual, {
93
+ value: event.duration.toString(),
94
+ eventCategory: eventCategories.withoutInvoice,
95
+ extraValue: JSON.stringify(event),
96
+ });
97
+ });
98
+ }
99
+ }
100
+ PerformanceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: PerformanceService, deps: [{ token: i1.UserBehaviourAnalyticsService }, { token: i2.XhrActionService }, { token: windowToken }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
101
+ PerformanceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: PerformanceService, providedIn: 'root' });
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: PerformanceService, decorators: [{
103
+ type: Injectable,
104
+ args: [{
105
+ providedIn: 'root',
106
+ }]
107
+ }], ctorParameters: function () { return [{ type: i1.UserBehaviourAnalyticsService }, { type: i2.XhrActionService }, { type: undefined, decorators: [{
108
+ type: Inject,
109
+ args: [windowToken]
110
+ }] }, { type: i0.NgZone }]; } });
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyZm9ybWFuY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFJM0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkVBQTZFLENBQUM7QUFDdEgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtGQUFrRixDQUFDO0FBR25ILE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7QUFNakUsTUFBTSxPQUFPLGtCQUFrQjtJQVc3QixJQUFZLE9BQU87UUFDakIsT0FBTyxJQUFJLENBQUMscUJBQXFCLEVBQUUsV0FBVyxDQUFDO0lBQ2pELENBQUM7SUFFRCxJQUFZLE1BQU07UUFDaEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixFQUFFLFdBQVcsQ0FBQztRQUU1RCxJQUFJLFdBQVcsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLEVBQUU7WUFDL0MsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE9BQU8sV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDcEMsQ0FBQztJQUVELFlBQ21CLDZCQUE0RCxFQUM1RCxnQkFBa0MsRUFFbEMsTUFBc0IsRUFDdEIsSUFBWTtRQUpaLGtDQUE2QixHQUE3Qiw2QkFBNkIsQ0FBK0I7UUFDNUQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUVsQyxXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUN0QixTQUFJLEdBQUosSUFBSSxDQUFRO1FBN0JkLDBCQUFx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VyxDQUFDLFFBQVEsRUFBRTtnQkFDbEQsVUFBVSxFQUFFLFdBQVcsQ0FBQyxXQUFXO2dCQUNuQyxVQUFVLEVBQUUsV0FBVyxDQUFDLGFBQWE7YUFDdEMsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsTUFBTSxTQUFTLEdBQ2IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXZDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFnQixFQUFFLEVBQUU7WUFDdkMsS0FBSyxJQUFJLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUMxQyxjQUFjLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFDMUIsdUJBQXVCLENBQUMsTUFBTSxFQUM5QjtnQkFDRSxLQUFLLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUU7Z0JBQ2hDLGFBQWEsRUFBRSxlQUFlLENBQUMsY0FBYztnQkFDN0MsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO2FBQ2xDLENBQ0YsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7K0dBL0lVLGtCQUFrQiwrRkE0Qm5CLFdBQVc7bUhBNUJWLGtCQUFrQixjQUZqQixNQUFNOzJGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQTZCSSxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuLi91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzLnNlcnZpY2UnO1xuaW1wb3J0IHsgWGhyQWN0aW9uU2VydmljZSB9IGZyb20gJy4veGhyLWFjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFhockFjdGlvbiB9IGZyb20gJy4veGhyLWFjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgdXNlckJlaGF2aW91ckV2ZW50VHlwZXMgfSBmcm9tICcuLi91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItZXZlbnQvdXNlci1iZWhhdmlvdXItZXZlbnQtdHlwZXMnO1xuaW1wb3J0IHsgZXZlbnRDYXRlZ29yaWVzIH0gZnJvbSAnLi4vdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzL3VzZXItYmVoYXZpb3VyLWV2ZW50L3VzZXItYmVoYXZpb3VyLWV2ZW50LWNhdGVnb3JpZXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRXh0ZW5kZWRXaW5kb3cgfSBmcm9tICcuLi9leHRlbmRlZC13aW5kb3cuaW50ZXJmYWNlJztcbmltcG9ydCB7IHdpbmRvd1Rva2VuIH0gZnJvbSAnLi4vd2luZG93LnRva2VuJztcbmltcG9ydCB7IGRlZmF1bHRBcGlVcmwgfSBmcm9tICcuLi9odHRwL3NlY3VyZS1hcGkvYXBpLXVybC5jb25zdCc7XG5pbXBvcnQgeyBTZW5kRXZlbnRNZXRob2RPcHRpb25zSW50ZXJmYWNlIH0gZnJvbSAnLi4vdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUGVyZm9ybWFuY2VTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBuYXZpZ2F0aW9uUGVyZm9ybWFuY2UgPVxuICAgIHRoaXMud2luZG93LnBlcmZvcm1hbmNlPy5nZXRFbnRyaWVzQnlUeXBlKCduYXZpZ2F0aW9uJyk/LlswXSBhc1xuICAgICAgfCBQZXJmb3JtYW5jZU5hdmlnYXRpb25UaW1pbmdcbiAgICAgIHwgdW5kZWZpbmVkO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcmVzb3VyY2VzUGVyZm9ybWFuY2UgPVxuICAgIHRoaXMud2luZG93LnBlcmZvcm1hbmNlPy5nZXRFbnRyaWVzQnlUeXBlKCdyZXNvdXJjZScpIGFzXG4gICAgICB8IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmdbXVxuICAgICAgfCB1bmRlZmluZWQ7XG5cbiAgcHJpdmF0ZSBnZXQgbmV0d29yaygpOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLm5hdmlnYXRpb25QZXJmb3JtYW5jZT8ucmVzcG9uc2VFbmQ7XG4gIH1cblxuICBwcml2YXRlIGdldCBydW5BcHAoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgY29uc3QgZG9tQ29tcGxldGUgPSB0aGlzLm5hdmlnYXRpb25QZXJmb3JtYW5jZT8uZG9tQ29tcGxldGU7XG5cbiAgICBpZiAoZG9tQ29tcGxldGUgPT0gbnVsbCB8fCB0aGlzLm5ldHdvcmsgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRvbUNvbXBsZXRlIC0gdGhpcy5uZXR3b3JrO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2U6IFVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgeGhyQWN0aW9uU2VydmljZTogWGhyQWN0aW9uU2VydmljZSxcbiAgICBASW5qZWN0KHdpbmRvd1Rva2VuKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgd2luZG93OiBFeHRlbmRlZFdpbmRvdyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHpvbmU6IE5nWm9uZVxuICApIHt9XG5cbiAgcHVibGljIGluaXQoKTogdW5kZWZpbmVkIHwgdm9pZCB7XG4gICAgaWYgKCF0aGlzLndpbmRvdz8ucGVyZm9ybWFuY2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgdGhpcy5tZWFzdXJlSW5pdGlhbFZhbHVlcygpO1xuICAgICAgdGhpcy5saXN0ZW5YaHJBY3Rpb25zKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldEluaXRSZXF1ZXN0KCk6IHtcbiAgICBkdXJhdGlvbjogbnVtYmVyO1xuICAgIHRpbWVSZXNlcnZlOiBudW1iZXI7XG4gICAgdXRpbHNEdXJhdGlvbjogbnVtYmVyO1xuICB9IHwgbnVsbCB7XG4gICAgaWYgKCF0aGlzLm5hdmlnYXRpb25QZXJmb3JtYW5jZSB8fCAhdGhpcy5yZXNvdXJjZXNQZXJmb3JtYW5jZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgdXRpbHNUaW1pbmc6IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcgfCB1bmRlZmluZWQgPVxuICAgICAgdGhpcy5yZXNvdXJjZXNQZXJmb3JtYW5jZS5maW5kKChwZXJmb3JtYW5jZTogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZykgPT5cbiAgICAgICAgcGVyZm9ybWFuY2UubmFtZS5pbmNsdWRlcyhgJHtkZWZhdWx0QXBpVXJsfXV0aWxzYClcbiAgICAgICk7XG5cbiAgICBpZiAoIXV0aWxzVGltaW5nKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgZHVyYXRpb246IHV0aWxzVGltaW5nLmZldGNoU3RhcnQgLSB1dGlsc1RpbWluZy5yZXNwb25zZUVuZCxcbiAgICAgIHRpbWVSZXNlcnZlOlxuICAgICAgICB0aGlzLm5hdmlnYXRpb25QZXJmb3JtYW5jZS5kb21Db21wbGV0ZSAtIHV0aWxzVGltaW5nLnJlc3BvbnNlRW5kLFxuICAgICAgdXRpbHNEdXJhdGlvbjogdXRpbHNUaW1pbmcuZHVyYXRpb24sXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgc2VuZE1lYXN1cmVtZW50KFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICB2YWx1ZTogbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgICBhZGRpdGlvbmFsPzoge1xuICAgICAgZXh0cmFWYWx1ZT86IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgICBkaW1lbnNpb24xPzogbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICAgIGRpbWVuc2lvbjI/OiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkO1xuICAgIH1cbiAgKTogdm9pZCB7XG4gICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBldmVudE9wdGlvbnM6IFNlbmRFdmVudE1ldGhvZE9wdGlvbnNJbnRlcmZhY2UgPSB7XG4gICAgICB2YWx1ZTogdmFsdWUudG9TdHJpbmcoKSxcbiAgICB9O1xuXG4gICAgaWYgKGFkZGl0aW9uYWwpIHtcbiAgICAgIE9iamVjdC5rZXlzKGFkZGl0aW9uYWwpLmZvckVhY2goKG9wdGlvbk5hbWU6IHN0cmluZyk6IHZvaWQgPT4ge1xuICAgICAgICBjb25zdCBvcHRpb25WYWx1ZTogbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCA9XG4gICAgICAgICAgYWRkaXRpb25hbFtvcHRpb25OYW1lIGFzIGtleW9mIHR5cGVvZiBhZGRpdGlvbmFsXTtcbiAgICAgICAgaWYgKG9wdGlvblZhbHVlICE9IG51bGwpIHtcbiAgICAgICAgICBldmVudE9wdGlvbnNbb3B0aW9uTmFtZSBhcyBrZXlvZiB0eXBlb2YgYWRkaXRpb25hbF0gPVxuICAgICAgICAgICAgb3B0aW9uVmFsdWUudG9TdHJpbmcoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdm9pZCB0aGlzLnVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLnNlbmQoXG4gICAgICBuYW1lLFxuICAgICAgdXNlckJlaGF2aW91ckV2ZW50VHlwZXMubWFudWFsLFxuICAgICAgZXZlbnRPcHRpb25zXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgbWVhc3VyZVJ1bkFwcCgpOiB2b2lkIHtcbiAgICBjb25zdCBzZW5kUnVuQXBwID0gKCk6IHZvaWQgPT5cbiAgICAgIHZvaWQgc2V0VGltZW91dCgoKSA9PiB0aGlzLnNlbmRNZWFzdXJlbWVudCgncnVuLWFwcCcsIHRoaXMucnVuQXBwKSk7XG5cbiAgICBpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSA9PT0gJ2NvbXBsZXRlJykge1xuICAgICAgc2VuZFJ1bkFwcCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgKCkgPT4gc2VuZFJ1bkFwcCgpKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG1lYXN1cmVJbml0aWFsVmFsdWVzKCk6IHZvaWQge1xuICAgIGNvbnN0IGluaXRSZXF1ZXN0ID0gdGhpcy5nZXRJbml0UmVxdWVzdCgpO1xuICAgIGlmIChpbml0UmVxdWVzdCkge1xuICAgICAgdGhpcy5zZW5kTWVhc3VyZW1lbnQoJ3V0aWxzJywgaW5pdFJlcXVlc3QuZHVyYXRpb24sIHtcbiAgICAgICAgZXh0cmFWYWx1ZTogaW5pdFJlcXVlc3QudGltZVJlc2VydmUsXG4gICAgICAgIGRpbWVuc2lvbjE6IGluaXRSZXF1ZXN0LnV0aWxzRHVyYXRpb24sXG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5zZW5kTWVhc3VyZW1lbnQoJ25ldHdvcmsnLCB0aGlzLm5ldHdvcmspO1xuICAgIHRoaXMubWVhc3VyZVJ1bkFwcCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5YaHJBY3Rpb25zKCk6IHZvaWQge1xuICAgIGNvbnN0IHhockFjdGlvbjogT2JzZXJ2YWJsZTxYaHJBY3Rpb24+ID1cbiAgICAgIHRoaXMueGhyQWN0aW9uU2VydmljZS5nZXRYaHJBY3Rpb24oKTtcblxuICAgIHhockFjdGlvbi5zdWJzY3JpYmUoKGV2ZW50OiBYaHJBY3Rpb24pID0+IHtcbiAgICAgIHZvaWQgdGhpcy51c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZS5zZW5kKFxuICAgICAgICBgeGhyLWFjdGlvbjoke2V2ZW50Lm5hbWV9YCxcbiAgICAgICAgdXNlckJlaGF2aW91ckV2ZW50VHlwZXMubWFudWFsLFxuICAgICAgICB7XG4gICAgICAgICAgdmFsdWU6IGV2ZW50LmR1cmF0aW9uLnRvU3RyaW5nKCksXG4gICAgICAgICAgZXZlbnRDYXRlZ29yeTogZXZlbnRDYXRlZ29yaWVzLndpdGhvdXRJbnZvaWNlLFxuICAgICAgICAgIGV4dHJhVmFsdWU6IEpTT04uc3RyaW5naWZ5KGV2ZW50KSxcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGhyLWFjdGlvbi5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wZXJmb3JtYW5jZS94aHItYWN0aW9uLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBYaHJBY3Rpb24ge1xuICBuYW1lOiBzdHJpbmc7XG4gIGR1cmF0aW9uOiBudW1iZXI7XG4gIGFwaVJlcXVlc3RDb3VudDogbnVtYmVyO1xuICBhcGlSZXF1ZXN0RHVyYXRpb246IG51bWJlcjtcbiAgY2RuUmVxdWVzdENvdW50OiBudW1iZXI7XG4gIGNkblJlcXVlc3REdXJhdGlvbjogbnVtYmVyO1xufVxuIl19
@@ -0,0 +1,114 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { interval, of, Subject } from 'rxjs';
3
+ import { debounce, filter, map } from 'rxjs/operators';
4
+ import { windowToken } from '../window.token';
5
+ import { defaultApiUrl, sandboxApiUrl } from '../http/secure-api/api-url.const';
6
+ import * as i0 from "@angular/core";
7
+ export class XhrActionService {
8
+ constructor(window) {
9
+ this.window = window;
10
+ this.pauseTime = 1000;
11
+ this.userInputEventNames = ['click', 'change'];
12
+ this.isXhrActionStarted = false;
13
+ this.apiRequestEntries = [];
14
+ this.cdnRequestEntries = [];
15
+ this.entriesSubject = new Subject();
16
+ }
17
+ getXhrAction() {
18
+ if (!this.window.performance || !this.window.PerformanceObserver) {
19
+ return of();
20
+ }
21
+ this.getUserInput().subscribe(() => this.window.performance.mark('userInput'));
22
+ this.getPerformance().subscribe((entry) => this.processEntry(entry));
23
+ return this.getPauseEvent().pipe(map(() => {
24
+ const event = {
25
+ name: this.getApiRequestName(),
26
+ duration: this.getDuration([
27
+ ...this.apiRequestEntries,
28
+ ...this.cdnRequestEntries,
29
+ ]),
30
+ apiRequestCount: this.apiRequestEntries.length,
31
+ apiRequestDuration: this.getDuration(this.apiRequestEntries),
32
+ cdnRequestCount: this.cdnRequestEntries.length,
33
+ cdnRequestDuration: this.getDuration(this.cdnRequestEntries),
34
+ };
35
+ this.stopXhrAction();
36
+ return event;
37
+ }));
38
+ }
39
+ processEntry(entry) {
40
+ const isApiRequest = entry.name.includes(defaultApiUrl || sandboxApiUrl);
41
+ const cdnUrl = '';
42
+ const isCdnRequest = !isApiRequest && entry.name.startsWith(cdnUrl);
43
+ if (this.isXhrActionStarted && isApiRequest) {
44
+ this.apiRequestEntries.push(entry);
45
+ }
46
+ if (this.isXhrActionStarted && isCdnRequest) {
47
+ this.cdnRequestEntries.push(entry);
48
+ }
49
+ if (isApiRequest && !this.isXhrActionStarted) {
50
+ const userInputEntries = this.window.performance.getEntriesByName('userInput', 'mark');
51
+ const userInputEntry = userInputEntries[userInputEntries.length - 1];
52
+ if (userInputEntry) {
53
+ this.startXhrAction(entry);
54
+ }
55
+ }
56
+ if (isApiRequest || isCdnRequest) {
57
+ this.entriesSubject.next(entry);
58
+ }
59
+ }
60
+ startXhrAction(xhrEntry) {
61
+ this.isXhrActionStarted = true;
62
+ this.apiRequestEntries.push(xhrEntry);
63
+ }
64
+ stopXhrAction() {
65
+ this.isXhrActionStarted = false;
66
+ this.apiRequestEntries = [];
67
+ this.cdnRequestEntries = [];
68
+ }
69
+ getUserInput() {
70
+ const userInputSubject = new Subject();
71
+ this.userInputEventNames.forEach((eventName) => {
72
+ this.window.addEventListener(eventName, () => userInputSubject.next());
73
+ });
74
+ return userInputSubject;
75
+ }
76
+ getPerformance() {
77
+ const performanceSubject = new Subject();
78
+ if (this.window.PerformanceObserver) {
79
+ const observer = new this.window.PerformanceObserver((list) => {
80
+ list.getEntries().forEach((entry) => {
81
+ return performanceSubject.next(entry);
82
+ });
83
+ });
84
+ observer.observe({ entryTypes: ['resource'] });
85
+ }
86
+ return performanceSubject;
87
+ }
88
+ getApiRequestName() {
89
+ return this.apiRequestEntries[0].name.split(defaultApiUrl)[1].split('?')[0];
90
+ }
91
+ getDuration(entries) {
92
+ if (!entries.length) {
93
+ return 0;
94
+ }
95
+ const firstApiRequestEntry = entries.reduce((prev, current) => (prev.startTime < current.startTime ? prev : current));
96
+ const lastApiRequestEntry = entries.reduce((prev, current) => prev.responseEnd > current.responseEnd ? prev : current);
97
+ return Math.round(lastApiRequestEntry.responseEnd - firstApiRequestEntry.startTime);
98
+ }
99
+ getPauseEvent() {
100
+ return this.entriesSubject.pipe(debounce(() => interval(this.pauseTime)), filter(() => this.isXhrActionStarted));
101
+ }
102
+ }
103
+ XhrActionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XhrActionService, deps: [{ token: windowToken }], target: i0.ɵɵFactoryTarget.Injectable });
104
+ XhrActionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XhrActionService, providedIn: 'root' });
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XhrActionService, decorators: [{
106
+ type: Injectable,
107
+ args: [{
108
+ providedIn: 'root',
109
+ }]
110
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
111
+ type: Inject,
112
+ args: [windowToken]
113
+ }] }]; } });
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGhyLWFjdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGVyZm9ybWFuY2UveGhyLWFjdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFLaEYsTUFBTSxPQUFPLGdCQUFnQjtJQVEzQixZQUVtQixNQUFzQjtRQUF0QixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQVR4QixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLHdCQUFtQixHQUFhLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzdELHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQUMzQixzQkFBaUIsR0FBZ0MsRUFBRSxDQUFDO1FBQ3BELHNCQUFpQixHQUFnQyxFQUFFLENBQUM7UUFDM0MsbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBNkIsQ0FBQztJQUt4RSxDQUFDO0lBRUcsWUFBWTtRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixFQUFFO1lBQ2hFLE9BQU8sRUFBRSxFQUFFLENBQUM7U0FDYjtRQUVELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQ2pDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FDMUMsQ0FBQztRQUVGLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFnQyxFQUFFLEVBQUUsQ0FDbkUsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FDekIsQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLElBQUksQ0FDOUIsR0FBRyxDQUF1QyxHQUFHLEVBQUU7WUFDN0MsTUFBTSxLQUFLLEdBQWM7Z0JBQ3ZCLElBQUksRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7Z0JBQzlCLFFBQVEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDO29CQUN6QixHQUFHLElBQUksQ0FBQyxpQkFBaUI7b0JBQ3pCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQjtpQkFDMUIsQ0FBQztnQkFDRixlQUFlLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU07Z0JBQzlDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDO2dCQUM1RCxlQUFlLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU07Z0JBQzlDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDO2FBQzdELENBQUM7WUFFRixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFFckIsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVPLFlBQVksQ0FBQyxLQUFnQztRQUNuRCxNQUFNLFlBQVksR0FBWSxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FDL0MsYUFBYSxJQUFJLGFBQWEsQ0FDL0IsQ0FBQztRQUVGLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNsQixNQUFNLFlBQVksR0FDaEIsQ0FBQyxZQUFZLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFakQsSUFBSSxJQUFJLENBQUMsa0JBQWtCLElBQUksWUFBWSxFQUFFO1lBQzNDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDcEM7UUFFRCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxZQUFZLEVBQUU7WUFDM0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNwQztRQUVELElBQUksWUFBWSxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQzVDLE1BQU0sZ0JBQWdCLEdBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUNoRSxNQUFNLGNBQWMsR0FDbEIsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBRWhELElBQUksY0FBYyxFQUFFO2dCQUNsQixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzVCO1NBQ0Y7UUFFRCxJQUFJLFlBQVksSUFBSSxZQUFZLEVBQUU7WUFDaEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDakM7SUFDSCxDQUFDO0lBRU8sY0FBYyxDQUFDLFFBQW1DO1FBQ3hELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDL0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU8sYUFBYTtRQUNuQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU8sWUFBWTtRQUNsQixNQUFNLGdCQUFnQixHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRXRELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFpQixFQUFFLEVBQUU7WUFDckQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN6RSxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQztJQUVPLGNBQWM7UUFDcEIsTUFBTSxrQkFBa0IsR0FDdEIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUVoQixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLEVBQUU7WUFDbkMsTUFBTSxRQUFRLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUNsRCxDQUFDLElBQWtDLEVBQUUsRUFBRTtnQkFDckMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQXVCLEVBQVEsRUFBRTtvQkFDMUQsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBa0MsQ0FBQyxDQUFDO2dCQUNyRSxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FDRixDQUFDO1lBRUYsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNoRDtRQUVELE9BQU8sa0JBQWtCLENBQUM7SUFDNUIsQ0FBQztJQUVPLGlCQUFpQjtRQUN2QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRU8sV0FBVyxDQUFDLE9BQW9DO1FBQ3RELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ25CLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFFRCxNQUFNLG9CQUFvQixHQUE4QixPQUFPLENBQUMsTUFBTSxDQUNwRSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUN6RSxDQUFDO1FBQ0YsTUFBTSxtQkFBbUIsR0FBOEIsT0FBTyxDQUFDLE1BQU0sQ0FDbkUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FDaEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FDMUQsQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FDZixtQkFBbUIsQ0FBQyxXQUFXLEdBQUcsb0JBQW9CLENBQUMsU0FBUyxDQUNqRSxDQUFDO0lBQ0osQ0FBQztJQUVPLGFBQWE7UUFDbkIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDN0IsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFDeEMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUN0QyxDQUFDO0lBQ0osQ0FBQzs7NkdBbkpVLGdCQUFnQixrQkFTakIsV0FBVztpSEFUVixnQkFBZ0IsY0FGZixNQUFNOzJGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVVJLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW50ZXJ2YWwsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZSwgZmlsdGVyLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBYaHJBY3Rpb24gfSBmcm9tICcuL3hoci1hY3Rpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IEV4dGVuZGVkV2luZG93IH0gZnJvbSAnLi4vZXh0ZW5kZWQtd2luZG93LmludGVyZmFjZSc7XG5pbXBvcnQgeyB3aW5kb3dUb2tlbiB9IGZyb20gJy4uL3dpbmRvdy50b2tlbic7XG5pbXBvcnQgeyBkZWZhdWx0QXBpVXJsLCBzYW5kYm94QXBpVXJsIH0gZnJvbSAnLi4vaHR0cC9zZWN1cmUtYXBpL2FwaS11cmwuY29uc3QnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgWGhyQWN0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGF1c2VUaW1lID0gMTAwMDtcbiAgcHJpdmF0ZSByZWFkb25seSB1c2VySW5wdXRFdmVudE5hbWVzOiBzdHJpbmdbXSA9IFsnY2xpY2snLCAnY2hhbmdlJ107XG4gIHByaXZhdGUgaXNYaHJBY3Rpb25TdGFydGVkID0gZmFsc2U7XG4gIHByaXZhdGUgYXBpUmVxdWVzdEVudHJpZXM6IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmdbXSA9IFtdO1xuICBwcml2YXRlIGNkblJlcXVlc3RFbnRyaWVzOiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nW10gPSBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSBlbnRyaWVzU3ViamVjdCA9IG5ldyBTdWJqZWN0PFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc+KCk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3Qod2luZG93VG9rZW4pXG4gICAgcHJpdmF0ZSByZWFkb25seSB3aW5kb3c6IEV4dGVuZGVkV2luZG93XG4gICkge31cblxuICBwdWJsaWMgZ2V0WGhyQWN0aW9uKCk6IE9ic2VydmFibGU8WGhyQWN0aW9uPiB7XG4gICAgaWYgKCF0aGlzLndpbmRvdy5wZXJmb3JtYW5jZSB8fCAhdGhpcy53aW5kb3cuUGVyZm9ybWFuY2VPYnNlcnZlcikge1xuICAgICAgcmV0dXJuIG9mKCk7XG4gICAgfVxuXG4gICAgdGhpcy5nZXRVc2VySW5wdXQoKS5zdWJzY3JpYmUoKCkgPT5cbiAgICAgIHRoaXMud2luZG93LnBlcmZvcm1hbmNlLm1hcmsoJ3VzZXJJbnB1dCcpXG4gICAgKTtcblxuICAgIHRoaXMuZ2V0UGVyZm9ybWFuY2UoKS5zdWJzY3JpYmUoKGVudHJ5OiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nKSA9PlxuICAgICAgdGhpcy5wcm9jZXNzRW50cnkoZW50cnkpXG4gICAgKTtcblxuICAgIHJldHVybiB0aGlzLmdldFBhdXNlRXZlbnQoKS5waXBlKFxuICAgICAgbWFwPFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcsIFhockFjdGlvbj4oKCkgPT4ge1xuICAgICAgICBjb25zdCBldmVudDogWGhyQWN0aW9uID0ge1xuICAgICAgICAgIG5hbWU6IHRoaXMuZ2V0QXBpUmVxdWVzdE5hbWUoKSxcbiAgICAgICAgICBkdXJhdGlvbjogdGhpcy5nZXREdXJhdGlvbihbXG4gICAgICAgICAgICAuLi50aGlzLmFwaVJlcXVlc3RFbnRyaWVzLFxuICAgICAgICAgICAgLi4udGhpcy5jZG5SZXF1ZXN0RW50cmllcyxcbiAgICAgICAgICBdKSxcbiAgICAgICAgICBhcGlSZXF1ZXN0Q291bnQ6IHRoaXMuYXBpUmVxdWVzdEVudHJpZXMubGVuZ3RoLFxuICAgICAgICAgIGFwaVJlcXVlc3REdXJhdGlvbjogdGhpcy5nZXREdXJhdGlvbih0aGlzLmFwaVJlcXVlc3RFbnRyaWVzKSxcbiAgICAgICAgICBjZG5SZXF1ZXN0Q291bnQ6IHRoaXMuY2RuUmVxdWVzdEVudHJpZXMubGVuZ3RoLFxuICAgICAgICAgIGNkblJlcXVlc3REdXJhdGlvbjogdGhpcy5nZXREdXJhdGlvbih0aGlzLmNkblJlcXVlc3RFbnRyaWVzKSxcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLnN0b3BYaHJBY3Rpb24oKTtcblxuICAgICAgICByZXR1cm4gZXZlbnQ7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHByb2Nlc3NFbnRyeShlbnRyeTogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyk6IHZvaWQge1xuICAgIGNvbnN0IGlzQXBpUmVxdWVzdDogYm9vbGVhbiA9IGVudHJ5Lm5hbWUuaW5jbHVkZXMoXG4gICAgICBkZWZhdWx0QXBpVXJsIHx8IHNhbmRib3hBcGlVcmxcbiAgICApO1xuXG4gICAgY29uc3QgY2RuVXJsID0gJyc7XG4gICAgY29uc3QgaXNDZG5SZXF1ZXN0OiBib29sZWFuID1cbiAgICAgICFpc0FwaVJlcXVlc3QgJiYgZW50cnkubmFtZS5zdGFydHNXaXRoKGNkblVybCk7XG5cbiAgICBpZiAodGhpcy5pc1hockFjdGlvblN0YXJ0ZWQgJiYgaXNBcGlSZXF1ZXN0KSB7XG4gICAgICB0aGlzLmFwaVJlcXVlc3RFbnRyaWVzLnB1c2goZW50cnkpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzWGhyQWN0aW9uU3RhcnRlZCAmJiBpc0NkblJlcXVlc3QpIHtcbiAgICAgIHRoaXMuY2RuUmVxdWVzdEVudHJpZXMucHVzaChlbnRyeSk7XG4gICAgfVxuXG4gICAgaWYgKGlzQXBpUmVxdWVzdCAmJiAhdGhpcy5pc1hockFjdGlvblN0YXJ0ZWQpIHtcbiAgICAgIGNvbnN0IHVzZXJJbnB1dEVudHJpZXM6IFBlcmZvcm1hbmNlRW50cnlbXSA9XG4gICAgICAgIHRoaXMud2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoJ3VzZXJJbnB1dCcsICdtYXJrJyk7XG4gICAgICBjb25zdCB1c2VySW5wdXRFbnRyeTogUGVyZm9ybWFuY2VFbnRyeSA9XG4gICAgICAgIHVzZXJJbnB1dEVudHJpZXNbdXNlcklucHV0RW50cmllcy5sZW5ndGggLSAxXTtcblxuICAgICAgaWYgKHVzZXJJbnB1dEVudHJ5KSB7XG4gICAgICAgIHRoaXMuc3RhcnRYaHJBY3Rpb24oZW50cnkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChpc0FwaVJlcXVlc3QgfHwgaXNDZG5SZXF1ZXN0KSB7XG4gICAgICB0aGlzLmVudHJpZXNTdWJqZWN0Lm5leHQoZW50cnkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhcnRYaHJBY3Rpb24oeGhyRW50cnk6IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcpOiB2b2lkIHtcbiAgICB0aGlzLmlzWGhyQWN0aW9uU3RhcnRlZCA9IHRydWU7XG4gICAgdGhpcy5hcGlSZXF1ZXN0RW50cmllcy5wdXNoKHhockVudHJ5KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RvcFhockFjdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLmlzWGhyQWN0aW9uU3RhcnRlZCA9IGZhbHNlO1xuICAgIHRoaXMuYXBpUmVxdWVzdEVudHJpZXMgPSBbXTtcbiAgICB0aGlzLmNkblJlcXVlc3RFbnRyaWVzID0gW107XG4gIH1cblxuICBwcml2YXRlIGdldFVzZXJJbnB1dCgpOiBTdWJqZWN0PHZvaWQ+IHtcbiAgICBjb25zdCB1c2VySW5wdXRTdWJqZWN0OiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcblxuICAgIHRoaXMudXNlcklucHV0RXZlbnROYW1lcy5mb3JFYWNoKChldmVudE5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgdGhpcy53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsICgpID0+IHVzZXJJbnB1dFN1YmplY3QubmV4dCgpKTtcbiAgICB9KTtcblxuICAgIHJldHVybiB1c2VySW5wdXRTdWJqZWN0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQZXJmb3JtYW5jZSgpOiBTdWJqZWN0PFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc+IHtcbiAgICBjb25zdCBwZXJmb3JtYW5jZVN1YmplY3Q6IFN1YmplY3Q8UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZz4gPVxuICAgICAgbmV3IFN1YmplY3QoKTtcblxuICAgIGlmICh0aGlzLndpbmRvdy5QZXJmb3JtYW5jZU9ic2VydmVyKSB7XG4gICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyB0aGlzLndpbmRvdy5QZXJmb3JtYW5jZU9ic2VydmVyKFxuICAgICAgICAobGlzdDogUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCkgPT4ge1xuICAgICAgICAgIGxpc3QuZ2V0RW50cmllcygpLmZvckVhY2goKGVudHJ5OiBQZXJmb3JtYW5jZUVudHJ5KTogdm9pZCA9PiB7XG4gICAgICAgICAgICByZXR1cm4gcGVyZm9ybWFuY2VTdWJqZWN0Lm5leHQoZW50cnkgYXMgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICk7XG5cbiAgICAgIG9ic2VydmVyLm9ic2VydmUoeyBlbnRyeVR5cGVzOiBbJ3Jlc291cmNlJ10gfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBlcmZvcm1hbmNlU3ViamVjdDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QXBpUmVxdWVzdE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hcGlSZXF1ZXN0RW50cmllc1swXS5uYW1lLnNwbGl0KGRlZmF1bHRBcGlVcmwpWzFdLnNwbGl0KCc/JylbMF07XG4gIH1cblxuICBwcml2YXRlIGdldER1cmF0aW9uKGVudHJpZXM6IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmdbXSk6IG51bWJlciB7XG4gICAgaWYgKCFlbnRyaWVzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgY29uc3QgZmlyc3RBcGlSZXF1ZXN0RW50cnk6IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcgPSBlbnRyaWVzLnJlZHVjZShcbiAgICAgIChwcmV2LCBjdXJyZW50KSA9PiAocHJldi5zdGFydFRpbWUgPCBjdXJyZW50LnN0YXJ0VGltZSA/IHByZXYgOiBjdXJyZW50KVxuICAgICk7XG4gICAgY29uc3QgbGFzdEFwaVJlcXVlc3RFbnRyeTogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyA9IGVudHJpZXMucmVkdWNlKFxuICAgICAgKHByZXYsIGN1cnJlbnQpID0+XG4gICAgICAgIHByZXYucmVzcG9uc2VFbmQgPiBjdXJyZW50LnJlc3BvbnNlRW5kID8gcHJldiA6IGN1cnJlbnRcbiAgICApO1xuXG4gICAgcmV0dXJuIE1hdGgucm91bmQoXG4gICAgICBsYXN0QXBpUmVxdWVzdEVudHJ5LnJlc3BvbnNlRW5kIC0gZmlyc3RBcGlSZXF1ZXN0RW50cnkuc3RhcnRUaW1lXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UGF1c2VFdmVudCgpOiBPYnNlcnZhYmxlPFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc+IHtcbiAgICByZXR1cm4gdGhpcy5lbnRyaWVzU3ViamVjdC5waXBlKFxuICAgICAgZGVib3VuY2UoKCkgPT4gaW50ZXJ2YWwodGhpcy5wYXVzZVRpbWUpKSxcbiAgICAgIGZpbHRlcigoKSA9PiB0aGlzLmlzWGhyQWN0aW9uU3RhcnRlZClcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -1,2 +1,3 @@
1
1
  export const applePayVersion = 3;
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGUtcGF5LmNvbnN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvc2RrLXBheW1lbnQtc3lzdGVtcy9hcHBsZS1wYXkvYXBwbGUtcGF5LmNvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgYXBwbGVQYXlWZXJzaW9uID0gMztcbiJdfQ==
2
+ export const safariVersionForIframeIntegration = 17;
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGUtcGF5LmNvbnN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvc2RrLXBheW1lbnQtc3lzdGVtcy9hcHBsZS1wYXkvYXBwbGUtcGF5LmNvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLENBQUM7QUFDakMsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQUcsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGFwcGxlUGF5VmVyc2lvbiA9IDM7XG5leHBvcnQgY29uc3Qgc2FmYXJpVmVyc2lvbkZvcklmcmFtZUludGVncmF0aW9uID0gMTc7XG4iXX0=