@veloceapps/sdk 4.0.6 → 4.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/bundles/veloce-sdk-core.umd.js +34 -4
  2. package/bundles/veloce-sdk-core.umd.js.map +1 -1
  3. package/bundles/veloce-sdk.umd.js +118 -32
  4. package/bundles/veloce-sdk.umd.js.map +1 -1
  5. package/cms/vendor-map.d.ts +116 -124
  6. package/core/modules/configuration/services/configuration.service.d.ts +3 -3
  7. package/core/modules/flow-configuration/services/flow-configuration.service.d.ts +3 -3
  8. package/core/modules/flow-configuration/types/update.types.d.ts +1 -1
  9. package/core/services/quote-draft.service.d.ts +3 -1
  10. package/esm2015/core/modules/configuration/services/configuration.service.js +1 -1
  11. package/esm2015/core/modules/flow-configuration/services/flow-configuration.service.js +1 -1
  12. package/esm2015/core/modules/flow-configuration/services/flow-update.service.js +15 -1
  13. package/esm2015/core/modules/flow-configuration/types/update.types.js +1 -1
  14. package/esm2015/core/services/quote-draft.service.js +12 -5
  15. package/esm2015/src/components/doc-gen/doc-gen.component.js +2 -2
  16. package/esm2015/src/components/header/cart-overlay/cart-preview.component.js +2 -2
  17. package/esm2015/src/components/header/header.component.js +28 -8
  18. package/esm2015/src/flow-routing.module.js +32 -4
  19. package/esm2015/src/pages/empty-account/empty-account.component.js +17 -0
  20. package/esm2015/src/pages/empty-account/empty-account.module.js +20 -0
  21. package/esm2015/src/resolvers/quote.resolver.js +28 -21
  22. package/fesm2015/veloce-sdk-core.js +25 -4
  23. package/fesm2015/veloce-sdk-core.js.map +1 -1
  24. package/fesm2015/veloce-sdk.js +113 -33
  25. package/fesm2015/veloce-sdk.js.map +1 -1
  26. package/package.json +1 -1
  27. package/src/components/header/header.component.d.ts +4 -0
  28. package/src/flow-routing.module.d.ts +2 -1
  29. package/src/pages/empty-account/empty-account.component.d.ts +5 -0
  30. package/src/pages/empty-account/empty-account.module.d.ts +10 -0
  31. package/src/resolvers/quote.resolver.d.ts +2 -1
@@ -264,8 +264,8 @@ export declare const vendorMap: {
264
264
  forEachRight<TString_1 extends string | null | undefined>(collection: TString_1, iteratee?: lodash.StringIterator<any> | undefined): TString_1;
265
265
  forEachRight<T_95, TList_2 extends lodash.List<T_95> | null | undefined>(collection: TList_2 & (lodash.List<T_95> | null | undefined), iteratee?: lodash.ListIterator<T_95, any> | undefined): TList_2;
266
266
  forEachRight<T_96 extends object>(collection: T_96 | null | undefined, iteratee?: lodash.ObjectIterator<T_96, any> | undefined): T_96 | null | undefined;
267
- groupBy<T_120>(collection: lodash.List<T_120> | null | undefined, iteratee?: lodash.ValueIteratee<T_120> | undefined): lodash.Dictionary<T_120[]>;
268
- groupBy<T_121 extends object>(collection: T_121 | null | undefined, iteratee?: lodash.ValueIteratee<T_121[keyof T_121]> | undefined): lodash.Dictionary<T_121[keyof T_121][]>;
267
+ groupBy<T_120>(collection: lodash.List<T_120> | null | undefined, iteratee?: lodash.ValueIteratee<T_120> | undefined): lodash.Dictionary<[T_120, ...T_120[]]>;
268
+ groupBy<T_121 extends object>(collection: T_121 | null | undefined, iteratee?: lodash.ValueIteratee<T_121[keyof T_121]> | undefined): lodash.Dictionary<[T_121[keyof T_121], ...T_121[keyof T_121][]]>;
269
269
  includes<T_122>(collection: lodash.Dictionary<T_122> | lodash.NumericDictionary<T_122> | null | undefined, target: T_122, fromIndex?: number | undefined): boolean;
270
270
  invokeMap(collection: object | null | undefined, methodName: string, ...args: any[]): any[];
271
271
  invokeMap<TResult_13>(collection: object | null | undefined, method: (...args: any[]) => TResult_13, ...args: any[]): TResult_13[];
@@ -319,52 +319,51 @@ export declare const vendorMap: {
319
319
  bindKey: lodash.FunctionBindKey;
320
320
  curry: lodash.Curry;
321
321
  curryRight: lodash.CurryRight;
322
- debounce<T_163 extends (...args: any) => any>(func: T_163, wait: number | undefined, options: lodash.DebounceSettingsLeading): lodash.DebouncedFuncLeading<T_163>;
323
- debounce<T_164 extends (...args: any) => any>(func: T_164, wait?: number | undefined, options?: lodash.DebounceSettings | undefined): lodash.DebouncedFunc<T_164>;
322
+ debounce<T_163 extends (...args: any) => any>(func: T_163, wait?: number | undefined, options?: lodash.DebounceSettings | undefined): lodash.DebouncedFunc<T_163>;
324
323
  defer(func: (...args: any[]) => any, ...args: any[]): number;
325
324
  delay(func: (...args: any[]) => any, wait: number, ...args: any[]): number;
326
- flip<T_165 extends (...args: any) => any>(func: T_165): T_165;
325
+ flip<T_164 extends (...args: any) => any>(func: T_164): T_164;
327
326
  memoize: {
328
- <T_166 extends (...args: any) => any>(func: T_166, resolver?: ((...args: Parameters<T_166>) => any) | undefined): T_166 & lodash.MemoizedFunction;
327
+ <T_165 extends (...args: any) => any>(func: T_165, resolver?: ((...args: Parameters<T_165>) => any) | undefined): T_165 & lodash.MemoizedFunction;
329
328
  Cache: lodash.MapCacheConstructor;
330
329
  };
331
- negate<T_167 extends any[]>(predicate: (...args: T_167) => boolean): (...args: T_167) => boolean;
332
- once<T_168 extends (...args: any) => any>(func: T_168): T_168;
330
+ negate<T_166 extends any[]>(predicate: (...args: T_166) => boolean): (...args: T_166) => boolean;
331
+ once<T_167 extends (...args: any) => any>(func: T_167): T_167;
333
332
  overArgs(func: (...args: any[]) => any, ...transforms: lodash.Many<(...args: any[]) => any>[]): (...args: any[]) => any;
334
333
  partial: lodash.Partial;
335
334
  partialRight: lodash.PartialRight;
336
335
  rearg(func: (...args: any[]) => any, ...indexes: lodash.Many<number>[]): (...args: any[]) => any;
337
336
  rest(func: (...args: any[]) => any, start?: number | undefined): (...args: any[]) => any;
338
337
  spread<TResult_23>(func: (...args: any[]) => TResult_23, start?: number | undefined): (...args: any[]) => TResult_23;
339
- throttle<T_169 extends (...args: any) => any>(func: T_169, wait?: number | undefined, options?: lodash.ThrottleSettings | undefined): lodash.DebouncedFunc<T_169>;
340
- unary<T_170, TResult_24>(func: (arg1: T_170, ...args: any[]) => TResult_24): (arg1: T_170) => TResult_24;
341
- wrap<T_171, TArgs, TResult_25>(value: T_171, wrapper: (value: T_171, ...args: TArgs[]) => TResult_25): (...args: TArgs[]) => TResult_25;
342
- castArray<T_172>(value?: lodash.Many<T_172> | undefined): T_172[];
343
- clone<T_173>(value: T_173): T_173;
344
- cloneDeep<T_174>(value: T_174): T_174;
345
- cloneDeepWith<T_175>(value: T_175, customizer: lodash.CloneDeepWithCustomizer<T_175>): any;
346
- cloneDeepWith<T_176>(value: T_176): T_176;
347
- cloneWith<T_177, TResult_26 extends string | number | boolean | object | null>(value: T_177, customizer: lodash.CloneWithCustomizer<T_177, TResult_26>): TResult_26;
348
- cloneWith<T_178, TResult_27>(value: T_178, customizer: lodash.CloneWithCustomizer<T_178, TResult_27 | undefined>): T_178 | TResult_27;
349
- cloneWith<T_179>(value: T_179): T_179;
350
- conformsTo<T_180>(object: T_180, source: lodash.ConformsPredicateObject<T_180>): boolean;
338
+ throttle<T_168 extends (...args: any) => any>(func: T_168, wait?: number | undefined, options?: lodash.ThrottleSettings | undefined): lodash.DebouncedFunc<T_168>;
339
+ unary<T_169, TResult_24>(func: (arg1: T_169, ...args: any[]) => TResult_24): (arg1: T_169) => TResult_24;
340
+ wrap<T_170, TArgs, TResult_25>(value: T_170, wrapper: (value: T_170, ...args: TArgs[]) => TResult_25): (...args: TArgs[]) => TResult_25;
341
+ castArray<T_171>(value?: lodash.Many<T_171> | undefined): T_171[];
342
+ clone<T_172>(value: T_172): T_172;
343
+ cloneDeep<T_173>(value: T_173): T_173;
344
+ cloneDeepWith<T_174>(value: T_174, customizer: lodash.CloneDeepWithCustomizer<T_174>): any;
345
+ cloneDeepWith<T_175>(value: T_175): T_175;
346
+ cloneWith<T_176, TResult_26 extends string | number | boolean | object | null>(value: T_176, customizer: lodash.CloneWithCustomizer<T_176, TResult_26>): TResult_26;
347
+ cloneWith<T_177, TResult_27>(value: T_177, customizer: lodash.CloneWithCustomizer<T_177, TResult_27 | undefined>): T_177 | TResult_27;
348
+ cloneWith<T_178>(value: T_178): T_178;
349
+ conformsTo<T_179>(object: T_179, source: lodash.ConformsPredicateObject<T_179>): boolean;
351
350
  eq(value: any, other: any): boolean;
352
351
  gt(value: any, other: any): boolean;
353
352
  gte(value: any, other: any): boolean;
354
353
  isArguments(value?: any): value is IArguments;
355
354
  isArray(value?: any): value is any[];
356
- isArray<T_181>(value?: any): value is any[];
355
+ isArray<T_180>(value?: any): value is any[];
357
356
  isArrayBuffer(value?: any): value is ArrayBuffer;
358
- isArrayLike<T_182 extends {
357
+ isArrayLike<T_181 extends {
359
358
  __lodashAnyHack: any;
360
- }>(t: T_182): boolean;
359
+ }>(t: T_181): boolean;
361
360
  isArrayLike(value: ((...args: any[]) => any) | null | undefined): value is never;
362
361
  isArrayLike(value: any): value is {
363
362
  length: number;
364
363
  };
365
- isArrayLikeObject<T_183 extends {
364
+ isArrayLikeObject<T_182 extends {
366
365
  __lodashAnyHack: any;
367
- }>(value: T_183): boolean;
366
+ }>(value: T_182): boolean;
368
367
  isArrayLikeObject(value: string | number | boolean | Function | ((...args: any[]) => any) | null | undefined): value is never;
369
368
  isArrayLikeObject(value: any): value is object & {
370
369
  length: number;
@@ -373,12 +372,6 @@ export declare const vendorMap: {
373
372
  isBuffer(value?: any): boolean;
374
373
  isDate(value?: any): value is Date;
375
374
  isElement(value?: any): boolean;
376
- isEmpty<T_184 extends {
377
- __trapAny: any;
378
- }>(value?: T_184 | undefined): boolean;
379
- isEmpty(value: string): value is "";
380
- isEmpty(value: lodash.List<any> | Map<any, any> | Set<any> | null | undefined): boolean;
381
- isEmpty<T_185 extends object>(value: T_185 | null | undefined): value is lodash.EmptyObjectOf<T_185> | null | undefined;
382
375
  isEmpty(value?: any): boolean;
383
376
  isEqual(value: any, other: any): boolean;
384
377
  isEqualWith(value: any, other: any, customizer?: lodash.IsEqualCustomizer | undefined): boolean;
@@ -409,8 +402,8 @@ export declare const vendorMap: {
409
402
  isWeakSet(value?: any): value is WeakSet<object>;
410
403
  lt(value: any, other: any): boolean;
411
404
  lte(value: any, other: any): boolean;
412
- toArray<T_186>(value: lodash.Dictionary<T_186> | lodash.NumericDictionary<T_186> | null | undefined): T_186[];
413
- toArray<T_187>(value: T_187): T_187[keyof T_187][];
405
+ toArray<T_183>(value: lodash.Dictionary<T_183> | lodash.NumericDictionary<T_183> | null | undefined): T_183[];
406
+ toArray<T_184>(value: T_184): T_184[keyof T_184][];
414
407
  toArray(): any[];
415
408
  toFinite(value: any): number;
416
409
  toInteger(value: any): number;
@@ -423,17 +416,17 @@ export declare const vendorMap: {
423
416
  ceil(n: number, precision?: number | undefined): number;
424
417
  divide(dividend: number, divisor: number): number;
425
418
  floor(n: number, precision?: number | undefined): number;
426
- max<T_188>(collection: lodash.List<T_188> | null | undefined): T_188 | undefined;
427
- maxBy<T_189>(collection: lodash.List<T_189> | null | undefined, iteratee?: lodash.ValueIteratee<T_189> | undefined): T_189 | undefined;
419
+ max<T_185>(collection: lodash.List<T_185> | null | undefined): T_185 | undefined;
420
+ maxBy<T_186>(collection: lodash.List<T_186> | null | undefined, iteratee?: lodash.ValueIteratee<T_186> | undefined): T_186 | undefined;
428
421
  mean(collection: lodash.List<any> | null | undefined): number;
429
- meanBy<T_190>(collection: lodash.List<T_190> | null | undefined, iteratee?: lodash.ValueIteratee<T_190> | undefined): number;
430
- min<T_191>(collection: lodash.List<T_191> | null | undefined): T_191 | undefined;
431
- minBy<T_192>(collection: lodash.List<T_192> | null | undefined, iteratee?: lodash.ValueIteratee<T_192> | undefined): T_192 | undefined;
422
+ meanBy<T_187>(collection: lodash.List<T_187> | null | undefined, iteratee?: lodash.ValueIteratee<T_187> | undefined): number;
423
+ min<T_188>(collection: lodash.List<T_188> | null | undefined): T_188 | undefined;
424
+ minBy<T_189>(collection: lodash.List<T_189> | null | undefined, iteratee?: lodash.ValueIteratee<T_189> | undefined): T_189 | undefined;
432
425
  multiply(multiplier: number, multiplicand: number): number;
433
426
  round(n: number, precision?: number | undefined): number;
434
427
  subtract(minuend: number, subtrahend: number): number;
435
428
  sum(collection: lodash.List<any> | null | undefined): number;
436
- sumBy<T_193>(collection: lodash.List<T_193> | null | undefined, iteratee?: string | ((value: T_193) => number) | undefined): number;
429
+ sumBy<T_190>(collection: lodash.List<T_190> | null | undefined, iteratee?: string | ((value: T_190) => number) | undefined): number;
437
430
  clamp(number: number, lower: number, upper: number): number;
438
431
  clamp(number: number, upper: number): number;
439
432
  inRange(n: number, start: number, end?: number | undefined): boolean;
@@ -465,9 +458,9 @@ export declare const vendorMap: {
465
458
  assignWith<TObject_18, TSource1_11, TSource2_11, TSource3_7, TSource4_3>(object: TObject_18, source1: TSource1_11, source2: TSource2_11, source3: TSource3_7, source4: TSource4_3, customizer: lodash.AssignCustomizer): TObject_18 & TSource1_11 & TSource2_11 & TSource3_7 & TSource4_3;
466
459
  assignWith<TObject_19>(object: TObject_19): TObject_19;
467
460
  assignWith<TResult_30>(object: any, ...otherArgs: any[]): TResult_30;
468
- at<T_194>(object: lodash.Dictionary<T_194> | lodash.NumericDictionary<T_194> | null | undefined, ...props: lodash.PropertyPath[]): T_194[];
469
- at<T_195 extends object>(object: T_195 | null | undefined, ...props: lodash.Many<keyof T_195>[]): T_195[keyof T_195][];
470
- create<T_196 extends object, U_3 extends object>(prototype: T_196, properties?: U_3 | undefined): T_196 & U_3;
461
+ at<T_191>(object: lodash.Dictionary<T_191> | lodash.NumericDictionary<T_191> | null | undefined, ...props: lodash.PropertyPath[]): T_191[];
462
+ at<T_192 extends object>(object: T_192 | null | undefined, ...props: lodash.Many<keyof T_192>[]): T_192[keyof T_192][];
463
+ create<T_193 extends object, U_3 extends object>(prototype: T_193, properties?: U_3 | undefined): T_193 & U_3;
471
464
  defaults<TObject_20, TSource_4>(object: TObject_20, source: TSource_4): NonNullable<TSource_4 & TObject_20>;
472
465
  defaults<TObject_21, TSource1_12, TSource2_12>(object: TObject_21, source1: TSource1_12, source2: TSource2_12): NonNullable<TSource2_12 & TSource1_12 & TObject_21>;
473
466
  defaults<TObject_22, TSource1_13, TSource2_13, TSource3_8>(object: TObject_22, source1: TSource1_13, source2: TSource2_13, source3: TSource3_8): NonNullable<TSource3_8 & TSource2_13 & TSource1_13 & TObject_22>;
@@ -475,9 +468,9 @@ export declare const vendorMap: {
475
468
  defaults<TObject_24>(object: TObject_24): NonNullable<TObject_24>;
476
469
  defaults(object: any, ...sources: any[]): any;
477
470
  defaultsDeep(object: any, ...sources: any[]): any;
478
- entries<T_197>(object?: lodash.Dictionary<T_197> | lodash.NumericDictionary<T_197> | undefined): [string, T_197][];
471
+ entries<T_194>(object?: lodash.Dictionary<T_194> | lodash.NumericDictionary<T_194> | undefined): [string, T_194][];
479
472
  entries(object?: object | undefined): [string, any][];
480
- entriesIn<T_198>(object?: lodash.Dictionary<T_198> | lodash.NumericDictionary<T_198> | undefined): [string, T_198][];
473
+ entriesIn<T_195>(object?: lodash.Dictionary<T_195> | lodash.NumericDictionary<T_195> | undefined): [string, T_195][];
481
474
  entriesIn(object?: object | undefined): [string, any][];
482
475
  extend<TObject_25, TSource_5>(object: TObject_25, source: TSource_5): TObject_25 & TSource_5;
483
476
  extend<TObject_26, TSource1_15, TSource2_15>(object: TObject_26, source1: TSource1_15, source2: TSource2_15): TObject_26 & TSource1_15 & TSource2_15;
@@ -491,18 +484,18 @@ export declare const vendorMap: {
491
484
  extendWith<TObject_33, TSource1_20, TSource2_20, TSource3_13, TSource4_6>(object: TObject_33, source1: TSource1_20, source2: TSource2_20, source3: TSource3_13, source4: TSource4_6, customizer: lodash.AssignCustomizer): TObject_33 & TSource1_20 & TSource2_20 & TSource3_13 & TSource4_6;
492
485
  extendWith<TObject_34>(object: TObject_34): TObject_34;
493
486
  extendWith<TResult_32>(object: any, ...otherArgs: any[]): TResult_32;
494
- findKey<T_199>(object: T_199 | null | undefined, predicate?: lodash.ObjectIteratee<T_199> | undefined): string | undefined;
495
- findLastKey<T_200>(object: T_200 | null | undefined, predicate?: lodash.ObjectIteratee<T_200> | undefined): string | undefined;
496
- forIn<T_201>(object: T_201, iteratee?: lodash.ObjectIterator<T_201, any> | undefined): T_201;
497
- forIn<T_202>(object: T_202 | null | undefined, iteratee?: lodash.ObjectIterator<T_202, any> | undefined): T_202 | null | undefined;
498
- forInRight<T_203>(object: T_203, iteratee?: lodash.ObjectIterator<T_203, any> | undefined): T_203;
499
- forInRight<T_204>(object: T_204 | null | undefined, iteratee?: lodash.ObjectIterator<T_204, any> | undefined): T_204 | null | undefined;
500
- forOwn<T_205>(object: T_205, iteratee?: lodash.ObjectIterator<T_205, any> | undefined): T_205;
501
- forOwn<T_206>(object: T_206 | null | undefined, iteratee?: lodash.ObjectIterator<T_206, any> | undefined): T_206 | null | undefined;
502
- forOwnRight<T_207>(object: T_207, iteratee?: lodash.ObjectIterator<T_207, any> | undefined): T_207;
503
- forOwnRight<T_208>(object: T_208 | null | undefined, iteratee?: lodash.ObjectIterator<T_208, any> | undefined): T_208 | null | undefined;
487
+ findKey<T_196>(object: T_196 | null | undefined, predicate?: lodash.ObjectIteratee<T_196> | undefined): string | undefined;
488
+ findLastKey<T_197>(object: T_197 | null | undefined, predicate?: lodash.ObjectIteratee<T_197> | undefined): string | undefined;
489
+ forIn<T_198>(object: T_198, iteratee?: lodash.ObjectIterator<T_198, any> | undefined): T_198;
490
+ forIn<T_199>(object: T_199 | null | undefined, iteratee?: lodash.ObjectIterator<T_199, any> | undefined): T_199 | null | undefined;
491
+ forInRight<T_200>(object: T_200, iteratee?: lodash.ObjectIterator<T_200, any> | undefined): T_200;
492
+ forInRight<T_201>(object: T_201 | null | undefined, iteratee?: lodash.ObjectIterator<T_201, any> | undefined): T_201 | null | undefined;
493
+ forOwn<T_202>(object: T_202, iteratee?: lodash.ObjectIterator<T_202, any> | undefined): T_202;
494
+ forOwn<T_203>(object: T_203 | null | undefined, iteratee?: lodash.ObjectIterator<T_203, any> | undefined): T_203 | null | undefined;
495
+ forOwnRight<T_204>(object: T_204, iteratee?: lodash.ObjectIterator<T_204, any> | undefined): T_204;
496
+ forOwnRight<T_205>(object: T_205 | null | undefined, iteratee?: lodash.ObjectIterator<T_205, any> | undefined): T_205 | null | undefined;
504
497
  functions(object: any): string[];
505
- functionsIn<T_209 extends {}>(object: any): string[];
498
+ functionsIn<T_206 extends {}>(object: any): string[];
506
499
  get<TObject_35 extends object, TKey extends keyof TObject_35>(object: TObject_35, path: TKey | [TKey]): TObject_35[TKey];
507
500
  get<TObject_36 extends object, TKey_1 extends keyof TObject_36>(object: TObject_36 | null | undefined, path: TKey_1 | [TKey_1]): TObject_36[TKey_1] | undefined;
508
501
  get<TObject_37 extends object, TKey_2 extends keyof TObject_37, TDefault>(object: TObject_37 | null | undefined, path: TKey_2 | [TKey_2], defaultValue: TDefault): TDefault | Exclude<TObject_37[TKey_2], undefined>;
@@ -515,33 +508,33 @@ export declare const vendorMap: {
515
508
  get<TObject_44 extends object, TKey1_6 extends keyof TObject_44, TKey2_6 extends keyof TObject_44[TKey1_6], TKey3_3 extends keyof TObject_44[TKey1_6][TKey2_6], TKey4 extends keyof TObject_44[TKey1_6][TKey2_6][TKey3_3]>(object: TObject_44, path: [TKey1_6, TKey2_6, TKey3_3, TKey4]): TObject_44[TKey1_6][TKey2_6][TKey3_3][TKey4];
516
509
  get<TObject_45 extends object, TKey1_7 extends keyof TObject_45, TKey2_7 extends keyof TObject_45[TKey1_7], TKey3_4 extends keyof TObject_45[TKey1_7][TKey2_7], TKey4_1 extends keyof TObject_45[TKey1_7][TKey2_7][TKey3_4]>(object: TObject_45 | null | undefined, path: [TKey1_7, TKey2_7, TKey3_4, TKey4_1]): TObject_45[TKey1_7][TKey2_7][TKey3_4][TKey4_1] | undefined;
517
510
  get<TObject_46 extends object, TKey1_8 extends keyof TObject_46, TKey2_8 extends keyof TObject_46[TKey1_8], TKey3_5 extends keyof TObject_46[TKey1_8][TKey2_8], TKey4_2 extends keyof TObject_46[TKey1_8][TKey2_8][TKey3_5], TDefault_3>(object: TObject_46 | null | undefined, path: [TKey1_8, TKey2_8, TKey3_5, TKey4_2], defaultValue: TDefault_3): TDefault_3 | Exclude<TObject_46[TKey1_8][TKey2_8][TKey3_5][TKey4_2], undefined>;
518
- get<T_210>(object: lodash.NumericDictionary<T_210>, path: number): T_210;
519
- get<T_211>(object: lodash.NumericDictionary<T_211> | null | undefined, path: number): T_211 | undefined;
520
- get<T_212, TDefault_4>(object: lodash.NumericDictionary<T_212> | null | undefined, path: number, defaultValue: TDefault_4): T_212 | TDefault_4;
511
+ get<T_207>(object: lodash.NumericDictionary<T_207>, path: number): T_207;
512
+ get<T_208>(object: lodash.NumericDictionary<T_208> | null | undefined, path: number): T_208 | undefined;
513
+ get<T_209, TDefault_4>(object: lodash.NumericDictionary<T_209> | null | undefined, path: number, defaultValue: TDefault_4): T_209 | TDefault_4;
521
514
  get<TDefault_5>(object: null | undefined, path: lodash.PropertyPath, defaultValue: TDefault_5): TDefault_5;
522
515
  get(object: null | undefined, path: lodash.PropertyPath): undefined;
523
516
  get(object: any, path: lodash.PropertyPath, defaultValue?: any): any;
524
- has<T_213>(object: T_213, path: lodash.PropertyPath): boolean;
525
- hasIn<T_214>(object: T_214, path: lodash.PropertyPath): boolean;
517
+ has<T_210>(object: T_210, path: lodash.PropertyPath): boolean;
518
+ hasIn<T_211>(object: T_211, path: lodash.PropertyPath): boolean;
526
519
  invert(object: object): lodash.Dictionary<string>;
527
- invertBy<T_215>(object: lodash.Dictionary<T_215> | lodash.NumericDictionary<T_215> | null | undefined, interatee?: lodash.ValueIteratee<T_215> | undefined): lodash.Dictionary<string[]>;
528
- invertBy<T_216 extends object>(object: T_216 | null | undefined, interatee?: lodash.ValueIteratee<T_216[keyof T_216]> | undefined): lodash.Dictionary<string[]>;
520
+ invertBy<T_212>(object: lodash.Dictionary<T_212> | lodash.NumericDictionary<T_212> | null | undefined, interatee?: lodash.ValueIteratee<T_212> | undefined): lodash.Dictionary<string[]>;
521
+ invertBy<T_213 extends object>(object: T_213 | null | undefined, interatee?: lodash.ValueIteratee<T_213[keyof T_213]> | undefined): lodash.Dictionary<string[]>;
529
522
  invoke(object: any, path: lodash.PropertyPath, ...args: any[]): any;
530
523
  keys(object?: any): string[];
531
524
  keysIn(object?: any): string[];
532
- mapKeys<T_217>(object: lodash.List<T_217> | null | undefined, iteratee?: lodash.ListIteratee<T_217> | undefined): lodash.Dictionary<T_217>;
533
- mapKeys<T_218 extends object>(object: T_218 | null | undefined, iteratee?: lodash.ObjectIteratee<T_218> | undefined): lodash.Dictionary<T_218[keyof T_218]>;
525
+ mapKeys<T_214>(object: lodash.List<T_214> | null | undefined, iteratee?: lodash.ListIteratee<T_214> | undefined): lodash.Dictionary<T_214>;
526
+ mapKeys<T_215 extends object>(object: T_215 | null | undefined, iteratee?: lodash.ObjectIteratee<T_215> | undefined): lodash.Dictionary<T_215[keyof T_215]>;
534
527
  mapValues<TResult_33>(obj: string | null | undefined, callback: lodash.StringIterator<TResult_33>): lodash.NumericDictionary<TResult_33>;
535
- mapValues<T_219 extends object, TResult_34>(obj: T_219 | null | undefined, callback: lodash.ObjectIterator<T_219, TResult_34>): { [P in keyof T_219]: TResult_34; };
536
- mapValues<T_220>(obj: lodash.Dictionary<T_220> | lodash.NumericDictionary<T_220> | null | undefined, iteratee: object): lodash.Dictionary<boolean>;
537
- mapValues<T_221 extends object>(obj: T_221 | null | undefined, iteratee: object): { [P_1 in keyof T_221]: boolean; };
538
- mapValues<T_222, TKey_3 extends keyof T_222>(obj: lodash.Dictionary<T_222> | lodash.NumericDictionary<T_222> | null | undefined, iteratee: TKey_3): lodash.Dictionary<T_222[TKey_3]>;
539
- mapValues<T_223>(obj: lodash.Dictionary<T_223> | lodash.NumericDictionary<T_223> | null | undefined, iteratee: string): lodash.Dictionary<any>;
540
- mapValues<T_224 extends object>(obj: T_224 | null | undefined, iteratee: string): { [P_2 in keyof T_224]: any; };
528
+ mapValues<T_216 extends object, TResult_34>(obj: T_216 | null | undefined, callback: lodash.ObjectIterator<T_216, TResult_34>): { [P in keyof T_216]: TResult_34; };
529
+ mapValues<T_217>(obj: lodash.Dictionary<T_217> | lodash.NumericDictionary<T_217> | null | undefined, iteratee: object): lodash.Dictionary<boolean>;
530
+ mapValues<T_218 extends object>(obj: T_218 | null | undefined, iteratee: object): { [P_1 in keyof T_218]: boolean; };
531
+ mapValues<T_219, TKey_3 extends keyof T_219>(obj: lodash.Dictionary<T_219> | lodash.NumericDictionary<T_219> | null | undefined, iteratee: TKey_3): lodash.Dictionary<T_219[TKey_3]>;
532
+ mapValues<T_220>(obj: lodash.Dictionary<T_220> | lodash.NumericDictionary<T_220> | null | undefined, iteratee: string): lodash.Dictionary<any>;
533
+ mapValues<T_221 extends object>(obj: T_221 | null | undefined, iteratee: string): { [P_2 in keyof T_221]: any; };
541
534
  mapValues(obj: string | null | undefined): lodash.NumericDictionary<string>;
542
- mapValues<T_225>(obj: lodash.Dictionary<T_225> | lodash.NumericDictionary<T_225> | null | undefined): lodash.Dictionary<T_225>;
543
- mapValues<T_226 extends object>(obj: T_226): T_226;
544
- mapValues<T_227 extends object>(obj: T_227 | null | undefined): Partial<T_227>;
535
+ mapValues<T_222>(obj: lodash.Dictionary<T_222> | lodash.NumericDictionary<T_222> | null | undefined): lodash.Dictionary<T_222>;
536
+ mapValues<T_223 extends object>(obj: T_223): T_223;
537
+ mapValues<T_224 extends object>(obj: T_224 | null | undefined): Partial<T_224>;
545
538
  merge<TObject_47, TSource_7>(object: TObject_47, source: TSource_7): TObject_47 & TSource_7;
546
539
  merge<TObject_48, TSource1_21, TSource2_21>(object: TObject_48, source1: TSource1_21, source2: TSource2_21): TObject_48 & TSource1_21 & TSource2_21;
547
540
  merge<TObject_49, TSource1_22, TSource2_22, TSource3_14>(object: TObject_49, source1: TSource1_22, source2: TSource2_22, source3: TSource3_14): TObject_49 & TSource1_22 & TSource2_22 & TSource3_14;
@@ -552,54 +545,54 @@ export declare const vendorMap: {
552
545
  mergeWith<TObject_53, TSource1_25, TSource2_25, TSource3_16>(object: TObject_53, source1: TSource1_25, source2: TSource2_25, source3: TSource3_16, customizer: (value: any, srcValue: any, key: string, object: any, source: any) => any): TObject_53 & TSource1_25 & TSource2_25 & TSource3_16;
553
546
  mergeWith<TObject_54, TSource1_26, TSource2_26, TSource3_17, TSource4_8>(object: TObject_54, source1: TSource1_26, source2: TSource2_26, source3: TSource3_17, source4: TSource4_8, customizer: (value: any, srcValue: any, key: string, object: any, source: any) => any): TObject_54 & TSource1_26 & TSource2_26 & TSource3_17 & TSource4_8;
554
547
  mergeWith(object: any, ...otherArgs: any[]): any;
555
- omit<T_228 extends object, K_1 extends lodash.PropertyName[]>(object: T_228 | null | undefined, ...paths: K_1): Pick<T_228, Exclude<keyof T_228, K_1[number]>>;
556
- omit<T_229 extends object, K_2 extends keyof T_229>(object: T_229 | null | undefined, ...paths: lodash.Many<K_2>[]): lodash.Omit<T_229, K_2>;
557
- omit<T_230 extends object>(object: T_230 | null | undefined, ...paths: lodash.Many<lodash.PropertyName>[]): Partial<T_230>;
558
- omitBy<T_231>(object: lodash.Dictionary<T_231> | null | undefined, predicate?: lodash.ValueKeyIteratee<T_231> | undefined): lodash.Dictionary<T_231>;
559
- omitBy<T_232>(object: lodash.NumericDictionary<T_232> | null | undefined, predicate?: lodash.ValueKeyIteratee<T_232> | undefined): lodash.NumericDictionary<T_232>;
560
- omitBy<T_233 extends object>(object: T_233 | null | undefined, predicate: lodash.ValueKeyIteratee<T_233[keyof T_233]>): Partial<T_233>;
561
- pick<T_234 extends object, U_4 extends keyof T_234>(object: T_234, ...props: lodash.Many<U_4>[]): Pick<T_234, U_4>;
562
- pick<T_235>(object: T_235 | null | undefined, ...props: lodash.PropertyPath[]): Partial<T_235>;
563
- pickBy<T_236, S_6 extends T_236>(object: lodash.Dictionary<T_236> | null | undefined, predicate: lodash.ValueKeyIterateeTypeGuard<T_236, S_6>): lodash.Dictionary<S_6>;
564
- pickBy<T_237, S_7 extends T_237>(object: lodash.NumericDictionary<T_237> | null | undefined, predicate: lodash.ValueKeyIterateeTypeGuard<T_237, S_7>): lodash.NumericDictionary<S_7>;
565
- pickBy<T_238>(object: lodash.Dictionary<T_238> | null | undefined, predicate?: lodash.ValueKeyIteratee<T_238> | undefined): lodash.Dictionary<T_238>;
566
- pickBy<T_239>(object: lodash.NumericDictionary<T_239> | null | undefined, predicate?: lodash.ValueKeyIteratee<T_239> | undefined): lodash.NumericDictionary<T_239>;
567
- pickBy<T_240 extends object>(object: T_240 | null | undefined, predicate?: lodash.ValueKeyIteratee<T_240[keyof T_240]> | undefined): Partial<T_240>;
548
+ omit<T_225 extends object, K_1 extends lodash.PropertyName[]>(object: T_225 | null | undefined, ...paths: K_1): Pick<T_225, Exclude<keyof T_225, K_1[number]>>;
549
+ omit<T_226 extends object, K_2 extends keyof T_226>(object: T_226 | null | undefined, ...paths: lodash.Many<K_2>[]): lodash.Omit<T_226, K_2>;
550
+ omit<T_227 extends object>(object: T_227 | null | undefined, ...paths: lodash.Many<lodash.PropertyName>[]): Partial<T_227>;
551
+ omitBy<T_228>(object: lodash.Dictionary<T_228> | null | undefined, predicate?: lodash.ValueKeyIteratee<T_228> | undefined): lodash.Dictionary<T_228>;
552
+ omitBy<T_229>(object: lodash.NumericDictionary<T_229> | null | undefined, predicate?: lodash.ValueKeyIteratee<T_229> | undefined): lodash.NumericDictionary<T_229>;
553
+ omitBy<T_230 extends object>(object: T_230 | null | undefined, predicate: lodash.ValueKeyIteratee<T_230[keyof T_230]>): Partial<T_230>;
554
+ pick<T_231 extends object, U_4 extends keyof T_231>(object: T_231, ...props: lodash.Many<U_4>[]): Pick<T_231, U_4>;
555
+ pick<T_232>(object: T_232 | null | undefined, ...props: lodash.PropertyPath[]): Partial<T_232>;
556
+ pickBy<T_233, S_6 extends T_233>(object: lodash.Dictionary<T_233> | null | undefined, predicate: lodash.ValueKeyIterateeTypeGuard<T_233, S_6>): lodash.Dictionary<S_6>;
557
+ pickBy<T_234, S_7 extends T_234>(object: lodash.NumericDictionary<T_234> | null | undefined, predicate: lodash.ValueKeyIterateeTypeGuard<T_234, S_7>): lodash.NumericDictionary<S_7>;
558
+ pickBy<T_235>(object: lodash.Dictionary<T_235> | null | undefined, predicate?: lodash.ValueKeyIteratee<T_235> | undefined): lodash.Dictionary<T_235>;
559
+ pickBy<T_236>(object: lodash.NumericDictionary<T_236> | null | undefined, predicate?: lodash.ValueKeyIteratee<T_236> | undefined): lodash.NumericDictionary<T_236>;
560
+ pickBy<T_237 extends object>(object: T_237 | null | undefined, predicate?: lodash.ValueKeyIteratee<T_237[keyof T_237]> | undefined): Partial<T_237>;
568
561
  result<TResult_35>(object: any, path: lodash.PropertyPath, defaultValue?: TResult_35 | ((...args: any[]) => TResult_35) | undefined): TResult_35;
569
- set<T_241 extends object>(object: T_241, path: lodash.PropertyPath, value: any): T_241;
562
+ set<T_238 extends object>(object: T_238, path: lodash.PropertyPath, value: any): T_238;
570
563
  set<TResult_36>(object: object, path: lodash.PropertyPath, value: any): TResult_36;
571
- setWith<T_242 extends object>(object: T_242, path: lodash.PropertyPath, value: any, customizer?: lodash.SetWithCustomizer<T_242> | undefined): T_242;
572
- setWith<T_243 extends object, TResult_37>(object: T_243, path: lodash.PropertyPath, value: any, customizer?: lodash.SetWithCustomizer<T_243> | undefined): TResult_37;
573
- toPairs<T_244>(object?: lodash.Dictionary<T_244> | lodash.NumericDictionary<T_244> | undefined): [string, T_244][];
564
+ setWith<T_239 extends object>(object: T_239, path: lodash.PropertyPath, value: any, customizer?: lodash.SetWithCustomizer<T_239> | undefined): T_239;
565
+ setWith<T_240 extends object, TResult_37>(object: T_240, path: lodash.PropertyPath, value: any, customizer?: lodash.SetWithCustomizer<T_240> | undefined): TResult_37;
566
+ toPairs<T_241>(object?: lodash.Dictionary<T_241> | lodash.NumericDictionary<T_241> | undefined): [string, T_241][];
574
567
  toPairs(object?: object | undefined): [string, any][];
575
- toPairsIn<T_245>(object?: lodash.Dictionary<T_245> | lodash.NumericDictionary<T_245> | undefined): [string, T_245][];
568
+ toPairsIn<T_242>(object?: lodash.Dictionary<T_242> | lodash.NumericDictionary<T_242> | undefined): [string, T_242][];
576
569
  toPairsIn(object?: object | undefined): [string, any][];
577
- transform<T_246, TResult_38>(object: readonly T_246[], iteratee: lodash.MemoVoidArrayIterator<T_246, TResult_38>, accumulator?: TResult_38 | undefined): TResult_38;
578
- transform<T_247, TResult_39>(object: lodash.Dictionary<T_247>, iteratee: lodash.MemoVoidDictionaryIterator<T_247, string, TResult_39>, accumulator?: TResult_39 | undefined): TResult_39;
579
- transform<T_248 extends object, TResult_40>(object: T_248, iteratee: lodash.MemoVoidDictionaryIterator<T_248[keyof T_248], keyof T_248, TResult_40>, accumulator?: TResult_40 | undefined): TResult_40;
570
+ transform<T_243, TResult_38>(object: readonly T_243[], iteratee: lodash.MemoVoidArrayIterator<T_243, TResult_38>, accumulator?: TResult_38 | undefined): TResult_38;
571
+ transform<T_244, TResult_39>(object: lodash.Dictionary<T_244>, iteratee: lodash.MemoVoidDictionaryIterator<T_244, string, TResult_39>, accumulator?: TResult_39 | undefined): TResult_39;
572
+ transform<T_245 extends object, TResult_40>(object: T_245, iteratee: lodash.MemoVoidDictionaryIterator<T_245[keyof T_245], keyof T_245, TResult_40>, accumulator?: TResult_40 | undefined): TResult_40;
580
573
  transform(object: any[]): any[];
581
574
  transform(object: object): lodash.Dictionary<any>;
582
575
  unset(object: any, path: lodash.PropertyPath): boolean;
583
576
  update(object: object, path: lodash.PropertyPath, updater: (value: any) => any): any;
584
- updateWith<T_249 extends object>(object: T_249, path: lodash.PropertyPath, updater: (oldValue: any) => any, customizer?: lodash.SetWithCustomizer<T_249> | undefined): T_249;
585
- updateWith<T_250 extends object, TResult_41>(object: T_250, path: lodash.PropertyPath, updater: (oldValue: any) => any, customizer?: lodash.SetWithCustomizer<T_250> | undefined): TResult_41;
586
- values<T_251>(object: lodash.Dictionary<T_251> | lodash.NumericDictionary<T_251> | lodash.List<T_251> | null | undefined): T_251[];
587
- values<T_252 extends object>(object: T_252 | null | undefined): T_252[keyof T_252][];
577
+ updateWith<T_246 extends object>(object: T_246, path: lodash.PropertyPath, updater: (oldValue: any) => any, customizer?: lodash.SetWithCustomizer<T_246> | undefined): T_246;
578
+ updateWith<T_247 extends object, TResult_41>(object: T_247, path: lodash.PropertyPath, updater: (oldValue: any) => any, customizer?: lodash.SetWithCustomizer<T_247> | undefined): TResult_41;
579
+ values<T_248>(object: lodash.Dictionary<T_248> | lodash.NumericDictionary<T_248> | lodash.List<T_248> | null | undefined): T_248[];
580
+ values<T_249 extends object>(object: T_249 | null | undefined): T_249[keyof T_249][];
588
581
  values(object: any): any[];
589
- valuesIn<T_253>(object: lodash.Dictionary<T_253> | lodash.NumericDictionary<T_253> | lodash.List<T_253> | null | undefined): T_253[];
590
- valuesIn<T_254 extends object>(object: T_254 | null | undefined): T_254[keyof T_254][];
582
+ valuesIn<T_250>(object: lodash.Dictionary<T_250> | lodash.NumericDictionary<T_250> | lodash.List<T_250> | null | undefined): T_250[];
583
+ valuesIn<T_251 extends object>(object: T_251 | null | undefined): T_251[keyof T_251][];
591
584
  chain<TrapAny extends {
592
585
  __lodashAnyHack: any;
593
586
  }>(value: TrapAny): lodash.CollectionChain<any> & lodash.FunctionChain<any> & lodash.ObjectChain<any> & lodash.PrimitiveChain<any> & lodash.StringChain;
594
- chain<T_255 extends null | undefined>(value: T_255): lodash.PrimitiveChain<T_255>;
587
+ chain<T_252 extends null | undefined>(value: T_252): lodash.PrimitiveChain<T_252>;
595
588
  chain(value: string): lodash.StringChain;
596
589
  chain(value: string | null | undefined): lodash.StringNullableChain;
597
- chain<T_256 extends (...args: any[]) => any>(value: T_256): lodash.FunctionChain<T_256>;
598
- chain<T_257 = any>(value: lodash.List<T_257> | null | undefined): lodash.CollectionChain<T_257>;
599
- chain<T_258 extends object>(value: T_258 | null | undefined): lodash.ObjectChain<T_258>;
600
- chain<T_259>(value: T_259): lodash.PrimitiveChain<T_259>;
601
- tap<T_260>(value: T_260, interceptor: (value: T_260) => void): T_260;
602
- thru<T_261, TResult_42>(value: T_261, interceptor: (value: T_261) => TResult_42): TResult_42;
590
+ chain<T_253 extends (...args: any[]) => any>(value: T_253): lodash.FunctionChain<T_253>;
591
+ chain<T_254 = any>(value: lodash.List<T_254> | null | undefined): lodash.CollectionChain<T_254>;
592
+ chain<T_255 extends object>(value: T_255 | null | undefined): lodash.ObjectChain<T_255>;
593
+ chain<T_256>(value: T_256): lodash.PrimitiveChain<T_256>;
594
+ tap<T_257>(value: T_257, interceptor: (value: T_257) => void): T_257;
595
+ thru<T_258, TResult_42>(value: T_258, interceptor: (value: T_258) => TResult_42): TResult_42;
603
596
  camelCase(string?: string | undefined): string;
604
597
  capitalize(string?: string | undefined): string;
605
598
  deburr(string?: string | undefined): string;
@@ -637,13 +630,12 @@ export declare const vendorMap: {
637
630
  words(string?: string | undefined, pattern?: string | RegExp | undefined): string[];
638
631
  words(string: string, index: string | number, guard: object): string[];
639
632
  attempt<TResult_43>(func: (...args: any[]) => TResult_43, ...args: any[]): Error | TResult_43;
640
- bindAll<T_262>(object: T_262, ...methodNames: lodash.Many<string>[]): T_262;
641
- cond<R>(pairs: lodash.CondPairNullary<R>[]): () => R;
642
- cond<T_263, R_1>(pairs: lodash.CondPairUnary<T_263, R_1>[]): (Target: T_263) => R_1;
643
- conforms<T_264>(source: lodash.ConformsPredicateObject<T_264>): (value: T_264) => boolean;
644
- constant<T_265>(value: T_265): () => T_265;
645
- defaultTo<T_266>(value: T_266 | null | undefined, defaultValue: T_266): T_266;
646
- defaultTo<T_267, TDefault_6>(value: T_267 | null | undefined, defaultValue: TDefault_6): T_267 | TDefault_6;
633
+ bindAll<T_259>(object: T_259, ...methodNames: lodash.Many<string>[]): T_259;
634
+ cond<T_260, R>(pairs: lodash.CondPair<T_260, R>[]): (Target: T_260) => R;
635
+ conforms<T_261>(source: lodash.ConformsPredicateObject<T_261>): (value: T_261) => boolean;
636
+ constant<T_262>(value: T_262): () => T_262;
637
+ defaultTo<T_263>(value: T_263 | null | undefined, defaultValue: T_263): T_263;
638
+ defaultTo<T_264, TDefault_6>(value: T_264 | null | undefined, defaultValue: TDefault_6): T_264 | TDefault_6;
647
639
  flow<A extends any[], R1, R2, R3, R4, R5, R6, R7>(f1: (...args: A) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): (...args: A) => R7;
648
640
  flow<A_1 extends any[], R1_1, R2_1, R3_1, R4_1, R5_1, R6_1, R7_1>(f1: (...args: A_1) => R1_1, f2: (a: R1_1) => R2_1, f3: (a: R2_1) => R3_1, f4: (a: R3_1) => R4_1, f5: (a: R4_1) => R5_1, f6: (a: R5_1) => R6_1, f7: (a: R6_1) => R7_1, ...func: lodash.Many<(a: any) => any>[]): (...args: A_1) => any;
649
641
  flow<A_2 extends any[], R1_2, R2_2, R3_2, R4_2, R5_2, R6_2>(f1: (...args: A_2) => R1_2, f2: (a: R1_2) => R2_2, f3: (a: R2_2) => R3_2, f4: (a: R3_2) => R4_2, f5: (a: R4_2) => R5_2, f6: (a: R5_2) => R6_2): (...args: A_2) => R6_2;
@@ -659,14 +651,14 @@ export declare const vendorMap: {
659
651
  flowRight<A_11 extends any[], R1_11, R2_11, R3_10>(f3: (a: R2_11) => R3_10, f2: (a: R1_11) => R2_11, f1: (...args: A_11) => R1_11): (...args: A_11) => R3_10;
660
652
  flowRight<A_12 extends any[], R1_12, R2_12>(f2: (a: R1_12) => R2_12, f1: (...args: A_12) => R1_12): (...args: A_12) => R2_12;
661
653
  flowRight(...func: lodash.Many<(...args: any[]) => any>[]): (...args: any[]) => any;
662
- identity<T_268>(value: T_268): T_268;
654
+ identity<T_265>(value: T_265): T_265;
663
655
  identity(): undefined;
664
656
  iteratee<TFunction extends (...args: any[]) => any>(func: TFunction): TFunction;
665
657
  iteratee(func: string | number | symbol | object): (...args: any[]) => any;
666
- matches<T_269>(source: T_269): (value: any) => boolean;
667
- matches<T_270, V>(source: T_270): (value: V) => boolean;
668
- matchesProperty<T_271>(path: lodash.PropertyPath, srcValue: T_271): (value: any) => boolean;
669
- matchesProperty<T_272, V_1>(path: lodash.PropertyPath, srcValue: T_272): (value: V_1) => boolean;
658
+ matches<T_266>(source: T_266): (value: any) => boolean;
659
+ matches<T_267, V>(source: T_267): (value: V) => boolean;
660
+ matchesProperty<T_268>(path: lodash.PropertyPath, srcValue: T_268): (value: any) => boolean;
661
+ matchesProperty<T_269, V_1>(path: lodash.PropertyPath, srcValue: T_269): (value: V_1) => boolean;
670
662
  method(path: lodash.PropertyPath, ...args: any[]): (object: any) => any;
671
663
  methodOf(object: object, ...args: any[]): (path: lodash.PropertyPath) => any;
672
664
  mixin<TObject_55>(object: TObject_55, source: lodash.Dictionary<(...args: any[]) => any>, options?: lodash.MixinOptions | undefined): TObject_55;
@@ -675,12 +667,12 @@ export declare const vendorMap: {
675
667
  noop(...args: any[]): void;
676
668
  nthArg(n?: number | undefined): (...args: any[]) => any;
677
669
  over<TResult_45>(...iteratees: lodash.Many<(...args: any[]) => TResult_45>[]): (...args: any[]) => TResult_45[];
678
- overEvery<T_273, Result1 extends T_273, Result2 extends T_273>(predicates_0: (arg: T_273) => arg is Result1, predicates_1: (arg: T_273) => arg is Result2): (arg: T_273) => arg is Result1 & Result2;
679
- overEvery<T_274>(...predicates: lodash.Many<(...args: T_274[]) => boolean>[]): (...args: T_274[]) => boolean;
680
- overSome<T_275, Result1_1 extends T_275, Result2_1 extends T_275>(predicates_0: (arg: T_275) => arg is Result1_1, predicates_1: (arg: T_275) => arg is Result2_1): (arg: T_275) => arg is Result1_1 | Result2_1;
681
- overSome<T_276>(...predicates: lodash.Many<(...args: T_276[]) => boolean>[]): (...args: T_276[]) => boolean;
670
+ overEvery<T_270, Result1 extends T_270, Result2 extends T_270>(predicates_0: (arg: T_270) => arg is Result1, predicates_1: (arg: T_270) => arg is Result2): (arg: T_270) => arg is Result1 & Result2;
671
+ overEvery<T_271>(...predicates: lodash.Many<(...args: T_271[]) => boolean>[]): (...args: T_271[]) => boolean;
672
+ overSome<T_272, Result1_1 extends T_272, Result2_1 extends T_272>(predicates_0: (arg: T_272) => arg is Result1_1, predicates_1: (arg: T_272) => arg is Result2_1): (arg: T_272) => arg is Result1_1 | Result2_1;
673
+ overSome<T_273>(...predicates: lodash.Many<(...args: T_273[]) => boolean>[]): (...args: T_273[]) => boolean;
682
674
  property<TObj, TResult_46>(path: lodash.PropertyPath): (obj: TObj) => TResult_46;
683
- propertyOf<T_277 extends {}>(object: T_277): (path: lodash.PropertyPath) => any;
675
+ propertyOf<T_274 extends {}>(object: T_274): (path: lodash.PropertyPath) => any;
684
676
  range(start: number, end?: number | undefined, step?: number | undefined): number[];
685
677
  range(end: number, index: string | number, guard: object): number[];
686
678
  rangeRight(start: number, end?: number | undefined, step?: number | undefined): number[];
@@ -1,5 +1,5 @@
1
1
  import { ConfigurationApiService } from '@veloce/api';
2
- import { ConfigurationContext, LineItem, PricePlanCharge, RuntimeModel } from '@veloce/core';
2
+ import { Charge, ConfigurationContext, LineItem, RuntimeModel } from '@veloce/core';
3
3
  import { Dictionary } from 'lodash';
4
4
  import { MessageService } from 'primeng/api';
5
5
  import { DialogService } from 'primeng/dynamicdialog';
@@ -31,8 +31,8 @@ export declare class ConfigurationService {
31
31
  getRuntimeContext(): RuntimeContext | undefined;
32
32
  get contextSnapshot(): ConfigurationContext;
33
33
  get context$(): Observable<ConfigurationContext>;
34
- get charges$(): Observable<Dictionary<PricePlanCharge>>;
35
- get chargesSnapshot(): Dictionary<PricePlanCharge>;
34
+ get charges$(): Observable<Dictionary<Charge>>;
35
+ get chargesSnapshot(): Dictionary<Charge>;
36
36
  configure(): Observable<LineItem>;
37
37
  configureExternal$(productId: string, qty?: number): Observable<LineItem>;
38
38
  private createRequest;
@@ -1,5 +1,5 @@
1
1
  import { ProceduresApiService } from '@veloce/api';
2
- import { ConfigurationContext, LineItem, PricePlanCharge, QuoteDraft } from '@veloce/core';
2
+ import { Charge, ConfigurationContext, LineItem, QuoteDraft } from '@veloce/core';
3
3
  import { Dictionary } from 'lodash';
4
4
  import { Observable } from 'rxjs';
5
5
  import { ContextService, QuoteDraftService } from '../../../services';
@@ -26,8 +26,8 @@ export declare class FlowConfigurationService {
26
26
  addToCart$(productId: string, qty?: number): Observable<QuoteDraft | null>;
27
27
  get(): Observable<LineItem[]>;
28
28
  getSnapshot(): LineItem[];
29
- get charges$(): Observable<Dictionary<PricePlanCharge>>;
30
- get chargesSnapshot(): Dictionary<PricePlanCharge>;
29
+ get charges$(): Observable<Dictionary<Charge>>;
30
+ get chargesSnapshot(): Dictionary<Charge>;
31
31
  get contextSnapshot(): ConfigurationContext;
32
32
  get context$(): Observable<ConfigurationContext>;
33
33
  private handleErrorAndBounceBack;
@@ -1,5 +1,5 @@
1
1
  export declare type FlowUpdateDataType = 'LINEITEM' | 'CHARGE' | 'GROUP_CHARGE';
2
- export declare type FlowUpdateAttributeType = 'QTY' | 'EFFECTIVE_START_DATE' | 'END_DATE' | 'PRICE_ADJUSTMENT';
2
+ export declare type FlowUpdateAttributeType = 'QTY' | 'EFFECTIVE_START_DATE' | 'END_DATE' | 'PRICE_ADJUSTMENT' | 'LIST_PRICE_ADJUSTMENT';
3
3
  export interface FlowUpdateParams {
4
4
  id: string;
5
5
  dataType: FlowUpdateDataType;
@@ -10,9 +10,11 @@ export declare class QuoteDraftService {
10
10
  private priceApiService;
11
11
  private quoteSubj$;
12
12
  private resetSubj$;
13
- private isInitialized$;
13
+ private isInitializedSubj$;
14
14
  get isInitialized(): boolean;
15
15
  set isInitialized(value: boolean);
16
+ get hasAssets$(): Observable<boolean>;
17
+ get hasAssets(): boolean;
16
18
  allPriceLists: PriceList[];
17
19
  assetPriceLists: PriceList[];
18
20
  hasUnsavedChanges: boolean;
@@ -161,4 +161,4 @@ ConfigurationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0",
161
161
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ConfigurationService, decorators: [{
162
162
  type: Injectable
163
163
  }], ctorParameters: function () { return [{ type: i1.QuoteDraftService }, { type: i2.ConfigurationRuntimeService }, { type: i1.ContextService }, { type: i3.ConfigurationApiService }, { type: i4.MessageService }, { type: i5.DialogService }]; } });
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY29yZS9tb2R1bGVzL2NvbmZpZ3VyYXRpb24vc2VydmljZXMvY29uZmlndXJhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RFLE9BQU8sRUFFTCxpQkFBaUIsR0FNbEIsTUFBTSxjQUFjLENBQUM7QUFJdEIsT0FBTyxFQUFFLGVBQWUsRUFBYyxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxGLE9BQU8sRUFBK0IsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFlBQVksQ0FBQzs7Ozs7OztBQU1oRCxNQUFNLE9BQU8sb0JBQW9CO0lBUy9CLFlBQ1UsaUJBQW9DLEVBQ3BDLGNBQTJDLEVBQzNDLGNBQThCLEVBQzlCLHVCQUFnRCxFQUNoRCxjQUE4QixFQUM5QixhQUE0QjtRQUw1QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLG1CQUFjLEdBQWQsY0FBYyxDQUE2QjtRQUMzQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQUNoRCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsa0JBQWEsR0FBYixhQUFhLENBQWU7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IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25BcGlTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZS9hcGknO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uQ29tcG9uZW50LCBUb2FzdFR5cGUgfSBmcm9tICdAdmVsb2NlL2NvbXBvbmVudHMnO1xuaW1wb3J0IHtcbiAgQ29uZmlndXJhdGlvbkNvbnRleHQsXG4gIENvbmZpZ3VyYXRpb25Nb2RlLFxuICBDb25maWd1cmF0aW9uUmVxdWVzdCxcbiAgTGluZUl0ZW0sXG4gIFByaWNlUGxhbkNoYXJnZSxcbiAgUnVudGltZU1vZGVsLFxuICBWbFdpbmRvdyxcbn0gZnJvbSAnQHZlbG9jZS9jb3JlJztcbmltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgc2hhcmVSZXBsYXksIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbmFsaXplLCBmaXJzdCwgbWFwLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbnRleHRTZXJ2aWNlLCBRdW90ZURyYWZ0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IFF1b3RlU3RhdGVzLCBSdW50aW1lQ29udGV4dCwgUnVudGltZVN0ZXAgfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBMaW5lSXRlbVdvcmtlciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IGdldERlZmF1bHRMaW5lSXRlbSB9IGZyb20gJy4uL2hlbHBlcnMnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlIH0gZnJvbSAnLi9jb25maWd1cmF0aW9uLXJ1bnRpbWUuc2VydmljZSc7XG5cbmRlY2xhcmUgY29uc3Qgd2luZG93OiBWbFdpbmRvdztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRpb25TZXJ2aWNlIHtcbiAgcHJpdmF0ZSBtb2RlID0gQ29uZmlndXJhdGlvbk1vZGUuU0VBUkNIO1xuICBwcml2YXRlIHN0YXRlczogUXVvdGVTdGF0ZXMgPSB7fTtcblxuICBwcml2YXRlIGxpbmVJdGVtID0gbmV3IEJlaGF2aW9yU3ViamVjdDxMaW5lSXRlbSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSBjaGFyZ2VzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEaWN0aW9uYXJ5PFByaWNlUGxhbkNoYXJnZT4+KHt9KTtcblxuICBwdWJsaWMgaGFzVW5zYXZlZENoYW5nZXMgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHF1b3RlRHJhZnRTZXJ2aWNlOiBRdW90ZURyYWZ0U2VydmljZSxcbiAgICBwcml2YXRlIHJ1bnRpbWVTZXJ2aWNlOiBDb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uQXBpU2VydmljZTogQ29uZmlndXJhdGlvbkFwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlLFxuICApIHt9XG5cbiAgcHVibGljIHJlc2V0KCkge1xuICAgIHRoaXMuaGFzVW5zYXZlZENoYW5nZXMgPSBmYWxzZTtcbiAgICB0aGlzLnJ1bnRpbWVTZXJ2aWNlLnJlc2V0KCk7XG5cbiAgICB0aGlzLnN0YXRlcyA9IHt9O1xuICAgIHRoaXMubGluZUl0ZW0ubmV4dCh1bmRlZmluZWQpO1xuICAgIHRoaXMuY2hhcmdlcy5uZXh0KHt9KTtcbiAgfVxuXG4gIHB1YmxpYyBwYXRjaCQobGluZUl0ZW06IExpbmVJdGVtKTogT2JzZXJ2YWJsZTxMaW5lSXRlbT4ge1xuICAgIGlmICghdGhpcy5saW5lSXRlbS52YWx1ZSkge1xuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKGBTb3VyY2UgTGluZUl0ZW0gbm90IGZvdW5kYCkpO1xuICAgIH1cblxuICAgIHRoaXMuc3RhdGVzLmNvbmZpZ3VyYWJsZVJhbXAgPSBuZXcgTGluZUl0ZW1Xb3JrZXIodGhpcy5saW5lSXRlbS52YWx1ZSkucmVwbGFjZShsaW5lSXRlbSkubGk7XG4gICAgdGhpcy5zdGF0ZXMuYXNzZXQgPSB0aGlzLnN0YXRlcy5jb25maWd1cmFibGVSYW1wXG4gICAgICA/IHRoaXMucnVudGltZVNlcnZpY2UuZ2V0QXNzZXQodGhpcy5zdGF0ZXMuY29uZmlndXJhYmxlUmFtcClcbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIHRoaXMuY29uZmlndXJlKCkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcblxuICAgICAgICBpZiAoIXRoaXMucnVudGltZVNlcnZpY2UudWlEZWZpbml0aW9uUHJvcGVydGllcy5zdXBwcmVzc1RvYXN0TWVzc2FnZXMpIHtcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnZXJyb3InLCBzdW1tYXJ5OiBlcnJvciB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGJvdW5jZSBiYWNrIGlmIGNvbmZpZ3VyYXRpb24gY2FsbCBoYXMgZmFpbGVkXG4gICAgICAgIHRoaXMubGluZUl0ZW0ubmV4dCh0aGlzLmxpbmVJdGVtLnZhbHVlID8geyAuLi50aGlzLmxpbmVJdGVtLnZhbHVlIH0gOiB1bmRlZmluZWQpO1xuXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcbiAgICAgIH0pLFxuICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmhhc1Vuc2F2ZWRDaGFuZ2VzKSB7XG4gICAgICAgICAgdGhpcy5oYXNVbnNhdmVkQ2hhbmdlcyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgcGF0Y2gobGluZUl0ZW06IExpbmVJdGVtKTogdm9pZCB7XG4gICAgdGhpcy5wYXRjaCQobGluZUl0ZW0pLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZUN1cnJlbnRTdGF0ZXModXBkYXRlOiBQYXJ0aWFsPFF1b3RlU3RhdGVzPikge1xuICAgIHRoaXMuc3RhdGVzID0ge1xuICAgICAgLi4udGhpcy5zdGF0ZXMsXG4gICAgICAuLi51cGRhdGUsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQoKTogT2JzZXJ2YWJsZTxMaW5lSXRlbSB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLmxpbmVJdGVtLmFzT2JzZXJ2YWJsZSgpLnBpcGUoc2hhcmVSZXBsYXkoKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U25hcHNob3QoKTogTGluZUl0ZW0gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmxpbmVJdGVtLnZhbHVlID8geyAuLi50aGlzLmxpbmVJdGVtLnZhbHVlIH0gOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0UnVudGltZU1vZGVsKCk6IFJ1bnRpbWVNb2RlbCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMucnVudGltZVNlcnZpY2UucnVudGltZU1vZGVsO1xuICB9XG5cbiAgcHVibGljIGdldFJ1bnRpbWVDb250ZXh0KCk6IFJ1bnRpbWVDb250ZXh0IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5ydW50aW1lU2VydmljZS5ydW50aW1lQ29udGV4dDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29udGV4dFNuYXBzaG90KCk6IENvbmZpZ3VyYXRpb25Db250ZXh0IHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbnRleHQkKCk6IE9ic2VydmFibGU8Q29uZmlndXJhdGlvbkNvbnRleHQ+IHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlJCgpO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGFyZ2VzJCgpOiBPYnNlcnZhYmxlPERpY3Rpb25hcnk8UHJpY2VQbGFuQ2hhcmdlPj4ge1xuICAgIHJldHVybiB0aGlzLmNoYXJnZXMuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoYXJnZXNTbmFwc2hvdCgpOiBEaWN0aW9uYXJ5PFByaWNlUGxhbkNoYXJnZT4ge1xuICAgIHJldHVybiB0aGlzLmNoYXJnZXMudmFsdWU7XG4gIH1cblxuICBwdWJsaWMgY29uZmlndXJlKCk6IE9ic2VydmFibGU8TGluZUl0ZW0+IHtcbiAgICBjb25zdCBydW50aW1lQ29udGV4dCA9IHRoaXMuZ2V0UnVudGltZUNvbnRleHQoKTtcbiAgICBjb25zdCBydW50aW1lTW9kZWwgPSB0aGlzLmdldFJ1bnRpbWVNb2RlbCgpO1xuICAgIGlmICghcnVudGltZUNvbnRleHQgfHwgIXJ1bnRpbWVNb2RlbCkge1xuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCdSdW50aW1lIGNvbnRleHQvbW9kZWwgbm90IGluaXRpYWxpemVkJykpO1xuICAgIH1cblxuICAgIGNvbnN0IHVpRGVmaW5pdGlvblByb3BlcnRpZXMgPSB7XG4gICAgICAuLi4ocnVudGltZUNvbnRleHQudWlEZWZpbml0aW9uPy5wcm9wZXJ0aWVzID8/IHt9KSxcbiAgICAgIC4uLih0aGlzLnJ1bnRpbWVTZXJ2aWNlLnVpRGVmaW5pdGlvblByb3BlcnRpZXMgPz8ge30pLFxuICAgIH07XG4gICAgY29uc3QgcXR5ID0gdGhpcy5ydW50aW1lU2VydmljZS5pbml0aWFsaXphdGlvblByb3BzPy5kZWZhdWx0UXR5O1xuICAgIGNvbnN0IGxpbmVJdGVtID0gdGhpcy5zdGF0ZXMuY29uZmlndXJhYmxlUmFtcCA/PyBnZXREZWZhdWx0TGluZUl0ZW0ocnVudGltZUNvbnRleHQsIHVpRGVmaW5pdGlvblByb3BlcnRpZXMsIHF0eSk7XG4gICAgY29uc3QgY29uZmlndXJhdGlvblJlcXVlc3QgPSB0aGlzLmNyZWF0ZVJlcXVlc3QobGluZUl0ZW0pO1xuXG4gICAgY29uc3QgbWFpblByaWNpbmdFbmFibGVkID0gcnVudGltZUNvbnRleHQucHJvcGVydGllcz8uUHJpY2luZ0VuYWJsZWQ7XG4gICAgY29uc3QgcHJpY2luZ0VuYWJsZWQgPSBtYWluUHJpY2luZ0VuYWJsZWQgPyBtYWluUHJpY2luZ0VuYWJsZWQgPT09ICd0cnVlJyA6IHVpRGVmaW5pdGlvblByb3BlcnRpZXMucHJpY2luZ0VuYWJsZWQ7XG5cbiAgICByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uQXBpU2VydmljZVxuICAgICAgLmNvbmZpZ3VyZUxpbmVJdGVtKHsgY29uZmlndXJhdGlvblJlcXVlc3QsIHJ1bnRpbWVNb2RlbCwgcHJpY2luZ0VuYWJsZWQgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHsgbGluZUl0ZW0sIGNvbnRleHQsIGNoYXJnZXMsIGRlbGV0ZWRMaW5lSXRlbXMgfSkgPT4ge1xuICAgICAgICAgIHRoaXMuY29udGV4dFNlcnZpY2UudXBkYXRlKGNvbnRleHQgPz8ge30pO1xuICAgICAgICAgIHRoaXMuY2hhcmdlcy5uZXh0KGNoYXJnZXMgPz8ge30pO1xuICAgICAgICAgIGlmIChkZWxldGVkTGluZUl0ZW1zPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd0luYWN0aXZlUHJvZHVjdHNDb25maXJtYXRpb24oKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGxpbmVJdGVtO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAobGluZUl0ZW0gPT4gbGluZUl0ZW0gJiYgdGhpcy5saW5lSXRlbS5uZXh0KGxpbmVJdGVtKSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT5cbiAgICAgICAgICB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcihlcnJvci5lcnJvcj8ubWVzc2FnZSB8fCBlcnJvci5tZXNzYWdlIHx8IEpTT04uc3RyaW5naWZ5KGVycm9yKSkpLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjb25maWd1cmVFeHRlcm5hbCQocHJvZHVjdElkOiBzdHJpbmcsIHF0eT86IG51bWJlcik6IE9ic2VydmFibGU8TGluZUl0ZW0+IHtcbiAgICB0aGlzLnVwZGF0ZUN1cnJlbnRTdGF0ZXMoe1xuICAgICAgY3VycmVudFN0YXRlOiB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLmN1cnJlbnRTdGF0ZSxcbiAgICB9KTtcblxuICAgIHJldHVybiB0aGlzLnJ1bnRpbWVTZXJ2aWNlLmluaXQoeyBwcm9kdWN0SWQsIGRlZmF1bHRRdHk6IHF0eSB9KS5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuY29uZmlndXJlKCkpLFxuICAgICAgZmlyc3QoKSxcbiAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiBUb2FzdFR5cGUuZXJyb3IsIHN1bW1hcnk6IGVycm9yIH0pO1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH0pLFxuICAgICAgZmluYWxpemUoKCkgPT4gdGhpcy5yZXNldCgpKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVSZXF1ZXN0KGxpbmVJdGVtOiBMaW5lSXRlbSk6IENvbmZpZ3VyYXRpb25SZXF1ZXN0IHtcbiAgICByZXR1cm4ge1xuICAgICAgbGluZUl0ZW0sXG4gICAgICBtb2RlOiB0aGlzLm1vZGUsXG4gICAgICBzdGVwOiAhdGhpcy5saW5lSXRlbS52YWx1ZSA/IFJ1bnRpbWVTdGVwLlNUQVJUIDogUnVudGltZVN0ZXAuVVBEQVRFLFxuICAgICAgYXR0cmlidXRlRG9tYWluTW9kZTogJ0FMTCcsXG4gICAgICBjb250ZXh0OiB0aGlzLmNvbnRleHRTZXJ2aWNlLnJlc29sdmUoKSxcbiAgICAgIGxpbmVJdGVtczogdGhpcy5zdGF0ZXMuY3VycmVudFN0YXRlIHx8IFtdLFxuICAgICAgYXNzZXQ6IHRoaXMuc3RhdGVzLmFzc2V0LFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHNob3dJbmFjdGl2ZVByb2R1Y3RzQ29uZmlybWF0aW9uKCkge1xuICAgIHRoaXMuZGlhbG9nU2VydmljZVxuICAgICAgLm9wZW4oQ29uZmlybWF0aW9uQ29tcG9uZW50LCB7XG4gICAgICAgIGRpc21pc3NhYmxlTWFzazogZmFsc2UsXG4gICAgICAgIGNsb3NlT25Fc2NhcGU6IGZhbHNlLFxuICAgICAgICBjbG9zYWJsZTogZmFsc2UsXG4gICAgICAgIHNob3dIZWFkZXI6IHRydWUsXG4gICAgICAgIGhlYWRlcjogYEluYWN0aXZlIFByb2R1Y3RzIGluIFF1b3RlYCxcbiAgICAgICAgd2lkdGg6ICc0NDBweCcsXG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICBjb25maXJtYXRpb25Db25maWc6IHtcbiAgICAgICAgICAgIHRpdGxlOiAnICcsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1RoaXMgcXVvdGUgY29udGFpbnMgaW5hY3RpdmUgcHJvZHVjdHMuIERvIHlvdSB3YW50IHRvIHJlbW92ZSB0aGVtPycsXG4gICAgICAgICAgICBzdWJtaXRCdG46ICdSZW1vdmUgcHJvZHVjdHMnLFxuICAgICAgICAgICAgY2FuY2VsQnRuOiAnQmFjayB0byBRdW90ZScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgICAub25DbG9zZS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgICAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlKCk7XG4gICAgICAgICAgd2luZG93WydWRUxPX0JBQ0tfRk4nXS5hcHBseShudWxsLCBbY29udGV4dC5oZWFkZXJJZF0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxufVxuIl19
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY29yZS9tb2R1bGVzL2NvbmZpZ3VyYXRpb24vc2VydmljZXMvY29uZmlndXJhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RFLE9BQU8sRUFHTCxpQkFBaUIsR0FLbEIsTUFBTSxjQUFjLENBQUM7QUFJdEIsT0FBTyxFQUFFLGVBQWUsRUFBYyxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxGLE9BQU8sRUFBK0IsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFlBQVksQ0FBQzs7Ozs7OztBQU1oRCxNQUFNLE9BQU8sb0JBQW9CO0lBUy9CLFlBQ1UsaUJBQW9DLEVBQ3BDLGNBQTJDLEVBQzNDLGNBQThCLEVBQzlCLHVCQUFnRCxFQUNoRCxjQUE4QixFQUM5QixhQUE0QjtRQUw1QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLG1CQUFjLEdBQWQsY0FBYyxDQUE2QjtRQUMzQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQUNoRCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsa0JBQWEsR0FBYixhQUFhLENBQWU7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IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25BcGlTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZS9hcGknO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uQ29tcG9uZW50LCBUb2FzdFR5cGUgfSBmcm9tICdAdmVsb2NlL2NvbXBvbmVudHMnO1xuaW1wb3J0IHtcbiAgQ2hhcmdlLFxuICBDb25maWd1cmF0aW9uQ29udGV4dCxcbiAgQ29uZmlndXJhdGlvbk1vZGUsXG4gIENvbmZpZ3VyYXRpb25SZXF1ZXN0LFxuICBMaW5lSXRlbSxcbiAgUnVudGltZU1vZGVsLFxuICBWbFdpbmRvdyxcbn0gZnJvbSAnQHZlbG9jZS9jb3JlJztcbmltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgc2hhcmVSZXBsYXksIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbmFsaXplLCBmaXJzdCwgbWFwLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbnRleHRTZXJ2aWNlLCBRdW90ZURyYWZ0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IFF1b3RlU3RhdGVzLCBSdW50aW1lQ29udGV4dCwgUnVudGltZVN0ZXAgfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBMaW5lSXRlbVdvcmtlciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IGdldERlZmF1bHRMaW5lSXRlbSB9IGZyb20gJy4uL2hlbHBlcnMnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlIH0gZnJvbSAnLi9jb25maWd1cmF0aW9uLXJ1bnRpbWUuc2VydmljZSc7XG5cbmRlY2xhcmUgY29uc3Qgd2luZG93OiBWbFdpbmRvdztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRpb25TZXJ2aWNlIHtcbiAgcHJpdmF0ZSBtb2RlID0gQ29uZmlndXJhdGlvbk1vZGUuU0VBUkNIO1xuICBwcml2YXRlIHN0YXRlczogUXVvdGVTdGF0ZXMgPSB7fTtcblxuICBwcml2YXRlIGxpbmVJdGVtID0gbmV3IEJlaGF2aW9yU3ViamVjdDxMaW5lSXRlbSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSBjaGFyZ2VzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEaWN0aW9uYXJ5PENoYXJnZT4+KHt9KTtcblxuICBwdWJsaWMgaGFzVW5zYXZlZENoYW5nZXMgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHF1b3RlRHJhZnRTZXJ2aWNlOiBRdW90ZURyYWZ0U2VydmljZSxcbiAgICBwcml2YXRlIHJ1bnRpbWVTZXJ2aWNlOiBDb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uQXBpU2VydmljZTogQ29uZmlndXJhdGlvbkFwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlLFxuICApIHt9XG5cbiAgcHVibGljIHJlc2V0KCkge1xuICAgIHRoaXMuaGFzVW5zYXZlZENoYW5nZXMgPSBmYWxzZTtcbiAgICB0aGlzLnJ1bnRpbWVTZXJ2aWNlLnJlc2V0KCk7XG5cbiAgICB0aGlzLnN0YXRlcyA9IHt9O1xuICAgIHRoaXMubGluZUl0ZW0ubmV4dCh1bmRlZmluZWQpO1xuICAgIHRoaXMuY2hhcmdlcy5uZXh0KHt9KTtcbiAgfVxuXG4gIHB1YmxpYyBwYXRjaCQobGluZUl0ZW06IExpbmVJdGVtKTogT2JzZXJ2YWJsZTxMaW5lSXRlbT4ge1xuICAgIGlmICghdGhpcy5saW5lSXRlbS52YWx1ZSkge1xuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKGBTb3VyY2UgTGluZUl0ZW0gbm90IGZvdW5kYCkpO1xuICAgIH1cblxuICAgIHRoaXMuc3RhdGVzLmNvbmZpZ3VyYWJsZVJhbXAgPSBuZXcgTGluZUl0ZW1Xb3JrZXIodGhpcy5saW5lSXRlbS52YWx1ZSkucmVwbGFjZShsaW5lSXRlbSkubGk7XG4gICAgdGhpcy5zdGF0ZXMuYXNzZXQgPSB0aGlzLnN0YXRlcy5jb25maWd1cmFibGVSYW1wXG4gICAgICA/IHRoaXMucnVudGltZVNlcnZpY2UuZ2V0QXNzZXQodGhpcy5zdGF0ZXMuY29uZmlndXJhYmxlUmFtcClcbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIHRoaXMuY29uZmlndXJlKCkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcblxuICAgICAgICBpZiAoIXRoaXMucnVudGltZVNlcnZpY2UudWlEZWZpbml0aW9uUHJvcGVydGllcy5zdXBwcmVzc1RvYXN0TWVzc2FnZXMpIHtcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnZXJyb3InLCBzdW1tYXJ5OiBlcnJvciB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGJvdW5jZSBiYWNrIGlmIGNvbmZpZ3VyYXRpb24gY2FsbCBoYXMgZmFpbGVkXG4gICAgICAgIHRoaXMubGluZUl0ZW0ubmV4dCh0aGlzLmxpbmVJdGVtLnZhbHVlID8geyAuLi50aGlzLmxpbmVJdGVtLnZhbHVlIH0gOiB1bmRlZmluZWQpO1xuXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcbiAgICAgIH0pLFxuICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmhhc1Vuc2F2ZWRDaGFuZ2VzKSB7XG4gICAgICAgICAgdGhpcy5oYXNVbnNhdmVkQ2hhbmdlcyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgcGF0Y2gobGluZUl0ZW06IExpbmVJdGVtKTogdm9pZCB7XG4gICAgdGhpcy5wYXRjaCQobGluZUl0ZW0pLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZUN1cnJlbnRTdGF0ZXModXBkYXRlOiBQYXJ0aWFsPFF1b3RlU3RhdGVzPikge1xuICAgIHRoaXMuc3RhdGVzID0ge1xuICAgICAgLi4udGhpcy5zdGF0ZXMsXG4gICAgICAuLi51cGRhdGUsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQoKTogT2JzZXJ2YWJsZTxMaW5lSXRlbSB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLmxpbmVJdGVtLmFzT2JzZXJ2YWJsZSgpLnBpcGUoc2hhcmVSZXBsYXkoKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U25hcHNob3QoKTogTGluZUl0ZW0gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmxpbmVJdGVtLnZhbHVlID8geyAuLi50aGlzLmxpbmVJdGVtLnZhbHVlIH0gOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0UnVudGltZU1vZGVsKCk6IFJ1bnRpbWVNb2RlbCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMucnVudGltZVNlcnZpY2UucnVudGltZU1vZGVsO1xuICB9XG5cbiAgcHVibGljIGdldFJ1bnRpbWVDb250ZXh0KCk6IFJ1bnRpbWVDb250ZXh0IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5ydW50aW1lU2VydmljZS5ydW50aW1lQ29udGV4dDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29udGV4dFNuYXBzaG90KCk6IENvbmZpZ3VyYXRpb25Db250ZXh0IHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbnRleHQkKCk6IE9ic2VydmFibGU8Q29uZmlndXJhdGlvbkNvbnRleHQ+IHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlJCgpO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGFyZ2VzJCgpOiBPYnNlcnZhYmxlPERpY3Rpb25hcnk8Q2hhcmdlPj4ge1xuICAgIHJldHVybiB0aGlzLmNoYXJnZXMuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoYXJnZXNTbmFwc2hvdCgpOiBEaWN0aW9uYXJ5PENoYXJnZT4ge1xuICAgIHJldHVybiB0aGlzLmNoYXJnZXMudmFsdWU7XG4gIH1cblxuICBwdWJsaWMgY29uZmlndXJlKCk6IE9ic2VydmFibGU8TGluZUl0ZW0+IHtcbiAgICBjb25zdCBydW50aW1lQ29udGV4dCA9IHRoaXMuZ2V0UnVudGltZUNvbnRleHQoKTtcbiAgICBjb25zdCBydW50aW1lTW9kZWwgPSB0aGlzLmdldFJ1bnRpbWVNb2RlbCgpO1xuICAgIGlmICghcnVudGltZUNvbnRleHQgfHwgIXJ1bnRpbWVNb2RlbCkge1xuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCdSdW50aW1lIGNvbnRleHQvbW9kZWwgbm90IGluaXRpYWxpemVkJykpO1xuICAgIH1cblxuICAgIGNvbnN0IHVpRGVmaW5pdGlvblByb3BlcnRpZXMgPSB7XG4gICAgICAuLi4ocnVudGltZUNvbnRleHQudWlEZWZpbml0aW9uPy5wcm9wZXJ0aWVzID8/IHt9KSxcbiAgICAgIC4uLih0aGlzLnJ1bnRpbWVTZXJ2aWNlLnVpRGVmaW5pdGlvblByb3BlcnRpZXMgPz8ge30pLFxuICAgIH07XG4gICAgY29uc3QgcXR5ID0gdGhpcy5ydW50aW1lU2VydmljZS5pbml0aWFsaXphdGlvblByb3BzPy5kZWZhdWx0UXR5O1xuICAgIGNvbnN0IGxpbmVJdGVtID0gdGhpcy5zdGF0ZXMuY29uZmlndXJhYmxlUmFtcCA/PyBnZXREZWZhdWx0TGluZUl0ZW0ocnVudGltZUNvbnRleHQsIHVpRGVmaW5pdGlvblByb3BlcnRpZXMsIHF0eSk7XG4gICAgY29uc3QgY29uZmlndXJhdGlvblJlcXVlc3QgPSB0aGlzLmNyZWF0ZVJlcXVlc3QobGluZUl0ZW0pO1xuXG4gICAgY29uc3QgbWFpblByaWNpbmdFbmFibGVkID0gcnVudGltZUNvbnRleHQucHJvcGVydGllcz8uUHJpY2luZ0VuYWJsZWQ7XG4gICAgY29uc3QgcHJpY2luZ0VuYWJsZWQgPSBtYWluUHJpY2luZ0VuYWJsZWQgPyBtYWluUHJpY2luZ0VuYWJsZWQgPT09ICd0cnVlJyA6IHVpRGVmaW5pdGlvblByb3BlcnRpZXMucHJpY2luZ0VuYWJsZWQ7XG5cbiAgICByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uQXBpU2VydmljZVxuICAgICAgLmNvbmZpZ3VyZUxpbmVJdGVtKHsgY29uZmlndXJhdGlvblJlcXVlc3QsIHJ1bnRpbWVNb2RlbCwgcHJpY2luZ0VuYWJsZWQgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHsgbGluZUl0ZW0sIGNvbnRleHQsIGNoYXJnZXMsIGRlbGV0ZWRMaW5lSXRlbXMgfSkgPT4ge1xuICAgICAgICAgIHRoaXMuY29udGV4dFNlcnZpY2UudXBkYXRlKGNvbnRleHQgPz8ge30pO1xuICAgICAgICAgIHRoaXMuY2hhcmdlcy5uZXh0KGNoYXJnZXMgPz8ge30pO1xuICAgICAgICAgIGlmIChkZWxldGVkTGluZUl0ZW1zPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd0luYWN0aXZlUHJvZHVjdHNDb25maXJtYXRpb24oKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGxpbmVJdGVtO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAobGluZUl0ZW0gPT4gbGluZUl0ZW0gJiYgdGhpcy5saW5lSXRlbS5uZXh0KGxpbmVJdGVtKSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT5cbiAgICAgICAgICB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcihlcnJvci5lcnJvcj8ubWVzc2FnZSB8fCBlcnJvci5tZXNzYWdlIHx8IEpTT04uc3RyaW5naWZ5KGVycm9yKSkpLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjb25maWd1cmVFeHRlcm5hbCQocHJvZHVjdElkOiBzdHJpbmcsIHF0eT86IG51bWJlcik6IE9ic2VydmFibGU8TGluZUl0ZW0+IHtcbiAgICB0aGlzLnVwZGF0ZUN1cnJlbnRTdGF0ZXMoe1xuICAgICAgY3VycmVudFN0YXRlOiB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLmN1cnJlbnRTdGF0ZSxcbiAgICB9KTtcblxuICAgIHJldHVybiB0aGlzLnJ1bnRpbWVTZXJ2aWNlLmluaXQoeyBwcm9kdWN0SWQsIGRlZmF1bHRRdHk6IHF0eSB9KS5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuY29uZmlndXJlKCkpLFxuICAgICAgZmlyc3QoKSxcbiAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiBUb2FzdFR5cGUuZXJyb3IsIHN1bW1hcnk6IGVycm9yIH0pO1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH0pLFxuICAgICAgZmluYWxpemUoKCkgPT4gdGhpcy5yZXNldCgpKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVSZXF1ZXN0KGxpbmVJdGVtOiBMaW5lSXRlbSk6IENvbmZpZ3VyYXRpb25SZXF1ZXN0IHtcbiAgICByZXR1cm4ge1xuICAgICAgbGluZUl0ZW0sXG4gICAgICBtb2RlOiB0aGlzLm1vZGUsXG4gICAgICBzdGVwOiAhdGhpcy5saW5lSXRlbS52YWx1ZSA/IFJ1bnRpbWVTdGVwLlNUQVJUIDogUnVudGltZVN0ZXAuVVBEQVRFLFxuICAgICAgYXR0cmlidXRlRG9tYWluTW9kZTogJ0FMTCcsXG4gICAgICBjb250ZXh0OiB0aGlzLmNvbnRleHRTZXJ2aWNlLnJlc29sdmUoKSxcbiAgICAgIGxpbmVJdGVtczogdGhpcy5zdGF0ZXMuY3VycmVudFN0YXRlIHx8IFtdLFxuICAgICAgYXNzZXQ6IHRoaXMuc3RhdGVzLmFzc2V0LFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHNob3dJbmFjdGl2ZVByb2R1Y3RzQ29uZmlybWF0aW9uKCkge1xuICAgIHRoaXMuZGlhbG9nU2VydmljZVxuICAgICAgLm9wZW4oQ29uZmlybWF0aW9uQ29tcG9uZW50LCB7XG4gICAgICAgIGRpc21pc3NhYmxlTWFzazogZmFsc2UsXG4gICAgICAgIGNsb3NlT25Fc2NhcGU6IGZhbHNlLFxuICAgICAgICBjbG9zYWJsZTogZmFsc2UsXG4gICAgICAgIHNob3dIZWFkZXI6IHRydWUsXG4gICAgICAgIGhlYWRlcjogYEluYWN0aXZlIFByb2R1Y3RzIGluIFF1b3RlYCxcbiAgICAgICAgd2lkdGg6ICc0NDBweCcsXG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICBjb25maXJtYXRpb25Db25maWc6IHtcbiAgICAgICAgICAgIHRpdGxlOiAnICcsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1RoaXMgcXVvdGUgY29udGFpbnMgaW5hY3RpdmUgcHJvZHVjdHMuIERvIHlvdSB3YW50IHRvIHJlbW92ZSB0aGVtPycsXG4gICAgICAgICAgICBzdWJtaXRCdG46ICdSZW1vdmUgcHJvZHVjdHMnLFxuICAgICAgICAgICAgY2FuY2VsQnRuOiAnQmFjayB0byBRdW90ZScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgICAub25DbG9zZS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgICAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlKCk7XG4gICAgICAgICAgd2luZG93WydWRUxPX0JBQ0tfRk4nXS5hcHBseShudWxsLCBbY29udGV4dC5oZWFkZXJJZF0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxufVxuIl19