@xsolla/payment-client-core 0.3.4 → 0.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. package/esm2022/lib/core/payment/actions/analytics/analytics-payload-creator.map.mjs +3 -0
  2. package/esm2022/lib/core/payment/actions/analytics/analytics-payload-creator.type.mjs +2 -0
  3. package/esm2022/lib/core/payment/actions/analytics/status-updated-analytics-payload-creator.mjs +13 -0
  4. package/esm2022/lib/core/payment/actions/next-action.service.mjs +7 -2
  5. package/esm2022/lib/core/payment/status/listen-status/listen-status.service.mjs +12 -2
  6. package/esm2022/lib/core/payment/status/status.service.mjs +7 -2
  7. package/esm2022/lib/core/payment/status/websocket-status/websocket-status.service.mjs +4 -1
  8. package/esm2022/lib/core/payment/three-ds/dfp-collect/dfp-collect.service.mjs +8 -12
  9. package/esm2022/lib/core/web-socket/centrifugo-web-socket.service.mjs +4 -1
  10. package/esm2022/lib/core/web-socket/nchan-web-socket.service.mjs +7 -1
  11. package/esm2022/lib/core/web-socket/web-socket.interface.mjs +1 -1
  12. package/fesm2022/xsolla-payment-client-core.mjs +56 -14
  13. package/fesm2022/xsolla-payment-client-core.mjs.map +1 -1
  14. package/lib/core/payment/actions/analytics/analytics-payload-creator.map.d.ts +2 -0
  15. package/lib/core/payment/actions/analytics/analytics-payload-creator.type.d.ts +3 -0
  16. package/lib/core/payment/actions/analytics/status-updated-analytics-payload-creator.d.ts +2 -0
  17. package/lib/core/payment/status/listen-status/listen-status.service.d.ts +3 -0
  18. package/lib/core/payment/status/status.service.d.ts +1 -0
  19. package/lib/core/payment/status/websocket-status/websocket-status.service.d.ts +1 -0
  20. package/lib/core/web-socket/centrifugo-web-socket.service.d.ts +1 -0
  21. package/lib/core/web-socket/nchan-web-socket.service.d.ts +1 -0
  22. package/lib/core/web-socket/web-socket.interface.d.ts +1 -0
  23. package/package.json +1 -1
  24. package/xsolla-payment-client-core-0.3.6.tgz +0 -0
  25. package/xsolla-payment-client-core-0.3.4.tgz +0 -0
@@ -0,0 +1,3 @@
1
+ import { statusUpdatedAnalyticsPayloadCreator } from './status-updated-analytics-payload-creator';
2
+ export const analyticsPayloadCreatorMap = new Map([['status_updated', statusUpdatedAnalyticsPayloadCreator]]);
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLXBheWxvYWQtY3JlYXRvci5tYXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvcGF5bWVudC9hY3Rpb25zL2FuYWx5dGljcy9hbmFseXRpY3MtcGF5bG9hZC1jcmVhdG9yLm1hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUVsRyxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FDckMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLG9DQUFvQyxDQUFDLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5hbHl0aWNzUGF5bG9hZENyZWF0b3IgfSBmcm9tICcuL2FuYWx5dGljcy1wYXlsb2FkLWNyZWF0b3IudHlwZSc7XG5pbXBvcnQgeyBzdGF0dXNVcGRhdGVkQW5hbHl0aWNzUGF5bG9hZENyZWF0b3IgfSBmcm9tICcuL3N0YXR1cy11cGRhdGVkLWFuYWx5dGljcy1wYXlsb2FkLWNyZWF0b3InO1xuXG5leHBvcnQgY29uc3QgYW5hbHl0aWNzUGF5bG9hZENyZWF0b3JNYXA6IE1hcDxzdHJpbmcsIEFuYWx5dGljc1BheWxvYWRDcmVhdG9yPiA9XG4gIG5ldyBNYXAoW1snc3RhdHVzX3VwZGF0ZWQnLCBzdGF0dXNVcGRhdGVkQW5hbHl0aWNzUGF5bG9hZENyZWF0b3JdXSk7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLXBheWxvYWQtY3JlYXRvci50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3BheW1lbnQvYWN0aW9ucy9hbmFseXRpY3MvYW5hbHl0aWNzLXBheWxvYWQtY3JlYXRvci50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZW5kRXZlbnRNZXRob2RPcHRpb25zSW50ZXJmYWNlIH0gZnJvbSAnc3JjL2xpYi9jb3JlL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MuaW50ZXJmYWNlJztcbmltcG9ydCB7IE5leHRBY3Rpb24gfSBmcm9tICcuLi9uZXh0LWFjdGlvbi5pbnRlcmZhY2UnO1xuXG5leHBvcnQgdHlwZSBBbmFseXRpY3NQYXlsb2FkQ3JlYXRvciA9IChcbiAgbmV4dEFjdGlvbjogTmV4dEFjdGlvbixcbikgPT4gU2VuZEV2ZW50TWV0aG9kT3B0aW9uc0ludGVyZmFjZSB8IG51bGw7XG4iXX0=
@@ -0,0 +1,13 @@
1
+ export const statusUpdatedAnalyticsPayloadCreator = (nextAction) => {
2
+ if (nextAction.type !== 'status_updated')
3
+ return null;
4
+ const { statusState, group, isSuccess, isCanceled } = nextAction.data;
5
+ return {
6
+ value: nextAction.type,
7
+ extraValue: statusState,
8
+ dimension1: group,
9
+ dimension2: isSuccess ? 'successful' : null,
10
+ dimension3: isCanceled ? 'canceled' : null,
11
+ };
12
+ };
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLXVwZGF0ZWQtYW5hbHl0aWNzLXBheWxvYWQtY3JlYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9wYXltZW50L2FjdGlvbnMvYW5hbHl0aWNzL3N0YXR1cy11cGRhdGVkLWFuYWx5dGljcy1wYXlsb2FkLWNyZWF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sb0NBQW9DLEdBQTRCLENBQzNFLFVBQVUsRUFDVixFQUFFO0lBQ0YsSUFBSSxVQUFVLENBQUMsSUFBSSxLQUFLLGdCQUFnQjtRQUFFLE9BQU8sSUFBSSxDQUFDO0lBRXRELE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDO0lBQ3RFLE9BQU87UUFDTCxLQUFLLEVBQUUsVUFBVSxDQUFDLElBQUk7UUFDdEIsVUFBVSxFQUFFLFdBQVc7UUFDdkIsVUFBVSxFQUFFLEtBQUs7UUFDakIsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJO1FBQzNDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSTtLQUMzQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5hbHl0aWNzUGF5bG9hZENyZWF0b3IgfSBmcm9tICcuL2FuYWx5dGljcy1wYXlsb2FkLWNyZWF0b3IudHlwZSc7XG5cbmV4cG9ydCBjb25zdCBzdGF0dXNVcGRhdGVkQW5hbHl0aWNzUGF5bG9hZENyZWF0b3I6IEFuYWx5dGljc1BheWxvYWRDcmVhdG9yID0gKFxuICBuZXh0QWN0aW9uLFxuKSA9PiB7XG4gIGlmIChuZXh0QWN0aW9uLnR5cGUgIT09ICdzdGF0dXNfdXBkYXRlZCcpIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IHsgc3RhdHVzU3RhdGUsIGdyb3VwLCBpc1N1Y2Nlc3MsIGlzQ2FuY2VsZWQgfSA9IG5leHRBY3Rpb24uZGF0YTtcbiAgcmV0dXJuIHtcbiAgICB2YWx1ZTogbmV4dEFjdGlvbi50eXBlLFxuICAgIGV4dHJhVmFsdWU6IHN0YXR1c1N0YXRlLFxuICAgIGRpbWVuc2lvbjE6IGdyb3VwLFxuICAgIGRpbWVuc2lvbjI6IGlzU3VjY2VzcyA/ICdzdWNjZXNzZnVsJyA6IG51bGwsXG4gICAgZGltZW5zaW9uMzogaXNDYW5jZWxlZCA/ICdjYW5jZWxlZCcgOiBudWxsLFxuICB9O1xufTtcbiJdfQ==
@@ -3,6 +3,7 @@ import { Subject } from 'rxjs';
3
3
  import { nextActionsToken } from './next-actions';
4
4
  import { UserBehaviourEventName } from '../../user-behaviour-analytics/user-behaviour-event-name.enum';
5
5
  import { ErrorTags, TaggedError } from '../../exceptions-handling/errors';
6
+ import { analyticsPayloadCreatorMap } from './analytics/analytics-payload-creator.map';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "./show-errors/show-errors.action.class";
8
9
  import * as i2 from "../../user-behaviour-analytics/user-behaviour-analytics.service";
@@ -59,7 +60,11 @@ export class NextActionService {
59
60
  return actionType;
60
61
  }
61
62
  logNextAction(nextAction) {
62
- this.userBehaviourAnalyticsService.send(UserBehaviourEventName.nextAction, 'manual', { value: nextAction.type });
63
+ const analyticsPayloadCreator = analyticsPayloadCreatorMap.get(nextAction.type);
64
+ const payload = analyticsPayloadCreator?.(nextAction) ?? {
65
+ value: nextAction.type,
66
+ };
67
+ this.userBehaviourAnalyticsService.send(UserBehaviourEventName.nextAction, 'manual', payload);
63
68
  }
64
69
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NextActionService, deps: [{ token: nextActionsToken }, { token: i0.Injector }, { token: i1.ShowErrorsActionCreator }, { token: i2.UserBehaviourAnalyticsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
65
70
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NextActionService, providedIn: 'root' }); }
@@ -73,4 +78,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
73
78
  type: Inject,
74
79
  args: [nextActionsToken]
75
80
  }] }, { type: i0.Injector }, { type: i1.ShowErrorsActionCreator }, { type: i2.UserBehaviourAnalyticsService }] });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dC1hY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9wYXltZW50L2FjdGlvbnMvbmV4dC1hY3Rpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBMkIsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUkzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQW9CLE1BQU0sZ0JBQWdCLENBQUM7QUFJcEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDdkcsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7OztBQUsxRSxNQUFNLE9BQU8saUJBQWlCO0lBSzVCLElBQVcsWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRUQsWUFFbUIsZ0JBQWtDLEVBQ2xDLFFBQWtCLEVBQ2xCLHVCQUFnRCxFQUNoRCw2QkFBNEQ7UUFINUQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFDaEQsa0NBQTZCLEdBQTdCLDZCQUE2QixDQUErQjtRQWI5RCx1QkFBa0IsR0FBRyxJQUFJLE9BQU8sRUFBYyxDQUFDO1FBRS9DLG9CQUFlLEdBQW9CLEVBQUUsQ0FBQztRQWFyRCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU0sYUFBYSxDQUFDLGNBQThCO1FBQ2pELElBQUksY0FBYyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QyxDQUFDO1FBRUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNuQyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUVyRSxJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDdEIsTUFBTSxVQUFVLEdBQUcsaUJBQWlCLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ25FLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDL0IsT0FBTyxVQUFVLENBQUM7UUFDcEIsQ0FBQztRQUVELE1BQU0sSUFBSSxXQUFXLENBQ25CLDJCQUEyQixFQUMzQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFDZixjQUFjLENBQ2YsQ0FBQztJQUNKLENBQUM7SUFFTSxlQUFlLENBQUMsTUFBa0I7UUFDdkMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFTSxjQUFjLENBQUMsTUFBa0I7UUFDdEMsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUM7WUFBRSxPQUFPO1FBQ2hDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFTyxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FDM0IsQ0FBQyxVQUF3QyxFQUFFLEVBQUU7WUFDM0MsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQWdCLFVBQVUsQ0FBQyxDQUFDO1lBQzFELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLHFCQUFxQixDQUMzQixjQUE4QjtRQUU5QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FDMUMsQ0FBQyxVQUF5QixFQUFFLEVBQUU7WUFDNUIsT0FBTyxVQUFVLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQy9DLENBQUMsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hCLE9BQU87UUFDVCxDQUFDO1FBRUQsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVPLGFBQWEsQ0FBQyxVQUFzQjtRQUMxQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUNyQyxzQkFBc0IsQ0FBQyxVQUFVLEVBQ2pDLFFBQVEsRUFDUixFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsSUFBSSxFQUFFLENBQzNCLENBQUM7SUFDSixDQUFDOytHQXBGVSxpQkFBaUIsa0JBVWxCLGdCQUFnQjttSEFWZixpQkFBaUIsY0FGaEIsTUFBTTs7NEZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBV0ksTUFBTTsyQkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yLCBQcm92aWRlclRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdWJtaXRSZXNwb25zZSB9IGZyb20gJy4uL3JlcXVlc3RzL3N1Ym1pdC9yZXNwb25zZS9zdWJtaXQtcmVzcG9uc2UuY2xhc3MnO1xuaW1wb3J0IHsgQWN0aW9uQ3JlYXRvciB9IGZyb20gJy4vYWN0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBOZXh0QWN0aW9uIH0gZnJvbSAnLi9uZXh0LWFjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgbmV4dEFjdGlvbnNUb2tlbiwgTmV4dEFjdGlvblRva2VucyB9IGZyb20gJy4vbmV4dC1hY3Rpb25zJztcbmltcG9ydCB7IFNob3dFcnJvcnNBY3Rpb25DcmVhdG9yIH0gZnJvbSAnLi9zaG93LWVycm9ycy9zaG93LWVycm9ycy5hY3Rpb24uY2xhc3MnO1xuaW1wb3J0IHsgWHBzRXJyb3IgfSBmcm9tICcuLi94cHMtZXJyb3IuaW50ZXJmYWNlJztcbmltcG9ydCB7IFVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy5zZXJ2aWNlJztcbmltcG9ydCB7IFVzZXJCZWhhdmlvdXJFdmVudE5hbWUgfSBmcm9tICcuLi8uLi91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItZXZlbnQtbmFtZS5lbnVtJztcbmltcG9ydCB7IEVycm9yVGFncywgVGFnZ2VkRXJyb3IgfSBmcm9tICcuLi8uLi9leGNlcHRpb25zLWhhbmRsaW5nL2Vycm9ycyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBOZXh0QWN0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZmxvd1VwZGF0ZXNTdWJqZWN0ID0gbmV3IFN1YmplY3Q8TmV4dEFjdGlvbj4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IG5leHRBY3Rpb25zTGlzdDogQWN0aW9uQ3JlYXRvcltdID0gW107XG5cbiAgcHVibGljIGdldCBmbG93VXBkYXRlcyQoKTogT2JzZXJ2YWJsZTxOZXh0QWN0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuZmxvd1VwZGF0ZXNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QobmV4dEFjdGlvbnNUb2tlbilcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5leHRBY3Rpb25Ub2tlbnM6IE5leHRBY3Rpb25Ub2tlbnMsXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzaG93RXJyb3JzQWN0aW9uQ3JlYXRvcjogU2hvd0Vycm9yc0FjdGlvbkNyZWF0b3IsXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZTogVXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2UsXG4gICkge1xuICAgIHRoaXMuZmlsbE5leHRBY3Rpb25zTGlzdCgpO1xuICB9XG5cbiAgcHVibGljIGdldE5leHRBY3Rpb24oc3VibWl0UmVzcG9uc2U6IFN1Ym1pdFJlc3BvbnNlKTogTmV4dEFjdGlvbiB8IG51bGwge1xuICAgIGlmIChzdWJtaXRSZXNwb25zZS5lcnJvcnM/Lmxlbmd0aCkge1xuICAgICAgdGhpcy5lbWl0Rmxvd0Vycm9ycyhzdWJtaXRSZXNwb25zZS5lcnJvcnMpO1xuICAgIH1cblxuICAgIGlmICghc3VibWl0UmVzcG9uc2UuY3VycmVudENvbW1hbmQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IG5leHRBY3Rpb25DcmVhdG9yID0gdGhpcy5maW5kTmV4dEFjdGlvbkNyZWF0b3Ioc3VibWl0UmVzcG9uc2UpO1xuXG4gICAgaWYgKG5leHRBY3Rpb25DcmVhdG9yKSB7XG4gICAgICBjb25zdCBuZXh0QWN0aW9uID0gbmV4dEFjdGlvbkNyZWF0b3IuZ2V0QWN0aW9uRGF0YShzdWJtaXRSZXNwb25zZSk7XG4gICAgICB0aGlzLmxvZ05leHRBY3Rpb24obmV4dEFjdGlvbik7XG4gICAgICByZXR1cm4gbmV4dEFjdGlvbjtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgVGFnZ2VkRXJyb3IoXG4gICAgICAnTmV4dCBhY3Rpb24gaXMgdW5kZWZpbmVkLicsXG4gICAgICBbRXJyb3JUYWdzLkFQUF0sXG4gICAgICBzdWJtaXRSZXNwb25zZSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGVtaXRGbG93VXBkYXRlcyhhY3Rpb246IE5leHRBY3Rpb24pOiB2b2lkIHtcbiAgICB0aGlzLmZsb3dVcGRhdGVzU3ViamVjdC5uZXh0KGFjdGlvbik7XG4gICAgdGhpcy5sb2dOZXh0QWN0aW9uKGFjdGlvbik7XG4gIH1cblxuICBwdWJsaWMgZW1pdEZsb3dFcnJvcnMoZXJyb3JzOiBYcHNFcnJvcltdKTogdm9pZCB7XG4gICAgaWYgKGVycm9ycy5sZW5ndGggPT09IDApIHJldHVybjtcbiAgICB0aGlzLmVtaXRGbG93VXBkYXRlcyh0aGlzLnNob3dFcnJvcnNBY3Rpb25DcmVhdG9yLmdldEFjdGlvbkRhdGEoZXJyb3JzKSk7XG4gIH1cblxuICBwcml2YXRlIGZpbGxOZXh0QWN0aW9uc0xpc3QoKTogdm9pZCB7XG4gICAgdGhpcy5uZXh0QWN0aW9uVG9rZW5zLmZvckVhY2goXG4gICAgICAobmV4dEFjdGlvbjogUHJvdmlkZXJUb2tlbjxBY3Rpb25DcmVhdG9yPikgPT4ge1xuICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5pbmplY3Rvci5nZXQ8QWN0aW9uQ3JlYXRvcj4obmV4dEFjdGlvbik7XG4gICAgICAgIHRoaXMubmV4dEFjdGlvbnNMaXN0LnB1c2goaXRlbSk7XG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGZpbmROZXh0QWN0aW9uQ3JlYXRvcihcbiAgICBzdWJtaXRSZXNwb25zZTogU3VibWl0UmVzcG9uc2UsXG4gICk6IEFjdGlvbkNyZWF0b3IgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGFjdGlvblR5cGUgPSB0aGlzLm5leHRBY3Rpb25zTGlzdC5maW5kKFxuICAgICAgKG5leHRBY3Rpb246IEFjdGlvbkNyZWF0b3IpID0+IHtcbiAgICAgICAgcmV0dXJuIG5leHRBY3Rpb24uaXNTdWl0YWJsZShzdWJtaXRSZXNwb25zZSk7XG4gICAgICB9LFxuICAgICk7XG5cbiAgICBpZiAoIWFjdGlvblR5cGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICByZXR1cm4gYWN0aW9uVHlwZTtcbiAgfVxuXG4gIHByaXZhdGUgbG9nTmV4dEFjdGlvbihuZXh0QWN0aW9uOiBOZXh0QWN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy51c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZS5zZW5kKFxuICAgICAgVXNlckJlaGF2aW91ckV2ZW50TmFtZS5uZXh0QWN0aW9uLFxuICAgICAgJ21hbnVhbCcsXG4gICAgICB7IHZhbHVlOiBuZXh0QWN0aW9uLnR5cGUgfSxcbiAgICApO1xuICB9XG59XG4iXX0=
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dC1hY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9wYXltZW50L2FjdGlvbnMvbmV4dC1hY3Rpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBMkIsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUkzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQW9CLE1BQU0sZ0JBQWdCLENBQUM7QUFJcEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDdkcsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7OztBQUt2RixNQUFNLE9BQU8saUJBQWlCO0lBSzVCLElBQVcsWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRUQsWUFFbUIsZ0JBQWtDLEVBQ2xDLFFBQWtCLEVBQ2xCLHVCQUFnRCxFQUNoRCw2QkFBNEQ7UUFINUQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFDaEQsa0NBQTZCLEdBQTdCLDZCQUE2QixDQUErQjtRQWI5RCx1QkFBa0IsR0FBRyxJQUFJLE9BQU8sRUFBYyxDQUFDO1FBRS9DLG9CQUFlLEdBQW9CLEVBQUUsQ0FBQztRQWFyRCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU0sYUFBYSxDQUFDLGNBQThCO1FBQ2pELElBQUksY0FBYyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QyxDQUFDO1FBRUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNuQyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUVyRSxJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDdEIsTUFBTSxVQUFVLEdBQUcsaUJBQWlCLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ25FLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDL0IsT0FBTyxVQUFVLENBQUM7UUFDcEIsQ0FBQztRQUVELE1BQU0sSUFBSSxXQUFXLENBQ25CLDJCQUEyQixFQUMzQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFDZixjQUFjLENBQ2YsQ0FBQztJQUNKLENBQUM7SUFFTSxlQUFlLENBQUMsTUFBa0I7UUFDdkMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFTSxjQUFjLENBQUMsTUFBa0I7UUFDdEMsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUM7WUFBRSxPQUFPO1FBQ2hDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFTyxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FDM0IsQ0FBQyxVQUF3QyxFQUFFLEVBQUU7WUFDM0MsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQWdCLFVBQVUsQ0FBQyxDQUFDO1lBQzFELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLHFCQUFxQixDQUMzQixjQUE4QjtRQUU5QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FDMUMsQ0FBQyxVQUF5QixFQUFFLEVBQUU7WUFDNUIsT0FBTyxVQUFVLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQy9DLENBQUMsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hCLE9BQU87UUFDVCxDQUFDO1FBRUQsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVPLGFBQWEsQ0FBQyxVQUFzQjtRQUMxQyxNQUFNLHVCQUF1QixHQUFHLDBCQUEwQixDQUFDLEdBQUcsQ0FDNUQsVUFBVSxDQUFDLElBQUksQ0FDaEIsQ0FBQztRQUNGLE1BQU0sT0FBTyxHQUFHLHVCQUF1QixFQUFFLENBQUMsVUFBVSxDQUFDLElBQUk7WUFDdkQsS0FBSyxFQUFFLFVBQVUsQ0FBQyxJQUFJO1NBQ3ZCLENBQUM7UUFFRixJQUFJLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUNyQyxzQkFBc0IsQ0FBQyxVQUFVLEVBQ2pDLFFBQVEsRUFDUixPQUFPLENBQ1IsQ0FBQztJQUNKLENBQUM7K0dBM0ZVLGlCQUFpQixrQkFVbEIsZ0JBQWdCO21IQVZmLGlCQUFpQixjQUZoQixNQUFNOzs0RkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFXSSxNQUFNOzJCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIFByb3ZpZGVyVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN1Ym1pdFJlc3BvbnNlIH0gZnJvbSAnLi4vcmVxdWVzdHMvc3VibWl0L3Jlc3BvbnNlL3N1Ym1pdC1yZXNwb25zZS5jbGFzcyc7XG5pbXBvcnQgeyBBY3Rpb25DcmVhdG9yIH0gZnJvbSAnLi9hY3Rpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IE5leHRBY3Rpb24gfSBmcm9tICcuL25leHQtYWN0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBuZXh0QWN0aW9uc1Rva2VuLCBOZXh0QWN0aW9uVG9rZW5zIH0gZnJvbSAnLi9uZXh0LWFjdGlvbnMnO1xuaW1wb3J0IHsgU2hvd0Vycm9yc0FjdGlvbkNyZWF0b3IgfSBmcm9tICcuL3Nob3ctZXJyb3JzL3Nob3ctZXJyb3JzLmFjdGlvbi5jbGFzcyc7XG5pbXBvcnQgeyBYcHNFcnJvciB9IGZyb20gJy4uL3hwcy1lcnJvci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuLi8uLi91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlckJlaGF2aW91ckV2ZW50TmFtZSB9IGZyb20gJy4uLy4uL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1ldmVudC1uYW1lLmVudW0nO1xuaW1wb3J0IHsgRXJyb3JUYWdzLCBUYWdnZWRFcnJvciB9IGZyb20gJy4uLy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZXJyb3JzJztcbmltcG9ydCB7IGFuYWx5dGljc1BheWxvYWRDcmVhdG9yTWFwIH0gZnJvbSAnLi9hbmFseXRpY3MvYW5hbHl0aWNzLXBheWxvYWQtY3JlYXRvci5tYXAnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTmV4dEFjdGlvblNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGZsb3dVcGRhdGVzU3ViamVjdCA9IG5ldyBTdWJqZWN0PE5leHRBY3Rpb24+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBuZXh0QWN0aW9uc0xpc3Q6IEFjdGlvbkNyZWF0b3JbXSA9IFtdO1xuXG4gIHB1YmxpYyBnZXQgZmxvd1VwZGF0ZXMkKCk6IE9ic2VydmFibGU8TmV4dEFjdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLmZsb3dVcGRhdGVzU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KG5leHRBY3Rpb25zVG9rZW4pXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZXh0QWN0aW9uVG9rZW5zOiBOZXh0QWN0aW9uVG9rZW5zLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2hvd0Vycm9yc0FjdGlvbkNyZWF0b3I6IFNob3dFcnJvcnNBY3Rpb25DcmVhdG9yLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2U6IFVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLmZpbGxOZXh0QWN0aW9uc0xpc3QoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXROZXh0QWN0aW9uKHN1Ym1pdFJlc3BvbnNlOiBTdWJtaXRSZXNwb25zZSk6IE5leHRBY3Rpb24gfCBudWxsIHtcbiAgICBpZiAoc3VibWl0UmVzcG9uc2UuZXJyb3JzPy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuZW1pdEZsb3dFcnJvcnMoc3VibWl0UmVzcG9uc2UuZXJyb3JzKTtcbiAgICB9XG5cbiAgICBpZiAoIXN1Ym1pdFJlc3BvbnNlLmN1cnJlbnRDb21tYW5kKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBuZXh0QWN0aW9uQ3JlYXRvciA9IHRoaXMuZmluZE5leHRBY3Rpb25DcmVhdG9yKHN1Ym1pdFJlc3BvbnNlKTtcblxuICAgIGlmIChuZXh0QWN0aW9uQ3JlYXRvcikge1xuICAgICAgY29uc3QgbmV4dEFjdGlvbiA9IG5leHRBY3Rpb25DcmVhdG9yLmdldEFjdGlvbkRhdGEoc3VibWl0UmVzcG9uc2UpO1xuICAgICAgdGhpcy5sb2dOZXh0QWN0aW9uKG5leHRBY3Rpb24pO1xuICAgICAgcmV0dXJuIG5leHRBY3Rpb247XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IFRhZ2dlZEVycm9yKFxuICAgICAgJ05leHQgYWN0aW9uIGlzIHVuZGVmaW5lZC4nLFxuICAgICAgW0Vycm9yVGFncy5BUFBdLFxuICAgICAgc3VibWl0UmVzcG9uc2UsXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBlbWl0Rmxvd1VwZGF0ZXMoYWN0aW9uOiBOZXh0QWN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5mbG93VXBkYXRlc1N1YmplY3QubmV4dChhY3Rpb24pO1xuICAgIHRoaXMubG9nTmV4dEFjdGlvbihhY3Rpb24pO1xuICB9XG5cbiAgcHVibGljIGVtaXRGbG93RXJyb3JzKGVycm9yczogWHBzRXJyb3JbXSk6IHZvaWQge1xuICAgIGlmIChlcnJvcnMubGVuZ3RoID09PSAwKSByZXR1cm47XG4gICAgdGhpcy5lbWl0Rmxvd1VwZGF0ZXModGhpcy5zaG93RXJyb3JzQWN0aW9uQ3JlYXRvci5nZXRBY3Rpb25EYXRhKGVycm9ycykpO1xuICB9XG5cbiAgcHJpdmF0ZSBmaWxsTmV4dEFjdGlvbnNMaXN0KCk6IHZvaWQge1xuICAgIHRoaXMubmV4dEFjdGlvblRva2Vucy5mb3JFYWNoKFxuICAgICAgKG5leHRBY3Rpb246IFByb3ZpZGVyVG9rZW48QWN0aW9uQ3JlYXRvcj4pID0+IHtcbiAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMuaW5qZWN0b3IuZ2V0PEFjdGlvbkNyZWF0b3I+KG5leHRBY3Rpb24pO1xuICAgICAgICB0aGlzLm5leHRBY3Rpb25zTGlzdC5wdXNoKGl0ZW0pO1xuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5kTmV4dEFjdGlvbkNyZWF0b3IoXG4gICAgc3VibWl0UmVzcG9uc2U6IFN1Ym1pdFJlc3BvbnNlLFxuICApOiBBY3Rpb25DcmVhdG9yIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBhY3Rpb25UeXBlID0gdGhpcy5uZXh0QWN0aW9uc0xpc3QuZmluZChcbiAgICAgIChuZXh0QWN0aW9uOiBBY3Rpb25DcmVhdG9yKSA9PiB7XG4gICAgICAgIHJldHVybiBuZXh0QWN0aW9uLmlzU3VpdGFibGUoc3VibWl0UmVzcG9uc2UpO1xuICAgICAgfSxcbiAgICApO1xuXG4gICAgaWYgKCFhY3Rpb25UeXBlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcmV0dXJuIGFjdGlvblR5cGU7XG4gIH1cblxuICBwcml2YXRlIGxvZ05leHRBY3Rpb24obmV4dEFjdGlvbjogTmV4dEFjdGlvbik6IHZvaWQge1xuICAgIGNvbnN0IGFuYWx5dGljc1BheWxvYWRDcmVhdG9yID0gYW5hbHl0aWNzUGF5bG9hZENyZWF0b3JNYXAuZ2V0KFxuICAgICAgbmV4dEFjdGlvbi50eXBlLFxuICAgICk7XG4gICAgY29uc3QgcGF5bG9hZCA9IGFuYWx5dGljc1BheWxvYWRDcmVhdG9yPy4obmV4dEFjdGlvbikgPz8ge1xuICAgICAgdmFsdWU6IG5leHRBY3Rpb24udHlwZSxcbiAgICB9O1xuXG4gICAgdGhpcy51c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZS5zZW5kKFxuICAgICAgVXNlckJlaGF2aW91ckV2ZW50TmFtZS5uZXh0QWN0aW9uLFxuICAgICAgJ21hbnVhbCcsXG4gICAgICBwYXlsb2FkLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -25,6 +25,8 @@ export class ListenStatusService {
25
25
  this.statusUpdatedSubject = new Subject();
26
26
  this.statusDoneSubject = new Subject();
27
27
  this.destroy$ = new Subject();
28
+ this.listenInvoice = null;
29
+ this.websocketInvoice = null;
28
30
  }
29
31
  listen(invoice) {
30
32
  if (this.isListening) {
@@ -32,6 +34,7 @@ export class ListenStatusService {
32
34
  }
33
35
  this.destroy$ = new Subject();
34
36
  this.isListening = true;
37
+ this.listenInvoice = invoice;
35
38
  this.subscribeStatusUpdate(invoice);
36
39
  this.subscribeCheckStatusUpdate();
37
40
  this.subscribeWebsocketEvent();
@@ -44,6 +47,9 @@ export class ListenStatusService {
44
47
  this.destroy$.next();
45
48
  this.destroy$.complete();
46
49
  }
50
+ isListeningInvoice(invoice) {
51
+ return this.isListening && this.listenInvoice === invoice;
52
+ }
47
53
  subscribeStatusUpdate(invoice) {
48
54
  this.statusService.response$
49
55
  .pipe(filter((statusResponse) => {
@@ -80,7 +86,11 @@ export class ListenStatusService {
80
86
  });
81
87
  }
82
88
  if (statusSettings.needWebSocket) {
83
- this.openWebsocket(statusSettings);
89
+ if (!this.websocketStatusService.isOpened ||
90
+ this.websocketInvoice !== invoice) {
91
+ this.websocketInvoice = invoice;
92
+ this.openWebsocket(statusSettings);
93
+ }
84
94
  return;
85
95
  }
86
96
  this.stopListening();
@@ -128,4 +138,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
128
138
  providedIn: 'root',
129
139
  }]
130
140
  }], ctorParameters: () => [{ type: i1.StatusRequestService }, { type: i2.CheckStatusService }, { type: i3.WebsocketStatusService }, { type: i4.UserBehaviourAnalyticsService }] });
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGVuLXN0YXR1cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3BheW1lbnQvc3RhdHVzL2xpc3Rlbi1zdGF0dXMvbGlzdGVuLXN0YXR1cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUs1QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUMxRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtRkFBbUYsQ0FBQzs7Ozs7O0FBSzVILE1BQU0sT0FBTyxtQkFBbUI7SUFROUIsSUFBVyxnQkFBZ0I7UUFDekIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRUQsWUFDbUIsYUFBbUMsRUFDbkMsa0JBQXNDLEVBQ3RDLHNCQUE4QyxFQUM5Qyw2QkFBNEQ7UUFINUQsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ25DLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QyxrQ0FBNkIsR0FBN0IsNkJBQTZCLENBQStCO1FBbkJ4RSxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVWLDJCQUFzQixHQUFHLElBQUksT0FBTyxFQUFrQixDQUFDO1FBQ3ZELHlCQUFvQixHQUFHLElBQUksT0FBTyxFQUFpQixDQUFDO1FBQ3BELHNCQUFpQixH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QUMsc0JBQXNCLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztnQkFDM0QsT0FBTztZQUNULENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyx1QkFBdUI7UUFDN0IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGdCQUFnQjthQUN6QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QixTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFFdEQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGNBQWM7YUFDdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUIsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRU8sYUFBYSxDQUFDLGNBQThCO1FBQ2xELEtBQUssSUFBSSxDQUFDLHNCQUFzQixDQUFDLHdCQUF3QixDQUN2RCxjQUFjLENBQUMsWUFBWSxFQUMzQixjQUFjLENBQUMsb0JBQW9CLEVBQ25DLGNBQWMsQ0FBQyxtQkFBbUIsQ0FDbkMsQ0FBQztRQUNGLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDbkQsQ0FBQzsrR0ExSlUsbUJBQW1CO21IQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs7NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZpbHRlciwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdGF0dXNSZXF1ZXN0U2VydmljZSB9IGZyb20gJy4uL3N0YXR1cy1yZXF1ZXN0L3N0YXR1cy1yZXF1ZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2hlY2tTdGF0dXNTZXJ2aWNlIH0gZnJvbSAnLi4vY2hlY2stc3RhdHVzL2NoZWNrLXN0YXR1cy5zZXJ2aWNlJztcbmltcG9ydCB7IFdlYnNvY2tldFN0YXR1c1NlcnZpY2UgfSBmcm9tICcuLi93ZWJzb2NrZXQtc3RhdHVzL3dlYnNvY2tldC1zdGF0dXMuc2VydmljZSc7XG5pbXBvcnQgeyBTdGF0dXNTZXR0aW5ncyB9IGZyb20gJy4uL3N0YXR1cy1zZXR0aW5ncy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU3RhdHVzRW51bSB9IGZyb20gJy4uL3N0YXR1cy5lbnVtJztcbmltcG9ydCB7IFN0YXR1c1VwZGF0ZWQgfSBmcm9tICcuLi9zdGF0dXMtdXBkYXRlZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU3RhdHVzUmVzcG9uc2UgfSBmcm9tICcuLi9zdGF0dXMtcmVxdWVzdC9yZXNwb25zZS9zdGF0dXMtcmVzcG9uc2UuY2xhc3MnO1xuaW1wb3J0IHsgQ2hlY2tTdGF0dXNSZXNwb25zZSB9IGZyb20gJy4uL2NoZWNrLXN0YXR1cy9yZXNwb25zZS9jaGVjay1zdGF0dXMtcmVzcG9uc2UuY2xhc3MnO1xuaW1wb3J0IHsgVXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlckJlaGF2aW91ckV2ZW50TmFtZSB9IGZyb20gJy4uLy4uLy4uL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1ldmVudC1uYW1lLmVudW0nO1xuaW1wb3J0IHsgdXNlckJlaGF2aW91ckV2ZW50VHlwZXMgfSBmcm9tICcuLi8uLi8uLi91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItZXZlbnQvdXNlci1iZWhhdmlvdXItZXZlbnQtdHlwZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTGlzdGVuU3RhdHVzU2VydmljZSB7XG4gIHB1YmxpYyBpc0xpc3RlbmluZyA9IGZhbHNlO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgd2Vic29ja2V0T3BlbmVkU3ViamVjdCA9IG5ldyBTdWJqZWN0PFN0YXR1c1NldHRpbmdzPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IHN0YXR1c1VwZGF0ZWRTdWJqZWN0ID0gbmV3IFN1YmplY3Q8U3RhdHVzVXBkYXRlZD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBzdGF0dXNEb25lU3ViamVjdCA9IG5ldyBTdWJqZWN0PFN0YXR1c1NldHRpbmdzPigpO1xuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwdWJsaWMgZ2V0IHdlYnNvY2tldE9wZW5lZCQoKTogT2JzZXJ2YWJsZTxTdGF0dXNTZXR0aW5ncz4ge1xuICAgIHJldHVybiB0aGlzLndlYnNvY2tldE9wZW5lZFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0YXR1c1VwZGF0ZWQkKCk6IE9ic2VydmFibGU8U3RhdHVzVXBkYXRlZD4ge1xuICAgIHJldHVybiB0aGlzLnN0YXR1c1VwZGF0ZWRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhdHVzU2VydmljZTogU3RhdHVzUmVxdWVzdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGVja1N0YXR1c1NlcnZpY2U6IENoZWNrU3RhdHVzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdlYnNvY2tldFN0YXR1c1NlcnZpY2U6IFdlYnNvY2tldFN0YXR1c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZTogVXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2UsXG4gICkge31cblxuICBwdWJsaWMgbGlzdGVuKGludm9pY2U6IG51bWJlcik6IE9ic2VydmFibGU8U3RhdHVzU2V0dGluZ3M+IHtcbiAgICBpZiAodGhpcy5pc0xpc3RlbmluZykge1xuICAgICAgdGhpcy5zdG9wTGlzdGVuaW5nKCk7XG4gICAgfVxuXG4gICAgdGhpcy5kZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgdGhpcy5pc0xpc3RlbmluZyA9IHRydWU7XG5cbiAgICB0aGlzLnN1YnNjcmliZVN0YXR1c1VwZGF0ZShpbnZvaWNlKTtcbiAgICB0aGlzLnN1YnNjcmliZUNoZWNrU3RhdHVzVXBkYXRlKCk7XG4gICAgdGhpcy5zdWJzY3JpYmVXZWJzb2NrZXRFdmVudCgpO1xuXG4gICAgdGhpcy5jaGVja1N0YXR1c1NlcnZpY2Uuc2V0UmVxdWVzdFBhcmFtcyhpbnZvaWNlKTtcblxuICAgIHJldHVybiB0aGlzLnN0YXR1c0RvbmVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIHN0b3BMaXN0ZW5pbmcoKTogdm9pZCB7XG4gICAgdGhpcy5pc0xpc3RlbmluZyA9IGZhbHNlO1xuICAgIHRoaXMud2Vic29ja2V0U3RhdHVzU2VydmljZS5jbG9zZVdlYlNvY2tldCgpO1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaWJlU3RhdHVzVXBkYXRlKGludm9pY2U6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuc3RhdHVzU2VydmljZS5yZXNwb25zZSRcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKHN0YXR1c1Jlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHN0YXR1c1Jlc3BvbnNlPy5zdGF0dXM/Lmludm9pY2UgPT09IE51bWJlcihpbnZvaWNlKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXR1c1Jlc3BvbnNlOiBTdGF0dXNSZXNwb25zZSB8IG51bGwpID0+IHtcbiAgICAgICAgaWYgKCFzdGF0dXNSZXNwb25zZT8uc3RhdHVzKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc3RhdHVzU2V0dGluZ3MgPSB7XG4gICAgICAgICAgc3RhdHVzU3RhdGU6IHN0YXR1c1Jlc3BvbnNlLnN0YXR1cy5zdGF0dXNTdGF0ZSxcbiAgICAgICAgICBpc0NhbmNlbFVzZXI6IHN0YXR1c1Jlc3BvbnNlLnN0YXR1cy5pc0NhbmNlbFVzZXIsXG4gICAgICAgICAgbmVlZFdlYlNvY2tldDogc3RhdHVzUmVzcG9uc2Uuc3RhdHVzLm5lZWRUb0NoZWNrLFxuICAgICAgICAgIGJhY2tVcmxTZXR0aW5nczogc3RhdHVzUmVzcG9uc2Uuc3RhdHVzLmJhY2tVcmxTZXR0aW5ncyxcbiAgICAgICAgICBhdXRvUmVkaXJlY3Q6IHN0YXR1c1Jlc3BvbnNlLnN0YXR1cy5hdXRvUmVkaXJlY3QsXG4gICAgICAgICAgd2ViU29ja2V0VXJsOiBzdGF0dXNSZXNwb25zZS5zdGF0dXMud2ViU29ja2V0VXJsLFxuICAgICAgICAgIHdlYlNvY2tldENoYW5uZWxOYW1lOiBzdGF0dXNSZXNwb25zZS5zdGF0dXMud2ViU29ja2V0Q2hhbm5lbE5hbWUsXG4gICAgICAgICAgd2ViU29ja2V0Q2xpZW50VHlwZTogc3RhdHVzUmVzcG9uc2Uuc3RhdHVzLndlYlNvY2tldENsaWVudFR5cGUsXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5zdGF0dXNVcGRhdGVkU3ViamVjdC5uZXh0KHtcbiAgICAgICAgICBzdGF0dXNSZXNwb25zZTogc3RhdHVzUmVzcG9uc2UsXG4gICAgICAgICAgc3RhdHVzU2V0dGluZ3M6IHN0YXR1c1NldHRpbmdzLFxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBpc1N0YXR1c0Vycm9yID1cbiAgICAgICAgICBzdGF0dXNTZXR0aW5ncy5zdGF0dXNTdGF0ZSA9PT0gU3RhdHVzRW51bS5jYW5jZWxlZCB8fFxuICAgICAgICAgIHN0YXR1c1NldHRpbmdzLnN0YXR1c1N0YXRlID09PSBTdGF0dXNFbnVtLmVycm9yIHx8XG4gICAgICAgICAgc3RhdHVzU2V0dGluZ3MuaXNDYW5jZWxVc2VyO1xuXG4gICAgICAgIHRoaXMudXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2Uuc2VuZChcbiAgICAgICAgICBVc2VyQmVoYXZpb3VyRXZlbnROYW1lLmNoYW5nZVN0YXR1cyxcbiAgICAgICAgICB1c2VyQmVoYXZpb3VyRXZlbnRUeXBlcy5tYW51YWwsXG4gICAgICAgICAge1xuICAgICAgICAgICAgaW5zdGFuY2VJZDogc3RhdHVzUmVzcG9uc2Uuc3RhdHVzLnBpZCxcbiAgICAgICAgICAgIHZhbHVlOiBzdGF0dXNSZXNwb25zZS5zdGF0dXMuc3RhdHVzU3RhdGUsXG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAoaXNTdGF0dXNFcnJvcikge1xuICAgICAgICAgIHRoaXMudXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2Uuc2VuZChcbiAgICAgICAgICAgIFVzZXJCZWhhdmlvdXJFdmVudE5hbWUub3BlblN0YXR1c0Vycm9yLFxuICAgICAgICAgICAgdXNlckJlaGF2aW91ckV2ZW50VHlwZXMubWFudWFsLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpbnN0YW5jZUlkOiBzdGF0dXNSZXNwb25zZS5zdGF0dXMucGlkLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHN0YXR1c1NldHRpbmdzLm5lZWRXZWJTb2NrZXQpIHtcbiAgICAgICAgICB0aGlzLm9wZW5XZWJzb2NrZXQoc3RhdHVzU2V0dGluZ3MpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc3RvcExpc3RlbmluZygpO1xuICAgICAgICB0aGlzLnN0YXR1c0RvbmVTdWJqZWN0Lm5leHQoc3RhdHVzU2V0dGluZ3MpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZUNoZWNrU3RhdHVzVXBkYXRlKCk6IHZvaWQge1xuICAgIHRoaXMuY2hlY2tTdGF0dXNTZXJ2aWNlLnJlc3BvbnNlJFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoY2hlY2tTdGF0dXNSZXNwb25zZTogQ2hlY2tTdGF0dXNSZXNwb25zZSB8IG51bGwpID0+IHtcbiAgICAgICAgaWYgKCFjaGVja1N0YXR1c1Jlc3BvbnNlPy5zdGF0dXMpIHJldHVybjtcblxuICAgICAgICB0aGlzLnVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLnNlbmQoXG4gICAgICAgICAgVXNlckJlaGF2aW91ckV2ZW50TmFtZS5jaGVja1N0YXR1c1VwZGF0ZSxcbiAgICAgICAgICB1c2VyQmVoYXZpb3VyRXZlbnRUeXBlcy5tYW51YWwsXG4gICAgICAgICAge1xuICAgICAgICAgICAgdmFsdWU6IGNoZWNrU3RhdHVzUmVzcG9uc2Uuc3RhdHVzID8/ICcnLFxuICAgICAgICAgIH0sXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKGNoZWNrU3RhdHVzUmVzcG9uc2Uuc3RhdHVzID09PSBTdGF0dXNFbnVtLmRvbmUpIHtcbiAgICAgICAgICB0aGlzLnN0YXR1c1NlcnZpY2UucmVxdWVzdCgpO1xuICAgICAgICAgIHRoaXMud2Vic29ja2V0U3RhdHVzU2VydmljZS5jbG9zZVdlYlNvY2tldCgpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjaGVja1N0YXR1c1Jlc3BvbnNlLmZpbmFsID09PSBmYWxzZSkge1xuICAgICAgICAgIHRoaXMud2Vic29ja2V0U3RhdHVzU2VydmljZS5zdGFydFJlaW5zdXJhbmNlQ2hlY2tUaW1lb3V0KCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaWJlV2Vic29ja2V0RXZlbnQoKTogdm9pZCB7XG4gICAgdGhpcy53ZWJzb2NrZXRTdGF0dXNTZXJ2aWNlLm5lZWRDaGVja1N0YXR1cyRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jaGVja1N0YXR1c1NlcnZpY2UucmVxdWVzdCgpKTtcblxuICAgIHRoaXMud2Vic29ja2V0U3RhdHVzU2VydmljZS5zdGF0dXNDaGFuZ2VkJFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnN0YXR1c1NlcnZpY2UucmVxdWVzdCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlbldlYnNvY2tldChzdGF0dXNTZXR0aW5nczogU3RhdHVzU2V0dGluZ3MpOiB2b2lkIHtcbiAgICB2b2lkIHRoaXMud2Vic29ja2V0U3RhdHVzU2VydmljZS5jaGVja1N0YXR1c1dpdGhXZWJTb2NrZXQoXG4gICAgICBzdGF0dXNTZXR0aW5ncy53ZWJTb2NrZXRVcmwsXG4gICAgICBzdGF0dXNTZXR0aW5ncy53ZWJTb2NrZXRDaGFubmVsTmFtZSxcbiAgICAgIHN0YXR1c1NldHRpbmdzLndlYlNvY2tldENsaWVudFR5cGUsXG4gICAgKTtcbiAgICB0aGlzLndlYnNvY2tldE9wZW5lZFN1YmplY3QubmV4dChzdGF0dXNTZXR0aW5ncyk7XG4gIH1cbn1cbiJdfQ==
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGVuLXN0YXR1cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3BheW1lbnQvc3RhdHVzL2xpc3Rlbi1zdGF0dXMvbGlzdGVuLXN0YXR1cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUs1QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUMxRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtRkFBbUYsQ0FBQzs7Ozs7O0FBSzVILE1BQU0sT0FBTyxtQkFBbUI7SUFVOUIsSUFBVyxnQkFBZ0I7UUFDekIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRUQsWUFDbUIsYUFBbUMsRUFDbkMsa0JBQXNDLEVBQ3RDLHNCQUE4QyxFQUM5Qyw2QkFBNEQ7UUFINUQsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ25DLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QyxrQ0FBNkIsR0FBN0IsNkJBQTZCLENBQStCO1FBckJ4RSxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVWLDJCQUFzQixHQUFHLElBQUksT0FBTyxFQUFrQixDQUFDO1FBQ3ZELHlCQUFvQixHQUFHLElBQUksT0FBTyxFQUFpQixDQUFDO1FBQ3BELHNCQUFpQixH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c0JBQXNCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ25ELENBQUM7K0dBdktVLG1CQUFtQjttSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07OzRGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmaWx0ZXIsIE9ic2VydmFibGUsIFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU3RhdHVzUmVxdWVzdFNlcnZpY2UgfSBmcm9tICcuLi9zdGF0dXMtcmVxdWVzdC9zdGF0dXMtcmVxdWVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IENoZWNrU3RhdHVzU2VydmljZSB9IGZyb20gJy4uL2NoZWNrLXN0YXR1cy9jaGVjay1zdGF0dXMuc2VydmljZSc7XG5pbXBvcnQgeyBXZWJzb2NrZXRTdGF0dXNTZXJ2aWNlIH0gZnJvbSAnLi4vd2Vic29ja2V0LXN0YXR1cy93ZWJzb2NrZXQtc3RhdHVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RhdHVzU2V0dGluZ3MgfSBmcm9tICcuLi9zdGF0dXMtc2V0dGluZ3MuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN0YXR1c0VudW0gfSBmcm9tICcuLi9zdGF0dXMuZW51bSc7XG5pbXBvcnQgeyBTdGF0dXNVcGRhdGVkIH0gZnJvbSAnLi4vc3RhdHVzLXVwZGF0ZWQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN0YXR1c1Jlc3BvbnNlIH0gZnJvbSAnLi4vc3RhdHVzLXJlcXVlc3QvcmVzcG9uc2Uvc3RhdHVzLXJlc3BvbnNlLmNsYXNzJztcbmltcG9ydCB7IENoZWNrU3RhdHVzUmVzcG9uc2UgfSBmcm9tICcuLi9jaGVjay1zdGF0dXMvcmVzcG9uc2UvY2hlY2stc3RhdHVzLXJlc3BvbnNlLmNsYXNzJztcbmltcG9ydCB7IFVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy5zZXJ2aWNlJztcbmltcG9ydCB7IFVzZXJCZWhhdmlvdXJFdmVudE5hbWUgfSBmcm9tICcuLi8uLi8uLi91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItZXZlbnQtbmFtZS5lbnVtJztcbmltcG9ydCB7IHVzZXJCZWhhdmlvdXJFdmVudFR5cGVzIH0gZnJvbSAnLi4vLi4vLi4vdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzL3VzZXItYmVoYXZpb3VyLWV2ZW50L3VzZXItYmVoYXZpb3VyLWV2ZW50LXR5cGVzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIExpc3RlblN0YXR1c1NlcnZpY2Uge1xuICBwdWJsaWMgaXNMaXN0ZW5pbmcgPSBmYWxzZTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHdlYnNvY2tldE9wZW5lZFN1YmplY3QgPSBuZXcgU3ViamVjdDxTdGF0dXNTZXR0aW5ncz4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBzdGF0dXNVcGRhdGVkU3ViamVjdCA9IG5ldyBTdWJqZWN0PFN0YXR1c1VwZGF0ZWQ+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgc3RhdHVzRG9uZVN1YmplY3QgPSBuZXcgU3ViamVjdDxTdGF0dXNTZXR0aW5ncz4oKTtcbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgbGlzdGVuSW52b2ljZTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgd2Vic29ja2V0SW52b2ljZTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIGdldCB3ZWJzb2NrZXRPcGVuZWQkKCk6IE9ic2VydmFibGU8U3RhdHVzU2V0dGluZ3M+IHtcbiAgICByZXR1cm4gdGhpcy53ZWJzb2NrZXRPcGVuZWRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBzdGF0dXNVcGRhdGVkJCgpOiBPYnNlcnZhYmxlPFN0YXR1c1VwZGF0ZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0dXNVcGRhdGVkU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0YXR1c1NlcnZpY2U6IFN0YXR1c1JlcXVlc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hlY2tTdGF0dXNTZXJ2aWNlOiBDaGVja1N0YXR1c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB3ZWJzb2NrZXRTdGF0dXNTZXJ2aWNlOiBXZWJzb2NrZXRTdGF0dXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2U6IFVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLFxuICApIHt9XG5cbiAgcHVibGljIGxpc3RlbihpbnZvaWNlOiBudW1iZXIpOiBPYnNlcnZhYmxlPFN0YXR1c1NldHRpbmdzPiB7XG4gICAgaWYgKHRoaXMuaXNMaXN0ZW5pbmcpIHtcbiAgICAgIHRoaXMuc3RvcExpc3RlbmluZygpO1xuICAgIH1cblxuICAgIHRoaXMuZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHRoaXMuaXNMaXN0ZW5pbmcgPSB0cnVlO1xuICAgIHRoaXMubGlzdGVuSW52b2ljZSA9IGludm9pY2U7XG5cbiAgICB0aGlzLnN1YnNjcmliZVN0YXR1c1VwZGF0ZShpbnZvaWNlKTtcbiAgICB0aGlzLnN1YnNjcmliZUNoZWNrU3RhdHVzVXBkYXRlKCk7XG4gICAgdGhpcy5zdWJzY3JpYmVXZWJzb2NrZXRFdmVudCgpO1xuXG4gICAgdGhpcy5jaGVja1N0YXR1c1NlcnZpY2Uuc2V0UmVxdWVzdFBhcmFtcyhpbnZvaWNlKTtcblxuICAgIHJldHVybiB0aGlzLnN0YXR1c0RvbmVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIHN0b3BMaXN0ZW5pbmcoKTogdm9pZCB7XG4gICAgdGhpcy5pc0xpc3RlbmluZyA9IGZhbHNlO1xuICAgIHRoaXMud2Vic29ja2V0U3RhdHVzU2VydmljZS5jbG9zZVdlYlNvY2tldCgpO1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBpc0xpc3RlbmluZ0ludm9pY2UoaW52b2ljZTogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNMaXN0ZW5pbmcgJiYgdGhpcy5saXN0ZW5JbnZvaWNlID09PSBpbnZvaWNlO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVTdGF0dXNVcGRhdGUoaW52b2ljZTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0dXNTZXJ2aWNlLnJlc3BvbnNlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoc3RhdHVzUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICByZXR1cm4gc3RhdHVzUmVzcG9uc2U/LnN0YXR1cz8uaW52b2ljZSA9PT0gTnVtYmVyKGludm9pY2UpO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoc3RhdHVzUmVzcG9uc2U6IFN0YXR1c1Jlc3BvbnNlIHwgbnVsbCkgPT4ge1xuICAgICAgICBpZiAoIXN0YXR1c1Jlc3BvbnNlPy5zdGF0dXMpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzdGF0dXNTZXR0aW5ncyA9IHtcbiAgICAgICAgICBzdGF0dXNTdGF0ZTogc3RhdHVzUmVzcG9uc2Uuc3RhdHVzLnN0YXR1c1N0YXRlLFxuICAgICAgICAgIGlzQ2FuY2VsVXNlcjogc3RhdHVzUmVzcG9uc2Uuc3RhdHVzLmlzQ2FuY2VsVXNlcixcbiAgICAgICAgICBuZWVkV2ViU29ja2V0OiBzdGF0dXNSZXNwb25zZS5zdGF0dXMubmVlZFRvQ2hlY2ssXG4gICAgICAgICAgYmFja1VybFNldHRpbmdzOiBzdGF0dXNSZXNwb25zZS5zdGF0dXMuYmFja1VybFNldHRpbmdzLFxuICAgICAgICAgIGF1dG9SZWRpcmVjdDogc3RhdHVzUmVzcG9uc2Uuc3RhdHVzLmF1dG9SZWRpcmVjdCxcbiAgICAgICAgICB3ZWJTb2NrZXRVcmw6IHN0YXR1c1Jlc3BvbnNlLnN0YXR1cy53ZWJTb2NrZXRVcmwsXG4gICAgICAgICAgd2ViU29ja2V0Q2hhbm5lbE5hbWU6IHN0YXR1c1Jlc3BvbnNlLnN0YXR1cy53ZWJTb2NrZXRDaGFubmVsTmFtZSxcbiAgICAgICAgICB3ZWJTb2NrZXRDbGllbnRUeXBlOiBzdGF0dXNSZXNwb25zZS5zdGF0dXMud2ViU29ja2V0Q2xpZW50VHlwZSxcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLnN0YXR1c1VwZGF0ZWRTdWJqZWN0Lm5leHQoe1xuICAgICAgICAgIHN0YXR1c1Jlc3BvbnNlOiBzdGF0dXNSZXNwb25zZSxcbiAgICAgICAgICBzdGF0dXNTZXR0aW5nczogc3RhdHVzU2V0dGluZ3MsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGlzU3RhdHVzRXJyb3IgPVxuICAgICAgICAgIHN0YXR1c1NldHRpbmdzLnN0YXR1c1N0YXRlID09PSBTdGF0dXNFbnVtLmNhbmNlbGVkIHx8XG4gICAgICAgICAgc3RhdHVzU2V0dGluZ3Muc3RhdHVzU3RhdGUgPT09IFN0YXR1c0VudW0uZXJyb3IgfHxcbiAgICAgICAgICBzdGF0dXNTZXR0aW5ncy5pc0NhbmNlbFVzZXI7XG5cbiAgICAgICAgdGhpcy51c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZS5zZW5kKFxuICAgICAgICAgIFVzZXJCZWhhdmlvdXJFdmVudE5hbWUuY2hhbmdlU3RhdHVzLFxuICAgICAgICAgIHVzZXJCZWhhdmlvdXJFdmVudFR5cGVzLm1hbnVhbCxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpbnN0YW5jZUlkOiBzdGF0dXNSZXNwb25zZS5zdGF0dXMucGlkLFxuICAgICAgICAgICAgdmFsdWU6IHN0YXR1c1Jlc3BvbnNlLnN0YXR1cy5zdGF0dXNTdGF0ZSxcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChpc1N0YXR1c0Vycm9yKSB7XG4gICAgICAgICAgdGhpcy51c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZS5zZW5kKFxuICAgICAgICAgICAgVXNlckJlaGF2aW91ckV2ZW50TmFtZS5vcGVuU3RhdHVzRXJyb3IsXG4gICAgICAgICAgICB1c2VyQmVoYXZpb3VyRXZlbnRUeXBlcy5tYW51YWwsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGluc3RhbmNlSWQ6IHN0YXR1c1Jlc3BvbnNlLnN0YXR1cy5waWQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc3RhdHVzU2V0dGluZ3MubmVlZFdlYlNvY2tldCkge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICF0aGlzLndlYnNvY2tldFN0YXR1c1NlcnZpY2UuaXNPcGVuZWQgfHxcbiAgICAgICAgICAgIHRoaXMud2Vic29ja2V0SW52b2ljZSAhPT0gaW52b2ljZVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy53ZWJzb2NrZXRJbnZvaWNlID0gaW52b2ljZTtcbiAgICAgICAgICAgIHRoaXMub3BlbldlYnNvY2tldChzdGF0dXNTZXR0aW5ncyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc3RvcExpc3RlbmluZygpO1xuICAgICAgICB0aGlzLnN0YXR1c0RvbmVTdWJqZWN0Lm5leHQoc3RhdHVzU2V0dGluZ3MpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZUNoZWNrU3RhdHVzVXBkYXRlKCk6IHZvaWQge1xuICAgIHRoaXMuY2hlY2tTdGF0dXNTZXJ2aWNlLnJlc3BvbnNlJFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoY2hlY2tTdGF0dXNSZXNwb25zZTogQ2hlY2tTdGF0dXNSZXNwb25zZSB8IG51bGwpID0+IHtcbiAgICAgICAgaWYgKCFjaGVja1N0YXR1c1Jlc3BvbnNlPy5zdGF0dXMpIHJldHVybjtcblxuICAgICAgICB0aGlzLnVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLnNlbmQoXG4gICAgICAgICAgVXNlckJlaGF2aW91ckV2ZW50TmFtZS5jaGVja1N0YXR1c1VwZGF0ZSxcbiAgICAgICAgICB1c2VyQmVoYXZpb3VyRXZlbnRUeXBlcy5tYW51YWwsXG4gICAgICAgICAge1xuICAgICAgICAgICAgdmFsdWU6IGNoZWNrU3RhdHVzUmVzcG9uc2Uuc3RhdHVzID8/ICcnLFxuICAgICAgICAgIH0sXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKGNoZWNrU3RhdHVzUmVzcG9uc2Uuc3RhdHVzID09PSBTdGF0dXNFbnVtLmRvbmUpIHtcbiAgICAgICAgICB0aGlzLnN0YXR1c1NlcnZpY2UucmVxdWVzdCgpO1xuICAgICAgICAgIHRoaXMud2Vic29ja2V0U3RhdHVzU2VydmljZS5jbG9zZVdlYlNvY2tldCgpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjaGVja1N0YXR1c1Jlc3BvbnNlLmZpbmFsID09PSBmYWxzZSkge1xuICAgICAgICAgIHRoaXMud2Vic29ja2V0U3RhdHVzU2VydmljZS5zdGFydFJlaW5zdXJhbmNlQ2hlY2tUaW1lb3V0KCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaWJlV2Vic29ja2V0RXZlbnQoKTogdm9pZCB7XG4gICAgdGhpcy53ZWJzb2NrZXRTdGF0dXNTZXJ2aWNlLm5lZWRDaGVja1N0YXR1cyRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jaGVja1N0YXR1c1NlcnZpY2UucmVxdWVzdCgpKTtcblxuICAgIHRoaXMud2Vic29ja2V0U3RhdHVzU2VydmljZS5zdGF0dXNDaGFuZ2VkJFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnN0YXR1c1NlcnZpY2UucmVxdWVzdCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlbldlYnNvY2tldChzdGF0dXNTZXR0aW5nczogU3RhdHVzU2V0dGluZ3MpOiB2b2lkIHtcbiAgICB2b2lkIHRoaXMud2Vic29ja2V0U3RhdHVzU2VydmljZS5jaGVja1N0YXR1c1dpdGhXZWJTb2NrZXQoXG4gICAgICBzdGF0dXNTZXR0aW5ncy53ZWJTb2NrZXRVcmwsXG4gICAgICBzdGF0dXNTZXR0aW5ncy53ZWJTb2NrZXRDaGFubmVsTmFtZSxcbiAgICAgIHN0YXR1c1NldHRpbmdzLndlYlNvY2tldENsaWVudFR5cGUsXG4gICAgKTtcbiAgICB0aGlzLndlYnNvY2tldE9wZW5lZFN1YmplY3QubmV4dChzdGF0dXNTZXR0aW5ncyk7XG4gIH1cbn1cbiJdfQ==
@@ -19,6 +19,7 @@ export class StatusService {
19
19
  this.nextActionService = nextActionService;
20
20
  this.savePaymentMethodStatusService = savePaymentMethodStatusService;
21
21
  this.statusUpdatedActionCreator = statusUpdatedActionCreator;
22
+ this.listenStatusSubscription = null;
22
23
  }
23
24
  async getStatus(params) {
24
25
  const isSavePaymentMethodMode = params?.isSavePaymentAccount === "1" /* XpsBoolean.true */;
@@ -55,8 +56,12 @@ export class StatusService {
55
56
  return params;
56
57
  }
57
58
  startWaitingStatusUpdates(invoice) {
59
+ if (this.listenStatusService.isListeningInvoice(invoice)) {
60
+ return;
61
+ }
58
62
  this.listenStatusService.listen(invoice);
59
- this.listenStatusService.statusUpdated$
63
+ this.listenStatusSubscription?.unsubscribe();
64
+ this.listenStatusSubscription = this.listenStatusService.statusUpdated$
60
65
  .pipe(skip(1))
61
66
  .subscribe(({ statusResponse }) => {
62
67
  this.financeDetailsService.emitWithStatus(statusResponse.status);
@@ -72,4 +77,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
72
77
  providedIn: 'root',
73
78
  }]
74
79
  }], ctorParameters: () => [{ type: i1.UrlService }, { type: i2.StatusRequestService }, { type: i3.FinanceDetailsService }, { type: i4.ListenStatusService }, { type: i5.NextActionService }, { type: i6.SavePaymentMethodStatusService }, { type: i7.StatusUpdatedActionCreator }] });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvcGF5bWVudC9zdGF0dXMvc3RhdHVzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFjLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQVF4RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7Ozs7Ozs7O0FBU2xGLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBQ21CLFVBQXNCLEVBQ3RCLG9CQUEwQyxFQUMxQyxxQkFBNEMsRUFDNUMsbUJBQXdDLEVBQ3hDLGlCQUFvQyxFQUNwQyw4QkFBOEQsRUFDOUQsMEJBQXNEO1FBTnRELGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzVDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxtQ0FBOEIsR0FBOUIsOEJBQThCLENBQWdDO1FBQzlELCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBNEI7SUFDdEUsQ0FBQztJQUVHLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBMkI7UUFDaEQsTUFBTSx1QkFBdUIsR0FDM0IsTUFBTSxFQUFFLG9CQUFvQiw4QkFBb0IsQ0FBQztRQUNuRCxJQUFJLHVCQUF1QixFQUFFLENBQUM7WUFDNUIsT0FBTyxJQUFJLENBQUMsOEJBQThCLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9ELENBQUM7UUFFRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFbkQsSUFBSSxDQUFDLHlCQUF5QixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUUvQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFcEMsTUFBTSxjQUFjLEdBQUcsTUFBTSxjQUFjLENBQ3pDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQ3BDLENBQUM7UUFFRixJQUFJLENBQUMscUJBQXFCLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVqRSxPQUFPLGNBQWMsQ0FBQyxNQUFNLENBQUM7SUFDL0IsQ0FBQztJQUVNLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxHQUFZO1FBQ3BELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUV2RCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO1FBQzdELENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVNLGlCQUFpQixDQUFDLE9BQWU7UUFDdEMsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFTyx1QkFBdUIsQ0FBQyxHQUFZO1FBQzFDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNoRSxNQUFNLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7UUFFaEQsSUFDRSwwQkFBMEIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUN4RSxDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQXVDLEVBQUUsQ0FBQztRQUN0RCxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDOUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQy9ELENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxNQUF3QyxDQUFDO0lBQ2xELENBQUM7SUFFTyx5QkFBeUIsQ0FBQyxPQUFlO1FBQy9DLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFekMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGNBQWM7YUFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNiLFNBQVMsQ0FBQyxDQUFDLEVBQUUsY0FBYyxFQUFFLEVBQUUsRUFBRTtZQUNoQyxJQUFJLENBQUMscUJBQXFCLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUVqRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUNwQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsYUFBYSxDQUFDLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FDbEUsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0E3RVUsYUFBYTttSEFBYixhQUFhLGNBRlosTUFBTTs7NEZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSwgT2JzZXJ2YWJsZSwgc2tpcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU3RhdHVzUmVxdWVzdFNlcnZpY2UgfSBmcm9tICcuL3N0YXR1cy1yZXF1ZXN0L3N0YXR1cy1yZXF1ZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RhdHVzUmVxdWVzdFBhcmFtcyB9IGZyb20gJy4vc3RhdHVzLXJlcXVlc3Qvc3RhdHVzLXJlcXVlc3QtcGFyYW1zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBMaXN0ZW5TdGF0dXNTZXJ2aWNlIH0gZnJvbSAnLi9saXN0ZW4tc3RhdHVzL2xpc3Rlbi1zdGF0dXMuc2VydmljZSc7XG5pbXBvcnQgeyBTdGF0dXMgfSBmcm9tICcuL3N0YXR1cy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTmV4dEFjdGlvblNlcnZpY2UgfSBmcm9tICcuLi9hY3Rpb25zL25leHQtYWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RhdHVzVXBkYXRlZEFjdGlvbkNyZWF0b3IgfSBmcm9tICcuLi9hY3Rpb25zL3N0YXR1cy11cGRhdGVkL3N0YXR1cy11cGRhdGVkLmFjdGlvbi5jbGFzcyc7XG5pbXBvcnQgeyBVcmxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdXJsL3VybC5zZXJ2aWNlJztcbmltcG9ydCB7IHJlcXVpcmVkU3RhdHVzU2VhcmNoUGFyYW1zIH0gZnJvbSAnLi9zdGF0dXMtcmVxdWVzdC9yZXF1aXJlZC1zdGF0dXMtc2VhcmNoLXBhcmFtcy5jb25zdCc7XG5pbXBvcnQgeyBzdGF0dXNTZWFyY2hQYXJhbXNNYXAgfSBmcm9tICcuL3N0YXR1cy1yZXF1ZXN0L3N0YXR1cy1zZWFyY2gtcGFyYW1zLm1hcCc7XG5pbXBvcnQgeyBGaW5hbmNlRGV0YWlsc1NlcnZpY2UgfSBmcm9tICcuLi9maW5hbmNlLWRldGFpbHMvZmluYW5jZS1kZXRhaWxzLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2F2ZVBheW1lbnRNZXRob2RTdGF0dXNTZXJ2aWNlIH0gZnJvbSAnLi9zYXZlLXBheW1lbnQtbWV0aG9kLXN0YXR1cy9zYXZlLXBheW1lbnQtbWV0aG9kLXN0YXR1cy5zZXJ2aWNlJztcbmltcG9ydCB7IFhwc0Jvb2xlYW4gfSBmcm9tICcuLi8uLi94cHMtYm9vbGVhbi5lbnVtJztcbmltcG9ydCB7IFN0YXR1c1NldHRpbmdzIH0gZnJvbSAnLi9zdGF0dXMtc2V0dGluZ3MuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFN0YXR1c1NlcnZpY2Uge1xuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSB1cmxTZXJ2aWNlOiBVcmxTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhdHVzUmVxdWVzdFNlcnZpY2U6IFN0YXR1c1JlcXVlc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmluYW5jZURldGFpbHNTZXJ2aWNlOiBGaW5hbmNlRGV0YWlsc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBsaXN0ZW5TdGF0dXNTZXJ2aWNlOiBMaXN0ZW5TdGF0dXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmV4dEFjdGlvblNlcnZpY2U6IE5leHRBY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2F2ZVBheW1lbnRNZXRob2RTdGF0dXNTZXJ2aWNlOiBTYXZlUGF5bWVudE1ldGhvZFN0YXR1c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGF0dXNVcGRhdGVkQWN0aW9uQ3JlYXRvcjogU3RhdHVzVXBkYXRlZEFjdGlvbkNyZWF0b3IsXG4gICkge31cblxuICBwdWJsaWMgYXN5bmMgZ2V0U3RhdHVzKHBhcmFtczogU3RhdHVzUmVxdWVzdFBhcmFtcyk6IFByb21pc2U8U3RhdHVzPiB7XG4gICAgY29uc3QgaXNTYXZlUGF5bWVudE1ldGhvZE1vZGUgPVxuICAgICAgcGFyYW1zPy5pc1NhdmVQYXltZW50QWNjb3VudCA9PT0gWHBzQm9vbGVhbi50cnVlO1xuICAgIGlmIChpc1NhdmVQYXltZW50TWV0aG9kTW9kZSkge1xuICAgICAgcmV0dXJuIHRoaXMuc2F2ZVBheW1lbnRNZXRob2RTdGF0dXNTZXJ2aWNlLmdldFN0YXR1cyhwYXJhbXMpO1xuICAgIH1cblxuICAgIHRoaXMuc3RhdHVzUmVxdWVzdFNlcnZpY2Uuc2V0UmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuXG4gICAgdGhpcy5zdGFydFdhaXRpbmdTdGF0dXNVcGRhdGVzKHBhcmFtcy5pbnZvaWNlKTtcblxuICAgIHRoaXMuc3RhdHVzUmVxdWVzdFNlcnZpY2UucmVxdWVzdCgpO1xuXG4gICAgY29uc3Qgc3RhdHVzUmVzcG9uc2UgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgIHRoaXMuc3RhdHVzUmVxdWVzdFNlcnZpY2UucmVzcG9uc2UkLFxuICAgICk7XG5cbiAgICB0aGlzLmZpbmFuY2VEZXRhaWxzU2VydmljZS5lbWl0V2l0aFN0YXR1cyhzdGF0dXNSZXNwb25zZS5zdGF0dXMpO1xuXG4gICAgcmV0dXJuIHN0YXR1c1Jlc3BvbnNlLnN0YXR1cztcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRTdGF0dXNXaXRoVXJsU2VhcmNoUGFyYW1zKHVybD86IHN0cmluZyk6IFByb21pc2U8U3RhdHVzPiB7XG4gICAgY29uc3Qgc2VhcmNoUGFyYW1zID0gdGhpcy5nZXRSZXF1ZXN0UGFyYW1zRnJvbVVybCh1cmwpO1xuXG4gICAgaWYgKCFzZWFyY2hQYXJhbXMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm8gcmVxdWlyZWQgc2VhcmNoIHBhcmFtcyB0byBnZXQgc3RhdHVzJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZ2V0U3RhdHVzKHNlYXJjaFBhcmFtcyk7XG4gIH1cblxuICBwdWJsaWMgbGlzdGVuRmluYWxTdGF0dXMoaW52b2ljZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxTdGF0dXNTZXR0aW5ncz4ge1xuICAgIHJldHVybiB0aGlzLmxpc3RlblN0YXR1c1NlcnZpY2UubGlzdGVuKGludm9pY2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRSZXF1ZXN0UGFyYW1zRnJvbVVybCh1cmw/OiBzdHJpbmcpOiBTdGF0dXNSZXF1ZXN0UGFyYW1zIHwgbnVsbCB7XG4gICAgY29uc3Qgc2VhcmNoUGFyYW1zID0gdGhpcy51cmxTZXJ2aWNlLmdldFNlYXJjaFBhcmFtcyh1cmwgPz8gJycpO1xuICAgIGNvbnN0IGtleXMgPSBuZXcgU2V0KE9iamVjdC5rZXlzKHNlYXJjaFBhcmFtcykpO1xuXG4gICAgaWYgKFxuICAgICAgcmVxdWlyZWRTdGF0dXNTZWFyY2hQYXJhbXMuc29tZSgocmVxdWlyZWRLZXkpID0+ICFrZXlzLmhhcyhyZXF1aXJlZEtleSkpXG4gICAgKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBwYXJhbXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgbnVtYmVyIH0gPSB7fTtcbiAgICBzdGF0dXNTZWFyY2hQYXJhbXNNYXAuZm9yRWFjaCgoc2V0dGluZ3MsIGtleSkgPT4ge1xuICAgICAgcGFyYW1zW3NldHRpbmdzLmtleV0gPSBzZXR0aW5ncy5jb252ZXJ0ZXIoc2VhcmNoUGFyYW1zW2tleV0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHBhcmFtcyBhcyB1bmtub3duIGFzIFN0YXR1c1JlcXVlc3RQYXJhbXM7XG4gIH1cblxuICBwcml2YXRlIHN0YXJ0V2FpdGluZ1N0YXR1c1VwZGF0ZXMoaW52b2ljZTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5TdGF0dXNTZXJ2aWNlLmxpc3RlbihpbnZvaWNlKTtcblxuICAgIHRoaXMubGlzdGVuU3RhdHVzU2VydmljZS5zdGF0dXNVcGRhdGVkJFxuICAgICAgLnBpcGUoc2tpcCgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKHsgc3RhdHVzUmVzcG9uc2UgfSkgPT4ge1xuICAgICAgICB0aGlzLmZpbmFuY2VEZXRhaWxzU2VydmljZS5lbWl0V2l0aFN0YXR1cyhzdGF0dXNSZXNwb25zZS5zdGF0dXMpO1xuXG4gICAgICAgIHRoaXMubmV4dEFjdGlvblNlcnZpY2UuZW1pdEZsb3dVcGRhdGVzKFxuICAgICAgICAgIHRoaXMuc3RhdHVzVXBkYXRlZEFjdGlvbkNyZWF0b3IuZ2V0QWN0aW9uRGF0YSh7IHN0YXR1c1Jlc3BvbnNlIH0pLFxuICAgICAgICApO1xuICAgICAgfSk7XG4gIH1cbn1cbiJdfQ==
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvcGF5bWVudC9zdGF0dXMvc3RhdHVzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFjLElBQUksRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFRdEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDbEcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7Ozs7Ozs7OztBQVNsRixNQUFNLE9BQU8sYUFBYTtJQUd4QixZQUNtQixVQUFzQixFQUN0QixvQkFBMEMsRUFDMUMscUJBQTRDLEVBQzVDLG1CQUF3QyxFQUN4QyxpQkFBb0MsRUFDcEMsOEJBQThELEVBQzlELDBCQUFzRDtRQU50RCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsbUNBQThCLEdBQTlCLDhCQUE4QixDQUFnQztRQUM5RCwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRCO1FBVGpFLDZCQUF3QixHQUF3QixJQUFJLENBQUM7SUFVMUQsQ0FBQztJQUVHLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBMkI7UUFDaEQsTUFBTSx1QkFBdUIsR0FDM0IsTUFBTSxFQUFFLG9CQUFvQiw4QkFBb0IsQ0FBQztRQUNuRCxJQUFJLHVCQUF1QixFQUFFLENBQUM7WUFDNUIsT0FBTyxJQUFJLENBQUMsOEJBQThCLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9ELENB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QztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSwgT2JzZXJ2YWJsZSwgc2tpcCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdGF0dXNSZXF1ZXN0U2VydmljZSB9IGZyb20gJy4vc3RhdHVzLXJlcXVlc3Qvc3RhdHVzLXJlcXVlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBTdGF0dXNSZXF1ZXN0UGFyYW1zIH0gZnJvbSAnLi9zdGF0dXMtcmVxdWVzdC9zdGF0dXMtcmVxdWVzdC1wYXJhbXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IExpc3RlblN0YXR1c1NlcnZpY2UgfSBmcm9tICcuL2xpc3Rlbi1zdGF0dXMvbGlzdGVuLXN0YXR1cy5zZXJ2aWNlJztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJy4vc3RhdHVzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBOZXh0QWN0aW9uU2VydmljZSB9IGZyb20gJy4uL2FjdGlvbnMvbmV4dC1hY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBTdGF0dXNVcGRhdGVkQWN0aW9uQ3JlYXRvciB9IGZyb20gJy4uL2FjdGlvbnMvc3RhdHVzLXVwZGF0ZWQvc3RhdHVzLXVwZGF0ZWQuYWN0aW9uLmNsYXNzJztcbmltcG9ydCB7IFVybFNlcnZpY2UgfSBmcm9tICcuLi8uLi91cmwvdXJsLnNlcnZpY2UnO1xuaW1wb3J0IHsgcmVxdWlyZWRTdGF0dXNTZWFyY2hQYXJhbXMgfSBmcm9tICcuL3N0YXR1cy1yZXF1ZXN0L3JlcXVpcmVkLXN0YXR1cy1zZWFyY2gtcGFyYW1zLmNvbnN0JztcbmltcG9ydCB7IHN0YXR1c1NlYXJjaFBhcmFtc01hcCB9IGZyb20gJy4vc3RhdHVzLXJlcXVlc3Qvc3RhdHVzLXNlYXJjaC1wYXJhbXMubWFwJztcbmltcG9ydCB7IEZpbmFuY2VEZXRhaWxzU2VydmljZSB9IGZyb20gJy4uL2ZpbmFuY2UtZGV0YWlscy9maW5hbmNlLWRldGFpbHMuc2VydmljZSc7XG5pbXBvcnQgeyBTYXZlUGF5bWVudE1ldGhvZFN0YXR1c1NlcnZpY2UgfSBmcm9tICcuL3NhdmUtcGF5bWVudC1tZXRob2Qtc3RhdHVzL3NhdmUtcGF5bWVudC1tZXRob2Qtc3RhdHVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgWHBzQm9vbGVhbiB9IGZyb20gJy4uLy4uL3hwcy1ib29sZWFuLmVudW0nO1xuaW1wb3J0IHsgU3RhdHVzU2V0dGluZ3MgfSBmcm9tICcuL3N0YXR1cy1zZXR0aW5ncy5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU3RhdHVzU2VydmljZSB7XG4gIHByaXZhdGUgbGlzdGVuU3RhdHVzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSB1cmxTZXJ2aWNlOiBVcmxTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhdHVzUmVxdWVzdFNlcnZpY2U6IFN0YXR1c1JlcXVlc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmluYW5jZURldGFpbHNTZXJ2aWNlOiBGaW5hbmNlRGV0YWlsc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBsaXN0ZW5TdGF0dXNTZXJ2aWNlOiBMaXN0ZW5TdGF0dXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmV4dEFjdGlvblNlcnZpY2U6IE5leHRBY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2F2ZVBheW1lbnRNZXRob2RTdGF0dXNTZXJ2aWNlOiBTYXZlUGF5bWVudE1ldGhvZFN0YXR1c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGF0dXNVcGRhdGVkQWN0aW9uQ3JlYXRvcjogU3RhdHVzVXBkYXRlZEFjdGlvbkNyZWF0b3IsXG4gICkge31cblxuICBwdWJsaWMgYXN5bmMgZ2V0U3RhdHVzKHBhcmFtczogU3RhdHVzUmVxdWVzdFBhcmFtcyk6IFByb21pc2U8U3RhdHVzPiB7XG4gICAgY29uc3QgaXNTYXZlUGF5bWVudE1ldGhvZE1vZGUgPVxuICAgICAgcGFyYW1zPy5pc1NhdmVQYXltZW50QWNjb3VudCA9PT0gWHBzQm9vbGVhbi50cnVlO1xuICAgIGlmIChpc1NhdmVQYXltZW50TWV0aG9kTW9kZSkge1xuICAgICAgcmV0dXJuIHRoaXMuc2F2ZVBheW1lbnRNZXRob2RTdGF0dXNTZXJ2aWNlLmdldFN0YXR1cyhwYXJhbXMpO1xuICAgIH1cblxuICAgIHRoaXMuc3RhdHVzUmVxdWVzdFNlcnZpY2Uuc2V0UmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuXG4gICAgdGhpcy5zdGFydFdhaXRpbmdTdGF0dXNVcGRhdGVzKHBhcmFtcy5pbnZvaWNlKTtcblxuICAgIHRoaXMuc3RhdHVzUmVxdWVzdFNlcnZpY2UucmVxdWVzdCgpO1xuXG4gICAgY29uc3Qgc3RhdHVzUmVzcG9uc2UgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgIHRoaXMuc3RhdHVzUmVxdWVzdFNlcnZpY2UucmVzcG9uc2UkLFxuICAgICk7XG5cbiAgICB0aGlzLmZpbmFuY2VEZXRhaWxzU2VydmljZS5lbWl0V2l0aFN0YXR1cyhzdGF0dXNSZXNwb25zZS5zdGF0dXMpO1xuXG4gICAgcmV0dXJuIHN0YXR1c1Jlc3BvbnNlLnN0YXR1cztcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRTdGF0dXNXaXRoVXJsU2VhcmNoUGFyYW1zKHVybD86IHN0cmluZyk6IFByb21pc2U8U3RhdHVzPiB7XG4gICAgY29uc3Qgc2VhcmNoUGFyYW1zID0gdGhpcy5nZXRSZXF1ZXN0UGFyYW1zRnJvbVVybCh1cmwpO1xuXG4gICAgaWYgKCFzZWFyY2hQYXJhbXMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm8gcmVxdWlyZWQgc2VhcmNoIHBhcmFtcyB0byBnZXQgc3RhdHVzJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZ2V0U3RhdHVzKHNlYXJjaFBhcmFtcyk7XG4gIH1cblxuICBwdWJsaWMgbGlzdGVuRmluYWxTdGF0dXMoaW52b2ljZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxTdGF0dXNTZXR0aW5ncz4ge1xuICAgIHJldHVybiB0aGlzLmxpc3RlblN0YXR1c1NlcnZpY2UubGlzdGVuKGludm9pY2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRSZXF1ZXN0UGFyYW1zRnJvbVVybCh1cmw/OiBzdHJpbmcpOiBTdGF0dXNSZXF1ZXN0UGFyYW1zIHwgbnVsbCB7XG4gICAgY29uc3Qgc2VhcmNoUGFyYW1zID0gdGhpcy51cmxTZXJ2aWNlLmdldFNlYXJjaFBhcmFtcyh1cmwgPz8gJycpO1xuICAgIGNvbnN0IGtleXMgPSBuZXcgU2V0KE9iamVjdC5rZXlzKHNlYXJjaFBhcmFtcykpO1xuXG4gICAgaWYgKFxuICAgICAgcmVxdWlyZWRTdGF0dXNTZWFyY2hQYXJhbXMuc29tZSgocmVxdWlyZWRLZXkpID0+ICFrZXlzLmhhcyhyZXF1aXJlZEtleSkpXG4gICAgKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBwYXJhbXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgbnVtYmVyIH0gPSB7fTtcbiAgICBzdGF0dXNTZWFyY2hQYXJhbXNNYXAuZm9yRWFjaCgoc2V0dGluZ3MsIGtleSkgPT4ge1xuICAgICAgcGFyYW1zW3NldHRpbmdzLmtleV0gPSBzZXR0aW5ncy5jb252ZXJ0ZXIoc2VhcmNoUGFyYW1zW2tleV0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHBhcmFtcyBhcyB1bmtub3duIGFzIFN0YXR1c1JlcXVlc3RQYXJhbXM7XG4gIH1cblxuICBwcml2YXRlIHN0YXJ0V2FpdGluZ1N0YXR1c1VwZGF0ZXMoaW52b2ljZTogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubGlzdGVuU3RhdHVzU2VydmljZS5pc0xpc3RlbmluZ0ludm9pY2UoaW52b2ljZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmxpc3RlblN0YXR1c1NlcnZpY2UubGlzdGVuKGludm9pY2UpO1xuXG4gICAgdGhpcy5saXN0ZW5TdGF0dXNTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5saXN0ZW5TdGF0dXNTdWJzY3JpcHRpb24gPSB0aGlzLmxpc3RlblN0YXR1c1NlcnZpY2Uuc3RhdHVzVXBkYXRlZCRcbiAgICAgIC5waXBlKHNraXAoMSkpXG4gICAgICAuc3Vic2NyaWJlKCh7IHN0YXR1c1Jlc3BvbnNlIH0pID0+IHtcbiAgICAgICAgdGhpcy5maW5hbmNlRGV0YWlsc1NlcnZpY2UuZW1pdFdpdGhTdGF0dXMoc3RhdHVzUmVzcG9uc2Uuc3RhdHVzKTtcblxuICAgICAgICB0aGlzLm5leHRBY3Rpb25TZXJ2aWNlLmVtaXRGbG93VXBkYXRlcyhcbiAgICAgICAgICB0aGlzLnN0YXR1c1VwZGF0ZWRBY3Rpb25DcmVhdG9yLmdldEFjdGlvbkRhdGEoeyBzdGF0dXNSZXNwb25zZSB9KSxcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -10,6 +10,9 @@ export class WebsocketStatusService {
10
10
  get statusChanged$() {
11
11
  return this.statusChangedSubject.asObservable();
12
12
  }
13
+ get isOpened() {
14
+ return this.webSocketClient?.isOpened() ?? false;
15
+ }
13
16
  constructor(webSocketFactory) {
14
17
  this.webSocketFactory = webSocketFactory;
15
18
  this.reinsuranceCheckStatus = {
@@ -73,4 +76,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
73
76
  providedIn: 'root',
74
77
  }]
75
78
  }], ctorParameters: () => [{ type: i1.WebSocketFactory }] });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0LXN0YXR1cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3BheW1lbnQvc3RhdHVzL3dlYnNvY2tldC1zdGF0dXMvd2Vic29ja2V0LXN0YXR1cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFJekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7QUFLMUQsTUFBTSxPQUFPLHNCQUFzQjtJQWdCakMsSUFBVyxnQkFBZ0I7UUFDekIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDcEQsQ0FBQztJQUNELElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRUQsWUFBb0MsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFwQnJELDJCQUFzQixHQUduQztZQUNGLFNBQVMsRUFBRSxJQUFJO1lBQ2YsU0FBUyxFQUFFLE1BQU07U0FDbEIsQ0FBQztRQUVlLDJCQUFzQixHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDN0MseUJBQW9CLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVwRCxvQkFBZSxHQUEyQixJQUFJLENBQUM7SUFTa0IsQ0FBQztJQUVuRSxLQUFLLENBQUMsd0JBQXdCLENBQ25DLFlBQW9CLEVBQ3BCLG9CQUE0QixFQUM1QixtQkFBd0M7UUFFeEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLENBQ2hFLFlBQVksRUFDWixtQkFBbUIsQ0FDcEIsQ0FBQztRQUVGLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLG9CQUFvQixDQUFDLENBQUM7UUFFcEUsSUFBSSxDQUFDLHFCQUFxQixFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQzFDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQ25FLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQzVDLENBQUM7UUFFRixJQUFJLENBQUMsaUNBQWlDO1lBQ3BDLElBQUksQ0FBQyxlQUFlLENBQUMsaUNBQWlDLENBQUMsR0FBRyxFQUFFO2dCQUMxRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDckMsQ0FBQyxDQUFDLENBQUM7UUFDTCxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVNLGNBQWM7UUFDbkIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGVBQWUsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRU0sNEJBQTRCO1FBQ2pDLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUN0RCxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckMsQ0FBQyxFQUFFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU8sNEJBQTRCO1FBQ2xDLElBQUksSUFBSSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzFDLFlBQVksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDcEQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDL0MsQ0FBQztJQUNILENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxPQUFlO1FBQ3RDLElBQUksT0FBTyxLQUFLLGVBQWUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUM5QyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1FBQ3RDLENBQUM7UUFDRCxJQUFJLE9BQU8sS0FBSyxlQUFlLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDL0MsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLENBQUM7SUFDSCxDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUMsaUNBQWlDLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDeEQsQ0FBQzsrR0FyRlUsc0JBQXNCO21IQUF0QixzQkFBc0IsY0FGckIsTUFBTTs7NEZBRVAsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgV2ViU29ja2V0RmFjdG9yeSB9IGZyb20gJy4uLy4uLy4uL3dlYi1zb2NrZXQvd2ViLXNvY2tldC5mYWN0b3J5JztcbmltcG9ydCB7IFdlYlNvY2tldENsaWVudCB9IGZyb20gJy4uLy4uLy4uL3dlYi1zb2NrZXQvd2ViLXNvY2tldC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgV2ViU29ja2V0Q2xpZW50VHlwZSB9IGZyb20gJy4uLy4uLy4uL3dlYi1zb2NrZXQvd2ViLXNvY2tldC1jbGllbnQtdHlwZS5lbnVtJztcbmltcG9ydCB7IFdlYlNvY2tldFN0YXR1cyB9IGZyb20gJy4vd2Vic29ja2V0LXN0YXR1cy5lbnVtJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFdlYnNvY2tldFN0YXR1c1NlcnZpY2Uge1xuICBwcml2YXRlIHdlYlNvY2tldFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIHdlYlNvY2tldFJlY29ubmVjdGlvblN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIHJlYWRvbmx5IHJlaW5zdXJhbmNlQ2hlY2tTdGF0dXM6IHtcbiAgICB0aW1lb3V0SWQ6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVsbDtcbiAgICByZWFkb25seSB0aW1lb3V0TXM6IG51bWJlcjtcbiAgfSA9IHtcbiAgICB0aW1lb3V0SWQ6IG51bGwsXG4gICAgdGltZW91dE1zOiAxODAwMDAsXG4gIH07XG5cbiAgcHJpdmF0ZSByZWFkb25seSBuZWVkQ2hlY2tTdGF0dXNTdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBzdGF0dXNDaGFuZ2VkU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSB3ZWJTb2NrZXRDbGllbnQ6IFdlYlNvY2tldENsaWVudCB8IG51bGwgPSBudWxsO1xuXG4gIHB1YmxpYyBnZXQgbmVlZENoZWNrU3RhdHVzJCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5uZWVkQ2hlY2tTdGF0dXNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG4gIHB1YmxpYyBnZXQgc3RhdHVzQ2hhbmdlZCQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdHVzQ2hhbmdlZFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB3ZWJTb2NrZXRGYWN0b3J5OiBXZWJTb2NrZXRGYWN0b3J5KSB7fVxuXG4gIHB1YmxpYyBhc3luYyBjaGVja1N0YXR1c1dpdGhXZWJTb2NrZXQoXG4gICAgd2ViU29ja2V0VXJsOiBzdHJpbmcsXG4gICAgd2ViU29ja2V0Q2hhbm5lbE5hbWU6IHN0cmluZyxcbiAgICB3ZWJTb2NrZXRDbGllbnRUeXBlOiBXZWJTb2NrZXRDbGllbnRUeXBlLFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLndlYlNvY2tldENsaWVudCA9IHRoaXMud2ViU29ja2V0RmFjdG9yeS5jcmVhdGVXZWJTb2NrZXRDbGllbnQoXG4gICAgICB3ZWJTb2NrZXRVcmwsXG4gICAgICB3ZWJTb2NrZXRDbGllbnRUeXBlLFxuICAgICk7XG5cbiAgICBhd2FpdCB0aGlzLndlYlNvY2tldENsaWVudC5vcGVuKHdlYlNvY2tldFVybCwgd2ViU29ja2V0Q2hhbm5lbE5hbWUpO1xuXG4gICAgdGhpcy53ZWJTb2NrZXRTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy53ZWJTb2NrZXRTdWJzY3JpcHRpb24gPSB0aGlzLndlYlNvY2tldENsaWVudC5tZXNzYWdlcyQuc3Vic2NyaWJlKFxuICAgICAgKG1lc3NhZ2UpID0+IHRoaXMuc3RhdHVzUHJvY2Vzc2luZyhtZXNzYWdlKSxcbiAgICApO1xuXG4gICAgdGhpcy53ZWJTb2NrZXRSZWNvbm5lY3Rpb25TdWJzY3JpcHRpb24gPVxuICAgICAgdGhpcy53ZWJTb2NrZXRDbGllbnQuc3Vic2NyaWJlT25TdWNjZXNzZnVsUmVjb25uZWN0aW9uKCgpID0+IHtcbiAgICAgICAgdGhpcy5uZWVkQ2hlY2tTdGF0dXNTdWJqZWN0Lm5leHQoKTtcbiAgICAgIH0pO1xuICAgIHRoaXMubmVlZENoZWNrU3RhdHVzU3ViamVjdC5uZXh0KCk7XG4gICAgdGhpcy5zdGFydFJlaW5zdXJhbmNlQ2hlY2tUaW1lb3V0KCk7XG4gIH1cblxuICBwdWJsaWMgY2xvc2VXZWJTb2NrZXQoKTogdm9pZCB7XG4gICAgdGhpcy5yZW1vdmVTdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLndlYlNvY2tldENsaWVudD8uY2xvc2UoKTtcbiAgICB0aGlzLmNsZWFyUmVpbnN1cmFuY2VDaGVja1RpbWVvdXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGFydFJlaW5zdXJhbmNlQ2hlY2tUaW1lb3V0KCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXJSZWluc3VyYW5jZUNoZWNrVGltZW91dCgpO1xuICAgIHRoaXMucmVpbnN1cmFuY2VDaGVja1N0YXR1cy50aW1lb3V0SWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMubmVlZENoZWNrU3RhdHVzU3ViamVjdC5uZXh0KCk7XG4gICAgfSwgdGhpcy5yZWluc3VyYW5jZUNoZWNrU3RhdHVzLnRpbWVvdXRNcyk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyUmVpbnN1cmFuY2VDaGVja1RpbWVvdXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmVpbnN1cmFuY2VDaGVja1N0YXR1cy50aW1lb3V0SWQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnJlaW5zdXJhbmNlQ2hlY2tTdGF0dXMudGltZW91dElkKTtcbiAgICAgIHRoaXMucmVpbnN1cmFuY2VDaGVja1N0YXR1cy50aW1lb3V0SWQgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhdHVzUHJvY2Vzc2luZyhtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAobWVzc2FnZSA9PT0gV2ViU29ja2V0U3RhdHVzLnN0YXR1c0NoYW5nZWQpIHtcbiAgICAgIHRoaXMuc3RhdHVzQ2hhbmdlZFN1YmplY3QubmV4dCgpO1xuICAgICAgdGhpcy5jbG9zZVdlYlNvY2tldCgpO1xuICAgICAgdGhpcy5jbGVhclJlaW5zdXJhbmNlQ2hlY2tUaW1lb3V0KCk7XG4gICAgfVxuICAgIGlmIChtZXNzYWdlID09PSBXZWJTb2NrZXRTdGF0dXMudHJvdWJsZWRTdGF0dXMpIHtcbiAgICAgIHRoaXMuY2xlYXJSZWluc3VyYW5jZUNoZWNrVGltZW91dCgpO1xuICAgICAgdGhpcy5jbG9zZVdlYlNvY2tldCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMud2ViU29ja2V0U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMud2ViU29ja2V0UmVjb25uZWN0aW9uU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0=
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0LXN0YXR1cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3BheW1lbnQvc3RhdHVzL3dlYnNvY2tldC1zdGF0dXMvd2Vic29ja2V0LXN0YXR1cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFJekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7QUFLMUQsTUFBTSxPQUFPLHNCQUFzQjtJQWdCakMsSUFBVyxnQkFBZ0I7UUFDekIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDcEQsQ0FBQztJQUNELElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGVBQWUsRUFBRSxRQUFRLEVBQUUsSUFBSSxLQUFLLENBQUM7SUFDbkQsQ0FBQztJQUVELFlBQW9DLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBeEJyRCwyQkFBc0IsR0FHbkM7WUFDRixTQUFTLEVBQUUsSUFBSTtZQUNmLFNBQVMsRUFBRSxNQUFNO1NBQ2xCLENBQUM7UUFFZSwyQkFBc0IsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQzdDLHlCQUFvQixHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFcEQsb0JBQWUsR0FBMkIsSUFBSSxDQUFDO0lBYWtCLENBQUM7SUFFbkUsS0FBSyxDQUFDLHdCQUF3QixDQUNuQyxZQUFvQixFQUNwQixvQkFBNEIsRUFDNUIsbUJBQXdDO1FBRXhDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixDQUNoRSxZQUFZLEVBQ1osbUJBQW1CLENBQ3BCLENBQUM7UUFFRixNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO1FBRXBFLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUNuRSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUM1QyxDQUFDO1FBRUYsSUFBSSxDQUFDLGlDQUFpQztZQUNwQyxJQUFJLENBQUMsZUFBZSxDQUFDLGlDQUFpQyxDQUFDLEdBQUcsRUFBRTtnQkFDMUQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3JDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFTSxjQUFjO1FBQ25CLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxlQUFlLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVNLDRCQUE0QjtRQUNqQyxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDdEQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JDLENBQUMsRUFBRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVPLDRCQUE0QjtRQUNsQyxJQUFJLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMxQyxZQUFZLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3BELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQy9DLENBQUM7SUFDSCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsT0FBZTtRQUN0QyxJQUFJLE9BQU8sS0FBSyxlQUFlLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDOUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztRQUN0QyxDQUFDO1FBQ0QsSUFBSSxPQUFPLEtBQUssZUFBZSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQy9DLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN4QixDQUFDO0lBQ0gsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixJQUFJLENBQUMscUJBQXFCLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLGlDQUFpQyxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ3hELENBQUM7K0dBekZVLHNCQUFzQjttSEFBdEIsc0JBQXNCLGNBRnJCLE1BQU07OzRGQUVQLHNCQUFzQjtrQkFIbEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFdlYlNvY2tldEZhY3RvcnkgfSBmcm9tICcuLi8uLi8uLi93ZWItc29ja2V0L3dlYi1zb2NrZXQuZmFjdG9yeSc7XG5pbXBvcnQgeyBXZWJTb2NrZXRDbGllbnQgfSBmcm9tICcuLi8uLi8uLi93ZWItc29ja2V0L3dlYi1zb2NrZXQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFdlYlNvY2tldENsaWVudFR5cGUgfSBmcm9tICcuLi8uLi8uLi93ZWItc29ja2V0L3dlYi1zb2NrZXQtY2xpZW50LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBXZWJTb2NrZXRTdGF0dXMgfSBmcm9tICcuL3dlYnNvY2tldC1zdGF0dXMuZW51bSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBXZWJzb2NrZXRTdGF0dXNTZXJ2aWNlIHtcbiAgcHJpdmF0ZSB3ZWJTb2NrZXRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSB3ZWJTb2NrZXRSZWNvbm5lY3Rpb25TdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSByZWFkb25seSByZWluc3VyYW5jZUNoZWNrU3RhdHVzOiB7XG4gICAgdGltZW91dElkOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IG51bGw7XG4gICAgcmVhZG9ubHkgdGltZW91dE1zOiBudW1iZXI7XG4gIH0gPSB7XG4gICAgdGltZW91dElkOiBudWxsLFxuICAgIHRpbWVvdXRNczogMTgwMDAwLFxuICB9O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbmVlZENoZWNrU3RhdHVzU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgc3RhdHVzQ2hhbmdlZFN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByaXZhdGUgd2ViU29ja2V0Q2xpZW50OiBXZWJTb2NrZXRDbGllbnQgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgZ2V0IG5lZWRDaGVja1N0YXR1cyQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMubmVlZENoZWNrU3RhdHVzU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuICBwdWJsaWMgZ2V0IHN0YXR1c0NoYW5nZWQkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnN0YXR1c0NoYW5nZWRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc09wZW5lZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy53ZWJTb2NrZXRDbGllbnQ/LmlzT3BlbmVkKCkgPz8gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB3ZWJTb2NrZXRGYWN0b3J5OiBXZWJTb2NrZXRGYWN0b3J5KSB7fVxuXG4gIHB1YmxpYyBhc3luYyBjaGVja1N0YXR1c1dpdGhXZWJTb2NrZXQoXG4gICAgd2ViU29ja2V0VXJsOiBzdHJpbmcsXG4gICAgd2ViU29ja2V0Q2hhbm5lbE5hbWU6IHN0cmluZyxcbiAgICB3ZWJTb2NrZXRDbGllbnRUeXBlOiBXZWJTb2NrZXRDbGllbnRUeXBlLFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLndlYlNvY2tldENsaWVudCA9IHRoaXMud2ViU29ja2V0RmFjdG9yeS5jcmVhdGVXZWJTb2NrZXRDbGllbnQoXG4gICAgICB3ZWJTb2NrZXRVcmwsXG4gICAgICB3ZWJTb2NrZXRDbGllbnRUeXBlLFxuICAgICk7XG5cbiAgICBhd2FpdCB0aGlzLndlYlNvY2tldENsaWVudC5vcGVuKHdlYlNvY2tldFVybCwgd2ViU29ja2V0Q2hhbm5lbE5hbWUpO1xuXG4gICAgdGhpcy53ZWJTb2NrZXRTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy53ZWJTb2NrZXRTdWJzY3JpcHRpb24gPSB0aGlzLndlYlNvY2tldENsaWVudC5tZXNzYWdlcyQuc3Vic2NyaWJlKFxuICAgICAgKG1lc3NhZ2UpID0+IHRoaXMuc3RhdHVzUHJvY2Vzc2luZyhtZXNzYWdlKSxcbiAgICApO1xuXG4gICAgdGhpcy53ZWJTb2NrZXRSZWNvbm5lY3Rpb25TdWJzY3JpcHRpb24gPVxuICAgICAgdGhpcy53ZWJTb2NrZXRDbGllbnQuc3Vic2NyaWJlT25TdWNjZXNzZnVsUmVjb25uZWN0aW9uKCgpID0+IHtcbiAgICAgICAgdGhpcy5uZWVkQ2hlY2tTdGF0dXNTdWJqZWN0Lm5leHQoKTtcbiAgICAgIH0pO1xuICAgIHRoaXMubmVlZENoZWNrU3RhdHVzU3ViamVjdC5uZXh0KCk7XG4gICAgdGhpcy5zdGFydFJlaW5zdXJhbmNlQ2hlY2tUaW1lb3V0KCk7XG4gIH1cblxuICBwdWJsaWMgY2xvc2VXZWJTb2NrZXQoKTogdm9pZCB7XG4gICAgdGhpcy5yZW1vdmVTdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLndlYlNvY2tldENsaWVudD8uY2xvc2UoKTtcbiAgICB0aGlzLmNsZWFyUmVpbnN1cmFuY2VDaGVja1RpbWVvdXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGFydFJlaW5zdXJhbmNlQ2hlY2tUaW1lb3V0KCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXJSZWluc3VyYW5jZUNoZWNrVGltZW91dCgpO1xuICAgIHRoaXMucmVpbnN1cmFuY2VDaGVja1N0YXR1cy50aW1lb3V0SWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMubmVlZENoZWNrU3RhdHVzU3ViamVjdC5uZXh0KCk7XG4gICAgfSwgdGhpcy5yZWluc3VyYW5jZUNoZWNrU3RhdHVzLnRpbWVvdXRNcyk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyUmVpbnN1cmFuY2VDaGVja1RpbWVvdXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmVpbnN1cmFuY2VDaGVja1N0YXR1cy50aW1lb3V0SWQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnJlaW5zdXJhbmNlQ2hlY2tTdGF0dXMudGltZW91dElkKTtcbiAgICAgIHRoaXMucmVpbnN1cmFuY2VDaGVja1N0YXR1cy50aW1lb3V0SWQgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhdHVzUHJvY2Vzc2luZyhtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAobWVzc2FnZSA9PT0gV2ViU29ja2V0U3RhdHVzLnN0YXR1c0NoYW5nZWQpIHtcbiAgICAgIHRoaXMuc3RhdHVzQ2hhbmdlZFN1YmplY3QubmV4dCgpO1xuICAgICAgdGhpcy5jbG9zZVdlYlNvY2tldCgpO1xuICAgICAgdGhpcy5jbGVhclJlaW5zdXJhbmNlQ2hlY2tUaW1lb3V0KCk7XG4gICAgfVxuICAgIGlmIChtZXNzYWdlID09PSBXZWJTb2NrZXRTdGF0dXMudHJvdWJsZWRTdGF0dXMpIHtcbiAgICAgIHRoaXMuY2xlYXJSZWluc3VyYW5jZUNoZWNrVGltZW91dCgpO1xuICAgICAgdGhpcy5jbG9zZVdlYlNvY2tldCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMud2ViU29ja2V0U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMud2ViU29ja2V0UmVjb25uZWN0aW9uU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0=
@@ -21,11 +21,10 @@ export class DfpCollectService {
21
21
  * This method create invisible iframe with required params and after that it submit form in iframe
22
22
  * */
23
23
  openIframeWithPostRequest(threeDsForm, isNeedNotifyAfterLoad) {
24
- const iFrameElement = this.window.document.getElementById(this.iframeName);
25
- if (!iFrameElement) {
26
- this.createIframe(isNeedNotifyAfterLoad, threeDsForm.threeDSTrXid);
27
- this.postFormToIframe(threeDsForm.threeDSMethod, threeDsForm.threeDSMethodData);
28
- }
24
+ this.window.document.getElementById(this.iframeName)?.remove();
25
+ this.window.document.getElementById(this.formName)?.remove();
26
+ this.createIframe(isNeedNotifyAfterLoad, threeDsForm.threeDSTrXid);
27
+ this.postFormToIframe(threeDsForm.threeDSMethod, threeDsForm.threeDSMethodData);
29
28
  }
30
29
  /*
31
30
  * isNeedNotifyAfterLoad is need to send notification of dft to server
@@ -52,14 +51,11 @@ export class DfpCollectService {
52
51
  }
53
52
  }
54
53
  /*
55
- * This method will submit form in our iframe. Form will be created, if it's don't exist
54
+ * This method will submit form in our iframe
56
55
  * */
57
56
  postFormToIframe(url, threeDsMethod) {
58
- let form = this.window.document.getElementById(this.formName);
59
- if (!form) {
60
- form = this.createForm();
61
- this.window.document.body.appendChild(form);
62
- }
57
+ const form = this.createForm();
58
+ this.window.document.body.appendChild(form);
63
59
  form.setAttribute('action', url);
64
60
  form.setAttribute('target', this.iframeName);
65
61
  form.appendChild(this.createInput('threeDSMethodData', threeDsMethod));
@@ -107,4 +103,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
107
103
  type: Inject,
108
104
  args: [windowToken]
109
105
  }] }, { type: i1.NotifyDfpStatusService }] });
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGZwLWNvbGxlY3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9wYXltZW50L3RocmVlLWRzL2RmcC1jb2xsZWN0L2RmcC1jb2xsZWN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7QUFRcEQsTUFBTSxPQUFPLGlCQUFpQjtJQUk1QixZQUVtQixNQUFzQixFQUN0QixzQkFBOEM7UUFEOUMsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFDdEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQU5oRCxlQUFVLEdBQUcsV0FBVyxDQUFDO1FBQ3pCLGFBQVEsR0FBRyxTQUFTLENBQUM7SUFNbkMsQ0FBQztJQUVHLGdCQUFnQixDQUFDLFdBQXdCO1FBQzlDLElBQUksV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDckQsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMseUJBQXlCLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3BELENBQUM7SUFDSCxDQUFDO0lBRUQ7O1NBRUs7SUFDRyx5QkFBeUIsQ0FDL0IsV0FBd0IsRUFDeEIscUJBQThCO1FBRTlCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDM0UsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMscUJBQXFCLEVBQUUsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ25FLElBQUks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LEdBQUcsSUFBSSxDQUFDO1FBQ2xCLEtBQUssQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVEOztTQUVLO0lBQ0csYUFBYSxDQUNuQixPQUFvQixFQUNwQixVQUFxQztRQUVyQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3ZDLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQy9DLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0E5SFUsaUJBQWlCLGtCQUtsQixXQUFXO21IQUxWLGlCQUFpQixjQUZoQixNQUFNOzs0RkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFNSSxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHdpbmRvd1Rva2VuIH0gZnJvbSAnLi4vLi4vLi4vd2luZG93LnRva2VuJztcbmltcG9ydCB7IEV4dGVuZGVkV2luZG93IH0gZnJvbSAnLi4vLi4vLi4vZXh0ZW5kZWQtd2luZG93LmludGVyZmFjZSc7XG5pbXBvcnQgeyBOb3RpZnlEZnBTdGF0dXNTZXJ2aWNlIH0gZnJvbSAnLi4vYXBpL25vdGlmeS1kZnAtc3RhdHVzL25vdGlmeS1kZnAtc3RhdHVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGhyZWVEc0Zvcm0gfSBmcm9tICcuLi90aHJlZS1kcy1mb3JtLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBEZnBDb2xsZWN0U2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgaWZyYW1lTmFtZSA9ICdpZnJhbWVERlAnO1xuICBwcml2YXRlIHJlYWRvbmx5IGZvcm1OYW1lID0gJ2Zvcm1ERlAnO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KHdpbmRvd1Rva2VuKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgd2luZG93OiBFeHRlbmRlZFdpbmRvdyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5vdGlmeURmcFN0YXR1c1NlcnZpY2U6IE5vdGlmeURmcFN0YXR1c1NlcnZpY2UsXG4gICkge31cblxuICBwdWJsaWMgY29sbGVjdERmcFN0YXR1cyh0aHJlZURzRm9ybTogVGhyZWVEc0Zvcm0pOiB2b2lkIHtcbiAgICBpZiAodGhyZWVEc0Zvcm0ud2FpdENhbGxiYWNrKSB7XG4gICAgICB0aGlzLm9wZW5JZnJhbWVXaXRoUG9zdFJlcXVlc3QodGhyZWVEc0Zvcm0sIGZhbHNlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcGVuSWZyYW1lV2l0aFBvc3RSZXF1ZXN0KHRocmVlRHNGb3JtLCB0cnVlKTtcbiAgICB9XG4gIH1cblxuICAvKlxuICAgKiBUaGlzIG1ldGhvZCBjcmVhdGUgaW52aXNpYmxlIGlmcmFtZSB3aXRoIHJlcXVpcmVkIHBhcmFtcyBhbmQgYWZ0ZXIgdGhhdCBpdCBzdWJtaXQgZm9ybSBpbiBpZnJhbWVcbiAgICogKi9cbiAgcHJpdmF0ZSBvcGVuSWZyYW1lV2l0aFBvc3RSZXF1ZXN0KFxuICAgIHRocmVlRHNGb3JtOiBUaHJlZURzRm9ybSxcbiAgICBpc05lZWROb3RpZnlBZnRlckxvYWQ6IGJvb2xlYW4sXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IGlGcmFtZUVsZW1lbnQgPSB0aGlzLndpbmRvdy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmlmcmFtZU5hbWUpO1xuICAgIGlmICghaUZyYW1lRWxlbWVudCkge1xuICAgICAgdGhpcy5jcmVhdGVJZnJhbWUoaXNOZWVkTm90aWZ5QWZ0ZXJMb2FkLCB0aHJlZURzRm9ybS50aHJlZURTVHJYaWQpO1xuICAgICAgdGhpcy5wb3N0Rm9ybVRvSWZyYW1lKFxuICAgICAgICB0aHJlZURzRm9ybS50aHJlZURTTWV0aG9kLFxuICAgICAgICB0aHJlZURzRm9ybS50aHJlZURTTWV0aG9kRGF0YSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLypcbiAgICogaXNOZWVkTm90aWZ5QWZ0ZXJMb2FkIGlzIG5lZWQgdG8gc2VuZCBub3RpZmljYXRpb24gb2YgZGZ0IHRvIHNlcnZlclxuICAgKiAqL1xuICBwcml2YXRlIGNyZWF0ZUlmcmFtZShcbiAgICBpc05lZWROb3RpZnlBZnRlckxvYWQ6IGJvb2xlYW4sXG4gICAgdGhyZWVEc1RyWGlkOiBzdHJpbmcsXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IGF0dHJpYnV0ZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7XG4gICAgICBuYW1lOiB0aGlzLmlmcmFtZU5hbWUsXG4gICAgICBpZDogdGhpcy5pZnJhbWVOYW1lLFxuICAgICAgc3JjOiAnYWJvdXQ6YmxhbmsnLFxuICAgICAgc3R5bGU6ICdkaXNwbGF5Om5vbmUnLFxuICAgIH07XG5cbiAgICBjb25zdCBpRnJhbWUgPSB0aGlzLndpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTtcbiAgICB0aGlzLnNldEF0dHJpYnV0ZXMoaUZyYW1lLCBhdHRyaWJ1dGVzKTtcbiAgICB0aGlzLndpbmRvdy5kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlGcmFtZSk7XG5cbiAgICAvLyBkeW5hbWljYWxseSBjcmVhdGVkIGlmcmFtZSB0cmlnZ2VycyBvbmxvYWQgZXZlbnQgdHdpY2VcbiAgICBsZXQgaXNBbHJlYWR5U2VudCA9IGZhbHNlO1xuXG4gICAgaWYgKGlzTmVlZE5vdGlmeUFmdGVyTG9hZCkge1xuICAgICAgKFxuICAgICAgICB0aGlzLndpbmRvdy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZChcbiAgICAgICAgICB0aGlzLmlmcmFtZU5hbWUsXG4gICAgICAgICkgYXMgSFRNTElGcmFtZUVsZW1lbnRcbiAgICAgICkub25sb2FkID0gKCkgPT4ge1xuICAgICAgICBpZiAoaXNBbHJlYWR5U2VudCkgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMubm90aWZ5RGZwU3RhdHVzU2VydmljZS5yZXF1ZXN0KHRocmVlRHNUclhpZCwgdHJ1ZSk7XG4gICAgICAgIGlzQWxyZWFkeVNlbnQgPSB0cnVlO1xuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICAvKlxuICAgKiBUaGlzIG1ldGhvZCB3aWxsIHN1Ym1pdCBmb3JtIGluIG91ciBpZnJhbWUuIEZvcm0gd2lsbCBiZSBjcmVhdGVkLCBpZiBpdCdzIGRvbid0IGV4aXN0XG4gICAqICovXG4gIHByaXZhdGUgcG9zdEZvcm1Ub0lmcmFtZSh1cmw6IHN0cmluZywgdGhyZWVEc01ldGhvZDogc3RyaW5nKTogdm9pZCB7XG4gICAgbGV0IGZvcm0gPSB0aGlzLndpbmRvdy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZChcbiAgICAgIHRoaXMuZm9ybU5hbWUsXG4gICAgKSBhcyBIVE1MRm9ybUVsZW1lbnQ7XG5cbiAgICBpZiAoIWZvcm0pIHtcbiAgICAgIGZvcm0gPSB0aGlzLmNyZWF0ZUZvcm0oKTtcbiAgICAgIHRoaXMud2luZG93LmRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZm9ybSk7XG4gICAgfVxuXG4gICAgZm9ybS5zZXRBdHRyaWJ1dGUoJ2FjdGlvbicsIHVybCk7XG4gICAgZm9ybS5zZXRBdHRyaWJ1dGUoJ3RhcmdldCcsIHRoaXMuaWZyYW1lTmFtZSk7XG4gICAgZm9ybS5hcHBlbmRDaGlsZCh0aGlzLmNyZWF0ZUlucHV0KCd0aHJlZURTTWV0aG9kRGF0YScsIHRocmVlRHNNZXRob2QpKTtcblxuICAgIGZvcm0uc3VibWl0KCk7XG4gIH1cblxuICAvKlxuICAgKiBUaGlzIG1ldGhvZCB3aWxsIGNyZWF0ZSBpbnZpc2libGUgZm9ybSB3aXRoIHJlcXVpcmVkIHBhcmFtc1xuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVGb3JtKCk6IEhUTUxGb3JtRWxlbWVudCB7XG4gICAgY29uc3QgZm9ybSA9IHRoaXMud2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Zvcm0nKTtcbiAgICBjb25zdCBpbml0QXR0cmlidXRlczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcbiAgICAgIG5hbWU6IHRoaXMuZm9ybU5hbWUsXG4gICAgICBpZDogdGhpcy5mb3JtTmFtZSxcbiAgICAgIHN0eWxlOiAnZGlzcGxheTpub25lJyxcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgZW5jdHlwZTogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcsXG4gICAgfTtcblxuICAgIHRoaXMuc2V0QXR0cmlidXRlcyhmb3JtLCBpbml0QXR0cmlidXRlcyk7XG5cbiAgICByZXR1cm4gZm9ybTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlSW5wdXQobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogSFRNTElucHV0RWxlbWVudCB7XG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLndpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xuICAgIGlucHV0LnR5cGUgPSAnaGlkZGVuJztcbiAgICBpbnB1dC5uYW1lID0gbmFtZTtcbiAgICBpbnB1dC52YWx1ZSA9IHZhbHVlO1xuICAgIHJldHVybiBpbnB1dDtcbiAgfVxuXG4gIC8qXG4gICAqIFRoaXMgbWV0aG9kIHdpbGwgc2V0IGF0dHJpYnV0ZXMgdG8gZm9ybS9pZnJhbWVcbiAgICogKi9cbiAgcHJpdmF0ZSBzZXRBdHRyaWJ1dGVzKFxuICAgIGVsZW1lbnQ6IEhUTUxFbGVtZW50LFxuICAgIGF0dHJpYnV0ZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0sXG4gICk6IHZvaWQge1xuICAgIE9iamVjdC5rZXlzKGF0dHJpYnV0ZXMpLmZvckVhY2goKG5hbWUpID0+IHtcbiAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKG5hbWUsIGF0dHJpYnV0ZXNbbmFtZV0pO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGZwLWNvbGxlY3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9wYXltZW50L3RocmVlLWRzL2RmcC1jb2xsZWN0L2RmcC1jb2xsZWN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7QUFRcEQsTUFBTSxPQUFPLGlCQUFpQjtJQUk1QixZQUVtQixNQUFzQixFQUN0QixzQkFBOEM7UUFEOUMsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFDdEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQU5oRCxlQUFVLEdBQUcsV0FBVyxDQUFDO1FBQ3pCLGFBQVEsR0FBRyxTQUFTLENBQUM7SUFNbkMsQ0FBQztJQUVHLGdCQUFnQixDQUFDLFdBQXdCO1FBQzlDLElBQUksV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDckQsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMseUJBQXlCLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3BELENBQUM7SUFDSCxDQUFDO0lBRUQ7O1NBRUs7SUFDRyx5QkFBeUIsQ0FDL0IsV0FBd0IsRUFDeEIscUJBQThCO1FBRTlCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDL0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUM3RCxJQUFJLENBQUMsWUFB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LENBQUM7SUFFRDs7U0FFSztJQUNHLGFBQWEsQ0FDbkIsT0FBb0IsRUFDcEIsVUFBcUM7UUFFckMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN2QyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUMvQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBdkhVLGlCQUFpQixrQkFLbEIsV0FBVzttSEFMVixpQkFBaUIsY0FGaEIsTUFBTTs7NEZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBTUksTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB3aW5kb3dUb2tlbiB9IGZyb20gJy4uLy4uLy4uL3dpbmRvdy50b2tlbic7XG5pbXBvcnQgeyBFeHRlbmRlZFdpbmRvdyB9IGZyb20gJy4uLy4uLy4uL2V4dGVuZGVkLXdpbmRvdy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTm90aWZ5RGZwU3RhdHVzU2VydmljZSB9IGZyb20gJy4uL2FwaS9ub3RpZnktZGZwLXN0YXR1cy9ub3RpZnktZGZwLXN0YXR1cy5zZXJ2aWNlJztcbmltcG9ydCB7IFRocmVlRHNGb3JtIH0gZnJvbSAnLi4vdGhyZWUtZHMtZm9ybS5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRGZwQ29sbGVjdFNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGlmcmFtZU5hbWUgPSAnaWZyYW1lREZQJztcbiAgcHJpdmF0ZSByZWFkb25seSBmb3JtTmFtZSA9ICdmb3JtREZQJztcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgQEluamVjdCh3aW5kb3dUb2tlbilcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdpbmRvdzogRXh0ZW5kZWRXaW5kb3csXG4gICAgcHJpdmF0ZSByZWFkb25seSBub3RpZnlEZnBTdGF0dXNTZXJ2aWNlOiBOb3RpZnlEZnBTdGF0dXNTZXJ2aWNlLFxuICApIHt9XG5cbiAgcHVibGljIGNvbGxlY3REZnBTdGF0dXModGhyZWVEc0Zvcm06IFRocmVlRHNGb3JtKTogdm9pZCB7XG4gICAgaWYgKHRocmVlRHNGb3JtLndhaXRDYWxsYmFjaykge1xuICAgICAgdGhpcy5vcGVuSWZyYW1lV2l0aFBvc3RSZXF1ZXN0KHRocmVlRHNGb3JtLCBmYWxzZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3BlbklmcmFtZVdpdGhQb3N0UmVxdWVzdCh0aHJlZURzRm9ybSwgdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgLypcbiAgICogVGhpcyBtZXRob2QgY3JlYXRlIGludmlzaWJsZSBpZnJhbWUgd2l0aCByZXF1aXJlZCBwYXJhbXMgYW5kIGFmdGVyIHRoYXQgaXQgc3VibWl0IGZvcm0gaW4gaWZyYW1lXG4gICAqICovXG4gIHByaXZhdGUgb3BlbklmcmFtZVdpdGhQb3N0UmVxdWVzdChcbiAgICB0aHJlZURzRm9ybTogVGhyZWVEc0Zvcm0sXG4gICAgaXNOZWVkTm90aWZ5QWZ0ZXJMb2FkOiBib29sZWFuLFxuICApOiB2b2lkIHtcbiAgICB0aGlzLndpbmRvdy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmlmcmFtZU5hbWUpPy5yZW1vdmUoKTtcbiAgICB0aGlzLndpbmRvdy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmZvcm1OYW1lKT8ucmVtb3ZlKCk7XG4gICAgdGhpcy5jcmVhdGVJZnJhbWUoaXNOZWVkTm90aWZ5QWZ0ZXJMb2FkLCB0aHJlZURzRm9ybS50aHJlZURTVHJYaWQpO1xuICAgIHRoaXMucG9zdEZvcm1Ub0lmcmFtZShcbiAgICAgIHRocmVlRHNGb3JtLnRocmVlRFNNZXRob2QsXG4gICAgICB0aHJlZURzRm9ybS50aHJlZURTTWV0aG9kRGF0YSxcbiAgICApO1xuICB9XG5cbiAgLypcbiAgICogaXNOZWVkTm90aWZ5QWZ0ZXJMb2FkIGlzIG5lZWQgdG8gc2VuZCBub3RpZmljYXRpb24gb2YgZGZ0IHRvIHNlcnZlclxuICAgKiAqL1xuICBwcml2YXRlIGNyZWF0ZUlmcmFtZShcbiAgICBpc05lZWROb3RpZnlBZnRlckxvYWQ6IGJvb2xlYW4sXG4gICAgdGhyZWVEc1RyWGlkOiBzdHJpbmcsXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IGF0dHJpYnV0ZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7XG4gICAgICBuYW1lOiB0aGlzLmlmcmFtZU5hbWUsXG4gICAgICBpZDogdGhpcy5pZnJhbWVOYW1lLFxuICAgICAgc3JjOiAnYWJvdXQ6YmxhbmsnLFxuICAgICAgc3R5bGU6ICdkaXNwbGF5Om5vbmUnLFxuICAgIH07XG5cbiAgICBjb25zdCBpRnJhbWUgPSB0aGlzLndpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTtcbiAgICB0aGlzLnNldEF0dHJpYnV0ZXMoaUZyYW1lLCBhdHRyaWJ1dGVzKTtcbiAgICB0aGlzLndpbmRvdy5kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlGcmFtZSk7XG5cbiAgICAvLyBkeW5hbWljYWxseSBjcmVhdGVkIGlmcmFtZSB0cmlnZ2VycyBvbmxvYWQgZXZlbnQgdHdpY2VcbiAgICBsZXQgaXNBbHJlYWR5U2VudCA9IGZhbHNlO1xuXG4gICAgaWYgKGlzTmVlZE5vdGlmeUFmdGVyTG9hZCkge1xuICAgICAgKFxuICAgICAgICB0aGlzLndpbmRvdy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZChcbiAgICAgICAgICB0aGlzLmlmcmFtZU5hbWUsXG4gICAgICAgICkgYXMgSFRNTElGcmFtZUVsZW1lbnRcbiAgICAgICkub25sb2FkID0gKCkgPT4ge1xuICAgICAgICBpZiAoaXNBbHJlYWR5U2VudCkgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMubm90aWZ5RGZwU3RhdHVzU2VydmljZS5yZXF1ZXN0KHRocmVlRHNUclhpZCwgdHJ1ZSk7XG4gICAgICAgIGlzQWxyZWFkeVNlbnQgPSB0cnVlO1xuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICAvKlxuICAgKiBUaGlzIG1ldGhvZCB3aWxsIHN1Ym1pdCBmb3JtIGluIG91ciBpZnJhbWVcbiAgICogKi9cbiAgcHJpdmF0ZSBwb3N0Rm9ybVRvSWZyYW1lKHVybDogc3RyaW5nLCB0aHJlZURzTWV0aG9kOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBmb3JtID0gdGhpcy5jcmVhdGVGb3JtKCk7XG4gICAgdGhpcy53aW5kb3cuZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChmb3JtKTtcblxuICAgIGZvcm0uc2V0QXR0cmlidXRlKCdhY3Rpb24nLCB1cmwpO1xuICAgIGZvcm0uc2V0QXR0cmlidXRlKCd0YXJnZXQnLCB0aGlzLmlmcmFtZU5hbWUpO1xuICAgIGZvcm0uYXBwZW5kQ2hpbGQodGhpcy5jcmVhdGVJbnB1dCgndGhyZWVEU01ldGhvZERhdGEnLCB0aHJlZURzTWV0aG9kKSk7XG5cbiAgICBmb3JtLnN1Ym1pdCgpO1xuICB9XG5cbiAgLypcbiAgICogVGhpcyBtZXRob2Qgd2lsbCBjcmVhdGUgaW52aXNpYmxlIGZvcm0gd2l0aCByZXF1aXJlZCBwYXJhbXNcbiAgICovXG4gIHByaXZhdGUgY3JlYXRlRm9ybSgpOiBIVE1MRm9ybUVsZW1lbnQge1xuICAgIGNvbnN0IGZvcm0gPSB0aGlzLndpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdmb3JtJyk7XG4gICAgY29uc3QgaW5pdEF0dHJpYnV0ZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7XG4gICAgICBuYW1lOiB0aGlzLmZvcm1OYW1lLFxuICAgICAgaWQ6IHRoaXMuZm9ybU5hbWUsXG4gICAgICBzdHlsZTogJ2Rpc3BsYXk6bm9uZScsXG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIGVuY3R5cGU6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnLFxuICAgIH07XG5cbiAgICB0aGlzLnNldEF0dHJpYnV0ZXMoZm9ybSwgaW5pdEF0dHJpYnV0ZXMpO1xuXG4gICAgcmV0dXJuIGZvcm07XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUlucHV0KG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IEhUTUxJbnB1dEVsZW1lbnQge1xuICAgIGNvbnN0IGlucHV0ID0gdGhpcy53aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcbiAgICBpbnB1dC50eXBlID0gJ2hpZGRlbic7XG4gICAgaW5wdXQubmFtZSA9IG5hbWU7XG4gICAgaW5wdXQudmFsdWUgPSB2YWx1ZTtcbiAgICByZXR1cm4gaW5wdXQ7XG4gIH1cblxuICAvKlxuICAgKiBUaGlzIG1ldGhvZCB3aWxsIHNldCBhdHRyaWJ1dGVzIHRvIGZvcm0vaWZyYW1lXG4gICAqICovXG4gIHByaXZhdGUgc2V0QXR0cmlidXRlcyhcbiAgICBlbGVtZW50OiBIVE1MRWxlbWVudCxcbiAgICBhdHRyaWJ1dGVzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9LFxuICApOiB2b2lkIHtcbiAgICBPYmplY3Qua2V5cyhhdHRyaWJ1dGVzKS5mb3JFYWNoKChuYW1lKSA9PiB7XG4gICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZShuYW1lLCBhdHRyaWJ1dGVzW25hbWVdKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -48,6 +48,9 @@ export class CentrifugoWebSocketService {
48
48
  this.url = '';
49
49
  this.channel = '';
50
50
  }
51
+ isOpened() {
52
+ return this.isConnectionOpen || this.isConnecting;
53
+ }
51
54
  get messages$() {
52
55
  return (this.incomingMessages$
53
56
  .asObservable()
@@ -204,4 +207,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
204
207
  providedIn: 'root',
205
208
  }]
206
209
  }], ctorParameters: () => [{ type: i1.LoggerService }] });
207
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VudHJpZnVnby13ZWItc29ja2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvd2ViLXNvY2tldC9jZW50cmlmdWdvLXdlYi1zb2NrZXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVFyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDdkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBRS9FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRXBFLE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7QUFLNUQsTUFBTSxPQUFPLDBCQUEwQjthQUNkLHVDQUFrQyxHQUFHLENBQUMsQUFBSixDQUFLO2FBSXRDLGVBQVUsR0FBRztRQUNuQyxZQUFZLEVBQUUsSUFBSTtRQUNsQix3QkFBd0IsRUFBRSxJQUFJO0tBQy9CLEFBSGlDLENBR2hDO0lBc0JGLFlBQW9DLGFBQTRCO1FBQTVCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBM0J6RCxTQUFJLEdBQUcsbUJBQW1CLENBQUMsVUFBVSxDQUFDO1FBUXJDLHdCQUFtQixHQUF5QyxJQUFJLENBQUM7UUFPakUscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBS1osc0JBQWlCLEdBQ2hDLElBQUksT0FBTyxFQUFzQixDQUFDO1FBRW5CLHVDQUFrQyxHQUNqRCxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRTZDLENBQUM7SUFFN0QsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFXLEVBQUUsT0FBZTtRQUM1QyxJQUFJLEdBQUcsS0FBSyxJQUFJLENBQUMsR0FBRyxJQUFJLE9BQU8sS0FBSyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2YsQ0FBQztRQUVELElBQUksQ0FBQztZQUNILElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1lBQ2YsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7WUFDdkIsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzVDLENBQUM7UUFBQyxPQUFPLEtBQWMsRUFBRSxDQUFDO1lBQ3hCLG9DQUFvQztZQUNwQyxNQUFNLE9BQU8sR0FBRyxDQUFDLEtBQUssRUFBRSxPQUFPLElBQUksS0FBSyxDQUFXLENBQUM7WUFDcEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLENBQ3pCLDRCQUE0QixPQUFPLEVBQUUsRUFDckMsT0FBTyxDQUNSLENBQUM7WUFFRixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxDQUFDO0lBQ0gsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUU5QixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDM0IsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxDQUFDO1FBRTlCLElBQUksQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ2QsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLENBQ0wsSUFBSSxDQUFDLGlCQUFpQjthQUNuQixZQUFZLEVBQUU7WUFDZixxREFBcUQ7WUFDckQsK0RBQStEO2FBQzlELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUNwQyxDQUFDO0lBQ0osQ0FBQztJQUVNLGlDQUFpQyxDQUFDLElBQWlCO1FBQ3hELE9BQU8sSUFBSSxDQUFDLGtDQUFrQzthQUMzQyxZQUFZLEVBQUU7YUFDZCxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELDBCQUEwQjtJQUNsQixzQkFBc0I7UUFDNUIsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUM3QixZQUFZLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDdkMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztRQUNsQyxDQUFDO0lBQ0gsQ0FBQztJQUVELDBCQUEwQjtJQUNsQiwyQkFBMkI7UUFDakMsTUFBTSxHQUFHLEdBQ1AsMEJBQTBCLENBQUMsVUFBVSxDQUFDLFlBQVk7WUFDbEQsMEJBQTBCLENBQUMsVUFBVSxDQUFDLHdCQUF3QixDQUFDO1FBQ2pFLE1BQU0sR0FBRyxHQUNQLDBCQUEwQixDQUFDLFVBQVUsQ0FBQyxZQUFZO1lBQ2xELDBCQUEwQixDQUFDLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQztRQUNqRSxJQUFJLENBQUMscUJBQXFCO1lBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztJQUN0RCxDQUFDO0lBRUQsMEJBQTBCO0lBQ2xCLDRCQUE0QjtRQUNsQyxJQUFJLENBQUMscUJBQXFCO1lBQ3hCLElBQUksQ0FBQyxxQkFBcUI7Z0JBQzFCLDBCQUEwQixDQUFDLGtDQUFrQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCwwQkFBMEI7SUFDbEIsS0FBSyxDQUFDLG1CQUFtQjtRQUMvQixPQUFPLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsMEJBQTBCO0lBQ2xCLEtBQUssQ0FBQyxnQkFBZ0IsQ0FDNUIsR0FBWSxFQUNaLE9BQWdCO1FBRWhCLElBQUksSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUMvQyxPQUFPO1FBQ1QsQ0FBQztRQUVELGdFQUFnRTtRQUNoRSxNQUFNLGdCQUFnQixHQUFHLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFFMUQsTUFBTSxZQUFZLEdBQUcsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDckMsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUVqRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksZ0JBQWdCLENBQUMsWUFBWSxFQUFFO1lBQ25ELEtBQUssRUFBRSxJQUFJO1lBQ1gsaUJBQWlCLEVBQUUsSUFBSTtZQUN2QixrQkFBa0IsRUFBRSxJQUFJO1NBQ3pCLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBSSxPQUFPLENBQU8sQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDM0MsSUFBSSxDQUFDLFVBQVU7aUJBQ1osRUFBRSxDQUFDLFlBQVksRUFBRSxHQUFHLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQzNCLENBQUMsQ0FBQztpQkFDRCxFQUFFLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRTtnQkFDcEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNqQixPQUFPLEVBQUUsQ0FBQztZQUNaLENBQUMsQ0FBQztpQkFDRCxFQUFFLENBQUMsY0FBYyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLGdCQUFnQixDQUFDLENBQUM7Z0JBQ3pDLE1BQU0sRUFBRSxDQUFDO1lBQ1gsQ0FBQyxDQUFDO2lCQUNELEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDbkIsTUFBTSxPQUFPLEdBQUcsUUFBUSxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksTUFBTSxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUVoRSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FDdEIsSUFBSSxXQUFXLENBQUMscUJBQXFCLE9BQU8sRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFO29CQUM5RCxPQUFPLEVBQUUsZ0JBQWdCO2lCQUMxQixDQUFDLENBQ0gsQ0FBQztZQUNKLENBQUMsQ0FBQztpQkFDRCxPQUFPLEVBQUUsQ0FBQztZQUViLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQ2pELGdCQUFnQixFQUNoQixJQUFJLENBQUMsc0JBQXNCLENBQUMsZ0JBQWdCLENBQUMsQ0FDOUMsQ0FBQztZQUVGLElBQUksQ0FBQyxZQUFZO2lCQUNkLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDeEIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEdBQUcsQ0FBQyxjQUFjLENBQUM7Z0JBQy9DLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxnQkFBZ0IsQ0FBQztZQUNoRCxDQUFDLENBQUM7aUJBQ0QsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUN6QixNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsSUFBYyxDQUFDO2dCQUVuQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDckIsSUFBSSxhQUFhLENBQ2YsK0JBQStCLE9BQU8sRUFBRSxFQUN4QyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsRUFDaEIsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsQ0FDOUIsQ0FDRixDQUFDO2dCQUVGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkMsQ0FBQyxDQUFDO2lCQUNELEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDbkIsTUFBTSxPQUFPLEdBQUcsUUFBUSxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksTUFBTSxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUVoRSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FDdEIsSUFBSSxXQUFXLENBQUMsdUJBQXVCLE9BQU8sRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFO29CQUNoRSxPQUFPLEVBQUUsZ0JBQWdCO2lCQUMxQixDQUFDLENBQ0gsQ0FBQztZQUNKLENBQUMsQ0FBQztpQkFDRCxTQUFTLEVBQUUsQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxTQUFTO1FBQ2YsWUFBWSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7SUFDL0IsQ0FBQztJQUVPLFlBQVksQ0FDbEIsR0FBd0IsRUFDeEIsZ0JBQXdCO1FBRXhCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFFOUIsNkRBQTZEO1FBQzdELElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNuQixNQUFNLE9BQU8sR0FBRyxRQUFRLEdBQUcsQ0FBQyxJQUFJLE1BQU0sR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBRW5ELElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUN0QixJQUFJLFdBQVcsQ0FBQyx1QkFBdUIsT0FBTyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUU7Z0JBQ2hFLE9BQU8sRUFBRSxnQkFBZ0I7YUFDMUIsQ0FBQyxDQUNILENBQUM7WUFFRixDQUFDLEtBQUssSUFBSSxFQUFFO2dCQUNWLE1BQU0sSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDckMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNQLENBQUM7SUFDSCxDQUFDO0lBRU8sS0FBSyxDQUFDLFNBQVM7UUFDckIsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFFOUIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzdCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUN6QyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7cUJBQ3BCLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7cUJBQ3pCLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDL0IsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7WUFDdEMsQ0FBQyxFQUFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLEtBQUssQ0FBQyxxQkFBcUI7UUFDakMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7UUFFbkMsSUFBSSxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBRXhCLE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUV0QyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDcEIsV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3ZDLENBQUM7UUFFRCxNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUM7UUFFckMsTUFBTSxhQUFhLEdBQUcsVUFBVSxHQUFHLFdBQVcsQ0FBQztRQUUvQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FDdEIsSUFBSSxXQUFXLENBQ2IsNENBQTRDLGFBQWEsSUFBSSxFQUM3RCxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFDZDtZQUNFLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztTQUN0QixDQUNGLENBQ0YsQ0FBQztRQUVGLElBQUksQ0FBQyxrQ0FBa0MsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRU8sc0JBQXNCLENBQzVCLGdCQUF3QjtRQUV4QixNQUFNLE9BQU8sR0FBaUM7WUFDNUMsV0FBVyxFQUFFLElBQUk7U0FDbEIsQ0FBQztRQUVGLElBQ0UsZ0JBQWdCLEtBQUssSUFBSSxDQUFDLHFCQUFxQjtZQUMvQyxJQUFJLENBQUMsb0JBQW9CLEVBQ3pCLENBQUM7WUFDRCxPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztRQUM1QyxDQUFDO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQzsrR0F6UlUsMEJBQTBCO21IQUExQiwwQkFBMEIsY0FGekIsTUFBTTs7NEZBRVAsMEJBQTBCO2tCQUh0QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHR5cGUge1xuICBDZW50cmlmdWdlLFxuICBEaXNjb25uZWN0ZWRDb250ZXh0LFxuICBQdWJsaWNhdGlvbkNvbnRleHQsXG4gIFN1YnNjcmlwdGlvbiBhcyBDZW50cmlmdWdlU3Vic2NyaXB0aW9uLFxufSBmcm9tICdjZW50cmlmdWdlJztcbmltcG9ydCB7IFN0cmVhbVBvc2l0aW9uLCBTdWJzY3JpcHRpb25PcHRpb25zIH0gZnJvbSAnY2VudHJpZnVnZS9idWlsZC90eXBlcyc7XG5pbXBvcnQgeyBXc0Vycm9yIH0gZnJvbSAnLi4vZXhjZXB0aW9ucy1oYW5kbGluZy9lcnJvcnMvd3MtZXJyb3IuY2xhc3MnO1xuaW1wb3J0IHsgRXJyb3JUYWdzIH0gZnJvbSAnLi4vZXhjZXB0aW9ucy1oYW5kbGluZy9lcnJvcnMvZWxrLWVycm9yLXR5cGVzLmVudW0nO1xuaW1wb3J0IHsgV2ViU29ja2V0Q2xpZW50IH0gZnJvbSAnLi93ZWItc29ja2V0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBXZWJTb2NrZXRDbGllbnRUeXBlIH0gZnJvbSAnLi93ZWItc29ja2V0LWNsaWVudC10eXBlLmVudW0nO1xuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvbG9nZ2VyL2xvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7IE1lc3NhZ2VUYWdzLCBUYWdnZWRNZXNzYWdlIH0gZnJvbSAnLi4vZXhjZXB0aW9ucy1oYW5kbGluZy9tZXNzYWdlcyc7XG5pbXBvcnQgeyBUYWdnZWRFcnJvciB9IGZyb20gJy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZXJyb3JzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIENlbnRyaWZ1Z29XZWJTb2NrZXRTZXJ2aWNlIGltcGxlbWVudHMgV2ViU29ja2V0Q2xpZW50IHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSByZWNvbm5lY3Rpb25UaW1lb3V0SW5jcmVtZW50RmFjdG9yID0gMjtcblxuICBwdWJsaWMgdHlwZSA9IFdlYlNvY2tldENsaWVudFR5cGUuY2VudHJpZnVnbztcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSB0aW1lb3V0c01zID0ge1xuICAgIHJlY29ubmVjdGlvbjogMTAwMCxcbiAgICByZWNvbm5lY3Rpb25NYXhEZXZpYXRpb246IDEwMDAsXG4gIH07XG5cbiAgcHJpdmF0ZSByZWNvbm5lY3Rpb25UaW1lb3V0TXMhOiBudW1iZXI7XG4gIHByaXZhdGUgcmVjb25uZWN0aW9uVGltZXJJZDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIHJlYWRvbmx5IG9wZW5Db25uZWN0aW9uVGltZXJJZDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gIHByaXZhdGUgY29ubmVjdGlvbiE6IENlbnRyaWZ1Z2U7XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uITogQ2VudHJpZnVnZVN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25Qb3NpdGlvbj86IFN0cmVhbVBvc2l0aW9uO1xuICBwcml2YXRlIGlzQ29ubmVjdGlvbk9wZW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBpc0Nvbm5lY3RpbmcgPSBmYWxzZTtcbiAgcHJpdmF0ZSB1cmwhOiBzdHJpbmc7XG4gIHByaXZhdGUgY2hhbm5lbCE6IHN0cmluZztcbiAgcHJpdmF0ZSBwcmV2U3Vic2NyaWJlZENoYW5uZWw/OiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBpbmNvbWluZ01lc3NhZ2VzJDogU3ViamVjdDxQdWJsaWNhdGlvbkNvbnRleHQ+ID1cbiAgICBuZXcgU3ViamVjdDxQdWJsaWNhdGlvbkNvbnRleHQ+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBzdWNjZXNzZnVsUmVjb25uZWN0aW9uRXZlbnRzUHJveHkkOiBTdWJqZWN0PHZvaWQ+ID1cbiAgICBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGxvZ2dlclNlcnZpY2U6IExvZ2dlclNlcnZpY2UpIHt9XG5cbiAgcHVibGljIGFzeW5jIG9wZW4odXJsOiBzdHJpbmcsIGNoYW5uZWw6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh1cmwgPT09IHRoaXMudXJsICYmIGNoYW5uZWwgPT09IHRoaXMuY2hhbm5lbCkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICB0aGlzLnVybCA9IHVybDtcbiAgICAgIHRoaXMuY2hhbm5lbCA9IGNoYW5uZWw7XG4gICAgICBhd2FpdCB0aGlzLmNyZWF0ZUNvbm5lY3Rpb24odXJsLCBjaGFubmVsKTtcbiAgICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBlcnJvciBpcyB1bmtub3duXG4gICAgICBjb25zdCBtZXNzYWdlID0gKGVycm9yPy5tZXNzYWdlIHx8IGVycm9yKSBhcyBzdHJpbmc7XG4gICAgICBjb25zdCB3c0Vycm9yID0gbmV3IFdzRXJyb3IoXG4gICAgICAgIGB1bmtub3duIHdlYnNvY2tldCBlcnJvcjogJHttZXNzYWdlfWAsXG4gICAgICAgIGNoYW5uZWwsXG4gICAgICApO1xuXG4gICAgICB0aGlzLmxvZ2dlclNlcnZpY2UuZXJyb3Iod3NFcnJvcik7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXJSZWNvbm5lY3Rpb25UaW1lcigpO1xuXG4gICAgaWYgKCF0aGlzLmlzQ29ubmVjdGlvbk9wZW4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmNvbm5lY3Rpb24/LmRpc2Nvbm5lY3QoKTtcblxuICAgIHRoaXMudXJsID0gJyc7XG4gICAgdGhpcy5jaGFubmVsID0gJyc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1lc3NhZ2VzJCgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmluY29taW5nTWVzc2FnZXMkXG4gICAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgICAvLyBldmVudCBkb24ndCByZXNwZWN0IHR5cGUgZnJvbSBhcmd1bWVudCwgaXQncyB3ZWlyZFxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1yZXR1cm5cbiAgICAgICAgLnBpcGUobWFwKChldmVudCkgPT4gZXZlbnQuZGF0YSkpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzdWJzY3JpYmVPblN1Y2Nlc3NmdWxSZWNvbm5lY3Rpb24obmV4dD86ICgpID0+IHZvaWQpOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLnN1Y2Nlc3NmdWxSZWNvbm5lY3Rpb25FdmVudHNQcm94eSRcbiAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgLnN1YnNjcmliZShuZXh0KTtcbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHByaXZhdGUgY2xlYXJSZWNvbm5lY3Rpb25UaW1lcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yZWNvbm5lY3Rpb25UaW1lcklkKSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5yZWNvbm5lY3Rpb25UaW1lcklkKTtcbiAgICAgIHRoaXMucmVjb25uZWN0aW9uVGltZXJJZCA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcHJpdmF0ZSBzZXRGaXJzdFJlY29ubmVjdGlvblRpbWVvdXQoKTogdm9pZCB7XG4gICAgY29uc3QgbWluID1cbiAgICAgIENlbnRyaWZ1Z29XZWJTb2NrZXRTZXJ2aWNlLnRpbWVvdXRzTXMucmVjb25uZWN0aW9uIC1cbiAgICAgIENlbnRyaWZ1Z29XZWJTb2NrZXRTZXJ2aWNlLnRpbWVvdXRzTXMucmVjb25uZWN0aW9uTWF4RGV2aWF0aW9uO1xuICAgIGNvbnN0IG1heCA9XG4gICAgICBDZW50cmlmdWdvV2ViU29ja2V0U2VydmljZS50aW1lb3V0c01zLnJlY29ubmVjdGlvbiArXG4gICAgICBDZW50cmlmdWdvV2ViU29ja2V0U2VydmljZS50aW1lb3V0c01zLnJlY29ubmVjdGlvbk1heERldmlhdGlvbjtcbiAgICB0aGlzLnJlY29ubmVjdGlvblRpbWVvdXRNcyA9XG4gICAgICBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAobWF4IC0gbWluICsgMSkpICsgbWluO1xuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcHJpdmF0ZSBpbmNyZW1lbnRSZWNvbm5lY3Rpb25UaW1lb3V0KCk6IHZvaWQge1xuICAgIHRoaXMucmVjb25uZWN0aW9uVGltZW91dE1zID1cbiAgICAgIHRoaXMucmVjb25uZWN0aW9uVGltZW91dE1zICpcbiAgICAgIENlbnRyaWZ1Z29XZWJTb2NrZXRTZXJ2aWNlLnJlY29ubmVjdGlvblRpbWVvdXRJbmNyZW1lbnRGYWN0b3I7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBwcml2YXRlIGFzeW5jIGdldENlbnRyaWZ1Z29DbGllbnQoKTogUHJvbWlzZTx0eXBlb2YgQ2VudHJpZnVnZT4ge1xuICAgIHJldHVybiBpbXBvcnQoJ2NlbnRyaWZ1Z2UnKS50aGVuKChtb2R1bGUpID0+IG1vZHVsZS5DZW50cmlmdWdlKTtcbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHByaXZhdGUgYXN5bmMgY3JlYXRlQ29ubmVjdGlvbihcbiAgICB1cmw/OiBzdHJpbmcsXG4gICAgY2hhbm5lbD86IHN0cmluZyxcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMuaXNDb25uZWN0aW9uT3BlbiB8fCB0aGlzLmlzQ29ubmVjdGluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICBjb25zdCBDZW50cmlmdWdlQ2xpZW50ID0gYXdhaXQgdGhpcy5nZXRDZW50cmlmdWdvQ2xpZW50KCk7XG5cbiAgICBjb25zdCB3ZWJzb2NrZXRVcmwgPSB1cmwgPz8gdGhpcy51cmw7XG4gICAgY29uc3Qgd2Vic29ja2V0Q2hhbm5lbCA9IGNoYW5uZWwgPz8gdGhpcy5jaGFubmVsO1xuXG4gICAgdGhpcy5jb25uZWN0aW9uID0gbmV3IENlbnRyaWZ1Z2VDbGllbnQod2Vic29ja2V0VXJsLCB7XG4gICAgICBkZWJ1ZzogdHJ1ZSxcbiAgICAgIG1heFJlY29ubmVjdERlbGF5OiAxNTAwLFxuICAgICAgbWF4U2VydmVyUGluZ0RlbGF5OiAxMDAwLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMuY29ubmVjdGlvblxuICAgICAgICAub24oJ2Nvbm5lY3RpbmcnLCAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5pc0Nvbm5lY3RpbmcgPSB0cnVlO1xuICAgICAgICB9KVxuICAgICAgICAub24oJ2Nvbm5lY3RlZCcsICgpID0+IHtcbiAgICAgICAgICB0aGlzLm9uQ29ubmVjdCgpO1xuICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgfSlcbiAgICAgICAgLm9uKCdkaXNjb25uZWN0ZWQnLCAoY3R4KSA9PiB7XG4gICAgICAgICAgdGhpcy5vbkRpc2Nvbm5lY3QoY3R4LCB3ZWJzb2NrZXRDaGFubmVsKTtcbiAgICAgICAgICByZWplY3QoKTtcbiAgICAgICAgfSlcbiAgICAgICAgLm9uKCdlcnJvcicsIChjdHgpID0+IHtcbiAgICAgICAgICBjb25zdCBtZXNzYWdlID0gYGNvZGUgJHtjdHguZXJyb3IuY29kZX0gLSAke2N0eC5lcnJvci5tZXNzYWdlfWA7XG5cbiAgICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UuZXJyb3IoXG4gICAgICAgICAgICBuZXcgVGFnZ2VkRXJyb3IoYGNvbm5lY3Rpb24gZXJyb3I6ICR7bWVzc2FnZX1gLCBbRXJyb3JUYWdzLldTXSwge1xuICAgICAgICAgICAgICBjaGFubmVsOiB3ZWJzb2NrZXRDaGFubmVsLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSlcbiAgICAgICAgLmNvbm5lY3QoKTtcblxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmNvbm5lY3Rpb24ubmV3U3Vic2NyaXB0aW9uKFxuICAgICAgICB3ZWJzb2NrZXRDaGFubmVsLFxuICAgICAgICB0aGlzLmdldFN1YnNjcmlwdGlvbk9wdGlvbnMod2Vic29ja2V0Q2hhbm5lbCksXG4gICAgICApO1xuXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvblxuICAgICAgICAub24oJ3N1YnNjcmliZWQnLCAoY3R4KSA9PiB7XG4gICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25Qb3NpdGlvbiA9IGN0eC5zdHJlYW1Qb3NpdGlvbjtcbiAgICAgICAgICB0aGlzLnByZXZTdWJzY3JpYmVkQ2hhbm5lbCA9IHdlYnNvY2tldENoYW5uZWw7XG4gICAgICAgIH0pXG4gICAgICAgIC5vbigncHVibGljYXRpb24nLCAoY3R4KSA9PiB7XG4gICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGN0eC5kYXRhIGFzIHN0cmluZztcblxuICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5pbmZvKFxuICAgICAgICAgICAgbmV3IFRhZ2dlZE1lc3NhZ2UoXG4gICAgICAgICAgICAgIGB3ZWJzb2NrZXQgbWVzc2FnZSByZWNlaXZlZDogJHttZXNzYWdlfWAsXG4gICAgICAgICAgICAgIFtNZXNzYWdlVGFncy5XU10sXG4gICAgICAgICAgICAgIHsgY2hhbm5lbDogd2Vic29ja2V0Q2hhbm5lbCB9LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgdGhpcy5pbmNvbWluZ01lc3NhZ2VzJC5uZXh0KGN0eCk7XG4gICAgICAgIH0pXG4gICAgICAgIC5vbignZXJyb3InLCAoY3R4KSA9PiB7XG4gICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGBjb2RlICR7Y3R4LmVycm9yLmNvZGV9IC0gJHtjdHguZXJyb3IubWVzc2FnZX1gO1xuXG4gICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmVycm9yKFxuICAgICAgICAgICAgbmV3IFRhZ2dlZEVycm9yKGBzdWJzY3JpcHRpb24gZXJyb3I6ICR7bWVzc2FnZX1gLCBbRXJyb3JUYWdzLldTXSwge1xuICAgICAgICAgICAgICBjaGFubmVsOiB3ZWJzb2NrZXRDaGFubmVsLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSlcbiAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkNvbm5lY3QoKTogdm9pZCB7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMub3BlbkNvbm5lY3Rpb25UaW1lcklkKTtcbiAgICB0aGlzLmlzQ29ubmVjdGluZyA9IGZhbHNlO1xuICAgIHRoaXMuaXNDb25uZWN0aW9uT3BlbiA9IHRydWU7XG4gIH1cblxuICBwcml2YXRlIG9uRGlzY29ubmVjdChcbiAgICBjdHg6IERpc2Nvbm5lY3RlZENvbnRleHQsXG4gICAgd2Vic29ja2V0Q2hhbm5lbDogc3RyaW5nLFxuICApOiB2b2lkIHtcbiAgICB0aGlzLmlzQ29ubmVjdGluZyA9IGZhbHNlO1xuICAgIHRoaXMuaXNDb25uZWN0aW9uT3BlbiA9IGZhbHNlO1xuXG4gICAgLyogSWYgY29ubmVjdGlvbiBlcnJvciwgY2F1c2UgYW55IGNvbm5lY3Rpb24gZXJyb3IgaXNuJ3QgMCAqL1xuICAgIGlmIChjdHguY29kZSAhPT0gMCkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGBjb2RlICR7Y3R4LmNvZGV9IC0gJHtjdHgucmVhc29ufWA7XG5cbiAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5lcnJvcihcbiAgICAgICAgbmV3IFRhZ2dlZEVycm9yKGBkaXNjb25uZWN0ZWQgZXJyb3I6ICR7bWVzc2FnZX1gLCBbRXJyb3JUYWdzLldTXSwge1xuICAgICAgICAgIGNoYW5uZWw6IHdlYnNvY2tldENoYW5uZWwsXG4gICAgICAgIH0pLFxuICAgICAgKTtcblxuICAgICAgKGFzeW5jICgpID0+IHtcbiAgICAgICAgYXdhaXQgdGhpcy53YWl0V2hpbGVOb3RSZWNvbm5lY3QoKTtcbiAgICAgIH0pKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByZWNvbm5lY3QoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgdGhpcy5jbGVhclJlY29ubmVjdGlvblRpbWVyKCk7XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIHRoaXMucmVjb25uZWN0aW9uVGltZXJJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmNyZWF0ZUNvbm5lY3Rpb24oKVxuICAgICAgICAgIC50aGVuKCgpID0+IHJlc29sdmUodHJ1ZSkpXG4gICAgICAgICAgLmNhdGNoKCgpID0+IHJlc29sdmUoZmFsc2UpKTtcbiAgICAgICAgdGhpcy5pbmNyZW1lbnRSZWNvbm5lY3Rpb25UaW1lb3V0KCk7XG4gICAgICB9LCB0aGlzLnJlY29ubmVjdGlvblRpbWVvdXRNcyk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHdhaXRXaGlsZU5vdFJlY29ubmVjdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmNsZWFyUmVjb25uZWN0aW9uVGltZXIoKTtcbiAgICB0aGlzLnNldEZpcnN0UmVjb25uZWN0aW9uVGltZW91dCgpO1xuXG4gICAgbGV0IGlzQ29ubmVjdGVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBiZWZvcmVUaW1lciA9IHBlcmZvcm1hbmNlLm5vdygpO1xuXG4gICAgd2hpbGUgKCFpc0Nvbm5lY3RlZCkge1xuICAgICAgaXNDb25uZWN0ZWQgPSBhd2FpdCB0aGlzLnJlY29ubmVjdCgpO1xuICAgIH1cblxuICAgIGNvbnN0IGFmdGVyVGltZXIgPSBwZXJmb3JtYW5jZS5ub3coKTtcblxuICAgIGNvbnN0IHRpbWVyRHVyYXRpb24gPSBhZnRlclRpbWVyIC0gYmVmb3JlVGltZXI7XG5cbiAgICB0aGlzLmxvZ2dlclNlcnZpY2UuZXJyb3IoXG4gICAgICBuZXcgVGFnZ2VkRXJyb3IoXG4gICAgICAgIGBmYWxsYmFjayB0byByZWNvbm5lY3Rpb24gdGltZXI6IGR1cmF0aW9uICR7dGltZXJEdXJhdGlvbn1tc2AsXG4gICAgICAgIFtFcnJvclRhZ3MuV1NdLFxuICAgICAgICB7XG4gICAgICAgICAgY2hhbm5lbDogdGhpcy5jaGFubmVsLFxuICAgICAgICB9LFxuICAgICAgKSxcbiAgICApO1xuXG4gICAgdGhpcy5zdWNjZXNzZnVsUmVjb25uZWN0aW9uRXZlbnRzUHJveHkkLm5leHQoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3Vic2NyaXB0aW9uT3B0aW9ucyhcbiAgICB3ZWJzb2NrZXRDaGFubmVsOiBzdHJpbmcsXG4gICk6IFBhcnRpYWw8U3Vic2NyaXB0aW9uT3B0aW9ucz4ge1xuICAgIGNvbnN0IG9wdGlvbnM6IFBhcnRpYWw8U3Vic2NyaXB0aW9uT3B0aW9ucz4gPSB7XG4gICAgICByZWNvdmVyYWJsZTogdHJ1ZSxcbiAgICB9O1xuXG4gICAgaWYgKFxuICAgICAgd2Vic29ja2V0Q2hhbm5lbCA9PT0gdGhpcy5wcmV2U3Vic2NyaWJlZENoYW5uZWwgJiZcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uUG9zaXRpb25cbiAgICApIHtcbiAgICAgIG9wdGlvbnMuc2luY2UgPSB0aGlzLnN1YnNjcmlwdGlvblBvc2l0aW9uO1xuICAgIH1cblxuICAgIHJldHVybiBvcHRpb25zO1xuICB9XG59XG4iXX0=
210
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VudHJpZnVnby13ZWItc29ja2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvd2ViLXNvY2tldC9jZW50cmlmdWdvLXdlYi1zb2NrZXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVFyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDdkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBRS9FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRXBFLE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7QUFLNUQsTUFBTSxPQUFPLDBCQUEwQjthQUNkLHVDQUFrQyxHQUFHLENBQUMsQUFBSixDQUFLO2FBSXRDLGVBQVUsR0FBRztRQUNuQyxZQUFZLEVBQUUsSUFBSTtRQUNsQix3QkFBd0IsRUFBRSxJQUFJO0tBQy9CLEFBSGlDLENBR2hDO0lBc0JGLFlBQW9DLGFBQTRCO1FBQTVCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBM0J6RCxTQUFJLEdBQUcsbUJBQW1CLENBQUMsVUFBVSxDQUFDO1FBUXJDLHdCQUFtQixHQUF5QyxJQUFJLENBQUM7UUFPakUscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBS1osc0JBQWlCLEdBQ2hDLElBQUksT0FBTyxFQUFzQixDQUFDO1FBRW5CLHVDQUFrQyxHQUNqRCxJQUFJLE9B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LE1BQU0sYUFBYSxHQUFHLFVBQVUsR0FBRyxXQUFXLENBQUM7UUFFL0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQ3RCLElBQUksV0FBVyxDQUNiLDRDQUE0QyxhQUFhLElBQUksRUFDN0QsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQ2Q7WUFDRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87U0FDdEIsQ0FDRixDQUNGLENBQUM7UUFFRixJQUFJLENBQUMsa0NBQWtDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDakQsQ0FBQztJQUVPLHNCQUFzQixDQUM1QixnQkFBd0I7UUFFeEIsTUFBTSxPQUFPLEdBQWlDO1lBQzVDLFdBQVcsRUFBRSxJQUFJO1NBQ2xCLENBQUM7UUFFRixJQUNFLGdCQUFnQixLQUFLLElBQUksQ0FBQyxxQkFBcUI7WUFDL0MsSUFBSSxDQUFDLG9CQUFvQixFQUN6QixDQUFDO1lBQ0QsT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUM7UUFDNUMsQ0FBQztRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7K0dBN1JVLDBCQUEwQjttSEFBMUIsMEJBQTBCLGNBRnpCLE1BQU07OzRGQUVQLDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB0eXBlIHtcbiAgQ2VudHJpZnVnZSxcbiAgRGlzY29ubmVjdGVkQ29udGV4dCxcbiAgUHVibGljYXRpb25Db250ZXh0LFxuICBTdWJzY3JpcHRpb24gYXMgQ2VudHJpZnVnZVN1YnNjcmlwdGlvbixcbn0gZnJvbSAnY2VudHJpZnVnZSc7XG5pbXBvcnQgeyBTdHJlYW1Qb3NpdGlvbiwgU3Vic2NyaXB0aW9uT3B0aW9ucyB9IGZyb20gJ2NlbnRyaWZ1Z2UvYnVpbGQvdHlwZXMnO1xuaW1wb3J0IHsgV3NFcnJvciB9IGZyb20gJy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZXJyb3JzL3dzLWVycm9yLmNsYXNzJztcbmltcG9ydCB7IEVycm9yVGFncyB9IGZyb20gJy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZXJyb3JzL2Vsay1lcnJvci10eXBlcy5lbnVtJztcbmltcG9ydCB7IFdlYlNvY2tldENsaWVudCB9IGZyb20gJy4vd2ViLXNvY2tldC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgV2ViU29ja2V0Q2xpZW50VHlwZSB9IGZyb20gJy4vd2ViLXNvY2tldC1jbGllbnQtdHlwZS5lbnVtJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi9leGNlcHRpb25zLWhhbmRsaW5nL2xvZ2dlci9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBNZXNzYWdlVGFncywgVGFnZ2VkTWVzc2FnZSB9IGZyb20gJy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvbWVzc2FnZXMnO1xuaW1wb3J0IHsgVGFnZ2VkRXJyb3IgfSBmcm9tICcuLi9leGNlcHRpb25zLWhhbmRsaW5nL2Vycm9ycyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBDZW50cmlmdWdvV2ViU29ja2V0U2VydmljZSBpbXBsZW1lbnRzIFdlYlNvY2tldENsaWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgcmVjb25uZWN0aW9uVGltZW91dEluY3JlbWVudEZhY3RvciA9IDI7XG5cbiAgcHVibGljIHR5cGUgPSBXZWJTb2NrZXRDbGllbnRUeXBlLmNlbnRyaWZ1Z287XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgdGltZW91dHNNcyA9IHtcbiAgICByZWNvbm5lY3Rpb246IDEwMDAsXG4gICAgcmVjb25uZWN0aW9uTWF4RGV2aWF0aW9uOiAxMDAwLFxuICB9O1xuXG4gIHByaXZhdGUgcmVjb25uZWN0aW9uVGltZW91dE1zITogbnVtYmVyO1xuICBwcml2YXRlIHJlY29ubmVjdGlvblRpbWVySWQ6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBvcGVuQ29ubmVjdGlvblRpbWVySWQ6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIGNvbm5lY3Rpb24hOiBDZW50cmlmdWdlO1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbiE6IENlbnRyaWZ1Z2VTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uUG9zaXRpb24/OiBTdHJlYW1Qb3NpdGlvbjtcbiAgcHJpdmF0ZSBpc0Nvbm5lY3Rpb25PcGVuID0gZmFsc2U7XG4gIHByaXZhdGUgaXNDb25uZWN0aW5nID0gZmFsc2U7XG4gIHByaXZhdGUgdXJsITogc3RyaW5nO1xuICBwcml2YXRlIGNoYW5uZWwhOiBzdHJpbmc7XG4gIHByaXZhdGUgcHJldlN1YnNjcmliZWRDaGFubmVsPzogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgaW5jb21pbmdNZXNzYWdlcyQ6IFN1YmplY3Q8UHVibGljYXRpb25Db250ZXh0PiA9XG4gICAgbmV3IFN1YmplY3Q8UHVibGljYXRpb25Db250ZXh0PigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgc3VjY2Vzc2Z1bFJlY29ubmVjdGlvbkV2ZW50c1Byb3h5JDogU3ViamVjdDx2b2lkPiA9XG4gICAgbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBsb2dnZXJTZXJ2aWNlOiBMb2dnZXJTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBhc3luYyBvcGVuKHVybDogc3RyaW5nLCBjaGFubmVsOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodXJsID09PSB0aGlzLnVybCAmJiBjaGFubmVsID09PSB0aGlzLmNoYW5uZWwpIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgdGhpcy51cmwgPSB1cmw7XG4gICAgICB0aGlzLmNoYW5uZWwgPSBjaGFubmVsO1xuICAgICAgYXdhaXQgdGhpcy5jcmVhdGVDb25uZWN0aW9uKHVybCwgY2hhbm5lbCk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgZXJyb3IgaXMgdW5rbm93blxuICAgICAgY29uc3QgbWVzc2FnZSA9IChlcnJvcj8ubWVzc2FnZSB8fCBlcnJvcikgYXMgc3RyaW5nO1xuICAgICAgY29uc3Qgd3NFcnJvciA9IG5ldyBXc0Vycm9yKFxuICAgICAgICBgdW5rbm93biB3ZWJzb2NrZXQgZXJyb3I6ICR7bWVzc2FnZX1gLFxuICAgICAgICBjaGFubmVsLFxuICAgICAgKTtcblxuICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmVycm9yKHdzRXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsZWFyUmVjb25uZWN0aW9uVGltZXIoKTtcblxuICAgIGlmICghdGhpcy5pc0Nvbm5lY3Rpb25PcGVuKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5jb25uZWN0aW9uPy5kaXNjb25uZWN0KCk7XG5cbiAgICB0aGlzLnVybCA9ICcnO1xuICAgIHRoaXMuY2hhbm5lbCA9ICcnO1xuICB9XG5cbiAgcHVibGljIGlzT3BlbmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzQ29ubmVjdGlvbk9wZW4gfHwgdGhpcy5pc0Nvbm5lY3Rpbmc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1lc3NhZ2VzJCgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmluY29taW5nTWVzc2FnZXMkXG4gICAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgICAvLyBldmVudCBkb24ndCByZXNwZWN0IHR5cGUgZnJvbSBhcmd1bWVudCwgaXQncyB3ZWlyZFxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1yZXR1cm5cbiAgICAgICAgLnBpcGUobWFwKChldmVudCkgPT4gZXZlbnQuZGF0YSkpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzdWJzY3JpYmVPblN1Y2Nlc3NmdWxSZWNvbm5lY3Rpb24obmV4dD86ICgpID0+IHZvaWQpOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLnN1Y2Nlc3NmdWxSZWNvbm5lY3Rpb25FdmVudHNQcm94eSRcbiAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgLnN1YnNjcmliZShuZXh0KTtcbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHByaXZhdGUgY2xlYXJSZWNvbm5lY3Rpb25UaW1lcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yZWNvbm5lY3Rpb25UaW1lcklkKSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5yZWNvbm5lY3Rpb25UaW1lcklkKTtcbiAgICAgIHRoaXMucmVjb25uZWN0aW9uVGltZXJJZCA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcHJpdmF0ZSBzZXRGaXJzdFJlY29ubmVjdGlvblRpbWVvdXQoKTogdm9pZCB7XG4gICAgY29uc3QgbWluID1cbiAgICAgIENlbnRyaWZ1Z29XZWJTb2NrZXRTZXJ2aWNlLnRpbWVvdXRzTXMucmVjb25uZWN0aW9uIC1cbiAgICAgIENlbnRyaWZ1Z29XZWJTb2NrZXRTZXJ2aWNlLnRpbWVvdXRzTXMucmVjb25uZWN0aW9uTWF4RGV2aWF0aW9uO1xuICAgIGNvbnN0IG1heCA9XG4gICAgICBDZW50cmlmdWdvV2ViU29ja2V0U2VydmljZS50aW1lb3V0c01zLnJlY29ubmVjdGlvbiArXG4gICAgICBDZW50cmlmdWdvV2ViU29ja2V0U2VydmljZS50aW1lb3V0c01zLnJlY29ubmVjdGlvbk1heERldmlhdGlvbjtcbiAgICB0aGlzLnJlY29ubmVjdGlvblRpbWVvdXRNcyA9XG4gICAgICBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAobWF4IC0gbWluICsgMSkpICsgbWluO1xuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcHJpdmF0ZSBpbmNyZW1lbnRSZWNvbm5lY3Rpb25UaW1lb3V0KCk6IHZvaWQge1xuICAgIHRoaXMucmVjb25uZWN0aW9uVGltZW91dE1zID1cbiAgICAgIHRoaXMucmVjb25uZWN0aW9uVGltZW91dE1zICpcbiAgICAgIENlbnRyaWZ1Z29XZWJTb2NrZXRTZXJ2aWNlLnJlY29ubmVjdGlvblRpbWVvdXRJbmNyZW1lbnRGYWN0b3I7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBwcml2YXRlIGFzeW5jIGdldENlbnRyaWZ1Z29DbGllbnQoKTogUHJvbWlzZTx0eXBlb2YgQ2VudHJpZnVnZT4ge1xuICAgIHJldHVybiBpbXBvcnQoJ2NlbnRyaWZ1Z2UnKS50aGVuKChtb2R1bGUpID0+IG1vZHVsZS5DZW50cmlmdWdlKTtcbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHByaXZhdGUgYXN5bmMgY3JlYXRlQ29ubmVjdGlvbihcbiAgICB1cmw/OiBzdHJpbmcsXG4gICAgY2hhbm5lbD86IHN0cmluZyxcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMuaXNDb25uZWN0aW9uT3BlbiB8fCB0aGlzLmlzQ29ubmVjdGluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICBjb25zdCBDZW50cmlmdWdlQ2xpZW50ID0gYXdhaXQgdGhpcy5nZXRDZW50cmlmdWdvQ2xpZW50KCk7XG5cbiAgICBjb25zdCB3ZWJzb2NrZXRVcmwgPSB1cmwgPz8gdGhpcy51cmw7XG4gICAgY29uc3Qgd2Vic29ja2V0Q2hhbm5lbCA9IGNoYW5uZWwgPz8gdGhpcy5jaGFubmVsO1xuXG4gICAgdGhpcy5jb25uZWN0aW9uID0gbmV3IENlbnRyaWZ1Z2VDbGllbnQod2Vic29ja2V0VXJsLCB7XG4gICAgICBkZWJ1ZzogdHJ1ZSxcbiAgICAgIG1heFJlY29ubmVjdERlbGF5OiAxNTAwLFxuICAgICAgbWF4U2VydmVyUGluZ0RlbGF5OiAxMDAwLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMuY29ubmVjdGlvblxuICAgICAgICAub24oJ2Nvbm5lY3RpbmcnLCAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5pc0Nvbm5lY3RpbmcgPSB0cnVlO1xuICAgICAgICB9KVxuICAgICAgICAub24oJ2Nvbm5lY3RlZCcsICgpID0+IHtcbiAgICAgICAgICB0aGlzLm9uQ29ubmVjdCgpO1xuICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgfSlcbiAgICAgICAgLm9uKCdkaXNjb25uZWN0ZWQnLCAoY3R4KSA9PiB7XG4gICAgICAgICAgdGhpcy5vbkRpc2Nvbm5lY3QoY3R4LCB3ZWJzb2NrZXRDaGFubmVsKTtcbiAgICAgICAgICByZWplY3QoKTtcbiAgICAgICAgfSlcbiAgICAgICAgLm9uKCdlcnJvcicsIChjdHgpID0+IHtcbiAgICAgICAgICBjb25zdCBtZXNzYWdlID0gYGNvZGUgJHtjdHguZXJyb3IuY29kZX0gLSAke2N0eC5lcnJvci5tZXNzYWdlfWA7XG5cbiAgICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UuZXJyb3IoXG4gICAgICAgICAgICBuZXcgVGFnZ2VkRXJyb3IoYGNvbm5lY3Rpb24gZXJyb3I6ICR7bWVzc2FnZX1gLCBbRXJyb3JUYWdzLldTXSwge1xuICAgICAgICAgICAgICBjaGFubmVsOiB3ZWJzb2NrZXRDaGFubmVsLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSlcbiAgICAgICAgLmNvbm5lY3QoKTtcblxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmNvbm5lY3Rpb24ubmV3U3Vic2NyaXB0aW9uKFxuICAgICAgICB3ZWJzb2NrZXRDaGFubmVsLFxuICAgICAgICB0aGlzLmdldFN1YnNjcmlwdGlvbk9wdGlvbnMod2Vic29ja2V0Q2hhbm5lbCksXG4gICAgICApO1xuXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvblxuICAgICAgICAub24oJ3N1YnNjcmliZWQnLCAoY3R4KSA9PiB7XG4gICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25Qb3NpdGlvbiA9IGN0eC5zdHJlYW1Qb3NpdGlvbjtcbiAgICAgICAgICB0aGlzLnByZXZTdWJzY3JpYmVkQ2hhbm5lbCA9IHdlYnNvY2tldENoYW5uZWw7XG4gICAgICAgIH0pXG4gICAgICAgIC5vbigncHVibGljYXRpb24nLCAoY3R4KSA9PiB7XG4gICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGN0eC5kYXRhIGFzIHN0cmluZztcblxuICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5pbmZvKFxuICAgICAgICAgICAgbmV3IFRhZ2dlZE1lc3NhZ2UoXG4gICAgICAgICAgICAgIGB3ZWJzb2NrZXQgbWVzc2FnZSByZWNlaXZlZDogJHttZXNzYWdlfWAsXG4gICAgICAgICAgICAgIFtNZXNzYWdlVGFncy5XU10sXG4gICAgICAgICAgICAgIHsgY2hhbm5lbDogd2Vic29ja2V0Q2hhbm5lbCB9LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgdGhpcy5pbmNvbWluZ01lc3NhZ2VzJC5uZXh0KGN0eCk7XG4gICAgICAgIH0pXG4gICAgICAgIC5vbignZXJyb3InLCAoY3R4KSA9PiB7XG4gICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGBjb2RlICR7Y3R4LmVycm9yLmNvZGV9IC0gJHtjdHguZXJyb3IubWVzc2FnZX1gO1xuXG4gICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmVycm9yKFxuICAgICAgICAgICAgbmV3IFRhZ2dlZEVycm9yKGBzdWJzY3JpcHRpb24gZXJyb3I6ICR7bWVzc2FnZX1gLCBbRXJyb3JUYWdzLldTXSwge1xuICAgICAgICAgICAgICBjaGFubmVsOiB3ZWJzb2NrZXRDaGFubmVsLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSlcbiAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkNvbm5lY3QoKTogdm9pZCB7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMub3BlbkNvbm5lY3Rpb25UaW1lcklkKTtcbiAgICB0aGlzLmlzQ29ubmVjdGluZyA9IGZhbHNlO1xuICAgIHRoaXMuaXNDb25uZWN0aW9uT3BlbiA9IHRydWU7XG4gIH1cblxuICBwcml2YXRlIG9uRGlzY29ubmVjdChcbiAgICBjdHg6IERpc2Nvbm5lY3RlZENvbnRleHQsXG4gICAgd2Vic29ja2V0Q2hhbm5lbDogc3RyaW5nLFxuICApOiB2b2lkIHtcbiAgICB0aGlzLmlzQ29ubmVjdGluZyA9IGZhbHNlO1xuICAgIHRoaXMuaXNDb25uZWN0aW9uT3BlbiA9IGZhbHNlO1xuXG4gICAgLyogSWYgY29ubmVjdGlvbiBlcnJvciwgY2F1c2UgYW55IGNvbm5lY3Rpb24gZXJyb3IgaXNuJ3QgMCAqL1xuICAgIGlmIChjdHguY29kZSAhPT0gMCkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGBjb2RlICR7Y3R4LmNvZGV9IC0gJHtjdHgucmVhc29ufWA7XG5cbiAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5lcnJvcihcbiAgICAgICAgbmV3IFRhZ2dlZEVycm9yKGBkaXNjb25uZWN0ZWQgZXJyb3I6ICR7bWVzc2FnZX1gLCBbRXJyb3JUYWdzLldTXSwge1xuICAgICAgICAgIGNoYW5uZWw6IHdlYnNvY2tldENoYW5uZWwsXG4gICAgICAgIH0pLFxuICAgICAgKTtcblxuICAgICAgKGFzeW5jICgpID0+IHtcbiAgICAgICAgYXdhaXQgdGhpcy53YWl0V2hpbGVOb3RSZWNvbm5lY3QoKTtcbiAgICAgIH0pKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByZWNvbm5lY3QoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgdGhpcy5jbGVhclJlY29ubmVjdGlvblRpbWVyKCk7XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIHRoaXMucmVjb25uZWN0aW9uVGltZXJJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmNyZWF0ZUNvbm5lY3Rpb24oKVxuICAgICAgICAgIC50aGVuKCgpID0+IHJlc29sdmUodHJ1ZSkpXG4gICAgICAgICAgLmNhdGNoKCgpID0+IHJlc29sdmUoZmFsc2UpKTtcbiAgICAgICAgdGhpcy5pbmNyZW1lbnRSZWNvbm5lY3Rpb25UaW1lb3V0KCk7XG4gICAgICB9LCB0aGlzLnJlY29ubmVjdGlvblRpbWVvdXRNcyk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHdhaXRXaGlsZU5vdFJlY29ubmVjdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmNsZWFyUmVjb25uZWN0aW9uVGltZXIoKTtcbiAgICB0aGlzLnNldEZpcnN0UmVjb25uZWN0aW9uVGltZW91dCgpO1xuXG4gICAgbGV0IGlzQ29ubmVjdGVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBiZWZvcmVUaW1lciA9IHBlcmZvcm1hbmNlLm5vdygpO1xuXG4gICAgd2hpbGUgKCFpc0Nvbm5lY3RlZCkge1xuICAgICAgaXNDb25uZWN0ZWQgPSBhd2FpdCB0aGlzLnJlY29ubmVjdCgpO1xuICAgIH1cblxuICAgIGNvbnN0IGFmdGVyVGltZXIgPSBwZXJmb3JtYW5jZS5ub3coKTtcblxuICAgIGNvbnN0IHRpbWVyRHVyYXRpb24gPSBhZnRlclRpbWVyIC0gYmVmb3JlVGltZXI7XG5cbiAgICB0aGlzLmxvZ2dlclNlcnZpY2UuZXJyb3IoXG4gICAgICBuZXcgVGFnZ2VkRXJyb3IoXG4gICAgICAgIGBmYWxsYmFjayB0byByZWNvbm5lY3Rpb24gdGltZXI6IGR1cmF0aW9uICR7dGltZXJEdXJhdGlvbn1tc2AsXG4gICAgICAgIFtFcnJvclRhZ3MuV1NdLFxuICAgICAgICB7XG4gICAgICAgICAgY2hhbm5lbDogdGhpcy5jaGFubmVsLFxuICAgICAgICB9LFxuICAgICAgKSxcbiAgICApO1xuXG4gICAgdGhpcy5zdWNjZXNzZnVsUmVjb25uZWN0aW9uRXZlbnRzUHJveHkkLm5leHQoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3Vic2NyaXB0aW9uT3B0aW9ucyhcbiAgICB3ZWJzb2NrZXRDaGFubmVsOiBzdHJpbmcsXG4gICk6IFBhcnRpYWw8U3Vic2NyaXB0aW9uT3B0aW9ucz4ge1xuICAgIGNvbnN0IG9wdGlvbnM6IFBhcnRpYWw8U3Vic2NyaXB0aW9uT3B0aW9ucz4gPSB7XG4gICAgICByZWNvdmVyYWJsZTogdHJ1ZSxcbiAgICB9O1xuXG4gICAgaWYgKFxuICAgICAgd2Vic29ja2V0Q2hhbm5lbCA9PT0gdGhpcy5wcmV2U3Vic2NyaWJlZENoYW5uZWwgJiZcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uUG9zaXRpb25cbiAgICApIHtcbiAgICAgIG9wdGlvbnMuc2luY2UgPSB0aGlzLnN1YnNjcmlwdGlvblBvc2l0aW9uO1xuICAgIH1cblxuICAgIHJldHVybiBvcHRpb25zO1xuICB9XG59XG4iXX0=
@@ -23,6 +23,9 @@ export class NchanWebSocketService {
23
23
  if (url === this.url) {
24
24
  this.close();
25
25
  }
26
+ if (this.openPromise && this.url && url !== this.url && !this.isClosed()) {
27
+ this.close();
28
+ }
26
29
  if (this.openPromise && !this.isClosed()) {
27
30
  return this.openPromise;
28
31
  }
@@ -56,6 +59,9 @@ export class NchanWebSocketService {
56
59
  .asObservable()
57
60
  .subscribe(next);
58
61
  }
62
+ isOpened() {
63
+ return !this.isClosed();
64
+ }
59
65
  isClosed() {
60
66
  if (!this.connection) {
61
67
  return true;
@@ -135,4 +141,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
135
141
  providedIn: 'root',
136
142
  }]
137
143
  }], ctorParameters: () => [{ type: i1.LoggerService }] });
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmNoYW4td2ViLXNvY2tldC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3dlYi1zb2NrZXQvbmNoYW4td2ViLXNvY2tldC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRXBFLE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7OztBQUs3RSxNQUFNLE9BQU8scUJBQXFCO2FBQ1QsdUNBQWtDLEdBQUcsQ0FBQyxBQUFKLENBQUs7YUFNdEMsZUFBVSxHQUFHO1FBQ25DLFlBQVksRUFBRSxJQUFJO1FBQ2xCLHdCQUF3QixFQUFFLElBQUk7S0FDL0IsQUFIaUMsQ0FHaEM7SUFnQkYsWUFBb0MsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFyQnpELFNBQUksR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUM7UUFPaEMsZ0JBQVcsR0FBNEIsSUFBSSxDQUFDO1FBRzVDLHdCQUFtQixHQUF5QyxJQUFJLENBQUM7UUFNeEQsc0JBQWlCLEdBQ2hDLElBQUksT0FBTyxFQUFnQixDQUFDO1FBQ2IsdUNBQWtDLEdBQ2pELElBQUksT0FBTyxFQUFRLENBQUM7SUFFNkMsQ0FBQztJQUU3RCxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQVc7UUFDM0IsSUFBSSxHQUFHLEtBQUssSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNmLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxXQUFX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QUFDLElBQUksQ0FBQyxDQUFDO3FCQUN6QixLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQy9CLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1lBQ3RDLENBQUMsRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCwwQkFBMEI7SUFDbEIsS0FBSyxDQUFDLHFCQUFxQjtRQUNqQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztRQUVuQyxJQUFJLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFFeEIsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3BCLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN2QyxDQUFDO1FBRUQsSUFBSSxDQUFDLGtDQUFrQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2pELENBQUM7K0dBcktVLHFCQUFxQjttSEFBckIscUJBQXFCLGNBRnBCLE1BQU07OzRGQUVQLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFdlYlNvY2tldENsaWVudCB9IGZyb20gJy4vd2ViLXNvY2tldC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgV2ViU29ja2V0Q2xpZW50VHlwZSB9IGZyb20gJy4vd2ViLXNvY2tldC1jbGllbnQtdHlwZS5lbnVtJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi9leGNlcHRpb25zLWhhbmRsaW5nL2xvZ2dlci9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBNZXNzYWdlVGFncywgVGFnZ2VkTWVzc2FnZSB9IGZyb20gJy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvbWVzc2FnZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTmNoYW5XZWJTb2NrZXRTZXJ2aWNlIGltcGxlbWVudHMgV2ViU29ja2V0Q2xpZW50IHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSByZWNvbm5lY3Rpb25UaW1lb3V0SW5jcmVtZW50RmFjdG9yID0gMjtcblxuICBwdWJsaWMgdXJsITogc3RyaW5nO1xuXG4gIHB1YmxpYyB0eXBlID0gV2ViU29ja2V0Q2xpZW50VHlwZS5uY2hhbjtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSB0aW1lb3V0c01zID0ge1xuICAgIHJlY29ubmVjdGlvbjogMTUwMCxcbiAgICByZWNvbm5lY3Rpb25NYXhEZXZpYXRpb246IDE1MDAsXG4gIH07XG5cbiAgcHJpdmF0ZSBvcGVuUHJvbWlzZTogUHJvbWlzZTx1bmtub3duPiB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgcmVjb25uZWN0aW9uVGltZW91dE1zITogbnVtYmVyO1xuICBwcml2YXRlIHJlY29ubmVjdGlvblRpbWVySWQ6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBvcGVuQ29ubmVjdGlvblRpbWVySWQ6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIGNvbm5lY3Rpb24hOiBXZWJTb2NrZXQ7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBpbmNvbWluZ01lc3NhZ2VzJDogU3ViamVjdDxNZXNzYWdlRXZlbnQ+ID1cbiAgICBuZXcgU3ViamVjdDxNZXNzYWdlRXZlbnQ+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgc3VjY2Vzc2Z1bFJlY29ubmVjdGlvbkV2ZW50c1Byb3h5JDogU3ViamVjdDx2b2lkPiA9XG4gICAgbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBsb2dnZXJTZXJ2aWNlOiBMb2dnZXJTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBhc3luYyBvcGVuKHVybDogc3RyaW5nKTogUHJvbWlzZTx1bmtub3duPiB7XG4gICAgaWYgKHVybCA9PT0gdGhpcy51cmwpIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5vcGVuUHJvbWlzZSAmJiAhdGhpcy5pc0Nsb3NlZCgpKSB7XG4gICAgICByZXR1cm4gdGhpcy5vcGVuUHJvbWlzZTtcbiAgICB9XG5cbiAgICB0aGlzLnVybCA9IHVybDtcblxuICAgIHRoaXMub3BlblByb21pc2UgPSB0aGlzLmNyZWF0ZUNvbm5lY3Rpb24oKVxuICAgICAgLmNhdGNoKGFzeW5jICgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMud2FpdFdoaWxlTm90UmVjb25uZWN0KCk7XG4gICAgICB9KVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLmNvbm5lY3Rpb24ub25jbG9zZSA9IGFzeW5jICgpID0+IHRoaXMub3Blbih1cmwpO1xuICAgICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5vcGVuUHJvbWlzZTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsZWFyUmVjb25uZWN0aW9uVGltZXIoKTtcblxuICAgIGlmICh0aGlzLmlzQ2xvc2VkKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmNvbm5lY3Rpb24ub25jbG9zZSA9IG51bGw7XG4gICAgdGhpcy5jb25uZWN0aW9uLmNsb3NlKCk7XG5cbiAgICB0aGlzLm9wZW5Qcm9taXNlID0gbnVsbDtcblxuICAgIHRoaXMudXJsID0gJyc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1lc3NhZ2VzJCgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmluY29taW5nTWVzc2FnZXMkXG4gICAgICAuYXNPYnNlcnZhYmxlKClcbiAgICAgIC5waXBlKG1hcCgoZXZlbnQ6IE1lc3NhZ2VFdmVudDxzdHJpbmc+KSA9PiBldmVudC5kYXRhKSk7XG4gIH1cblxuICBwdWJsaWMgc3Vic2NyaWJlT25TdWNjZXNzZnVsUmVjb25uZWN0aW9uKG5leHQ/OiAoKSA9PiB2b2lkKTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5zdWNjZXNzZnVsUmVjb25uZWN0aW9uRXZlbnRzUHJveHkkXG4gICAgICAuYXNPYnNlcnZhYmxlKClcbiAgICAgIC5zdWJzY3JpYmUobmV4dCk7XG4gIH1cblxuICBwcml2YXRlIGlzQ2xvc2VkKCk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5jb25uZWN0aW9uKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgW3RoaXMuY29ubmVjdGlvbi5DTE9TRUQsIHRoaXMuY29ubmVjdGlvbi5DTE9TSU5HXSBhcyBudW1iZXJbXVxuICAgICkuaW5jbHVkZXModGhpcy5jb25uZWN0aW9uLnJlYWR5U3RhdGUpO1xuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcHJpdmF0ZSBjbGVhclJlY29ubmVjdGlvblRpbWVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJlY29ubmVjdGlvblRpbWVySWQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnJlY29ubmVjdGlvblRpbWVySWQpO1xuICAgICAgdGhpcy5yZWNvbm5lY3Rpb25UaW1lcklkID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBwcml2YXRlIHNldEZpcnN0UmVjb25uZWN0aW9uVGltZW91dCgpOiB2b2lkIHtcbiAgICBjb25zdCBtaW4gPVxuICAgICAgTmNoYW5XZWJTb2NrZXRTZXJ2aWNlLnRpbWVvdXRzTXMucmVjb25uZWN0aW9uIC1cbiAgICAgIE5jaGFuV2ViU29ja2V0U2VydmljZS50aW1lb3V0c01zLnJlY29ubmVjdGlvbk1heERldmlhdGlvbjtcbiAgICBjb25zdCBtYXggPVxuICAgICAgTmNoYW5XZWJTb2NrZXRTZXJ2aWNlLnRpbWVvdXRzTXMucmVjb25uZWN0aW9uICtcbiAgICAgIE5jaGFuV2ViU29ja2V0U2VydmljZS50aW1lb3V0c01zLnJlY29ubmVjdGlvbk1heERldmlhdGlvbjtcbiAgICB0aGlzLnJlY29ubmVjdGlvblRpbWVvdXRNcyA9XG4gICAgICBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAobWF4IC0gbWluICsgMSkpICsgbWluO1xuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcHJpdmF0ZSBpbmNyZW1lbnRSZWNvbm5lY3Rpb25UaW1lb3V0KCk6IHZvaWQge1xuICAgIHRoaXMucmVjb25uZWN0aW9uVGltZW91dE1zID1cbiAgICAgIHRoaXMucmVjb25uZWN0aW9uVGltZW91dE1zICpcbiAgICAgIE5jaGFuV2ViU29ja2V0U2VydmljZS5yZWNvbm5lY3Rpb25UaW1lb3V0SW5jcmVtZW50RmFjdG9yO1xuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcHJpdmF0ZSBhc3luYyBjcmVhdGVDb25uZWN0aW9uKCk6IFByb21pc2U8dW5rbm93bj4ge1xuICAgIHRoaXMuY29ubmVjdGlvbiA9IG5ldyBXZWJTb2NrZXQodGhpcy51cmwpO1xuICAgIHRoaXMuY29ubmVjdGlvbi5vbm1lc3NhZ2UgPSAoZXZlbnQ6IE1lc3NhZ2VFdmVudCkgPT4ge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGV2ZW50LmRhdGEgYXMgc3RyaW5nO1xuICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmluZm8oXG4gICAgICAgIG5ldyBUYWdnZWRNZXNzYWdlKGB3ZWJzb2NrZXQgbWVzc2FnZSByZWNlaXZlZDogJHttZXNzYWdlfWAsIFtcbiAgICAgICAgICBNZXNzYWdlVGFncy5XUyxcbiAgICAgICAgXSksXG4gICAgICApO1xuICAgICAgdGhpcy5pbmNvbWluZ01lc3NhZ2VzJC5uZXh0KGV2ZW50KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMuY29ubmVjdGlvbi5vbm9wZW4gPSAoKSA9PiB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLm9wZW5Db25uZWN0aW9uVGltZXJJZCk7XG4gICAgICAgIHJlc29sdmUoKTtcbiAgICAgIH07XG5cbiAgICAgIHRoaXMuY29ubmVjdGlvbi5vbmNsb3NlID0gKCkgPT4ge1xuICAgICAgICByZWplY3QoKTtcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBwcml2YXRlIGFzeW5jIHJlY29ubmVjdCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICB0aGlzLmNsZWFyUmVjb25uZWN0aW9uVGltZXIoKTtcblxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgdGhpcy5yZWNvbm5lY3Rpb25UaW1lcklkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuY3JlYXRlQ29ubmVjdGlvbigpXG4gICAgICAgICAgLnRoZW4oKCkgPT4gcmVzb2x2ZSh0cnVlKSlcbiAgICAgICAgICAuY2F0Y2goKCkgPT4gcmVzb2x2ZShmYWxzZSkpO1xuICAgICAgICB0aGlzLmluY3JlbWVudFJlY29ubmVjdGlvblRpbWVvdXQoKTtcbiAgICAgIH0sIHRoaXMucmVjb25uZWN0aW9uVGltZW91dE1zKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHByaXZhdGUgYXN5bmMgd2FpdFdoaWxlTm90UmVjb25uZWN0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuY2xlYXJSZWNvbm5lY3Rpb25UaW1lcigpO1xuICAgIHRoaXMuc2V0Rmlyc3RSZWNvbm5lY3Rpb25UaW1lb3V0KCk7XG5cbiAgICBsZXQgaXNDb25uZWN0ZWQgPSBmYWxzZTtcblxuICAgIHdoaWxlICghaXNDb25uZWN0ZWQpIHtcbiAgICAgIGlzQ29ubmVjdGVkID0gYXdhaXQgdGhpcy5yZWNvbm5lY3QoKTtcbiAgICB9XG5cbiAgICB0aGlzLnN1Y2Nlc3NmdWxSZWNvbm5lY3Rpb25FdmVudHNQcm94eSQubmV4dCgpO1xuICB9XG59XG4iXX0=
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmNoYW4td2ViLXNvY2tldC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3dlYi1zb2NrZXQvbmNoYW4td2ViLXNvY2tldC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRXBFLE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7OztBQUs3RSxNQUFNLE9BQU8scUJBQXFCO2FBQ1QsdUNBQWtDLEdBQUcsQ0FBQyxBQUFKLENBQUs7YUFNdEMsZUFBVSxHQUFHO1FBQ25DLFlBQVksRUFBRSxJQUFJO1FBQ2xCLHdCQUF3QixFQUFFLElBQUk7S0FDL0IsQUFIaUMsQ0FHaEM7SUFnQkYsWUFBb0MsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFyQnpELFNBQUksR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUM7UUFPaEMsZ0JBQVcsR0FBNEIsSUFBSSxDQUFDO1FBRzVDLHdCQUFtQixHQUF5QyxJQUFJLENBQUM7UUFNeEQsc0JBQWlCLEdBQ2hDLElBQUksT0FBTyxFQUFnQixDQUFDO1FBQ2IsdUNBQWtDLEdBQ2pELElBQUksT0FBTyxFQUFRLENBQUM7SUFFNkMsQ0FBQztJQUU3RCxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQVc7UUFDM0IsSUFBSSxHQUFHLEtBQUssSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNmLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxXQUFX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QjtJQUNsQixLQUFLLENBQUMsU0FBUztRQUNyQixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUU5QixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDN0IsSUFBSSxDQUFDLG1CQUFtQixHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3pDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtxQkFDcEIsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztxQkFDekIsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUMvQixJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztZQUN0QyxDQUFDLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsMEJBQTBCO0lBQ2xCLEtBQUssQ0FBQyxxQkFBcUI7UUFDakMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7UUFFbkMsSUFBSSxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBRXhCLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNwQixXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDdkMsQ0FBQztRQUVELElBQUksQ0FBQyxrQ0FBa0MsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNqRCxDQUFDOytHQTdLVSxxQkFBcUI7bUhBQXJCLHFCQUFxQixjQUZwQixNQUFNOzs0RkFFUCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBXZWJTb2NrZXRDbGllbnQgfSBmcm9tICcuL3dlYi1zb2NrZXQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFdlYlNvY2tldENsaWVudFR5cGUgfSBmcm9tICcuL3dlYi1zb2NrZXQtY2xpZW50LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vZXhjZXB0aW9ucy1oYW5kbGluZy9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWVzc2FnZVRhZ3MsIFRhZ2dlZE1lc3NhZ2UgfSBmcm9tICcuLi9leGNlcHRpb25zLWhhbmRsaW5nL21lc3NhZ2VzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE5jaGFuV2ViU29ja2V0U2VydmljZSBpbXBsZW1lbnRzIFdlYlNvY2tldENsaWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgcmVjb25uZWN0aW9uVGltZW91dEluY3JlbWVudEZhY3RvciA9IDI7XG5cbiAgcHVibGljIHVybCE6IHN0cmluZztcblxuICBwdWJsaWMgdHlwZSA9IFdlYlNvY2tldENsaWVudFR5cGUubmNoYW47XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgdGltZW91dHNNcyA9IHtcbiAgICByZWNvbm5lY3Rpb246IDE1MDAsXG4gICAgcmVjb25uZWN0aW9uTWF4RGV2aWF0aW9uOiAxNTAwLFxuICB9O1xuXG4gIHByaXZhdGUgb3BlblByb21pc2U6IFByb21pc2U8dW5rbm93bj4gfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIHJlY29ubmVjdGlvblRpbWVvdXRNcyE6IG51bWJlcjtcbiAgcHJpdmF0ZSByZWNvbm5lY3Rpb25UaW1lcklkOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgb3BlbkNvbm5lY3Rpb25UaW1lcklkOiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbiAgcHJpdmF0ZSBjb25uZWN0aW9uITogV2ViU29ja2V0O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgaW5jb21pbmdNZXNzYWdlcyQ6IFN1YmplY3Q8TWVzc2FnZUV2ZW50PiA9XG4gICAgbmV3IFN1YmplY3Q8TWVzc2FnZUV2ZW50PigpO1xuICBwcml2YXRlIHJlYWRvbmx5IHN1Y2Nlc3NmdWxSZWNvbm5lY3Rpb25FdmVudHNQcm94eSQ6IFN1YmplY3Q8dm9pZD4gPVxuICAgIG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyU2VydmljZTogTG9nZ2VyU2VydmljZSkge31cblxuICBwdWJsaWMgYXN5bmMgb3Blbih1cmw6IHN0cmluZyk6IFByb21pc2U8dW5rbm93bj4ge1xuICAgIGlmICh1cmwgPT09IHRoaXMudXJsKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMub3BlblByb21pc2UgJiYgdGhpcy51cmwgJiYgdXJsICE9PSB0aGlzLnVybCAmJiAhdGhpcy5pc0Nsb3NlZCgpKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMub3BlblByb21pc2UgJiYgIXRoaXMuaXNDbG9zZWQoKSkge1xuICAgICAgcmV0dXJuIHRoaXMub3BlblByb21pc2U7XG4gICAgfVxuXG4gICAgdGhpcy51cmwgPSB1cmw7XG5cbiAgICB0aGlzLm9wZW5Qcm9taXNlID0gdGhpcy5jcmVhdGVDb25uZWN0aW9uKClcbiAgICAgIC5jYXRjaChhc3luYyAoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLndhaXRXaGlsZU5vdFJlY29ubmVjdCgpO1xuICAgICAgfSlcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5jb25uZWN0aW9uLm9uY2xvc2UgPSBhc3luYyAoKSA9PiB0aGlzLm9wZW4odXJsKTtcbiAgICAgIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMub3BlblByb21pc2U7XG4gIH1cblxuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5jbGVhclJlY29ubmVjdGlvblRpbWVyKCk7XG5cbiAgICBpZiAodGhpcy5pc0Nsb3NlZCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5jb25uZWN0aW9uLm9uY2xvc2UgPSBudWxsO1xuICAgIHRoaXMuY29ubmVjdGlvbi5jbG9zZSgpO1xuXG4gICAgdGhpcy5vcGVuUHJvbWlzZSA9IG51bGw7XG5cbiAgICB0aGlzLnVybCA9ICcnO1xuICB9XG5cbiAgcHVibGljIGdldCBtZXNzYWdlcyQoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5pbmNvbWluZ01lc3NhZ2VzJFxuICAgICAgLmFzT2JzZXJ2YWJsZSgpXG4gICAgICAucGlwZShtYXAoKGV2ZW50OiBNZXNzYWdlRXZlbnQ8c3RyaW5nPikgPT4gZXZlbnQuZGF0YSkpO1xuICB9XG5cbiAgcHVibGljIHN1YnNjcmliZU9uU3VjY2Vzc2Z1bFJlY29ubmVjdGlvbihuZXh0PzogKCkgPT4gdm9pZCk6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuc3VjY2Vzc2Z1bFJlY29ubmVjdGlvbkV2ZW50c1Byb3h5JFxuICAgICAgLmFzT2JzZXJ2YWJsZSgpXG4gICAgICAuc3Vic2NyaWJlKG5leHQpO1xuICB9XG5cbiAgcHVibGljIGlzT3BlbmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5pc0Nsb3NlZCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0Nsb3NlZCgpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuY29ubmVjdGlvbikge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIFt0aGlzLmNvbm5lY3Rpb24uQ0xPU0VELCB0aGlzLmNvbm5lY3Rpb24uQ0xPU0lOR10gYXMgbnVtYmVyW11cbiAgICApLmluY2x1ZGVzKHRoaXMuY29ubmVjdGlvbi5yZWFkeVN0YXRlKTtcbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHByaXZhdGUgY2xlYXJSZWNvbm5lY3Rpb25UaW1lcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yZWNvbm5lY3Rpb25UaW1lcklkKSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5yZWNvbm5lY3Rpb25UaW1lcklkKTtcbiAgICAgIHRoaXMucmVjb25uZWN0aW9uVGltZXJJZCA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcHJpdmF0ZSBzZXRGaXJzdFJlY29ubmVjdGlvblRpbWVvdXQoKTogdm9pZCB7XG4gICAgY29uc3QgbWluID1cbiAgICAgIE5jaGFuV2ViU29ja2V0U2VydmljZS50aW1lb3V0c01zLnJlY29ubmVjdGlvbiAtXG4gICAgICBOY2hhbldlYlNvY2tldFNlcnZpY2UudGltZW91dHNNcy5yZWNvbm5lY3Rpb25NYXhEZXZpYXRpb247XG4gICAgY29uc3QgbWF4ID1cbiAgICAgIE5jaGFuV2ViU29ja2V0U2VydmljZS50aW1lb3V0c01zLnJlY29ubmVjdGlvbiArXG4gICAgICBOY2hhbldlYlNvY2tldFNlcnZpY2UudGltZW91dHNNcy5yZWNvbm5lY3Rpb25NYXhEZXZpYXRpb247XG4gICAgdGhpcy5yZWNvbm5lY3Rpb25UaW1lb3V0TXMgPVxuICAgICAgTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKG1heCAtIG1pbiArIDEpKSArIG1pbjtcbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHByaXZhdGUgaW5jcmVtZW50UmVjb25uZWN0aW9uVGltZW91dCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlY29ubmVjdGlvblRpbWVvdXRNcyA9XG4gICAgICB0aGlzLnJlY29ubmVjdGlvblRpbWVvdXRNcyAqXG4gICAgICBOY2hhbldlYlNvY2tldFNlcnZpY2UucmVjb25uZWN0aW9uVGltZW91dEluY3JlbWVudEZhY3RvcjtcbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHByaXZhdGUgYXN5bmMgY3JlYXRlQ29ubmVjdGlvbigpOiBQcm9taXNlPHVua25vd24+IHtcbiAgICB0aGlzLmNvbm5lY3Rpb24gPSBuZXcgV2ViU29ja2V0KHRoaXMudXJsKTtcbiAgICB0aGlzLmNvbm5lY3Rpb24ub25tZXNzYWdlID0gKGV2ZW50OiBNZXNzYWdlRXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBldmVudC5kYXRhIGFzIHN0cmluZztcbiAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5pbmZvKFxuICAgICAgICBuZXcgVGFnZ2VkTWVzc2FnZShgd2Vic29ja2V0IG1lc3NhZ2UgcmVjZWl2ZWQ6ICR7bWVzc2FnZX1gLCBbXG4gICAgICAgICAgTWVzc2FnZVRhZ3MuV1MsXG4gICAgICAgIF0pLFxuICAgICAgKTtcbiAgICAgIHRoaXMuaW5jb21pbmdNZXNzYWdlcyQubmV4dChldmVudCk7XG4gICAgfTtcblxuICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB0aGlzLmNvbm5lY3Rpb24ub25vcGVuID0gKCkgPT4ge1xuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5vcGVuQ29ubmVjdGlvblRpbWVySWQpO1xuICAgICAgICByZXNvbHZlKCk7XG4gICAgICB9O1xuXG4gICAgICB0aGlzLmNvbm5lY3Rpb24ub25jbG9zZSA9ICgpID0+IHtcbiAgICAgICAgcmVqZWN0KCk7XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcHJpdmF0ZSBhc3luYyByZWNvbm5lY3QoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgdGhpcy5jbGVhclJlY29ubmVjdGlvblRpbWVyKCk7XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIHRoaXMucmVjb25uZWN0aW9uVGltZXJJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmNyZWF0ZUNvbm5lY3Rpb24oKVxuICAgICAgICAgIC50aGVuKCgpID0+IHJlc29sdmUodHJ1ZSkpXG4gICAgICAgICAgLmNhdGNoKCgpID0+IHJlc29sdmUoZmFsc2UpKTtcbiAgICAgICAgdGhpcy5pbmNyZW1lbnRSZWNvbm5lY3Rpb25UaW1lb3V0KCk7XG4gICAgICB9LCB0aGlzLnJlY29ubmVjdGlvblRpbWVvdXRNcyk7XG4gICAgfSk7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBwcml2YXRlIGFzeW5jIHdhaXRXaGlsZU5vdFJlY29ubmVjdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmNsZWFyUmVjb25uZWN0aW9uVGltZXIoKTtcbiAgICB0aGlzLnNldEZpcnN0UmVjb25uZWN0aW9uVGltZW91dCgpO1xuXG4gICAgbGV0IGlzQ29ubmVjdGVkID0gZmFsc2U7XG5cbiAgICB3aGlsZSAoIWlzQ29ubmVjdGVkKSB7XG4gICAgICBpc0Nvbm5lY3RlZCA9IGF3YWl0IHRoaXMucmVjb25uZWN0KCk7XG4gICAgfVxuXG4gICAgdGhpcy5zdWNjZXNzZnVsUmVjb25uZWN0aW9uRXZlbnRzUHJveHkkLm5leHQoKTtcbiAgfVxufVxuIl19