@xsolla/payment-client-core 0.4.0 → 0.5.1
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.
- package/esm2022/lib/core/payment/status/check-status/check-status.service.mjs +19 -13
- package/esm2022/lib/core/payment/status/listen-status/listen-status.service.mjs +31 -1
- package/esm2022/lib/core/payment/status/status.service.mjs +48 -5
- package/esm2022/lib/core/payment/status/websocket-status/websocket-status.service.mjs +6 -2
- package/esm2022/lib/core/sdk-payment-systems/apple-pay/apple-pay-cart/apple-pay-cart.service.mjs +17 -9
- package/esm2022/lib/core/sdk-payment-systems/apple-pay/apple-pay.service.mjs +20 -10
- package/esm2022/lib/core/sdk-payment-systems/apple-pay/external-window-communication/external-window-communication.service.mjs +19 -8
- package/esm2022/lib/core/sdk-payment-systems/apple-pay/session-handlers/braintree.handler.mjs +40 -15
- package/esm2022/lib/core/sdk-payment-systems/apple-pay/session-handlers/checkout.handler.mjs +32 -13
- package/esm2022/lib/core/sdk-payment-systems/apple-pay/session-handlers/session-handler.abstract.mjs +8 -1
- package/esm2022/lib/core/sdk-payment-systems/google-pay/google-pay.service.mjs +14 -8
- package/esm2022/lib/core/sdk-payment-systems/google-pay/payment/google-pay-checkout-payment.service.mjs +21 -9
- package/esm2022/lib/core/user-behaviour-analytics/user-behaviour-analytics.interface.mjs +1 -1
- package/esm2022/lib/version.mjs +2 -2
- package/fesm2022/xsolla-payment-client-core.mjs +251 -71
- package/fesm2022/xsolla-payment-client-core.mjs.map +1 -1
- package/lib/core/payment/status/check-status/check-status.service.d.ts +7 -0
- package/lib/core/payment/status/listen-status/listen-status.service.d.ts +1 -0
- package/lib/core/payment/status/status.service.d.ts +13 -1
- package/lib/core/sdk-payment-systems/apple-pay/apple-pay-cart/apple-pay-cart.service.d.ts +4 -3
- package/lib/core/sdk-payment-systems/apple-pay/apple-pay.service.d.ts +4 -3
- package/lib/core/sdk-payment-systems/apple-pay/external-window-communication/external-window-communication.service.d.ts +4 -3
- package/lib/core/sdk-payment-systems/apple-pay/session-handlers/braintree.handler.d.ts +1 -3
- package/lib/core/sdk-payment-systems/apple-pay/session-handlers/checkout.handler.d.ts +1 -3
- package/lib/core/sdk-payment-systems/apple-pay/session-handlers/session-handler.abstract.d.ts +4 -0
- package/lib/core/sdk-payment-systems/google-pay/google-pay.service.d.ts +4 -3
- package/lib/core/sdk-payment-systems/google-pay/payment/google-pay-checkout-payment.service.d.ts +5 -3
- package/lib/core/user-behaviour-analytics/user-behaviour-analytics.interface.d.ts +12 -0
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
|
@@ -20,22 +20,28 @@ export class CheckStatusService extends XpsApiPart {
|
|
|
20
20
|
this.invoice = invoice;
|
|
21
21
|
}
|
|
22
22
|
request() {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
.directPaymentRequest(requestParams)
|
|
26
|
-
.then((xpsResponse) => {
|
|
27
|
-
const response = this.xpsResponseErrorsMappingService.mapErrors(xpsResponse);
|
|
28
|
-
const checkStatusResponse = this.responseFactory({
|
|
29
|
-
status: response.status,
|
|
30
|
-
final: response.final,
|
|
31
|
-
isPaymentAccountAttached: response.is_payment_account_attached,
|
|
32
|
-
});
|
|
33
|
-
this.emitResponse(checkStatusResponse);
|
|
34
|
-
})
|
|
23
|
+
this.requestStatus(this.invoice)
|
|
24
|
+
.then((checkStatusResponse) => this.emitResponse(checkStatusResponse))
|
|
35
25
|
.catch((error) => {
|
|
36
26
|
throw new ResponseError(error.message);
|
|
37
27
|
});
|
|
38
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Performs a one-shot getstatus poll and returns the mapped response without
|
|
31
|
+
* emitting it to the shared `response$` stream. Used by StatusService to
|
|
32
|
+
* consult the authoritative terminal signal without interfering with the
|
|
33
|
+
* listen-status polling loop. See PAYMENTS-29021.
|
|
34
|
+
*/
|
|
35
|
+
async requestStatus(invoice) {
|
|
36
|
+
const requestParams = this.requestFactory(this.settingsService.token, invoice);
|
|
37
|
+
const xpsResponse = await this.xpsApiService.directPaymentRequest(requestParams);
|
|
38
|
+
const response = this.xpsResponseErrorsMappingService.mapErrors(xpsResponse);
|
|
39
|
+
return this.responseFactory({
|
|
40
|
+
status: response.status,
|
|
41
|
+
final: response.final,
|
|
42
|
+
isPaymentAccountAttached: response.is_payment_account_attached,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
39
45
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CheckStatusService, deps: [{ token: i1.XpsApiService }, { token: i2.SettingsService }, { token: i3.XpsResponseErrorsMappingService }, { token: checkStatusRequestFactoryToken }, { token: checkStatusResponseFactoryToken }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
40
46
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CheckStatusService, providedIn: 'root' }); }
|
|
41
47
|
}
|
|
@@ -51,4 +57,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
51
57
|
type: Inject,
|
|
52
58
|
args: [checkStatusResponseFactoryToken]
|
|
53
59
|
}] }] });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stc3RhdHVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvcGF5bWVudC9zdGF0dXMvY2hlY2stc3RhdHVzL2NoZWNrLXN0YXR1cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUN6RixPQUFPLEVBRUwsOEJBQThCLEdBQy9CLE1BQU0sc0NBQXNDLENBQUM7QUFDOUMsT0FBTyxFQUVMLCtCQUErQixHQUNoQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ2hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7QUFRakUsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFVBQStCO0lBR3JFLFlBQ21CLGFBQTRCLEVBQzVCLGVBQWdDLEVBQ2hDLCtCQUFnRSxFQUVoRSxjQUF5QyxFQUV6QyxlQUEyQztRQUU1RCxLQUFLLEVBQUUsQ0FBQztRQVJTLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxvQ0FBK0IsR0FBL0IsK0JBQStCLENBQWlDO1FBRWhFLG1CQUFjLEdBQWQsY0FBYyxDQUEyQjtRQUV6QyxvQkFBZSxHQUFmLGVBQWUsQ0FBNEI7SUFHOUQsQ0FBQztJQUVNLGdCQUFnQixDQUFDLE9BQWU7UUFDckMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUVNLE9BQU87UUFDWixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7YUFDN0IsSUFBSSxDQUFDLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsQ0FBQzthQUNyRSxLQUFLLENBQUMsQ0FBQyxLQUFZLEVBQUUsRUFBRTtZQUN0QixNQUFNLElBQUksYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLEtBQUssQ0FBQyxhQUFhLENBQUMsT0FBZTtRQUN4QyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUN2QyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFDMUIsT0FBTyxDQUNSLENBQUM7UUFFRixNQUFNLFdBQVcsR0FDZixNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsb0JBQW9CLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDL0QsTUFBTSxRQUFRLEdBQ1osSUFBSSxDQUFDLCtCQUErQixDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUU5RCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7WUFDMUIsTUFBTSxFQUFFLFFBQVEsQ0FBQyxNQUFvQjtZQUNyQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUs7WUFDckIsd0JBQXdCLEVBQUUsUUFBUSxDQUFDLDJCQUEyQjtTQUMvRCxDQUFDLENBQUM7SUFDTCxDQUFDOytHQWpEVSxrQkFBa0IsNkhBT25CLDhCQUE4QixhQUU5QiwrQkFBK0I7bUhBVDlCLGtCQUFrQixjQUZqQixNQUFNOzs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFRSSxNQUFNOzJCQUFDLDhCQUE4Qjs7MEJBRXJDLE1BQU07MkJBQUMsK0JBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXR0aW5ncy9zZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IFN0YXR1c0VudW0gfSBmcm9tICcuLi9zdGF0dXMuZW51bSc7XG5pbXBvcnQgeyBSZXNwb25zZUVycm9yIH0gZnJvbSAnLi4vLi4vLi4vZXhjZXB0aW9ucy1oYW5kbGluZy9lcnJvcnMvcmVzcG9uc2UtZXJyb3IuY2xhc3MnO1xuaW1wb3J0IHtcbiAgQ2hlY2tTdGF0dXNSZXF1ZXN0RmFjdG9yeSxcbiAgY2hlY2tTdGF0dXNSZXF1ZXN0RmFjdG9yeVRva2VuLFxufSBmcm9tICcuL3JlcXVlc3QvY2hlY2stc3RhdHVzLXJlcXVlc3QudG9rZW4nO1xuaW1wb3J0IHtcbiAgQ2hlY2tTdGF0dXNSZXNwb25zZUZhY3RvcnksXG4gIGNoZWNrU3RhdHVzUmVzcG9uc2VGYWN0b3J5VG9rZW4sXG59IGZyb20gJy4vcmVzcG9uc2UvY2hlY2stc3RhdHVzLXJlc3BvbnNlLnRva2VuJztcbmltcG9ydCB7IFhwc0FwaVBhcnQgfSBmcm9tICcuLi8uLi94cHMtYXBpL3hwcy1hcGktcGFydC5hYnN0cmFjdCc7XG5pbXBvcnQgeyBYcHNBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4veHBzLWFwaS94cHMtYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2hlY2tTdGF0dXNSZXNwb25zZSB9IGZyb20gJy4vcmVzcG9uc2UvY2hlY2stc3RhdHVzLXJlc3BvbnNlLmNsYXNzJztcbmltcG9ydCB7IFhwc1Jlc3BvbnNlRXJyb3JzTWFwcGluZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9lcnJvcnMtbWFwcGluZy94cHMtcmVzcG9uc2UtZXJyb3JzLW1hcHBpbmcuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBDaGVja1N0YXR1c1NlcnZpY2UgZXh0ZW5kcyBYcHNBcGlQYXJ0PENoZWNrU3RhdHVzUmVzcG9uc2U+IHtcbiAgcHJpdmF0ZSBpbnZvaWNlITogbnVtYmVyO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHhwc0FwaVNlcnZpY2U6IFhwc0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXR0aW5nc1NlcnZpY2U6IFNldHRpbmdzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHhwc1Jlc3BvbnNlRXJyb3JzTWFwcGluZ1NlcnZpY2U6IFhwc1Jlc3BvbnNlRXJyb3JzTWFwcGluZ1NlcnZpY2UsXG4gICAgQEluamVjdChjaGVja1N0YXR1c1JlcXVlc3RGYWN0b3J5VG9rZW4pXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXF1ZXN0RmFjdG9yeTogQ2hlY2tTdGF0dXNSZXF1ZXN0RmFjdG9yeSxcbiAgICBASW5qZWN0KGNoZWNrU3RhdHVzUmVzcG9uc2VGYWN0b3J5VG9rZW4pXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXNwb25zZUZhY3Rvcnk6IENoZWNrU3RhdHVzUmVzcG9uc2VGYWN0b3J5LFxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIHNldFJlcXVlc3RQYXJhbXMoaW52b2ljZTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5pbnZvaWNlID0gaW52b2ljZTtcbiAgfVxuXG4gIHB1YmxpYyByZXF1ZXN0KCk6IHZvaWQge1xuICAgIHRoaXMucmVxdWVzdFN0YXR1cyh0aGlzLmludm9pY2UpXG4gICAgICAudGhlbigoY2hlY2tTdGF0dXNSZXNwb25zZSkgPT4gdGhpcy5lbWl0UmVzcG9uc2UoY2hlY2tTdGF0dXNSZXNwb25zZSkpXG4gICAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgICB0aHJvdyBuZXcgUmVzcG9uc2VFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFBlcmZvcm1zIGEgb25lLXNob3QgZ2V0c3RhdHVzIHBvbGwgYW5kIHJldHVybnMgdGhlIG1hcHBlZCByZXNwb25zZSB3aXRob3V0XG4gICAqIGVtaXR0aW5nIGl0IHRvIHRoZSBzaGFyZWQgYHJlc3BvbnNlJGAgc3RyZWFtLiBVc2VkIGJ5IFN0YXR1c1NlcnZpY2UgdG9cbiAgICogY29uc3VsdCB0aGUgYXV0aG9yaXRhdGl2ZSB0ZXJtaW5hbCBzaWduYWwgd2l0aG91dCBpbnRlcmZlcmluZyB3aXRoIHRoZVxuICAgKiBsaXN0ZW4tc3RhdHVzIHBvbGxpbmcgbG9vcC4gU2VlIFBBWU1FTlRTLTI5MDIxLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIHJlcXVlc3RTdGF0dXMoaW52b2ljZTogbnVtYmVyKTogUHJvbWlzZTxDaGVja1N0YXR1c1Jlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVxdWVzdFBhcmFtcyA9IHRoaXMucmVxdWVzdEZhY3RvcnkoXG4gICAgICB0aGlzLnNldHRpbmdzU2VydmljZS50b2tlbixcbiAgICAgIGludm9pY2UsXG4gICAgKTtcblxuICAgIGNvbnN0IHhwc1Jlc3BvbnNlID1cbiAgICAgIGF3YWl0IHRoaXMueHBzQXBpU2VydmljZS5kaXJlY3RQYXltZW50UmVxdWVzdChyZXF1ZXN0UGFyYW1zKTtcbiAgICBjb25zdCByZXNwb25zZSA9XG4gICAgICB0aGlzLnhwc1Jlc3BvbnNlRXJyb3JzTWFwcGluZ1NlcnZpY2UubWFwRXJyb3JzKHhwc1Jlc3BvbnNlKTtcblxuICAgIHJldHVybiB0aGlzLnJlc3BvbnNlRmFjdG9yeSh7XG4gICAgICBzdGF0dXM6IHJlc3BvbnNlLnN0YXR1cyBhcyBTdGF0dXNFbnVtLFxuICAgICAgZmluYWw6IHJlc3BvbnNlLmZpbmFsLFxuICAgICAgaXNQYXltZW50QWNjb3VudEF0dGFjaGVkOiByZXNwb25zZS5pc19wYXltZW50X2FjY291bnRfYXR0YWNoZWQsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -27,6 +27,7 @@ export class ListenStatusService {
|
|
|
27
27
|
this.destroy$ = new Subject();
|
|
28
28
|
this.listenInvoice = null;
|
|
29
29
|
this.websocketInvoice = null;
|
|
30
|
+
this.pendingTerminalStatus = null;
|
|
30
31
|
}
|
|
31
32
|
listen(invoice) {
|
|
32
33
|
if (this.isListening) {
|
|
@@ -45,6 +46,7 @@ export class ListenStatusService {
|
|
|
45
46
|
this.isListening = false;
|
|
46
47
|
this.listenInvoice = null;
|
|
47
48
|
this.websocketInvoice = null;
|
|
49
|
+
this.pendingTerminalStatus = null;
|
|
48
50
|
this.websocketStatusService.closeWebSocket();
|
|
49
51
|
this.destroy$.next();
|
|
50
52
|
this.destroy$.complete();
|
|
@@ -61,6 +63,13 @@ export class ListenStatusService {
|
|
|
61
63
|
if (!statusResponse?.status) {
|
|
62
64
|
return;
|
|
63
65
|
}
|
|
66
|
+
const terminalStatus = this.pendingTerminalStatus;
|
|
67
|
+
if (terminalStatus) {
|
|
68
|
+
statusResponse.status.statusState = terminalStatus;
|
|
69
|
+
if (terminalStatus === StatusEnum.canceled) {
|
|
70
|
+
statusResponse.status.isCanceled = true;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
64
73
|
const statusSettings = {
|
|
65
74
|
statusState: statusResponse.status.statusState,
|
|
66
75
|
isCancelUser: statusResponse.status.isCancelUser,
|
|
@@ -87,6 +96,14 @@ export class ListenStatusService {
|
|
|
87
96
|
instanceId: statusResponse.status.pid,
|
|
88
97
|
});
|
|
89
98
|
}
|
|
99
|
+
// A terminal verdict from the getstatus poll (e.g. AFS-declined and
|
|
100
|
+
// refunded) is authoritative: finalize even when the full status still
|
|
101
|
+
// reports needToCheck.
|
|
102
|
+
if (terminalStatus) {
|
|
103
|
+
this.stopListening();
|
|
104
|
+
this.statusDoneSubject.next(statusSettings);
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
90
107
|
if (statusSettings.needWebSocket) {
|
|
91
108
|
if (!this.websocketStatusService.isOpened ||
|
|
92
109
|
this.websocketInvoice !== invoice) {
|
|
@@ -113,6 +130,19 @@ export class ListenStatusService {
|
|
|
113
130
|
this.websocketStatusService.closeWebSocket();
|
|
114
131
|
return;
|
|
115
132
|
}
|
|
133
|
+
// AFS-declined / refunded transactions report a terminal failure here
|
|
134
|
+
// (canceled/error + final) while the full status may still say
|
|
135
|
+
// processing. Re-fetch the rich status, then flag it so the update
|
|
136
|
+
// handler overrides the state to the terminal verdict and finalizes.
|
|
137
|
+
const isTerminalFailure = checkStatusResponse.final === true &&
|
|
138
|
+
(checkStatusResponse.status === StatusEnum.canceled ||
|
|
139
|
+
checkStatusResponse.status === StatusEnum.error);
|
|
140
|
+
if (isTerminalFailure) {
|
|
141
|
+
this.pendingTerminalStatus = checkStatusResponse.status;
|
|
142
|
+
this.statusService.request();
|
|
143
|
+
this.websocketStatusService.closeWebSocket();
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
116
146
|
if (checkStatusResponse.final === false) {
|
|
117
147
|
this.websocketStatusService.startReinsuranceCheckTimeout();
|
|
118
148
|
return;
|
|
@@ -140,4 +170,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
140
170
|
providedIn: 'root',
|
|
141
171
|
}]
|
|
142
172
|
}], ctorParameters: () => [{ type: i1.StatusRequestService }, { type: i2.CheckStatusService }, { type: i3.WebsocketStatusService }, { type: i4.UserBehaviourAnalyticsService }] });
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGVuLXN0YXR1cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3BheW1lbnQvc3RhdHVzL2xpc3Rlbi1zdGF0dXMvbGlzdGVuLXN0YXR1cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUs1QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUMxRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtRkFBbUYsQ0FBQzs7Ozs7O0FBSzVILE1BQU0sT0FBTyxtQkFBbUI7SUFVOUIsSUFBVyxnQkFBZ0I7UUFDekIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRUQsWUFDbUIsYUFBbUMsRUFDbkMsa0JBQXNDLEVBQ3RDLHNCQUE4QyxFQUM5Qyw2QkFBNEQ7UUFINUQsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ25DLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QyxrQ0FBNkIsR0FBN0IsNkJBQTZCLENBQStCO1FBckJ4RSxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVWLDJCQUFzQixHQUFHLElBQUksT0FBTyxFQUFrQixDQUFDO1FBQ3ZELHlCQUFvQixHQUFHLElBQUksT0FBTyxFQUFpQixDQUFDO1FBQ3BELHNCQUFpQixH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WSxFQUMzQixjQUFjLENBQUMsb0JBQW9CLEVBQ25DLGNBQWMsQ0FBQyxtQkFBbUIsQ0FDbkMsQ0FBQztRQUNGLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDbkQsQ0FBQzsrR0F6S1UsbUJBQW1CO21IQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs7NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZpbHRlciwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdGF0dXNSZXF1ZXN0U2VydmljZSB9IGZyb20gJy4uL3N0YXR1cy1yZXF1ZXN0L3N0YXR1cy1yZXF1ZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2hlY2tTdGF0dXNTZXJ2aWNlIH0gZnJvbSAnLi4vY2hlY2stc3RhdHVzL2NoZWNrLXN0YXR1cy5zZXJ2aWNlJztcbmltcG9ydCB7IFdlYnNvY2tldFN0YXR1c1NlcnZpY2UgfSBmcm9tICcuLi93ZWJzb2NrZXQtc3RhdHVzL3dlYnNvY2tldC1zdGF0dXMuc2VydmljZSc7XG5pbXBvcnQgeyBTdGF0dXNTZXR0aW5ncyB9IGZyb20gJy4uL3N0YXR1cy1zZXR0aW5ncy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU3RhdHVzRW51bSB9IGZyb20gJy4uL3N0YXR1cy5lbnVtJztcbmltcG9ydCB7IFN0YXR1c1VwZGF0ZWQgfSBmcm9tICcuLi9zdGF0dXMtdXBkYXRlZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU3RhdHVzUmVzcG9uc2UgfSBmcm9tICcuLi9zdGF0dXMtcmVxdWVzdC9yZXNwb25zZS9zdGF0dXMtcmVzcG9uc2UuY2xhc3MnO1xuaW1wb3J0IHsgQ2hlY2tTdGF0dXNSZXNwb25zZSB9IGZyb20gJy4uL2NoZWNrLXN0YXR1cy9yZXNwb25zZS9jaGVjay1zdGF0dXMtcmVzcG9uc2UuY2xhc3MnO1xuaW1wb3J0IHsgVXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlckJlaGF2aW91ckV2ZW50TmFtZSB9IGZyb20gJy4uLy4uLy4uL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1ldmVudC1uYW1lLmVudW0nO1xuaW1wb3J0IHsgdXNlckJlaGF2aW91ckV2ZW50VHlwZXMgfSBmcm9tICcuLi8uLi8uLi91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItZXZlbnQvdXNlci1iZWhhdmlvdXItZXZlbnQtdHlwZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTGlzdGVuU3RhdHVzU2VydmljZSB7XG4gIHB1YmxpYyBpc0xpc3RlbmluZyA9IGZhbHNlO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgd2Vic29ja2V0T3BlbmVkU3ViamVjdCA9IG5ldyBTdWJqZWN0PFN0YXR1c1NldHRpbmdzPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IHN0YXR1c1VwZGF0ZWRTdWJqZWN0ID0gbmV3IFN1YmplY3Q8U3RhdHVzVXBkYXRlZD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBzdGF0dXNEb25lU3ViamVjdCA9IG5ldyBTdWJqZWN0PFN0YXR1c1NldHRpbmdzPigpO1xuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBsaXN0ZW5JbnZvaWNlOiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSB3ZWJzb2NrZXRJbnZvaWNlOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgZ2V0IHdlYnNvY2tldE9wZW5lZCQoKTogT2JzZXJ2YWJsZTxTdGF0dXNTZXR0aW5ncz4ge1xuICAgIHJldHVybiB0aGlzLndlYnNvY2tldE9wZW5lZFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0YXR1c1VwZGF0ZWQkKCk6IE9ic2VydmFibGU8U3RhdHVzVXBkYXRlZD4ge1xuICAgIHJldHVybiB0aGlzLnN0YXR1c1VwZGF0ZWRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhdHVzU2VydmljZTogU3RhdHVzUmVxdWVzdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGVja1N0YXR1c1NlcnZpY2U6IENoZWNrU3RhdHVzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdlYnNvY2tldFN0YXR1c1NlcnZpY2U6IFdlYnNvY2tldFN0YXR1c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZTogVXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2UsXG4gICkge31cblxuICBwdWJsaWMgbGlzdGVuKGludm9pY2U6IG51bWJlcik6IE9ic2VydmFibGU8U3RhdHVzU2V0dGluZ3M+IHtcbiAgICBpZiAodGhpcy5pc0xpc3RlbmluZykge1xuICAgICAgdGhpcy5zdG9wTGlzdGVuaW5nKCk7XG4gICAgfVxuXG4gICAgdGhpcy5kZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgdGhpcy5pc0xpc3RlbmluZyA9IHRydWU7XG4gICAgdGhpcy5saXN0ZW5JbnZvaWNlID0gaW52b2ljZTtcblxuICAgIHRoaXMuc3Vic2NyaWJlU3RhdHVzVXBkYXRlKGludm9pY2UpO1xuICAgIHRoaXMuc3Vic2NyaWJlQ2hlY2tTdGF0dXNVcGRhdGUoKTtcbiAgICB0aGlzLnN1YnNjcmliZVdlYnNvY2tldEV2ZW50KCk7XG5cbiAgICB0aGlzLmNoZWNrU3RhdHVzU2VydmljZS5zZXRSZXF1ZXN0UGFyYW1zKGludm9pY2UpO1xuXG4gICAgcmV0dXJuIHRoaXMuc3RhdHVzRG9uZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgc3RvcExpc3RlbmluZygpOiB2b2lkIHtcbiAgICB0aGlzLmlzTGlzdGVuaW5nID0gZmFsc2U7XG4gICAgdGhpcy5saXN0ZW5JbnZvaWNlID0gbnVsbDtcbiAgICB0aGlzLndlYnNvY2tldEludm9pY2UgPSBudWxsO1xuICAgIHRoaXMud2Vic29ja2V0U3RhdHVzU2VydmljZS5jbG9zZVdlYlNvY2tldCgpO1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBpc0xpc3RlbmluZ0ludm9pY2UoaW52b2ljZTogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNMaXN0ZW5pbmcgJiYgdGhpcy5saXN0ZW5JbnZvaWNlID09PSBpbnZvaWNlO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVTdGF0dXNVcGRhdGUoaW52b2ljZTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0dXNTZXJ2aWNlLnJlc3BvbnNlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoc3RhdHVzUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICByZXR1cm4gc3RhdHVzUmVzcG9uc2U/LnN0YXR1cz8uaW52b2ljZSA9PT0gTnVtYmVyKGludm9pY2UpO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoc3RhdHVzUmVzcG9uc2U6IFN0YXR1c1Jlc3BvbnNlIHwgbnVsbCkgPT4ge1xuICAgICAgICBpZiAoIXN0YXR1c1Jlc3BvbnNlPy5zdGF0dXMpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzdGF0dXNTZXR0aW5ncyA9IHtcbiAgICAgICAgICBzdGF0dXNTdGF0ZTogc3RhdHVzUmVzcG9uc2Uuc3RhdHVzLnN0YXR1c1N0YXRlLFxuICAgICAgICAgIGlzQ2FuY2VsVXNlcjogc3RhdHVzUmVzcG9uc2Uuc3RhdHVzLmlzQ2FuY2VsVXNlcixcbiAgICAgICAgICBuZWVkV2ViU29ja2V0OiBzdGF0dXNSZXNwb25zZS5zdGF0dXMubmVlZFRvQ2hlY2ssXG4gICAgICAgICAgYmFja1VybFNldHRpbmdzOiBzdGF0dXNSZXNwb25zZS5zdGF0dXMuYmFja1VybFNldHRpbmdzLFxuICAgICAgICAgIGF1dG9SZWRpcmVjdDogc3RhdHVzUmVzcG9uc2Uuc3RhdHVzLmF1dG9SZWRpcmVjdCxcbiAgICAgICAgICB3ZWJTb2NrZXRVcmw6IHN0YXR1c1Jlc3BvbnNlLnN0YXR1cy53ZWJTb2NrZXRVcmwsXG4gICAgICAgICAgd2ViU29ja2V0Q2hhbm5lbE5hbWU6IHN0YXR1c1Jlc3BvbnNlLnN0YXR1cy53ZWJTb2NrZXRDaGFubmVsTmFtZSxcbiAgICAgICAgICB3ZWJTb2NrZXRDbGllbnRUeXBlOiBzdGF0dXNSZXNwb25zZS5zdGF0dXMud2ViU29ja2V0Q2xpZW50VHlwZSxcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLnN0YXR1c1VwZGF0ZWRTdWJqZWN0Lm5leHQoe1xuICAgICAgICAgIHN0YXR1c1Jlc3BvbnNlOiBzdGF0dXNSZXNwb25zZSxcbiAgICAgICAgICBzdGF0dXNTZXR0aW5nczogc3RhdHVzU2V0dGluZ3MsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGlzU3RhdHVzRXJyb3IgPVxuICAgICAgICAgIHN0YXR1c1NldHRpbmdzLnN0YXR1c1N0YXRlID09PSBTdGF0dXNFbnVtLmNhbmNlbGVkIHx8XG4gICAgICAgICAgc3RhdHVzU2V0dGluZ3Muc3RhdHVzU3RhdGUgPT09IFN0YXR1c0VudW0uZXJyb3IgfHxcbiAgICAgICAgICBzdGF0dXNTZXR0aW5ncy5pc0NhbmNlbFVzZXI7XG5cbiAgICAgICAgdGhpcy51c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZS5zZW5kKFxuICAgICAgICAgIFVzZXJCZWhhdmlvdXJFdmVudE5hbWUuY2hhbmdlU3RhdHVzLFxuICAgICAgICAgIHVzZXJCZWhhdmlvdXJFdmVudFR5cGVzLm1hbnVhbCxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpbnN0YW5jZUlkOiBzdGF0dXNSZXNwb25zZS5zdGF0dXMucGlkLFxuICAgICAgICAgICAgdmFsdWU6IHN0YXR1c1Jlc3BvbnNlLnN0YXR1cy5zdGF0dXNTdGF0ZSxcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChpc1N0YXR1c0Vycm9yKSB7XG4gICAgICAgICAgdGhpcy51c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZS5zZW5kKFxuICAgICAgICAgICAgVXNlckJlaGF2aW91ckV2ZW50TmFtZS5vcGVuU3RhdHVzRXJyb3IsXG4gICAgICAgICAgICB1c2VyQmVoYXZpb3VyRXZlbnRUeXBlcy5tYW51YWwsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGluc3RhbmNlSWQ6IHN0YXR1c1Jlc3BvbnNlLnN0YXR1cy5waWQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc3RhdHVzU2V0dGluZ3MubmVlZFdlYlNvY2tldCkge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICF0aGlzLndlYnNvY2tldFN0YXR1c1NlcnZpY2UuaXNPcGVuZWQgfHxcbiAgICAgICAgICAgIHRoaXMud2Vic29ja2V0SW52b2ljZSAhPT0gaW52b2ljZVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy53ZWJzb2NrZXRJbnZvaWNlID0gaW52b2ljZTtcbiAgICAgICAgICAgIHRoaXMub3BlbldlYnNvY2tldChzdGF0dXNTZXR0aW5ncyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc3RvcExpc3RlbmluZygpO1xuICAgICAgICB0aGlzLnN0YXR1c0RvbmVTdWJqZWN0Lm5leHQoc3RhdHVzU2V0dGluZ3MpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZUNoZWNrU3RhdHVzVXBkYXRlKCk6IHZvaWQge1xuICAgIHRoaXMuY2hlY2tTdGF0dXNTZXJ2aWNlLnJlc3BvbnNlJFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoY2hlY2tTdGF0dXNSZXNwb25zZTogQ2hlY2tTdGF0dXNSZXNwb25zZSB8IG51bGwpID0+IHtcbiAgICAgICAgaWYgKCFjaGVja1N0YXR1c1Jlc3BvbnNlPy5zdGF0dXMpIHJldHVybjtcblxuICAgICAgICB0aGlzLnVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLnNlbmQoXG4gICAgICAgICAgVXNlckJlaGF2aW91ckV2ZW50TmFtZS5jaGVja1N0YXR1c1VwZGF0ZSxcbiAgICAgICAgICB1c2VyQmVoYXZpb3VyRXZlbnRUeXBlcy5tYW51YWwsXG4gICAgICAgICAge1xuICAgICAgICAgICAgdmFsdWU6IGNoZWNrU3RhdHVzUmVzcG9uc2Uuc3RhdHVzID8/ICcnLFxuICAgICAgICAgIH0sXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKGNoZWNrU3RhdHVzUmVzcG9uc2Uuc3RhdHVzID09PSBTdGF0dXNFbnVtLmRvbmUpIHtcbiAgICAgICAgICB0aGlzLnN0YXR1c1NlcnZpY2UucmVxdWVzdCgpO1xuICAgICAgICAgIHRoaXMud2Vic29ja2V0U3RhdHVzU2VydmljZS5jbG9zZVdlYlNvY2tldCgpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjaGVja1N0YXR1c1Jlc3BvbnNlLmZpbmFsID09PSBmYWxzZSkge1xuICAgICAgICAgIHRoaXMud2Vic29ja2V0U3RhdHVzU2VydmljZS5zdGFydFJlaW5zdXJhbmNlQ2hlY2tUaW1lb3V0KCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaWJlV2Vic29ja2V0RXZlbnQoKTogdm9pZCB7XG4gICAgdGhpcy53ZWJzb2NrZXRTdGF0dXNTZXJ2aWNlLm5lZWRDaGVja1N0YXR1cyRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jaGVja1N0YXR1c1NlcnZpY2UucmVxdWVzdCgpKTtcblxuICAgIHRoaXMud2Vic29ja2V0U3RhdHVzU2VydmljZS5zdGF0dXNDaGFuZ2VkJFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnN0YXR1c1NlcnZpY2UucmVxdWVzdCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlbldlYnNvY2tldChzdGF0dXNTZXR0aW5nczogU3RhdHVzU2V0dGluZ3MpOiB2b2lkIHtcbiAgICB2b2lkIHRoaXMud2Vic29ja2V0U3RhdHVzU2VydmljZS5jaGVja1N0YXR1c1dpdGhXZWJTb2NrZXQoXG4gICAgICBzdGF0dXNTZXR0aW5ncy53ZWJTb2NrZXRVcmwsXG4gICAgICBzdGF0dXNTZXR0aW5ncy53ZWJTb2NrZXRDaGFubmVsTmFtZSxcbiAgICAgIHN0YXR1c1NldHRpbmdzLndlYlNvY2tldENsaWVudFR5cGUsXG4gICAgKTtcbiAgICB0aGlzLndlYnNvY2tldE9wZW5lZFN1YmplY3QubmV4dChzdGF0dXNTZXR0aW5ncyk7XG4gIH1cbn1cbiJdfQ==
|
|
173
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGVuLXN0YXR1cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3BheW1lbnQvc3RhdHVzL2xpc3Rlbi1zdGF0dXMvbGlzdGVuLXN0YXR1cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUs1QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUMxRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtRkFBbUYsQ0FBQzs7Ozs7O0FBSzVILE1BQU0sT0FBTyxtQkFBbUI7SUFXOUIsSUFBVyxnQkFBZ0I7UUFDekIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRUQsWUFDbUIsYUFBbUMsRUFDbkMsa0JBQXNDLEVBQ3RDLHNCQUE4QyxFQUM5Qyw2QkFBNEQ7UUFINUQsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ25DLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QyxrQ0FBNkIsR0FBN0IsNkJBQTZCLENBQStCO1FBdEJ4RSxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVWLDJCQUFzQixHQUFHLElBQUksT0FBTyxFQUFrQixDQUFDO1FBQ3ZELHlCQUFvQixHQUFHLElBQUksT0FBTyxFQUFpQixDQUFDO1FBQ3BELHNCQUFpQixH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QUMsbUJBQW1CLENBQ25DLENBQUM7UUFDRixJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ25ELENBQUM7K0dBNU1VLG1CQUFtQjttSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07OzRGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmaWx0ZXIsIE9ic2VydmFibGUsIFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU3RhdHVzUmVxdWVzdFNlcnZpY2UgfSBmcm9tICcuLi9zdGF0dXMtcmVxdWVzdC9zdGF0dXMtcmVxdWVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IENoZWNrU3RhdHVzU2VydmljZSB9IGZyb20gJy4uL2NoZWNrLXN0YXR1cy9jaGVjay1zdGF0dXMuc2VydmljZSc7XG5pbXBvcnQgeyBXZWJzb2NrZXRTdGF0dXNTZXJ2aWNlIH0gZnJvbSAnLi4vd2Vic29ja2V0LXN0YXR1cy93ZWJzb2NrZXQtc3RhdHVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RhdHVzU2V0dGluZ3MgfSBmcm9tICcuLi9zdGF0dXMtc2V0dGluZ3MuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN0YXR1c0VudW0gfSBmcm9tICcuLi9zdGF0dXMuZW51bSc7XG5pbXBvcnQgeyBTdGF0dXNVcGRhdGVkIH0gZnJvbSAnLi4vc3RhdHVzLXVwZGF0ZWQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN0YXR1c1Jlc3BvbnNlIH0gZnJvbSAnLi4vc3RhdHVzLXJlcXVlc3QvcmVzcG9uc2Uvc3RhdHVzLXJlc3BvbnNlLmNsYXNzJztcbmltcG9ydCB7IENoZWNrU3RhdHVzUmVzcG9uc2UgfSBmcm9tICcuLi9jaGVjay1zdGF0dXMvcmVzcG9uc2UvY2hlY2stc3RhdHVzLXJlc3BvbnNlLmNsYXNzJztcbmltcG9ydCB7IFVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy5zZXJ2aWNlJztcbmltcG9ydCB7IFVzZXJCZWhhdmlvdXJFdmVudE5hbWUgfSBmcm9tICcuLi8uLi8uLi91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItZXZlbnQtbmFtZS5lbnVtJztcbmltcG9ydCB7IHVzZXJCZWhhdmlvdXJFdmVudFR5cGVzIH0gZnJvbSAnLi4vLi4vLi4vdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzL3VzZXItYmVoYXZpb3VyLWV2ZW50L3VzZXItYmVoYXZpb3VyLWV2ZW50LXR5cGVzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIExpc3RlblN0YXR1c1NlcnZpY2Uge1xuICBwdWJsaWMgaXNMaXN0ZW5pbmcgPSBmYWxzZTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHdlYnNvY2tldE9wZW5lZFN1YmplY3QgPSBuZXcgU3ViamVjdDxTdGF0dXNTZXR0aW5ncz4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBzdGF0dXNVcGRhdGVkU3ViamVjdCA9IG5ldyBTdWJqZWN0PFN0YXR1c1VwZGF0ZWQ+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgc3RhdHVzRG9uZVN1YmplY3QgPSBuZXcgU3ViamVjdDxTdGF0dXNTZXR0aW5ncz4oKTtcbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgbGlzdGVuSW52b2ljZTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgd2Vic29ja2V0SW52b2ljZTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgcGVuZGluZ1Rlcm1pbmFsU3RhdHVzOiBTdGF0dXNFbnVtIHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIGdldCB3ZWJzb2NrZXRPcGVuZWQkKCk6IE9ic2VydmFibGU8U3RhdHVzU2V0dGluZ3M+IHtcbiAgICByZXR1cm4gdGhpcy53ZWJzb2NrZXRPcGVuZWRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBzdGF0dXNVcGRhdGVkJCgpOiBPYnNlcnZhYmxlPFN0YXR1c1VwZGF0ZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0dXNVcGRhdGVkU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0YXR1c1NlcnZpY2U6IFN0YXR1c1JlcXVlc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hlY2tTdGF0dXNTZXJ2aWNlOiBDaGVja1N0YXR1c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB3ZWJzb2NrZXRTdGF0dXNTZXJ2aWNlOiBXZWJzb2NrZXRTdGF0dXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2U6IFVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLFxuICApIHt9XG5cbiAgcHVibGljIGxpc3RlbihpbnZvaWNlOiBudW1iZXIpOiBPYnNlcnZhYmxlPFN0YXR1c1NldHRpbmdzPiB7XG4gICAgaWYgKHRoaXMuaXNMaXN0ZW5pbmcpIHtcbiAgICAgIHRoaXMuc3RvcExpc3RlbmluZygpO1xuICAgIH1cblxuICAgIHRoaXMuZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHRoaXMuaXNMaXN0ZW5pbmcgPSB0cnVlO1xuICAgIHRoaXMubGlzdGVuSW52b2ljZSA9IGludm9pY2U7XG5cbiAgICB0aGlzLnN1YnNjcmliZVN0YXR1c1VwZGF0ZShpbnZvaWNlKTtcbiAgICB0aGlzLnN1YnNjcmliZUNoZWNrU3RhdHVzVXBkYXRlKCk7XG4gICAgdGhpcy5zdWJzY3JpYmVXZWJzb2NrZXRFdmVudCgpO1xuXG4gICAgdGhpcy5jaGVja1N0YXR1c1NlcnZpY2Uuc2V0UmVxdWVzdFBhcmFtcyhpbnZvaWNlKTtcblxuICAgIHJldHVybiB0aGlzLnN0YXR1c0RvbmVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIHN0b3BMaXN0ZW5pbmcoKTogdm9pZCB7XG4gICAgdGhpcy5pc0xpc3RlbmluZyA9IGZhbHNlO1xuICAgIHRoaXMubGlzdGVuSW52b2ljZSA9IG51bGw7XG4gICAgdGhpcy53ZWJzb2NrZXRJbnZvaWNlID0gbnVsbDtcbiAgICB0aGlzLnBlbmRpbmdUZXJtaW5hbFN0YXR1cyA9IG51bGw7XG4gICAgdGhpcy53ZWJzb2NrZXRTdGF0dXNTZXJ2aWNlLmNsb3NlV2ViU29ja2V0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIGlzTGlzdGVuaW5nSW52b2ljZShpbnZvaWNlOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0xpc3RlbmluZyAmJiB0aGlzLmxpc3Rlbkludm9pY2UgPT09IGludm9pY2U7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZVN0YXR1c1VwZGF0ZShpbnZvaWNlOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXR1c1NlcnZpY2UucmVzcG9uc2UkXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChzdGF0dXNSZXNwb25zZSkgPT4ge1xuICAgICAgICAgIHJldHVybiBzdGF0dXNSZXNwb25zZT8uc3RhdHVzPy5pbnZvaWNlID09PSBOdW1iZXIoaW52b2ljZSk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChzdGF0dXNSZXNwb25zZTogU3RhdHVzUmVzcG9uc2UgfCBudWxsKSA9PiB7XG4gICAgICAgIGlmICghc3RhdHVzUmVzcG9uc2U/LnN0YXR1cykge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRlcm1pbmFsU3RhdHVzID0gdGhpcy5wZW5kaW5nVGVybWluYWxTdGF0dXM7XG4gICAgICAgIGlmICh0ZXJtaW5hbFN0YXR1cykge1xuICAgICAgICAgIHN0YXR1c1Jlc3BvbnNlLnN0YXR1cy5zdGF0dXNTdGF0ZSA9IHRlcm1pbmFsU3RhdHVzO1xuICAgICAgICAgIGlmICh0ZXJtaW5hbFN0YXR1cyA9PT0gU3RhdHVzRW51bS5jYW5jZWxlZCkge1xuICAgICAgICAgICAgc3RhdHVzUmVzcG9uc2Uuc3RhdHVzLmlzQ2FuY2VsZWQgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHN0YXR1c1NldHRpbmdzID0ge1xuICAgICAgICAgIHN0YXR1c1N0YXRlOiBzdGF0dXNSZXNwb25zZS5zdGF0dXMuc3RhdHVzU3RhdGUsXG4gICAgICAgICAgaXNDYW5jZWxVc2VyOiBzdGF0dXNSZXNwb25zZS5zdGF0dXMuaXNDYW5jZWxVc2VyLFxuICAgICAgICAgIG5lZWRXZWJTb2NrZXQ6IHN0YXR1c1Jlc3BvbnNlLnN0YXR1cy5uZWVkVG9DaGVjayxcbiAgICAgICAgICBiYWNrVXJsU2V0dGluZ3M6IHN0YXR1c1Jlc3BvbnNlLnN0YXR1cy5iYWNrVXJsU2V0dGluZ3MsXG4gICAgICAgICAgYXV0b1JlZGlyZWN0OiBzdGF0dXNSZXNwb25zZS5zdGF0dXMuYXV0b1JlZGlyZWN0LFxuICAgICAgICAgIHdlYlNvY2tldFVybDogc3RhdHVzUmVzcG9uc2Uuc3RhdHVzLndlYlNvY2tldFVybCxcbiAgICAgICAgICB3ZWJTb2NrZXRDaGFubmVsTmFtZTogc3RhdHVzUmVzcG9uc2Uuc3RhdHVzLndlYlNvY2tldENoYW5uZWxOYW1lLFxuICAgICAgICAgIHdlYlNvY2tldENsaWVudFR5cGU6IHN0YXR1c1Jlc3BvbnNlLnN0YXR1cy53ZWJTb2NrZXRDbGllbnRUeXBlLFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuc3RhdHVzVXBkYXRlZFN1YmplY3QubmV4dCh7XG4gICAgICAgICAgc3RhdHVzUmVzcG9uc2U6IHN0YXR1c1Jlc3BvbnNlLFxuICAgICAgICAgIHN0YXR1c1NldHRpbmdzOiBzdGF0dXNTZXR0aW5ncyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgaXNTdGF0dXNFcnJvciA9XG4gICAgICAgICAgc3RhdHVzU2V0dGluZ3Muc3RhdHVzU3RhdGUgPT09IFN0YXR1c0VudW0uY2FuY2VsZWQgfHxcbiAgICAgICAgICBzdGF0dXNTZXR0aW5ncy5zdGF0dXNTdGF0ZSA9PT0gU3RhdHVzRW51bS5lcnJvciB8fFxuICAgICAgICAgIHN0YXR1c1NldHRpbmdzLmlzQ2FuY2VsVXNlcjtcblxuICAgICAgICB0aGlzLnVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLnNlbmQoXG4gICAgICAgICAgVXNlckJlaGF2aW91ckV2ZW50TmFtZS5jaGFuZ2VTdGF0dXMsXG4gICAgICAgICAgdXNlckJlaGF2aW91ckV2ZW50VHlwZXMubWFudWFsLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGluc3RhbmNlSWQ6IHN0YXR1c1Jlc3BvbnNlLnN0YXR1cy5waWQsXG4gICAgICAgICAgICB2YWx1ZTogc3RhdHVzUmVzcG9uc2Uuc3RhdHVzLnN0YXR1c1N0YXRlLFxuICAgICAgICAgIH0sXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKGlzU3RhdHVzRXJyb3IpIHtcbiAgICAgICAgICB0aGlzLnVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLnNlbmQoXG4gICAgICAgICAgICBVc2VyQmVoYXZpb3VyRXZlbnROYW1lLm9wZW5TdGF0dXNFcnJvcixcbiAgICAgICAgICAgIHVzZXJCZWhhdmlvdXJFdmVudFR5cGVzLm1hbnVhbCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaW5zdGFuY2VJZDogc3RhdHVzUmVzcG9uc2Uuc3RhdHVzLnBpZCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEEgdGVybWluYWwgdmVyZGljdCBmcm9tIHRoZSBnZXRzdGF0dXMgcG9sbCAoZS5nLiBBRlMtZGVjbGluZWQgYW5kXG4gICAgICAgIC8vIHJlZnVuZGVkKSBpcyBhdXRob3JpdGF0aXZlOiBmaW5hbGl6ZSBldmVuIHdoZW4gdGhlIGZ1bGwgc3RhdHVzIHN0aWxsXG4gICAgICAgIC8vIHJlcG9ydHMgbmVlZFRvQ2hlY2suXG4gICAgICAgIGlmICh0ZXJtaW5hbFN0YXR1cykge1xuICAgICAgICAgIHRoaXMuc3RvcExpc3RlbmluZygpO1xuICAgICAgICAgIHRoaXMuc3RhdHVzRG9uZVN1YmplY3QubmV4dChzdGF0dXNTZXR0aW5ncyk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHN0YXR1c1NldHRpbmdzLm5lZWRXZWJTb2NrZXQpIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAhdGhpcy53ZWJzb2NrZXRTdGF0dXNTZXJ2aWNlLmlzT3BlbmVkIHx8XG4gICAgICAgICAgICB0aGlzLndlYnNvY2tldEludm9pY2UgIT09IGludm9pY2VcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMud2Vic29ja2V0SW52b2ljZSA9IGludm9pY2U7XG4gICAgICAgICAgICB0aGlzLm9wZW5XZWJzb2NrZXQoc3RhdHVzU2V0dGluZ3MpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnN0b3BMaXN0ZW5pbmcoKTtcbiAgICAgICAgdGhpcy5zdGF0dXNEb25lU3ViamVjdC5uZXh0KHN0YXR1c1NldHRpbmdzKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVDaGVja1N0YXR1c1VwZGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNoZWNrU3RhdHVzU2VydmljZS5yZXNwb25zZSRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKGNoZWNrU3RhdHVzUmVzcG9uc2U6IENoZWNrU3RhdHVzUmVzcG9uc2UgfCBudWxsKSA9PiB7XG4gICAgICAgIGlmICghY2hlY2tTdGF0dXNSZXNwb25zZT8uc3RhdHVzKSByZXR1cm47XG5cbiAgICAgICAgdGhpcy51c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZS5zZW5kKFxuICAgICAgICAgIFVzZXJCZWhhdmlvdXJFdmVudE5hbWUuY2hlY2tTdGF0dXNVcGRhdGUsXG4gICAgICAgICAgdXNlckJlaGF2aW91ckV2ZW50VHlwZXMubWFudWFsLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHZhbHVlOiBjaGVja1N0YXR1c1Jlc3BvbnNlLnN0YXR1cyA/PyAnJyxcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChjaGVja1N0YXR1c1Jlc3BvbnNlLnN0YXR1cyA9PT0gU3RhdHVzRW51bS5kb25lKSB7XG4gICAgICAgICAgdGhpcy5zdGF0dXNTZXJ2aWNlLnJlcXVlc3QoKTtcbiAgICAgICAgICB0aGlzLndlYnNvY2tldFN0YXR1c1NlcnZpY2UuY2xvc2VXZWJTb2NrZXQoKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBRlMtZGVjbGluZWQgLyByZWZ1bmRlZCB0cmFuc2FjdGlvbnMgcmVwb3J0IGEgdGVybWluYWwgZmFpbHVyZSBoZXJlXG4gICAgICAgIC8vIChjYW5jZWxlZC9lcnJvciArIGZpbmFsKSB3aGlsZSB0aGUgZnVsbCBzdGF0dXMgbWF5IHN0aWxsIHNheVxuICAgICAgICAvLyBwcm9jZXNzaW5nLiBSZS1mZXRjaCB0aGUgcmljaCBzdGF0dXMsIHRoZW4gZmxhZyBpdCBzbyB0aGUgdXBkYXRlXG4gICAgICAgIC8vIGhhbmRsZXIgb3ZlcnJpZGVzIHRoZSBzdGF0ZSB0byB0aGUgdGVybWluYWwgdmVyZGljdCBhbmQgZmluYWxpemVzLlxuICAgICAgICBjb25zdCBpc1Rlcm1pbmFsRmFpbHVyZSA9XG4gICAgICAgICAgY2hlY2tTdGF0dXNSZXNwb25zZS5maW5hbCA9PT0gdHJ1ZSAmJlxuICAgICAgICAgIChjaGVja1N0YXR1c1Jlc3BvbnNlLnN0YXR1cyA9PT0gU3RhdHVzRW51bS5jYW5jZWxlZCB8fFxuICAgICAgICAgICAgY2hlY2tTdGF0dXNSZXNwb25zZS5zdGF0dXMgPT09IFN0YXR1c0VudW0uZXJyb3IpO1xuXG4gICAgICAgIGlmIChpc1Rlcm1pbmFsRmFpbHVyZSkge1xuICAgICAgICAgIHRoaXMucGVuZGluZ1Rlcm1pbmFsU3RhdHVzID0gY2hlY2tTdGF0dXNSZXNwb25zZS5zdGF0dXM7XG4gICAgICAgICAgdGhpcy5zdGF0dXNTZXJ2aWNlLnJlcXVlc3QoKTtcbiAgICAgICAgICB0aGlzLndlYnNvY2tldFN0YXR1c1NlcnZpY2UuY2xvc2VXZWJTb2NrZXQoKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY2hlY2tTdGF0dXNSZXNwb25zZS5maW5hbCA9PT0gZmFsc2UpIHtcbiAgICAgICAgICB0aGlzLndlYnNvY2tldFN0YXR1c1NlcnZpY2Uuc3RhcnRSZWluc3VyYW5jZUNoZWNrVGltZW91dCgpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZVdlYnNvY2tldEV2ZW50KCk6IHZvaWQge1xuICAgIHRoaXMud2Vic29ja2V0U3RhdHVzU2VydmljZS5uZWVkQ2hlY2tTdGF0dXMkXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2hlY2tTdGF0dXNTZXJ2aWNlLnJlcXVlc3QoKSk7XG5cbiAgICB0aGlzLndlYnNvY2tldFN0YXR1c1NlcnZpY2Uuc3RhdHVzQ2hhbmdlZCRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5zdGF0dXNTZXJ2aWNlLnJlcXVlc3QoKSk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5XZWJzb2NrZXQoc3RhdHVzU2V0dGluZ3M6IFN0YXR1c1NldHRpbmdzKTogdm9pZCB7XG4gICAgdm9pZCB0aGlzLndlYnNvY2tldFN0YXR1c1NlcnZpY2UuY2hlY2tTdGF0dXNXaXRoV2ViU29ja2V0KFxuICAgICAgc3RhdHVzU2V0dGluZ3Mud2ViU29ja2V0VXJsLFxuICAgICAgc3RhdHVzU2V0dGluZ3Mud2ViU29ja2V0Q2hhbm5lbE5hbWUsXG4gICAgICBzdGF0dXNTZXR0aW5ncy53ZWJTb2NrZXRDbGllbnRUeXBlLFxuICAgICk7XG4gICAgdGhpcy53ZWJzb2NrZXRPcGVuZWRTdWJqZWN0Lm5leHQoc3RhdHVzU2V0dGluZ3MpO1xuICB9XG59XG4iXX0=
|
|
@@ -10,15 +10,17 @@ import * as i3 from "../finance-details/finance-details.service";
|
|
|
10
10
|
import * as i4 from "./listen-status/listen-status.service";
|
|
11
11
|
import * as i5 from "../actions/next-action.service";
|
|
12
12
|
import * as i6 from "./save-payment-method-status/save-payment-method-status.service";
|
|
13
|
-
import * as i7 from "
|
|
13
|
+
import * as i7 from "./check-status/check-status.service";
|
|
14
|
+
import * as i8 from "../actions/status-updated/status-updated.action.class";
|
|
14
15
|
export class StatusService {
|
|
15
|
-
constructor(urlService, statusRequestService, financeDetailsService, listenStatusService, nextActionService, savePaymentMethodStatusService, statusUpdatedActionCreator) {
|
|
16
|
+
constructor(urlService, statusRequestService, financeDetailsService, listenStatusService, nextActionService, savePaymentMethodStatusService, checkStatusService, statusUpdatedActionCreator) {
|
|
16
17
|
this.urlService = urlService;
|
|
17
18
|
this.statusRequestService = statusRequestService;
|
|
18
19
|
this.financeDetailsService = financeDetailsService;
|
|
19
20
|
this.listenStatusService = listenStatusService;
|
|
20
21
|
this.nextActionService = nextActionService;
|
|
21
22
|
this.savePaymentMethodStatusService = savePaymentMethodStatusService;
|
|
23
|
+
this.checkStatusService = checkStatusService;
|
|
22
24
|
this.statusUpdatedActionCreator = statusUpdatedActionCreator;
|
|
23
25
|
this.listenStatusSubscription = null;
|
|
24
26
|
}
|
|
@@ -31,6 +33,7 @@ export class StatusService {
|
|
|
31
33
|
this.startWaitingStatusUpdates(params.invoice);
|
|
32
34
|
this.statusRequestService.request();
|
|
33
35
|
const statusResponse = await firstValueFrom(this.statusRequestService.response$);
|
|
36
|
+
await this.applyPollTerminalStatus(statusResponse.status, params.invoice);
|
|
34
37
|
this.financeDetailsService.emitWithStatus(statusResponse.status);
|
|
35
38
|
return statusResponse.status;
|
|
36
39
|
}
|
|
@@ -49,6 +52,46 @@ export class StatusService {
|
|
|
49
52
|
this.listenStatusSubscription = null;
|
|
50
53
|
this.listenStatusService.stopListening();
|
|
51
54
|
}
|
|
55
|
+
/**
|
|
56
|
+
* The full-status endpoint can report a non-terminal state (e.g.
|
|
57
|
+
* `processing` with group `delivering`) for a transaction that has actually
|
|
58
|
+
* been terminated — most notably a card payment declined by AFS and then
|
|
59
|
+
* auto-refunded. In that scenario the lightweight getstatus poll is the only
|
|
60
|
+
* authoritative terminal signal (`status: canceled`, `final: true`), so we
|
|
61
|
+
* consult it and surface the terminal verdict to the partner instead of
|
|
62
|
+
* leaving `statusState` stuck on `processing`.
|
|
63
|
+
*/
|
|
64
|
+
async applyPollTerminalStatus(status, invoice) {
|
|
65
|
+
const nonTerminalStates = [
|
|
66
|
+
StatusEnum.created,
|
|
67
|
+
StatusEnum.awaiting,
|
|
68
|
+
StatusEnum.processing,
|
|
69
|
+
StatusEnum.held,
|
|
70
|
+
];
|
|
71
|
+
if (!status.needToCheck ||
|
|
72
|
+
!nonTerminalStates.includes(status.statusState)) {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
let pollStatus;
|
|
76
|
+
try {
|
|
77
|
+
pollStatus = await this.checkStatusService.requestStatus(invoice);
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
const terminalStatus = pollStatus.final === true &&
|
|
83
|
+
(pollStatus.status === StatusEnum.canceled ||
|
|
84
|
+
pollStatus.status === StatusEnum.error)
|
|
85
|
+
? pollStatus.status
|
|
86
|
+
: null;
|
|
87
|
+
if (!terminalStatus) {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
status.statusState = terminalStatus;
|
|
91
|
+
if (terminalStatus === StatusEnum.canceled) {
|
|
92
|
+
status.isCanceled = true;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
52
95
|
getRequestParamsFromUrl(url) {
|
|
53
96
|
const searchParams = this.urlService.getSearchParams(url ?? '');
|
|
54
97
|
const keys = new Set(Object.keys(searchParams));
|
|
@@ -84,7 +127,7 @@ export class StatusService {
|
|
|
84
127
|
this.nextActionService.emitFlowUpdates(this.statusUpdatedActionCreator.getActionData({ statusResponse }));
|
|
85
128
|
});
|
|
86
129
|
}
|
|
87
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StatusService, deps: [{ token: i1.UrlService }, { token: i2.StatusRequestService }, { token: i3.FinanceDetailsService }, { token: i4.ListenStatusService }, { token: i5.NextActionService }, { token: i6.SavePaymentMethodStatusService }, { token: i7.StatusUpdatedActionCreator }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
130
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StatusService, deps: [{ token: i1.UrlService }, { token: i2.StatusRequestService }, { token: i3.FinanceDetailsService }, { token: i4.ListenStatusService }, { token: i5.NextActionService }, { token: i6.SavePaymentMethodStatusService }, { token: i7.CheckStatusService }, { token: i8.StatusUpdatedActionCreator }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
88
131
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StatusService, providedIn: 'root' }); }
|
|
89
132
|
}
|
|
90
133
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StatusService, decorators: [{
|
|
@@ -92,5 +135,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
92
135
|
args: [{
|
|
93
136
|
providedIn: 'root',
|
|
94
137
|
}]
|
|
95
|
-
}], ctorParameters: () => [{ type: i1.UrlService }, { type: i2.StatusRequestService }, { type: i3.FinanceDetailsService }, { type: i4.ListenStatusService }, { type: i5.NextActionService }, { type: i6.SavePaymentMethodStatusService }, { type: i7.StatusUpdatedActionCreator }] });
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvcGF5bWVudC9zdGF0dXMvc3RhdHVzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUE0QixNQUFNLE1BQU0sQ0FBQztBQVFoRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUtsRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7QUFLM0MsTUFBTSxPQUFPLGFBQWE7SUFHeEIsWUFDbUIsVUFBc0IsRUFDdEIsb0JBQTBDLEVBQzFDLHFCQUE0QyxFQUM1QyxtQkFBd0MsRUFDeEMsaUJBQW9DLEVBQ3BDLDhCQUE4RCxFQUM5RCwwQkFBc0Q7UUFOdEQsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0Qix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLG1DQUE4QixHQUE5Qiw4QkFBOEIsQ0FBZ0M7UUFDOUQsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUE0QjtRQVRqRSw2QkFBd0IsR0FBd0IsSUFBSSxDQUFDO0lBVTFELENBQUM7SUFFRyxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQTJCO1FBQ2hELE1BQU0sdUJBQXVCLEdBQzNCLE1BQU0sRUFBRSxvQkFBb0IsOEJBQW9CLENBQUM7UUFDbkQsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO1lBQzVCLE9BQU8sSUFBSSxDQUFDLDhCQUE4QixDQUFDLFNB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QVE7aUJBQ3BCLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBRTlDLElBQUksYUFBYSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztvQkFDdkMsYUFBYSxHQUFHLEtBQUssQ0FBQztvQkFDdEIsT0FBTztnQkFDVCxDQUFDO2dCQUNELGFBQWEsR0FBRyxLQUFLLENBQUM7Z0JBRXRCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUVqRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUNwQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsYUFBYSxDQUFDLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FDbEUsQ0FBQztZQUNKLENBQUMsQ0FDRixDQUFDO0lBQ04sQ0FBQzsrR0F6R1UsYUFBYTttSEFBYixhQUFhLGNBRlosTUFBTTs7NEZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdGF0dXNSZXF1ZXN0U2VydmljZSB9IGZyb20gJy4vc3RhdHVzLXJlcXVlc3Qvc3RhdHVzLXJlcXVlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBTdGF0dXNSZXF1ZXN0UGFyYW1zIH0gZnJvbSAnLi9zdGF0dXMtcmVxdWVzdC9zdGF0dXMtcmVxdWVzdC1wYXJhbXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IExpc3RlblN0YXR1c1NlcnZpY2UgfSBmcm9tICcuL2xpc3Rlbi1zdGF0dXMvbGlzdGVuLXN0YXR1cy5zZXJ2aWNlJztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJy4vc3RhdHVzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBOZXh0QWN0aW9uU2VydmljZSB9IGZyb20gJy4uL2FjdGlvbnMvbmV4dC1hY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBTdGF0dXNVcGRhdGVkQWN0aW9uQ3JlYXRvciB9IGZyb20gJy4uL2FjdGlvbnMvc3RhdHVzLXVwZGF0ZWQvc3RhdHVzLXVwZGF0ZWQuYWN0aW9uLmNsYXNzJztcbmltcG9ydCB7IFVybFNlcnZpY2UgfSBmcm9tICcuLi8uLi91cmwvdXJsLnNlcnZpY2UnO1xuaW1wb3J0IHsgcmVxdWlyZWRTdGF0dXNTZWFyY2hQYXJhbXMgfSBmcm9tICcuL3N0YXR1cy1yZXF1ZXN0L3JlcXVpcmVkLXN0YXR1cy1zZWFyY2gtcGFyYW1zLmNvbnN0JztcbmltcG9ydCB7IHN0YXR1c1NlYXJjaFBhcmFtc01hcCB9IGZyb20gJy4vc3RhdHVzLXJlcXVlc3Qvc3RhdHVzLXNlYXJjaC1wYXJhbXMubWFwJztcbmltcG9ydCB7IEZpbmFuY2VEZXRhaWxzU2VydmljZSB9IGZyb20gJy4uL2ZpbmFuY2UtZGV0YWlscy9maW5hbmNlLWRldGFpbHMuc2VydmljZSc7XG5pbXBvcnQgeyBTYXZlUGF5bWVudE1ldGhvZFN0YXR1c1NlcnZpY2UgfSBmcm9tICcuL3NhdmUtcGF5bWVudC1tZXRob2Qtc3RhdHVzL3NhdmUtcGF5bWVudC1tZXRob2Qtc3RhdHVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgWHBzQm9vbGVhbiB9IGZyb20gJy4uLy4uL3hwcy1ib29sZWFuLmVudW0nO1xuaW1wb3J0IHsgU3RhdHVzU2V0dGluZ3MgfSBmcm9tICcuL3N0YXR1cy1zZXR0aW5ncy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU3RhdHVzRW51bSB9IGZyb20gJy4vc3RhdHVzLmVudW0nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU3RhdHVzU2VydmljZSB7XG4gIHByaXZhdGUgbGlzdGVuU3RhdHVzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSB1cmxTZXJ2aWNlOiBVcmxTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhdHVzUmVxdWVzdFNlcnZpY2U6IFN0YXR1c1JlcXVlc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmluYW5jZURldGFpbHNTZXJ2aWNlOiBGaW5hbmNlRGV0YWlsc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBsaXN0ZW5TdGF0dXNTZXJ2aWNlOiBMaXN0ZW5TdGF0dXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmV4dEFjdGlvblNlcnZpY2U6IE5leHRBY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2F2ZVBheW1lbnRNZXRob2RTdGF0dXNTZXJ2aWNlOiBTYXZlUGF5bWVudE1ldGhvZFN0YXR1c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGF0dXNVcGRhdGVkQWN0aW9uQ3JlYXRvcjogU3RhdHVzVXBkYXRlZEFjdGlvbkNyZWF0b3IsXG4gICkge31cblxuICBwdWJsaWMgYXN5bmMgZ2V0U3RhdHVzKHBhcmFtczogU3RhdHVzUmVxdWVzdFBhcmFtcyk6IFByb21pc2U8U3RhdHVzPiB7XG4gICAgY29uc3QgaXNTYXZlUGF5bWVudE1ldGhvZE1vZGUgPVxuICAgICAgcGFyYW1zPy5pc1NhdmVQYXltZW50QWNjb3VudCA9PT0gWHBzQm9vbGVhbi50cnVlO1xuICAgIGlmIChpc1NhdmVQYXltZW50TWV0aG9kTW9kZSkge1xuICAgICAgcmV0dXJuIHRoaXMuc2F2ZVBheW1lbnRNZXRob2RTdGF0dXNTZXJ2aWNlLmdldFN0YXR1cyhwYXJhbXMpO1xuICAgIH1cblxuICAgIHRoaXMuc3RhdHVzUmVxdWVzdFNlcnZpY2Uuc2V0UmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuXG4gICAgdGhpcy5zdGFydFdhaXRpbmdTdGF0dXNVcGRhdGVzKHBhcmFtcy5pbnZvaWNlKTtcblxuICAgIHRoaXMuc3RhdHVzUmVxdWVzdFNlcnZpY2UucmVxdWVzdCgpO1xuXG4gICAgY29uc3Qgc3RhdHVzUmVzcG9uc2UgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgIHRoaXMuc3RhdHVzUmVxdWVzdFNlcnZpY2UucmVzcG9uc2UkLFxuICAgICk7XG5cbiAgICB0aGlzLmZpbmFuY2VEZXRhaWxzU2VydmljZS5lbWl0V2l0aFN0YXR1cyhzdGF0dXNSZXNwb25zZS5zdGF0dXMpO1xuXG4gICAgcmV0dXJuIHN0YXR1c1Jlc3BvbnNlLnN0YXR1cztcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRTdGF0dXNXaXRoVXJsU2VhcmNoUGFyYW1zKHVybD86IHN0cmluZyk6IFByb21pc2U8U3RhdHVzPiB7XG4gICAgY29uc3Qgc2VhcmNoUGFyYW1zID0gdGhpcy5nZXRSZXF1ZXN0UGFyYW1zRnJvbVVybCh1cmwpO1xuXG4gICAgaWYgKCFzZWFyY2hQYXJhbXMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm8gcmVxdWlyZWQgc2VhcmNoIHBhcmFtcyB0byBnZXQgc3RhdHVzJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZ2V0U3RhdHVzKHNlYXJjaFBhcmFtcyk7XG4gIH1cblxuICBwdWJsaWMgbGlzdGVuRmluYWxTdGF0dXMoaW52b2ljZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxTdGF0dXNTZXR0aW5ncz4ge1xuICAgIHJldHVybiB0aGlzLmxpc3RlblN0YXR1c1NlcnZpY2UubGlzdGVuKGludm9pY2UpO1xuICB9XG5cbiAgcHVibGljIHN0b3BXYWl0aW5nU3RhdHVzVXBkYXRlcygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblN0YXR1c1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmxpc3RlblN0YXR1c1N1YnNjcmlwdGlvbiA9IG51bGw7XG4gICAgdGhpcy5saXN0ZW5TdGF0dXNTZXJ2aWNlLnN0b3BMaXN0ZW5pbmcoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UmVxdWVzdFBhcmFtc0Zyb21VcmwodXJsPzogc3RyaW5nKTogU3RhdHVzUmVxdWVzdFBhcmFtcyB8IG51bGwge1xuICAgIGNvbnN0IHNlYXJjaFBhcmFtcyA9IHRoaXMudXJsU2VydmljZS5nZXRTZWFyY2hQYXJhbXModXJsID8/ICcnKTtcbiAgICBjb25zdCBrZXlzID0gbmV3IFNldChPYmplY3Qua2V5cyhzZWFyY2hQYXJhbXMpKTtcblxuICAgIGlmIChcbiAgICAgIHJlcXVpcmVkU3RhdHVzU2VhcmNoUGFyYW1zLnNvbWUoKHJlcXVpcmVkS2V5KSA9PiAha2V5cy5oYXMocmVxdWlyZWRLZXkpKVxuICAgICkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgcGFyYW1zOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB9ID0ge307XG4gICAgc3RhdHVzU2VhcmNoUGFyYW1zTWFwLmZvckVhY2goKHNldHRpbmdzLCBrZXkpID0+IHtcbiAgICAgIHBhcmFtc1tzZXR0aW5ncy5rZXldID0gc2V0dGluZ3MuY29udmVydGVyKHNlYXJjaFBhcmFtc1trZXldKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBwYXJhbXMgYXMgdW5rbm93biBhcyBTdGF0dXNSZXF1ZXN0UGFyYW1zO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGFydFdhaXRpbmdTdGF0dXNVcGRhdGVzKGludm9pY2U6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh0aGlzLmxpc3RlblN0YXR1c1NlcnZpY2UuaXNMaXN0ZW5pbmdJbnZvaWNlKGludm9pY2UpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5saXN0ZW5TdGF0dXNTZXJ2aWNlLmxpc3RlbihpbnZvaWNlKTtcblxuICAgIGxldCBpc0ZpcnN0U3RhdHVzID0gdHJ1ZTtcblxuICAgIHRoaXMubGlzdGVuU3RhdHVzU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMubGlzdGVuU3RhdHVzU3Vic2NyaXB0aW9uID1cbiAgICAgIHRoaXMubGlzdGVuU3RhdHVzU2VydmljZS5zdGF0dXNVcGRhdGVkJC5zdWJzY3JpYmUoXG4gICAgICAgICh7IHN0YXR1c1Jlc3BvbnNlIH0pID0+IHtcbiAgICAgICAgICBjb25zdCBpc1Rlcm1pbmFsU3RhdHVzID0gW1xuICAgICAgICAgICAgU3RhdHVzRW51bS5kb25lLFxuICAgICAgICAgICAgU3RhdHVzRW51bS5lcnJvcixcbiAgICAgICAgICAgIFN0YXR1c0VudW0uY2FuY2VsZWQsXG4gICAgICAgICAgXS5pbmNsdWRlcyhzdGF0dXNSZXNwb25zZS5zdGF0dXMuc3RhdHVzU3RhdGUpO1xuXG4gICAgICAgICAgaWYgKGlzRmlyc3RTdGF0dXMgJiYgIWlzVGVybWluYWxTdGF0dXMpIHtcbiAgICAgICAgICAgIGlzRmlyc3RTdGF0dXMgPSBmYWxzZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgaXNGaXJzdFN0YXR1cyA9IGZhbHNlO1xuXG4gICAgICAgICAgdGhpcy5maW5hbmNlRGV0YWlsc1NlcnZpY2UuZW1pdFdpdGhTdGF0dXMoc3RhdHVzUmVzcG9uc2Uuc3RhdHVzKTtcblxuICAgICAgICAgIHRoaXMubmV4dEFjdGlvblNlcnZpY2UuZW1pdEZsb3dVcGRhdGVzKFxuICAgICAgICAgICAgdGhpcy5zdGF0dXNVcGRhdGVkQWN0aW9uQ3JlYXRvci5nZXRBY3Rpb25EYXRhKHsgc3RhdHVzUmVzcG9uc2UgfSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSxcbiAgICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
138
|
+
}], ctorParameters: () => [{ type: i1.UrlService }, { type: i2.StatusRequestService }, { type: i3.FinanceDetailsService }, { type: i4.ListenStatusService }, { type: i5.NextActionService }, { type: i6.SavePaymentMethodStatusService }, { type: i7.CheckStatusService }, { type: i8.StatusUpdatedActionCreator }] });
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvcGF5bWVudC9zdGF0dXMvc3RhdHVzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUE0QixNQUFNLE1BQU0sQ0FBQztBQVFoRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQU9sRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7O0FBSzNDLE1BQU0sT0FBTyxhQUFhO0lBR3hCLFlBQ21CLFVBQXNCLEVBQ3RCLG9CQUEwQyxFQUMxQyxxQkFBNEMsRUFDNUMsbUJBQXdDLEVBQ3hDLGlCQUFvQyxFQUNwQyw4QkFBOEQsRUFDOUQsa0JBQXNDLEVBQ3RDLDBCQUFzRDtRQVB0RCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsbUNBQThCLEdBQTlCLDhCQUE4QixDQUFnQztRQUM5RCx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBNEI7UUFWakUsNkJBQXdCLEdBQXdCLElBQUksQ0FBQztJQVcxRCxDQUFDO0lBRUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUEyQjtRQUNoRCxNQUFNLHVCQUF1QixHQUMzQixNQUFNLEVBQUUsb0JBQW9CLDhCQUFvQixDQUFDO1FBQ25ELElBQUksdUJBQXVC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Q0FBQyxJQUFJO29CQUNmLFVBQVUsQ0FBQyxLQUFLO29CQUNoQixVQUFVLENBQUMsUUFBUTtpQkFDcEIsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFFOUMsSUFBSSxhQUFhLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO29CQUN2QyxhQUFhLEdBQUcsS0FBSyxDQUFDO29CQUN0QixPQUFPO2dCQUNULENBQUM7Z0JBQ0QsYUFBYSxHQUFHLEtBQUssQ0FBQztnQkFFdEIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBRWpFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQ3BDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxhQUFhLENBQUMsRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUNsRSxDQUFDO1lBQ0osQ0FBQyxDQUNGLENBQUM7SUFDTixDQUFDOytHQWhLVSxhQUFhO21IQUFiLGFBQWEsY0FGWixNQUFNOzs0RkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tLCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN0YXR1c1JlcXVlc3RTZXJ2aWNlIH0gZnJvbSAnLi9zdGF0dXMtcmVxdWVzdC9zdGF0dXMtcmVxdWVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IFN0YXR1c1JlcXVlc3RQYXJhbXMgfSBmcm9tICcuL3N0YXR1cy1yZXF1ZXN0L3N0YXR1cy1yZXF1ZXN0LXBhcmFtcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTGlzdGVuU3RhdHVzU2VydmljZSB9IGZyb20gJy4vbGlzdGVuLXN0YXR1cy9saXN0ZW4tc3RhdHVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi9zdGF0dXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IE5leHRBY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vYWN0aW9ucy9uZXh0LWFjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFN0YXR1c1VwZGF0ZWRBY3Rpb25DcmVhdG9yIH0gZnJvbSAnLi4vYWN0aW9ucy9zdGF0dXMtdXBkYXRlZC9zdGF0dXMtdXBkYXRlZC5hY3Rpb24uY2xhc3MnO1xuaW1wb3J0IHsgVXJsU2VydmljZSB9IGZyb20gJy4uLy4uL3VybC91cmwuc2VydmljZSc7XG5pbXBvcnQgeyByZXF1aXJlZFN0YXR1c1NlYXJjaFBhcmFtcyB9IGZyb20gJy4vc3RhdHVzLXJlcXVlc3QvcmVxdWlyZWQtc3RhdHVzLXNlYXJjaC1wYXJhbXMuY29uc3QnO1xuaW1wb3J0IHsgc3RhdHVzU2VhcmNoUGFyYW1zTWFwIH0gZnJvbSAnLi9zdGF0dXMtcmVxdWVzdC9zdGF0dXMtc2VhcmNoLXBhcmFtcy5tYXAnO1xuaW1wb3J0IHsgRmluYW5jZURldGFpbHNTZXJ2aWNlIH0gZnJvbSAnLi4vZmluYW5jZS1kZXRhaWxzL2ZpbmFuY2UtZGV0YWlscy5zZXJ2aWNlJztcbmltcG9ydCB7IFNhdmVQYXltZW50TWV0aG9kU3RhdHVzU2VydmljZSB9IGZyb20gJy4vc2F2ZS1wYXltZW50LW1ldGhvZC1zdGF0dXMvc2F2ZS1wYXltZW50LW1ldGhvZC1zdGF0dXMuc2VydmljZSc7XG5pbXBvcnQgeyBDaGVja1N0YXR1c1NlcnZpY2UgfSBmcm9tICcuL2NoZWNrLXN0YXR1cy9jaGVjay1zdGF0dXMuc2VydmljZSc7XG5pbXBvcnQgeyBDaGVja1N0YXR1c1Jlc3BvbnNlIH0gZnJvbSAnLi9jaGVjay1zdGF0dXMvcmVzcG9uc2UvY2hlY2stc3RhdHVzLXJlc3BvbnNlLmNsYXNzJztcbmltcG9ydCB7IFhwc0Jvb2xlYW4gfSBmcm9tICcuLi8uLi94cHMtYm9vbGVhbi5lbnVtJztcbmltcG9ydCB7IFN0YXR1c1NldHRpbmdzIH0gZnJvbSAnLi9zdGF0dXMtc2V0dGluZ3MuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN0YXR1c0VudW0gfSBmcm9tICcuL3N0YXR1cy5lbnVtJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFN0YXR1c1NlcnZpY2Uge1xuICBwcml2YXRlIGxpc3RlblN0YXR1c1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdXJsU2VydmljZTogVXJsU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0YXR1c1JlcXVlc3RTZXJ2aWNlOiBTdGF0dXNSZXF1ZXN0U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZpbmFuY2VEZXRhaWxzU2VydmljZTogRmluYW5jZURldGFpbHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGlzdGVuU3RhdHVzU2VydmljZTogTGlzdGVuU3RhdHVzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5leHRBY3Rpb25TZXJ2aWNlOiBOZXh0QWN0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNhdmVQYXltZW50TWV0aG9kU3RhdHVzU2VydmljZTogU2F2ZVBheW1lbnRNZXRob2RTdGF0dXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hlY2tTdGF0dXNTZXJ2aWNlOiBDaGVja1N0YXR1c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGF0dXNVcGRhdGVkQWN0aW9uQ3JlYXRvcjogU3RhdHVzVXBkYXRlZEFjdGlvbkNyZWF0b3IsXG4gICkge31cblxuICBwdWJsaWMgYXN5bmMgZ2V0U3RhdHVzKHBhcmFtczogU3RhdHVzUmVxdWVzdFBhcmFtcyk6IFByb21pc2U8U3RhdHVzPiB7XG4gICAgY29uc3QgaXNTYXZlUGF5bWVudE1ldGhvZE1vZGUgPVxuICAgICAgcGFyYW1zPy5pc1NhdmVQYXltZW50QWNjb3VudCA9PT0gWHBzQm9vbGVhbi50cnVlO1xuICAgIGlmIChpc1NhdmVQYXltZW50TWV0aG9kTW9kZSkge1xuICAgICAgcmV0dXJuIHRoaXMuc2F2ZVBheW1lbnRNZXRob2RTdGF0dXNTZXJ2aWNlLmdldFN0YXR1cyhwYXJhbXMpO1xuICAgIH1cblxuICAgIHRoaXMuc3RhdHVzUmVxdWVzdFNlcnZpY2Uuc2V0UmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuXG4gICAgdGhpcy5zdGFydFdhaXRpbmdTdGF0dXNVcGRhdGVzKHBhcmFtcy5pbnZvaWNlKTtcblxuICAgIHRoaXMuc3RhdHVzUmVxdWVzdFNlcnZpY2UucmVxdWVzdCgpO1xuXG4gICAgY29uc3Qgc3RhdHVzUmVzcG9uc2UgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgIHRoaXMuc3RhdHVzUmVxdWVzdFNlcnZpY2UucmVzcG9uc2UkLFxuICAgICk7XG5cbiAgICBhd2FpdCB0aGlzLmFwcGx5UG9sbFRlcm1pbmFsU3RhdHVzKHN0YXR1c1Jlc3BvbnNlLnN0YXR1cywgcGFyYW1zLmludm9pY2UpO1xuXG4gICAgdGhpcy5maW5hbmNlRGV0YWlsc1NlcnZpY2UuZW1pdFdpdGhTdGF0dXMoc3RhdHVzUmVzcG9uc2Uuc3RhdHVzKTtcblxuICAgIHJldHVybiBzdGF0dXNSZXNwb25zZS5zdGF0dXM7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0U3RhdHVzV2l0aFVybFNlYXJjaFBhcmFtcyh1cmw/OiBzdHJpbmcpOiBQcm9taXNlPFN0YXR1cz4ge1xuICAgIGNvbnN0IHNlYXJjaFBhcmFtcyA9IHRoaXMuZ2V0UmVxdWVzdFBhcmFtc0Zyb21VcmwodXJsKTtcblxuICAgIGlmICghc2VhcmNoUGFyYW1zKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIHJlcXVpcmVkIHNlYXJjaCBwYXJhbXMgdG8gZ2V0IHN0YXR1cycpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmdldFN0YXR1cyhzZWFyY2hQYXJhbXMpO1xuICB9XG5cbiAgcHVibGljIGxpc3RlbkZpbmFsU3RhdHVzKGludm9pY2U6IG51bWJlcik6IE9ic2VydmFibGU8U3RhdHVzU2V0dGluZ3M+IHtcbiAgICByZXR1cm4gdGhpcy5saXN0ZW5TdGF0dXNTZXJ2aWNlLmxpc3RlbihpbnZvaWNlKTtcbiAgfVxuXG4gIHB1YmxpYyBzdG9wV2FpdGluZ1N0YXR1c1VwZGF0ZXMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5TdGF0dXNTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5saXN0ZW5TdGF0dXNTdWJzY3JpcHRpb24gPSBudWxsO1xuICAgIHRoaXMubGlzdGVuU3RhdHVzU2VydmljZS5zdG9wTGlzdGVuaW5nKCk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGZ1bGwtc3RhdHVzIGVuZHBvaW50IGNhbiByZXBvcnQgYSBub24tdGVybWluYWwgc3RhdGUgKGUuZy5cbiAgICogYHByb2Nlc3NpbmdgIHdpdGggZ3JvdXAgYGRlbGl2ZXJpbmdgKSBmb3IgYSB0cmFuc2FjdGlvbiB0aGF0IGhhcyBhY3R1YWxseVxuICAgKiBiZWVuIHRlcm1pbmF0ZWQg4oCUIG1vc3Qgbm90YWJseSBhIGNhcmQgcGF5bWVudCBkZWNsaW5lZCBieSBBRlMgYW5kIHRoZW5cbiAgICogYXV0by1yZWZ1bmRlZC4gSW4gdGhhdCBzY2VuYXJpbyB0aGUgbGlnaHR3ZWlnaHQgZ2V0c3RhdHVzIHBvbGwgaXMgdGhlIG9ubHlcbiAgICogYXV0aG9yaXRhdGl2ZSB0ZXJtaW5hbCBzaWduYWwgKGBzdGF0dXM6IGNhbmNlbGVkYCwgYGZpbmFsOiB0cnVlYCksIHNvIHdlXG4gICAqIGNvbnN1bHQgaXQgYW5kIHN1cmZhY2UgdGhlIHRlcm1pbmFsIHZlcmRpY3QgdG8gdGhlIHBhcnRuZXIgaW5zdGVhZCBvZlxuICAgKiBsZWF2aW5nIGBzdGF0dXNTdGF0ZWAgc3R1Y2sgb24gYHByb2Nlc3NpbmdgLlxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBhcHBseVBvbGxUZXJtaW5hbFN0YXR1cyhcbiAgICBzdGF0dXM6IFN0YXR1cyxcbiAgICBpbnZvaWNlOiBudW1iZXIsXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IG5vblRlcm1pbmFsU3RhdGVzID0gW1xuICAgICAgU3RhdHVzRW51bS5jcmVhdGVkLFxuICAgICAgU3RhdHVzRW51bS5hd2FpdGluZyxcbiAgICAgIFN0YXR1c0VudW0ucHJvY2Vzc2luZyxcbiAgICAgIFN0YXR1c0VudW0uaGVsZCxcbiAgICBdO1xuXG4gICAgaWYgKFxuICAgICAgIXN0YXR1cy5uZWVkVG9DaGVjayB8fFxuICAgICAgIW5vblRlcm1pbmFsU3RhdGVzLmluY2x1ZGVzKHN0YXR1cy5zdGF0dXNTdGF0ZSlcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgcG9sbFN0YXR1czogQ2hlY2tTdGF0dXNSZXNwb25zZTtcbiAgICB0cnkge1xuICAgICAgcG9sbFN0YXR1cyA9IGF3YWl0IHRoaXMuY2hlY2tTdGF0dXNTZXJ2aWNlLnJlcXVlc3RTdGF0dXMoaW52b2ljZSk7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdGVybWluYWxTdGF0dXMgPVxuICAgICAgcG9sbFN0YXR1cy5maW5hbCA9PT0gdHJ1ZSAmJlxuICAgICAgKHBvbGxTdGF0dXMuc3RhdHVzID09PSBTdGF0dXNFbnVtLmNhbmNlbGVkIHx8XG4gICAgICAgIHBvbGxTdGF0dXMuc3RhdHVzID09PSBTdGF0dXNFbnVtLmVycm9yKVxuICAgICAgICA/IHBvbGxTdGF0dXMuc3RhdHVzXG4gICAgICAgIDogbnVsbDtcblxuICAgIGlmICghdGVybWluYWxTdGF0dXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzdGF0dXMuc3RhdHVzU3RhdGUgPSB0ZXJtaW5hbFN0YXR1cztcblxuICAgIGlmICh0ZXJtaW5hbFN0YXR1cyA9PT0gU3RhdHVzRW51bS5jYW5jZWxlZCkge1xuICAgICAgc3RhdHVzLmlzQ2FuY2VsZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0UmVxdWVzdFBhcmFtc0Zyb21VcmwodXJsPzogc3RyaW5nKTogU3RhdHVzUmVxdWVzdFBhcmFtcyB8IG51bGwge1xuICAgIGNvbnN0IHNlYXJjaFBhcmFtcyA9IHRoaXMudXJsU2VydmljZS5nZXRTZWFyY2hQYXJhbXModXJsID8/ICcnKTtcbiAgICBjb25zdCBrZXlzID0gbmV3IFNldChPYmplY3Qua2V5cyhzZWFyY2hQYXJhbXMpKTtcblxuICAgIGlmIChcbiAgICAgIHJlcXVpcmVkU3RhdHVzU2VhcmNoUGFyYW1zLnNvbWUoKHJlcXVpcmVkS2V5KSA9PiAha2V5cy5oYXMocmVxdWlyZWRLZXkpKVxuICAgICkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgcGFyYW1zOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB9ID0ge307XG4gICAgc3RhdHVzU2VhcmNoUGFyYW1zTWFwLmZvckVhY2goKHNldHRpbmdzLCBrZXkpID0+IHtcbiAgICAgIHBhcmFtc1tzZXR0aW5ncy5rZXldID0gc2V0dGluZ3MuY29udmVydGVyKHNlYXJjaFBhcmFtc1trZXldKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBwYXJhbXMgYXMgdW5rbm93biBhcyBTdGF0dXNSZXF1ZXN0UGFyYW1zO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGFydFdhaXRpbmdTdGF0dXNVcGRhdGVzKGludm9pY2U6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh0aGlzLmxpc3RlblN0YXR1c1NlcnZpY2UuaXNMaXN0ZW5pbmdJbnZvaWNlKGludm9pY2UpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5saXN0ZW5TdGF0dXNTZXJ2aWNlLmxpc3RlbihpbnZvaWNlKTtcblxuICAgIGxldCBpc0ZpcnN0U3RhdHVzID0gdHJ1ZTtcblxuICAgIHRoaXMubGlzdGVuU3RhdHVzU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMubGlzdGVuU3RhdHVzU3Vic2NyaXB0aW9uID1cbiAgICAgIHRoaXMubGlzdGVuU3RhdHVzU2VydmljZS5zdGF0dXNVcGRhdGVkJC5zdWJzY3JpYmUoXG4gICAgICAgICh7IHN0YXR1c1Jlc3BvbnNlIH0pID0+IHtcbiAgICAgICAgICBjb25zdCBpc1Rlcm1pbmFsU3RhdHVzID0gW1xuICAgICAgICAgICAgU3RhdHVzRW51bS5kb25lLFxuICAgICAgICAgICAgU3RhdHVzRW51bS5lcnJvcixcbiAgICAgICAgICAgIFN0YXR1c0VudW0uY2FuY2VsZWQsXG4gICAgICAgICAgXS5pbmNsdWRlcyhzdGF0dXNSZXNwb25zZS5zdGF0dXMuc3RhdHVzU3RhdGUpO1xuXG4gICAgICAgICAgaWYgKGlzRmlyc3RTdGF0dXMgJiYgIWlzVGVybWluYWxTdGF0dXMpIHtcbiAgICAgICAgICAgIGlzRmlyc3RTdGF0dXMgPSBmYWxzZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgaXNGaXJzdFN0YXR1cyA9IGZhbHNlO1xuXG4gICAgICAgICAgdGhpcy5maW5hbmNlRGV0YWlsc1NlcnZpY2UuZW1pdFdpdGhTdGF0dXMoc3RhdHVzUmVzcG9uc2Uuc3RhdHVzKTtcblxuICAgICAgICAgIHRoaXMubmV4dEFjdGlvblNlcnZpY2UuZW1pdEZsb3dVcGRhdGVzKFxuICAgICAgICAgICAgdGhpcy5zdGF0dXNVcGRhdGVkQWN0aW9uQ3JlYXRvci5nZXRBY3Rpb25EYXRhKHsgc3RhdHVzUmVzcG9uc2UgfSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSxcbiAgICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -59,8 +59,12 @@ export class WebsocketStatusService {
|
|
|
59
59
|
this.clearReinsuranceCheckTimeout();
|
|
60
60
|
}
|
|
61
61
|
if (message === WebSocketStatus.troubledStatus) {
|
|
62
|
+
// A troubled status can be the terminal AFS-declined/refunded outcome.
|
|
63
|
+
// Trigger a getstatus poll so listen-status can read the authoritative
|
|
64
|
+
// verdict and finalize, instead of silently closing and leaving the UI
|
|
65
|
+
// stuck on "Processing"
|
|
62
66
|
this.clearReinsuranceCheckTimeout();
|
|
63
|
-
this.
|
|
67
|
+
this.needCheckStatusSubject.next();
|
|
64
68
|
}
|
|
65
69
|
}
|
|
66
70
|
removeSubscription() {
|
|
@@ -76,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
76
80
|
providedIn: 'root',
|
|
77
81
|
}]
|
|
78
82
|
}], ctorParameters: () => [{ type: i1.WebSocketFactory }] });
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0LXN0YXR1cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3BheW1lbnQvc3RhdHVzL3dlYnNvY2tldC1zdGF0dXMvd2Vic29ja2V0LXN0YXR1cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFJekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7QUFLMUQsTUFBTSxPQUFPLHNCQUFzQjtJQWdCakMsSUFBVyxnQkFBZ0I7UUFDekIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDcEQsQ0FBQztJQUNELElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGVBQWUsRUFBRSxRQUFRLEVBQUUsSUFBSSxLQUFLLENBQUM7SUFDbkQsQ0FBQztJQUVELFlBQW9DLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBeEJyRCwyQkFBc0IsR0FHbkM7WUFDRixTQUFTLEVBQUUsSUFBSTtZQUNmLFNBQVMsRUFBRSxNQUFNO1NBQ2xCLENBQUM7UUFFZSwyQkFBc0IsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQzdDLHlCQUFvQixHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFcEQsb0JBQWUsR0FBMkIsSUFBSSxDQUFDO0lBYWtCLENBQUM7SUFFbkUsS0FBSyxDQUFDLHdCQUF3QixDQUNuQyxZQUFvQixFQUNwQixvQkFBNEIsRUFDNUIsbUJBQXdDO1FBRXhDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixDQUNoRSxZQUFZLEVBQ1osbUJBQW1CLENBQ3BCLENBQUM7UUFFRixNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO1FBRXBFLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUNuRSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUM1QyxDQUFDO1FBRUYsSUFBSSxDQUFDLGlDQUFpQztZQUNwQyxJQUFJLENBQUMsZUFBZSxDQUFDLGlDQUFpQyxDQUFDLEdBQUcsRUFBRTtnQkFDMUQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3JDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFTSxjQUFjO1FBQ25CLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxlQUFlLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVNLDRCQUE0QjtRQUNqQyxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDdEQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JDLENBQUMsRUFBRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVPLDRCQUE0QjtRQUNsQyxJQUFJLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMxQyxZQUFZLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3BELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQy9DLENBQUM7SUFDSCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsT0FBZTtRQUN0QyxJQUFJLE9BQU8sS0FBSyxlQUFlLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDOUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztRQUN0QyxDQUFDO1FBQ0QsSUFBSSxPQUFPLEtBQUssZUFBZSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQy9DLHVFQUF1RTtZQUN2RSx1RUFBdUU7WUFDdkUsdUVBQXVFO1lBQ3ZFLHdCQUF3QjtZQUN4QixJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckMsQ0FBQztJQUNILENBQUM7SUFFTyxrQkFBa0I7UUFDeEIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQzFDLElBQUksQ0FBQyxpQ0FBaUMsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUN4RCxDQUFDOytHQTdGVSxzQkFBc0I7bUhBQXRCLHNCQUFzQixjQUZyQixNQUFNOzs0RkFFUCxzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBXZWJTb2NrZXRGYWN0b3J5IH0gZnJvbSAnLi4vLi4vLi4vd2ViLXNvY2tldC93ZWItc29ja2V0LmZhY3RvcnknO1xuaW1wb3J0IHsgV2ViU29ja2V0Q2xpZW50IH0gZnJvbSAnLi4vLi4vLi4vd2ViLXNvY2tldC93ZWItc29ja2V0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBXZWJTb2NrZXRDbGllbnRUeXBlIH0gZnJvbSAnLi4vLi4vLi4vd2ViLXNvY2tldC93ZWItc29ja2V0LWNsaWVudC10eXBlLmVudW0nO1xuaW1wb3J0IHsgV2ViU29ja2V0U3RhdHVzIH0gZnJvbSAnLi93ZWJzb2NrZXQtc3RhdHVzLmVudW0nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgV2Vic29ja2V0U3RhdHVzU2VydmljZSB7XG4gIHByaXZhdGUgd2ViU29ja2V0U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgd2ViU29ja2V0UmVjb25uZWN0aW9uU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVpbnN1cmFuY2VDaGVja1N0YXR1czoge1xuICAgIHRpbWVvdXRJZDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCBudWxsO1xuICAgIHJlYWRvbmx5IHRpbWVvdXRNczogbnVtYmVyO1xuICB9ID0ge1xuICAgIHRpbWVvdXRJZDogbnVsbCxcbiAgICB0aW1lb3V0TXM6IDE4MDAwMCxcbiAgfTtcblxuICBwcml2YXRlIHJlYWRvbmx5IG5lZWRDaGVja1N0YXR1c1N1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IHN0YXR1c0NoYW5nZWRTdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwcml2YXRlIHdlYlNvY2tldENsaWVudDogV2ViU29ja2V0Q2xpZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIGdldCBuZWVkQ2hlY2tTdGF0dXMkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLm5lZWRDaGVja1N0YXR1c1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cbiAgcHVibGljIGdldCBzdGF0dXNDaGFuZ2VkJCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0dXNDaGFuZ2VkU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNPcGVuZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMud2ViU29ja2V0Q2xpZW50Py5pc09wZW5lZCgpID8/IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgd2ViU29ja2V0RmFjdG9yeTogV2ViU29ja2V0RmFjdG9yeSkge31cblxuICBwdWJsaWMgYXN5bmMgY2hlY2tTdGF0dXNXaXRoV2ViU29ja2V0KFxuICAgIHdlYlNvY2tldFVybDogc3RyaW5nLFxuICAgIHdlYlNvY2tldENoYW5uZWxOYW1lOiBzdHJpbmcsXG4gICAgd2ViU29ja2V0Q2xpZW50VHlwZTogV2ViU29ja2V0Q2xpZW50VHlwZSxcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy53ZWJTb2NrZXRDbGllbnQgPSB0aGlzLndlYlNvY2tldEZhY3RvcnkuY3JlYXRlV2ViU29ja2V0Q2xpZW50KFxuICAgICAgd2ViU29ja2V0VXJsLFxuICAgICAgd2ViU29ja2V0Q2xpZW50VHlwZSxcbiAgICApO1xuXG4gICAgYXdhaXQgdGhpcy53ZWJTb2NrZXRDbGllbnQub3Blbih3ZWJTb2NrZXRVcmwsIHdlYlNvY2tldENoYW5uZWxOYW1lKTtcblxuICAgIHRoaXMud2ViU29ja2V0U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMud2ViU29ja2V0U3Vic2NyaXB0aW9uID0gdGhpcy53ZWJTb2NrZXRDbGllbnQubWVzc2FnZXMkLnN1YnNjcmliZShcbiAgICAgIChtZXNzYWdlKSA9PiB0aGlzLnN0YXR1c1Byb2Nlc3NpbmcobWVzc2FnZSksXG4gICAgKTtcblxuICAgIHRoaXMud2ViU29ja2V0UmVjb25uZWN0aW9uU3Vic2NyaXB0aW9uID1cbiAgICAgIHRoaXMud2ViU29ja2V0Q2xpZW50LnN1YnNjcmliZU9uU3VjY2Vzc2Z1bFJlY29ubmVjdGlvbigoKSA9PiB7XG4gICAgICAgIHRoaXMubmVlZENoZWNrU3RhdHVzU3ViamVjdC5uZXh0KCk7XG4gICAgICB9KTtcbiAgICB0aGlzLm5lZWRDaGVja1N0YXR1c1N1YmplY3QubmV4dCgpO1xuICAgIHRoaXMuc3RhcnRSZWluc3VyYW5jZUNoZWNrVGltZW91dCgpO1xuICB9XG5cbiAgcHVibGljIGNsb3NlV2ViU29ja2V0KCk6IHZvaWQge1xuICAgIHRoaXMucmVtb3ZlU3Vic2NyaXB0aW9uKCk7XG4gICAgdGhpcy53ZWJTb2NrZXRDbGllbnQ/LmNsb3NlKCk7XG4gICAgdGhpcy5jbGVhclJlaW5zdXJhbmNlQ2hlY2tUaW1lb3V0KCk7XG4gIH1cblxuICBwdWJsaWMgc3RhcnRSZWluc3VyYW5jZUNoZWNrVGltZW91dCgpOiB2b2lkIHtcbiAgICB0aGlzLmNsZWFyUmVpbnN1cmFuY2VDaGVja1RpbWVvdXQoKTtcbiAgICB0aGlzLnJlaW5zdXJhbmNlQ2hlY2tTdGF0dXMudGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLm5lZWRDaGVja1N0YXR1c1N1YmplY3QubmV4dCgpO1xuICAgIH0sIHRoaXMucmVpbnN1cmFuY2VDaGVja1N0YXR1cy50aW1lb3V0TXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhclJlaW5zdXJhbmNlQ2hlY2tUaW1lb3V0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJlaW5zdXJhbmNlQ2hlY2tTdGF0dXMudGltZW91dElkKSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5yZWluc3VyYW5jZUNoZWNrU3RhdHVzLnRpbWVvdXRJZCk7XG4gICAgICB0aGlzLnJlaW5zdXJhbmNlQ2hlY2tTdGF0dXMudGltZW91dElkID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0YXR1c1Byb2Nlc3NpbmcobWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKG1lc3NhZ2UgPT09IFdlYlNvY2tldFN0YXR1cy5zdGF0dXNDaGFuZ2VkKSB7XG4gICAgICB0aGlzLnN0YXR1c0NoYW5nZWRTdWJqZWN0Lm5leHQoKTtcbiAgICAgIHRoaXMuY2xvc2VXZWJTb2NrZXQoKTtcbiAgICAgIHRoaXMuY2xlYXJSZWluc3VyYW5jZUNoZWNrVGltZW91dCgpO1xuICAgIH1cbiAgICBpZiAobWVzc2FnZSA9PT0gV2ViU29ja2V0U3RhdHVzLnRyb3VibGVkU3RhdHVzKSB7XG4gICAgICAvLyBBIHRyb3VibGVkIHN0YXR1cyBjYW4gYmUgdGhlIHRlcm1pbmFsIEFGUy1kZWNsaW5lZC9yZWZ1bmRlZCBvdXRjb21lLlxuICAgICAgLy8gVHJpZ2dlciBhIGdldHN0YXR1cyBwb2xsIHNvIGxpc3Rlbi1zdGF0dXMgY2FuIHJlYWQgdGhlIGF1dGhvcml0YXRpdmVcbiAgICAgIC8vIHZlcmRpY3QgYW5kIGZpbmFsaXplLCBpbnN0ZWFkIG9mIHNpbGVudGx5IGNsb3NpbmcgYW5kIGxlYXZpbmcgdGhlIFVJXG4gICAgICAvLyBzdHVjayBvbiBcIlByb2Nlc3NpbmdcIlxuICAgICAgdGhpcy5jbGVhclJlaW5zdXJhbmNlQ2hlY2tUaW1lb3V0KCk7XG4gICAgICB0aGlzLm5lZWRDaGVja1N0YXR1c1N1YmplY3QubmV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMud2ViU29ja2V0U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMud2ViU29ja2V0UmVjb25uZWN0aW9uU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0=
|
package/esm2022/lib/core/sdk-payment-systems/apple-pay/apple-pay-cart/apple-pay-cart.service.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { share, Subject } from 'rxjs';
|
|
3
3
|
import { UserBehaviourEventName } from '../../../user-behaviour-analytics/user-behaviour-event-name.enum';
|
|
4
|
+
import { userBehaviourEventTypes } from '../../../user-behaviour-analytics/user-behaviour-event/user-behaviour-event-types';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../../../
|
|
6
|
-
import * as i2 from "../../../payment/finance-details/summary/summary-finance-details-adapter.service";
|
|
6
|
+
import * as i1 from "../../../payment/finance-details/summary/summary-finance-details-adapter.service";
|
|
7
7
|
export class ApplePayCartService {
|
|
8
8
|
get cartSuccessfulRecalculated$() {
|
|
9
9
|
return this.cartSuccessfulRecalculated.asObservable().pipe(share());
|
|
@@ -14,12 +14,15 @@ export class ApplePayCartService {
|
|
|
14
14
|
get cartRecalculationRequest$() {
|
|
15
15
|
return this.cartRecalculationRequest.asObservable();
|
|
16
16
|
}
|
|
17
|
-
|
|
18
|
-
this.
|
|
17
|
+
get analyticsEvent$() {
|
|
18
|
+
return this.analyticsEvent.asObservable();
|
|
19
|
+
}
|
|
20
|
+
constructor(summaryFinanceDetailsAdapterService) {
|
|
19
21
|
this.summaryFinanceDetailsAdapterService = summaryFinanceDetailsAdapterService;
|
|
20
22
|
this.cartSuccessfulRecalculated = new Subject();
|
|
21
23
|
this.cartErrorRecalculated = new Subject();
|
|
22
24
|
this.cartRecalculationRequest = new Subject();
|
|
25
|
+
this.analyticsEvent = new Subject();
|
|
23
26
|
}
|
|
24
27
|
recalculateCartTaxes(shippingContact) {
|
|
25
28
|
const zip = shippingContact.postalCode;
|
|
@@ -33,7 +36,9 @@ export class ApplePayCartService {
|
|
|
33
36
|
zip: parsedZip,
|
|
34
37
|
country,
|
|
35
38
|
});
|
|
36
|
-
this.
|
|
39
|
+
this.analyticsEvent.next({
|
|
40
|
+
eventName: UserBehaviourEventName.applePayRecalculateCartTaxes,
|
|
41
|
+
eventType: userBehaviourEventTypes.manual,
|
|
37
42
|
dimension1: country,
|
|
38
43
|
dimension2: parsedZip || '',
|
|
39
44
|
});
|
|
@@ -60,7 +65,10 @@ export class ApplePayCartService {
|
|
|
60
65
|
this.cartSuccessfulRecalculated.next(updatedPrice);
|
|
61
66
|
}
|
|
62
67
|
sendErrorRecalculatedCart(error) {
|
|
63
|
-
this.
|
|
68
|
+
this.analyticsEvent.next({
|
|
69
|
+
eventName: UserBehaviourEventName.applePayRecalculateCartError,
|
|
70
|
+
eventType: userBehaviourEventTypes.manual,
|
|
71
|
+
});
|
|
64
72
|
this.cartErrorRecalculated.next(error);
|
|
65
73
|
}
|
|
66
74
|
isZipCountry(country) {
|
|
@@ -95,7 +103,7 @@ export class ApplePayCartService {
|
|
|
95
103
|
getTotalAmount(finance) {
|
|
96
104
|
return finance?.grand_total?.amount ?? finance?.total?.amount;
|
|
97
105
|
}
|
|
98
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ApplePayCartService, deps: [{ token: i1.
|
|
106
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ApplePayCartService, deps: [{ token: i1.SummaryFinanceDetailsAdapterService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
99
107
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ApplePayCartService, providedIn: 'root' }); }
|
|
100
108
|
}
|
|
101
109
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ApplePayCartService, decorators: [{
|
|
@@ -103,5 +111,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
103
111
|
args: [{
|
|
104
112
|
providedIn: 'root',
|
|
105
113
|
}]
|
|
106
|
-
}], ctorParameters: () => [{ type: i1.
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGUtcGF5LWNhcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zZGstcGF5bWVudC1zeXN0ZW1zL2FwcGxlLXBheS9hcHBsZS1wYXktY2FydC9hcHBsZS1wYXktY2FydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFlbEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0VBQWtFLENBQUM7Ozs7QUFLMUcsTUFBTSxPQUFPLG1CQUFtQjtJQU05QixJQUFXLDJCQUEyQjtRQUNwQyxPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsSUFBVyxzQkFBc0I7UUFDL0IsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVELElBQVcseUJBQXlCO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RELENBQUM7SUFFRCxZQUNtQiw2QkFBNEQsRUFDNUQsbUNBQXdFO1FBRHhFLGtDQUE2QixHQUE3Qiw2QkFBNkIsQ0FBK0I7UUFDNUQsd0NBQW1DLEdBQW5DLG1DQUFtQyxDQUFxQztRQW5CMUUsK0JBQTBCLEdBQUcsSUFBSSxPQUFPLEVBQWdCLENBQUM7UUFDekQsMEJBQXFCLEdBQUcsSUFBSSxPQUFPLEVBQWlCLENBQUM7UUFFckQsNkJBQXdCLEdBQUcsSUFBSSxPQUFPLEVBQW1CLENBQUM7SUFpQnhFLENBQUM7SUFFRyxvQkFBb0IsQ0FBQyxlQUF3QztRQUNsRSxNQUFNLEdBQUcsR0FBRyxlQUFl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TUFBTSxFQUFFLENBQUM7WUFDdEMsZUFBZSxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3RFLENBQUM7UUFFRCxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO2dCQUMvQyxPQUFPO1lBQ1QsQ0FBQztZQUVELFlBQVksQ0FBQyxJQUFJLENBQUM7Z0JBQ2hCLEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSztnQkFDckIsTUFBTSxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRTthQUN6QyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFTyxjQUFjLENBQUMsT0FBbUI7UUFDeEMsT0FBTyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sSUFBSSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQztJQUNoRSxDQUFDOytHQWhJVSxtQkFBbUI7bUhBQW5CLG1CQUFtQixjQUZsQixNQUFNOzs0RkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgc2hhcmUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIEFwcGxlUGF5RXJyb3IsXG4gIEFwcGxlUGF5U2hpcHBpbmdDb250YWN0LFxuICBBcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZSxcbn0gZnJvbSAnLi4vc2Vzc2lvbi1oYW5kbGVycy9hcHBsZS1wYXktc2Vzc2lvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBwbGVQYXlQYXJhbXMgfSBmcm9tICcuLi9hcHBsZS1wYXktcGFyYW1zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBVcGRhdGVkUHJpY2UgfSBmcm9tICcuLi91cGRhdGVkLXByaWNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTaGlwcGluZ0FkZHJlc3MgfSBmcm9tICcuLi9zaGlwcGluZy1hZGRyZXNzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBBcHBsZVBheUxpbmVJdGVtIH0gZnJvbSAnYnJhaW50cmVlLXdlYic7XG5pbXBvcnQgeyBDYXJ0TGluZSB9IGZyb20gJy4uLy4uLy4uL3BheW1lbnQvZmluYW5jZS1kZXRhaWxzL2NhcnQtbGluZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgWHBzUmVzcG9uc2UgfSBmcm9tICcuLi8uLi8uLi9wYXltZW50L3hwcy1yZXNwb25zZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU3VtbWFyeUZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wYXltZW50L2ZpbmFuY2UtZGV0YWlscy9zdW1tYXJ5L3N1bW1hcnktZmluYW5jZS1kZXRhaWxzLWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBYcHNGaW5hbmNlIH0gZnJvbSAnLi4vLi4vLi4vcGF5bWVudC94cHMtZmluYW5jZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlckJlaGF2aW91ckV2ZW50TmFtZSB9IGZyb20gJy4uLy4uLy4uL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1ldmVudC1uYW1lLmVudW0nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQXBwbGVQYXlDYXJ0U2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2FydFN1Y2Nlc3NmdWxSZWNhbGN1bGF0ZWQgPSBuZXcgU3ViamVjdDxVcGRhdGVkUHJpY2U+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2FydEVycm9yUmVjYWxjdWxhdGVkID0gbmV3IFN1YmplY3Q8QXBwbGVQYXlFcnJvcj4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGNhcnRSZWNhbGN1bGF0aW9uUmVxdWVzdCA9IG5ldyBTdWJqZWN0PFNoaXBwaW5nQWRkcmVzcz4oKTtcblxuICBwdWJsaWMgZ2V0IGNhcnRTdWNjZXNzZnVsUmVjYWxjdWxhdGVkJCgpOiBPYnNlcnZhYmxlPFVwZGF0ZWRQcmljZT4ge1xuICAgIHJldHVybiB0aGlzLmNhcnRTdWNjZXNzZnVsUmVjYWxjdWxhdGVkLmFzT2JzZXJ2YWJsZSgpLnBpcGUoc2hhcmUoKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNhcnRFcnJvclJlY2FsY3VsYXRlZCQoKTogT2JzZXJ2YWJsZTxBcHBsZVBheUVycm9yPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FydEVycm9yUmVjYWxjdWxhdGVkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBjYXJ0UmVjYWxjdWxhdGlvblJlcXVlc3QkKCk6IE9ic2VydmFibGU8U2hpcHBpbmdBZGRyZXNzPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FydFJlY2FsY3VsYXRpb25SZXF1ZXN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2U6IFVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3VtbWFyeUZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2U6IFN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlLFxuICApIHt9XG5cbiAgcHVibGljIHJlY2FsY3VsYXRlQ2FydFRheGVzKHNoaXBwaW5nQ29udGFjdDogQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3QpOiB2b2lkIHtcbiAgICBjb25zdCB6aXAgPSBzaGlwcGluZ0NvbnRhY3QucG9zdGFsQ29kZTtcbiAgICBjb25zdCBwYXJzZWRaaXAgPSB6aXA/LnJlcGxhY2UoL1xccy9nLCAnJyk7XG4gICAgbGV0IGNvdW50cnkgPSBzaGlwcGluZ0NvbnRhY3QuY291bnRyeUNvZGU/LnRvVXBwZXJDYXNlKCkgPz8gJyc7XG5cbiAgICAvLyBDb252ZXJ0aW5nIGFsbCBVbml0ZWQgS2luZ2RvbSBjb3VudHJ5IGNvZGVzIHRvIEdCXG4gICAgaWYgKGNvdW50cnkgPT09ICdVSycpIHtcbiAgICAgIGNvdW50cnkgPSAnR0InO1xuICAgIH1cblxuICAgIHRoaXMuY2FydFJlY2FsY3VsYXRpb25SZXF1ZXN0Lm5leHQoe1xuICAgICAgemlwOiBwYXJzZWRaaXAsXG4gICAgICBjb3VudHJ5LFxuICAgIH0pO1xuXG4gICAgdGhpcy51c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZS5zZW5kKFxuICAgICAgVXNlckJlaGF2aW91ckV2ZW50TmFtZS5hcHBsZVBheVJlY2FsY3VsYXRlQ2FydFRheGVzLFxuICAgICAgJ21hbnVhbCcsXG4gICAgICB7XG4gICAgICAgIGRpbWVuc2lvbjE6IGNvdW50cnksXG4gICAgICAgIGRpbWVuc2lvbjI6IHBhcnNlZFppcCB8fCAnJyxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBidWlsZFNoaXBwaW5nQ29udGFjdFVwZGF0ZShcbiAgICBwYXltZW50UGFyYW1zOiBBcHBsZVBheVBhcmFtcyxcbiAgICB1cGRhdGVkUHJpY2U6IFVwZGF0ZWRQcmljZSxcbiAgKTogQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGUge1xuICAgIHJldHVybiB7XG4gICAgICBzdGF0dXM6ICdTVEFUVVNfU1VDQ0VTUycsXG4gICAgICBuZXdUb3RhbDoge1xuICAgICAgICBsYWJlbDogcGF5bWVudFBhcmFtcy50b3RhbExhYmVsLFxuICAgICAgICBhbW91bnQ6IHVwZGF0ZWRQcmljZS50b3RhbC50b1N0cmluZygpLFxuICAgICAgfSxcbiAgICAgIG5ld0xpbmVJdGVtczogdGhpcy5nZXRMaW5lSXRlbXModXBkYXRlZFByaWNlKSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHNlbmRTdWNjZXNzZnVsUmVjYWxjdWxhdGVkQ2FydCh4cHNSZXNwb25zZTogWHBzUmVzcG9uc2UpOiB2b2lkIHtcbiAgICBjb25zdCBmaW5hbmNlRGV0YWlscyA9XG4gICAgICB0aGlzLnN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlLmdldEZpbmFuY2VEZXRhaWxzKFxuICAgICAgICB4cHNSZXNwb25zZS5zdW1tYXJ5LFxuICAgICAgKTtcblxuICAgIGNvbnN0IHVwZGF0ZWRQcmljZTogVXBkYXRlZFByaWNlID0ge1xuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBmaW5hbmNlIGV4aXN0XG4gICAgICB0b3RhbDogdGhpcy5nZXRUb3RhbEFtb3VudCh4cHNSZXNwb25zZS5zdW1tYXJ5LmZpbmFuY2UpLFxuICAgICAgc3VidG90YWxEZXRhaWxzOiBmaW5hbmNlRGV0YWlscy5jYXJ0U3VtbWFyeS5zdWJ0b3RhbERldGFpbHMsXG4gICAgICB0b3RhbERldGFpbHM6IGZpbmFuY2VEZXRhaWxzLmNhcnRTdW1tYXJ5LnRvdGFsRGV0YWlscyxcbiAgICAgIHN1YnRvdGFsUGF5bWVudDogZmluYW5jZURldGFpbHMuY2FydFN1bW1hcnkuc3VidG90YWxQYXltZW50LFxuICAgIH07XG5cbiAgICB0aGlzLmNhcnRTdWNjZXNzZnVsUmVjYWxjdWxhdGVkLm5leHQodXBkYXRlZFByaWNlKTtcbiAgfVxuXG4gIHB1YmxpYyBzZW5kRXJyb3JSZWNhbGN1bGF0ZWRDYXJ0KGVycm9yOiBBcHBsZVBheUVycm9yKTogdm9pZCB7XG4gICAgdGhpcy51c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZS5zZW5kKFxuICAgICAgVXNlckJlaGF2aW91ckV2ZW50TmFtZS5hcHBsZVBheVJlY2FsY3VsYXRlQ2FydEVycm9yLFxuICAgICAgJ21hbnVhbCcsXG4gICAgKTtcblxuICAgIHRoaXMuY2FydEVycm9yUmVjYWxjdWxhdGVkLm5leHQoZXJyb3IpO1xuICB9XG5cbiAgcHVibGljIGlzWmlwQ291bnRyeShjb3VudHJ5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gWydVUycsICdDQSddLmluY2x1ZGVzKGNvdW50cnkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRMaW5lSXRlbXModXBkYXRlZFByaWNlOiBVcGRhdGVkUHJpY2UpOiBBcHBsZVBheUxpbmVJdGVtW10ge1xuICAgIGNvbnN0IG5ld0xpbmVJdGVtczogQXBwbGVQYXlMaW5lSXRlbVtdID0gW107XG5cbiAgICBpZiAodXBkYXRlZFByaWNlLnN1YnRvdGFsUGF5bWVudD8ubW9uZXk/LmFtb3VudCkge1xuICAgICAgbmV3TGluZUl0ZW1zLnB1c2goe1xuICAgICAgICBsYWJlbDogdXBkYXRlZFByaWNlLnN1YnRvdGFsUGF5bWVudC50aXRsZSA/PyAnU3VidG90YWwnLFxuICAgICAgICBhbW91bnQ6IHVwZGF0ZWRQcmljZS5zdWJ0b3RhbFBheW1lbnQubW9uZXk/LmFtb3VudC50b1N0cmluZygpLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgbGV0IHBheW1lbnRzRGV0YWlsczogQ2FydExpbmVbXSA9IFtdO1xuXG4gICAgaWYgKHVwZGF0ZWRQcmljZS5zdWJ0b3RhbERldGFpbHM/Lmxlbmd0aCkge1xuICAgICAgcGF5bWVudHNEZXRhaWxzID0gdXBkYXRlZFByaWNlLnN1YnRvdGFsRGV0YWlscztcbiAgICB9XG5cbiAgICBpZiAodXBkYXRlZFByaWNlLnRvdGFsRGV0YWlscz8ubGVuZ3RoKSB7XG4gICAgICBwYXltZW50c0RldGFpbHMgPSBwYXltZW50c0RldGFpbHMuY29uY2F0KHVwZGF0ZWRQcmljZS50b3RhbERldGFpbHMpO1xuICAgIH1cblxuICAgIHBheW1lbnRzRGV0YWlscy5mb3JFYWNoKChjYXJ0SXRlbSkgPT4ge1xuICAgICAgaWYgKCFjYXJ0SXRlbS50aXRsZSB8fCAhY2FydEl0ZW0ubW9uZXk/LmFtb3VudCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIG5ld0xpbmVJdGVtcy5wdXNoKHtcbiAgICAgICAgbGFiZWw6IGNhcnRJdGVtLnRpdGxlLFxuICAgICAgICBhbW91bnQ6IGNhcnRJdGVtLm1vbmV5LmFtb3VudC50b1N0cmluZygpLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbmV3TGluZUl0ZW1zO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUb3RhbEFtb3VudChmaW5hbmNlOiBYcHNGaW5hbmNlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gZmluYW5jZT8uZ3JhbmRfdG90YWw/LmFtb3VudCA/PyBmaW5hbmNlPy50b3RhbD8uYW1vdW50O1xuICB9XG59XG4iXX0=
|
|
114
|
+
}], ctorParameters: () => [{ type: i1.SummaryFinanceDetailsAdapterService }] });
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGUtcGF5LWNhcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zZGstcGF5bWVudC1zeXN0ZW1zL2FwcGxlLXBheS9hcHBsZS1wYXktY2FydC9hcHBsZS1wYXktY2FydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFjbEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFDMUcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbUZBQW1GLENBQUM7OztBQU01SCxNQUFNLE9BQU8sbUJBQW1CO0lBTzlCLElBQVcsMkJBQTJCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLDBCQUEwQixDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxJQUFXLHNCQUFzQjtRQUMvQixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNuRCxDQUFDO0lBRUQsSUFBVyx5QkFBeUI7UUFDbEMsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVELFlBQ21CLG1DQUF3RTtRQUF4RSx3Q0FBbUMsR0FBbkMsbUNBQW1DLENBQXFDO1FBdkIxRSwrQkFBMEIsR0FBRyxJQUFJLE9BQU8sRUFBZ0IsQ0FBQztRQUN6RCwwQkFBcUIsR0FBRyxJQUFJLE9BQU8sRUFBaUIsQ0FBQztRQUVyRCw2QkFBd0IsR0FBRyxJQUFJLE9BQU8s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RTthQUM5RCxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxlQUFlLEdBQWUsRUFBRSxDQUFDO1FBRXJDLElBQUksWUFBWSxDQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUN6QyxlQUFlLEdBQUcsWUFBWSxDQUFDLGVBQWUsQ0FBQztRQUNqRCxDQUFDO1FBRUQsSUFBSSxZQUFZLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3RDLGVBQWUsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN0RSxDQUFDO1FBRUQsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztnQkFDL0MsT0FBTztZQUNULENBQUM7WUFFRCxZQUFZLENBQUMsSUFBSSxDQUFDO2dCQUNoQixLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUs7Z0JBQ3JCLE1BQU0sRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUU7YUFDekMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0lBRU8sY0FBYyxDQUFDLE9BQW1CO1FBQ3hDLE9BQU8sT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLElBQUksT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUM7SUFDaEUsQ0FBQzsrR0FsSVUsbUJBQW1CO21IQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs7NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHNoYXJlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBBcHBsZVBheUVycm9yLFxuICBBcHBsZVBheVNoaXBwaW5nQ29udGFjdCxcbiAgQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGUsXG59IGZyb20gJy4uL3Nlc3Npb24taGFuZGxlcnMvYXBwbGUtcGF5LXNlc3Npb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IEFwcGxlUGF5UGFyYW1zIH0gZnJvbSAnLi4vYXBwbGUtcGF5LXBhcmFtcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVXBkYXRlZFByaWNlIH0gZnJvbSAnLi4vdXBkYXRlZC1wcmljZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2hpcHBpbmdBZGRyZXNzIH0gZnJvbSAnLi4vc2hpcHBpbmctYWRkcmVzcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBwbGVQYXlMaW5lSXRlbSB9IGZyb20gJ2JyYWludHJlZS13ZWInO1xuaW1wb3J0IHsgQ2FydExpbmUgfSBmcm9tICcuLi8uLi8uLi9wYXltZW50L2ZpbmFuY2UtZGV0YWlscy9jYXJ0LWxpbmUuaW50ZXJmYWNlJztcbmltcG9ydCB7IFhwc1Jlc3BvbnNlIH0gZnJvbSAnLi4vLi4vLi4vcGF5bWVudC94cHMtcmVzcG9uc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcGF5bWVudC9maW5hbmNlLWRldGFpbHMvc3VtbWFyeS9zdW1tYXJ5LWZpbmFuY2UtZGV0YWlscy1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgWHBzRmluYW5jZSB9IGZyb20gJy4uLy4uLy4uL3BheW1lbnQveHBzLWZpbmFuY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFVzZXJCZWhhdmlvdXJFdmVudE5hbWUgfSBmcm9tICcuLi8uLi8uLi91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItZXZlbnQtbmFtZS5lbnVtJztcbmltcG9ydCB7IHVzZXJCZWhhdmlvdXJFdmVudFR5cGVzIH0gZnJvbSAnLi4vLi4vLi4vdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzL3VzZXItYmVoYXZpb3VyLWV2ZW50L3VzZXItYmVoYXZpb3VyLWV2ZW50LXR5cGVzJztcbmltcG9ydCB7IEFuYWx5dGljc0V2ZW50UGF5bG9hZCB9IGZyb20gJy4uLy4uLy4uL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFwcGxlUGF5Q2FydFNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGNhcnRTdWNjZXNzZnVsUmVjYWxjdWxhdGVkID0gbmV3IFN1YmplY3Q8VXBkYXRlZFByaWNlPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNhcnRFcnJvclJlY2FsY3VsYXRlZCA9IG5ldyBTdWJqZWN0PEFwcGxlUGF5RXJyb3I+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBjYXJ0UmVjYWxjdWxhdGlvblJlcXVlc3QgPSBuZXcgU3ViamVjdDxTaGlwcGluZ0FkZHJlc3M+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgYW5hbHl0aWNzRXZlbnQgPSBuZXcgU3ViamVjdDxBbmFseXRpY3NFdmVudFBheWxvYWQ+KCk7XG5cbiAgcHVibGljIGdldCBjYXJ0U3VjY2Vzc2Z1bFJlY2FsY3VsYXRlZCQoKTogT2JzZXJ2YWJsZTxVcGRhdGVkUHJpY2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYXJ0U3VjY2Vzc2Z1bFJlY2FsY3VsYXRlZC5hc09ic2VydmFibGUoKS5waXBlKHNoYXJlKCkpO1xuICB9XG5cbiAgcHVibGljIGdldCBjYXJ0RXJyb3JSZWNhbGN1bGF0ZWQkKCk6IE9ic2VydmFibGU8QXBwbGVQYXlFcnJvcj4ge1xuICAgIHJldHVybiB0aGlzLmNhcnRFcnJvclJlY2FsY3VsYXRlZC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2FydFJlY2FsY3VsYXRpb25SZXF1ZXN0JCgpOiBPYnNlcnZhYmxlPFNoaXBwaW5nQWRkcmVzcz4ge1xuICAgIHJldHVybiB0aGlzLmNhcnRSZWNhbGN1bGF0aW9uUmVxdWVzdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYW5hbHl0aWNzRXZlbnQkKCk6IE9ic2VydmFibGU8QW5hbHl0aWNzRXZlbnRQYXlsb2FkPiB7XG4gICAgcmV0dXJuIHRoaXMuYW5hbHl0aWNzRXZlbnQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdW1tYXJ5RmluYW5jZURldGFpbHNBZGFwdGVyU2VydmljZTogU3VtbWFyeUZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2UsXG4gICkge31cblxuICBwdWJsaWMgcmVjYWxjdWxhdGVDYXJ0VGF4ZXMoc2hpcHBpbmdDb250YWN0OiBBcHBsZVBheVNoaXBwaW5nQ29udGFjdCk6IHZvaWQge1xuICAgIGNvbnN0IHppcCA9IHNoaXBwaW5nQ29udGFjdC5wb3N0YWxDb2RlO1xuICAgIGNvbnN0IHBhcnNlZFppcCA9IHppcD8ucmVwbGFjZSgvXFxzL2csICcnKTtcbiAgICBsZXQgY291bnRyeSA9IHNoaXBwaW5nQ29udGFjdC5jb3VudHJ5Q29kZT8udG9VcHBlckNhc2UoKSA/PyAnJztcblxuICAgIC8vIENvbnZlcnRpbmcgYWxsIFVuaXRlZCBLaW5nZG9tIGNvdW50cnkgY29kZXMgdG8gR0JcbiAgICBpZiAoY291bnRyeSA9PT0gJ1VLJykge1xuICAgICAgY291bnRyeSA9ICdHQic7XG4gICAgfVxuXG4gICAgdGhpcy5jYXJ0UmVjYWxjdWxhdGlvblJlcXVlc3QubmV4dCh7XG4gICAgICB6aXA6IHBhcnNlZFppcCxcbiAgICAgIGNvdW50cnksXG4gICAgfSk7XG5cbiAgICB0aGlzLmFuYWx5dGljc0V2ZW50Lm5leHQoe1xuICAgICAgZXZlbnROYW1lOiBVc2VyQmVoYXZpb3VyRXZlbnROYW1lLmFwcGxlUGF5UmVjYWxjdWxhdGVDYXJ0VGF4ZXMsXG4gICAgICBldmVudFR5cGU6IHVzZXJCZWhhdmlvdXJFdmVudFR5cGVzLm1hbnVhbCxcbiAgICAgIGRpbWVuc2lvbjE6IGNvdW50cnksXG4gICAgICBkaW1lbnNpb24yOiBwYXJzZWRaaXAgfHwgJycsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYnVpbGRTaGlwcGluZ0NvbnRhY3RVcGRhdGUoXG4gICAgcGF5bWVudFBhcmFtczogQXBwbGVQYXlQYXJhbXMsXG4gICAgdXBkYXRlZFByaWNlOiBVcGRhdGVkUHJpY2UsXG4gICk6IEFwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRlIHtcbiAgICByZXR1cm4ge1xuICAgICAgc3RhdHVzOiAnU1RBVFVTX1NVQ0NFU1MnLFxuICAgICAgbmV3VG90YWw6IHtcbiAgICAgICAgbGFiZWw6IHBheW1lbnRQYXJhbXMudG90YWxMYWJlbCxcbiAgICAgICAgYW1vdW50OiB1cGRhdGVkUHJpY2UudG90YWwudG9TdHJpbmcoKSxcbiAgICAgIH0sXG4gICAgICBuZXdMaW5lSXRlbXM6IHRoaXMuZ2V0TGluZUl0ZW1zKHVwZGF0ZWRQcmljZSksXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBzZW5kU3VjY2Vzc2Z1bFJlY2FsY3VsYXRlZENhcnQoeHBzUmVzcG9uc2U6IFhwc1Jlc3BvbnNlKTogdm9pZCB7XG4gICAgY29uc3QgZmluYW5jZURldGFpbHMgPVxuICAgICAgdGhpcy5zdW1tYXJ5RmluYW5jZURldGFpbHNBZGFwdGVyU2VydmljZS5nZXRGaW5hbmNlRGV0YWlscyhcbiAgICAgICAgeHBzUmVzcG9uc2Uuc3VtbWFyeSxcbiAgICAgICk7XG5cbiAgICBjb25zdCB1cGRhdGVkUHJpY2U6IFVwZGF0ZWRQcmljZSA9IHtcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgZmluYW5jZSBleGlzdFxuICAgICAgdG90YWw6IHRoaXMuZ2V0VG90YWxBbW91bnQoeHBzUmVzcG9uc2Uuc3VtbWFyeS5maW5hbmNlKSxcbiAgICAgIHN1YnRvdGFsRGV0YWlsczogZmluYW5jZURldGFpbHMuY2FydFN1bW1hcnkuc3VidG90YWxEZXRhaWxzLFxuICAgICAgdG90YWxEZXRhaWxzOiBmaW5hbmNlRGV0YWlscy5jYXJ0U3VtbWFyeS50b3RhbERldGFpbHMsXG4gICAgICBzdWJ0b3RhbFBheW1lbnQ6IGZpbmFuY2VEZXRhaWxzLmNhcnRTdW1tYXJ5LnN1YnRvdGFsUGF5bWVudCxcbiAgICB9O1xuXG4gICAgdGhpcy5jYXJ0U3VjY2Vzc2Z1bFJlY2FsY3VsYXRlZC5uZXh0KHVwZGF0ZWRQcmljZSk7XG4gIH1cblxuICBwdWJsaWMgc2VuZEVycm9yUmVjYWxjdWxhdGVkQ2FydChlcnJvcjogQXBwbGVQYXlFcnJvcik6IHZvaWQge1xuICAgIHRoaXMuYW5hbHl0aWNzRXZlbnQubmV4dCh7XG4gICAgICBldmVudE5hbWU6IFVzZXJCZWhhdmlvdXJFdmVudE5hbWUuYXBwbGVQYXlSZWNhbGN1bGF0ZUNhcnRFcnJvcixcbiAgICAgIGV2ZW50VHlwZTogdXNlckJlaGF2aW91ckV2ZW50VHlwZXMubWFudWFsLFxuICAgIH0pO1xuXG4gICAgdGhpcy5jYXJ0RXJyb3JSZWNhbGN1bGF0ZWQubmV4dChlcnJvcik7XG4gIH1cblxuICBwdWJsaWMgaXNaaXBDb3VudHJ5KGNvdW50cnk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBbJ1VTJywgJ0NBJ10uaW5jbHVkZXMoY291bnRyeSk7XG4gIH1cblxuICBwcml2YXRlIGdldExpbmVJdGVtcyh1cGRhdGVkUHJpY2U6IFVwZGF0ZWRQcmljZSk6IEFwcGxlUGF5TGluZUl0ZW1bXSB7XG4gICAgY29uc3QgbmV3TGluZUl0ZW1zOiBBcHBsZVBheUxpbmVJdGVtW10gPSBbXTtcblxuICAgIGlmICh1cGRhdGVkUHJpY2Uuc3VidG90YWxQYXltZW50Py5tb25leT8uYW1vdW50KSB7XG4gICAgICBuZXdMaW5lSXRlbXMucHVzaCh7XG4gICAgICAgIGxhYmVsOiB1cGRhdGVkUHJpY2Uuc3VidG90YWxQYXltZW50LnRpdGxlID8/ICdTdWJ0b3RhbCcsXG4gICAgICAgIGFtb3VudDogdXBkYXRlZFByaWNlLnN1YnRvdGFsUGF5bWVudC5tb25leT8uYW1vdW50LnRvU3RyaW5nKCksXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBsZXQgcGF5bWVudHNEZXRhaWxzOiBDYXJ0TGluZVtdID0gW107XG5cbiAgICBpZiAodXBkYXRlZFByaWNlLnN1YnRvdGFsRGV0YWlscz8ubGVuZ3RoKSB7XG4gICAgICBwYXltZW50c0RldGFpbHMgPSB1cGRhdGVkUHJpY2Uuc3VidG90YWxEZXRhaWxzO1xuICAgIH1cblxuICAgIGlmICh1cGRhdGVkUHJpY2UudG90YWxEZXRhaWxzPy5sZW5ndGgpIHtcbiAgICAgIHBheW1lbnRzRGV0YWlscyA9IHBheW1lbnRzRGV0YWlscy5jb25jYXQodXBkYXRlZFByaWNlLnRvdGFsRGV0YWlscyk7XG4gICAgfVxuXG4gICAgcGF5bWVudHNEZXRhaWxzLmZvckVhY2goKGNhcnRJdGVtKSA9PiB7XG4gICAgICBpZiAoIWNhcnRJdGVtLnRpdGxlIHx8ICFjYXJ0SXRlbS5tb25leT8uYW1vdW50KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgbmV3TGluZUl0ZW1zLnB1c2goe1xuICAgICAgICBsYWJlbDogY2FydEl0ZW0udGl0bGUsXG4gICAgICAgIGFtb3VudDogY2FydEl0ZW0ubW9uZXkuYW1vdW50LnRvU3RyaW5nKCksXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHJldHVybiBuZXdMaW5lSXRlbXM7XG4gIH1cblxuICBwcml2YXRlIGdldFRvdGFsQW1vdW50KGZpbmFuY2U6IFhwc0ZpbmFuY2UpOiBudW1iZXIge1xuICAgIHJldHVybiBmaW5hbmNlPy5ncmFuZF90b3RhbD8uYW1vdW50ID8/IGZpbmFuY2U/LnRvdGFsPy5hbW91bnQ7XG4gIH1cbn1cbiJdfQ==
|