@veloceapps/sdk 11.0.0-9 → 11.0.0-91
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cms/cms.actions.d.ts +94 -29
- package/cms/components/element-renderer/element-renderer.component.d.ts +3 -10
- package/cms/components/preview/preview.component.d.ts +5 -6
- package/cms/components/preview/preview.types.d.ts +0 -4
- package/cms/services/element-context.service.d.ts +0 -1
- package/cms/types/common.types.d.ts +2 -0
- package/cms/types/index.d.ts +0 -1
- package/cms/utils/path.utils.d.ts +1 -2
- package/cms/vendor-map.d.ts +18 -40
- package/core/index.d.ts +1 -1
- package/core/modules/configuration/index.d.ts +4 -4
- package/core/modules/configuration/services/configuration-runtime.service.d.ts +8 -19
- package/core/modules/configuration/services/configuration-state.service.d.ts +8 -8
- package/core/modules/configuration/services/configuration.service.d.ts +22 -52
- package/core/modules/configuration/services/guided-selling.service.d.ts +13 -0
- package/core/modules/configuration/services/test-mode-configuration.service.d.ts +23 -0
- package/core/modules/configuration/types/configuration-runtime.types.d.ts +0 -5
- package/core/modules/configuration/types/configuration.types.d.ts +4 -2
- package/core/modules/configuration/types/index.d.ts +2 -0
- package/core/modules/flow-configuration/index.d.ts +0 -3
- package/core/modules/flow-configuration/services/flow-configuration.service.d.ts +11 -38
- package/core/operators/filter-successful-execute.operator.d.ts +3 -0
- package/core/operators/index.d.ts +1 -0
- package/core/services/catalog-products.service.d.ts +11 -0
- package/core/services/flow-info.service.d.ts +27 -12
- package/core/services/flow-state-configuration.service.d.ts +9 -8
- package/core/services/flow-state.service.d.ts +12 -24
- package/core/services/index.d.ts +3 -3
- package/core/services/integration.state.d.ts +1 -1
- package/core/services/product-images.service.d.ts +3 -3
- package/core/services/runtime-settings.service.d.ts +1 -1
- package/core/services/sales-transaction.service.d.ts +27 -0
- package/core/types/flow-customization.types.d.ts +2 -2
- package/core/types/flow-state.types.d.ts +2 -2
- package/core/types/index.d.ts +0 -1
- package/core/utils/index.d.ts +2 -2
- package/core/utils/transaction-item.utils.d.ts +7 -0
- package/core/utils/transaction-item.worker.d.ts +8 -0
- package/esm2020/cms/cms.actions.mjs +93 -71
- package/esm2020/cms/cms.default.mjs +2 -3
- package/esm2020/cms/components/element-renderer/element-renderer.component.mjs +7 -64
- package/esm2020/cms/components/element-tools-panel/element-tools-panel.component.mjs +3 -3
- package/esm2020/cms/components/preview/preview.component.mjs +19 -28
- package/esm2020/cms/components/preview/preview.types.mjs +1 -1
- package/esm2020/cms/services/element-context.service.mjs +1 -1
- package/esm2020/cms/types/common.types.mjs +1 -1
- package/esm2020/cms/types/index.mjs +1 -2
- package/esm2020/cms/utils/element.utils.mjs +3 -3
- package/esm2020/cms/utils/elements-resolver.mjs +16 -5
- package/esm2020/cms/utils/path.utils.mjs +1 -10
- package/esm2020/cms/vendor-map.mjs +18 -18
- package/esm2020/core/core.module.mjs +7 -7
- package/esm2020/core/index.mjs +2 -2
- package/esm2020/core/modules/configuration/configuration.module.mjs +17 -4
- package/esm2020/core/modules/configuration/index.mjs +5 -5
- package/esm2020/core/modules/configuration/services/configuration-runtime.service.mjs +16 -101
- package/esm2020/core/modules/configuration/services/configuration-state.service.mjs +69 -77
- package/esm2020/core/modules/configuration/services/configuration.service.mjs +115 -247
- package/esm2020/core/modules/configuration/services/guided-selling.service.mjs +47 -0
- package/esm2020/core/modules/configuration/services/test-mode-configuration.service.mjs +74 -0
- package/esm2020/core/modules/configuration/types/configuration-runtime.types.mjs +1 -1
- package/esm2020/core/modules/configuration/types/configuration.types.mjs +1 -1
- package/esm2020/core/modules/configuration/types/index.mjs +3 -0
- package/esm2020/core/modules/flow-configuration/flow-configuration.module.mjs +3 -4
- package/esm2020/core/modules/flow-configuration/index.mjs +1 -4
- package/esm2020/core/modules/flow-configuration/services/flow-configuration.service.mjs +44 -128
- package/esm2020/core/operators/filter-successful-execute.operator.mjs +5 -0
- package/esm2020/core/operators/index.mjs +2 -0
- package/esm2020/core/services/catalog-products.service.mjs +25 -0
- package/esm2020/core/services/flow-info.service.mjs +82 -31
- package/esm2020/core/services/flow-state-configuration.service.mjs +52 -25
- package/esm2020/core/services/flow-state.service.mjs +58 -180
- package/esm2020/core/services/index.mjs +4 -4
- package/esm2020/core/services/integration.state.mjs +2 -2
- package/esm2020/core/services/product-images.service.mjs +8 -8
- package/esm2020/core/services/runtime-settings.service.mjs +3 -3
- package/esm2020/core/services/sales-transaction.service.mjs +67 -0
- package/esm2020/core/types/flow-customization.types.mjs +1 -1
- package/esm2020/core/types/flow-state.types.mjs +1 -1
- package/esm2020/core/types/index.mjs +1 -2
- package/esm2020/core/utils/index.mjs +3 -3
- package/esm2020/core/utils/transaction-item.utils.mjs +60 -0
- package/esm2020/core/utils/transaction-item.worker.mjs +16 -0
- package/esm2020/src/components/flow-header/flow-header.component.mjs +8 -12
- package/esm2020/src/components/guided-selling/guided-selling.component.mjs +8 -12
- package/esm2020/src/flow-routing.module.mjs +12 -41
- package/esm2020/src/flow.component.mjs +5 -5
- package/esm2020/src/guards/flow.guard.mjs +13 -14
- package/esm2020/src/guards/product-unload.guard.mjs +7 -9
- package/esm2020/src/index.mjs +1 -3
- package/esm2020/src/pages/assets/assets.component.mjs +8 -9
- package/esm2020/src/pages/catalog/catalog.component.mjs +8 -9
- package/esm2020/src/pages/debug/debug.component.mjs +14 -23
- package/esm2020/src/pages/product/product.component.mjs +12 -89
- package/esm2020/src/pages/product/product.module.mjs +5 -5
- package/esm2020/src/pages/record-not-found/record-not-found.component.mjs +5 -6
- package/esm2020/src/pages/shopping-cart/shopping-cart.component.mjs +8 -9
- package/esm2020/src/resolvers/flow.resolver.mjs +10 -18
- package/esm2020/src/resolvers/pcm-model.resolver.mjs +12 -0
- package/esm2020/src/resolvers/sales-transaction.resolver.mjs +64 -0
- package/esm2020/src/resolvers/ui-definition.resolver.mjs +42 -0
- package/esm2020/src/services/flow-dialog.service.mjs +10 -31
- package/esm2020/src/services/flow-router.service.mjs +16 -33
- package/esm2020/src/services/flow.service.mjs +15 -54
- package/esm2020/src/types/index.mjs +2 -3
- package/esm2020/src/types/route.types.mjs +1 -1
- package/fesm2015/veloceapps-sdk-cms.mjs +163 -309
- package/fesm2015/veloceapps-sdk-cms.mjs.map +1 -1
- package/fesm2015/veloceapps-sdk-core.mjs +877 -1673
- package/fesm2015/veloceapps-sdk-core.mjs.map +1 -1
- package/fesm2015/veloceapps-sdk.mjs +192 -824
- package/fesm2015/veloceapps-sdk.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk-cms.mjs +159 -300
- package/fesm2020/veloceapps-sdk-cms.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk-core.mjs +954 -1758
- package/fesm2020/veloceapps-sdk-core.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk.mjs +192 -818
- package/fesm2020/veloceapps-sdk.mjs.map +1 -1
- package/package.json +1 -1
- package/src/components/flow-header/flow-header.component.d.ts +3 -3
- package/src/components/guided-selling/guided-selling.component.d.ts +3 -3
- package/src/flow-routing.module.d.ts +1 -2
- package/src/flow.component.d.ts +2 -2
- package/src/guards/product-unload.guard.d.ts +5 -6
- package/src/index.d.ts +0 -2
- package/src/pages/assets/assets.component.d.ts +3 -3
- package/src/pages/catalog/catalog.component.d.ts +3 -3
- package/src/pages/debug/debug.component.d.ts +2 -5
- package/src/pages/product/product.component.d.ts +5 -14
- package/src/pages/product/product.module.d.ts +1 -1
- package/src/pages/record-not-found/record-not-found.component.d.ts +2 -3
- package/src/pages/shopping-cart/shopping-cart.component.d.ts +3 -3
- package/src/resolvers/flow.resolver.d.ts +5 -6
- package/src/resolvers/pcm-model.resolver.d.ts +3 -0
- package/src/resolvers/sales-transaction.resolver.d.ts +18 -0
- package/src/resolvers/ui-definition.resolver.d.ts +3 -0
- package/src/services/flow-dialog.service.d.ts +6 -8
- package/src/services/flow-router.service.d.ts +4 -6
- package/src/services/flow.service.d.ts +3 -7
- package/src/types/index.d.ts +1 -2
- package/src/types/route.types.d.ts +0 -5
- package/cms/plugins/configuration.plugin.d.ts +0 -23
- package/cms/types/configuration.types.d.ts +0 -21
- package/core/modules/configuration/helpers.d.ts +0 -6
- package/core/modules/configuration/services/runtime-context.service.d.ts +0 -12
- package/core/modules/flow-configuration/services/flow-update.service.d.ts +0 -13
- package/core/modules/flow-configuration/types/update.types.d.ts +0 -12
- package/core/services/context.service.d.ts +0 -23
- package/core/services/quote-draft.service.d.ts +0 -50
- package/core/types/runtime.types.d.ts +0 -30
- package/core/utils/line-item.utils.d.ts +0 -25
- package/core/utils/line-item.worker.d.ts +0 -9
- package/esm2020/cms/plugins/configuration.plugin.mjs +0 -109
- package/esm2020/cms/types/configuration.types.mjs +0 -2
- package/esm2020/core/modules/configuration/helpers.mjs +0 -73
- package/esm2020/core/modules/configuration/services/runtime-context.service.mjs +0 -45
- package/esm2020/core/modules/flow-configuration/services/flow-update.service.mjs +0 -138
- package/esm2020/core/modules/flow-configuration/types/update.types.mjs +0 -2
- package/esm2020/core/services/context.service.mjs +0 -91
- package/esm2020/core/services/quote-draft.service.mjs +0 -192
- package/esm2020/core/types/runtime.types.mjs +0 -16
- package/esm2020/core/utils/line-item.utils.mjs +0 -187
- package/esm2020/core/utils/line-item.worker.mjs +0 -19
- package/esm2020/src/guards/context.guard.mjs +0 -91
- package/esm2020/src/guards/index.mjs +0 -2
- package/esm2020/src/pages/remote/remote.component.mjs +0 -342
- package/esm2020/src/pages/remote/remote.module.mjs +0 -20
- package/esm2020/src/pages/remote/remote.types.mjs +0 -2
- package/esm2020/src/resolvers/quote.resolver.mjs +0 -82
- package/esm2020/src/types/context-route.types.mjs +0 -2
- package/esm2020/src/types/metrics.types.mjs +0 -2
- package/esm2020/src/utils/flow.utils.mjs +0 -25
- package/esm2020/src/utils/index.mjs +0 -2
- package/src/guards/context.guard.d.ts +0 -19
- package/src/guards/index.d.ts +0 -1
- package/src/pages/remote/remote.component.d.ts +0 -46
- package/src/pages/remote/remote.module.d.ts +0 -10
- package/src/pages/remote/remote.types.d.ts +0 -4
- package/src/resolvers/quote.resolver.d.ts +0 -19
- package/src/types/context-route.types.d.ts +0 -5
- package/src/types/metrics.types.d.ts +0 -5
- package/src/utils/flow.utils.d.ts +0 -8
- package/src/utils/index.d.ts +0 -1
@@ -1,61 +1,105 @@
|
|
1
1
|
import { Inject, Injectable, Optional } from '@angular/core';
|
2
|
-
import {
|
3
|
-
import { UITemplateType } from '@veloceapps/core';
|
4
|
-
import { BehaviorSubject,
|
5
|
-
import { FLOW_CUSTOMIZATION } from '../types';
|
2
|
+
import { UITemplatesAdminApiService } from '@veloceapps/api/v2';
|
3
|
+
import { isDefined, SalesforceIdUtils, UITemplateType, } from '@veloceapps/core';
|
4
|
+
import { BehaviorSubject, filter, forkJoin, map, of, switchMap } from 'rxjs';
|
5
|
+
import { FLOW_CUSTOMIZATION } from '../types/flow-customization.types';
|
6
|
+
import { RuntimeSettingsService } from './runtime-settings.service';
|
6
7
|
import * as i0 from "@angular/core";
|
7
|
-
import * as i1 from "
|
8
|
+
import * as i1 from "./runtime-settings.service";
|
9
|
+
import * as i2 from "@veloceapps/api/v2";
|
8
10
|
export class FlowInfoService {
|
9
11
|
get flow() {
|
12
|
+
if (!this.flowSubj$.value) {
|
13
|
+
throw new Error(`Flow not initialized yet`);
|
14
|
+
}
|
10
15
|
return this.flowSubj$.value;
|
11
16
|
}
|
12
|
-
|
13
|
-
this.flowSubj$.
|
17
|
+
get isFlowInitialized() {
|
18
|
+
return Boolean(this.flowSubj$.value);
|
19
|
+
}
|
20
|
+
get context() {
|
21
|
+
if (!this.contextSubj$.value) {
|
22
|
+
throw new Error('Context is not initialized yet!');
|
23
|
+
}
|
24
|
+
return { ...this.contextSubj$.value };
|
25
|
+
}
|
26
|
+
get context$() {
|
27
|
+
return this.contextSubj$.asObservable().pipe(filter(isDefined));
|
28
|
+
}
|
29
|
+
get templates() {
|
30
|
+
return this.templatesSubj$.value;
|
14
31
|
}
|
15
|
-
get
|
16
|
-
return
|
32
|
+
get isFlowEngineInitialized$() {
|
33
|
+
return this.templates$.pipe(map(v => Boolean(v.FLOW_ENGINE)));
|
17
34
|
}
|
18
35
|
get isStateful() {
|
19
36
|
return !!this.flow?.properties.stateful;
|
20
37
|
}
|
21
|
-
constructor(
|
22
|
-
this.
|
23
|
-
this.
|
38
|
+
constructor(runtimeSettingsService, templatesAdminApiService, customizationService) {
|
39
|
+
this.runtimeSettingsService = runtimeSettingsService;
|
40
|
+
this.templatesAdminApiService = templatesAdminApiService;
|
24
41
|
this.customizationService = customizationService;
|
25
|
-
this.templates = {};
|
26
42
|
this.defaultTemplates = {
|
27
43
|
flowEngine: 'Flow Engine',
|
28
44
|
};
|
29
45
|
this.flowSubj$ = new BehaviorSubject(null);
|
46
|
+
this.templatesSubj$ = new BehaviorSubject({});
|
47
|
+
this.contextSubj$ = new BehaviorSubject(null);
|
30
48
|
this.flow$ = this.flowSubj$.asObservable();
|
49
|
+
this.templates$ = this.templatesSubj$.asObservable();
|
50
|
+
}
|
51
|
+
reset() {
|
52
|
+
this.flowSubj$.next(null);
|
53
|
+
this.templatesSubj$.next({});
|
54
|
+
this.contextSubj$.next(null);
|
31
55
|
}
|
32
56
|
init$(flowId, routeQueryParams) {
|
33
|
-
return this.
|
34
|
-
this.params = { ...routeQueryParams, ...flow.properties.queryParams };
|
35
|
-
this.flowSubj$.next(flow);
|
36
|
-
}), map(noop), catchError(e => {
|
37
|
-
this.flowSubj$.next(null);
|
38
|
-
return throwError(() => e);
|
39
|
-
}));
|
57
|
+
return this.initFlow$(flowId, routeQueryParams).pipe(switchMap(() => this.initFlowTemplates$()));
|
40
58
|
}
|
41
|
-
|
42
|
-
this.
|
43
|
-
|
44
|
-
|
59
|
+
updateContext(update) {
|
60
|
+
this.contextSubj$.next({
|
61
|
+
...this.context,
|
62
|
+
...update,
|
63
|
+
});
|
64
|
+
}
|
65
|
+
initFlow$(flowId, routeQueryParams) {
|
66
|
+
const flow = this.runtimeSettingsService.getConfigurationSettings()['flows']?.find(({ id }) => flowId === id);
|
67
|
+
if (!flow) {
|
68
|
+
this.flowSubj$.next(null);
|
69
|
+
throw new Error(`Flow with flowId=${flowId} is not defined`);
|
70
|
+
}
|
71
|
+
const headerId = routeQueryParams['headerId'];
|
72
|
+
if (typeof headerId !== 'string') {
|
73
|
+
throw new Error(`Please provide 'headerId'`);
|
74
|
+
}
|
75
|
+
const mode = this.getFlowContextMode(headerId);
|
76
|
+
// Restrict if mode is not defined
|
77
|
+
if (mode == null) {
|
78
|
+
throw new Error('Mode is undefined');
|
79
|
+
}
|
80
|
+
this.contextSubj$.next({
|
81
|
+
...flow.properties.queryParams,
|
82
|
+
...routeQueryParams,
|
83
|
+
mode,
|
84
|
+
});
|
85
|
+
this.flowSubj$.next(flow);
|
86
|
+
return of(undefined);
|
45
87
|
}
|
46
|
-
initFlowTemplates$(
|
88
|
+
initFlowTemplates$() {
|
47
89
|
return forkJoin([
|
48
|
-
this.
|
90
|
+
this.templatesAdminApiService.fetchTemplates$(),
|
49
91
|
this.customizationService?.getTemplates?.() ?? of([]),
|
50
92
|
]).pipe(map(([templates, localTemplates]) => {
|
51
|
-
|
93
|
+
const newValue = {};
|
94
|
+
Object.entries({ ...this.defaultTemplates, ...(this.flow?.properties.templates ?? {}) }).forEach(([key, name]) => {
|
52
95
|
const type = this.remapTemplateName(key);
|
53
96
|
if (type) {
|
54
|
-
|
97
|
+
newValue[type] =
|
55
98
|
localTemplates.find(template => template.name === name && template.type === type) ??
|
56
99
|
templates.find(template => template.name === name && template.type === type);
|
57
100
|
}
|
58
101
|
});
|
102
|
+
this.templatesSubj$.next(newValue);
|
59
103
|
}));
|
60
104
|
}
|
61
105
|
remapTemplateName(templateType) {
|
@@ -81,15 +125,22 @@ export class FlowInfoService {
|
|
81
125
|
}
|
82
126
|
return undefined;
|
83
127
|
}
|
128
|
+
getFlowContextMode(headerId) {
|
129
|
+
const objectName = SalesforceIdUtils.getSfObjectNameById(headerId);
|
130
|
+
if (!objectName) {
|
131
|
+
return;
|
132
|
+
}
|
133
|
+
return objectName.toUpperCase();
|
134
|
+
}
|
84
135
|
}
|
85
|
-
FlowInfoService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowInfoService, deps: [{ token: i1.
|
136
|
+
FlowInfoService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowInfoService, deps: [{ token: i1.RuntimeSettingsService }, { token: i2.UITemplatesAdminApiService }, { token: FLOW_CUSTOMIZATION, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
86
137
|
FlowInfoService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowInfoService });
|
87
138
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowInfoService, decorators: [{
|
88
139
|
type: Injectable
|
89
|
-
}], ctorParameters: function () { return [{ type: i1.
|
140
|
+
}], ctorParameters: function () { return [{ type: i1.RuntimeSettingsService }, { type: i2.UITemplatesAdminApiService }, { type: undefined, decorators: [{
|
90
141
|
type: Optional
|
91
142
|
}, {
|
92
143
|
type: Inject,
|
93
144
|
args: [FLOW_CUSTOMIZATION]
|
94
145
|
}] }]; } });
|
95
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1pbmZvLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL3NlcnZpY2VzL2Zsb3ctaW5mby5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekUsT0FBTyxFQUFzQyxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN0RixPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBYyxFQUFFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEgsT0FBTyxFQUFFLGtCQUFrQixFQUFxQixNQUFNLFVBQVUsQ0FBQzs7O0FBR2pFLE1BQU0sT0FBTyxlQUFlO0lBSzFCLElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7SUFDOUIsQ0FBQztJQUNELElBQVcsSUFBSSxDQUFDLEtBQWtCO1FBQ2hDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDO0lBQy9ELENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO0lBQzFDLENBQUM7SUFPRCxZQUNVLGVBQWdDLEVBQ2hDLG1CQUEwQyxFQUNGLG9CQUF3QztRQUZoRixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUF1QjtRQUNGLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBb0I7UUF6Qm5GLGNBQVMsR0FBNkMsRUFBRSxDQUFDO1FBaUIvQyxxQkFBZ0IsR0FBRztZQUNsQyxVQUFVLEVBQUUsYUFBYTtTQUMxQixDQUFDO1FBQ00sY0FBUyxHQUFHLElBQUksZUFBZSxDQUFjLElBQUksQ0FBQyxDQUFDO1FBT3pELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRU0sS0FBSyxDQUFDLE1BQWMsRUFBRSxnQkFBd0I7UUFDbkQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQzlDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDdEUsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ1QsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLEdBQUcsZ0JBQWdCLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3RFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFDVCxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDYixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMxQixPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVNLE9BQU87UUFDWixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQztRQUN4QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU8sa0JBQWtCLENBQUMsSUFBVTtRQUNuQyxPQUFPLFFBQVEsQ0FBQztZQUNkLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLEVBQUU7WUFDMUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLFlBQVksRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztTQUN0RCxDQUFDLENBQUMsSUFBSSxDQUNMLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLGNBQWMsQ0FBQyxFQUFFLEVBQUU7WUFDbEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7Z0JBQ2pHLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFFekMsSUFBSSxJQUFJLEVBQUU7b0JBQ1IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7d0JBQ2xCLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLElBQUksSUFBSSxRQUFRLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQzs0QkFDakYsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssSUFBSSxJQUFJLFFBQVEsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUM7aUJBQ2hGO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVPLGlCQUFpQixDQUFDLFlBQW9CO1FBQzVDLFFBQVEsWUFBa0QsRUFBRTtZQUMxRCxLQUFLLFlBQVk7Z0JBQ2YsT0FBTyxjQUFjLENBQUMsV0FBVyxDQUFDO1lBQ3BDO2dCQUNFLE1BQU07U0FDVDtRQUVELFFBQVEsWUFBc0MsRUFBRTtZQUM5QyxLQUFLLFFBQVEsQ0FBQztZQUNkLEtBQUssY0FBYztnQkFDakIsNENBQTRDO2dCQUM1QyxPQUFPLGNBQWMsQ0FBQyxhQUFhLENBQUM7WUFDdEMsS0FBSyxTQUFTO2dCQUNaLE9BQU8sY0FBYyxDQUFDLE9BQU8sQ0FBQztZQUNoQyxLQUFLLGVBQWU7Z0JBQ2xCLE9BQU8sY0FBYyxDQUFDLGNBQWMsQ0FBQztZQUN2QyxLQUFLLFlBQVk7Z0JBQ2YsT0FBTyxjQUFjLENBQUMsV0FBVyxDQUFDO1lBQ3BDO2dCQUNFLE1BQU07U0FDVDtRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7OzRHQWpHVSxlQUFlLHNGQTRCSixrQkFBa0I7Z0hBNUI3QixlQUFlOzJGQUFmLGVBQWU7a0JBRDNCLFVBQVU7OzBCQTZCTixRQUFROzswQkFBSSxNQUFNOzJCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBGbG93c0FwaVNlcnZpY2UsIFVJVGVtcGxhdGVzQXBpU2VydmljZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2FwaSc7XG5pbXBvcnQgeyBGbG93LCBGbG93VGVtcGxhdGVzTWFwLCBVSVRlbXBsYXRlLCBVSVRlbXBsYXRlVHlwZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjYXRjaEVycm9yLCBmb3JrSm9pbiwgbWFwLCBub29wLCBPYnNlcnZhYmxlLCBvZiwgc3dpdGNoTWFwLCB0YXAsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZMT1dfQ1VTVE9NSVpBVElPTiwgRmxvd0N1c3RvbWl6YXRpb24gfSBmcm9tICcuLi90eXBlcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGbG93SW5mb1NlcnZpY2Uge1xuICBwdWJsaWMgZmxvdyQ6IE9ic2VydmFibGU8RmxvdyB8IG51bGw+O1xuICBwdWJsaWMgcGFyYW1zPzogUGFyYW1zO1xuICBwdWJsaWMgdGVtcGxhdGVzOiB7IFtrZXkgaW4gVUlUZW1wbGF0ZVR5cGVdPzogVUlUZW1wbGF0ZSB9ID0ge307XG5cbiAgcHVibGljIGdldCBmbG93KCk6IEZsb3cgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5mbG93U3ViaiQudmFsdWU7XG4gIH1cbiAgcHVibGljIHNldCBmbG93KHZhbHVlOiBGbG93IHwgbnVsbCkge1xuICAgIHRoaXMuZmxvd1N1YmokLm5leHQodmFsdWUpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0xlZ2FjeSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmZsb3cgJiYgdGhpcy5mbG93Py5wcm9wZXJ0aWVzLnN0YXRlZnVsID09IG51bGw7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzU3RhdGVmdWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5mbG93Py5wcm9wZXJ0aWVzLnN0YXRlZnVsO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0VGVtcGxhdGVzID0ge1xuICAgIGZsb3dFbmdpbmU6ICdGbG93IEVuZ2luZScsXG4gIH07XG4gIHByaXZhdGUgZmxvd1N1YmokID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGbG93IHwgbnVsbD4obnVsbCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmbG93c0FwaVNlcnZpY2U6IEZsb3dzQXBpU2VydmljZSxcbiAgICBwcml2YXRlIHRlbXBsYXRlc0FwaVNlcnZpY2U6IFVJVGVtcGxhdGVzQXBpU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEZMT1dfQ1VTVE9NSVpBVElPTikgcHJpdmF0ZSBjdXN0b21pemF0aW9uU2VydmljZT86IEZsb3dDdXN0b21pemF0aW9uLFxuICApIHtcbiAgICB0aGlzLmZsb3ckID0gdGhpcy5mbG93U3ViaiQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgaW5pdCQoZmxvd0lkOiBzdHJpbmcsIHJvdXRlUXVlcnlQYXJhbXM6IFBhcmFtcyk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmZsb3dzQXBpU2VydmljZS5nZXRGbG93KGZsb3dJZCkucGlwZShcbiAgICAgIHN3aXRjaE1hcChmbG93ID0+IHRoaXMuaW5pdEZsb3dUZW1wbGF0ZXMkKGZsb3cpLnBpcGUobWFwKCgpID0+IGZsb3cpKSksXG4gICAgICB0YXAoZmxvdyA9PiB7XG4gICAgICAgIHRoaXMucGFyYW1zID0geyAuLi5yb3V0ZVF1ZXJ5UGFyYW1zLCAuLi5mbG93LnByb3BlcnRpZXMucXVlcnlQYXJhbXMgfTtcbiAgICAgICAgdGhpcy5mbG93U3ViaiQubmV4dChmbG93KTtcbiAgICAgIH0pLFxuICAgICAgbWFwKG5vb3ApLFxuICAgICAgY2F0Y2hFcnJvcihlID0+IHtcbiAgICAgICAgdGhpcy5mbG93U3ViaiQubmV4dChudWxsKTtcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZSk7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGNsZWFudXAoKTogdm9pZCB7XG4gICAgdGhpcy5mbG93U3ViaiQubmV4dChudWxsKTtcbiAgICB0aGlzLnBhcmFtcyA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnRlbXBsYXRlcyA9IHt9O1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0Rmxvd1RlbXBsYXRlcyQoZmxvdzogRmxvdyk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiBmb3JrSm9pbihbXG4gICAgICB0aGlzLnRlbXBsYXRlc0FwaVNlcnZpY2UuZmV0Y2hUZW1wbGF0ZXMkKCksXG4gICAgICB0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlPy5nZXRUZW1wbGF0ZXM/LigpID8/IG9mKFtdKSxcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbdGVtcGxhdGVzLCBsb2NhbFRlbXBsYXRlc10pID0+IHtcbiAgICAgICAgT2JqZWN0LmVudHJpZXMoeyAuLi50aGlzLmRlZmF1bHRUZW1wbGF0ZXMsIC4uLmZsb3cucHJvcGVydGllcy50ZW1wbGF0ZXMgfSkuZm9yRWFjaCgoW2tleSwgbmFtZV0pID0+IHtcbiAgICAgICAgICBjb25zdCB0eXBlID0gdGhpcy5yZW1hcFRlbXBsYXRlTmFtZShrZXkpO1xuXG4gICAgICAgICAgaWYgKHR5cGUpIHtcbiAgICAgICAgICAgIHRoaXMudGVtcGxhdGVzW3R5cGVdID1cbiAgICAgICAgICAgICAgbG9jYWxUZW1wbGF0ZXMuZmluZCh0ZW1wbGF0ZSA9PiB0ZW1wbGF0ZS5uYW1lID09PSBuYW1lICYmIHRlbXBsYXRlLnR5cGUgPT09IHR5cGUpID8/XG4gICAgICAgICAgICAgIHRlbXBsYXRlcy5maW5kKHRlbXBsYXRlID0+IHRlbXBsYXRlLm5hbWUgPT09IG5hbWUgJiYgdGVtcGxhdGUudHlwZSA9PT0gdHlwZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHJlbWFwVGVtcGxhdGVOYW1lKHRlbXBsYXRlVHlwZTogc3RyaW5nKTogVUlUZW1wbGF0ZVR5cGUgfCB1bmRlZmluZWQge1xuICAgIHN3aXRjaCAodGVtcGxhdGVUeXBlIGFzIGtleW9mIHR5cGVvZiB0aGlzLmRlZmF1bHRUZW1wbGF0ZXMpIHtcbiAgICAgIGNhc2UgJ2Zsb3dFbmdpbmUnOlxuICAgICAgICByZXR1cm4gVUlUZW1wbGF0ZVR5cGUuRkxPV19FTkdJTkU7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHRlbXBsYXRlVHlwZSBhcyBrZXlvZiBGbG93VGVtcGxhdGVzTWFwKSB7XG4gICAgICBjYXNlICdhc3NldHMnOlxuICAgICAgY2FzZSAnc2hvcHBpbmdDYXJ0JzpcbiAgICAgICAgLy8gTm8gc2VwYXJhdGUgQXNzZXRzIHRlbXBsYXRlIGF0IHRoZSBtb21lbnRcbiAgICAgICAgcmV0dXJuIFVJVGVtcGxhdGVUeXBlLlNIT1BQSU5HX0NBUlQ7XG4gICAgICBjYXNlICdjYXRhbG9nJzpcbiAgICAgICAgcmV0dXJuIFVJVGVtcGxhdGVUeXBlLkNBVEFMT0c7XG4gICAgICBjYXNlICdndWlkZWRTZWxsaW5nJzpcbiAgICAgICAgcmV0dXJuIFVJVGVtcGxhdGVUeXBlLkdVSURFRF9TRUxMSU5HO1xuICAgICAgY2FzZSAnZmxvd0hlYWRlcic6XG4gICAgICAgIHJldHVybiBVSVRlbXBsYXRlVHlwZS5GTE9XX0hFQURFUjtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1pbmZvLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL3NlcnZpY2VzL2Zsb3ctaW5mby5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRSxPQUFPLEVBS0wsU0FBUyxFQUNULGlCQUFpQixFQUVqQixjQUFjLEdBQ2YsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDekYsT0FBTyxFQUFFLGtCQUFrQixFQUFxQixNQUFNLG1DQUFtQyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBR3BFLE1BQU0sT0FBTyxlQUFlO0lBSTFCLElBQVcsSUFBSTtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRTtZQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7U0FDN0M7UUFFRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFXLGlCQUFpQjtRQUMxQixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFXLE9BQU87UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFO1lBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQztTQUNwRDtRQUVELE9BQU8s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QU87U0FDUjtRQUVELE9BQU8sVUFBVSxDQUFDLFdBQVcsRUFBcUIsQ0FBQztJQUNyRCxDQUFDOzs0R0EvSlUsZUFBZSxrR0FrREosa0JBQWtCO2dIQWxEN0IsZUFBZTsyRkFBZixlQUFlO2tCQUQzQixVQUFVOzswQkFtRE4sUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVUlUZW1wbGF0ZXNBZG1pbkFwaVNlcnZpY2UgfSBmcm9tICdAdmVsb2NlYXBwcy9hcGkvdjInO1xuaW1wb3J0IHtcbiAgRmxvdyxcbiAgRmxvd0NvbnRleHQsXG4gIEZsb3dDb250ZXh0TW9kZSxcbiAgRmxvd1RlbXBsYXRlc01hcCxcbiAgaXNEZWZpbmVkLFxuICBTYWxlc2ZvcmNlSWRVdGlscyxcbiAgVUlUZW1wbGF0ZSxcbiAgVUlUZW1wbGF0ZVR5cGUsXG59IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmaWx0ZXIsIGZvcmtKb2luLCBtYXAsIE9ic2VydmFibGUsIG9mLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZMT1dfQ1VTVE9NSVpBVElPTiwgRmxvd0N1c3RvbWl6YXRpb24gfSBmcm9tICcuLi90eXBlcy9mbG93LWN1c3RvbWl6YXRpb24udHlwZXMnO1xuaW1wb3J0IHsgUnVudGltZVNldHRpbmdzU2VydmljZSB9IGZyb20gJy4vcnVudGltZS1zZXR0aW5ncy5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZsb3dJbmZvU2VydmljZSB7XG4gIHB1YmxpYyBmbG93JDogT2JzZXJ2YWJsZTxGbG93IHwgbnVsbD47XG4gIHB1YmxpYyB0ZW1wbGF0ZXMkOiBPYnNlcnZhYmxlPHsgW2tleSBpbiBVSVRlbXBsYXRlVHlwZV0/OiBVSVRlbXBsYXRlIH0+O1xuXG4gIHB1YmxpYyBnZXQgZmxvdygpOiBGbG93IHtcbiAgICBpZiAoIXRoaXMuZmxvd1N1YmokLnZhbHVlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEZsb3cgbm90IGluaXRpYWxpemVkIHlldGApO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmZsb3dTdWJqJC52YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNGbG93SW5pdGlhbGl6ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIEJvb2xlYW4odGhpcy5mbG93U3ViaiQudmFsdWUpO1xuICB9XG5cbiAgcHVibGljIGdldCBjb250ZXh0KCk6IEZsb3dDb250ZXh0IHtcbiAgICBpZiAoIXRoaXMuY29udGV4dFN1YmokLnZhbHVlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvbnRleHQgaXMgbm90IGluaXRpYWxpemVkIHlldCEnKTtcbiAgICB9XG5cbiAgICByZXR1cm4geyAuLi50aGlzLmNvbnRleHRTdWJqJC52YWx1ZSB9O1xuICB9XG5cbiAgcHVibGljIGdldCBjb250ZXh0JCgpOiBPYnNlcnZhYmxlPEZsb3dDb250ZXh0PiB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dFN1YmokLmFzT2JzZXJ2YWJsZSgpLnBpcGUoZmlsdGVyKGlzRGVmaW5lZCkpO1xuICB9XG5cbiAgcHVibGljIGdldCB0ZW1wbGF0ZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMudGVtcGxhdGVzU3ViaiQudmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzRmxvd0VuZ2luZUluaXRpYWxpemVkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy50ZW1wbGF0ZXMkLnBpcGUobWFwKHYgPT4gQm9vbGVhbih2LkZMT1dfRU5HSU5FKSkpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1N0YXRlZnVsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuZmxvdz8ucHJvcGVydGllcy5zdGF0ZWZ1bDtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdFRlbXBsYXRlcyA9IHtcbiAgICBmbG93RW5naW5lOiAnRmxvdyBFbmdpbmUnLFxuICB9O1xuICBwcml2YXRlIGZsb3dTdWJqJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RmxvdyB8IG51bGw+KG51bGwpO1xuICBwcml2YXRlIHRlbXBsYXRlc1N1YmokID0gbmV3IEJlaGF2aW9yU3ViamVjdDx7IFtrZXkgaW4gVUlUZW1wbGF0ZVR5cGVdPzogVUlUZW1wbGF0ZSB9Pih7fSk7XG4gIHByaXZhdGUgY29udGV4dFN1YmokID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGbG93Q29udGV4dCB8IG51bGw+KG51bGwpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcnVudGltZVNldHRpbmdzU2VydmljZTogUnVudGltZVNldHRpbmdzU2VydmljZSxcbiAgICBwcml2YXRlIHRlbXBsYXRlc0FkbWluQXBpU2VydmljZTogVUlUZW1wbGF0ZXNBZG1pbkFwaVNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChGTE9XX0NVU1RPTUlaQVRJT04pIHByaXZhdGUgY3VzdG9taXphdGlvblNlcnZpY2U/OiBGbG93Q3VzdG9taXphdGlvbixcbiAgKSB7XG4gICAgdGhpcy5mbG93JCA9IHRoaXMuZmxvd1N1YmokLmFzT2JzZXJ2YWJsZSgpO1xuICAgIHRoaXMudGVtcGxhdGVzJCA9IHRoaXMudGVtcGxhdGVzU3ViaiQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5mbG93U3ViaiQubmV4dChudWxsKTtcbiAgICB0aGlzLnRlbXBsYXRlc1N1YmokLm5leHQoe30pO1xuICAgIHRoaXMuY29udGV4dFN1YmokLm5leHQobnVsbCk7XG4gIH1cblxuICBwdWJsaWMgaW5pdCQoZmxvd0lkOiBzdHJpbmcsIHJvdXRlUXVlcnlQYXJhbXM6IFBhcmFtcyk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmluaXRGbG93JChmbG93SWQsIHJvdXRlUXVlcnlQYXJhbXMpLnBpcGUoc3dpdGNoTWFwKCgpID0+IHRoaXMuaW5pdEZsb3dUZW1wbGF0ZXMkKCkpKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVDb250ZXh0KHVwZGF0ZTogUGFydGlhbDxGbG93Q29udGV4dD4pOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRleHRTdWJqJC5uZXh0KHtcbiAgICAgIC4uLnRoaXMuY29udGV4dCxcbiAgICAgIC4uLnVwZGF0ZSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdEZsb3ckKGZsb3dJZDogc3RyaW5nLCByb3V0ZVF1ZXJ5UGFyYW1zOiBQYXJhbXMpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICBjb25zdCBmbG93ID0gdGhpcy5ydW50aW1lU2V0dGluZ3NTZXJ2aWNlLmdldENvbmZpZ3VyYXRpb25TZXR0aW5ncygpWydmbG93cyddPy5maW5kKCh7IGlkIH0pID0+IGZsb3dJZCA9PT0gaWQpO1xuICAgIGlmICghZmxvdykge1xuICAgICAgdGhpcy5mbG93U3ViaiQubmV4dChudWxsKTtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRmxvdyB3aXRoIGZsb3dJZD0ke2Zsb3dJZH0gaXMgbm90IGRlZmluZWRgKTtcbiAgICB9XG5cbiAgICBjb25zdCBoZWFkZXJJZCA9IHJvdXRlUXVlcnlQYXJhbXNbJ2hlYWRlcklkJ107XG4gICAgaWYgKHR5cGVvZiBoZWFkZXJJZCAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgUGxlYXNlIHByb3ZpZGUgJ2hlYWRlcklkJ2ApO1xuICAgIH1cblxuICAgIGNvbnN0IG1vZGUgPSB0aGlzLmdldEZsb3dDb250ZXh0TW9kZShoZWFkZXJJZCk7XG5cbiAgICAvLyBSZXN0cmljdCBpZiBtb2RlIGlzIG5vdCBkZWZpbmVkXG4gICAgaWYgKG1vZGUgPT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNb2RlIGlzIHVuZGVmaW5lZCcpO1xuICAgIH1cblxuICAgIHRoaXMuY29udGV4dFN1YmokLm5leHQoe1xuICAgICAgLi4uZmxvdy5wcm9wZXJ0aWVzLnF1ZXJ5UGFyYW1zLFxuICAgICAgLi4ucm91dGVRdWVyeVBhcmFtcyxcbiAgICAgIG1vZGUsXG4gICAgfSBhcyBGbG93Q29udGV4dCk7XG5cbiAgICB0aGlzLmZsb3dTdWJqJC5uZXh0KGZsb3cpO1xuICAgIHJldHVybiBvZih1bmRlZmluZWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0Rmxvd1RlbXBsYXRlcyQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIGZvcmtKb2luKFtcbiAgICAgIHRoaXMudGVtcGxhdGVzQWRtaW5BcGlTZXJ2aWNlLmZldGNoVGVtcGxhdGVzJCgpLFxuICAgICAgdGhpcy5jdXN0b21pemF0aW9uU2VydmljZT8uZ2V0VGVtcGxhdGVzPy4oKSA/PyBvZihbXSksXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW3RlbXBsYXRlcywgbG9jYWxUZW1wbGF0ZXNdKSA9PiB7XG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlOiB7IFtrZXkgaW4gVUlUZW1wbGF0ZVR5cGVdPzogVUlUZW1wbGF0ZSB9ID0ge307XG4gICAgICAgIE9iamVjdC5lbnRyaWVzKHsgLi4udGhpcy5kZWZhdWx0VGVtcGxhdGVzLCAuLi4odGhpcy5mbG93Py5wcm9wZXJ0aWVzLnRlbXBsYXRlcyA/PyB7fSkgfSkuZm9yRWFjaChcbiAgICAgICAgICAoW2tleSwgbmFtZV0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHR5cGUgPSB0aGlzLnJlbWFwVGVtcGxhdGVOYW1lKGtleSk7XG5cbiAgICAgICAgICAgIGlmICh0eXBlKSB7XG4gICAgICAgICAgICAgIG5ld1ZhbHVlW3R5cGVdID1cbiAgICAgICAgICAgICAgICBsb2NhbFRlbXBsYXRlcy5maW5kKHRlbXBsYXRlID0+IHRlbXBsYXRlLm5hbWUgPT09IG5hbWUgJiYgdGVtcGxhdGUudHlwZSA9PT0gdHlwZSkgPz9cbiAgICAgICAgICAgICAgICB0ZW1wbGF0ZXMuZmluZCh0ZW1wbGF0ZSA9PiB0ZW1wbGF0ZS5uYW1lID09PSBuYW1lICYmIHRlbXBsYXRlLnR5cGUgPT09IHR5cGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy50ZW1wbGF0ZXNTdWJqJC5uZXh0KG5ld1ZhbHVlKTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHJlbWFwVGVtcGxhdGVOYW1lKHRlbXBsYXRlVHlwZTogc3RyaW5nKTogVUlUZW1wbGF0ZVR5cGUgfCB1bmRlZmluZWQge1xuICAgIHN3aXRjaCAodGVtcGxhdGVUeXBlIGFzIGtleW9mIHR5cGVvZiB0aGlzLmRlZmF1bHRUZW1wbGF0ZXMpIHtcbiAgICAgIGNhc2UgJ2Zsb3dFbmdpbmUnOlxuICAgICAgICByZXR1cm4gVUlUZW1wbGF0ZVR5cGUuRkxPV19FTkdJTkU7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHRlbXBsYXRlVHlwZSBhcyBrZXlvZiBGbG93VGVtcGxhdGVzTWFwKSB7XG4gICAgICBjYXNlICdhc3NldHMnOlxuICAgICAgY2FzZSAnc2hvcHBpbmdDYXJ0JzpcbiAgICAgICAgLy8gTm8gc2VwYXJhdGUgQXNzZXRzIHRlbXBsYXRlIGF0IHRoZSBtb21lbnRcbiAgICAgICAgcmV0dXJuIFVJVGVtcGxhdGVUeXBlLlNIT1BQSU5HX0NBUlQ7XG4gICAgICBjYXNlICdjYXRhbG9nJzpcbiAgICAgICAgcmV0dXJuIFVJVGVtcGxhdGVUeXBlLkNBVEFMT0c7XG4gICAgICBjYXNlICdndWlkZWRTZWxsaW5nJzpcbiAgICAgICAgcmV0dXJuIFVJVGVtcGxhdGVUeXBlLkdVSURFRF9TRUxMSU5HO1xuICAgICAgY2FzZSAnZmxvd0hlYWRlcic6XG4gICAgICAgIHJldHVybiBVSVRlbXBsYXRlVHlwZS5GTE9XX0hFQURFUjtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIGdldEZsb3dDb250ZXh0TW9kZShoZWFkZXJJZDogc3RyaW5nKTogRmxvd0NvbnRleHRNb2RlIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBvYmplY3ROYW1lID0gU2FsZXNmb3JjZUlkVXRpbHMuZ2V0U2ZPYmplY3ROYW1lQnlJZChoZWFkZXJJZCk7XG4gICAgaWYgKCFvYmplY3ROYW1lKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcmV0dXJuIG9iamVjdE5hbWUudG9VcHBlckNhc2UoKSBhcyBGbG93Q29udGV4dE1vZGU7XG4gIH1cbn1cbiJdfQ==
|
@@ -1,25 +1,24 @@
|
|
1
1
|
import { Injectable } from '@angular/core';
|
2
|
-
import {
|
3
|
-
import {
|
4
|
-
import {
|
5
|
-
import {
|
2
|
+
import { map, noop, of, switchMap } from 'rxjs';
|
3
|
+
import { ConfigurationService } from '../modules/configuration/services/configuration.service';
|
4
|
+
import { FlowConfigurationService } from '../modules/flow-configuration/services/flow-configuration.service';
|
5
|
+
import { generateTransactionItem } from '../utils/transaction-item.utils';
|
6
6
|
import { FlowInfoService } from './flow-info.service';
|
7
7
|
import { FlowStateService } from './flow-state.service';
|
8
|
+
import { SalesTransactionService } from './sales-transaction.service';
|
8
9
|
import * as i0 from "@angular/core";
|
9
10
|
import * as i1 from "./flow-info.service";
|
10
|
-
import * as i2 from "
|
11
|
-
import * as i3 from "
|
12
|
-
import * as i4 from "./
|
11
|
+
import * as i2 from "./flow-state.service";
|
12
|
+
import * as i3 from "../modules/configuration/services/configuration.service";
|
13
|
+
import * as i4 from "./sales-transaction.service";
|
14
|
+
import * as i5 from "../modules/flow-configuration/services/flow-configuration.service";
|
13
15
|
export class FlowStateConfigurationService {
|
14
|
-
constructor(flowInfoService,
|
16
|
+
constructor(flowInfoService, flowStateService, configurationService, salesTransactionService, flowConfigurationService) {
|
15
17
|
this.flowInfoService = flowInfoService;
|
16
|
-
this.flowConfigurationService = flowConfigurationService;
|
17
|
-
this.flowStateApiService = flowStateApiService;
|
18
18
|
this.flowStateService = flowStateService;
|
19
|
-
this.
|
20
|
-
|
21
|
-
|
22
|
-
return this.configurationStateId$.value;
|
19
|
+
this.configurationService = configurationService;
|
20
|
+
this.salesTransactionService = salesTransactionService;
|
21
|
+
this.flowConfigurationService = flowConfigurationService;
|
23
22
|
}
|
24
23
|
addToCart$(props) {
|
25
24
|
let request$;
|
@@ -30,24 +29,52 @@ export class FlowStateConfigurationService {
|
|
30
29
|
request$ = of();
|
31
30
|
}
|
32
31
|
else {
|
33
|
-
|
34
|
-
request$ =
|
35
|
-
if (!this.configurationStateId) {
|
36
|
-
return of();
|
37
|
-
}
|
38
|
-
return this.flowStateApiService.saveConfiguration(stateId, this.configurationStateId).pipe(tap(() => this.configurationStateId$.next(null)), map(noop));
|
39
|
-
}));
|
32
|
+
// TODO: Implement
|
33
|
+
request$ = of();
|
40
34
|
}
|
41
35
|
}
|
42
36
|
else {
|
43
|
-
request$ = this.
|
37
|
+
request$ = this.configureExternal$(props);
|
44
38
|
}
|
45
39
|
return request$.pipe(switchMap(() => this.flowStateService.executeRequest$({}, true)), map(noop));
|
46
40
|
}
|
41
|
+
configureExternal$(props) {
|
42
|
+
const { state } = this.salesTransactionService;
|
43
|
+
if (!state) {
|
44
|
+
return of();
|
45
|
+
}
|
46
|
+
const stateToConfigure = {
|
47
|
+
...state,
|
48
|
+
salesTransaction: {
|
49
|
+
...state.salesTransaction,
|
50
|
+
salesTransactionItems: [
|
51
|
+
{
|
52
|
+
...generateTransactionItem(props.productId),
|
53
|
+
qty: props.qty ?? 1,
|
54
|
+
tagAttributes: props.attributesMap ?? {},
|
55
|
+
},
|
56
|
+
],
|
57
|
+
},
|
58
|
+
};
|
59
|
+
return this.configurationService.justConfigureRequest$(stateToConfigure).pipe(switchMap(configurationResult => {
|
60
|
+
const state = this.salesTransactionService.state;
|
61
|
+
const addedProduct = configurationResult.salesTransaction.salesTransactionItems[0];
|
62
|
+
if (!state || !addedProduct) {
|
63
|
+
return of();
|
64
|
+
}
|
65
|
+
return this.flowConfigurationService.calculate$({
|
66
|
+
...state,
|
67
|
+
salesTransaction: {
|
68
|
+
...state.salesTransaction,
|
69
|
+
salesTransactionItems: [...state.salesTransaction.salesTransactionItems, addedProduct],
|
70
|
+
},
|
71
|
+
});
|
72
|
+
}));
|
73
|
+
}
|
47
74
|
}
|
48
|
-
FlowStateConfigurationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowStateConfigurationService, deps: [{ token: i1.FlowInfoService }, { token: i2.
|
75
|
+
FlowStateConfigurationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowStateConfigurationService, deps: [{ token: i1.FlowInfoService }, { token: i2.FlowStateService }, { token: i3.ConfigurationService }, { token: i4.SalesTransactionService }, { token: i5.FlowConfigurationService }], target: i0.ɵɵFactoryTarget.Injectable });
|
49
76
|
FlowStateConfigurationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowStateConfigurationService });
|
50
77
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowStateConfigurationService, decorators: [{
|
51
78
|
type: Injectable
|
52
|
-
}], ctorParameters: function () { return [{ type: i1.FlowInfoService }, { type: i2.
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
79
|
+
}], ctorParameters: function () { return [{ type: i1.FlowInfoService }, { type: i2.FlowStateService }, { type: i3.ConfigurationService }, { type: i4.SalesTransactionService }, { type: i5.FlowConfigurationService }]; } });
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1zdGF0ZS1jb25maWd1cmF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL3NlcnZpY2VzL2Zsb3ctc3RhdGUtY29uZmlndXJhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQWMsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUUvRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7QUFHdEUsTUFBTSxPQUFPLDZCQUE2QjtJQUN4QyxZQUNVLGVBQWdDLEVBQ2hDLGdCQUFrQyxFQUNsQyxvQkFBMEMsRUFDMUMsdUJBQWdELEVBQ2hELHdCQUFrRDtRQUpsRCxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFDaEQsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtJQUN6RCxDQUFDO0lBRUcsVUFBVSxDQUFDLEtBQTRCO1FBQzVDLElBQUksUUFBNkIsQ0FBQztRQUNsQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1FBQ2hFLElBQUksUUFBUSxFQUFFO1lBQ1osTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztZQUM5QyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNaLFFBQVEsR0FBRyxFQUFFLEVBQUUsQ0FBQzthQUNqQjtpQkFBTTtnQkFDTCxrQkFBa0I7Z0JBQ2xCLFFBQVEsR0FBRyxFQUFFLEVBQUUsQ0FBQzthQUNqQjtTQUNGO2FBQU07WUFDTCxRQUFRLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzNDO1FBRUQsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUNsQixTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFDaEUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUNWLENBQUM7SUFDSixDQUFDO0lBRU8sa0JBQWtCLENBQUMsS0FBNEI7UUFDckQsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQztRQUMvQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsT0FBTyxFQUFFLEVBQUUsQ0FBQztTQUNiO1FBQ0QsTUFBTSxnQkFBZ0IsR0FBdUI7WUFDM0MsR0FBRyxLQUFLO1lBQ1IsZ0JBQWdCLEVBQUU7Z0JBQ2hCLEdBQUcsS0FBSyxDQUFDLGdCQUFnQjtnQkFDekIscUJBQXFCLEVBQUU7b0JBQ3JCO3dCQUNFLEdBQUcsdUJBQXVCLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQzt3QkFDM0MsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQzt3QkFDbkIsYUFBYSxFQUFFLEtBQUssQ0FBQyxhQUFhLElBQUksRUFBRTtxQkFDekM7aUJBQ0Y7YUFDRjtTQUNGLENBQUM7UUFFRixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxxQkFBcUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLElBQUksQ0FDM0UsU0FBUyxDQUFDLG1CQUFtQixDQUFDLEVBQUU7WUFDOUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQztZQUNqRCxNQUFNLFlBQVksR0FBRyxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuRixJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUMzQixPQUFPLEVBQUUsRUFBRSxDQUFDO2FBQ2I7WUFFRCxPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxVQUFVLENBQUM7Z0JBQzlDLEdBQUcsS0FBSztnQkFDUixnQkFBZ0IsRUFBRTtvQkFDaEIsR0FBRyxLQUFLLENBQUMsZ0JBQWdCO29CQUN6QixxQkFBcUIsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixFQUFFLFlBQVksQ0FBQztpQkFDdkY7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7MEhBbEVVLDZCQUE2Qjs4SEFBN0IsNkJBQTZCOzJGQUE3Qiw2QkFBNkI7a0JBRHpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkNvbnRleHQgfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IG1hcCwgbm9vcCwgT2JzZXJ2YWJsZSwgb2YsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9tb2R1bGVzL2NvbmZpZ3VyYXRpb24vc2VydmljZXMvY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IE5ld0NvbmZpZ3VyYXRpb25Qcm9wcyB9IGZyb20gJy4uL21vZHVsZXMvY29uZmlndXJhdGlvbi90eXBlcy9jb25maWd1cmF0aW9uLnR5cGVzJztcbmltcG9ydCB7IEZsb3dDb25maWd1cmF0aW9uU2VydmljZSB9IGZyb20gJy4uL21vZHVsZXMvZmxvdy1jb25maWd1cmF0aW9uL3NlcnZpY2VzL2Zsb3ctY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IGdlbmVyYXRlVHJhbnNhY3Rpb25JdGVtIH0gZnJvbSAnLi4vdXRpbHMvdHJhbnNhY3Rpb24taXRlbS51dGlscyc7XG5pbXBvcnQgeyBGbG93SW5mb1NlcnZpY2UgfSBmcm9tICcuL2Zsb3ctaW5mby5zZXJ2aWNlJztcbmltcG9ydCB7IEZsb3dTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL2Zsb3ctc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBTYWxlc1RyYW5zYWN0aW9uU2VydmljZSB9IGZyb20gJy4vc2FsZXMtdHJhbnNhY3Rpb24uc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGbG93U3RhdGVDb25maWd1cmF0aW9uU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmxvd0luZm9TZXJ2aWNlOiBGbG93SW5mb1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBmbG93U3RhdGVTZXJ2aWNlOiBGbG93U3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlndXJhdGlvblNlcnZpY2U6IENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgc2FsZXNUcmFuc2FjdGlvblNlcnZpY2U6IFNhbGVzVHJhbnNhY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgZmxvd0NvbmZpZ3VyYXRpb25TZXJ2aWNlOiBGbG93Q29uZmlndXJhdGlvblNlcnZpY2UsXG4gICkge31cblxuICBwdWJsaWMgYWRkVG9DYXJ0JChwcm9wczogTmV3Q29uZmlndXJhdGlvblByb3BzKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgbGV0IHJlcXVlc3QkOiBPYnNlcnZhYmxlPHVua25vd24+O1xuICAgIGNvbnN0IHN0YXRlZnVsID0gdGhpcy5mbG93SW5mb1NlcnZpY2UuZmxvdz8ucHJvcGVydGllcy5zdGF0ZWZ1bDtcbiAgICBpZiAoc3RhdGVmdWwpIHtcbiAgICAgIGNvbnN0IHN0YXRlSWQgPSB0aGlzLmZsb3dTdGF0ZVNlcnZpY2Uuc3RhdGVJZDtcbiAgICAgIGlmICghc3RhdGVJZCkge1xuICAgICAgICByZXF1ZXN0JCA9IG9mKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBUT0RPOiBJbXBsZW1lbnRcbiAgICAgICAgcmVxdWVzdCQgPSBvZigpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXF1ZXN0JCA9IHRoaXMuY29uZmlndXJlRXh0ZXJuYWwkKHByb3BzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVxdWVzdCQucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmZsb3dTdGF0ZVNlcnZpY2UuZXhlY3V0ZVJlcXVlc3QkKHt9LCB0cnVlKSksXG4gICAgICBtYXAobm9vcCksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY29uZmlndXJlRXh0ZXJuYWwkKHByb3BzOiBOZXdDb25maWd1cmF0aW9uUHJvcHMpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICBjb25zdCB7IHN0YXRlIH0gPSB0aGlzLnNhbGVzVHJhbnNhY3Rpb25TZXJ2aWNlO1xuICAgIGlmICghc3RhdGUpIHtcbiAgICAgIHJldHVybiBvZigpO1xuICAgIH1cbiAgICBjb25zdCBzdGF0ZVRvQ29uZmlndXJlOiBUcmFuc2FjdGlvbkNvbnRleHQgPSB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIHNhbGVzVHJhbnNhY3Rpb246IHtcbiAgICAgICAgLi4uc3RhdGUuc2FsZXNUcmFuc2FjdGlvbixcbiAgICAgICAgc2FsZXNUcmFuc2FjdGlvbkl0ZW1zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgLi4uZ2VuZXJhdGVUcmFuc2FjdGlvbkl0ZW0ocHJvcHMucHJvZHVjdElkKSxcbiAgICAgICAgICAgIHF0eTogcHJvcHMucXR5ID8/IDEsXG4gICAgICAgICAgICB0YWdBdHRyaWJ1dGVzOiBwcm9wcy5hdHRyaWJ1dGVzTWFwID8/IHt9LFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5qdXN0Q29uZmlndXJlUmVxdWVzdCQoc3RhdGVUb0NvbmZpZ3VyZSkucGlwZShcbiAgICAgIHN3aXRjaE1hcChjb25maWd1cmF0aW9uUmVzdWx0ID0+IHtcbiAgICAgICAgY29uc3Qgc3RhdGUgPSB0aGlzLnNhbGVzVHJhbnNhY3Rpb25TZXJ2aWNlLnN0YXRlO1xuICAgICAgICBjb25zdCBhZGRlZFByb2R1Y3QgPSBjb25maWd1cmF0aW9uUmVzdWx0LnNhbGVzVHJhbnNhY3Rpb24uc2FsZXNUcmFuc2FjdGlvbkl0ZW1zWzBdO1xuICAgICAgICBpZiAoIXN0YXRlIHx8ICFhZGRlZFByb2R1Y3QpIHtcbiAgICAgICAgICByZXR1cm4gb2YoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmZsb3dDb25maWd1cmF0aW9uU2VydmljZS5jYWxjdWxhdGUkKHtcbiAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICBzYWxlc1RyYW5zYWN0aW9uOiB7XG4gICAgICAgICAgICAuLi5zdGF0ZS5zYWxlc1RyYW5zYWN0aW9uLFxuICAgICAgICAgICAgc2FsZXNUcmFuc2FjdGlvbkl0ZW1zOiBbLi4uc3RhdGUuc2FsZXNUcmFuc2FjdGlvbi5zYWxlc1RyYW5zYWN0aW9uSXRlbXMsIGFkZGVkUHJvZHVjdF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG59XG4iXX0=
|