@smartsoft001/crud-shell-angular 1.1.652 → 1.1.663

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/bundles/smartsoft001-crud-shell-angular.umd.js +134 -25
  2. package/bundles/smartsoft001-crud-shell-angular.umd.js.map +1 -1
  3. package/esm2015/lib/+state/crud.selectors.js +1 -1
  4. package/esm2015/lib/components/components.module.js +7 -6
  5. package/esm2015/lib/components/filter/base/base.component.js +35 -9
  6. package/esm2015/lib/components/filter/date/date.component.js +21 -1
  7. package/esm2015/lib/components/filter/date-with-edit/date-with-edit.component.js +3 -2
  8. package/esm2015/lib/components/filter/filter.component.js +2 -2
  9. package/esm2015/lib/components/filter/index.js +2 -1
  10. package/esm2015/lib/components/filter/int/int.component.js +31 -0
  11. package/esm2015/lib/components/filters/filters.component.js +4 -3
  12. package/esm2015/lib/crud-full.module.js +4 -4
  13. package/esm2015/lib/pages/list/list.component.js +2 -2
  14. package/esm2015/smartsoft001-crud-shell-angular.js +11 -11
  15. package/fesm2015/smartsoft001-crud-shell-angular.js +97 -20
  16. package/fesm2015/smartsoft001-crud-shell-angular.js.map +1 -1
  17. package/lib/+state/crud.selectors.d.ts +9 -9
  18. package/lib/+state/crud.selectors.d.ts.map +1 -1
  19. package/lib/components/components.module.d.ts.map +1 -1
  20. package/lib/components/components.module.ngfactory.d.ts.map +1 -1
  21. package/lib/components/filter/base/base.component.d.ts +5 -1
  22. package/lib/components/filter/base/base.component.d.ts.map +1 -1
  23. package/lib/components/filter/date/date.component.d.ts +5 -0
  24. package/lib/components/filter/date/date.component.d.ts.map +1 -1
  25. package/lib/components/filter/date-with-edit/date-with-edit.component.d.ts +1 -0
  26. package/lib/components/filter/date-with-edit/date-with-edit.component.d.ts.map +1 -1
  27. package/lib/components/filter/index.d.ts +1 -0
  28. package/lib/components/filter/index.d.ts.map +1 -1
  29. package/lib/components/filter/int/int.component.d.ts +11 -0
  30. package/lib/components/filter/int/int.component.d.ts.map +1 -0
  31. package/lib/components/filter/int/int.component.ngfactory.d.ts.map +1 -0
  32. package/lib/components/filter/int/int.component.scss.shim.ngstyle.d.ts.map +1 -0
  33. package/lib/components/filters/filters.component.d.ts.map +1 -1
  34. package/lib/crud-full.module.ngfactory.d.ts.map +1 -1
  35. package/lib/crud.module.ngfactory.d.ts.map +1 -1
  36. package/package.json +8 -7
  37. package/smartsoft001-crud-shell-angular.d.ts +10 -10
  38. package/smartsoft001-crud-shell-angular.d.ts.map +1 -1
  39. package/smartsoft001-crud-shell-angular.metadata.json +1 -1
@@ -46,7 +46,7 @@ export class ListComponent extends CreateDynamicComponent('crud-list-page') {
46
46
  return __awaiter(this, void 0, void 0, function* () {
47
47
  yield this.pageService.checkPermissions();
48
48
  if (((_a = this.config.list) === null || _a === void 0 ? void 0 : _a.resetQuery) === 'beforeInit') {
49
- this.facade.read(Object.assign({ query: [...this.config.baseQuery], paginationMode: this.config.list.paginationMode, limit: this.config.pagination ? this.config.pagination.limit : null, offset: this.config.pagination ? 0 : null, sortBy: this.config.sort ? this.config.sort["default"] : null, sortDesc: this.config.sort ? this.config.sort["defaultDesc"] : null }, this.searchService.filter));
49
+ this.facade.read(Object.assign({ query: this.config.baseQuery ? [...this.config.baseQuery] : [], paginationMode: this.config.list.paginationMode, limit: this.config.pagination ? this.config.pagination.limit : null, offset: this.config.pagination ? 0 : null, sortBy: this.config.sort ? this.config.sort["default"] : null, sortDesc: this.config.sort ? this.config.sort["defaultDesc"] : null }, this.searchService.filter));
50
50
  }
51
51
  else {
52
52
  this.facade.read(Object.assign({ paginationMode: this.config.list.paginationMode, limit: this.config.pagination ? this.config.pagination.limit : null, offset: this.config.pagination ? 0 : null, sortBy: this.config.sort ? this.config.sort["default"] : null, sortDesc: this.config.sort ? this.config.sort["defaultDesc"] : null }, this.searchService.filter));
@@ -307,4 +307,4 @@ ListComponent.propDecorators = {
307
307
  contentTpl: [{ type: ViewChild, args: ["contentTpl", { read: TemplateRef, static: false },] }],
308
308
  dynamicContents: [{ type: ViewChildren, args: [DynamicContentDirective, { read: DynamicContentDirective },] }]
309
309
  };
310
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NydWQvc2hlbGwvYW5ndWxhci9zcmMvbGliL3BhZ2VzL2xpc3QvbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNTLHdCQUF3QixFQUFFLFVBQVUsRUFDdEQsUUFBUSxFQUFFLFdBQVcsRUFDYixTQUFTLEVBQUUsV0FBVyxFQUM5QixTQUFTLEVBQUUsWUFBWSxFQUN2QixnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHekMsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixzQkFBc0IsRUFBRSx1QkFBdUIsRUFDL0MsZUFBZSxFQUlmLFFBQVEsRUFDUixXQUFXLEVBQUUsWUFBWSxHQUMxQixNQUFNLHVCQUF1QixDQUFDO0FBRS9CLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsZUFBZSxHQUdoQixNQUFNLHNCQUFzQixDQUFDO0FBRTlCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3BHLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUU3RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQWlCdkUsTUFBTSxPQUFPLGFBQ1QsU0FBUSxzQkFBc0IsQ0FBaUMsZ0JBQWdCLENBQUM7SUF1QmxGLFlBQ1UsTUFBcUIsRUFDckIsTUFBYyxFQUNkLHNCQUFpRCxFQUNqRCxRQUFrQixFQUNsQixFQUFxQixFQUNyQixXQUF3QixFQUN4QixlQUFnQyxFQUNoQyxnQkFBOEMsRUFDOUMsWUFBMEIsRUFDMUIsVUFBc0IsRUFDdEIsV0FBMkIsRUFDNUIsTUFBeUIsRUFDeEIsYUFBZ0MsRUFDaEMsU0FBMkIsRUFDM0Isd0JBQWtEO1FBRTFELEtBQUssQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLHdCQUF3QixDQUFDLENBQUM7UUFoQnZDLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBMkI7UUFDakQsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUNyQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUE4QjtRQUM5QyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUM1QixXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQUN4QixrQkFBYSxHQUFiLGFBQWEsQ0FBbUI7UUFDaEMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQTlCNUQsWUFBTyxHQUE0QixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ3pELEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ2IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQVNGLG9CQUFlLEdBQUcsSUFBSSxTQUFTLEVBQTJCLENBQUM7UUFxQnpELElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNqRSxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQ25ELENBQUM7SUFFSyxRQUFROzs7WUFDWixNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUUxQyxJQUFJLENBQUEsTUFBQSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksMENBQUUsVUFBVSxNQUFLLFlBQVksRUFBRTtnQkFDakQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLGlCQUNkLEtBQUssRUFBRSxDQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUUsRUFDbkMsY0FBYyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFDL0MsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksRUFDbkUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFDekMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUM3RCxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQ2hFLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUM1QixDQUFDO2FBQ0o7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLGlCQUNkLGNBQWMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQy9DLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQ25FLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQ3pDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFDN0QsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUNoRSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFDNUIsQ0FBQzthQUNKO1lBRUQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBRXhDLElBQUksQ0FBQyxXQUFXLEdBQUc7Z0JBQ2pCLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUs7Z0JBQ3hCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07b0JBQ3hCLENBQUMsQ0FBQzt3QkFDRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQzt3QkFDL0QsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7NEJBQ1gsSUFBSSxHQUFHLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVO2dDQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksaUNBQ1gsSUFBSSxDQUFDLE1BQU0sS0FDZCxVQUFVLEVBQUUsR0FBRyxFQUNmLE1BQU0sRUFBRSxDQUFDLElBQ1QsQ0FBQzt3QkFDUCxDQUFDO3FCQUNGO29CQUNILENBQUMsQ0FBQyxJQUFJO2dCQUNSLFVBQVUsRUFBRSxVQUFVO2FBQ3ZCLENBQUM7WUFFRixNQUFNLGtCQUFrQixHQUN0QixNQUFNLElBQUksQ0FBQyxzQkFBc0IsQ0FBQywwQkFBMEIsQ0FBQztnQkFDM0QsVUFBVSxFQUFFO29CQUNWLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU87d0JBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQzt3QkFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsR0FBRzt3QkFDbkMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsR0FBRyxDQUFDO3dCQUN6QyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUNQLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU87d0JBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQzt3QkFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTTt3QkFDdEMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDO3dCQUM1QyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUNQLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUk7d0JBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQzt3QkFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsR0FBRzt3QkFDaEMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsR0FBRyxDQUFDO3dCQUN0QyxDQUFDLENBQUMsRUFBRSxDQUFDO2lCQUNSO2FBQ0YsQ0FBQyxDQUFDO1lBRUwsSUFBSSxDQUFDLFdBQVcsR0FBRztnQkFDakIsUUFBUSxFQUFFO29CQUNSLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBUSxFQUFFO3dCQUN4QixNQUFNLE1BQU0sbUNBQ1AsSUFBSSxDQUFDLE1BQU0sR0FDWCxNQUFNLENBQ1YsQ0FBQzt3QkFDRixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDM0IsQ0FBQztvQkFDRCxxQkFBcUIsRUFBRSxDQUFPLElBQUksRUFBRSxFQUFFO3dCQUNwQyxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRTs0QkFDOUMsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQztnQ0FDN0IsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO2dDQUN2QixTQUFTLEVBQUUsb0JBQW9COzZCQUNoQyxDQUFDLENBQUM7eUJBQ0o7NkJBQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUU7NEJBQ3JELE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQzt5QkFDbkM7d0JBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ2hDLENBQUMsQ0FBQTtvQkFDRCxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLO29CQUN4QixRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDbkQ7Z0JBQ0QsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUk7Z0JBQzdELElBQUksRUFBRSxNQUFBLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSwwQ0FBRSxJQUFJO2dCQUM1QixJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJO2dCQUN0QixPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPO29CQUMxQixDQUFDLENBQUM7d0JBQ0UsUUFBUSxFQUFFOzRCQUNSLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFO2dDQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDOzRCQUN6QixDQUFDOzRCQUNELFNBQVMsRUFBRSxHQUFHLEVBQUU7Z0NBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQzs0QkFDekIsQ0FBQzs0QkFDRCxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTOzRCQUM1QixRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzt5QkFDbkQ7d0JBQ0Qsa0JBQWtCLEVBQUU7NEJBQ2xCLEdBQUcsRUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU87Z0NBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQztnQ0FDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsR0FBRztnQ0FDbkMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FDckIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUNMLEVBQUUsQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsR0FBRyxDQUN6RCxDQUFDLE9BQU87Z0NBQ1gsQ0FBQyxDQUFDLElBQUk7NEJBQ1YsTUFBTSxFQUNKLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTztnQ0FDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDO2dDQUNqQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNO2dDQUN0QyxDQUFDLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUNyQixDQUFDLEVBQUUsRUFBRSxFQUFFLENBQ0wsRUFBRSxDQUFDLFNBQVM7b0NBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUMzQyxDQUFDLE9BQU87Z0NBQ1gsQ0FBQyxDQUFDLElBQUk7eUJBQ1g7cUJBQ0Y7b0JBQ0gsQ0FBQyxDQUFDLElBQUk7Z0JBQ1IsSUFBSSxFQUNGLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTztvQkFDckMsQ0FBQyxDQUFDO3dCQUNFLE9BQU8sRUFBRTs0QkFDUCxhQUFhLEVBQUUsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEdBQUcsR0FBRzs0QkFDL0QsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSTt5QkFDdkI7cUJBQ0Y7b0JBQ0gsQ0FBQyxDQUFDLElBQUk7Z0JBQ1YsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTtvQkFDeEIsQ0FBQyxDQUFDO3dCQUNFLFFBQVEsRUFBRTs0QkFDUixNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQzt5QkFDdkM7cUJBQ0Y7b0JBQ0gsQ0FBQyxDQUFDLElBQUk7Z0JBQ1IsVUFBVSxFQUFFLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztvQkFDN0MsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWM7b0JBQ3JDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLO29CQUNuQyxRQUFRLEVBQUU7d0JBQ1IsU0FBUyxFQUFFLEdBQUcsRUFBRTs0QkFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7d0JBQ3JCLENBQUM7d0JBQ0QsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLO3FCQUMzQjtpQkFDRixDQUFDO2dCQUNGLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUk7YUFDdkIsQ0FBQztZQUVGLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7WUFFeEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBRTFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDOztLQUMvQjtJQUVPLGFBQWE7UUFDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFTLEVBQUU7WUFDbEUsTUFBTSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDckIsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFYSxLQUFLOztZQUNqQixNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7WUFFbEMsSUFBSSxDQUFDLFdBQVcsbUNBQ1gsSUFBSSxDQUFDLFdBQVcsS0FDbkIsTUFBTSxFQUFFLElBQUksR0FDYixDQUFDO1lBRUYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDOUIsQ0FBQztLQUFBO0lBRU8sYUFBYTs7UUFDbkIsTUFBTSxpQkFBaUIsR0FBRyx5QkFBeUIsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM1RSxNQUFNLFlBQVksR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV2RCxNQUFNLFdBQVcsR0FDZixpQkFBaUIsQ0FBQyxJQUFJLENBQ3BCLENBQUMsQ0FBQyxFQUFFLEVBQUUsZUFBQyxPQUFBLE1BQUMsTUFBQSxDQUFDLENBQUMsT0FBTywwQ0FBRSxJQUEyQiwwQ0FBRSxNQUFNLENBQUEsRUFBQSxDQUN2RCxLQUFJLE1BQUEsWUFBWSxhQUFaLFlBQVksdUJBQVosWUFBWSxDQUFFLE9BQU8sMENBQUUsTUFBTSxDQUFBLENBQUM7UUFFckMsTUFBTSxhQUFhLEdBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSTtZQUNoQixpQkFBaUIsQ0FBQyxJQUFJLENBQ3BCLENBQUMsQ0FBQyxFQUFFLEVBQUUsZUFBQyxPQUFBLE1BQUMsTUFBQSxDQUFDLENBQUMsT0FBTywwQ0FBRSxNQUE2QiwwQ0FBRSxLQUFLLENBQUEsRUFBQSxDQUN4RDtZQUNELENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRO1lBQzlCLENBQUMsQ0FBQyxDQUFBLE1BQUEsTUFBQSxJQUFJLENBQUMsTUFBTSwwQ0FBRSxJQUFJLDBDQUFFLElBQUksQ0FBQTtnQkFDdkIsQ0FBQSxNQUFBLE1BQUEsSUFBSSxDQUFDLE1BQU0sMENBQUUsSUFBSSwwQ0FBRSxJQUFJLE1BQUssUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWxELE9BQU87WUFDTCxHQUFHLENBQUMsYUFBYTtnQkFDZixDQUFDLENBQUM7b0JBQ0U7d0JBQ0UsSUFBSSxFQUFFLGtCQUFrQjt3QkFDeEIsSUFBSSxFQUFFLE9BQU87d0JBQ2IsT0FBTyxFQUFFLEdBQVMsRUFBRTs0QkFDbEIsSUFBSSxDQUFDLFdBQVcsbUNBQ1gsSUFBSSxDQUFDLFdBQVcsS0FDbkIsTUFBTSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQzdELENBQUM7NEJBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7NEJBQzVCLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTO2dDQUM1QixNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7NEJBQ3BDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7d0JBQzFCLENBQUMsQ0FBQTtxQkFDRjtpQkFDRjtnQkFDSCxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ1AsR0FBRyxDQUFDLFdBQVc7Z0JBQ2IsQ0FBQyxDQUFDO29CQUNFO3dCQUNFLElBQUksRUFBRSxnQkFBZ0I7d0JBQ3RCLElBQUksRUFBRSxTQUFTO3dCQUNmLE9BQU8sRUFBRSxHQUFTLEVBQUU7NEJBQ2xCLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUM7Z0NBQzdCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtnQ0FDdkIsU0FBUyxFQUFFLGdCQUFnQjs2QkFDNUIsQ0FBQyxDQUFDO3dCQUNMLENBQUMsQ0FBQTtxQkFDRjtpQkFDRjtnQkFDSCxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ1AsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRztnQkFDakIsQ0FBQyxDQUFDO29CQUNFO3dCQUNFLElBQUksRUFBRSxLQUFLO3dCQUNYLElBQUksRUFBRSxLQUFLO3dCQUNYLE9BQU8sRUFBRSxHQUFHLEVBQUU7NEJBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7Z0NBQ25CLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLE1BQU07NkJBQ3BELENBQUMsQ0FBQzt3QkFDTCxDQUFDO3FCQUNGO2lCQUNGO2dCQUNILENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDUCxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNO2dCQUNwQixDQUFDLENBQUM7b0JBQ0U7d0JBQ0UsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsSUFBSSxFQUFFLGtCQUFrQjt3QkFDeEIsSUFBSSxFQUFFLFNBQXNCO3dCQUM1QixTQUFTLEVBQUUsZUFBZTtxQkFDM0I7aUJBQ0Y7Z0JBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNQLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztTQUNwRCxDQUFDO0lBQ0osQ0FBQztJQUVPLGdCQUFnQixDQUN0QixrQkFHRztRQUVILE1BQU0sT0FBTyxHQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSTtZQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsR0FBRztZQUNoQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUNyQixDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLFNBQVMsS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxHQUFHLENBQzVELENBQUMsT0FBTztZQUNYLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFFWCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDdEM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Ozs7WUExVkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxzQkFBc0I7Z0JBQ2hDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7R0FXVDthQUNGOzs7Ozs7Ozs7O1lBekJRLFVBQVU7WUFyQlYsTUFBTTtZQUtiLHNCQUFzQjtZQVh0QixRQUFRO1lBSFIsaUJBQWlCO1lBb0JqQixXQUFXO1lBTFgsZUFBZTtZQXFCUix5QkFBeUI7WUFoQm5CLFlBQVk7WUFsQm1CLFVBQVU7WUFtQ2hELFdBQVc7WUFOVixjQUFjO1lBUWYsaUJBQWlCO1lBcENiLFdBQVc7WUFESCx3QkFBd0I7Ozs7cUJBcUV6QyxTQUFTLFNBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7eUJBRzdELFNBQVMsU0FBQyxZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7OEJBRzVELFlBQVksU0FBQyx1QkFBdUIsRUFBRSxFQUFFLElBQUksRUFBRSx1QkFBdUIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudEZhY3RvcnksIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgRWxlbWVudFJlZixcbiAgSW5qZWN0b3IsIE5nTW9kdWxlUmVmLCBPbkRlc3Ryb3ksXG4gIE9uSW5pdCwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLCBWaWV3Q2hpbGRyZW4sXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBtYXAsIHRhcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5cbmltcG9ydCB7XG4gIENyZWF0ZUR5bmFtaWNDb21wb25lbnQsXG4gIER5bmFtaWNDb21wb25lbnRMb2FkZXIsIER5bmFtaWNDb250ZW50RGlyZWN0aXZlLFxuICBIYXJkd2FyZVNlcnZpY2UsXG4gIElJY29uQnV0dG9uT3B0aW9ucyxcbiAgSUxpc3RPcHRpb25zLFxuICBJUGFnZU9wdGlvbnMsXG4gIExpc3RNb2RlLFxuICBNZW51U2VydmljZSwgU3R5bGVTZXJ2aWNlLFxufSBmcm9tIFwiQHNtYXJ0c29mdDAwMS9hbmd1bGFyXCI7XG5pbXBvcnQgeyBJRW50aXR5IH0gZnJvbSBcIkBzbWFydHNvZnQwMDEvZG9tYWluLWNvcmVcIjtcbmltcG9ydCB7XG4gIGdldE1vZGVsRmllbGRzV2l0aE9wdGlvbnMsXG4gIGdldE1vZGVsT3B0aW9ucyxcbiAgSUZpZWxkRWRpdE1ldGFkYXRhLFxuICBJRmllbGRMaXN0TWV0YWRhdGEsXG59IGZyb20gXCJAc21hcnRzb2Z0MDAxL21vZGVsc1wiO1xuXG5pbXBvcnQgeyBDcnVkRmFjYWRlIH0gZnJvbSBcIi4uLy4uLytzdGF0ZS9jcnVkLmZhY2FkZVwiO1xuaW1wb3J0IHsgQ3J1ZEZ1bGxDb25maWcgfSBmcm9tIFwiLi4vLi4vY3J1ZC5jb25maWdcIjtcbmltcG9ydCB7IElDcnVkRmlsdGVyIH0gZnJvbSBcIi4uLy4uL21vZGVscy9pbnRlcmZhY2VzXCI7XG5pbXBvcnQgeyBFeHBvcnRDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9leHBvcnQvZXhwb3J0LmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgRmlsdGVyc0NvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL2ZpbHRlcnMvZmlsdGVycy5jb21wb25lbnRcIjtcbmltcG9ydCB7IE11bHRpc2VsZWN0Q29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvbXVsdGlzZWxlY3QvbXVsdGlzZWxlY3QuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDcnVkTGlzdFBhZ2luYXRpb25GYWN0b3J5IH0gZnJvbSBcIi4uLy4uL2ZhY3Rvcmllcy9saXN0LXBhZ2luYXRpb24vbGlzdC1wYWdpbmF0aW9uLmZhY3RvcnlcIjtcbmltcG9ydCB7UGFnZVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9wYWdlL3BhZ2Uuc2VydmljZVwiO1xuaW1wb3J0IHtDcnVkTGlzdFBhZ2VCYXNlQ29tcG9uZW50fSBmcm9tIFwiLi9iYXNlL2Jhc2UuY29tcG9uZW50XCI7XG5pbXBvcnQge0NydWRTZWFyY2hTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvc2VhcmNoL3NlYXJjaC5zZXJ2aWNlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzbWFydC1jcnVkLWxpc3QtcGFnZVwiLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxzbWFydC1wYWdlIFtvcHRpb25zXT1cInBhZ2VPcHRpb25zXCIgKm5nSWY9XCJmaWx0ZXIkIHwgYXN5bmNcIj5cbiAgICAgIDxkaXYgI3RvcFRwbD48L2Rpdj5cbiAgICAgIDxzbWFydC1jcnVkLWxpc3Qtc3RhbmRhcmQtcGFnZSAqbmdJZj1cInRlbXBsYXRlID09PSAnZGVmYXVsdCdcIiBbbGlzdE9wdGlvbnNdPVwibGlzdE9wdGlvbnNcIj5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGVudFRwbFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9zbWFydC1jcnVkLWxpc3Qtc3RhbmRhcmQtcGFnZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjY29udGVudFRwbD5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxkaXYgY2xhc3M9XCJkeW5hbWljLWNvbnRlbnRcIj48L2Rpdj5cbiAgICA8L3NtYXJ0LXBhZ2U+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgTGlzdENvbXBvbmVudDxUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+PlxuICAgIGV4dGVuZHMgQ3JlYXRlRHluYW1pY0NvbXBvbmVudDxDcnVkTGlzdFBhZ2VCYXNlQ29tcG9uZW50PGFueT4+KCdjcnVkLWxpc3QtcGFnZScpXG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3lcbntcbiAgcGFnZU9wdGlvbnM6IElQYWdlT3B0aW9ucztcbiAgbGlzdE9wdGlvbnM6IElMaXN0T3B0aW9uczxUPjtcbiAgZmlsdGVyOiBJQ3J1ZEZpbHRlcjtcbiAgbGlua3M6IHsgbmV4dDsgcHJldiB9O1xuXG4gIGZpbHRlciQ6IE9ic2VydmFibGU8SUNydWRGaWx0ZXI+ID0gdGhpcy5mYWNhZGUuZmlsdGVyJC5waXBlKFxuICAgIHRhcCgoZmlsdGVyKSA9PiB7XG4gICAgICB0aGlzLmZpbHRlciA9IGZpbHRlcjtcbiAgICB9KVxuICApO1xuXG4gIEBWaWV3Q2hpbGQoXCJ0b3BUcGxcIiwgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmLCBzdGF0aWM6IGZhbHNlIH0pXG4gIHRvcFRwbDogVmlld0NvbnRhaW5lclJlZjtcblxuICBAVmlld0NoaWxkKFwiY29udGVudFRwbFwiLCB7IHJlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IGZhbHNlIH0pXG4gIGNvbnRlbnRUcGw6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQFZpZXdDaGlsZHJlbihEeW5hbWljQ29udGVudERpcmVjdGl2ZSwgeyByZWFkOiBEeW5hbWljQ29udGVudERpcmVjdGl2ZSB9KVxuICBkeW5hbWljQ29udGVudHMgPSBuZXcgUXVlcnlMaXN0PER5bmFtaWNDb250ZW50RGlyZWN0aXZlPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmFjYWRlOiBDcnVkRmFjYWRlPFQ+LFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBkeW5hbWljQ29tcG9uZW50TG9hZGVyOiBEeW5hbWljQ29tcG9uZW50TG9hZGVyPFQ+LFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgbWVudVNlcnZpY2U6IE1lbnVTZXJ2aWNlLFxuICAgIHByaXZhdGUgaGFyZHdhcmVTZXJ2aWNlOiBIYXJkd2FyZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwYWdpbmF0aW9uRmFjYWRlOiBDcnVkTGlzdFBhZ2luYXRpb25GYWN0b3J5PFQ+LFxuICAgIHByaXZhdGUgc3R5bGVTZXJ2aWNlOiBTdHlsZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcGFnZVNlcnZpY2U6IFBhZ2VTZXJ2aWNlPFQ+LFxuICAgIHB1YmxpYyBjb25maWc6IENydWRGdWxsQ29uZmlnPFQ+LFxuICAgIHByaXZhdGUgc2VhcmNoU2VydmljZTogQ3J1ZFNlYXJjaFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtb2R1bGVSZWY6IE5nTW9kdWxlUmVmPGFueT4sXG4gICAgcHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlclxuICApIHtcbiAgICBzdXBlcihjZCwgbW9kdWxlUmVmLCBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpO1xuXG4gICAgdGhpcy5mYWNhZGUubGlua3MkLnBpcGUodGhpcy50YWtlVW50aWxEZXN0cm95KS5zdWJzY3JpYmUoKGxpbmtzKSA9PiB7XG4gICAgICB0aGlzLmxpbmtzID0gbGlua3M7XG4gICAgfSk7XG4gIH1cblxuICByZWZyZXNoUHJvcGVydGllcygpOiB2b2lkIHtcbiAgICB0aGlzLmJhc2VJbnN0YW5jZS5saXN0T3B0aW9ucyA9IHRoaXMubGlzdE9wdGlvbnM7XG4gIH1cblxuICBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnBhZ2VTZXJ2aWNlLmNoZWNrUGVybWlzc2lvbnMoKTtcblxuICAgIGlmICh0aGlzLmNvbmZpZy5saXN0Py5yZXNldFF1ZXJ5ID09PSAnYmVmb3JlSW5pdCcpIHtcbiAgICAgIHRoaXMuZmFjYWRlLnJlYWQoe1xuICAgICAgICBxdWVyeTogWyAuLi50aGlzLmNvbmZpZy5iYXNlUXVlcnkgXSxcbiAgICAgICAgcGFnaW5hdGlvbk1vZGU6IHRoaXMuY29uZmlnLmxpc3QucGFnaW5hdGlvbk1vZGUsXG4gICAgICAgIGxpbWl0OiB0aGlzLmNvbmZpZy5wYWdpbmF0aW9uID8gdGhpcy5jb25maWcucGFnaW5hdGlvbi5saW1pdCA6IG51bGwsXG4gICAgICAgIG9mZnNldDogdGhpcy5jb25maWcucGFnaW5hdGlvbiA/IDAgOiBudWxsLFxuICAgICAgICBzb3J0Qnk6IHRoaXMuY29uZmlnLnNvcnQgPyB0aGlzLmNvbmZpZy5zb3J0W1wiZGVmYXVsdFwiXSA6IG51bGwsXG4gICAgICAgIHNvcnREZXNjOiB0aGlzLmNvbmZpZy5zb3J0ID8gdGhpcy5jb25maWcuc29ydFtcImRlZmF1bHREZXNjXCJdIDogbnVsbCxcbiAgICAgICAgLi4udGhpcy5zZWFyY2hTZXJ2aWNlLmZpbHRlclxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmFjYWRlLnJlYWQoe1xuICAgICAgICBwYWdpbmF0aW9uTW9kZTogdGhpcy5jb25maWcubGlzdC5wYWdpbmF0aW9uTW9kZSxcbiAgICAgICAgbGltaXQ6IHRoaXMuY29uZmlnLnBhZ2luYXRpb24gPyB0aGlzLmNvbmZpZy5wYWdpbmF0aW9uLmxpbWl0IDogbnVsbCxcbiAgICAgICAgb2Zmc2V0OiB0aGlzLmNvbmZpZy5wYWdpbmF0aW9uID8gMCA6IG51bGwsXG4gICAgICAgIHNvcnRCeTogdGhpcy5jb25maWcuc29ydCA/IHRoaXMuY29uZmlnLnNvcnRbXCJkZWZhdWx0XCJdIDogbnVsbCxcbiAgICAgICAgc29ydERlc2M6IHRoaXMuY29uZmlnLnNvcnQgPyB0aGlzLmNvbmZpZy5zb3J0W1wiZGVmYXVsdERlc2NcIl0gOiBudWxsLFxuICAgICAgICAuLi50aGlzLnNlYXJjaFNlcnZpY2UuZmlsdGVyXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBlbmRCdXR0b25zID0gdGhpcy5nZXRFbmRCdXR0b25zKCk7XG5cbiAgICB0aGlzLnBhZ2VPcHRpb25zID0ge1xuICAgICAgdGl0bGU6IHRoaXMuY29uZmlnLnRpdGxlLFxuICAgICAgc2VhcmNoOiB0aGlzLmNvbmZpZy5zZWFyY2hcbiAgICAgICAgPyB7XG4gICAgICAgICAgICB0ZXh0JDogdGhpcy5maWx0ZXIkLnBpcGUobWFwKChmKSA9PiAoZiA/IGYuc2VhcmNoVGV4dCA6IG51bGwpKSksXG4gICAgICAgICAgICBzZXQ6ICh0eHQpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHR4dCAhPT0gdGhpcy5maWx0ZXIuc2VhcmNoVGV4dClcbiAgICAgICAgICAgICAgICB0aGlzLmZhY2FkZS5yZWFkKHtcbiAgICAgICAgICAgICAgICAgIC4uLnRoaXMuZmlsdGVyLFxuICAgICAgICAgICAgICAgICAgc2VhcmNoVGV4dDogdHh0LFxuICAgICAgICAgICAgICAgICAgb2Zmc2V0OiAwLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9XG4gICAgICAgIDogbnVsbCxcbiAgICAgIGVuZEJ1dHRvbnM6IGVuZEJ1dHRvbnMsXG4gICAgfTtcblxuICAgIGNvbnN0IGNvbXBpbGVkQ29tcG9uZW50cyA9XG4gICAgICBhd2FpdCB0aGlzLmR5bmFtaWNDb21wb25lbnRMb2FkZXIuZ2V0Q29tcG9uZW50c1dpdGhGYWN0b3JpZXMoe1xuICAgICAgICBjb21wb25lbnRzOiBbXG4gICAgICAgICAgLi4uKHRoaXMuY29uZmlnLmRldGFpbHMgJiZcbiAgICAgICAgICB0aGlzLmNvbmZpZy5kZXRhaWxzW1wiY29tcG9uZW50c1wiXSAmJlxuICAgICAgICAgIHRoaXMuY29uZmlnLmRldGFpbHNbXCJjb21wb25lbnRzXCJdLnRvcFxuICAgICAgICAgICAgPyBbdGhpcy5jb25maWcuZGV0YWlsc1tcImNvbXBvbmVudHNcIl0udG9wXVxuICAgICAgICAgICAgOiBbXSksXG4gICAgICAgICAgLi4uKHRoaXMuY29uZmlnLmRldGFpbHMgJiZcbiAgICAgICAgICB0aGlzLmNvbmZpZy5kZXRhaWxzW1wiY29tcG9uZW50c1wiXSAmJlxuICAgICAgICAgIHRoaXMuY29uZmlnLmRldGFpbHNbXCJjb21wb25lbnRzXCJdLmJvdHRvbVxuICAgICAgICAgICAgPyBbdGhpcy5jb25maWcuZGV0YWlsc1tcImNvbXBvbmVudHNcIl0uYm90dG9tXVxuICAgICAgICAgICAgOiBbXSksXG4gICAgICAgICAgLi4uKHRoaXMuY29uZmlnLmxpc3QgJiZcbiAgICAgICAgICB0aGlzLmNvbmZpZy5saXN0W1wiY29tcG9uZW50c1wiXSAmJlxuICAgICAgICAgIHRoaXMuY29uZmlnLmxpc3RbXCJjb21wb25lbnRzXCJdLnRvcFxuICAgICAgICAgICAgPyBbdGhpcy5jb25maWcubGlzdFtcImNvbXBvbmVudHNcIl0udG9wXVxuICAgICAgICAgICAgOiBbXSksXG4gICAgICAgIF0sXG4gICAgICB9KTtcblxuICAgIHRoaXMubGlzdE9wdGlvbnMgPSB7XG4gICAgICBwcm92aWRlcjoge1xuICAgICAgICBnZXREYXRhOiAoZmlsdGVyKTogdm9pZCA9PiB7XG4gICAgICAgICAgY29uc3QgZ2xvYmFsID0ge1xuICAgICAgICAgICAgLi4udGhpcy5maWx0ZXIsXG4gICAgICAgICAgICAuLi5maWx0ZXIsXG4gICAgICAgICAgfTtcbiAgICAgICAgICB0aGlzLmZhY2FkZS5yZWFkKGdsb2JhbCk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uQ2hhbmdlTXVsdGlTZWxlY3RlZDogYXN5bmMgKGxpc3QpID0+IHtcbiAgICAgICAgICBpZiAobGlzdC5sZW5ndGggJiYgIXRoaXMubWVudVNlcnZpY2Uub3BlbmVkRW5kKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLm1lbnVTZXJ2aWNlLm9wZW5FbmQoe1xuICAgICAgICAgICAgICBpbmplY3RvcjogdGhpcy5pbmplY3RvcixcbiAgICAgICAgICAgICAgY29tcG9uZW50OiBNdWx0aXNlbGVjdENvbXBvbmVudCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSBpZiAoIWxpc3QubGVuZ3RoICYmIHRoaXMubWVudVNlcnZpY2Uub3BlbmVkRW5kKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLm1lbnVTZXJ2aWNlLmNsb3NlRW5kKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy5mYWNhZGUubXVsdGlTZWxlY3QobGlzdCk7XG4gICAgICAgIH0sXG4gICAgICAgIGxpc3QkOiB0aGlzLmZhY2FkZS5saXN0JCxcbiAgICAgICAgbG9hZGluZyQ6IHRoaXMuZmFjYWRlLmxvYWRlZCQucGlwZShtYXAoKGwpID0+ICFsKSksXG4gICAgICB9LFxuICAgICAgY2VsbFBpcGU6IHRoaXMuY29uZmlnLmxpc3QgPyB0aGlzLmNvbmZpZy5saXN0LmNlbGxQaXBlIDogbnVsbCxcbiAgICAgIG1vZGU6IHRoaXMuY29uZmlnLmxpc3Q/Lm1vZGUsXG4gICAgICB0eXBlOiB0aGlzLmNvbmZpZy50eXBlLFxuICAgICAgZGV0YWlsczogdGhpcy5jb25maWcuZGV0YWlsc1xuICAgICAgICA/IHtcbiAgICAgICAgICAgIHByb3ZpZGVyOiB7XG4gICAgICAgICAgICAgIGdldERhdGE6IChpZCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZmFjYWRlLnNlbGVjdChpZCk7XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGNsZWFyRGF0YTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZmFjYWRlLnVuc2VsZWN0KCk7XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGl0ZW0kOiB0aGlzLmZhY2FkZS5zZWxlY3RlZCQsXG4gICAgICAgICAgICAgIGxvYWRpbmckOiB0aGlzLmZhY2FkZS5sb2FkZWQkLnBpcGUobWFwKChsKSA9PiAhbCkpLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNvbXBvbmVudEZhY3Rvcmllczoge1xuICAgICAgICAgICAgICB0b3A6XG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWcuZGV0YWlscyAmJlxuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLmRldGFpbHNbXCJjb21wb25lbnRzXCJdICYmXG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWcuZGV0YWlsc1tcImNvbXBvbmVudHNcIl0udG9wXG4gICAgICAgICAgICAgICAgICA/IGNvbXBpbGVkQ29tcG9uZW50cy5maW5kKFxuICAgICAgICAgICAgICAgICAgICAgIChjYykgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNjLmNvbXBvbmVudCA9PT0gdGhpcy5jb25maWcuZGV0YWlsc1tcImNvbXBvbmVudHNcIl0udG9wXG4gICAgICAgICAgICAgICAgICAgICkuZmFjdG9yeVxuICAgICAgICAgICAgICAgICAgOiBudWxsLFxuICAgICAgICAgICAgICBib3R0b206XG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWcuZGV0YWlscyAmJlxuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLmRldGFpbHNbXCJjb21wb25lbnRzXCJdICYmXG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWcuZGV0YWlsc1tcImNvbXBvbmVudHNcIl0uYm90dG9tXG4gICAgICAgICAgICAgICAgICA/IGNvbXBpbGVkQ29tcG9uZW50cy5maW5kKFxuICAgICAgICAgICAgICAgICAgICAgIChjYykgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNjLmNvbXBvbmVudCA9PT1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLmRldGFpbHNbXCJjb21wb25lbnRzXCJdLmJvdHRvbVxuICAgICAgICAgICAgICAgICAgICApLmZhY3RvcnlcbiAgICAgICAgICAgICAgICAgIDogbnVsbCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfVxuICAgICAgICA6IG51bGwsXG4gICAgICBpdGVtOlxuICAgICAgICB0aGlzLmNvbmZpZy5lZGl0IHx8IHRoaXMuY29uZmlnLmRldGFpbHNcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgIHJvdXRpbmdQcmVmaXg6IFwiL1wiICsgdGhpcy5yb3V0ZXIucm91dGVyU3RhdGUuc25hcHNob3QudXJsICsgXCIvXCIsXG4gICAgICAgICAgICAgICAgZWRpdDogdGhpcy5jb25maWcuZWRpdCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IG51bGwsXG4gICAgICByZW1vdmU6IHRoaXMuY29uZmlnLnJlbW92ZVxuICAgICAgICA/IHtcbiAgICAgICAgICAgIHByb3ZpZGVyOiB7XG4gICAgICAgICAgICAgIGludm9rZTogKGlkKSA9PiB0aGlzLmZhY2FkZS5kZWxldGUoaWQpLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9XG4gICAgICAgIDogbnVsbCxcbiAgICAgIHBhZ2luYXRpb246IGF3YWl0IHRoaXMucGFnaW5hdGlvbkZhY2FkZS5jcmVhdGUoe1xuICAgICAgICBtb2RlOiB0aGlzLmNvbmZpZy5saXN0LnBhZ2luYXRpb25Nb2RlLFxuICAgICAgICBsaW1pdDogdGhpcy5jb25maWcucGFnaW5hdGlvbi5saW1pdCxcbiAgICAgICAgcHJvdmlkZXI6IHtcbiAgICAgICAgICBnZXRGaWx0ZXI6ICgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZpbHRlcjtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGdldExpbmtzOiAoKSA9PiB0aGlzLmxpbmtzLFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgICBzb3J0OiB0aGlzLmNvbmZpZy5zb3J0LFxuICAgIH07XG5cbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcblxuICAgIHRoaXMuaW5pdENsb3NlTWVudSgpO1xuICAgIHRoaXMuaW5pdFRvcENvbXBvbmVudChjb21waWxlZENvbXBvbmVudHMpO1xuXG4gICAgdGhpcy5yZWZyZXNoRHluYW1pY0luc3RhbmNlKCk7XG4gIH1cblxuICBwcml2YXRlIGluaXRDbG9zZU1lbnUoKSB7XG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUodGhpcy50YWtlVW50aWxEZXN0cm95KS5zdWJzY3JpYmUoYXN5bmMgKCkgPT4ge1xuICAgICAgYXdhaXQgdGhpcy5jbGVhcigpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBjbGVhcigpIHtcbiAgICBhd2FpdCB0aGlzLm1lbnVTZXJ2aWNlLmNsb3NlRW5kKCk7XG5cbiAgICB0aGlzLmxpc3RPcHRpb25zID0ge1xuICAgICAgLi4udGhpcy5saXN0T3B0aW9ucyxcbiAgICAgIHNlbGVjdDogbnVsbCxcbiAgICB9O1xuXG4gICAgdGhpcy5mYWNhZGUubXVsdGlTZWxlY3QoW10pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRFbmRCdXR0b25zKCk6IEFycmF5PElJY29uQnV0dG9uT3B0aW9ucz4ge1xuICAgIGNvbnN0IGZpZWxkc1dpdGhPcHRpb25zID0gZ2V0TW9kZWxGaWVsZHNXaXRoT3B0aW9ucyhuZXcgdGhpcy5jb25maWcudHlwZSgpKTtcbiAgICBjb25zdCBtb2RlbE9wdGlvbnMgPSBnZXRNb2RlbE9wdGlvbnModGhpcy5jb25maWcudHlwZSk7XG5cbiAgICBjb25zdCBzaG93RmlsdGVycyA9XG4gICAgICBmaWVsZHNXaXRoT3B0aW9ucy5zb21lKFxuICAgICAgICAoeCkgPT4gKHgub3B0aW9ucz8ubGlzdCBhcyBJRmllbGRMaXN0TWV0YWRhdGEpPy5maWx0ZXJcbiAgICAgICkgfHwgbW9kZWxPcHRpb25zPy5maWx0ZXJzPy5sZW5ndGg7XG5cbiAgICBjb25zdCBzaG93TXVsdGlFZGl0ID1cbiAgICAgIHRoaXMuY29uZmlnLmVkaXQgJiZcbiAgICAgIGZpZWxkc1dpdGhPcHRpb25zLnNvbWUoXG4gICAgICAgICh4KSA9PiAoeC5vcHRpb25zPy51cGRhdGUgYXMgSUZpZWxkRWRpdE1ldGFkYXRhKT8ubXVsdGlcbiAgICAgICkgJiZcbiAgICAgICF0aGlzLmhhcmR3YXJlU2VydmljZS5pc01vYmlsZSAmJlxuICAgICAgKCF0aGlzLmNvbmZpZz8ubGlzdD8ubW9kZSB8fFxuICAgICAgICB0aGlzLmNvbmZpZz8ubGlzdD8ubW9kZSA9PT0gTGlzdE1vZGUuZGVza3RvcCk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgLi4uKHNob3dNdWx0aUVkaXRcbiAgICAgICAgPyBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGljb246IFwiY2hlY2tib3gtb3V0bGluZVwiLFxuICAgICAgICAgICAgICB0ZXh0OiBcIm11bHRpXCIsXG4gICAgICAgICAgICAgIGhhbmRsZXI6IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmxpc3RPcHRpb25zID0ge1xuICAgICAgICAgICAgICAgICAgLi4udGhpcy5saXN0T3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgIHNlbGVjdDogdGhpcy5saXN0T3B0aW9ucy5zZWxlY3QgPT09IFwibXVsdGlcIiA/IG51bGwgOiBcIm11bHRpXCIsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB0aGlzLmZhY2FkZS5tdWx0aVNlbGVjdChbXSk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubWVudVNlcnZpY2Uub3BlbmVkRW5kKVxuICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5tZW51U2VydmljZS5jbG9zZUVuZCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdXG4gICAgICAgIDogW10pLFxuICAgICAgLi4uKHNob3dGaWx0ZXJzXG4gICAgICAgID8gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpY29uOiBcImZpbHRlci1vdXRsaW5lXCIsXG4gICAgICAgICAgICAgIHRleHQ6IFwiZmlsdGVyc1wiLFxuICAgICAgICAgICAgICBoYW5kbGVyOiBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5tZW51U2VydmljZS5vcGVuRW5kKHtcbiAgICAgICAgICAgICAgICAgIGluamVjdG9yOiB0aGlzLmluamVjdG9yLFxuICAgICAgICAgICAgICAgICAgY29tcG9uZW50OiBGaWx0ZXJzQ29tcG9uZW50LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdXG4gICAgICAgIDogW10pLFxuICAgICAgLi4uKHRoaXMuY29uZmlnLmFkZFxuICAgICAgICA/IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWNvbjogXCJhZGRcIixcbiAgICAgICAgICAgICAgdGV4dDogXCJhZGRcIixcbiAgICAgICAgICAgICAgaGFuZGxlcjogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcbiAgICAgICAgICAgICAgICAgIFwiL1wiICsgdGhpcy5yb3V0ZXIucm91dGVyU3RhdGUuc25hcHNob3QudXJsICsgXCIvYWRkXCIsXG4gICAgICAgICAgICAgICAgXSk7XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF1cbiAgICAgICAgOiBbXSksXG4gICAgICAuLi4odGhpcy5jb25maWcuZXhwb3J0XG4gICAgICAgID8gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0ZXh0OiBcImV4cG9ydFwiLFxuICAgICAgICAgICAgICBpY29uOiBcImRvd25sb2FkLW91dGxpbmVcIixcbiAgICAgICAgICAgICAgdHlwZTogXCJwb3BvdmVyXCIgYXMgXCJwb3BvdmVyXCIsXG4gICAgICAgICAgICAgIGNvbXBvbmVudDogRXhwb3J0Q29tcG9uZW50LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdXG4gICAgICAgIDogW10pLFxuICAgICAgLi4uKHRoaXMuY29uZmlnLmJ1dHRvbnMgPyB0aGlzLmNvbmZpZy5idXR0b25zIDogW10pLFxuICAgIF07XG4gIH1cblxuICBwcml2YXRlIGluaXRUb3BDb21wb25lbnQoXG4gICAgY29tcGlsZWRDb21wb25lbnRzOiB7XG4gICAgICBjb21wb25lbnQ6IGFueTtcbiAgICAgIGZhY3Rvcnk6IENvbXBvbmVudEZhY3Rvcnk8YW55PjtcbiAgICB9W11cbiAgKSB7XG4gICAgY29uc3QgZmFjdG9yeSA9XG4gICAgICB0aGlzLmNvbmZpZy5saXN0ICYmXG4gICAgICB0aGlzLmNvbmZpZy5saXN0W1wiY29tcG9uZW50c1wiXSAmJlxuICAgICAgdGhpcy5jb25maWcubGlzdFtcImNvbXBvbmVudHNcIl0udG9wXG4gICAgICAgID8gY29tcGlsZWRDb21wb25lbnRzLmZpbmQoXG4gICAgICAgICAgICAoY2MpID0+IGNjLmNvbXBvbmVudCA9PT0gdGhpcy5jb25maWcubGlzdFtcImNvbXBvbmVudHNcIl0udG9wXG4gICAgICAgICAgKS5mYWN0b3J5XG4gICAgICAgIDogbnVsbDtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKGZhY3RvcnkgJiYgIXRoaXMudG9wVHBsLmdldCgwKSkge1xuICAgICAgICB0aGlzLnRvcFRwbC5jcmVhdGVDb21wb25lbnQoZmFjdG9yeSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
310
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NydWQvc2hlbGwvYW5ndWxhci9zcmMvbGliL3BhZ2VzL2xpc3QvbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNTLHdCQUF3QixFQUFFLFVBQVUsRUFDdEQsUUFBUSxFQUFFLFdBQVcsRUFDYixTQUFTLEVBQUUsV0FBVyxFQUM5QixTQUFTLEVBQUUsWUFBWSxFQUN2QixnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHekMsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixzQkFBc0IsRUFBRSx1QkFBdUIsRUFDL0MsZUFBZSxFQUlmLFFBQVEsRUFDUixXQUFXLEVBQUUsWUFBWSxHQUMxQixNQUFNLHVCQUF1QixDQUFDO0FBRS9CLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsZUFBZSxHQUdoQixNQUFNLHNCQUFzQixDQUFDO0FBRTlCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3BHLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxrQ0FBa0Ms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QUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDdEM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Ozs7WUExVkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxzQkFBc0I7Z0JBQ2hDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7R0FXVDthQUNGOzs7Ozs7Ozs7O1lBekJRLFVBQVU7WUFyQlYsTUFBTTtZQUtiLHNCQUFzQjtZQVh0QixRQUFRO1lBSFIsaUJBQWlCO1lBb0JqQixXQUFXO1lBTFgsZUFBZTtZQXFCUix5QkFBeUI7WUFoQm5CLFlBQVk7WUFsQm1CLFVBQVU7WUFtQ2hELFdBQVc7WUFOVixjQUFjO1lBUWYsaUJBQWlCO1lBcENiLFdBQVc7WUFESCx3QkFBd0I7Ozs7cUJBcUV6QyxTQUFTLFNBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7eUJBRzdELFNBQVMsU0FBQyxZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7OEJBRzVELFlBQVksU0FBQyx1QkFBdUIsRUFBRSxFQUFFLElBQUksRUFBRSx1QkFBdUIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudEZhY3RvcnksIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgRWxlbWVudFJlZixcbiAgSW5qZWN0b3IsIE5nTW9kdWxlUmVmLCBPbkRlc3Ryb3ksXG4gIE9uSW5pdCwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLCBWaWV3Q2hpbGRyZW4sXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBtYXAsIHRhcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5cbmltcG9ydCB7XG4gIENyZWF0ZUR5bmFtaWNDb21wb25lbnQsXG4gIER5bmFtaWNDb21wb25lbnRMb2FkZXIsIER5bmFtaWNDb250ZW50RGlyZWN0aXZlLFxuICBIYXJkd2FyZVNlcnZpY2UsXG4gIElJY29uQnV0dG9uT3B0aW9ucyxcbiAgSUxpc3RPcHRpb25zLFxuICBJUGFnZU9wdGlvbnMsXG4gIExpc3RNb2RlLFxuICBNZW51U2VydmljZSwgU3R5bGVTZXJ2aWNlLFxufSBmcm9tIFwiQHNtYXJ0c29mdDAwMS9hbmd1bGFyXCI7XG5pbXBvcnQgeyBJRW50aXR5IH0gZnJvbSBcIkBzbWFydHNvZnQwMDEvZG9tYWluLWNvcmVcIjtcbmltcG9ydCB7XG4gIGdldE1vZGVsRmllbGRzV2l0aE9wdGlvbnMsXG4gIGdldE1vZGVsT3B0aW9ucyxcbiAgSUZpZWxkRWRpdE1ldGFkYXRhLFxuICBJRmllbGRMaXN0TWV0YWRhdGEsXG59IGZyb20gXCJAc21hcnRzb2Z0MDAxL21vZGVsc1wiO1xuXG5pbXBvcnQgeyBDcnVkRmFjYWRlIH0gZnJvbSBcIi4uLy4uLytzdGF0ZS9jcnVkLmZhY2FkZVwiO1xuaW1wb3J0IHsgQ3J1ZEZ1bGxDb25maWcgfSBmcm9tIFwiLi4vLi4vY3J1ZC5jb25maWdcIjtcbmltcG9ydCB7IElDcnVkRmlsdGVyIH0gZnJvbSBcIi4uLy4uL21vZGVscy9pbnRlcmZhY2VzXCI7XG5pbXBvcnQgeyBFeHBvcnRDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9leHBvcnQvZXhwb3J0LmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgRmlsdGVyc0NvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL2ZpbHRlcnMvZmlsdGVycy5jb21wb25lbnRcIjtcbmltcG9ydCB7IE11bHRpc2VsZWN0Q29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvbXVsdGlzZWxlY3QvbXVsdGlzZWxlY3QuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDcnVkTGlzdFBhZ2luYXRpb25GYWN0b3J5IH0gZnJvbSBcIi4uLy4uL2ZhY3Rvcmllcy9saXN0LXBhZ2luYXRpb24vbGlzdC1wYWdpbmF0aW9uLmZhY3RvcnlcIjtcbmltcG9ydCB7UGFnZVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9wYWdlL3BhZ2Uuc2VydmljZVwiO1xuaW1wb3J0IHtDcnVkTGlzdFBhZ2VCYXNlQ29tcG9uZW50fSBmcm9tIFwiLi9iYXNlL2Jhc2UuY29tcG9uZW50XCI7XG5pbXBvcnQge0NydWRTZWFyY2hTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvc2VhcmNoL3NlYXJjaC5zZXJ2aWNlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzbWFydC1jcnVkLWxpc3QtcGFnZVwiLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxzbWFydC1wYWdlIFtvcHRpb25zXT1cInBhZ2VPcHRpb25zXCIgKm5nSWY9XCJmaWx0ZXIkIHwgYXN5bmNcIj5cbiAgICAgIDxkaXYgI3RvcFRwbD48L2Rpdj5cbiAgICAgIDxzbWFydC1jcnVkLWxpc3Qtc3RhbmRhcmQtcGFnZSAqbmdJZj1cInRlbXBsYXRlID09PSAnZGVmYXVsdCdcIiBbbGlzdE9wdGlvbnNdPVwibGlzdE9wdGlvbnNcIj5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGVudFRwbFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9zbWFydC1jcnVkLWxpc3Qtc3RhbmRhcmQtcGFnZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjY29udGVudFRwbD5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxkaXYgY2xhc3M9XCJkeW5hbWljLWNvbnRlbnRcIj48L2Rpdj5cbiAgICA8L3NtYXJ0LXBhZ2U+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgTGlzdENvbXBvbmVudDxUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+PlxuICAgIGV4dGVuZHMgQ3JlYXRlRHluYW1pY0NvbXBvbmVudDxDcnVkTGlzdFBhZ2VCYXNlQ29tcG9uZW50PGFueT4+KCdjcnVkLWxpc3QtcGFnZScpXG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3lcbntcbiAgcGFnZU9wdGlvbnM6IElQYWdlT3B0aW9ucztcbiAgbGlzdE9wdGlvbnM6IElMaXN0T3B0aW9uczxUPjtcbiAgZmlsdGVyOiBJQ3J1ZEZpbHRlcjtcbiAgbGlua3M6IHsgbmV4dDsgcHJldiB9O1xuXG4gIGZpbHRlciQ6IE9ic2VydmFibGU8SUNydWRGaWx0ZXI+ID0gdGhpcy5mYWNhZGUuZmlsdGVyJC5waXBlKFxuICAgIHRhcCgoZmlsdGVyKSA9PiB7XG4gICAgICB0aGlzLmZpbHRlciA9IGZpbHRlcjtcbiAgICB9KVxuICApO1xuXG4gIEBWaWV3Q2hpbGQoXCJ0b3BUcGxcIiwgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmLCBzdGF0aWM6IGZhbHNlIH0pXG4gIHRvcFRwbDogVmlld0NvbnRhaW5lclJlZjtcblxuICBAVmlld0NoaWxkKFwiY29udGVudFRwbFwiLCB7IHJlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IGZhbHNlIH0pXG4gIGNvbnRlbnRUcGw6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQFZpZXdDaGlsZHJlbihEeW5hbWljQ29udGVudERpcmVjdGl2ZSwgeyByZWFkOiBEeW5hbWljQ29udGVudERpcmVjdGl2ZSB9KVxuICBkeW5hbWljQ29udGVudHMgPSBuZXcgUXVlcnlMaXN0PER5bmFtaWNDb250ZW50RGlyZWN0aXZlPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmFjYWRlOiBDcnVkRmFjYWRlPFQ+LFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBkeW5hbWljQ29tcG9uZW50TG9hZGVyOiBEeW5hbWljQ29tcG9uZW50TG9hZGVyPFQ+LFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgbWVudVNlcnZpY2U6IE1lbnVTZXJ2aWNlLFxuICAgIHByaXZhdGUgaGFyZHdhcmVTZXJ2aWNlOiBIYXJkd2FyZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwYWdpbmF0aW9uRmFjYWRlOiBDcnVkTGlzdFBhZ2luYXRpb25GYWN0b3J5PFQ+LFxuICAgIHByaXZhdGUgc3R5bGVTZXJ2aWNlOiBTdHlsZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcGFnZVNlcnZpY2U6IFBhZ2VTZXJ2aWNlPFQ+LFxuICAgIHB1YmxpYyBjb25maWc6IENydWRGdWxsQ29uZmlnPFQ+LFxuICAgIHByaXZhdGUgc2VhcmNoU2VydmljZTogQ3J1ZFNlYXJjaFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtb2R1bGVSZWY6IE5nTW9kdWxlUmVmPGFueT4sXG4gICAgcHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlclxuICApIHtcbiAgICBzdXBlcihjZCwgbW9kdWxlUmVmLCBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpO1xuXG4gICAgdGhpcy5mYWNhZGUubGlua3MkLnBpcGUodGhpcy50YWtlVW50aWxEZXN0cm95KS5zdWJzY3JpYmUoKGxpbmtzKSA9PiB7XG4gICAgICB0aGlzLmxpbmtzID0gbGlua3M7XG4gICAgfSk7XG4gIH1cblxuICByZWZyZXNoUHJvcGVydGllcygpOiB2b2lkIHtcbiAgICB0aGlzLmJhc2VJbnN0YW5jZS5saXN0T3B0aW9ucyA9IHRoaXMubGlzdE9wdGlvbnM7XG4gIH1cblxuICBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnBhZ2VTZXJ2aWNlLmNoZWNrUGVybWlzc2lvbnMoKTtcblxuICAgIGlmICh0aGlzLmNvbmZpZy5saXN0Py5yZXNldFF1ZXJ5ID09PSAnYmVmb3JlSW5pdCcpIHtcbiAgICAgIHRoaXMuZmFjYWRlLnJlYWQoe1xuICAgICAgICBxdWVyeTogdGhpcy5jb25maWcuYmFzZVF1ZXJ5ID8gWyAuLi50aGlzLmNvbmZpZy5iYXNlUXVlcnkgXSA6IFtdLFxuICAgICAgICBwYWdpbmF0aW9uTW9kZTogdGhpcy5jb25maWcubGlzdC5wYWdpbmF0aW9uTW9kZSxcbiAgICAgICAgbGltaXQ6IHRoaXMuY29uZmlnLnBhZ2luYXRpb24gPyB0aGlzLmNvbmZpZy5wYWdpbmF0aW9uLmxpbWl0IDogbnVsbCxcbiAgICAgICAgb2Zmc2V0OiB0aGlzLmNvbmZpZy5wYWdpbmF0aW9uID8gMCA6IG51bGwsXG4gICAgICAgIHNvcnRCeTogdGhpcy5jb25maWcuc29ydCA/IHRoaXMuY29uZmlnLnNvcnRbXCJkZWZhdWx0XCJdIDogbnVsbCxcbiAgICAgICAgc29ydERlc2M6IHRoaXMuY29uZmlnLnNvcnQgPyB0aGlzLmNvbmZpZy5zb3J0W1wiZGVmYXVsdERlc2NcIl0gOiBudWxsLFxuICAgICAgICAuLi50aGlzLnNlYXJjaFNlcnZpY2UuZmlsdGVyXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mYWNhZGUucmVhZCh7XG4gICAgICAgIHBhZ2luYXRpb25Nb2RlOiB0aGlzLmNvbmZpZy5saXN0LnBhZ2luYXRpb25Nb2RlLFxuICAgICAgICBsaW1pdDogdGhpcy5jb25maWcucGFnaW5hdGlvbiA/IHRoaXMuY29uZmlnLnBhZ2luYXRpb24ubGltaXQgOiBudWxsLFxuICAgICAgICBvZmZzZXQ6IHRoaXMuY29uZmlnLnBhZ2luYXRpb24gPyAwIDogbnVsbCxcbiAgICAgICAgc29ydEJ5OiB0aGlzLmNvbmZpZy5zb3J0ID8gdGhpcy5jb25maWcuc29ydFtcImRlZmF1bHRcIl0gOiBudWxsLFxuICAgICAgICBzb3J0RGVzYzogdGhpcy5jb25maWcuc29ydCA/IHRoaXMuY29uZmlnLnNvcnRbXCJkZWZhdWx0RGVzY1wiXSA6IG51bGwsXG4gICAgICAgIC4uLnRoaXMuc2VhcmNoU2VydmljZS5maWx0ZXJcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IGVuZEJ1dHRvbnMgPSB0aGlzLmdldEVuZEJ1dHRvbnMoKTtcblxuICAgIHRoaXMucGFnZU9wdGlvbnMgPSB7XG4gICAgICB0aXRsZTogdGhpcy5jb25maWcudGl0bGUsXG4gICAgICBzZWFyY2g6IHRoaXMuY29uZmlnLnNlYXJjaFxuICAgICAgICA/IHtcbiAgICAgICAgICAgIHRleHQkOiB0aGlzLmZpbHRlciQucGlwZShtYXAoKGYpID0+IChmID8gZi5zZWFyY2hUZXh0IDogbnVsbCkpKSxcbiAgICAgICAgICAgIHNldDogKHR4dCkgPT4ge1xuICAgICAgICAgICAgICBpZiAodHh0ICE9PSB0aGlzLmZpbHRlci5zZWFyY2hUZXh0KVxuICAgICAgICAgICAgICAgIHRoaXMuZmFjYWRlLnJlYWQoe1xuICAgICAgICAgICAgICAgICAgLi4udGhpcy5maWx0ZXIsXG4gICAgICAgICAgICAgICAgICBzZWFyY2hUZXh0OiB0eHQsXG4gICAgICAgICAgICAgICAgICBvZmZzZXQ6IDAsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH1cbiAgICAgICAgOiBudWxsLFxuICAgICAgZW5kQnV0dG9uczogZW5kQnV0dG9ucyxcbiAgICB9O1xuXG4gICAgY29uc3QgY29tcGlsZWRDb21wb25lbnRzID1cbiAgICAgIGF3YWl0IHRoaXMuZHluYW1pY0NvbXBvbmVudExvYWRlci5nZXRDb21wb25lbnRzV2l0aEZhY3Rvcmllcyh7XG4gICAgICAgIGNvbXBvbmVudHM6IFtcbiAgICAgICAgICAuLi4odGhpcy5jb25maWcuZGV0YWlscyAmJlxuICAgICAgICAgIHRoaXMuY29uZmlnLmRldGFpbHNbXCJjb21wb25lbnRzXCJdICYmXG4gICAgICAgICAgdGhpcy5jb25maWcuZGV0YWlsc1tcImNvbXBvbmVudHNcIl0udG9wXG4gICAgICAgICAgICA/IFt0aGlzLmNvbmZpZy5kZXRhaWxzW1wiY29tcG9uZW50c1wiXS50b3BdXG4gICAgICAgICAgICA6IFtdKSxcbiAgICAgICAgICAuLi4odGhpcy5jb25maWcuZGV0YWlscyAmJlxuICAgICAgICAgIHRoaXMuY29uZmlnLmRldGFpbHNbXCJjb21wb25lbnRzXCJdICYmXG4gICAgICAgICAgdGhpcy5jb25maWcuZGV0YWlsc1tcImNvbXBvbmVudHNcIl0uYm90dG9tXG4gICAgICAgICAgICA/IFt0aGlzLmNvbmZpZy5kZXRhaWxzW1wiY29tcG9uZW50c1wiXS5ib3R0b21dXG4gICAgICAgICAgICA6IFtdKSxcbiAgICAgICAgICAuLi4odGhpcy5jb25maWcubGlzdCAmJlxuICAgICAgICAgIHRoaXMuY29uZmlnLmxpc3RbXCJjb21wb25lbnRzXCJdICYmXG4gICAgICAgICAgdGhpcy5jb25maWcubGlzdFtcImNvbXBvbmVudHNcIl0udG9wXG4gICAgICAgICAgICA/IFt0aGlzLmNvbmZpZy5saXN0W1wiY29tcG9uZW50c1wiXS50b3BdXG4gICAgICAgICAgICA6IFtdKSxcbiAgICAgICAgXSxcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5saXN0T3B0aW9ucyA9IHtcbiAgICAgIHByb3ZpZGVyOiB7XG4gICAgICAgIGdldERhdGE6IChmaWx0ZXIpOiB2b2lkID0+IHtcbiAgICAgICAgICBjb25zdCBnbG9iYWwgPSB7XG4gICAgICAgICAgICAuLi50aGlzLmZpbHRlcixcbiAgICAgICAgICAgIC4uLmZpbHRlcixcbiAgICAgICAgICB9O1xuICAgICAgICAgIHRoaXMuZmFjYWRlLnJlYWQoZ2xvYmFsKTtcbiAgICAgICAgfSxcbiAgICAgICAgb25DaGFuZ2VNdWx0aVNlbGVjdGVkOiBhc3luYyAobGlzdCkgPT4ge1xuICAgICAgICAgIGlmIChsaXN0Lmxlbmd0aCAmJiAhdGhpcy5tZW51U2VydmljZS5vcGVuZWRFbmQpIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMubWVudVNlcnZpY2Uub3BlbkVuZCh7XG4gICAgICAgICAgICAgIGluamVjdG9yOiB0aGlzLmluamVjdG9yLFxuICAgICAgICAgICAgICBjb21wb25lbnQ6IE11bHRpc2VsZWN0Q29tcG9uZW50LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIGlmICghbGlzdC5sZW5ndGggJiYgdGhpcy5tZW51U2VydmljZS5vcGVuZWRFbmQpIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMubWVudVNlcnZpY2UuY2xvc2VFbmQoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLmZhY2FkZS5tdWx0aVNlbGVjdChsaXN0KTtcbiAgICAgICAgfSxcbiAgICAgICAgbGlzdCQ6IHRoaXMuZmFjYWRlLmxpc3QkLFxuICAgICAgICBsb2FkaW5nJDogdGhpcy5mYWNhZGUubG9hZGVkJC5waXBlKG1hcCgobCkgPT4gIWwpKSxcbiAgICAgIH0sXG4gICAgICBjZWxsUGlwZTogdGhpcy5jb25maWcubGlzdCA/IHRoaXMuY29uZmlnLmxpc3QuY2VsbFBpcGUgOiBudWxsLFxuICAgICAgbW9kZTogdGhpcy5jb25maWcubGlzdD8ubW9kZSxcbiAgICAgIHR5cGU6IHRoaXMuY29uZmlnLnR5cGUsXG4gICAgICBkZXRhaWxzOiB0aGlzLmNvbmZpZy5kZXRhaWxzXG4gICAgICAgID8ge1xuICAgICAgICAgICAgcHJvdmlkZXI6IHtcbiAgICAgICAgICAgICAgZ2V0RGF0YTogKGlkKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5mYWNhZGUuc2VsZWN0KGlkKTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgY2xlYXJEYXRhOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5mYWNhZGUudW5zZWxlY3QoKTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgaXRlbSQ6IHRoaXMuZmFjYWRlLnNlbGVjdGVkJCxcbiAgICAgICAgICAgICAgbG9hZGluZyQ6IHRoaXMuZmFjYWRlLmxvYWRlZCQucGlwZShtYXAoKGwpID0+ICFsKSksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY29tcG9uZW50RmFjdG9yaWVzOiB7XG4gICAgICAgICAgICAgIHRvcDpcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5kZXRhaWxzICYmXG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWcuZGV0YWlsc1tcImNvbXBvbmVudHNcIl0gJiZcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5kZXRhaWxzW1wiY29tcG9uZW50c1wiXS50b3BcbiAgICAgICAgICAgICAgICAgID8gY29tcGlsZWRDb21wb25lbnRzLmZpbmQoXG4gICAgICAgICAgICAgICAgICAgICAgKGNjKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgY2MuY29tcG9uZW50ID09PSB0aGlzLmNvbmZpZy5kZXRhaWxzW1wiY29tcG9uZW50c1wiXS50b3BcbiAgICAgICAgICAgICAgICAgICAgKS5mYWN0b3J5XG4gICAgICAgICAgICAgICAgICA6IG51bGwsXG4gICAgICAgICAgICAgIGJvdHRvbTpcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5kZXRhaWxzICYmXG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWcuZGV0YWlsc1tcImNvbXBvbmVudHNcIl0gJiZcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5kZXRhaWxzW1wiY29tcG9uZW50c1wiXS5ib3R0b21cbiAgICAgICAgICAgICAgICAgID8gY29tcGlsZWRDb21wb25lbnRzLmZpbmQoXG4gICAgICAgICAgICAgICAgICAgICAgKGNjKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgY2MuY29tcG9uZW50ID09PVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25maWcuZGV0YWlsc1tcImNvbXBvbmVudHNcIl0uYm90dG9tXG4gICAgICAgICAgICAgICAgICAgICkuZmFjdG9yeVxuICAgICAgICAgICAgICAgICAgOiBudWxsLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9XG4gICAgICAgIDogbnVsbCxcbiAgICAgIGl0ZW06XG4gICAgICAgIHRoaXMuY29uZmlnLmVkaXQgfHwgdGhpcy5jb25maWcuZGV0YWlsc1xuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgcm91dGluZ1ByZWZpeDogXCIvXCIgKyB0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdC51cmwgKyBcIi9cIixcbiAgICAgICAgICAgICAgICBlZGl0OiB0aGlzLmNvbmZpZy5lZGl0LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDogbnVsbCxcbiAgICAgIHJlbW92ZTogdGhpcy5jb25maWcucmVtb3ZlXG4gICAgICAgID8ge1xuICAgICAgICAgICAgcHJvdmlkZXI6IHtcbiAgICAgICAgICAgICAgaW52b2tlOiAoaWQpID0+IHRoaXMuZmFjYWRlLmRlbGV0ZShpZCksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH1cbiAgICAgICAgOiBudWxsLFxuICAgICAgcGFnaW5hdGlvbjogYXdhaXQgdGhpcy5wYWdpbmF0aW9uRmFjYWRlLmNyZWF0ZSh7XG4gICAgICAgIG1vZGU6IHRoaXMuY29uZmlnLmxpc3QucGFnaW5hdGlvbk1vZGUsXG4gICAgICAgIGxpbWl0OiB0aGlzLmNvbmZpZy5wYWdpbmF0aW9uLmxpbWl0LFxuICAgICAgICBwcm92aWRlcjoge1xuICAgICAgICAgIGdldEZpbHRlcjogKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZ2V0TGlua3M6ICgpID0+IHRoaXMubGlua3MsXG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICAgIHNvcnQ6IHRoaXMuY29uZmlnLnNvcnQsXG4gICAgfTtcblxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgdGhpcy5pbml0Q2xvc2VNZW51KCk7XG4gICAgdGhpcy5pbml0VG9wQ29tcG9uZW50KGNvbXBpbGVkQ29tcG9uZW50cyk7XG5cbiAgICB0aGlzLnJlZnJlc2hEeW5hbWljSW5zdGFuY2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdENsb3NlTWVudSgpIHtcbiAgICB0aGlzLnJvdXRlci5ldmVudHMucGlwZSh0aGlzLnRha2VVbnRpbERlc3Ryb3kpLnN1YnNjcmliZShhc3luYyAoKSA9PiB7XG4gICAgICBhd2FpdCB0aGlzLmNsZWFyKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNsZWFyKCkge1xuICAgIGF3YWl0IHRoaXMubWVudVNlcnZpY2UuY2xvc2VFbmQoKTtcblxuICAgIHRoaXMubGlzdE9wdGlvbnMgPSB7XG4gICAgICAuLi50aGlzLmxpc3RPcHRpb25zLFxuICAgICAgc2VsZWN0OiBudWxsLFxuICAgIH07XG5cbiAgICB0aGlzLmZhY2FkZS5tdWx0aVNlbGVjdChbXSk7XG4gIH1cblxuICBwcml2YXRlIGdldEVuZEJ1dHRvbnMoKTogQXJyYXk8SUljb25CdXR0b25PcHRpb25zPiB7XG4gICAgY29uc3QgZmllbGRzV2l0aE9wdGlvbnMgPSBnZXRNb2RlbEZpZWxkc1dpdGhPcHRpb25zKG5ldyB0aGlzLmNvbmZpZy50eXBlKCkpO1xuICAgIGNvbnN0IG1vZGVsT3B0aW9ucyA9IGdldE1vZGVsT3B0aW9ucyh0aGlzLmNvbmZpZy50eXBlKTtcblxuICAgIGNvbnN0IHNob3dGaWx0ZXJzID1cbiAgICAgIGZpZWxkc1dpdGhPcHRpb25zLnNvbWUoXG4gICAgICAgICh4KSA9PiAoeC5vcHRpb25zPy5saXN0IGFzIElGaWVsZExpc3RNZXRhZGF0YSk/LmZpbHRlclxuICAgICAgKSB8fCBtb2RlbE9wdGlvbnM/LmZpbHRlcnM/Lmxlbmd0aDtcblxuICAgIGNvbnN0IHNob3dNdWx0aUVkaXQgPVxuICAgICAgdGhpcy5jb25maWcuZWRpdCAmJlxuICAgICAgZmllbGRzV2l0aE9wdGlvbnMuc29tZShcbiAgICAgICAgKHgpID0+ICh4Lm9wdGlvbnM/LnVwZGF0ZSBhcyBJRmllbGRFZGl0TWV0YWRhdGEpPy5tdWx0aVxuICAgICAgKSAmJlxuICAgICAgIXRoaXMuaGFyZHdhcmVTZXJ2aWNlLmlzTW9iaWxlICYmXG4gICAgICAoIXRoaXMuY29uZmlnPy5saXN0Py5tb2RlIHx8XG4gICAgICAgIHRoaXMuY29uZmlnPy5saXN0Py5tb2RlID09PSBMaXN0TW9kZS5kZXNrdG9wKTtcblxuICAgIHJldHVybiBbXG4gICAgICAuLi4oc2hvd011bHRpRWRpdFxuICAgICAgICA/IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWNvbjogXCJjaGVja2JveC1vdXRsaW5lXCIsXG4gICAgICAgICAgICAgIHRleHQ6IFwibXVsdGlcIixcbiAgICAgICAgICAgICAgaGFuZGxlcjogYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubGlzdE9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgICAuLi50aGlzLmxpc3RPcHRpb25zLFxuICAgICAgICAgICAgICAgICAgc2VsZWN0OiB0aGlzLmxpc3RPcHRpb25zLnNlbGVjdCA9PT0gXCJtdWx0aVwiID8gbnVsbCA6IFwibXVsdGlcIixcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHRoaXMuZmFjYWRlLm11bHRpU2VsZWN0KFtdKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5tZW51U2VydmljZS5vcGVuZWRFbmQpXG4gICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLm1lbnVTZXJ2aWNlLmNsb3NlRW5kKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF1cbiAgICAgICAgOiBbXSksXG4gICAgICAuLi4oc2hvd0ZpbHRlcnNcbiAgICAgICAgPyBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGljb246IFwiZmlsdGVyLW91dGxpbmVcIixcbiAgICAgICAgICAgICAgdGV4dDogXCJmaWx0ZXJzXCIsXG4gICAgICAgICAgICAgIGhhbmRsZXI6IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLm1lbnVTZXJ2aWNlLm9wZW5FbmQoe1xuICAgICAgICAgICAgICAgICAgaW5qZWN0b3I6IHRoaXMuaW5qZWN0b3IsXG4gICAgICAgICAgICAgICAgICBjb21wb25lbnQ6IEZpbHRlcnNDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF1cbiAgICAgICAgOiBbXSksXG4gICAgICAuLi4odGhpcy5jb25maWcuYWRkXG4gICAgICAgID8gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpY29uOiBcImFkZFwiLFxuICAgICAgICAgICAgICB0ZXh0OiBcImFkZFwiLFxuICAgICAgICAgICAgICBoYW5kbGVyOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1xuICAgICAgICAgICAgICAgICAgXCIvXCIgKyB0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdC51cmwgKyBcIi9hZGRcIixcbiAgICAgICAgICAgICAgICBdKTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXVxuICAgICAgICA6IFtdKSxcbiAgICAgIC4uLih0aGlzLmNvbmZpZy5leHBvcnRcbiAgICAgICAgPyBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRleHQ6IFwiZXhwb3J0XCIsXG4gICAgICAgICAgICAgIGljb246IFwiZG93bmxvYWQtb3V0bGluZVwiLFxuICAgICAgICAgICAgICB0eXBlOiBcInBvcG92ZXJcIiBhcyBcInBvcG92ZXJcIixcbiAgICAgICAgICAgICAgY29tcG9uZW50OiBFeHBvcnRDb21wb25lbnQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF1cbiAgICAgICAgOiBbXSksXG4gICAgICAuLi4odGhpcy5jb25maWcuYnV0dG9ucyA/IHRoaXMuY29uZmlnLmJ1dHRvbnMgOiBbXSksXG4gICAgXTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFRvcENvbXBvbmVudChcbiAgICBjb21waWxlZENvbXBvbmVudHM6IHtcbiAgICAgIGNvbXBvbmVudDogYW55O1xuICAgICAgZmFjdG9yeTogQ29tcG9uZW50RmFjdG9yeTxhbnk+O1xuICAgIH1bXVxuICApIHtcbiAgICBjb25zdCBmYWN0b3J5ID1cbiAgICAgIHRoaXMuY29uZmlnLmxpc3QgJiZcbiAgICAgIHRoaXMuY29uZmlnLmxpc3RbXCJjb21wb25lbnRzXCJdICYmXG4gICAgICB0aGlzLmNvbmZpZy5saXN0W1wiY29tcG9uZW50c1wiXS50b3BcbiAgICAgICAgPyBjb21waWxlZENvbXBvbmVudHMuZmluZChcbiAgICAgICAgICAgIChjYykgPT4gY2MuY29tcG9uZW50ID09PSB0aGlzLmNvbmZpZy5saXN0W1wiY29tcG9uZW50c1wiXS50b3BcbiAgICAgICAgICApLmZhY3RvcnlcbiAgICAgICAgOiBudWxsO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAoZmFjdG9yeSAmJiAhdGhpcy50b3BUcGwuZ2V0KDApKSB7XG4gICAgICAgIHRoaXMudG9wVHBsLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -4,18 +4,18 @@
4
4
  export * from './index';
5
5
  export { CrudComponentsModule as ɵc } from './lib/components/components.module';
6
6
  export { ExportComponent as ɵd } from './lib/components/export/export.component';
7
- export { FilterCheckComponent as ɵm, FilterComponent as ɵe, FilterDateComponent as ɵh, FilterDateWithEditComponent as ɵi, FilterFlagComponent as ɵl, FilterRadioComponent as ɵj, FilterTextComponent as ɵf } from './lib/components/filter';
7
+ export { FilterCheckComponent as ɵm, FilterComponent as ɵe, FilterDateComponent as ɵh, FilterDateWithEditComponent as ɵi, FilterFlagComponent as ɵl, FilterIntComponent as ɵn, FilterRadioComponent as ɵj, FilterTextComponent as ɵf } from './lib/components/filter';
8
8
  export { FiltersConfigComponent as ɵg } from './lib/components/filters-config/filters-config.component';
9
9
  export { FiltersComponent as ɵk } from './lib/components/filters/filters.component';
10
- export { GroupComponent as ɵo } from './lib/components/group/group.component';
11
- export { MultiselectComponent as ɵn } from './lib/components/multiselect/multiselect.component';
12
- export { CrudItemPageBaseComponent as ɵt } from './lib/pages/item/base/base.component';
13
- export { ItemComponent as ɵr } from './lib/pages/item/item.component';
14
- export { ItemStandardComponent as ɵs } from './lib/pages/item/standard/standard.component';
15
- export { CrudListPageBaseComponent as ɵw } from './lib/pages/list/base/base.component';
16
- export { ListComponent as ɵu } from './lib/pages/list/list.component';
17
- export { ListStandardComponent as ɵv } from './lib/pages/list/standard/standard.component';
10
+ export { GroupComponent as ɵp } from './lib/components/group/group.component';
11
+ export { MultiselectComponent as ɵo } from './lib/components/multiselect/multiselect.component';
12
+ export { CrudItemPageBaseComponent as ɵu } from './lib/pages/item/base/base.component';
13
+ export { ItemComponent as ɵs } from './lib/pages/item/item.component';
14
+ export { ItemStandardComponent as ɵt } from './lib/pages/item/standard/standard.component';
15
+ export { CrudListPageBaseComponent as ɵx } from './lib/pages/list/base/base.component';
16
+ export { ListComponent as ɵv } from './lib/pages/list/list.component';
17
+ export { ListStandardComponent as ɵw } from './lib/pages/list/standard/standard.component';
18
18
  export { FormOptionsPipe as ɵb } from './lib/pipes/form-options/form-options.pipe';
19
19
  export { CrudPipesModule as ɵa } from './lib/pipes/pipes.module';
20
- export { NotSocketService as ɵq, SocketService as ɵp } from './lib/services/socket/socket.service';
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2Z0MDAxLWNydWQtc2hlbGwtYW5ndWxhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9zbWFydHNvZnQwMDEtY3J1ZC1zaGVsbC1hbmd1bGFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUM7QUFFeEIsT0FBTyxFQUFDLG9CQUFvQixJQUFJLEVBQUUsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDL0UsT0FBTyxFQUFDLG9CQUFvQixJQUFJLEVBQUUsRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQywyQkFBMkIsSUFBSSxFQUFFLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLG9CQUFvQixJQUFJLEVBQUUsRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNwTyxPQUFPLEVBQUMsc0JBQXNCLElBQUksRUFBRSxFQUFDLE1BQU0sMERBQTBELENBQUM7QUFDdEcsT0FBTyxFQUFDLGdCQUFnQixJQUFJLEVBQUUsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTyxFQUFDLG9CQUFvQixJQUFJLEVBQUUsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQzlGLE9BQU8sRUFBQyx5QkFBeUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNyRixPQUFPLEVBQUMsYUFBYSxJQUFJLEVBQUUsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxFQUFFLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUN6RixPQUFPLEVBQUMseUJBQXlCLElBQUksRUFBRSxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDckYsT0FBTyxFQUFDLGFBQWEsSUFBSSxFQUFFLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDekYsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNqRixPQUFPLEVBQUMsZUFBZSxJQUFJLEVBQUUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBQyxnQkFBZ0IsSUFBSSxFQUFFLEVBQUMsYUFBYSxJQUFJLEVBQUUsRUFBQyxNQUFNLHNDQUFzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcblxuZXhwb3J0IHtDcnVkQ29tcG9uZW50c01vZHVsZSBhcyDJtWN9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29tcG9uZW50cy5tb2R1bGUnO1xuZXhwb3J0IHtFeHBvcnRDb21wb25lbnQgYXMgybVkfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2V4cG9ydC9leHBvcnQuY29tcG9uZW50JztcbmV4cG9ydCB7RmlsdGVyQ2hlY2tDb21wb25lbnQgYXMgybVtLEZpbHRlckNvbXBvbmVudCBhcyDJtWUsRmlsdGVyRGF0ZUNvbXBvbmVudCBhcyDJtWgsRmlsdGVyRGF0ZVdpdGhFZGl0Q29tcG9uZW50IGFzIMm1aSxGaWx0ZXJGbGFnQ29tcG9uZW50IGFzIMm1bCxGaWx0ZXJSYWRpb0NvbXBvbmVudCBhcyDJtWosRmlsdGVyVGV4dENvbXBvbmVudCBhcyDJtWZ9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZmlsdGVyJztcbmV4cG9ydCB7RmlsdGVyc0NvbmZpZ0NvbXBvbmVudCBhcyDJtWd9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZmlsdGVycy1jb25maWcvZmlsdGVycy1jb25maWcuY29tcG9uZW50JztcbmV4cG9ydCB7RmlsdGVyc0NvbXBvbmVudCBhcyDJtWt9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZmlsdGVycy9maWx0ZXJzLmNvbXBvbmVudCc7XG5leHBvcnQge0dyb3VwQ29tcG9uZW50IGFzIMm1b30gZnJvbSAnLi9saWIvY29tcG9uZW50cy9ncm91cC9ncm91cC5jb21wb25lbnQnO1xuZXhwb3J0IHtNdWx0aXNlbGVjdENvbXBvbmVudCBhcyDJtW59IGZyb20gJy4vbGliL2NvbXBvbmVudHMvbXVsdGlzZWxlY3QvbXVsdGlzZWxlY3QuY29tcG9uZW50JztcbmV4cG9ydCB7Q3J1ZEl0ZW1QYWdlQmFzZUNvbXBvbmVudCBhcyDJtXR9IGZyb20gJy4vbGliL3BhZ2VzL2l0ZW0vYmFzZS9iYXNlLmNvbXBvbmVudCc7XG5leHBvcnQge0l0ZW1Db21wb25lbnQgYXMgybVyfSBmcm9tICcuL2xpYi9wYWdlcy9pdGVtL2l0ZW0uY29tcG9uZW50JztcbmV4cG9ydCB7SXRlbVN0YW5kYXJkQ29tcG9uZW50IGFzIMm1c30gZnJvbSAnLi9saWIvcGFnZXMvaXRlbS9zdGFuZGFyZC9zdGFuZGFyZC5jb21wb25lbnQnO1xuZXhwb3J0IHtDcnVkTGlzdFBhZ2VCYXNlQ29tcG9uZW50IGFzIMm1d30gZnJvbSAnLi9saWIvcGFnZXMvbGlzdC9iYXNlL2Jhc2UuY29tcG9uZW50JztcbmV4cG9ydCB7TGlzdENvbXBvbmVudCBhcyDJtXV9IGZyb20gJy4vbGliL3BhZ2VzL2xpc3QvbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0IHtMaXN0U3RhbmRhcmRDb21wb25lbnQgYXMgybV2fSBmcm9tICcuL2xpYi9wYWdlcy9saXN0L3N0YW5kYXJkL3N0YW5kYXJkLmNvbXBvbmVudCc7XG5leHBvcnQge0Zvcm1PcHRpb25zUGlwZSBhcyDJtWJ9IGZyb20gJy4vbGliL3BpcGVzL2Zvcm0tb3B0aW9ucy9mb3JtLW9wdGlvbnMucGlwZSc7XG5leHBvcnQge0NydWRQaXBlc01vZHVsZSBhcyDJtWF9IGZyb20gJy4vbGliL3BpcGVzL3BpcGVzLm1vZHVsZSc7XG5leHBvcnQge05vdFNvY2tldFNlcnZpY2UgYXMgybVxLFNvY2tldFNlcnZpY2UgYXMgybVwfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9zb2NrZXQvc29ja2V0LnNlcnZpY2UnOyJdfQ==
20
+ export { NotSocketService as ɵr, SocketService as ɵq } from './lib/services/socket/socket.service';
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2Z0MDAxLWNydWQtc2hlbGwtYW5ndWxhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9zbWFydHNvZnQwMDEtY3J1ZC1zaGVsbC1hbmd1bGFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUM7QUFFeEIsT0FBTyxFQUFDLG9CQUFvQixJQUFJLEVBQUUsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDL0UsT0FBTyxFQUFDLG9CQUFvQixJQUFJLEVBQUUsRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQywyQkFBMkIsSUFBSSxFQUFFLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLGtCQUFrQixJQUFJLEVBQUUsRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDN1AsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEVBQUUsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBQ3RHLE9BQU8sRUFBQyxnQkFBZ0IsSUFBSSxFQUFFLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNsRixPQUFPLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUM5RixPQUFPLEVBQUMseUJBQXlCLElBQUksRUFBRSxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDckYsT0FBTyxFQUFDLGFBQWEsSUFBSSxFQUFFLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDekYsT0FBTyxFQUFDLHlCQUF5QixJQUFJLEVBQUUsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3JGLE9BQU8sRUFBQyxhQUFhLElBQUksRUFBRSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ3pGLE9BQU8sRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDakYsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsZ0JBQWdCLElBQUksRUFBRSxFQUFDLGFBQWEsSUFBSSxFQUFFLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG5cbmV4cG9ydCB7Q3J1ZENvbXBvbmVudHNNb2R1bGUgYXMgybVjfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvbXBvbmVudHMubW9kdWxlJztcbmV4cG9ydCB7RXhwb3J0Q29tcG9uZW50IGFzIMm1ZH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9leHBvcnQvZXhwb3J0LmNvbXBvbmVudCc7XG5leHBvcnQge0ZpbHRlckNoZWNrQ29tcG9uZW50IGFzIMm1bSxGaWx0ZXJDb21wb25lbnQgYXMgybVlLEZpbHRlckRhdGVDb21wb25lbnQgYXMgybVoLEZpbHRlckRhdGVXaXRoRWRpdENvbXBvbmVudCBhcyDJtWksRmlsdGVyRmxhZ0NvbXBvbmVudCBhcyDJtWwsRmlsdGVySW50Q29tcG9uZW50IGFzIMm1bixGaWx0ZXJSYWRpb0NvbXBvbmVudCBhcyDJtWosRmlsdGVyVGV4dENvbXBvbmVudCBhcyDJtWZ9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZmlsdGVyJztcbmV4cG9ydCB7RmlsdGVyc0NvbmZpZ0NvbXBvbmVudCBhcyDJtWd9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZmlsdGVycy1jb25maWcvZmlsdGVycy1jb25maWcuY29tcG9uZW50JztcbmV4cG9ydCB7RmlsdGVyc0NvbXBvbmVudCBhcyDJtWt9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZmlsdGVycy9maWx0ZXJzLmNvbXBvbmVudCc7XG5leHBvcnQge0dyb3VwQ29tcG9uZW50IGFzIMm1cH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9ncm91cC9ncm91cC5jb21wb25lbnQnO1xuZXhwb3J0IHtNdWx0aXNlbGVjdENvbXBvbmVudCBhcyDJtW99IGZyb20gJy4vbGliL2NvbXBvbmVudHMvbXVsdGlzZWxlY3QvbXVsdGlzZWxlY3QuY29tcG9uZW50JztcbmV4cG9ydCB7Q3J1ZEl0ZW1QYWdlQmFzZUNvbXBvbmVudCBhcyDJtXV9IGZyb20gJy4vbGliL3BhZ2VzL2l0ZW0vYmFzZS9iYXNlLmNvbXBvbmVudCc7XG5leHBvcnQge0l0ZW1Db21wb25lbnQgYXMgybVzfSBmcm9tICcuL2xpYi9wYWdlcy9pdGVtL2l0ZW0uY29tcG9uZW50JztcbmV4cG9ydCB7SXRlbVN0YW5kYXJkQ29tcG9uZW50IGFzIMm1dH0gZnJvbSAnLi9saWIvcGFnZXMvaXRlbS9zdGFuZGFyZC9zdGFuZGFyZC5jb21wb25lbnQnO1xuZXhwb3J0IHtDcnVkTGlzdFBhZ2VCYXNlQ29tcG9uZW50IGFzIMm1eH0gZnJvbSAnLi9saWIvcGFnZXMvbGlzdC9iYXNlL2Jhc2UuY29tcG9uZW50JztcbmV4cG9ydCB7TGlzdENvbXBvbmVudCBhcyDJtXZ9IGZyb20gJy4vbGliL3BhZ2VzL2xpc3QvbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0IHtMaXN0U3RhbmRhcmRDb21wb25lbnQgYXMgybV3fSBmcm9tICcuL2xpYi9wYWdlcy9saXN0L3N0YW5kYXJkL3N0YW5kYXJkLmNvbXBvbmVudCc7XG5leHBvcnQge0Zvcm1PcHRpb25zUGlwZSBhcyDJtWJ9IGZyb20gJy4vbGliL3BpcGVzL2Zvcm0tb3B0aW9ucy9mb3JtLW9wdGlvbnMucGlwZSc7XG5leHBvcnQge0NydWRQaXBlc01vZHVsZSBhcyDJtWF9IGZyb20gJy4vbGliL3BpcGVzL3BpcGVzLm1vZHVsZSc7XG5leHBvcnQge05vdFNvY2tldFNlcnZpY2UgYXMgybVyLFNvY2tldFNlcnZpY2UgYXMgybVxfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9zb2NrZXQvc29ja2V0LnNlcnZpY2UnOyJdfQ==
@@ -403,7 +403,7 @@ class FilterComponent {
403
403
  FilterComponent.decorators = [
404
404
  { type: Component, args: [{
405
405
  selector: "smart-crud-filter",
406
- template: "<ion-item [ngSwitch]=\"item.fieldType\">\n <smart-crud-filter-date\n *ngSwitchCase=\"FieldType.date\"\n [item]=\"item\"\n [filter]=\"filter\"\n ></smart-crud-filter-date>\n\n <smart-crud-filter-date-with-edit\n *ngSwitchCase=\"FieldType.dateWithEdit\"\n [item]=\"item\"\n [filter]=\"filter\"\n ></smart-crud-filter-date-with-edit>\n\n <smart-crud-filter-radio\n *ngSwitchCase=\"FieldType.radio\"\n [item]=\"item\"\n [filter]=\"filter\"\n ></smart-crud-filter-radio>\n\n <smart-crud-filter-check\n *ngSwitchCase=\"FieldType.check\"\n [item]=\"item\"\n [filter]=\"filter\"\n ></smart-crud-filter-check>\n\n <smart-crud-filter-flag\n *ngSwitchCase=\"FieldType.flag\"\n [item]=\"item\"\n [filter]=\"filter\"\n ></smart-crud-filter-flag>\n\n <smart-crud-filter-text\n *ngSwitchDefault\n [item]=\"item\"\n [filter]=\"filter\"\n ></smart-crud-filter-text>\n</ion-item>\n",
406
+ template: "<ion-item [ngSwitch]=\"item.fieldType\">\n <smart-crud-filter-date\n *ngSwitchCase=\"FieldType.date\"\n [item]=\"item\"\n [filter]=\"filter\"\n ></smart-crud-filter-date>\n\n <smart-crud-filter-date-with-edit\n *ngSwitchCase=\"FieldType.dateWithEdit\"\n [item]=\"item\"\n [filter]=\"filter\"\n ></smart-crud-filter-date-with-edit>\n\n <smart-crud-filter-radio\n *ngSwitchCase=\"FieldType.radio\"\n [item]=\"item\"\n [filter]=\"filter\"\n ></smart-crud-filter-radio>\n\n <smart-crud-filter-check\n *ngSwitchCase=\"FieldType.check\"\n [item]=\"item\"\n [filter]=\"filter\"\n ></smart-crud-filter-check>\n\n <smart-crud-filter-flag\n *ngSwitchCase=\"FieldType.flag\"\n [item]=\"item\"\n [filter]=\"filter\"\n ></smart-crud-filter-flag>\n\n <smart-crud-filter-int\n *ngSwitchCase=\"FieldType.int\"\n [item]=\"item\"\n [filter]=\"filter\"\n ></smart-crud-filter-int>\n\n <smart-crud-filter-text\n *ngSwitchDefault\n [item]=\"item\"\n [filter]=\"filter\"\n ></smart-crud-filter-text>\n</ion-item>\n",
407
407
  styles: [""]
408
408
  },] }
409
409
  ];
@@ -449,12 +449,38 @@ class BaseComponent {
449
449
  set value(val) {
450
450
  this.refresh(val);
451
451
  }
452
- refresh(val) {
452
+ get minValue() {
453
453
  if (this.isArrayType()) {
454
- this.refreshForArray(val);
454
+ return this.filter.query
455
+ .filter((q) => q.key === this.item.key && q.type === "<=")
456
+ .map(q => q.value);
457
+ }
458
+ const query = this.filter.query.find((q) => q.key === this.item.key && q.type === "<=");
459
+ return query === null || query === void 0 ? void 0 : query.value;
460
+ }
461
+ set minValue(val) {
462
+ this.refresh(val, "<=");
463
+ }
464
+ get maxValue() {
465
+ if (this.isArrayType()) {
466
+ return this.filter.query
467
+ .filter((q) => q.key === this.item.key && q.type === ">=")
468
+ .map(q => q.value);
469
+ }
470
+ const query = this.filter.query.find((q) => q.key === this.item.key && q.type === ">=");
471
+ return query === null || query === void 0 ? void 0 : query.value;
472
+ }
473
+ set maxValue(val) {
474
+ this.refresh(val, ">=");
475
+ }
476
+ refresh(val, type = null) {
477
+ if (!type)
478
+ type = this.item.type;
479
+ if (this.isArrayType()) {
480
+ this.refreshForArray(val, type);
455
481
  return;
456
482
  }
457
- let query = this.filter.query.find((q) => q.key === this.item.key && q.type === this.item.type);
483
+ let query = this.filter.query.find((q) => q.key === this.item.key && q.type === type);
458
484
  if (val === null || val === undefined || val === '') {
459
485
  const index = this.filter.query.indexOf(query);
460
486
  if (index > -1) {
@@ -466,7 +492,7 @@ class BaseComponent {
466
492
  if (!query) {
467
493
  query = {
468
494
  key: this.item.key,
469
- type: this.item.type,
495
+ type: type,
470
496
  value: null,
471
497
  };
472
498
  this.filter.query.push(query);
@@ -491,8 +517,8 @@ class BaseComponent {
491
517
  var _a;
492
518
  return (((_a = this.item) === null || _a === void 0 ? void 0 : _a.fieldType) === FieldType.check);
493
519
  }
494
- refreshForArray(vals) {
495
- const queries = this.filter.query.filter((q) => q.key === this.item.key && q.type === this.item.type);
520
+ refreshForArray(vals, type) {
521
+ const queries = this.filter.query.filter((q) => q.key === this.item.key && q.type === type);
496
522
  queries.forEach(query => {
497
523
  const index = this.filter.query.indexOf(query);
498
524
  if (index > -1) {
@@ -506,7 +532,7 @@ class BaseComponent {
506
532
  vals.forEach(val => {
507
533
  const query = {
508
534
  key: this.item.key,
509
- type: this.item.type,
535
+ type: type,
510
536
  value: val,
511
537
  };
512
538
  this.filter.query.push(query);
@@ -538,11 +564,15 @@ BaseComponent.propDecorators = {
538
564
  __decorate([
539
565
  Debounce(500),
540
566
  __metadata("design:type", Function),
541
- __metadata("design:paramtypes", [Object]),
567
+ __metadata("design:paramtypes", [Object, Object]),
542
568
  __metadata("design:returntype", void 0)
543
569
  ], BaseComponent.prototype, "refresh", null);
544
570
 
545
571
  class FilterDateComponent extends BaseComponent {
572
+ get allowAdvanced() {
573
+ var _a;
574
+ return ((_a = this.item) === null || _a === void 0 ? void 0 : _a.type) === '=';
575
+ }
546
576
  set customValue(val) {
547
577
  var _a;
548
578
  const momentDate = moment(val);
@@ -551,6 +581,22 @@ class FilterDateComponent extends BaseComponent {
551
581
  get customValue() {
552
582
  return this.value;
553
583
  }
584
+ set customMinValue(val) {
585
+ var _a;
586
+ const momentDate = moment(val);
587
+ this.minValue = ((_a = val) === null || _a === void 0 ? void 0 : _a.length) >= 10 && momentDate.isValid() ? momentDate.format('YYYY-MM-DD') : val;
588
+ }
589
+ get customMinValue() {
590
+ return this.minValue;
591
+ }
592
+ set customMaxValue(val) {
593
+ var _a;
594
+ const momentDate = moment(val);
595
+ this.maxValue = ((_a = val) === null || _a === void 0 ? void 0 : _a.length) >= 10 && momentDate.isValid() ? momentDate.format('YYYY-MM-DD') : val;
596
+ }
597
+ get customMaxValue() {
598
+ return this.maxValue;
599
+ }
554
600
  }
555
601
  /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
556
602
  FilterDateComponent.decorators = [
@@ -565,6 +611,7 @@ class FilterDateWithEditComponent extends FilterDateComponent {
565
611
  constructor() {
566
612
  super(...arguments);
567
613
  this._subscriptions = new Subscription();
614
+ this.advanced = false;
568
615
  }
569
616
  open() {
570
617
  this.dateTimePicker.open();
@@ -590,7 +637,7 @@ class FilterDateWithEditComponent extends FilterDateComponent {
590
637
  FilterDateWithEditComponent.decorators = [
591
638
  { type: Component, args: [{
592
639
  selector: 'smart-crud-filter-date-with-edit',
593
- template: "<ion-row>\n <ion-col>\n <ion-label position=\"floating\">\n {{ item.label | translate }}\n </ion-label>\n\n <ion-input placeholder=\"YYYY-MM-DD\"\n [(ngModel)]=\"customValue\"\n [pattern]=\"'([12]\\\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\\\d|3[01]))'\"\n ></ion-input>\n <ion-datetime [hidden]=\"true\"\n displayFormat=\"YYYY-MM-DD\"\n pickerFormat=\"YYYY-MM-DD\"\n [(ngModel)]=\"customValue\"></ion-datetime>\n </ion-col>\n <ion-col size=\"auto\">\n <ion-button (click)=\"open()\" class=\"squere-button\">\n <ion-icon slot=\"icon-only\" name=\"calendar-outline\"></ion-icon>\n </ion-button>\n </ion-col>\n <ion-col size=\"auto\" *ngIf=\"value\">\n <ion-button color=\"danger\" (click)=\"refresh(null)\" class=\"squere-button\">\n <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>\n </ion-button>\n </ion-col>\n</ion-row>",
640
+ template: "<ion-row>\n <ion-col>\n <ion-label>\n {{ item.label | translate }}\n </ion-label>\n\n <ion-input placeholder=\"YYYY-MM-DD\"\n [(ngModel)]=\"customValue\"\n [pattern]=\"'([12]\\\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\\\d|3[01]))'\"\n ></ion-input>\n <ion-datetime [hidden]=\"true\"\n displayFormat=\"YYYY-MM-DD\"\n pickerFormat=\"YYYY-MM-DD\"\n [(ngModel)]=\"customValue\"></ion-datetime>\n </ion-col>\n <ion-col size=\"auto\">\n <ion-button (click)=\"open()\" class=\"squere-button\">\n <ion-icon slot=\"icon-only\" name=\"calendar-outline\"></ion-icon>\n </ion-button>\n </ion-col>\n <ion-col size=\"auto\" *ngIf=\"allowAdvanced\">\n <ion-button (click)=\"advanced = !advanced\" class=\"squere-button\" [disabled]=\"minValue || maxValue\">\n <ion-icon *ngIf=\"!advanced\" slot=\"icon-only\" name=\"settings-outline\"></ion-icon>\n <ion-icon *ngIf=\"advanced\" slot=\"icon-only\" name=\"settings\"></ion-icon>\n </ion-button>\n </ion-col>\n <ion-col size=\"auto\" *ngIf=\"value\">\n <ion-button color=\"danger\" (click)=\"refresh(null)\" class=\"squere-button\">\n <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>\n </ion-button>\n </ion-col>\n</ion-row>\n<ion-row *ngIf=\"(advanced || minValue || maxValue) && allowAdvanced\">\n <ion-col>\n <ion-item>\n <ion-label>\n {{ 'from' | translate }}\n </ion-label>\n <ion-input placeholder=\"YYYY-MM-DD\"\n [(ngModel)]=\"customMinValue\"\n [pattern]=\"'([12]\\\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\\\d|3[01]))'\"\n ></ion-input>\n <ion-datetime [hidden]=\"true\"\n [(ngModel)]=\"customMinValue\"\n displayFormat=\"YYYY-MM-DD\"\n pickerFormat=\"YYYY-MM-DD\"></ion-datetime>\n </ion-item>\n </ion-col>\n <ion-col size=\"auto\" *ngIf=\"customMinValue\">\n <ion-button color=\"danger\" (click)=\"refresh(null, '<=')\" class=\"squere-button\">\n <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>\n </ion-button>\n </ion-col>\n <ion-col>\n <ion-item>\n <ion-label>\n {{ 'to' | translate }}\n </ion-label>\n <ion-input placeholder=\"YYYY-MM-DD\"\n [(ngModel)]=\"customMaxValue\"\n [pattern]=\"'([12]\\\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\\\d|3[01]))'\"\n ></ion-input>\n <ion-datetime [hidden]=\"true\"\n displayFormat=\"YYYY-MM-DD\"\n pickerFormat=\"YYYY-MM-DD\"\n [(ngModel)]=\"customMaxValue\"></ion-datetime>\n </ion-item>\n </ion-col>\n <ion-col size=\"auto\" *ngIf=\"customMaxValue\">\n <ion-button color=\"danger\" (click)=\"refresh(null, '>=')\" class=\"squere-button\">\n <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>\n </ion-button>\n </ion-col>\n</ion-row>",
594
641
  styles: [":host{width:100%}:host .squere-button{height:var(--smart-button-height)!important;margin:.8rem}\n"]
595
642
  },] }
596
643
  ];
@@ -662,6 +709,34 @@ FilterCheckComponent.decorators = [
662
709
  },] }
663
710
  ];
664
711
 
712
+ class FilterIntComponent extends BaseComponent {
713
+ constructor() {
714
+ super(...arguments);
715
+ this._subscriptions = new Subscription();
716
+ this.advanced = false;
717
+ }
718
+ get allowAdvanced() {
719
+ var _a;
720
+ return ((_a = this.item) === null || _a === void 0 ? void 0 : _a.type) === '=';
721
+ }
722
+ ngOnInit() {
723
+ super.ngOnInit();
724
+ }
725
+ ngOnDestroy() {
726
+ if (this._subscriptions) {
727
+ this._subscriptions.unsubscribe();
728
+ }
729
+ }
730
+ }
731
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
732
+ FilterIntComponent.decorators = [
733
+ { type: Component, args: [{
734
+ selector: 'smart-crud-filter-int',
735
+ template: "<ion-row>\n <ion-col>\n <ion-label>\n {{ item.label | translate }}\n </ion-label>\n <ion-input [(ngModel)]=\"value\" type=\"number\" step=\"1\"></ion-input>\n </ion-col>\n <ion-col size=\"auto\" *ngIf=\"allowAdvanced\">\n <ion-button (click)=\"advanced = !advanced\" class=\"squere-button\" [disabled]=\"minValue || maxValue\">\n <ion-icon *ngIf=\"!advanced\" slot=\"icon-only\" name=\"settings-outline\"></ion-icon>\n <ion-icon *ngIf=\"advanced\" slot=\"icon-only\" name=\"settings\"></ion-icon>\n </ion-button>\n </ion-col>\n <ion-col size=\"auto\" *ngIf=\"value\">\n <ion-button color=\"danger\" (click)=\"refresh(null)\" class=\"squere-button\">\n <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>\n </ion-button>\n </ion-col>\n</ion-row>\n<ion-row *ngIf=\"(advanced || minValue || maxValue) && allowAdvanced\">\n <ion-col>\n <ion-item>\n <ion-label>\n {{ 'from' | translate }}\n </ion-label>\n <ion-input [(ngModel)]=\"minValue\" type=\"number\" step=\"1\"></ion-input>\n </ion-item>\n </ion-col>\n <ion-col size=\"auto\" *ngIf=\"minValue\">\n <ion-button color=\"danger\" (click)=\"refresh(null, '<=')\" class=\"squere-button\">\n <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>\n </ion-button>\n </ion-col>\n <ion-col>\n <ion-item>\n <ion-label>\n {{ 'to' | translate }}\n </ion-label>\n <ion-input [(ngModel)]=\"maxValue\" type=\"number\" step=\"1\"></ion-input>\n </ion-item>\n </ion-col>\n <ion-col size=\"auto\" *ngIf=\"maxValue\">\n <ion-button color=\"danger\" (click)=\"refresh(null, '>=')\" class=\"squere-button\">\n <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>\n </ion-button>\n </ion-col>\n</ion-row>",
736
+ styles: [":host{width:100%}:host .squere-button{height:var(--smart-button-height)!important;margin:.8rem}\n"]
737
+ },] }
738
+ ];
739
+
665
740
  /**
666
741
  * This component is only to use in crud module
667
742
  * @requires CrudModule
@@ -744,7 +819,8 @@ class FiltersComponent {
744
819
  .filter(item => { var _a, _b; return (_b = (_a = item.options) === null || _a === void 0 ? void 0 : _a.list) === null || _b === void 0 ? void 0 : _b.filter; })
745
820
  .map(item => ({
746
821
  key: item.key,
747
- type: '=',
822
+ type: item.options.type === FieldType.text || item.options.type === FieldType.longText
823
+ ? '~=' : '=',
748
824
  label: 'MODEL.' + item.key,
749
825
  fieldType: item.options.type
750
826
  }))
@@ -1406,6 +1482,7 @@ const COMPONENTS = [
1406
1482
  FiltersComponent,
1407
1483
  FilterFlagComponent,
1408
1484
  FilterCheckComponent,
1485
+ FilterIntComponent,
1409
1486
  MultiselectComponent,
1410
1487
  GroupComponent
1411
1488
  ];
@@ -1417,9 +1494,6 @@ CrudComponentsModule.decorators = [
1417
1494
  declarations: [
1418
1495
  ...COMPONENTS
1419
1496
  ],
1420
- entryComponents: [
1421
- ...COMPONENTS
1422
- ],
1423
1497
  imports: [
1424
1498
  //AuthSharedModule,
1425
1499
  StoreModule,
@@ -1432,13 +1506,16 @@ CrudComponentsModule.decorators = [
1432
1506
  CrudPipesModule,
1433
1507
  ...COMPONENTS
1434
1508
  ],
1509
+ entryComponents: [
1510
+ ...COMPONENTS
1511
+ ],
1435
1512
  providers: [
1436
1513
  CrudService,
1437
1514
  CrudEffects,
1438
1515
  CrudFacade,
1439
1516
  SocketService,
1440
1517
  CrudListPaginationFactory,
1441
- ],
1518
+ ]
1442
1519
  },] }
1443
1520
  ];
1444
1521
 
@@ -1646,7 +1723,7 @@ class ListComponent extends CreateDynamicComponent('crud-list-page') {
1646
1723
  return __awaiter(this, void 0, void 0, function* () {
1647
1724
  yield this.pageService.checkPermissions();
1648
1725
  if (((_a = this.config.list) === null || _a === void 0 ? void 0 : _a.resetQuery) === 'beforeInit') {
1649
- this.facade.read(Object.assign({ query: [...this.config.baseQuery], paginationMode: this.config.list.paginationMode, limit: this.config.pagination ? this.config.pagination.limit : null, offset: this.config.pagination ? 0 : null, sortBy: this.config.sort ? this.config.sort["default"] : null, sortDesc: this.config.sort ? this.config.sort["defaultDesc"] : null }, this.searchService.filter));
1726
+ this.facade.read(Object.assign({ query: this.config.baseQuery ? [...this.config.baseQuery] : [], paginationMode: this.config.list.paginationMode, limit: this.config.pagination ? this.config.pagination.limit : null, offset: this.config.pagination ? 0 : null, sortBy: this.config.sort ? this.config.sort["default"] : null, sortDesc: this.config.sort ? this.config.sort["defaultDesc"] : null }, this.searchService.filter));
1650
1727
  }
1651
1728
  else {
1652
1729
  this.facade.read(Object.assign({ paginationMode: this.config.list.paginationMode, limit: this.config.pagination ? this.config.pagination.limit : null, offset: this.config.pagination ? 0 : null, sortBy: this.config.sort ? this.config.sort["default"] : null, sortDesc: this.config.sort ? this.config.sort["defaultDesc"] : null }, this.searchService.filter));
@@ -2342,9 +2419,6 @@ CrudFullModule.decorators = [
2342
2419
  declarations: [
2343
2420
  ...PAGES
2344
2421
  ],
2345
- entryComponents: [
2346
- ...PAGES
2347
- ],
2348
2422
  imports: [
2349
2423
  StoreModule,
2350
2424
  SharedModule,
@@ -2362,6 +2436,9 @@ CrudFullModule.decorators = [
2362
2436
  ...PAGES,
2363
2437
  CrudComponentsModule
2364
2438
  ],
2439
+ entryComponents: [
2440
+ ...PAGES
2441
+ ],
2365
2442
  providers: [
2366
2443
  CrudService,
2367
2444
  PageService,
@@ -2454,5 +2531,5 @@ CrudModule.decorators = [
2454
2531
  * Generated bundle index. Do not edit.
2455
2532
  */
2456
2533
 
2457
- export { CRUD_MODEL_POSSIBILITIES_PROVIDER, CrudComponentsModule, CrudConfig, CrudCoreModule, CrudEffects, CrudFacade, CrudFullConfig, CrudFullModule, CrudItemPageBaseComponent, CrudListPageBaseComponent, CrudListPaginationFactory, CrudModule, CrudPipesModule, CrudSearchService, CrudService, ExportComponent, FilterCheckComponent, FilterComponent, FilterDateComponent, FilterDateWithEditComponent, FilterFlagComponent, FilterRadioComponent, FilterTextComponent, FiltersComponent, FiltersConfigComponent, FormOptionsPipe, GroupComponent, ICrudModelPossibilitiesProvider, MultiselectComponent, PageService, create, createFailure, createMany, createManyFailure, createManySuccess, createSuccess, deleteFailure, deleteItem, deleteSuccess, exportList, exportListFailure, exportListSuccess, getCrudError, getCrudFilter, getCrudLinks, getCrudList, getCrudLoaded, getCrudMultiSelected, getCrudSelected, getCrudState, getCrudTotalCount, getReducer, initialState, multiSelect, read, readFailure, readSuccess, select, selectFailure, selectSuccess, unselect, update, updateFailure, updatePartial, updatePartialFailure, updatePartialMany, updatePartialManyFailure, updatePartialManySuccess, updatePartialSuccess, updateSuccess, ɵ0, CrudPipesModule as ɵa, FormOptionsPipe as ɵb, CrudComponentsModule as ɵc, ExportComponent as ɵd, FilterComponent as ɵe, FilterTextComponent as ɵf, FiltersConfigComponent as ɵg, FilterDateComponent as ɵh, FilterDateWithEditComponent as ɵi, FilterRadioComponent as ɵj, FiltersComponent as ɵk, FilterFlagComponent as ɵl, FilterCheckComponent as ɵm, MultiselectComponent as ɵn, GroupComponent as ɵo, SocketService as ɵp, NotSocketService as ɵq, ItemComponent as ɵr, ItemStandardComponent as ɵs, CrudItemPageBaseComponent as ɵt, ListComponent as ɵu, ListStandardComponent as ɵv, CrudListPageBaseComponent as ɵw };
2534
+ export { CRUD_MODEL_POSSIBILITIES_PROVIDER, CrudComponentsModule, CrudConfig, CrudCoreModule, CrudEffects, CrudFacade, CrudFullConfig, CrudFullModule, CrudItemPageBaseComponent, CrudListPageBaseComponent, CrudListPaginationFactory, CrudModule, CrudPipesModule, CrudSearchService, CrudService, ExportComponent, FilterCheckComponent, FilterComponent, FilterDateComponent, FilterDateWithEditComponent, FilterFlagComponent, FilterIntComponent, FilterRadioComponent, FilterTextComponent, FiltersComponent, FiltersConfigComponent, FormOptionsPipe, GroupComponent, ICrudModelPossibilitiesProvider, MultiselectComponent, PageService, create, createFailure, createMany, createManyFailure, createManySuccess, createSuccess, deleteFailure, deleteItem, deleteSuccess, exportList, exportListFailure, exportListSuccess, getCrudError, getCrudFilter, getCrudLinks, getCrudList, getCrudLoaded, getCrudMultiSelected, getCrudSelected, getCrudState, getCrudTotalCount, getReducer, initialState, multiSelect, read, readFailure, readSuccess, select, selectFailure, selectSuccess, unselect, update, updateFailure, updatePartial, updatePartialFailure, updatePartialMany, updatePartialManyFailure, updatePartialManySuccess, updatePartialSuccess, updateSuccess, ɵ0, CrudPipesModule as ɵa, FormOptionsPipe as ɵb, CrudComponentsModule as ɵc, ExportComponent as ɵd, FilterComponent as ɵe, FilterTextComponent as ɵf, FiltersConfigComponent as ɵg, FilterDateComponent as ɵh, FilterDateWithEditComponent as ɵi, FilterRadioComponent as ɵj, FiltersComponent as ɵk, FilterFlagComponent as ɵl, FilterCheckComponent as ɵm, FilterIntComponent as ɵn, MultiselectComponent as ɵo, GroupComponent as ɵp, SocketService as ɵq, NotSocketService as ɵr, ItemComponent as ɵs, ItemStandardComponent as ɵt, CrudItemPageBaseComponent as ɵu, ListComponent as ɵv, ListStandardComponent as ɵw, CrudListPageBaseComponent as ɵx };
2458
2535
  //# sourceMappingURL=smartsoft001-crud-shell-angular.js.map