@veloceapps/sdk 3.1.13 → 3.1.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/veloce-sdk-core.umd.js +12 -13
- package/bundles/veloce-sdk-core.umd.js.map +1 -1
- package/cms/vendor-map.d.ts +116 -124
- package/core/modules/flow-configuration/services/flow-configuration.service.d.ts +7 -7
- package/esm2015/core/modules/flow-configuration/services/flow-configuration.service.js +13 -14
- package/fesm2015/veloce-sdk-core.js +12 -13
- package/fesm2015/veloce-sdk-core.js.map +1 -1
- package/package.json +1 -1
package/cms/vendor-map.d.ts
CHANGED
@@ -259,8 +259,8 @@ export declare const vendorMap: {
|
|
259
259
|
forEachRight<TString_1 extends string | null | undefined>(collection: TString_1, iteratee?: lodash.StringIterator<any> | undefined): TString_1;
|
260
260
|
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;
|
261
261
|
forEachRight<T_96 extends object>(collection: T_96 | null | undefined, iteratee?: lodash.ObjectIterator<T_96, any> | undefined): T_96 | null | undefined;
|
262
|
-
groupBy<T_120>(collection: lodash.List<T_120> | null | undefined, iteratee?: lodash.ValueIteratee<T_120> | undefined): lodash.Dictionary<T_120[]>;
|
263
|
-
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][]>;
|
262
|
+
groupBy<T_120>(collection: lodash.List<T_120> | null | undefined, iteratee?: lodash.ValueIteratee<T_120> | undefined): lodash.Dictionary<[T_120, ...T_120[]]>;
|
263
|
+
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][]]>;
|
264
264
|
includes<T_122>(collection: lodash.Dictionary<T_122> | lodash.NumericDictionary<T_122> | null | undefined, target: T_122, fromIndex?: number | undefined): boolean;
|
265
265
|
invokeMap(collection: object | null | undefined, methodName: string, ...args: any[]): any[];
|
266
266
|
invokeMap<TResult_13>(collection: object | null | undefined, method: (...args: any[]) => TResult_13, ...args: any[]): TResult_13[];
|
@@ -314,52 +314,51 @@ export declare const vendorMap: {
|
|
314
314
|
bindKey: lodash.FunctionBindKey;
|
315
315
|
curry: lodash.Curry;
|
316
316
|
curryRight: lodash.CurryRight;
|
317
|
-
debounce<T_163 extends (...args: any) => any>(func: T_163, wait
|
318
|
-
debounce<T_164 extends (...args: any) => any>(func: T_164, wait?: number | undefined, options?: lodash.DebounceSettings | undefined): lodash.DebouncedFunc<T_164>;
|
317
|
+
debounce<T_163 extends (...args: any) => any>(func: T_163, wait?: number | undefined, options?: lodash.DebounceSettings | undefined): lodash.DebouncedFunc<T_163>;
|
319
318
|
defer(func: (...args: any[]) => any, ...args: any[]): number;
|
320
319
|
delay(func: (...args: any[]) => any, wait: number, ...args: any[]): number;
|
321
|
-
flip<
|
320
|
+
flip<T_164 extends (...args: any) => any>(func: T_164): T_164;
|
322
321
|
memoize: {
|
323
|
-
<
|
322
|
+
<T_165 extends (...args: any) => any>(func: T_165, resolver?: ((...args: Parameters<T_165>) => any) | undefined): T_165 & lodash.MemoizedFunction;
|
324
323
|
Cache: lodash.MapCacheConstructor;
|
325
324
|
};
|
326
|
-
negate<
|
327
|
-
once<
|
325
|
+
negate<T_166 extends any[]>(predicate: (...args: T_166) => boolean): (...args: T_166) => boolean;
|
326
|
+
once<T_167 extends (...args: any) => any>(func: T_167): T_167;
|
328
327
|
overArgs(func: (...args: any[]) => any, ...transforms: lodash.Many<(...args: any[]) => any>[]): (...args: any[]) => any;
|
329
328
|
partial: lodash.Partial;
|
330
329
|
partialRight: lodash.PartialRight;
|
331
330
|
rearg(func: (...args: any[]) => any, ...indexes: lodash.Many<number>[]): (...args: any[]) => any;
|
332
331
|
rest(func: (...args: any[]) => any, start?: number | undefined): (...args: any[]) => any;
|
333
332
|
spread<TResult_23>(func: (...args: any[]) => TResult_23, start?: number | undefined): (...args: any[]) => TResult_23;
|
334
|
-
throttle<
|
335
|
-
unary<
|
336
|
-
wrap<
|
337
|
-
castArray<
|
338
|
-
clone<
|
339
|
-
cloneDeep<
|
340
|
-
cloneDeepWith<
|
341
|
-
cloneDeepWith<
|
342
|
-
cloneWith<
|
343
|
-
cloneWith<
|
344
|
-
cloneWith<
|
345
|
-
conformsTo<
|
333
|
+
throttle<T_168 extends (...args: any) => any>(func: T_168, wait?: number | undefined, options?: lodash.ThrottleSettings | undefined): lodash.DebouncedFunc<T_168>;
|
334
|
+
unary<T_169, TResult_24>(func: (arg1: T_169, ...args: any[]) => TResult_24): (arg1: T_169) => TResult_24;
|
335
|
+
wrap<T_170, TArgs, TResult_25>(value: T_170, wrapper: (value: T_170, ...args: TArgs[]) => TResult_25): (...args: TArgs[]) => TResult_25;
|
336
|
+
castArray<T_171>(value?: lodash.Many<T_171> | undefined): T_171[];
|
337
|
+
clone<T_172>(value: T_172): T_172;
|
338
|
+
cloneDeep<T_173>(value: T_173): T_173;
|
339
|
+
cloneDeepWith<T_174>(value: T_174, customizer: lodash.CloneDeepWithCustomizer<T_174>): any;
|
340
|
+
cloneDeepWith<T_175>(value: T_175): T_175;
|
341
|
+
cloneWith<T_176, TResult_26 extends string | number | boolean | object | null>(value: T_176, customizer: lodash.CloneWithCustomizer<T_176, TResult_26>): TResult_26;
|
342
|
+
cloneWith<T_177, TResult_27>(value: T_177, customizer: lodash.CloneWithCustomizer<T_177, TResult_27 | undefined>): T_177 | TResult_27;
|
343
|
+
cloneWith<T_178>(value: T_178): T_178;
|
344
|
+
conformsTo<T_179>(object: T_179, source: lodash.ConformsPredicateObject<T_179>): boolean;
|
346
345
|
eq(value: any, other: any): boolean;
|
347
346
|
gt(value: any, other: any): boolean;
|
348
347
|
gte(value: any, other: any): boolean;
|
349
348
|
isArguments(value?: any): value is IArguments;
|
350
349
|
isArray(value?: any): value is any[];
|
351
|
-
isArray<
|
350
|
+
isArray<T_180>(value?: any): value is any[];
|
352
351
|
isArrayBuffer(value?: any): value is ArrayBuffer;
|
353
|
-
isArrayLike<
|
352
|
+
isArrayLike<T_181 extends {
|
354
353
|
__lodashAnyHack: any;
|
355
|
-
}>(t:
|
354
|
+
}>(t: T_181): boolean;
|
356
355
|
isArrayLike(value: ((...args: any[]) => any) | null | undefined): value is never;
|
357
356
|
isArrayLike(value: any): value is {
|
358
357
|
length: number;
|
359
358
|
};
|
360
|
-
isArrayLikeObject<
|
359
|
+
isArrayLikeObject<T_182 extends {
|
361
360
|
__lodashAnyHack: any;
|
362
|
-
}>(value:
|
361
|
+
}>(value: T_182): boolean;
|
363
362
|
isArrayLikeObject(value: string | number | boolean | Function | ((...args: any[]) => any) | null | undefined): value is never;
|
364
363
|
isArrayLikeObject(value: any): value is object & {
|
365
364
|
length: number;
|
@@ -368,12 +367,6 @@ export declare const vendorMap: {
|
|
368
367
|
isBuffer(value?: any): boolean;
|
369
368
|
isDate(value?: any): value is Date;
|
370
369
|
isElement(value?: any): boolean;
|
371
|
-
isEmpty<T_184 extends {
|
372
|
-
__trapAny: any;
|
373
|
-
}>(value?: T_184 | undefined): boolean;
|
374
|
-
isEmpty(value: string): value is "";
|
375
|
-
isEmpty(value: lodash.List<any> | Map<any, any> | Set<any> | null | undefined): boolean;
|
376
|
-
isEmpty<T_185 extends object>(value: T_185 | null | undefined): value is lodash.EmptyObjectOf<T_185> | null | undefined;
|
377
370
|
isEmpty(value?: any): boolean;
|
378
371
|
isEqual(value: any, other: any): boolean;
|
379
372
|
isEqualWith(value: any, other: any, customizer?: lodash.IsEqualCustomizer | undefined): boolean;
|
@@ -404,8 +397,8 @@ export declare const vendorMap: {
|
|
404
397
|
isWeakSet(value?: any): value is WeakSet<object>;
|
405
398
|
lt(value: any, other: any): boolean;
|
406
399
|
lte(value: any, other: any): boolean;
|
407
|
-
toArray<
|
408
|
-
toArray<
|
400
|
+
toArray<T_183>(value: lodash.Dictionary<T_183> | lodash.NumericDictionary<T_183> | null | undefined): T_183[];
|
401
|
+
toArray<T_184>(value: T_184): T_184[keyof T_184][];
|
409
402
|
toArray(): any[];
|
410
403
|
toFinite(value: any): number;
|
411
404
|
toInteger(value: any): number;
|
@@ -418,17 +411,17 @@ export declare const vendorMap: {
|
|
418
411
|
ceil(n: number, precision?: number | undefined): number;
|
419
412
|
divide(dividend: number, divisor: number): number;
|
420
413
|
floor(n: number, precision?: number | undefined): number;
|
421
|
-
max<
|
422
|
-
maxBy<
|
414
|
+
max<T_185>(collection: lodash.List<T_185> | null | undefined): T_185 | undefined;
|
415
|
+
maxBy<T_186>(collection: lodash.List<T_186> | null | undefined, iteratee?: lodash.ValueIteratee<T_186> | undefined): T_186 | undefined;
|
423
416
|
mean(collection: lodash.List<any> | null | undefined): number;
|
424
|
-
meanBy<
|
425
|
-
min<
|
426
|
-
minBy<
|
417
|
+
meanBy<T_187>(collection: lodash.List<T_187> | null | undefined, iteratee?: lodash.ValueIteratee<T_187> | undefined): number;
|
418
|
+
min<T_188>(collection: lodash.List<T_188> | null | undefined): T_188 | undefined;
|
419
|
+
minBy<T_189>(collection: lodash.List<T_189> | null | undefined, iteratee?: lodash.ValueIteratee<T_189> | undefined): T_189 | undefined;
|
427
420
|
multiply(multiplier: number, multiplicand: number): number;
|
428
421
|
round(n: number, precision?: number | undefined): number;
|
429
422
|
subtract(minuend: number, subtrahend: number): number;
|
430
423
|
sum(collection: lodash.List<any> | null | undefined): number;
|
431
|
-
sumBy<
|
424
|
+
sumBy<T_190>(collection: lodash.List<T_190> | null | undefined, iteratee?: string | ((value: T_190) => number) | undefined): number;
|
432
425
|
clamp(number: number, lower: number, upper: number): number;
|
433
426
|
clamp(number: number, upper: number): number;
|
434
427
|
inRange(n: number, start: number, end?: number | undefined): boolean;
|
@@ -460,9 +453,9 @@ export declare const vendorMap: {
|
|
460
453
|
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;
|
461
454
|
assignWith<TObject_19>(object: TObject_19): TObject_19;
|
462
455
|
assignWith<TResult_30>(object: any, ...otherArgs: any[]): TResult_30;
|
463
|
-
at<
|
464
|
-
at<
|
465
|
-
create<
|
456
|
+
at<T_191>(object: lodash.Dictionary<T_191> | lodash.NumericDictionary<T_191> | null | undefined, ...props: lodash.PropertyPath[]): T_191[];
|
457
|
+
at<T_192 extends object>(object: T_192 | null | undefined, ...props: lodash.Many<keyof T_192>[]): T_192[keyof T_192][];
|
458
|
+
create<T_193 extends object, U_3 extends object>(prototype: T_193, properties?: U_3 | undefined): T_193 & U_3;
|
466
459
|
defaults<TObject_20, TSource_4>(object: TObject_20, source: TSource_4): NonNullable<TSource_4 & TObject_20>;
|
467
460
|
defaults<TObject_21, TSource1_12, TSource2_12>(object: TObject_21, source1: TSource1_12, source2: TSource2_12): NonNullable<TSource2_12 & TSource1_12 & TObject_21>;
|
468
461
|
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>;
|
@@ -470,9 +463,9 @@ export declare const vendorMap: {
|
|
470
463
|
defaults<TObject_24>(object: TObject_24): NonNullable<TObject_24>;
|
471
464
|
defaults(object: any, ...sources: any[]): any;
|
472
465
|
defaultsDeep(object: any, ...sources: any[]): any;
|
473
|
-
entries<
|
466
|
+
entries<T_194>(object?: lodash.Dictionary<T_194> | lodash.NumericDictionary<T_194> | undefined): [string, T_194][];
|
474
467
|
entries(object?: object | undefined): [string, any][];
|
475
|
-
entriesIn<
|
468
|
+
entriesIn<T_195>(object?: lodash.Dictionary<T_195> | lodash.NumericDictionary<T_195> | undefined): [string, T_195][];
|
476
469
|
entriesIn(object?: object | undefined): [string, any][];
|
477
470
|
extend<TObject_25, TSource_5>(object: TObject_25, source: TSource_5): TObject_25 & TSource_5;
|
478
471
|
extend<TObject_26, TSource1_15, TSource2_15>(object: TObject_26, source1: TSource1_15, source2: TSource2_15): TObject_26 & TSource1_15 & TSource2_15;
|
@@ -486,18 +479,18 @@ export declare const vendorMap: {
|
|
486
479
|
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;
|
487
480
|
extendWith<TObject_34>(object: TObject_34): TObject_34;
|
488
481
|
extendWith<TResult_32>(object: any, ...otherArgs: any[]): TResult_32;
|
489
|
-
findKey<
|
490
|
-
findLastKey<
|
491
|
-
forIn<
|
492
|
-
forIn<
|
493
|
-
forInRight<
|
494
|
-
forInRight<
|
495
|
-
forOwn<
|
496
|
-
forOwn<
|
497
|
-
forOwnRight<
|
498
|
-
forOwnRight<
|
482
|
+
findKey<T_196>(object: T_196 | null | undefined, predicate?: lodash.ObjectIteratee<T_196> | undefined): string | undefined;
|
483
|
+
findLastKey<T_197>(object: T_197 | null | undefined, predicate?: lodash.ObjectIteratee<T_197> | undefined): string | undefined;
|
484
|
+
forIn<T_198>(object: T_198, iteratee?: lodash.ObjectIterator<T_198, any> | undefined): T_198;
|
485
|
+
forIn<T_199>(object: T_199 | null | undefined, iteratee?: lodash.ObjectIterator<T_199, any> | undefined): T_199 | null | undefined;
|
486
|
+
forInRight<T_200>(object: T_200, iteratee?: lodash.ObjectIterator<T_200, any> | undefined): T_200;
|
487
|
+
forInRight<T_201>(object: T_201 | null | undefined, iteratee?: lodash.ObjectIterator<T_201, any> | undefined): T_201 | null | undefined;
|
488
|
+
forOwn<T_202>(object: T_202, iteratee?: lodash.ObjectIterator<T_202, any> | undefined): T_202;
|
489
|
+
forOwn<T_203>(object: T_203 | null | undefined, iteratee?: lodash.ObjectIterator<T_203, any> | undefined): T_203 | null | undefined;
|
490
|
+
forOwnRight<T_204>(object: T_204, iteratee?: lodash.ObjectIterator<T_204, any> | undefined): T_204;
|
491
|
+
forOwnRight<T_205>(object: T_205 | null | undefined, iteratee?: lodash.ObjectIterator<T_205, any> | undefined): T_205 | null | undefined;
|
499
492
|
functions(object: any): string[];
|
500
|
-
functionsIn<
|
493
|
+
functionsIn<T_206 extends {}>(object: any): string[];
|
501
494
|
get<TObject_35 extends object, TKey extends keyof TObject_35>(object: TObject_35, path: TKey | [TKey]): TObject_35[TKey];
|
502
495
|
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;
|
503
496
|
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>;
|
@@ -510,33 +503,33 @@ export declare const vendorMap: {
|
|
510
503
|
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];
|
511
504
|
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;
|
512
505
|
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>;
|
513
|
-
get<
|
514
|
-
get<
|
515
|
-
get<
|
506
|
+
get<T_207>(object: lodash.NumericDictionary<T_207>, path: number): T_207;
|
507
|
+
get<T_208>(object: lodash.NumericDictionary<T_208> | null | undefined, path: number): T_208 | undefined;
|
508
|
+
get<T_209, TDefault_4>(object: lodash.NumericDictionary<T_209> | null | undefined, path: number, defaultValue: TDefault_4): T_209 | TDefault_4;
|
516
509
|
get<TDefault_5>(object: null | undefined, path: lodash.PropertyPath, defaultValue: TDefault_5): TDefault_5;
|
517
510
|
get(object: null | undefined, path: lodash.PropertyPath): undefined;
|
518
511
|
get(object: any, path: lodash.PropertyPath, defaultValue?: any): any;
|
519
|
-
has<
|
520
|
-
hasIn<
|
512
|
+
has<T_210>(object: T_210, path: lodash.PropertyPath): boolean;
|
513
|
+
hasIn<T_211>(object: T_211, path: lodash.PropertyPath): boolean;
|
521
514
|
invert(object: object): lodash.Dictionary<string>;
|
522
|
-
invertBy<
|
523
|
-
invertBy<
|
515
|
+
invertBy<T_212>(object: lodash.Dictionary<T_212> | lodash.NumericDictionary<T_212> | null | undefined, interatee?: lodash.ValueIteratee<T_212> | undefined): lodash.Dictionary<string[]>;
|
516
|
+
invertBy<T_213 extends object>(object: T_213 | null | undefined, interatee?: lodash.ValueIteratee<T_213[keyof T_213]> | undefined): lodash.Dictionary<string[]>;
|
524
517
|
invoke(object: any, path: lodash.PropertyPath, ...args: any[]): any;
|
525
518
|
keys(object?: any): string[];
|
526
519
|
keysIn(object?: any): string[];
|
527
|
-
mapKeys<
|
528
|
-
mapKeys<
|
520
|
+
mapKeys<T_214>(object: lodash.List<T_214> | null | undefined, iteratee?: lodash.ListIteratee<T_214> | undefined): lodash.Dictionary<T_214>;
|
521
|
+
mapKeys<T_215 extends object>(object: T_215 | null | undefined, iteratee?: lodash.ObjectIteratee<T_215> | undefined): lodash.Dictionary<T_215[keyof T_215]>;
|
529
522
|
mapValues<TResult_33>(obj: string | null | undefined, callback: lodash.StringIterator<TResult_33>): lodash.NumericDictionary<TResult_33>;
|
530
|
-
mapValues<
|
531
|
-
mapValues<
|
532
|
-
mapValues<
|
533
|
-
mapValues<
|
534
|
-
mapValues<
|
535
|
-
mapValues<
|
523
|
+
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; };
|
524
|
+
mapValues<T_217>(obj: lodash.Dictionary<T_217> | lodash.NumericDictionary<T_217> | null | undefined, iteratee: object): lodash.Dictionary<boolean>;
|
525
|
+
mapValues<T_218 extends object>(obj: T_218 | null | undefined, iteratee: object): { [P_1 in keyof T_218]: boolean; };
|
526
|
+
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]>;
|
527
|
+
mapValues<T_220>(obj: lodash.Dictionary<T_220> | lodash.NumericDictionary<T_220> | null | undefined, iteratee: string): lodash.Dictionary<any>;
|
528
|
+
mapValues<T_221 extends object>(obj: T_221 | null | undefined, iteratee: string): { [P_2 in keyof T_221]: any; };
|
536
529
|
mapValues(obj: string | null | undefined): lodash.NumericDictionary<string>;
|
537
|
-
mapValues<
|
538
|
-
mapValues<
|
539
|
-
mapValues<
|
530
|
+
mapValues<T_222>(obj: lodash.Dictionary<T_222> | lodash.NumericDictionary<T_222> | null | undefined): lodash.Dictionary<T_222>;
|
531
|
+
mapValues<T_223 extends object>(obj: T_223): T_223;
|
532
|
+
mapValues<T_224 extends object>(obj: T_224 | null | undefined): Partial<T_224>;
|
540
533
|
merge<TObject_47, TSource_7>(object: TObject_47, source: TSource_7): TObject_47 & TSource_7;
|
541
534
|
merge<TObject_48, TSource1_21, TSource2_21>(object: TObject_48, source1: TSource1_21, source2: TSource2_21): TObject_48 & TSource1_21 & TSource2_21;
|
542
535
|
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;
|
@@ -547,54 +540,54 @@ export declare const vendorMap: {
|
|
547
540
|
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;
|
548
541
|
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;
|
549
542
|
mergeWith(object: any, ...otherArgs: any[]): any;
|
550
|
-
omit<
|
551
|
-
omit<
|
552
|
-
omit<
|
553
|
-
omitBy<
|
554
|
-
omitBy<
|
555
|
-
omitBy<
|
556
|
-
pick<
|
557
|
-
pick<
|
558
|
-
pickBy<
|
559
|
-
pickBy<
|
560
|
-
pickBy<
|
561
|
-
pickBy<
|
562
|
-
pickBy<
|
543
|
+
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]>>;
|
544
|
+
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>;
|
545
|
+
omit<T_227 extends object>(object: T_227 | null | undefined, ...paths: lodash.Many<lodash.PropertyName>[]): Partial<T_227>;
|
546
|
+
omitBy<T_228>(object: lodash.Dictionary<T_228> | null | undefined, predicate?: lodash.ValueKeyIteratee<T_228> | undefined): lodash.Dictionary<T_228>;
|
547
|
+
omitBy<T_229>(object: lodash.NumericDictionary<T_229> | null | undefined, predicate?: lodash.ValueKeyIteratee<T_229> | undefined): lodash.NumericDictionary<T_229>;
|
548
|
+
omitBy<T_230 extends object>(object: T_230 | null | undefined, predicate: lodash.ValueKeyIteratee<T_230[keyof T_230]>): Partial<T_230>;
|
549
|
+
pick<T_231 extends object, U_4 extends keyof T_231>(object: T_231, ...props: lodash.Many<U_4>[]): Pick<T_231, U_4>;
|
550
|
+
pick<T_232>(object: T_232 | null | undefined, ...props: lodash.PropertyPath[]): Partial<T_232>;
|
551
|
+
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>;
|
552
|
+
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>;
|
553
|
+
pickBy<T_235>(object: lodash.Dictionary<T_235> | null | undefined, predicate?: lodash.ValueKeyIteratee<T_235> | undefined): lodash.Dictionary<T_235>;
|
554
|
+
pickBy<T_236>(object: lodash.NumericDictionary<T_236> | null | undefined, predicate?: lodash.ValueKeyIteratee<T_236> | undefined): lodash.NumericDictionary<T_236>;
|
555
|
+
pickBy<T_237 extends object>(object: T_237 | null | undefined, predicate?: lodash.ValueKeyIteratee<T_237[keyof T_237]> | undefined): Partial<T_237>;
|
563
556
|
result<TResult_35>(object: any, path: lodash.PropertyPath, defaultValue?: TResult_35 | ((...args: any[]) => TResult_35) | undefined): TResult_35;
|
564
|
-
set<
|
557
|
+
set<T_238 extends object>(object: T_238, path: lodash.PropertyPath, value: any): T_238;
|
565
558
|
set<TResult_36>(object: object, path: lodash.PropertyPath, value: any): TResult_36;
|
566
|
-
setWith<
|
567
|
-
setWith<
|
568
|
-
toPairs<
|
559
|
+
setWith<T_239 extends object>(object: T_239, path: lodash.PropertyPath, value: any, customizer?: lodash.SetWithCustomizer<T_239> | undefined): T_239;
|
560
|
+
setWith<T_240 extends object, TResult_37>(object: T_240, path: lodash.PropertyPath, value: any, customizer?: lodash.SetWithCustomizer<T_240> | undefined): TResult_37;
|
561
|
+
toPairs<T_241>(object?: lodash.Dictionary<T_241> | lodash.NumericDictionary<T_241> | undefined): [string, T_241][];
|
569
562
|
toPairs(object?: object | undefined): [string, any][];
|
570
|
-
toPairsIn<
|
563
|
+
toPairsIn<T_242>(object?: lodash.Dictionary<T_242> | lodash.NumericDictionary<T_242> | undefined): [string, T_242][];
|
571
564
|
toPairsIn(object?: object | undefined): [string, any][];
|
572
|
-
transform<
|
573
|
-
transform<
|
574
|
-
transform<
|
565
|
+
transform<T_243, TResult_38>(object: readonly T_243[], iteratee: lodash.MemoVoidArrayIterator<T_243, TResult_38>, accumulator?: TResult_38 | undefined): TResult_38;
|
566
|
+
transform<T_244, TResult_39>(object: lodash.Dictionary<T_244>, iteratee: lodash.MemoVoidDictionaryIterator<T_244, string, TResult_39>, accumulator?: TResult_39 | undefined): TResult_39;
|
567
|
+
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;
|
575
568
|
transform(object: any[]): any[];
|
576
569
|
transform(object: object): lodash.Dictionary<any>;
|
577
570
|
unset(object: any, path: lodash.PropertyPath): boolean;
|
578
571
|
update(object: object, path: lodash.PropertyPath, updater: (value: any) => any): any;
|
579
|
-
updateWith<
|
580
|
-
updateWith<
|
581
|
-
values<
|
582
|
-
values<
|
572
|
+
updateWith<T_246 extends object>(object: T_246, path: lodash.PropertyPath, updater: (oldValue: any) => any, customizer?: lodash.SetWithCustomizer<T_246> | undefined): T_246;
|
573
|
+
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;
|
574
|
+
values<T_248>(object: lodash.Dictionary<T_248> | lodash.NumericDictionary<T_248> | lodash.List<T_248> | null | undefined): T_248[];
|
575
|
+
values<T_249 extends object>(object: T_249 | null | undefined): T_249[keyof T_249][];
|
583
576
|
values(object: any): any[];
|
584
|
-
valuesIn<
|
585
|
-
valuesIn<
|
577
|
+
valuesIn<T_250>(object: lodash.Dictionary<T_250> | lodash.NumericDictionary<T_250> | lodash.List<T_250> | null | undefined): T_250[];
|
578
|
+
valuesIn<T_251 extends object>(object: T_251 | null | undefined): T_251[keyof T_251][];
|
586
579
|
chain<TrapAny extends {
|
587
580
|
__lodashAnyHack: any;
|
588
581
|
}>(value: TrapAny): lodash.CollectionChain<any> & lodash.FunctionChain<any> & lodash.ObjectChain<any> & lodash.PrimitiveChain<any> & lodash.StringChain;
|
589
|
-
chain<
|
582
|
+
chain<T_252 extends null | undefined>(value: T_252): lodash.PrimitiveChain<T_252>;
|
590
583
|
chain(value: string): lodash.StringChain;
|
591
584
|
chain(value: string | null | undefined): lodash.StringNullableChain;
|
592
|
-
chain<
|
593
|
-
chain<
|
594
|
-
chain<
|
595
|
-
chain<
|
596
|
-
tap<
|
597
|
-
thru<
|
585
|
+
chain<T_253 extends (...args: any[]) => any>(value: T_253): lodash.FunctionChain<T_253>;
|
586
|
+
chain<T_254 = any>(value: lodash.List<T_254> | null | undefined): lodash.CollectionChain<T_254>;
|
587
|
+
chain<T_255 extends object>(value: T_255 | null | undefined): lodash.ObjectChain<T_255>;
|
588
|
+
chain<T_256>(value: T_256): lodash.PrimitiveChain<T_256>;
|
589
|
+
tap<T_257>(value: T_257, interceptor: (value: T_257) => void): T_257;
|
590
|
+
thru<T_258, TResult_42>(value: T_258, interceptor: (value: T_258) => TResult_42): TResult_42;
|
598
591
|
camelCase(string?: string | undefined): string;
|
599
592
|
capitalize(string?: string | undefined): string;
|
600
593
|
deburr(string?: string | undefined): string;
|
@@ -632,13 +625,12 @@ export declare const vendorMap: {
|
|
632
625
|
words(string?: string | undefined, pattern?: string | RegExp | undefined): string[];
|
633
626
|
words(string: string, index: string | number, guard: object): string[];
|
634
627
|
attempt<TResult_43>(func: (...args: any[]) => TResult_43, ...args: any[]): Error | TResult_43;
|
635
|
-
bindAll<
|
636
|
-
cond<R>(pairs: lodash.
|
637
|
-
|
638
|
-
|
639
|
-
|
640
|
-
defaultTo<
|
641
|
-
defaultTo<T_267, TDefault_6>(value: T_267 | null | undefined, defaultValue: TDefault_6): T_267 | TDefault_6;
|
628
|
+
bindAll<T_259>(object: T_259, ...methodNames: lodash.Many<string>[]): T_259;
|
629
|
+
cond<T_260, R>(pairs: lodash.CondPair<T_260, R>[]): (Target: T_260) => R;
|
630
|
+
conforms<T_261>(source: lodash.ConformsPredicateObject<T_261>): (value: T_261) => boolean;
|
631
|
+
constant<T_262>(value: T_262): () => T_262;
|
632
|
+
defaultTo<T_263>(value: T_263 | null | undefined, defaultValue: T_263): T_263;
|
633
|
+
defaultTo<T_264, TDefault_6>(value: T_264 | null | undefined, defaultValue: TDefault_6): T_264 | TDefault_6;
|
642
634
|
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;
|
643
635
|
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;
|
644
636
|
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;
|
@@ -654,14 +646,14 @@ export declare const vendorMap: {
|
|
654
646
|
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;
|
655
647
|
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;
|
656
648
|
flowRight(...func: lodash.Many<(...args: any[]) => any>[]): (...args: any[]) => any;
|
657
|
-
identity<
|
649
|
+
identity<T_265>(value: T_265): T_265;
|
658
650
|
identity(): undefined;
|
659
651
|
iteratee<TFunction extends (...args: any[]) => any>(func: TFunction): TFunction;
|
660
652
|
iteratee(func: string | number | symbol | object): (...args: any[]) => any;
|
661
|
-
matches<
|
662
|
-
matches<
|
663
|
-
matchesProperty<
|
664
|
-
matchesProperty<
|
653
|
+
matches<T_266>(source: T_266): (value: any) => boolean;
|
654
|
+
matches<T_267, V>(source: T_267): (value: V) => boolean;
|
655
|
+
matchesProperty<T_268>(path: lodash.PropertyPath, srcValue: T_268): (value: any) => boolean;
|
656
|
+
matchesProperty<T_269, V_1>(path: lodash.PropertyPath, srcValue: T_269): (value: V_1) => boolean;
|
665
657
|
method(path: lodash.PropertyPath, ...args: any[]): (object: any) => any;
|
666
658
|
methodOf(object: object, ...args: any[]): (path: lodash.PropertyPath) => any;
|
667
659
|
mixin<TObject_55>(object: TObject_55, source: lodash.Dictionary<(...args: any[]) => any>, options?: lodash.MixinOptions | undefined): TObject_55;
|
@@ -670,12 +662,12 @@ export declare const vendorMap: {
|
|
670
662
|
noop(...args: any[]): void;
|
671
663
|
nthArg(n?: number | undefined): (...args: any[]) => any;
|
672
664
|
over<TResult_45>(...iteratees: lodash.Many<(...args: any[]) => TResult_45>[]): (...args: any[]) => TResult_45[];
|
673
|
-
overEvery<
|
674
|
-
overEvery<
|
675
|
-
overSome<
|
676
|
-
overSome<
|
665
|
+
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;
|
666
|
+
overEvery<T_271>(...predicates: lodash.Many<(...args: T_271[]) => boolean>[]): (...args: T_271[]) => boolean;
|
667
|
+
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;
|
668
|
+
overSome<T_273>(...predicates: lodash.Many<(...args: T_273[]) => boolean>[]): (...args: T_273[]) => boolean;
|
677
669
|
property<TObj, TResult_46>(path: lodash.PropertyPath): (obj: TObj) => TResult_46;
|
678
|
-
propertyOf<
|
670
|
+
propertyOf<T_274 extends {}>(object: T_274): (path: lodash.PropertyPath) => any;
|
679
671
|
range(start: number, end?: number | undefined, step?: number | undefined): number[];
|
680
672
|
range(end: number, index: string | number, guard: object): number[];
|
681
673
|
rangeRight(start: number, end?: number | undefined, step?: number | undefined): number[];
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { PriceApiService } from '@veloce/api';
|
2
|
-
import { ConfigurationContext, LineItem, PricePlanCharge, PriceSummary } from '@veloce/core';
|
2
|
+
import { ConfigurationContext, HttpRequestConfigurableOptions, LineItem, PricePlanCharge, PriceSummary } from '@veloce/core';
|
3
3
|
import { Dictionary } from 'lodash';
|
4
4
|
import { MessageService } from 'primeng/api';
|
5
5
|
import { Observable } from 'rxjs';
|
@@ -21,12 +21,12 @@ export declare class FlowConfigurationService {
|
|
21
21
|
constructor(priceApiService: PriceApiService, contextService: ContextService, quoteDraftService: QuoteDraftService, messageService: MessageService, updateService: FlowUpdateService, configurationService: ConfigurationService);
|
22
22
|
private reset;
|
23
23
|
initialize$(): Observable<void>;
|
24
|
-
calculate$(currentState: LineItem[]): Observable<PriceSummary>;
|
25
|
-
calculate(currentState: LineItem[]): void;
|
26
|
-
update$(updates: FlowUpdateParams[]): Observable<PriceSummary>;
|
27
|
-
update(updates: FlowUpdateParams[]): void;
|
28
|
-
delete$(ids: string[]): Observable<PriceSummary>;
|
29
|
-
delete(ids: string[]): void;
|
24
|
+
calculate$(currentState: LineItem[], options?: HttpRequestConfigurableOptions): Observable<PriceSummary>;
|
25
|
+
calculate(currentState: LineItem[], options?: HttpRequestConfigurableOptions): void;
|
26
|
+
update$(updates: FlowUpdateParams[], options?: HttpRequestConfigurableOptions): Observable<PriceSummary>;
|
27
|
+
update(updates: FlowUpdateParams[], options?: HttpRequestConfigurableOptions): void;
|
28
|
+
delete$(ids: string[], options?: HttpRequestConfigurableOptions): Observable<PriceSummary>;
|
29
|
+
delete(ids: string[], options?: HttpRequestConfigurableOptions): void;
|
30
30
|
get(): Observable<LineItem[]>;
|
31
31
|
addToCart$(productId: string, qty?: number): Observable<void>;
|
32
32
|
getSnapshot(): LineItem[];
|
@@ -27,9 +27,9 @@ export class FlowConfigurationService {
|
|
27
27
|
this.resetSubscription = this.quoteDraftService.reset$.subscribe(() => this.reset());
|
28
28
|
return this.calculate$(this.getSnapshot()).pipe(map(noop));
|
29
29
|
}
|
30
|
-
calculate$(currentState) {
|
30
|
+
calculate$(currentState, options) {
|
31
31
|
const context = this.contextService.resolve();
|
32
|
-
return this.priceApiService.calculate({ context, currentState }).pipe(tap((result) => {
|
32
|
+
return this.priceApiService.calculate({ context, currentState }, options).pipe(tap((result) => {
|
33
33
|
this.quoteDraftService.updateByPriceSummary(result);
|
34
34
|
this.charges.next(result.charges);
|
35
35
|
if (context) {
|
@@ -37,21 +37,21 @@ export class FlowConfigurationService {
|
|
37
37
|
}
|
38
38
|
}), this.handleError());
|
39
39
|
}
|
40
|
-
calculate(currentState) {
|
41
|
-
this.calculate$(currentState).subscribe();
|
40
|
+
calculate(currentState, options) {
|
41
|
+
this.calculate$(currentState, options).subscribe();
|
42
42
|
}
|
43
|
-
update$(updates) {
|
43
|
+
update$(updates, options) {
|
44
44
|
const lineItems = cloneDeep(this.getSnapshot());
|
45
|
-
return of([]).pipe(tap(() => this.updateService.update(lineItems, updates)), this.handleError(), switchMap(() => this.calculate$(lineItems)));
|
45
|
+
return of([]).pipe(tap(() => this.updateService.update(lineItems, updates)), this.handleError(), switchMap(() => this.calculate$(lineItems, options)));
|
46
46
|
}
|
47
|
-
update(updates) {
|
48
|
-
this.update$(updates).subscribe();
|
47
|
+
update(updates, options) {
|
48
|
+
this.update$(updates, options).subscribe();
|
49
49
|
}
|
50
|
-
delete$(ids) {
|
51
|
-
return of([]).pipe(map(() => ids.reduce((result, id) => this.updateService.delete(result, id), this.getSnapshot())), this.handleError(), switchMap(currentState => this.calculate$(currentState)));
|
50
|
+
delete$(ids, options) {
|
51
|
+
return of([]).pipe(map(() => ids.reduce((result, id) => this.updateService.delete(result, id), this.getSnapshot())), this.handleError(), switchMap(currentState => this.calculate$(currentState, options)));
|
52
52
|
}
|
53
|
-
delete(ids) {
|
54
|
-
this.delete$(ids).subscribe();
|
53
|
+
delete(ids, options) {
|
54
|
+
this.delete$(ids, options).subscribe();
|
55
55
|
}
|
56
56
|
get() {
|
57
57
|
return combineLatest([this.quoteDraftService.quote$, this.bounceBackUpdate$]).pipe(map(([quoteDraft]) => quoteDraft.currentState), shareReplay());
|
@@ -83,7 +83,6 @@ export class FlowConfigurationService {
|
|
83
83
|
return (source$) => {
|
84
84
|
return source$.pipe(catchError(error => {
|
85
85
|
console.error(error);
|
86
|
-
this.messageService.add({ severity: 'error', summary: error });
|
87
86
|
// bounce back if configuration call has failed
|
88
87
|
this.bounceBackUpdate$.next(true);
|
89
88
|
return throwError(() => error);
|
@@ -96,4 +95,4 @@ FlowConfigurationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0
|
|
96
95
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowConfigurationService, decorators: [{
|
97
96
|
type: Injectable
|
98
97
|
}], ctorParameters: function () { return [{ type: i1.PriceApiService }, { type: i2.ContextService }, { type: i2.QuoteDraftService }, { type: i3.MessageService }, { type: i4.FlowUpdateService }, { type: i5.ConfigurationService }]; } });
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1jb25maWd1cmF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL21vZHVsZXMvZmxvdy1jb25maWd1cmF0aW9uL3NlcnZpY2VzL2Zsb3ctY29uZmlndXJhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLFNBQVMsRUFBYyxNQUFNLFFBQVEsQ0FBQztBQUUvQyxPQUFPLEVBQ0wsZUFBZSxFQUNmLFVBQVUsRUFDVixhQUFhLEVBQ2IsR0FBRyxFQUNILElBQUksRUFFSixFQUFFLEVBQ0YsV0FBVyxFQUVYLFNBQVMsRUFDVCxHQUFHLEVBQ0gsVUFBVSxHQUNYLE1BQU0sTUFBTSxDQUFDOzs7Ozs7O0FBT2QsTUFBTSxPQUFPLHdCQUF3QjtJQU1uQyxZQUNVLGVBQWdDLEVBQ2hDLGNBQThCLEVBQzlCLGlCQUFvQyxFQUNwQyxjQUE4QixFQUM5QixhQUFnQyxFQUNoQyxvQkFBMEM7UUFMMUMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixrQkFBYSxHQUFiLGFBQWEsQ0FBbUI7UUFDaEMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQVg1QyxZQUFPLEdBQUcsSUFBSSxlQUFlLENBQThCLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELHNCQUFpQixHQUFHLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBV25ELENBQUM7SUFFSSxLQUFLO1FBQ1gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELFdBQVc7O1FBQ1QsTUFB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T0FBTyxPQUFPLENBQUMsSUFBSSxDQUNqQixVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pCLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztnQkFFL0QsK0NBQStDO2dCQUMvQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUVsQyxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqQyxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQyxDQUFDO0lBQ0osQ0FBQzs7c0hBNUhVLHdCQUF3QjswSEFBeEIsd0JBQXdCOzRGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcmljZUFwaVNlcnZpY2UgfSBmcm9tICdAdmVsb2NlL2FwaSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uQ29udGV4dCwgTGluZUl0ZW0sIFByaWNlUGxhbkNoYXJnZSwgUHJpY2VTdW1tYXJ5IH0gZnJvbSAnQHZlbG9jZS9jb3JlJztcbmltcG9ydCB7IGNsb25lRGVlcCwgRGljdGlvbmFyeSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgY2F0Y2hFcnJvcixcbiAgY29tYmluZUxhdGVzdCxcbiAgbWFwLFxuICBub29wLFxuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgc2hhcmVSZXBsYXksXG4gIFN1YnNjcmlwdGlvbixcbiAgc3dpdGNoTWFwLFxuICB0YXAsXG4gIHRocm93RXJyb3IsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29udGV4dFNlcnZpY2UsIFF1b3RlRHJhZnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb25maWd1cmF0aW9uJztcbmltcG9ydCB7IEZsb3dVcGRhdGVQYXJhbXMgfSBmcm9tICcuLi90eXBlcy91cGRhdGUudHlwZXMnO1xuaW1wb3J0IHsgRmxvd1VwZGF0ZVNlcnZpY2UgfSBmcm9tICcuL2Zsb3ctdXBkYXRlLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRmxvd0NvbmZpZ3VyYXRpb25TZXJ2aWNlIHtcbiAgcHJpdmF0ZSBjaGFyZ2VzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEaWN0aW9uYXJ5PFByaWNlUGxhbkNoYXJnZT4+KHt9KTtcbiAgcHJpdmF0ZSBib3VuY2VCYWNrVXBkYXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3QodHJ1ZSk7XG5cbiAgcHJpdmF0ZSByZXNldFN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHByaWNlQXBpU2VydmljZTogUHJpY2VBcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcXVvdGVEcmFmdFNlcnZpY2U6IFF1b3RlRHJhZnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXBkYXRlU2VydmljZTogRmxvd1VwZGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uU2VydmljZTogQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICkge31cblxuICBwcml2YXRlIHJlc2V0KCkge1xuICAgIHRoaXMuY2hhcmdlcy5uZXh0KHt9KTtcbiAgfVxuXG4gIGluaXRpYWxpemUkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHRoaXMucmVzZXRTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5yZXNldFN1YnNjcmlwdGlvbiA9IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucmVzZXQkLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlc2V0KCkpO1xuXG4gICAgcmV0dXJuIHRoaXMuY2FsY3VsYXRlJCh0aGlzLmdldFNuYXBzaG90KCkpLnBpcGUobWFwKG5vb3ApKTtcbiAgfVxuXG4gIGNhbGN1bGF0ZSQoY3VycmVudFN0YXRlOiBMaW5lSXRlbVtdKTogT2JzZXJ2YWJsZTxQcmljZVN1bW1hcnk+IHtcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlKCk7XG5cbiAgICByZXR1cm4gdGhpcy5wcmljZUFwaVNlcnZpY2UuY2FsY3VsYXRlKHsgY29udGV4dCwgY3VycmVudFN0YXRlIH0pLnBpcGUoXG4gICAgICB0YXAoKHJlc3VsdDogUHJpY2VTdW1tYXJ5KSA9PiB7XG4gICAgICAgIHRoaXMucXVvdGVEcmFmdFNlcnZpY2UudXBkYXRlQnlQcmljZVN1bW1hcnkocmVzdWx0KTtcblxuICAgICAgICB0aGlzLmNoYXJnZXMubmV4dChyZXN1bHQuY2hhcmdlcyk7XG5cbiAgICAgICAgaWYgKGNvbnRleHQpIHtcbiAgICAgICAgICB0aGlzLmNvbnRleHRTZXJ2aWNlLnVwZGF0ZSh7IHByb3BlcnRpZXM6IGNvbnRleHQucHJvcGVydGllcyB9KTtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICB0aGlzLmhhbmRsZUVycm9yKCksXG4gICAgKTtcbiAgfVxuXG4gIGNhbGN1bGF0ZShjdXJyZW50U3RhdGU6IExpbmVJdGVtW10pOiB2b2lkIHtcbiAgICB0aGlzLmNhbGN1bGF0ZSQoY3VycmVudFN0YXRlKS5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHVwZGF0ZSQodXBkYXRlczogRmxvd1VwZGF0ZVBhcmFtc1tdKTogT2JzZXJ2YWJsZTxQcmljZVN1bW1hcnk+IHtcbiAgICBjb25zdCBsaW5lSXRlbXMgPSBjbG9uZURlZXAodGhpcy5nZXRTbmFwc2hvdCgpKTtcblxuICAgIHJldHVybiBvZihbXSkucGlwZShcbiAgICAgIHRhcCgoKSA9PiB0aGlzLnVwZGF0ZVNlcnZpY2UudXBkYXRlKGxpbmVJdGVtcywgdXBkYXRlcykpLFxuICAgICAgdGhpcy5oYW5kbGVFcnJvcigpLFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuY2FsY3VsYXRlJChsaW5lSXRlbXMpKSxcbiAgICApO1xuICB9XG5cbiAgdXBkYXRlKHVwZGF0ZXM6IEZsb3dVcGRhdGVQYXJhbXNbXSk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlJCh1cGRhdGVzKS5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGRlbGV0ZSQoaWRzOiBzdHJpbmdbXSk6IE9ic2VydmFibGU8UHJpY2VTdW1tYXJ5PiB7XG4gICAgcmV0dXJuIG9mKFtdKS5waXBlKFxuICAgICAgbWFwKCgpID0+IGlkcy5yZWR1Y2UoKHJlc3VsdCwgaWQpID0+IHRoaXMudXBkYXRlU2VydmljZS5kZWxldGUocmVzdWx0LCBpZCksIHRoaXMuZ2V0U25hcHNob3QoKSkpLFxuICAgICAgdGhpcy5oYW5kbGVFcnJvcigpLFxuICAgICAgc3dpdGNoTWFwKGN1cnJlbnRTdGF0ZSA9PiB0aGlzLmNhbGN1bGF0ZSQoY3VycmVudFN0YXRlKSksXG4gICAgKTtcbiAgfVxuXG4gIGRlbGV0ZShpZHM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgdGhpcy5kZWxldGUkKGlkcykuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0KCk6IE9ic2VydmFibGU8TGluZUl0ZW1bXT4ge1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFt0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnF1b3RlJCwgdGhpcy5ib3VuY2VCYWNrVXBkYXRlJF0pLnBpcGUoXG4gICAgICBtYXAoKFtxdW90ZURyYWZ0XSkgPT4gcXVvdGVEcmFmdC5jdXJyZW50U3RhdGUpLFxuICAgICAgc2hhcmVSZXBsYXkoKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFkZFRvQ2FydCQocHJvZHVjdElkOiBzdHJpbmcsIHF0eT86IG51bWJlcik6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlLmNvbmZpZ3VyZUV4dGVybmFsJChwcm9kdWN0SWQsIHF0eSkucGlwZShcbiAgICAgIHRhcChsaW5lSXRlbSA9PiB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRTdGF0ZSA9IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVTbmFwc2hvdD8uY3VycmVudFN0YXRlID8/IFtdO1xuICAgICAgICB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnNldEN1cnJlbnRMaW5lSXRlbVN0YXRlKFsuLi5jdXJyZW50U3RhdGUsIGxpbmVJdGVtXSk7XG4gICAgICB9KSxcbiAgICAgIG1hcChub29wKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldFNuYXBzaG90KCk6IExpbmVJdGVtW10ge1xuICAgIHJldHVybiB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnF1b3RlU25hcHNob3Q/LmN1cnJlbnRTdGF0ZS5zbGljZSgpID8/IFtdO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGFyZ2VzJCgpOiBPYnNlcnZhYmxlPERpY3Rpb25hcnk8UHJpY2VQbGFuQ2hhcmdlPj4ge1xuICAgIHJldHVybiB0aGlzLmNoYXJnZXMuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoYXJnZXNTbmFwc2hvdCgpOiBEaWN0aW9uYXJ5PFByaWNlUGxhbkNoYXJnZT4ge1xuICAgIHJldHVybiB0aGlzLmNoYXJnZXMudmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbnRleHRTbmFwc2hvdCgpOiBDb25maWd1cmF0aW9uQ29udGV4dCB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dFNlcnZpY2UucmVzb2x2ZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBjb250ZXh0JCgpOiBPYnNlcnZhYmxlPENvbmZpZ3VyYXRpb25Db250ZXh0PiB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dFNlcnZpY2UucmVzb2x2ZSQoKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRXJyb3IoKSB7XG4gICAgcmV0dXJuIDxUPihzb3VyY2UkOiBPYnNlcnZhYmxlPFQ+KTogT2JzZXJ2YWJsZTxUPiA9PiB7XG4gICAgICByZXR1cm4gc291cmNlJC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnZXJyb3InLCBzdW1tYXJ5OiBlcnJvciB9KTtcblxuICAgICAgICAgIC8vIGJvdW5jZSBiYWNrIGlmIGNvbmZpZ3VyYXRpb24gY2FsbCBoYXMgZmFpbGVkXG4gICAgICAgICAgdGhpcy5ib3VuY2VCYWNrVXBkYXRlJC5uZXh0KHRydWUpO1xuXG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfTtcbiAgfVxufVxuIl19
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1jb25maWd1cmF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL21vZHVsZXMvZmxvdy1jb25maWd1cmF0aW9uL3NlcnZpY2VzL2Zsb3ctY29uZmlndXJhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFTM0MsT0FBTyxFQUFFLFNBQVMsRUFBYyxNQUFNLFFBQVEsQ0FBQztBQUUvQyxPQUFPLEVBQ0wsZUFBZSxFQUNmLFVBQVUsRUFDVixhQUFhLEVBQ2IsR0FBRyxFQUNILElBQUksRUFFSixFQUFFLEVBQ0YsV0FBVyxFQUVYLFNBQVMsRUFDVCxHQUFHLEVBQ0gsVUFBVSxHQUNYLE1BQU0sTUFBTSxDQUFDOzs7Ozs7O0FBT2QsTUFBTSxPQUFPLHdCQUF3QjtJQU1uQyxZQUNVLGVBQWdDLEVBQ2hDLGNBQThCLEVBQzlCLGlCQUFvQyxFQUNwQyxjQUE4QixFQUM5QixhQUFnQyxFQUNoQyxvQkFBMEM7UUFMMUMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixrQkFBYSxHQUFiLGFBQWEsQ0FBbUI7UUFDaEMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQVg1QyxZQUFPLEdBQUcsSUFBSSxlQUFlLENBQThCLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELHNCQUFpQixHQUFHLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBV25ELENBQUM7SUFFSSxLQUFLO1FBQ1gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELFdBQVc7O1FBQ1QsTUFB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Q0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVPLFdBQVc7UUFDakIsT0FBTyxDQUFJLE9BQXNCLEVBQWlCLEVBQUU7WUFDbEQsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUNqQixVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pCLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBRXJCLCtDQUErQztnQkFDL0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFFbEMsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUMsQ0FBQztJQUNKLENBQUM7O3NIQTNIVSx3QkFBd0I7MEhBQXhCLHdCQUF3Qjs0RkFBeEIsd0JBQXdCO2tCQURwQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJpY2VBcGlTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZS9hcGknO1xuaW1wb3J0IHtcbiAgQ29uZmlndXJhdGlvbkNvbnRleHQsXG4gIEh0dHBSZXF1ZXN0Q29uZmlndXJhYmxlT3B0aW9ucyxcbiAgTGluZUl0ZW0sXG4gIFByaWNlUGxhbkNoYXJnZSxcbiAgUHJpY2VTdW1tYXJ5LFxufSBmcm9tICdAdmVsb2NlL2NvcmUnO1xuaW1wb3J0IHsgY2xvbmVEZWVwLCBEaWN0aW9uYXJ5IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBjYXRjaEVycm9yLFxuICBjb21iaW5lTGF0ZXN0LFxuICBtYXAsXG4gIG5vb3AsXG4gIE9ic2VydmFibGUsXG4gIG9mLFxuICBzaGFyZVJlcGxheSxcbiAgU3Vic2NyaXB0aW9uLFxuICBzd2l0Y2hNYXAsXG4gIHRhcCxcbiAgdGhyb3dFcnJvcixcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb250ZXh0U2VydmljZSwgUXVvdGVEcmFmdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHsgRmxvd1VwZGF0ZVBhcmFtcyB9IGZyb20gJy4uL3R5cGVzL3VwZGF0ZS50eXBlcyc7XG5pbXBvcnQgeyBGbG93VXBkYXRlU2VydmljZSB9IGZyb20gJy4vZmxvdy11cGRhdGUuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGbG93Q29uZmlndXJhdGlvblNlcnZpY2Uge1xuICBwcml2YXRlIGNoYXJnZXMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERpY3Rpb25hcnk8UHJpY2VQbGFuQ2hhcmdlPj4oe30pO1xuICBwcml2YXRlIGJvdW5jZUJhY2tVcGRhdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0cnVlKTtcblxuICBwcml2YXRlIHJlc2V0U3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcHJpY2VBcGlTZXJ2aWNlOiBQcmljZUFwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBxdW90ZURyYWZ0U2VydmljZTogUXVvdGVEcmFmdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB1cGRhdGVTZXJ2aWNlOiBGbG93VXBkYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb25TZXJ2aWNlOiBDb25maWd1cmF0aW9uU2VydmljZSxcbiAgKSB7fVxuXG4gIHByaXZhdGUgcmVzZXQoKSB7XG4gICAgdGhpcy5jaGFyZ2VzLm5leHQoe30pO1xuICB9XG5cbiAgaW5pdGlhbGl6ZSQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgdGhpcy5yZXNldFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLnJlc2V0U3Vic2NyaXB0aW9uID0gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5yZXNldCQuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVzZXQoKSk7XG5cbiAgICByZXR1cm4gdGhpcy5jYWxjdWxhdGUkKHRoaXMuZ2V0U25hcHNob3QoKSkucGlwZShtYXAobm9vcCkpO1xuICB9XG5cbiAgY2FsY3VsYXRlJChjdXJyZW50U3RhdGU6IExpbmVJdGVtW10sIG9wdGlvbnM/OiBIdHRwUmVxdWVzdENvbmZpZ3VyYWJsZU9wdGlvbnMpOiBPYnNlcnZhYmxlPFByaWNlU3VtbWFyeT4ge1xuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmNvbnRleHRTZXJ2aWNlLnJlc29sdmUoKTtcblxuICAgIHJldHVybiB0aGlzLnByaWNlQXBpU2VydmljZS5jYWxjdWxhdGUoeyBjb250ZXh0LCBjdXJyZW50U3RhdGUgfSwgb3B0aW9ucykucGlwZShcbiAgICAgIHRhcCgocmVzdWx0OiBQcmljZVN1bW1hcnkpID0+IHtcbiAgICAgICAgdGhpcy5xdW90ZURyYWZ0U2VydmljZS51cGRhdGVCeVByaWNlU3VtbWFyeShyZXN1bHQpO1xuXG4gICAgICAgIHRoaXMuY2hhcmdlcy5uZXh0KHJlc3VsdC5jaGFyZ2VzKTtcblxuICAgICAgICBpZiAoY29udGV4dCkge1xuICAgICAgICAgIHRoaXMuY29udGV4dFNlcnZpY2UudXBkYXRlKHsgcHJvcGVydGllczogY29udGV4dC5wcm9wZXJ0aWVzIH0pO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIHRoaXMuaGFuZGxlRXJyb3IoKSxcbiAgICApO1xuICB9XG5cbiAgY2FsY3VsYXRlKGN1cnJlbnRTdGF0ZTogTGluZUl0ZW1bXSwgb3B0aW9ucz86IEh0dHBSZXF1ZXN0Q29uZmlndXJhYmxlT3B0aW9ucyk6IHZvaWQge1xuICAgIHRoaXMuY2FsY3VsYXRlJChjdXJyZW50U3RhdGUsIG9wdGlvbnMpLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgdXBkYXRlJCh1cGRhdGVzOiBGbG93VXBkYXRlUGFyYW1zW10sIG9wdGlvbnM/OiBIdHRwUmVxdWVzdENvbmZpZ3VyYWJsZU9wdGlvbnMpOiBPYnNlcnZhYmxlPFByaWNlU3VtbWFyeT4ge1xuICAgIGNvbnN0IGxpbmVJdGVtcyA9IGNsb25lRGVlcCh0aGlzLmdldFNuYXBzaG90KCkpO1xuXG4gICAgcmV0dXJuIG9mKFtdKS5waXBlKFxuICAgICAgdGFwKCgpID0+IHRoaXMudXBkYXRlU2VydmljZS51cGRhdGUobGluZUl0ZW1zLCB1cGRhdGVzKSksXG4gICAgICB0aGlzLmhhbmRsZUVycm9yKCksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5jYWxjdWxhdGUkKGxpbmVJdGVtcywgb3B0aW9ucykpLFxuICAgICk7XG4gIH1cblxuICB1cGRhdGUodXBkYXRlczogRmxvd1VwZGF0ZVBhcmFtc1tdLCBvcHRpb25zPzogSHR0cFJlcXVlc3RDb25maWd1cmFibGVPcHRpb25zKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGUkKHVwZGF0ZXMsIG9wdGlvbnMpLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgZGVsZXRlJChpZHM6IHN0cmluZ1tdLCBvcHRpb25zPzogSHR0cFJlcXVlc3RDb25maWd1cmFibGVPcHRpb25zKTogT2JzZXJ2YWJsZTxQcmljZVN1bW1hcnk+IHtcbiAgICByZXR1cm4gb2YoW10pLnBpcGUoXG4gICAgICBtYXAoKCkgPT4gaWRzLnJlZHVjZSgocmVzdWx0LCBpZCkgPT4gdGhpcy51cGRhdGVTZXJ2aWNlLmRlbGV0ZShyZXN1bHQsIGlkKSwgdGhpcy5nZXRTbmFwc2hvdCgpKSksXG4gICAgICB0aGlzLmhhbmRsZUVycm9yKCksXG4gICAgICBzd2l0Y2hNYXAoY3VycmVudFN0YXRlID0+IHRoaXMuY2FsY3VsYXRlJChjdXJyZW50U3RhdGUsIG9wdGlvbnMpKSxcbiAgICApO1xuICB9XG5cbiAgZGVsZXRlKGlkczogc3RyaW5nW10sIG9wdGlvbnM/OiBIdHRwUmVxdWVzdENvbmZpZ3VyYWJsZU9wdGlvbnMpOiB2b2lkIHtcbiAgICB0aGlzLmRlbGV0ZSQoaWRzLCBvcHRpb25zKS5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQoKTogT2JzZXJ2YWJsZTxMaW5lSXRlbVtdPiB7XG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW3RoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGUkLCB0aGlzLmJvdW5jZUJhY2tVcGRhdGUkXSkucGlwZShcbiAgICAgIG1hcCgoW3F1b3RlRHJhZnRdKSA9PiBxdW90ZURyYWZ0LmN1cnJlbnRTdGF0ZSksXG4gICAgICBzaGFyZVJlcGxheSgpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYWRkVG9DYXJ0JChwcm9kdWN0SWQ6IHN0cmluZywgcXR5PzogbnVtYmVyKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UuY29uZmlndXJlRXh0ZXJuYWwkKHByb2R1Y3RJZCwgcXR5KS5waXBlKFxuICAgICAgdGFwKGxpbmVJdGVtID0+IHtcbiAgICAgICAgY29uc3QgY3VycmVudFN0YXRlID0gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZVNuYXBzaG90Py5jdXJyZW50U3RhdGUgPz8gW107XG4gICAgICAgIHRoaXMucXVvdGVEcmFmdFNlcnZpY2Uuc2V0Q3VycmVudExpbmVJdGVtU3RhdGUoWy4uLmN1cnJlbnRTdGF0ZSwgbGluZUl0ZW1dKTtcbiAgICAgIH0pLFxuICAgICAgbWFwKG5vb3ApLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U25hcHNob3QoKTogTGluZUl0ZW1bXSB7XG4gICAgcmV0dXJuIHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVTbmFwc2hvdD8uY3VycmVudFN0YXRlLnNsaWNlKCkgPz8gW107XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoYXJnZXMkKCk6IE9ic2VydmFibGU8RGljdGlvbmFyeTxQcmljZVBsYW5DaGFyZ2U+PiB7XG4gICAgcmV0dXJuIHRoaXMuY2hhcmdlcy5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2hhcmdlc1NuYXBzaG90KCk6IERpY3Rpb25hcnk8UHJpY2VQbGFuQ2hhcmdlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2hhcmdlcy52YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29udGV4dFNuYXBzaG90KCk6IENvbmZpZ3VyYXRpb25Db250ZXh0IHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbnRleHQkKCk6IE9ic2VydmFibGU8Q29uZmlndXJhdGlvbkNvbnRleHQ+IHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlJCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVFcnJvcigpIHtcbiAgICByZXR1cm4gPFQ+KHNvdXJjZSQ6IE9ic2VydmFibGU8VD4pOiBPYnNlcnZhYmxlPFQ+ID0+IHtcbiAgICAgIHJldHVybiBzb3VyY2UkLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuXG4gICAgICAgICAgLy8gYm91bmNlIGJhY2sgaWYgY29uZmlndXJhdGlvbiBjYWxsIGhhcyBmYWlsZWRcbiAgICAgICAgICB0aGlzLmJvdW5jZUJhY2tVcGRhdGUkLm5leHQodHJ1ZSk7XG5cbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9O1xuICB9XG59XG4iXX0=
|