@xsolla/payment-client-core 0.2.99 → 0.2.101
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/actions/next-action.interface.mjs +1 -1
- package/esm2022/lib/core/payment/actions/next-actions.mjs +3 -1
- package/esm2022/lib/core/payment/actions/three-ds-redirect/three-ds-redirect.action.class.mjs +34 -0
- package/esm2022/lib/core/payment/actions/three-ds-redirect/three-ds-redirect.action.type.mjs +2 -0
- package/esm2022/lib/core/payment/three-ds/api/status-three-ds/response/status-three-ds-response.class.mjs +2 -1
- package/esm2022/lib/core/payment/three-ds/api/status-three-ds/status-three-ds-response.interface.mjs +1 -1
- package/esm2022/lib/core/payment/three-ds/api/status-three-ds/status-three-ds.service.mjs +2 -1
- package/esm2022/lib/core/payment/three-ds/api/status-three-ds/status-types.enum.mjs +2 -1
- package/esm2022/lib/core/payment/three-ds/three-ds-20/status-update.interface.mjs +1 -1
- package/esm2022/lib/core/payment/three-ds/three-ds-20/three-ds20.service.mjs +28 -7
- package/esm2022/lib/core/payment/three-ds/three-ds.service.mjs +13 -7
- package/esm2022/lib/core/sdk-payment-systems/apple-pay/apple-pay.service.mjs +1 -6
- package/esm2022/lib/core/sdk-payment-systems/apple-pay/commands-for-pages.enum.mjs +1 -1
- package/esm2022/lib/core/sdk-payment-systems/apple-pay/external-window-communication/external-window-communication.service.mjs +1 -5
- package/esm2022/lib/core/user-behaviour-analytics/user-behaviour-event-name.enum.mjs +2 -1
- package/fesm2022/xsolla-payment-client-core.mjs +75 -21
- package/fesm2022/xsolla-payment-client-core.mjs.map +1 -1
- package/lib/core/payment/actions/next-action.interface.d.ts +2 -1
- package/lib/core/payment/actions/three-ds-redirect/three-ds-redirect.action.class.d.ts +11 -0
- package/lib/core/payment/actions/three-ds-redirect/three-ds-redirect.action.type.d.ts +5 -0
- package/lib/core/payment/three-ds/api/status-three-ds/response/status-three-ds-response.class.d.ts +2 -0
- package/lib/core/payment/three-ds/api/status-three-ds/status-three-ds-response.interface.d.ts +2 -0
- package/lib/core/payment/three-ds/api/status-three-ds/status-types.enum.d.ts +1 -0
- package/lib/core/payment/three-ds/three-ds-20/status-update.interface.d.ts +5 -1
- package/lib/core/payment/three-ds/three-ds-20/three-ds20.service.d.ts +3 -0
- package/lib/core/payment/three-ds/three-ds.service.d.ts +3 -1
- package/lib/core/sdk-payment-systems/apple-pay/apple-pay.service.d.ts +0 -2
- package/lib/core/sdk-payment-systems/apple-pay/commands-for-pages.enum.d.ts +1 -2
- package/lib/core/sdk-payment-systems/apple-pay/external-window-communication/external-window-communication.service.d.ts +0 -2
- package/lib/core/user-behaviour-analytics/user-behaviour-event-name.enum.d.ts +1 -0
- package/package.json +1 -1
- package/xsolla-payment-client-core-0.2.101.tgz +0 -0
- package/esm2022/lib/core/sdk-payment-systems/apple-pay/socket-messages/window-open-message.interface.mjs +0 -2
- package/lib/core/sdk-payment-systems/apple-pay/socket-messages/window-open-message.interface.d.ts +0 -5
- package/xsolla-payment-client-core-0.2.99.tgz +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dC1hY3Rpb24uaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9hY3Rpb25zL25leHQtYWN0aW9uLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hlY2tTdGF0dXNBY3Rpb24gfSBmcm9tICcuL2NoZWNrLXN0YXR1cy9jaGVjay1zdGF0dXMuYWN0aW9uLnR5cGUnO1xuaW1wb3J0IHsgU2hvd0ZpZWxkc0FjdGlvbiB9IGZyb20gJy4vc2hvdy1maWVsZHMvc2hvdy1maWVsZHMuYWN0aW9uLnR5cGUnO1xuaW1wb3J0IHsgU3RhdHVzVXBkYXRlZEFjdGlvbiB9IGZyb20gJy4vc3RhdHVzLXVwZGF0ZWQvc3RhdHVzLXVwZGF0ZWQuYWN0aW9uLnR5cGUnO1xuaW1wb3J0IHsgUmVkaXJlY3RBY3Rpb24gfSBmcm9tICcuL3JlZGlyZWN0L3JlZGlyZWN0LmFjdGlvbi50eXBlJztcbmltcG9ydCB7IFNob3dFcnJvcnNBY3Rpb24gfSBmcm9tICcuL3Nob3ctZXJyb3JzL3Nob3ctZXJyb3JzLmFjdGlvbi50eXBlJztcbmltcG9ydCB7IFRocmVlRHNBY3Rpb24gfSBmcm9tICcuL3RocmVlLWRzL3RocmVlLWRzLmFjdGlvbi50eXBlJztcbmltcG9ydCB7IFNwZWNpYWxCdXR0b25BY3Rpb24gfSBmcm9tICcuL3NwZWNpYWwtYnV0dG9uL3NwZWNpYWwtYnV0dG9uLmFjdGlvbi50eXBlJztcbmltcG9ydCB7IFNob3dRckNvZGVBY3Rpb24gfSBmcm9tICcuL3Nob3ctcXItY29kZS9zaG93LXFyLWNvZGUuYWN0aW9uLnR5cGUnO1xuaW1wb3J0IHsgU2hvd01vYmlsZVBheW1lbnRTY3JlZW5BY3Rpb24gfSBmcm9tICcuL3Nob3ctbW9iaWxlLXBheW1lbnQtc2NyZWVuL3Nob3ctbW9iaWxlLXBheW1lbnQtc2NyZWVuLmFjdGlvbi50eXBlJztcbmltcG9ydCB7IFNob3dYc29sbGFOdW1iZXJBY3Rpb24gfSBmcm9tICcuL3Nob3cteHNvbGxhLW51bWJlci9zaG93LXhzb2xsYS1udW1iZXIuYWN0aW9uLnR5cGUnO1xuaW1wb3J0IHsgU2hvd0Nhc2hQYXltZW50SW5zdHJ1Y3Rpb25BY3Rpb24gfSBmcm9tICcuL3Nob3ctY2FzaC1wYXltZW50LWluc3RydWN0aW9uL3Nob3ctY2FzaC1wYXltZW50LWluc3RydWN0aW9uLmFjdGlvbi50eXBlJztcbmltcG9ydCB7IFRocmVlRHNSZWRpcmVjdEFjdGlvbiB9IGZyb20gJy4vdGhyZWUtZHMtcmVkaXJlY3QvdGhyZWUtZHMtcmVkaXJlY3QuYWN0aW9uLnR5cGUnO1xuXG5leHBvcnQgdHlwZSBOZXh0QWN0aW9uID1cbiAgfCBDaGVja1N0YXR1c0FjdGlvblxuICB8IFNob3dGaWVsZHNBY3Rpb25cbiAgfCBTdGF0dXNVcGRhdGVkQWN0aW9uXG4gIHwgU2hvd0Vycm9yc0FjdGlvblxuICB8IFJlZGlyZWN0QWN0aW9uXG4gIHwgVGhyZWVEc0FjdGlvblxuICB8IFRocmVlRHNSZWRpcmVjdEFjdGlvblxuICB8IFNwZWNpYWxCdXR0b25BY3Rpb25cbiAgfCBTaG93UXJDb2RlQWN0aW9uXG4gIHwgU2hvd01vYmlsZVBheW1lbnRTY3JlZW5BY3Rpb25cbiAgfCBTaG93WHNvbGxhTnVtYmVyQWN0aW9uXG4gIHwgU2hvd0Nhc2hQYXltZW50SW5zdHJ1Y3Rpb25BY3Rpb247XG4iXX0=
|
|
@@ -11,6 +11,7 @@ import { ShowMobilePaymentScreenActionCreator } from './show-mobile-payment-scre
|
|
|
11
11
|
import { ShowXsollaNumberActionCreator } from './show-xsolla-number/show-xsolla-number.action.class';
|
|
12
12
|
import { ShowCashPaymentInstructionActionCreator } from './show-cash-payment-instruction/show-cash-payment-instruction.action.class';
|
|
13
13
|
import { GoogleThreeDsRedirectActionCreator } from './redirect/google-three-ds-redirect.action.class';
|
|
14
|
+
import { ThreeDsRedirectActionCreator } from './three-ds-redirect/three-ds-redirect.action.class';
|
|
14
15
|
export const nextActionsToken = new InjectionToken('Action');
|
|
15
16
|
export const nextActions = [
|
|
16
17
|
GoogleThreeDsRedirectActionCreator,
|
|
@@ -27,5 +28,6 @@ export const flowUpdateNextActions = [
|
|
|
27
28
|
ShowErrorsActionCreator,
|
|
28
29
|
StatusUpdatedActionCreator,
|
|
29
30
|
ThreeDsActionCreator,
|
|
31
|
+
ThreeDsRedirectActionCreator,
|
|
30
32
|
];
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dC1hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9hY3Rpb25zL25leHQtYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNqRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNqRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMxRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMxRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQztBQUM1SCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNyRyxPQUFPLEVBQUUsdUNBQXVDLEVBQUUsTUFBTSw0RUFBNEUsQ0FBQztBQUNySSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN0RyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUlsRyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBZ0IsUUFBUSxDQUFDLENBQUM7QUFFNUUsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFxQjtJQUMzQyxrQ0FBa0M7SUFDbEMsdUJBQXVCO0lBQ3ZCLHdCQUF3QjtJQUN4QiwwQkFBMEI7SUFDMUIsdUJBQXVCO0lBQ3ZCLHFCQUFxQjtJQUNyQix1Q0FBdUM7SUFDdkMsb0NBQW9DO0lBQ3BDLDZCQUE2QjtDQUM5QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQXFCO0lBQ3JELHVCQUF1QjtJQUN2QiwwQkFBMEI7SUFDMUIsb0JBQW9CO0lBQ3BCLDRCQUE0QjtDQUM3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIFByb3ZpZGVyVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGlvbkNyZWF0b3IgfSBmcm9tICcuL2FjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVkaXJlY3RBY3Rpb25DcmVhdG9yIH0gZnJvbSAnLi9yZWRpcmVjdC9yZWRpcmVjdC5hY3Rpb24uY2xhc3MnO1xuaW1wb3J0IHsgU2hvd0ZpZWxkc0FjdGlvbkNyZWF0b3IgfSBmcm9tICcuL3Nob3ctZmllbGRzL3Nob3ctZmllbGRzLmFjdGlvbi5jbGFzcyc7XG5pbXBvcnQgeyBDaGVja1N0YXR1c0FjdGlvbkNyZWF0b3IgfSBmcm9tICcuL2NoZWNrLXN0YXR1cy9jaGVjay1zdGF0dXMuYWN0aW9uLmNsYXNzJztcbmltcG9ydCB7IFNob3dFcnJvcnNBY3Rpb25DcmVhdG9yIH0gZnJvbSAnLi9zaG93LWVycm9ycy9zaG93LWVycm9ycy5hY3Rpb24uY2xhc3MnO1xuaW1wb3J0IHsgU3RhdHVzVXBkYXRlZEFjdGlvbkNyZWF0b3IgfSBmcm9tICcuL3N0YXR1cy11cGRhdGVkL3N0YXR1cy11cGRhdGVkLmFjdGlvbi5jbGFzcyc7XG5pbXBvcnQgeyBUaHJlZURzQWN0aW9uQ3JlYXRvciB9IGZyb20gJy4vdGhyZWUtZHMvdGhyZWUtZHMuYWN0aW9uLmNsYXNzJztcbmltcG9ydCB7IFNwZWNpYWxCdXR0b25BY3Rpb25DcmVhdG9yIH0gZnJvbSAnLi9zcGVjaWFsLWJ1dHRvbi9zcGVjaWFsLWJ1dHRvbi5hY3Rpb24uY2xhc3MnO1xuaW1wb3J0IHsgU2hvd1FyQ29kZUFjdGlvbkNyZWF0b3IgfSBmcm9tICcuL3Nob3ctcXItY29kZS9zaG93LXFyLWNvZGUuYWN0aW9uLmNsYXNzJztcbmltcG9ydCB7IFNob3dNb2JpbGVQYXltZW50U2NyZWVuQWN0aW9uQ3JlYXRvciB9IGZyb20gJy4vc2hvdy1tb2JpbGUtcGF5bWVudC1zY3JlZW4vc2hvdy1tb2JpbGUtcGF5bWVudC1zY3JlZW4uYWN0aW9uLmNsYXNzJztcbmltcG9ydCB7IFNob3dYc29sbGFOdW1iZXJBY3Rpb25DcmVhdG9yIH0gZnJvbSAnLi9zaG93LXhzb2xsYS1udW1iZXIvc2hvdy14c29sbGEtbnVtYmVyLmFjdGlvbi5jbGFzcyc7XG5pbXBvcnQgeyBTaG93Q2FzaFBheW1lbnRJbnN0cnVjdGlvbkFjdGlvbkNyZWF0b3IgfSBmcm9tICcuL3Nob3ctY2FzaC1wYXltZW50LWluc3RydWN0aW9uL3Nob3ctY2FzaC1wYXltZW50LWluc3RydWN0aW9uLmFjdGlvbi5jbGFzcyc7XG5pbXBvcnQgeyBHb29nbGVUaHJlZURzUmVkaXJlY3RBY3Rpb25DcmVhdG9yIH0gZnJvbSAnLi9yZWRpcmVjdC9nb29nbGUtdGhyZWUtZHMtcmVkaXJlY3QuYWN0aW9uLmNsYXNzJztcbmltcG9ydCB7IFRocmVlRHNSZWRpcmVjdEFjdGlvbkNyZWF0b3IgfSBmcm9tICcuL3RocmVlLWRzLXJlZGlyZWN0L3RocmVlLWRzLXJlZGlyZWN0LmFjdGlvbi5jbGFzcyc7XG5cbmV4cG9ydCB0eXBlIE5leHRBY3Rpb25Ub2tlbnMgPSBBcnJheTxQcm92aWRlclRva2VuPEFjdGlvbkNyZWF0b3I+PjtcblxuZXhwb3J0IGNvbnN0IG5leHRBY3Rpb25zVG9rZW4gPSBuZXcgSW5qZWN0aW9uVG9rZW48QWN0aW9uQ3JlYXRvcj4oJ0FjdGlvbicpO1xuXG5leHBvcnQgY29uc3QgbmV4dEFjdGlvbnM6IE5leHRBY3Rpb25Ub2tlbnMgPSBbXG4gIEdvb2dsZVRocmVlRHNSZWRpcmVjdEFjdGlvbkNyZWF0b3IsXG4gIFNob3dGaWVsZHNBY3Rpb25DcmVhdG9yLFxuICBDaGVja1N0YXR1c0FjdGlvbkNyZWF0b3IsXG4gIFNwZWNpYWxCdXR0b25BY3Rpb25DcmVhdG9yLFxuICBTaG93UXJDb2RlQWN0aW9uQ3JlYXRvcixcbiAgUmVkaXJlY3RBY3Rpb25DcmVhdG9yLFxuICBTaG93Q2FzaFBheW1lbnRJbnN0cnVjdGlvbkFjdGlvbkNyZWF0b3IsXG4gIFNob3dNb2JpbGVQYXltZW50U2NyZWVuQWN0aW9uQ3JlYXRvcixcbiAgU2hvd1hzb2xsYU51bWJlckFjdGlvbkNyZWF0b3IsXG5dO1xuXG5leHBvcnQgY29uc3QgZmxvd1VwZGF0ZU5leHRBY3Rpb25zOiBOZXh0QWN0aW9uVG9rZW5zID0gW1xuICBTaG93RXJyb3JzQWN0aW9uQ3JlYXRvcixcbiAgU3RhdHVzVXBkYXRlZEFjdGlvbkNyZWF0b3IsXG4gIFRocmVlRHNBY3Rpb25DcmVhdG9yLFxuICBUaHJlZURzUmVkaXJlY3RBY3Rpb25DcmVhdG9yLFxuXTtcbiJdfQ==
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class ThreeDsRedirectActionCreator {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.type = 'redirect';
|
|
6
|
+
}
|
|
7
|
+
getActionData(actionData) {
|
|
8
|
+
return {
|
|
9
|
+
type: this.type,
|
|
10
|
+
data: {
|
|
11
|
+
fields: [],
|
|
12
|
+
errors: [],
|
|
13
|
+
messages: [],
|
|
14
|
+
order: {},
|
|
15
|
+
invoiceId: '',
|
|
16
|
+
redirect: {
|
|
17
|
+
isNewWindowRequired: false,
|
|
18
|
+
isSameWindowRequired: false,
|
|
19
|
+
redirectUrl: actionData.data?.action ?? '',
|
|
20
|
+
data: actionData.data?.params ?? {},
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
isSuitable() {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ThreeDsRedirectActionCreator, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
29
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ThreeDsRedirectActionCreator }); }
|
|
30
|
+
}
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ThreeDsRedirectActionCreator, decorators: [{
|
|
32
|
+
type: Injectable
|
|
33
|
+
}] });
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyZWUtZHMtcmVkaXJlY3QuYWN0aW9uLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9hY3Rpb25zL3RocmVlLWRzLXJlZGlyZWN0L3RocmVlLWRzLXJlZGlyZWN0LmFjdGlvbi5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVMzQyxNQUFNLE9BQU8sNEJBQTRCO0lBRHpDO1FBRVMsU0FBSSxHQUE4QixVQUFVLENBQUM7S0F3QnJEO0lBdEJRLGFBQWEsQ0FBQyxVQUEwQjtRQUM3QyxPQUFPO1lBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsSUFBSSxFQUFFO2dCQUNKLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxFQUFFO2dCQUNWLFFBQVEsRUFBRSxFQUFFO2dCQUNaLEtBQUssRUFBRSxFQUFFO2dCQUNULFNBQVMsRUFBRSxFQUFFO2dCQUNiLFFBQVEsRUFBRTtvQkFDUixtQkFBbUIsRUFBRSxLQUFLO29CQUMxQixvQkFBb0IsRUFBRSxLQUFLO29CQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLElBQUksRUFBRSxNQUFNLElBQUksRUFBRTtvQkFDMUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxJQUFJLEVBQUU7aUJBQ3BDO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLFVBQVU7UUFDZixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OEdBeEJVLDRCQUE0QjtrSEFBNUIsNEJBQTRCOzsyRkFBNUIsNEJBQTRCO2tCQUR4QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9uQ3JlYXRvciB9IGZyb20gJy4uL2FjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgVGhyZWVEc1JlZGlyZWN0QWN0aW9uLFxuICBUaHJlZURzUmVkaXJlY3RBY3Rpb25UeXBlLFxufSBmcm9tICcuL3RocmVlLWRzLXJlZGlyZWN0LmFjdGlvbi50eXBlJztcbmltcG9ydCB7IFN0YXR1c0NoZWNrb3V0IH0gZnJvbSAnLi4vLi4vdGhyZWUtZHMvdGhyZWUtZHMtMjAvc3RhdHVzLXVwZGF0ZS5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGhyZWVEc1JlZGlyZWN0QWN0aW9uQ3JlYXRvciBpbXBsZW1lbnRzIEFjdGlvbkNyZWF0b3Ige1xuICBwdWJsaWMgdHlwZTogVGhyZWVEc1JlZGlyZWN0QWN0aW9uVHlwZSA9ICdyZWRpcmVjdCc7XG5cbiAgcHVibGljIGdldEFjdGlvbkRhdGEoYWN0aW9uRGF0YTogU3RhdHVzQ2hlY2tvdXQpOiBUaHJlZURzUmVkaXJlY3RBY3Rpb24ge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiB0aGlzLnR5cGUsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIGZpZWxkczogW10sXG4gICAgICAgIGVycm9yczogW10sXG4gICAgICAgIG1lc3NhZ2VzOiBbXSxcbiAgICAgICAgb3JkZXI6IHt9LFxuICAgICAgICBpbnZvaWNlSWQ6ICcnLFxuICAgICAgICByZWRpcmVjdDoge1xuICAgICAgICAgIGlzTmV3V2luZG93UmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICAgIGlzU2FtZVdpbmRvd1JlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgICByZWRpcmVjdFVybDogYWN0aW9uRGF0YS5kYXRhPy5hY3Rpb24gPz8gJycsXG4gICAgICAgICAgZGF0YTogYWN0aW9uRGF0YS5kYXRhPy5wYXJhbXMgPz8ge30sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgaXNTdWl0YWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyZWUtZHMtcmVkaXJlY3QuYWN0aW9uLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2FjdGlvbnMvdGhyZWUtZHMtcmVkaXJlY3QvdGhyZWUtZHMtcmVkaXJlY3QuYWN0aW9uLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbiB9IGZyb20gJy4uL2FjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVkaXJlY3RBY3Rpb25EYXRhIH0gZnJvbSAnLi4vcmVkaXJlY3QvcmVkaXJlY3QuYWN0aW9uLnR5cGUnO1xuXG5leHBvcnQgdHlwZSBUaHJlZURzUmVkaXJlY3RBY3Rpb25UeXBlID0gJ3JlZGlyZWN0JztcblxuZXhwb3J0IHR5cGUgVGhyZWVEc1JlZGlyZWN0QWN0aW9uRGF0YSA9IFJlZGlyZWN0QWN0aW9uRGF0YTtcblxuZXhwb3J0IHR5cGUgVGhyZWVEc1JlZGlyZWN0QWN0aW9uID0gQWN0aW9uPFxuICBUaHJlZURzUmVkaXJlY3RBY3Rpb25UeXBlLFxuICBUaHJlZURzUmVkaXJlY3RBY3Rpb25EYXRhXG4+O1xuIl19
|
|
@@ -2,6 +2,7 @@ export class StatusThreeDsResponse {
|
|
|
2
2
|
constructor(params) {
|
|
3
3
|
this.status = params.status;
|
|
4
4
|
this.checkoutForm = params.checkoutForm;
|
|
5
|
+
this.collectDfpParameters = params.collectDfpParameters;
|
|
5
6
|
}
|
|
6
7
|
}
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLXRocmVlLWRzLXJlc3BvbnNlLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC90aHJlZS1kcy9hcGkvc3RhdHVzLXRocmVlLWRzL3Jlc3BvbnNlL3N0YXR1cy10aHJlZS1kcy1yZXNwb25zZS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLE9BQU8scUJBQXFCO0lBS2hDLFlBQW1CLE1BQXlDO1FBQzFELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUM1QixJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7UUFDeEMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQztJQUMxRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUaHJlZURzQ2hlY2tvdXRGb3JtIH0gZnJvbSAnLi4vdGhyZWUtZHMtY2hlY2tvdXQtZm9ybS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUHJvcGVydGllcyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3Byb3BlcnRpZXMudHlwZSc7XG5pbXBvcnQgeyBUaHJlZURzRm9ybSB9IGZyb20gJy4uLy4uLy4uL3RocmVlLWRzLWZvcm0uaW50ZXJmYWNlJztcblxuZXhwb3J0IGNsYXNzIFN0YXR1c1RocmVlRHNSZXNwb25zZSB7XG4gIHB1YmxpYyByZWFkb25seSBzdGF0dXM6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGNoZWNrb3V0Rm9ybT86IFRocmVlRHNDaGVja291dEZvcm07XG4gIHB1YmxpYyByZWFkb25seSBjb2xsZWN0RGZwUGFyYW1ldGVycz86IFRocmVlRHNGb3JtO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwYXJhbXM6IFByb3BlcnRpZXM8U3RhdHVzVGhyZWVEc1Jlc3BvbnNlPikge1xuICAgIHRoaXMuc3RhdHVzID0gcGFyYW1zLnN0YXR1cztcbiAgICB0aGlzLmNoZWNrb3V0Rm9ybSA9IHBhcmFtcy5jaGVja291dEZvcm07XG4gICAgdGhpcy5jb2xsZWN0RGZwUGFyYW1ldGVycyA9IHBhcmFtcy5jb2xsZWN0RGZwUGFyYW1ldGVycztcbiAgfVxufVxuIl19
|
package/esm2022/lib/core/payment/three-ds/api/status-three-ds/status-three-ds-response.interface.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLXRocmVlLWRzLXJlc3BvbnNlLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvdGhyZWUtZHMvYXBpL3N0YXR1cy10aHJlZS1kcy9zdGF0dXMtdGhyZWUtZHMtcmVzcG9uc2UuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUaHJlZURzRm9ybSB9IGZyb20gJy4uLy4uL3RocmVlLWRzLWZvcm0uaW50ZXJmYWNlJztcbmltcG9ydCB7IFRocmVlRHNDaGVja291dEZvcm0gfSBmcm9tICcuL3RocmVlLWRzLWNoZWNrb3V0LWZvcm0uaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBTdGF0dXNUaHJlZURzUmVzcG9uc2VBcGkge1xuICBzZWN1cmUzZDoge1xuICAgIHN0YXR1czogc3RyaW5nO1xuICAgIGNoZWNrb3V0X2Zvcm0/OiBUaHJlZURzQ2hlY2tvdXRGb3JtO1xuICAgIGNvbGxlY3RfZGZwX3BhcmFtZXRlcnM/OiBUaHJlZURzRm9ybTtcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -36,6 +36,7 @@ export class StatusThreeDsService {
|
|
|
36
36
|
const statusResponse = this.responseFactory({
|
|
37
37
|
status: response.secure3d.status,
|
|
38
38
|
checkoutForm: response.secure3d.checkout_form,
|
|
39
|
+
collectDfpParameters: response.secure3d.collect_dfp_parameters,
|
|
39
40
|
});
|
|
40
41
|
this.response.next(statusResponse);
|
|
41
42
|
}))).catch((error) => {
|
|
@@ -57,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
57
58
|
type: Inject,
|
|
58
59
|
args: [statusThreeDsResponseFactoryToken]
|
|
59
60
|
}] }] });
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLXRocmVlLWRzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L3RocmVlLWRzL2FwaS9zdGF0dXMtdGhyZWUtZHMvc3RhdHVzLXRocmVlLWRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUduRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDdEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHL0QsT0FBTyxFQUVMLGdDQUFnQyxHQUNqQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ2pELE9BQU8sRUFFTCxpQ0FBaUMsR0FDbEMsTUFBTSwyQ0FBMkMsQ0FBQzs7OztBQU1uRCxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUtELFlBQ21CLFNBQTBCLEVBQzFCLGVBQWdDLEVBRWhDLGNBQTJDLEVBRTNDLGVBQTZDO1FBTDdDLGNBQVMsR0FBVCxTQUFTLENBQWlCO1FBQzFCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUVoQyxtQkFBYyxHQUFkLGNBQWMsQ0FBNkI7UUFFM0Msb0JBQWUsR0FBZixlQUFlLENBQThCO1FBVC9DLGFBQVEsR0FBRyxnQkFBZ0IsQ0FBQztRQUM1QixhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQWdDLENBQUM7SUFTckUsQ0FBQztJQUVHLE9BQU8sQ0FBQyxJQUFpQjtRQUM5QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQztRQUV6QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxNQUFNLElBQUksVUFBVSxFQUFFLENBQUM7UUFDekIsQ0FBQztRQUNELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVwRSxLQUFLLGFBQWEsQ0FDaEIsSUFBSSxDQUFDLFNBQVM7YUFDWCxJQUFJLENBQ0gsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLGVBQWUsQ0FBQyxFQUFFLEdBQUcsYUFBYSxFQUFFLENBQUMsRUFDekM7WUFDRSxPQUFPLEVBQUUsSUFBSSxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQzVCLGNBQWMsRUFDZCxrREFBa0QsQ0FDbkQ7WUFDRCxZQUFZLEVBQUUsTUFBTTtTQUNyQixDQUNGO2FBQ0EsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ2YsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztnQkFDMUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTTtnQkFDaEMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsYUFBYTtnQkFDN0Msb0JBQW9CLEVBQUUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxzQkFBc0I7YUFDL0QsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQ0gsQ0FDSixDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQVksRUFBRSxFQUFFO1lBQ3ZCLE1BQU0sSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzhHQXBEVSxvQkFBb0IsZ0ZBV3JCLGdDQUFnQyxhQUVoQyxpQ0FBaUM7a0hBYmhDLG9CQUFvQixjQUZuQixNQUFNOzsyRkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFZSSxNQUFNOzJCQUFDLGdDQUFnQzs7MEJBRXZDLE1BQU07MkJBQUMsaUNBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbGFzdFZhbHVlRnJvbSwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IFNlY3VyZUFwaUNsaWVudCB9IGZyb20gJy4uLy4uLy4uLy4uL2h0dHAvc2VjdXJlLWFwaS9zZWN1cmUtYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2V0dGluZ3Mvc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyBUb2tlbkVycm9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vZXhjZXB0aW9ucy1oYW5kbGluZy9lcnJvcnMvdG9rZW4tZXJyb3IuY2xhc3MnO1xuaW1wb3J0IHsgWHBzUmVzcG9uc2VFcnJvciB9IGZyb20gJy4uLy4uLy4uL3hwcy1yZXNwb25zZS5lcnJvcic7XG5pbXBvcnQgeyBUaHJlZURzRm9ybSB9IGZyb20gJy4uLy4uL3RocmVlLWRzLWZvcm0uaW50ZXJmYWNlJztcbmltcG9ydCB7IFN0YXR1c1RocmVlRHNSZXNwb25zZUFwaSB9IGZyb20gJy4vc3RhdHVzLXRocmVlLWRzLXJlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQge1xuICBTdGF0dXNUaHJlZURzUmVxdWVzdEZhY3RvcnksXG4gIHN0YXR1c1RocmVlRHNSZXF1ZXN0RmFjdG9yeVRva2VuLFxufSBmcm9tICcuL3JlcXVlc3Qvc3RhdHVzLXRocmVlLWRzLXJlcXVlc3QudG9rZW4nO1xuaW1wb3J0IHtcbiAgU3RhdHVzVGhyZWVEc1Jlc3BvbnNlRmFjdG9yeSxcbiAgc3RhdHVzVGhyZWVEc1Jlc3BvbnNlRmFjdG9yeVRva2VuLFxufSBmcm9tICcuL3Jlc3BvbnNlL3N0YXR1cy10aHJlZS1kcy1yZXNwb25zZS50b2tlbic7XG5pbXBvcnQgeyBTdGF0dXNUaHJlZURzUmVzcG9uc2UgfSBmcm9tICcuL3Jlc3BvbnNlL3N0YXR1cy10aHJlZS1kcy1yZXNwb25zZS5jbGFzcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTdGF0dXNUaHJlZURzU2VydmljZSB7XG4gIHB1YmxpYyBnZXQgcmVzcG9uc2UkKCk6IE9ic2VydmFibGU8U3RhdHVzVGhyZWVEc1Jlc3BvbnNlIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLnJlc3BvbnNlLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBhcGlSb3V0ZSA9ICdzZWN1cmUzZC9jaGVjayc7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVzcG9uc2UgPSBuZXcgU3ViamVjdDxTdGF0dXNUaHJlZURzUmVzcG9uc2UgfCBudWxsPigpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlY3VyZUFwaTogU2VjdXJlQXBpQ2xpZW50LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2V0dGluZ3NTZXJ2aWNlOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgQEluamVjdChzdGF0dXNUaHJlZURzUmVxdWVzdEZhY3RvcnlUb2tlbilcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlcXVlc3RGYWN0b3J5OiBTdGF0dXNUaHJlZURzUmVxdWVzdEZhY3RvcnksXG4gICAgQEluamVjdChzdGF0dXNUaHJlZURzUmVzcG9uc2VGYWN0b3J5VG9rZW4pXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXNwb25zZUZhY3Rvcnk6IFN0YXR1c1RocmVlRHNSZXNwb25zZUZhY3RvcnlcbiAgKSB7fVxuXG4gIHB1YmxpYyByZXF1ZXN0KGRhdGE6IFRocmVlRHNGb3JtKTogdm9pZCB7XG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLnNldHRpbmdzU2VydmljZS50b2tlbjtcblxuICAgIGlmICghdG9rZW4pIHtcbiAgICAgIHRocm93IG5ldyBUb2tlbkVycm9yKCk7XG4gICAgfVxuICAgIGNvbnN0IHJlcXVlc3RQYXJhbXMgPSB0aGlzLnJlcXVlc3RGYWN0b3J5KHRva2VuLCBkYXRhLnRocmVlRFNUclhpZCk7XG5cbiAgICB2b2lkIGxhc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLnNlY3VyZUFwaVxuICAgICAgICAucG9zdDxTdGF0dXNUaHJlZURzUmVzcG9uc2VBcGk+KFxuICAgICAgICAgIHRoaXMuYXBpUm91dGUsXG4gICAgICAgICAgbmV3IFVSTFNlYXJjaFBhcmFtcyh7IC4uLnJlcXVlc3RQYXJhbXMgfSksXG4gICAgICAgICAge1xuICAgICAgICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxuICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyxcbiAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDsgY2hhcnNldD11dGYtOCdcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcbiAgICAgICAgICB9XG4gICAgICAgIClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc3RhdHVzUmVzcG9uc2UgPSB0aGlzLnJlc3BvbnNlRmFjdG9yeSh7XG4gICAgICAgICAgICAgIHN0YXR1czogcmVzcG9uc2Uuc2VjdXJlM2Quc3RhdHVzLFxuICAgICAgICAgICAgICBjaGVja291dEZvcm06IHJlc3BvbnNlLnNlY3VyZTNkLmNoZWNrb3V0X2Zvcm0sXG4gICAgICAgICAgICAgIGNvbGxlY3REZnBQYXJhbWV0ZXJzOiByZXNwb25zZS5zZWN1cmUzZC5jb2xsZWN0X2RmcF9wYXJhbWV0ZXJzLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMucmVzcG9uc2UubmV4dChzdGF0dXNSZXNwb25zZSk7XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICkuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgdGhyb3cgbmV3IFhwc1Jlc3BvbnNlRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -2,6 +2,7 @@ export var ThreeDsStatusTypes;
|
|
|
2
2
|
(function (ThreeDsStatusTypes) {
|
|
3
3
|
ThreeDsStatusTypes["completed"] = "completed";
|
|
4
4
|
ThreeDsStatusTypes["challenge"] = "challenge";
|
|
5
|
+
ThreeDsStatusTypes["checkout"] = "checkout";
|
|
5
6
|
ThreeDsStatusTypes["collectDfp"] = "collect_dfp";
|
|
6
7
|
})(ThreeDsStatusTypes || (ThreeDsStatusTypes = {}));
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLXR5cGVzLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L3RocmVlLWRzL2FwaS9zdGF0dXMtdGhyZWUtZHMvc3RhdHVzLXR5cGVzLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksa0JBS1g7QUFMRCxXQUFZLGtCQUFrQjtJQUM1Qiw2Q0FBdUIsQ0FBQTtJQUN2Qiw2Q0FBdUIsQ0FBQTtJQUN2QiwyQ0FBcUIsQ0FBQTtJQUNyQixnREFBMEIsQ0FBQTtBQUM1QixDQUFDLEVBTFcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQUs3QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFRocmVlRHNTdGF0dXNUeXBlcyB7XG4gIGNvbXBsZXRlZCA9ICdjb21wbGV0ZWQnLFxuICBjaGFsbGVuZ2UgPSAnY2hhbGxlbmdlJyxcbiAgY2hlY2tvdXQgPSAnY2hlY2tvdXQnLFxuICBjb2xsZWN0RGZwID0gJ2NvbGxlY3RfZGZwJyxcbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLXVwZGF0ZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L3RocmVlLWRzL3RocmVlLWRzLTIwL3N0YXR1cy11cGRhdGUuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUaHJlZURzQ2hlY2tvdXRGb3JtIH0gZnJvbSAnLi4vYXBpL3N0YXR1cy10aHJlZS1kcy90aHJlZS1kcy1jaGVja291dC1mb3JtLmludGVyZmFjZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhdHVzQ29tcGxldGUge1xuICB0eXBlOiAnY29tcGxldGUnO1xuICBkYXRhOiB7XG4gICAgc3RhdHVzVXJsOiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhdHVzQ2hhbGxlbmdlIHtcbiAgdHlwZTogJ2NoYWxsZW5nZSc7XG4gIGRhdGE6IFRocmVlRHNDaGVja291dEZvcm07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhdHVzQ2hlY2tvdXQge1xuICB0eXBlOiAnY2hlY2tvdXQnO1xuICBkYXRhOiBUaHJlZURzQ2hlY2tvdXRGb3JtO1xufVxuXG5leHBvcnQgdHlwZSBTdGF0dXNVcGRhdGUgPSBTdGF0dXNDb21wbGV0ZSB8IFN0YXR1c0NoYWxsZW5nZSB8IFN0YXR1c0NoZWNrb3V0O1xuIl19
|
|
@@ -25,6 +25,7 @@ export class ThreeDs20Service {
|
|
|
25
25
|
this.webSocketClient = null;
|
|
26
26
|
this.statusUpdates = new Subject();
|
|
27
27
|
this.statusRequestSubscription = null;
|
|
28
|
+
this.latestDfpParameters = null;
|
|
28
29
|
this.notifyDfpTimerId = 'notify-dfp';
|
|
29
30
|
this.notifyDfpTimeoutMs = 10000;
|
|
30
31
|
this.statusThreeDsTimerId = 'status-three-ds';
|
|
@@ -34,11 +35,13 @@ export class ThreeDs20Service {
|
|
|
34
35
|
if (!threeDsForm) {
|
|
35
36
|
return;
|
|
36
37
|
}
|
|
38
|
+
this.clearLatestDfpParameters();
|
|
37
39
|
this.reinsuranceCheckService.addTimer({
|
|
38
40
|
id: this.notifyDfpTimerId,
|
|
39
41
|
timeoutMs: this.notifyDfpTimeoutMs,
|
|
40
42
|
callback: () => {
|
|
41
|
-
this.
|
|
43
|
+
const threeDsTransactionId = this.latestDfpParameters?.threeDSTrXid ?? threeDsForm.threeDSTrXid;
|
|
44
|
+
this.notifyDfpStatusService.request(threeDsTransactionId, false);
|
|
42
45
|
},
|
|
43
46
|
});
|
|
44
47
|
this.webSocketClient = this.webSocketFactory.createWebSocketClient(threeDsForm.webSocketChannelUrl, threeDsForm.webSocketClientType);
|
|
@@ -48,23 +51,26 @@ export class ThreeDs20Service {
|
|
|
48
51
|
if (message !== ThreeDsStatusWebSocketTypes.status3DS_changed) {
|
|
49
52
|
return;
|
|
50
53
|
}
|
|
51
|
-
this.
|
|
54
|
+
this.requestThreeDsStatus(threeDsForm);
|
|
52
55
|
});
|
|
53
56
|
this.webSocketReconnectionSubscription?.unsubscribe();
|
|
54
57
|
this.webSocketReconnectionSubscription =
|
|
55
58
|
this.webSocketClient.subscribeOnSuccessfulReconnection(() => {
|
|
56
|
-
this.
|
|
59
|
+
this.requestThreeDsStatus(threeDsForm);
|
|
57
60
|
});
|
|
58
61
|
this.handleThreeDsUpdates(threeDsForm);
|
|
59
|
-
this.
|
|
62
|
+
this.requestThreeDsStatus(threeDsForm);
|
|
60
63
|
this.reinsuranceCheckService.addTimer({
|
|
61
64
|
id: this.statusThreeDsTimerId,
|
|
62
65
|
timeoutMs: this.statusThreeDsTimeoutMs,
|
|
63
66
|
callback: () => {
|
|
64
|
-
this.
|
|
67
|
+
this.requestThreeDsStatus(threeDsForm);
|
|
65
68
|
},
|
|
66
69
|
});
|
|
67
70
|
}
|
|
71
|
+
requestThreeDsStatus(threeDsForm) {
|
|
72
|
+
this.statusThreeDsService.request(this.latestDfpParameters ?? threeDsForm);
|
|
73
|
+
}
|
|
68
74
|
handleThreeDsUpdates(threeDsForm) {
|
|
69
75
|
this.statusRequestSubscription?.unsubscribe();
|
|
70
76
|
this.statusRequestSubscription =
|
|
@@ -72,6 +78,9 @@ export class ThreeDs20Service {
|
|
|
72
78
|
if (!threeDsStatus) {
|
|
73
79
|
return;
|
|
74
80
|
}
|
|
81
|
+
if (threeDsStatus.collectDfpParameters) {
|
|
82
|
+
this.latestDfpParameters = threeDsStatus.collectDfpParameters;
|
|
83
|
+
}
|
|
75
84
|
if (threeDsStatus.status === ThreeDsStatusTypes.completed) {
|
|
76
85
|
this.stopReinsuranceMethods();
|
|
77
86
|
this.userBehaviourAnalyticsService.send(UserBehaviourEventName.threeDs2complete, userBehaviourEventTypes.manual);
|
|
@@ -93,9 +102,18 @@ export class ThreeDs20Service {
|
|
|
93
102
|
});
|
|
94
103
|
}
|
|
95
104
|
if (threeDsStatus.status === ThreeDsStatusTypes.collectDfp) {
|
|
96
|
-
this.dfpCollectService.collectDfpStatus(threeDsForm);
|
|
105
|
+
this.dfpCollectService.collectDfpStatus(this.latestDfpParameters ?? threeDsForm);
|
|
97
106
|
this.userBehaviourAnalyticsService.send(UserBehaviourEventName.threeDs2collectDfp, userBehaviourEventTypes.manual);
|
|
98
107
|
}
|
|
108
|
+
if (threeDsStatus.status === ThreeDsStatusTypes.checkout &&
|
|
109
|
+
threeDsStatus.checkoutForm) {
|
|
110
|
+
this.stopReinsuranceMethods();
|
|
111
|
+
this.userBehaviourAnalyticsService.send(UserBehaviourEventName.threeDs2checkout, userBehaviourEventTypes.manual);
|
|
112
|
+
this.statusUpdates.next({
|
|
113
|
+
type: 'checkout',
|
|
114
|
+
data: threeDsStatus.checkoutForm,
|
|
115
|
+
});
|
|
116
|
+
}
|
|
99
117
|
});
|
|
100
118
|
}
|
|
101
119
|
stopReinsuranceMethods() {
|
|
@@ -104,6 +122,9 @@ export class ThreeDs20Service {
|
|
|
104
122
|
this.webSocketClient?.close();
|
|
105
123
|
this.statusRequestSubscription?.unsubscribe();
|
|
106
124
|
}
|
|
125
|
+
clearLatestDfpParameters() {
|
|
126
|
+
this.latestDfpParameters = null;
|
|
127
|
+
}
|
|
107
128
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ThreeDs20Service, deps: [{ token: i1.StatusThreeDsService }, { token: i2.NotifyDfpStatusService }, { token: i3.WebSocketFactory }, { token: i4.DfpCollectService }, { token: i5.ReinsuranceCheckService }, { token: i6.UserBehaviourAnalyticsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
108
129
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ThreeDs20Service, providedIn: 'root' }); }
|
|
109
130
|
}
|
|
@@ -113,4 +134,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
113
134
|
providedIn: 'root',
|
|
114
135
|
}]
|
|
115
136
|
}], ctorParameters: () => [{ type: i1.StatusThreeDsService }, { type: i2.NotifyDfpStatusService }, { type: i3.WebSocketFactory }, { type: i4.DfpCollectService }, { type: i5.ReinsuranceCheckService }, { type: i6.UserBehaviourAnalyticsService }] });
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyZWUtZHMyMC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC90aHJlZS1kcy90aHJlZS1kcy0yMC90aHJlZS1kczIwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUt6RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUV0RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUs5RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtRkFBbUYsQ0FBQztBQUM1SCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQzs7Ozs7Ozs7QUFLMUcsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixJQUFXLGNBQWM7UUFDdkIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFnQkQsWUFDbUIsb0JBQTBDLEVBQzFDLHNCQUE4QyxFQUM5QyxnQkFBa0MsRUFDbEMsaUJBQW9DLEVBQ3BDLHVCQUFnRCxFQUNoRCw2QkFBNEQ7UUFMNUQseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBQ2hELGtDQUE2QixHQUE3Qiw2QkFBNkIsQ0FBK0I7UUFsQnZFLG9CQUFlLEdBQTJCLElBQUksQ0FBQztRQUV0QyxrQkFBYSxHQUFH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QUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLGVBQWUsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMseUJBQXlCLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDaEQsQ0FBQzs4R0F6SVUsZ0JBQWdCO2tIQUFoQixnQkFBZ0IsY0FGZixNQUFNOzsyRkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBXZWJTb2NrZXRGYWN0b3J5IH0gZnJvbSAnLi4vLi4vLi4vd2ViLXNvY2tldC93ZWItc29ja2V0LmZhY3RvcnknO1xuaW1wb3J0IHsgV2ViU29ja2V0Q2xpZW50IH0gZnJvbSAnLi4vLi4vLi4vd2ViLXNvY2tldC93ZWItc29ja2V0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBTdGF0dXNUaHJlZURzU2VydmljZSB9IGZyb20gJy4uL2FwaS9zdGF0dXMtdGhyZWUtZHMvc3RhdHVzLXRocmVlLWRzLnNlcnZpY2UnO1xuaW1wb3J0IHsgTm90aWZ5RGZwU3RhdHVzU2VydmljZSB9IGZyb20gJy4uL2FwaS9ub3RpZnktZGZwLXN0YXR1cy9ub3RpZnktZGZwLXN0YXR1cy5zZXJ2aWNlJztcbmltcG9ydCB7IFRocmVlRHNTdGF0dXNXZWJTb2NrZXRUeXBlcyB9IGZyb20gJy4uL3RocmVlLWRzLXN0YXR1cy13ZWJzb2NrZXQtdHlwZXMuZW51bSc7XG5pbXBvcnQgeyBUaHJlZURzRm9ybSB9IGZyb20gJy4uL3RocmVlLWRzLWZvcm0uaW50ZXJmYWNlJztcbmltcG9ydCB7IFRocmVlRHNTdGF0dXNUeXBlcyB9IGZyb20gJy4uL2FwaS9zdGF0dXMtdGhyZWUtZHMvc3RhdHVzLXR5cGVzLmVudW0nO1xuaW1wb3J0IHsgRGZwQ29sbGVjdFNlcnZpY2UgfSBmcm9tICcuLi9kZnAtY29sbGVjdC9kZnAtY29sbGVjdC5zZXJ2aWNlJztcbmltcG9ydCB7IFJlaW5zdXJhbmNlQ2hlY2tTZXJ2aWNlIH0gZnJvbSAnLi4vcmVpbnN1cmFuY2UtY2hlY2svcmVpbnN1cmFuY2UtY2hlY2suc2VydmljZSc7XG5pbXBvcnQgeyBTdGF0dXNVcGRhdGUgfSBmcm9tICcuL3N0YXR1cy11cGRhdGUuaW50ZXJmYWNlJztcbmltcG9ydCB7IFVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy5zZXJ2aWNlJztcbmltcG9ydCB7IHVzZXJCZWhhdmlvdXJFdmVudFR5cGVzIH0gZnJvbSAnLi4vLi4vLi4vdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzL3VzZXItYmVoYXZpb3VyLWV2ZW50L3VzZXItYmVoYXZpb3VyLWV2ZW50LXR5cGVzJztcbmltcG9ydCB7IFVzZXJCZWhhdmlvdXJFdmVudE5hbWUgfSBmcm9tICcuLi8uLi8uLi91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItZXZlbnQtbmFtZS5lbnVtJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRocmVlRHMyMFNlcnZpY2Uge1xuICBwdWJsaWMgZ2V0IHN0YXR1c1VwZGF0ZXMkKCk6IE9ic2VydmFibGU8U3RhdHVzVXBkYXRlPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdHVzVXBkYXRlcy5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgd2ViU29ja2V0U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgd2ViU29ja2V0UmVjb25uZWN0aW9uU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgd2ViU29ja2V0Q2xpZW50OiBXZWJTb2NrZXRDbGllbnQgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIHJlYWRvbmx5IHN0YXR1c1VwZGF0ZXMgPSBuZXcgU3ViamVjdDxTdGF0dXNVcGRhdGU+KCk7XG5cbiAgcHJpdmF0ZSBzdGF0dXNSZXF1ZXN0U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIHJlYWRvbmx5IG5vdGlmeURmcFRpbWVySWQgPSAnbm90aWZ5LWRmcCc7XG4gIHByaXZhdGUgcmVhZG9ubHkgbm90aWZ5RGZwVGltZW91dE1zID0gMTAwMDA7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBzdGF0dXNUaHJlZURzVGltZXJJZCA9ICdzdGF0dXMtdGhyZWUtZHMnO1xuICBwcml2YXRlIHJlYWRvbmx5IHN0YXR1c1RocmVlRHNUaW1lb3V0TXMgPSAxODAwMDA7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhdHVzVGhyZWVEc1NlcnZpY2U6IFN0YXR1c1RocmVlRHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbm90aWZ5RGZwU3RhdHVzU2VydmljZTogTm90aWZ5RGZwU3RhdHVzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdlYlNvY2tldEZhY3Rvcnk6IFdlYlNvY2tldEZhY3RvcnksXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZnBDb2xsZWN0U2VydmljZTogRGZwQ29sbGVjdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSByZWluc3VyYW5jZUNoZWNrU2VydmljZTogUmVpbnN1cmFuY2VDaGVja1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZTogVXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBhc3luYyBjaGVja1RocmVlRHMyMCh0aHJlZURzRm9ybTogVGhyZWVEc0Zvcm0gfCBudWxsKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aHJlZURzRm9ybSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucmVpbnN1cmFuY2VDaGVja1NlcnZpY2UuYWRkVGltZXIoe1xuICAgICAgaWQ6IHRoaXMubm90aWZ5RGZwVGltZXJJZCxcbiAgICAgIHRpbWVvdXRNczogdGhpcy5ub3RpZnlEZnBUaW1lb3V0TXMsXG4gICAgICBjYWxsYmFjazogKCkgPT4ge1xuICAgICAgICB0aGlzLm5vdGlmeURmcFN0YXR1c1NlcnZpY2UucmVxdWVzdCh0aHJlZURzRm9ybS50aHJlZURTVHJYaWQsIGZhbHNlKTtcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLndlYlNvY2tldENsaWVudCA9IHRoaXMud2ViU29ja2V0RmFjdG9yeS5jcmVhdGVXZWJTb2NrZXRDbGllbnQoXG4gICAgICB0aHJlZURzRm9ybS53ZWJTb2NrZXRDaGFubmVsVXJsLFxuICAgICAgdGhyZWVEc0Zvcm0ud2ViU29ja2V0Q2xpZW50VHlwZVxuICAgICk7XG5cbiAgICBhd2FpdCB0aGlzLndlYlNvY2tldENsaWVudC5vcGVuKFxuICAgICAgdGhyZWVEc0Zvcm0ud2ViU29ja2V0Q2hhbm5lbFVybCxcbiAgICAgIHRocmVlRHNGb3JtLndlYlNvY2tldENsaWVudFR5cGVcbiAgICApO1xuICAgIHRoaXMud2ViU29ja2V0U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy53ZWJTb2NrZXRTdWJzY3JpcHRpb24gPSB0aGlzLndlYlNvY2tldENsaWVudC5tZXNzYWdlcyQuc3Vic2NyaWJlKFxuICAgICAgKG1lc3NhZ2UpID0+IHtcbiAgICAgICAgaWYgKG1lc3NhZ2UgIT09IFRocmVlRHNTdGF0dXNXZWJTb2NrZXRUeXBlcy5zdGF0dXMzRFNfY2hhbmdlZCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc3RhdHVzVGhyZWVEc1NlcnZpY2UucmVxdWVzdCh0aHJlZURzRm9ybSk7XG4gICAgICB9XG4gICAgKTtcblxuICAgIHRoaXMud2ViU29ja2V0UmVjb25uZWN0aW9uU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMud2ViU29ja2V0UmVjb25uZWN0aW9uU3Vic2NyaXB0aW9uID1cbiAgICAgIHRoaXMud2ViU29ja2V0Q2xpZW50LnN1YnNjcmliZU9uU3VjY2Vzc2Z1bFJlY29ubmVjdGlvbigoKSA9PiB7XG4gICAgICAgIHRoaXMuc3RhdHVzVGhyZWVEc1NlcnZpY2UucmVxdWVzdCh0aHJlZURzRm9ybSk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuaGFuZGxlVGhyZWVEc1VwZGF0ZXModGhyZWVEc0Zvcm0pO1xuICAgIHRoaXMuc3RhdHVzVGhyZWVEc1NlcnZpY2UucmVxdWVzdCh0aHJlZURzRm9ybSk7XG5cbiAgICB0aGlzLnJlaW5zdXJhbmNlQ2hlY2tTZXJ2aWNlLmFkZFRpbWVyKHtcbiAgICAgIGlkOiB0aGlzLnN0YXR1c1RocmVlRHNUaW1lcklkLFxuICAgICAgdGltZW91dE1zOiB0aGlzLnN0YXR1c1RocmVlRHNUaW1lb3V0TXMsXG4gICAgICBjYWxsYmFjazogKCkgPT4ge1xuICAgICAgICB0aGlzLnN0YXR1c1RocmVlRHNTZXJ2aWNlLnJlcXVlc3QodGhyZWVEc0Zvcm0pO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlVGhyZWVEc1VwZGF0ZXModGhyZWVEc0Zvcm06IFRocmVlRHNGb3JtKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0dXNSZXF1ZXN0U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuc3RhdHVzUmVxdWVzdFN1YnNjcmlwdGlvbiA9XG4gICAgICB0aGlzLnN0YXR1c1RocmVlRHNTZXJ2aWNlLnJlc3BvbnNlJC5zdWJzY3JpYmUoKHRocmVlRHNTdGF0dXMpID0+IHtcbiAgICAgICAgaWYgKCF0aHJlZURzU3RhdHVzKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRocmVlRHNTdGF0dXMuc3RhdHVzID09PSBUaHJlZURzU3RhdHVzVHlwZXMuY29tcGxldGVkKSB7XG4gICAgICAgICAgdGhpcy5zdG9wUmVpbnN1cmFuY2VNZXRob2RzKCk7XG5cbiAgICAgICAgICB0aGlzLnVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLnNlbmQoXG4gICAgICAgICAgICBVc2VyQmVoYXZpb3VyRXZlbnROYW1lLnRocmVlRHMyY29tcGxldGUsXG4gICAgICAgICAgICB1c2VyQmVoYXZpb3VyRXZlbnRUeXBlcy5tYW51YWxcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgdGhpcy5zdGF0dXNVcGRhdGVzLm5leHQoe1xuICAgICAgICAgICAgdHlwZTogJ2NvbXBsZXRlJyxcbiAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgc3RhdHVzVXJsOiB0aHJlZURzRm9ybS5zdGF0dXNVcmwsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICB0aHJlZURzU3RhdHVzLnN0YXR1cyA9PT0gVGhyZWVEc1N0YXR1c1R5cGVzLmNoYWxsZW5nZSAmJlxuICAgICAgICAgIHRocmVlRHNTdGF0dXMuY2hlY2tvdXRGb3JtXG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMuc3RvcFJlaW5zdXJhbmNlTWV0aG9kcygpO1xuXG4gICAgICAgICAgdGhpcy51c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZS5zZW5kKFxuICAgICAgICAgICAgVXNlckJlaGF2aW91ckV2ZW50TmFtZS50aHJlZURzMmNoYWxsZW5nZSxcbiAgICAgICAgICAgIHVzZXJCZWhhdmlvdXJFdmVudFR5cGVzLm1hbnVhbFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICB0aGlzLnN0YXR1c1VwZGF0ZXMubmV4dCh7XG4gICAgICAgICAgICB0eXBlOiAnY2hhbGxlbmdlJyxcbiAgICAgICAgICAgIGRhdGE6IHRocmVlRHNTdGF0dXMuY2hlY2tvdXRGb3JtLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRocmVlRHNTdGF0dXMuc3RhdHVzID09PSBUaHJlZURzU3RhdHVzVHlwZXMuY29sbGVjdERmcCkge1xuICAgICAgICAgIHRoaXMuZGZwQ29sbGVjdFNlcnZpY2UuY29sbGVjdERmcFN0YXR1cyh0aHJlZURzRm9ybSk7XG4gICAgICAgICAgdGhpcy51c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZS5zZW5kKFxuICAgICAgICAgICAgVXNlckJlaGF2aW91ckV2ZW50TmFtZS50aHJlZURzMmNvbGxlY3REZnAsXG4gICAgICAgICAgICB1c2VyQmVoYXZpb3VyRXZlbnRUeXBlcy5tYW51YWxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RvcFJlaW5zdXJhbmNlTWV0aG9kcygpOiB2b2lkIHtcbiAgICB0aGlzLnJlaW5zdXJhbmNlQ2hlY2tTZXJ2aWNlLnJlbW92ZVRpbWVyKHRoaXMubm90aWZ5RGZwVGltZXJJZCk7XG4gICAgdGhpcy5yZWluc3VyYW5jZUNoZWNrU2VydmljZS5yZW1vdmVUaW1lcih0aGlzLnN0YXR1c1RocmVlRHNUaW1lcklkKTtcbiAgICB0aGlzLndlYlNvY2tldENsaWVudD8uY2xvc2UoKTtcbiAgICB0aGlzLnN0YXR1c1JlcXVlc3RTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyZWUtZHMyMC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC90aHJlZS1kcy90aHJlZS1kcy0yMC90aHJlZS1kczIwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUt6RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUV0RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUs5RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtRkFBbUYsQ0FBQztBQUM1SCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQzs7Ozs7Ozs7QUFLMUcsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixJQUFXLGNBQWM7UUFDdkIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFpQkQsWUFDbUIsb0JBQTBDLEVBQzFDLHNCQUE4QyxFQUM5QyxnQkFBa0MsRUFDbEMsaUJBQW9DLEVBQ3BDLHVCQUFnRCxFQUNoRCw2QkFBNEQ7UUFMNUQseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBQ2hELGtDQUE2QixHQUE3Qiw2QkFBNkIsQ0FBK0I7UUFuQnZFLG9CQUFlLEdBQTJCLElBQUksQ0FBQztRQUV0QyxrQkFBYSxHQUFH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QkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFdlYlNvY2tldEZhY3RvcnkgfSBmcm9tICcuLi8uLi8uLi93ZWItc29ja2V0L3dlYi1zb2NrZXQuZmFjdG9yeSc7XG5pbXBvcnQgeyBXZWJTb2NrZXRDbGllbnQgfSBmcm9tICcuLi8uLi8uLi93ZWItc29ja2V0L3dlYi1zb2NrZXQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN0YXR1c1RocmVlRHNTZXJ2aWNlIH0gZnJvbSAnLi4vYXBpL3N0YXR1cy10aHJlZS1kcy9zdGF0dXMtdGhyZWUtZHMuc2VydmljZSc7XG5pbXBvcnQgeyBOb3RpZnlEZnBTdGF0dXNTZXJ2aWNlIH0gZnJvbSAnLi4vYXBpL25vdGlmeS1kZnAtc3RhdHVzL25vdGlmeS1kZnAtc3RhdHVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGhyZWVEc1N0YXR1c1dlYlNvY2tldFR5cGVzIH0gZnJvbSAnLi4vdGhyZWUtZHMtc3RhdHVzLXdlYnNvY2tldC10eXBlcy5lbnVtJztcbmltcG9ydCB7IFRocmVlRHNGb3JtIH0gZnJvbSAnLi4vdGhyZWUtZHMtZm9ybS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVGhyZWVEc1N0YXR1c1R5cGVzIH0gZnJvbSAnLi4vYXBpL3N0YXR1cy10aHJlZS1kcy9zdGF0dXMtdHlwZXMuZW51bSc7XG5pbXBvcnQgeyBEZnBDb2xsZWN0U2VydmljZSB9IGZyb20gJy4uL2RmcC1jb2xsZWN0L2RmcC1jb2xsZWN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVpbnN1cmFuY2VDaGVja1NlcnZpY2UgfSBmcm9tICcuLi9yZWluc3VyYW5jZS1jaGVjay9yZWluc3VyYW5jZS1jaGVjay5zZXJ2aWNlJztcbmltcG9ydCB7IFN0YXR1c1VwZGF0ZSB9IGZyb20gJy4vc3RhdHVzLXVwZGF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzLnNlcnZpY2UnO1xuaW1wb3J0IHsgdXNlckJlaGF2aW91ckV2ZW50VHlwZXMgfSBmcm9tICcuLi8uLi8uLi91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItZXZlbnQvdXNlci1iZWhhdmlvdXItZXZlbnQtdHlwZXMnO1xuaW1wb3J0IHsgVXNlckJlaGF2aW91ckV2ZW50TmFtZSB9IGZyb20gJy4uLy4uLy4uL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1ldmVudC1uYW1lLmVudW0nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVGhyZWVEczIwU2VydmljZSB7XG4gIHB1YmxpYyBnZXQgc3RhdHVzVXBkYXRlcyQoKTogT2JzZXJ2YWJsZTxTdGF0dXNVcGRhdGU+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0dXNVcGRhdGVzLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSB3ZWJTb2NrZXRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSB3ZWJTb2NrZXRSZWNvbm5lY3Rpb25TdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSB3ZWJTb2NrZXRDbGllbnQ6IFdlYlNvY2tldENsaWVudCB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgc3RhdHVzVXBkYXRlcyA9IG5ldyBTdWJqZWN0PFN0YXR1c1VwZGF0ZT4oKTtcblxuICBwcml2YXRlIHN0YXR1c1JlcXVlc3RTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGxhdGVzdERmcFBhcmFtZXRlcnM6IFRocmVlRHNGb3JtIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBub3RpZnlEZnBUaW1lcklkID0gJ25vdGlmeS1kZnAnO1xuICBwcml2YXRlIHJlYWRvbmx5IG5vdGlmeURmcFRpbWVvdXRNcyA9IDEwMDAwO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgc3RhdHVzVGhyZWVEc1RpbWVySWQgPSAnc3RhdHVzLXRocmVlLWRzJztcbiAgcHJpdmF0ZSByZWFkb25seSBzdGF0dXNUaHJlZURzVGltZW91dE1zID0gMTgwMDAwO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0YXR1c1RocmVlRHNTZXJ2aWNlOiBTdGF0dXNUaHJlZURzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5vdGlmeURmcFN0YXR1c1NlcnZpY2U6IE5vdGlmeURmcFN0YXR1c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB3ZWJTb2NrZXRGYWN0b3J5OiBXZWJTb2NrZXRGYWN0b3J5LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGZwQ29sbGVjdFNlcnZpY2U6IERmcENvbGxlY3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVpbnN1cmFuY2VDaGVja1NlcnZpY2U6IFJlaW5zdXJhbmNlQ2hlY2tTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2U6IFVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgYXN5bmMgY2hlY2tUaHJlZURzMjAodGhyZWVEc0Zvcm06IFRocmVlRHNGb3JtIHwgbnVsbCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghdGhyZWVEc0Zvcm0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmNsZWFyTGF0ZXN0RGZwUGFyYW1ldGVycygpO1xuXG4gICAgdGhpcy5yZWluc3VyYW5jZUNoZWNrU2VydmljZS5hZGRUaW1lcih7XG4gICAgICBpZDogdGhpcy5ub3RpZnlEZnBUaW1lcklkLFxuICAgICAgdGltZW91dE1zOiB0aGlzLm5vdGlmeURmcFRpbWVvdXRNcyxcbiAgICAgIGNhbGxiYWNrOiAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHRocmVlRHNUcmFuc2FjdGlvbklkID1cbiAgICAgICAgICB0aGlzLmxhdGVzdERmcFBhcmFtZXRlcnM/LnRocmVlRFNUclhpZCA/PyB0aHJlZURzRm9ybS50aHJlZURTVHJYaWQ7XG4gICAgICAgIHRoaXMubm90aWZ5RGZwU3RhdHVzU2VydmljZS5yZXF1ZXN0KHRocmVlRHNUcmFuc2FjdGlvbklkLCBmYWxzZSk7XG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy53ZWJTb2NrZXRDbGllbnQgPSB0aGlzLndlYlNvY2tldEZhY3RvcnkuY3JlYXRlV2ViU29ja2V0Q2xpZW50KFxuICAgICAgdGhyZWVEc0Zvcm0ud2ViU29ja2V0Q2hhbm5lbFVybCxcbiAgICAgIHRocmVlRHNGb3JtLndlYlNvY2tldENsaWVudFR5cGVcbiAgICApO1xuXG4gICAgYXdhaXQgdGhpcy53ZWJTb2NrZXRDbGllbnQub3BlbihcbiAgICAgIHRocmVlRHNGb3JtLndlYlNvY2tldENoYW5uZWxVcmwsXG4gICAgICB0aHJlZURzRm9ybS53ZWJTb2NrZXRDbGllbnRUeXBlXG4gICAgKTtcbiAgICB0aGlzLndlYlNvY2tldFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcblxuICAgIHRoaXMud2ViU29ja2V0U3Vic2NyaXB0aW9uID0gdGhpcy53ZWJTb2NrZXRDbGllbnQubWVzc2FnZXMkLnN1YnNjcmliZShcbiAgICAgIChtZXNzYWdlKSA9PiB7XG4gICAgICAgIGlmIChtZXNzYWdlICE9PSBUaHJlZURzU3RhdHVzV2ViU29ja2V0VHlwZXMuc3RhdHVzM0RTX2NoYW5nZWQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnJlcXVlc3RUaHJlZURzU3RhdHVzKHRocmVlRHNGb3JtKTtcbiAgICAgIH1cbiAgICApO1xuXG4gICAgdGhpcy53ZWJTb2NrZXRSZWNvbm5lY3Rpb25TdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy53ZWJTb2NrZXRSZWNvbm5lY3Rpb25TdWJzY3JpcHRpb24gPVxuICAgICAgdGhpcy53ZWJTb2NrZXRDbGllbnQuc3Vic2NyaWJlT25TdWNjZXNzZnVsUmVjb25uZWN0aW9uKCgpID0+IHtcbiAgICAgICAgdGhpcy5yZXF1ZXN0VGhyZWVEc1N0YXR1cyh0aHJlZURzRm9ybSk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuaGFuZGxlVGhyZWVEc1VwZGF0ZXModGhyZWVEc0Zvcm0pO1xuICAgIHRoaXMucmVxdWVzdFRocmVlRHNTdGF0dXModGhyZWVEc0Zvcm0pO1xuXG4gICAgdGhpcy5yZWluc3VyYW5jZUNoZWNrU2VydmljZS5hZGRUaW1lcih7XG4gICAgICBpZDogdGhpcy5zdGF0dXNUaHJlZURzVGltZXJJZCxcbiAgICAgIHRpbWVvdXRNczogdGhpcy5zdGF0dXNUaHJlZURzVGltZW91dE1zLFxuICAgICAgY2FsbGJhY2s6ICgpID0+IHtcbiAgICAgICAgdGhpcy5yZXF1ZXN0VGhyZWVEc1N0YXR1cyh0aHJlZURzRm9ybSk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZXF1ZXN0VGhyZWVEc1N0YXR1cyh0aHJlZURzRm9ybTogVGhyZWVEc0Zvcm0pOiB2b2lkIHtcbiAgICB0aGlzLnN0YXR1c1RocmVlRHNTZXJ2aWNlLnJlcXVlc3QodGhpcy5sYXRlc3REZnBQYXJhbWV0ZXJzID8/IHRocmVlRHNGb3JtKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlVGhyZWVEc1VwZGF0ZXModGhyZWVEc0Zvcm06IFRocmVlRHNGb3JtKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0dXNSZXF1ZXN0U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuc3RhdHVzUmVxdWVzdFN1YnNjcmlwdGlvbiA9XG4gICAgICB0aGlzLnN0YXR1c1RocmVlRHNTZXJ2aWNlLnJlc3BvbnNlJC5zdWJzY3JpYmUoKHRocmVlRHNTdGF0dXMpID0+IHtcbiAgICAgICAgaWYgKCF0aHJlZURzU3RhdHVzKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRocmVlRHNTdGF0dXMuY29sbGVjdERmcFBhcmFtZXRlcnMpIHtcbiAgICAgICAgICB0aGlzLmxhdGVzdERmcFBhcmFtZXRlcnMgPSB0aHJlZURzU3RhdHVzLmNvbGxlY3REZnBQYXJhbWV0ZXJzO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRocmVlRHNTdGF0dXMuc3RhdHVzID09PSBUaHJlZURzU3RhdHVzVHlwZXMuY29tcGxldGVkKSB7XG4gICAgICAgICAgdGhpcy5zdG9wUmVpbnN1cmFuY2VNZXRob2RzKCk7XG5cbiAgICAgICAgICB0aGlzLnVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLnNlbmQoXG4gICAgICAgICAgICBVc2VyQmVoYXZpb3VyRXZlbnROYW1lLnRocmVlRHMyY29tcGxldGUsXG4gICAgICAgICAgICB1c2VyQmVoYXZpb3VyRXZlbnRUeXBlcy5tYW51YWxcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgdGhpcy5zdGF0dXNVcGRhdGVzLm5leHQoe1xuICAgICAgICAgICAgdHlwZTogJ2NvbXBsZXRlJyxcbiAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgc3RhdHVzVXJsOiB0aHJlZURzRm9ybS5zdGF0dXNVcmwsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICB0aHJlZURzU3RhdHVzLnN0YXR1cyA9PT0gVGhyZWVEc1N0YXR1c1R5cGVzLmNoYWxsZW5nZSAmJlxuICAgICAgICAgIHRocmVlRHNTdGF0dXMuY2hlY2tvdXRGb3JtXG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMuc3RvcFJlaW5zdXJhbmNlTWV0aG9kcygpO1xuXG4gICAgICAgICAgdGhpcy51c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZS5zZW5kKFxuICAgICAgICAgICAgVXNlckJlaGF2aW91ckV2ZW50TmFtZS50aHJlZURzMmNoYWxsZW5nZSxcbiAgICAgICAgICAgIHVzZXJCZWhhdmlvdXJFdmVudFR5cGVzLm1hbnVhbFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICB0aGlzLnN0YXR1c1VwZGF0ZXMubmV4dCh7XG4gICAgICAgICAgICB0eXBlOiAnY2hhbGxlbmdlJyxcbiAgICAgICAgICAgIGRhdGE6IHRocmVlRHNTdGF0dXMuY2hlY2tvdXRGb3JtLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRocmVlRHNTdGF0dXMuc3RhdHVzID09PSBUaHJlZURzU3RhdHVzVHlwZXMuY29sbGVjdERmcCkge1xuICAgICAgICAgIHRoaXMuZGZwQ29sbGVjdFNlcnZpY2UuY29sbGVjdERmcFN0YXR1cyhcbiAgICAgICAgICAgIHRoaXMubGF0ZXN0RGZwUGFyYW1ldGVycyA/PyB0aHJlZURzRm9ybVxuICAgICAgICAgICk7XG4gICAgICAgICAgdGhpcy51c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZS5zZW5kKFxuICAgICAgICAgICAgVXNlckJlaGF2aW91ckV2ZW50TmFtZS50aHJlZURzMmNvbGxlY3REZnAsXG4gICAgICAgICAgICB1c2VyQmVoYXZpb3VyRXZlbnRUeXBlcy5tYW51YWxcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRocmVlRHNTdGF0dXMuc3RhdHVzID09PSBUaHJlZURzU3RhdHVzVHlwZXMuY2hlY2tvdXQgJiZcbiAgICAgICAgICB0aHJlZURzU3RhdHVzLmNoZWNrb3V0Rm9ybVxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLnN0b3BSZWluc3VyYW5jZU1ldGhvZHMoKTtcblxuICAgICAgICAgIHRoaXMudXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2Uuc2VuZChcbiAgICAgICAgICAgIFVzZXJCZWhhdmlvdXJFdmVudE5hbWUudGhyZWVEczJjaGVja291dCxcbiAgICAgICAgICAgIHVzZXJCZWhhdmlvdXJFdmVudFR5cGVzLm1hbnVhbFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICB0aGlzLnN0YXR1c1VwZGF0ZXMubmV4dCh7XG4gICAgICAgICAgICB0eXBlOiAnY2hlY2tvdXQnLFxuICAgICAgICAgICAgZGF0YTogdGhyZWVEc1N0YXR1cy5jaGVja291dEZvcm0sXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdG9wUmVpbnN1cmFuY2VNZXRob2RzKCk6IHZvaWQge1xuICAgIHRoaXMucmVpbnN1cmFuY2VDaGVja1NlcnZpY2UucmVtb3ZlVGltZXIodGhpcy5ub3RpZnlEZnBUaW1lcklkKTtcbiAgICB0aGlzLnJlaW5zdXJhbmNlQ2hlY2tTZXJ2aWNlLnJlbW92ZVRpbWVyKHRoaXMuc3RhdHVzVGhyZWVEc1RpbWVySWQpO1xuICAgIHRoaXMud2ViU29ja2V0Q2xpZW50Py5jbG9zZSgpO1xuICAgIHRoaXMuc3RhdHVzUmVxdWVzdFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJMYXRlc3REZnBQYXJhbWV0ZXJzKCk6IHZvaWQge1xuICAgIHRoaXMubGF0ZXN0RGZwUGFyYW1ldGVycyA9IG51bGw7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -4,12 +4,14 @@ import * as i1 from "./three-ds-20/three-ds20.service";
|
|
|
4
4
|
import * as i2 from "../actions/next-action.service";
|
|
5
5
|
import * as i3 from "../actions/check-status/check-status.action.class";
|
|
6
6
|
import * as i4 from "../actions/three-ds/three-ds.action.class";
|
|
7
|
+
import * as i5 from "../actions/three-ds-redirect/three-ds-redirect.action.class";
|
|
7
8
|
export class ThreeDsService {
|
|
8
|
-
constructor(threeDs20Service, nextActionService, checkStatusActionCreator, threeDsActionCreator) {
|
|
9
|
+
constructor(threeDs20Service, nextActionService, checkStatusActionCreator, threeDsActionCreator, threeDsRedirectActionCreator) {
|
|
9
10
|
this.threeDs20Service = threeDs20Service;
|
|
10
11
|
this.nextActionService = nextActionService;
|
|
11
12
|
this.checkStatusActionCreator = checkStatusActionCreator;
|
|
12
13
|
this.threeDsActionCreator = threeDsActionCreator;
|
|
14
|
+
this.threeDsRedirectActionCreator = threeDsRedirectActionCreator;
|
|
13
15
|
this.statusSubscription = null;
|
|
14
16
|
}
|
|
15
17
|
checkThreeDs(params) {
|
|
@@ -21,16 +23,20 @@ export class ThreeDsService {
|
|
|
21
23
|
void this.threeDs20Service.checkThreeDs20(params.parameters.threeDSForm);
|
|
22
24
|
this.statusSubscription?.unsubscribe();
|
|
23
25
|
this.statusSubscription = this.threeDs20Service.statusUpdates$.subscribe((statusUpdate) => {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
+
switch (statusUpdate.type) {
|
|
27
|
+
case 'complete':
|
|
28
|
+
return this.nextActionService.emitFlowUpdates(this.checkStatusActionCreator.getActionData());
|
|
29
|
+
case 'challenge':
|
|
30
|
+
return this.nextActionService.emitFlowUpdates(this.threeDsActionCreator.getActionData(statusUpdate));
|
|
31
|
+
case 'checkout':
|
|
32
|
+
return this.nextActionService.emitFlowUpdates(this.threeDsRedirectActionCreator.getActionData(statusUpdate));
|
|
26
33
|
}
|
|
27
|
-
this.nextActionService.emitFlowUpdates(this.threeDsActionCreator.getActionData(statusUpdate));
|
|
28
34
|
});
|
|
29
35
|
}
|
|
30
36
|
stopChecking() {
|
|
31
37
|
this.statusSubscription?.unsubscribe();
|
|
32
38
|
}
|
|
33
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ThreeDsService, deps: [{ token: i1.ThreeDs20Service }, { token: i2.NextActionService }, { token: i3.CheckStatusActionCreator }, { token: i4.ThreeDsActionCreator }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
39
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ThreeDsService, deps: [{ token: i1.ThreeDs20Service }, { token: i2.NextActionService }, { token: i3.CheckStatusActionCreator }, { token: i4.ThreeDsActionCreator }, { token: i5.ThreeDsRedirectActionCreator }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
34
40
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ThreeDsService, providedIn: 'root' }); }
|
|
35
41
|
}
|
|
36
42
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ThreeDsService, decorators: [{
|
|
@@ -38,5 +44,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
38
44
|
args: [{
|
|
39
45
|
providedIn: 'root',
|
|
40
46
|
}]
|
|
41
|
-
}], ctorParameters: () => [{ type: i1.ThreeDs20Service }, { type: i2.NextActionService }, { type: i3.CheckStatusActionCreator }, { type: i4.ThreeDsActionCreator }] });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
}], ctorParameters: () => [{ type: i1.ThreeDs20Service }, { type: i2.NextActionService }, { type: i3.CheckStatusActionCreator }, { type: i4.ThreeDsActionCreator }, { type: i5.ThreeDsRedirectActionCreator }] });
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyZWUtZHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvdGhyZWUtZHMvdGhyZWUtZHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBVzNDLE1BQU0sT0FBTyxjQUFjO0lBR3pCLFlBQ21CLGdCQUFrQyxFQUNsQyxpQkFBb0MsRUFDcEMsd0JBQWtELEVBQ2xELG9CQUEwQyxFQUMxQyw0QkFBMEQ7UUFKMUQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDbEQseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyxpQ0FBNEIsR0FBNUIsNEJBQTRCLENBQThCO1FBUHJFLHVCQUFrQixHQUF3QixJQUFJLENBQUM7SUFRcEQsQ0FBQztJQUVHLFlBQVksQ0FBQyxNQUFzQjtRQUN4Qzs7OztVQUlFO1FBQ0YsS0FBSyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFekUsSUFBSSxDQUFDLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FDdEUsQ0FBQyxZQUFZLEVBQUUsRUFBRTtZQUNmLFFBQVEsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUMxQixLQUFLLFVBQVU7b0JBQ2IsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUMzQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsYUFBYSxFQUFFLENBQzlDLENBQUM7Z0JBQ0osS0FBSyxXQUFXO29CQUNkLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FDM0MsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FDdEQsQ0FBQztnQkFDSixLQUFLLFVBQVU7b0JBQ2IsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUMzQyxJQUFJLENBQUMsNEJBQTRCLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUM5RCxDQUFDO1lBQ04sQ0FBQztRQUNILENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLFlBQVk7UUFDakIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ3pDLENBQUM7OEdBMUNVLGNBQWM7a0hBQWQsY0FBYyxjQUZiLE1BQU07OzJGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZXh0QWN0aW9uU2VydmljZSB9IGZyb20gJy4uL2FjdGlvbnMvbmV4dC1hY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBUaHJlZURzMjBTZXJ2aWNlIH0gZnJvbSAnLi90aHJlZS1kcy0yMC90aHJlZS1kczIwLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGhyZWVEc0FjdGlvbkNyZWF0b3IgfSBmcm9tICcuLi9hY3Rpb25zL3RocmVlLWRzL3RocmVlLWRzLmFjdGlvbi5jbGFzcyc7XG5pbXBvcnQgeyBDaGVja1N0YXR1c0FjdGlvbkNyZWF0b3IgfSBmcm9tICcuLi9hY3Rpb25zL2NoZWNrLXN0YXR1cy9jaGVjay1zdGF0dXMuYWN0aW9uLmNsYXNzJztcbmltcG9ydCB7IFRocmVlRHNSZWRpcmVjdEFjdGlvbkNyZWF0b3IgfSBmcm9tICcuLi9hY3Rpb25zL3RocmVlLWRzLXJlZGlyZWN0L3RocmVlLWRzLXJlZGlyZWN0LmFjdGlvbi5jbGFzcyc7XG5pbXBvcnQgeyBTdWJtaXRSZXNwb25zZSB9IGZyb20gJy4uL3JlcXVlc3RzL3N1Ym1pdC9yZXNwb25zZS9zdWJtaXQtcmVzcG9uc2UuY2xhc3MnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVGhyZWVEc1NlcnZpY2Uge1xuICBwcml2YXRlIHN0YXR1c1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGhyZWVEczIwU2VydmljZTogVGhyZWVEczIwU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5leHRBY3Rpb25TZXJ2aWNlOiBOZXh0QWN0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNoZWNrU3RhdHVzQWN0aW9uQ3JlYXRvcjogQ2hlY2tTdGF0dXNBY3Rpb25DcmVhdG9yLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGhyZWVEc0FjdGlvbkNyZWF0b3I6IFRocmVlRHNBY3Rpb25DcmVhdG9yLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGhyZWVEc1JlZGlyZWN0QWN0aW9uQ3JlYXRvcjogVGhyZWVEc1JlZGlyZWN0QWN0aW9uQ3JlYXRvclxuICApIHt9XG5cbiAgcHVibGljIGNoZWNrVGhyZWVEcyhwYXJhbXM6IFN1Ym1pdFJlc3BvbnNlKTogdm9pZCB7XG4gICAgLypcbiAgICAgIEF0IHRoaXMgbW9tZW50IHdlIHN1cHBvcnQgb25seSAzZHMgMi4wIHZlcnNpb24uXG4gICAgICAzZHMgMS4wIGN1cnJlbnRseSB3b3JraW5nIGJ5IG91ciByZWRpcmVjdCBsb2dpYyAoUmVkaXJlY3QgTmV4dEFjdGlvbikuXG4gICAgICBJZiBpbiBmdXR1cmUgd2Ugd2lsbCBnZXQgbmV3IHZlcnNpb24gb2YgM2RzLCB3ZSBzaG91bGQgYWRkIDNkcyBkZXRlcm1pbmF0aW9uIGxvZ2ljIHRvIHRoaXMgc2VydmljZVxuICAgICovXG4gICAgdm9pZCB0aGlzLnRocmVlRHMyMFNlcnZpY2UuY2hlY2tUaHJlZURzMjAocGFyYW1zLnBhcmFtZXRlcnMudGhyZWVEU0Zvcm0pO1xuXG4gICAgdGhpcy5zdGF0dXNTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5zdGF0dXNTdWJzY3JpcHRpb24gPSB0aGlzLnRocmVlRHMyMFNlcnZpY2Uuc3RhdHVzVXBkYXRlcyQuc3Vic2NyaWJlKFxuICAgICAgKHN0YXR1c1VwZGF0ZSkgPT4ge1xuICAgICAgICBzd2l0Y2ggKHN0YXR1c1VwZGF0ZS50eXBlKSB7XG4gICAgICAgICAgY2FzZSAnY29tcGxldGUnOlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubmV4dEFjdGlvblNlcnZpY2UuZW1pdEZsb3dVcGRhdGVzKFxuICAgICAgICAgICAgICB0aGlzLmNoZWNrU3RhdHVzQWN0aW9uQ3JlYXRvci5nZXRBY3Rpb25EYXRhKClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgY2FzZSAnY2hhbGxlbmdlJzpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5leHRBY3Rpb25TZXJ2aWNlLmVtaXRGbG93VXBkYXRlcyhcbiAgICAgICAgICAgICAgdGhpcy50aHJlZURzQWN0aW9uQ3JlYXRvci5nZXRBY3Rpb25EYXRhKHN0YXR1c1VwZGF0ZSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgY2FzZSAnY2hlY2tvdXQnOlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubmV4dEFjdGlvblNlcnZpY2UuZW1pdEZsb3dVcGRhdGVzKFxuICAgICAgICAgICAgICB0aGlzLnRocmVlRHNSZWRpcmVjdEFjdGlvbkNyZWF0b3IuZ2V0QWN0aW9uRGF0YShzdGF0dXNVcGRhdGUpXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzdG9wQ2hlY2tpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0dXNTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -58,11 +58,6 @@ export class ApplePayService {
|
|
|
58
58
|
.getWindowClose$()
|
|
59
59
|
.pipe(takeUntil(this.destroy$));
|
|
60
60
|
}
|
|
61
|
-
get getWindowOpen$() {
|
|
62
|
-
return this.externalWindowCommunicationService
|
|
63
|
-
.getWindowOpen$()
|
|
64
|
-
.pipe(takeUntil(this.destroy$));
|
|
65
|
-
}
|
|
66
61
|
get getWindowReturnMessage$() {
|
|
67
62
|
return this.externalWindowCommunicationService
|
|
68
63
|
.getWindowReturnMessage$()
|
|
@@ -275,4 +270,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
275
270
|
type: Inject,
|
|
276
271
|
args: [windowToken]
|
|
277
272
|
}] }, { type: i1.SummaryFinanceDetailsAdapterService }, { type: i2.BraintreeHandler }, { type: i3.CheckoutHandler }, { type: i4.ApplePayParamsBuilderService }, { type: i5.LoggerService }, { type: i6.ApplePaySdkService }, { type: i7.ApplePayExternalWindowCommunicationService }, { type: i8.UserBehaviourAnalyticsService }, { type: i9.SettingsService }] });
|
|
278
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGUtcGF5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9zZGstcGF5bWVudC1zeXN0ZW1zL2FwcGxlLXBheS9hcHBsZS1wYXkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd0RCxPQUFPLEVBQ0wsY0FBYyxFQUNkLG9CQUFvQixHQUNyQixNQUFNLHVEQUF1RCxDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5RUFBeUUsQ0FBQztBQUNyRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDMUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBRUwsdUJBQXVCLEdBQ3hCLE1BQU0sOEJBQThCLENBQUM7QUFFdEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQU16RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdURBQXVELENBQUM7QUFJbEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFZekYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBRWxGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtEQUErRCxDQUFDOzs7Ozs7Ozs7OztBQU12RyxNQUFNLE9BQU8sZUFBZTtJQWlCMUIsSUFBVyxpQkFBaUI7UUFD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QXFDO1FBRXJDLDBCQUEwQjtRQUMxQixPQUFPLElBQUksQ0FBQyxlQUFlLElBQUksNEJBQTRCO1lBQ3pELENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNO1lBQ2hDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUM7SUFDdkMsQ0FBQztJQUVPLGtCQUFrQixDQUFDLDRCQUFxQztRQUM5RCwwQkFBMEI7UUFDMUIsSUFDRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsNEJBQTRCLENBQUM7WUFDbkQsdUJBQXVCLENBQUMsTUFBTTtZQUNoQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsbUJBQW1CLEVBQzNDLENBQUM7WUFDRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDL0IsQ0FBQztJQUNILENBQUM7OEdBOVZVLGVBQWUsa0JBMEVoQixXQUFXO2tIQTFFVixlQUFlLGNBRmQsTUFBTTs7MkZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQTJFSSxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXBwbGVQYXksIGFwcGxlUGF5LCBjbGllbnQgfSBmcm9tICdicmFpbnRyZWUtd2ViJztcbmltcG9ydCB7IEV4dGVuZGVkV2luZG93IH0gZnJvbSAnLi4vLi4vZXh0ZW5kZWQtd2luZG93LmludGVyZmFjZSc7XG5pbXBvcnQge1xuICBwYXlTdGF0aW9uNFVybCxcbiAgc2FuZGJveFBheVN0YXRpb25VcmwsXG59IGZyb20gJy4uLy4uL3BheW1lbnQvYWN0aW9ucy9yZWRpcmVjdC9wYXktc3RhdGlvbjQtdXJsLmNvbnN0JztcbmltcG9ydCB7IGFwcGxlUGF5SWQgfSBmcm9tICcuLi8uLi9wYXltZW50L2FjdGlvbnMvcmVkaXJlY3QvcHM0LXBhZ2VzL3BhZ2VzLXBheW1lbnQtbWV0aG9kcy1pZC5jb25zdCc7XG5pbXBvcnQgeyBwYWdlc1JvdXRlcyB9IGZyb20gJy4uLy4uL3BheW1lbnQvYWN0aW9ucy9yZWRpcmVjdC9wczQtcGFnZXMvcGFnZXMtcm91dGVzLmNvbnN0JztcbmltcG9ydCB7IEZpZWxkTmFtZXMgfSBmcm9tICcuLi8uLi9wYXltZW50L2ZpZWxkLW5hbWVzLmVudW0nO1xuaW1wb3J0IHsgU3VtbWFyeUZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9wYXltZW50L2ZpbmFuY2UtZGV0YWlscy9zdW1tYXJ5L3N1bW1hcnktZmluYW5jZS1kZXRhaWxzLWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBYcHNSZXNwb25zZSB9IGZyb20gJy4uLy4uL3BheW1lbnQveHBzLXJlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyB3aW5kb3dUb2tlbiB9IGZyb20gJy4uLy4uL3dpbmRvdy50b2tlbic7XG5pbXBvcnQge1xuICBBcHBsZVBheUludGVncmF0aW9uLFxuICBBcHBsZVBheUludGVncmF0aW9uVHlwZSxcbn0gZnJvbSAnLi9hcHBsZS1wYXktaW50ZWdyYXRpb24udHlwZSc7XG5pbXBvcnQgeyBBcHBsZVBheVBhcmFtcyB9IGZyb20gJy4vYXBwbGUtcGF5LXBhcmFtcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgYXBwbGVQYXlWZXJzaW9uIH0gZnJvbSAnLi9hcHBsZS1wYXkuY29uc3QnO1xuaW1wb3J0IHsgQXBwbGVQYXlFcnJvcnMgfSBmcm9tICcuL2FwcGxlLXBheS5lcnJvcnMuZW51bSc7XG5pbXBvcnQgeyBCcmFpbnRyZWVIYW5kbGVyIH0gZnJvbSAnLi9zZXNzaW9uLWhhbmRsZXJzL2JyYWludHJlZS5oYW5kbGVyJztcbmltcG9ydCB7IENoZWNrb3V0SGFuZGxlciB9IGZyb20gJy4vc2Vzc2lvbi1oYW5kbGVycy9jaGVja291dC5oYW5kbGVyJztcbmltcG9ydCB7IEFwcGxlUGF5U2Vzc2lvbkhhbmRsZXIgfSBmcm9tICcuL3Nlc3Npb24taGFuZGxlcnMvc2Vzc2lvbi1oYW5kbGVyLnR5cGUnO1xuaW1wb3J0IHsgUGF5bWVudEZvcm0gfSBmcm9tICcuLi8uLi9wYXltZW50L3BheW1lbnQtZm9ybS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBwbGVQYXlQYXJhbXNCdWlsZGVyU2VydmljZSB9IGZyb20gJy4vcGFyYW1zLWJ1aWxkZXIvYXBwbGUtcGF5LXBhcmFtcy1idWlsZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRXJyb3JUYWdzIH0gZnJvbSAnLi4vLi4vZXhjZXB0aW9ucy1oYW5kbGluZy9lcnJvcnMvZWxrLWVycm9yLXR5cGVzLmVudW0nO1xuaW1wb3J0IHsgU3RhcnRTZXNzaW9uUGFyYW1zIH0gZnJvbSAnLi9zZXNzaW9uLWhhbmRsZXJzL3N0YXJ0LXNlc3Npb24tcGFyYW1zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBBcHBsZVBheVNka1NlcnZpY2UgfSBmcm9tICcuL2FwcGxlLXBheS1zZGsuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBsZVBheUV4dGVybmFsV2luZG93Q29tbXVuaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuL2V4dGVybmFsLXdpbmRvdy1jb21tdW5pY2F0aW9uL2V4dGVybmFsLXdpbmRvdy1jb21tdW5pY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgbWFwU2hpcHBpbmdBZGRyZXNzVG9Db250YWN0IH0gZnJvbSAnLi9tYXAtc2hpcHBpbmctYWRkcmVzcy10by1jb250YWN0LmZ1bmN0aW9uJztcbmltcG9ydCB7IFJlY2FsY3VsYXRlQ2FydE1lc3NhZ2UgfSBmcm9tICcuL3NvY2tldC1tZXNzYWdlcy9yZWNhbGN1bGF0ZS1jYXJ0LW1lc3NhZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFwcGxlUGF5U2VuZFRva2VuTWVzc2FnZSB9IGZyb20gJy4vc29ja2V0LW1lc3NhZ2VzL3NlbmQtdG9rZW4tbWVzc2FnZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgV2luZG93Q2xvc2VNZXNzYWdlIH0gZnJvbSAnLi9zb2NrZXQtbWVzc2FnZXMvd2luZG93LWNsb3NlLW1lc3NhZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFJldHVybk1lc3NhZ2UgfSBmcm9tICcuL3NvY2tldC1tZXNzYWdlcy9yZXR1cm4tbWVzc2FnZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2V0dGluZ3Mvc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyBTaGlwcGluZ0FkZHJlc3MgfSBmcm9tICcuL3NoaXBwaW5nLWFkZHJlc3MuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFwcGxlUGF5U2hpcHBpbmdDb250YWN0IH0gZnJvbSAnLi9zZXNzaW9uLWhhbmRsZXJzL2FwcGxlLXBheS1zZXNzaW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBVcGRhdGVkUHJpY2UgfSBmcm9tICcuL3VwZGF0ZWQtcHJpY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFVwZGF0ZVByaWNlTWVzc2FnZSB9IGZyb20gJy4vc29ja2V0LW1lc3NhZ2VzL3VwZGF0ZS1wcmljZS1tZXNzYWdlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb21tYW5kc0ZvclBhZ2VzIH0gZnJvbSAnLi9jb21tYW5kcy1mb3ItcGFnZXMuZW51bSc7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZXhjZXB0aW9ucy1oYW5kbGluZy9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGFnZ2VkRXJyb3IgfSBmcm9tICcuLi8uLi9leGNlcHRpb25zLWhhbmRsaW5nL2Vycm9ycy90YWdnZWQtZXJyb3IuY2xhc3MnO1xuaW1wb3J0IHsgVXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuLi8uLi91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlckJlaGF2aW91ckV2ZW50TmFtZSB9IGZyb20gJy4uLy4uL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1ldmVudC1uYW1lLmVudW0nO1xuaW1wb3J0IHsgV2luZG93T3Blbk1lc3NhZ2UgfSBmcm9tICcuL3NvY2tldC1tZXNzYWdlcy93aW5kb3ctb3Blbi1tZXNzYWdlLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBcHBsZVBheVNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IHBheW1lbnQ6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZXJyb3I6IFN1YmplY3Q8QXBwbGVQYXlFcnJvcnM+ID0gbmV3IFN1YmplY3QoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBpbnRlZ3JhdGlvblR5cGU6IFN1YmplY3Q8QXBwbGVQYXlJbnRlZ3JhdGlvbj4gPVxuICAgIG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXBwbGVQYXlRck9wZW5lZDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByaXZhdGUgcGF5bWVudENsaWVudDogQXBwbGVQYXkgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIHJlYWRvbmx5IGFwaTogUHJvbWlzZTx7XG4gICAgYXBwbGVQYXk6IHR5cGVvZiBhcHBsZVBheTtcbiAgICBjbGllbnQ6IHR5cGVvZiBjbGllbnQ7XG4gIH0+O1xuICBwcml2YXRlIGFwcGxlUGF5UGFyYW1zOiBBcHBsZVBheVBhcmFtcyB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIG9yZGVyPzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIGdldCBwYXltZW50UGFyYW1ldGVycygpOiBBcHBsZVBheVBhcmFtcyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmFwcGxlUGF5UGFyYW1zO1xuICB9XG5cbiAgcHVibGljIGdldCBwYXltZW50JCgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLnBheW1lbnQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGVycm9yJCgpOiBPYnNlcnZhYmxlPEFwcGxlUGF5RXJyb3JzPiB7XG4gICAgcmV0dXJuIHRoaXMuZXJyb3IuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBwdWJsaWMgZ2V0IGFwcGxlUGF5UXJPcGVuZWQkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmFwcGxlUGF5UXJPcGVuZWQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBwdWJsaWMgZ2V0IHdpbmRvd0Nsb3NpbmckKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmFwcGxlUGF5U2RrU2VydmljZS53aW5kb3dDbG9zaW5nJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaW50ZWdyYXRpb25UeXBlJCgpOiBPYnNlcnZhYmxlPEFwcGxlUGF5SW50ZWdyYXRpb24+IHtcbiAgICByZXR1cm4gdGhpcy5pbnRlZ3JhdGlvblR5cGUuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGdldENhcnRSZWNhbGN1bGF0aW9uTWVzc2FnZSQoKTogT2JzZXJ2YWJsZTxSZWNhbGN1bGF0ZUNhcnRNZXNzYWdlPiB7XG4gICAgcmV0dXJuIHRoaXMuZXh0ZXJuYWxXaW5kb3dDb21tdW5pY2F0aW9uU2VydmljZVxuICAgICAgLmdldENhcnRSZWNhbGN1bGF0aW9uTWVzc2FnZSQoKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZ2V0V2luZG93U2VuZFRva2VuTWVzc2FnZSQoKTogT2JzZXJ2YWJsZTxBcHBsZVBheVNlbmRUb2tlbk1lc3NhZ2U+IHtcbiAgICByZXR1cm4gdGhpcy5leHRlcm5hbFdpbmRvd0NvbW11bmljYXRpb25TZXJ2aWNlXG4gICAgICAuZ2V0V2luZG93U2VuZFRva2VuTWVzc2FnZSQoKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZ2V0V2luZG93Q2xvc2UkKCk6IE9ic2VydmFibGU8V2luZG93Q2xvc2VNZXNzYWdlPiB7XG4gICAgcmV0dXJuIHRoaXMuZXh0ZXJuYWxXaW5kb3dDb21tdW5pY2F0aW9uU2VydmljZVxuICAgICAgLmdldFdpbmRvd0Nsb3NlJCgpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpO1xuICB9XG5cbiAgcHVibGljIGdldCBnZXRXaW5kb3dPcGVuJCgpOiBPYnNlcnZhYmxlPFdpbmRvd09wZW5NZXNzYWdlPiB7XG4gICAgcmV0dXJuIHRoaXMuZXh0ZXJuYWxXaW5kb3dDb21tdW5pY2F0aW9uU2VydmljZVxuICAgICAgLmdldFdpbmRvd09wZW4kKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGdldFdpbmRvd1JldHVybk1lc3NhZ2UkKCk6IE9ic2VydmFibGU8UmV0dXJuTWVzc2FnZT4ge1xuICAgIHJldHVybiB0aGlzLmV4dGVybmFsV2luZG93Q29tbXVuaWNhdGlvblNlcnZpY2VcbiAgICAgIC5nZXRXaW5kb3dSZXR1cm5NZXNzYWdlJCgpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3Qod2luZG93VG9rZW4pIHByaXZhdGUgcmVhZG9ubHkgd2luZG93OiBFeHRlbmRlZFdpbmRvdyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlOiBTdW1tYXJ5RmluYW5jZURldGFpbHNBZGFwdGVyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJyYWludHJlZUhhbmRsZXI6IEJyYWludHJlZUhhbmRsZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGVja291dEhhbmRsZXI6IENoZWNrb3V0SGFuZGxlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwcGxlUGFyYW1zQnVpbGRlcjogQXBwbGVQYXlQYXJhbXNCdWlsZGVyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlclNlcnZpY2U6IExvZ2dlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhcHBsZVBheVNka1NlcnZpY2U6IEFwcGxlUGF5U2RrU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGV4dGVybmFsV2luZG93Q29tbXVuaWNhdGlvblNlcnZpY2U6IEFwcGxlUGF5RXh0ZXJuYWxXaW5kb3dDb21tdW5pY2F0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlOiBVc2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNldHRpbmdzU2VydmljZTogU2V0dGluZ3NTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuYXBpID0gdGhpcy5sb2FkQnJhaW50cmVlKCk7XG5cbiAgICB0aGlzLnN1YnNjcmliZVRvSGFuZGxlcnMoKTtcbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHB1YmxpYyBhZGRBcHBsZVBheVNka0pzKCk6IHZvaWQge1xuICAgIHRoaXMuYXBwbGVQYXlTZGtTZXJ2aWNlLmFkZEFwcGxlUGF5U2RrSnMoKTtcbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHB1YmxpYyByZW1vdmVMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuYXBwbGVQYXlTZGtTZXJ2aWNlLnJlbW92ZUxpc3RlbmVycygpO1xuICB9XG5cbiAgcHVibGljIHNldEFwcGxlUGF5UGFyYW1zKGRhdGE6IHsgcGF5bWVudEZvcm06IFBheW1lbnRGb3JtIH0pOiB2b2lkIHtcbiAgICBjb25zdCBwYXltZW50Rm9ybSA9IGRhdGE/LnBheW1lbnRGb3JtO1xuICAgIGNvbnN0IGZvcm1GaWVsZHMgPSBwYXltZW50Rm9ybT8uZmllbGRzO1xuICAgIGNvbnN0IHN1bW1hcnkgPSBwYXltZW50Rm9ybT8uc3VtbWFyeTtcblxuICAgIGlmICghZm9ybUZpZWxkcyB8fCAhc3VtbWFyeSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuYXBwbGVQYXlQYXJhbXMgPSB0aGlzLmFwcGxlUGFyYW1zQnVpbGRlci5idWlsZFBhcmFtcyhwYXltZW50Rm9ybSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgaW5pdEJyYWludHJlZUxpYnJhcnkodG9rZW5LZXk6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBhcGkgPSBhd2FpdCB0aGlzLmFwaTtcbiAgICAgIGNvbnN0IGNsaWVudEluc3RhbmNlID0gYXdhaXQgYXBpLmNsaWVudC5jcmVhdGUoe1xuICAgICAgICBhdXRob3JpemF0aW9uOiB0b2tlbktleSxcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnBheW1lbnRDbGllbnQgPSBhd2FpdCBhcGkuYXBwbGVQYXkuY3JlYXRlKHtcbiAgICAgICAgY2xpZW50OiBjbGllbnRJbnN0YW5jZSxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5icmFpbnRyZWVIYW5kbGVyLnNldENsaWVudCh0aGlzLnBheW1lbnRDbGllbnQpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgICBjb25zb2xlLmVycm9yKEFwcGxlUGF5RXJyb3JzLmJyYWludHJlZUluaXRpYWxpemVFcnJvciwgZXJyb3IpO1xuICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmVycm9yKFxuICAgICAgICBuZXcgVGFnZ2VkRXJyb3IoQXBwbGVQYXlFcnJvcnMuYnJhaW50cmVlSW5pdGlhbGl6ZUVycm9yLCBbXG4gICAgICAgICAgRXJyb3JUYWdzLkFQUExFUEFZLFxuICAgICAgICBdKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMucGF5bWVudENsaWVudCB8fCAhdGhpcy5pc0RldmljZUNhcGFibGUpIHtcbiAgICAgIHRoaXMuZW1pdEVycm9yKEFwcGxlUGF5RXJyb3JzLmRldmljZUlzTm90Q2FwYWJsZUVycm9yKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgaW5pdEFwcGxlUGF5KFxuICAgIHRva2VuS2V5OiBzdHJpbmcsXG4gICAgaXNBcHBsZVBheUluc3RhbnRGbG93RW5hYmxlZDogYm9vbGVhblxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5hcHBsZVBheVBhcmFtcz8uYWNxdWlyZXIgPT09ICdicmFpbnRyZWUnKSB7XG4gICAgICBhd2FpdCB0aGlzLmluaXRCcmFpbnRyZWVMaWJyYXJ5KHRva2VuS2V5KTtcbiAgICB9XG5cbiAgICB0aGlzLmVtaXRJbnRlZ3JhdGlvblR5cGUoaXNBcHBsZVBheUluc3RhbnRGbG93RW5hYmxlZCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc3RhcnRXaW5kb3dDb21tdW5pY2F0aW9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuZXh0ZXJuYWxXaW5kb3dDb21tdW5pY2F0aW9uU2VydmljZS5vcGVuV2ViU29ja2V0Q29ubmVjdGlvbihcbiAgICAgIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnRva2VuXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzZW5kVXBkYXRlZFByaWNlVmlhV2luZG93Q29tbXVuaWNhdGlvbihcbiAgICB1cGRhdGVkUHJpY2U6IFVwZGF0ZWRQcmljZVxuICApOiB2b2lkIHtcbiAgICB2b2lkIHRoaXMuZXh0ZXJuYWxXaW5kb3dDb21tdW5pY2F0aW9uU2VydmljZS5zZW5kTWVzc2FnZVRvQW5vdGhlcldpbmRvdzxcbiAgICAgIFVwZGF0ZVByaWNlTWVzc2FnZVsnZGF0YSddXG4gICAgPihDb21tYW5kc0ZvclBhZ2VzLkFQUExFX1BBWV9VUERBVEVfUFJJQ0UsIHtcbiAgICAgIG5ld0NhcnRQcmljaW5nOiB1cGRhdGVkUHJpY2UsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVkaXJlY3RUb1BheW1lbnRQYWdlKFxuICAgIHBhcmFtZXRlcnM6IEFwcGxlUGF5UGFyYW1zLFxuICAgIHRva2VuOiBzdHJpbmcsXG4gICAgaXNTYW5kYm94PzogYm9vbGVhblxuICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHJvdXRlID0gcGFnZXNSb3V0ZXMuZ2V0KGFwcGxlUGF5SWQpO1xuICAgIGlmICghcm91dGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBxdWVyeSA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoe1xuICAgICAgLi4ucGFyYW1ldGVycyxcbiAgICAgIG1lcmNoYW50Q2FwYWJpbGl0aWVzOiBKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXJzLm1lcmNoYW50Q2FwYWJpbGl0aWVzKSxcbiAgICAgIHN1cHBvcnRlZE5ldHdvcmtzOiBKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXJzLnN1cHBvcnRlZE5ldHdvcmtzKSxcbiAgICAgIHJlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHM6IEpTT04uc3RyaW5naWZ5KFxuICAgICAgICBwYXJhbWV0ZXJzPy5yZXF1aXJlZEJpbGxpbmdDb250YWN0RmllbGRzXG4gICAgICApLFxuICAgICAgcmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHM6IEpTT04uc3RyaW5naWZ5KFxuICAgICAgICBwYXJhbWV0ZXJzPy5yZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkc1xuICAgICAgKSxcbiAgICAgIGFncmVlbWVudHM6IEpTT04uc3RyaW5naWZ5KHBhcmFtZXRlcnMuYWdyZWVtZW50cyksXG4gICAgICB0b2tlbixcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLm9yZGVyKSB7XG4gICAgICBxdWVyeS5hcHBlbmQoJ29yZGVyJywgdGhpcy5vcmRlcik7XG4gICAgfVxuXG4gICAgY29uc3QgcGF5U3RhdGlvblVybCA9IGlzU2FuZGJveCA/IHNhbmRib3hQYXlTdGF0aW9uVXJsIDogcGF5U3RhdGlvbjRVcmw7XG4gICAgcmV0dXJuIGAke3BheVN0YXRpb25Vcmx9L2VuJHtyb3V0ZX0/JHtxdWVyeS50b1N0cmluZygpfWA7XG4gIH1cblxuICBwdWJsaWMgc2V0T3JkZXIoZGF0YTogeyBwYXltZW50Rm9ybTogUGF5bWVudEZvcm0gfSk6IHZvaWQge1xuICAgIGNvbnN0IHN1bW1hcnkgPSBkYXRhPy5wYXltZW50Rm9ybT8uc3VtbWFyeTtcbiAgICBpZiAoIXN1bW1hcnkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBmaW5hbmNlRGV0YWlscyA9XG4gICAgICB0aGlzLnN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlLmdldEZpbmFuY2VEZXRhaWxzKHN1bW1hcnkpO1xuXG4gICAgaWYgKGZpbmFuY2VEZXRhaWxzPy5wdXJjaGFzZSAmJiBmaW5hbmNlRGV0YWlscz8uZmluYW5jZSkge1xuICAgICAgY29uc3QgY2FydEl0ZW1zID0gZmluYW5jZURldGFpbHMuY2FydEl0ZW1zO1xuICAgICAgdGhpcy5vcmRlciA9IGNhcnRJdGVtcz8ucmVkdWNlKChjdXJyLCBpdGVtKSA9PiB7XG4gICAgICAgIGlmIChjdXJyKSB7XG4gICAgICAgICAgcmV0dXJuIGN1cnIgKyBgOyAke2l0ZW0udGl0bGV9YDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjdXJyICsgaXRlbS50aXRsZTtcbiAgICAgIH0sICcnKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzRGV2aWNlQ2FwYWJsZSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5hcHBsZVBheVNka1NlcnZpY2UubmVlZFRvQWRkQXBwbGVQYXlKcykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBCb29sZWFuKFxuICAgICAgICB0aGlzLndpbmRvdy5BcHBsZVBheVNlc3Npb24/LnN1cHBvcnRzVmVyc2lvbihhcHBsZVBheVZlcnNpb24pICYmXG4gICAgICAgICAgdGhpcy53aW5kb3cuQXBwbGVQYXlTZXNzaW9uPy5jYW5NYWtlUGF5bWVudHMoKVxuICAgICAgKTtcbiAgICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRUb2tlbk5vbmNlRmllbGREYXRhKHRva2VuTm9uY2U6IHN0cmluZyk6IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgfSB7XG4gICAgY29uc3QgbmFtZSA9IEZpZWxkTmFtZXMudG9rZW5BcHBsZVBheTtcbiAgICBjb25zdCB2YWx1ZSA9IGJ0b2EodG9rZW5Ob25jZSk7XG4gICAgcmV0dXJuIHsgbmFtZSwgdmFsdWUgfTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVBcHBsZVBheVBhcmFtcyhkYXRhOiB1bmtub3duKTogdm9pZCB7XG4gICAgY29uc3Qgc3VtbWFyeSA9IChkYXRhIGFzIFhwc1Jlc3BvbnNlKT8uc3VtbWFyeTtcbiAgICBpZiAoIXRoaXMuYXBwbGVQYXlQYXJhbXMgfHwgIXN1bW1hcnkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmFwcGxlUGF5UGFyYW1zID0gdGhpcy5hcHBsZVBhcmFtc0J1aWxkZXIudXBkYXRlUGFyYW1zKFxuICAgICAgdGhpcy5hcHBsZVBheVBhcmFtcyxcbiAgICAgIHN1bW1hcnlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHByb2NlZWRDaGVja291dChcbiAgICBwYXJhbWV0ZXJzOiBBcHBsZVBheVBhcmFtcyxcbiAgICBhZGRpdGlvbmFsUGFyYW1zOiBTdGFydFNlc3Npb25QYXJhbXNcbiAgKTogdm9pZCB7XG4gICAgdGhpcy51c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZS5zZW5kKFxuICAgICAgVXNlckJlaGF2aW91ckV2ZW50TmFtZS5hcHBsZVBheUFjcXVpcmVyLFxuICAgICAgJ21hbnVhbCcsXG4gICAgICB7IHZhbHVlOiBwYXJhbWV0ZXJzLmFjcXVpcmVyIH1cbiAgICApO1xuXG4gICAgY29uc3Qgc2Vzc2lvbkhhbmRsZXIgPSB0aGlzLmdldFNlc3Npb25IYW5kbGVyKHBhcmFtZXRlcnMuYWNxdWlyZXIpO1xuXG4gICAgaWYgKCFzZXNzaW9uSGFuZGxlcikge1xuICAgICAgY29uc29sZS5lcnJvcignQXBwbGUgUGF5OiBVbnN1cHBvcnRlZCBhY3F1aXJlcjonLCBwYXJhbWV0ZXJzLmFjcXVpcmVyKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzZXNzaW9uSGFuZGxlci5zdGFydFNlc3Npb24ocGFyYW1ldGVycywgYWRkaXRpb25hbFBhcmFtcywgKCkgPT5cbiAgICAgIHRoaXMuYXBwbGVQYXlTZGtTZXJ2aWNlLmVtaXRXaW5kb3dDbG9zaW5nKClcbiAgICApO1xuICAgIHRoaXMuZW1pdEFwcGxlUGF5T3BlbmVkKFxuICAgICAgYWRkaXRpb25hbFBhcmFtcy5pc0FwcGxlUGF5SW5zdGFudEZsb3dFbmFibGVkID8/IGZhbHNlXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBtYXBTaGlwcGluZ0FkZHJlc3NUb0NvbnRhY3QoXG4gICAgc2hpcHBpbmdBZGRyZXNzOiBTaGlwcGluZ0FkZHJlc3NcbiAgKTogQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3Qge1xuICAgIHJldHVybiBtYXBTaGlwcGluZ0FkZHJlc3NUb0NvbnRhY3Qoc2hpcHBpbmdBZGRyZXNzKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRUb2tlbih0b2tlbjogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5wYXltZW50Lm5leHQodG9rZW4pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTZXNzaW9uSGFuZGxlcihcbiAgICBhY3F1aXJlcjogc3RyaW5nXG4gICk6IEFwcGxlUGF5U2Vzc2lvbkhhbmRsZXIgfCB1bmRlZmluZWQge1xuICAgIHN3aXRjaCAoYWNxdWlyZXIpIHtcbiAgICAgIGNhc2UgJ2JyYWludHJlZSc6XG4gICAgICAgIHJldHVybiB0aGlzLmJyYWludHJlZUhhbmRsZXI7XG4gICAgICBjYXNlICdjaGVja291dCc6XG4gICAgICAgIHJldHVybiB0aGlzLmNoZWNrb3V0SGFuZGxlcjtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkQnJhaW50cmVlKCk6IFByb21pc2U8e1xuICAgIGFwcGxlUGF5OiB0eXBlb2YgYXBwbGVQYXk7XG4gICAgY2xpZW50OiB0eXBlb2YgY2xpZW50O1xuICB9PiB7XG4gICAgY29uc3QgYXBpID0gYXdhaXQgaW1wb3J0KCdicmFpbnRyZWUtd2ViJyk7XG4gICAgcmV0dXJuIGFwaTtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdEVycm9yKGVycm9yOiBBcHBsZVBheUVycm9ycyk6IHZvaWQge1xuICAgIHRoaXMuZXJyb3IubmV4dChlcnJvcik7XG4gIH1cblxuICBwcml2YXRlIGVtaXRJbnRlZ3JhdGlvblR5cGUoaXNBcHBsZVBheUluc3RhbnRGbG93RW5hYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuaW50ZWdyYXRpb25UeXBlLm5leHQoXG4gICAgICB0aGlzLmdldEludGVncmF0aW9uVHlwZShpc0FwcGxlUGF5SW5zdGFudEZsb3dFbmFibGVkKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZVRvSGFuZGxlcnMoKTogdm9pZCB7XG4gICAgY29uc3QgaGFuZGxlcnMgPSBbdGhpcy5icmFpbnRyZWVIYW5kbGVyLCB0aGlzLmNoZWNrb3V0SGFuZGxlcl07XG5cbiAgICBoYW5kbGVycy5mb3JFYWNoKChoYW5kbGVyKSA9PiB7XG4gICAgICBoYW5kbGVyLmVycm9yJC5zdWJzY3JpYmUoKGVycm9yKSA9PiB0aGlzLmVtaXRFcnJvcihlcnJvcikpO1xuICAgICAgaGFuZGxlci5wYXltZW50JC5zdWJzY3JpYmUoKHRva2VuKSA9PiB7XG4gICAgICAgIHRoaXMucGF5bWVudC5uZXh0KHRva2VuKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRJbnRlZ3JhdGlvblR5cGUoXG4gICAgaXNBcHBsZVBheUluc3RhbnRGbG93RW5hYmxlZDogYm9vbGVhblxuICApOiBBcHBsZVBheUludGVncmF0aW9uVHlwZSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICByZXR1cm4gdGhpcy5pc0RldmljZUNhcGFibGUgJiYgaXNBcHBsZVBheUluc3RhbnRGbG93RW5hYmxlZFxuICAgICAgPyBBcHBsZVBheUludGVncmF0aW9uVHlwZS5uYXRpdmVcbiAgICAgIDogQXBwbGVQYXlJbnRlZ3JhdGlvblR5cGUucmVkaXJlY3Q7XG4gIH1cblxuICBwcml2YXRlIGVtaXRBcHBsZVBheU9wZW5lZChpc0FwcGxlUGF5SW5zdGFudEZsb3dFbmFibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBpZiAoXG4gICAgICB0aGlzLmdldEludGVncmF0aW9uVHlwZShpc0FwcGxlUGF5SW5zdGFudEZsb3dFbmFibGVkKSA9PT1cbiAgICAgICAgQXBwbGVQYXlJbnRlZ3JhdGlvblR5cGUubmF0aXZlICYmXG4gICAgICB0aGlzLmFwcGxlUGF5U2RrU2VydmljZS5uZWVkVG9BZGRBcHBsZVBheUpzXG4gICAgKSB7XG4gICAgICB0aGlzLmFwcGxlUGF5UXJPcGVuZWQubmV4dCgpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
273
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGUtcGF5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9zZGstcGF5bWVudC1zeXN0ZW1zL2FwcGxlLXBheS9hcHBsZS1wYXkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd0RCxPQUFPLEVBQ0wsY0FBYyxFQUNkLG9CQUFvQixHQUNyQixNQUFNLHVEQUF1RCxDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5RUFBeUUsQ0FBQztBQUNyRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDMUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBRUwsdUJBQXVCLEdBQ3hCLE1BQU0sOEJBQThCLENBQUM7QUFFdEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQU16RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdURBQXVELENBQUM7QUFJbEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFZekYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBRWxGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtEQUErRCxDQUFDOzs7Ozs7Ozs7OztBQUt2RyxNQUFNLE9BQU8sZUFBZTtJQWlCMUIsSUFBVyxpQkFBaUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELDBCQUEwQjtJQUMxQixJQUFXLGlCQUFpQjtRQUMxQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBRUQsMEJBQTBCO0lBQzFCLElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUM7SUFDaEQsQ0FBQztJQUVELElBQVcsZ0JBQWdCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRUQsSUFBVyw0QkFBNEI7UUFDckMsT0FBTyxJQUFJLENBQUMsa0NBQWtDO2FBQzNDLDRCQUE0QixFQUFFO2FBQzlCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQVcsMEJBQTBCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLGtDQUFrQzthQUMzQywwQkFBMEIsRUFBRTthQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFXLGVBQWU7UUFDeEIsT0FBTyxJQUFJLENBQUMsa0NBQWtDO2FBQzNDLGVBQWUsRUFBRTthQUNqQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFXLHVCQUF1QjtRQUNoQyxPQUFPLElBQUksQ0FBQyxrQ0FBa0M7YUFDM0MsdUJBQXVCLEVBQUU7YUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsWUFDd0MsTUFBc0IsRUFDM0MsbUNBQXdFLEVBQ3hFLGdCQUFrQyxFQUNsQyxlQUFnQyxFQUNoQyxrQkFBZ0QsRUFDaEQsYUFBNEIsRUFDNUIsa0JBQXNDLEVBQ3RDLGtDQUE4RSxFQUM5RSw2QkFBNEQsRUFDNUQsZUFBZ0M7UUFUWCxXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUMzQyx3Q0FBbUMsR0FBbkMsbUNBQW1DLENBQXFDO1FBQ3hFLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBOEI7UUFDaEQsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0Qyx1Q0FBa0MsR0FBbEMsa0NBQWtDLENBQTRDO1FBQzlFLGtDQUE2QixHQUE3Qiw2QkFBNkIsQ0FBK0I7UUFDNUQsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBNUVsQyxZQUFPLEdBQW9CLElBQUksT0FBTyxFQUFFLENBQUM7UUFDekMsVUFBSyxHQUE0QixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQy9DLG9CQUFlLEdBQzlCLElBQUksT0FBTyxFQUFFLENBQUM7UUFDQyxxQkFBZ0IsR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNoRCxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUV4QyxrQkFBYSxHQUFvQixJQUFJLENBQUM7UUFNdEMsbUJBQWMsR0FBMEIsSUFBSSxDQUFDO1FBQzdDLFVBQUssR0FBbUIsSUFBSSxDQUFDO1FBZ0VuQyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUVoQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsMEJBQTBCO0lBQ25CLGdCQUFnQjtRQUNyQixJQUFJLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRUQsMEJBQTBCO0lBQ25CLGVBQWU7UUFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBRU0saUJBQWlCLENBQUMsSUFBa0M7UUFDekQsTUFBTSxXQUFXLEdBQUcsSUFBSSxFQUFFLFdBQVcsQ0FBQztRQUN0QyxNQUFNLFVBQVUsR0FBRyxXQUFXLEVBQUUsTUFBTSxDQUFDO1FBQ3ZDLE1BQU0sT0FBTyxHQUFHLFdBQVcsRUFBRSxPQUFPLENBQUM7UUFFckMsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzVCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFTSxLQUFLLENBQUMsb0JBQW9CLENBQUMsUUFBZ0I7UUFDaEQsSUFBSSxDQUFDO1lBQ0gsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQzNCLE1BQU0sY0FBYyxHQUFHLE1BQU0sR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7Z0JBQzdDLGFBQWEsRUFBRSxRQUFRO2FBQ3hCLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztnQkFDN0MsTUFBTSxFQUFFLGNBQWM7YUFDdkIsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUFDLE9BQU8sS0FBYyxFQUFFLENBQUM7WUFDeEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsd0JBQXdCLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDOUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQ3RCLElBQUksV0FBVyxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsRUFBRTtnQkFDdkQsU0FBUyxDQUFDLFFBQVE7YUFDbkIsQ0FBQyxDQUNILENBQUM7UUFDSixDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDakQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUN6RCxDQUFDO0lBQ0gsQ0FBQztJQUVNLEtBQUssQ0FBQyxZQUFZLENBQ3ZCLFFBQWdCLEVBQ2hCLDRCQUFxQztRQUVyQyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsUUFBUSxLQUFLLFdBQVcsRUFBRSxDQUFDO1lBQ2xELE1BQU0sSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVDLENBQUM7UUFFRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU0sS0FBSyxDQUFDLHdCQUF3QjtRQUNuQyxNQUFNLElBQUksQ0FBQyxrQ0FBa0MsQ0FBQyx1QkFBdUIsQ0FDbkUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQzNCLENBQUM7SUFDSixDQUFDO0lBRU0sc0NBQXNDLENBQzNDLFlBQTBCO1FBRTFCLEtBQUssSUFBSSxDQUFDLGtDQUFrQyxDQUFDLDBCQUEwQix5RUFFNUI7WUFDekMsY0FBYyxFQUFFLFlBQVk7U0FDN0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLHFCQUFxQixDQUMxQixVQUEwQixFQUMxQixLQUFhLEVBQ2IsU0FBbUI7UUFFbkIsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sS0FBSyxHQUFHLElBQUksZUFBZSxDQUFDO1lBQ2hDLEdBQUcsVUFBVTtZQUNiLG9CQUFvQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUFDO1lBQ3JFLGlCQUFpQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDO1lBQy9ELDRCQUE0QixFQUFFLElBQUksQ0FBQyxTQUFTLENBQzFDLFVBQVUsRUFBRSw0QkFBNEIsQ0FDekM7WUFDRCw2QkFBNkIsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUMzQyxVQUFVLEVBQUUsNkJBQTZCLENBQzFDO1lBQ0QsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQztZQUNqRCxLQUFLO1NBQ04sQ0FBQyxDQUFDO1FBRUgsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDZixLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUVELE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQztRQUN4RSxPQUFPLEdBQUcsYUFBYSxNQUFNLEtBQUssSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztJQUMzRCxDQUFDO0lBRU0sUUFBUSxDQUFDLElBQWtDO1FBQ2hELE1BQU0sT0FBTyxHQUFHLElBQUksRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDO1FBQzNDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxjQUFjLEdBQ2xCLElBQUksQ0FBQyxtQ0FBbUMsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV0RSxJQUFJLGNBQWMsRUFBRSxRQUFRLElBQUksY0FBYyxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQ3hELE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxTQUFTLENBQUM7WUFDM0MsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFO2dCQUM1QyxJQUFJLElBQUksRUFBRSxDQUFDO29CQUNULE9BQU8sSUFBSSxHQUFHLEtBQUssSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNsQyxDQUFDO2dCQUVELE9BQU8sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDM0IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1QsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFXLGVBQWU7UUFDeEIsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUNoRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxJQUFJLENBQUM7WUFDSCxPQUFPLE9BQU8sQ0FDWixJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxlQUFlLENBQUMsZUFBZSxDQUFDO2dCQUMzRCxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxlQUFlLEVBQUUsQ0FDakQsQ0FBQztRQUNKLENBQUM7UUFBQyxPQUFPLEtBQWMsRUFBRSxDQUFDO1lBQ3hCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUM7SUFFTSxzQkFBc0IsQ0FBQyxVQUFrQjtRQUk5QyxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBQ3RDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMvQixPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxJQUFhO1FBQ3ZDLE1BQU0sT0FBTyxHQUFJLElBQW9CLEVBQUUsT0FBTyxDQUFDO1FBQy9DLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDckMsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQ3hELElBQUksQ0FBQyxjQUFjLEVBQ25CLE9BQU8sQ0FDUixDQUFDO0lBQ0osQ0FBQztJQUVNLGVBQWUsQ0FDcEIsVUFBMEIsRUFDMUIsZ0JBQW9DO1FBRXBDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQ3JDLHNCQUFzQixDQUFDLGdCQUFnQixFQUN2QyxRQUFRLEVBQ1IsRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUMvQixDQUFDO1FBRUYsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVuRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDcEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxrQ0FBa0MsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDdkUsT0FBTztRQUNULENBQUM7UUFFRCxjQUFjLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLEVBQUUsQ0FDN0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixFQUFFLENBQzVDLENBQUM7UUFDRixJQUFJLENBQUMsa0JBQWtCLENBQ3JCLGdCQUFnQixDQUFDLDRCQUE0QixJQUFJLEtBQUssQ0FDdkQsQ0FBQztJQUNKLENBQUM7SUFFTSwyQkFBMkIsQ0FDaEMsZUFBZ0M7UUFFaEMsT0FBTywyQkFBMkIsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU0sUUFBUSxDQUFDLEtBQWE7UUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVPLGlCQUFpQixDQUN2QixRQUFnQjtRQUVoQixRQUFRLFFBQVEsRUFBRSxDQUFDO1lBQ2pCLEtBQUssV0FBVztnQkFDZCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztZQUMvQixLQUFLLFVBQVU7Z0JBQ2IsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO1lBQzlCO2dCQUNFLE9BQU8sU0FBUyxDQUFDO1FBQ3JCLENBQUM7SUFDSCxDQUFDO0lBRU8sS0FBSyxDQUFDLGFBQWE7UUFJekIsTUFBTSxHQUFHLEdBQUcsTUFBTSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDMUMsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRU8sU0FBUyxDQUFDLEtBQXFCO1FBQ3JDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyw0QkFBcUM7UUFDL0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQ3ZCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyw0QkFBNEIsQ0FBQyxDQUN0RCxDQUFDO0lBQ0osQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixNQUFNLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFL0QsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzNCLE9BQU8sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDM0QsT0FBTyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDbkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxrQkFBa0IsQ0FDeEIsNEJBQXFDO1FBRXJDLDBCQUEwQjtRQUMxQixPQUFPLElBQUksQ0FBQyxlQUFlLElBQUksNEJBQTRCO1lBQ3pELENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNO1lBQ2hDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUM7SUFDdkMsQ0FBQztJQUVPLGtCQUFrQixDQUFDLDRCQUFxQztRQUM5RCwwQkFBMEI7UUFDMUIsSUFDRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsNEJBQTRCLENBQUM7WUFDbkQsdUJBQXVCLENBQUMsTUFBTTtZQUNoQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsbUJBQW1CLEVBQzNDLENBQUM7WUFDRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDL0IsQ0FBQztJQUNILENBQUM7OEdBeFZVLGVBQWUsa0JBb0VoQixXQUFXO2tIQXBFVixlQUFlLGNBRmQsTUFBTTs7MkZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQXFFSSxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXBwbGVQYXksIGFwcGxlUGF5LCBjbGllbnQgfSBmcm9tICdicmFpbnRyZWUtd2ViJztcbmltcG9ydCB7IEV4dGVuZGVkV2luZG93IH0gZnJvbSAnLi4vLi4vZXh0ZW5kZWQtd2luZG93LmludGVyZmFjZSc7XG5pbXBvcnQge1xuICBwYXlTdGF0aW9uNFVybCxcbiAgc2FuZGJveFBheVN0YXRpb25VcmwsXG59IGZyb20gJy4uLy4uL3BheW1lbnQvYWN0aW9ucy9yZWRpcmVjdC9wYXktc3RhdGlvbjQtdXJsLmNvbnN0JztcbmltcG9ydCB7IGFwcGxlUGF5SWQgfSBmcm9tICcuLi8uLi9wYXltZW50L2FjdGlvbnMvcmVkaXJlY3QvcHM0LXBhZ2VzL3BhZ2VzLXBheW1lbnQtbWV0aG9kcy1pZC5jb25zdCc7XG5pbXBvcnQgeyBwYWdlc1JvdXRlcyB9IGZyb20gJy4uLy4uL3BheW1lbnQvYWN0aW9ucy9yZWRpcmVjdC9wczQtcGFnZXMvcGFnZXMtcm91dGVzLmNvbnN0JztcbmltcG9ydCB7IEZpZWxkTmFtZXMgfSBmcm9tICcuLi8uLi9wYXltZW50L2ZpZWxkLW5hbWVzLmVudW0nO1xuaW1wb3J0IHsgU3VtbWFyeUZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9wYXltZW50L2ZpbmFuY2UtZGV0YWlscy9zdW1tYXJ5L3N1bW1hcnktZmluYW5jZS1kZXRhaWxzLWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBYcHNSZXNwb25zZSB9IGZyb20gJy4uLy4uL3BheW1lbnQveHBzLXJlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyB3aW5kb3dUb2tlbiB9IGZyb20gJy4uLy4uL3dpbmRvdy50b2tlbic7XG5pbXBvcnQge1xuICBBcHBsZVBheUludGVncmF0aW9uLFxuICBBcHBsZVBheUludGVncmF0aW9uVHlwZSxcbn0gZnJvbSAnLi9hcHBsZS1wYXktaW50ZWdyYXRpb24udHlwZSc7XG5pbXBvcnQgeyBBcHBsZVBheVBhcmFtcyB9IGZyb20gJy4vYXBwbGUtcGF5LXBhcmFtcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgYXBwbGVQYXlWZXJzaW9uIH0gZnJvbSAnLi9hcHBsZS1wYXkuY29uc3QnO1xuaW1wb3J0IHsgQXBwbGVQYXlFcnJvcnMgfSBmcm9tICcuL2FwcGxlLXBheS5lcnJvcnMuZW51bSc7XG5pbXBvcnQgeyBCcmFpbnRyZWVIYW5kbGVyIH0gZnJvbSAnLi9zZXNzaW9uLWhhbmRsZXJzL2JyYWludHJlZS5oYW5kbGVyJztcbmltcG9ydCB7IENoZWNrb3V0SGFuZGxlciB9IGZyb20gJy4vc2Vzc2lvbi1oYW5kbGVycy9jaGVja291dC5oYW5kbGVyJztcbmltcG9ydCB7IEFwcGxlUGF5U2Vzc2lvbkhhbmRsZXIgfSBmcm9tICcuL3Nlc3Npb24taGFuZGxlcnMvc2Vzc2lvbi1oYW5kbGVyLnR5cGUnO1xuaW1wb3J0IHsgUGF5bWVudEZvcm0gfSBmcm9tICcuLi8uLi9wYXltZW50L3BheW1lbnQtZm9ybS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBwbGVQYXlQYXJhbXNCdWlsZGVyU2VydmljZSB9IGZyb20gJy4vcGFyYW1zLWJ1aWxkZXIvYXBwbGUtcGF5LXBhcmFtcy1idWlsZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRXJyb3JUYWdzIH0gZnJvbSAnLi4vLi4vZXhjZXB0aW9ucy1oYW5kbGluZy9lcnJvcnMvZWxrLWVycm9yLXR5cGVzLmVudW0nO1xuaW1wb3J0IHsgU3RhcnRTZXNzaW9uUGFyYW1zIH0gZnJvbSAnLi9zZXNzaW9uLWhhbmRsZXJzL3N0YXJ0LXNlc3Npb24tcGFyYW1zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBBcHBsZVBheVNka1NlcnZpY2UgfSBmcm9tICcuL2FwcGxlLXBheS1zZGsuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBsZVBheUV4dGVybmFsV2luZG93Q29tbXVuaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuL2V4dGVybmFsLXdpbmRvdy1jb21tdW5pY2F0aW9uL2V4dGVybmFsLXdpbmRvdy1jb21tdW5pY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgbWFwU2hpcHBpbmdBZGRyZXNzVG9Db250YWN0IH0gZnJvbSAnLi9tYXAtc2hpcHBpbmctYWRkcmVzcy10by1jb250YWN0LmZ1bmN0aW9uJztcbmltcG9ydCB7IFJlY2FsY3VsYXRlQ2FydE1lc3NhZ2UgfSBmcm9tICcuL3NvY2tldC1tZXNzYWdlcy9yZWNhbGN1bGF0ZS1jYXJ0LW1lc3NhZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFwcGxlUGF5U2VuZFRva2VuTWVzc2FnZSB9IGZyb20gJy4vc29ja2V0LW1lc3NhZ2VzL3NlbmQtdG9rZW4tbWVzc2FnZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgV2luZG93Q2xvc2VNZXNzYWdlIH0gZnJvbSAnLi9zb2NrZXQtbWVzc2FnZXMvd2luZG93LWNsb3NlLW1lc3NhZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFJldHVybk1lc3NhZ2UgfSBmcm9tICcuL3NvY2tldC1tZXNzYWdlcy9yZXR1cm4tbWVzc2FnZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2V0dGluZ3Mvc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyBTaGlwcGluZ0FkZHJlc3MgfSBmcm9tICcuL3NoaXBwaW5nLWFkZHJlc3MuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFwcGxlUGF5U2hpcHBpbmdDb250YWN0IH0gZnJvbSAnLi9zZXNzaW9uLWhhbmRsZXJzL2FwcGxlLXBheS1zZXNzaW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBVcGRhdGVkUHJpY2UgfSBmcm9tICcuL3VwZGF0ZWQtcHJpY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFVwZGF0ZVByaWNlTWVzc2FnZSB9IGZyb20gJy4vc29ja2V0LW1lc3NhZ2VzL3VwZGF0ZS1wcmljZS1tZXNzYWdlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb21tYW5kc0ZvclBhZ2VzIH0gZnJvbSAnLi9jb21tYW5kcy1mb3ItcGFnZXMuZW51bSc7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZXhjZXB0aW9ucy1oYW5kbGluZy9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGFnZ2VkRXJyb3IgfSBmcm9tICcuLi8uLi9leGNlcHRpb25zLWhhbmRsaW5nL2Vycm9ycy90YWdnZWQtZXJyb3IuY2xhc3MnO1xuaW1wb3J0IHsgVXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuLi8uLi91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlckJlaGF2aW91ckV2ZW50TmFtZSB9IGZyb20gJy4uLy4uL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1ldmVudC1uYW1lLmVudW0nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQXBwbGVQYXlTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBwYXltZW50OiBTdWJqZWN0PHN0cmluZz4gPSBuZXcgU3ViamVjdCgpO1xuICBwcml2YXRlIHJlYWRvbmx5IGVycm9yOiBTdWJqZWN0PEFwcGxlUGF5RXJyb3JzPiA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgaW50ZWdyYXRpb25UeXBlOiBTdWJqZWN0PEFwcGxlUGF5SW50ZWdyYXRpb24+ID1cbiAgICBuZXcgU3ViamVjdCgpO1xuICBwcml2YXRlIHJlYWRvbmx5IGFwcGxlUGF5UXJPcGVuZWQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwcml2YXRlIHBheW1lbnRDbGllbnQ6IEFwcGxlUGF5IHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBhcGk6IFByb21pc2U8e1xuICAgIGFwcGxlUGF5OiB0eXBlb2YgYXBwbGVQYXk7XG4gICAgY2xpZW50OiB0eXBlb2YgY2xpZW50O1xuICB9PjtcbiAgcHJpdmF0ZSBhcHBsZVBheVBhcmFtczogQXBwbGVQYXlQYXJhbXMgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBvcmRlcj86IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIHB1YmxpYyBnZXQgcGF5bWVudFBhcmFtZXRlcnMoKTogQXBwbGVQYXlQYXJhbXMgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5hcHBsZVBheVBhcmFtcztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGF5bWVudCQoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5wYXltZW50LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBlcnJvciQoKTogT2JzZXJ2YWJsZTxBcHBsZVBheUVycm9ycz4ge1xuICAgIHJldHVybiB0aGlzLmVycm9yLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcHVibGljIGdldCBhcHBsZVBheVFyT3BlbmVkJCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5hcHBsZVBheVFyT3BlbmVkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcHVibGljIGdldCB3aW5kb3dDbG9zaW5nJCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5hcHBsZVBheVNka1NlcnZpY2Uud2luZG93Q2xvc2luZyQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGludGVncmF0aW9uVHlwZSQoKTogT2JzZXJ2YWJsZTxBcHBsZVBheUludGVncmF0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuaW50ZWdyYXRpb25UeXBlLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBnZXRDYXJ0UmVjYWxjdWxhdGlvbk1lc3NhZ2UkKCk6IE9ic2VydmFibGU8UmVjYWxjdWxhdGVDYXJ0TWVzc2FnZT4ge1xuICAgIHJldHVybiB0aGlzLmV4dGVybmFsV2luZG93Q29tbXVuaWNhdGlvblNlcnZpY2VcbiAgICAgIC5nZXRDYXJ0UmVjYWxjdWxhdGlvbk1lc3NhZ2UkKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGdldFdpbmRvd1NlbmRUb2tlbk1lc3NhZ2UkKCk6IE9ic2VydmFibGU8QXBwbGVQYXlTZW5kVG9rZW5NZXNzYWdlPiB7XG4gICAgcmV0dXJuIHRoaXMuZXh0ZXJuYWxXaW5kb3dDb21tdW5pY2F0aW9uU2VydmljZVxuICAgICAgLmdldFdpbmRvd1NlbmRUb2tlbk1lc3NhZ2UkKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGdldFdpbmRvd0Nsb3NlJCgpOiBPYnNlcnZhYmxlPFdpbmRvd0Nsb3NlTWVzc2FnZT4ge1xuICAgIHJldHVybiB0aGlzLmV4dGVybmFsV2luZG93Q29tbXVuaWNhdGlvblNlcnZpY2VcbiAgICAgIC5nZXRXaW5kb3dDbG9zZSQoKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZ2V0V2luZG93UmV0dXJuTWVzc2FnZSQoKTogT2JzZXJ2YWJsZTxSZXR1cm5NZXNzYWdlPiB7XG4gICAgcmV0dXJuIHRoaXMuZXh0ZXJuYWxXaW5kb3dDb21tdW5pY2F0aW9uU2VydmljZVxuICAgICAgLmdldFdpbmRvd1JldHVybk1lc3NhZ2UkKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSk7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgQEluamVjdCh3aW5kb3dUb2tlbikgcHJpdmF0ZSByZWFkb25seSB3aW5kb3c6IEV4dGVuZGVkV2luZG93LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3VtbWFyeUZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2U6IFN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYnJhaW50cmVlSGFuZGxlcjogQnJhaW50cmVlSGFuZGxlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNoZWNrb3V0SGFuZGxlcjogQ2hlY2tvdXRIYW5kbGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXBwbGVQYXJhbXNCdWlsZGVyOiBBcHBsZVBheVBhcmFtc0J1aWxkZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyU2VydmljZTogTG9nZ2VyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwcGxlUGF5U2RrU2VydmljZTogQXBwbGVQYXlTZGtTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZXh0ZXJuYWxXaW5kb3dDb21tdW5pY2F0aW9uU2VydmljZTogQXBwbGVQYXlFeHRlcm5hbFdpbmRvd0NvbW11bmljYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2U6IFVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2V0dGluZ3NTZXJ2aWNlOiBTZXR0aW5nc1NlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5hcGkgPSB0aGlzLmxvYWRCcmFpbnRyZWUoKTtcblxuICAgIHRoaXMuc3Vic2NyaWJlVG9IYW5kbGVycygpO1xuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcHVibGljIGFkZEFwcGxlUGF5U2RrSnMoKTogdm9pZCB7XG4gICAgdGhpcy5hcHBsZVBheVNka1NlcnZpY2UuYWRkQXBwbGVQYXlTZGtKcygpO1xuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcHVibGljIHJlbW92ZUxpc3RlbmVycygpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5hcHBsZVBheVNka1NlcnZpY2UucmVtb3ZlTGlzdGVuZXJzKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0QXBwbGVQYXlQYXJhbXMoZGF0YTogeyBwYXltZW50Rm9ybTogUGF5bWVudEZvcm0gfSk6IHZvaWQge1xuICAgIGNvbnN0IHBheW1lbnRGb3JtID0gZGF0YT8ucGF5bWVudEZvcm07XG4gICAgY29uc3QgZm9ybUZpZWxkcyA9IHBheW1lbnRGb3JtPy5maWVsZHM7XG4gICAgY29uc3Qgc3VtbWFyeSA9IHBheW1lbnRGb3JtPy5zdW1tYXJ5O1xuXG4gICAgaWYgKCFmb3JtRmllbGRzIHx8ICFzdW1tYXJ5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5hcHBsZVBheVBhcmFtcyA9IHRoaXMuYXBwbGVQYXJhbXNCdWlsZGVyLmJ1aWxkUGFyYW1zKHBheW1lbnRGb3JtKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBpbml0QnJhaW50cmVlTGlicmFyeSh0b2tlbktleTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGFwaSA9IGF3YWl0IHRoaXMuYXBpO1xuICAgICAgY29uc3QgY2xpZW50SW5zdGFuY2UgPSBhd2FpdCBhcGkuY2xpZW50LmNyZWF0ZSh7XG4gICAgICAgIGF1dGhvcml6YXRpb246IHRva2VuS2V5LFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMucGF5bWVudENsaWVudCA9IGF3YWl0IGFwaS5hcHBsZVBheS5jcmVhdGUoe1xuICAgICAgICBjbGllbnQ6IGNsaWVudEluc3RhbmNlLFxuICAgICAgfSk7XG4gICAgICB0aGlzLmJyYWludHJlZUhhbmRsZXIuc2V0Q2xpZW50KHRoaXMucGF5bWVudENsaWVudCk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoQXBwbGVQYXlFcnJvcnMuYnJhaW50cmVlSW5pdGlhbGl6ZUVycm9yLCBlcnJvcik7XG4gICAgICB0aGlzLmxvZ2dlclNlcnZpY2UuZXJyb3IoXG4gICAgICAgIG5ldyBUYWdnZWRFcnJvcihBcHBsZVBheUVycm9ycy5icmFpbnRyZWVJbml0aWFsaXplRXJyb3IsIFtcbiAgICAgICAgICBFcnJvclRhZ3MuQVBQTEVQQVksXG4gICAgICAgIF0pXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5wYXltZW50Q2xpZW50IHx8ICF0aGlzLmlzRGV2aWNlQ2FwYWJsZSkge1xuICAgICAgdGhpcy5lbWl0RXJyb3IoQXBwbGVQYXlFcnJvcnMuZGV2aWNlSXNOb3RDYXBhYmxlRXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBpbml0QXBwbGVQYXkoXG4gICAgdG9rZW5LZXk6IHN0cmluZyxcbiAgICBpc0FwcGxlUGF5SW5zdGFudEZsb3dFbmFibGVkOiBib29sZWFuXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLmFwcGxlUGF5UGFyYW1zPy5hY3F1aXJlciA9PT0gJ2JyYWludHJlZScpIHtcbiAgICAgIGF3YWl0IHRoaXMuaW5pdEJyYWludHJlZUxpYnJhcnkodG9rZW5LZXkpO1xuICAgIH1cblxuICAgIHRoaXMuZW1pdEludGVncmF0aW9uVHlwZShpc0FwcGxlUGF5SW5zdGFudEZsb3dFbmFibGVkKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzdGFydFdpbmRvd0NvbW11bmljYXRpb24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5leHRlcm5hbFdpbmRvd0NvbW11bmljYXRpb25TZXJ2aWNlLm9wZW5XZWJTb2NrZXRDb25uZWN0aW9uKFxuICAgICAgdGhpcy5zZXR0aW5nc1NlcnZpY2UudG9rZW5cbiAgICApO1xuICB9XG5cbiAgcHVibGljIHNlbmRVcGRhdGVkUHJpY2VWaWFXaW5kb3dDb21tdW5pY2F0aW9uKFxuICAgIHVwZGF0ZWRQcmljZTogVXBkYXRlZFByaWNlXG4gICk6IHZvaWQge1xuICAgIHZvaWQgdGhpcy5leHRlcm5hbFdpbmRvd0NvbW11bmljYXRpb25TZXJ2aWNlLnNlbmRNZXNzYWdlVG9Bbm90aGVyV2luZG93PFxuICAgICAgVXBkYXRlUHJpY2VNZXNzYWdlWydkYXRhJ11cbiAgICA+KENvbW1hbmRzRm9yUGFnZXMuQVBQTEVfUEFZX1VQREFURV9QUklDRSwge1xuICAgICAgbmV3Q2FydFByaWNpbmc6IHVwZGF0ZWRQcmljZSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyByZWRpcmVjdFRvUGF5bWVudFBhZ2UoXG4gICAgcGFyYW1ldGVyczogQXBwbGVQYXlQYXJhbXMsXG4gICAgdG9rZW46IHN0cmluZyxcbiAgICBpc1NhbmRib3g/OiBib29sZWFuXG4gICk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3Qgcm91dGUgPSBwYWdlc1JvdXRlcy5nZXQoYXBwbGVQYXlJZCk7XG4gICAgaWYgKCFyb3V0ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHF1ZXJ5ID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh7XG4gICAgICAuLi5wYXJhbWV0ZXJzLFxuICAgICAgbWVyY2hhbnRDYXBhYmlsaXRpZXM6IEpTT04uc3RyaW5naWZ5KHBhcmFtZXRlcnMubWVyY2hhbnRDYXBhYmlsaXRpZXMpLFxuICAgICAgc3VwcG9ydGVkTmV0d29ya3M6IEpTT04uc3RyaW5naWZ5KHBhcmFtZXRlcnMuc3VwcG9ydGVkTmV0d29ya3MpLFxuICAgICAgcmVxdWlyZWRCaWxsaW5nQ29udGFjdEZpZWxkczogSlNPTi5zdHJpbmdpZnkoXG4gICAgICAgIHBhcmFtZXRlcnM/LnJlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHNcbiAgICAgICksXG4gICAgICByZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkczogSlNPTi5zdHJpbmdpZnkoXG4gICAgICAgIHBhcmFtZXRlcnM/LnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzXG4gICAgICApLFxuICAgICAgYWdyZWVtZW50czogSlNPTi5zdHJpbmdpZnkocGFyYW1ldGVycy5hZ3JlZW1lbnRzKSxcbiAgICAgIHRva2VuLFxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMub3JkZXIpIHtcbiAgICAgIHF1ZXJ5LmFwcGVuZCgnb3JkZXInLCB0aGlzLm9yZGVyKTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXlTdGF0aW9uVXJsID0gaXNTYW5kYm94ID8gc2FuZGJveFBheVN0YXRpb25VcmwgOiBwYXlTdGF0aW9uNFVybDtcbiAgICByZXR1cm4gYCR7cGF5U3RhdGlvblVybH0vZW4ke3JvdXRlfT8ke3F1ZXJ5LnRvU3RyaW5nKCl9YDtcbiAgfVxuXG4gIHB1YmxpYyBzZXRPcmRlcihkYXRhOiB7IHBheW1lbnRGb3JtOiBQYXltZW50Rm9ybSB9KTogdm9pZCB7XG4gICAgY29uc3Qgc3VtbWFyeSA9IGRhdGE/LnBheW1lbnRGb3JtPy5zdW1tYXJ5O1xuICAgIGlmICghc3VtbWFyeSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGZpbmFuY2VEZXRhaWxzID1cbiAgICAgIHRoaXMuc3VtbWFyeUZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2UuZ2V0RmluYW5jZURldGFpbHMoc3VtbWFyeSk7XG5cbiAgICBpZiAoZmluYW5jZURldGFpbHM/LnB1cmNoYXNlICYmIGZpbmFuY2VEZXRhaWxzPy5maW5hbmNlKSB7XG4gICAgICBjb25zdCBjYXJ0SXRlbXMgPSBmaW5hbmNlRGV0YWlscy5jYXJ0SXRlbXM7XG4gICAgICB0aGlzLm9yZGVyID0gY2FydEl0ZW1zPy5yZWR1Y2UoKGN1cnIsIGl0ZW0pID0+IHtcbiAgICAgICAgaWYgKGN1cnIpIHtcbiAgICAgICAgICByZXR1cm4gY3VyciArIGA7ICR7aXRlbS50aXRsZX1gO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGN1cnIgKyBpdGVtLnRpdGxlO1xuICAgICAgfSwgJycpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNEZXZpY2VDYXBhYmxlKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmFwcGxlUGF5U2RrU2VydmljZS5uZWVkVG9BZGRBcHBsZVBheUpzKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIEJvb2xlYW4oXG4gICAgICAgIHRoaXMud2luZG93LkFwcGxlUGF5U2Vzc2lvbj8uc3VwcG9ydHNWZXJzaW9uKGFwcGxlUGF5VmVyc2lvbikgJiZcbiAgICAgICAgICB0aGlzLndpbmRvdy5BcHBsZVBheVNlc3Npb24/LmNhbk1ha2VQYXltZW50cygpXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFRva2VuTm9uY2VGaWVsZERhdGEodG9rZW5Ob25jZTogc3RyaW5nKToge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB2YWx1ZTogc3RyaW5nO1xuICB9IHtcbiAgICBjb25zdCBuYW1lID0gRmllbGROYW1lcy50b2tlbkFwcGxlUGF5O1xuICAgIGNvbnN0IHZhbHVlID0gYnRvYSh0b2tlbk5vbmNlKTtcbiAgICByZXR1cm4geyBuYW1lLCB2YWx1ZSB9O1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZUFwcGxlUGF5UGFyYW1zKGRhdGE6IHVua25vd24pOiB2b2lkIHtcbiAgICBjb25zdCBzdW1tYXJ5ID0gKGRhdGEgYXMgWHBzUmVzcG9uc2UpPy5zdW1tYXJ5O1xuICAgIGlmICghdGhpcy5hcHBsZVBheVBhcmFtcyB8fCAhc3VtbWFyeSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuYXBwbGVQYXlQYXJhbXMgPSB0aGlzLmFwcGxlUGFyYW1zQnVpbGRlci51cGRhdGVQYXJhbXMoXG4gICAgICB0aGlzLmFwcGxlUGF5UGFyYW1zLFxuICAgICAgc3VtbWFyeVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgcHJvY2VlZENoZWNrb3V0KFxuICAgIHBhcmFtZXRlcnM6IEFwcGxlUGF5UGFyYW1zLFxuICAgIGFkZGl0aW9uYWxQYXJhbXM6IFN0YXJ0U2Vzc2lvblBhcmFtc1xuICApOiB2b2lkIHtcbiAgICB0aGlzLnVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLnNlbmQoXG4gICAgICBVc2VyQmVoYXZpb3VyRXZlbnROYW1lLmFwcGxlUGF5QWNxdWlyZXIsXG4gICAgICAnbWFudWFsJyxcbiAgICAgIHsgdmFsdWU6IHBhcmFtZXRlcnMuYWNxdWlyZXIgfVxuICAgICk7XG5cbiAgICBjb25zdCBzZXNzaW9uSGFuZGxlciA9IHRoaXMuZ2V0U2Vzc2lvbkhhbmRsZXIocGFyYW1ldGVycy5hY3F1aXJlcik7XG5cbiAgICBpZiAoIXNlc3Npb25IYW5kbGVyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdBcHBsZSBQYXk6IFVuc3VwcG9ydGVkIGFjcXVpcmVyOicsIHBhcmFtZXRlcnMuYWNxdWlyZXIpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNlc3Npb25IYW5kbGVyLnN0YXJ0U2Vzc2lvbihwYXJhbWV0ZXJzLCBhZGRpdGlvbmFsUGFyYW1zLCAoKSA9PlxuICAgICAgdGhpcy5hcHBsZVBheVNka1NlcnZpY2UuZW1pdFdpbmRvd0Nsb3NpbmcoKVxuICAgICk7XG4gICAgdGhpcy5lbWl0QXBwbGVQYXlPcGVuZWQoXG4gICAgICBhZGRpdGlvbmFsUGFyYW1zLmlzQXBwbGVQYXlJbnN0YW50Rmxvd0VuYWJsZWQgPz8gZmFsc2VcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG1hcFNoaXBwaW5nQWRkcmVzc1RvQ29udGFjdChcbiAgICBzaGlwcGluZ0FkZHJlc3M6IFNoaXBwaW5nQWRkcmVzc1xuICApOiBBcHBsZVBheVNoaXBwaW5nQ29udGFjdCB7XG4gICAgcmV0dXJuIG1hcFNoaXBwaW5nQWRkcmVzc1RvQ29udGFjdChzaGlwcGluZ0FkZHJlc3MpO1xuICB9XG5cbiAgcHVibGljIHNldFRva2VuKHRva2VuOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnBheW1lbnQubmV4dCh0b2tlbik7XG4gIH1cblxuICBwcml2YXRlIGdldFNlc3Npb25IYW5kbGVyKFxuICAgIGFjcXVpcmVyOiBzdHJpbmdcbiAgKTogQXBwbGVQYXlTZXNzaW9uSGFuZGxlciB8IHVuZGVmaW5lZCB7XG4gICAgc3dpdGNoIChhY3F1aXJlcikge1xuICAgICAgY2FzZSAnYnJhaW50cmVlJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuYnJhaW50cmVlSGFuZGxlcjtcbiAgICAgIGNhc2UgJ2NoZWNrb3V0JzpcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tvdXRIYW5kbGVyO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvYWRCcmFpbnRyZWUoKTogUHJvbWlzZTx7XG4gICAgYXBwbGVQYXk6IHR5cGVvZiBhcHBsZVBheTtcbiAgICBjbGllbnQ6IHR5cGVvZiBjbGllbnQ7XG4gIH0+IHtcbiAgICBjb25zdCBhcGkgPSBhd2FpdCBpbXBvcnQoJ2JyYWludHJlZS13ZWInKTtcbiAgICByZXR1cm4gYXBpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0RXJyb3IoZXJyb3I6IEFwcGxlUGF5RXJyb3JzKTogdm9pZCB7XG4gICAgdGhpcy5lcnJvci5uZXh0KGVycm9yKTtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdEludGVncmF0aW9uVHlwZShpc0FwcGxlUGF5SW5zdGFudEZsb3dFbmFibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5pbnRlZ3JhdGlvblR5cGUubmV4dChcbiAgICAgIHRoaXMuZ2V0SW50ZWdyYXRpb25UeXBlKGlzQXBwbGVQYXlJbnN0YW50Rmxvd0VuYWJsZWQpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaWJlVG9IYW5kbGVycygpOiB2b2lkIHtcbiAgICBjb25zdCBoYW5kbGVycyA9IFt0aGlzLmJyYWludHJlZUhhbmRsZXIsIHRoaXMuY2hlY2tvdXRIYW5kbGVyXTtcblxuICAgIGhhbmRsZXJzLmZvckVhY2goKGhhbmRsZXIpID0+IHtcbiAgICAgIGhhbmRsZXIuZXJyb3IkLnN1YnNjcmliZSgoZXJyb3IpID0+IHRoaXMuZW1pdEVycm9yKGVycm9yKSk7XG4gICAgICBoYW5kbGVyLnBheW1lbnQkLnN1YnNjcmliZSgodG9rZW4pID0+IHtcbiAgICAgICAgdGhpcy5wYXltZW50Lm5leHQodG9rZW4pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldEludGVncmF0aW9uVHlwZShcbiAgICBpc0FwcGxlUGF5SW5zdGFudEZsb3dFbmFibGVkOiBib29sZWFuXG4gICk6IEFwcGxlUGF5SW50ZWdyYXRpb25UeXBlIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHJldHVybiB0aGlzLmlzRGV2aWNlQ2FwYWJsZSAmJiBpc0FwcGxlUGF5SW5zdGFudEZsb3dFbmFibGVkXG4gICAgICA/IEFwcGxlUGF5SW50ZWdyYXRpb25UeXBlLm5hdGl2ZVxuICAgICAgOiBBcHBsZVBheUludGVncmF0aW9uVHlwZS5yZWRpcmVjdDtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdEFwcGxlUGF5T3BlbmVkKGlzQXBwbGVQYXlJbnN0YW50Rmxvd0VuYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIGlmIChcbiAgICAgIHRoaXMuZ2V0SW50ZWdyYXRpb25UeXBlKGlzQXBwbGVQYXlJbnN0YW50Rmxvd0VuYWJsZWQpID09PVxuICAgICAgICBBcHBsZVBheUludGVncmF0aW9uVHlwZS5uYXRpdmUgJiZcbiAgICAgIHRoaXMuYXBwbGVQYXlTZGtTZXJ2aWNlLm5lZWRUb0FkZEFwcGxlUGF5SnNcbiAgICApIHtcbiAgICAgIHRoaXMuYXBwbGVQYXlRck9wZW5lZC5uZXh0KCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZHMtZm9yLXBhZ2VzLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9zZGstcGF5bWVudC1zeXN0ZW1zL2FwcGxlLXBheS9jb21tYW5kcy1mb3ItcGFnZXMuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGVudW0gQ29tbWFuZHNGb3JQYWdlcyB7XG4gIEFQUExFX1BBWV9VUERBVEVfUFJJQ0UgPSAnYXBwbGUtcGF5LXVwZGF0ZS1wcmljZScsXG4gIEFQUExFX1BBWV9SRUNBTENVTEFURV9DQVJUID0gJ2FwcGxlLXBheS1yZWNhbGN1bGF0ZS1jYXJ0JyxcbiAgQVBQTEVfUEFZX1NFTkRfVE9LRU4gPSAnYXBwbGUtcGF5LXNlbmQtdG9rZW4nLFxuICBBUFBMRV9QQVlfUkVUVVJOID0gJ2FwcGxlLXBheS1yZXR1cm4nLFxuICBBUFBMRV9QQVlfV0lORE9XX0NMT1NFID0gJ2FwcGxlLXBheS13aW5kb3ctY2xvc2UnLFxufVxuIl19
|