@xsolla/payment-client-core 0.2.11 → 0.2.13

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 (77) hide show
  1. package/esm2020/lib/core/combined-payment-methods/combined-payment-methods.interface.mjs +2 -0
  2. package/esm2020/lib/core/combined-payment-methods/combined-payment-methods.service.mjs +32 -0
  3. package/esm2020/lib/core/extended-window.interface.mjs +1 -1
  4. package/esm2020/lib/core/payment/field-names.enum.mjs +4 -1
  5. package/esm2020/lib/core/payment/form/control-status.interface.mjs +2 -0
  6. package/esm2020/lib/core/payment/initialize/initialize.service.mjs +17 -7
  7. package/esm2020/lib/core/payment/payment.interface.mjs +1 -1
  8. package/esm2020/lib/core/payment/payment.service.mjs +12 -1
  9. package/esm2020/lib/core/payment/status/listen-status/listen-status.service.mjs +16 -4
  10. package/esm2020/lib/core/payment/submit/submit.service.mjs +21 -4
  11. package/esm2020/lib/core/payment/sync/sync.service.mjs +14 -4
  12. package/esm2020/lib/core/payment/xps-api/xps-api.service.mjs +7 -5
  13. package/esm2020/lib/core/payment-methods/payment-methods.service.mjs +4 -1
  14. package/esm2020/lib/core/performance/performance.service.mjs +111 -0
  15. package/esm2020/lib/core/performance/xhr-action.interface.mjs +2 -0
  16. package/esm2020/lib/core/performance/xhr-action.service.mjs +114 -0
  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-behaviour-analytics/event-builder/event-builder.service.mjs +144 -0
  23. package/esm2020/lib/core/user-behaviour-analytics/event-builder/event-parameter-types.mjs +9 -0
  24. package/esm2020/lib/core/user-behaviour-analytics/event-builder/invoice.interface.mjs +2 -0
  25. package/esm2020/lib/core/user-behaviour-analytics/event-builder/purchase.type.mjs +2 -0
  26. package/esm2020/lib/core/user-behaviour-analytics/event-builder/user-behaviour-event.interface.mjs +2 -0
  27. package/esm2020/lib/core/user-behaviour-analytics/one-time-analytics-events.const.mjs +5 -0
  28. package/esm2020/lib/core/user-behaviour-analytics/user-behaviour-analytics.interface.mjs +2 -0
  29. package/esm2020/lib/core/user-behaviour-analytics/user-behaviour-analytics.service.mjs +158 -0
  30. package/esm2020/lib/core/user-behaviour-analytics/user-behaviour-event/user-behaviour-event-categories.mjs +5 -0
  31. package/esm2020/lib/core/user-behaviour-analytics/user-behaviour-event/user-behaviour-event-types.mjs +8 -0
  32. package/esm2020/lib/core/user-behaviour-analytics/user-behaviour-event-name.enum.mjs +8 -0
  33. package/esm2020/lib/core/user-behaviour-analytics/user-session-options.mjs +2 -0
  34. package/esm2020/lib/core-library.service.mjs +17 -21
  35. package/esm2020/public-api.mjs +6 -1
  36. package/fesm2015/xsolla-payment-client-core.mjs +6978 -6356
  37. package/fesm2015/xsolla-payment-client-core.mjs.map +1 -1
  38. package/fesm2020/xsolla-payment-client-core.mjs +6795 -6189
  39. package/fesm2020/xsolla-payment-client-core.mjs.map +1 -1
  40. package/lib/core/combined-payment-methods/combined-payment-methods.interface.d.ts +9 -0
  41. package/lib/core/combined-payment-methods/combined-payment-methods.service.d.ts +12 -0
  42. package/lib/core/extended-window.interface.d.ts +1 -0
  43. package/lib/core/payment/field-names.enum.d.ts +3 -0
  44. package/lib/core/payment/form/control-status.interface.d.ts +7 -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/payment-methods/payment-methods.service.d.ts +2 -0
  53. package/lib/core/performance/performance.service.d.ts +24 -0
  54. package/lib/core/performance/xhr-action.interface.d.ts +8 -0
  55. package/lib/core/performance/xhr-action.service.d.ts +25 -0
  56. package/lib/core/sdk-payment-systems/google-pay/google-pay.service.d.ts +2 -2
  57. package/lib/core/sdk-payment-systems/payment-systems/payment-system-processing.service.d.ts +1 -1
  58. package/lib/core/sdk-payment-systems/sdk-payment-systems.interface.d.ts +0 -16
  59. package/lib/core/settings/configuration.interface.d.ts +0 -1
  60. package/lib/core/settings/settings.service.d.ts +1 -2
  61. package/lib/core/user-behaviour-analytics/event-builder/event-builder.service.d.ts +22 -0
  62. package/lib/core/user-behaviour-analytics/event-builder/event-parameter-types.d.ts +7 -0
  63. package/lib/core/user-behaviour-analytics/event-builder/invoice.interface.d.ts +14 -0
  64. package/lib/core/user-behaviour-analytics/event-builder/purchase.type.d.ts +1 -0
  65. package/lib/core/user-behaviour-analytics/event-builder/user-behaviour-event.interface.d.ts +52 -0
  66. package/lib/core/user-behaviour-analytics/one-time-analytics-events.const.d.ts +1 -0
  67. package/lib/core/user-behaviour-analytics/user-behaviour-analytics.interface.d.ts +36 -0
  68. package/lib/core/user-behaviour-analytics/user-behaviour-analytics.service.d.ts +43 -0
  69. package/lib/core/user-behaviour-analytics/user-behaviour-event/user-behaviour-event-categories.d.ts +4 -0
  70. package/lib/core/user-behaviour-analytics/user-behaviour-event/user-behaviour-event-types.d.ts +7 -0
  71. package/lib/core/user-behaviour-analytics/user-behaviour-event-name.enum.d.ts +6 -0
  72. package/lib/core/user-behaviour-analytics/user-session-options.d.ts +15 -0
  73. package/lib/core-library.service.d.ts +12 -5
  74. package/package.json +1 -1
  75. package/public-api.d.ts +5 -0
  76. package/xsolla-payment-client-core-0.2.13.tgz +0 -0
  77. package/xsolla-payment-client-core-0.2.11.tgz +0 -0
@@ -0,0 +1,144 @@
1
+ import { Inject, Injectable, isDevMode } from '@angular/core';
2
+ import { EventParameterType } from './event-parameter-types';
3
+ import { Device } from '../../user-agent/device.enum';
4
+ import { windowToken } from '../../window.token';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../settings/settings.service";
7
+ import * as i2 from "../../user-agent/user-agent.service";
8
+ export class EventBuilderService {
9
+ constructor(settingsService, userAgentService, window) {
10
+ this.settingsService = settingsService;
11
+ this.userAgentService = userAgentService;
12
+ this.window = window;
13
+ }
14
+ createEvent(options, userSessionOptions) {
15
+ return {
16
+ action: options.action,
17
+ type: options.type,
18
+ value: this.convertToEventParameterType(options.value, options.valueType ?? EventParameterType.string),
19
+ state: options.state,
20
+ date: this.getDate(options.date),
21
+ milliseconds: options.date.getTime(),
22
+ timezone: this.getTimezone(options.date),
23
+ session_id: this.settingsService.unsafeUtilsResponse?.user?.session_id ?? null,
24
+ referrer_url: this.window?.document?.referrer,
25
+ project_id: this.convertToEventParameterType(this.settingsService.unsafeUtilsResponse?.project?.id, EventParameterType.int),
26
+ payment_country: this.convertToEventParameterType(options.invoice?.payment_country ??
27
+ this.settingsService.unsafeUtilsResponse?.user?.country?.value, EventParameterType.string),
28
+ geotype_id: this.convertToEventParameterType(options.invoice?.geotype_id, EventParameterType.int),
29
+ instance_id: this.convertToEventParameterType(options.instanceId ??
30
+ this.getPaymentMethodId(userSessionOptions.instanceId), EventParameterType.int),
31
+ payment_method_contr_id: this.convertToEventParameterType(options.invoice?.payment_method_contr_id, EventParameterType.int),
32
+ ps_type: this.convertToEventParameterType(options.invoice?.ps_type, EventParameterType.int),
33
+ is_pay_with_saved_method: this.convertToEventParameterType(userSessionOptions.isPayWithSavedMethod, EventParameterType.bool),
34
+ purchase_invoice_id: this.convertToEventParameterType(options.invoice?.purchase_invoice_id, EventParameterType.int),
35
+ purchase_external_id: this.convertToEventParameterType(this.settingsService.unsafeUtilsResponse?.purchase_external_id, EventParameterType.string),
36
+ purchase_type: this.settingsService.unsafeUtilsResponse?.purchase
37
+ ?.purchase_type,
38
+ purchase_sum: this.convertToEventParameterType(options.invoice?.purchase_sum, EventParameterType.float),
39
+ purchase_currency: this.convertToEventParameterType(options.invoice?.purchase_currency, EventParameterType.string),
40
+ purchase_sku: this.convertToEventParameterType(options.invoice?.purchase_sku, EventParameterType.string),
41
+ purchase_digital_content_sku: null,
42
+ purchase_description: this.convertToEventParameterType(options.invoice?.purchase_description, EventParameterType.string),
43
+ virtual_currency_amount: null,
44
+ digital_content_cart_id: this.convertToEventParameterType(options.invoice?.digital_content_cart_id, EventParameterType.int),
45
+ digital_good_cart_id: this.convertToEventParameterType(options.invoice?.digital_good_cart_id, EventParameterType.int),
46
+ coupon_code: this.convertToEventParameterType(userSessionOptions.couponCode, EventParameterType.string),
47
+ theme_version: this.userAgentService.isMobileDevice
48
+ ? Device.mobile
49
+ : Device.desktop,
50
+ subscription_package_id: this.convertToEventParameterType(userSessionOptions.subscriptionPackageId, EventParameterType.int),
51
+ subscription_product_id: this.convertToEventParameterType(userSessionOptions.subscriptionProductId, EventParameterType.int),
52
+ subscription_recurrent_id: this.convertToEventParameterType(userSessionOptions.subscriptionRecurrentId, EventParameterType.int),
53
+ user_id: this.convertToEventParameterType(this.settingsService.unsafeUtilsResponse?.user?.requisites?.id, EventParameterType.string),
54
+ user_access_token: this.settingsService.token,
55
+ user_name: this.convertToEventParameterType(this.settingsService.unsafeUtilsResponse?.user?.requisites?.v2, EventParameterType.string),
56
+ user_email: this.convertToEventParameterType(this.settingsService.unsafeUtilsResponse?.user?.email?.value, EventParameterType.string),
57
+ user_country: this.convertToEventParameterType(this.settingsService.unsafeUtilsResponse?.user?.country?.value, EventParameterType.string),
58
+ user_ip: this.convertToEventParameterType(this.settingsService.unsafeUtilsResponse?.user?.ip, EventParameterType.string),
59
+ user_mobile_operator_name: this.convertToEventParameterType(userSessionOptions.userMobileOperatorName, EventParameterType.string),
60
+ user_operation_system: this.userAgentService.platform,
61
+ user_browser: this.userAgentService.browserDescription,
62
+ user_browser_version: this.userAgentService.browserVersion,
63
+ user_locale: this.convertToEventParameterType(this.settingsService.unsafeUtilsResponse?.user?.local, EventParameterType.string),
64
+ user_utm: this.convertToEventParameterType(this.settingsService.unsafeUtilsResponse?.user?.utm_parameters, EventParameterType.string),
65
+ xsolla_product_tag: this.convertToEventParameterType(this.settingsService.unsafeUtilsResponse?.xsolla_product_tag, EventParameterType.string),
66
+ experiment_id: null,
67
+ is_test_session: +isDevMode(),
68
+ babka_value: null,
69
+ extra_value: this.convertToEventParameterType(options?.extraValue, EventParameterType.string),
70
+ is_subscription: this.convertToEventParameterType(this.isSubscription(), EventParameterType.bool),
71
+ is_iframe: this.convertToEventParameterType(this.window.parent !== this.window, EventParameterType.bool),
72
+ web3wallet: null,
73
+ dimension_1: this.convertToEventParameterType(options?.dimension1, EventParameterType.string),
74
+ dimension_2: this.convertToEventParameterType(options?.dimension2, EventParameterType.string),
75
+ dimension_3: this.convertToEventParameterType(options?.dimension3, EventParameterType.string),
76
+ dimension_4: this.convertToEventParameterType(options?.dimension4, EventParameterType.string),
77
+ dimension_5: this.convertToEventParameterType(options?.dimension5, EventParameterType.string),
78
+ client_version: 'Headless Checkout',
79
+ };
80
+ }
81
+ getDate(date) {
82
+ const nullIndex = 0;
83
+ return date.toISOString().replace('T', ' ').replace('Z', '').split('.')[nullIndex];
84
+ }
85
+ getTimezone(date) {
86
+ const hour = 60;
87
+ const nullHour = 0;
88
+ const hourOffset = -date.getTimezoneOffset() / hour;
89
+ if (hourOffset === nullHour) {
90
+ return '0';
91
+ }
92
+ return hourOffset > nullHour ? `+${hourOffset}` : hourOffset.toString();
93
+ }
94
+ convertToEventParameterType(value, type
95
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
96
+ ) {
97
+ if (value === null || value === undefined) {
98
+ return null;
99
+ }
100
+ if (typeof value === 'boolean') {
101
+ value = value ? 1 : 0;
102
+ }
103
+ switch (type) {
104
+ case EventParameterType.string:
105
+ return String(value);
106
+ case EventParameterType.int:
107
+ value = parseInt(String(value), 10);
108
+ return isNaN(value) ? 0 : value;
109
+ case EventParameterType.intArray:
110
+ return Array.isArray(value) ? value : [];
111
+ case EventParameterType.float:
112
+ value = parseFloat(String(value));
113
+ return isNaN(value) ? 0 : value;
114
+ case EventParameterType.bool:
115
+ return value ? 1 : 0;
116
+ }
117
+ }
118
+ convertValueForPostMessage(value) {
119
+ if (value === null || value === undefined) {
120
+ return null;
121
+ }
122
+ return String(value);
123
+ }
124
+ isSubscription() {
125
+ return (this.settingsService.unsafeUtilsResponse?.purchase?.purchase_type ===
126
+ 'subscription');
127
+ }
128
+ getPaymentMethodId(instanceId) {
129
+ return (this.settingsService.unsafeUtilsResponse?.settings?.payment_system ??
130
+ instanceId);
131
+ }
132
+ }
133
+ EventBuilderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: EventBuilderService, deps: [{ token: i1.SettingsService }, { token: i2.UserAgentService }, { token: windowToken }], target: i0.ɵɵFactoryTarget.Injectable });
134
+ EventBuilderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: EventBuilderService, providedIn: 'root' });
135
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: EventBuilderService, decorators: [{
136
+ type: Injectable,
137
+ args: [{
138
+ providedIn: 'root',
139
+ }]
140
+ }], ctorParameters: function () { return [{ type: i1.SettingsService }, { type: i2.UserAgentService }, { type: undefined, decorators: [{
141
+ type: Inject,
142
+ args: [windowToken]
143
+ }] }]; } });
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtYnVpbGRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzL2V2ZW50LWJ1aWxkZXIvZXZlbnQtYnVpbGRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQU83RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7O0FBTWpELE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsWUFDbUIsZUFBZ0MsRUFDaEMsZ0JBQWtDLEVBRWxDLE1BQXNCO1FBSHRCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBRWxDLFdBQU0sR0FBTixNQUFNLENBQWdCO0lBQ3RDLENBQUM7SUFFRyxXQUFXLENBQ2hCLE9BQTBDLEVBQzFDLGtCQUFzQztRQUV0QyxPQUFPO1lBQ0wsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO1lBQ3RCLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtZQUNsQixLQUFLLEVBQUUsSUFBSSxDQUFDLDJCQUEyQixDQUNyQyxPQUFPLENBQUMsS0FBSyxFQUNiLE9BQU8sQ0FBQyxTQUFTLElBQUksa0JBQWtCLENBQUMsTUFBTSxDQUMvQztZQUNELEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSztZQUNwQixJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQ2hDLFlBQVksRUFBRSxPQUFP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aXNEZXZNb2RlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFdmVudFBhcmFtZXRlclR5cGUgfSBmcm9tICcuL2V2ZW50LXBhcmFtZXRlci10eXBlcyc7XG5pbXBvcnQgeyBVc2VyQmVoYXZpb3VyRXZlbnQgfSBmcm9tICcuL3VzZXItYmVoYXZpb3VyLWV2ZW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBQdXJjaGFzZSB9IGZyb20gJy4vcHVyY2hhc2UudHlwZSc7XG5pbXBvcnQgeyBDcmVhdGVFdmVudE1ldGhvZE9wdGlvbnNJbnRlcmZhY2UgfSBmcm9tICcuLi91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNldHRpbmdzU2VydmljZSB9IGZyb20gJy4uLy4uL3NldHRpbmdzL3NldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlckFnZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3VzZXItYWdlbnQvdXNlci1hZ2VudC5zZXJ2aWNlJztcbmltcG9ydCB7IEV4dGVuZGVkV2luZG93IH0gZnJvbSAnLi4vLi4vZXh0ZW5kZWQtd2luZG93LmludGVyZmFjZSc7XG5pbXBvcnQgeyBEZXZpY2UgfSBmcm9tICcuLi8uLi91c2VyLWFnZW50L2RldmljZS5lbnVtJztcbmltcG9ydCB7IHdpbmRvd1Rva2VuIH0gZnJvbSAnLi4vLi4vd2luZG93LnRva2VuJztcbmltcG9ydCB7IFVzZXJTZXNzaW9uT3B0aW9ucyB9IGZyb20gJy4uL3VzZXItc2Vzc2lvbi1vcHRpb25zJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEV2ZW50QnVpbGRlclNlcnZpY2Uge1xuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXR0aW5nc1NlcnZpY2U6IFNldHRpbmdzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJBZ2VudFNlcnZpY2U6IFVzZXJBZ2VudFNlcnZpY2UsXG4gICAgQEluamVjdCh3aW5kb3dUb2tlbilcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdpbmRvdzogRXh0ZW5kZWRXaW5kb3dcbiAgKSB7fVxuXG4gIHB1YmxpYyBjcmVhdGVFdmVudChcbiAgICBvcHRpb25zOiBDcmVhdGVFdmVudE1ldGhvZE9wdGlvbnNJbnRlcmZhY2UsXG4gICAgdXNlclNlc3Npb25PcHRpb25zOiBVc2VyU2Vzc2lvbk9wdGlvbnNcbiAgKTogVXNlckJlaGF2aW91ckV2ZW50IHtcbiAgICByZXR1cm4ge1xuICAgICAgYWN0aW9uOiBvcHRpb25zLmFjdGlvbixcbiAgICAgIHR5cGU6IG9wdGlvbnMudHlwZSxcbiAgICAgIHZhbHVlOiB0aGlzLmNvbnZlcnRUb0V2ZW50UGFyYW1ldGVyVHlwZShcbiAgICAgICAgb3B0aW9ucy52YWx1ZSxcbiAgICAgICAgb3B0aW9ucy52YWx1ZVR5cGUgPz8gRXZlbnRQYXJhbWV0ZXJUeXBlLnN0cmluZ1xuICAgICAgKSxcbiAgICAgIHN0YXRlOiBvcHRpb25zLnN0YXRlLFxuICAgICAgZGF0ZTogdGhpcy5nZXREYXRlKG9wdGlvbnMuZGF0ZSksXG4gICAgICBtaWxsaXNlY29uZHM6IG9wdGlvbnMuZGF0ZS5nZXRUaW1lKCksXG4gICAgICB0aW1lem9uZTogdGhpcy5nZXRUaW1lem9uZShvcHRpb25zLmRhdGUpLFxuICAgICAgc2Vzc2lvbl9pZDpcbiAgICAgICAgdGhpcy5zZXR0aW5nc1NlcnZpY2UudW5zYWZlVXRpbHNSZXNwb25zZT8udXNlcj8uc2Vzc2lvbl9pZCA/PyBudWxsLFxuICAgICAgcmVmZXJyZXJfdXJsOiB0aGlzLndpbmRvdz8uZG9jdW1lbnQ/LnJlZmVycmVyLFxuICAgICAgcHJvamVjdF9pZDogdGhpcy5jb252ZXJ0VG9FdmVudFBhcmFtZXRlclR5cGUoXG4gICAgICAgIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnVuc2FmZVV0aWxzUmVzcG9uc2U/LnByb2plY3Q/LmlkLFxuICAgICAgICBFdmVudFBhcmFtZXRlclR5cGUuaW50XG4gICAgICApLFxuICAgICAgcGF5bWVudF9jb3VudHJ5OiB0aGlzLmNvbnZlcnRUb0V2ZW50UGFyYW1ldGVyVHlwZShcbiAgICAgICAgb3B0aW9ucy5pbnZvaWNlPy5wYXltZW50X2NvdW50cnkgPz9cbiAgICAgICAgICB0aGlzLnNldHRpbmdzU2VydmljZS51bnNhZmVVdGlsc1Jlc3BvbnNlPy51c2VyPy5jb3VudHJ5Py52YWx1ZSxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLnN0cmluZ1xuICAgICAgKSxcbiAgICAgIGdlb3R5cGVfaWQ6IHRoaXMuY29udmVydFRvRXZlbnRQYXJhbWV0ZXJUeXBlKFxuICAgICAgICBvcHRpb25zLmludm9pY2U/Lmdlb3R5cGVfaWQsXG4gICAgICAgIEV2ZW50UGFyYW1ldGVyVHlwZS5pbnRcbiAgICAgICksXG4gICAgICBpbnN0YW5jZV9pZDogdGhpcy5jb252ZXJ0VG9FdmVudFBhcmFtZXRlclR5cGUoXG4gICAgICAgIG9wdGlvbnMuaW5zdGFuY2VJZCA/P1xuICAgICAgICAgIHRoaXMuZ2V0UGF5bWVudE1ldGhvZElkKHVzZXJTZXNzaW9uT3B0aW9ucy5pbnN0YW5jZUlkKSxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLmludFxuICAgICAgKSxcbiAgICAgIHBheW1lbnRfbWV0aG9kX2NvbnRyX2lkOiB0aGlzLmNvbnZlcnRUb0V2ZW50UGFyYW1ldGVyVHlwZShcbiAgICAgICAgb3B0aW9ucy5pbnZvaWNlPy5wYXltZW50X21ldGhvZF9jb250cl9pZCxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLmludFxuICAgICAgKSxcbiAgICAgIHBzX3R5cGU6IHRoaXMuY29udmVydFRvRXZlbnRQYXJhbWV0ZXJUeXBlKFxuICAgICAgICBvcHRpb25zLmludm9pY2U/LnBzX3R5cGUsXG4gICAgICAgIEV2ZW50UGFyYW1ldGVyVHlwZS5pbnRcbiAgICAgICksXG4gICAgICBpc19wYXlfd2l0aF9zYXZlZF9tZXRob2Q6IHRoaXMuY29udmVydFRvRXZlbnRQYXJhbWV0ZXJUeXBlKFxuICAgICAgICB1c2VyU2Vzc2lvbk9wdGlvbnMuaXNQYXlXaXRoU2F2ZWRNZXRob2QsXG4gICAgICAgIEV2ZW50UGFyYW1ldGVyVHlwZS5ib29sXG4gICAgICApLFxuICAgICAgcHVyY2hhc2VfaW52b2ljZV9pZDogdGhpcy5jb252ZXJ0VG9FdmVudFBhcmFtZXRlclR5cGUoXG4gICAgICAgIG9wdGlvbnMuaW52b2ljZT8ucHVyY2hhc2VfaW52b2ljZV9pZCxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLmludFxuICAgICAgKSxcbiAgICAgIHB1cmNoYXNlX2V4dGVybmFsX2lkOiB0aGlzLmNvbnZlcnRUb0V2ZW50UGFyYW1ldGVyVHlwZShcbiAgICAgICAgdGhpcy5zZXR0aW5nc1NlcnZpY2UudW5zYWZlVXRpbHNSZXNwb25zZT8ucHVyY2hhc2VfZXh0ZXJuYWxfaWQsXG4gICAgICAgIEV2ZW50UGFyYW1ldGVyVHlwZS5zdHJpbmdcbiAgICAgICksXG4gICAgICBwdXJjaGFzZV90eXBlOiB0aGlzLnNldHRpbmdzU2VydmljZS51bnNhZmVVdGlsc1Jlc3BvbnNlPy5wdXJjaGFzZVxuICAgICAgICA/LnB1cmNoYXNlX3R5cGUgYXMgUHVyY2hhc2UsXG4gICAgICBwdXJjaGFzZV9zdW06IHRoaXMuY29udmVydFRvRXZlbnRQYXJhbWV0ZXJUeXBlKFxuICAgICAgICBvcHRpb25zLmludm9pY2U/LnB1cmNoYXNlX3N1bSxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLmZsb2F0XG4gICAgICApLFxuICAgICAgcHVyY2hhc2VfY3VycmVuY3k6IHRoaXMuY29udmVydFRvRXZlbnRQYXJhbWV0ZXJUeXBlKFxuICAgICAgICBvcHRpb25zLmludm9pY2U/LnB1cmNoYXNlX2N1cnJlbmN5LFxuICAgICAgICBFdmVudFBhcmFtZXRlclR5cGUuc3RyaW5nXG4gICAgICApLFxuICAgICAgcHVyY2hhc2Vfc2t1OiB0aGlzLmNvbnZlcnRUb0V2ZW50UGFyYW1ldGVyVHlwZShcbiAgICAgICAgb3B0aW9ucy5pbnZvaWNlPy5wdXJjaGFzZV9za3UsXG4gICAgICAgIEV2ZW50UGFyYW1ldGVyVHlwZS5zdHJpbmdcbiAgICAgICksXG4gICAgICBwdXJjaGFzZV9kaWdpdGFsX2NvbnRlbnRfc2t1OiBudWxsLFxuICAgICAgcHVyY2hhc2VfZGVzY3JpcHRpb246IHRoaXMuY29udmVydFRvRXZlbnRQYXJhbWV0ZXJUeXBlKFxuICAgICAgICBvcHRpb25zLmludm9pY2U/LnB1cmNoYXNlX2Rlc2NyaXB0aW9uLFxuICAgICAgICBFdmVudFBhcmFtZXRlclR5cGUuc3RyaW5nXG4gICAgICApLFxuICAgICAgdmlydHVhbF9jdXJyZW5jeV9hbW91bnQ6IG51bGwsIC8vIFRPRE86IGFkZCB2YWx1ZVxuICAgICAgZGlnaXRhbF9jb250ZW50X2NhcnRfaWQ6IHRoaXMuY29udmVydFRvRXZlbnRQYXJhbWV0ZXJUeXBlKFxuICAgICAgICBvcHRpb25zLmludm9pY2U/LmRpZ2l0YWxfY29udGVudF9jYXJ0X2lkLFxuICAgICAgICBFdmVudFBhcmFtZXRlclR5cGUuaW50XG4gICAgICApLFxuICAgICAgZGlnaXRhbF9nb29kX2NhcnRfaWQ6IHRoaXMuY29udmVydFRvRXZlbnRQYXJhbWV0ZXJUeXBlKFxuICAgICAgICBvcHRpb25zLmludm9pY2U/LmRpZ2l0YWxfZ29vZF9jYXJ0X2lkLFxuICAgICAgICBFdmVudFBhcmFtZXRlclR5cGUuaW50XG4gICAgICApLFxuICAgICAgY291cG9uX2NvZGU6IHRoaXMuY29udmVydFRvRXZlbnRQYXJhbWV0ZXJUeXBlKFxuICAgICAgICB1c2VyU2Vzc2lvbk9wdGlvbnMuY291cG9uQ29kZSxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLnN0cmluZ1xuICAgICAgKSxcbiAgICAgIHRoZW1lX3ZlcnNpb246IHRoaXMudXNlckFnZW50U2VydmljZS5pc01vYmlsZURldmljZVxuICAgICAgICA/IERldmljZS5tb2JpbGVcbiAgICAgICAgOiBEZXZpY2UuZGVza3RvcCxcbiAgICAgIHN1YnNjcmlwdGlvbl9wYWNrYWdlX2lkOiB0aGlzLmNvbnZlcnRUb0V2ZW50UGFyYW1ldGVyVHlwZShcbiAgICAgICAgdXNlclNlc3Npb25PcHRpb25zLnN1YnNjcmlwdGlvblBhY2thZ2VJZCxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLmludFxuICAgICAgKSxcbiAgICAgIHN1YnNjcmlwdGlvbl9wcm9kdWN0X2lkOiB0aGlzLmNvbnZlcnRUb0V2ZW50UGFyYW1ldGVyVHlwZShcbiAgICAgICAgdXNlclNlc3Npb25PcHRpb25zLnN1YnNjcmlwdGlvblByb2R1Y3RJZCxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLmludFxuICAgICAgKSxcbiAgICAgIHN1YnNjcmlwdGlvbl9yZWN1cnJlbnRfaWQ6IHRoaXMuY29udmVydFRvRXZlbnRQYXJhbWV0ZXJUeXBlKFxuICAgICAgICB1c2VyU2Vzc2lvbk9wdGlvbnMuc3Vic2NyaXB0aW9uUmVjdXJyZW50SWQsXG4gICAgICAgIEV2ZW50UGFyYW1ldGVyVHlwZS5pbnRcbiAgICAgICksXG4gICAgICB1c2VyX2lkOiB0aGlzLmNvbnZlcnRUb0V2ZW50UGFyYW1ldGVyVHlwZShcbiAgICAgICAgdGhpcy5zZXR0aW5nc1NlcnZpY2UudW5zYWZlVXRpbHNSZXNwb25zZT8udXNlcj8ucmVxdWlzaXRlcz8uaWQsXG4gICAgICAgIEV2ZW50UGFyYW1ldGVyVHlwZS5zdHJpbmdcbiAgICAgICksXG4gICAgICB1c2VyX2FjY2Vzc190b2tlbjogdGhpcy5zZXR0aW5nc1NlcnZpY2UudG9rZW4sXG4gICAgICB1c2VyX25hbWU6IHRoaXMuY29udmVydFRvRXZlbnRQYXJhbWV0ZXJUeXBlKFxuICAgICAgICB0aGlzLnNldHRpbmdzU2VydmljZS51bnNhZmVVdGlsc1Jlc3BvbnNlPy51c2VyPy5yZXF1aXNpdGVzPy52MixcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLnN0cmluZ1xuICAgICAgKSxcbiAgICAgIHVzZXJfZW1haWw6IHRoaXMuY29udmVydFRvRXZlbnRQYXJhbWV0ZXJUeXBlKFxuICAgICAgICB0aGlzLnNldHRpbmdzU2VydmljZS51bnNhZmVVdGlsc1Jlc3BvbnNlPy51c2VyPy5lbWFpbD8udmFsdWUsXG4gICAgICAgIEV2ZW50UGFyYW1ldGVyVHlwZS5zdHJpbmdcbiAgICAgICksXG4gICAgICB1c2VyX2NvdW50cnk6IHRoaXMuY29udmVydFRvRXZlbnRQYXJhbWV0ZXJUeXBlKFxuICAgICAgICB0aGlzLnNldHRpbmdzU2VydmljZS51bnNhZmVVdGlsc1Jlc3BvbnNlPy51c2VyPy5jb3VudHJ5Py52YWx1ZSxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLnN0cmluZ1xuICAgICAgKSxcbiAgICAgIHVzZXJfaXA6IHRoaXMuY29udmVydFRvRXZlbnRQYXJhbWV0ZXJUeXBlKFxuICAgICAgICB0aGlzLnNldHRpbmdzU2VydmljZS51bnNhZmVVdGlsc1Jlc3BvbnNlPy51c2VyPy5pcCxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLnN0cmluZ1xuICAgICAgKSxcbiAgICAgIHVzZXJfbW9iaWxlX29wZXJhdG9yX25hbWU6IHRoaXMuY29udmVydFRvRXZlbnRQYXJhbWV0ZXJUeXBlKFxuICAgICAgICB1c2VyU2Vzc2lvbk9wdGlvbnMudXNlck1vYmlsZU9wZXJhdG9yTmFtZSxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLnN0cmluZ1xuICAgICAgKSxcbiAgICAgIHVzZXJfb3BlcmF0aW9uX3N5c3RlbTogdGhpcy51c2VyQWdlbnRTZXJ2aWNlLnBsYXRmb3JtLFxuICAgICAgdXNlcl9icm93c2VyOiB0aGlzLnVzZXJBZ2VudFNlcnZpY2UuYnJvd3NlckRlc2NyaXB0aW9uLFxuICAgICAgdXNlcl9icm93c2VyX3ZlcnNpb246IHRoaXMudXNlckFnZW50U2VydmljZS5icm93c2VyVmVyc2lvbixcbiAgICAgIHVzZXJfbG9jYWxlOiB0aGlzLmNvbnZlcnRUb0V2ZW50UGFyYW1ldGVyVHlwZShcbiAgICAgICAgdGhpcy5zZXR0aW5nc1NlcnZpY2UudW5zYWZlVXRpbHNSZXNwb25zZT8udXNlcj8ubG9jYWwsXG4gICAgICAgIEV2ZW50UGFyYW1ldGVyVHlwZS5zdHJpbmdcbiAgICAgICksXG4gICAgICB1c2VyX3V0bTogdGhpcy5jb252ZXJ0VG9FdmVudFBhcmFtZXRlclR5cGUoXG4gICAgICAgIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnVuc2FmZVV0aWxzUmVzcG9uc2U/LnVzZXI/LnV0bV9wYXJhbWV0ZXJzLFxuICAgICAgICBFdmVudFBhcmFtZXRlclR5cGUuc3RyaW5nXG4gICAgICApLFxuICAgICAgeHNvbGxhX3Byb2R1Y3RfdGFnOiB0aGlzLmNvbnZlcnRUb0V2ZW50UGFyYW1ldGVyVHlwZShcbiAgICAgICAgdGhpcy5zZXR0aW5nc1NlcnZpY2UudW5zYWZlVXRpbHNSZXNwb25zZT8ueHNvbGxhX3Byb2R1Y3RfdGFnLFxuICAgICAgICBFdmVudFBhcmFtZXRlclR5cGUuc3RyaW5nXG4gICAgICApLFxuICAgICAgZXhwZXJpbWVudF9pZDogbnVsbCxcbiAgICAgIGlzX3Rlc3Rfc2Vzc2lvbjogK2lzRGV2TW9kZSgpLFxuICAgICAgYmFia2FfdmFsdWU6IG51bGwsXG4gICAgICBleHRyYV92YWx1ZTogdGhpcy5jb252ZXJ0VG9FdmVudFBhcmFtZXRlclR5cGUoXG4gICAgICAgIG9wdGlvbnM/LmV4dHJhVmFsdWUsXG4gICAgICAgIEV2ZW50UGFyYW1ldGVyVHlwZS5zdHJpbmdcbiAgICAgICksXG4gICAgICBpc19zdWJzY3JpcHRpb246IHRoaXMuY29udmVydFRvRXZlbnRQYXJhbWV0ZXJUeXBlKFxuICAgICAgICB0aGlzLmlzU3Vic2NyaXB0aW9uKCksXG4gICAgICAgIEV2ZW50UGFyYW1ldGVyVHlwZS5ib29sXG4gICAgICApLFxuICAgICAgaXNfaWZyYW1lOiB0aGlzLmNvbnZlcnRUb0V2ZW50UGFyYW1ldGVyVHlwZShcbiAgICAgICAgdGhpcy53aW5kb3cucGFyZW50ICE9PSB0aGlzLndpbmRvdyxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLmJvb2xcbiAgICAgICksXG4gICAgICB3ZWIzd2FsbGV0OiBudWxsLCAvLyBUT0RPOiBhZGQgdmFsdWVcbiAgICAgIGRpbWVuc2lvbl8xOiB0aGlzLmNvbnZlcnRUb0V2ZW50UGFyYW1ldGVyVHlwZShcbiAgICAgICAgb3B0aW9ucz8uZGltZW5zaW9uMSxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLnN0cmluZ1xuICAgICAgKSxcbiAgICAgIGRpbWVuc2lvbl8yOiB0aGlzLmNvbnZlcnRUb0V2ZW50UGFyYW1ldGVyVHlwZShcbiAgICAgICAgb3B0aW9ucz8uZGltZW5zaW9uMixcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLnN0cmluZ1xuICAgICAgKSxcbiAgICAgIGRpbWVuc2lvbl8zOiB0aGlzLmNvbnZlcnRUb0V2ZW50UGFyYW1ldGVyVHlwZShcbiAgICAgICAgb3B0aW9ucz8uZGltZW5zaW9uMyxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLnN0cmluZ1xuICAgICAgKSxcbiAgICAgIGRpbWVuc2lvbl80OiB0aGlzLmNvbnZlcnRUb0V2ZW50UGFyYW1ldGVyVHlwZShcbiAgICAgICAgb3B0aW9ucz8uZGltZW5zaW9uNCxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLnN0cmluZ1xuICAgICAgKSxcbiAgICAgIGRpbWVuc2lvbl81OiB0aGlzLmNvbnZlcnRUb0V2ZW50UGFyYW1ldGVyVHlwZShcbiAgICAgICAgb3B0aW9ucz8uZGltZW5zaW9uNSxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLnN0cmluZ1xuICAgICAgKSxcbiAgICAgIGNsaWVudF92ZXJzaW9uOiAnSGVhZGxlc3MgQ2hlY2tvdXQnLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldERhdGUoZGF0ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgY29uc3QgbnVsbEluZGV4ID0gMDtcbiAgICByZXR1cm4gZGF0ZS50b0lTT1N0cmluZygpLnJlcGxhY2UoJ1QnLCAnICcpLnJlcGxhY2UoJ1onLCAnJykuc3BsaXQoJy4nKVtcbiAgICAgIG51bGxJbmRleFxuICAgIF07XG4gIH1cblxuICBwcml2YXRlIGdldFRpbWV6b25lKGRhdGU6IERhdGUpOiBzdHJpbmcge1xuICAgIGNvbnN0IGhvdXIgPSA2MDtcbiAgICBjb25zdCBudWxsSG91ciA9IDA7XG4gICAgY29uc3QgaG91ck9mZnNldCA9IC1kYXRlLmdldFRpbWV6b25lT2Zmc2V0KCkgLyBob3VyO1xuXG4gICAgaWYgKGhvdXJPZmZzZXQgPT09IG51bGxIb3VyKSB7XG4gICAgICByZXR1cm4gJzAnO1xuICAgIH1cblxuICAgIHJldHVybiBob3VyT2Zmc2V0ID4gbnVsbEhvdXIgPyBgKyR7aG91ck9mZnNldH1gIDogaG91ck9mZnNldC50b1N0cmluZygpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb252ZXJ0VG9FdmVudFBhcmFtZXRlclR5cGUoXG4gICAgdmFsdWU6IGJvb2xlYW4gfCBudW1iZXIgfCBudW1iZXJbXSB8IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQsXG4gICAgdHlwZTogRXZlbnRQYXJhbWV0ZXJUeXBlXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgKTogYW55IHwgbnVsbCB7XG4gICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJykge1xuICAgICAgdmFsdWUgPSB2YWx1ZSA/IDEgOiAwO1xuICAgIH1cblxuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSBFdmVudFBhcmFtZXRlclR5cGUuc3RyaW5nOlxuICAgICAgICByZXR1cm4gU3RyaW5nKHZhbHVlKTtcbiAgICAgIGNhc2UgRXZlbnRQYXJhbWV0ZXJUeXBlLmludDpcbiAgICAgICAgdmFsdWUgPSBwYXJzZUludChTdHJpbmcodmFsdWUpLCAxMCk7XG4gICAgICAgIHJldHVybiBpc05hTih2YWx1ZSkgPyAwIDogdmFsdWU7XG4gICAgICBjYXNlIEV2ZW50UGFyYW1ldGVyVHlwZS5pbnRBcnJheTpcbiAgICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbXTtcbiAgICAgIGNhc2UgRXZlbnRQYXJhbWV0ZXJUeXBlLmZsb2F0OlxuICAgICAgICB2YWx1ZSA9IHBhcnNlRmxvYXQoU3RyaW5nKHZhbHVlKSk7XG4gICAgICAgIHJldHVybiBpc05hTih2YWx1ZSkgPyAwIDogdmFsdWU7XG4gICAgICBjYXNlIEV2ZW50UGFyYW1ldGVyVHlwZS5ib29sOlxuICAgICAgICByZXR1cm4gdmFsdWUgPyAxIDogMDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnRWYWx1ZUZvclBvc3RNZXNzYWdlKFxuICAgIHZhbHVlOiBzdHJpbmcgfCBudW1iZXJbXSB8IG51bGxcbiAgKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gU3RyaW5nKHZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNTdWJzY3JpcHRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnVuc2FmZVV0aWxzUmVzcG9uc2U/LnB1cmNoYXNlPy5wdXJjaGFzZV90eXBlID09PVxuICAgICAgJ3N1YnNjcmlwdGlvbidcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYXltZW50TWV0aG9kSWQoaW5zdGFuY2VJZDogbnVtYmVyIHwgbnVsbCk6IG51bWJlciB8IG51bGwge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnNldHRpbmdzU2VydmljZS51bnNhZmVVdGlsc1Jlc3BvbnNlPy5zZXR0aW5ncz8ucGF5bWVudF9zeXN0ZW0gPz9cbiAgICAgIGluc3RhbmNlSWRcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,9 @@
1
+ export var EventParameterType;
2
+ (function (EventParameterType) {
3
+ EventParameterType["string"] = "0";
4
+ EventParameterType["int"] = "1";
5
+ EventParameterType["float"] = "2";
6
+ EventParameterType["bool"] = "3";
7
+ EventParameterType["intArray"] = "4";
8
+ })(EventParameterType || (EventParameterType = {}));
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtcGFyYW1ldGVyLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzL2V2ZW50LWJ1aWxkZXIvZXZlbnQtcGFyYW1ldGVyLXR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGtCQU1YO0FBTkQsV0FBWSxrQkFBa0I7SUFDNUIsa0NBQVksQ0FBQTtJQUNaLCtCQUFTLENBQUE7SUFDVCxpQ0FBVyxDQUFBO0lBQ1gsZ0NBQVUsQ0FBQTtJQUNWLG9DQUFjLENBQUE7QUFDaEIsQ0FBQyxFQU5XLGtCQUFrQixLQUFsQixrQkFBa0IsUUFNN0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBFdmVudFBhcmFtZXRlclR5cGUge1xuICBzdHJpbmcgPSAnMCcsXG4gIGludCA9ICcxJyxcbiAgZmxvYXQgPSAnMicsXG4gIGJvb2wgPSAnMycsXG4gIGludEFycmF5ID0gJzQnLFxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvZXZlbnQtYnVpbGRlci9pbnZvaWNlLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJbnZvaWNlIHtcbiAgcHVyY2hhc2VfaW52b2ljZV9pZDogbnVtYmVyIHwgbnVsbDtcbiAgZ2VvdHlwZV9pZDogbnVtYmVyIHwgbnVsbDtcbiAgcGF5bWVudF9jb3VudHJ5OiBzdHJpbmcgfCBudWxsO1xuICBwYXltZW50X21ldGhvZF9jb250cl9pZDogbnVtYmVyIHwgbnVsbDtcbiAgcHNfdHlwZTogbnVtYmVyIHwgbnVsbDtcbiAgcHVyY2hhc2Vfc3VtOiBudW1iZXIgfCBudWxsO1xuICBwdXJjaGFzZV9jdXJyZW5jeTogc3RyaW5nIHwgbnVsbDtcbiAgcHVyY2hhc2Vfc2t1OiBzdHJpbmcgfCBudWxsO1xuICBwdXJjaGFzZV9kaWdpdGFsX2NvbnRlbnRfc2t1OiBzdHJpbmcgfCBudWxsO1xuICBwdXJjaGFzZV9kZXNjcmlwdGlvbjogc3RyaW5nIHwgbnVsbDtcbiAgZGlnaXRhbF9jb250ZW50X2NhcnRfaWQ6IG51bWJlciB8IG51bGw7XG4gIGRpZ2l0YWxfZ29vZF9jYXJ0X2lkOiBudW1iZXIgfCBudWxsO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyY2hhc2UudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy9ldmVudC1idWlsZGVyL3B1cmNoYXNlLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFB1cmNoYXNlID1cbiAgfCAndmlydHVhbF9pdGVtJ1xuICB8ICd2aXJ0dWFsX2N1cnJlbmN5J1xuICB8ICdzdWJzY3JpcHRpb24nXG4gIHwgJ3BheTJwbGF5JztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1iZWhhdmlvdXItZXZlbnQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzL2V2ZW50LWJ1aWxkZXIvdXNlci1iZWhhdmlvdXItZXZlbnQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQdXJjaGFzZSB9IGZyb20gJy4vcHVyY2hhc2UudHlwZSc7XG5pbXBvcnQgeyBJbnZvaWNlIH0gZnJvbSAnLi9pbnZvaWNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyB1c2VyQmVoYXZpb3VyRXZlbnRUeXBlcyB9IGZyb20gJy4uL3VzZXItYmVoYXZpb3VyLWV2ZW50L3VzZXItYmVoYXZpb3VyLWV2ZW50LXR5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBVc2VyQmVoYXZpb3VyRXZlbnQgZXh0ZW5kcyBJbnZvaWNlIHtcbiAgYWN0aW9uOiBzdHJpbmc7XG4gIHR5cGU6IGtleW9mIHR5cGVvZiB1c2VyQmVoYXZpb3VyRXZlbnRUeXBlcztcbiAgdmFsdWU6IHN0cmluZyB8IG51bWJlcltdIHwgbnVsbDtcbiAgc3RhdGU6IHN0cmluZyB8IG51bGw7XG4gIGRhdGU6IHN0cmluZztcbiAgbWlsbGlzZWNvbmRzOiBudW1iZXIgfCBudWxsO1xuICB0aW1lem9uZTogc3RyaW5nO1xuICBzZXNzaW9uX2lkOiBzdHJpbmcgfCBudWxsO1xuICByZWZlcnJlcl91cmw6IHN0cmluZyB8IG51bGw7XG4gIHByb2plY3RfaWQ6IG51bWJlciB8IG51bGw7XG4gIHBheW1lbnRfY291bnRyeTogc3RyaW5nIHwgbnVsbDtcbiAgaW5zdGFuY2VfaWQ6IG51bWJlciB8IG51bGw7XG4gIGlzX3BheV93aXRoX3NhdmVkX21ldGhvZDogbnVtYmVyIHwgbnVsbDtcbiAgcHVyY2hhc2VfZXh0ZXJuYWxfaWQ6IHN0cmluZyB8IG51bGw7XG4gIHB1cmNoYXNlX3R5cGU6IFB1cmNoYXNlO1xuICB2aXJ0dWFsX2N1cnJlbmN5X2Ftb3VudDogbnVtYmVyIHwgbnVsbDtcbiAgY291cG9uX2NvZGU6IHN0cmluZyB8IG51bGw7XG4gIHRoZW1lX3ZlcnNpb246IHN0cmluZyB8IG51bGw7XG4gIHN1YnNjcmlwdGlvbl9wYWNrYWdlX2lkOiBudW1iZXIgfCBudWxsO1xuICBzdWJzY3JpcHRpb25fcHJvZHVjdF9pZDogbnVtYmVyIHwgbnVsbDtcbiAgc3Vic2NyaXB0aW9uX3JlY3VycmVudF9pZDogbnVtYmVyIHwgbnVsbDtcbiAgdXNlcl9pZDogc3RyaW5nIHwgbnVsbDtcbiAgdXNlcl9hY2Nlc3NfdG9rZW46IHN0cmluZyB8IG51bGw7XG4gIHVzZXJfbmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgdXNlcl9lbWFpbDogc3RyaW5nIHwgbnVsbDtcbiAgdXNlcl9jb3VudHJ5OiBzdHJpbmcgfCBudWxsO1xuICB1c2VyX2lwOiBzdHJpbmcgfCBudWxsO1xuICB1c2VyX21vYmlsZV9vcGVyYXRvcl9uYW1lOiBzdHJpbmcgfCBudWxsO1xuICB1c2VyX29wZXJhdGlvbl9zeXN0ZW06IHN0cmluZyB8IG51bGw7XG4gIHVzZXJfYnJvd3Nlcjogc3RyaW5nIHwgbnVsbDtcbiAgdXNlcl9icm93c2VyX3ZlcnNpb246IHN0cmluZyB8IG51bGw7XG4gIHVzZXJfbG9jYWxlOiBzdHJpbmcgfCBudWxsO1xuICB1c2VyX3V0bTogc3RyaW5nIHwgbnVsbDtcbiAgeHNvbGxhX3Byb2R1Y3RfdGFnOiBzdHJpbmcgfCBudWxsO1xuICBleHBlcmltZW50X2lkOiBzdHJpbmcgfCBudWxsO1xuICBpc190ZXN0X3Nlc3Npb246IG51bWJlciB8IG51bGw7XG4gIGV4dHJhX3ZhbHVlOiBzdHJpbmcgfCBudWxsO1xuICBiYWJrYV92YWx1ZTogc3RyaW5nIHwgbnVsbDtcbiAgaXNfc3Vic2NyaXB0aW9uOiBudW1iZXIgfCBudWxsO1xuICBpc19pZnJhbWU6IG51bWJlciB8IG51bGw7XG4gIHdlYjN3YWxsZXQ6IHN0cmluZyB8IG51bGw7XG4gIGRpbWVuc2lvbl8xOiBzdHJpbmcgfCBudWxsO1xuICBkaW1lbnNpb25fMjogc3RyaW5nIHwgbnVsbDtcbiAgZGltZW5zaW9uXzM6IHN0cmluZyB8IG51bGw7XG4gIGRpbWVuc2lvbl80OiBzdHJpbmcgfCBudWxsO1xuICBkaW1lbnNpb25fNTogc3RyaW5nIHwgbnVsbDtcbiAgY2xpZW50X3ZlcnNpb246ICdIZWFkbGVzcyBDaGVja291dCc7XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ import { UserBehaviourEventName } from './user-behaviour-event-name.enum';
2
+ export const oneTimeAnalyticsEvents = new Set([
3
+ UserBehaviourEventName.showMethodHeader,
4
+ ]);
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lLXRpbWUtYW5hbHl0aWNzLWV2ZW50cy5jb25zdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy9vbmUtdGltZS1hbmFseXRpY3MtZXZlbnRzLmNvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRTFFLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLElBQUksR0FBRyxDQUFTO0lBQ3BELHNCQUFzQixDQUFDLGdCQUFnQjtDQUN4QyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVc2VyQmVoYXZpb3VyRXZlbnROYW1lIH0gZnJvbSAnLi91c2VyLWJlaGF2aW91ci1ldmVudC1uYW1lLmVudW0nO1xuXG5leHBvcnQgY29uc3Qgb25lVGltZUFuYWx5dGljc0V2ZW50cyA9IG5ldyBTZXQ8c3RyaW5nPihbXG4gIFVzZXJCZWhhdmlvdXJFdmVudE5hbWUuc2hvd01ldGhvZEhlYWRlcixcbl0pO1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1iZWhhdmlvdXItYW5hbHl0aWNzLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBldmVudENhdGVnb3JpZXMgfSBmcm9tICcuL3VzZXItYmVoYXZpb3VyLWV2ZW50L3VzZXItYmVoYXZpb3VyLWV2ZW50LWNhdGVnb3JpZXMnO1xuaW1wb3J0IHsgdXNlckJlaGF2aW91ckV2ZW50VHlwZXMgfSBmcm9tICcuL3VzZXItYmVoYXZpb3VyLWV2ZW50L3VzZXItYmVoYXZpb3VyLWV2ZW50LXR5cGVzJztcbmltcG9ydCB7IEludm9pY2UgfSBmcm9tICcuL2V2ZW50LWJ1aWxkZXIvaW52b2ljZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRXZlbnRQYXJhbWV0ZXJUeXBlIH0gZnJvbSAnLi9ldmVudC1idWlsZGVyL2V2ZW50LXBhcmFtZXRlci10eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VuZEV2ZW50TWV0aG9kT3B0aW9uc0ludGVyZmFjZSB7XG4gIHZhbHVlPzogc3RyaW5nIHwgbnVsbCB8IGJvb2xlYW4gfCBudW1iZXIgfCBudW1iZXJbXTtcbiAgdmFsdWVUeXBlPzogRXZlbnRQYXJhbWV0ZXJUeXBlO1xuICBldmVudENhdGVnb3J5Pzoga2V5b2YgdHlwZW9mIGV2ZW50Q2F0ZWdvcmllcztcbiAgZXh0cmFWYWx1ZT86IHN0cmluZyB8IG51bGw7XG4gIHB1cmNoYXNlVHlwZT86IHN0cmluZyB8IG51bGw7XG4gIGluc3RhbmNlSWQ/OiBudW1iZXIgfCBudWxsO1xuICBkaW1lbnNpb24xPzogc3RyaW5nIHwgbnVsbDtcbiAgZGltZW5zaW9uMj86IHN0cmluZyB8IG51bGw7XG4gIGRpbWVuc2lvbjM/OiBzdHJpbmcgfCBudWxsO1xuICBkaW1lbnNpb240Pzogc3RyaW5nIHwgbnVsbDtcbiAgZGltZW5zaW9uNT86IHN0cmluZyB8IG51bGw7XG4gIHNraXBGb3JFeHRlcm5hbFBhZ2U/OiBib29sZWFuO1xuICBzeW5jUmVxdWVzdD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlRXZlbnRNZXRob2RPcHRpb25zSW50ZXJmYWNlIHtcbiAgYWN0aW9uOiBzdHJpbmc7XG4gIHR5cGU6IGtleW9mIHR5cGVvZiB1c2VyQmVoYXZpb3VyRXZlbnRUeXBlcztcbiAgdmFsdWU6IHN0cmluZyB8IG51bGwgfCBib29sZWFuIHwgbnVtYmVyIHwgbnVtYmVyW107XG4gIHZhbHVlVHlwZTogRXZlbnRQYXJhbWV0ZXJUeXBlIHwgbnVsbDtcbiAgZGF0ZTogRGF0ZTtcbiAgaW52b2ljZTogSW52b2ljZSB8IG51bGw7XG4gIHN0YXRlOiBzdHJpbmc7XG4gIGV4dHJhVmFsdWU6IHN0cmluZyB8IG51bGw7XG4gIHB1cmNoYXNlX3R5cGU6IHN0cmluZyB8IG51bGw7XG4gIGluc3RhbmNlSWQ/OiBudW1iZXIgfCBudWxsO1xuICBkaW1lbnNpb24xOiBzdHJpbmcgfCBudWxsO1xuICBkaW1lbnNpb24yOiBzdHJpbmcgfCBudWxsO1xuICBkaW1lbnNpb24zOiBzdHJpbmcgfCBudWxsO1xuICBkaW1lbnNpb240OiBzdHJpbmcgfCBudWxsO1xuICBkaW1lbnNpb241OiBzdHJpbmcgfCBudWxsO1xufVxuIl19
@@ -0,0 +1,158 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { userBehaviourEventTypes } from './user-behaviour-event/user-behaviour-event-types';
3
+ import { eventCategories } from './user-behaviour-event/user-behaviour-event-categories';
4
+ import { Subject } from 'rxjs';
5
+ import { UserBehaviourEventName } from './user-behaviour-event-name.enum';
6
+ import { oneTimeAnalyticsEvents } from './one-time-analytics-events.const';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/common/http";
9
+ import * as i2 from "./event-builder/event-builder.service";
10
+ import * as i3 from "../settings/settings.service";
11
+ export class UserBehaviourAnalyticsService {
12
+ set isPayWithSavedMethod(value) {
13
+ this.userSessionOptions.isPayWithSavedMethod = value;
14
+ }
15
+ set subscriptionPackageId(value) {
16
+ this.userSessionOptions.subscriptionPackageId = value;
17
+ }
18
+ set couponCode(value) {
19
+ this.userSessionOptions.couponCode = value;
20
+ }
21
+ set paymentStatus(value) {
22
+ this.userSessionOptions.paymentStatus = value;
23
+ }
24
+ get sessionOptions() {
25
+ return this.userSessionOptions;
26
+ }
27
+ get purchaseType() {
28
+ return this.settingsService.unsafeUtilsResponse?.purchase?.purchase_type
29
+ ? 'subscription'
30
+ : null;
31
+ }
32
+ constructor(http, eventBuilderService, settingsService) {
33
+ this.http = http;
34
+ this.eventBuilderService = eventBuilderService;
35
+ this.settingsService = settingsService;
36
+ this.apiUrl = 'https://datagather.xsolla.com/paystation-user-sessions';
37
+ this._events$ = new Subject();
38
+ this.userSessionOptions = {
39
+ invoice: null,
40
+ instanceId: null,
41
+ subscriptionRecurrentId: null,
42
+ userMobileOperatorName: null,
43
+ isPayWithSavedMethod: false,
44
+ subscriptionPackageId: null,
45
+ subscriptionProductId: null,
46
+ couponCode: null,
47
+ totalSum: null,
48
+ totalCurrency: null,
49
+ paymentInstanceName: null,
50
+ paymentStatus: null,
51
+ };
52
+ this.sentEvents = new Set();
53
+ }
54
+ init() {
55
+ this.setPid(this.settingsService.unsafeUtilsResponse?.purchase?.payment_system?.id);
56
+ this.onOpenPayStation();
57
+ }
58
+ setPid(pid) {
59
+ if (pid) {
60
+ this.userSessionOptions.instanceId = pid;
61
+ }
62
+ }
63
+ fillUserSession(paymentForm) {
64
+ if (paymentForm.subscriptionRecurrentId) {
65
+ this.userSessionOptions.subscriptionRecurrentId =
66
+ paymentForm.subscriptionRecurrentId;
67
+ }
68
+ const operator = paymentForm.fields.find((field) => field.name === 'operator');
69
+ if (operator) {
70
+ this.userSessionOptions.userMobileOperatorName = operator.value;
71
+ }
72
+ if (paymentForm.pid) {
73
+ this.setPid(paymentForm.pid);
74
+ }
75
+ if (paymentForm.userSession) {
76
+ this.userSessionOptions.invoice = paymentForm.userSession;
77
+ const createInvoiceOptions = {
78
+ eventCategory: eventCategories.withInvoice,
79
+ };
80
+ this.send('create-invoice', userBehaviourEventTypes.manual, createInvoiceOptions);
81
+ if (paymentForm.errors?.length) {
82
+ this.resetInvoice();
83
+ }
84
+ }
85
+ const total = paymentForm?.summary?.finance?.total;
86
+ if (total) {
87
+ this.userSessionOptions.totalSum = total.amount;
88
+ this.userSessionOptions.totalCurrency = total.currency;
89
+ }
90
+ if (paymentForm.title) {
91
+ this.userSessionOptions.paymentInstanceName = paymentForm.title;
92
+ }
93
+ }
94
+ send(action, type, options) {
95
+ if (oneTimeAnalyticsEvents.has(action) && this.sentEvents.has(action)) {
96
+ return;
97
+ }
98
+ const date = new Date();
99
+ const invoice = options?.eventCategory === eventCategories.withInvoice
100
+ ? this.userSessionOptions.invoice
101
+ : null;
102
+ const eventOptions = {
103
+ action,
104
+ type,
105
+ value: options?.value ?? null,
106
+ valueType: options?.valueType ?? null,
107
+ date,
108
+ invoice,
109
+ state: '',
110
+ extraValue: options?.extraValue ?? null,
111
+ purchase_type: options?.purchaseType ?? null,
112
+ instanceId: options?.instanceId ?? null,
113
+ dimension1: options?.dimension1 ?? null,
114
+ dimension2: options?.dimension2 ?? null,
115
+ dimension3: options?.dimension3 ?? null,
116
+ dimension4: options?.dimension4 ?? null,
117
+ dimension5: options?.dimension5 ?? null,
118
+ };
119
+ const sendEvent = () => {
120
+ this.sentEvents.add(action);
121
+ const event = this.eventBuilderService.createEvent(eventOptions, this.userSessionOptions);
122
+ this._events$.next(event);
123
+ const requestBody = JSON.stringify(event);
124
+ if (navigator.sendBeacon) {
125
+ navigator.sendBeacon(this.apiUrl, requestBody);
126
+ }
127
+ else {
128
+ void this.http.post(this.apiUrl, requestBody).toPromise();
129
+ }
130
+ };
131
+ if (options?.syncRequest) {
132
+ sendEvent();
133
+ return;
134
+ }
135
+ setTimeout(() => sendEvent());
136
+ }
137
+ onOpenPayStation() {
138
+ this.send(UserBehaviourEventName.openPaystation, userBehaviourEventTypes.open, {
139
+ value: null,
140
+ purchaseType: this.purchaseType,
141
+ });
142
+ }
143
+ resetInvoice() {
144
+ this.userSessionOptions.invoice = null;
145
+ }
146
+ resetPid() {
147
+ this.userSessionOptions.instanceId = null;
148
+ }
149
+ }
150
+ UserBehaviourAnalyticsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: UserBehaviourAnalyticsService, deps: [{ token: i1.HttpClient }, { token: i2.EventBuilderService }, { token: i3.SettingsService }], target: i0.ɵɵFactoryTarget.Injectable });
151
+ UserBehaviourAnalyticsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: UserBehaviourAnalyticsService, providedIn: 'root' });
152
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: UserBehaviourAnalyticsService, decorators: [{
153
+ type: Injectable,
154
+ args: [{
155
+ providedIn: 'root',
156
+ }]
157
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.EventBuilderService }, { type: i3.SettingsService }]; } });
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1iZWhhdmlvdXItYW5hbHl0aWNzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFPekYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7QUFTM0UsTUFBTSxPQUFPLDZCQUE2QjtJQUN4QyxJQUFXLG9CQUFvQixDQUFDLEtBQWM7UUFDNUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQztJQUN2RCxDQUFDO0lBRUQsSUFBVyxxQkFBcUIsQ0FBQyxLQUFhO1FBQzVDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxxQkFBcUIsR0FBRyxLQUFLLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQVcsVUFBVSxDQUFDLEtBQWE7UUFDakMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQVcsYUFBYSxDQUFDLEtBQWE7UUFDcEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDaEQsQ0FBQztJQUVELElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxr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QUFrQixDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDekMsQ0FBQztJQUVPLFFBQVE7UUFDZCxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztJQUM1QyxDQUFDOzswSEFoTVUsNkJBQTZCOzhIQUE3Qiw2QkFBNkIsY0FGNUIsTUFBTTsyRkFFUCw2QkFBNkI7a0JBSHpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IHVzZXJCZWhhdmlvdXJFdmVudFR5cGVzIH0gZnJvbSAnLi91c2VyLWJlaGF2aW91ci1ldmVudC91c2VyLWJlaGF2aW91ci1ldmVudC10eXBlcyc7XG5pbXBvcnQgeyBldmVudENhdGVnb3JpZXMgfSBmcm9tICcuL3VzZXItYmVoYXZpb3VyLWV2ZW50L3VzZXItYmVoYXZpb3VyLWV2ZW50LWNhdGVnb3JpZXMnO1xuaW1wb3J0IHtcbiAgU2VuZEV2ZW50TWV0aG9kT3B0aW9uc0ludGVyZmFjZSxcbiAgQ3JlYXRlRXZlbnRNZXRob2RPcHRpb25zSW50ZXJmYWNlLFxufSBmcm9tICcuL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRXZlbnRCdWlsZGVyU2VydmljZSB9IGZyb20gJy4vZXZlbnQtYnVpbGRlci9ldmVudC1idWlsZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlckJlaGF2aW91ckV2ZW50IH0gZnJvbSAnLi9ldmVudC1idWlsZGVyL3VzZXItYmVoYXZpb3VyLWV2ZW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbnZvaWNlIH0gZnJvbSAnLi9ldmVudC1idWlsZGVyL2ludm9pY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFVzZXJCZWhhdmlvdXJFdmVudE5hbWUgfSBmcm9tICcuL3VzZXItYmVoYXZpb3VyLWV2ZW50LW5hbWUuZW51bSc7XG5pbXBvcnQgeyBvbmVUaW1lQW5hbHl0aWNzRXZlbnRzIH0gZnJvbSAnLi9vbmUtdGltZS1hbmFseXRpY3MtZXZlbnRzLmNvbnN0JztcbmltcG9ydCB7IFNldHRpbmdzU2VydmljZSB9IGZyb20gJy4uL3NldHRpbmdzL3NldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuLi9wYXltZW50L2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBYcHNSZXNwb25zZSB9IGZyb20gJy4uL3BheW1lbnQveHBzLXJlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBVc2VyU2Vzc2lvbk9wdGlvbnMgfSBmcm9tICcuL3VzZXItc2Vzc2lvbi1vcHRpb25zJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlIHtcbiAgcHVibGljIHNldCBpc1BheVdpdGhTYXZlZE1ldGhvZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMudXNlclNlc3Npb25PcHRpb25zLmlzUGF5V2l0aFNhdmVkTWV0aG9kID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgc2V0IHN1YnNjcmlwdGlvblBhY2thZ2VJZCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy51c2VyU2Vzc2lvbk9wdGlvbnMuc3Vic2NyaXB0aW9uUGFja2FnZUlkID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgc2V0IGNvdXBvbkNvZGUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMudXNlclNlc3Npb25PcHRpb25zLmNvdXBvbkNvZGUgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgcGF5bWVudFN0YXR1cyh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy51c2VyU2Vzc2lvbk9wdGlvbnMucGF5bWVudFN0YXR1cyA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBzZXNzaW9uT3B0aW9ucygpOiBVc2VyU2Vzc2lvbk9wdGlvbnMge1xuICAgIHJldHVybiB0aGlzLnVzZXJTZXNzaW9uT3B0aW9ucztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHB1cmNoYXNlVHlwZSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5nc1NlcnZpY2UudW5zYWZlVXRpbHNSZXNwb25zZT8ucHVyY2hhc2U/LnB1cmNoYXNlX3R5cGVcbiAgICAgID8gJ3N1YnNjcmlwdGlvbidcbiAgICAgIDogbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgYXBpVXJsOiBzdHJpbmcgPVxuICAgICdodHRwczovL2RhdGFnYXRoZXIueHNvbGxhLmNvbS9wYXlzdGF0aW9uLXVzZXItc2Vzc2lvbnMnO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2V2ZW50cyQgPSBuZXcgU3ViamVjdDxVc2VyQmVoYXZpb3VyRXZlbnQ+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSB1c2VyU2Vzc2lvbk9wdGlvbnM6IFVzZXJTZXNzaW9uT3B0aW9ucyA9IHtcbiAgICBpbnZvaWNlOiBudWxsLFxuICAgIGluc3RhbmNlSWQ6IG51bGwsXG4gICAgc3Vic2NyaXB0aW9uUmVjdXJyZW50SWQ6IG51bGwsXG4gICAgdXNlck1vYmlsZU9wZXJhdG9yTmFtZTogbnVsbCxcbiAgICBpc1BheVdpdGhTYXZlZE1ldGhvZDogZmFsc2UsXG4gICAgc3Vic2NyaXB0aW9uUGFja2FnZUlkOiBudWxsLFxuICAgIHN1YnNjcmlwdGlvblByb2R1Y3RJZDogbnVsbCxcbiAgICBjb3Vwb25Db2RlOiBudWxsLFxuICAgIHRvdGFsU3VtOiBudWxsLFxuICAgIHRvdGFsQ3VycmVuY3k6IG51bGwsXG4gICAgcGF5bWVudEluc3RhbmNlTmFtZTogbnVsbCxcbiAgICBwYXltZW50U3RhdHVzOiBudWxsLFxuICB9O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgc2VudEV2ZW50cyA9IG5ldyBTZXQoKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZXZlbnRCdWlsZGVyU2VydmljZTogRXZlbnRCdWlsZGVyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNldHRpbmdzU2VydmljZTogU2V0dGluZ3NTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgaW5pdCgpOiB1bmRlZmluZWQgfCB2b2lkIHtcbiAgICB0aGlzLnNldFBpZChcbiAgICAgIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnVuc2FmZVV0aWxzUmVzcG9uc2U/LnB1cmNoYXNlPy5wYXltZW50X3N5c3RlbT8uaWRcbiAgICApO1xuICAgIHRoaXMub25PcGVuUGF5U3RhdGlvbigpO1xuICB9XG5cbiAgcHVibGljIHNldFBpZChwaWQ/OiBudW1iZXIgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKHBpZCkge1xuICAgICAgdGhpcy51c2VyU2Vzc2lvbk9wdGlvbnMuaW5zdGFuY2VJZCA9IHBpZDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZmlsbFVzZXJTZXNzaW9uKHBheW1lbnRGb3JtOiB7XG4gICAgZmllbGRzOiBGaWVsZFtdO1xuICAgIHN1YnNjcmlwdGlvblJlY3VycmVudElkPzogbnVtYmVyO1xuICAgIHVzZXJTZXNzaW9uPzogSW52b2ljZTtcbiAgICBwaWQ6IFhwc1Jlc3BvbnNlWydwaWQnXTtcbiAgICBlcnJvcnM6IFhwc1Jlc3BvbnNlWydlcnJvcnMnXTtcbiAgICBzdW1tYXJ5OiBYcHNSZXNwb25zZVsnc3VtbWFyeSddO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gIH0pOiB2b2lkIHtcbiAgICBpZiAocGF5bWVudEZvcm0uc3Vic2NyaXB0aW9uUmVjdXJyZW50SWQpIHtcbiAgICAgIHRoaXMudXNlclNlc3Npb25PcHRpb25zLnN1YnNjcmlwdGlvblJlY3VycmVudElkID1cbiAgICAgICAgcGF5bWVudEZvcm0uc3Vic2NyaXB0aW9uUmVjdXJyZW50SWQ7XG4gICAgfVxuXG4gICAgY29uc3Qgb3BlcmF0b3I6IEZpZWxkIHwgdW5kZWZpbmVkID0gcGF5bWVudEZvcm0uZmllbGRzLmZpbmQoXG4gICAgICAoZmllbGQ6IEZpZWxkKSA9PiBmaWVsZC5uYW1lID09PSAnb3BlcmF0b3InXG4gICAgKTtcbiAgICBpZiAob3BlcmF0b3IpIHtcbiAgICAgIHRoaXMudXNlclNlc3Npb25PcHRpb25zLnVzZXJNb2JpbGVPcGVyYXRvck5hbWUgPSBvcGVyYXRvci52YWx1ZTtcbiAgICB9XG5cbiAgICBpZiAocGF5bWVudEZvcm0ucGlkKSB7XG4gICAgICB0aGlzLnNldFBpZChwYXltZW50Rm9ybS5waWQpO1xuICAgIH1cblxuICAgIGlmIChwYXltZW50Rm9ybS51c2VyU2Vzc2lvbikge1xuICAgICAgdGhpcy51c2VyU2Vzc2lvbk9wdGlvbnMuaW52b2ljZSA9IHBheW1lbnRGb3JtLnVzZXJTZXNzaW9uO1xuICAgICAgY29uc3QgY3JlYXRlSW52b2ljZU9wdGlvbnMgPSB7XG4gICAgICAgIGV2ZW50Q2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcmllcy53aXRoSW52b2ljZSxcbiAgICAgIH07XG4gICAgICB0aGlzLnNlbmQoXG4gICAgICAgICdjcmVhdGUtaW52b2ljZScsXG4gICAgICAgIHVzZXJCZWhhdmlvdXJFdmVudFR5cGVzLm1hbnVhbCxcbiAgICAgICAgY3JlYXRlSW52b2ljZU9wdGlvbnNcbiAgICAgICk7XG5cbiAgICAgIGlmIChwYXltZW50Rm9ybS5lcnJvcnM/Lmxlbmd0aCkge1xuICAgICAgICB0aGlzLnJlc2V0SW52b2ljZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHRvdGFsID0gcGF5bWVudEZvcm0/LnN1bW1hcnk/LmZpbmFuY2U/LnRvdGFsO1xuICAgIGlmICh0b3RhbCkge1xuICAgICAgdGhpcy51c2VyU2Vzc2lvbk9wdGlvbnMudG90YWxTdW0gPSB0b3RhbC5hbW91bnQ7XG4gICAgICB0aGlzLnVzZXJTZXNzaW9uT3B0aW9ucy50b3RhbEN1cnJlbmN5ID0gdG90YWwuY3VycmVuY3k7XG4gICAgfVxuXG4gICAgaWYgKHBheW1lbnRGb3JtLnRpdGxlKSB7XG4gICAgICB0aGlzLnVzZXJTZXNzaW9uT3B0aW9ucy5wYXltZW50SW5zdGFuY2VOYW1lID0gcGF5bWVudEZvcm0udGl0bGU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNlbmQoXG4gICAgYWN0aW9uOiBzdHJpbmcsXG4gICAgdHlwZToga2V5b2YgdHlwZW9mIHVzZXJCZWhhdmlvdXJFdmVudFR5cGVzLFxuICAgIG9wdGlvbnM/OiBTZW5kRXZlbnRNZXRob2RPcHRpb25zSW50ZXJmYWNlXG4gICk6IHZvaWQge1xuICAgIGlmIChvbmVUaW1lQW5hbHl0aWNzRXZlbnRzLmhhcyhhY3Rpb24pICYmIHRoaXMuc2VudEV2ZW50cy5oYXMoYWN0aW9uKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIGNvbnN0IGludm9pY2UgPVxuICAgICAgb3B0aW9ucz8uZXZlbnRDYXRlZ29yeSA9PT0gZXZlbnRDYXRlZ29yaWVzLndpdGhJbnZvaWNlXG4gICAgICAgID8gdGhpcy51c2VyU2Vzc2lvbk9wdGlvbnMuaW52b2ljZVxuICAgICAgICA6IG51bGw7XG4gICAgY29uc3QgZXZlbnRPcHRpb25zOiBDcmVhdGVFdmVudE1ldGhvZE9wdGlvbnNJbnRlcmZhY2UgPSB7XG4gICAgICBhY3Rpb24sXG4gICAgICB0eXBlLFxuICAgICAgdmFsdWU6IG9wdGlvbnM/LnZhbHVlID8/IG51bGwsXG4gICAgICB2YWx1ZVR5cGU6IG9wdGlvbnM/LnZhbHVlVHlwZSA/PyBudWxsLFxuICAgICAgZGF0ZSxcbiAgICAgIGludm9pY2UsXG4gICAgICBzdGF0ZTogJycsXG4gICAgICBleHRyYVZhbHVlOiBvcHRpb25zPy5leHRyYVZhbHVlID8/IG51bGwsXG4gICAgICBwdXJjaGFzZV90eXBlOiBvcHRpb25zPy5wdXJjaGFzZVR5cGUgPz8gbnVsbCxcbiAgICAgIGluc3RhbmNlSWQ6IG9wdGlvbnM/Lmluc3RhbmNlSWQgPz8gbnVsbCxcbiAgICAgIGRpbWVuc2lvbjE6IG9wdGlvbnM/LmRpbWVuc2lvbjEgPz8gbnVsbCxcbiAgICAgIGRpbWVuc2lvbjI6IG9wdGlvbnM/LmRpbWVuc2lvbjIgPz8gbnVsbCxcbiAgICAgIGRpbWVuc2lvbjM6IG9wdGlvbnM/LmRpbWVuc2lvbjMgPz8gbnVsbCxcbiAgICAgIGRpbWVuc2lvbjQ6IG9wdGlvbnM/LmRpbWVuc2lvbjQgPz8gbnVsbCxcbiAgICAgIGRpbWVuc2lvbjU6IG9wdGlvbnM/LmRpbWVuc2lvbjUgPz8gbnVsbCxcbiAgICB9O1xuXG4gICAgY29uc3Qgc2VuZEV2ZW50ID0gKCk6IHZvaWQgPT4ge1xuICAgICAgdGhpcy5zZW50RXZlbnRzLmFkZChhY3Rpb24pO1xuICAgICAgY29uc3QgZXZlbnQ6IFVzZXJCZWhhdmlvdXJFdmVudCA9IHRoaXMuZXZlbnRCdWlsZGVyU2VydmljZS5jcmVhdGVFdmVudChcbiAgICAgICAgZXZlbnRPcHRpb25zLFxuICAgICAgICB0aGlzLnVzZXJTZXNzaW9uT3B0aW9uc1xuICAgICAgKTtcbiAgICAgIHRoaXMuX2V2ZW50cyQubmV4dChldmVudCk7XG4gICAgICBjb25zdCByZXF1ZXN0Qm9keSA9IEpTT04uc3RyaW5naWZ5KGV2ZW50KTtcbiAgICAgIGlmIChuYXZpZ2F0b3Iuc2VuZEJlYWNvbikge1xuICAgICAgICBuYXZpZ2F0b3Iuc2VuZEJlYWNvbih0aGlzLmFwaVVybCwgcmVxdWVzdEJvZHkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdm9pZCB0aGlzLmh0dHAucG9zdCh0aGlzLmFwaVVybCwgcmVxdWVzdEJvZHkpLnRvUHJvbWlzZSgpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBpZiAob3B0aW9ucz8uc3luY1JlcXVlc3QpIHtcbiAgICAgIHNlbmRFdmVudCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNldFRpbWVvdXQoKCkgPT4gc2VuZEV2ZW50KCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBvbk9wZW5QYXlTdGF0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuc2VuZChcbiAgICAgIFVzZXJCZWhhdmlvdXJFdmVudE5hbWUub3BlblBheXN0YXRpb24sXG4gICAgICB1c2VyQmVoYXZpb3VyRXZlbnRUeXBlcy5vcGVuLFxuICAgICAge1xuICAgICAgICB2YWx1ZTogbnVsbCxcbiAgICAgICAgcHVyY2hhc2VUeXBlOiB0aGlzLnB1cmNoYXNlVHlwZSxcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldEludm9pY2UoKTogdm9pZCB7XG4gICAgdGhpcy51c2VyU2Vzc2lvbk9wdGlvbnMuaW52b2ljZSA9IG51bGw7XG4gIH1cblxuICBwcml2YXRlIHJlc2V0UGlkKCk6IHZvaWQge1xuICAgIHRoaXMudXNlclNlc3Npb25PcHRpb25zLmluc3RhbmNlSWQgPSBudWxsO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ export const eventCategories = {
2
+ withoutInvoice: 'withoutInvoice',
3
+ withInvoice: 'withInvoice',
4
+ };
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1iZWhhdmlvdXItZXZlbnQtY2F0ZWdvcmllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1ldmVudC91c2VyLWJlaGF2aW91ci1ldmVudC1jYXRlZ29yaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUM3QixjQUFjLEVBQUUsZ0JBQWdCO0lBQ2hDLFdBQVcsRUFBRSxhQUFhO0NBQ2xCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZXZlbnRDYXRlZ29yaWVzID0ge1xuICB3aXRob3V0SW52b2ljZTogJ3dpdGhvdXRJbnZvaWNlJyxcbiAgd2l0aEludm9pY2U6ICd3aXRoSW52b2ljZScsXG59IGFzIGNvbnN0O1xuIl19
@@ -0,0 +1,8 @@
1
+ export const userBehaviourEventTypes = {
2
+ open: 'open',
3
+ show: 'show',
4
+ click: 'click',
5
+ manual: 'manual',
6
+ store: 'store',
7
+ };
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1iZWhhdmlvdXItZXZlbnQtdHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItZXZlbnQvdXNlci1iZWhhdmlvdXItZXZlbnQtdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUc7SUFDckMsSUFBSSxFQUFFLE1BQU07SUFDWixJQUFJLEVBQUUsTUFBTTtJQUNaLEtBQUssRUFBRSxPQUFPO0lBQ2QsTUFBTSxFQUFFLFFBQVE7SUFDaEIsS0FBSyxFQUFFLE9BQU87Q0FDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IHVzZXJCZWhhdmlvdXJFdmVudFR5cGVzID0ge1xuICBvcGVuOiAnb3BlbicsXG4gIHNob3c6ICdzaG93JyxcbiAgY2xpY2s6ICdjbGljaycsXG4gIG1hbnVhbDogJ21hbnVhbCcsXG4gIHN0b3JlOiAnc3RvcmUnLFxufSBhcyBjb25zdDtcbiJdfQ==
@@ -0,0 +1,8 @@
1
+ export var UserBehaviourEventName;
2
+ (function (UserBehaviourEventName) {
3
+ UserBehaviourEventName["openPaystation"] = "open-paystation";
4
+ UserBehaviourEventName["showMethodHeader"] = "show-method-header";
5
+ UserBehaviourEventName["showErrorMessage"] = "show-error-message";
6
+ UserBehaviourEventName["openStatusError"] = "open-status-error";
7
+ })(UserBehaviourEventName || (UserBehaviourEventName = {}));
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1iZWhhdmlvdXItZXZlbnQtbmFtZS5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzL3VzZXItYmVoYXZpb3VyLWV2ZW50LW5hbWUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxzQkFLWDtBQUxELFdBQVksc0JBQXNCO0lBQ2hDLDREQUFrQyxDQUFBO0lBQ2xDLGlFQUF1QyxDQUFBO0lBQ3ZDLGlFQUF1QyxDQUFBO0lBQ3ZDLCtEQUFxQyxDQUFBO0FBQ3ZDLENBQUMsRUFMVyxzQkFBc0IsS0FBdEIsc0JBQXNCLFFBS2pDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gVXNlckJlaGF2aW91ckV2ZW50TmFtZSB7XG4gIG9wZW5QYXlzdGF0aW9uID0gJ29wZW4tcGF5c3RhdGlvbicsXG4gIHNob3dNZXRob2RIZWFkZXIgPSAnc2hvdy1tZXRob2QtaGVhZGVyJyxcbiAgc2hvd0Vycm9yTWVzc2FnZSA9ICdzaG93LWVycm9yLW1lc3NhZ2UnLFxuICBvcGVuU3RhdHVzRXJyb3IgPSAnb3Blbi1zdGF0dXMtZXJyb3InLFxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1zZXNzaW9uLW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1zZXNzaW9uLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEludm9pY2UgfSBmcm9tICcuL2V2ZW50LWJ1aWxkZXIvaW52b2ljZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJTZXNzaW9uT3B0aW9ucyB7XG4gIGludm9pY2U6IEludm9pY2UgfCBudWxsO1xuICBpbnN0YW5jZUlkOiBudW1iZXIgfCBudWxsO1xuICBzdWJzY3JpcHRpb25SZWN1cnJlbnRJZDogbnVtYmVyIHwgbnVsbDtcbiAgdXNlck1vYmlsZU9wZXJhdG9yTmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgaXNQYXlXaXRoU2F2ZWRNZXRob2Q6IGJvb2xlYW47XG4gIHN1YnNjcmlwdGlvblBhY2thZ2VJZDogbnVtYmVyIHwgbnVsbDtcbiAgc3Vic2NyaXB0aW9uUHJvZHVjdElkOiBudW1iZXIgfCBudWxsO1xuICBjb3Vwb25Db2RlOiBzdHJpbmcgfCBudWxsO1xuICB0b3RhbFN1bTogbnVtYmVyIHwgbnVsbDtcbiAgdG90YWxDdXJyZW5jeTogc3RyaW5nIHwgbnVsbDtcbiAgcGF5bWVudEluc3RhbmNlTmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgcGF5bWVudFN0YXR1czogc3RyaW5nIHwgbnVsbDtcbn1cbiJdfQ==