@veloceapps/sdk 12.0.0-1 → 12.0.0-10
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/core/modules/configuration/services/configuration-runtime.service.d.ts +4 -2
- package/core/modules/configuration/services/configuration.service.d.ts +2 -0
- package/esm2020/core/modules/configuration/services/configuration-runtime.service.mjs +13 -4
- package/esm2020/core/modules/configuration/services/configuration.service.mjs +15 -2
- package/esm2020/core/modules/configuration/services/test-mode-configuration.service.mjs +2 -2
- package/esm2020/core/utils/transaction-item.utils.mjs +10 -2
- package/fesm2015/veloceapps-sdk-core.mjs +33 -5
- package/fesm2015/veloceapps-sdk-core.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk-core.mjs +35 -5
- package/fesm2020/veloceapps-sdk-core.mjs.map +1 -1
- package/package.json +1 -1
@@ -1,15 +1,17 @@
|
|
1
1
|
import { PCMApiService } from '@veloceapps/api/v2';
|
2
2
|
import { PCMModel, UIDefinitionContainer, UIDefinitionProps } from '@veloceapps/core';
|
3
|
-
import { Observable } from 'rxjs';
|
3
|
+
import { BehaviorSubject, Observable } from 'rxjs';
|
4
4
|
import { RuntimeInitializationProps } from '../types/configuration-runtime.types';
|
5
5
|
import * as i0 from "@angular/core";
|
6
6
|
export declare class ConfigurationRuntimeService {
|
7
7
|
private pcmApiService;
|
8
8
|
uiDefinitionContainer: UIDefinitionContainer | null;
|
9
9
|
initializationProps?: RuntimeInitializationProps;
|
10
|
-
|
10
|
+
pcmModelSubj$: BehaviorSubject<PCMModel | null>;
|
11
11
|
constructor(pcmApiService: PCMApiService);
|
12
12
|
get uiDefinitionProps(): UIDefinitionProps;
|
13
|
+
get pcmModel(): PCMModel | null;
|
14
|
+
get pcmModel$(): Observable<PCMModel | null>;
|
13
15
|
reset(): void;
|
14
16
|
init$(props: RuntimeInitializationProps): Observable<PCMModel>;
|
15
17
|
static ɵfac: i0.ɵɵFactoryDeclaration<ConfigurationRuntimeService, never>;
|
@@ -31,6 +31,8 @@ export declare class ConfigurationService {
|
|
31
31
|
configure$(transactionContext: TransactionContext): Observable<TransactionContext>;
|
32
32
|
justConfigureRequest$(transactionContext: TransactionContext): Observable<TransactionContext>;
|
33
33
|
getPCMModel(): PCMModel;
|
34
|
+
getPCMModel$(): Observable<PCMModel | null>;
|
35
|
+
swapProduct$(productId: string): Observable<void>;
|
34
36
|
static ɵfac: i0.ɵɵFactoryDeclaration<ConfigurationService, never>;
|
35
37
|
static ɵprov: i0.ɵɵInjectableDeclaration<ConfigurationService>;
|
36
38
|
}
|
@@ -1,24 +1,33 @@
|
|
1
1
|
import { Injectable } from '@angular/core';
|
2
2
|
import { PCMApiService } from '@veloceapps/api/v2';
|
3
|
-
import { tap } from 'rxjs';
|
3
|
+
import { BehaviorSubject, tap } from 'rxjs';
|
4
4
|
import * as i0 from "@angular/core";
|
5
5
|
import * as i1 from "@veloceapps/api/v2";
|
6
6
|
export class ConfigurationRuntimeService {
|
7
7
|
constructor(pcmApiService) {
|
8
8
|
this.pcmApiService = pcmApiService;
|
9
9
|
this.uiDefinitionContainer = null;
|
10
|
+
this.pcmModelSubj$ = new BehaviorSubject(null);
|
10
11
|
}
|
11
12
|
get uiDefinitionProps() {
|
12
13
|
return this.uiDefinitionContainer?.source.properties ?? {};
|
13
14
|
}
|
15
|
+
get pcmModel() {
|
16
|
+
return this.pcmModelSubj$.value;
|
17
|
+
}
|
18
|
+
get pcmModel$() {
|
19
|
+
return this.pcmModelSubj$;
|
20
|
+
}
|
14
21
|
reset() {
|
15
22
|
this.uiDefinitionContainer = null;
|
16
23
|
this.initializationProps = undefined;
|
17
|
-
this.
|
24
|
+
this.pcmModelSubj$.next(null);
|
18
25
|
}
|
19
26
|
init$(props) {
|
20
27
|
this.initializationProps = props;
|
21
|
-
return this.pcmApiService
|
28
|
+
return this.pcmApiService
|
29
|
+
.fetchPCMByProductId(props.productId)
|
30
|
+
.pipe(tap(pcmModel => this.pcmModelSubj$.next(pcmModel)));
|
22
31
|
}
|
23
32
|
}
|
24
33
|
ConfigurationRuntimeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ConfigurationRuntimeService, deps: [{ token: i1.PCMApiService }], target: i0.ɵɵFactoryTarget.Injectable });
|
@@ -26,4 +35,4 @@ ConfigurationRuntimeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "1
|
|
26
35
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ConfigurationRuntimeService, decorators: [{
|
27
36
|
type: Injectable
|
28
37
|
}], ctorParameters: function () { return [{ type: i1.PCMApiService }]; } });
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1ydW50aW1lLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL21vZHVsZXMvY29uZmlndXJhdGlvbi9zZXJ2aWNlcy9jb25maWd1cmF0aW9uLXJ1bnRpbWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxFQUFjLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBSXhELE1BQU0sT0FBTywyQkFBMkI7SUFLdEMsWUFBb0IsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFKekMsMEJBQXFCLEdBQWlDLElBQUksQ0FBQztRQUUzRCxrQkFBYSxHQUFxQyxJQUFJLGVBQWUsQ0FBa0IsSUFBSSxDQUFDLENBQUM7SUFFakQsQ0FBQztJQUVwRCxJQUFXLGlCQUFpQjtRQUMxQixPQUFPLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxNQUFNLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztJQUM3RCxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxTQUFTLENBQUM7UUFDckMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVNLEtBQUssQ0FBQyxLQUFpQztRQUM1QyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO1FBRWpDLE9BQU8sSUFBSSxDQUFDLGFBQWE7YUFDdEIsbUJBQW1CLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQzthQUNwQyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUM7O3dIQS9CVSwyQkFBMkI7NEhBQTNCLDJCQUEyQjsyRkFBM0IsMkJBQTJCO2tCQUR2QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUENNQXBpU2VydmljZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2FwaS92Mic7XG5pbXBvcnQgeyBQQ01Nb2RlbCwgVUlEZWZpbml0aW9uQ29udGFpbmVyLCBVSURlZmluaXRpb25Qcm9wcyB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJ1bnRpbWVJbml0aWFsaXphdGlvblByb3BzIH0gZnJvbSAnLi4vdHlwZXMvY29uZmlndXJhdGlvbi1ydW50aW1lLnR5cGVzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZSB7XG4gIHB1YmxpYyB1aURlZmluaXRpb25Db250YWluZXI6IFVJRGVmaW5pdGlvbkNvbnRhaW5lciB8IG51bGwgPSBudWxsO1xuICBwdWJsaWMgaW5pdGlhbGl6YXRpb25Qcm9wcz86IFJ1bnRpbWVJbml0aWFsaXphdGlvblByb3BzO1xuICBwdWJsaWMgcGNtTW9kZWxTdWJqJDogQmVoYXZpb3JTdWJqZWN0PFBDTU1vZGVsIHwgbnVsbD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFBDTU1vZGVsIHwgbnVsbD4obnVsbCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwY21BcGlTZXJ2aWNlOiBQQ01BcGlTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBnZXQgdWlEZWZpbml0aW9uUHJvcHMoKTogVUlEZWZpbml0aW9uUHJvcHMge1xuICAgIHJldHVybiB0aGlzLnVpRGVmaW5pdGlvbkNvbnRhaW5lcj8uc291cmNlLnByb3BlcnRpZXMgPz8ge307XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBjbU1vZGVsKCk6IFBDTU1vZGVsIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMucGNtTW9kZWxTdWJqJC52YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGNtTW9kZWwkKCk6IE9ic2VydmFibGU8UENNTW9kZWwgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMucGNtTW9kZWxTdWJqJDtcbiAgfVxuXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLnVpRGVmaW5pdGlvbkNvbnRhaW5lciA9IG51bGw7XG4gICAgdGhpcy5pbml0aWFsaXphdGlvblByb3BzID0gdW5kZWZpbmVkO1xuICAgIHRoaXMucGNtTW9kZWxTdWJqJC5uZXh0KG51bGwpO1xuICB9XG5cbiAgcHVibGljIGluaXQkKHByb3BzOiBSdW50aW1lSW5pdGlhbGl6YXRpb25Qcm9wcyk6IE9ic2VydmFibGU8UENNTW9kZWw+IHtcbiAgICB0aGlzLmluaXRpYWxpemF0aW9uUHJvcHMgPSBwcm9wcztcblxuICAgIHJldHVybiB0aGlzLnBjbUFwaVNlcnZpY2VcbiAgICAgIC5mZXRjaFBDTUJ5UHJvZHVjdElkKHByb3BzLnByb2R1Y3RJZClcbiAgICAgIC5waXBlKHRhcChwY21Nb2RlbCA9PiB0aGlzLnBjbU1vZGVsU3ViaiQubmV4dChwY21Nb2RlbCkpKTtcbiAgfVxufVxuIl19
|
@@ -3,7 +3,7 @@ import { OrchestrationsApiService } from '@veloceapps/api/v2';
|
|
3
3
|
import { extractErrorDetails, isDefined, } from '@veloceapps/core';
|
4
4
|
import { cloneDeep } from 'lodash';
|
5
5
|
import { MessageService } from 'primeng/api';
|
6
|
-
import { BehaviorSubject, noop, of, throwError } from 'rxjs';
|
6
|
+
import { BehaviorSubject, distinctUntilChanged, noop, of, switchMap, throwError } from 'rxjs';
|
7
7
|
import { catchError, filter, finalize, map, tap } from 'rxjs/operators';
|
8
8
|
import { FlowInfoService, SalesTransactionService } from '../../../services';
|
9
9
|
import { generateTransactionItem, TransactionItemWorker } from '../../../utils';
|
@@ -150,10 +150,23 @@ export class ConfigurationService {
|
|
150
150
|
}
|
151
151
|
return pcmModel;
|
152
152
|
}
|
153
|
+
getPCMModel$() {
|
154
|
+
return this.configurationRuntimeService.pcmModel$.pipe(distinctUntilChanged((prev, curr) => prev?.id === curr?.id));
|
155
|
+
}
|
156
|
+
swapProduct$(productId) {
|
157
|
+
const rootTransactionItem = this.root;
|
158
|
+
this.flowInfoService.updateContext({ productId });
|
159
|
+
return this.configurationRuntimeService.init$({ productId }).pipe(map(pcm => generateTransactionItem(pcm, this.state?.salesTransaction.id, rootTransactionItem?.qty)), switchMap(salesTransactionItem => {
|
160
|
+
return this.patch$({
|
161
|
+
...salesTransactionItem,
|
162
|
+
id: rootTransactionItem?.id ?? salesTransactionItem.id,
|
163
|
+
});
|
164
|
+
}));
|
165
|
+
}
|
153
166
|
}
|
154
167
|
ConfigurationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ConfigurationService, deps: [{ token: i1.FlowInfoService }, { token: i2.MessageService }, { token: i3.ConfigurationRuntimeService }, { token: i1.SalesTransactionService }, { token: i4.OrchestrationsApiService }, { token: i5.GuidedSellingService }], target: i0.ɵɵFactoryTarget.Injectable });
|
155
168
|
ConfigurationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ConfigurationService });
|
156
169
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ConfigurationService, decorators: [{
|
157
170
|
type: Injectable
|
158
171
|
}], ctorParameters: function () { return [{ type: i1.FlowInfoService }, { type: i2.MessageService }, { type: i3.ConfigurationRuntimeService }, { type: i1.SalesTransactionService }, { type: i4.OrchestrationsApiService }, { type: i5.GuidedSellingService }]; } });
|
159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY29yZS9tb2R1bGVzL2NvbmZpZ3VyYXRpb24vc2VydmljZXMvY29uZmlndXJhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHdCQUF3QixFQUF5QixNQUFNLG9CQUFvQixDQUFDO0FBQ3JGLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsU0FBUyxHQUtWLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNuQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFjLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDekUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDN0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7QUFHaEUsTUFBTSxPQUFPLG9CQUFvQjtJQVEvQixZQUNVLGVBQWdDLEVBQ2hDLGNBQThCLEVBQzlCLDJCQUF3RCxFQUN4RCx1QkFBZ0QsRUFDaEQsd0JBQWtELEVBQ2xELG9CQUEwQztRQUwxQyxvQkFBZSxHQUFm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QVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3QixDQUFDLENBQUMsRUFDRixRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDaEQsQ0FBQztJQUNKLENBQUM7SUFFTSxxQkFBcUIsQ0FBQyxrQkFBc0M7UUFDakUsTUFBTSxPQUFPLEdBQTBCO1lBQ3JDLGtCQUFrQjtZQUNsQixNQUFNLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRTtTQUNyQyxDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDdkQsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQ2pCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLEtBQUssQ0FBQyxLQUFLLEVBQUU7Z0JBQ2YsT0FBTyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ3BEO1lBRUQsT0FBTyxLQUFLLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQ0gsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLFdBQVc7UUFDaEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixDQUFDLFFBQVEsQ0FBQztRQUMzRCxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1NBQzlDO1FBRUQsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQzs7aUhBekxVLG9CQUFvQjtxSEFBcEIsb0JBQW9COzJGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPcmNoZXN0cmF0aW9uc0FwaVNlcnZpY2UsIFByb2NlZHVyZUFwcGx5UmVxdWVzdCB9IGZyb20gJ0B2ZWxvY2VhcHBzL2FwaS92Mic7XG5pbXBvcnQge1xuICBleHRyYWN0RXJyb3JEZXRhaWxzLFxuICBpc0RlZmluZWQsXG4gIFBDTU1vZGVsLFxuICBTYWxlc1RyYW5zYWN0aW9uSXRlbSxcbiAgU2FsZXNUcmFuc2FjdGlvbkl0ZW1BdHRyaWJ1dGUsXG4gIFRyYW5zYWN0aW9uQ29udGV4dCxcbn0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIG5vb3AsIE9ic2VydmFibGUsIG9mLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaWx0ZXIsIGZpbmFsaXplLCBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEZsb3dJbmZvU2VydmljZSwgU2FsZXNUcmFuc2FjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBnZW5lcmF0ZVRyYW5zYWN0aW9uSXRlbSwgVHJhbnNhY3Rpb25JdGVtV29ya2VyIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlIH0gZnJvbSAnLi9jb25maWd1cmF0aW9uLXJ1bnRpbWUuc2VydmljZSc7XG5pbXBvcnQgeyBHdWlkZWRTZWxsaW5nU2VydmljZSB9IGZyb20gJy4vZ3VpZGVkLXNlbGxpbmcuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb25maWd1cmF0aW9uU2VydmljZSB7XG4gIHB1YmxpYyBpc0xvYWRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBwdWJsaWMgaGFzVW5zYXZlZENoYW5nZXMgPSBmYWxzZTtcblxuICBwcml2YXRlIGNvbmZpZ3VyYXRpb25TdGF0ZVN1YmokID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUcmFuc2FjdGlvbkNvbnRleHQgfCBudWxsPihudWxsKTtcbiAgcHJpdmF0ZSBwcmV2aW91c0NvbmZpZ3VyYXRpb25TdGF0ZVN1YmokID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUcmFuc2FjdGlvbkNvbnRleHQgfCBudWxsPihudWxsKTtcbiAgcHJpdmF0ZSBpc0xvYWRpbmdTdWJqJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmxvd0luZm9TZXJ2aWNlOiBGbG93SW5mb1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2U6IENvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZSxcbiAgICBwcml2YXRlIHNhbGVzVHJhbnNhY3Rpb25TZXJ2aWNlOiBTYWxlc1RyYW5zYWN0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIG9yY2hlc3RyYXRpb25zQXBpU2VydmljZTogT3JjaGVzdHJhdGlvbnNBcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgZ3VpZGVkU2VsbGluZ1NlcnZpY2U6IEd1aWRlZFNlbGxpbmdTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLmlzTG9hZGluZyQgPSB0aGlzLmlzTG9hZGluZ1N1YmokLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBzdGF0ZSQoKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbkNvbnRleHQ+IHtcbiAgICByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uU3RhdGVTdWJqJC5hc09ic2VydmFibGUoKS5waXBlKGZpbHRlcihpc0RlZmluZWQpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3RhdGUoKTogVHJhbnNhY3Rpb25Db250ZXh0IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvblN0YXRlU3ViaiQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcHJldmlvdXNTdGF0ZSgpOiBUcmFuc2FjdGlvbkNvbnRleHQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5wcmV2aW91c0NvbmZpZ3VyYXRpb25TdGF0ZVN1YmokLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJvb3QkKCk6IE9ic2VydmFibGU8U2FsZXNUcmFuc2FjdGlvbkl0ZW0+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZSQucGlwZShcbiAgICAgIG1hcChzdGF0ZSA9PiBzdGF0ZS5zYWxlc1RyYW5zYWN0aW9uLnNhbGVzVHJhbnNhY3Rpb25JdGVtc1swXSksXG4gICAgICBmaWx0ZXIoaXNEZWZpbmVkKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCByb290KCk6IFNhbGVzVHJhbnNhY3Rpb25JdGVtIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvblN0YXRlU3ViaiQuZ2V0VmFsdWUoKT8uc2FsZXNUcmFuc2FjdGlvbi5zYWxlc1RyYW5zYWN0aW9uSXRlbXNbMF0gPz8gbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLmhhc1Vuc2F2ZWRDaGFuZ2VzID0gZmFsc2U7XG5cbiAgICB0aGlzLmNvbmZpZ3VyYXRpb25TdGF0ZVN1YmokLm5leHQobnVsbCk7XG4gICAgdGhpcy5wcmV2aW91c0NvbmZpZ3VyYXRpb25TdGF0ZVN1YmokLm5leHQobnVsbCk7XG4gIH1cblxuICBwdWJsaWMgaW5pdCQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgY29uc3QgeyBzdGF0ZSB9ID0gdGhpcy5zYWxlc1RyYW5zYWN0aW9uU2VydmljZTtcbiAgICBjb25zdCB7IHN0YW5kYWxvbmUgfSA9IHRoaXMuZmxvd0luZm9TZXJ2aWNlLmZsb3cucHJvcGVydGllcztcbiAgICBjb25zdCB7IHByb2R1Y3RJZCwgdHJhbnNhY3Rpb25JdGVtSWQsIG5ld1Byb2R1Y3RRdHkgfSA9IHRoaXMuZmxvd0luZm9TZXJ2aWNlLmNvbnRleHQ7XG5cbiAgICBpZiAoIXN0YXRlIHx8ICFwcm9kdWN0SWQpIHtcbiAgICAgIHJldHVybiBvZih1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIGNvbnN0IHNhbGVzVHJhbnNhY3Rpb25JdGVtcyA9IHN0YXRlPy5zYWxlc1RyYW5zYWN0aW9uLnNhbGVzVHJhbnNhY3Rpb25JdGVtcyA/PyBbXTtcbiAgICBsZXQgaXNSb290R2VuZXJhdGVkID0gZmFsc2U7XG4gICAgbGV0IHRyYW5zYWN0aW9uSXRlbSA9IHNhbGVzVHJhbnNhY3Rpb25JdGVtcy5maW5kKGl0ZW0gPT4gaXRlbS5pZCA9PT0gdHJhbnNhY3Rpb25JdGVtSWQpO1xuICAgIGlmICghdHJhbnNhY3Rpb25JdGVtICYmIHN0YW5kYWxvbmUpIHtcbiAgICAgIHRyYW5zYWN0aW9uSXRlbSA9IHNhbGVzVHJhbnNhY3Rpb25JdGVtcy5maW5kKGl0ZW0gPT4gaXRlbS5wcm9kdWN0SWQgPT09IHByb2R1Y3RJZCk7XG4gICAgfVxuXG4gICAgaWYgKCF0cmFuc2FjdGlvbkl0ZW0pIHtcbiAgICAgIGNvbnN0IHF1YW50aXR5ID0gdHlwZW9mIG5ld1Byb2R1Y3RRdHkgPT09ICdudW1iZXInICYmIG5ld1Byb2R1Y3RRdHkgPiAwID8gbmV3UHJvZHVjdFF0eSA6IHVuZGVmaW5lZDtcbiAgICAgIHRyYW5zYWN0aW9uSXRlbSA9IGdlbmVyYXRlVHJhbnNhY3Rpb25JdGVtKHRoaXMuZ2V0UENNTW9kZWwoKSwgdGhpcy5zdGF0ZT8uc2FsZXNUcmFuc2FjdGlvbi5pZCwgcXVhbnRpdHkpO1xuICAgICAgaXNSb290R2VuZXJhdGVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25zdCBndWlkZWRTZWxsaW5nUmVzdWx0ID0gdGhpcy5ndWlkZWRTZWxsaW5nU2VydmljZS5ndWlkZWRTZWxsaW5nUmVzdWx0O1xuICAgIGlmICh0cmFuc2FjdGlvbkl0ZW0gJiYgT2JqZWN0LmtleXMoZ3VpZGVkU2VsbGluZ1Jlc3VsdCkubGVuZ3RoICYmIGlzUm9vdEdlbmVyYXRlZCkge1xuICAgICAgdHJhbnNhY3Rpb25JdGVtLnN0aUF0dHJpYnV0ZXMgPSBPYmplY3QuZW50cmllcyhndWlkZWRTZWxsaW5nUmVzdWx0KS5tYXAoKFthdHRyaWJ1dGVOYW1lLCB2YWx1ZV0pID0+ICh7XG4gICAgICAgIGF0dHJpYnV0ZU5hbWUsXG4gICAgICAgIHZhbHVlLFxuICAgICAgfSkpIGFzIFNhbGVzVHJhbnNhY3Rpb25JdGVtQXR0cmlidXRlW107XG4gICAgfVxuXG4gICAgY29uc3QgY29uZmlndXJhdGlvblN0YXRlOiBUcmFuc2FjdGlvbkNvbnRleHQgPSB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIHNhbGVzVHJhbnNhY3Rpb246IHtcbiAgICAgICAgLi4uc3RhdGUuc2FsZXNUcmFuc2FjdGlvbixcbiAgICAgICAgc2FsZXNUcmFuc2FjdGlvbkl0ZW1zOiB0cmFuc2FjdGlvbkl0ZW0gPyBbdHJhbnNhY3Rpb25JdGVtXSA6IFtdLFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIChpc1Jvb3RHZW5lcmF0ZWQgPyB0aGlzLmNvbmZpZ3VyZSQoY29uZmlndXJhdGlvblN0YXRlKSA6IG9mKGNvbmZpZ3VyYXRpb25TdGF0ZSkpLnBpcGUoXG4gICAgICB0YXAoY29uZmlndXJhdGlvblN0YXRlID0+IHtcbiAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uU3RhdGVTdWJqJC5uZXh0KGNvbmZpZ3VyYXRpb25TdGF0ZSk7XG4gICAgICAgIHRoaXMucHJldmlvdXNDb25maWd1cmF0aW9uU3RhdGVTdWJqJC5uZXh0KGNvbmZpZ3VyYXRpb25TdGF0ZSk7XG4gICAgICB9KSxcbiAgICAgIG1hcChub29wKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHBhdGNoJCh0cmFuc2FjdGlvbkl0ZW06IFNhbGVzVHJhbnNhY3Rpb25JdGVtKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgY29uc3QgeyBzdGF0ZSwgcm9vdCB9ID0gdGhpcztcblxuICAgIGlmICghc3RhdGUpIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcihgQ29uZmlndXJhdGlvbiBTdGF0ZSBpcyBub3QgaW5pdGlhbGl6ZWRgKSk7XG4gICAgfVxuICAgIGlmICghcm9vdCkge1xuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKGBSb290IFNhbGVzVHJhbnNhY3Rpb25JdGVtIG5vdCBmb3VuZGApKTtcbiAgICB9XG5cbiAgICBjb25zdCBuZXdSb290ID0gbmV3IFRyYW5zYWN0aW9uSXRlbVdvcmtlcihyb290KS5yZXBsYWNlKHRyYW5zYWN0aW9uSXRlbSkudGk7XG4gICAgY29uc3QgbmV3VHJhbnNhY3Rpb25Db250ZXh0OiBUcmFuc2FjdGlvbkNvbnRleHQgPSB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIHNhbGVzVHJhbnNhY3Rpb246IHtcbiAgICAgICAgLi4uc3RhdGUuc2FsZXNUcmFuc2FjdGlvbixcbiAgICAgICAgc2FsZXNUcmFuc2FjdGlvbkl0ZW1zOiBbbmV3Um9vdF0sXG4gICAgICB9LFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5jb25maWd1cmUkKG5ld1RyYW5zYWN0aW9uQ29udGV4dCkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcblxuICAgICAgICBpZiAoIXRoaXMuY29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlLnVpRGVmaW5pdGlvblByb3BzLnN1cHByZXNzVG9hc3RNZXNzYWdlcykge1xuICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdlcnJvcicsIHN1bW1hcnk6IGVycm9yIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICAgICAgfSksXG4gICAgICB0YXAoKCkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMuaGFzVW5zYXZlZENoYW5nZXMpIHtcbiAgICAgICAgICB0aGlzLmhhc1Vuc2F2ZWRDaGFuZ2VzID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICBtYXAobm9vcCksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBwYXRjaCh0cmFuc2FjdGlvbkl0ZW06IFNhbGVzVHJhbnNhY3Rpb25JdGVtKTogdm9pZCB7XG4gICAgdGhpcy5wYXRjaCQodHJhbnNhY3Rpb25JdGVtKS5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBjb25maWd1cmUkKHRyYW5zYWN0aW9uQ29udGV4dDogVHJhbnNhY3Rpb25Db250ZXh0KTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbkNvbnRleHQ+IHtcbiAgICB0aGlzLmlzTG9hZGluZ1N1YmokLm5leHQodHJ1ZSk7XG5cbiAgICByZXR1cm4gdGhpcy5qdXN0Q29uZmlndXJlUmVxdWVzdCQodHJhbnNhY3Rpb25Db250ZXh0KS5waXBlKFxuICAgICAgdGFwKHJlc3VsdCA9PiB7XG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvblN0YXRlU3ViaiQubmV4dChyZXN1bHQpO1xuICAgICAgICB0aGlzLnByZXZpb3VzQ29uZmlndXJhdGlvblN0YXRlU3ViaiQubmV4dChjbG9uZURlZXAocmVzdWx0KSk7XG4gICAgICB9KSxcbiAgICAgIGNhdGNoRXJyb3IoZSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc2V0U3RhdGUgPSB0aGlzLnByZXZpb3VzQ29uZmlndXJhdGlvblN0YXRlU3ViaiQuZ2V0VmFsdWUoKTtcbiAgICAgICAgaWYgKHJlc2V0U3RhdGUpIHtcbiAgICAgICAgICB0aGlzLnByZXZpb3VzQ29uZmlndXJhdGlvblN0YXRlU3ViaiQubmV4dChjbG9uZURlZXAocmVzZXRTdGF0ZSkpO1xuICAgICAgICAgIHRoaXMuY29uZmlndXJhdGlvblN0YXRlU3ViaiQubmV4dChyZXNldFN0YXRlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGUpO1xuICAgICAgfSksXG4gICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmlzTG9hZGluZ1N1YmokLm5leHQoZmFsc2UpKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGp1c3RDb25maWd1cmVSZXF1ZXN0JCh0cmFuc2FjdGlvbkNvbnRleHQ6IFRyYW5zYWN0aW9uQ29udGV4dCk6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25Db250ZXh0PiB7XG4gICAgY29uc3QgcmVxdWVzdDogUHJvY2VkdXJlQXBwbHlSZXF1ZXN0ID0ge1xuICAgICAgdHJhbnNhY3Rpb25Db250ZXh0LFxuICAgICAgZmxvd0lkOiB0aGlzLmZsb3dJbmZvU2VydmljZS5mbG93LmlkLFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5vcmNoZXN0cmF0aW9uc0FwaVNlcnZpY2UuYXBwbHkkKHJlcXVlc3QpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKGVycm9yID0+XG4gICAgICAgIHRocm93RXJyb3IoKCkgPT4ge1xuICAgICAgICAgIGlmIChlcnJvci5lcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIGV4dHJhY3RFcnJvckRldGFpbHMoZXJyb3IuZXJyb3IpLmpvaW4oJy4gJyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIGVycm9yLm1lc3NhZ2UgfHwgSlNPTi5zdHJpbmdpZnkoZXJyb3IpO1xuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRQQ01Nb2RlbCgpOiBQQ01Nb2RlbCB7XG4gICAgY29uc3QgcGNtTW9kZWwgPSB0aGlzLmNvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZS5wY21Nb2RlbDtcbiAgICBpZiAoIXBjbU1vZGVsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1BDTSBtb2RlbCBub3QgaW5pdGlhbGl6ZWQnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcGNtTW9kZWw7XG4gIH1cbn1cbiJdfQ==
|
172
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY29yZS9tb2R1bGVzL2NvbmZpZ3VyYXRpb24vc2VydmljZXMvY29uZmlndXJhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHdCQUF3QixFQUF5QixNQUFNLG9CQUFvQixDQUFDO0FBQ3JGLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsU0FBUyxHQUtWLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNuQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsb0JBQW9CLEVBQUUsSUFBSSxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGVBQWUsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzdFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7O0FBR2hFLE1BQU0sT0FBTyxvQkFBb0I7SUFRL0IsWUFDVSxlQUFnQyxFQUNoQyxjQUE4QixFQUM5QiwyQkFBd0QsRUFDeEQsdUJBQWdELEVBQ2hELHdCQUFrRCxFQUNsRCxv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Q0FBQyxJQUFJLEVBQUUsRUFBRSxLQUFLLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3RILENBQUM7SUFFTSxZQUFZLENBQUMsU0FBaUI7UUFDbkMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBRXRDLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUVsRCxPQUFPLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDL0QsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsdUJBQXVCLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsRUFBRSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQ25HLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFO1lBQy9CLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztnQkFDakIsR0FBRyxvQkFBb0I7Z0JBQ3ZCLEVBQUUsRUFBRSxtQkFBbUIsRUFBRSxFQUFFLElBQUksb0JBQW9CLENBQUMsRUFBRTthQUMvQixDQUFDLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7O2lIQTdNVSxvQkFBb0I7cUhBQXBCLG9CQUFvQjsyRkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3JjaGVzdHJhdGlvbnNBcGlTZXJ2aWNlLCBQcm9jZWR1cmVBcHBseVJlcXVlc3QgfSBmcm9tICdAdmVsb2NlYXBwcy9hcGkvdjInO1xuaW1wb3J0IHtcbiAgZXh0cmFjdEVycm9yRGV0YWlscyxcbiAgaXNEZWZpbmVkLFxuICBQQ01Nb2RlbCxcbiAgU2FsZXNUcmFuc2FjdGlvbkl0ZW0sXG4gIFNhbGVzVHJhbnNhY3Rpb25JdGVtQXR0cmlidXRlLFxuICBUcmFuc2FjdGlvbkNvbnRleHQsXG59IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbm9vcCwgT2JzZXJ2YWJsZSwgb2YsIHN3aXRjaE1hcCwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBmaW5hbGl6ZSwgbWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBGbG93SW5mb1NlcnZpY2UsIFNhbGVzVHJhbnNhY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgZ2VuZXJhdGVUcmFuc2FjdGlvbkl0ZW0sIFRyYW5zYWN0aW9uSXRlbVdvcmtlciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZSB9IGZyb20gJy4vY29uZmlndXJhdGlvbi1ydW50aW1lLnNlcnZpY2UnO1xuaW1wb3J0IHsgR3VpZGVkU2VsbGluZ1NlcnZpY2UgfSBmcm9tICcuL2d1aWRlZC1zZWxsaW5nLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhdGlvblNlcnZpY2Uge1xuICBwdWJsaWMgaXNMb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgcHVibGljIGhhc1Vuc2F2ZWRDaGFuZ2VzID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBjb25maWd1cmF0aW9uU3RhdGVTdWJqJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VHJhbnNhY3Rpb25Db250ZXh0IHwgbnVsbD4obnVsbCk7XG4gIHByaXZhdGUgcHJldmlvdXNDb25maWd1cmF0aW9uU3RhdGVTdWJqJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VHJhbnNhY3Rpb25Db250ZXh0IHwgbnVsbD4obnVsbCk7XG4gIHByaXZhdGUgaXNMb2FkaW5nU3ViaiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZsb3dJbmZvU2VydmljZTogRmxvd0luZm9TZXJ2aWNlLFxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlOiBDb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzYWxlc1RyYW5zYWN0aW9uU2VydmljZTogU2FsZXNUcmFuc2FjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBvcmNoZXN0cmF0aW9uc0FwaVNlcnZpY2U6IE9yY2hlc3RyYXRpb25zQXBpU2VydmljZSxcbiAgICBwcml2YXRlIGd1aWRlZFNlbGxpbmdTZXJ2aWNlOiBHdWlkZWRTZWxsaW5nU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy5pc0xvYWRpbmckID0gdGhpcy5pc0xvYWRpbmdTdWJqJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3RhdGUkKCk6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25Db250ZXh0PiB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvblN0YXRlU3ViaiQuYXNPYnNlcnZhYmxlKCkucGlwZShmaWx0ZXIoaXNEZWZpbmVkKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0YXRlKCk6IFRyYW5zYWN0aW9uQ29udGV4dCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyYXRpb25TdGF0ZVN1YmokLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHByZXZpb3VzU3RhdGUoKTogVHJhbnNhY3Rpb25Db250ZXh0IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMucHJldmlvdXNDb25maWd1cmF0aW9uU3RhdGVTdWJqJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCByb290JCgpOiBPYnNlcnZhYmxlPFNhbGVzVHJhbnNhY3Rpb25JdGVtPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgICBtYXAoc3RhdGUgPT4gc3RhdGUuc2FsZXNUcmFuc2FjdGlvbi5zYWxlc1RyYW5zYWN0aW9uSXRlbXNbMF0pLFxuICAgICAgZmlsdGVyKGlzRGVmaW5lZCksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcm9vdCgpOiBTYWxlc1RyYW5zYWN0aW9uSXRlbSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyYXRpb25TdGF0ZVN1YmokLmdldFZhbHVlKCk/LnNhbGVzVHJhbnNhY3Rpb24uc2FsZXNUcmFuc2FjdGlvbkl0ZW1zWzBdID8/IG51bGw7XG4gIH1cblxuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5oYXNVbnNhdmVkQ2hhbmdlcyA9IGZhbHNlO1xuXG4gICAgdGhpcy5jb25maWd1cmF0aW9uU3RhdGVTdWJqJC5uZXh0KG51bGwpO1xuICAgIHRoaXMucHJldmlvdXNDb25maWd1cmF0aW9uU3RhdGVTdWJqJC5uZXh0KG51bGwpO1xuICB9XG5cbiAgcHVibGljIGluaXQkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIGNvbnN0IHsgc3RhdGUgfSA9IHRoaXMuc2FsZXNUcmFuc2FjdGlvblNlcnZpY2U7XG4gICAgY29uc3QgeyBzdGFuZGFsb25lIH0gPSB0aGlzLmZsb3dJbmZvU2VydmljZS5mbG93LnByb3BlcnRpZXM7XG4gICAgY29uc3QgeyBwcm9kdWN0SWQsIHRyYW5zYWN0aW9uSXRlbUlkLCBuZXdQcm9kdWN0UXR5IH0gPSB0aGlzLmZsb3dJbmZvU2VydmljZS5jb250ZXh0O1xuXG4gICAgaWYgKCFzdGF0ZSB8fCAhcHJvZHVjdElkKSB7XG4gICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcbiAgICB9XG5cbiAgICBjb25zdCBzYWxlc1RyYW5zYWN0aW9uSXRlbXMgPSBzdGF0ZT8uc2FsZXNUcmFuc2FjdGlvbi5zYWxlc1RyYW5zYWN0aW9uSXRlbXMgPz8gW107XG4gICAgbGV0IGlzUm9vdEdlbmVyYXRlZCA9IGZhbHNlO1xuICAgIGxldCB0cmFuc2FjdGlvbkl0ZW0gPSBzYWxlc1RyYW5zYWN0aW9uSXRlbXMuZmluZChpdGVtID0+IGl0ZW0uaWQgPT09IHRyYW5zYWN0aW9uSXRlbUlkKTtcbiAgICBpZiAoIXRyYW5zYWN0aW9uSXRlbSAmJiBzdGFuZGFsb25lKSB7XG4gICAgICB0cmFuc2FjdGlvbkl0ZW0gPSBzYWxlc1RyYW5zYWN0aW9uSXRlbXMuZmluZChpdGVtID0+IGl0ZW0ucHJvZHVjdElkID09PSBwcm9kdWN0SWQpO1xuICAgIH1cblxuICAgIGlmICghdHJhbnNhY3Rpb25JdGVtKSB7XG4gICAgICBjb25zdCBxdWFudGl0eSA9IHR5cGVvZiBuZXdQcm9kdWN0UXR5ID09PSAnbnVtYmVyJyAmJiBuZXdQcm9kdWN0UXR5ID4gMCA/IG5ld1Byb2R1Y3RRdHkgOiB1bmRlZmluZWQ7XG4gICAgICB0cmFuc2FjdGlvbkl0ZW0gPSBnZW5lcmF0ZVRyYW5zYWN0aW9uSXRlbSh0aGlzLmdldFBDTU1vZGVsKCksIHRoaXMuc3RhdGU/LnNhbGVzVHJhbnNhY3Rpb24uaWQsIHF1YW50aXR5KTtcbiAgICAgIGlzUm9vdEdlbmVyYXRlZCA9IHRydWU7XG4gICAgfVxuXG4gICAgY29uc3QgZ3VpZGVkU2VsbGluZ1Jlc3VsdCA9IHRoaXMuZ3VpZGVkU2VsbGluZ1NlcnZpY2UuZ3VpZGVkU2VsbGluZ1Jlc3VsdDtcbiAgICBpZiAodHJhbnNhY3Rpb25JdGVtICYmIE9iamVjdC5rZXlzKGd1aWRlZFNlbGxpbmdSZXN1bHQpLmxlbmd0aCAmJiBpc1Jvb3RHZW5lcmF0ZWQpIHtcbiAgICAgIHRyYW5zYWN0aW9uSXRlbS5zdGlBdHRyaWJ1dGVzID0gT2JqZWN0LmVudHJpZXMoZ3VpZGVkU2VsbGluZ1Jlc3VsdCkubWFwKChbYXR0cmlidXRlTmFtZSwgdmFsdWVdKSA9PiAoe1xuICAgICAgICBhdHRyaWJ1dGVOYW1lLFxuICAgICAgICB2YWx1ZSxcbiAgICAgIH0pKSBhcyBTYWxlc1RyYW5zYWN0aW9uSXRlbUF0dHJpYnV0ZVtdO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbmZpZ3VyYXRpb25TdGF0ZTogVHJhbnNhY3Rpb25Db250ZXh0ID0ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBzYWxlc1RyYW5zYWN0aW9uOiB7XG4gICAgICAgIC4uLnN0YXRlLnNhbGVzVHJhbnNhY3Rpb24sXG4gICAgICAgIHNhbGVzVHJhbnNhY3Rpb25JdGVtczogdHJhbnNhY3Rpb25JdGVtID8gW3RyYW5zYWN0aW9uSXRlbV0gOiBbXSxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIHJldHVybiAoaXNSb290R2VuZXJhdGVkID8gdGhpcy5jb25maWd1cmUkKGNvbmZpZ3VyYXRpb25TdGF0ZSkgOiBvZihjb25maWd1cmF0aW9uU3RhdGUpKS5waXBlKFxuICAgICAgdGFwKGNvbmZpZ3VyYXRpb25TdGF0ZSA9PiB7XG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvblN0YXRlU3ViaiQubmV4dChjb25maWd1cmF0aW9uU3RhdGUpO1xuICAgICAgICB0aGlzLnByZXZpb3VzQ29uZmlndXJhdGlvblN0YXRlU3ViaiQubmV4dChjb25maWd1cmF0aW9uU3RhdGUpO1xuICAgICAgfSksXG4gICAgICBtYXAobm9vcCksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBwYXRjaCQodHJhbnNhY3Rpb25JdGVtOiBTYWxlc1RyYW5zYWN0aW9uSXRlbSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIGNvbnN0IHsgc3RhdGUsIHJvb3QgfSA9IHRoaXM7XG5cbiAgICBpZiAoIXN0YXRlKSB7XG4gICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoYENvbmZpZ3VyYXRpb24gU3RhdGUgaXMgbm90IGluaXRpYWxpemVkYCkpO1xuICAgIH1cbiAgICBpZiAoIXJvb3QpIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcihgUm9vdCBTYWxlc1RyYW5zYWN0aW9uSXRlbSBub3QgZm91bmRgKSk7XG4gICAgfVxuXG4gICAgY29uc3QgbmV3Um9vdCA9IG5ldyBUcmFuc2FjdGlvbkl0ZW1Xb3JrZXIocm9vdCkucmVwbGFjZSh0cmFuc2FjdGlvbkl0ZW0pLnRpO1xuICAgIGNvbnN0IG5ld1RyYW5zYWN0aW9uQ29udGV4dDogVHJhbnNhY3Rpb25Db250ZXh0ID0ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBzYWxlc1RyYW5zYWN0aW9uOiB7XG4gICAgICAgIC4uLnN0YXRlLnNhbGVzVHJhbnNhY3Rpb24sXG4gICAgICAgIHNhbGVzVHJhbnNhY3Rpb25JdGVtczogW25ld1Jvb3RdLFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMuY29uZmlndXJlJChuZXdUcmFuc2FjdGlvbkNvbnRleHQpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG5cbiAgICAgICAgaWYgKCF0aGlzLmNvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZS51aURlZmluaXRpb25Qcm9wcy5zdXBwcmVzc1RvYXN0TWVzc2FnZXMpIHtcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnZXJyb3InLCBzdW1tYXJ5OiBlcnJvciB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcbiAgICAgIH0pLFxuICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmhhc1Vuc2F2ZWRDaGFuZ2VzKSB7XG4gICAgICAgICAgdGhpcy5oYXNVbnNhdmVkQ2hhbmdlcyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgbWFwKG5vb3ApLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgcGF0Y2godHJhbnNhY3Rpb25JdGVtOiBTYWxlc1RyYW5zYWN0aW9uSXRlbSk6IHZvaWQge1xuICAgIHRoaXMucGF0Y2gkKHRyYW5zYWN0aW9uSXRlbSkuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgY29uZmlndXJlJCh0cmFuc2FjdGlvbkNvbnRleHQ6IFRyYW5zYWN0aW9uQ29udGV4dCk6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25Db250ZXh0PiB7XG4gICAgdGhpcy5pc0xvYWRpbmdTdWJqJC5uZXh0KHRydWUpO1xuXG4gICAgcmV0dXJuIHRoaXMuanVzdENvbmZpZ3VyZVJlcXVlc3QkKHRyYW5zYWN0aW9uQ29udGV4dCkucGlwZShcbiAgICAgIHRhcChyZXN1bHQgPT4ge1xuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb25TdGF0ZVN1YmokLm5leHQocmVzdWx0KTtcbiAgICAgICAgdGhpcy5wcmV2aW91c0NvbmZpZ3VyYXRpb25TdGF0ZVN1YmokLm5leHQoY2xvbmVEZWVwKHJlc3VsdCkpO1xuICAgICAgfSksXG4gICAgICBjYXRjaEVycm9yKGUgPT4ge1xuICAgICAgICBjb25zdCByZXNldFN0YXRlID0gdGhpcy5wcmV2aW91c0NvbmZpZ3VyYXRpb25TdGF0ZVN1YmokLmdldFZhbHVlKCk7XG4gICAgICAgIGlmIChyZXNldFN0YXRlKSB7XG4gICAgICAgICAgdGhpcy5wcmV2aW91c0NvbmZpZ3VyYXRpb25TdGF0ZVN1YmokLm5leHQoY2xvbmVEZWVwKHJlc2V0U3RhdGUpKTtcbiAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb25TdGF0ZVN1YmokLm5leHQocmVzZXRTdGF0ZSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlKTtcbiAgICAgIH0pLFxuICAgICAgZmluYWxpemUoKCkgPT4gdGhpcy5pc0xvYWRpbmdTdWJqJC5uZXh0KGZhbHNlKSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBqdXN0Q29uZmlndXJlUmVxdWVzdCQodHJhbnNhY3Rpb25Db250ZXh0OiBUcmFuc2FjdGlvbkNvbnRleHQpOiBPYnNlcnZhYmxlPFRyYW5zYWN0aW9uQ29udGV4dD4ge1xuICAgIGNvbnN0IHJlcXVlc3Q6IFByb2NlZHVyZUFwcGx5UmVxdWVzdCA9IHtcbiAgICAgIHRyYW5zYWN0aW9uQ29udGV4dCxcbiAgICAgIGZsb3dJZDogdGhpcy5mbG93SW5mb1NlcnZpY2UuZmxvdy5pZCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMub3JjaGVzdHJhdGlvbnNBcGlTZXJ2aWNlLmFwcGx5JChyZXF1ZXN0KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PlxuICAgICAgICB0aHJvd0Vycm9yKCgpID0+IHtcbiAgICAgICAgICBpZiAoZXJyb3IuZXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBleHRyYWN0RXJyb3JEZXRhaWxzKGVycm9yLmVycm9yKS5qb2luKCcuICcpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBlcnJvci5tZXNzYWdlIHx8IEpTT04uc3RyaW5naWZ5KGVycm9yKTtcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0UENNTW9kZWwoKTogUENNTW9kZWwge1xuICAgIGNvbnN0IHBjbU1vZGVsID0gdGhpcy5jb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2UucGNtTW9kZWw7XG4gICAgaWYgKCFwY21Nb2RlbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdQQ00gbW9kZWwgbm90IGluaXRpYWxpemVkJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBjbU1vZGVsO1xuICB9XG5cbiAgcHVibGljIGdldFBDTU1vZGVsJCgpOiBPYnNlcnZhYmxlPFBDTU1vZGVsIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZS5wY21Nb2RlbCQucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgocHJldiwgY3VycikgPT4gcHJldj8uaWQgPT09IGN1cnI/LmlkKSk7XG4gIH1cblxuICBwdWJsaWMgc3dhcFByb2R1Y3QkKHByb2R1Y3RJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgY29uc3Qgcm9vdFRyYW5zYWN0aW9uSXRlbSA9IHRoaXMucm9vdDtcblxuICAgIHRoaXMuZmxvd0luZm9TZXJ2aWNlLnVwZGF0ZUNvbnRleHQoeyBwcm9kdWN0SWQgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2UuaW5pdCQoeyBwcm9kdWN0SWQgfSkucGlwZShcbiAgICAgIG1hcChwY20gPT4gZ2VuZXJhdGVUcmFuc2FjdGlvbkl0ZW0ocGNtLCB0aGlzLnN0YXRlPy5zYWxlc1RyYW5zYWN0aW9uLmlkLCByb290VHJhbnNhY3Rpb25JdGVtPy5xdHkpKSxcbiAgICAgIHN3aXRjaE1hcChzYWxlc1RyYW5zYWN0aW9uSXRlbSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBhdGNoJCh7XG4gICAgICAgICAgLi4uc2FsZXNUcmFuc2FjdGlvbkl0ZW0sXG4gICAgICAgICAgaWQ6IHJvb3RUcmFuc2FjdGlvbkl0ZW0/LmlkID8/IHNhbGVzVHJhbnNhY3Rpb25JdGVtLmlkLFxuICAgICAgICB9IGFzIFNhbGVzVHJhbnNhY3Rpb25JdGVtKTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
@@ -23,7 +23,7 @@ export class TestModeConfigurationService {
|
|
23
23
|
initTestMode$(uiDefinitionContainer, options) {
|
24
24
|
this.configurationRuntimeService.uiDefinitionContainer = uiDefinitionContainer;
|
25
25
|
if (this.checkInitialized(uiDefinitionContainer)) {
|
26
|
-
this.configurationRuntimeService.pcmModel
|
26
|
+
this.configurationRuntimeService.pcmModelSubj$.next(this.pcmModel || null);
|
27
27
|
return of(undefined);
|
28
28
|
}
|
29
29
|
this.configurationService.reset();
|
@@ -94,4 +94,4 @@ TestModeConfigurationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "
|
|
94
94
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TestModeConfigurationService, decorators: [{
|
95
95
|
type: Injectable
|
96
96
|
}], ctorParameters: function () { return [{ type: i1.FlowInfoService }, { type: i2.ConfigurationService }, { type: i3.ConfigurationRuntimeService }, { type: i1.SalesTransactionService }, { type: i1.RuntimeSettingsService }, { type: i4.SalesforceApiService }]; } });
|
97
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1tb2RlLWNvbmZpZ3VyYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2NvcmUvbW9kdWxlcy9jb25maWd1cmF0aW9uL3NlcnZpY2VzL3Rlc3QtbW9kZS1jb25maWd1cmF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMxRCxPQUFPLEVBQXVELElBQUksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdGLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3RSxPQUFPLEVBQUUsZUFBZSxFQUFFLHNCQUFzQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFckcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7OztBQUcvRCxNQUFNLE9BQU8sNEJBQTRCO0lBSXZDLFlBQ1UsZUFBZ0MsRUFDaEMsb0JBQTBDLEVBQzFDLDJCQUF3RCxFQUN4RCx1QkFBZ0QsRUFDaEQsc0JBQThDLEVBQzlDLFlBQWtDO1FBTGxDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLGdDQUEyQixHQUEzQiwyQkFBMkIsQ0FBNkI7UUFDeEQsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQUNoRCwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLGlCQUFZLEdBQVosWUFBWSxDQUFzQjtRQVRwQyxrQkFBYSxHQUFH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QUFFLE9BQU87WUFDM0IsS0FBSyxFQUFFLEVBQUU7WUFDVCxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNmLFVBQVUsRUFBRSxFQUFFO1NBQ2YsQ0FBQztJQUNKLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxxQkFBNEM7UUFDbkUsT0FBTyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLGdCQUFnQixDQUFDO0lBQzNGLENBQUM7O3lIQWpIVSw0QkFBNEI7NkhBQTVCLDRCQUE0QjsyRkFBNUIsNEJBQTRCO2tCQUR4QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2FsZXNmb3JjZUFwaVNlcnZpY2UgfSBmcm9tICdAdmVsb2NlYXBwcy9hcGkvdjInO1xuaW1wb3J0IHsgUENNTW9kZWwsIFRyYW5zYWN0aW9uQ29udGV4dCwgVUlEZWZpbml0aW9uQ29udGFpbmVyLCBVVUlEIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBtYXAsIG5vb3AsIE9ic2VydmFibGUsIG9mLCBzd2l0Y2hNYXAsIHRhcCwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRmxvd0luZm9TZXJ2aWNlLCBSdW50aW1lU2V0dGluZ3NTZXJ2aWNlLCBTYWxlc1RyYW5zYWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IFRlc3RNb2RlQ29uZmlndXJhdGlvbk9wdGlvbnMgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2UgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb24tcnVudGltZS5zZXJ2aWNlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGVzdE1vZGVDb25maWd1cmF0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgaXNJbml0aWFsaXplZCA9IGZhbHNlO1xuICBwcml2YXRlIHBjbU1vZGVsPzogUENNTW9kZWw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmbG93SW5mb1NlcnZpY2U6IEZsb3dJbmZvU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb25TZXJ2aWNlOiBDb25maWd1cmF0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZTogQ29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlLFxuICAgIHByaXZhdGUgc2FsZXNUcmFuc2FjdGlvblNlcnZpY2U6IFNhbGVzVHJhbnNhY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcnVudGltZVNldHRpbmdzU2VydmljZTogUnVudGltZVNldHRpbmdzU2VydmljZSxcbiAgICBwcml2YXRlIHNmQXBpU2VydmljZTogU2FsZXNmb3JjZUFwaVNlcnZpY2UsXG4gICkge31cblxuICBwdWJsaWMgaW5pdFRlc3RNb2RlJChcbiAgICB1aURlZmluaXRpb25Db250YWluZXI6IFVJRGVmaW5pdGlvbkNvbnRhaW5lcixcbiAgICBvcHRpb25zPzogVGVzdE1vZGVDb25maWd1cmF0aW9uT3B0aW9ucyxcbiAgKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgdGhpcy5jb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2UudWlEZWZpbml0aW9uQ29udGFpbmVyID0gdWlEZWZpbml0aW9uQ29udGFpbmVyO1xuXG4gICAgaWYgKHRoaXMuY2hlY2tJbml0aWFsaXplZCh1aURlZmluaXRpb25Db250YWluZXIpKSB7XG4gICAgICB0aGlzLmNvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZS5wY21Nb2RlbCA9IHRoaXMucGNtTW9kZWw7XG4gICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcbiAgICB9XG4gICAgdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5yZXNldCgpO1xuXG4gICAgY29uc3QgeyBwcm9kdWN0SWQsIHF1b3RlSWQsIGZsb3dJZCB9ID0gdWlEZWZpbml0aW9uQ29udGFpbmVyLnNvdXJjZS5wcm9wZXJ0aWVzID8/IHt9O1xuXG4gICAgaWYgKCFwcm9kdWN0SWQpIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+ICdVbmFibGUgdG8gc3RhcnQgdGhlIENvbmZpZ3VyYXRpb24gUHJldmlldzogUHJvZHVjdCBpcyBtaXNzaW5nLicpO1xuICAgIH1cbiAgICBpZiAoIXF1b3RlSWQpIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGBVbmFibGUgdG8gc3RhcnQgdGhlIENvbmZpZ3VyYXRpb24gUHJldmlldzogUXVvdGUgaXMgbWlzc2luZy5gKTtcbiAgICB9XG4gICAgaWYgKCFmbG93SWQpIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGBVbmFibGUgdG8gc3RhcnQgdGhlIENvbmZpZ3VyYXRpb24gUHJldmlldzogRmxvdyBpcyBtaXNzaW5nLmApO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnJ1bnRpbWVTZXR0aW5nc1NlcnZpY2UuY3JlYXRlKCkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmZsb3dJbmZvU2VydmljZS5pbml0JChmbG93SWQsIHsgcHJvZHVjdElkLCBoZWFkZXJJZDogcXVvdGVJZCwgdGVzdE1vZGU6IHRydWUgfSkpLFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuY29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlLmluaXQkKHsgcHJvZHVjdElkIH0pKSxcbiAgICAgIHRhcChwY21Nb2RlbCA9PiAodGhpcy5wY21Nb2RlbCA9IHBjbU1vZGVsKSksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgICBpZiAob3B0aW9ucz8uY3VzdG9taXphdGlvbk1vZGUpIHtcbiAgICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmluaXRDb25maWd1cmF0aW9uJChxdW90ZUlkKTtcbiAgICAgIH0pLFxuICAgICAgdGFwKCgpID0+ICh0aGlzLmlzSW5pdGlhbGl6ZWQgPSB0cnVlKSksXG4gICAgICBtYXAobm9vcCksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdENvbmZpZ3VyYXRpb24kKHF1b3RlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmdldFByaWNlQm9va0lkKHF1b3RlSWQpLnBpcGUoXG4gICAgICBtYXAocHJpY2VCb29rSWQgPT4gdGhpcy5nZXRUZXN0VHJhbnNhY3Rpb25Db250ZXh0KHF1b3RlSWQsIHByaWNlQm9va0lkKSksXG4gICAgICB0YXAoc3RhdGUgPT4gdGhpcy5zYWxlc1RyYW5zYWN0aW9uU2VydmljZS5zZXRTdGF0ZShzdGF0ZSkpLFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UuaW5pdCQoKSksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5zdGF0ZVxuICAgICAgICAgID8gdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5jb25maWd1cmUkKHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2Uuc3RhdGUpXG4gICAgICAgICAgOiBvZih1bmRlZmluZWQpLFxuICAgICAgKSxcbiAgICAgIG1hcChub29wKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQcmljZUJvb2tJZChxdW90ZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy5zZkFwaVNlcnZpY2VcbiAgICAgIC5xdWVyeTx7IFByaWNlYm9vazJJZDogc3RyaW5nIH0+KFxuICAgICAgICB7IGNvdW50OiAxLCBmaWVsZHM6IFsnUHJpY2Vib29rMklkJ10sIHJhd0NvbmRpdGlvbjogYElkID0gJyR7cXVvdGVJZH0nYCB9LFxuICAgICAgICAnUXVvdGUnLFxuICAgICAgKVxuICAgICAgLnBpcGUobWFwKHIgPT4gcj8uWzBdPy5QcmljZWJvb2sySWQgPz8gbnVsbCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUZXN0VHJhbnNhY3Rpb25Db250ZXh0KHF1b3RlSWQ6IHN0cmluZywgcHJpY2VCb29rSWQ6IHN0cmluZyB8IG51bGwpOiBUcmFuc2FjdGlvbkNvbnRleHQge1xuICAgIGNvbnN0IGRhdGVTdHIgPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkuc3BsaXQoJ1QnKVswXSA/PyAnJztcblxuICAgIGNvbnN0IHRlc3RUcmFuc2FjdGlvbjogVHJhbnNhY3Rpb25Db250ZXh0WydzYWxlc1RyYW5zYWN0aW9uJ10gPSB7XG4gICAgICBpZDogcXVvdGVJZCxcbiAgICAgIGJ1c2luZXNzT2JqZWN0VHlwZTogJ1F1b3RlJyxcbiAgICAgIHNhbGVzVHJhbnNhY3Rpb25JdGVtczogW10sXG4gICAgICBzYWxlc1RyYW5zYWN0aW9uTmFtZTogJ1Rlc3QgUXVvdGUnLFxuICAgICAgYWNjb3VudDogJycsXG4gICAgICBxdW90ZUFjY291bnQ6ICcnLFxuICAgICAgcHJpY2Vib29rOiAnJyxcbiAgICAgIHN0YXR1czogJ0RyYWZ0JyxcbiAgICAgIHRvdGFsQW1vdW50OiAwLFxuICAgICAgc3VidG90YWw6IDAsXG4gICAgICBhY3RpdmF0ZWREYXRlOiBkYXRlU3RyLFxuICAgICAgZWZmZWN0aXZlRGF0ZTogZGF0ZVN0cixcbiAgICAgIHN0YXJ0RGF0ZTogZGF0ZVN0cixcbiAgICAgIGF0dHJpYnV0ZXM6IHt9LFxuICAgICAgbm9kZXM6IHt9LFxuICAgIH07XG5cbiAgICBpZiAocHJpY2VCb29rSWQpIHtcbiAgICAgIHRlc3RUcmFuc2FjdGlvbi5wcmljZWJvb2sgPSBwcmljZUJvb2tJZDtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgc2FsZXNUcmFuc2FjdGlvbjogdGVzdFRyYW5zYWN0aW9uLFxuICAgICAgdHJhbnNhY3Rpb25JZDogcXVvdGVJZCxcbiAgICAgIGJ1c2luZXNzT2JqZWN0VHlwZTogJ1F1b3RlJyxcbiAgICAgIG5vZGVzOiB7fSxcbiAgICAgIGlkOiBVVUlELlVVSUQoKSxcbiAgICAgIGF0dHJpYnV0ZXM6IHt9LFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGNoZWNrSW5pdGlhbGl6ZWQodWlEZWZpbml0aW9uQ29udGFpbmVyOiBVSURlZmluaXRpb25Db250YWluZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0luaXRpYWxpemVkICYmICEhdWlEZWZpbml0aW9uQ29udGFpbmVyLnNvdXJjZS5wcm9wZXJ0aWVzPy5wZXJzaXN0VGVzdFN0YXRlO1xuICB9XG59XG4iXX0=
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1tb2RlLWNvbmZpZ3VyYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2NvcmUvbW9kdWxlcy9jb25maWd1cmF0aW9uL3NlcnZpY2VzL3Rlc3QtbW9kZS1jb25maWd1cmF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMxRCxPQUFPLEVBQXVELElBQUksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdGLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3RSxPQUFPLEVBQUUsZUFBZSxFQUFFLHNCQUFzQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFckcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7OztBQUcvRCxNQUFNLE9BQU8sNEJBQTRCO0lBSXZDLFlBQ1UsZUFBZ0MsRUFDaEMsb0JBQTBDLEVBQzFDLDJCQUF3RCxFQUN4RCx1QkFBZ0QsRUFDaEQsc0JBQThDLEVBQzlDLFlBQWtDO1FBTGxDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLGdDQUEyQixHQUEzQiwyQkFBMkIsQ0FBNkI7UUFDeEQsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQUNoRCwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLGlCQUFZLEdBQVosWUFBWSxDQUFzQjtRQVRwQyxrQkFBYSxHQUFH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LEVBQUUsT0FBTztZQUN0QixrQkFBa0IsRUFBRSxPQUFPO1lBQzNCLEtBQUssRUFBRSxFQUFFO1lBQ1QsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDZixVQUFVLEVBQUUsRUFBRTtTQUNmLENBQUM7SUFDSixDQUFDO0lBRU8sZ0JBQWdCLENBQUMscUJBQTRDO1FBQ25FLE9BQU8sSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQztJQUMzRixDQUFDOzt5SEFqSFUsNEJBQTRCOzZIQUE1Qiw0QkFBNEI7MkZBQTVCLDRCQUE0QjtrQkFEeEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNhbGVzZm9yY2VBcGlTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZWFwcHMvYXBpL3YyJztcbmltcG9ydCB7IFBDTU1vZGVsLCBUcmFuc2FjdGlvbkNvbnRleHQsIFVJRGVmaW5pdGlvbkNvbnRhaW5lciwgVVVJRCB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgbWFwLCBub29wLCBPYnNlcnZhYmxlLCBvZiwgc3dpdGNoTWFwLCB0YXAsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZsb3dJbmZvU2VydmljZSwgUnVudGltZVNldHRpbmdzU2VydmljZSwgU2FsZXNUcmFuc2FjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBUZXN0TW9kZUNvbmZpZ3VyYXRpb25PcHRpb25zIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlIH0gZnJvbSAnLi9jb25maWd1cmF0aW9uLXJ1bnRpbWUuc2VydmljZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uU2VydmljZSB9IGZyb20gJy4vY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRlc3RNb2RlQ29uZmlndXJhdGlvblNlcnZpY2Uge1xuICBwcml2YXRlIGlzSW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBwY21Nb2RlbD86IFBDTU1vZGVsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmxvd0luZm9TZXJ2aWNlOiBGbG93SW5mb1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uU2VydmljZTogQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2U6IENvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZSxcbiAgICBwcml2YXRlIHNhbGVzVHJhbnNhY3Rpb25TZXJ2aWNlOiBTYWxlc1RyYW5zYWN0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJ1bnRpbWVTZXR0aW5nc1NlcnZpY2U6IFJ1bnRpbWVTZXR0aW5nc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBzZkFwaVNlcnZpY2U6IFNhbGVzZm9yY2VBcGlTZXJ2aWNlLFxuICApIHt9XG5cbiAgcHVibGljIGluaXRUZXN0TW9kZSQoXG4gICAgdWlEZWZpbml0aW9uQ29udGFpbmVyOiBVSURlZmluaXRpb25Db250YWluZXIsXG4gICAgb3B0aW9ucz86IFRlc3RNb2RlQ29uZmlndXJhdGlvbk9wdGlvbnMsXG4gICk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHRoaXMuY29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlLnVpRGVmaW5pdGlvbkNvbnRhaW5lciA9IHVpRGVmaW5pdGlvbkNvbnRhaW5lcjtcblxuICAgIGlmICh0aGlzLmNoZWNrSW5pdGlhbGl6ZWQodWlEZWZpbml0aW9uQ29udGFpbmVyKSkge1xuICAgICAgdGhpcy5jb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2UucGNtTW9kZWxTdWJqJC5uZXh0KHRoaXMucGNtTW9kZWwgfHwgbnVsbCk7XG4gICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcbiAgICB9XG4gICAgdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5yZXNldCgpO1xuXG4gICAgY29uc3QgeyBwcm9kdWN0SWQsIHF1b3RlSWQsIGZsb3dJZCB9ID0gdWlEZWZpbml0aW9uQ29udGFpbmVyLnNvdXJjZS5wcm9wZXJ0aWVzID8/IHt9O1xuXG4gICAgaWYgKCFwcm9kdWN0SWQpIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+ICdVbmFibGUgdG8gc3RhcnQgdGhlIENvbmZpZ3VyYXRpb24gUHJldmlldzogUHJvZHVjdCBpcyBtaXNzaW5nLicpO1xuICAgIH1cbiAgICBpZiAoIXF1b3RlSWQpIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGBVbmFibGUgdG8gc3RhcnQgdGhlIENvbmZpZ3VyYXRpb24gUHJldmlldzogUXVvdGUgaXMgbWlzc2luZy5gKTtcbiAgICB9XG4gICAgaWYgKCFmbG93SWQpIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGBVbmFibGUgdG8gc3RhcnQgdGhlIENvbmZpZ3VyYXRpb24gUHJldmlldzogRmxvdyBpcyBtaXNzaW5nLmApO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnJ1bnRpbWVTZXR0aW5nc1NlcnZpY2UuY3JlYXRlKCkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmZsb3dJbmZvU2VydmljZS5pbml0JChmbG93SWQsIHsgcHJvZHVjdElkLCBoZWFkZXJJZDogcXVvdGVJZCwgdGVzdE1vZGU6IHRydWUgfSkpLFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuY29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlLmluaXQkKHsgcHJvZHVjdElkIH0pKSxcbiAgICAgIHRhcChwY21Nb2RlbCA9PiAodGhpcy5wY21Nb2RlbCA9IHBjbU1vZGVsKSksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgICBpZiAob3B0aW9ucz8uY3VzdG9taXphdGlvbk1vZGUpIHtcbiAgICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmluaXRDb25maWd1cmF0aW9uJChxdW90ZUlkKTtcbiAgICAgIH0pLFxuICAgICAgdGFwKCgpID0+ICh0aGlzLmlzSW5pdGlhbGl6ZWQgPSB0cnVlKSksXG4gICAgICBtYXAobm9vcCksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdENvbmZpZ3VyYXRpb24kKHF1b3RlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmdldFByaWNlQm9va0lkKHF1b3RlSWQpLnBpcGUoXG4gICAgICBtYXAocHJpY2VCb29rSWQgPT4gdGhpcy5nZXRUZXN0VHJhbnNhY3Rpb25Db250ZXh0KHF1b3RlSWQsIHByaWNlQm9va0lkKSksXG4gICAgICB0YXAoc3RhdGUgPT4gdGhpcy5zYWxlc1RyYW5zYWN0aW9uU2VydmljZS5zZXRTdGF0ZShzdGF0ZSkpLFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UuaW5pdCQoKSksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5zdGF0ZVxuICAgICAgICAgID8gdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5jb25maWd1cmUkKHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2Uuc3RhdGUpXG4gICAgICAgICAgOiBvZih1bmRlZmluZWQpLFxuICAgICAgKSxcbiAgICAgIG1hcChub29wKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQcmljZUJvb2tJZChxdW90ZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy5zZkFwaVNlcnZpY2VcbiAgICAgIC5xdWVyeTx7IFByaWNlYm9vazJJZDogc3RyaW5nIH0+KFxuICAgICAgICB7IGNvdW50OiAxLCBmaWVsZHM6IFsnUHJpY2Vib29rMklkJ10sIHJhd0NvbmRpdGlvbjogYElkID0gJyR7cXVvdGVJZH0nYCB9LFxuICAgICAgICAnUXVvdGUnLFxuICAgICAgKVxuICAgICAgLnBpcGUobWFwKHIgPT4gcj8uWzBdPy5QcmljZWJvb2sySWQgPz8gbnVsbCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUZXN0VHJhbnNhY3Rpb25Db250ZXh0KHF1b3RlSWQ6IHN0cmluZywgcHJpY2VCb29rSWQ6IHN0cmluZyB8IG51bGwpOiBUcmFuc2FjdGlvbkNvbnRleHQge1xuICAgIGNvbnN0IGRhdGVTdHIgPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkuc3BsaXQoJ1QnKVswXSA/PyAnJztcblxuICAgIGNvbnN0IHRlc3RUcmFuc2FjdGlvbjogVHJhbnNhY3Rpb25Db250ZXh0WydzYWxlc1RyYW5zYWN0aW9uJ10gPSB7XG4gICAgICBpZDogcXVvdGVJZCxcbiAgICAgIGJ1c2luZXNzT2JqZWN0VHlwZTogJ1F1b3RlJyxcbiAgICAgIHNhbGVzVHJhbnNhY3Rpb25JdGVtczogW10sXG4gICAgICBzYWxlc1RyYW5zYWN0aW9uTmFtZTogJ1Rlc3QgUXVvdGUnLFxuICAgICAgYWNjb3VudDogJycsXG4gICAgICBxdW90ZUFjY291bnQ6ICcnLFxuICAgICAgcHJpY2Vib29rOiAnJyxcbiAgICAgIHN0YXR1czogJ0RyYWZ0JyxcbiAgICAgIHRvdGFsQW1vdW50OiAwLFxuICAgICAgc3VidG90YWw6IDAsXG4gICAgICBhY3RpdmF0ZWREYXRlOiBkYXRlU3RyLFxuICAgICAgZWZmZWN0aXZlRGF0ZTogZGF0ZVN0cixcbiAgICAgIHN0YXJ0RGF0ZTogZGF0ZVN0cixcbiAgICAgIGF0dHJpYnV0ZXM6IHt9LFxuICAgICAgbm9kZXM6IHt9LFxuICAgIH07XG5cbiAgICBpZiAocHJpY2VCb29rSWQpIHtcbiAgICAgIHRlc3RUcmFuc2FjdGlvbi5wcmljZWJvb2sgPSBwcmljZUJvb2tJZDtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgc2FsZXNUcmFuc2FjdGlvbjogdGVzdFRyYW5zYWN0aW9uLFxuICAgICAgdHJhbnNhY3Rpb25JZDogcXVvdGVJZCxcbiAgICAgIGJ1c2luZXNzT2JqZWN0VHlwZTogJ1F1b3RlJyxcbiAgICAgIG5vZGVzOiB7fSxcbiAgICAgIGlkOiBVVUlELlVVSUQoKSxcbiAgICAgIGF0dHJpYnV0ZXM6IHt9LFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGNoZWNrSW5pdGlhbGl6ZWQodWlEZWZpbml0aW9uQ29udGFpbmVyOiBVSURlZmluaXRpb25Db250YWluZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0luaXRpYWxpemVkICYmICEhdWlEZWZpbml0aW9uQ29udGFpbmVyLnNvdXJjZS5wcm9wZXJ0aWVzPy5wZXJzaXN0VGVzdFN0YXRlO1xuICB9XG59XG4iXX0=
|
@@ -66,6 +66,10 @@ export const generateTransactionItemFromPCM = (option, salesTransactionId, paren
|
|
66
66
|
productName: option.name,
|
67
67
|
productCode: option.productCode,
|
68
68
|
productRelatedComponentId: option.productRelatedComponent?.id,
|
69
|
+
constraintEngineNodeStatus: {
|
70
|
+
attributes: [],
|
71
|
+
cfgStatus: 'User',
|
72
|
+
},
|
69
73
|
stiAttributes: [],
|
70
74
|
attributes: {
|
71
75
|
ParentReference: salesTransactionId,
|
@@ -125,12 +129,16 @@ export const updateQuantity = (ti, qty, pcm, parentQty = 1) => {
|
|
125
129
|
else if (parentPrevQty !== parentNewQty) {
|
126
130
|
nextQty = calcNewQty(item, parentPrevQty, parentNewQty, pcm, qty, false);
|
127
131
|
}
|
128
|
-
|
132
|
+
const sti = {
|
129
133
|
...item,
|
130
134
|
qty: nextQty,
|
131
135
|
children: item.children.map(child => updateItem(child, item.qty, nextQty, false)),
|
132
136
|
};
|
137
|
+
if (nextQty !== item.qty) {
|
138
|
+
sti.constraintEngineNodeStatus = { ...sti.constraintEngineNodeStatus, cfgStatus: 'User' };
|
139
|
+
}
|
140
|
+
return sti;
|
133
141
|
};
|
134
142
|
return updateItem(ti, parentQty, parentQty, false);
|
135
143
|
};
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24taXRlbS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2NvcmUvdXRpbHMvdHJhbnNhY3Rpb24taXRlbS51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUtULElBQUksR0FDTCxNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDakMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV2QyxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEVBQVUsRUFBRSxLQUE2QixFQUFvQyxFQUFFO0lBQ2pILE9BQU8saUNBQWlDLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBd0IsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztBQUM5RixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBRyxDQUMvQyxLQUE2QixFQUM3QixVQUFpRCxFQUNmLEVBQUU7SUFDcEMsSUFBSSxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBRXpCLE9BQU8sWUFBWSxDQUFDLE1BQU0sRUFBRTtRQUMxQixNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTVDLElBQUksS0FBSyxFQUFFO1lBQ1QsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELFlBQVksR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0tBQ3JFO0lBRUQsT0FBTztBQUNULENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQ25DLElBQTBCLEVBQzFCLFFBQWdCLEVBQ2hCLFFBQThCLEVB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R0FBRyxDQUFDO1FBRXZCLElBQUksSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLGNBQWMsRUFBRTtZQUN2QyxPQUFPLEdBQUcsVUFBVSxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDekU7YUFBTSxJQUFJLGFBQWEsS0FBSyxZQUFZLEVBQUU7WUFDekMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQzFFO1FBRUQsT0FBTztZQUNMLEdBQUcsSUFBSTtZQUNQLEdBQUcsRUFBRSxPQUFPO1lBQ1osUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztTQUNsRixDQUFDO0lBQ0osQ0FBQyxDQUFDO0lBRUYsT0FBTyxVQUFVLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDckQsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgaXNEZWZpbmVkLFxuICBQQ01Nb2RlbCxcbiAgUENNUHJvZHVjdCxcbiAgU2FsZXNUcmFuc2FjdGlvbkl0ZW0sXG4gIFNhbGVzVHJhbnNhY3Rpb25JdGVtQXR0cmlidXRlLFxuICBVVUlELFxufSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IGZsYXR0ZW4gfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgUENNVXRpbHMgfSBmcm9tICcuL3BjbS51dGlscyc7XG5cbmV4cG9ydCBjb25zdCBmaW5kVHJhbnNhY3Rpb25JdGVtID0gKGlkOiBzdHJpbmcsIGl0ZW1zOiBTYWxlc1RyYW5zYWN0aW9uSXRlbVtdKTogU2FsZXNUcmFuc2FjdGlvbkl0ZW0gfCB1bmRlZmluZWQgPT4ge1xuICByZXR1cm4gZmluZFRyYW5zYWN0aW9uSXRlbVdpdGhDb21wYXJhdG9yKGl0ZW1zLCAodGk6IFNhbGVzVHJhbnNhY3Rpb25JdGVtKSA9PiB0aS5pZCA9PT0gaWQpO1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbmRUcmFuc2FjdGlvbkl0ZW1XaXRoQ29tcGFyYXRvciA9IChcbiAgaXRlbXM6IFNhbGVzVHJhbnNhY3Rpb25JdGVtW10sXG4gIGNvbXBhcmF0b3I6ICh0aTogU2FsZXNUcmFuc2FjdGlvbkl0ZW0pID0+IGJvb2xlYW4sXG4pOiBTYWxlc1RyYW5zYWN0aW9uSXRlbSB8IHVuZGVmaW5lZCA9PiB7XG4gIGxldCBjdXJyZW50TGV2ZWwgPSBpdGVtcztcblxuICB3aGlsZSAoY3VycmVudExldmVsLmxlbmd0aCkge1xuICAgIGNvbnN0IGZvdW5kID0gY3VycmVudExldmVsLmZpbmQoY29tcGFyYXRvcik7XG5cbiAgICBpZiAoZm91bmQpIHtcbiAgICAgIHJldHVybiBmb3VuZDtcbiAgICB9XG5cbiAgICBjdXJyZW50TGV2ZWwgPSBmbGF0dGVuKGN1cnJlbnRMZXZlbC5tYXAocGFyZW50ID0+IHBhcmVudC5jaGlsZHJlbikpO1xuICB9XG5cbiAgcmV0dXJuO1xufTtcblxuZXhwb3J0IGNvbnN0IGluc2VydFRyYW5zYWN0aW9uSXRlbSA9IChcbiAgaXRlbTogU2FsZXNUcmFuc2FjdGlvbkl0ZW0sXG4gIHBhcmVudElkOiBzdHJpbmcsXG4gIHRvSW5zZXJ0OiBTYWxlc1RyYW5zYWN0aW9uSXRlbSxcbik6IFNhbGVzVHJhbnNhY3Rpb25JdGVtID0+IHtcbiAgY29uc3QgaW5zZXJ0RGF0YSA9IGl0ZW0uaWQgPT09IHBhcmVudElkID8gW3RvSW5zZXJ0XSA6IFtdO1xuXG4gIHJldHVybiB7XG4gICAgLi4uaXRlbSxcbiAgICBjaGlsZHJlbjogW1xuICAgICAgLi4uaW5zZXJ0RGF0YSxcbiAgICAgIC4uLml0ZW0uY2hpbGRyZW4ubWFwKHRpID0+IHtcbiAgICAgICAgcmV0dXJuIGluc2VydFRyYW5zYWN0aW9uSXRlbSh0aSwgcGFyZW50SWQsIHRvSW5zZXJ0KTtcbiAgICAgIH0pLFxuICAgIF0sXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgcmVtb3ZlVHJhbnNhY3Rpb25JdGVtID0gKGl0ZW06IFNhbGVzVHJhbnNhY3Rpb25JdGVtLCBpZFRvUmVtb3ZlOiBzdHJpbmcpOiBTYWxlc1RyYW5zYWN0aW9uSXRlbSA9PiB7XG4gIHJldHVybiB7XG4gICAgLi4uaXRlbSxcbiAgICBjaGlsZHJlbjogaXRlbS5jaGlsZHJlblxuICAgICAgLm1hcCh0aSA9PiB7XG4gICAgICAgIGlmICh0aS5pZCA9PT0gaWRUb1JlbW92ZSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSBlbHNlIGlmICh0aS5jaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgICAgICByZXR1cm4gcmVtb3ZlVHJhbnNhY3Rpb25JdGVtKHRpLCBpZFRvUmVtb3ZlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aTtcbiAgICAgIH0pXG4gICAgICAuZmlsdGVyKGlzRGVmaW5lZCksXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgcmVwbGFjZVRyYW5zYWN0aW9uSXRlbSA9IChcbiAgaXRlbTogU2FsZXNUcmFuc2FjdGlvbkl0ZW0sXG4gIHJlcGxhY2VUbzogU2FsZXNUcmFuc2FjdGlvbkl0ZW0sXG4pOiBTYWxlc1RyYW5zYWN0aW9uSXRlbSA9PiB7XG4gIGlmIChpdGVtLmlkID09PSByZXBsYWNlVG8uaWQpIHtcbiAgICByZXR1cm4geyAuLi5yZXBsYWNlVG8gfTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgLi4uaXRlbSxcbiAgICBjaGlsZHJlbjogaXRlbS5jaGlsZHJlbi5tYXAodGkgPT4gcmVwbGFjZVRyYW5zYWN0aW9uSXRlbSh0aSwgcmVwbGFjZVRvKSksXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVUcmFuc2FjdGlvbkl0ZW0gPSAoXG4gIG9wdGlvbjogUENNTW9kZWwsXG4gIHNhbGVzVHJhbnNhY3Rpb25JZD86IHN0cmluZyxcbiAgcXR5PzogbnVtYmVyLFxuICBwYXJlbnRUaT86IFNhbGVzVHJhbnNhY3Rpb25JdGVtLFxuKTogU2FsZXNUcmFuc2FjdGlvbkl0ZW0gPT4ge1xuICBjb25zdCBuZXdJdGVtID0gZ2VuZXJhdGVUcmFuc2FjdGlvbkl0ZW1Gcm9tUENNKG9wdGlvbiwgc2FsZXNUcmFuc2FjdGlvbklkLCBwYXJlbnRUaSk7XG5cbiAgLy8gcHJvcGFnYXRlIFByb3BvcnRpb25hbCBxdWFudGl0aWVzIHRvIGNoaWxkcmVuXG4gIGNvbnN0IHVwZGF0ZWROZXdJdGVtID0gdXBkYXRlUXVhbnRpdHkobmV3SXRlbSwgcXR5ID8/IG5ld0l0ZW0ucXR5LCBvcHRpb24sIHBhcmVudFRpPy5xdHkpO1xuXG4gIHJldHVybiB1cGRhdGVkTmV3SXRlbTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZW5lcmF0ZVRyYW5zYWN0aW9uSXRlbUZyb21QQ00gPSAoXG4gIG9wdGlvbjogUENNTW9kZWwsXG4gIHNhbGVzVHJhbnNhY3Rpb25JZD86IHN0cmluZyxcbiAgcGFyZW50VGk/OiBTYWxlc1RyYW5zYWN0aW9uSXRlbSxcbik6IFNhbGVzVHJhbnNhY3Rpb25JdGVtID0+IHtcbiAgY29uc3QgY2hpbGRJZCA9IFVVSUQuVVVJRCgpO1xuXG4gIGNvbnN0IG5ld0l0ZW0gPSB7XG4gICAgaWQ6IGNoaWxkSWQsXG4gICAgcHJvZHVjdElkOiBvcHRpb24uaWQsXG4gICAgcHJvZHVjdE5hbWU6IG9wdGlvbi5uYW1lLFxuICAgIHByb2R1Y3RDb2RlOiBvcHRpb24ucHJvZHVjdENvZGUsXG4gICAgcHJvZHVjdFJlbGF0ZWRDb21wb25lbnRJZDogb3B0aW9uLnByb2R1Y3RSZWxhdGVkQ29tcG9uZW50Py5pZCxcbiAgICBzdGlBdHRyaWJ1dGVzOiBbXSBhcyBTYWxlc1RyYW5zYWN0aW9uSXRlbUF0dHJpYnV0ZVtdLFxuICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgIFBhcmVudFJlZmVyZW5jZTogc2FsZXNUcmFuc2FjdGlvbklkLFxuICAgICAgSXRlbVBhdGg6IG9wdGlvbi5pZCxcbiAgICAgIFNhbGVzVHJhbnNhY3Rpb25JdGVtU291cmNlOiBjaGlsZElkLFxuICAgICAgU2FsZXNUcmFuc2FjdGlvbkl0ZW1QYXJlbnQ6IHNhbGVzVHJhbnNhY3Rpb25JZCxcbiAgICAgIFByb2R1Y3RTZWxsaW5nTW9kZWw6IG9wdGlvbi5wcm9kdWN0U2VsbGluZ01vZGVsT3B0aW9ucz8uWzBdPy5wcm9kdWN0U2VsbGluZ01vZGVsLmlkLFxuICAgIH0gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gICAgcXR5OiBvcHRpb24ucHJvZHVjdFJlbGF0ZWRDb21wb25lbnQ/LnF1YW50aXR5ID8/IDEsXG4gIH0gYXMgU2FsZXNUcmFuc2FjdGlvbkl0ZW07XG5cbiAgaWYgKHBhcmVudFRpKSB7XG4gICAgbmV3SXRlbS5wYXJlbnRJZCA9IHBhcmVudFRpLmlkO1xuICB9XG5cbiAgbmV3SXRlbS5jaGlsZHJlbiA9IG9wdGlvbi5wcm9kdWN0Q29tcG9uZW50R3JvdXBzLnJlZHVjZSgoYWNjOiBTYWxlc1RyYW5zYWN0aW9uSXRlbVtdLCBncm91cCkgPT4ge1xuICAgIGdyb3VwLmNvbXBvbmVudHMuZm9yRWFjaChjb21wb25lbnQgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICBjb21wb25lbnQucHJvZHVjdFJlbGF0ZWRDb21wb25lbnQ/LmlzQ29tcG9uZW50UmVxdWlyZWQgfHxcbiAgICAgICAgY29tcG9uZW50LnByb2R1Y3RSZWxhdGVkQ29tcG9uZW50Py5pc0RlZmF1bHRDb21wb25lbnRcbiAgICAgICkge1xuICAgICAgICBhY2MucHVzaChnZW5lcmF0ZVRyYW5zYWN0aW9uSXRlbUZyb21QQ00oY29tcG9uZW50LCBzYWxlc1RyYW5zYWN0aW9uSWQsIG5ld0l0ZW0pKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBhY2M7XG4gIH0sIFtdKTtcblxuICByZXR1cm4gbmV3SXRlbTtcbn07XG5cbmV4cG9ydCBjb25zdCBmbGF0dGVuVHJhbnNhY3Rpb25JdGVtID0gKHRpOiBTYWxlc1RyYW5zYWN0aW9uSXRlbSk6IFNhbGVzVHJhbnNhY3Rpb25JdGVtW10gPT4ge1xuICBjb25zdCByZXN1bHQ6IFNhbGVzVHJhbnNhY3Rpb25JdGVtW10gPSBbXTtcbiAgY29uc3QgdHJhdmVyc2UgPSAoaXRlbTogU2FsZXNUcmFuc2FjdGlvbkl0ZW0pID0+IHtcbiAgICBpZiAoIWl0ZW0pIHJldHVybjtcbiAgICByZXN1bHQucHVzaChpdGVtKTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShpdGVtLmNoaWxkcmVuKSAmJiBpdGVtLmNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBpdGVtLmNoaWxkcmVuKSB7XG4gICAgICAgIHRyYXZlcnNlKGNoaWxkKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgdHJhdmVyc2UodGkpO1xuXG4gIHJldHVybiByZXN1bHQ7XG59O1xuXG5leHBvcnQgY29uc3QgdXBkYXRlUXVhbnRpdHkgPSAoXG4gIHRpOiBTYWxlc1RyYW5zYWN0aW9uSXRlbSxcbiAgcXR5OiBudW1iZXIsXG4gIHBjbTogUENNUHJvZHVjdCxcbiAgcGFyZW50UXR5ID0gMSxcbik6IFNhbGVzVHJhbnNhY3Rpb25JdGVtID0+IHtcbiAgY29uc3QgcGNtTWFwID0gUENNVXRpbHMubWFwQnlQcmNJZChwY20pO1xuXG4gIGNvbnN0IGNhbGNOZXdRdHkgPSAoXG4gICAgaXRlbTogU2FsZXNUcmFuc2FjdGlvbkl0ZW0sXG4gICAgcGFyZW50UHJldlF0eTogbnVtYmVyLFxuICAgIHBhcmVudE5ld1F0eTogbnVtYmVyLFxuICAgIHBhcmVudFBjbTogUENNUHJvZHVjdCB8IHVuZGVmaW5lZCxcbiAgICBpbnB1dFF0eTogbnVtYmVyLFxuICAgIGlzRGlyZWN0Q2hhbmdlOiBib29sZWFuLFxuICApOiBudW1iZXIgPT4ge1xuICAgIGNvbnN0IHNjYWxlTWV0aG9kID0gcGFyZW50UGNtPy5wcm9kdWN0UmVsYXRlZENvbXBvbmVudD8ucXVhbnRpdHlTY2FsZU1ldGhvZDtcbiAgICBpZiAoaXNEaXJlY3RDaGFuZ2UpIHtcbiAgICAgIHJldHVybiBzY2FsZU1ldGhvZCA9PT0gJ1Byb3BvcnRpb25hbCcgPyBwYXJlbnRQcmV2UXR5ICogaW5wdXRRdHkgOiBpbnB1dFF0eTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHNjYWxlTWV0aG9kID09PSAnUHJvcG9ydGlvbmFsJyA/IChpdGVtLnF0eSAvIHBhcmVudFByZXZRdHkpICogcGFyZW50TmV3UXR5IDogaXRlbS5xdHk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHVwZGF0ZUl0ZW0gPSAoXG4gICAgaXRlbTogU2FsZXNUcmFuc2FjdGlvbkl0ZW0sXG4gICAgcGFyZW50UHJldlF0eTogbnVtYmVyLFxuICAgIHBhcmVudE5ld1F0eTogbnVtYmVyLFxuICAgIGlzRGlyZWN0Q2hhbmdlOiBib29sZWFuLFxuICApOiBTYWxlc1RyYW5zYWN0aW9uSXRlbSA9PiB7XG4gICAgY29uc3QgcGNtID0gcGNtTWFwW2l0ZW0ucHJvZHVjdFJlbGF0ZWRDb21wb25lbnRJZF07XG4gICAgbGV0IG5leHRRdHkgPSBpdGVtLnF0eTtcblxuICAgIGlmIChpdGVtLmlkID09PSB0aS5pZCB8fCBpc0RpcmVjdENoYW5nZSkge1xuICAgICAgbmV4dFF0eSA9IGNhbGNOZXdRdHkoaXRlbSwgcGFyZW50UHJldlF0eSwgcGFyZW50TmV3UXR5LCBwY20sIHF0eSwgdHJ1ZSk7XG4gICAgfSBlbHNlIGlmIChwYXJlbnRQcmV2UXR5ICE9PSBwYXJlbnROZXdRdHkpIHtcbiAgICAgIG5leHRRdHkgPSBjYWxjTmV3UXR5KGl0ZW0sIHBhcmVudFByZXZRdHksIHBhcmVudE5ld1F0eSwgcGNtLCBxdHksIGZhbHNlKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uaXRlbSxcbiAgICAgIHF0eTogbmV4dFF0eSxcbiAgICAgIGNoaWxkcmVuOiBpdGVtLmNoaWxkcmVuLm1hcChjaGlsZCA9PiB1cGRhdGVJdGVtKGNoaWxkLCBpdGVtLnF0eSwgbmV4dFF0eSwgZmFsc2UpKSxcbiAgICB9O1xuICB9O1xuXG4gIHJldHVybiB1cGRhdGVJdGVtKHRpLCBwYXJlbnRRdHksIHBhcmVudFF0eSwgZmFsc2UpO1xufTtcbiJdfQ==
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24taXRlbS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2NvcmUvdXRpbHMvdHJhbnNhY3Rpb24taXRlbS51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUtULElBQUksR0FDTCxNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDakMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV2QyxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEVBQVUsRUFBRSxLQUE2QixFQUFvQyxFQUFFO0lBQ2pILE9BQU8saUNBQWlDLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBd0IsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztBQUM5RixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBRyxDQUMvQyxLQUE2QixFQUM3QixVQUFpRCxFQUNmLEVBQUU7SUFDcEMsSUFBSSxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBRXpCLE9BQU8sWUFBWSxDQUFDLE1BQU0sRUFBRTtRQUMxQixNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTVDLElBQUksS0FBSyxFQUFFO1lBQ1QsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELFlBQVksR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0tBQ3JFO0lBRUQsT0FBTztBQUNULENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQ25DLElBQTBCLEVBQzFCLFFBQWdCLEVBQ2hCLFFBQThCLEVB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QU0sQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUNuRCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBRXZCLElBQUksSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLGNBQWMsRUFBRTtZQUN2QyxPQUFPLEdBQUcsVUFBVSxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDekU7YUFBTSxJQUFJLGFBQWEsS0FBSyxZQUFZLEVBQUU7WUFDekMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQzFFO1FBRUQsTUFBTSxHQUFHLEdBQUc7WUFDVixHQUFHLElBQUk7WUFDUCxHQUFHLEVBQUUsT0FBTztZQUNaLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDbEYsQ0FBQztRQUVGLElBQUksT0FBTyxLQUFLLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDeEIsR0FBRyxDQUFDLDBCQUEwQixHQUFHLEVBQUUsR0FBRyxHQUFHLENBQUMsMEJBQTBCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDO1NBQzNGO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLENBQUM7SUFFRixPQUFPLFVBQVUsQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUNyRCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb25zdHJhaW50RW5naW5lQXR0cmlidXRlLFxuICBpc0RlZmluZWQsXG4gIFBDTU1vZGVsLFxuICBQQ01Qcm9kdWN0LFxuICBTYWxlc1RyYW5zYWN0aW9uSXRlbSxcbiAgU2FsZXNUcmFuc2FjdGlvbkl0ZW1BdHRyaWJ1dGUsXG4gIFVVSUQsXG59IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgZmxhdHRlbiB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBQQ01VdGlscyB9IGZyb20gJy4vcGNtLnV0aWxzJztcblxuZXhwb3J0IGNvbnN0IGZpbmRUcmFuc2FjdGlvbkl0ZW0gPSAoaWQ6IHN0cmluZywgaXRlbXM6IFNhbGVzVHJhbnNhY3Rpb25JdGVtW10pOiBTYWxlc1RyYW5zYWN0aW9uSXRlbSB8IHVuZGVmaW5lZCA9PiB7XG4gIHJldHVybiBmaW5kVHJhbnNhY3Rpb25JdGVtV2l0aENvbXBhcmF0b3IoaXRlbXMsICh0aTogU2FsZXNUcmFuc2FjdGlvbkl0ZW0pID0+IHRpLmlkID09PSBpZCk7XG59O1xuXG5leHBvcnQgY29uc3QgZmluZFRyYW5zYWN0aW9uSXRlbVdpdGhDb21wYXJhdG9yID0gKFxuICBpdGVtczogU2FsZXNUcmFuc2FjdGlvbkl0ZW1bXSxcbiAgY29tcGFyYXRvcjogKHRpOiBTYWxlc1RyYW5zYWN0aW9uSXRlbSkgPT4gYm9vbGVhbixcbik6IFNhbGVzVHJhbnNhY3Rpb25JdGVtIHwgdW5kZWZpbmVkID0+IHtcbiAgbGV0IGN1cnJlbnRMZXZlbCA9IGl0ZW1zO1xuXG4gIHdoaWxlIChjdXJyZW50TGV2ZWwubGVuZ3RoKSB7XG4gICAgY29uc3QgZm91bmQgPSBjdXJyZW50TGV2ZWwuZmluZChjb21wYXJhdG9yKTtcblxuICAgIGlmIChmb3VuZCkge1xuICAgICAgcmV0dXJuIGZvdW5kO1xuICAgIH1cblxuICAgIGN1cnJlbnRMZXZlbCA9IGZsYXR0ZW4oY3VycmVudExldmVsLm1hcChwYXJlbnQgPT4gcGFyZW50LmNoaWxkcmVuKSk7XG4gIH1cblxuICByZXR1cm47XG59O1xuXG5leHBvcnQgY29uc3QgaW5zZXJ0VHJhbnNhY3Rpb25JdGVtID0gKFxuICBpdGVtOiBTYWxlc1RyYW5zYWN0aW9uSXRlbSxcbiAgcGFyZW50SWQ6IHN0cmluZyxcbiAgdG9JbnNlcnQ6IFNhbGVzVHJhbnNhY3Rpb25JdGVtLFxuKTogU2FsZXNUcmFuc2FjdGlvbkl0ZW0gPT4ge1xuICBjb25zdCBpbnNlcnREYXRhID0gaXRlbS5pZCA9PT0gcGFyZW50SWQgPyBbdG9JbnNlcnRdIDogW107XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5pdGVtLFxuICAgIGNoaWxkcmVuOiBbXG4gICAgICAuLi5pbnNlcnREYXRhLFxuICAgICAgLi4uaXRlbS5jaGlsZHJlbi5tYXAodGkgPT4ge1xuICAgICAgICByZXR1cm4gaW5zZXJ0VHJhbnNhY3Rpb25JdGVtKHRpLCBwYXJlbnRJZCwgdG9JbnNlcnQpO1xuICAgICAgfSksXG4gICAgXSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCByZW1vdmVUcmFuc2FjdGlvbkl0ZW0gPSAoaXRlbTogU2FsZXNUcmFuc2FjdGlvbkl0ZW0sIGlkVG9SZW1vdmU6IHN0cmluZyk6IFNhbGVzVHJhbnNhY3Rpb25JdGVtID0+IHtcbiAgcmV0dXJuIHtcbiAgICAuLi5pdGVtLFxuICAgIGNoaWxkcmVuOiBpdGVtLmNoaWxkcmVuXG4gICAgICAubWFwKHRpID0+IHtcbiAgICAgICAgaWYgKHRpLmlkID09PSBpZFRvUmVtb3ZlKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IGVsc2UgaWYgKHRpLmNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgICAgIHJldHVybiByZW1vdmVUcmFuc2FjdGlvbkl0ZW0odGksIGlkVG9SZW1vdmUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRpO1xuICAgICAgfSlcbiAgICAgIC5maWx0ZXIoaXNEZWZpbmVkKSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCByZXBsYWNlVHJhbnNhY3Rpb25JdGVtID0gKFxuICBpdGVtOiBTYWxlc1RyYW5zYWN0aW9uSXRlbSxcbiAgcmVwbGFjZVRvOiBTYWxlc1RyYW5zYWN0aW9uSXRlbSxcbik6IFNhbGVzVHJhbnNhY3Rpb25JdGVtID0+IHtcbiAgaWYgKGl0ZW0uaWQgPT09IHJlcGxhY2VUby5pZCkge1xuICAgIHJldHVybiB7IC4uLnJlcGxhY2VUbyB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5pdGVtLFxuICAgIGNoaWxkcmVuOiBpdGVtLmNoaWxkcmVuLm1hcCh0aSA9PiByZXBsYWNlVHJhbnNhY3Rpb25JdGVtKHRpLCByZXBsYWNlVG8pKSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZW5lcmF0ZVRyYW5zYWN0aW9uSXRlbSA9IChcbiAgb3B0aW9uOiBQQ01Nb2RlbCxcbiAgc2FsZXNUcmFuc2FjdGlvbklkPzogc3RyaW5nLFxuICBxdHk/OiBudW1iZXIsXG4gIHBhcmVudFRpPzogU2FsZXNUcmFuc2FjdGlvbkl0ZW0sXG4pOiBTYWxlc1RyYW5zYWN0aW9uSXRlbSA9PiB7XG4gIGNvbnN0IG5ld0l0ZW0gPSBnZW5lcmF0ZVRyYW5zYWN0aW9uSXRlbUZyb21QQ00ob3B0aW9uLCBzYWxlc1RyYW5zYWN0aW9uSWQsIHBhcmVudFRpKTtcblxuICAvLyBwcm9wYWdhdGUgUHJvcG9ydGlvbmFsIHF1YW50aXRpZXMgdG8gY2hpbGRyZW5cbiAgY29uc3QgdXBkYXRlZE5ld0l0ZW0gPSB1cGRhdGVRdWFudGl0eShuZXdJdGVtLCBxdHkgPz8gbmV3SXRlbS5xdHksIG9wdGlvbiwgcGFyZW50VGk/LnF0eSk7XG5cbiAgcmV0dXJuIHVwZGF0ZWROZXdJdGVtO1xufTtcblxuZXhwb3J0IGNvbnN0IGdlbmVyYXRlVHJhbnNhY3Rpb25JdGVtRnJvbVBDTSA9IChcbiAgb3B0aW9uOiBQQ01Nb2RlbCxcbiAgc2FsZXNUcmFuc2FjdGlvbklkPzogc3RyaW5nLFxuICBwYXJlbnRUaT86IFNhbGVzVHJhbnNhY3Rpb25JdGVtLFxuKTogU2FsZXNUcmFuc2FjdGlvbkl0ZW0gPT4ge1xuICBjb25zdCBjaGlsZElkID0gVVVJRC5VVUlEKCk7XG5cbiAgY29uc3QgbmV3SXRlbSA9IHtcbiAgICBpZDogY2hpbGRJZCxcbiAgICBwcm9kdWN0SWQ6IG9wdGlvbi5pZCxcbiAgICBwcm9kdWN0TmFtZTogb3B0aW9uLm5hbWUsXG4gICAgcHJvZHVjdENvZGU6IG9wdGlvbi5wcm9kdWN0Q29kZSxcbiAgICBwcm9kdWN0UmVsYXRlZENvbXBvbmVudElkOiBvcHRpb24ucHJvZHVjdFJlbGF0ZWRDb21wb25lbnQ/LmlkLFxuICAgIGNvbnN0cmFpbnRFbmdpbmVOb2RlU3RhdHVzOiB7XG4gICAgICBhdHRyaWJ1dGVzOiBbXSBhcyBDb25zdHJhaW50RW5naW5lQXR0cmlidXRlW10sXG4gICAgICBjZmdTdGF0dXM6ICdVc2VyJyxcbiAgICB9LFxuICAgIHN0aUF0dHJpYnV0ZXM6IFtdIGFzIFNhbGVzVHJhbnNhY3Rpb25JdGVtQXR0cmlidXRlW10sXG4gICAgYXR0cmlidXRlczoge1xuICAgICAgUGFyZW50UmVmZXJlbmNlOiBzYWxlc1RyYW5zYWN0aW9uSWQsXG4gICAgICBJdGVtUGF0aDogb3B0aW9uLmlkLFxuICAgICAgU2FsZXNUcmFuc2FjdGlvbkl0ZW1Tb3VyY2U6IGNoaWxkSWQsXG4gICAgICBTYWxlc1RyYW5zYWN0aW9uSXRlbVBhcmVudDogc2FsZXNUcmFuc2FjdGlvbklkLFxuICAgICAgUHJvZHVjdFNlbGxpbmdNb2RlbDogb3B0aW9uLnByb2R1Y3RTZWxsaW5nTW9kZWxPcHRpb25zPy5bMF0/LnByb2R1Y3RTZWxsaW5nTW9kZWwuaWQsXG4gICAgfSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgICBxdHk6IG9wdGlvbi5wcm9kdWN0UmVsYXRlZENvbXBvbmVudD8ucXVhbnRpdHkgPz8gMSxcbiAgfSBhcyBTYWxlc1RyYW5zYWN0aW9uSXRlbTtcblxuICBpZiAocGFyZW50VGkpIHtcbiAgICBuZXdJdGVtLnBhcmVudElkID0gcGFyZW50VGkuaWQ7XG4gIH1cblxuICBuZXdJdGVtLmNoaWxkcmVuID0gb3B0aW9uLnByb2R1Y3RDb21wb25lbnRHcm91cHMucmVkdWNlKChhY2M6IFNhbGVzVHJhbnNhY3Rpb25JdGVtW10sIGdyb3VwKSA9PiB7XG4gICAgZ3JvdXAuY29tcG9uZW50cy5mb3JFYWNoKGNvbXBvbmVudCA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIGNvbXBvbmVudC5wcm9kdWN0UmVsYXRlZENvbXBvbmVudD8uaXNDb21wb25lbnRSZXF1aXJlZCB8fFxuICAgICAgICBjb21wb25lbnQucHJvZHVjdFJlbGF0ZWRDb21wb25lbnQ/LmlzRGVmYXVsdENvbXBvbmVudFxuICAgICAgKSB7XG4gICAgICAgIGFjYy5wdXNoKGdlbmVyYXRlVHJhbnNhY3Rpb25JdGVtRnJvbVBDTShjb21wb25lbnQsIHNhbGVzVHJhbnNhY3Rpb25JZCwgbmV3SXRlbSkpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGFjYztcbiAgfSwgW10pO1xuXG4gIHJldHVybiBuZXdJdGVtO1xufTtcblxuZXhwb3J0IGNvbnN0IGZsYXR0ZW5UcmFuc2FjdGlvbkl0ZW0gPSAodGk6IFNhbGVzVHJhbnNhY3Rpb25JdGVtKTogU2FsZXNUcmFuc2FjdGlvbkl0ZW1bXSA9PiB7XG4gIGNvbnN0IHJlc3VsdDogU2FsZXNUcmFuc2FjdGlvbkl0ZW1bXSA9IFtdO1xuICBjb25zdCB0cmF2ZXJzZSA9IChpdGVtOiBTYWxlc1RyYW5zYWN0aW9uSXRlbSkgPT4ge1xuICAgIGlmICghaXRlbSkgcmV0dXJuO1xuICAgIHJlc3VsdC5wdXNoKGl0ZW0pO1xuICAgIGlmIChBcnJheS5pc0FycmF5KGl0ZW0uY2hpbGRyZW4pICYmIGl0ZW0uY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIGl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgICAgdHJhdmVyc2UoY2hpbGQpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICB0cmF2ZXJzZSh0aSk7XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVRdWFudGl0eSA9IChcbiAgdGk6IFNhbGVzVHJhbnNhY3Rpb25JdGVtLFxuICBxdHk6IG51bWJlcixcbiAgcGNtOiBQQ01Qcm9kdWN0LFxuICBwYXJlbnRRdHkgPSAxLFxuKTogU2FsZXNUcmFuc2FjdGlvbkl0ZW0gPT4ge1xuICBjb25zdCBwY21NYXAgPSBQQ01VdGlscy5tYXBCeVByY0lkKHBjbSk7XG5cbiAgY29uc3QgY2FsY05ld1F0eSA9IChcbiAgICBpdGVtOiBTYWxlc1RyYW5zYWN0aW9uSXRlbSxcbiAgICBwYXJlbnRQcmV2UXR5OiBudW1iZXIsXG4gICAgcGFyZW50TmV3UXR5OiBudW1iZXIsXG4gICAgcGFyZW50UGNtOiBQQ01Qcm9kdWN0IHwgdW5kZWZpbmVkLFxuICAgIGlucHV0UXR5OiBudW1iZXIsXG4gICAgaXNEaXJlY3RDaGFuZ2U6IGJvb2xlYW4sXG4gICk6IG51bWJlciA9PiB7XG4gICAgY29uc3Qgc2NhbGVNZXRob2QgPSBwYXJlbnRQY20/LnByb2R1Y3RSZWxhdGVkQ29tcG9uZW50Py5xdWFudGl0eVNjYWxlTWV0aG9kO1xuICAgIGlmIChpc0RpcmVjdENoYW5nZSkge1xuICAgICAgcmV0dXJuIHNjYWxlTWV0aG9kID09PSAnUHJvcG9ydGlvbmFsJyA/IHBhcmVudFByZXZRdHkgKiBpbnB1dFF0eSA6IGlucHV0UXR5O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gc2NhbGVNZXRob2QgPT09ICdQcm9wb3J0aW9uYWwnID8gKGl0ZW0ucXR5IC8gcGFyZW50UHJldlF0eSkgKiBwYXJlbnROZXdRdHkgOiBpdGVtLnF0eTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgdXBkYXRlSXRlbSA9IChcbiAgICBpdGVtOiBTYWxlc1RyYW5zYWN0aW9uSXRlbSxcbiAgICBwYXJlbnRQcmV2UXR5OiBudW1iZXIsXG4gICAgcGFyZW50TmV3UXR5OiBudW1iZXIsXG4gICAgaXNEaXJlY3RDaGFuZ2U6IGJvb2xlYW4sXG4gICk6IFNhbGVzVHJhbnNhY3Rpb25JdGVtID0+IHtcbiAgICBjb25zdCBwY20gPSBwY21NYXBbaXRlbS5wcm9kdWN0UmVsYXRlZENvbXBvbmVudElkXTtcbiAgICBsZXQgbmV4dFF0eSA9IGl0ZW0ucXR5O1xuXG4gICAgaWYgKGl0ZW0uaWQgPT09IHRpLmlkIHx8IGlzRGlyZWN0Q2hhbmdlKSB7XG4gICAgICBuZXh0UXR5ID0gY2FsY05ld1F0eShpdGVtLCBwYXJlbnRQcmV2UXR5LCBwYXJlbnROZXdRdHksIHBjbSwgcXR5LCB0cnVlKTtcbiAgICB9IGVsc2UgaWYgKHBhcmVudFByZXZRdHkgIT09IHBhcmVudE5ld1F0eSkge1xuICAgICAgbmV4dFF0eSA9IGNhbGNOZXdRdHkoaXRlbSwgcGFyZW50UHJldlF0eSwgcGFyZW50TmV3UXR5LCBwY20sIHF0eSwgZmFsc2UpO1xuICAgIH1cblxuICAgIGNvbnN0IHN0aSA9IHtcbiAgICAgIC4uLml0ZW0sXG4gICAgICBxdHk6IG5leHRRdHksXG4gICAgICBjaGlsZHJlbjogaXRlbS5jaGlsZHJlbi5tYXAoY2hpbGQgPT4gdXBkYXRlSXRlbShjaGlsZCwgaXRlbS5xdHksIG5leHRRdHksIGZhbHNlKSksXG4gICAgfTtcblxuICAgIGlmIChuZXh0UXR5ICE9PSBpdGVtLnF0eSkge1xuICAgICAgc3RpLmNvbnN0cmFpbnRFbmdpbmVOb2RlU3RhdHVzID0geyAuLi5zdGkuY29uc3RyYWludEVuZ2luZU5vZGVTdGF0dXMsIGNmZ1N0YXR1czogJ1VzZXInIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0aTtcbiAgfTtcblxuICByZXR1cm4gdXBkYXRlSXRlbSh0aSwgcGFyZW50UXR5LCBwYXJlbnRRdHksIGZhbHNlKTtcbn07XG4iXX0=
|
@@ -5,7 +5,7 @@ import * as i3 from '@veloceapps/api';
|
|
5
5
|
import { ApiModule } from '@veloceapps/api';
|
6
6
|
import * as i6 from '@veloceapps/components';
|
7
7
|
import { ToastType, ConfirmationDialogModule } from '@veloceapps/components';
|
8
|
-
import {
|
8
|
+
import { BehaviorSubject, tap, map, filter, switchMap, of, forkJoin, throwError, noop, Subject, catchError, combineLatest, finalize, buffer, debounceTime, share, take, distinctUntilChanged, shareReplay, takeUntil, first } from 'rxjs';
|
9
9
|
import * as i1 from '@veloceapps/api/v2';
|
10
10
|
import { flatten, omit, uniqBy, cloneDeep, assign, isEqual } from 'lodash';
|
11
11
|
import { filter as filter$1, map as map$1, tap as tap$1, catchError as catchError$1, finalize as finalize$1 } from 'rxjs/operators';
|
@@ -17,19 +17,28 @@ class ConfigurationRuntimeService {
|
|
17
17
|
constructor(pcmApiService) {
|
18
18
|
this.pcmApiService = pcmApiService;
|
19
19
|
this.uiDefinitionContainer = null;
|
20
|
+
this.pcmModelSubj$ = new BehaviorSubject(null);
|
20
21
|
}
|
21
22
|
get uiDefinitionProps() {
|
22
23
|
var _a, _b;
|
23
24
|
return (_b = (_a = this.uiDefinitionContainer) === null || _a === void 0 ? void 0 : _a.source.properties) !== null && _b !== void 0 ? _b : {};
|
24
25
|
}
|
26
|
+
get pcmModel() {
|
27
|
+
return this.pcmModelSubj$.value;
|
28
|
+
}
|
29
|
+
get pcmModel$() {
|
30
|
+
return this.pcmModelSubj$;
|
31
|
+
}
|
25
32
|
reset() {
|
26
33
|
this.uiDefinitionContainer = null;
|
27
34
|
this.initializationProps = undefined;
|
28
|
-
this.
|
35
|
+
this.pcmModelSubj$.next(null);
|
29
36
|
}
|
30
37
|
init$(props) {
|
31
38
|
this.initializationProps = props;
|
32
|
-
return this.pcmApiService
|
39
|
+
return this.pcmApiService
|
40
|
+
.fetchPCMByProductId(props.productId)
|
41
|
+
.pipe(tap(pcmModel => this.pcmModelSubj$.next(pcmModel)));
|
33
42
|
}
|
34
43
|
}
|
35
44
|
ConfigurationRuntimeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ConfigurationRuntimeService, deps: [{ token: i1.PCMApiService }], target: i0.ɵɵFactoryTarget.Injectable });
|
@@ -110,6 +119,10 @@ const generateTransactionItemFromPCM = (option, salesTransactionId, parentTi) =>
|
|
110
119
|
productName: option.name,
|
111
120
|
productCode: option.productCode,
|
112
121
|
productRelatedComponentId: (_a = option.productRelatedComponent) === null || _a === void 0 ? void 0 : _a.id,
|
122
|
+
constraintEngineNodeStatus: {
|
123
|
+
attributes: [],
|
124
|
+
cfgStatus: 'User',
|
125
|
+
},
|
113
126
|
stiAttributes: [],
|
114
127
|
attributes: {
|
115
128
|
ParentReference: salesTransactionId,
|
@@ -171,7 +184,11 @@ const updateQuantity = (ti, qty, pcm, parentQty = 1) => {
|
|
171
184
|
else if (parentPrevQty !== parentNewQty) {
|
172
185
|
nextQty = calcNewQty(item, parentPrevQty, parentNewQty, pcm, qty, false);
|
173
186
|
}
|
174
|
-
|
187
|
+
const sti = Object.assign(Object.assign({}, item), { qty: nextQty, children: item.children.map(child => updateItem(child, item.qty, nextQty, false)) });
|
188
|
+
if (nextQty !== item.qty) {
|
189
|
+
sti.constraintEngineNodeStatus = Object.assign(Object.assign({}, sti.constraintEngineNodeStatus), { cfgStatus: 'User' });
|
190
|
+
}
|
191
|
+
return sti;
|
175
192
|
};
|
176
193
|
return updateItem(ti, parentQty, parentQty, false);
|
177
194
|
};
|
@@ -458,7 +475,7 @@ class TestModeConfigurationService {
|
|
458
475
|
var _a;
|
459
476
|
this.configurationRuntimeService.uiDefinitionContainer = uiDefinitionContainer;
|
460
477
|
if (this.checkInitialized(uiDefinitionContainer)) {
|
461
|
-
this.configurationRuntimeService.pcmModel
|
478
|
+
this.configurationRuntimeService.pcmModelSubj$.next(this.pcmModel || null);
|
462
479
|
return of(undefined);
|
463
480
|
}
|
464
481
|
this.configurationService.reset();
|
@@ -1423,6 +1440,17 @@ class ConfigurationService {
|
|
1423
1440
|
}
|
1424
1441
|
return pcmModel;
|
1425
1442
|
}
|
1443
|
+
getPCMModel$() {
|
1444
|
+
return this.configurationRuntimeService.pcmModel$.pipe(distinctUntilChanged((prev, curr) => (prev === null || prev === void 0 ? void 0 : prev.id) === (curr === null || curr === void 0 ? void 0 : curr.id)));
|
1445
|
+
}
|
1446
|
+
swapProduct$(productId) {
|
1447
|
+
const rootTransactionItem = this.root;
|
1448
|
+
this.flowInfoService.updateContext({ productId });
|
1449
|
+
return this.configurationRuntimeService.init$({ productId }).pipe(map$1(pcm => { var _a; return generateTransactionItem(pcm, (_a = this.state) === null || _a === void 0 ? void 0 : _a.salesTransaction.id, rootTransactionItem === null || rootTransactionItem === void 0 ? void 0 : rootTransactionItem.qty); }), switchMap(salesTransactionItem => {
|
1450
|
+
var _a;
|
1451
|
+
return this.patch$(Object.assign(Object.assign({}, salesTransactionItem), { id: (_a = rootTransactionItem === null || rootTransactionItem === void 0 ? void 0 : rootTransactionItem.id) !== null && _a !== void 0 ? _a : salesTransactionItem.id }));
|
1452
|
+
}));
|
1453
|
+
}
|
1426
1454
|
}
|
1427
1455
|
ConfigurationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ConfigurationService, deps: [{ token: FlowInfoService }, { token: i2.MessageService }, { token: ConfigurationRuntimeService }, { token: SalesTransactionService }, { token: i1.OrchestrationsApiService }, { token: GuidedSellingService }], target: i0.ɵɵFactoryTarget.Injectable });
|
1428
1456
|
ConfigurationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ConfigurationService });
|