@firestitch/filter 18.0.31 → 18.0.32

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.
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvaW50ZXJmYWNlcy9jb25maWcuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCdXR0b25TdHlsZSB9IGZyb20gJy4uL2VudW1zJztcblxuaW1wb3J0IHsgRnNGaWx0ZXJBY3Rpb24gfSBmcm9tICcuL2FjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ0F1dG9jb21wbGV0ZUNoaXBzSXRlbSB9IGZyb20gJy4vaXRlbXMvYXV0b2NvbXBsZXRlLWNoaXBzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJRmlsdGVyQ29uZmlnQXV0b2NvbXBsZXRlSXRlbSB9IGZyb20gJy4vaXRlbXMvYXV0b2NvbXBsZXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJRmlsdGVyQ29uZmlnQmFzZUl0ZW0gfSBmcm9tICcuL2l0ZW1zL2Jhc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IElGaWx0ZXJDb25maWdDaGVja2JveEl0ZW0gfSBmcm9tICcuL2l0ZW1zL2NoZWNrYm94LmludGVyZmFjZSc7XG5pbXBvcnQgeyBJRmlsdGVyQ29uZmlnQ2hpcHNJdGVtIH0gZnJvbSAnLi9pdGVtcy9jaGlwcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ0RhdGVSYW5nZUl0ZW0gfSBmcm9tICcuL2l0ZW1zL2RhdGUtcmFuZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IElGaWx0ZXJDb25maWdEYXRlSXRlbSB9IGZyb20gJy4vaXRlbXMvZGF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ1JhbmdlSXRlbSB9IGZyb20gJy4vaXRlbXMvcmFuZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IElGaWx0ZXJDb25maWdTZWxlY3RJdGVtIH0gZnJvbSAnLi9pdGVtcy9zZWxlY3QuaW50ZXJmYWNlJztcbmltcG9ydCB7IElGaWx0ZXJDb25maWdUZXh0SXRlbSB9IGZyb20gJy4vaXRlbXMvdGV4dC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUZpbHRlclNhdmVkRmlsdGVyc0NvbmZpZyB9IGZyb20gJy4vc2F2ZWQtZmlsdGVycy5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlckNvbmZpZyB7XG4gIGlubGluZT86IGJvb2xlYW47XG4gIGxvYWQ/OiBib29sZWFuO1xuICBjaGlwcz86IGJvb2xlYW47XG4gIGF1dG9mb2N1cz86IGJvb2xlYW47XG4gIHF1ZXJ5UGFyYW0/OiBib29sZWFuO1xuICBuYW1lc3BhY2U/OiBzdHJpbmc7XG4gIHBlcnNpc3Q/OiBGc0ZpbHRlclBlcnNpc3RhbmNlO1xuICByZWxvYWQ/OiBDaGFuZ2VGbjtcbiAgY2xlYXI/OiBDaGFuZ2VGbjtcbiAgaXRlbXM/OiBJRmlsdGVyQ29uZmlnSXRlbVtdO1xuICBpbml0PzogQ2hhbmdlRm47XG4gIGNoYW5nZT86IENoYW5nZUZuO1xuICBzb3J0cz86IFNvcnRJdGVtW107XG4gIHNvcnQ/OiBTb3J0O1xuICBzb3J0Q2hhbmdlPzogQ2hhbmdlRm47XG4gIHJlbG9hZFdoZW5Db25maWdDaGFuZ2VkPzogYm9vbGVhbjtcbiAgY2FzZT86ICdzbmFrZScgfCAnY2FtZWwnO1xuICBidXR0b24/OiBGaWx0ZXJCdXR0b247XG4gIGJ1dHRvblN0eWxlPzogQnV0dG9uU3R5bGU7XG4gIHNhdmVkRmlsdGVycz86IElGaWx0ZXJTYXZlZEZpbHRlcnNDb25maWc7XG4gIGFjdGlvbnM/OiBGc0ZpbHRlckFjdGlvbltdO1xuICBhdXRvUmVsb2FkPzogRnNGaWx0ZXJBdXRvUmVsb2FkOyAgXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnNGaWx0ZXJBdXRvUmVsb2FkIHtcbiAgc2Vjb25kczogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBJRmlsdGVyQ29uZmlnSXRlbSA9XG4gIChcbiAgICBJRmlsdGVyQ29uZmlnQmFzZUl0ZW1cbiAgICB8IElGaWx0ZXJDb25maWdDaGVja2JveEl0ZW1cbiAgICB8IElGaWx0ZXJDb25maWdTZWxlY3RJdGVtXG4gICAgfCBJRmlsdGVyQ29uZmlnQ2hpcHNJdGVtXG4gICAgfCBJRmlsdGVyQ29uZmlnVGV4dEl0ZW1cbiAgICB8IElGaWx0ZXJDb25maWdEYXRlSXRlbVxuICAgIHwgSUZpbHRlckNvbmZpZ0F1dG9jb21wbGV0ZUl0ZW1cbiAgICB8IElGaWx0ZXJDb25maWdBdXRvY29tcGxldGVDaGlwc0l0ZW1cbiAgICB8IElGaWx0ZXJDb25maWdSYW5nZUl0ZW1cbiAgICB8IElGaWx0ZXJDb25maWdEYXRlUmFuZ2VJdGVtXG4gICk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29ydEl0ZW0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29ydCB7XG4gIGRpcmVjdGlvbj86IHN0cmluZztcbiAgdmFsdWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyQnV0dG9uIHtcbiAgc3R5bGU/OiBCdXR0b25TdHlsZTtcbiAgY29sb3I/OiAncHJpbWFyeScgfCAnZGVmYXVsdCcsXG4gIGljb24/OiBzdHJpbmcsXG4gIGxhYmVsPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhbmdlRm4ge1xuICAocXVlcnk/OiBhbnksIHNvcnQ/OiBGaWx0ZXJTb3J0IHwgbnVsbCk6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyU29ydCB7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGRpcmVjdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZzRmlsdGVyUGVyc2lzdGFuY2VDb25maWcge1xuICBuYW1lPzogc3RyaW5nO1xuICB0aW1lb3V0PzogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBGc0ZpbHRlclBlcnNpc3RhbmNlID0gYm9vbGVhbiB8IEZzRmlsdGVyUGVyc2lzdGFuY2VDb25maWc7XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvaW50ZXJmYWNlcy9jb25maWcuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCdXR0b25TdHlsZSB9IGZyb20gJy4uL2VudW1zJztcblxuaW1wb3J0IHsgRnNGaWx0ZXJBY3Rpb24gfSBmcm9tICcuL2FjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ0F1dG9jb21wbGV0ZUNoaXBzSXRlbSB9IGZyb20gJy4vaXRlbXMvYXV0b2NvbXBsZXRlLWNoaXBzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJRmlsdGVyQ29uZmlnQXV0b2NvbXBsZXRlSXRlbSB9IGZyb20gJy4vaXRlbXMvYXV0b2NvbXBsZXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJRmlsdGVyQ29uZmlnQmFzZUl0ZW0gfSBmcm9tICcuL2l0ZW1zL2Jhc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IElGaWx0ZXJDb25maWdDaGVja2JveEl0ZW0gfSBmcm9tICcuL2l0ZW1zL2NoZWNrYm94LmludGVyZmFjZSc7XG5pbXBvcnQgeyBJRmlsdGVyQ29uZmlnQ2hpcHNJdGVtIH0gZnJvbSAnLi9pdGVtcy9jaGlwcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ0RhdGVSYW5nZUl0ZW0gfSBmcm9tICcuL2l0ZW1zL2RhdGUtcmFuZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IElGaWx0ZXJDb25maWdEYXRlSXRlbSB9IGZyb20gJy4vaXRlbXMvZGF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ1JhbmdlSXRlbSB9IGZyb20gJy4vaXRlbXMvcmFuZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IElGaWx0ZXJDb25maWdTZWxlY3RJdGVtIH0gZnJvbSAnLi9pdGVtcy9zZWxlY3QuaW50ZXJmYWNlJztcbmltcG9ydCB7IElGaWx0ZXJDb25maWdUZXh0SXRlbSB9IGZyb20gJy4vaXRlbXMvdGV4dC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUZpbHRlclNhdmVkRmlsdGVyc0NvbmZpZyB9IGZyb20gJy4vc2F2ZWQtZmlsdGVycy5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlckNvbmZpZyB7XG4gIGlubGluZT86IGJvb2xlYW47XG4gIGxvYWQ/OiBib29sZWFuO1xuICBjaGlwcz86IGJvb2xlYW47XG4gIGF1dG9mb2N1cz86IGJvb2xlYW47XG4gIHF1ZXJ5UGFyYW0/OiBib29sZWFuO1xuICBuYW1lc3BhY2U/OiBzdHJpbmc7XG4gIHBlcnNpc3Q/OiBGc0ZpbHRlclBlcnNpc3RhbmNlO1xuICByZWxvYWQ/OiBDaGFuZ2VGbjtcbiAgY2xlYXI/OiBDaGFuZ2VGbjtcbiAgaXRlbXM/OiBJRmlsdGVyQ29uZmlnSXRlbVtdO1xuICBpbml0PzogQ2hhbmdlRm47XG4gIGNoYW5nZT86IENoYW5nZUZuO1xuICBzb3J0cz86IFNvcnRJdGVtW107XG4gIHNvcnQ/OiBTb3J0O1xuICBzb3J0Q2hhbmdlPzogQ2hhbmdlRm47XG4gIHJlbG9hZFdoZW5Db25maWdDaGFuZ2VkPzogYm9vbGVhbjtcbiAgY2FzZT86ICdzbmFrZScgfCAnY2FtZWwnO1xuICBidXR0b24/OiBGaWx0ZXJCdXR0b247XG4gIGJ1dHRvblN0eWxlPzogQnV0dG9uU3R5bGU7XG4gIHNhdmVkRmlsdGVycz86IElGaWx0ZXJTYXZlZEZpbHRlcnNDb25maWc7XG4gIGFjdGlvbnM/OiBGc0ZpbHRlckFjdGlvbltdO1xuICBhdXRvUmVsb2FkPzogRnNGaWx0ZXJBdXRvUmVsb2FkOyAgXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnNGaWx0ZXJBdXRvUmVsb2FkIHtcbiAgc2Vjb25kczogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBJRmlsdGVyQ29uZmlnSXRlbSA9XG4gIChcbiAgICBJRmlsdGVyQ29uZmlnQmFzZUl0ZW1cbiAgICB8IElGaWx0ZXJDb25maWdDaGVja2JveEl0ZW1cbiAgICB8IElGaWx0ZXJDb25maWdTZWxlY3RJdGVtXG4gICAgfCBJRmlsdGVyQ29uZmlnQ2hpcHNJdGVtXG4gICAgfCBJRmlsdGVyQ29uZmlnVGV4dEl0ZW1cbiAgICB8IElGaWx0ZXJDb25maWdEYXRlSXRlbVxuICAgIHwgSUZpbHRlckNvbmZpZ0F1dG9jb21wbGV0ZUl0ZW1cbiAgICB8IElGaWx0ZXJDb25maWdBdXRvY29tcGxldGVDaGlwc0l0ZW1cbiAgICB8IElGaWx0ZXJDb25maWdSYW5nZUl0ZW1cbiAgICB8IElGaWx0ZXJDb25maWdEYXRlUmFuZ2VJdGVtXG4gICk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29ydEl0ZW0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29ydCB7XG4gIGRpcmVjdGlvbj86IHN0cmluZztcbiAgdmFsdWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyQnV0dG9uIHtcbiAgc3R5bGU/OiBCdXR0b25TdHlsZTtcbiAgY29sb3I/OiAncHJpbWFyeScgfCAnZGVmYXVsdCcsXG4gIGljb24/OiBzdHJpbmcsXG4gIGxhYmVsPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhbmdlRm4ge1xuICAocXVlcnk/OiBhbnksIHNvcnQ/OiBGaWx0ZXJTb3J0IHwgbnVsbCk6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyU29ydCB7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGRpcmVjdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZzRmlsdGVyUGVyc2lzdGFuY2VDb25maWcge1xuICBuYW1lPzogc3RyaW5nO1xuICB0aW1lb3V0PzogbnVtYmVyO1xuICBxdWVyeUVuYWJsZWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBGc0ZpbHRlclBlcnNpc3RhbmNlID0gYm9vbGVhbiB8IEZzRmlsdGVyUGVyc2lzdGFuY2VDb25maWc7XG4iXX0=
@@ -67,6 +67,7 @@ export class MultipleSelectItem extends BaseSelectItem {
67
67
  }
68
68
  return +val;
69
69
  });
70
+ value = value.length === 0 ? undefined : value;
70
71
  }
71
72
  super._setModel(value);
72
73
  }
@@ -85,4 +86,4 @@ export class MultipleSelectItem extends BaseSelectItem {
85
86
  this.model = defaultValue ?? [];
86
87
  }
87
88
  }
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlwbGUtc2VsZWN0LWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZGVscy9pdGVtcy9zZWxlY3QvbXVsdGlwbGUtc2VsZWN0LWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUxRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBR2xDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUczRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHcEQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGNBQWM7SUFFcEQsWUFDRSxVQUFtQyxFQUNuQyxnQkFBcUIsRUFDckIsT0FBd0I7UUFFeEIsS0FBSyxDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU5QixJQUFJLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1lBQ2xDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNDLENBQUM7YUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDdEYsS0FBSyxHQUFHLFNBQVMsQ0FBQztRQUNwQixDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixD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LEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN2RCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ2hDLE9BQU8sS0FBSyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUM7WUFDOUIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxjQUFjLENBQUMsRUFBRSxDQUFDO1lBQzlDLElBQUksQ0FBQyxLQUFLLEdBQUcsY0FBYyxDQUFDO1FBQzlCLENBQUM7SUFDSCxDQUFDO0lBRVMsV0FBVyxDQUFDLGVBQXdCLFNBQVM7UUFDckQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVoQyxJQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksSUFBSSxFQUFFLENBQUM7SUFDbEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZmlsdGVyLCBpc0FycmF5RXF1YWwgfSBmcm9tICdAZmlyZXN0aXRjaC9jb21tb24nO1xuXG5pbXBvcnQgeyBjbG9uZSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbmltcG9ydCB0eXBlIHsgRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBhcnJheXNBcmVFcXVhbHMgfSBmcm9tICcuLi8uLi8uLi9oZWxwZXJzL2NvbXBhcmUnO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ1NlbGVjdEl0ZW0gfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2l0ZW1zL3NlbGVjdC5pbnRlcmZhY2UnO1xuXG5pbXBvcnQgeyBCYXNlU2VsZWN0SXRlbSB9IGZyb20gJy4vYmFzZS1zZWxlY3QtaXRlbSc7XG5cblxuZXhwb3J0IGNsYXNzIE11bHRpcGxlU2VsZWN0SXRlbSBleHRlbmRzIEJhc2VTZWxlY3RJdGVtIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBpdGVtQ29uZmlnOiBJRmlsdGVyQ29uZmlnU2VsZWN0SXRlbSxcbiAgICBfcGVyc2lzdGVkVmFsdWVzOiBhbnksXG4gICAgX2ZpbHRlcjogRmlsdGVyQ29tcG9uZW50LFxuICApIHtcbiAgICBzdXBlcihpdGVtQ29uZmlnLCBfcGVyc2lzdGVkVmFsdWVzLCBfZmlsdGVyKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmFsdWUoKSB7XG4gICAgbGV0IHZhbHVlID0gY2xvbmUodGhpcy5tb2RlbCk7XG5cbiAgICBpZiAodGhpcy5pc29sYXRlT3B0aW9uTm90U2VsZWN0ZWQpIHtcbiAgICAgIHZhbHVlID0gdGhpcy52YWx1ZXM/Lm1hcCgodikgPT4gdi52YWx1ZSk7XG4gICAgfSBlbHNlIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkgfHwgdmFsdWUubGVuZ3RoID09PSAwIHx8IHZhbHVlLmluZGV4T2YoJ19fYWxsJykgPiAtMSkge1xuICAgICAgdmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0NoaXBWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHRoaXMubW9kZWwpICYmIHRoaXMubW9kZWwubGVuZ3RoID4gMDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNvbGF0ZU9wdGlvbk5vdFNlbGVjdGVkKCkge1xuICAgIGNvbnN0IG1vZGVsVmFsdWUgPSB0aGlzLm1vZGVsO1xuICAgIGNvbnN0IGlzb2xhdGUgPSB0aGlzLmlzb2xhdGU7XG5cbiAgICByZXR1cm4gaXNvbGF0ZSAmJiAhaXNvbGF0ZS5lbmFibGVkICYmIG1vZGVsVmFsdWU/Lmxlbmd0aCA9PT0gMDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDaGlwc0NvbnRlbnQodHlwZSA9IG51bGwpOiBzdHJpbmcge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLm1vZGVsLnJlZHVjZSgoYWNjLCBrZXkpID0+IHtcbiAgICAgIGNvbnN0IGl0ZW1WYWx1ZSA9IHRoaXMudmFsdWVzLmZpbmQoKHZhbCkgPT4gdmFsLnZhbHVlID09PSBrZXkpO1xuICAgICAgbGV0IGl0ZW1MYWJlbDogc3RyaW5nO1xuXG4gICAgICBpZiAoaXRlbVZhbHVlKSB7XG4gICAgICAgIGl0ZW1MYWJlbCA9IGl0ZW1WYWx1ZS5uYW1lO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmlzb2xhdGUgJiYgdGhpcy5pc29sYXRlLmVuYWJsZWQpIHtcbiAgICAgICAgaXRlbUxhYmVsID0gdGhpcy5pc29sYXRlLmxhYmVsO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWFjYy5pbmNsdWRlcyhpdGVtTGFiZWwpKSB7XG4gICAgICAgIGFjYy5wdXNoKGl0ZW1MYWJlbCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwgW10pO1xuXG4gICAgcmV0dXJuIG9wdGlvbnMuam9pbignLCAnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfaW5pdCgpIHtcbiAgICBzdXBlci5faW5pdCgpO1xuXG4gICAgY29uc3QgdmFsdWVzID0gdGhpcy52YWx1ZXMubWFwKChpdGVtdikgPT4gaXRlbXYudmFsdWUpO1xuICAgIGNvbnN0IHdyb25nRGVmYXVsdFZhbHVlID0gIXRoaXMubW9kZWwgJiYgIUFycmF5LmlzQXJyYXkodGhpcy5kZWZhdWx0VmFsdWUpO1xuXG4gICAgLyoqXG4gICAgICogV2hlbiBtdWx0aXBsZSBzZWxlY3QgaXMgaW4gaXNvbGF0ZSBtb2RlIGFuZCBoYXZlIG5vIG9wdGlvbnMgc2VsZWN0ZWRcbiAgICAgKiBpdCBzaG91bGQgc2VuZCB0byB0aGUgc2VydmVyIGFsbCBpdCdzIHBvc3NpYmxlIHZhbHVlcyxcbiAgICAgKiBidXQgc2hvdWxkIG5vdCBzaG93IHRoZW0gYXMgc2VsZWN0ZWQgaW4gaW50ZXJmYWNlcyBhcyB3ZWxsIGFzIGluIHF1ZXJ5IHBhcmFtcyAmIHBlcnNpc3RhbmNlXG4gICAgICpcbiAgICAgKiBDb2RlIGJlbG93IHByZXZlbnRzIGZpbGxpbmcgbW9kZWwgd2l0aCB2YWx1ZXMgZnJvbSBxdWVyeSBwYXJhbXMgaWYgcXVlcnkgcGFyYW1zIGNvbnRhaW4gYWxsIHBvc3NpYmxlIHZhbHVlc1xuICAgICAqL1xuICAgIGNvbnN0IGlzb2xhdGUgPSAhd3JvbmdEZWZhdWx0VmFsdWVcbiAgICAgICYmICF0aGlzLmlzb2xhdGVPcHRpb25Ob3RTZWxlY3RlZFxuICAgICAgJiYgYXJyYXlzQXJlRXF1YWxzKHRoaXMubW9kZWwsIHZhbHVlcyk7XG5cbiAgICBpZiAod3JvbmdEZWZhdWx0VmFsdWUgfHwgaXNvbGF0ZSkge1xuICAgICAgdGhpcy5tb2RlbCA9IFtdO1xuICAgIH1cbiAgfVxuICBwcm90ZWN0ZWQgX3NldE1vZGVsKHZhbHVlKSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlLm1hcCgodmFsKSA9PiB7XG4gICAgICAgIGlmIChpc05hTih2YWwpKSB7XG4gICAgICAgICAgcmV0dXJuIHZhbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiArdmFsO1xuXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBzdXBlci5fc2V0TW9kZWwodmFsdWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF92YWxpZGF0ZU1vZGVsKCkge1xuICAgIGNvbnN0IHBvc3NpYmxlVmFsdWVzID0gZmlsdGVyKHRoaXMubW9kZWwgfHwgW10sIChpdGVtKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy52YWx1ZXMuZmluZCgodmFsdWUpID0+IHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLnZhbHVlID09PSBpdGVtO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpZiAoIWlzQXJyYXlFcXVhbCh0aGlzLm1vZGVsLCBwb3NzaWJsZVZhbHVlcykpIHtcbiAgICAgIHRoaXMubW9kZWwgPSBwb3NzaWJsZVZhbHVlcztcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgX2NsZWFyVmFsdWUoZGVmYXVsdFZhbHVlOiB1bmtub3duID0gdW5kZWZpbmVkKSB7XG4gICAgc3VwZXIuX2NsZWFyVmFsdWUoZGVmYXVsdFZhbHVlKTtcblxuICAgIHRoaXMubW9kZWwgPSBkZWZhdWx0VmFsdWUgPz8gW107XG4gIH1cbn1cbiJdfQ==
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlwbGUtc2VsZWN0LWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZGVscy9pdGVtcy9zZWxlY3QvbXVsdGlwbGUtc2VsZWN0LWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUxRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBR2xDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUczRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHcEQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGNBQWM7SUFFcEQsWUFDRSxVQUFtQyxFQUNuQyxnQkFBcUIsRUFDckIsT0FBd0I7UUFFeEIsS0FBSyxDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU5QixJQUFJLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1lBQ2xDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNDLENBQUM7YUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDdEYsS0FBSyxHQUFHLFNBQVMsQ0FBQztRQUNwQixDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixD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Q0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFUyxjQUFjO1FBQ3RCLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3ZELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDaEMsT0FBTyxLQUFLLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQztZQUM5QixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDOUMsSUFBSSxDQUFDLEtBQUssR0FBRyxjQUFjLENBQUM7UUFDOUIsQ0FBQztJQUNILENBQUM7SUFFUyxXQUFXLENBQUMsZUFBd0IsU0FBUztRQUNyRCxLQUFLLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRWhDLElBQUksQ0FBQyxLQUFLLEdBQUcsWUFBWSxJQUFJLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaWx0ZXIsIGlzQXJyYXlFcXVhbCB9IGZyb20gJ0BmaXJlc3RpdGNoL2NvbW1vbic7XG5cbmltcG9ydCB7IGNsb25lIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuaW1wb3J0IHR5cGUgeyBGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IGFycmF5c0FyZUVxdWFscyB9IGZyb20gJy4uLy4uLy4uL2hlbHBlcnMvY29tcGFyZSc7XG5pbXBvcnQgeyBJRmlsdGVyQ29uZmlnU2VsZWN0SXRlbSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvaXRlbXMvc2VsZWN0LmludGVyZmFjZSc7XG5cbmltcG9ydCB7IEJhc2VTZWxlY3RJdGVtIH0gZnJvbSAnLi9iYXNlLXNlbGVjdC1pdGVtJztcblxuXG5leHBvcnQgY2xhc3MgTXVsdGlwbGVTZWxlY3RJdGVtIGV4dGVuZHMgQmFzZVNlbGVjdEl0ZW0ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGl0ZW1Db25maWc6IElGaWx0ZXJDb25maWdTZWxlY3RJdGVtLFxuICAgIF9wZXJzaXN0ZWRWYWx1ZXM6IGFueSxcbiAgICBfZmlsdGVyOiBGaWx0ZXJDb21wb25lbnQsXG4gICkge1xuICAgIHN1cGVyKGl0ZW1Db25maWcsIF9wZXJzaXN0ZWRWYWx1ZXMsIF9maWx0ZXIpO1xuICB9XG5cbiAgcHVibGljIGdldCB2YWx1ZSgpIHtcbiAgICBsZXQgdmFsdWUgPSBjbG9uZSh0aGlzLm1vZGVsKTtcblxuICAgIGlmICh0aGlzLmlzb2xhdGVPcHRpb25Ob3RTZWxlY3RlZCkge1xuICAgICAgdmFsdWUgPSB0aGlzLnZhbHVlcz8ubWFwKCh2KSA9PiB2LnZhbHVlKTtcbiAgICB9IGVsc2UgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlKSB8fCB2YWx1ZS5sZW5ndGggPT09IDAgfHwgdmFsdWUuaW5kZXhPZignX19hbGwnKSA+IC0xKSB7XG4gICAgICB2YWx1ZSA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzQ2hpcFZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodGhpcy5tb2RlbCkgJiYgdGhpcy5tb2RlbC5sZW5ndGggPiAwO1xuICB9XG5cbiAgcHVibGljIGdldCBpc29sYXRlT3B0aW9uTm90U2VsZWN0ZWQoKSB7XG4gICAgY29uc3QgbW9kZWxWYWx1ZSA9IHRoaXMubW9kZWw7XG4gICAgY29uc3QgaXNvbGF0ZSA9IHRoaXMuaXNvbGF0ZTtcblxuICAgIHJldHVybiBpc29sYXRlICYmICFpc29sYXRlLmVuYWJsZWQgJiYgbW9kZWxWYWx1ZT8ubGVuZ3RoID09PSAwO1xuICB9XG5cbiAgcHVibGljIGdldENoaXBzQ29udGVudCh0eXBlID0gbnVsbCk6IHN0cmluZyB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMubW9kZWwucmVkdWNlKChhY2MsIGtleSkgPT4ge1xuICAgICAgY29uc3QgaXRlbVZhbHVlID0gdGhpcy52YWx1ZXMuZmluZCgodmFsKSA9PiB2YWwudmFsdWUgPT09IGtleSk7XG4gICAgICBsZXQgaXRlbUxhYmVsOiBzdHJpbmc7XG5cbiAgICAgIGlmIChpdGVtVmFsdWUpIHtcbiAgICAgICAgaXRlbUxhYmVsID0gaXRlbVZhbHVlLm5hbWU7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuaXNvbGF0ZSAmJiB0aGlzLmlzb2xhdGUuZW5hYmxlZCkge1xuICAgICAgICBpdGVtTGFiZWwgPSB0aGlzLmlzb2xhdGUubGFiZWw7XG4gICAgICB9XG5cbiAgICAgIGlmICghYWNjLmluY2x1ZGVzKGl0ZW1MYWJlbCkpIHtcbiAgICAgICAgYWNjLnB1c2goaXRlbUxhYmVsKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCBbXSk7XG5cbiAgICByZXR1cm4gb3B0aW9ucy5qb2luKCcsICcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9pbml0KCkge1xuICAgIHN1cGVyLl9pbml0KCk7XG5cbiAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLnZhbHVlcy5tYXAoKGl0ZW12KSA9PiBpdGVtdi52YWx1ZSk7XG4gICAgY29uc3Qgd3JvbmdEZWZhdWx0VmFsdWUgPSAhdGhpcy5tb2RlbCAmJiAhQXJyYXkuaXNBcnJheSh0aGlzLmRlZmF1bHRWYWx1ZSk7XG5cbiAgICAvKipcbiAgICAgKiBXaGVuIG11bHRpcGxlIHNlbGVjdCBpcyBpbiBpc29sYXRlIG1vZGUgYW5kIGhhdmUgbm8gb3B0aW9ucyBzZWxlY3RlZFxuICAgICAqIGl0IHNob3VsZCBzZW5kIHRvIHRoZSBzZXJ2ZXIgYWxsIGl0J3MgcG9zc2libGUgdmFsdWVzLFxuICAgICAqIGJ1dCBzaG91bGQgbm90IHNob3cgdGhlbSBhcyBzZWxlY3RlZCBpbiBpbnRlcmZhY2VzIGFzIHdlbGwgYXMgaW4gcXVlcnkgcGFyYW1zICYgcGVyc2lzdGFuY2VcbiAgICAgKlxuICAgICAqIENvZGUgYmVsb3cgcHJldmVudHMgZmlsbGluZyBtb2RlbCB3aXRoIHZhbHVlcyBmcm9tIHF1ZXJ5IHBhcmFtcyBpZiBxdWVyeSBwYXJhbXMgY29udGFpbiBhbGwgcG9zc2libGUgdmFsdWVzXG4gICAgICovXG4gICAgY29uc3QgaXNvbGF0ZSA9ICF3cm9uZ0RlZmF1bHRWYWx1ZVxuICAgICAgJiYgIXRoaXMuaXNvbGF0ZU9wdGlvbk5vdFNlbGVjdGVkXG4gICAgICAmJiBhcnJheXNBcmVFcXVhbHModGhpcy5tb2RlbCwgdmFsdWVzKTtcblxuICAgIGlmICh3cm9uZ0RlZmF1bHRWYWx1ZSB8fCBpc29sYXRlKSB7XG4gICAgICB0aGlzLm1vZGVsID0gW107XG4gICAgfVxuICB9XG4gIFxuICBwcm90ZWN0ZWQgX3NldE1vZGVsKHZhbHVlKSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlLm1hcCgodmFsKSA9PiB7XG4gICAgICAgIGlmIChpc05hTih2YWwpKSB7XG4gICAgICAgICAgcmV0dXJuIHZhbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiArdmFsO1xuICAgICAgfSk7XG5cbiAgICAgIHZhbHVlID0gdmFsdWUubGVuZ3RoID09PSAwID8gdW5kZWZpbmVkIDogdmFsdWU7XG4gICAgfVxuICAgIFxuXG4gICAgc3VwZXIuX3NldE1vZGVsKHZhbHVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfdmFsaWRhdGVNb2RlbCgpIHtcbiAgICBjb25zdCBwb3NzaWJsZVZhbHVlcyA9IGZpbHRlcih0aGlzLm1vZGVsIHx8IFtdLCAoaXRlbSkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMudmFsdWVzLmZpbmQoKHZhbHVlKSA9PiB7XG4gICAgICAgIHJldHVybiB2YWx1ZS52YWx1ZSA9PT0gaXRlbTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaWYgKCFpc0FycmF5RXF1YWwodGhpcy5tb2RlbCwgcG9zc2libGVWYWx1ZXMpKSB7XG4gICAgICB0aGlzLm1vZGVsID0gcG9zc2libGVWYWx1ZXM7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIF9jbGVhclZhbHVlKGRlZmF1bHRWYWx1ZTogdW5rbm93biA9IHVuZGVmaW5lZCkge1xuICAgIHN1cGVyLl9jbGVhclZhbHVlKGRlZmF1bHRWYWx1ZSk7XG5cbiAgICB0aGlzLm1vZGVsID0gZGVmYXVsdFZhbHVlID8/IFtdO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,4 @@
1
+ export * from './query-params-controller.service';
2
+ export * from './query-persistance-controller.service';
3
+ export * from './saved-filters-controller.service';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NlcnZpY2VzL2V4dGVybmFsLXBhcmFtcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxvQ0FBb0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcXVlcnktcGFyYW1zLWNvbnRyb2xsZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3F1ZXJ5LXBlcnNpc3RhbmNlLWNvbnRyb2xsZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NhdmVkLWZpbHRlcnMtY29udHJvbGxlci5zZXJ2aWNlJztcbiJdfQ==
@@ -0,0 +1,65 @@
1
+ import { Location } from '@angular/common';
2
+ import { inject, Injectable } from '@angular/core';
3
+ import { getNormalizedPath } from '@firestitch/common';
4
+ import { FsStore } from '@firestitch/store';
5
+ import * as i0 from "@angular/core";
6
+ export class QueryPersistanceController {
7
+ queryEnabled = false;
8
+ _store = inject(FsStore);
9
+ _name;
10
+ _data = {};
11
+ _location = inject(Location);
12
+ _storeKey = 'fs-filter-persist';
13
+ setConfig(filterConfig, inDialog) {
14
+ const config = this._initConfig(filterConfig.persist, inDialog);
15
+ if (config) {
16
+ this.queryEnabled = config.queryEnabled;
17
+ this._name = config.name;
18
+ this._data = this._get() || {};
19
+ }
20
+ }
21
+ setQuery(value) {
22
+ this._set('query', value);
23
+ }
24
+ getQuery() {
25
+ return this._data.query || {};
26
+ }
27
+ _set(key, value) {
28
+ this._data[key] = value;
29
+ const storeData = this._store.get(this._storeKey) || {};
30
+ storeData[this._name] = this._data;
31
+ this._store.set(this._storeKey, storeData);
32
+ }
33
+ _get() {
34
+ const storeData = this._store.get(this._storeKey);
35
+ if (storeData) {
36
+ return storeData[this._name];
37
+ }
38
+ return {};
39
+ }
40
+ _initConfig(config, inDialog) {
41
+ let persistanceConfig = this._getConfig(config);
42
+ if (persistanceConfig) {
43
+ persistanceConfig = {
44
+ name: persistanceConfig.name || getNormalizedPath(this._location),
45
+ queryEnabled: !inDialog || !!persistanceConfig.name,
46
+ ...persistanceConfig,
47
+ };
48
+ }
49
+ return persistanceConfig;
50
+ }
51
+ _getConfig(config) {
52
+ if (config) {
53
+ return {
54
+ ...(config === true ? {} : config),
55
+ };
56
+ }
57
+ return null;
58
+ }
59
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: QueryPersistanceController, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
60
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: QueryPersistanceController });
61
+ }
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: QueryPersistanceController, decorators: [{
63
+ type: Injectable
64
+ }] });
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcGVyc2lzdGFuY2UtY29udHJvbGxlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zZXJ2aWNlcy9leHRlcm5hbC1wYXJhbXMvcXVlcnktcGVyc2lzdGFuY2UtY29udHJvbGxlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBTzVDLE1BQU0sT0FBTywwQkFBMEI7SUFFOUIsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUVwQixNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pCLEtBQUssQ0FBUztJQUNkLEtBQUssR0FBUSxFQUFFLENBQUM7SUFDaEIsU0FBUyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwQixTQUFTLEdBQUcsbUJBQW1CLENBQUM7SUFFMUMsU0FBUyxDQUFDLFlBQTRCLEVBQUUsUUFBaUI7UUFDOUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRWhFLElBQUcsTUFBTSxFQUFFLENBQUM7WUFDVixJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7WUFDeEMsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQztJQUVNLFFBQVEsQ0FBQyxLQUFVO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFTSxRQUFRO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVPLElBQUksQ0FBQyxHQUFXLEVBQUUsS0FBVTtRQUNsQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUN4QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hELFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUVuQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTyxJQUFJO1FBQ1YsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRWxELElBQUksU0FBUyxFQUFFLENBQUM7WUFDZCxPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsQ0FBQztRQUVELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVPLFdBQVcsQ0FBQyxNQUEyQixFQUFFLFFBQWlCO1FBQ2hFLElBQUksaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVoRCxJQUFHLGlCQUFpQixFQUFFLENBQUM7WUFDckIsaUJBQWlCLEdBQUc7Z0JBQ2xCLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztnQkFDakUsWUFBWSxFQUFFLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNuRCxHQUFHLGlCQUFpQjthQUNyQixDQUFDO1FBQ0osQ0FBQztRQUVELE9BQU8saUJBQWlCLENBQUM7SUFDM0IsQ0FBQztJQUVPLFVBQVUsQ0FBQyxNQUEyQjtRQUM1QyxJQUFHLE1BQU0sRUFBRSxDQUFDO1lBQ1YsT0FBTztnQkFDTCxHQUFHLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7YUFDbkMsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7d0dBcEVVLDBCQUEwQjs0R0FBMUIsMEJBQTBCOzs0RkFBMUIsMEJBQTBCO2tCQUR0QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGdldE5vcm1hbGl6ZWRQYXRoIH0gZnJvbSAnQGZpcmVzdGl0Y2gvY29tbW9uJztcbmltcG9ydCB7IEZzU3RvcmUgfSBmcm9tICdAZmlyZXN0aXRjaC9zdG9yZSc7XG5cbmltcG9ydCB7IEZzRmlsdGVyUGVyc2lzdGFuY2UsIEZzRmlsdGVyUGVyc2lzdGFuY2VDb25maWcgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEZzRmlsdGVyQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZpbHRlci1jb25maWcnO1xuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBRdWVyeVBlcnNpc3RhbmNlQ29udHJvbGxlciB7XG5cbiAgcHVibGljIHF1ZXJ5RW5hYmxlZCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX3N0b3JlID0gaW5qZWN0KEZzU3RvcmUpO1xuICBwcml2YXRlIF9uYW1lOiBzdHJpbmc7XG4gIHByaXZhdGUgX2RhdGE6IGFueSA9IHt9O1xuICBwcml2YXRlIF9sb2NhdGlvbiA9IGluamVjdChMb2NhdGlvbik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0b3JlS2V5ID0gJ2ZzLWZpbHRlci1wZXJzaXN0JztcblxuICBwdWJsaWMgc2V0Q29uZmlnKGZpbHRlckNvbmZpZzogRnNGaWx0ZXJDb25maWcsIGluRGlhbG9nOiBib29sZWFuKSB7XG4gICAgY29uc3QgY29uZmlnID0gdGhpcy5faW5pdENvbmZpZyhmaWx0ZXJDb25maWcucGVyc2lzdCwgaW5EaWFsb2cpO1xuXG4gICAgaWYoY29uZmlnKSB7XG4gICAgICB0aGlzLnF1ZXJ5RW5hYmxlZCA9IGNvbmZpZy5xdWVyeUVuYWJsZWQ7XG4gICAgICB0aGlzLl9uYW1lID0gY29uZmlnLm5hbWU7XG4gICAgICB0aGlzLl9kYXRhID0gdGhpcy5fZ2V0KCkgfHwge307XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldFF1ZXJ5KHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLl9zZXQoJ3F1ZXJ5JywgdmFsdWUpO1xuICB9XG5cbiAgcHVibGljIGdldFF1ZXJ5KCkge1xuICAgIHJldHVybiB0aGlzLl9kYXRhLnF1ZXJ5IHx8IHt9O1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0KGtleTogc3RyaW5nLCB2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5fZGF0YVtrZXldID0gdmFsdWU7XG4gICAgY29uc3Qgc3RvcmVEYXRhID0gdGhpcy5fc3RvcmUuZ2V0KHRoaXMuX3N0b3JlS2V5KSB8fCB7fTtcbiAgICBzdG9yZURhdGFbdGhpcy5fbmFtZV0gPSB0aGlzLl9kYXRhO1xuXG4gICAgdGhpcy5fc3RvcmUuc2V0KHRoaXMuX3N0b3JlS2V5LCBzdG9yZURhdGEpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0KCkge1xuICAgIGNvbnN0IHN0b3JlRGF0YSA9IHRoaXMuX3N0b3JlLmdldCh0aGlzLl9zdG9yZUtleSk7XG5cbiAgICBpZiAoc3RvcmVEYXRhKSB7XG4gICAgICByZXR1cm4gc3RvcmVEYXRhW3RoaXMuX25hbWVdO1xuICAgIH1cbiBcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBwcml2YXRlIF9pbml0Q29uZmlnKGNvbmZpZzogRnNGaWx0ZXJQZXJzaXN0YW5jZSwgaW5EaWFsb2c6IGJvb2xlYW4pOiBGc0ZpbHRlclBlcnNpc3RhbmNlQ29uZmlnIHtcbiAgICBsZXQgcGVyc2lzdGFuY2VDb25maWcgPSB0aGlzLl9nZXRDb25maWcoY29uZmlnKTtcblxuICAgIGlmKHBlcnNpc3RhbmNlQ29uZmlnKSB7XG4gICAgICBwZXJzaXN0YW5jZUNvbmZpZyA9IHtcbiAgICAgICAgbmFtZTogcGVyc2lzdGFuY2VDb25maWcubmFtZSB8fCBnZXROb3JtYWxpemVkUGF0aCh0aGlzLl9sb2NhdGlvbiksXG4gICAgICAgIHF1ZXJ5RW5hYmxlZDogIWluRGlhbG9nIHx8ICEhcGVyc2lzdGFuY2VDb25maWcubmFtZSxcbiAgICAgICAgLi4ucGVyc2lzdGFuY2VDb25maWcsXG4gICAgICB9O1xuICAgIH1cbiAgXG4gICAgcmV0dXJuIHBlcnNpc3RhbmNlQ29uZmlnO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q29uZmlnKGNvbmZpZzogRnNGaWx0ZXJQZXJzaXN0YW5jZSk6IEZzRmlsdGVyUGVyc2lzdGFuY2VDb25maWcge1xuICAgIGlmKGNvbmZpZykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uKGNvbmZpZyA9PT0gdHJ1ZSA/IHt9IDogY29uZmlnKSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxufVxuXG4iXX0=
@@ -2,15 +2,11 @@ import { Injectable } from '@angular/core';
2
2
  import { BehaviorSubject, of, Subject } from 'rxjs';
3
3
  import { filter, switchMap, take, takeUntil } from 'rxjs/operators';
4
4
  import { buildQueryParams } from '../helpers/build-query-params';
5
- import { PersistanceParamsController } from './external-params/persistance-params-controller.service';
6
- import { QueryParamsController } from './external-params/query-params-controller.service';
7
- import { SavedFiltersController } from './external-params/saved-filters-controller.service';
5
+ import { QueryParamsController, QueryPersistanceController, SavedFiltersController, } from './external-params';
8
6
  import { FsFilterItemsStore } from './items-store.service';
9
7
  import * as i0 from "@angular/core";
10
8
  import * as i1 from "./items-store.service";
11
- import * as i2 from "./external-params/persistance-params-controller.service";
12
- import * as i3 from "./external-params/query-params-controller.service";
13
- import * as i4 from "./external-params/saved-filters-controller.service";
9
+ import * as i2 from "./external-params";
14
10
  export class ExternalParamsController {
15
11
  _itemsStore;
16
12
  _persistanceStore;
@@ -29,10 +25,10 @@ export class ExternalParamsController {
29
25
  }
30
26
  get params() {
31
27
  let result = {};
32
- if (this._persistanceStore.enabled) {
28
+ if (this._persistanceStore.queryEnabled) {
33
29
  result = {
34
30
  ...result,
35
- ...this._persistanceStore.value?.data,
31
+ ...this._persistanceStore.getQuery(),
36
32
  };
37
33
  }
38
34
  if (this._savedFilters.enabled && this._savedFilters.activeFilter) {
@@ -75,7 +71,6 @@ export class ExternalParamsController {
75
71
  }
76
72
  setConfig(config) {
77
73
  this._config = config;
78
- this._initPersistance();
79
74
  this._initQueryParams();
80
75
  this._initSavedFilters();
81
76
  this.initItems();
@@ -120,9 +115,6 @@ export class ExternalParamsController {
120
115
  this._initQueryParams();
121
116
  this._itemsStore.updateItemsWithValues(this.params);
122
117
  }
123
- _initPersistance() {
124
- this._persistanceStore.init(this._config.persist, this._config.namespace);
125
- }
126
118
  _initQueryParams() {
127
119
  this._queryParams.init(this._config.queryParam);
128
120
  }
@@ -171,19 +163,21 @@ export class ExternalParamsController {
171
163
  this._queryParams.writeStateToQueryParams(params);
172
164
  }
173
165
  _savePersistedParams() {
174
- const targetItems = this._itemsStore.items
175
- .filter((item) => !item.persistanceDisabled);
176
- const params = buildQueryParams(this._itemsStore.valuesAsQuery({
177
- onlyPresented: false,
178
- items: targetItems,
179
- persisted: true,
180
- }), targetItems);
181
- this._persistanceStore.save(params);
166
+ if (this._persistanceStore.queryEnabled) {
167
+ const targetItems = this._itemsStore.items
168
+ .filter((item) => !item.persistanceDisabled)
169
+ .filter((item) => item.value !== undefined)
170
+ .reduce((acc, item) => {
171
+ acc[item.name] = item.model;
172
+ return acc;
173
+ }, {});
174
+ this._persistanceStore.setQuery(targetItems);
175
+ }
182
176
  }
183
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExternalParamsController, deps: [{ token: i1.FsFilterItemsStore }, { token: i2.PersistanceParamsController }, { token: i3.QueryParamsController }, { token: i4.SavedFiltersController }], target: i0.ɵɵFactoryTarget.Injectable });
177
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExternalParamsController, deps: [{ token: i1.FsFilterItemsStore }, { token: i2.QueryPersistanceController }, { token: i2.QueryParamsController }, { token: i2.SavedFiltersController }], target: i0.ɵɵFactoryTarget.Injectable });
184
178
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExternalParamsController });
185
179
  }
186
180
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExternalParamsController, decorators: [{
187
181
  type: Injectable
188
- }], ctorParameters: () => [{ type: i1.FsFilterItemsStore }, { type: i2.PersistanceParamsController }, { type: i3.QueryParamsController }, { type: i4.SavedFiltersController }] });
189
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwtcGFyYW1zLWNvbnRyb2xsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvc2VydmljZXMvZXh0ZXJuYWwtcGFyYW1zLWNvbnRyb2xsZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRXRELE9BQU8sRUFBRSxlQUFlLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFLakUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDdEcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDMUYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDNUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7OztBQUkzRCxNQUFNLE9BQU8sd0JBQXdCO0lBVXpCO0lBQ0E7SUFDQTtJQUNBO0lBWEEsS0FBSyxDQUFDO0lBRVIsU0FBUyxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLHdCQUF3QixHQUFHLElBQUksQ0FBQztJQUNoQyxPQUFPLENBQWlCO0lBQ3hCLFNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRXhDLFlBQ1UsV0FBK0IsRUFDL0IsaUJBQThDLEVBQzlDLFlBQW1DLEVBQ25DLGFBQXFDO1FBSHJDLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtRQUMvQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQTZCO1FBQzlDLGlCQUFZLEdBQVos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QUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUs7YUFDdkMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRS9DLE1BQU0sTUFBTSxHQUFHLGdCQUFnQixDQUM3QixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztZQUM3QixhQUFhLEVBQUUsS0FBSztZQUNwQixLQUFLLEVBQUUsV0FBVztZQUNsQixTQUFTLEVBQUUsSUFBSTtTQUNoQixDQUFDLEVBQ0YsV0FBVyxDQUNaLENBQUM7UUFFRixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7d0dBOU5VLHdCQUF3Qjs0R0FBeEIsd0JBQXdCOzs0RkFBeEIsd0JBQXdCO2tCQURwQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgc3dpdGNoTWFwLCB0YWtlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IGJ1aWxkUXVlcnlQYXJhbXMgfSBmcm9tICcuLi9oZWxwZXJzL2J1aWxkLXF1ZXJ5LXBhcmFtcyc7XG5pbXBvcnQgeyBJRmlsdGVyRXh0ZXJuYWxQYXJhbXMgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2V4dGVybmFsLXBhcmFtcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUZpbHRlclNhdmVkRmlsdGVyIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9zYXZlZC1maWx0ZXJzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGc0ZpbHRlckNvbmZpZyB9IGZyb20gJy4uL21vZGVscy9maWx0ZXItY29uZmlnJztcblxuaW1wb3J0IHsgUGVyc2lzdGFuY2VQYXJhbXNDb250cm9sbGVyIH0gZnJvbSAnLi9leHRlcm5hbC1wYXJhbXMvcGVyc2lzdGFuY2UtcGFyYW1zLWNvbnRyb2xsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBRdWVyeVBhcmFtc0NvbnRyb2xsZXIgfSBmcm9tICcuL2V4dGVybmFsLXBhcmFtcy9xdWVyeS1wYXJhbXMtY29udHJvbGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNhdmVkRmlsdGVyc0NvbnRyb2xsZXIgfSBmcm9tICcuL2V4dGVybmFsLXBhcmFtcy9zYXZlZC1maWx0ZXJzLWNvbnRyb2xsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBGc0ZpbHRlckl0ZW1zU3RvcmUgfSBmcm9tICcuL2l0ZW1zLXN0b3JlLnNlcnZpY2UnO1xuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBFeHRlcm5hbFBhcmFtc0NvbnRyb2xsZXIgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIHByb3RlY3RlZCBfaW5pdDtcblxuICBwcml2YXRlIF9wZW5kaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICBwcml2YXRlIF9zaG91bGRSZXNldFNhdmVkRmlsdGVycyA9IHRydWU7XG4gIHByaXZhdGUgX2NvbmZpZzogRnNGaWx0ZXJDb25maWc7XG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9pdGVtc1N0b3JlOiBGc0ZpbHRlckl0ZW1zU3RvcmUsXG4gICAgcHJpdmF0ZSBfcGVyc2lzdGFuY2VTdG9yZTogUGVyc2lzdGFuY2VQYXJhbXNDb250cm9sbGVyLFxuICAgIHByaXZhdGUgX3F1ZXJ5UGFyYW1zOiBRdWVyeVBhcmFtc0NvbnRyb2xsZXIsXG4gICAgcHJpdmF0ZSBfc2F2ZWRGaWx0ZXJzOiBTYXZlZEZpbHRlcnNDb250cm9sbGVyLFxuICApIHsgfVxuXG4gIHB1YmxpYyBnZXQgcGFyYW1zKCk6IElGaWx0ZXJFeHRlcm5hbFBhcmFtcyB7XG4gICAgbGV0IHJlc3VsdDogSUZpbHRlckV4dGVybmFsUGFyYW1zID0ge307XG5cbiAgICBpZiAodGhpcy5fcGVyc2lzdGFuY2VTdG9yZS5lbmFibGVkKSB7XG4gICAgICByZXN1bHQgPSB7XG4gICAgICAgIC4uLnJlc3VsdCwgXG4gICAgICAgIC4uLnRoaXMuX3BlcnNpc3RhbmNlU3RvcmUudmFsdWU/LmRhdGEsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9zYXZlZEZpbHRlcnMuZW5hYmxlZCAmJiB0aGlzLl9zYXZlZEZpbHRlcnMuYWN0aXZlRmlsdGVyKSB7XG4gICAgICBjb25zdCBxdWVyeSA9IE9iamVjdC5rZXlzKHJlc3VsdClcbiAgICAgICAgLmZpbHRlcigoa2V5KSA9PiAhdGhpcy5faXRlbXNTdG9yZS5pdGVtTmFtZXMuaW5jbHVkZXMoa2V5KSlcbiAgICAgICAgLnJlZHVjZSgoYWNjLCBrZXkpID0+IHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgICAgW2tleV06IHJlc3VsdFtrZXldLFxuICAgICAgICAgIH07XG4gICAgICAgIH0sIHt9KTtcblxuICAgICAgcmVzdWx0ID0ge1xuICAgICAgICAuLi5xdWVyeSwgXG4gICAgICAgIC4uLnRoaXMuX3NhdmVkRmlsdGVycy5hY3RpdmVGaWx0ZXJEYXRhLFxuICAgICAgfTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX3F1ZXJ5UGFyYW1zLmVuYWJsZWQpIHtcbiAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgLi4ucmVzdWx0LCBcbiAgICAgICAgLi4udGhpcy5fcXVlcnlQYXJhbXMuZmV0Y2hlZFBhcmFtcyxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGVuZGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcGVuZGluZyQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGVuZGluZyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX3BlbmRpbmckLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBzYXZlZEZpbHRlcnNDb250cm9sbGVyKCk6IFNhdmVkRmlsdGVyc0NvbnRyb2xsZXIge1xuICAgIHJldHVybiB0aGlzLl9zYXZlZEZpbHRlcnM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNhdmVkRmlsdGVyc0VuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3NhdmVkRmlsdGVycy5lbmFibGVkO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQobnVsbCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRDb25maWcoY29uZmlnKSB7XG4gICAgdGhpcy5fY29uZmlnID0gY29uZmlnO1xuXG4gICAgdGhpcy5faW5pdFBlcnNpc3RhbmNlKCk7XG4gICAgdGhpcy5faW5pdFF1ZXJ5UGFyYW1zKCk7XG4gICAgdGhpcy5faW5pdFNhdmVkRmlsdGVycygpO1xuICAgIHRoaXMuaW5pdEl0ZW1zKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0QWN0aXZlU2F2ZWRGaWx0ZXIoc2F2ZWRGaWx0ZXI6IElGaWx0ZXJTYXZlZEZpbHRlcikge1xuICAgIHRoaXMuc2F2ZWRGaWx0ZXJzQ29udHJvbGxlci5zZXRBY3RpdmVGaWx0ZXIoc2F2ZWRGaWx0ZXIpO1xuXG4gICAgaWYgKHNhdmVkRmlsdGVyKSB7XG4gICAgICB0aGlzLnJlbG9hZEZpbHRlcnNXaXRoVmFsdWVzKHNhdmVkRmlsdGVyLmZpbHRlcnMsIGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVsb2FkRmlsdGVyc1dpdGhWYWx1ZXMocGFyYW1zOiBJRmlsdGVyRXh0ZXJuYWxQYXJhbXMsIHNob3VsZFJlc2V0U2F2ZWRGaWx0ZXJzID0gdHJ1ZSkge1xuICAgIHRoaXMuX3Nob3VsZFJlc2V0U2F2ZWRGaWx0ZXJzID0gc2hvdWxkUmVzZXRTYXZlZEZpbHRlcnM7XG4gICAgdGhpcy5faXRlbXNTdG9yZS51cGRhdGVJdGVtc1dpdGhWYWx1ZXMocGFyYW1zKTtcblxuICAgIHRoaXMuX3NhdmVRdWVyeVBhcmFtcygpO1xuICAgIHRoaXMuX3NhdmVQZXJzaXN0ZWRQYXJhbXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0SXRlbXMoKTogdm9pZCB7XG4gICAgdGhpcy5fcGVuZGluZyQubmV4dCh0cnVlKTtcbiAgICBpZiAodGhpcy5fc2F2ZWRGaWx0ZXJzLmVuYWJsZWQpIHtcbiAgICAgIHRoaXMuX3NhdmVkRmlsdGVyc1xuICAgICAgICAubG9hZCgpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5fc2F2ZWRGaWx0ZXJzLnVwZGF0ZUFjdGl2ZUZpbHRlcigpO1xuICAgICAgICAgIHRoaXMuX2luaXRJdGVtc1ZhbHVlcygpO1xuICAgICAgICAgIHRoaXMuX2xpc3RlbkFuZFJlc2V0U2F2ZWRGaWx0ZXJzKCk7XG4gICAgICAgICAgdGhpcy5fcGVuZGluZyQubmV4dChmYWxzZSk7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9pbml0SXRlbXNWYWx1ZXMoKTtcbiAgICAgIHRoaXMuX3BlbmRpbmckLm5leHQoZmFsc2UpO1xuICAgIH1cblxuICAgIHRoaXMuX2xpc3Rlbkl0ZW1zQ2hhbmdlKCk7XG4gIH1cblxuICBwdWJsaWMgX2luaXRJdGVtc1ZhbHVlcygpIHtcbiAgICB0aGlzLl9pdGVtc1N0b3JlLmluaXQodGhpcy5wYXJhbXMpO1xuICAgIHRoaXMuX3NhdmVRdWVyeVBhcmFtcygpO1xuICAgIHRoaXMuX3NhdmVQZXJzaXN0ZWRQYXJhbXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBmZXRjaFF1ZXJ5UGFyYW1zKCk6IHZvaWQge1xuICAgIHRoaXMuX2luaXRRdWVyeVBhcmFtcygpO1xuICAgIHRoaXMuX2l0ZW1zU3RvcmUudXBkYXRlSXRlbXNXaXRoVmFsdWVzKHRoaXMucGFyYW1zKTtcbiAgfVxuXG4gIHByaXZhdGUgX2luaXRQZXJzaXN0YW5jZSgpIHtcbiAgICB0aGlzLl9wZXJzaXN0YW5jZVN0b3JlLmluaXQoXG4gICAgICB0aGlzLl9jb25maWcucGVyc2lzdCxcbiAgICAgIHRoaXMuX2NvbmZpZy5uYW1lc3BhY2UsXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2luaXRRdWVyeVBhcmFtcygpIHtcbiAgICB0aGlzLl9xdWVyeVBhcmFtcy5pbml0KHRoaXMuX2NvbmZpZy5xdWVyeVBhcmFtKTtcbiAgfVxuXG4gIHByaXZhdGUgX2luaXRTYXZlZEZpbHRlcnMoKSB7XG4gICAgdGhpcy5fc2F2ZWRGaWx0ZXJzLmluaXQodGhpcy5fY29uZmlnLnNhdmVkRmlsdGVycyk7XG4gIH1cblxuICBwcml2YXRlIF9saXN0ZW5JdGVtc0NoYW5nZSgpIHtcbiAgICB0aGlzLl9pdGVtc1N0b3JlLnJlYWR5JFxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigodikgPT4gdiksXG4gICAgICAgIHRha2UoMSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5fc2F2ZVF1ZXJ5UGFyYW1zKCk7XG4gICAgICAgIHRoaXMuX3NhdmVQZXJzaXN0ZWRQYXJhbXMoKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5faXRlbXNTdG9yZVxuICAgICAgLml0ZW1zQ2hhbmdlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5fc2F2ZVF1ZXJ5UGFyYW1zKCk7XG4gICAgICAgIHRoaXMuX3NhdmVQZXJzaXN0ZWRQYXJhbXMoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfbGlzdGVuQW5kUmVzZXRTYXZlZEZpbHRlcnMoKTogdm9pZCB7XG4gICAgdGhpcy5faXRlbXNTdG9yZVxuICAgICAgLml0ZW1zQ2hhbmdlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoKSA9PiAhIXRoaXMuc2F2ZWRGaWx0ZXJzQ29udHJvbGxlci5hY3RpdmVGaWx0ZXIpLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHNob3VsZFJlc2V0ID0gdGhpcy5fc2hvdWxkUmVzZXRTYXZlZEZpbHRlcnM7XG5cbiAgICAgICAgICB0aGlzLl9zaG91bGRSZXNldFNhdmVkRmlsdGVycyA9IHRydWU7XG5cbiAgICAgICAgICByZXR1cm4gb2Yoc2hvdWxkUmVzZXQpO1xuICAgICAgICB9KSxcbiAgICAgICAgZmlsdGVyKChzaG91bGRSZXNldCkgPT4gc2hvdWxkUmVzZXQpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuc2F2ZWRGaWx0ZXJzQ29udHJvbGxlci5yZXNldEFjdGl2ZUZpbHRlcigpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9zYXZlUXVlcnlQYXJhbXMoKSB7XG5cbiAgICBjb25zdCBwYXJhbXMgPSBidWlsZFF1ZXJ5UGFyYW1zKFxuICAgICAgdGhpcy5faXRlbXNTdG9yZVxuICAgICAgICAudmFsdWVzQXNRdWVyeSh7XG4gICAgICAgICAgb25seVByZXNlbnRlZDogZmFsc2UsXG4gICAgICAgICAgaXRlbXM6IHRoaXMuX2l0ZW1zU3RvcmUuaXRlbXMsXG4gICAgICAgICAgcGVyc2lzdGVkOiB0cnVlLFxuICAgICAgICB9KSxcbiAgICAgIHRoaXMuX2l0ZW1zU3RvcmUuaXRlbXMsXG4gICAgKTtcbiAgIFxuICAgIHRoaXMuX2l0ZW1zU3RvcmUuaXRlbXNcbiAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0ucXVlcnlQYXJhbXNEaXNhYmxlZCB8fCAhaXRlbS5pc1F1ZXJ5UGFyYW1WaXNpYmxlKVxuICAgICAgLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgcGFyYW1zW2l0ZW0ubmFtZV0gPSB1bmRlZmluZWQ7XG4gICAgICB9KTtcblxuICAgIHRoaXMuX3F1ZXJ5UGFyYW1zLndyaXRlU3RhdGVUb1F1ZXJ5UGFyYW1zKHBhcmFtcyk7XG4gIH1cblxuICBwcml2YXRlIF9zYXZlUGVyc2lzdGVkUGFyYW1zKCkge1xuICAgIGNvbnN0IHRhcmdldEl0ZW1zID0gdGhpcy5faXRlbXNTdG9yZS5pdGVtc1xuICAgICAgLmZpbHRlcigoaXRlbSkgPT4gIWl0ZW0ucGVyc2lzdGFuY2VEaXNhYmxlZCk7XG5cbiAgICBjb25zdCBwYXJhbXMgPSBidWlsZFF1ZXJ5UGFyYW1zKFxuICAgICAgdGhpcy5faXRlbXNTdG9yZS52YWx1ZXNBc1F1ZXJ5KHtcbiAgICAgICAgb25seVByZXNlbnRlZDogZmFsc2UsXG4gICAgICAgIGl0ZW1zOiB0YXJnZXRJdGVtcyxcbiAgICAgICAgcGVyc2lzdGVkOiB0cnVlLFxuICAgICAgfSksXG4gICAgICB0YXJnZXRJdGVtcyxcbiAgICApO1xuXG4gICAgdGhpcy5fcGVyc2lzdGFuY2VTdG9yZS5zYXZlKHBhcmFtcyk7XG4gIH1cbn1cbiJdfQ==
182
+ }], ctorParameters: () => [{ type: i1.FsFilterItemsStore }, { type: i2.QueryPersistanceController }, { type: i2.QueryParamsController }, { type: i2.SavedFiltersController }] });
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwtcGFyYW1zLWNvbnRyb2xsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvc2VydmljZXMvZXh0ZXJuYWwtcGFyYW1zLWNvbnRyb2xsZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRXRELE9BQU8sRUFBRSxlQUFlLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFJakUsT0FBTyxFQUNMLHFCQUFxQixFQUFFLDBCQUEwQixFQUFFLHNCQUFzQixHQUMxRSxNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7O0FBSTNELE1BQU0sT0FBTyx3QkFBd0I7SUFVekI7SUFDQTtJQUNBO0lBQ0E7SUFYQSxLQUFLLENBQUM7SUFFUixTQUFTLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDO0lBQ2hDLE9BQU8sQ0FBaUI7SUFDeEIsU0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFeEMsWUFDVSxXQUErQixFQUMvQixpQkFBNkMsRUFDN0MsWUFBbUMsRUFDbkMsYUFBcUM7UUFIckMsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBQy9CLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBNEI7UUFDN0MsaUJBQVksR0FBWixZQUFZLENBQXVCO1FBQ25DLGtCQUFhLEdBQWIsYUFBYSxDQUF3QjtJQUMzQyxDQUFDO0lBRUwsSUFBVyxNQUFNO1FB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QyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUU7Z0JBQ3BCLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztnQkFFNUIsT0FBTyxHQUFHLENBQUM7WUFDYixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFFVCxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQy9DLENBQUM7SUFDSCxDQUFDO3dHQXJOVSx3QkFBd0I7NEdBQXhCLHdCQUF3Qjs7NEZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHN3aXRjaE1hcCwgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBidWlsZFF1ZXJ5UGFyYW1zIH0gZnJvbSAnLi4vaGVscGVycy9idWlsZC1xdWVyeS1wYXJhbXMnO1xuaW1wb3J0IHsgSUZpbHRlckV4dGVybmFsUGFyYW1zLCBJRmlsdGVyU2F2ZWRGaWx0ZXIgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEZzRmlsdGVyQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzL2ZpbHRlci1jb25maWcnO1xuXG5pbXBvcnQge1xuICBRdWVyeVBhcmFtc0NvbnRyb2xsZXIsIFF1ZXJ5UGVyc2lzdGFuY2VDb250cm9sbGVyLCBTYXZlZEZpbHRlcnNDb250cm9sbGVyLFxufSBmcm9tICcuL2V4dGVybmFsLXBhcmFtcyc7XG5pbXBvcnQgeyBGc0ZpbHRlckl0ZW1zU3RvcmUgfSBmcm9tICcuL2l0ZW1zLXN0b3JlLnNlcnZpY2UnO1xuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBFeHRlcm5hbFBhcmFtc0NvbnRyb2xsZXIgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIHByb3RlY3RlZCBfaW5pdDtcblxuICBwcml2YXRlIF9wZW5kaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICBwcml2YXRlIF9zaG91bGRSZXNldFNhdmVkRmlsdGVycyA9IHRydWU7XG4gIHByaXZhdGUgX2NvbmZpZzogRnNGaWx0ZXJDb25maWc7XG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9pdGVtc1N0b3JlOiBGc0ZpbHRlckl0ZW1zU3RvcmUsXG4gICAgcHJpdmF0ZSBfcGVyc2lzdGFuY2VTdG9yZTogUXVlcnlQZXJzaXN0YW5jZUNvbnRyb2xsZXIsXG4gICAgcHJpdmF0ZSBfcXVlcnlQYXJhbXM6IFF1ZXJ5UGFyYW1zQ29udHJvbGxlcixcbiAgICBwcml2YXRlIF9zYXZlZEZpbHRlcnM6IFNhdmVkRmlsdGVyc0NvbnRyb2xsZXIsXG4gICkgeyB9XG5cbiAgcHVibGljIGdldCBwYXJhbXMoKTogSUZpbHRlckV4dGVybmFsUGFyYW1zIHtcbiAgICBsZXQgcmVzdWx0OiBJRmlsdGVyRXh0ZXJuYWxQYXJhbXMgPSB7fTtcblxuICAgIGlmICh0aGlzLl9wZXJzaXN0YW5jZVN0b3JlLnF1ZXJ5RW5hYmxlZCkge1xuICAgICAgcmVzdWx0ID0ge1xuICAgICAgICAuLi5yZXN1bHQsIFxuICAgICAgICAuLi50aGlzLl9wZXJzaXN0YW5jZVN0b3JlLmdldFF1ZXJ5KCksXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9zYXZlZEZpbHRlcnMuZW5hYmxlZCAmJiB0aGlzLl9zYXZlZEZpbHRlcnMuYWN0aXZlRmlsdGVyKSB7XG4gICAgICBjb25zdCBxdWVyeSA9IE9iamVjdC5rZXlzKHJlc3VsdClcbiAgICAgICAgLmZpbHRlcigoa2V5KSA9PiAhdGhpcy5faXRlbXNTdG9yZS5pdGVtTmFtZXMuaW5jbHVkZXMoa2V5KSlcbiAgICAgICAgLnJlZHVjZSgoYWNjLCBrZXkpID0+IHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgICAgW2tleV06IHJlc3VsdFtrZXldLFxuICAgICAgICAgIH07XG4gICAgICAgIH0sIHt9KTtcblxuICAgICAgcmVzdWx0ID0ge1xuICAgICAgICAuLi5xdWVyeSwgXG4gICAgICAgIC4uLnRoaXMuX3NhdmVkRmlsdGVycy5hY3RpdmVGaWx0ZXJEYXRhLFxuICAgICAgfTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX3F1ZXJ5UGFyYW1zLmVuYWJsZWQpIHtcbiAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgLi4ucmVzdWx0LCBcbiAgICAgICAgLi4udGhpcy5fcXVlcnlQYXJhbXMuZmV0Y2hlZFBhcmFtcyxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGVuZGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcGVuZGluZyQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGVuZGluZyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX3BlbmRpbmckLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBzYXZlZEZpbHRlcnNDb250cm9sbGVyKCk6IFNhdmVkRmlsdGVyc0NvbnRyb2xsZXIge1xuICAgIHJldHVybiB0aGlzLl9zYXZlZEZpbHRlcnM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNhdmVkRmlsdGVyc0VuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3NhdmVkRmlsdGVycy5lbmFibGVkO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQobnVsbCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRDb25maWcoY29uZmlnKSB7XG4gICAgdGhpcy5fY29uZmlnID0gY29uZmlnO1xuXG4gICAgdGhpcy5faW5pdFF1ZXJ5UGFyYW1zKCk7XG4gICAgdGhpcy5faW5pdFNhdmVkRmlsdGVycygpO1xuICAgIHRoaXMuaW5pdEl0ZW1zKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0QWN0aXZlU2F2ZWRGaWx0ZXIoc2F2ZWRGaWx0ZXI6IElGaWx0ZXJTYXZlZEZpbHRlcikge1xuICAgIHRoaXMuc2F2ZWRGaWx0ZXJzQ29udHJvbGxlci5zZXRBY3RpdmVGaWx0ZXIoc2F2ZWRGaWx0ZXIpO1xuXG4gICAgaWYgKHNhdmVkRmlsdGVyKSB7XG4gICAgICB0aGlzLnJlbG9hZEZpbHRlcnNXaXRoVmFsdWVzKHNhdmVkRmlsdGVyLmZpbHRlcnMsIGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVsb2FkRmlsdGVyc1dpdGhWYWx1ZXMocGFyYW1zOiBJRmlsdGVyRXh0ZXJuYWxQYXJhbXMsIHNob3VsZFJlc2V0U2F2ZWRGaWx0ZXJzID0gdHJ1ZSkge1xuICAgIHRoaXMuX3Nob3VsZFJlc2V0U2F2ZWRGaWx0ZXJzID0gc2hvdWxkUmVzZXRTYXZlZEZpbHRlcnM7XG4gICAgdGhpcy5faXRlbXNTdG9yZS51cGRhdGVJdGVtc1dpdGhWYWx1ZXMocGFyYW1zKTtcblxuICAgIHRoaXMuX3NhdmVRdWVyeVBhcmFtcygpO1xuICAgIHRoaXMuX3NhdmVQZXJzaXN0ZWRQYXJhbXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0SXRlbXMoKTogdm9pZCB7XG4gICAgdGhpcy5fcGVuZGluZyQubmV4dCh0cnVlKTtcbiAgICBpZiAodGhpcy5fc2F2ZWRGaWx0ZXJzLmVuYWJsZWQpIHtcbiAgICAgIHRoaXMuX3NhdmVkRmlsdGVyc1xuICAgICAgICAubG9hZCgpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5fc2F2ZWRGaWx0ZXJzLnVwZGF0ZUFjdGl2ZUZpbHRlcigpO1xuICAgICAgICAgIHRoaXMuX2luaXRJdGVtc1ZhbHVlcygpO1xuICAgICAgICAgIHRoaXMuX2xpc3RlbkFuZFJlc2V0U2F2ZWRGaWx0ZXJzKCk7XG4gICAgICAgICAgdGhpcy5fcGVuZGluZyQubmV4dChmYWxzZSk7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9pbml0SXRlbXNWYWx1ZXMoKTtcbiAgICAgIHRoaXMuX3BlbmRpbmckLm5leHQoZmFsc2UpO1xuICAgIH1cblxuICAgIHRoaXMuX2xpc3Rlbkl0ZW1zQ2hhbmdlKCk7XG4gIH1cblxuICBwdWJsaWMgX2luaXRJdGVtc1ZhbHVlcygpIHtcbiAgICB0aGlzLl9pdGVtc1N0b3JlLmluaXQodGhpcy5wYXJhbXMpO1xuICAgIHRoaXMuX3NhdmVRdWVyeVBhcmFtcygpO1xuICAgIHRoaXMuX3NhdmVQZXJzaXN0ZWRQYXJhbXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBmZXRjaFF1ZXJ5UGFyYW1zKCk6IHZvaWQge1xuICAgIHRoaXMuX2luaXRRdWVyeVBhcmFtcygpO1xuICAgIHRoaXMuX2l0ZW1zU3RvcmUudXBkYXRlSXRlbXNXaXRoVmFsdWVzKHRoaXMucGFyYW1zKTtcbiAgfVxuXG4gIHByaXZhdGUgX2luaXRRdWVyeVBhcmFtcygpIHtcbiAgICB0aGlzLl9xdWVyeVBhcmFtcy5pbml0KHRoaXMuX2NvbmZpZy5xdWVyeVBhcmFtKTtcbiAgfVxuXG4gIHByaXZhdGUgX2luaXRTYXZlZEZpbHRlcnMoKSB7XG4gICAgdGhpcy5fc2F2ZWRGaWx0ZXJzLmluaXQodGhpcy5fY29uZmlnLnNhdmVkRmlsdGVycyk7XG4gIH1cblxuICBwcml2YXRlIF9saXN0ZW5JdGVtc0NoYW5nZSgpIHtcbiAgICB0aGlzLl9pdGVtc1N0b3JlLnJlYWR5JFxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigodikgPT4gdiksXG4gICAgICAgIHRha2UoMSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5fc2F2ZVF1ZXJ5UGFyYW1zKCk7XG4gICAgICAgIHRoaXMuX3NhdmVQZXJzaXN0ZWRQYXJhbXMoKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5faXRlbXNTdG9yZVxuICAgICAgLml0ZW1zQ2hhbmdlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5fc2F2ZVF1ZXJ5UGFyYW1zKCk7XG4gICAgICAgIHRoaXMuX3NhdmVQZXJzaXN0ZWRQYXJhbXMoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfbGlzdGVuQW5kUmVzZXRTYXZlZEZpbHRlcnMoKTogdm9pZCB7XG4gICAgdGhpcy5faXRlbXNTdG9yZVxuICAgICAgLml0ZW1zQ2hhbmdlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoKSA9PiAhIXRoaXMuc2F2ZWRGaWx0ZXJzQ29udHJvbGxlci5hY3RpdmVGaWx0ZXIpLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHNob3VsZFJlc2V0ID0gdGhpcy5fc2hvdWxkUmVzZXRTYXZlZEZpbHRlcnM7XG5cbiAgICAgICAgICB0aGlzLl9zaG91bGRSZXNldFNhdmVkRmlsdGVycyA9IHRydWU7XG5cbiAgICAgICAgICByZXR1cm4gb2Yoc2hvdWxkUmVzZXQpO1xuICAgICAgICB9KSxcbiAgICAgICAgZmlsdGVyKChzaG91bGRSZXNldCkgPT4gc2hvdWxkUmVzZXQpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuc2F2ZWRGaWx0ZXJzQ29udHJvbGxlci5yZXNldEFjdGl2ZUZpbHRlcigpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9zYXZlUXVlcnlQYXJhbXMoKSB7XG5cbiAgICBjb25zdCBwYXJhbXMgPSBidWlsZFF1ZXJ5UGFyYW1zKFxuICAgICAgdGhpcy5faXRlbXNTdG9yZVxuICAgICAgICAudmFsdWVzQXNRdWVyeSh7XG4gICAgICAgICAgb25seVByZXNlbnRlZDogZmFsc2UsXG4gICAgICAgICAgaXRlbXM6IHRoaXMuX2l0ZW1zU3RvcmUuaXRlbXMsXG4gICAgICAgICAgcGVyc2lzdGVkOiB0cnVlLFxuICAgICAgICB9KSxcbiAgICAgIHRoaXMuX2l0ZW1zU3RvcmUuaXRlbXMsXG4gICAgKTtcbiAgIFxuICAgIHRoaXMuX2l0ZW1zU3RvcmUuaXRlbXNcbiAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0ucXVlcnlQYXJhbXNEaXNhYmxlZCB8fCAhaXRlbS5pc1F1ZXJ5UGFyYW1WaXNpYmxlKVxuICAgICAgLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgcGFyYW1zW2l0ZW0ubmFtZV0gPSB1bmRlZmluZWQ7XG4gICAgICB9KTtcblxuICAgIHRoaXMuX3F1ZXJ5UGFyYW1zLndyaXRlU3RhdGVUb1F1ZXJ5UGFyYW1zKHBhcmFtcyk7XG4gIH1cblxuICBwcml2YXRlIF9zYXZlUGVyc2lzdGVkUGFyYW1zKCkge1xuICAgIGlmKHRoaXMuX3BlcnNpc3RhbmNlU3RvcmUucXVlcnlFbmFibGVkKSB7XG4gICAgICBjb25zdCB0YXJnZXRJdGVtcyA9IHRoaXMuX2l0ZW1zU3RvcmUuaXRlbXNcbiAgICAgICAgLmZpbHRlcigoaXRlbSkgPT4gIWl0ZW0ucGVyc2lzdGFuY2VEaXNhYmxlZClcbiAgICAgICAgLmZpbHRlcigoaXRlbSkgPT4gaXRlbS52YWx1ZSAhPT0gdW5kZWZpbmVkKVxuICAgICAgICAucmVkdWNlKChhY2MsIGl0ZW0pID0+IHtcbiAgICAgICAgICBhY2NbaXRlbS5uYW1lXSA9IGl0ZW0ubW9kZWw7XG5cbiAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICB9LCB7fSk7XG5cbiAgICAgIHRoaXMuX3BlcnNpc3RhbmNlU3RvcmUuc2V0UXVlcnkodGFyZ2V0SXRlbXMpO1xuICAgIH1cbiAgfVxufVxuIl19