@veloceapps/sdk 8.0.0-33 → 8.0.0-34

Sign up to get free protection for your applications and to get access to all the features.
@@ -22,6 +22,7 @@ export declare class ConfigurationService {
22
22
  private lineItem;
23
23
  private charges;
24
24
  private pricePlans;
25
+ private procedureContext;
25
26
  private isLoadingSubj$;
26
27
  isLoading$: Observable<boolean>;
27
28
  hasUnsavedChanges: boolean;
@@ -40,6 +41,8 @@ export declare class ConfigurationService {
40
41
  get chargesSnapshot(): Dictionary<Charge>;
41
42
  get pricePlans$(): Observable<Dictionary<CompiledPricePlan>>;
42
43
  get pricePlansSnapshot(): Dictionary<CompiledPricePlan>;
44
+ get procedureContext$(): Observable<Dictionary<unknown>>;
45
+ get procedureContextSnapshot(): Dictionary<unknown>;
43
46
  configure(): Observable<LineItem>;
44
47
  configureRequest$(configurationRequest: ConfigurationRequest): Observable<LineItem>;
45
48
  configureExternal$(props: ExternalConfigurationProps): Observable<LineItem>;
@@ -33,6 +33,7 @@ export class ConfigurationService {
33
33
  this.lineItem = new BehaviorSubject(undefined);
34
34
  this.charges = new BehaviorSubject({});
35
35
  this.pricePlans = new BehaviorSubject({});
36
+ this.procedureContext = new BehaviorSubject({});
36
37
  this.isLoadingSubj$ = new BehaviorSubject(false);
37
38
  this.isLoading$ = this.isLoadingSubj$.asObservable();
38
39
  this.hasUnsavedChanges = false;
@@ -109,6 +110,12 @@ export class ConfigurationService {
109
110
  get pricePlansSnapshot() {
110
111
  return this.pricePlans.value;
111
112
  }
113
+ get procedureContext$() {
114
+ return this.procedureContext.asObservable();
115
+ }
116
+ get procedureContextSnapshot() {
117
+ return this.procedureContext.value;
118
+ }
112
119
  configure() {
113
120
  return this.configureRequest$(this.generateRequest());
114
121
  }
@@ -119,10 +126,11 @@ export class ConfigurationService {
119
126
  const mainPricingEnabled = runtimeContext.properties?.PricingEnabled;
120
127
  const pricingEnabled = mainPricingEnabled ? mainPricingEnabled === 'true' : uiDefinitionProperties.pricingEnabled;
121
128
  this.isLoadingSubj$.next(true);
122
- return this.configurationApiService.configureLineItem({ configurationRequest, runtimeModel, pricingEnabled }).pipe(tap(({ lineItem, context, charges, pricePlans, deletedLineItems }) => {
129
+ return this.configurationApiService.configureLineItem({ configurationRequest, runtimeModel, pricingEnabled }).pipe(tap(({ lineItem, context, charges, pricePlans, deletedLineItems, procedureContext }) => {
123
130
  this.contextService.update(context ?? {});
124
131
  this.charges.next(charges ?? {});
125
132
  this.pricePlans.next(pricePlans ?? {});
133
+ this.procedureContext.next(procedureContext ?? {});
126
134
  if (lineItem) {
127
135
  this.lineItem.next(lineItem);
128
136
  }
@@ -220,4 +228,4 @@ ConfigurationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0",
220
228
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ConfigurationService, decorators: [{
221
229
  type: Injectable
222
230
  }], ctorParameters: function () { return [{ type: i1.QuoteDraftService }, { type: i2.ConfigurationRuntimeService }, { type: i3.ContextService }, { type: i4.ConfigurationApiService }, { type: i5.MessageService }, { type: i6.DialogService }]; } });
223
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY29yZS9tb2R1bGVzL2NvbmZpZ3VyYXRpb24vc2VydmljZXMvY29uZmlndXJhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHFCQUFxQixFQUFzQixTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RixPQUFPLEVBSUwsaUJBQWlCLEVBRWpCLDRCQUE0QixFQVE1Qix5QkFBeUIsR0FDMUIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQWMsU0FBUyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQWMsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1RSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDMUUsT0FBTyxFQUFrQixXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlD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LENBQUMsQ0FBQyxDQUFDO2FBQ3hEO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sUUFBUTtRQUNkLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUN2QyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2IsT0FBTztTQUNSO1FBRUQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQ3pELENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxRQUFRLENBQUMsbUJBQW1CLElBQUksQ0FBQyxDQUFDLEVBQUUsS0FBSyxRQUFRLENBQUMsT0FBTyxDQUN4RSxDQUFDO0lBQ0osQ0FBQzs7aUhBeFFVLG9CQUFvQjtxSEFBcEIsb0JBQW9COzJGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25BcGlTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZWFwcHMvYXBpJztcbmltcG9ydCB7IENvbmZpcm1hdGlvbkNvbXBvbmVudCwgQ29uZmlybWF0aW9uQ29uZmlnLCBUb2FzdFR5cGUgfSBmcm9tICdAdmVsb2NlYXBwcy9jb21wb25lbnRzJztcbmltcG9ydCB7XG4gIENoYXJnZSxcbiAgQ29tcGlsZWRQcmljZVBsYW4sXG4gIENvbmZpZ3VyYXRpb25Db250ZXh0LFxuICBDb25maWd1cmF0aW9uTW9kZSxcbiAgQ29uZmlndXJhdGlvblJlcXVlc3QsXG4gIENvbmZpZ3VyYXRpb25UcmFuc2xhdG9yVXRpbHMsXG4gIENvbmZpZ3VyZVByaWNlLFxuICBMaW5lSXRlbSxcbiAgTmV3QXR0cmlidXRlLFxuICBQYXRjaExpbmVJdGVtT3B0aW9ucyxcbiAgUnVudGltZU1vZGVsLFxuICBVSURlZmluaXRpb25Qcm9wcyxcbiAgVmxXaW5kb3csXG4gIGdldFVJRGVmaW5pdGlvblByb3BlcnRpZXMsXG59IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgRGljdGlvbmFyeSwgdHJhbnNmb3JtIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIHNoYXJlUmVwbGF5LCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaW5hbGl6ZSwgZmlyc3QsIG1hcCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NvbnRleHQuc2VydmljZSc7XG5pbXBvcnQgeyBRdW90ZURyYWZ0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3F1b3RlLWRyYWZ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgUnVudGltZUNvbnRleHQsIFJ1bnRpbWVTdGVwIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgTGluZUl0ZW1Xb3JrZXIgfSBmcm9tICcuLi8uLi8uLi91dGlscy9saW5lLWl0ZW0ud29ya2VyJztcbmltcG9ydCB7IGdldERlZmF1bHRMaW5lSXRlbSwgZ2V0R3VpZGVkU2VsbGluZ0NvbmZpZ3VyYXRpb25SZXF1ZXN0IH0gZnJvbSAnLi4vaGVscGVycyc7XG5pbXBvcnQgeyBFeHRlcm5hbENvbmZpZ3VyYXRpb25Qcm9wcywgR3VpZGVkU2VsbGluZ1N1Ym1pdERhdGEgfSBmcm9tICcuLi90eXBlcy9jb25maWd1cmF0aW9uLnR5cGVzJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZSB9IGZyb20gJy4vY29uZmlndXJhdGlvbi1ydW50aW1lLnNlcnZpY2UnO1xuXG5kZWNsYXJlIGNvbnN0IHdpbmRvdzogVmxXaW5kb3c7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb25maWd1cmF0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgbW9kZSA9IENvbmZpZ3VyYXRpb25Nb2RlLlNFQVJDSDtcbiAgcHJpdmF0ZSBjb25maWd1cmFibGVSYW1wOiBMaW5lSXRlbSB8IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIGxpbmVJdGVtID0gbmV3IEJlaGF2aW9yU3ViamVjdDxMaW5lSXRlbSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSBjaGFyZ2VzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEaWN0aW9uYXJ5PENoYXJnZT4+KHt9KTtcbiAgcHJpdmF0ZSBwcmljZVBsYW5zID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEaWN0aW9uYXJ5PENvbXBpbGVkUHJpY2VQbGFuPj4oe30pO1xuICBwcml2YXRlIGlzTG9hZGluZ1N1YmokID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgcHVibGljIGlzTG9hZGluZyQgPSB0aGlzLmlzTG9hZGluZ1N1YmokLmFzT2JzZXJ2YWJsZSgpO1xuICBwdWJsaWMgaGFzVW5zYXZlZENoYW5nZXMgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHF1b3RlRHJhZnRTZXJ2aWNlOiBRdW90ZURyYWZ0U2VydmljZSxcbiAgICBwcml2YXRlIHJ1bnRpbWVTZXJ2aWNlOiBDb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uQXBpU2VydmljZTogQ29uZmlndXJhdGlvbkFwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlLFxuICApIHt9XG5cbiAgcHVibGljIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMuaGFzVW5zYXZlZENoYW5nZXMgPSBmYWxzZTtcbiAgICB0aGlzLnJ1bnRpbWVTZXJ2aWNlLnJlc2V0KCk7XG5cbiAgICB0aGlzLmNvbmZpZ3VyYWJsZVJhbXAgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5saW5lSXRlbS5uZXh0KHVuZGVmaW5lZCk7XG4gICAgdGhpcy5jaGFyZ2VzLm5leHQoe30pO1xuICAgIHRoaXMucHJpY2VQbGFucy5uZXh0KHt9KTtcbiAgfVxuXG4gIHB1YmxpYyBwYXRjaCQobGluZUl0ZW06IExpbmVJdGVtLCBvcHRpb25zPzogUGF0Y2hMaW5lSXRlbU9wdGlvbnMpOiBPYnNlcnZhYmxlPExpbmVJdGVtPiB7XG4gICAgaWYgKCF0aGlzLmxpbmVJdGVtLnZhbHVlKSB7XG4gICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoYFNvdXJjZSBMaW5lSXRlbSBub3QgZm91bmRgKSk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2tpcENhcmRpbmFsaXR5Q2FsY3VsYXRpb24gPVxuICAgICAgb3B0aW9ucz8uc2tpcENhcmRpbmFsaXR5Q2FsY3VsYXRpb24gfHwgdGhpcy5jb250ZXh0U25hcHNob3QucHJvcGVydGllc1snI3NraXBDYXJkaW5hbGl0eUNhbGN1bGF0aW9uJ10gPT09ICd0cnVlJztcblxuICAgIHRoaXMuY29uZmlndXJhYmxlUmFtcCA9IG5ldyBMaW5lSXRlbVdvcmtlcih0aGlzLmxpbmVJdGVtLnZhbHVlKS5yZXBsYWNlKGxpbmVJdGVtLCBza2lwQ2FyZGluYWxpdHlDYWxjdWxhdGlvbikubGk7XG5cbiAgICByZXR1cm4gdGhpcy5jb25maWd1cmUoKS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuXG4gICAgICAgIGlmICghdGhpcy5ydW50aW1lU2VydmljZS51aURlZmluaXRpb25Qcm9wZXJ0aWVzLnN1cHByZXNzVG9hc3RNZXNzYWdlcykge1xuICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdlcnJvcicsIHN1bW1hcnk6IGVycm9yIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gYm91bmNlIGJhY2sgaWYgY29uZmlndXJhdGlvbiBjYWxsIGhhcyBmYWlsZWRcbiAgICAgICAgdGhpcy5saW5lSXRlbS5uZXh0KHRoaXMubGluZUl0ZW0udmFsdWUgPyB7IC4uLnRoaXMubGluZUl0ZW0udmFsdWUgfSA6IHVuZGVmaW5lZCk7XG5cbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICAgICAgfSksXG4gICAgICB0YXAoKCkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMuaGFzVW5zYXZlZENoYW5nZXMpIHtcbiAgICAgICAgICB0aGlzLmhhc1Vuc2F2ZWRDaGFuZ2VzID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBwYXRjaChsaW5lSXRlbTogTGluZUl0ZW0sIG9wdGlvbnM/OiBQYXRjaExpbmVJdGVtT3B0aW9ucyk6IHZvaWQge1xuICAgIHRoaXMucGF0Y2gkKGxpbmVJdGVtLCBvcHRpb25zKS5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRDb25maWd1cmFibGVSYW1wKGxpbmVJdGVtOiBMaW5lSXRlbSk6IHZvaWQge1xuICAgIHRoaXMuY29uZmlndXJhYmxlUmFtcCA9IGxpbmVJdGVtO1xuICB9XG5cbiAgcHVibGljIGdldCgpOiBPYnNlcnZhYmxlPExpbmVJdGVtIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMubGluZUl0ZW0uYXNPYnNlcnZhYmxlKCkucGlwZShzaGFyZVJlcGxheSgpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTbmFwc2hvdCgpOiBMaW5lSXRlbSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMubGluZUl0ZW0udmFsdWUgPyB7IC4uLnRoaXMubGluZUl0ZW0udmFsdWUgfSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRSdW50aW1lTW9kZWwoKTogUnVudGltZU1vZGVsIHtcbiAgICBjb25zdCBydW50aW1lTW9kZWwgPSB0aGlzLnJ1bnRpbWVTZXJ2aWNlLnJ1bnRpbWVNb2RlbDtcbiAgICBpZiAoIXJ1bnRpbWVNb2RlbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdSdW50aW1lIG1vZGVsIG5vdCBpbml0aWFsaXplZCcpO1xuICAgIH1cblxuICAgIHJldHVybiBydW50aW1lTW9kZWw7XG4gIH1cblxuICBwdWJsaWMgZ2V0UnVudGltZUNvbnRleHQoKTogUnVudGltZUNvbnRleHQge1xuICAgIGNvbnN0IHJ1bnRpbWVDb250ZXh0ID0gdGhpcy5ydW50aW1lU2VydmljZS5ydW50aW1lQ29udGV4dDtcbiAgICBpZiAoIXJ1bnRpbWVDb250ZXh0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1J1bnRpbWUgY29udGV4dCBub3QgaW5pdGlhbGl6ZWQnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcnVudGltZUNvbnRleHQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbnRleHRTbmFwc2hvdCgpOiBDb25maWd1cmF0aW9uQ29udGV4dCB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dFNlcnZpY2UucmVzb2x2ZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBjb250ZXh0JCgpOiBPYnNlcnZhYmxlPENvbmZpZ3VyYXRpb25Db250ZXh0PiB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dFNlcnZpY2UucmVzb2x2ZSQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2hhcmdlcyQoKTogT2JzZXJ2YWJsZTxEaWN0aW9uYXJ5PENoYXJnZT4+IHtcbiAgICByZXR1cm4gdGhpcy5jaGFyZ2VzLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGFyZ2VzU25hcHNob3QoKTogRGljdGlvbmFyeTxDaGFyZ2U+IHtcbiAgICByZXR1cm4gdGhpcy5jaGFyZ2VzLnZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBwcmljZVBsYW5zJCgpOiBPYnNlcnZhYmxlPERpY3Rpb25hcnk8Q29tcGlsZWRQcmljZVBsYW4+PiB7XG4gICAgcmV0dXJuIHRoaXMucHJpY2VQbGFucy5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcHJpY2VQbGFuc1NuYXBzaG90KCk6IERpY3Rpb25hcnk8Q29tcGlsZWRQcmljZVBsYW4+IHtcbiAgICByZXR1cm4gdGhpcy5wcmljZVBsYW5zLnZhbHVlO1xuICB9XG5cbiAgcHVibGljIGNvbmZpZ3VyZSgpOiBPYnNlcnZhYmxlPExpbmVJdGVtPiB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlndXJlUmVxdWVzdCQodGhpcy5nZW5lcmF0ZVJlcXVlc3QoKSk7XG4gIH1cblxuICBwdWJsaWMgY29uZmlndXJlUmVxdWVzdCQoY29uZmlndXJhdGlvblJlcXVlc3Q6IENvbmZpZ3VyYXRpb25SZXF1ZXN0KTogT2JzZXJ2YWJsZTxMaW5lSXRlbT4ge1xuICAgIGNvbnN0IHJ1bnRpbWVDb250ZXh0ID0gdGhpcy5nZXRSdW50aW1lQ29udGV4dCgpO1xuICAgIGNvbnN0IHJ1bnRpbWVNb2RlbCA9IHRoaXMuZ2V0UnVudGltZU1vZGVsKCk7XG4gICAgY29uc3QgdWlEZWZpbml0aW9uUHJvcGVydGllcyA9IHRoaXMuZ2V0VUlEZWZpbml0aW9uUHJvcGVydGllcygpO1xuXG4gICAgY29uc3QgbWFpblByaWNpbmdFbmFibGVkID0gcnVudGltZUNvbnRleHQucHJvcGVydGllcz8uUHJpY2luZ0VuYWJsZWQ7XG4gICAgY29uc3QgcHJpY2luZ0VuYWJsZWQgPSBtYWluUHJpY2luZ0VuYWJsZWQgPyBtYWluUHJpY2luZ0VuYWJsZWQgPT09ICd0cnVlJyA6IHVpRGVmaW5pdGlvblByb3BlcnRpZXMucHJpY2luZ0VuYWJsZWQ7XG5cbiAgICB0aGlzLmlzTG9hZGluZ1N1YmokLm5leHQodHJ1ZSk7XG5cbiAgICByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uQXBpU2VydmljZS5jb25maWd1cmVMaW5lSXRlbSh7IGNvbmZpZ3VyYXRpb25SZXF1ZXN0LCBydW50aW1lTW9kZWwsIHByaWNpbmdFbmFibGVkIH0pLnBpcGUoXG4gICAgICB0YXAoKHsgbGluZUl0ZW0sIGNvbnRleHQsIGNoYXJnZXMsIHByaWNlUGxhbnMsIGRlbGV0ZWRMaW5lSXRlbXMgfSkgPT4ge1xuICAgICAgICB0aGlzLmNvbnRleHRTZXJ2aWNlLnVwZGF0ZShjb250ZXh0ID8/IHt9KTtcbiAgICAgICAgdGhpcy5jaGFyZ2VzLm5leHQoY2hhcmdlcyA/PyB7fSk7XG4gICAgICAgIHRoaXMucHJpY2VQbGFucy5uZXh0KHByaWNlUGxhbnMgPz8ge30pO1xuXG4gICAgICAgIGlmIChsaW5lSXRlbSkge1xuICAgICAgICAgIHRoaXMubGluZUl0ZW0ubmV4dChsaW5lSXRlbSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZGVsZXRlZExpbmVJdGVtcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgdGhpcy5zaG93SW5hY3RpdmVQcm9kdWN0c0NvbmZpcm1hdGlvbigpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jb25maWd1cmFibGVSYW1wID0gbGluZUl0ZW07XG4gICAgICB9KSxcbiAgICAgIG1hcCgoeyBsaW5lSXRlbSB9KSA9PiBsaW5lSXRlbSksXG4gICAgICBjYXRjaEVycm9yKGVycm9yID0+IHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKGVycm9yLmVycm9yPy5tZXNzYWdlIHx8IGVycm9yLm1lc3NhZ2UgfHwgSlNPTi5zdHJpbmdpZnkoZXJyb3IpKSkpLFxuICAgICAgZmluYWxpemUoKCkgPT4gdGhpcy5pc0xvYWRpbmdTdWJqJC5uZXh0KGZhbHNlKSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjb25maWd1cmVFeHRlcm5hbCQocHJvcHM6IEV4dGVybmFsQ29uZmlndXJhdGlvblByb3BzKTogT2JzZXJ2YWJsZTxMaW5lSXRlbT4ge1xuICAgIHJldHVybiB0aGlzLnJ1bnRpbWVTZXJ2aWNlXG4gICAgICAuaW5pdCh7IHByb2R1Y3RJZDogcHJvcHMucHJvZHVjdElkLCBkZWZhdWx0UXR5OiBwcm9wcy5xdHksIGF0dHJpYnV0ZXNNYXA6IHByb3BzLmF0dHJpYnV0ZXNNYXAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5jb25maWd1cmUoKSksXG4gICAgICAgIGZpcnN0KCksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6IFRvYXN0VHlwZS5lcnJvciwgc3VtbWFyeTogZXJyb3IgfSk7XG4gICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH0pLFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLnJlc2V0KCkpLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjb25maWd1cmVHdWlkZWRTZWxsaW5nJChkYXRhOiBHdWlkZWRTZWxsaW5nU3VibWl0RGF0YSk6IE9ic2VydmFibGU8Q29uZmlndXJlUHJpY2U+IHtcbiAgICByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uQXBpU2VydmljZVxuICAgICAgLmNvbmZpZ3VyZUxpbmVJdGVtKHtcbiAgICAgICAgY29uZmlndXJhdGlvblJlcXVlc3Q6IGdldEd1aWRlZFNlbGxpbmdDb25maWd1cmF0aW9uUmVxdWVzdChkYXRhKSxcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6IFRvYXN0VHlwZS5lcnJvciwgc3VtbWFyeTogZXJyb3IuZXJyb3IubWVzc2FnZSB8fCBlcnJvci5lcnJvciB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZW5lcmF0ZVJlcXVlc3QoKTogQ29uZmlndXJhdGlvblJlcXVlc3Qge1xuICAgIGNvbnN0IHJ1bnRpbWVDb250ZXh0ID0gdGhpcy5nZXRSdW50aW1lQ29udGV4dCgpO1xuICAgIGNvbnN0IHVpRGVmaW5pdGlvblByb3BlcnRpZXMgPSB0aGlzLmdldFVJRGVmaW5pdGlvblByb3BlcnRpZXMoKTtcblxuICAgIGxldCBsaW5lSXRlbSA9IHRoaXMuY29uZmlndXJhYmxlUmFtcDtcbiAgICBpZiAoIWxpbmVJdGVtKSB7XG4gICAgICBjb25zdCB7IGluaXRpYWxpemF0aW9uUHJvcHMgfSA9IHRoaXMucnVudGltZVNlcnZpY2UgPz8ge307XG5cbiAgICAgIGxpbmVJdGVtID0gZ2V0RGVmYXVsdExpbmVJdGVtKHJ1bnRpbWVDb250ZXh0LCB1aURlZmluaXRpb25Qcm9wZXJ0aWVzLCBpbml0aWFsaXphdGlvblByb3BzPy5kZWZhdWx0UXR5KTtcblxuICAgICAgLy8gU2V0IGRlZmF1bHQgYXR0cmlidXRlc1xuICAgICAgaWYgKGluaXRpYWxpemF0aW9uUHJvcHM/LmF0dHJpYnV0ZXNNYXApIHtcbiAgICAgICAgY29uc3QgYXR0cmlidXRlcyA9IHRyYW5zZm9ybShcbiAgICAgICAgICBpbml0aWFsaXphdGlvblByb3BzPy5hdHRyaWJ1dGVzTWFwLFxuICAgICAgICAgIChhY2M6IE5ld0F0dHJpYnV0ZVtdLCB2YWx1ZSwgbmFtZSkgPT4gYWNjLnB1c2goeyBuYW1lLCB2YWx1ZSB9KSxcbiAgICAgICAgICBbXSxcbiAgICAgICAgKTtcblxuICAgICAgICBsaW5lSXRlbSA9IG5ldyBMaW5lSXRlbVdvcmtlcihsaW5lSXRlbSkucGF0Y2hBdHRyaWJ1dGUoYXR0cmlidXRlcykubGk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IHJlcXVlc3Q6IENvbmZpZ3VyYXRpb25SZXF1ZXN0ID0ge1xuICAgICAgbGluZUl0ZW0sXG4gICAgICBtb2RlOiB0aGlzLm1vZGUsXG4gICAgICBzdGVwOiAhdGhpcy5saW5lSXRlbS52YWx1ZSA/IFJ1bnRpbWVTdGVwLlNUQVJUIDogUnVudGltZVN0ZXAuVVBEQVRFLFxuICAgICAgYXR0cmlidXRlRG9tYWluTW9kZTogJ0FMTCcsXG4gICAgICBjb250ZXh0OiB0aGlzLmNvbnRleHRTZXJ2aWNlLnJlc29sdmUoKSxcbiAgICAgIGxpbmVJdGVtczogdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZURyYWZ0Py5jdXJyZW50U3RhdGUgfHwgW10sXG4gICAgICBhc3NldDogdGhpcy5nZXRBc3NldCgpLFxuICAgIH07XG5cbiAgICByZXF1ZXN0ID0gQ29uZmlndXJhdGlvblRyYW5zbGF0b3JVdGlscy5saWdodGVuQ29uZmlndXJhdGlvblJlcXVlc3QocmVxdWVzdCk7XG5cbiAgICByZXR1cm4gcmVxdWVzdDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VUlEZWZpbml0aW9uUHJvcGVydGllcygpOiBVSURlZmluaXRpb25Qcm9wcyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmdldFVJRGVmaW5pdGlvblByb3BlcnRpZXModGhpcy5nZXRSdW50aW1lQ29udGV4dCgpLnVpRGVmaW5pdGlvbkNvbnRhaW5lciksXG4gICAgICAuLi4odGhpcy5ydW50aW1lU2VydmljZS51aURlZmluaXRpb25Qcm9wZXJ0aWVzID8/IHt9KSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBzaG93SW5hY3RpdmVQcm9kdWN0c0NvbmZpcm1hdGlvbigpOiB2b2lkIHtcbiAgICBjb25zdCBjb25maXJtYXRpb25Db25maWc6IENvbmZpcm1hdGlvbkNvbmZpZyA9IHtcbiAgICAgIHRpdGxlOiAnICcsXG4gICAgICBkZXNjcmlwdGlvbjogJ1RoaXMgcXVvdGUgY29udGFpbnMgaW5hY3RpdmUgcHJvZHVjdHMuIERvIHlvdSB3YW50IHRvIHJlbW92ZSB0aGVtPycsXG4gICAgICBwcmltYXJ5QnV0dG9uTGFiZWw6ICdSZW1vdmUgcHJvZHVjdHMnLFxuICAgICAgc2Vjb25kYXJ5QnV0dG9uTGFiZWw6ICdCYWNrIHRvIFF1b3RlJyxcbiAgICB9O1xuXG4gICAgdGhpcy5kaWFsb2dTZXJ2aWNlXG4gICAgICAub3BlbihDb25maXJtYXRpb25Db21wb25lbnQsIHtcbiAgICAgICAgZGlzbWlzc2FibGVNYXNrOiBmYWxzZSxcbiAgICAgICAgY2xvc2VPbkVzY2FwZTogZmFsc2UsXG4gICAgICAgIGNsb3NhYmxlOiBmYWxzZSxcbiAgICAgICAgc2hvd0hlYWRlcjogdHJ1ZSxcbiAgICAgICAgaGVhZGVyOiBgSW5hY3RpdmUgUHJvZHVjdHMgaW4gUXVvdGVgLFxuICAgICAgICB3aWR0aDogJzQ0MHB4JyxcbiAgICAgICAgZGF0YTogeyBjb25maXJtYXRpb25Db25maWcgfSxcbiAgICAgIH0pXG4gICAgICAub25DbG9zZS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgICAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlKCk7XG4gICAgICAgICAgd2luZG93WydWRUxPX0JBQ0tfRk4nXS5hcHBseShudWxsLCBbY29udGV4dC5oZWFkZXJJZF0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QXNzZXQoKTogTGluZUl0ZW0gfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGxpbmVJdGVtID0gdGhpcy5jb25maWd1cmFibGVSYW1wO1xuICAgIGlmICghbGluZUl0ZW0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZURyYWZ0Py5pbml0aWFsU3RhdGUuZmluZChcbiAgICAgIGEgPT4gYS5pZCA9PT0gbGluZUl0ZW0ub3Blbk9yZGVyTGluZUl0ZW1JZCB8fCBhLmlkID09PSBsaW5lSXRlbS5hc3NldElkLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
231
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY29yZS9tb2R1bGVzL2NvbmZpZ3VyYXRpb24vc2VydmljZXMvY29uZmlndXJhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHFCQUFxQixFQUFzQixTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RixPQUFPLEVBSUwsaUJBQWlCLEVBRWpCLDRCQUE0QixFQVE1Qix5QkFBeUIsR0FDMUIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQWMsU0FBUyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQWMsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1RSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDMUUsT0FBTyxFQUFrQixXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlD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QUFNLEVBQUUsNEJBQTRCO1lBQ3BDLEtBQUssRUFBRSxPQUFPO1lBQ2QsSUFBSSxFQUFFLEVBQUUsa0JBQWtCLEVBQUU7U0FDN0IsQ0FBQzthQUNELE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDMUIsSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDWCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUM5QyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO2FBQ3hEO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sUUFBUTtRQUNkLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUN2QyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2IsT0FBTztTQUNSO1FBRUQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQ3pELENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxRQUFRLENBQUMsbUJBQW1CLElBQUksQ0FBQyxDQUFDLEVBQUUsS0FBSyxRQUFRLENBQUMsT0FBTyxDQUN4RSxDQUFDO0lBQ0osQ0FBQzs7aUhBbFJVLG9CQUFvQjtxSEFBcEIsb0JBQW9COzJGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25BcGlTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZWFwcHMvYXBpJztcbmltcG9ydCB7IENvbmZpcm1hdGlvbkNvbXBvbmVudCwgQ29uZmlybWF0aW9uQ29uZmlnLCBUb2FzdFR5cGUgfSBmcm9tICdAdmVsb2NlYXBwcy9jb21wb25lbnRzJztcbmltcG9ydCB7XG4gIENoYXJnZSxcbiAgQ29tcGlsZWRQcmljZVBsYW4sXG4gIENvbmZpZ3VyYXRpb25Db250ZXh0LFxuICBDb25maWd1cmF0aW9uTW9kZSxcbiAgQ29uZmlndXJhdGlvblJlcXVlc3QsXG4gIENvbmZpZ3VyYXRpb25UcmFuc2xhdG9yVXRpbHMsXG4gIENvbmZpZ3VyZVByaWNlLFxuICBMaW5lSXRlbSxcbiAgTmV3QXR0cmlidXRlLFxuICBQYXRjaExpbmVJdGVtT3B0aW9ucyxcbiAgUnVudGltZU1vZGVsLFxuICBVSURlZmluaXRpb25Qcm9wcyxcbiAgVmxXaW5kb3csXG4gIGdldFVJRGVmaW5pdGlvblByb3BlcnRpZXMsXG59IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgRGljdGlvbmFyeSwgdHJhbnNmb3JtIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIHNoYXJlUmVwbGF5LCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaW5hbGl6ZSwgZmlyc3QsIG1hcCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NvbnRleHQuc2VydmljZSc7XG5pbXBvcnQgeyBRdW90ZURyYWZ0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3F1b3RlLWRyYWZ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgUnVudGltZUNvbnRleHQsIFJ1bnRpbWVTdGVwIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgTGluZUl0ZW1Xb3JrZXIgfSBmcm9tICcuLi8uLi8uLi91dGlscy9saW5lLWl0ZW0ud29ya2VyJztcbmltcG9ydCB7IGdldERlZmF1bHRMaW5lSXRlbSwgZ2V0R3VpZGVkU2VsbGluZ0NvbmZpZ3VyYXRpb25SZXF1ZXN0IH0gZnJvbSAnLi4vaGVscGVycyc7XG5pbXBvcnQgeyBFeHRlcm5hbENvbmZpZ3VyYXRpb25Qcm9wcywgR3VpZGVkU2VsbGluZ1N1Ym1pdERhdGEgfSBmcm9tICcuLi90eXBlcy9jb25maWd1cmF0aW9uLnR5cGVzJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZSB9IGZyb20gJy4vY29uZmlndXJhdGlvbi1ydW50aW1lLnNlcnZpY2UnO1xuXG5kZWNsYXJlIGNvbnN0IHdpbmRvdzogVmxXaW5kb3c7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb25maWd1cmF0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgbW9kZSA9IENvbmZpZ3VyYXRpb25Nb2RlLlNFQVJDSDtcbiAgcHJpdmF0ZSBjb25maWd1cmFibGVSYW1wOiBMaW5lSXRlbSB8IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIGxpbmVJdGVtID0gbmV3IEJlaGF2aW9yU3ViamVjdDxMaW5lSXRlbSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSBjaGFyZ2VzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEaWN0aW9uYXJ5PENoYXJnZT4+KHt9KTtcbiAgcHJpdmF0ZSBwcmljZVBsYW5zID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEaWN0aW9uYXJ5PENvbXBpbGVkUHJpY2VQbGFuPj4oe30pO1xuICBwcml2YXRlIHByb2NlZHVyZUNvbnRleHQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERpY3Rpb25hcnk8dW5rbm93bj4+KHt9KTtcbiAgcHJpdmF0ZSBpc0xvYWRpbmdTdWJqJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIHB1YmxpYyBpc0xvYWRpbmckID0gdGhpcy5pc0xvYWRpbmdTdWJqJC5hc09ic2VydmFibGUoKTtcbiAgcHVibGljIGhhc1Vuc2F2ZWRDaGFuZ2VzID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBxdW90ZURyYWZ0U2VydmljZTogUXVvdGVEcmFmdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBydW50aW1lU2VydmljZTogQ29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlndXJhdGlvbkFwaVNlcnZpY2U6IENvbmZpZ3VyYXRpb25BcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcbiAgKSB7fVxuXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLmhhc1Vuc2F2ZWRDaGFuZ2VzID0gZmFsc2U7XG4gICAgdGhpcy5ydW50aW1lU2VydmljZS5yZXNldCgpO1xuXG4gICAgdGhpcy5jb25maWd1cmFibGVSYW1wID0gdW5kZWZpbmVkO1xuICAgIHRoaXMubGluZUl0ZW0ubmV4dCh1bmRlZmluZWQpO1xuICAgIHRoaXMuY2hhcmdlcy5uZXh0KHt9KTtcbiAgICB0aGlzLnByaWNlUGxhbnMubmV4dCh7fSk7XG4gIH1cblxuICBwdWJsaWMgcGF0Y2gkKGxpbmVJdGVtOiBMaW5lSXRlbSwgb3B0aW9ucz86IFBhdGNoTGluZUl0ZW1PcHRpb25zKTogT2JzZXJ2YWJsZTxMaW5lSXRlbT4ge1xuICAgIGlmICghdGhpcy5saW5lSXRlbS52YWx1ZSkge1xuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKGBTb3VyY2UgTGluZUl0ZW0gbm90IGZvdW5kYCkpO1xuICAgIH1cblxuICAgIGNvbnN0IHNraXBDYXJkaW5hbGl0eUNhbGN1bGF0aW9uID1cbiAgICAgIG9wdGlvbnM/LnNraXBDYXJkaW5hbGl0eUNhbGN1bGF0aW9uIHx8IHRoaXMuY29udGV4dFNuYXBzaG90LnByb3BlcnRpZXNbJyNza2lwQ2FyZGluYWxpdHlDYWxjdWxhdGlvbiddID09PSAndHJ1ZSc7XG5cbiAgICB0aGlzLmNvbmZpZ3VyYWJsZVJhbXAgPSBuZXcgTGluZUl0ZW1Xb3JrZXIodGhpcy5saW5lSXRlbS52YWx1ZSkucmVwbGFjZShsaW5lSXRlbSwgc2tpcENhcmRpbmFsaXR5Q2FsY3VsYXRpb24pLmxpO1xuXG4gICAgcmV0dXJuIHRoaXMuY29uZmlndXJlKCkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcblxuICAgICAgICBpZiAoIXRoaXMucnVudGltZVNlcnZpY2UudWlEZWZpbml0aW9uUHJvcGVydGllcy5zdXBwcmVzc1RvYXN0TWVzc2FnZXMpIHtcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnZXJyb3InLCBzdW1tYXJ5OiBlcnJvciB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGJvdW5jZSBiYWNrIGlmIGNvbmZpZ3VyYXRpb24gY2FsbCBoYXMgZmFpbGVkXG4gICAgICAgIHRoaXMubGluZUl0ZW0ubmV4dCh0aGlzLmxpbmVJdGVtLnZhbHVlID8geyAuLi50aGlzLmxpbmVJdGVtLnZhbHVlIH0gOiB1bmRlZmluZWQpO1xuXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcbiAgICAgIH0pLFxuICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmhhc1Vuc2F2ZWRDaGFuZ2VzKSB7XG4gICAgICAgICAgdGhpcy5oYXNVbnNhdmVkQ2hhbmdlcyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgcGF0Y2gobGluZUl0ZW06IExpbmVJdGVtLCBvcHRpb25zPzogUGF0Y2hMaW5lSXRlbU9wdGlvbnMpOiB2b2lkIHtcbiAgICB0aGlzLnBhdGNoJChsaW5lSXRlbSwgb3B0aW9ucykuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0Q29uZmlndXJhYmxlUmFtcChsaW5lSXRlbTogTGluZUl0ZW0pOiB2b2lkIHtcbiAgICB0aGlzLmNvbmZpZ3VyYWJsZVJhbXAgPSBsaW5lSXRlbTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQoKTogT2JzZXJ2YWJsZTxMaW5lSXRlbSB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLmxpbmVJdGVtLmFzT2JzZXJ2YWJsZSgpLnBpcGUoc2hhcmVSZXBsYXkoKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U25hcHNob3QoKTogTGluZUl0ZW0gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmxpbmVJdGVtLnZhbHVlID8geyAuLi50aGlzLmxpbmVJdGVtLnZhbHVlIH0gOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0UnVudGltZU1vZGVsKCk6IFJ1bnRpbWVNb2RlbCB7XG4gICAgY29uc3QgcnVudGltZU1vZGVsID0gdGhpcy5ydW50aW1lU2VydmljZS5ydW50aW1lTW9kZWw7XG4gICAgaWYgKCFydW50aW1lTW9kZWwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUnVudGltZSBtb2RlbCBub3QgaW5pdGlhbGl6ZWQnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcnVudGltZU1vZGVsO1xuICB9XG5cbiAgcHVibGljIGdldFJ1bnRpbWVDb250ZXh0KCk6IFJ1bnRpbWVDb250ZXh0IHtcbiAgICBjb25zdCBydW50aW1lQ29udGV4dCA9IHRoaXMucnVudGltZVNlcnZpY2UucnVudGltZUNvbnRleHQ7XG4gICAgaWYgKCFydW50aW1lQ29udGV4dCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdSdW50aW1lIGNvbnRleHQgbm90IGluaXRpYWxpemVkJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJ1bnRpbWVDb250ZXh0O1xuICB9XG5cbiAgcHVibGljIGdldCBjb250ZXh0U25hcHNob3QoKTogQ29uZmlndXJhdGlvbkNvbnRleHQge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHRTZXJ2aWNlLnJlc29sdmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29udGV4dCQoKTogT2JzZXJ2YWJsZTxDb25maWd1cmF0aW9uQ29udGV4dD4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHRTZXJ2aWNlLnJlc29sdmUkKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoYXJnZXMkKCk6IE9ic2VydmFibGU8RGljdGlvbmFyeTxDaGFyZ2U+PiB7XG4gICAgcmV0dXJuIHRoaXMuY2hhcmdlcy5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2hhcmdlc1NuYXBzaG90KCk6IERpY3Rpb25hcnk8Q2hhcmdlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2hhcmdlcy52YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcHJpY2VQbGFucyQoKTogT2JzZXJ2YWJsZTxEaWN0aW9uYXJ5PENvbXBpbGVkUHJpY2VQbGFuPj4ge1xuICAgIHJldHVybiB0aGlzLnByaWNlUGxhbnMuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHByaWNlUGxhbnNTbmFwc2hvdCgpOiBEaWN0aW9uYXJ5PENvbXBpbGVkUHJpY2VQbGFuPiB7XG4gICAgcmV0dXJuIHRoaXMucHJpY2VQbGFucy52YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcHJvY2VkdXJlQ29udGV4dCQoKTogT2JzZXJ2YWJsZTxEaWN0aW9uYXJ5PHVua25vd24+PiB7XG4gICAgcmV0dXJuIHRoaXMucHJvY2VkdXJlQ29udGV4dC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcHJvY2VkdXJlQ29udGV4dFNuYXBzaG90KCk6IERpY3Rpb25hcnk8dW5rbm93bj4ge1xuICAgIHJldHVybiB0aGlzLnByb2NlZHVyZUNvbnRleHQudmFsdWU7XG4gIH1cblxuICBwdWJsaWMgY29uZmlndXJlKCk6IE9ic2VydmFibGU8TGluZUl0ZW0+IHtcbiAgICByZXR1cm4gdGhpcy5jb25maWd1cmVSZXF1ZXN0JCh0aGlzLmdlbmVyYXRlUmVxdWVzdCgpKTtcbiAgfVxuXG4gIHB1YmxpYyBjb25maWd1cmVSZXF1ZXN0JChjb25maWd1cmF0aW9uUmVxdWVzdDogQ29uZmlndXJhdGlvblJlcXVlc3QpOiBPYnNlcnZhYmxlPExpbmVJdGVtPiB7XG4gICAgY29uc3QgcnVudGltZUNvbnRleHQgPSB0aGlzLmdldFJ1bnRpbWVDb250ZXh0KCk7XG4gICAgY29uc3QgcnVudGltZU1vZGVsID0gdGhpcy5nZXRSdW50aW1lTW9kZWwoKTtcbiAgICBjb25zdCB1aURlZmluaXRpb25Qcm9wZXJ0aWVzID0gdGhpcy5nZXRVSURlZmluaXRpb25Qcm9wZXJ0aWVzKCk7XG5cbiAgICBjb25zdCBtYWluUHJpY2luZ0VuYWJsZWQgPSBydW50aW1lQ29udGV4dC5wcm9wZXJ0aWVzPy5QcmljaW5nRW5hYmxlZDtcbiAgICBjb25zdCBwcmljaW5nRW5hYmxlZCA9IG1haW5QcmljaW5nRW5hYmxlZCA/IG1haW5QcmljaW5nRW5hYmxlZCA9PT0gJ3RydWUnIDogdWlEZWZpbml0aW9uUHJvcGVydGllcy5wcmljaW5nRW5hYmxlZDtcblxuICAgIHRoaXMuaXNMb2FkaW5nU3ViaiQubmV4dCh0cnVlKTtcblxuICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyYXRpb25BcGlTZXJ2aWNlLmNvbmZpZ3VyZUxpbmVJdGVtKHsgY29uZmlndXJhdGlvblJlcXVlc3QsIHJ1bnRpbWVNb2RlbCwgcHJpY2luZ0VuYWJsZWQgfSkucGlwZShcbiAgICAgIHRhcCgoeyBsaW5lSXRlbSwgY29udGV4dCwgY2hhcmdlcywgcHJpY2VQbGFucywgZGVsZXRlZExpbmVJdGVtcywgcHJvY2VkdXJlQ29udGV4dCB9KSA9PiB7XG4gICAgICAgIHRoaXMuY29udGV4dFNlcnZpY2UudXBkYXRlKGNvbnRleHQgPz8ge30pO1xuICAgICAgICB0aGlzLmNoYXJnZXMubmV4dChjaGFyZ2VzID8/IHt9KTtcbiAgICAgICAgdGhpcy5wcmljZVBsYW5zLm5leHQocHJpY2VQbGFucyA/PyB7fSk7XG4gICAgICAgIHRoaXMucHJvY2VkdXJlQ29udGV4dC5uZXh0KHByb2NlZHVyZUNvbnRleHQgPz8ge30pO1xuXG4gICAgICAgIGlmIChsaW5lSXRlbSkge1xuICAgICAgICAgIHRoaXMubGluZUl0ZW0ubmV4dChsaW5lSXRlbSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZGVsZXRlZExpbmVJdGVtcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgdGhpcy5zaG93SW5hY3RpdmVQcm9kdWN0c0NvbmZpcm1hdGlvbigpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jb25maWd1cmFibGVSYW1wID0gbGluZUl0ZW07XG4gICAgICB9KSxcbiAgICAgIG1hcCgoeyBsaW5lSXRlbSB9KSA9PiBsaW5lSXRlbSksXG4gICAgICBjYXRjaEVycm9yKGVycm9yID0+IHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKGVycm9yLmVycm9yPy5tZXNzYWdlIHx8IGVycm9yLm1lc3NhZ2UgfHwgSlNPTi5zdHJpbmdpZnkoZXJyb3IpKSkpLFxuICAgICAgZmluYWxpemUoKCkgPT4gdGhpcy5pc0xvYWRpbmdTdWJqJC5uZXh0KGZhbHNlKSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjb25maWd1cmVFeHRlcm5hbCQocHJvcHM6IEV4dGVybmFsQ29uZmlndXJhdGlvblByb3BzKTogT2JzZXJ2YWJsZTxMaW5lSXRlbT4ge1xuICAgIHJldHVybiB0aGlzLnJ1bnRpbWVTZXJ2aWNlXG4gICAgICAuaW5pdCh7IHByb2R1Y3RJZDogcHJvcHMucHJvZHVjdElkLCBkZWZhdWx0UXR5OiBwcm9wcy5xdHksIGF0dHJpYnV0ZXNNYXA6IHByb3BzLmF0dHJpYnV0ZXNNYXAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5jb25maWd1cmUoKSksXG4gICAgICAgIGZpcnN0KCksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6IFRvYXN0VHlwZS5lcnJvciwgc3VtbWFyeTogZXJyb3IgfSk7XG4gICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH0pLFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLnJlc2V0KCkpLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjb25maWd1cmVHdWlkZWRTZWxsaW5nJChkYXRhOiBHdWlkZWRTZWxsaW5nU3VibWl0RGF0YSk6IE9ic2VydmFibGU8Q29uZmlndXJlUHJpY2U+IHtcbiAgICByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uQXBpU2VydmljZVxuICAgICAgLmNvbmZpZ3VyZUxpbmVJdGVtKHtcbiAgICAgICAgY29uZmlndXJhdGlvblJlcXVlc3Q6IGdldEd1aWRlZFNlbGxpbmdDb25maWd1cmF0aW9uUmVxdWVzdChkYXRhKSxcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6IFRvYXN0VHlwZS5lcnJvciwgc3VtbWFyeTogZXJyb3IuZXJyb3IubWVzc2FnZSB8fCBlcnJvci5lcnJvciB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZW5lcmF0ZVJlcXVlc3QoKTogQ29uZmlndXJhdGlvblJlcXVlc3Qge1xuICAgIGNvbnN0IHJ1bnRpbWVDb250ZXh0ID0gdGhpcy5nZXRSdW50aW1lQ29udGV4dCgpO1xuICAgIGNvbnN0IHVpRGVmaW5pdGlvblByb3BlcnRpZXMgPSB0aGlzLmdldFVJRGVmaW5pdGlvblByb3BlcnRpZXMoKTtcblxuICAgIGxldCBsaW5lSXRlbSA9IHRoaXMuY29uZmlndXJhYmxlUmFtcDtcbiAgICBpZiAoIWxpbmVJdGVtKSB7XG4gICAgICBjb25zdCB7IGluaXRpYWxpemF0aW9uUHJvcHMgfSA9IHRoaXMucnVudGltZVNlcnZpY2UgPz8ge307XG5cbiAgICAgIGxpbmVJdGVtID0gZ2V0RGVmYXVsdExpbmVJdGVtKHJ1bnRpbWVDb250ZXh0LCB1aURlZmluaXRpb25Qcm9wZXJ0aWVzLCBpbml0aWFsaXphdGlvblByb3BzPy5kZWZhdWx0UXR5KTtcblxuICAgICAgLy8gU2V0IGRlZmF1bHQgYXR0cmlidXRlc1xuICAgICAgaWYgKGluaXRpYWxpemF0aW9uUHJvcHM/LmF0dHJpYnV0ZXNNYXApIHtcbiAgICAgICAgY29uc3QgYXR0cmlidXRlcyA9IHRyYW5zZm9ybShcbiAgICAgICAgICBpbml0aWFsaXphdGlvblByb3BzPy5hdHRyaWJ1dGVzTWFwLFxuICAgICAgICAgIChhY2M6IE5ld0F0dHJpYnV0ZVtdLCB2YWx1ZSwgbmFtZSkgPT4gYWNjLnB1c2goeyBuYW1lLCB2YWx1ZSB9KSxcbiAgICAgICAgICBbXSxcbiAgICAgICAgKTtcblxuICAgICAgICBsaW5lSXRlbSA9IG5ldyBMaW5lSXRlbVdvcmtlcihsaW5lSXRlbSkucGF0Y2hBdHRyaWJ1dGUoYXR0cmlidXRlcykubGk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IHJlcXVlc3Q6IENvbmZpZ3VyYXRpb25SZXF1ZXN0ID0ge1xuICAgICAgbGluZUl0ZW0sXG4gICAgICBtb2RlOiB0aGlzLm1vZGUsXG4gICAgICBzdGVwOiAhdGhpcy5saW5lSXRlbS52YWx1ZSA/IFJ1bnRpbWVTdGVwLlNUQVJUIDogUnVudGltZVN0ZXAuVVBEQVRFLFxuICAgICAgYXR0cmlidXRlRG9tYWluTW9kZTogJ0FMTCcsXG4gICAgICBjb250ZXh0OiB0aGlzLmNvbnRleHRTZXJ2aWNlLnJlc29sdmUoKSxcbiAgICAgIGxpbmVJdGVtczogdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZURyYWZ0Py5jdXJyZW50U3RhdGUgfHwgW10sXG4gICAgICBhc3NldDogdGhpcy5nZXRBc3NldCgpLFxuICAgIH07XG5cbiAgICByZXF1ZXN0ID0gQ29uZmlndXJhdGlvblRyYW5zbGF0b3JVdGlscy5saWdodGVuQ29uZmlndXJhdGlvblJlcXVlc3QocmVxdWVzdCk7XG5cbiAgICByZXR1cm4gcmVxdWVzdDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VUlEZWZpbml0aW9uUHJvcGVydGllcygpOiBVSURlZmluaXRpb25Qcm9wcyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmdldFVJRGVmaW5pdGlvblByb3BlcnRpZXModGhpcy5nZXRSdW50aW1lQ29udGV4dCgpLnVpRGVmaW5pdGlvbkNvbnRhaW5lciksXG4gICAgICAuLi4odGhpcy5ydW50aW1lU2VydmljZS51aURlZmluaXRpb25Qcm9wZXJ0aWVzID8/IHt9KSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBzaG93SW5hY3RpdmVQcm9kdWN0c0NvbmZpcm1hdGlvbigpOiB2b2lkIHtcbiAgICBjb25zdCBjb25maXJtYXRpb25Db25maWc6IENvbmZpcm1hdGlvbkNvbmZpZyA9IHtcbiAgICAgIHRpdGxlOiAnICcsXG4gICAgICBkZXNjcmlwdGlvbjogJ1RoaXMgcXVvdGUgY29udGFpbnMgaW5hY3RpdmUgcHJvZHVjdHMuIERvIHlvdSB3YW50IHRvIHJlbW92ZSB0aGVtPycsXG4gICAgICBwcmltYXJ5QnV0dG9uTGFiZWw6ICdSZW1vdmUgcHJvZHVjdHMnLFxuICAgICAgc2Vjb25kYXJ5QnV0dG9uTGFiZWw6ICdCYWNrIHRvIFF1b3RlJyxcbiAgICB9O1xuXG4gICAgdGhpcy5kaWFsb2dTZXJ2aWNlXG4gICAgICAub3BlbihDb25maXJtYXRpb25Db21wb25lbnQsIHtcbiAgICAgICAgZGlzbWlzc2FibGVNYXNrOiBmYWxzZSxcbiAgICAgICAgY2xvc2VPbkVzY2FwZTogZmFsc2UsXG4gICAgICAgIGNsb3NhYmxlOiBmYWxzZSxcbiAgICAgICAgc2hvd0hlYWRlcjogdHJ1ZSxcbiAgICAgICAgaGVhZGVyOiBgSW5hY3RpdmUgUHJvZHVjdHMgaW4gUXVvdGVgLFxuICAgICAgICB3aWR0aDogJzQ0MHB4JyxcbiAgICAgICAgZGF0YTogeyBjb25maXJtYXRpb25Db25maWcgfSxcbiAgICAgIH0pXG4gICAgICAub25DbG9zZS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgICAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlKCk7XG4gICAgICAgICAgd2luZG93WydWRUxPX0JBQ0tfRk4nXS5hcHBseShudWxsLCBbY29udGV4dC5oZWFkZXJJZF0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QXNzZXQoKTogTGluZUl0ZW0gfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGxpbmVJdGVtID0gdGhpcy5jb25maWd1cmFibGVSYW1wO1xuICAgIGlmICghbGluZUl0ZW0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZURyYWZ0Py5pbml0aWFsU3RhdGUuZmluZChcbiAgICAgIGEgPT4gYS5pZCA9PT0gbGluZUl0ZW0ub3Blbk9yZGVyTGluZUl0ZW1JZCB8fCBhLmlkID09PSBsaW5lSXRlbS5hc3NldElkLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -673,6 +673,7 @@ class ConfigurationService {
673
673
  this.lineItem = new BehaviorSubject(undefined);
674
674
  this.charges = new BehaviorSubject({});
675
675
  this.pricePlans = new BehaviorSubject({});
676
+ this.procedureContext = new BehaviorSubject({});
676
677
  this.isLoadingSubj$ = new BehaviorSubject(false);
677
678
  this.isLoading$ = this.isLoadingSubj$.asObservable();
678
679
  this.hasUnsavedChanges = false;
@@ -749,6 +750,12 @@ class ConfigurationService {
749
750
  get pricePlansSnapshot() {
750
751
  return this.pricePlans.value;
751
752
  }
753
+ get procedureContext$() {
754
+ return this.procedureContext.asObservable();
755
+ }
756
+ get procedureContextSnapshot() {
757
+ return this.procedureContext.value;
758
+ }
752
759
  configure() {
753
760
  return this.configureRequest$(this.generateRequest());
754
761
  }
@@ -760,10 +767,11 @@ class ConfigurationService {
760
767
  const mainPricingEnabled = (_a = runtimeContext.properties) === null || _a === void 0 ? void 0 : _a.PricingEnabled;
761
768
  const pricingEnabled = mainPricingEnabled ? mainPricingEnabled === 'true' : uiDefinitionProperties.pricingEnabled;
762
769
  this.isLoadingSubj$.next(true);
763
- return this.configurationApiService.configureLineItem({ configurationRequest, runtimeModel, pricingEnabled }).pipe(tap(({ lineItem, context, charges, pricePlans, deletedLineItems }) => {
770
+ return this.configurationApiService.configureLineItem({ configurationRequest, runtimeModel, pricingEnabled }).pipe(tap(({ lineItem, context, charges, pricePlans, deletedLineItems, procedureContext }) => {
764
771
  this.contextService.update(context !== null && context !== void 0 ? context : {});
765
772
  this.charges.next(charges !== null && charges !== void 0 ? charges : {});
766
773
  this.pricePlans.next(pricePlans !== null && pricePlans !== void 0 ? pricePlans : {});
774
+ this.procedureContext.next(procedureContext !== null && procedureContext !== void 0 ? procedureContext : {});
767
775
  if (lineItem) {
768
776
  this.lineItem.next(lineItem);
769
777
  }