@firestitch/filter 18.2.79 → 18.2.81
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/app/helpers/create-filter-item.d.ts +1 -1
- package/app/models/items/base-item.d.ts +3 -1
- package/esm2022/app/models/items/base-item.mjs +9 -3
- package/esm2022/app/services/filter-controller.service.mjs +4 -2
- package/fesm2022/firestitch-filter.mjs +11 -3
- package/fesm2022/firestitch-filter.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -12,4 +12,4 @@ import { RangeItem } from '../models/items/range-item';
|
|
|
12
12
|
import { SelectItem } from '../models/items/select-item';
|
|
13
13
|
import { TextItem } from '../models/items/text-item';
|
|
14
14
|
import { WeekItem } from '../models/items/week-item';
|
|
15
|
-
export declare function createFilterItem(item: IFilterConfigItem, filter: FilterComponent):
|
|
15
|
+
export declare function createFilterItem(item: IFilterConfigItem, filter: FilterComponent): SelectItem | ChipsItem | RangeItem | DateRangeItem | DateTimeRangeItem | DateItem | WeekItem | DateTimeItem | AutocompleteItem | AutocompleteChipsItem | CheckboxItem | TextItem;
|
|
@@ -14,7 +14,6 @@ export declare abstract class BaseItem<T extends IFilterConfigItem> {
|
|
|
14
14
|
persistanceDisabled: boolean;
|
|
15
15
|
queryParamsDisabled: boolean;
|
|
16
16
|
primary: boolean;
|
|
17
|
-
secondary: boolean;
|
|
18
17
|
changeCallback: (item: BaseItem<T>, filter: FilterComponent) => void;
|
|
19
18
|
initCallback: (item: BaseItem<T>, filter?: any) => void;
|
|
20
19
|
protected readonly _type: T['type'];
|
|
@@ -24,7 +23,10 @@ export declare abstract class BaseItem<T extends IFilterConfigItem> {
|
|
|
24
23
|
private _values$;
|
|
25
24
|
private _secondaryVisible$;
|
|
26
25
|
private _destroy$;
|
|
26
|
+
private _secondary;
|
|
27
27
|
constructor(itemConfig: T, _filter: FilterComponent);
|
|
28
|
+
get secondary(): boolean;
|
|
29
|
+
set secondary(value: boolean);
|
|
28
30
|
secondaryShow(): void;
|
|
29
31
|
secondaryHide(): void;
|
|
30
32
|
get secondaryVisible$(): Observable<boolean>;
|
|
@@ -14,7 +14,6 @@ export class BaseItem {
|
|
|
14
14
|
persistanceDisabled;
|
|
15
15
|
queryParamsDisabled;
|
|
16
16
|
primary;
|
|
17
|
-
secondary;
|
|
18
17
|
changeCallback;
|
|
19
18
|
initCallback;
|
|
20
19
|
_type;
|
|
@@ -24,11 +23,19 @@ export class BaseItem {
|
|
|
24
23
|
_values$ = new BehaviorSubject(null);
|
|
25
24
|
_secondaryVisible$ = new BehaviorSubject(false);
|
|
26
25
|
_destroy$ = new Subject();
|
|
26
|
+
_secondary = false;
|
|
27
27
|
constructor(itemConfig, _filter) {
|
|
28
28
|
this._filter = _filter;
|
|
29
29
|
this._type = itemConfig.type;
|
|
30
30
|
this._initConfig(itemConfig);
|
|
31
31
|
}
|
|
32
|
+
get secondary() {
|
|
33
|
+
return this._secondary;
|
|
34
|
+
}
|
|
35
|
+
set secondary(value) {
|
|
36
|
+
this._secondary = value;
|
|
37
|
+
this._secondaryVisible$.next(value);
|
|
38
|
+
}
|
|
32
39
|
secondaryShow() {
|
|
33
40
|
this._secondaryVisible$.next(true);
|
|
34
41
|
}
|
|
@@ -232,7 +239,6 @@ export class BaseItem {
|
|
|
232
239
|
this.secondary = !this.primary && (item.secondary ?? false);
|
|
233
240
|
this.chipLabel = item.chipLabel;
|
|
234
241
|
this._hidden$.next(item.hide ?? !(item.show ?? true));
|
|
235
|
-
this._secondaryVisible$.next(item.secondary ?? false);
|
|
236
242
|
this.clearable = item.clear ?? true;
|
|
237
243
|
this.persistanceDisabled = item.disablePersist ?? false;
|
|
238
244
|
this.queryParamsDisabled = item.disableQueryParams ?? false;
|
|
@@ -255,4 +261,4 @@ export class BaseItem {
|
|
|
255
261
|
}
|
|
256
262
|
}
|
|
257
263
|
}
|
|
258
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2RlbHMvaXRlbXMvYmFzZS1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFFLE9BQU8sRUFDTCxHQUFHLEVBQ0gsU0FBUyxFQUNULEdBQUcsR0FDSixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHdkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBS3RELE1BQU0sT0FBZ0IsUUFBUTtJQTJCaEI7SUF6QkwsSUFBSSxDQUFTO0lBQ2IsS0FBSyxDQUFNO0lBQ1gsU0FBUyxDQUFvQjtJQUM3QixjQUFjLENBQW1CO0lBQ2pDLFlBQVksQ0FBTTtJQUNsQixTQUFTLENBQVU7SUFDbkIsV0FBVyxDQUFTO0lBQ3BCLG1CQUFtQixDQUFVO0lBQzdCLG1CQUFtQixDQUFVO0lBQzdCLE9BQU8sQ0FBVTtJQUNqQixTQUFTLENBQVU7SUFDbkIsY0FBYyxDQUF1RDtJQUNyRSxZQUFZLENBQXVDO0lBRXZDLEtBQUssQ0FBWTtJQUMxQixTQUFTLENBQTBFO0lBRXJGLFFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxPQUFPLEdBQUcsSUFBSSxlQUFlLENBQXNDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMzRyxRQUFRLEdBQUcsSUFBSSxlQUFlLENBQXlDLElBQUksQ0FBQyxDQUFDO0lBQzdFLGtCQUFrQixHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hELFNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxD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QUFDO1FBQ3hELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsa0JBQWtCLElBQUksS0FBSyxDQUFDO1FBQzVELElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxJQUFJLENBQUMsT0FBTyxLQUFLLFVBQVUsQ0FBQyxDQUFDO1lBQ3hELElBQUksQ0FBQyxPQUEyQixDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTVELElBQUksYUFBYSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUN0QyxDQUFDO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ3JDLEVBQUU7UUFDSixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUN6QyxFQUFFO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDL0IsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDNUIsQ0FBQztJQUNILENBQUM7Q0FJRiIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmb3JrSm9pbiwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIG1hcCxcbiAgc3dpdGNoTWFwLFxuICB0YXAsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgaXNGdW5jdGlvbiB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbmltcG9ydCB0eXBlIHsgRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdGVtVHlwZSB9IGZyb20gJy4uLy4uL2VudW1zL2l0ZW0tdHlwZS5lbnVtJztcbmltcG9ydCB7IElGaWx0ZXJDb25maWdJdGVtIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IElGaWx0ZXJEZWZhdWx0Rm4gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2l0ZW1zL2Jhc2UuaW50ZXJmYWNlJztcblxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUl0ZW08VCBleHRlbmRzIElGaWx0ZXJDb25maWdJdGVtPiB7XG5cbiAgcHVibGljIG5hbWU6IHN0cmluZztcbiAgcHVibGljIGxhYmVsOiBhbnk7XG4gIHB1YmxpYyBjaGlwTGFiZWw6IHN0cmluZyB8IHN0cmluZ1tdO1xuICBwdWJsaWMgZGVmYXVsdFZhbHVlRm46IElGaWx0ZXJEZWZhdWx0Rm47XG4gIHB1YmxpYyBkZWZhdWx0VmFsdWU6IGFueTtcbiAgcHVibGljIGNsZWFyYWJsZTogYm9vbGVhbjtcbiAgcHVibGljIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIHB1YmxpYyBwZXJzaXN0YW5jZURpc2FibGVkOiBib29sZWFuO1xuICBwdWJsaWMgcXVlcnlQYXJhbXNEaXNhYmxlZDogYm9vbGVhbjtcbiAgcHVibGljIHByaW1hcnk6IGJvb2xlYW47XG4gIHB1YmxpYyBzZWNvbmRhcnk6IGJvb2xlYW47XG4gIHB1YmxpYyBjaGFuZ2VDYWxsYmFjazogKGl0ZW06IEJhc2VJdGVtPFQ+LCBmaWx0ZXI6IEZpbHRlckNvbXBvbmVudCkgPT4gdm9pZDtcbiAgcHVibGljIGluaXRDYWxsYmFjazogKGl0ZW06IEJhc2VJdGVtPFQ+LCBmaWx0ZXI/KSA9PiB2b2lkO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBfdHlwZTogVFsndHlwZSddO1xuICBwcm90ZWN0ZWQgX3ZhbHVlc0ZuOiAoa2V5d29yZD86IHN0cmluZywgZmlsdGVyPzogRmlsdGVyQ29tcG9uZW50KSA9PiBPYnNlcnZhYmxlPGFueT4gfCBhbnlbXTtcblxuICBwcml2YXRlIF9oaWRkZW4kID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHByaXZhdGUgX3ZhbHVlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8eyB2YWx1ZTogYW55LCBlbWl0Q2hhbmdlOiBib29sZWFuIH0+KHsgdmFsdWU6IHVuZGVmaW5lZCwgZW1pdENoYW5nZTogdHJ1ZSB9KTtcbiAgcHJpdmF0ZSBfdmFsdWVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8eyBuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmd8bnVsbCB9W10+KG51bGwpO1xuICBwcml2YXRlIF9zZWNvbmRhcnlWaXNpYmxlJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgaXRlbUNvbmZpZzogVCxcbiAgICBwcm90ZWN0ZWQgX2ZpbHRlcjogRmlsdGVyQ29tcG9uZW50LFxuICApIHtcbiAgICB0aGlzLl90eXBlID0gaXRlbUNvbmZpZy50eXBlO1xuICAgIHRoaXMuX2luaXRDb25maWcoaXRlbUNvbmZpZyk7XG4gIH1cblxuICBwdWJsaWMgc2Vjb25kYXJ5U2hvdygpIHtcbiAgICB0aGlzLl9zZWNvbmRhcnlWaXNpYmxlJC5uZXh0KHRydWUpO1xuICB9XG5cbiAgcHVibGljIHNlY29uZGFyeUhpZGUoKSB7XG4gICAgdGhpcy5fc2Vjb25kYXJ5VmlzaWJsZSQubmV4dChmYWxzZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlY29uZGFyeVZpc2libGUkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl9zZWNvbmRhcnlWaXNpYmxlJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2Vjb25kYXJ5VmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc2Vjb25kYXJ5VmlzaWJsZSQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmlsdGVyKCk6IEZpbHRlckNvbXBvbmVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpbHRlcjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGlkZGVuJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5faGlkZGVuJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbWVyZ2VkTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh0aGlzLmxhYmVsKSA/IHRoaXMubGFiZWwuam9pbignIC8gJykgOiB0aGlzLmxhYmVsO1xuICB9XG5cbiAgcHVibGljIGdldCB2aXNpYmxlJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5faGlkZGVuJFxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoaGlkZGVuKSA9PiAhaGlkZGVuKSxcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLl9oaWRkZW4kLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhpZGRlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faGlkZGVuJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1R5cGVBdXRvY29tcGxldGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gSXRlbVR5cGUuQXV0b0NvbXBsZXRlO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1R5cGVBdXRvY29tcGxldGVDaGlwcygpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBJdGVtVHlwZS5BdXRvQ29tcGxldGVDaGlwcztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNUeXBlQ2hpcHMoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gSXRlbVR5cGUuQ2hpcHM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzVHlwZUNoZWNrYm94KCkge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IEl0ZW1UeXBlLkNoZWNrYm94O1xuICB9XG5cbiAgcHVibGljIGdldCBpc1R5cGVTZWxlY3QoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gSXRlbVR5cGUuU2VsZWN0O1xuICB9XG5cbiAgcHVibGljIGdldCBpc1R5cGVEYXRlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IEl0ZW1UeXBlLkRhdGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzVHlwZURhdGVSYW5nZSgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBJdGVtVHlwZS5EYXRlUmFuZ2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzVHlwZVJhbmdlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IEl0ZW1UeXBlLlJhbmdlO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1R5cGVEYXRlVGltZVJhbmdlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IEl0ZW1UeXBlLkRhdGVUaW1lUmFuZ2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzVHlwZURhdGVUaW1lKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IEl0ZW1UeXBlLkRhdGVUaW1lO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1R5cGVLZXl3b3JkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IEl0ZW1UeXBlLktleXdvcmQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzQ2hpcFZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzVmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRlc3Ryb3kkKCkge1xuICAgIHJldHVybiB0aGlzLl9kZXN0cm95JC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdHlwZSgpOiBUWyd0eXBlJ10ge1xuICAgIHJldHVybiB0aGlzLl90eXBlO1xuICB9XG5cbiAgcHVibGljIGdldCBoYXNWYWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZSAhPT0gbnVsbCAmJiB0aGlzLnZhbHVlICE9PSB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG5vdFZhbHVlJCgpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZSRcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKCkgPT4gIXRoaXMuaGFzVmFsdWUpLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGFzVmFsdWUkKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoKSA9PiB0aGlzLmhhc1ZhbHVlKSxcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoaXBzJCgpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZSRcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKCkgPT4gdGhpcy5jaGlwcyB8fCBbXSksXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIHNldCB2YWx1ZXModmFsdWVzKSB7XG4gICAgdGhpcy5fdmFsdWVzJC5uZXh0KHZhbHVlcyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbHVlcygpIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWVzJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCB2YWx1ZXMkKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlcyQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbHVlRXZlbnQkKCkge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbHVlJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWUkLmFzT2JzZXJ2YWJsZSgpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChldmVudCkgPT4gZXZlbnQudmFsdWUpLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlJC5nZXRWYWx1ZSgpLnZhbHVlO1xuICB9XG5cbiAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZSkge1xuICAgIHRoaXMuc2V0VmFsdWUodmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSB2YWx1ZSBpbnN0ZWFkXG4gICAqL1xuICBwdWJsaWMgc2V0IG1vZGVsKHZhbHVlKSB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIHNldFZhbHVlKHZhbHVlOiB1bmtub3duLCBlbWl0Q2hhbmdlOiBib29sZWFuID0gdHJ1ZSkge1xuICAgIHRoaXMuX3ZhbHVlJC5uZXh0KHsgdmFsdWUsIGVtaXRDaGFuZ2UgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHF1ZXJ5UGFyYW0oKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuICAgIHJldHVybiB0aGlzLnF1ZXJ5O1xuICB9XG5cbiAgcHVibGljIGhpZGUoKSB7XG4gICAgaWYoIXRoaXMucHJpbWFyeSkge1xuICAgICAgdGhpcy5zZWNvbmRhcnlIaWRlKCk7XG4gICAgfVxuXG4gICAgdGhpcy5faGlkZGVuJC5uZXh0KHRydWUpO1xuICB9XG5cbiAgcHVibGljIHNob3coKSB7XG4gICAgaWYoIXRoaXMucHJpbWFyeSkge1xuICAgICAgdGhpcy5zZWNvbmRhcnlTaG93KCk7XG4gICAgfVxuXG4gICAgdGhpcy5faGlkZGVuJC5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcXVlcnkoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgaWYoIXRoaXMuaGFzVmFsdWUpIHtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgW3RoaXMubmFtZV06IHRoaXMudmFsdWUsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0KHZhbHVlOiB1bmtub3duKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gZm9ya0pvaW4oW1xuICAgICAgdGhpcy5sb2FkRGVmYXVsdCgpLFxuICAgICAgdGhpcy5sb2FkVmFsdWVzKCksXG4gICAgXSlcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5pbml0VmFsdWUodmFsdWUpKSwgXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGxvYWREZWZhdWx0KCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuZGVmYXVsdFZhbHVlRm4oKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgodmFsdWUpID0+IHtcbiAgICAgICAgICB0aGlzLmRlZmF1bHRWYWx1ZSA9IHZhbHVlO1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgbG9hZFZhbHVlcygpIHtcbiAgICByZXR1cm4gb2YobnVsbClcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgICAgIGlmKCh0aGlzLnR5cGUgPT09IEl0ZW1UeXBlLkF1dG9Db21wbGV0ZSB8fCB0aGlzLnR5cGUgPT09IEl0ZW1UeXBlLkF1dG9Db21wbGV0ZUNoaXBzKSkge1xuICAgICAgICAgICAgcmV0dXJuIG9mKFtdKTtcbiAgICAgICAgICB9IFxuXG4gICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLl92YWx1ZXNGbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgY29uc3QgdmFsdWVzID0gdGhpcy5fdmFsdWVzRm4oKTtcblxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlcyBpbnN0YW5jZW9mIE9ic2VydmFibGUgPyB2YWx1ZXMgOiBvZih2YWx1ZXMpO1xuICAgICAgICAgIH1cbiBcbiAgICAgICAgICByZXR1cm4gb2YodGhpcy52YWx1ZXMpO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFwKCh2YWx1ZXMpID0+IHtcbiAgICAgICAgICB0aGlzLnZhbHVlcyA9ICh2YWx1ZXMgfHwgW10pXG4gICAgICAgICAgICAubWFwKChpdGVtKSA9PiAoe1xuICAgICAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgICAgICB2YWx1ZTogKGl0ZW0udmFsdWUgPz8gbnVsbCkgPT09IG51bGwgPyBudWxsIDogYCR7aXRlbS52YWx1ZX1gLFxuICAgICAgICAgICAgfSkpO1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgaW5pdFZhbHVlKHZhbHVlOiB1bmtub3duKSB7XG4gICAgdGhpcy5zZXRWYWx1ZSh2YWx1ZSA9PT0gdW5kZWZpbmVkID8gdGhpcy5kZWZhdWx0VmFsdWUgOiB2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXIoZW1pdENoYW5nZTogYm9vbGVhbiA9IHRydWUpIHtcbiAgICB0aGlzLnNldFZhbHVlKHVuZGVmaW5lZCwgZW1pdENoYW5nZSk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIHB1YmxpYyBjbGVhckJ5TmFtZShuYW1lOiBzdHJpbmcsIGVtaXRDaGFuZ2U6IGJvb2xlYW4gPSB0cnVlKSB7XG4gICAgLy9cbiAgfVxuXG4gIHB1YmxpYyBkZXN0cm95KCkge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQobnVsbCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9uZSgpOiBCYXNlSXRlbTxUPiB7XG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oXG4gICAgICBPYmplY3QuY3JlYXRlKE9iamVjdC5nZXRQcm90b3R5cGVPZih0aGlzKSksIFxuICAgICAgdGhpcyxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGVtaXRDaGFuZ2UoKSB7XG4gICAgaWYgKHRoaXMuY2hhbmdlQ2FsbGJhY2spIHtcbiAgICAgIHRoaXMuY2hhbmdlQ2FsbGJhY2sodGhpcywgdGhpcy5maWx0ZXIpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2luaXRDb25maWcoaXRlbTogVCkge1xuICAgIHRoaXMubmFtZSA9IGl0ZW0ubmFtZTtcbiAgICB0aGlzLmxhYmVsID0gaXRlbS5sYWJlbDtcbiAgICB0aGlzLnByaW1hcnkgPSBpdGVtLnByaW1hcnkgPz8gZmFsc2U7XG4gICAgdGhpcy5zZWNvbmRhcnkgPSAhdGhpcy5wcmltYXJ5ICYmIChpdGVtLnNlY29uZGFyeSA/PyBmYWxzZSk7XG4gICAgdGhpcy5jaGlwTGFiZWwgPSBpdGVtLmNoaXBMYWJlbDtcbiAgICB0aGlzLl9oaWRkZW4kLm5leHQoaXRlbS5oaWRlID8/ICEoaXRlbS5zaG93ID8/IHRydWUpKTtcbiAgICB0aGlzLl9zZWNvbmRhcnlWaXNpYmxlJC5uZXh0KGl0ZW0uc2Vjb25kYXJ5ID8/IGZhbHNlKTtcbiAgICB0aGlzLmNsZWFyYWJsZSA9IGl0ZW0uY2xlYXIgPz8gdHJ1ZTtcbiAgICB0aGlzLnBlcnNpc3RhbmNlRGlzYWJsZWQgPSBpdGVtLmRpc2FibGVQZXJzaXN0ID8/IGZhbHNlO1xuICAgIHRoaXMucXVlcnlQYXJhbXNEaXNhYmxlZCA9IGl0ZW0uZGlzYWJsZVF1ZXJ5UGFyYW1zID8/IGZhbHNlO1xuICAgIHRoaXMuZGVmYXVsdFZhbHVlRm4gPSB0eXBlb2YgaXRlbS5kZWZhdWx0ID09PSAnZnVuY3Rpb24nID9cbiAgICAgIGl0ZW0uZGVmYXVsdCBhcyBJRmlsdGVyRGVmYXVsdEZuIDogKCkgPT4gb2YoaXRlbS5kZWZhdWx0KTtcblxuICAgIGlmICgncGxhY2Vob2xkZXInIGluIGl0ZW0pIHtcbiAgICAgIHRoaXMucGxhY2Vob2xkZXIgPSBpdGVtLnBsYWNlaG9sZGVyO1xuICAgIH1cblxuICAgIHRoaXMuaW5pdENhbGxiYWNrID0gaXRlbS5pbml0IHx8ICgoKSA9PiB7XG4gICAgICAvL1xuICAgIH0pO1xuXG4gICAgdGhpcy5jaGFuZ2VDYWxsYmFjayA9IGl0ZW0uY2hhbmdlIHx8ICgoKSA9PiB7XG4gICAgICAvL1xuICAgIH0pO1xuXG4gICAgaWYgKGlzRnVuY3Rpb24oaXRlbS52YWx1ZXMpKSB7XG4gICAgICB0aGlzLl92YWx1ZXNGbiA9IGl0ZW0udmFsdWVzO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZhbHVlcyA9IGl0ZW0udmFsdWVzO1xuICAgIH1cbiAgfVxuICBcbiAgcHVibGljIGFic3RyYWN0IGdldCBjaGlwcygpOiB7IG5hbWU/OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcsIGxhYmVsOiBzdHJpbmcgfVtdO1xuXG59XG4iXX0=
|
|
264
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2RlbHMvaXRlbXMvYmFzZS1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFFLE9BQU8sRUFDTCxHQUFHLEVBQ0gsU0FBUyxFQUNULEdBQUcsR0FDSixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHdkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBS3RELE1BQU0sT0FBZ0IsUUFBUTtJQTJCaEI7SUF6QkwsSUFBSSxDQUFTO0lBQ2IsS0FBSyxDQUFNO0lBQ1gsU0FBUyxDQUFvQjtJQUM3QixjQUFjLENBQW1CO0lBQ2pDLFlBQVksQ0FBTTtJQUNsQixTQUFTLENBQVU7SUFDbkIsV0FBVyxDQUFTO0lBQ3BCLG1CQUFtQixDQUFVO0lBQzdCLG1CQUFtQixDQUFVO0lBQzdCLE9BQU8sQ0FBVTtJQUNqQixjQUFjLENBQXVEO0lBQ3JFLFlBQVksQ0FBdUM7SUFFdkMsS0FBSyxDQUFZO0lBQzFCLFNBQVMsQ0FBMEU7SUFFckYsUUFBUSxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLE9BQU8sR0FBRyxJQUFJLGVBQWUsQ0FBc0MsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzNHLFFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBeUMsSUFBSSxDQUFDLENBQUM7SUFDN0Usa0JBQWtCLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEQsU0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFDaEMsVUFBVSxH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QUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQztRQUNwQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGNBQWMsSUFBSSxLQUFLLENBQUM7UUFDeEQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxLQUFLLENBQUM7UUFDNUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxPQUFPLElBQUksQ0FBQyxPQUFPLEtBQUssVUFBVSxDQUFDLENBQUM7WUFDeEQsSUFBSSxDQUFDLE9BQTJCLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFNUQsSUFBSSxhQUFhLElBQUksSUFBSSxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3RDLENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDckMsRUFBRTtRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ3pDLEVBQUU7UUFDSixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMvQixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQztDQUlGIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZvcmtKb2luLCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgbWFwLFxuICBzd2l0Y2hNYXAsXG4gIHRhcCxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBpc0Z1bmN0aW9uIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuaW1wb3J0IHR5cGUgeyBGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEl0ZW1UeXBlIH0gZnJvbSAnLi4vLi4vZW51bXMvaXRlbS10eXBlLmVudW0nO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ0l0ZW0gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2NvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUZpbHRlckRlZmF1bHRGbiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvaXRlbXMvYmFzZS5pbnRlcmZhY2UnO1xuXG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlSXRlbTxUIGV4dGVuZHMgSUZpbHRlckNvbmZpZ0l0ZW0+IHtcblxuICBwdWJsaWMgbmFtZTogc3RyaW5nO1xuICBwdWJsaWMgbGFiZWw6IGFueTtcbiAgcHVibGljIGNoaXBMYWJlbDogc3RyaW5nIHwgc3RyaW5nW107XG4gIHB1YmxpYyBkZWZhdWx0VmFsdWVGbjogSUZpbHRlckRlZmF1bHRGbjtcbiAgcHVibGljIGRlZmF1bHRWYWx1ZTogYW55O1xuICBwdWJsaWMgY2xlYXJhYmxlOiBib29sZWFuO1xuICBwdWJsaWMgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgcHVibGljIHBlcnNpc3RhbmNlRGlzYWJsZWQ6IGJvb2xlYW47XG4gIHB1YmxpYyBxdWVyeVBhcmFtc0Rpc2FibGVkOiBib29sZWFuO1xuICBwdWJsaWMgcHJpbWFyeTogYm9vbGVhbjtcbiAgcHVibGljIGNoYW5nZUNhbGxiYWNrOiAoaXRlbTogQmFzZUl0ZW08VD4sIGZpbHRlcjogRmlsdGVyQ29tcG9uZW50KSA9PiB2b2lkO1xuICBwdWJsaWMgaW5pdENhbGxiYWNrOiAoaXRlbTogQmFzZUl0ZW08VD4sIGZpbHRlcj8pID0+IHZvaWQ7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF90eXBlOiBUWyd0eXBlJ107XG4gIHByb3RlY3RlZCBfdmFsdWVzRm46IChrZXl3b3JkPzogc3RyaW5nLCBmaWx0ZXI/OiBGaWx0ZXJDb21wb25lbnQpID0+IE9ic2VydmFibGU8YW55PiB8IGFueVtdO1xuXG4gIHByaXZhdGUgX2hpZGRlbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgcHJpdmF0ZSBfdmFsdWUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDx7IHZhbHVlOiBhbnksIGVtaXRDaGFuZ2U6IGJvb2xlYW4gfT4oeyB2YWx1ZTogdW5kZWZpbmVkLCBlbWl0Q2hhbmdlOiB0cnVlIH0pO1xuICBwcml2YXRlIF92YWx1ZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDx7IG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZ3xudWxsIH1bXT4obnVsbCk7XG4gIHByaXZhdGUgX3NlY29uZGFyeVZpc2libGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBfc2Vjb25kYXJ5ID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgaXRlbUNvbmZpZzogVCxcbiAgICBwcm90ZWN0ZWQgX2ZpbHRlcjogRmlsdGVyQ29tcG9uZW50LFxuICApIHtcbiAgICB0aGlzLl90eXBlID0gaXRlbUNvbmZpZy50eXBlO1xuICAgIHRoaXMuX2luaXRDb25maWcoaXRlbUNvbmZpZyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlY29uZGFyeSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc2Vjb25kYXJ5O1xuICB9XG5cbiAgcHVibGljIHNldCBzZWNvbmRhcnkodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zZWNvbmRhcnkgPSB2YWx1ZTtcbiAgICB0aGlzLl9zZWNvbmRhcnlWaXNpYmxlJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWNvbmRhcnlTaG93KCkge1xuICAgIHRoaXMuX3NlY29uZGFyeVZpc2libGUkLm5leHQodHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgc2Vjb25kYXJ5SGlkZSgpIHtcbiAgICB0aGlzLl9zZWNvbmRhcnlWaXNpYmxlJC5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2Vjb25kYXJ5VmlzaWJsZSQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlY29uZGFyeVZpc2libGUkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBzZWNvbmRhcnlWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zZWNvbmRhcnlWaXNpYmxlJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBmaWx0ZXIoKTogRmlsdGVyQ29tcG9uZW50IHtcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVyO1xuICB9XG5cbiAgcHVibGljIGdldCBoaWRkZW4kKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl9oaWRkZW4kLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBtZXJnZWRMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHRoaXMubGFiZWwpID8gdGhpcy5sYWJlbC5qb2luKCcgLyAnKSA6IHRoaXMubGFiZWw7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZpc2libGUkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl9oaWRkZW4kXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChoaWRkZW4pID0+ICFoaWRkZW4pLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuX2hpZGRlbiQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGlkZGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9oaWRkZW4kLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzVHlwZUF1dG9jb21wbGV0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBJdGVtVHlwZS5BdXRvQ29tcGxldGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzVHlwZUF1dG9jb21wbGV0ZUNoaXBzKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IEl0ZW1UeXBlLkF1dG9Db21wbGV0ZUNoaXBzO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1R5cGVDaGlwcygpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBJdGVtVHlwZS5DaGlwcztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNUeXBlQ2hlY2tib3goKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gSXRlbVR5cGUuQ2hlY2tib3g7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzVHlwZVNlbGVjdCgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBJdGVtVHlwZS5TZWxlY3Q7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzVHlwZURhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gSXRlbVR5cGUuRGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNUeXBlRGF0ZVJhbmdlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IEl0ZW1UeXBlLkRhdGVSYW5nZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNUeXBlUmFuZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gSXRlbVR5cGUuUmFuZ2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzVHlwZURhdGVUaW1lUmFuZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gSXRlbVR5cGUuRGF0ZVRpbWVSYW5nZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNUeXBlRGF0ZVRpbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gSXRlbVR5cGUuRGF0ZVRpbWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzVHlwZUtleXdvcmQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gSXRlbVR5cGUuS2V5d29yZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNDaGlwVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXNWYWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGVzdHJveSQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2Rlc3Ryb3kkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCB0eXBlKCk6IFRbJ3R5cGUnXSB7XG4gICAgcmV0dXJuIHRoaXMuX3R5cGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhhc1ZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlICE9PSBudWxsICYmIHRoaXMudmFsdWUgIT09IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbm90VmFsdWUkKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoKSA9PiAhdGhpcy5oYXNWYWx1ZSksXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCBoYXNWYWx1ZSQoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUkXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCgpID0+IHRoaXMuaGFzVmFsdWUpLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2hpcHMkKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoKSA9PiB0aGlzLmNoaXBzIHx8IFtdKSxcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2V0IHZhbHVlcyh2YWx1ZXMpIHtcbiAgICB0aGlzLl92YWx1ZXMkLm5leHQodmFsdWVzKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmFsdWVzKCkge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZXMkLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbHVlcyQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWVzJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmFsdWVFdmVudCQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmFsdWUkKCkge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZSQuYXNPYnNlcnZhYmxlKClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKGV2ZW50KSA9PiBldmVudC52YWx1ZSksXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCB2YWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWUkLmdldFZhbHVlKCkudmFsdWU7XG4gIH1cblxuICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlKSB7XG4gICAgdGhpcy5zZXRWYWx1ZSh2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIHZhbHVlIGluc3RlYWRcbiAgICovXG4gIHB1YmxpYyBzZXQgbW9kZWwodmFsdWUpIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgc2V0VmFsdWUodmFsdWU6IHVua25vd24sIGVtaXRDaGFuZ2U6IGJvb2xlYW4gPSB0cnVlKSB7XG4gICAgdGhpcy5fdmFsdWUkLm5leHQoeyB2YWx1ZSwgZW1pdENoYW5nZSB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcXVlcnlQYXJhbSgpOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB7XG4gICAgcmV0dXJuIHRoaXMucXVlcnk7XG4gIH1cblxuICBwdWJsaWMgaGlkZSgpIHtcbiAgICBpZighdGhpcy5wcmltYXJ5KSB7XG4gICAgICB0aGlzLnNlY29uZGFyeUhpZGUoKTtcbiAgICB9XG5cbiAgICB0aGlzLl9oaWRkZW4kLm5leHQodHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgc2hvdygpIHtcbiAgICBpZighdGhpcy5wcmltYXJ5KSB7XG4gICAgICB0aGlzLnNlY29uZGFyeVNob3coKTtcbiAgICB9XG5cbiAgICB0aGlzLl9oaWRkZW4kLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgcHVibGljIGdldCBxdWVyeSgpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICBpZighdGhpcy5oYXNWYWx1ZSkge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBbdGhpcy5uYW1lXTogdGhpcy52YWx1ZSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGluaXQodmFsdWU6IHVua25vd24pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiBmb3JrSm9pbihbXG4gICAgICB0aGlzLmxvYWREZWZhdWx0KCksXG4gICAgICB0aGlzLmxvYWRWYWx1ZXMoKSxcbiAgICBdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLmluaXRWYWx1ZSh2YWx1ZSkpLCBcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgbG9hZERlZmF1bHQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5kZWZhdWx0VmFsdWVGbigpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgIHRoaXMuZGVmYXVsdFZhbHVlID0gdmFsdWU7XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBsb2FkVmFsdWVzKCkge1xuICAgIHJldHVybiBvZihudWxsKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB7XG4gICAgICAgICAgaWYoKHRoaXMudHlwZSA9PT0gSXRlbVR5cGUuQXV0b0NvbXBsZXRlIHx8IHRoaXMudHlwZSA9PT0gSXRlbVR5cGUuQXV0b0NvbXBsZXRlQ2hpcHMpKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YoW10pO1xuICAgICAgICAgIH0gXG5cbiAgICAgICAgICBpZiAodHlwZW9mIHRoaXMuX3ZhbHVlc0ZuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLl92YWx1ZXNGbigpO1xuXG4gICAgICAgICAgICByZXR1cm4gdmFsdWVzIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSA/IHZhbHVlcyA6IG9mKHZhbHVlcyk7XG4gICAgICAgICAgfVxuIFxuICAgICAgICAgIHJldHVybiBvZih0aGlzLnZhbHVlcyk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YXAoKHZhbHVlcykgPT4ge1xuICAgICAgICAgIHRoaXMudmFsdWVzID0gKHZhbHVlcyB8fCBbXSlcbiAgICAgICAgICAgIC5tYXAoKGl0ZW0pID0+ICh7XG4gICAgICAgICAgICAgIC4uLml0ZW0sXG4gICAgICAgICAgICAgIHZhbHVlOiAoaXRlbS52YWx1ZSA/PyBudWxsKSA9PT0gbnVsbCA/IG51bGwgOiBgJHtpdGVtLnZhbHVlfWAsXG4gICAgICAgICAgICB9KSk7XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0VmFsdWUodmFsdWU6IHVua25vd24pIHtcbiAgICB0aGlzLnNldFZhbHVlKHZhbHVlID09PSB1bmRlZmluZWQgPyB0aGlzLmRlZmF1bHRWYWx1ZSA6IHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhcihlbWl0Q2hhbmdlOiBib29sZWFuID0gdHJ1ZSkge1xuICAgIHRoaXMuc2V0VmFsdWUodW5kZWZpbmVkLCBlbWl0Q2hhbmdlKTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgcHVibGljIGNsZWFyQnlOYW1lKG5hbWU6IHN0cmluZywgZW1pdENoYW5nZTogYm9vbGVhbiA9IHRydWUpIHtcbiAgICAvL1xuICB9XG5cbiAgcHVibGljIGRlc3Ryb3koKSB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dChudWxsKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIGNsb25lKCk6IEJhc2VJdGVtPFQ+IHtcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihcbiAgICAgIE9iamVjdC5jcmVhdGUoT2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMpKSwgXG4gICAgICB0aGlzLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZW1pdENoYW5nZSgpIHtcbiAgICBpZiAodGhpcy5jaGFuZ2VDYWxsYmFjaykge1xuICAgICAgdGhpcy5jaGFuZ2VDYWxsYmFjayh0aGlzLCB0aGlzLmZpbHRlcik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdENvbmZpZyhpdGVtOiBUKSB7XG4gICAgdGhpcy5uYW1lID0gaXRlbS5uYW1lO1xuICAgIHRoaXMubGFiZWwgPSBpdGVtLmxhYmVsO1xuICAgIHRoaXMucHJpbWFyeSA9IGl0ZW0ucHJpbWFyeSA/PyBmYWxzZTtcbiAgICB0aGlzLnNlY29uZGFyeSA9ICF0aGlzLnByaW1hcnkgJiYgKGl0ZW0uc2Vjb25kYXJ5ID8/IGZhbHNlKTtcbiAgICB0aGlzLmNoaXBMYWJlbCA9IGl0ZW0uY2hpcExhYmVsO1xuICAgIHRoaXMuX2hpZGRlbiQubmV4dChpdGVtLmhpZGUgPz8gIShpdGVtLnNob3cgPz8gdHJ1ZSkpO1xuICAgIHRoaXMuY2xlYXJhYmxlID0gaXRlbS5jbGVhciA/PyB0cnVlO1xuICAgIHRoaXMucGVyc2lzdGFuY2VEaXNhYmxlZCA9IGl0ZW0uZGlzYWJsZVBlcnNpc3QgPz8gZmFsc2U7XG4gICAgdGhpcy5xdWVyeVBhcmFtc0Rpc2FibGVkID0gaXRlbS5kaXNhYmxlUXVlcnlQYXJhbXMgPz8gZmFsc2U7XG4gICAgdGhpcy5kZWZhdWx0VmFsdWVGbiA9IHR5cGVvZiBpdGVtLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgP1xuICAgICAgaXRlbS5kZWZhdWx0IGFzIElGaWx0ZXJEZWZhdWx0Rm4gOiAoKSA9PiBvZihpdGVtLmRlZmF1bHQpO1xuXG4gICAgaWYgKCdwbGFjZWhvbGRlcicgaW4gaXRlbSkge1xuICAgICAgdGhpcy5wbGFjZWhvbGRlciA9IGl0ZW0ucGxhY2Vob2xkZXI7XG4gICAgfVxuXG4gICAgdGhpcy5pbml0Q2FsbGJhY2sgPSBpdGVtLmluaXQgfHwgKCgpID0+IHtcbiAgICAgIC8vXG4gICAgfSk7XG5cbiAgICB0aGlzLmNoYW5nZUNhbGxiYWNrID0gaXRlbS5jaGFuZ2UgfHwgKCgpID0+IHtcbiAgICAgIC8vXG4gICAgfSk7XG5cbiAgICBpZiAoaXNGdW5jdGlvbihpdGVtLnZhbHVlcykpIHtcbiAgICAgIHRoaXMuX3ZhbHVlc0ZuID0gaXRlbS52YWx1ZXM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmFsdWVzID0gaXRlbS52YWx1ZXM7XG4gICAgfVxuICB9XG4gIFxuICBwdWJsaWMgYWJzdHJhY3QgZ2V0IGNoaXBzKCk6IHsgbmFtZT86IHN0cmluZywgdmFsdWU6IHN0cmluZywgbGFiZWw6IHN0cmluZyB9W107XG5cbn1cbiJdfQ==
|
|
@@ -202,9 +202,11 @@ export class FilterController {
|
|
|
202
202
|
let secondaryItemCount = items
|
|
203
203
|
.filter((item) => item.secondary && item.visible)
|
|
204
204
|
.length;
|
|
205
|
-
|
|
205
|
+
items
|
|
206
|
+
.forEach((item) => {
|
|
206
207
|
if (!item.primary &&
|
|
207
208
|
!item.secondary &&
|
|
209
|
+
item.visible &&
|
|
208
210
|
secondaryItemCount < this._config.minSecondaryItems) {
|
|
209
211
|
item.secondary = true;
|
|
210
212
|
secondaryItemCount++;
|
|
@@ -238,4 +240,4 @@ export class FilterController {
|
|
|
238
240
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterController, decorators: [{
|
|
239
241
|
type: Injectable
|
|
240
242
|
}] });
|
|
241
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWNvbnRyb2xsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvc2VydmljZXMvZmlsdGVyLWNvbnRyb2xsZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJaEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFNakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRzlDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFJM0QsTUFBTSxPQUFPLGdCQUFnQjtJQUVwQixNQUFNLENBQWtCO0lBRXZCLE9BQU8sR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQXVDLENBQUM7SUFDeEQsT0FBTyxDQUFpQjtJQUN4QixNQUFNLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUM3QixRQUFRLEdBQUcs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QUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN6QyxDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQjthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7d0dBdFNVLGdCQUFnQjs0R0FBaEIsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmb3JrSm9pbiwgbWVyZ2UsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbHRlciwgZmluYWxpemUsIG1hcCwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuXG5pbXBvcnQgdHlwZSB7IEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvZmlsdGVyL2ZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgY3JlYXRlRmlsdGVySXRlbSB9IGZyb20gJy4uL2hlbHBlcnMvY3JlYXRlLWZpbHRlci1pdGVtJztcbmltcG9ydCB7XG4gIElGaWx0ZXJDb25maWdJdGVtLFxufSBmcm9tICcuLi9pbnRlcmZhY2VzL2NvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgS2V5VmFsdWUgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2V4dGVybmFsLXBhcmFtcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRnNGaWx0ZXJDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvZmlsdGVyLWNvbmZpZyc7XG5pbXBvcnQgeyBLZXl3b3JkSXRlbSB9IGZyb20gJy4uL21vZGVscy9pdGVtcyc7XG5pbXBvcnQgeyBCYXNlSXRlbSB9IGZyb20gJy4uL21vZGVscy9pdGVtcy9iYXNlLWl0ZW0nO1xuXG5pbXBvcnQgeyBLZXl3b3JkQ29udHJvbGxlciB9IGZyb20gJy4va2V5d29yZC1jb250cm9sbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGVyc2lzdGFuY2VDb250cm9sbGVyIH0gZnJvbSAnLi9wZXJzaXN0YW5jZS1jb250cm9sbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUXVlcnlQYXJhbUNvbnRyb2xsZXIgfSBmcm9tICcuL3F1ZXJ5LXBhcmFtLWNvbnRyb2xsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTYXZlZEZpbHRlckNvbnRyb2xsZXIgfSBmcm9tICcuL3NhdmVkLWZpbHRlci1jb250cm9sbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU29ydENvbnRyb2xsZXIgfSBmcm9tICcuL3NvcnQtY29udHJvbGxlci5zZXJ2aWNlJztcblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRmlsdGVyQ29udHJvbGxlciBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgcHVibGljIGZpbHRlcjogRmlsdGVyQ29tcG9uZW50O1xuXG4gIHByaXZhdGUgX3JlYWR5JCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICBwcml2YXRlIF9pdGVtcyA9IG5ldyBNYXA8c3RyaW5nLCBCYXNlSXRlbTxJRmlsdGVyQ29uZmlnSXRlbT4+KCk7XG4gIHByaXZhdGUgX2NvbmZpZzogRnNGaWx0ZXJDb25maWc7XG4gIHByaXZhdGUgX2luaXQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBfY2hhbmdlJCA9IG5ldyBTdWJqZWN0PEJhc2VJdGVtPElGaWx0ZXJDb25maWdJdGVtPltdPigpO1xuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgX3BlcnNpc3RhbmNlQ29udHJvbGxlciA9IGluamVjdChQZXJzaXN0YW5jZUNvbnRyb2xsZXIpO1xuICBwcml2YXRlIF9zYXZlZEZpbHRlckNvbnRyb2xsZXIgPSBpbmplY3QoU2F2ZWRGaWx0ZXJDb250cm9sbGVyKTtcbiAgcHJpdmF0ZSBfcXVlcnlQYXJhbUNvbnRyb2xsZXIgPSBpbmplY3QoUXVlcnlQYXJhbUNvbnRyb2xsZXIpO1xuICBwcml2YXRlIF9rZXl3b3JkQ29udHJvbGxlciA9IGluamVjdChLZXl3b3JkQ29udHJvbGxlcik7XG4gIHByaXZhdGUgX3NvcnRDb250cm9sbGVyID0gaW5qZWN0KFNvcnRDb250cm9sbGVyKTtcblxuICBwdWJsaWMgZ2V0IGl0ZW1zKCk6IEJhc2VJdGVtPElGaWx0ZXJDb25maWdJdGVtPltdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLl9pdGVtcy52YWx1ZXMoKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGl0ZW1OYW1lcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMubWFwKChpdGVtKSA9PiBpdGVtLm5hbWUpO1xuICB9XG5cbiAgcHVibGljIGdldCBjb25maWcoKTogRnNGaWx0ZXJDb25maWcge1xuICAgIHJldHVybiB0aGlzLl9jb25maWc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGluaXQkKCkge1xuICAgIHJldHVybiB0aGlzLl9pbml0JC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2hhbmdlJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fY2hhbmdlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIGRlYm91bmNlVGltZSgzMCksXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGNoYW5nZSgpIHtcbiAgICB0aGlzLl9jaGFuZ2UkLm5leHQobnVsbCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlYWR5JCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcmVhZHkkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQobnVsbCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0KGNvbmZpZzogRnNGaWx0ZXJDb25maWcpIHtcbiAgICB0aGlzLl9jb25maWcgPSBjb25maWc7XG4gICAgb2YobnVsbClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5fYWRkSXRlbXModGhpcy5fY29uZmlnLml0ZW1zIHx8IFtdKSksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLl9rZXl3b3JkQ29udHJvbGxlci5pbml0KCkpLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5fc29ydENvbnRyb2xsZXIuaW5pdCh0aGlzKSksXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiBmb3JrSm9pbih7XG4gICAgICAgICAgc2F2ZWRGaWx0ZXJzOiB0aGlzLl9zYXZlZEZpbHRlckNvbnRyb2xsZXIuaW5pdCh0aGlzKSxcbiAgICAgICAgICBwZXJzaXN0YW5jZTogdGhpcy5fcGVyc2lzdGFuY2VDb250cm9sbGVyLmluaXQodGhpcyksXG4gICAgICAgICAgcXVlcnlQYXJhbXM6IHRoaXMuX3F1ZXJ5UGFyYW1Db250cm9sbGVyLmluaXQodGhpcyksXG4gICAgICAgIH0pKSxcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuX2luaXRJdGVtcygpKSwgICAgICAgIFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5faW5pdENoYW5nZXMoKSksXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5faW5pdCQubmV4dCgpO1xuICAgICAgICAgIGlmICh0aGlzLl9jb25maWcuaW5pdCkge1xuICAgICAgICAgICAgdGhpcy5fY29uZmlnLmluaXQodGhpcy5xdWVyeSwgdGhpcy5fc29ydENvbnRyb2xsZXIuZ2V0U29ydCgpLCB0aGlzLmZpbHRlcik7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgZmluYWxpemUoKCkgPT4gdGhpcy5fcmVhZHkkLm5leHQodHJ1ZSkpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIGdldEl0ZW0obmFtZTogc3RyaW5nKTogQmFzZUl0ZW08SUZpbHRlckNvbmZpZ0l0ZW0+IHtcbiAgICByZXR1cm4gdGhpcy5faXRlbXMuZ2V0KG5hbWUpO1xuICB9XG5cbiAgcHVibGljIGZpbHRlcnNDbGVhcigpIHtcbiAgICB0aGlzLml0ZW1zXG4gICAgICAuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmNsZWFyYWJsZSlcbiAgICAgIC5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgIGl0ZW0uY2xlYXIoZmFsc2UpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLl9rZXl3b3JkQ29udHJvbGxlci5jbGVhcihmYWxzZSk7XG4gICAgdGhpcy5fc29ydENvbnRyb2xsZXIuY2xlYXIoKTtcblxuICAgIHRoaXMuY2hhbmdlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHF1ZXJ5UGFyYW0oKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuICAgIHJldHVybiB0aGlzLml0ZW1zXG4gICAgICAucmVkdWNlKChhY2N1bSwgaXRlbSkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmFjY3VtLFxuICAgICAgICAgIC4uLml0ZW0ucXVlcnlQYXJhbSxcbiAgICAgICAgfTtcbiAgICAgIH0sIHt9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcXVlcnkoKTogS2V5VmFsdWUge1xuICAgIHJldHVybiB7XG4gICAgICAuLi50aGlzLml0ZW1zXG4gICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0udmlzaWJsZSlcbiAgICAgICAgLnJlZHVjZSgoYWNjdW0sIGl0ZW0pID0+IHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uYWNjdW0sXG4gICAgICAgICAgICAuLi5pdGVtLnF1ZXJ5LFxuICAgICAgICAgIH07XG4gICAgICAgIH0sIHt9KSxcbiAgICAgIC4uLnRoaXMuX3NvcnRDb250cm9sbGVyLnF1ZXJ5KCksXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgdmFsdWVzKHZhbHVlczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pIHtcbiAgICB0aGlzLml0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGl0ZW0uc2V0VmFsdWUodmFsdWVzW2l0ZW0ubmFtZV0sIGZhbHNlKTtcbiAgICAgIGl0ZW0uZW1pdENoYW5nZSgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5jaGFuZ2UoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmFsdWVzKCk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5pdGVtc1xuICAgICAgLnJlZHVjZSgoYWNjLCBpdGVtKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gaXRlbS52YWx1ZTtcblxuICAgICAgICBpZiAodmFsdWUgIT09IG51bGwpIHtcbiAgICAgICAgICBhY2NbaXRlbS5uYW1lXSA9IHZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIHt9KTtcbiAgfVxuICBcbiAgcHJpdmF0ZSBfZ2V0SW5pdFZhbHVlcygpOiBLZXlWYWx1ZSB7XG4gICAgbGV0IHJlc3VsdDogS2V5VmFsdWUgPSB7fTtcblxuICAgIGlmICh0aGlzLl9zYXZlZEZpbHRlckNvbnRyb2xsZXIuZW5hYmxlZCAmJiB0aGlzLl9zYXZlZEZpbHRlckNvbnRyb2xsZXIuYWN0aXZlRmlsdGVyKSB7XG4gICAgICBjb25zdCBxdWVyeSA9IE9iamVjdC5rZXlzKHJlc3VsdClcbiAgICAgICAgLmZpbHRlcigoa2V5KSA9PiAhdGhpcy5pdGVtTmFtZXMuaW5jbHVkZXMoa2V5KSlcbiAgICAgICAgLnJlZHVjZSgoYWNjLCBrZXkpID0+IHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgICAgW2tleV06IHJlc3VsdFtrZXldLFxuICAgICAgICAgIH07XG4gICAgICAgIH0sIHt9KTtcblxuICAgICAgcmVzdWx0ID0ge1xuICAgICAgICAuLi5xdWVyeSwgXG4gICAgICAgIC4uLnRoaXMuX3NhdmVkRmlsdGVyQ29udHJvbGxlci5hY3RpdmVGaWx0ZXJEYXRhLFxuICAgICAgfTtcblxuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHQgPSB7XG4gICAgICAgIC4uLnJlc3VsdCwgXG4gICAgICAgIC4uLnRoaXMuX3BlcnNpc3RhbmNlQ29udHJvbGxlci5nZXRRdWVyeSgpLFxuICAgICAgfTtcbiAgICAgIFxuICAgICAgaWYgKHRoaXMuX2NvbmZpZy5xdWVyeVBhcmFtKSB7XG4gICAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgICAuLi5yZXN1bHQsIFxuICAgICAgICAgIC4uLnRoaXMuX3F1ZXJ5UGFyYW1Db250cm9sbGVyLnBhcmFtcyxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdEl0ZW1zKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgaWYoIXRoaXMuaXRlbXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgfVxuICAgIFxuICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMuX2dldEluaXRWYWx1ZXMoKTtcblxuICAgIHJldHVybiBmb3JrSm9pbihcbiAgICAgIHRoaXMuaXRlbXNcbiAgICAgICAgLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICAgIHJldHVybiBpdGVtLmluaXQodmFsdWVzW2l0ZW0ubmFtZV0pO1xuICAgICAgICB9KSxcbiAgICApXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLl9pbml0RW5hYmxlZEl0ZW1zKCk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5pdGVtc1xuICAgICAgICAgIC5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpdGVtLmluaXRDYWxsYmFjayhpdGVtLCB0aGlzLmZpbHRlcik7XG4gICAgICAgICAgfSkpLFxuICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2luaXRFbmFibGVkSXRlbXMoKSB7XG4gICAgbGV0IGVuYWJsZWQgPSAwO1xuXG4gICAgdGhpcy5pdGVtc1xuICAgICAgLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgaWYoIWl0ZW0ucHJpbWFyeSkge1xuICAgICAgICAgIGlmKGl0ZW0uaGFzVmFsdWUpIHtcbiAgICAgICAgICAgIGl0ZW0uc2Vjb25kYXJ5U2hvdygpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICB0aGlzLml0ZW1zXG4gICAgICAuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICBpZighaXRlbS5wcmltYXJ5KSB7XG4gICAgICAgICAgaWYoaXRlbS5zZWNvbmRhcnlWaXNpYmxlKSB7XG4gICAgICAgICAgICBlbmFibGVkKys7XG4gICAgICAgICAgfSBlbHNlIGlmKGVuYWJsZWQgPCB0aGlzLl9jb25maWcubWF4RW5hYmxlZCkge1xuICAgICAgICAgICAgaXRlbS5zZWNvbmRhcnlTaG93KCk7XG4gICAgICAgICAgICBlbmFibGVkKys7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2FkZEl0ZW1zKGl0ZW1zQ29uZmlnOiBJRmlsdGVyQ29uZmlnSXRlbVtdKSB7XG4gICAgY29uc3QgaXRlbXMgPSBpdGVtc0NvbmZpZyAgICAgIFxuICAgICAgLmZpbHRlcigoaXRlbUNvbmZpZykgPT4ge1xuICAgICAgICBpZiAodGhpcy5faXRlbXMuaGFzKGl0ZW1Db25maWcubmFtZSkpIHtcbiAgICAgICAgICB0aHJvdyBFcnJvcignRmlsdGVyIGluaXQgZXJyb3IuIEl0ZW1zIG5hbWUgbXVzdCBiZSB1bmlxdWUuJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0pXG4gICAgICAubWFwKChpdGVtQ29uZmlnKSA9PiB7ICBcbiAgICAgICAgY29uc3QgZmlsdGVySXRlbSA9IGNyZWF0ZUZpbHRlckl0ZW0oaXRlbUNvbmZpZywgdGhpcy5maWx0ZXIpO1xuXG4gICAgICAgIGlmIChmaWx0ZXJJdGVtIGluc3RhbmNlb2YgS2V5d29yZEl0ZW0pIHtcbiAgICAgICAgICB0aGlzLl9rZXl3b3JkQ29udHJvbGxlci5rZXl3b3JkSXRlbSA9IGZpbHRlckl0ZW07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmlsdGVySXRlbTtcbiAgICAgIH0pO1xuXG4gICAgbGV0IHNlY29uZGFyeUl0ZW1Db3VudCA9IGl0ZW1zXG4gICAgICAuZmlsdGVyKChpdGVtKSA9PiBpdGVtLnNlY29uZGFyeSAmJiBpdGVtLnZpc2libGUpXG4gICAgICAubGVuZ3RoO1xuXG4gICAgdGhpcy5faXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgaWYoXG4gICAgICAgICFpdGVtLnByaW1hcnkgJiYgXG4gICAgICAgICFpdGVtLnNlY29uZGFyeSAmJiBcbiAgICAgICAgc2Vjb25kYXJ5SXRlbUNvdW50IDwgdGhpcy5fY29uZmlnLm1pblNlY29uZGFyeUl0ZW1zXG4gICAgICApIHtcbiAgICAgICAgaXRlbS5zZWNvbmRhcnkgPSB0cnVlO1xuICAgICAgICBzZWNvbmRhcnlJdGVtQ291bnQrKztcbiAgICAgIH0gIFxuICAgIH0pO1xuXG4gICAgdGhpcy5faXRlbXMgPSBuZXcgTWFwKGl0ZW1zXG4gICAgICAubWFwKChpdGVtKTogW3N0cmluZywgQmFzZUl0ZW08SUZpbHRlckNvbmZpZ0l0ZW0+XSA9PiBbaXRlbS5uYW1lLCBpdGVtXSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdENoYW5nZXMoKSB7XG4gICAgbWVyZ2UoXG4gICAgICAuLi50aGlzLml0ZW1zXG4gICAgICAgIC5tYXAoKGl0ZW0pID0+IGl0ZW0udmFsdWVFdmVudCRcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50LmVtaXRDaGFuZ2UpLFxuICAgICAgICAgICAgbWFwKCgpID0+IGl0ZW0pLFxuICAgICAgICAgICkpLFxuICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKGl0ZW0pID0+IHRoaXMuX2NoYW5nZSQubmV4dChbaXRlbV0pKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcblxuICAgIHRoaXMuX2NoYW5nZSRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKGl0ZW1zOiBCYXNlSXRlbTxJRmlsdGVyQ29uZmlnSXRlbT5bXSkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLl9jb25maWcuY2hhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLl9jb25maWcuY2hhbmdlKHRoaXMucXVlcnksIHRoaXMuX3NvcnRDb250cm9sbGVyLmdldFNvcnQoKSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaXRlbXM/LmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGlmIChpdGVtLmNoYW5nZUNhbGxiYWNrKSB7XG4gICAgICAgICAgICAgIGl0ZW0uY2hhbmdlQ2FsbGJhY2soaXRlbSwgdGhpcy5maWx0ZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG59XG4iXX0=
|
|
243
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWNvbnRyb2xsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvc2VydmljZXMvZmlsdGVyLWNvbnRyb2xsZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJaEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFNakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRzlDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFJM0QsTUFBTSxPQUFPLGdCQUFnQjtJQUVwQixNQUFNLENBQWtCO0lBRXZCLE9BQU8sR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQXVDLENBQUM7SUFDeEQsT0FBTyxDQUFpQjtJQUN4QixNQUFNLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUM3QixRQUFRLEdBQUcs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RUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3pDLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQzFCO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQzt3R0F4U1UsZ0JBQWdCOzRHQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZvcmtKb2luLCBtZXJnZSwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmlsdGVyLCBmaW5hbGl6ZSwgbWFwLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5cbmltcG9ydCB0eXBlIHsgRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBjcmVhdGVGaWx0ZXJJdGVtIH0gZnJvbSAnLi4vaGVscGVycy9jcmVhdGUtZmlsdGVyLWl0ZW0nO1xuaW1wb3J0IHtcbiAgSUZpbHRlckNvbmZpZ0l0ZW0sXG59IGZyb20gJy4uL2ludGVyZmFjZXMvY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBLZXlWYWx1ZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvZXh0ZXJuYWwtcGFyYW1zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGc0ZpbHRlckNvbmZpZyB9IGZyb20gJy4uL21vZGVscy9maWx0ZXItY29uZmlnJztcbmltcG9ydCB7IEtleXdvcmRJdGVtIH0gZnJvbSAnLi4vbW9kZWxzL2l0ZW1zJztcbmltcG9ydCB7IEJhc2VJdGVtIH0gZnJvbSAnLi4vbW9kZWxzL2l0ZW1zL2Jhc2UtaXRlbSc7XG5cbmltcG9ydCB7IEtleXdvcmRDb250cm9sbGVyIH0gZnJvbSAnLi9rZXl3b3JkLWNvbnRyb2xsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBQZXJzaXN0YW5jZUNvbnRyb2xsZXIgfSBmcm9tICcuL3BlcnNpc3RhbmNlLWNvbnRyb2xsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBRdWVyeVBhcmFtQ29udHJvbGxlciB9IGZyb20gJy4vcXVlcnktcGFyYW0tY29udHJvbGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNhdmVkRmlsdGVyQ29udHJvbGxlciB9IGZyb20gJy4vc2F2ZWQtZmlsdGVyLWNvbnRyb2xsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTb3J0Q29udHJvbGxlciB9IGZyb20gJy4vc29ydC1jb250cm9sbGVyLnNlcnZpY2UnO1xuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGaWx0ZXJDb250cm9sbGVyIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICBwdWJsaWMgZmlsdGVyOiBGaWx0ZXJDb21wb25lbnQ7XG5cbiAgcHJpdmF0ZSBfcmVhZHkkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHByaXZhdGUgX2l0ZW1zID0gbmV3IE1hcDxzdHJpbmcsIEJhc2VJdGVtPElGaWx0ZXJDb25maWdJdGVtPj4oKTtcbiAgcHJpdmF0ZSBfY29uZmlnOiBGc0ZpbHRlckNvbmZpZztcbiAgcHJpdmF0ZSBfaW5pdCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIF9jaGFuZ2UkID0gbmV3IFN1YmplY3Q8QmFzZUl0ZW08SUZpbHRlckNvbmZpZ0l0ZW0+W10+KCk7XG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBfcGVyc2lzdGFuY2VDb250cm9sbGVyID0gaW5qZWN0KFBlcnNpc3RhbmNlQ29udHJvbGxlcik7XG4gIHByaXZhdGUgX3NhdmVkRmlsdGVyQ29udHJvbGxlciA9IGluamVjdChTYXZlZEZpbHRlckNvbnRyb2xsZXIpO1xuICBwcml2YXRlIF9xdWVyeVBhcmFtQ29udHJvbGxlciA9IGluamVjdChRdWVyeVBhcmFtQ29udHJvbGxlcik7XG4gIHByaXZhdGUgX2tleXdvcmRDb250cm9sbGVyID0gaW5qZWN0KEtleXdvcmRDb250cm9sbGVyKTtcbiAgcHJpdmF0ZSBfc29ydENvbnRyb2xsZXIgPSBpbmplY3QoU29ydENvbnRyb2xsZXIpO1xuXG4gIHB1YmxpYyBnZXQgaXRlbXMoKTogQmFzZUl0ZW08SUZpbHRlckNvbmZpZ0l0ZW0+W10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuX2l0ZW1zLnZhbHVlcygpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXRlbU5hbWVzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0ubmFtZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbmZpZygpOiBGc0ZpbHRlckNvbmZpZyB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaW5pdCQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2luaXQkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGFuZ2UkKCkge1xuICAgIHJldHVybiB0aGlzLl9jaGFuZ2UkXG4gICAgICAucGlwZShcbiAgICAgICAgZGVib3VuY2VUaW1lKDMwKSxcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgY2hhbmdlKCkge1xuICAgIHRoaXMuX2NoYW5nZSQubmV4dChudWxsKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVhZHkkKCkge1xuICAgIHJldHVybiB0aGlzLl9yZWFkeSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dChudWxsKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIGluaXQoY29uZmlnOiBGc0ZpbHRlckNvbmZpZykge1xuICAgIHRoaXMuX2NvbmZpZyA9IGNvbmZpZztcbiAgICBvZihudWxsKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLl9hZGRJdGVtcyh0aGlzLl9jb25maWcuaXRlbXMgfHwgW10pKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuX2tleXdvcmRDb250cm9sbGVyLmluaXQoKSksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLl9zb3J0Q29udHJvbGxlci5pbml0KHRoaXMpKSxcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IGZvcmtKb2luKHtcbiAgICAgICAgICBzYXZlZEZpbHRlcnM6IHRoaXMuX3NhdmVkRmlsdGVyQ29udHJvbGxlci5pbml0KHRoaXMpLFxuICAgICAgICAgIHBlcnNpc3RhbmNlOiB0aGlzLl9wZXJzaXN0YW5jZUNvbnRyb2xsZXIuaW5pdCh0aGlzKSxcbiAgICAgICAgICBxdWVyeVBhcmFtczogdGhpcy5fcXVlcnlQYXJhbUNvbnRyb2xsZXIuaW5pdCh0aGlzKSxcbiAgICAgICAgfSkpLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5faW5pdEl0ZW1zKCkpLCAgICAgICAgXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLl9pbml0Q2hhbmdlcygpKSxcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLl9pbml0JC5uZXh0KCk7XG4gICAgICAgICAgaWYgKHRoaXMuX2NvbmZpZy5pbml0KSB7XG4gICAgICAgICAgICB0aGlzLl9jb25maWcuaW5pdCh0aGlzLnF1ZXJ5LCB0aGlzLl9zb3J0Q29udHJvbGxlci5nZXRTb3J0KCksIHRoaXMuZmlsdGVyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLl9yZWFkeSQubmV4dCh0cnVlKSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0SXRlbShuYW1lOiBzdHJpbmcpOiBCYXNlSXRlbTxJRmlsdGVyQ29uZmlnSXRlbT4ge1xuICAgIHJldHVybiB0aGlzLl9pdGVtcy5nZXQobmFtZSk7XG4gIH1cblxuICBwdWJsaWMgZmlsdGVyc0NsZWFyKCkge1xuICAgIHRoaXMuaXRlbXNcbiAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uY2xlYXJhYmxlKVxuICAgICAgLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgaXRlbS5jbGVhcihmYWxzZSk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuX2tleXdvcmRDb250cm9sbGVyLmNsZWFyKGZhbHNlKTtcbiAgICB0aGlzLl9zb3J0Q29udHJvbGxlci5jbGVhcigpO1xuXG4gICAgdGhpcy5jaGFuZ2UoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcXVlcnlQYXJhbSgpOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXNcbiAgICAgIC5yZWR1Y2UoKGFjY3VtLCBpdGVtKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uYWNjdW0sXG4gICAgICAgICAgLi4uaXRlbS5xdWVyeVBhcmFtLFxuICAgICAgICB9O1xuICAgICAgfSwge30pO1xuICB9XG5cbiAgcHVibGljIGdldCBxdWVyeSgpOiBLZXlWYWx1ZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnRoaXMuaXRlbXNcbiAgICAgICAgLmZpbHRlcigoaXRlbSkgPT4gaXRlbS52aXNpYmxlKVxuICAgICAgICAucmVkdWNlKChhY2N1bSwgaXRlbSkgPT4ge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5hY2N1bSxcbiAgICAgICAgICAgIC4uLml0ZW0ucXVlcnksXG4gICAgICAgICAgfTtcbiAgICAgICAgfSwge30pLFxuICAgICAgLi4udGhpcy5fc29ydENvbnRyb2xsZXIucXVlcnkoKSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHNldCB2YWx1ZXModmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikge1xuICAgIHRoaXMuaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgaXRlbS5zZXRWYWx1ZSh2YWx1ZXNbaXRlbS5uYW1lXSwgZmFsc2UpO1xuICAgICAgaXRlbS5lbWl0Q2hhbmdlKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmNoYW5nZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCB2YWx1ZXMoKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuICAgIHJldHVybiB0aGlzLml0ZW1zXG4gICAgICAucmVkdWNlKChhY2MsIGl0ZW0pID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBpdGVtLnZhbHVlO1xuXG4gICAgICAgIGlmICh2YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgICAgIGFjY1tpdGVtLm5hbWVdID0gdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwge30pO1xuICB9XG4gIFxuICBwcml2YXRlIF9nZXRJbml0VmFsdWVzKCk6IEtleVZhbHVlIHtcbiAgICBsZXQgcmVzdWx0OiBLZXlWYWx1ZSA9IHt9O1xuXG4gICAgaWYgKHRoaXMuX3NhdmVkRmlsdGVyQ29udHJvbGxlci5lbmFibGVkICYmIHRoaXMuX3NhdmVkRmlsdGVyQ29udHJvbGxlci5hY3RpdmVGaWx0ZXIpIHtcbiAgICAgIGNvbnN0IHF1ZXJ5ID0gT2JqZWN0LmtleXMocmVzdWx0KVxuICAgICAgICAuZmlsdGVyKChrZXkpID0+ICF0aGlzLml0ZW1OYW1lcy5pbmNsdWRlcyhrZXkpKVxuICAgICAgICAucmVkdWNlKChhY2MsIGtleSkgPT4ge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5hY2MsXG4gICAgICAgICAgICBba2V5XTogcmVzdWx0W2tleV0sXG4gICAgICAgICAgfTtcbiAgICAgICAgfSwge30pO1xuXG4gICAgICByZXN1bHQgPSB7XG4gICAgICAgIC4uLnF1ZXJ5LCBcbiAgICAgICAgLi4udGhpcy5fc2F2ZWRGaWx0ZXJDb250cm9sbGVyLmFjdGl2ZUZpbHRlckRhdGEsXG4gICAgICB9O1xuXG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgLi4ucmVzdWx0LCBcbiAgICAgICAgLi4udGhpcy5fcGVyc2lzdGFuY2VDb250cm9sbGVyLmdldFF1ZXJ5KCksXG4gICAgICB9O1xuICAgICAgXG4gICAgICBpZiAodGhpcy5fY29uZmlnLnF1ZXJ5UGFyYW0pIHtcbiAgICAgICAgcmVzdWx0ID0ge1xuICAgICAgICAgIC4uLnJlc3VsdCwgXG4gICAgICAgICAgLi4udGhpcy5fcXVlcnlQYXJhbUNvbnRyb2xsZXIucGFyYW1zLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIF9pbml0SXRlbXMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBpZighdGhpcy5pdGVtcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICB9XG4gICAgXG4gICAgY29uc3QgdmFsdWVzID0gdGhpcy5fZ2V0SW5pdFZhbHVlcygpO1xuXG4gICAgcmV0dXJuIGZvcmtKb2luKFxuICAgICAgdGhpcy5pdGVtc1xuICAgICAgICAubWFwKChpdGVtKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGl0ZW0uaW5pdCh2YWx1ZXNbaXRlbS5uYW1lXSk7XG4gICAgICAgIH0pLFxuICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuX2luaXRFbmFibGVkSXRlbXMoKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLml0ZW1zXG4gICAgICAgICAgLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGl0ZW0uaW5pdENhbGxiYWNrKGl0ZW0sIHRoaXMuZmlsdGVyKTtcbiAgICAgICAgICB9KSksXG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdEVuYWJsZWRJdGVtcygpIHtcbiAgICBsZXQgZW5hYmxlZCA9IDA7XG5cbiAgICB0aGlzLml0ZW1zXG4gICAgICAuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICBpZighaXRlbS5wcmltYXJ5KSB7XG4gICAgICAgICAgaWYoaXRlbS5oYXNWYWx1ZSkge1xuICAgICAgICAgICAgaXRlbS5zZWNvbmRhcnlTaG93KCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHRoaXMuaXRlbXNcbiAgICAgIC5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgIGlmKCFpdGVtLnByaW1hcnkpIHtcbiAgICAgICAgICBpZihpdGVtLnNlY29uZGFyeVZpc2libGUpIHtcbiAgICAgICAgICAgIGVuYWJsZWQrKztcbiAgICAgICAgICB9IGVsc2UgaWYoZW5hYmxlZCA8IHRoaXMuX2NvbmZpZy5tYXhFbmFibGVkKSB7XG4gICAgICAgICAgICBpdGVtLnNlY29uZGFyeVNob3coKTtcbiAgICAgICAgICAgIGVuYWJsZWQrKztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfYWRkSXRlbXMoaXRlbXNDb25maWc6IElGaWx0ZXJDb25maWdJdGVtW10pIHtcbiAgICBjb25zdCBpdGVtcyA9IGl0ZW1zQ29uZmlnICAgICAgXG4gICAgICAuZmlsdGVyKChpdGVtQ29uZmlnKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLl9pdGVtcy5oYXMoaXRlbUNvbmZpZy5uYW1lKSkge1xuICAgICAgICAgIHRocm93IEVycm9yKCdGaWx0ZXIgaW5pdCBlcnJvci4gSXRlbXMgbmFtZSBtdXN0IGJlIHVuaXF1ZS4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSlcbiAgICAgIC5tYXAoKGl0ZW1Db25maWcpID0+IHsgIFxuICAgICAgICBjb25zdCBmaWx0ZXJJdGVtID0gY3JlYXRlRmlsdGVySXRlbShpdGVtQ29uZmlnLCB0aGlzLmZpbHRlcik7XG5cbiAgICAgICAgaWYgKGZpbHRlckl0ZW0gaW5zdGFuY2VvZiBLZXl3b3JkSXRlbSkge1xuICAgICAgICAgIHRoaXMuX2tleXdvcmRDb250cm9sbGVyLmtleXdvcmRJdGVtID0gZmlsdGVySXRlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmaWx0ZXJJdGVtO1xuICAgICAgfSk7XG5cbiAgICBsZXQgc2Vjb25kYXJ5SXRlbUNvdW50ID0gaXRlbXNcbiAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uc2Vjb25kYXJ5ICYmIGl0ZW0udmlzaWJsZSlcbiAgICAgIC5sZW5ndGg7XG4gICAgICBcbiAgICBpdGVtc1xuICAgICAgLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgaWYoXG4gICAgICAgICAgIWl0ZW0ucHJpbWFyeSAmJiBcbiAgICAgICAgICAhaXRlbS5zZWNvbmRhcnkgJiYgXG4gICAgICAgICAgaXRlbS52aXNpYmxlICYmXG4gICAgICAgICAgc2Vjb25kYXJ5SXRlbUNvdW50IDwgdGhpcy5fY29uZmlnLm1pblNlY29uZGFyeUl0ZW1zXG4gICAgICAgICkge1xuICAgICAgICAgIGl0ZW0uc2Vjb25kYXJ5ID0gdHJ1ZTtcbiAgICAgICAgICBzZWNvbmRhcnlJdGVtQ291bnQrKztcbiAgICAgICAgfSAgXG4gICAgICB9KTtcblxuICAgIHRoaXMuX2l0ZW1zID0gbmV3IE1hcChpdGVtc1xuICAgICAgLm1hcCgoaXRlbSk6IFtzdHJpbmcsIEJhc2VJdGVtPElGaWx0ZXJDb25maWdJdGVtPl0gPT4gW2l0ZW0ubmFtZSwgaXRlbV0pKTtcbiAgfVxuXG4gIHByaXZhdGUgX2luaXRDaGFuZ2VzKCkge1xuICAgIG1lcmdlKFxuICAgICAgLi4udGhpcy5pdGVtc1xuICAgICAgICAubWFwKChpdGVtKSA9PiBpdGVtLnZhbHVlRXZlbnQkXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiBldmVudC5lbWl0Q2hhbmdlKSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiBpdGVtKSxcbiAgICAgICAgICApKSxcbiAgICApXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKChpdGVtKSA9PiB0aGlzLl9jaGFuZ2UkLm5leHQoW2l0ZW1dKSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLl9jaGFuZ2UkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKChpdGVtczogQmFzZUl0ZW08SUZpbHRlckNvbmZpZ0l0ZW0+W10pID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5fY29uZmlnLmNoYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5fY29uZmlnLmNoYW5nZSh0aGlzLnF1ZXJ5LCB0aGlzLl9zb3J0Q29udHJvbGxlci5nZXRTb3J0KCkpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGl0ZW1zPy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpZiAoaXRlbS5jaGFuZ2VDYWxsYmFjaykge1xuICAgICAgICAgICAgICBpdGVtLmNoYW5nZUNhbGxiYWNrKGl0ZW0sIHRoaXMuZmlsdGVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxufVxuIl19
|
|
@@ -1006,7 +1006,6 @@ class BaseItem {
|
|
|
1006
1006
|
persistanceDisabled;
|
|
1007
1007
|
queryParamsDisabled;
|
|
1008
1008
|
primary;
|
|
1009
|
-
secondary;
|
|
1010
1009
|
changeCallback;
|
|
1011
1010
|
initCallback;
|
|
1012
1011
|
_type;
|
|
@@ -1016,11 +1015,19 @@ class BaseItem {
|
|
|
1016
1015
|
_values$ = new BehaviorSubject(null);
|
|
1017
1016
|
_secondaryVisible$ = new BehaviorSubject(false);
|
|
1018
1017
|
_destroy$ = new Subject();
|
|
1018
|
+
_secondary = false;
|
|
1019
1019
|
constructor(itemConfig, _filter) {
|
|
1020
1020
|
this._filter = _filter;
|
|
1021
1021
|
this._type = itemConfig.type;
|
|
1022
1022
|
this._initConfig(itemConfig);
|
|
1023
1023
|
}
|
|
1024
|
+
get secondary() {
|
|
1025
|
+
return this._secondary;
|
|
1026
|
+
}
|
|
1027
|
+
set secondary(value) {
|
|
1028
|
+
this._secondary = value;
|
|
1029
|
+
this._secondaryVisible$.next(value);
|
|
1030
|
+
}
|
|
1024
1031
|
secondaryShow() {
|
|
1025
1032
|
this._secondaryVisible$.next(true);
|
|
1026
1033
|
}
|
|
@@ -1224,7 +1231,6 @@ class BaseItem {
|
|
|
1224
1231
|
this.secondary = !this.primary && (item.secondary ?? false);
|
|
1225
1232
|
this.chipLabel = item.chipLabel;
|
|
1226
1233
|
this._hidden$.next(item.hide ?? !(item.show ?? true));
|
|
1227
|
-
this._secondaryVisible$.next(item.secondary ?? false);
|
|
1228
1234
|
this.clearable = item.clear ?? true;
|
|
1229
1235
|
this.persistanceDisabled = item.disablePersist ?? false;
|
|
1230
1236
|
this.queryParamsDisabled = item.disableQueryParams ?? false;
|
|
@@ -2478,9 +2484,11 @@ class FilterController {
|
|
|
2478
2484
|
let secondaryItemCount = items
|
|
2479
2485
|
.filter((item) => item.secondary && item.visible)
|
|
2480
2486
|
.length;
|
|
2481
|
-
|
|
2487
|
+
items
|
|
2488
|
+
.forEach((item) => {
|
|
2482
2489
|
if (!item.primary &&
|
|
2483
2490
|
!item.secondary &&
|
|
2491
|
+
item.visible &&
|
|
2484
2492
|
secondaryItemCount < this._config.minSecondaryItems) {
|
|
2485
2493
|
item.secondary = true;
|
|
2486
2494
|
secondaryItemCount++;
|