@skyux/list-builder 10.0.0-alpha.0 → 10.0.0-alpha.2

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 (59) hide show
  1. package/documentation.json +227 -227
  2. package/esm2022/lib/modules/list/list-paging.component.mjs +1 -1
  3. package/esm2022/lib/modules/list/list.component.mjs +4 -4
  4. package/esm2022/lib/modules/list/list.module.mjs +4 -4
  5. package/esm2022/lib/modules/list/state/items/items.orchestrator.mjs +1 -1
  6. package/esm2022/lib/modules/list/state/items/load.action.mjs +1 -1
  7. package/esm2022/lib/modules/list/state/items/set-items-selected.action.mjs +1 -1
  8. package/esm2022/lib/modules/list/state/items/set-loading.action.mjs +1 -1
  9. package/esm2022/lib/modules/list/state/list-state.rxstate.mjs +4 -4
  10. package/esm2022/lib/modules/list/state/list-state.state-node.mjs +3 -3
  11. package/esm2022/lib/modules/list/state/search/search.model.mjs +1 -1
  12. package/esm2022/lib/modules/list/state/search/set-field-selectors.action.mjs +1 -1
  13. package/esm2022/lib/modules/list/state/search/set-functions.action.mjs +1 -1
  14. package/esm2022/lib/modules/list/state/selected/load.action.mjs +1 -1
  15. package/esm2022/lib/modules/list/state/selected/set-items-selected.action.mjs +1 -1
  16. package/esm2022/lib/modules/list/state/selected/set-loading.action.mjs +1 -1
  17. package/esm2022/lib/modules/list/state/sort/sort.model.mjs +1 -1
  18. package/esm2022/lib/modules/list/state/toolbar/load.action.mjs +1 -1
  19. package/esm2022/lib/modules/list-data-provider-in-memory/list-data-in-memory.provider.mjs +4 -7
  20. package/esm2022/lib/modules/list-filters/list-filter-button.component.mjs +3 -3
  21. package/esm2022/lib/modules/list-filters/list-filter-inline-item-renderer.component.mjs +3 -3
  22. package/esm2022/lib/modules/list-filters/list-filter-inline-item.component.mjs +3 -3
  23. package/esm2022/lib/modules/list-filters/list-filter-inline.component.mjs +4 -4
  24. package/esm2022/lib/modules/list-filters/list-filter-summary.component.mjs +4 -4
  25. package/esm2022/lib/modules/list-filters/list-filters.module.mjs +4 -4
  26. package/esm2022/lib/modules/list-paging/list-paging.component.mjs +3 -3
  27. package/esm2022/lib/modules/list-paging/list-paging.module.mjs +4 -4
  28. package/esm2022/lib/modules/list-toolbar/list-multiselect-toolbar.component.mjs +3 -3
  29. package/esm2022/lib/modules/list-toolbar/list-secondary-actions/list-secondary-action.component.mjs +3 -3
  30. package/esm2022/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions-host.component.mjs +3 -3
  31. package/esm2022/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.component.mjs +3 -3
  32. package/esm2022/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.module.mjs +4 -4
  33. package/esm2022/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.service.mjs +3 -3
  34. package/esm2022/lib/modules/list-toolbar/list-toolbar-item-renderer.component.mjs +3 -3
  35. package/esm2022/lib/modules/list-toolbar/list-toolbar-item.component.mjs +3 -3
  36. package/esm2022/lib/modules/list-toolbar/list-toolbar-search-actions.component.mjs +3 -3
  37. package/esm2022/lib/modules/list-toolbar/list-toolbar-sort.component.mjs +3 -3
  38. package/esm2022/lib/modules/list-toolbar/list-toolbar-view-actions.component.mjs +3 -3
  39. package/esm2022/lib/modules/list-toolbar/list-toolbar.component.mjs +4 -4
  40. package/esm2022/lib/modules/list-toolbar/list-toolbar.module.mjs +4 -4
  41. package/esm2022/lib/modules/list-toolbar/state/config/set-sort-selector-enabled.action.mjs +1 -1
  42. package/esm2022/lib/modules/list-toolbar/state/toolbar-state.rxstate.mjs +3 -3
  43. package/esm2022/lib/modules/list-toolbar/state/toolbar-state.state-node.mjs +3 -3
  44. package/esm2022/lib/modules/shared/sky-list-builder-resources.module.mjs +5 -5
  45. package/fesm2022/skyux-list-builder.mjs +93 -96
  46. package/fesm2022/skyux-list-builder.mjs.map +1 -1
  47. package/lib/modules/list/list.component.d.ts +6 -6
  48. package/lib/modules/list/state/items/load.action.d.ts +2 -2
  49. package/lib/modules/list/state/list-state.rxstate.d.ts +1 -1
  50. package/lib/modules/list/state/search/search.model.d.ts +2 -2
  51. package/lib/modules/list/state/search/set-field-selectors.action.d.ts +2 -2
  52. package/lib/modules/list/state/search/set-functions.action.d.ts +2 -2
  53. package/lib/modules/list/state/selected/load.action.d.ts +2 -2
  54. package/lib/modules/list/state/sort/sort.model.d.ts +3 -3
  55. package/lib/modules/list-data-provider-in-memory/list-data-in-memory.provider.d.ts +2 -2
  56. package/lib/modules/list-filters/list-filter-inline.component.d.ts +1 -1
  57. package/lib/modules/list-filters/list-filter-summary.component.d.ts +1 -1
  58. package/lib/modules/list-toolbar/list-toolbar.component.d.ts +2 -2
  59. package/package.json +12 -12
@@ -11,4 +11,4 @@ export class ListPagingComponent {
11
11
  this.dispatcher = dispatcher;
12
12
  }
13
13
  }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1wYWdpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3QtYnVpbGRlci9zcmMvbGliL21vZHVsZXMvbGlzdC9saXN0LXBhZ2luZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUt2Qzs7OztHQUlHO0FBQ0gsTUFBTSxPQUFnQixtQkFBbUI7SUFLdkMsWUFBWSxLQUFnQixFQUFFLFVBQStCO1FBSm5ELGdCQUFXLEdBQTZCLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBSzNFLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBMaXN0U3RhdGVEaXNwYXRjaGVyIH0gZnJvbSAnLi9zdGF0ZS9saXN0LXN0YXRlLnJ4c3RhdGUnO1xuaW1wb3J0IHsgTGlzdFN0YXRlIH0gZnJvbSAnLi9zdGF0ZS9saXN0LXN0YXRlLnN0YXRlLW5vZGUnO1xuXG4vKipcbiAqIFRoZSBTS1kgVVgtdGhlbWVkIHBhZ2luYXRpb24gY29udHJvbCB0aGF0IGRpc3BsYXlzIGxpc3QgZGF0YSBhY3Jvc3MgbXVsdGlwbGUgcGFnZXMuXG4gKiBAaW50ZXJuYWxcbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBMaXN0UGFnaW5nQ29tcG9uZW50IHtcbiAgcHJvdGVjdGVkIGluaXRpYWxpemVkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgcHJvdGVjdGVkIHN0YXRlOiBMaXN0U3RhdGU7XG4gIHByb3RlY3RlZCBkaXNwYXRjaGVyOiBMaXN0U3RhdGVEaXNwYXRjaGVyO1xuXG4gIGNvbnN0cnVjdG9yKHN0YXRlOiBMaXN0U3RhdGUsIGRpc3BhdGNoZXI6IExpc3RTdGF0ZURpc3BhdGNoZXIpIHtcbiAgICB0aGlzLnN0YXRlID0gc3RhdGU7XG4gICAgdGhpcy5kaXNwYXRjaGVyID0gZGlzcGF0Y2hlcjtcbiAgfVxufVxuIl19
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1wYWdpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3QtYnVpbGRlci9zcmMvbGliL21vZHVsZXMvbGlzdC9saXN0LXBhZ2luZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUt2Qzs7OztHQUlHO0FBQ0gsTUFBTSxPQUFnQixtQkFBbUI7SUFLdkMsWUFBWSxLQUFnQixFQUFFLFVBQStCO1FBSm5ELGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFLMUQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFDL0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IExpc3RTdGF0ZURpc3BhdGNoZXIgfSBmcm9tICcuL3N0YXRlL2xpc3Qtc3RhdGUucnhzdGF0ZSc7XG5pbXBvcnQgeyBMaXN0U3RhdGUgfSBmcm9tICcuL3N0YXRlL2xpc3Qtc3RhdGUuc3RhdGUtbm9kZSc7XG5cbi8qKlxuICogVGhlIFNLWSBVWC10aGVtZWQgcGFnaW5hdGlvbiBjb250cm9sIHRoYXQgZGlzcGxheXMgbGlzdCBkYXRhIGFjcm9zcyBtdWx0aXBsZSBwYWdlcy5cbiAqIEBpbnRlcm5hbFxuICogQGRlcHJlY2F0ZWRcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIExpc3RQYWdpbmdDb21wb25lbnQge1xuICBwcm90ZWN0ZWQgaW5pdGlhbGl6ZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHJvdGVjdGVkIHN0YXRlOiBMaXN0U3RhdGU7XG4gIHByb3RlY3RlZCBkaXNwYXRjaGVyOiBMaXN0U3RhdGVEaXNwYXRjaGVyO1xuXG4gIGNvbnN0cnVjdG9yKHN0YXRlOiBMaXN0U3RhdGUsIGRpc3BhdGNoZXI6IExpc3RTdGF0ZURpc3BhdGNoZXIpIHtcbiAgICB0aGlzLnN0YXRlID0gc3RhdGU7XG4gICAgdGhpcy5kaXNwYXRjaGVyID0gZGlzcGF0Y2hlcjtcbiAgfVxufVxuIl19
@@ -273,10 +273,10 @@ export class SkyListComponent {
273
273
  }
274
274
  return true;
275
275
  }
276
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyListComponent, deps: [{ token: i1.ListState }, { token: i2.ListStateDispatcher }, { token: i3.SkyLogService }], target: i0.ɵɵFactoryTarget.Component }); }
277
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: SkyListComponent, selector: "sky-list", inputs: { data: "data", dataProvider: "dataProvider", defaultView: "defaultView", initialTotal: "initialTotal", selectedIds: "selectedIds", sortFields: "sortFields", appliedFilters: "appliedFilters", searchFunction: ["search", "searchFunction"] }, outputs: { selectedIdsChange: "selectedIdsChange", appliedFiltersChange: "appliedFiltersChange" }, providers: [ListState, ListStateDispatcher], queries: [{ propertyName: "listViews", predicate: ListViewComponent }], usesOnChanges: true, ngImport: i0, template: '<ng-content />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
276
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyListComponent, deps: [{ token: i1.ListState }, { token: i2.ListStateDispatcher }, { token: i3.SkyLogService }], target: i0.ɵɵFactoryTarget.Component }); }
277
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: SkyListComponent, selector: "sky-list", inputs: { data: "data", dataProvider: "dataProvider", defaultView: "defaultView", initialTotal: "initialTotal", selectedIds: "selectedIds", sortFields: "sortFields", appliedFilters: "appliedFilters", searchFunction: ["search", "searchFunction"] }, outputs: { selectedIdsChange: "selectedIdsChange", appliedFiltersChange: "appliedFiltersChange" }, providers: [ListState, ListStateDispatcher], queries: [{ propertyName: "listViews", predicate: ListViewComponent }], usesOnChanges: true, ngImport: i0, template: '<ng-content />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
278
278
  }
279
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyListComponent, decorators: [{
279
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyListComponent, decorators: [{
280
280
  type: Component,
281
281
  args: [{
282
282
  selector: 'sky-list',
@@ -309,4 +309,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
309
309
  type: ContentChildren,
310
310
  args: [ListViewComponent]
311
311
  }] } });
312
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGlzdC1idWlsZGVyL3NyYy9saWIvbW9kdWxlcy9saXN0L2xpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBRUwsYUFBYSxFQUViLFFBQVEsRUFDUixZQUFZLEdBQ2IsTUFBTSw0QkFBNEIsQ0FBQztBQUVwQyxPQUFPLEVBRUwsT0FBTyxFQUNQLGFBQWEsSUFBSSx1QkFBdUIsRUFDeEMsRUFBRSxJQUFJLFlBQVksR0FDbkIsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLE9BQU8sRUFDUCxHQUFHLElBQUksYUFBYSxFQUNwQixJQUFJLEVBQ0osSUFBSSxFQUNKLFNBQVMsR0FDVixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBRzNHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRW5FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRCxPQUFP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QWdCO2tCQU41QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxVQUFVO29CQUNwQixRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixTQUFTLEVBQUUsQ0FBQyxTQUFTLEVBQUUsbUJBQW1CLENBQUM7b0JBQzNDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDs0SUFjUSxJQUFJO3NCQURWLEtBQUs7Z0JBVUMsWUFBWTtzQkFEbEIsS0FBSztnQkFPQyxXQUFXO3NCQURqQixLQUFLO2dCQVNDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBU0MsV0FBVztzQkFEakIsS0FBSztnQkFTQyxVQUFVO3NCQURoQixLQUFLO2dCQWNDLGNBQWM7c0JBRHBCLEtBQUs7Z0JBT0MsaUJBQWlCO3NCQUR2QixNQUFNO2dCQU9BLG9CQUFvQjtzQkFEMUIsTUFBTTtnQkFRQSxjQUFjO3NCQURwQixLQUFLO3VCQUFDLFFBQVE7Z0JBTVAsU0FBUztzQkFEaEIsZUFBZTt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lMb2dTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHtcbiAgQXN5bmNJdGVtLFxuICBMaXN0SXRlbU1vZGVsLFxuICBMaXN0U29ydEZpZWxkU2VsZWN0b3JNb2RlbCxcbiAgZ2V0VmFsdWUsXG4gIGlzT2JzZXJ2YWJsZSxcbn0gZnJvbSAnQHNreXV4L2xpc3QtYnVpbGRlci1jb21tb24nO1xuXG5pbXBvcnQge1xuICBPYnNlcnZhYmxlLFxuICBTdWJqZWN0LFxuICBjb21iaW5lTGF0ZXN0IGFzIG9ic2VydmFibGVDb21iaW5lTGF0ZXN0LFxuICBvZiBhcyBvYnNlcnZhYmxlT2YsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIGZsYXRNYXAsXG4gIG1hcCBhcyBvYnNlcnZhYmxlTWFwLFxuICBza2lwLFxuICB0YWtlLFxuICB0YWtlVW50aWwsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5TGlzdEluTWVtb3J5RGF0YVByb3ZpZGVyIH0gZnJvbSAnLi4vbGlzdC1kYXRhLXByb3ZpZGVyLWluLW1lbW9yeS9saXN0LWRhdGEtaW4tbWVtb3J5LnByb3ZpZGVyJztcbmltcG9ydCB7IExpc3RGaWx0ZXJNb2RlbCB9IGZyb20gJy4uL2xpc3QtZmlsdGVycy9maWx0ZXIubW9kZWwnO1xuXG5pbXBvcnQgeyBMaXN0RGF0YVJlcXVlc3RNb2RlbCB9IGZyb20gJy4vbGlzdC1kYXRhLXJlcXVlc3QubW9kZWwnO1xuaW1wb3J0IHsgTGlzdERhdGFSZXNwb25zZU1vZGVsIH0gZnJvbSAnLi9saXN0LWRhdGEtcmVzcG9uc2UubW9kZWwnO1xuaW1wb3J0IHsgTGlzdERhdGFQcm92aWRlciB9IGZyb20gJy4vbGlzdC1kYXRhLnByb3ZpZGVyJztcbmltcG9ydCB7IExpc3RWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9saXN0LXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IExpc3RJdGVtc0xvYWRBY3Rpb24gfSBmcm9tICcuL3N0YXRlL2l0ZW1zL2xvYWQuYWN0aW9uJztcbmltcG9ydCB7IExpc3RJdGVtc1NldExvYWRpbmdBY3Rpb24gfSBmcm9tICcuL3N0YXRlL2l0ZW1zL3NldC1sb2FkaW5nLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0U3RhdGVEaXNwYXRjaGVyIH0gZnJvbSAnLi9zdGF0ZS9saXN0LXN0YXRlLnJ4c3RhdGUnO1xuaW1wb3J0IHsgTGlzdFN0YXRlIH0gZnJvbSAnLi9zdGF0ZS9saXN0LXN0YXRlLnN0YXRlLW5vZGUnO1xuaW1wb3J0IHsgTGlzdFBhZ2luZ1NldFBhZ2VOdW1iZXJBY3Rpb24gfSBmcm9tICcuL3N0YXRlL3BhZ2luZy9zZXQtcGFnZS1udW1iZXIuYWN0aW9uJztcbmltcG9ydCB7IExpc3RTZWFyY2hNb2RlbCB9IGZyb20gJy4vc3RhdGUvc2VhcmNoL3NlYXJjaC5tb2RlbCc7XG5pbXBvcnQgeyBMaXN0U2VsZWN0ZWRMb2FkQWN0aW9uIH0gZnJvbSAnLi9zdGF0ZS9zZWxlY3RlZC9sb2FkLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0U2VsZWN0ZWRNb2RlbCB9IGZyb20gJy4vc3RhdGUvc2VsZWN0ZWQvc2VsZWN0ZWQubW9kZWwnO1xuaW1wb3J0IHsgTGlzdFNlbGVjdGVkU2V0TG9hZGluZ0FjdGlvbiB9IGZyb20gJy4vc3RhdGUvc2VsZWN0ZWQvc2V0LWxvYWRpbmcuYWN0aW9uJztcbmltcG9ydCB7IExpc3RTb3J0U2V0RmllbGRTZWxlY3RvcnNBY3Rpb24gfSBmcm9tICcuL3N0YXRlL3NvcnQvc2V0LWZpZWxkLXNlbGVjdG9ycy5hY3Rpb24nO1xuaW1wb3J0IHsgTGlzdFNvcnRNb2RlbCB9IGZyb20gJy4vc3RhdGUvc29ydC9zb3J0Lm1vZGVsJztcbmltcG9ydCB7IExpc3RWaWV3c0xvYWRBY3Rpb24gfSBmcm9tICcuL3N0YXRlL3ZpZXdzL2xvYWQuYWN0aW9uJztcbmltcG9ydCB7IExpc3RWaWV3c1NldEFjdGl2ZUFjdGlvbiB9IGZyb20gJy4vc3RhdGUvdmlld3Mvc2V0LWFjdGl2ZS5hY3Rpb24nO1xuaW1wb3J0IHsgTGlzdFZpZXdNb2RlbCB9IGZyb20gJy4vc3RhdGUvdmlld3Mvdmlldy5tb2RlbCc7XG5cbmxldCBpZEluZGV4ID0gMDtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBMaXN0IGJ1aWxkZXIgYW5kIGl0cyBmZWF0dXJlcyBhcmUgZGVwcmVjYXRlZC4gVXNlIGRhdGEgbWFuYWdlciBpbnN0ZWFkLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9kYXRhLW1hbmFnZXIuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1saXN0JyxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudCAvPicsXG4gIHByb3ZpZGVyczogW0xpc3RTdGF0ZSwgTGlzdFN0YXRlRGlzcGF0Y2hlcl0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lMaXN0Q29tcG9uZW50XG4gIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3lcbntcbiAgcHVibGljIGlkID0gYHNreS1saXN0LWNtcC0keysraWRJbmRleH1gO1xuICAvKipcbiAgICogVGhlIGRhdGEgdG8gZGlzcGxheS4gVGhlIGxpc3QgY29tcG9uZW50IHJlcXVpcmVzIHRoaXMgcHJvcGVydHkgb3IgdGhlXG4gICAqIGBkYXRhUHJvdmlkZXJgIHByb3BlcnR5LiBGb3IgY2hlY2tsaXN0IG9yIG11bHRpc2VsZWN0IGdyaWRzLCBlYWNoIHJvdyByZXF1aXJlcyBhblxuICAgKiBgaWRgIHByb3BlcnR5IHRvIG1hbmFnZSBzZWxlY3RlZCBpdGVtcyB3aXRoIHRoZSBgc2VsZWN0ZWRJZHNgIGlucHV0IGFuZCB0aGVcbiAgICogYHNlbGVjdGVkSWRzQ2hhbmdlYCBldmVudC4gSWYgeW91IGRvIG5vdCBwcm92aWRlIGFuIGBpZGAsIHRoZSBsaXN0IGF1dG9tYXRpY2FsbHlcbiAgICogZ2VuZXJhdGVzIG9uZS4gVG8gdXBkYXRlIGRhdGEgaW4geW91ciB2aWV3IG91dHNpZGUgb2YgYSBgZGF0YVByb3ZpZGVyYCwgeW91IG11c3QgdXNlXG4gICAqIGFuIG9ic2VydmFibGUgaW5zdGVhZCBvZiBhIHN0YXRpYyBhcnJheS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkYXRhPzogQXJyYXk8YW55PiB8IE9ic2VydmFibGU8QXJyYXk8YW55Pj4gPSBbXTtcblxuICAvKipcbiAgICogVGhlIGRhdGEgcHJvdmlkZXIgdGhhdCBvYnRhaW5zIHRoZSBkYXRhIHRvIGRpc3BsYXkuIFRoZSBsaXN0IGNvbXBvbmVudCByZXF1aXJlc1xuICAgKiB0aGlzIHByb3BlcnR5IG9yIHRoZSBgZGF0YWAgcHJvcGVydHkuIEZvciBsaXN0cyB0aGF0IHVzZSBgZGF0YVByb3ZpZGVyYCBpbnN0ZWFkIG9mIGBkYXRhYCxcbiAgICogY29uc3VtZXJzIGFyZSByZXNwb25zaWJsZSBmb3IgbWFuYWdpbmcgYWxsIGBMaXN0RGF0YVJlcXVlc3RNb2RlbGAgcHJvcGVydGllcy5cbiAgICogQGRlZmF1bHQgU2t5TGlzdEluTWVtb3J5RGF0YVByb3ZpZGVyXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGF0YVByb3ZpZGVyPzogTGlzdERhdGFQcm92aWRlcjtcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGVmYXVsdFZpZXc/OiBMaXN0Vmlld0NvbXBvbmVudDtcblxuICAvKipcbiAgICogVGhlIHRvdGFsIG51bWJlciBvZiBpdGVtcyBmb3IgdGhlIGluaXRpYWwgZGF0YSBzZXQgd2hlbiBpbml0aWFsaXplZC4gV2hlblxuICAgKiB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggYGRhdGFgIGFuZCBgZGF0YVByb3ZpZGVyYCwgaXQgYWxsb3dzIGFuIGluaXRpYWwgZGF0YSB0byBiZVxuICAgKiBzZXQgd2l0aCB0aGUgbmVlZCB0byBjYWxsIHRoZSBgZGF0YVByb3ZpZGVyYC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpbml0aWFsVG90YWw/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBzZXQgb2YgSURzIGZvciB0aGUgaXRlbXMgdG8gc2VsZWN0IGluIGEgY2hlY2tsaXN0IG9yIG11bHRpc2VsZWN0IGdyaWQuXG4gICAqIFRoZSBJRHMgbWF0Y2ggdGhlIGBpZGAgcHJvcGVydGllcyBvZiB0aGUgYGRhdGFgIG9iamVjdHMuIEl0ZW1zIHdpdGggSURzIHRoYXQgYXJlIG5vdFxuICAgKiBpbmNsdWRlZCBhcmUgZGUtc2VsZWN0ZWQgaW4gdGhlIGNoZWNrbGlzdCBvciBtdWx0aXNlbGVjdCBncmlkLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNlbGVjdGVkSWRzPzogQXJyYXk8c3RyaW5nPiB8IE9ic2VydmFibGU8QXJyYXk8c3RyaW5nPj47XG5cbiAgLyoqXG4gICAqIFRoZSBzZXQgb2YgZmllbGRzIHRvIHNvcnQgYnkuIElmIGFycmF5IG9mIGZpZWxkcyB0aGVuIHNvcnRlZCBieSBvcmRlciBvZiBhcnJheS5cbiAgICogRm9yIGluZm9ybWF0aW9uIGFib3V0IGBMaXN0U29ydEZpZWxkU2VsZWN0b3JNb2RlbGAsIHNlZSB0aGVcbiAgICogW3NoYXJlZCBjbGFzc2VzIGZvciBsaXN0c10oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC1saXN0LWJ1aWxkZXItY29tbW9uL2RvY3MvbGlzdC1idWlsZGVyLWNvbW1vbikuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc29ydEZpZWxkcz86XG4gICAgfCBMaXN0U29ydEZpZWxkU2VsZWN0b3JNb2RlbFxuICAgIHwgQXJyYXk8TGlzdFNvcnRGaWVsZFNlbGVjdG9yTW9kZWw+XG4gICAgfCBPYnNlcnZhYmxlPEFycmF5PExpc3RTb3J0RmllbGRTZWxlY3Rvck1vZGVsPj5cbiAgICB8IE9ic2VydmFibGU8TGlzdFNvcnRGaWVsZFNlbGVjdG9yTW9kZWw+O1xuXG4gIC8qKlxuICAgKiBUaGUgc2V0IG9mIGZpbHRlcnMgdG8gYXBwbHkgdG8gbGlzdCBkYXRhLlxuICAgKiBUaGVzZSBmaWx0ZXJzIGNyZWF0ZSBhIGZpbHRlciBzdW1tYXJ5IHdoZW4gdGhlIGxpc3QgaW5jbHVkZXMgdGhlXG4gICAqIFtgc2t5LWxpc3QtZmlsdGVyLXN1bW1hcnlgXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvbGlzdC9maWx0ZXJzKVxuICAgKiBjb21wb25lbnQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYXBwbGllZEZpbHRlcnM6IEFycmF5PExpc3RGaWx0ZXJNb2RlbD4gPSBbXTtcblxuICAvKipcbiAgICogRm9yIGxpc3Qgdmlld3MgdGhhdCBzdXBwb3J0IGl0ZW0gc2VsZWN0aW9uLCBlbWl0cyB0aGUgc2VsZWN0ZWQgZW50cmllcy5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgc2VsZWN0ZWRJZHNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPE1hcDxzdHJpbmcsIGJvb2xlYW4+PigpO1xuXG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgZmlsdGVycyBhcHBsaWVkIHRvIHRoZSBsaXN0LlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBhcHBsaWVkRmlsdGVyc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8QXJyYXk8TGlzdEZpbHRlck1vZGVsPj4oKTtcblxuICAvKipcbiAgICogVGhlIGZ1bmN0aW9uIHRvIGFwcGx5IGFzIGEgZ2xvYmFsIHNvcnQgb24gdGhlIGxpc3QuXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ3NlYXJjaCcpXG4gIHB1YmxpYyBzZWFyY2hGdW5jdGlvbjogKGRhdGE6IGFueSwgc2VhcmNoVGV4dDogc3RyaW5nKSA9PiBib29sZWFuO1xuXG4gIHByaXZhdGUgZGF0YUZpcnN0TG9hZCA9IGZhbHNlO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oTGlzdFZpZXdDb21wb25lbnQpXG4gIHByaXZhdGUgbGlzdFZpZXdzOiBRdWVyeUxpc3Q8TGlzdFZpZXdDb21wb25lbnQ+O1xuXG4gIHByaXZhdGUgbGFzdFNlbGVjdGVkSWRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIHByaXZhdGUgbGFzdEZpbHRlcnM6IExpc3RGaWx0ZXJNb2RlbFtdID0gW107XG5cbiAgcHJpdmF0ZSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0YXRlOiBMaXN0U3RhdGUsXG4gICAgcHJpdmF0ZSBkaXNwYXRjaGVyOiBMaXN0U3RhdGVEaXNwYXRjaGVyLFxuICAgIGxvZ2dlcjogU2t5TG9nU2VydmljZSxcbiAgKSB7XG4gICAgbG9nZ2VyLmRlcHJlY2F0ZWQoJ1NreUxpc3RDb21wb25lbnQnLCB7XG4gICAgICBkZXByZWNhdGlvbk1ham9yVmVyc2lvbjogNixcbiAgICAgIG1vcmVJbmZvVXJsOlxuICAgICAgICAnaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL2RhdGEtbWFuYWdlcicsXG4gICAgICByZXBsYWNlbWVudFJlY29tbWVuZGF0aW9uOiAnVXNlIGRhdGEgbWFuYWdlciBpbnN0ZWFkLicsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRhdGEgJiYgdGhpcy5kYXRhUHJvdmlkZXIgJiYgdGhpcy5pbml0aWFsVG90YWwpIHtcbiAgICAgIHRoaXMuZGF0YUZpcnN0TG9hZCA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubGlzdFZpZXdzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGRlZmF1bHRWaWV3OiBMaXN0Vmlld0NvbXBvbmVudCA9XG4gICAgICAgIHRoaXMuZGVmYXVsdFZpZXcgPT09IHVuZGVmaW5lZFxuICAgICAgICAgID8gdGhpcy5saXN0Vmlld3MuZmlyc3RcbiAgICAgICAgICA6IHRoaXMuZGVmYXVsdFZpZXc7XG5cbiAgICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KFxuICAgICAgICBuZXcgTGlzdFZpZXdzTG9hZEFjdGlvbihcbiAgICAgICAgICB0aGlzLmxpc3RWaWV3cy5tYXAoKHYpID0+IG5ldyBMaXN0Vmlld01vZGVsKHYuaWQsIHYubGFiZWwpKSxcbiAgICAgICAgKSxcbiAgICAgICk7XG5cbiAgICAgIC8vIGFjdGl2YXRlIHRoZSBkZWZhdWx0IHZpZXdcbiAgICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KG5ldyBMaXN0Vmlld3NTZXRBY3RpdmVBY3Rpb24oZGVmYXVsdFZpZXcuaWQpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIHNldCBzb3J0IGZpZWxkc1xuICAgIGdldFZhbHVlKFxuICAgICAgdGhpcy5zb3J0RmllbGRzLFxuICAgICAgKFxuICAgICAgICBzb3J0RmllbGRzOiBMaXN0U29ydEZpZWxkU2VsZWN0b3JNb2RlbFtdIHwgTGlzdFNvcnRGaWVsZFNlbGVjdG9yTW9kZWwsXG4gICAgICApID0+IHtcbiAgICAgICAgbGV0IHNvcnRBcnJheTogTGlzdFNvcnRGaWVsZFNlbGVjdG9yTW9kZWxbXTtcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHNvcnRGaWVsZHMpICYmIHNvcnRGaWVsZHMpIHtcbiAgICAgICAgICBzb3J0QXJyYXkgPSBbc29ydEZpZWxkc107XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc29ydEFycmF5ID0gc29ydEZpZWxkcyBhcyBMaXN0U29ydEZpZWxkU2VsZWN0b3JNb2RlbFtdO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KFxuICAgICAgICAgIG5ldyBMaXN0U29ydFNldEZpZWxkU2VsZWN0b3JzQWN0aW9uKHNvcnRBcnJheSB8fCBbXSksXG4gICAgICAgICk7XG4gICAgICB9LFxuICAgICk7XG5cbiAgICB0aGlzLmRpc3BsYXllZEl0ZW1zLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChuZXcgTGlzdEl0ZW1zU2V0TG9hZGluZ0FjdGlvbigpKTtcbiAgICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KFxuICAgICAgICBuZXcgTGlzdEl0ZW1zTG9hZEFjdGlvbihyZXN1bHQuaXRlbXMsIHRydWUsIHRydWUsIHJlc3VsdC5jb3VudCksXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgLy8gV2F0Y2ggZm9yIHNlbGVjdGlvbiBjaGFuZ2VzLlxuICAgIHRoaXMuc3RhdGVcbiAgICAgIC5waXBlKFxuICAgICAgICBvYnNlcnZhYmxlTWFwKChjdXJyZW50KSA9PiBjdXJyZW50LnNlbGVjdGVkKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChzZWxlY3RlZCkgPT4ge1xuICAgICAgICAvLyBVcGRhdGUgbGFzdFNlbGVjdGVkSWRzIHRvIGhlbHAgdXMgcmV0YWluIHVzZXIgc2VsZWN0aW9ucy5cbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRJZHNMaXN0OiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBzZWxlY3RlZC5pdGVtLnNlbGVjdGVkSWRNYXAuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4ge1xuICAgICAgICAgIGlmICh2YWx1ZSA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgc2VsZWN0ZWRJZHNMaXN0LnB1c2goa2V5KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIElmIGNoYW5nZXMgYXJlIGRpc3RpbmN0LCBlbWl0IHNlbGVjdGVkSWRzQ2hhbmdlLlxuICAgICAgICBjb25zdCBkaXN0aW5jdENoYW5nZXMgPSAhdGhpcy5hcnJheXNFcXVhbChcbiAgICAgICAgICB0aGlzLmxhc3RTZWxlY3RlZElkcyxcbiAgICAgICAgICBzZWxlY3RlZElkc0xpc3QsXG4gICAgICAgICk7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkSWRzQ2hhbmdlLm9ic2VydmVycy5sZW5ndGggPiAwICYmIGRpc3RpbmN0Q2hhbmdlcykge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJZHNDaGFuZ2UuZW1pdChzZWxlY3RlZC5pdGVtLnNlbGVjdGVkSWRNYXApO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5sYXN0U2VsZWN0ZWRJZHMgPSBzZWxlY3RlZElkc0xpc3Q7XG4gICAgICB9KTtcblxuICAgIGlmICh0aGlzLmFwcGxpZWRGaWx0ZXJzQ2hhbmdlLm9ic2VydmVycy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnN0YXRlXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG9ic2VydmFibGVNYXAoKGN1cnJlbnQpID0+IGN1cnJlbnQuZmlsdGVycyksXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG4gICAgICAgICAgc2tpcCgxKSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKChmaWx0ZXJzKSA9PiB7XG4gICAgICAgICAgLyoqXG4gICAgICAgICAgICogV2UgYXJlIGRvaW5nIHRoaXMgaW5zdGVhZCBvZiBhIGRpc3RpbmN0VW50aWxDaGFuZ2UgZHVlIHRvIG1lbW9yeSBhbGxvY2F0aW9uIGlzc3Vlc1xuICAgICAgICAgICAqIHdpdGggdGhlIGphdmFzY3JpcHQgYXJyYXkuIFRvIGZpeCBmdWxseSB0aGUgYXJyYXkgc2hvdWxkIGJlIGNoYW5nZWQgdG8gYW4gb2JqZWN0IGluXG4gICAgICAgICAgICogYSBicmVha2luZyBjaGFuZ2UuXG4gICAgICAgICAgICovXG4gICAgICAgICAgaWYgKCF0aGlzLmFycmF5c0VxdWFsKGZpbHRlcnMsIHRoaXMubGFzdEZpbHRlcnMpKSB7XG4gICAgICAgICAgICB0aGlzLmxhc3RGaWx0ZXJzID0gZmlsdGVycy5zbGljZSgwKTtcbiAgICAgICAgICAgIHRoaXMuYXBwbGllZEZpbHRlcnNDaGFuZ2UuZW1pdChmaWx0ZXJzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgY2hhbmdlc1snYXBwbGllZEZpbHRlcnMnXSAmJlxuICAgICAgY2hhbmdlc1snYXBwbGllZEZpbHRlcnMnXS5jdXJyZW50VmFsdWUgIT09XG4gICAgICAgIGNoYW5nZXNbJ2FwcGxpZWRGaWx0ZXJzJ10ucHJldmlvdXNWYWx1ZVxuICAgICkge1xuICAgICAgdGhpcy5zdGF0ZS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoY3VycmVudFN0YXRlKSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBjdXJyZW50U3RhdGUucGFnaW5nLnBhZ2VOdW1iZXIgJiZcbiAgICAgICAgICBjdXJyZW50U3RhdGUucGFnaW5nLnBhZ2VOdW1iZXIgIT09IDFcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5kaXNwYXRjaGVyLm5leHQobmV3IExpc3RQYWdpbmdTZXRQYWdlTnVtYmVyQWN0aW9uKE51bWJlcigxKSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5kaXNwYXRjaGVyLmZpbHRlcnNVcGRhdGUodGhpcy5hcHBsaWVkRmlsdGVycyk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXNbJ3NlbGVjdGVkSWRzJ10pIHtcbiAgICAgIC8vIE9ubHkgc2VuZCBzZWxlY3Rpb24gY2hhbmdlcyB0byBkaXNwYXRjaGVyIGlmIGNoYW5nZXMgYXJlIGRpc3RpbmN0LlxuICAgICAgY29uc3QgbmV3U2VsZWN0ZWRJZHMgPSBjaGFuZ2VzWydzZWxlY3RlZElkcyddLmN1cnJlbnRWYWx1ZTtcbiAgICAgIGlmICghdGhpcy5hcnJheXNFcXVhbChuZXdTZWxlY3RlZElkcywgdGhpcy5sYXN0U2VsZWN0ZWRJZHMpKSB7XG4gICAgICAgIHRoaXMuZGlzcGF0Y2hlci5zZXRTZWxlY3RlZChuZXdTZWxlY3RlZElkcywgdHJ1ZSwgdHJ1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgcmVmcmVzaERpc3BsYXllZEl0ZW1zKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzcGxheWVkSXRlbXMucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xuICAgICAgdGhpcy5kaXNwYXRjaGVyLm5leHQobmV3IExpc3RJdGVtc1NldExvYWRpbmdBY3Rpb24oKSk7XG4gICAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChcbiAgICAgICAgbmV3IExpc3RJdGVtc0xvYWRBY3Rpb24ocmVzdWx0Lml0ZW1zLCB0cnVlLCB0cnVlLCByZXN1bHQuY291bnQpLFxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzcGxheWVkSXRlbXMoKTogT2JzZXJ2YWJsZTxMaXN0RGF0YVJlc3BvbnNlTW9kZWw+IHtcbiAgICBpZiAoIXRoaXMuZGF0YSAmJiAhdGhpcy5kYXRhUHJvdmlkZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTGlzdCByZXF1aXJlcyBkYXRhIG9yIGRhdGFQcm92aWRlciB0byBiZSBzZXQuJyk7XG4gICAgfVxuXG4gICAgbGV0IGRhdGE6IGFueSA9IHRoaXMuZGF0YTtcbiAgICBpZiAoIWlzT2JzZXJ2YWJsZShkYXRhKSkge1xuICAgICAgZGF0YSA9IG9ic2VydmFibGVPZih0aGlzLmRhdGEpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5kYXRhUHJvdmlkZXIpIHtcbiAgICAgIHRoaXMuZGF0YVByb3ZpZGVyID0gbmV3IFNreUxpc3RJbk1lbW9yeURhdGFQcm92aWRlcihcbiAgICAgICAgZGF0YSxcbiAgICAgICAgdGhpcy5zZWFyY2hGdW5jdGlvbixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgbGV0IHNlbGVjdGVkSWRzID0gdGhpcy5zZWxlY3RlZElkcyB8fCBvYnNlcnZhYmxlT2YoW10pO1xuICAgIGlmICghaXNPYnNlcnZhYmxlKHNlbGVjdGVkSWRzKSkge1xuICAgICAgc2VsZWN0ZWRJZHMgPSBvYnNlcnZhYmxlT2Yoc2VsZWN0ZWRJZHMpO1xuICAgIH1cblxuICAgIGxldCBzZWxlY3RlZENoYW5nZWQgPSBmYWxzZTtcblxuICAgIC8vIFRoaXMgc3ViamVjdCBpcyB1c2VkIHRvIGNhbmNlbCBwcmV2aW91cyByZXF1ZXN0IHRvIHRoZSBsaXN0J3MgZGF0YSBwcm92aWRlciB3aGVuIGEgbmV3IGNoYW5nZVxuICAgIC8vIHRvIHRoZSBsaXN0J3Mgc3RhdGUgb2NjdXJzLiBJbiBhIGZ1dHVyZSBicmVha2luZyBjaGFuZ2UgdGhpcyBzaG91bGQgYmUgcmVwbGFjZWQgb3IgY291cGxlZFxuICAgIC8vIHdpdGggYWRkaW5nIGEgZGVib3VuY2UgdGltZSB0byB0aGUgT2JzZXJ2YWJsZSB3aGljaCB3YXRjaGVzIGZvciBzdGF0ZSBjaGFuZ2VzLlxuICAgIGNvbnN0IGNhbmNlbExhc3RSZXF1ZXN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHJldHVybiBvYnNlcnZhYmxlQ29tYmluZUxhdGVzdChcbiAgICAgIFtcbiAgICAgICAgdGhpcy5zdGF0ZS5waXBlKFxuICAgICAgICAgIG9ic2VydmFibGVNYXAoKHMpID0+IHMuZmlsdGVycyksXG4gICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgKSxcbiAgICAgICAgdGhpcy5zdGF0ZS5waXBlKFxuICAgICAgICAgIG9ic2VydmFibGVNYXAoKHMpID0+IHMuc2VhcmNoKSxcbiAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICApLFxuICAgICAgICB0aGlzLnN0YXRlLnBpcGUoXG4gICAgICAgICAgb2JzZXJ2YWJsZU1hcCgocykgPT4gcy5zb3J0LmZpZWxkU2VsZWN0b3JzKSxcbiAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICApLFxuICAgICAgICB0aGlzLnN0YXRlLnBpcGUoXG4gICAgICAgICAgb2JzZXJ2YWJsZU1hcCgocykgPT4gcy5wYWdpbmcuaXRlbXNQZXJQYWdlKSxcbiAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICApLFxuICAgICAgICB0aGlzLnN0YXRlLnBpcGUoXG4gICAgICAgICAgb2JzZXJ2YWJsZU1hcCgocykgPT4gcy5wYWdpbmcucGFnZU51bWJlciksXG4gICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgKSxcbiAgICAgICAgdGhpcy5zdGF0ZS5waXBlKFxuICAgICAgICAgIG9ic2VydmFibGVNYXAoKHMpID0+IHMudG9vbGJhci5kaXNhYmxlZCksXG4gICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgKSxcbiAgICAgICAgc2VsZWN0ZWRJZHMucGlwZShcbiAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICAgIG9ic2VydmFibGVNYXAoKHNlbGVjdGVkKSA9PiB7XG4gICAgICAgICAgICBzZWxlY3RlZENoYW5nZWQgPSB0cnVlO1xuICAgICAgICAgICAgcmV0dXJuIHNlbGVjdGVkO1xuICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICAgICBkYXRhLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSksXG4gICAgICBdLFxuICAgICAgKFxuICAgICAgICBmaWx0ZXJzOiBMaXN0RmlsdGVyTW9kZWxbXSxcbiAgICAgICAgc2VhcmNoOiBMaXN0U2VhcmNoTW9kZWwsXG4gICAgICAgIHNvcnRGaWVsZFNlbGVjdG9yczogQXJyYXk8TGlzdFNvcnRGaWVsZFNlbGVjdG9yTW9kZWw+LFxuICAgICAgICBpdGVtc1BlclBhZ2U6IG51bWJlcixcbiAgICAgICAgcGFnZU51bWJlcjogbnVtYmVyLFxuICAgICAgICBpc1Rvb2xiYXJEaXNhYmxlZDogYm9vbGVhbixcbiAgICAgICAgc2VsZWN0ZWQ6IEFycmF5PHN0cmluZz4sXG4gICAgICAgIGl0ZW1zRGF0YTogQXJyYXk8YW55PixcbiAgICAgICkgPT4ge1xuICAgICAgICBjYW5jZWxMYXN0UmVxdWVzdC5uZXh0KCk7XG4gICAgICAgIGNhbmNlbExhc3RSZXF1ZXN0LmNvbXBsZXRlKCk7XG4gICAgICAgIGlmIChzZWxlY3RlZENoYW5nZWQpIHtcbiAgICAgICAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChuZXcgTGlzdFNlbGVjdGVkU2V0TG9hZGluZ0FjdGlvbigpKTtcbiAgICAgICAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChuZXcgTGlzdFNlbGVjdGVkTG9hZEFjdGlvbihzZWxlY3RlZCkpO1xuICAgICAgICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KG5ldyBMaXN0U2VsZWN0ZWRTZXRMb2FkaW5nQWN0aW9uKGZhbHNlKSk7XG4gICAgICAgICAgc2VsZWN0ZWRDaGFuZ2VkID0gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgcmVzcG9uc2U6IE9ic2VydmFibGU8TGlzdERhdGFSZXNwb25zZU1vZGVsPjtcbiAgICAgICAgaWYgKHRoaXMuZGF0YUZpcnN0TG9hZCkge1xuICAgICAgICAgIHRoaXMuZGF0YUZpcnN0TG9hZCA9IGZhbHNlO1xuICAgICAgICAgIGNvbnN0IGluaXRpYWxJdGVtcyA9IGl0ZW1zRGF0YS5tYXAoXG4gICAgICAgICAgICAoZCkgPT5cbiAgICAgICAgICAgICAgbmV3IExpc3RJdGVtTW9kZWwoZC5pZCB8fCBgc2t5LWxpc3QtaXRlbS1tb2RlbC0keysraWRJbmRleH1gLCBkKSxcbiAgICAgICAgICApO1xuICAgICAgICAgIHJlc3BvbnNlID0gb2JzZXJ2YWJsZU9mKFxuICAgICAgICAgICAgbmV3IExpc3REYXRhUmVzcG9uc2VNb2RlbCh7XG4gICAgICAgICAgICAgIGNvdW50OiB0aGlzLmluaXRpYWxUb3RhbCxcbiAgICAgICAgICAgICAgaXRlbXM6IGluaXRpYWxJdGVtcyxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICkucGlwZSh0YWtlVW50aWwoY2FuY2VsTGFzdFJlcXVlc3QpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXNwb25zZSA9IHRoaXMuZGF0YVByb3ZpZGVyXG4gICAgICAgICAgICAuZ2V0KFxuICAgICAgICAgICAgICBuZXcgTGlzdERhdGFSZXF1ZXN0TW9kZWwoe1xuICAgICAgICAgICAgICAgIGZpbHRlcnM6IGZpbHRlcnMsXG4gICAgICAgICAgICAgICAgcGFnZVNpemU6IGl0ZW1zUGVyUGFnZSxcbiAgICAgICAgICAgICAgICBwYWdlTnVtYmVyOiBwYWdlTnVtYmVyLFxuICAgICAgICAgICAgICAgIHNlYXJjaDogc2VhcmNoLFxuICAgICAgICAgICAgICAgIHNvcnQ6IG5ldyBMaXN0U29ydE1vZGVsKHsgZmllbGRTZWxlY3RvcnM6IHNvcnRGaWVsZFNlbGVjdG9ycyB9KSxcbiAgICAgICAgICAgICAgICBpc1Rvb2xiYXJEaXNhYmxlZDogaXNUb29sYmFyRGlzYWJsZWQsXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKGNhbmNlbExhc3RSZXF1ZXN0KSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICB9LFxuICAgICkucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpLFxuXG4gICAgICAvLyBSZXRhaW4gdXNlciBzZWxlY3Rpb25zIGZyb20gcHJldmlvdXMgc3RhdGUuXG4gICAgICAvLyBUaGlzIGlzIG9ubHkgbmVjZXNzYXJ5IGZvciBncmlkcyBjb21wb25lbnQgKGJhc2VkIG9uIGl0ZW0uaXNTZWxlY3RlZCkuXG4gICAgICBvYnNlcnZhYmxlTWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICByZXR1cm4gcmVzcG9uc2UucGlwZShcbiAgICAgICAgICBvYnNlcnZhYmxlTWFwKChsaXN0RGF0YVJlc3BvbnNlTW9kZWwpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgTGlzdERhdGFSZXNwb25zZU1vZGVsKHtcbiAgICAgICAgICAgICAgY291bnQ6IGxpc3REYXRhUmVzcG9uc2VNb2RlbC5jb3VudCxcbiAgICAgICAgICAgICAgaXRlbXM6IHRoaXMuZ2V0SXRlbXNBbmRSZXRhaW5TZWxlY3Rpb25zKFxuICAgICAgICAgICAgICAgIGxpc3REYXRhUmVzcG9uc2VNb2RlbC5pdGVtcyxcbiAgICAgICAgICAgICAgICB0aGlzLmxhc3RTZWxlY3RlZElkcyxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgICAgfSksXG4gICAgICBmbGF0TWFwKCh2YWx1ZSkgPT4gdmFsdWUpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlbGVjdGVkSXRlbXMoKTogT2JzZXJ2YWJsZTxBcnJheTxMaXN0SXRlbU1vZGVsPj4ge1xuICAgIHJldHVybiBvYnNlcnZhYmxlQ29tYmluZUxhdGVzdChcbiAgICAgIHRoaXMuc3RhdGUucGlwZShcbiAgICAgICAgb2JzZXJ2YWJsZU1hcCgoY3VycmVudCkgPT4gY3VycmVudC5pdGVtcy5pdGVtcyksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICApLFxuICAgICAgdGhpcy5zdGF0ZS5waXBlKFxuICAgICAgICBvYnNlcnZhYmxlTWFwKChjdXJyZW50KSA9PiBjdXJyZW50LnNlbGVjdGVkKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICksXG4gICAgICAoaXRlbXM6IEFycmF5PExpc3RJdGVtTW9kZWw+LCBzZWxlY3RlZDogQXN5bmNJdGVtPExpc3RTZWxlY3RlZE1vZGVsPikgPT4ge1xuICAgICAgICByZXR1cm4gaXRlbXMuZmlsdGVyKChpKSA9PiBzZWxlY3RlZC5pdGVtLnNlbGVjdGVkSWRNYXAuZ2V0KGkuaWQpKTtcbiAgICAgIH0sXG4gICAgKS5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbGFzdFVwZGF0ZSgpOiBPYnNlcnZhYmxlPERhdGU+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG4gICAgICBvYnNlcnZhYmxlTWFwKChzKSA9PlxuICAgICAgICBzLml0ZW1zLmxhc3RVcGRhdGUgPyBuZXcgRGF0ZShzLml0ZW1zLmxhc3RVcGRhdGUpIDogdW5kZWZpbmVkLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCB2aWV3cygpOiBBcnJheTxMaXN0Vmlld0NvbXBvbmVudD4ge1xuICAgIHJldHVybiB0aGlzLmxpc3RWaWV3cy50b0FycmF5KCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGl0ZW1Db3VudCgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgIHJldHVybiB0aGlzLmRhdGFQcm92aWRlci5jb3VudCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRJdGVtc0FuZFJldGFpblNlbGVjdGlvbnMoXG4gICAgbmV3TGlzdDogTGlzdEl0ZW1Nb2RlbFtdLFxuICAgIHNlbGVjdGVkSWRzOiBzdHJpbmdbXSxcbiAgKTogTGlzdEl0ZW1Nb2RlbFtdIHtcbiAgICBjb25zdCB1cGRhdGVkTGlzdE1vZGVsID0gbmV3TGlzdC5zbGljZSgpO1xuICAgIHVwZGF0ZWRMaXN0TW9kZWwuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgaXRlbS5pc1NlbGVjdGVkID0gc2VsZWN0ZWRJZHMuaW5kZXhPZihpdGVtLmlkKSA+IC0xID8gdHJ1ZSA6IGZhbHNlO1xuICAgIH0pO1xuICAgIHJldHVybiB1cGRhdGVkTGlzdE1vZGVsO1xuICB9XG5cbiAgcHJpdmF0ZSBhcnJheXNFcXVhbChhcnJheUE6IGFueVtdLCBhcnJheUI6IGFueVtdKTogYm9vbGVhbiB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBpZiAoYXJyYXlBID09PSBhcnJheUIpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAoYXJyYXlBID09PSB1bmRlZmluZWQgfHwgYXJyYXlCID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKGFycmF5QS5sZW5ndGggIT09IGFycmF5Qi5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnJheUEubGVuZ3RoOyArK2kpIHtcbiAgICAgIGlmIChhcnJheUFbaV0gIT09IGFycmF5QltpXSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG4iXX0=
312
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGlzdC1idWlsZGVyL3NyYy9saWIvbW9kdWxlcy9saXN0L2xpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBRUwsYUFBYSxFQUViLFFBQVEsRUFDUixZQUFZLEdBQ2IsTUFBTSw0QkFBNEIsQ0FBQztBQUVwQyxPQUFPLEVBRUwsT0FBTyxFQUNQLGFBQWEsSUFBSSx1QkFBdUIsRUFDeEMsRUFBRSxJQUFJLFlBQVksR0FDbkIsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLE9BQU8sRUFDUCxHQUFHLElBQUksYUFBYSxFQUNwQixJQUFJLEVBQ0osSUFBSSxFQUNKLFNBQVMsR0FDVixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBRzNHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRW5FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRCxPQUFP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QWdCO2tCQU41QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxVQUFVO29CQUNwQixRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixTQUFTLEVBQUUsQ0FBQyxTQUFTLEVBQUUsbUJBQW1CLENBQUM7b0JBQzNDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDs0SUFjUSxJQUFJO3NCQURWLEtBQUs7Z0JBVUMsWUFBWTtzQkFEbEIsS0FBSztnQkFPQyxXQUFXO3NCQURqQixLQUFLO2dCQVNDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBU0MsV0FBVztzQkFEakIsS0FBSztnQkFTQyxVQUFVO3NCQURoQixLQUFLO2dCQWNDLGNBQWM7c0JBRHBCLEtBQUs7Z0JBT0MsaUJBQWlCO3NCQUR2QixNQUFNO2dCQU9BLG9CQUFvQjtzQkFEMUIsTUFBTTtnQkFRQSxjQUFjO3NCQURwQixLQUFLO3VCQUFDLFFBQVE7Z0JBTVAsU0FBUztzQkFEaEIsZUFBZTt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lMb2dTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHtcbiAgQXN5bmNJdGVtLFxuICBMaXN0SXRlbU1vZGVsLFxuICBMaXN0U29ydEZpZWxkU2VsZWN0b3JNb2RlbCxcbiAgZ2V0VmFsdWUsXG4gIGlzT2JzZXJ2YWJsZSxcbn0gZnJvbSAnQHNreXV4L2xpc3QtYnVpbGRlci1jb21tb24nO1xuXG5pbXBvcnQge1xuICBPYnNlcnZhYmxlLFxuICBTdWJqZWN0LFxuICBjb21iaW5lTGF0ZXN0IGFzIG9ic2VydmFibGVDb21iaW5lTGF0ZXN0LFxuICBvZiBhcyBvYnNlcnZhYmxlT2YsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIGZsYXRNYXAsXG4gIG1hcCBhcyBvYnNlcnZhYmxlTWFwLFxuICBza2lwLFxuICB0YWtlLFxuICB0YWtlVW50aWwsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5TGlzdEluTWVtb3J5RGF0YVByb3ZpZGVyIH0gZnJvbSAnLi4vbGlzdC1kYXRhLXByb3ZpZGVyLWluLW1lbW9yeS9saXN0LWRhdGEtaW4tbWVtb3J5LnByb3ZpZGVyJztcbmltcG9ydCB7IExpc3RGaWx0ZXJNb2RlbCB9IGZyb20gJy4uL2xpc3QtZmlsdGVycy9maWx0ZXIubW9kZWwnO1xuXG5pbXBvcnQgeyBMaXN0RGF0YVJlcXVlc3RNb2RlbCB9IGZyb20gJy4vbGlzdC1kYXRhLXJlcXVlc3QubW9kZWwnO1xuaW1wb3J0IHsgTGlzdERhdGFSZXNwb25zZU1vZGVsIH0gZnJvbSAnLi9saXN0LWRhdGEtcmVzcG9uc2UubW9kZWwnO1xuaW1wb3J0IHsgTGlzdERhdGFQcm92aWRlciB9IGZyb20gJy4vbGlzdC1kYXRhLnByb3ZpZGVyJztcbmltcG9ydCB7IExpc3RWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9saXN0LXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IExpc3RJdGVtc0xvYWRBY3Rpb24gfSBmcm9tICcuL3N0YXRlL2l0ZW1zL2xvYWQuYWN0aW9uJztcbmltcG9ydCB7IExpc3RJdGVtc1NldExvYWRpbmdBY3Rpb24gfSBmcm9tICcuL3N0YXRlL2l0ZW1zL3NldC1sb2FkaW5nLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0U3RhdGVEaXNwYXRjaGVyIH0gZnJvbSAnLi9zdGF0ZS9saXN0LXN0YXRlLnJ4c3RhdGUnO1xuaW1wb3J0IHsgTGlzdFN0YXRlIH0gZnJvbSAnLi9zdGF0ZS9saXN0LXN0YXRlLnN0YXRlLW5vZGUnO1xuaW1wb3J0IHsgTGlzdFBhZ2luZ1NldFBhZ2VOdW1iZXJBY3Rpb24gfSBmcm9tICcuL3N0YXRlL3BhZ2luZy9zZXQtcGFnZS1udW1iZXIuYWN0aW9uJztcbmltcG9ydCB7IExpc3RTZWFyY2hNb2RlbCB9IGZyb20gJy4vc3RhdGUvc2VhcmNoL3NlYXJjaC5tb2RlbCc7XG5pbXBvcnQgeyBMaXN0U2VsZWN0ZWRMb2FkQWN0aW9uIH0gZnJvbSAnLi9zdGF0ZS9zZWxlY3RlZC9sb2FkLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0U2VsZWN0ZWRNb2RlbCB9IGZyb20gJy4vc3RhdGUvc2VsZWN0ZWQvc2VsZWN0ZWQubW9kZWwnO1xuaW1wb3J0IHsgTGlzdFNlbGVjdGVkU2V0TG9hZGluZ0FjdGlvbiB9IGZyb20gJy4vc3RhdGUvc2VsZWN0ZWQvc2V0LWxvYWRpbmcuYWN0aW9uJztcbmltcG9ydCB7IExpc3RTb3J0U2V0RmllbGRTZWxlY3RvcnNBY3Rpb24gfSBmcm9tICcuL3N0YXRlL3NvcnQvc2V0LWZpZWxkLXNlbGVjdG9ycy5hY3Rpb24nO1xuaW1wb3J0IHsgTGlzdFNvcnRNb2RlbCB9IGZyb20gJy4vc3RhdGUvc29ydC9zb3J0Lm1vZGVsJztcbmltcG9ydCB7IExpc3RWaWV3c0xvYWRBY3Rpb24gfSBmcm9tICcuL3N0YXRlL3ZpZXdzL2xvYWQuYWN0aW9uJztcbmltcG9ydCB7IExpc3RWaWV3c1NldEFjdGl2ZUFjdGlvbiB9IGZyb20gJy4vc3RhdGUvdmlld3Mvc2V0LWFjdGl2ZS5hY3Rpb24nO1xuaW1wb3J0IHsgTGlzdFZpZXdNb2RlbCB9IGZyb20gJy4vc3RhdGUvdmlld3Mvdmlldy5tb2RlbCc7XG5cbmxldCBpZEluZGV4ID0gMDtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBMaXN0IGJ1aWxkZXIgYW5kIGl0cyBmZWF0dXJlcyBhcmUgZGVwcmVjYXRlZC4gVXNlIGRhdGEgbWFuYWdlciBpbnN0ZWFkLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9kYXRhLW1hbmFnZXIuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1saXN0JyxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudCAvPicsXG4gIHByb3ZpZGVyczogW0xpc3RTdGF0ZSwgTGlzdFN0YXRlRGlzcGF0Y2hlcl0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lMaXN0Q29tcG9uZW50XG4gIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3lcbntcbiAgcHVibGljIGlkID0gYHNreS1saXN0LWNtcC0keysraWRJbmRleH1gO1xuICAvKipcbiAgICogVGhlIGRhdGEgdG8gZGlzcGxheS4gVGhlIGxpc3QgY29tcG9uZW50IHJlcXVpcmVzIHRoaXMgcHJvcGVydHkgb3IgdGhlXG4gICAqIGBkYXRhUHJvdmlkZXJgIHByb3BlcnR5LiBGb3IgY2hlY2tsaXN0IG9yIG11bHRpc2VsZWN0IGdyaWRzLCBlYWNoIHJvdyByZXF1aXJlcyBhblxuICAgKiBgaWRgIHByb3BlcnR5IHRvIG1hbmFnZSBzZWxlY3RlZCBpdGVtcyB3aXRoIHRoZSBgc2VsZWN0ZWRJZHNgIGlucHV0IGFuZCB0aGVcbiAgICogYHNlbGVjdGVkSWRzQ2hhbmdlYCBldmVudC4gSWYgeW91IGRvIG5vdCBwcm92aWRlIGFuIGBpZGAsIHRoZSBsaXN0IGF1dG9tYXRpY2FsbHlcbiAgICogZ2VuZXJhdGVzIG9uZS4gVG8gdXBkYXRlIGRhdGEgaW4geW91ciB2aWV3IG91dHNpZGUgb2YgYSBgZGF0YVByb3ZpZGVyYCwgeW91IG11c3QgdXNlXG4gICAqIGFuIG9ic2VydmFibGUgaW5zdGVhZCBvZiBhIHN0YXRpYyBhcnJheS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkYXRhPzogYW55W10gfCBPYnNlcnZhYmxlPGFueVtdPiA9IFtdO1xuXG4gIC8qKlxuICAgKiBUaGUgZGF0YSBwcm92aWRlciB0aGF0IG9idGFpbnMgdGhlIGRhdGEgdG8gZGlzcGxheS4gVGhlIGxpc3QgY29tcG9uZW50IHJlcXVpcmVzXG4gICAqIHRoaXMgcHJvcGVydHkgb3IgdGhlIGBkYXRhYCBwcm9wZXJ0eS4gRm9yIGxpc3RzIHRoYXQgdXNlIGBkYXRhUHJvdmlkZXJgIGluc3RlYWQgb2YgYGRhdGFgLFxuICAgKiBjb25zdW1lcnMgYXJlIHJlc3BvbnNpYmxlIGZvciBtYW5hZ2luZyBhbGwgYExpc3REYXRhUmVxdWVzdE1vZGVsYCBwcm9wZXJ0aWVzLlxuICAgKiBAZGVmYXVsdCBTa3lMaXN0SW5NZW1vcnlEYXRhUHJvdmlkZXJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkYXRhUHJvdmlkZXI/OiBMaXN0RGF0YVByb3ZpZGVyO1xuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkZWZhdWx0Vmlldz86IExpc3RWaWV3Q29tcG9uZW50O1xuXG4gIC8qKlxuICAgKiBUaGUgdG90YWwgbnVtYmVyIG9mIGl0ZW1zIGZvciB0aGUgaW5pdGlhbCBkYXRhIHNldCB3aGVuIGluaXRpYWxpemVkLiBXaGVuXG4gICAqIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBgZGF0YWAgYW5kIGBkYXRhUHJvdmlkZXJgLCBpdCBhbGxvd3MgYW4gaW5pdGlhbCBkYXRhIHRvIGJlXG4gICAqIHNldCB3aXRoIHRoZSBuZWVkIHRvIGNhbGwgdGhlIGBkYXRhUHJvdmlkZXJgLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGluaXRpYWxUb3RhbD86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIHNldCBvZiBJRHMgZm9yIHRoZSBpdGVtcyB0byBzZWxlY3QgaW4gYSBjaGVja2xpc3Qgb3IgbXVsdGlzZWxlY3QgZ3JpZC5cbiAgICogVGhlIElEcyBtYXRjaCB0aGUgYGlkYCBwcm9wZXJ0aWVzIG9mIHRoZSBgZGF0YWAgb2JqZWN0cy4gSXRlbXMgd2l0aCBJRHMgdGhhdCBhcmUgbm90XG4gICAqIGluY2x1ZGVkIGFyZSBkZS1zZWxlY3RlZCBpbiB0aGUgY2hlY2tsaXN0IG9yIG11bHRpc2VsZWN0IGdyaWQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2VsZWN0ZWRJZHM/OiBzdHJpbmdbXSB8IE9ic2VydmFibGU8c3RyaW5nW10+O1xuXG4gIC8qKlxuICAgKiBUaGUgc2V0IG9mIGZpZWxkcyB0byBzb3J0IGJ5LiBJZiBhcnJheSBvZiBmaWVsZHMgdGhlbiBzb3J0ZWQgYnkgb3JkZXIgb2YgYXJyYXkuXG4gICAqIEZvciBpbmZvcm1hdGlvbiBhYm91dCBgTGlzdFNvcnRGaWVsZFNlbGVjdG9yTW9kZWxgLCBzZWUgdGhlXG4gICAqIFtzaGFyZWQgY2xhc3NlcyBmb3IgbGlzdHNdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgtbGlzdC1idWlsZGVyLWNvbW1vbi9kb2NzL2xpc3QtYnVpbGRlci1jb21tb24pLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNvcnRGaWVsZHM/OlxuICAgIHwgTGlzdFNvcnRGaWVsZFNlbGVjdG9yTW9kZWxcbiAgICB8IExpc3RTb3J0RmllbGRTZWxlY3Rvck1vZGVsW11cbiAgICB8IE9ic2VydmFibGU8TGlzdFNvcnRGaWVsZFNlbGVjdG9yTW9kZWxbXT5cbiAgICB8IE9ic2VydmFibGU8TGlzdFNvcnRGaWVsZFNlbGVjdG9yTW9kZWw+O1xuXG4gIC8qKlxuICAgKiBUaGUgc2V0IG9mIGZpbHRlcnMgdG8gYXBwbHkgdG8gbGlzdCBkYXRhLlxuICAgKiBUaGVzZSBmaWx0ZXJzIGNyZWF0ZSBhIGZpbHRlciBzdW1tYXJ5IHdoZW4gdGhlIGxpc3QgaW5jbHVkZXMgdGhlXG4gICAqIFtgc2t5LWxpc3QtZmlsdGVyLXN1bW1hcnlgXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvbGlzdC9maWx0ZXJzKVxuICAgKiBjb21wb25lbnQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYXBwbGllZEZpbHRlcnM6IExpc3RGaWx0ZXJNb2RlbFtdID0gW107XG5cbiAgLyoqXG4gICAqIEZvciBsaXN0IHZpZXdzIHRoYXQgc3VwcG9ydCBpdGVtIHNlbGVjdGlvbiwgZW1pdHMgdGhlIHNlbGVjdGVkIGVudHJpZXMuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHNlbGVjdGVkSWRzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxNYXA8c3RyaW5nLCBib29sZWFuPj4oKTtcblxuICAvKipcbiAgICogRW1pdHMgdGhlIGZpbHRlcnMgYXBwbGllZCB0byB0aGUgbGlzdC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgYXBwbGllZEZpbHRlcnNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPExpc3RGaWx0ZXJNb2RlbFtdPigpO1xuXG4gIC8qKlxuICAgKiBUaGUgZnVuY3Rpb24gdG8gYXBwbHkgYXMgYSBnbG9iYWwgc29ydCBvbiB0aGUgbGlzdC5cbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gIEBJbnB1dCgnc2VhcmNoJylcbiAgcHVibGljIHNlYXJjaEZ1bmN0aW9uOiAoZGF0YTogYW55LCBzZWFyY2hUZXh0OiBzdHJpbmcpID0+IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSBkYXRhRmlyc3RMb2FkID0gZmFsc2U7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihMaXN0Vmlld0NvbXBvbmVudClcbiAgcHJpdmF0ZSBsaXN0Vmlld3M6IFF1ZXJ5TGlzdDxMaXN0Vmlld0NvbXBvbmVudD47XG5cbiAgcHJpdmF0ZSBsYXN0U2VsZWN0ZWRJZHM6IHN0cmluZ1tdID0gW107XG5cbiAgcHJpdmF0ZSBsYXN0RmlsdGVyczogTGlzdEZpbHRlck1vZGVsW10gPSBbXTtcblxuICBwcml2YXRlIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RhdGU6IExpc3RTdGF0ZSxcbiAgICBwcml2YXRlIGRpc3BhdGNoZXI6IExpc3RTdGF0ZURpc3BhdGNoZXIsXG4gICAgbG9nZ2VyOiBTa3lMb2dTZXJ2aWNlLFxuICApIHtcbiAgICBsb2dnZXIuZGVwcmVjYXRlZCgnU2t5TGlzdENvbXBvbmVudCcsIHtcbiAgICAgIGRlcHJlY2F0aW9uTWFqb3JWZXJzaW9uOiA2LFxuICAgICAgbW9yZUluZm9Vcmw6XG4gICAgICAgICdodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvZGF0YS1tYW5hZ2VyJyxcbiAgICAgIHJlcGxhY2VtZW50UmVjb21tZW5kYXRpb246ICdVc2UgZGF0YSBtYW5hZ2VyIGluc3RlYWQuJyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGF0YSAmJiB0aGlzLmRhdGFQcm92aWRlciAmJiB0aGlzLmluaXRpYWxUb3RhbCkge1xuICAgICAgdGhpcy5kYXRhRmlyc3RMb2FkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5saXN0Vmlld3MubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgZGVmYXVsdFZpZXc6IExpc3RWaWV3Q29tcG9uZW50ID1cbiAgICAgICAgdGhpcy5kZWZhdWx0VmlldyA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgPyB0aGlzLmxpc3RWaWV3cy5maXJzdFxuICAgICAgICAgIDogdGhpcy5kZWZhdWx0VmlldztcblxuICAgICAgdGhpcy5kaXNwYXRjaGVyLm5leHQoXG4gICAgICAgIG5ldyBMaXN0Vmlld3NMb2FkQWN0aW9uKFxuICAgICAgICAgIHRoaXMubGlzdFZpZXdzLm1hcCgodikgPT4gbmV3IExpc3RWaWV3TW9kZWwodi5pZCwgdi5sYWJlbCkpLFxuICAgICAgICApLFxuICAgICAgKTtcblxuICAgICAgLy8gYWN0aXZhdGUgdGhlIGRlZmF1bHQgdmlld1xuICAgICAgdGhpcy5kaXNwYXRjaGVyLm5leHQobmV3IExpc3RWaWV3c1NldEFjdGl2ZUFjdGlvbihkZWZhdWx0Vmlldy5pZCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gc2V0IHNvcnQgZmllbGRzXG4gICAgZ2V0VmFsdWUoXG4gICAgICB0aGlzLnNvcnRGaWVsZHMsXG4gICAgICAoXG4gICAgICAgIHNvcnRGaWVsZHM6IExpc3RTb3J0RmllbGRTZWxlY3Rvck1vZGVsW10gfCBMaXN0U29ydEZpZWxkU2VsZWN0b3JNb2RlbCxcbiAgICAgICkgPT4ge1xuICAgICAgICBsZXQgc29ydEFycmF5OiBMaXN0U29ydEZpZWxkU2VsZWN0b3JNb2RlbFtdO1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoc29ydEZpZWxkcykgJiYgc29ydEZpZWxkcykge1xuICAgICAgICAgIHNvcnRBcnJheSA9IFtzb3J0RmllbGRzXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzb3J0QXJyYXkgPSBzb3J0RmllbGRzIGFzIExpc3RTb3J0RmllbGRTZWxlY3Rvck1vZGVsW107XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kaXNwYXRjaGVyLm5leHQoXG4gICAgICAgICAgbmV3IExpc3RTb3J0U2V0RmllbGRTZWxlY3RvcnNBY3Rpb24oc29ydEFycmF5IHx8IFtdKSxcbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHRoaXMuZGlzcGxheWVkSXRlbXMuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcbiAgICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KG5ldyBMaXN0SXRlbXNTZXRMb2FkaW5nQWN0aW9uKCkpO1xuICAgICAgdGhpcy5kaXNwYXRjaGVyLm5leHQoXG4gICAgICAgIG5ldyBMaXN0SXRlbXNMb2FkQWN0aW9uKHJlc3VsdC5pdGVtcywgdHJ1ZSwgdHJ1ZSwgcmVzdWx0LmNvdW50KSxcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICAvLyBXYXRjaCBmb3Igc2VsZWN0aW9uIGNoYW5nZXMuXG4gICAgdGhpcy5zdGF0ZVxuICAgICAgLnBpcGUoXG4gICAgICAgIG9ic2VydmFibGVNYXAoKGN1cnJlbnQpID0+IGN1cnJlbnQuc2VsZWN0ZWQpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHNlbGVjdGVkKSA9PiB7XG4gICAgICAgIC8vIFVwZGF0ZSBsYXN0U2VsZWN0ZWRJZHMgdG8gaGVscCB1cyByZXRhaW4gdXNlciBzZWxlY3Rpb25zLlxuICAgICAgICBjb25zdCBzZWxlY3RlZElkc0xpc3Q6IHN0cmluZ1tdID0gW107XG4gICAgICAgIHNlbGVjdGVkLml0ZW0uc2VsZWN0ZWRJZE1hcC5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiB7XG4gICAgICAgICAgaWYgKHZhbHVlID09PSB0cnVlKSB7XG4gICAgICAgICAgICBzZWxlY3RlZElkc0xpc3QucHVzaChrZXkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gSWYgY2hhbmdlcyBhcmUgZGlzdGluY3QsIGVtaXQgc2VsZWN0ZWRJZHNDaGFuZ2UuXG4gICAgICAgIGNvbnN0IGRpc3RpbmN0Q2hhbmdlcyA9ICF0aGlzLmFycmF5c0VxdWFsKFxuICAgICAgICAgIHRoaXMubGFzdFNlbGVjdGVkSWRzLFxuICAgICAgICAgIHNlbGVjdGVkSWRzTGlzdCxcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRJZHNDaGFuZ2Uub2JzZXJ2ZXJzLmxlbmd0aCA+IDAgJiYgZGlzdGluY3RDaGFuZ2VzKSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZElkc0NoYW5nZS5lbWl0KHNlbGVjdGVkLml0ZW0uc2VsZWN0ZWRJZE1hcCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmxhc3RTZWxlY3RlZElkcyA9IHNlbGVjdGVkSWRzTGlzdDtcbiAgICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuYXBwbGllZEZpbHRlcnNDaGFuZ2Uub2JzZXJ2ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuc3RhdGVcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgb2JzZXJ2YWJsZU1hcCgoY3VycmVudCkgPT4gY3VycmVudC5maWx0ZXJzKSxcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSxcbiAgICAgICAgICBza2lwKDEpLFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKGZpbHRlcnMpID0+IHtcbiAgICAgICAgICAvKipcbiAgICAgICAgICAgKiBXZSBhcmUgZG9pbmcgdGhpcyBpbnN0ZWFkIG9mIGEgZGlzdGluY3RVbnRpbENoYW5nZSBkdWUgdG8gbWVtb3J5IGFsbG9jYXRpb24gaXNzdWVzXG4gICAgICAgICAgICogd2l0aCB0aGUgamF2YXNjcmlwdCBhcnJheS4gVG8gZml4IGZ1bGx5IHRoZSBhcnJheSBzaG91bGQgYmUgY2hhbmdlZCB0byBhbiBvYmplY3QgaW5cbiAgICAgICAgICAgKiBhIGJyZWFraW5nIGNoYW5nZS5cbiAgICAgICAgICAgKi9cbiAgICAgICAgICBpZiAoIXRoaXMuYXJyYXlzRXF1YWwoZmlsdGVycywgdGhpcy5sYXN0RmlsdGVycykpIHtcbiAgICAgICAgICAgIHRoaXMubGFzdEZpbHRlcnMgPSBmaWx0ZXJzLnNsaWNlKDApO1xuICAgICAgICAgICAgdGhpcy5hcHBsaWVkRmlsdGVyc0NoYW5nZS5lbWl0KGZpbHRlcnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICBjaGFuZ2VzWydhcHBsaWVkRmlsdGVycyddICYmXG4gICAgICBjaGFuZ2VzWydhcHBsaWVkRmlsdGVycyddLmN1cnJlbnRWYWx1ZSAhPT1cbiAgICAgICAgY2hhbmdlc1snYXBwbGllZEZpbHRlcnMnXS5wcmV2aW91c1ZhbHVlXG4gICAgKSB7XG4gICAgICB0aGlzLnN0YXRlLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKChjdXJyZW50U3RhdGUpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGN1cnJlbnRTdGF0ZS5wYWdpbmcucGFnZU51bWJlciAmJlxuICAgICAgICAgIGN1cnJlbnRTdGF0ZS5wYWdpbmcucGFnZU51bWJlciAhPT0gMVxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChuZXcgTGlzdFBhZ2luZ1NldFBhZ2VOdW1iZXJBY3Rpb24oTnVtYmVyKDEpKSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmRpc3BhdGNoZXIuZmlsdGVyc1VwZGF0ZSh0aGlzLmFwcGxpZWRGaWx0ZXJzKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlc1snc2VsZWN0ZWRJZHMnXSkge1xuICAgICAgLy8gT25seSBzZW5kIHNlbGVjdGlvbiBjaGFuZ2VzIHRvIGRpc3BhdGNoZXIgaWYgY2hhbmdlcyBhcmUgZGlzdGluY3QuXG4gICAgICBjb25zdCBuZXdTZWxlY3RlZElkcyA9IGNoYW5nZXNbJ3NlbGVjdGVkSWRzJ10uY3VycmVudFZhbHVlO1xuICAgICAgaWYgKCF0aGlzLmFycmF5c0VxdWFsKG5ld1NlbGVjdGVkSWRzLCB0aGlzLmxhc3RTZWxlY3RlZElkcykpIHtcbiAgICAgICAgdGhpcy5kaXNwYXRjaGVyLnNldFNlbGVjdGVkKG5ld1NlbGVjdGVkSWRzLCB0cnVlLCB0cnVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyByZWZyZXNoRGlzcGxheWVkSXRlbXMoKTogdm9pZCB7XG4gICAgdGhpcy5kaXNwbGF5ZWRJdGVtcy5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChuZXcgTGlzdEl0ZW1zU2V0TG9hZGluZ0FjdGlvbigpKTtcbiAgICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KFxuICAgICAgICBuZXcgTGlzdEl0ZW1zTG9hZEFjdGlvbihyZXN1bHQuaXRlbXMsIHRydWUsIHRydWUsIHJlc3VsdC5jb3VudCksXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNwbGF5ZWRJdGVtcygpOiBPYnNlcnZhYmxlPExpc3REYXRhUmVzcG9uc2VNb2RlbD4ge1xuICAgIGlmICghdGhpcy5kYXRhICYmICF0aGlzLmRhdGFQcm92aWRlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdMaXN0IHJlcXVpcmVzIGRhdGEgb3IgZGF0YVByb3ZpZGVyIHRvIGJlIHNldC4nKTtcbiAgICB9XG5cbiAgICBsZXQgZGF0YTogYW55ID0gdGhpcy5kYXRhO1xuICAgIGlmICghaXNPYnNlcnZhYmxlKGRhdGEpKSB7XG4gICAgICBkYXRhID0gb2JzZXJ2YWJsZU9mKHRoaXMuZGF0YSk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmRhdGFQcm92aWRlcikge1xuICAgICAgdGhpcy5kYXRhUHJvdmlkZXIgPSBuZXcgU2t5TGlzdEluTWVtb3J5RGF0YVByb3ZpZGVyKFxuICAgICAgICBkYXRhLFxuICAgICAgICB0aGlzLnNlYXJjaEZ1bmN0aW9uLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBsZXQgc2VsZWN0ZWRJZHMgPSB0aGlzLnNlbGVjdGVkSWRzIHx8IG9ic2VydmFibGVPZihbXSk7XG4gICAgaWYgKCFpc09ic2VydmFibGUoc2VsZWN0ZWRJZHMpKSB7XG4gICAgICBzZWxlY3RlZElkcyA9IG9ic2VydmFibGVPZihzZWxlY3RlZElkcyk7XG4gICAgfVxuXG4gICAgbGV0IHNlbGVjdGVkQ2hhbmdlZCA9IGZhbHNlO1xuXG4gICAgLy8gVGhpcyBzdWJqZWN0IGlzIHVzZWQgdG8gY2FuY2VsIHByZXZpb3VzIHJlcXVlc3QgdG8gdGhlIGxpc3QncyBkYXRhIHByb3ZpZGVyIHdoZW4gYSBuZXcgY2hhbmdlXG4gICAgLy8gdG8gdGhlIGxpc3QncyBzdGF0ZSBvY2N1cnMuIEluIGEgZnV0dXJlIGJyZWFraW5nIGNoYW5nZSB0aGlzIHNob3VsZCBiZSByZXBsYWNlZCBvciBjb3VwbGVkXG4gICAgLy8gd2l0aCBhZGRpbmcgYSBkZWJvdW5jZSB0aW1lIHRvIHRoZSBPYnNlcnZhYmxlIHdoaWNoIHdhdGNoZXMgZm9yIHN0YXRlIGNoYW5nZXMuXG4gICAgY29uc3QgY2FuY2VsTGFzdFJlcXVlc3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgcmV0dXJuIG9ic2VydmFibGVDb21iaW5lTGF0ZXN0KFxuICAgICAgW1xuICAgICAgICB0aGlzLnN0YXRlLnBpcGUoXG4gICAgICAgICAgb2JzZXJ2YWJsZU1hcCgocykgPT4gcy5maWx0ZXJzKSxcbiAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICApLFxuICAgICAgICB0aGlzLnN0YXRlLnBpcGUoXG4gICAgICAgICAgb2JzZXJ2YWJsZU1hcCgocykgPT4gcy5zZWFyY2gpLFxuICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICksXG4gICAgICAgIHRoaXMuc3RhdGUucGlwZShcbiAgICAgICAgICBvYnNlcnZhYmxlTWFwKChzKSA9PiBzLnNvcnQuZmllbGRTZWxlY3RvcnMpLFxuICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICksXG4gICAgICAgIHRoaXMuc3RhdGUucGlwZShcbiAgICAgICAgICBvYnNlcnZhYmxlTWFwKChzKSA9PiBzLnBhZ2luZy5pdGVtc1BlclBhZ2UpLFxuICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICksXG4gICAgICAgIHRoaXMuc3RhdGUucGlwZShcbiAgICAgICAgICBvYnNlcnZhYmxlTWFwKChzKSA9PiBzLnBhZ2luZy5wYWdlTnVtYmVyKSxcbiAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICApLFxuICAgICAgICB0aGlzLnN0YXRlLnBpcGUoXG4gICAgICAgICAgb2JzZXJ2YWJsZU1hcCgocykgPT4gcy50b29sYmFyLmRpc2FibGVkKSxcbiAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICApLFxuICAgICAgICBzZWxlY3RlZElkcy5waXBlKFxuICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICAgb2JzZXJ2YWJsZU1hcCgoc2VsZWN0ZWQpID0+IHtcbiAgICAgICAgICAgIHNlbGVjdGVkQ2hhbmdlZCA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm4gc2VsZWN0ZWQ7XG4gICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgICAgIGRhdGEucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKSxcbiAgICAgIF0sXG4gICAgICAoXG4gICAgICAgIGZpbHRlcnM6IExpc3RGaWx0ZXJNb2RlbFtdLFxuICAgICAgICBzZWFyY2g6IExpc3RTZWFyY2hNb2RlbCxcbiAgICAgICAgc29ydEZpZWxkU2VsZWN0b3JzOiBMaXN0U29ydEZpZWxkU2VsZWN0b3JNb2RlbFtdLFxuICAgICAgICBpdGVtc1BlclBhZ2U6IG51bWJlcixcbiAgICAgICAgcGFnZU51bWJlcjogbnVtYmVyLFxuICAgICAgICBpc1Rvb2xiYXJEaXNhYmxlZDogYm9vbGVhbixcbiAgICAgICAgc2VsZWN0ZWQ6IHN0cmluZ1tdLFxuICAgICAgICBpdGVtc0RhdGE6IGFueVtdLFxuICAgICAgKSA9PiB7XG4gICAgICAgIGNhbmNlbExhc3RSZXF1ZXN0Lm5leHQoKTtcbiAgICAgICAgY2FuY2VsTGFzdFJlcXVlc3QuY29tcGxldGUoKTtcbiAgICAgICAgaWYgKHNlbGVjdGVkQ2hhbmdlZCkge1xuICAgICAgICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KG5ldyBMaXN0U2VsZWN0ZWRTZXRMb2FkaW5nQWN0aW9uKCkpO1xuICAgICAgICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KG5ldyBMaXN0U2VsZWN0ZWRMb2FkQWN0aW9uKHNlbGVjdGVkKSk7XG4gICAgICAgICAgdGhpcy5kaXNwYXRjaGVyLm5leHQobmV3IExpc3RTZWxlY3RlZFNldExvYWRpbmdBY3Rpb24oZmFsc2UpKTtcbiAgICAgICAgICBzZWxlY3RlZENoYW5nZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCByZXNwb25zZTogT2JzZXJ2YWJsZTxMaXN0RGF0YVJlc3BvbnNlTW9kZWw+O1xuICAgICAgICBpZiAodGhpcy5kYXRhRmlyc3RMb2FkKSB7XG4gICAgICAgICAgdGhpcy5kYXRhRmlyc3RMb2FkID0gZmFsc2U7XG4gICAgICAgICAgY29uc3QgaW5pdGlhbEl0ZW1zID0gaXRlbXNEYXRhLm1hcChcbiAgICAgICAgICAgIChkKSA9PlxuICAgICAgICAgICAgICBuZXcgTGlzdEl0ZW1Nb2RlbChkLmlkIHx8IGBza3ktbGlzdC1pdGVtLW1vZGVsLSR7KytpZEluZGV4fWAsIGQpLFxuICAgICAgICAgICk7XG4gICAgICAgICAgcmVzcG9uc2UgPSBvYnNlcnZhYmxlT2YoXG4gICAgICAgICAgICBuZXcgTGlzdERhdGFSZXNwb25zZU1vZGVsKHtcbiAgICAgICAgICAgICAgY291bnQ6IHRoaXMuaW5pdGlhbFRvdGFsLFxuICAgICAgICAgICAgICBpdGVtczogaW5pdGlhbEl0ZW1zLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKS5waXBlKHRha2VVbnRpbChjYW5jZWxMYXN0UmVxdWVzdCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc3BvbnNlID0gdGhpcy5kYXRhUHJvdmlkZXJcbiAgICAgICAgICAgIC5nZXQoXG4gICAgICAgICAgICAgIG5ldyBMaXN0RGF0YVJlcXVlc3RNb2RlbCh7XG4gICAgICAgICAgICAgICAgZmlsdGVyczogZmlsdGVycyxcbiAgICAgICAgICAgICAgICBwYWdlU2l6ZTogaXRlbXNQZXJQYWdlLFxuICAgICAgICAgICAgICAgIHBhZ2VOdW1iZXI6IHBhZ2VOdW1iZXIsXG4gICAgICAgICAgICAgICAgc2VhcmNoOiBzZWFyY2gsXG4gICAgICAgICAgICAgICAgc29ydDogbmV3IExpc3RTb3J0TW9kZWwoeyBmaWVsZFNlbGVjdG9yczogc29ydEZpZWxkU2VsZWN0b3JzIH0pLFxuICAgICAgICAgICAgICAgIGlzVG9vbGJhckRpc2FibGVkOiBpc1Rvb2xiYXJEaXNhYmxlZCxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwoY2FuY2VsTGFzdFJlcXVlc3QpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICAgIH0sXG4gICAgKS5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG5cbiAgICAgIC8vIFJldGFpbiB1c2VyIHNlbGVjdGlvbnMgZnJvbSBwcmV2aW91cyBzdGF0ZS5cbiAgICAgIC8vIFRoaXMgaXMgb25seSBuZWNlc3NhcnkgZm9yIGdyaWRzIGNvbXBvbmVudCAoYmFzZWQgb24gaXRlbS5pc1NlbGVjdGVkKS5cbiAgICAgIG9ic2VydmFibGVNYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHJldHVybiByZXNwb25zZS5waXBlKFxuICAgICAgICAgIG9ic2VydmFibGVNYXAoKGxpc3REYXRhUmVzcG9uc2VNb2RlbCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBMaXN0RGF0YVJlc3BvbnNlTW9kZWwoe1xuICAgICAgICAgICAgICBjb3VudDogbGlzdERhdGFSZXNwb25zZU1vZGVsLmNvdW50LFxuICAgICAgICAgICAgICBpdGVtczogdGhpcy5nZXRJdGVtc0FuZFJldGFpblNlbGVjdGlvbnMoXG4gICAgICAgICAgICAgICAgbGlzdERhdGFSZXNwb25zZU1vZGVsLml0ZW1zLFxuICAgICAgICAgICAgICAgIHRoaXMubGFzdFNlbGVjdGVkSWRzLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgICB9KSxcbiAgICAgIGZsYXRNYXAoKHZhbHVlKSA9PiB2YWx1ZSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VsZWN0ZWRJdGVtcygpOiBPYnNlcnZhYmxlPExpc3RJdGVtTW9kZWxbXT4ge1xuICAgIHJldHVybiBvYnNlcnZhYmxlQ29tYmluZUxhdGVzdChcbiAgICAgIHRoaXMuc3RhdGUucGlwZShcbiAgICAgICAgb2JzZXJ2YWJsZU1hcCgoY3VycmVudCkgPT4gY3VycmVudC5pdGVtcy5pdGVtcyksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICApLFxuICAgICAgdGhpcy5zdGF0ZS5waXBlKFxuICAgICAgICBvYnNlcnZhYmxlTWFwKChjdXJyZW50KSA9PiBjdXJyZW50LnNlbGVjdGVkKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICksXG4gICAgICAoaXRlbXM6IExpc3RJdGVtTW9kZWxbXSwgc2VsZWN0ZWQ6IEFzeW5jSXRlbTxMaXN0U2VsZWN0ZWRNb2RlbD4pID0+IHtcbiAgICAgICAgcmV0dXJuIGl0ZW1zLmZpbHRlcigoaSkgPT4gc2VsZWN0ZWQuaXRlbS5zZWxlY3RlZElkTWFwLmdldChpLmlkKSk7XG4gICAgICB9LFxuICAgICkucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxhc3RVcGRhdGUoKTogT2JzZXJ2YWJsZTxEYXRlPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpLFxuICAgICAgb2JzZXJ2YWJsZU1hcCgocykgPT5cbiAgICAgICAgcy5pdGVtcy5sYXN0VXBkYXRlID8gbmV3IERhdGUocy5pdGVtcy5sYXN0VXBkYXRlKSA6IHVuZGVmaW5lZCxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmlld3MoKTogTGlzdFZpZXdDb21wb25lbnRbXSB7XG4gICAgcmV0dXJuIHRoaXMubGlzdFZpZXdzLnRvQXJyYXkoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXRlbUNvdW50KCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YVByb3ZpZGVyLmNvdW50KCk7XG4gIH1cblxuICBwcml2YXRlIGdldEl0ZW1zQW5kUmV0YWluU2VsZWN0aW9ucyhcbiAgICBuZXdMaXN0OiBMaXN0SXRlbU1vZGVsW10sXG4gICAgc2VsZWN0ZWRJZHM6IHN0cmluZ1tdLFxuICApOiBMaXN0SXRlbU1vZGVsW10ge1xuICAgIGNvbnN0IHVwZGF0ZWRMaXN0TW9kZWwgPSBuZXdMaXN0LnNsaWNlKCk7XG4gICAgdXBkYXRlZExpc3RNb2RlbC5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBpdGVtLmlzU2VsZWN0ZWQgPSBzZWxlY3RlZElkcy5pbmRleE9mKGl0ZW0uaWQpID4gLTEgPyB0cnVlIDogZmFsc2U7XG4gICAgfSk7XG4gICAgcmV0dXJuIHVwZGF0ZWRMaXN0TW9kZWw7XG4gIH1cblxuICBwcml2YXRlIGFycmF5c0VxdWFsKGFycmF5QTogYW55W10sIGFycmF5QjogYW55W10pOiBib29sZWFuIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIGlmIChhcnJheUEgPT09IGFycmF5Qikge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChhcnJheUEgPT09IHVuZGVmaW5lZCB8fCBhcnJheUIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAoYXJyYXlBLmxlbmd0aCAhPT0gYXJyYXlCLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFycmF5QS5sZW5ndGg7ICsraSkge1xuICAgICAgaWYgKGFycmF5QVtpXSAhPT0gYXJyYXlCW2ldKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiJdfQ==
@@ -6,11 +6,11 @@ import * as i0 from "@angular/core";
6
6
  * @deprecated List builder and its features are deprecated. Use data manager instead. For more information, see https://developer.blackbaud.com/skyux/components/data-manager.
7
7
  */
8
8
  export class SkyListModule {
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: SkyListModule, declarations: [SkyListComponent], imports: [CommonModule], exports: [SkyListComponent] }); }
11
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyListModule, imports: [CommonModule] }); }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: SkyListModule, declarations: [SkyListComponent], imports: [CommonModule], exports: [SkyListComponent] }); }
11
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyListModule, imports: [CommonModule] }); }
12
12
  }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyListModule, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyListModule, decorators: [{
14
14
  type: NgModule,
15
15
  args: [{
16
16
  declarations: [SkyListComponent],
@@ -50,4 +50,4 @@ export class ListItemsOrchestrator extends ListStateOrchestrator {
50
50
  return newListItems;
51
51
  }
52
52
  }
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbXMub3JjaGVzdHJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3QtYnVpbGRlci9zcmMvbGliL21vZHVsZXMvbGlzdC9zdGF0ZS9pdGVtcy9pdGVtcy5vcmNoZXN0cmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUV0RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFakU7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLHFCQUFzQixTQUFRLHFCQUUxQztJQUNDLDBCQUEwQjtJQUMxQjtRQUNFLEtBQUssRUFBRSxDQUFDO1FBRVIsSUFBSSxDQUFDLFFBQVEsQ0FBQyx5QkFBeUIsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDO2FBQ3RELFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDO2FBQ3hDLFFBQVEsQ0FBQywwQkFBMEIsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRU8sVUFBVSxDQUNoQixLQUErQixFQUMvQixNQUFpQztRQUVqQyxPQUFPLElBQUksU0FBUyxDQUNsQixLQUFLLENBQUMsS0FBSyxFQUNYLEtBQUssQ0FBQyxVQUFVLEVBQ2hCLE1BQU0sQ0FBQyxPQUFPLEVBQ2QsS0FBSyxDQUFDLEtBQUssQ0FDWixDQUFDO0lBQ0osQ0FBQztJQUVPLElBQUksQ0FDVixLQUErQixFQUMvQixNQUEyQjtRQUUzQixNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FDbkMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQ3JELENBQUM7UUFDRixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsT0FBTztZQUNoQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQztZQUNuQixDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxZQUFZLENBQUMsQ0FBQztRQUV0QyxNQUFNLEtBQUssR0FDVCxNQUFNLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUNqRSxPQUFPLElBQUksU0FBUyxDQUNsQixXQUFXLEVBQ1gsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUNsRCxLQUFLLEVBQ0wsS0FBSyxDQUNOLENBQUM7SUFDSixDQUFDO0lBRU8sZ0JBQWdCLENBQ3RCLEtBQStCLEVBQy9CLE1BQWtDO1FBRWxDLDBCQUEwQjtRQUMxQixNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUMxQyxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFcEUsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbkIsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNyRSxDQUFDO1FBRUQsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3ZCLE1BQU0sT0FBTyxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUMxRCwwQkFBMEI7WUFDMUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDWixPQUFPLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7WUFDdkMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFJLFNBQVMsQ0FDbEIsaUJBQWlCLEVBQ2pCLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFDVixLQUFLLENBQUMsT0FBTyxFQUNiLEtBQUssQ0FBQyxLQUFLLENBQ1osQ0FBQztJQUNKLENBQUM7SUFFTyx1QkFBdUIsQ0FDN0IsTUFBNEI7UUFFNUIsTUFBTSxZQUFZLEdBQXlCLEVBQUUsQ0FBQztRQUM5QyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDdEIsWUFBWSxDQUFDLElBQUksQ0FDZixJQUFJLGFBQWEsQ0FDZixJQUFJLENBQUMsRUFBRSxFQUNQLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsRUFDNUIsSUFBSSxDQUFDLFVBQVUsQ0FDaEIsQ0FDRixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY0xpc3QsIExpc3RJdGVtTW9kZWwgfSBmcm9tICdAc2t5dXgvbGlzdC1idWlsZGVyLWNvbW1vbic7XG5cbmltcG9ydCB7IExpc3RTdGF0ZU9yY2hlc3RyYXRvciB9IGZyb20gJy4uL2xpc3Qtc3RhdGUucnhzdGF0ZSc7XG5cbmltcG9ydCB7IExpc3RJdGVtc0xvYWRBY3Rpb24gfSBmcm9tICcuL2xvYWQuYWN0aW9uJztcbmltcG9ydCB7IExpc3RJdGVtc1NldFNlbGVjdGVkQWN0aW9uIH0gZnJvbSAnLi9zZXQtaXRlbXMtc2VsZWN0ZWQuYWN0aW9uJztcbmltcG9ydCB7IExpc3RJdGVtc1NldExvYWRpbmdBY3Rpb24gfSBmcm9tICcuL3NldC1sb2FkaW5nLmFjdGlvbic7XG5cbi8qKlxuICogQGludGVybmFsXG4gKiBAZGVwcmVjYXRlZFxuICovXG5leHBvcnQgY2xhc3MgTGlzdEl0ZW1zT3JjaGVzdHJhdG9yIGV4dGVuZHMgTGlzdFN0YXRlT3JjaGVzdHJhdG9yPFxuICBBc3luY0xpc3Q8TGlzdEl0ZW1Nb2RlbD5cbj4ge1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5yZWdpc3RlcihMaXN0SXRlbXNTZXRMb2FkaW5nQWN0aW9uLCB0aGlzLnNldExvYWRpbmcpXG4gICAgICAucmVnaXN0ZXIoTGlzdEl0ZW1zTG9hZEFjdGlvbiwgdGhpcy5sb2FkKVxuICAgICAgLnJlZ2lzdGVyKExpc3RJdGVtc1NldFNlbGVjdGVkQWN0aW9uLCB0aGlzLnNldEl0ZW1zU2VsZWN0ZWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRMb2FkaW5nKFxuICAgIHN0YXRlOiBBc3luY0xpc3Q8TGlzdEl0ZW1Nb2RlbD4sXG4gICAgYWN0aW9uOiBMaXN0SXRlbXNTZXRMb2FkaW5nQWN0aW9uLFxuICApOiBBc3luY0xpc3Q8TGlzdEl0ZW1Nb2RlbD4ge1xuICAgIHJldHVybiBuZXcgQXN5bmNMaXN0PExpc3RJdGVtTW9kZWw+KFxuICAgICAgc3RhdGUuaXRlbXMsXG4gICAgICBzdGF0ZS5sYXN0VXBkYXRlLFxuICAgICAgYWN0aW9uLmxvYWRpbmcsXG4gICAgICBzdGF0ZS5jb3VudCxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2FkKFxuICAgIHN0YXRlOiBBc3luY0xpc3Q8TGlzdEl0ZW1Nb2RlbD4sXG4gICAgYWN0aW9uOiBMaXN0SXRlbXNMb2FkQWN0aW9uLFxuICApOiBBc3luY0xpc3Q8TGlzdEl0ZW1Nb2RlbD4ge1xuICAgIGNvbnN0IG5ld0xpc3RJdGVtcyA9IGFjdGlvbi5pdGVtcy5tYXAoXG4gICAgICAoZykgPT4gbmV3IExpc3RJdGVtTW9kZWwoZy5pZCwgZy5kYXRhLCBnLmlzU2VsZWN0ZWQpLFxuICAgICk7XG4gICAgY29uc3QgcmVzdWx0SXRlbXMgPSBhY3Rpb24ucmVmcmVzaFxuICAgICAgPyBbLi4ubmV3TGlzdEl0ZW1zXVxuICAgICAgOiBbLi4uc3RhdGUuaXRlbXMsIC4uLm5ld0xpc3RJdGVtc107XG5cbiAgICBjb25zdCBjb3VudCA9XG4gICAgICBhY3Rpb24uY291bnQgPT09IHVuZGVmaW5lZCA/IHJlc3VsdEl0ZW1zLmxlbmd0aCA6IGFjdGlvbi5jb3VudDtcbiAgICByZXR1cm4gbmV3IEFzeW5jTGlzdDxMaXN0SXRlbU1vZGVsPihcbiAgICAgIHJlc3VsdEl0ZW1zLFxuICAgICAgYWN0aW9uLmRhdGFDaGFuZ2VkID8gRGF0ZS5ub3coKSA6IHN0YXRlLmxhc3RVcGRhdGUsXG4gICAgICBmYWxzZSxcbiAgICAgIGNvdW50LFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHNldEl0ZW1zU2VsZWN0ZWQoXG4gICAgc3RhdGU6IEFzeW5jTGlzdDxMaXN0SXRlbU1vZGVsPixcbiAgICBhY3Rpb246IExpc3RJdGVtc1NldFNlbGVjdGVkQWN0aW9uLFxuICApOiBBc3luY0xpc3Q8TGlzdEl0ZW1Nb2RlbD4ge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgY29uc3QgbmV3U2VsZWN0ZWRJZHMgPSBhY3Rpb24uaXRlbXMgfHwgW107XG4gICAgY29uc3QgbmV3TGlzdEl0ZW1Nb2RlbHMgPSB0aGlzLmNsb25lTGlzdEl0ZW1Nb2RlbEFycmF5KHN0YXRlLml0ZW1zKTtcblxuICAgIGlmIChhY3Rpb24ucmVmcmVzaCkge1xuICAgICAgbmV3TGlzdEl0ZW1Nb2RlbHMuZm9yRWFjaCgoaXRlbSkgPT4gKGl0ZW0uaXNTZWxlY3RlZCA9IHVuZGVmaW5lZCkpO1xuICAgIH1cblxuICAgIG5ld1NlbGVjdGVkSWRzLm1hcCgocykgPT4ge1xuICAgICAgY29uc3QgbmV3SXRlbSA9IG5ld0xpc3RJdGVtTW9kZWxzLmZpbmQoKGkpID0+IGkuaWQgPT09IHMpO1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIGlmIChuZXdJdGVtKSB7XG4gICAgICAgIG5ld0l0ZW0uaXNTZWxlY3RlZCA9IGFjdGlvbi5zZWxlY3RlZDtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBuZXcgQXN5bmNMaXN0PExpc3RJdGVtTW9kZWw+KFxuICAgICAgbmV3TGlzdEl0ZW1Nb2RlbHMsXG4gICAgICBEYXRlLm5vdygpLFxuICAgICAgc3RhdGUubG9hZGluZyxcbiAgICAgIHN0YXRlLmNvdW50LFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNsb25lTGlzdEl0ZW1Nb2RlbEFycmF5KFxuICAgIHNvdXJjZTogQXJyYXk8TGlzdEl0ZW1Nb2RlbD4sXG4gICk6IExpc3RJdGVtTW9kZWxbXSB7XG4gICAgY29uc3QgbmV3TGlzdEl0ZW1zOiBBcnJheTxMaXN0SXRlbU1vZGVsPiA9IFtdO1xuICAgIHNvdXJjZS5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBuZXdMaXN0SXRlbXMucHVzaChcbiAgICAgICAgbmV3IExpc3RJdGVtTW9kZWwoXG4gICAgICAgICAgaXRlbS5pZCxcbiAgICAgICAgICBPYmplY3QuYXNzaWduKHt9LCBpdGVtLmRhdGEpLFxuICAgICAgICAgIGl0ZW0uaXNTZWxlY3RlZCxcbiAgICAgICAgKSxcbiAgICAgICk7XG4gICAgfSk7XG4gICAgcmV0dXJuIG5ld0xpc3RJdGVtcztcbiAgfVxufVxuIl19
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbXMub3JjaGVzdHJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3QtYnVpbGRlci9zcmMvbGliL21vZHVsZXMvbGlzdC9zdGF0ZS9pdGVtcy9pdGVtcy5vcmNoZXN0cmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUV0RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFakU7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLHFCQUFzQixTQUFRLHFCQUUxQztJQUNDLDBCQUEwQjtJQUMxQjtRQUNFLEtBQUssRUFBRSxDQUFDO1FBRVIsSUFBSSxDQUFDLFFBQVEsQ0FBQyx5QkFBeUIsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDO2FBQ3RELFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDO2FBQ3hDLFFBQVEsQ0FBQywwQkFBMEIsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRU8sVUFBVSxDQUNoQixLQUErQixFQUMvQixNQUFpQztRQUVqQyxPQUFPLElBQUksU0FBUyxDQUNsQixLQUFLLENBQUMsS0FBSyxFQUNYLEtBQUssQ0FBQyxVQUFVLEVBQ2hCLE1BQU0sQ0FBQyxPQUFPLEVBQ2QsS0FBSyxDQUFDLEtBQUssQ0FDWixDQUFDO0lBQ0osQ0FBQztJQUVPLElBQUksQ0FDVixLQUErQixFQUMvQixNQUEyQjtRQUUzQixNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FDbkMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQ3JELENBQUM7UUFDRixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsT0FBTztZQUNoQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQztZQUNuQixDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxZQUFZLENBQUMsQ0FBQztRQUV0QyxNQUFNLEtBQUssR0FDVCxNQUFNLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUNqRSxPQUFPLElBQUksU0FBUyxDQUNsQixXQUFXLEVBQ1gsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUNsRCxLQUFLLEVBQ0wsS0FBSyxDQUNOLENBQUM7SUFDSixDQUFDO0lBRU8sZ0JBQWdCLENBQ3RCLEtBQStCLEVBQy9CLE1BQWtDO1FBRWxDLDBCQUEwQjtRQUMxQixNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUMxQyxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFcEUsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbkIsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNyRSxDQUFDO1FBRUQsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3ZCLE1BQU0sT0FBTyxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUMxRCwwQkFBMEI7WUFDMUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDWixPQUFPLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7WUFDdkMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFJLFNBQVMsQ0FDbEIsaUJBQWlCLEVBQ2pCLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFDVixLQUFLLENBQUMsT0FBTyxFQUNiLEtBQUssQ0FBQyxLQUFLLENBQ1osQ0FBQztJQUNKLENBQUM7SUFFTyx1QkFBdUIsQ0FBQyxNQUF1QjtRQUNyRCxNQUFNLFlBQVksR0FBb0IsRUFBRSxDQUFDO1FBQ3pDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN0QixZQUFZLENBQUMsSUFBSSxDQUNmLElBQUksYUFBYSxDQUNmLElBQUksQ0FBQyxFQUFFLEVBQ1AsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUM1QixJQUFJLENBQUMsVUFBVSxDQUNoQixDQUNGLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jTGlzdCwgTGlzdEl0ZW1Nb2RlbCB9IGZyb20gJ0Bza3l1eC9saXN0LWJ1aWxkZXItY29tbW9uJztcblxuaW1wb3J0IHsgTGlzdFN0YXRlT3JjaGVzdHJhdG9yIH0gZnJvbSAnLi4vbGlzdC1zdGF0ZS5yeHN0YXRlJztcblxuaW1wb3J0IHsgTGlzdEl0ZW1zTG9hZEFjdGlvbiB9IGZyb20gJy4vbG9hZC5hY3Rpb24nO1xuaW1wb3J0IHsgTGlzdEl0ZW1zU2V0U2VsZWN0ZWRBY3Rpb24gfSBmcm9tICcuL3NldC1pdGVtcy1zZWxlY3RlZC5hY3Rpb24nO1xuaW1wb3J0IHsgTGlzdEl0ZW1zU2V0TG9hZGluZ0FjdGlvbiB9IGZyb20gJy4vc2V0LWxvYWRpbmcuYWN0aW9uJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCBjbGFzcyBMaXN0SXRlbXNPcmNoZXN0cmF0b3IgZXh0ZW5kcyBMaXN0U3RhdGVPcmNoZXN0cmF0b3I8XG4gIEFzeW5jTGlzdDxMaXN0SXRlbU1vZGVsPlxuPiB7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLnJlZ2lzdGVyKExpc3RJdGVtc1NldExvYWRpbmdBY3Rpb24sIHRoaXMuc2V0TG9hZGluZylcbiAgICAgIC5yZWdpc3RlcihMaXN0SXRlbXNMb2FkQWN0aW9uLCB0aGlzLmxvYWQpXG4gICAgICAucmVnaXN0ZXIoTGlzdEl0ZW1zU2V0U2VsZWN0ZWRBY3Rpb24sIHRoaXMuc2V0SXRlbXNTZWxlY3RlZCk7XG4gIH1cblxuICBwcml2YXRlIHNldExvYWRpbmcoXG4gICAgc3RhdGU6IEFzeW5jTGlzdDxMaXN0SXRlbU1vZGVsPixcbiAgICBhY3Rpb246IExpc3RJdGVtc1NldExvYWRpbmdBY3Rpb24sXG4gICk6IEFzeW5jTGlzdDxMaXN0SXRlbU1vZGVsPiB7XG4gICAgcmV0dXJuIG5ldyBBc3luY0xpc3Q8TGlzdEl0ZW1Nb2RlbD4oXG4gICAgICBzdGF0ZS5pdGVtcyxcbiAgICAgIHN0YXRlLmxhc3RVcGRhdGUsXG4gICAgICBhY3Rpb24ubG9hZGluZyxcbiAgICAgIHN0YXRlLmNvdW50LFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGxvYWQoXG4gICAgc3RhdGU6IEFzeW5jTGlzdDxMaXN0SXRlbU1vZGVsPixcbiAgICBhY3Rpb246IExpc3RJdGVtc0xvYWRBY3Rpb24sXG4gICk6IEFzeW5jTGlzdDxMaXN0SXRlbU1vZGVsPiB7XG4gICAgY29uc3QgbmV3TGlzdEl0ZW1zID0gYWN0aW9uLml0ZW1zLm1hcChcbiAgICAgIChnKSA9PiBuZXcgTGlzdEl0ZW1Nb2RlbChnLmlkLCBnLmRhdGEsIGcuaXNTZWxlY3RlZCksXG4gICAgKTtcbiAgICBjb25zdCByZXN1bHRJdGVtcyA9IGFjdGlvbi5yZWZyZXNoXG4gICAgICA/IFsuLi5uZXdMaXN0SXRlbXNdXG4gICAgICA6IFsuLi5zdGF0ZS5pdGVtcywgLi4ubmV3TGlzdEl0ZW1zXTtcblxuICAgIGNvbnN0IGNvdW50ID1cbiAgICAgIGFjdGlvbi5jb3VudCA9PT0gdW5kZWZpbmVkID8gcmVzdWx0SXRlbXMubGVuZ3RoIDogYWN0aW9uLmNvdW50O1xuICAgIHJldHVybiBuZXcgQXN5bmNMaXN0PExpc3RJdGVtTW9kZWw+KFxuICAgICAgcmVzdWx0SXRlbXMsXG4gICAgICBhY3Rpb24uZGF0YUNoYW5nZWQgPyBEYXRlLm5vdygpIDogc3RhdGUubGFzdFVwZGF0ZSxcbiAgICAgIGZhbHNlLFxuICAgICAgY291bnQsXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0SXRlbXNTZWxlY3RlZChcbiAgICBzdGF0ZTogQXN5bmNMaXN0PExpc3RJdGVtTW9kZWw+LFxuICAgIGFjdGlvbjogTGlzdEl0ZW1zU2V0U2VsZWN0ZWRBY3Rpb24sXG4gICk6IEFzeW5jTGlzdDxMaXN0SXRlbU1vZGVsPiB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBjb25zdCBuZXdTZWxlY3RlZElkcyA9IGFjdGlvbi5pdGVtcyB8fCBbXTtcbiAgICBjb25zdCBuZXdMaXN0SXRlbU1vZGVscyA9IHRoaXMuY2xvbmVMaXN0SXRlbU1vZGVsQXJyYXkoc3RhdGUuaXRlbXMpO1xuXG4gICAgaWYgKGFjdGlvbi5yZWZyZXNoKSB7XG4gICAgICBuZXdMaXN0SXRlbU1vZGVscy5mb3JFYWNoKChpdGVtKSA9PiAoaXRlbS5pc1NlbGVjdGVkID0gdW5kZWZpbmVkKSk7XG4gICAgfVxuXG4gICAgbmV3U2VsZWN0ZWRJZHMubWFwKChzKSA9PiB7XG4gICAgICBjb25zdCBuZXdJdGVtID0gbmV3TGlzdEl0ZW1Nb2RlbHMuZmluZCgoaSkgPT4gaS5pZCA9PT0gcyk7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgaWYgKG5ld0l0ZW0pIHtcbiAgICAgICAgbmV3SXRlbS5pc1NlbGVjdGVkID0gYWN0aW9uLnNlbGVjdGVkO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG5ldyBBc3luY0xpc3Q8TGlzdEl0ZW1Nb2RlbD4oXG4gICAgICBuZXdMaXN0SXRlbU1vZGVscyxcbiAgICAgIERhdGUubm93KCksXG4gICAgICBzdGF0ZS5sb2FkaW5nLFxuICAgICAgc3RhdGUuY291bnQsXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xvbmVMaXN0SXRlbU1vZGVsQXJyYXkoc291cmNlOiBMaXN0SXRlbU1vZGVsW10pOiBMaXN0SXRlbU1vZGVsW10ge1xuICAgIGNvbnN0IG5ld0xpc3RJdGVtczogTGlzdEl0ZW1Nb2RlbFtdID0gW107XG4gICAgc291cmNlLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIG5ld0xpc3RJdGVtcy5wdXNoKFxuICAgICAgICBuZXcgTGlzdEl0ZW1Nb2RlbChcbiAgICAgICAgICBpdGVtLmlkLFxuICAgICAgICAgIE9iamVjdC5hc3NpZ24oe30sIGl0ZW0uZGF0YSksXG4gICAgICAgICAgaXRlbS5pc1NlbGVjdGVkLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICB9KTtcbiAgICByZXR1cm4gbmV3TGlzdEl0ZW1zO1xuICB9XG59XG4iXX0=
@@ -10,4 +10,4 @@ export class ListItemsLoadAction {
10
10
  this.count = count;
11
11
  }
12
12
  }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC5hY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGlzdC1idWlsZGVyL3NyYy9saWIvbW9kdWxlcy9saXN0L3N0YXRlL2l0ZW1zL2xvYWQuYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7R0FHRztBQUNILE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsWUFDUyxLQUEyQixFQUMzQixVQUFtQixLQUFLLEVBQ3hCLGNBQXVCLElBQUksRUFDM0IsS0FBYztRQUhkLFVBQUssR0FBTCxLQUFLLENBQXNCO1FBQzNCLFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBQ3hCLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUMzQixVQUFLLEdBQUwsS0FBSyxDQUFTO0lBQ3BCLENBQUM7Q0FDTCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpc3RJdGVtTW9kZWwgfSBmcm9tICdAc2t5dXgvbGlzdC1idWlsZGVyLWNvbW1vbic7XG5cbi8qKlxuICogQGludGVybmFsXG4gKiBAZGVwcmVjYXRlZFxuICovXG5leHBvcnQgY2xhc3MgTGlzdEl0ZW1zTG9hZEFjdGlvbiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBpdGVtczogQXJyYXk8TGlzdEl0ZW1Nb2RlbD4sXG4gICAgcHVibGljIHJlZnJlc2g6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICBwdWJsaWMgZGF0YUNoYW5nZWQ6IGJvb2xlYW4gPSB0cnVlLFxuICAgIHB1YmxpYyBjb3VudD86IG51bWJlcixcbiAgKSB7fVxufVxuIl19
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC5hY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGlzdC1idWlsZGVyL3NyYy9saWIvbW9kdWxlcy9saXN0L3N0YXRlL2l0ZW1zL2xvYWQuYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7R0FHRztBQUNILE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsWUFDUyxLQUFzQixFQUN0QixVQUFVLEtBQUssRUFDZixjQUFjLElBQUksRUFDbEIsS0FBYztRQUhkLFVBQUssR0FBTCxLQUFLLENBQWlCO1FBQ3RCLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixnQkFBVyxHQUFYLFdBQVcsQ0FBTztRQUNsQixVQUFLLEdBQUwsS0FBSyxDQUFTO0lBQ3BCLENBQUM7Q0FDTCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpc3RJdGVtTW9kZWwgfSBmcm9tICdAc2t5dXgvbGlzdC1idWlsZGVyLWNvbW1vbic7XG5cbi8qKlxuICogQGludGVybmFsXG4gKiBAZGVwcmVjYXRlZFxuICovXG5leHBvcnQgY2xhc3MgTGlzdEl0ZW1zTG9hZEFjdGlvbiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBpdGVtczogTGlzdEl0ZW1Nb2RlbFtdLFxuICAgIHB1YmxpYyByZWZyZXNoID0gZmFsc2UsXG4gICAgcHVibGljIGRhdGFDaGFuZ2VkID0gdHJ1ZSxcbiAgICBwdWJsaWMgY291bnQ/OiBudW1iZXIsXG4gICkge31cbn1cbiJdfQ==
@@ -11,4 +11,4 @@ export class ListItemsSetSelectedAction {
11
11
  this.refresh = refresh;
12
12
  }
13
13
  }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LWl0ZW1zLXNlbGVjdGVkLmFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9saXN0LWJ1aWxkZXIvc3JjL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvaXRlbXMvc2V0LWl0ZW1zLXNlbGVjdGVkLmFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sMEJBQTBCO0lBQ3JDLFlBQ1MsS0FBZTtJQUN0QiwwQkFBMEI7SUFDbkIsV0FBb0IsS0FBSyxFQUN6QixVQUFtQixJQUFJO1FBSHZCLFVBQUssR0FBTCxLQUFLLENBQVU7UUFFZixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUN6QixZQUFPLEdBQVAsT0FBTyxDQUFnQjtJQUM3QixDQUFDO0NBQ0wiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBpbnRlcm5hbFxuICogQGRlcHJlY2F0ZWRcbiAqL1xuZXhwb3J0IGNsYXNzIExpc3RJdGVtc1NldFNlbGVjdGVkQWN0aW9uIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGl0ZW1zOiBzdHJpbmdbXSxcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHB1YmxpYyBzZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlLFxuICAgIHB1YmxpYyByZWZyZXNoOiBib29sZWFuID0gdHJ1ZSxcbiAgKSB7fVxufVxuIl19
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LWl0ZW1zLXNlbGVjdGVkLmFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9saXN0LWJ1aWxkZXIvc3JjL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvaXRlbXMvc2V0LWl0ZW1zLXNlbGVjdGVkLmFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sMEJBQTBCO0lBQ3JDLFlBQ1MsS0FBZTtJQUN0QiwwQkFBMEI7SUFDbkIsV0FBVyxLQUFLLEVBQ2hCLFVBQVUsSUFBSTtRQUhkLFVBQUssR0FBTCxLQUFLLENBQVU7UUFFZixhQUFRLEdBQVIsUUFBUSxDQUFRO1FBQ2hCLFlBQU8sR0FBUCxPQUFPLENBQU87SUFDcEIsQ0FBQztDQUNMIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAaW50ZXJuYWxcbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCBjbGFzcyBMaXN0SXRlbXNTZXRTZWxlY3RlZEFjdGlvbiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBpdGVtczogc3RyaW5nW10sXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBwdWJsaWMgc2VsZWN0ZWQgPSBmYWxzZSxcbiAgICBwdWJsaWMgcmVmcmVzaCA9IHRydWUsXG4gICkge31cbn1cbiJdfQ==
@@ -7,4 +7,4 @@ export class ListItemsSetLoadingAction {
7
7
  this.loading = loading;
8
8
  }
9
9
  }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LWxvYWRpbmcuYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3QtYnVpbGRlci9zcmMvbGliL21vZHVsZXMvbGlzdC9zdGF0ZS9pdGVtcy9zZXQtbG9hZGluZy5hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLHlCQUF5QjtJQUNwQyxZQUFtQixVQUFtQixJQUFJO1FBQXZCLFlBQU8sR0FBUCxPQUFPLENBQWdCO0lBQUcsQ0FBQztDQUMvQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGludGVybmFsXG4gKiBAZGVwcmVjYXRlZFxuICovXG5leHBvcnQgY2xhc3MgTGlzdEl0ZW1zU2V0TG9hZGluZ0FjdGlvbiB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBsb2FkaW5nOiBib29sZWFuID0gdHJ1ZSkge31cbn1cbiJdfQ==
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LWxvYWRpbmcuYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3QtYnVpbGRlci9zcmMvbGliL21vZHVsZXMvbGlzdC9zdGF0ZS9pdGVtcy9zZXQtbG9hZGluZy5hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLHlCQUF5QjtJQUNwQyxZQUFtQixVQUFVLElBQUk7UUFBZCxZQUFPLEdBQVAsT0FBTyxDQUFPO0lBQUcsQ0FBQztDQUN0QyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGludGVybmFsXG4gKiBAZGVwcmVjYXRlZFxuICovXG5leHBvcnQgY2xhc3MgTGlzdEl0ZW1zU2V0TG9hZGluZ0FjdGlvbiB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBsb2FkaW5nID0gdHJ1ZSkge31cbn1cbiJdfQ==
@@ -73,10 +73,10 @@ export class ListStateDispatcher extends StateDispatcher {
73
73
  setSelected(selectedIds, selected, refresh = false) {
74
74
  this.next(new ListSelectedSetItemsSelectedAction(selectedIds, selected, refresh));
75
75
  }
76
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ListStateDispatcher, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
77
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ListStateDispatcher }); }
76
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ListStateDispatcher, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
77
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ListStateDispatcher }); }
78
78
  }
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ListStateDispatcher, decorators: [{
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ListStateDispatcher, decorators: [{
80
80
  type: Injectable
81
81
  }] });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1zdGF0ZS5yeHN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3QtYnVpbGRlci9zcmMvbGliL21vZHVsZXMvbGlzdC9zdGF0ZS9saXN0LXN0YXRlLnJ4c3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBRUwsZUFBZSxFQUNmLGlCQUFpQixHQUNsQixNQUFNLDRCQUE0QixDQUFDO0FBSXBDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR2xFLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzdFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRTFGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ25FLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25FLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSx1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T0FBTyxDQUFDLENBQ3ZFLENBQUM7SUFDSixDQUFDOzhHQTVFVSxtQkFBbUI7a0hBQW5CLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIExpc3RTb3J0RmllbGRTZWxlY3Rvck1vZGVsLFxuICBTdGF0ZURpc3BhdGNoZXIsXG4gIFN0YXRlT3JjaGVzdHJhdG9yLFxufSBmcm9tICdAc2t5dXgvbGlzdC1idWlsZGVyLWNvbW1vbic7XG5cbmltcG9ydCB7IExpc3RGaWx0ZXJNb2RlbCB9IGZyb20gJy4uLy4uL2xpc3QtZmlsdGVycy9maWx0ZXIubW9kZWwnO1xuXG5pbXBvcnQgeyBMaXN0RmlsdGVyc1VwZGF0ZUFjdGlvbiB9IGZyb20gJy4vZmlsdGVycy91cGRhdGUuYWN0aW9uJztcbmltcG9ydCB7IExpc3RTdGF0ZUFjdGlvbiB9IGZyb20gJy4vbGlzdC1zdGF0ZS1hY3Rpb24udHlwZSc7XG5pbXBvcnQgeyBMaXN0U2VhcmNoTW9kZWwgfSBmcm9tICcuL3NlYXJjaC9zZWFyY2gubW9kZWwnO1xuaW1wb3J0IHsgTGlzdFNlYXJjaFNldEZpZWxkU2VsZWN0b3JzQWN0aW9uIH0gZnJvbSAnLi9zZWFyY2gvc2V0LWZpZWxkLXNlbGVjdG9ycy5hY3Rpb24nO1xuaW1wb3J0IHsgTGlzdFNlYXJjaFNldEZ1bmN0aW9uc0FjdGlvbiB9IGZyb20gJy4vc2VhcmNoL3NldC1mdW5jdGlvbnMuYWN0aW9uJztcbmltcG9ydCB7IExpc3RTZWFyY2hTZXRPcHRpb25zQWN0aW9uIH0gZnJvbSAnLi9zZWFyY2gvc2V0LW9wdGlvbnMuYWN0aW9uJztcbmltcG9ydCB7IExpc3RTZWFyY2hTZXRTZWFyY2hUZXh0QWN0aW9uIH0gZnJvbSAnLi9zZWFyY2gvc2V0LXNlYXJjaC10ZXh0LmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0U2VsZWN0ZWRTZXRJdGVtc1NlbGVjdGVkQWN0aW9uIH0gZnJvbSAnLi9zZWxlY3RlZC9zZXQtaXRlbXMtc2VsZWN0ZWQuYWN0aW9uJztcbmltcG9ydCB7IExpc3RTb3J0TGFiZWxNb2RlbCB9IGZyb20gJy4vc29ydC9sYWJlbC5tb2RlbCc7XG5pbXBvcnQgeyBMaXN0U29ydFNldEF2YWlsYWJsZUFjdGlvbiB9IGZyb20gJy4vc29ydC9zZXQtYXZhaWxhYmxlLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0U29ydFNldEZpZWxkU2VsZWN0b3JzQWN0aW9uIH0gZnJvbSAnLi9zb3J0L3NldC1maWVsZC1zZWxlY3RvcnMuYWN0aW9uJztcbmltcG9ydCB7IExpc3RTb3J0U2V0R2xvYmFsQWN0aW9uIH0gZnJvbSAnLi9zb3J0L3NldC1nbG9iYWwuYWN0aW9uJztcbmltcG9ydCB7IExpc3RUb29sYmFySXRlbXNEaXNhYmxlQWN0aW9uIH0gZnJvbSAnLi90b29sYmFyL2Rpc2FibGUuYWN0aW9uJztcbmltcG9ydCB7IExpc3RUb29sYmFySXRlbXNMb2FkQWN0aW9uIH0gZnJvbSAnLi90b29sYmFyL2xvYWQuYWN0aW9uJztcbmltcG9ydCB7IExpc3RUb29sYmFySXRlbXNSZW1vdmVBY3Rpb24gfSBmcm9tICcuL3Rvb2xiYXIvcmVtb3ZlLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0VG9vbGJhclNldEV4aXN0c0FjdGlvbiB9IGZyb20gJy4vdG9vbGJhci9zZXQtZXhpc3RzLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0VG9vbGJhclNob3dNdWx0aXNlbGVjdFRvb2xiYXJBY3Rpb24gfSBmcm9tICcuL3Rvb2xiYXIvc2hvdy1tdWx0aXNlbGVjdC10b29sYmFyLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0VG9vbGJhckl0ZW1Nb2RlbCB9IGZyb20gJy4vdG9vbGJhci90b29sYmFyLWl0ZW0ubW9kZWwnO1xuaW1wb3J0IHsgTGlzdFZpZXdzU2V0QWN0aXZlQWN0aW9uIH0gZnJvbSAnLi92aWV3cy9zZXQtYWN0aXZlLmFjdGlvbic7XG5cbi8qKlxuICogQGludGVybmFsXG4gKiBAZGVwcmVjYXRlZFxuICovXG5leHBvcnQgY2xhc3MgTGlzdFN0YXRlT3JjaGVzdHJhdG9yPFQ+IGV4dGVuZHMgU3RhdGVPcmNoZXN0cmF0b3I8XG4gIFQsXG4gIExpc3RTdGF0ZUFjdGlvblxuPiB7fVxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICogQGRlcHJlY2F0ZWRcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExpc3RTdGF0ZURpc3BhdGNoZXIgZXh0ZW5kcyBTdGF0ZURpc3BhdGNoZXI8TGlzdFN0YXRlQWN0aW9uPiB7XG4gIHB1YmxpYyB2aWV3c1NldEFjdGl2ZShpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5uZXh0KG5ldyBMaXN0Vmlld3NTZXRBY3RpdmVBY3Rpb24oaWQpKTtcbiAgfVxuXG4gIHB1YmxpYyB0b29sYmFyRXhpc3RzKGV4aXN0czogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMubmV4dChuZXcgTGlzdFRvb2xiYXJTZXRFeGlzdHNBY3Rpb24oZXhpc3RzKSk7XG4gIH1cblxuICBwdWJsaWMgdG9vbGJhclNldERpc2FibGVkKGRpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5uZXh0KG5ldyBMaXN0VG9vbGJhckl0ZW1zRGlzYWJsZUFjdGlvbihkaXNhYmxlZCkpO1xuICB9XG5cbiAgcHVibGljIHRvb2xiYXJBZGRJdGVtcyhpdGVtczogTGlzdFRvb2xiYXJJdGVtTW9kZWxbXSwgaW5kZXggPSAtMSk6IHZvaWQge1xuICAgIHRoaXMubmV4dChuZXcgTGlzdFRvb2xiYXJJdGVtc0xvYWRBY3Rpb24oaXRlbXMsIGluZGV4KSk7XG4gIH1cblxuICBwdWJsaWMgdG9vbGJhclJlbW92ZUl0ZW1zKGlkczogc3RyaW5nW10pOiB2b2lkIHtcbiAgICB0aGlzLm5leHQobmV3IExpc3RUb29sYmFySXRlbXNSZW1vdmVBY3Rpb24oaWRzKSk7XG4gIH1cblxuICBwdWJsaWMgdG9vbGJhclNob3dNdWx0aXNlbGVjdFRvb2xiYXIoc2hvdzogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMubmV4dChuZXcgTGlzdFRvb2xiYXJTaG93TXVsdGlzZWxlY3RUb29sYmFyQWN0aW9uKHNob3cpKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2hTZXRGdW5jdGlvbnMoXG4gICAgc29ydEZ1bmN0aW9uczogKChkYXRhOiBhbnksIHNlYXJjaFRleHQ6IHN0cmluZykgPT4gYm9vbGVhbilbXSxcbiAgKTogdm9pZCB7XG4gICAgdGhpcy5uZXh0KG5ldyBMaXN0U2VhcmNoU2V0RnVuY3Rpb25zQWN0aW9uKHNvcnRGdW5jdGlvbnMpKTtcbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHB1YmxpYyBzZWFyY2hTZXRGaWVsZFNlbGVjdG9ycyhmaWVsZFNlbGVjdG9yczogQXJyYXk8c3RyaW5nPik6IHZvaWQge1xuICAgIHRoaXMubmV4dChuZXcgTGlzdFNlYXJjaFNldEZpZWxkU2VsZWN0b3JzQWN0aW9uKGZpZWxkU2VsZWN0b3JzKSk7XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoU2V0VGV4dChzZWFyY2hUZXh0OiBzdHJpbmcpIHtcbiAgICB0aGlzLm5leHQobmV3IExpc3RTZWFyY2hTZXRTZWFyY2hUZXh0QWN0aW9uKHNlYXJjaFRleHQpKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2hTZXRPcHRpb25zKHNlYXJjaE9wdGlvbnM6IExpc3RTZWFyY2hNb2RlbCkge1xuICAgIHRoaXMubmV4dChcbiAgICAgIG5ldyBMaXN0U2VhcmNoU2V0T3B0aW9uc0FjdGlvbihcbiAgICAgICAgbmV3IExpc3RTZWFyY2hTZXRTZWFyY2hUZXh0QWN0aW9uKHNlYXJjaE9wdGlvbnMuc2VhcmNoVGV4dCksXG4gICAgICAgIG5ldyBMaXN0U2VhcmNoU2V0RmllbGRTZWxlY3RvcnNBY3Rpb24oc2VhcmNoT3B0aW9ucy5maWVsZFNlbGVjdG9ycyksXG4gICAgICAgIG5ldyBMaXN0U2VhcmNoU2V0RnVuY3Rpb25zQWN0aW9uKHNlYXJjaE9wdGlvbnMuZnVuY3Rpb25zKSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzb3J0U2V0QXZhaWxhYmxlKHNvcnRMYWJlbHM6IExpc3RTb3J0TGFiZWxNb2RlbFtdKTogdm9pZCB7XG4gICAgdGhpcy5uZXh0KG5ldyBMaXN0U29ydFNldEF2YWlsYWJsZUFjdGlvbihzb3J0TGFiZWxzKSk7XG4gIH1cblxuICBwdWJsaWMgc29ydFNldEZpZWxkU2VsZWN0b3JzKFxuICAgIGZpZWxkU2VsZWN0b3JzOiBMaXN0U29ydEZpZWxkU2VsZWN0b3JNb2RlbFtdLFxuICApOiB2b2lkIHtcbiAgICB0aGlzLm5leHQobmV3IExpc3RTb3J0U2V0RmllbGRTZWxlY3RvcnNBY3Rpb24oZmllbGRTZWxlY3RvcnMpKTtcbiAgfVxuXG4gIHB1YmxpYyBzb3J0U2V0R2xvYmFsKHNvcnRMYWJlbHM6IExpc3RTb3J0TGFiZWxNb2RlbFtdKTogdm9pZCB7XG4gICAgdGhpcy5uZXh0KG5ldyBMaXN0U29ydFNldEdsb2JhbEFjdGlvbihzb3J0TGFiZWxzKSk7XG4gIH1cblxuICBwdWJsaWMgZmlsdGVyc1VwZGF0ZShmaWx0ZXJzOiBMaXN0RmlsdGVyTW9kZWxbXSk6IHZvaWQge1xuICAgIHRoaXMubmV4dChuZXcgTGlzdEZpbHRlcnNVcGRhdGVBY3Rpb24oZmlsdGVycykpO1xuICB9XG5cbiAgcHVibGljIHNldFNlbGVjdGVkKFxuICAgIHNlbGVjdGVkSWRzOiBzdHJpbmdbXSxcbiAgICBzZWxlY3RlZDogYm9vbGVhbixcbiAgICByZWZyZXNoID0gZmFsc2UsXG4gICk6IHZvaWQge1xuICAgIHRoaXMubmV4dChcbiAgICAgIG5ldyBMaXN0U2VsZWN0ZWRTZXRJdGVtc1NlbGVjdGVkQWN0aW9uKHNlbGVjdGVkSWRzLCBzZWxlY3RlZCwgcmVmcmVzaCksXG4gICAgKTtcbiAgfVxufVxuIl19
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1zdGF0ZS5yeHN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3QtYnVpbGRlci9zcmMvbGliL21vZHVsZXMvbGlzdC9zdGF0ZS9saXN0LXN0YXRlLnJ4c3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBRUwsZUFBZSxFQUNmLGlCQUFpQixHQUNsQixNQUFNLDRCQUE0QixDQUFDO0FBSXBDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR2xFLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzdFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRTFGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ25FLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25FLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSx1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T0FBTyxDQUFDLENBQ3ZFLENBQUM7SUFDSixDQUFDOzhHQTVFVSxtQkFBbUI7a0hBQW5CLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIExpc3RTb3J0RmllbGRTZWxlY3Rvck1vZGVsLFxuICBTdGF0ZURpc3BhdGNoZXIsXG4gIFN0YXRlT3JjaGVzdHJhdG9yLFxufSBmcm9tICdAc2t5dXgvbGlzdC1idWlsZGVyLWNvbW1vbic7XG5cbmltcG9ydCB7IExpc3RGaWx0ZXJNb2RlbCB9IGZyb20gJy4uLy4uL2xpc3QtZmlsdGVycy9maWx0ZXIubW9kZWwnO1xuXG5pbXBvcnQgeyBMaXN0RmlsdGVyc1VwZGF0ZUFjdGlvbiB9IGZyb20gJy4vZmlsdGVycy91cGRhdGUuYWN0aW9uJztcbmltcG9ydCB7IExpc3RTdGF0ZUFjdGlvbiB9IGZyb20gJy4vbGlzdC1zdGF0ZS1hY3Rpb24udHlwZSc7XG5pbXBvcnQgeyBMaXN0U2VhcmNoTW9kZWwgfSBmcm9tICcuL3NlYXJjaC9zZWFyY2gubW9kZWwnO1xuaW1wb3J0IHsgTGlzdFNlYXJjaFNldEZpZWxkU2VsZWN0b3JzQWN0aW9uIH0gZnJvbSAnLi9zZWFyY2gvc2V0LWZpZWxkLXNlbGVjdG9ycy5hY3Rpb24nO1xuaW1wb3J0IHsgTGlzdFNlYXJjaFNldEZ1bmN0aW9uc0FjdGlvbiB9IGZyb20gJy4vc2VhcmNoL3NldC1mdW5jdGlvbnMuYWN0aW9uJztcbmltcG9ydCB7IExpc3RTZWFyY2hTZXRPcHRpb25zQWN0aW9uIH0gZnJvbSAnLi9zZWFyY2gvc2V0LW9wdGlvbnMuYWN0aW9uJztcbmltcG9ydCB7IExpc3RTZWFyY2hTZXRTZWFyY2hUZXh0QWN0aW9uIH0gZnJvbSAnLi9zZWFyY2gvc2V0LXNlYXJjaC10ZXh0LmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0U2VsZWN0ZWRTZXRJdGVtc1NlbGVjdGVkQWN0aW9uIH0gZnJvbSAnLi9zZWxlY3RlZC9zZXQtaXRlbXMtc2VsZWN0ZWQuYWN0aW9uJztcbmltcG9ydCB7IExpc3RTb3J0TGFiZWxNb2RlbCB9IGZyb20gJy4vc29ydC9sYWJlbC5tb2RlbCc7XG5pbXBvcnQgeyBMaXN0U29ydFNldEF2YWlsYWJsZUFjdGlvbiB9IGZyb20gJy4vc29ydC9zZXQtYXZhaWxhYmxlLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0U29ydFNldEZpZWxkU2VsZWN0b3JzQWN0aW9uIH0gZnJvbSAnLi9zb3J0L3NldC1maWVsZC1zZWxlY3RvcnMuYWN0aW9uJztcbmltcG9ydCB7IExpc3RTb3J0U2V0R2xvYmFsQWN0aW9uIH0gZnJvbSAnLi9zb3J0L3NldC1nbG9iYWwuYWN0aW9uJztcbmltcG9ydCB7IExpc3RUb29sYmFySXRlbXNEaXNhYmxlQWN0aW9uIH0gZnJvbSAnLi90b29sYmFyL2Rpc2FibGUuYWN0aW9uJztcbmltcG9ydCB7IExpc3RUb29sYmFySXRlbXNMb2FkQWN0aW9uIH0gZnJvbSAnLi90b29sYmFyL2xvYWQuYWN0aW9uJztcbmltcG9ydCB7IExpc3RUb29sYmFySXRlbXNSZW1vdmVBY3Rpb24gfSBmcm9tICcuL3Rvb2xiYXIvcmVtb3ZlLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0VG9vbGJhclNldEV4aXN0c0FjdGlvbiB9IGZyb20gJy4vdG9vbGJhci9zZXQtZXhpc3RzLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0VG9vbGJhclNob3dNdWx0aXNlbGVjdFRvb2xiYXJBY3Rpb24gfSBmcm9tICcuL3Rvb2xiYXIvc2hvdy1tdWx0aXNlbGVjdC10b29sYmFyLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0VG9vbGJhckl0ZW1Nb2RlbCB9IGZyb20gJy4vdG9vbGJhci90b29sYmFyLWl0ZW0ubW9kZWwnO1xuaW1wb3J0IHsgTGlzdFZpZXdzU2V0QWN0aXZlQWN0aW9uIH0gZnJvbSAnLi92aWV3cy9zZXQtYWN0aXZlLmFjdGlvbic7XG5cbi8qKlxuICogQGludGVybmFsXG4gKiBAZGVwcmVjYXRlZFxuICovXG5leHBvcnQgY2xhc3MgTGlzdFN0YXRlT3JjaGVzdHJhdG9yPFQ+IGV4dGVuZHMgU3RhdGVPcmNoZXN0cmF0b3I8XG4gIFQsXG4gIExpc3RTdGF0ZUFjdGlvblxuPiB7fVxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICogQGRlcHJlY2F0ZWRcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExpc3RTdGF0ZURpc3BhdGNoZXIgZXh0ZW5kcyBTdGF0ZURpc3BhdGNoZXI8TGlzdFN0YXRlQWN0aW9uPiB7XG4gIHB1YmxpYyB2aWV3c1NldEFjdGl2ZShpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5uZXh0KG5ldyBMaXN0Vmlld3NTZXRBY3RpdmVBY3Rpb24oaWQpKTtcbiAgfVxuXG4gIHB1YmxpYyB0b29sYmFyRXhpc3RzKGV4aXN0czogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMubmV4dChuZXcgTGlzdFRvb2xiYXJTZXRFeGlzdHNBY3Rpb24oZXhpc3RzKSk7XG4gIH1cblxuICBwdWJsaWMgdG9vbGJhclNldERpc2FibGVkKGRpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5uZXh0KG5ldyBMaXN0VG9vbGJhckl0ZW1zRGlzYWJsZUFjdGlvbihkaXNhYmxlZCkpO1xuICB9XG5cbiAgcHVibGljIHRvb2xiYXJBZGRJdGVtcyhpdGVtczogTGlzdFRvb2xiYXJJdGVtTW9kZWxbXSwgaW5kZXggPSAtMSk6IHZvaWQge1xuICAgIHRoaXMubmV4dChuZXcgTGlzdFRvb2xiYXJJdGVtc0xvYWRBY3Rpb24oaXRlbXMsIGluZGV4KSk7XG4gIH1cblxuICBwdWJsaWMgdG9vbGJhclJlbW92ZUl0ZW1zKGlkczogc3RyaW5nW10pOiB2b2lkIHtcbiAgICB0aGlzLm5leHQobmV3IExpc3RUb29sYmFySXRlbXNSZW1vdmVBY3Rpb24oaWRzKSk7XG4gIH1cblxuICBwdWJsaWMgdG9vbGJhclNob3dNdWx0aXNlbGVjdFRvb2xiYXIoc2hvdzogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMubmV4dChuZXcgTGlzdFRvb2xiYXJTaG93TXVsdGlzZWxlY3RUb29sYmFyQWN0aW9uKHNob3cpKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2hTZXRGdW5jdGlvbnMoXG4gICAgc29ydEZ1bmN0aW9uczogKChkYXRhOiBhbnksIHNlYXJjaFRleHQ6IHN0cmluZykgPT4gYm9vbGVhbilbXSxcbiAgKTogdm9pZCB7XG4gICAgdGhpcy5uZXh0KG5ldyBMaXN0U2VhcmNoU2V0RnVuY3Rpb25zQWN0aW9uKHNvcnRGdW5jdGlvbnMpKTtcbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHB1YmxpYyBzZWFyY2hTZXRGaWVsZFNlbGVjdG9ycyhmaWVsZFNlbGVjdG9yczogc3RyaW5nW10pOiB2b2lkIHtcbiAgICB0aGlzLm5leHQobmV3IExpc3RTZWFyY2hTZXRGaWVsZFNlbGVjdG9yc0FjdGlvbihmaWVsZFNlbGVjdG9ycykpO1xuICB9XG5cbiAgcHVibGljIHNlYXJjaFNldFRleHQoc2VhcmNoVGV4dDogc3RyaW5nKSB7XG4gICAgdGhpcy5uZXh0KG5ldyBMaXN0U2VhcmNoU2V0U2VhcmNoVGV4dEFjdGlvbihzZWFyY2hUZXh0KSk7XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoU2V0T3B0aW9ucyhzZWFyY2hPcHRpb25zOiBMaXN0U2VhcmNoTW9kZWwpIHtcbiAgICB0aGlzLm5leHQoXG4gICAgICBuZXcgTGlzdFNlYXJjaFNldE9wdGlvbnNBY3Rpb24oXG4gICAgICAgIG5ldyBMaXN0U2VhcmNoU2V0U2VhcmNoVGV4dEFjdGlvbihzZWFyY2hPcHRpb25zLnNlYXJjaFRleHQpLFxuICAgICAgICBuZXcgTGlzdFNlYXJjaFNldEZpZWxkU2VsZWN0b3JzQWN0aW9uKHNlYXJjaE9wdGlvbnMuZmllbGRTZWxlY3RvcnMpLFxuICAgICAgICBuZXcgTGlzdFNlYXJjaFNldEZ1bmN0aW9uc0FjdGlvbihzZWFyY2hPcHRpb25zLmZ1bmN0aW9ucyksXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc29ydFNldEF2YWlsYWJsZShzb3J0TGFiZWxzOiBMaXN0U29ydExhYmVsTW9kZWxbXSk6IHZvaWQge1xuICAgIHRoaXMubmV4dChuZXcgTGlzdFNvcnRTZXRBdmFpbGFibGVBY3Rpb24oc29ydExhYmVscykpO1xuICB9XG5cbiAgcHVibGljIHNvcnRTZXRGaWVsZFNlbGVjdG9ycyhcbiAgICBmaWVsZFNlbGVjdG9yczogTGlzdFNvcnRGaWVsZFNlbGVjdG9yTW9kZWxbXSxcbiAgKTogdm9pZCB7XG4gICAgdGhpcy5uZXh0KG5ldyBMaXN0U29ydFNldEZpZWxkU2VsZWN0b3JzQWN0aW9uKGZpZWxkU2VsZWN0b3JzKSk7XG4gIH1cblxuICBwdWJsaWMgc29ydFNldEdsb2JhbChzb3J0TGFiZWxzOiBMaXN0U29ydExhYmVsTW9kZWxbXSk6IHZvaWQge1xuICAgIHRoaXMubmV4dChuZXcgTGlzdFNvcnRTZXRHbG9iYWxBY3Rpb24oc29ydExhYmVscykpO1xuICB9XG5cbiAgcHVibGljIGZpbHRlcnNVcGRhdGUoZmlsdGVyczogTGlzdEZpbHRlck1vZGVsW10pOiB2b2lkIHtcbiAgICB0aGlzLm5leHQobmV3IExpc3RGaWx0ZXJzVXBkYXRlQWN0aW9uKGZpbHRlcnMpKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRTZWxlY3RlZChcbiAgICBzZWxlY3RlZElkczogc3RyaW5nW10sXG4gICAgc2VsZWN0ZWQ6IGJvb2xlYW4sXG4gICAgcmVmcmVzaCA9IGZhbHNlLFxuICApOiB2b2lkIHtcbiAgICB0aGlzLm5leHQoXG4gICAgICBuZXcgTGlzdFNlbGVjdGVkU2V0SXRlbXNTZWxlY3RlZEFjdGlvbihzZWxlY3RlZElkcywgc2VsZWN0ZWQsIHJlZnJlc2gpLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -28,10 +28,10 @@ export class ListState extends StateNode {
28
28
  .register('selected', ListSelectedOrchestrator)
29
29
  .begin();
30
30
  }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ListState, deps: [{ token: i1.ListStateDispatcher }], target: i0.ɵɵFactoryTarget.Injectable }); }
32
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ListState }); }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ListState, deps: [{ token: i1.ListStateDispatcher }], target: i0.ɵɵFactoryTarget.Injectable }); }
32
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ListState }); }
33
33
  }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ListState, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ListState, decorators: [{
35
35
  type: Injectable
36
36
  }], ctorParameters: () => [{ type: i1.ListStateDispatcher }] });
37
37
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1zdGF0ZS5zdGF0ZS1ub2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3QtYnVpbGRlci9zcmMvbGliL21vZHVsZXMvbGlzdC9zdGF0ZS9saXN0LXN0YXRlLnN0YXRlLW5vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFdkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFFbkU7OztHQUdHO0FBRUgsTUFBTSxPQUFPLFNBQVUsU0FBUSxTQUF5QjtJQUN0RCxZQUFZLFVBQStCO1FBQ3pDLEtBQUssQ0FBQyxJQUFJLGNBQWMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRXhDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLHVCQUF1QixDQUFDO2FBQzlDLFFBQVEsQ0FBQyxPQUFPLEVBQUUscUJBQXFCLENBQUM7YUFDeEMsUUFBUSxDQUFDLFFBQVEsRUFBRSxzQkFBc0IsQ0FBQzthQUMxQyxRQUFRLENBQUMsUUFBUSxFQUFFLHNCQUFzQixDQUFDO2FBQzFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsb0JBQW9CLENBQUM7YUFDdEMsUUFBUSxDQUFDLFNBQVMsRUFBRSx1QkFBdUIsQ0FBQzthQUM1QyxRQUFRLENBQUMsT0FBTyxFQUFFLHFCQUFxQixDQUFDO2FBQ3hDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsd0JBQXdCLENBQUM7YUFDOUMsS0FBSyxFQUFFLENBQUM7SUFDYixDQUFDOzhHQWJVLFNBQVM7a0hBQVQsU0FBUzs7MkZBQVQsU0FBUztrQkFEckIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0YXRlTm9kZSB9IGZyb20gJ0Bza3l1eC9saXN0LWJ1aWxkZXItY29tbW9uJztcblxuaW1wb3J0IHsgTGlzdEZpbHRlcnNPcmNoZXN0cmF0b3IgfSBmcm9tICcuL2ZpbHRlcnMvZmlsdGVycy5vcmNoZXN0cmF0b3InO1xuaW1wb3J0IHsgTGlzdEl0ZW1zT3JjaGVzdHJhdG9yIH0gZnJvbSAnLi9pdGVtcy9pdGVtcy5vcmNoZXN0cmF0b3InO1xuaW1wb3J0IHsgTGlzdFN0YXRlTW9kZWwgfSBmcm9tICcuL2xpc3Qtc3RhdGUubW9kZWwnO1xuaW1wb3J0IHsgTGlzdFN0YXRlRGlzcGF0Y2hlciB9IGZyb20gJy4vbGlzdC1zdGF0ZS5yeHN0YXRlJztcbmltcG9ydCB7IExpc3RQYWdpbmdPcmNoZXN0cmF0b3IgfSBmcm9tICcuL3BhZ2luZy9wYWdpbmcub3JjaGVzdHJhdG9yJztcbmltcG9ydCB7IExpc3RTZWFyY2hPcmNoZXN0cmF0b3IgfSBmcm9tICcuL3NlYXJjaC9zZWFyY2gub3JjaGVzdHJhdG9yJztcbmltcG9ydCB7IExpc3RTZWxlY3RlZE9yY2hlc3RyYXRvciB9IGZyb20gJy4vc2VsZWN0ZWQvc2VsZWN0ZWQub3JjaGVzdHJhdG9yJztcbmltcG9ydCB7IExpc3RTb3J0T3JjaGVzdHJhdG9yIH0gZnJvbSAnLi9zb3J0L3NvcnQub3JjaGVzdHJhdG9yJztcbmltcG9ydCB7IExpc3RUb29sYmFyT3JjaGVzdHJhdG9yIH0gZnJvbSAnLi90b29sYmFyL3Rvb2xiYXIub3JjaGVzdHJhdG9yJztcbmltcG9ydCB7IExpc3RWaWV3c09yY2hlc3RyYXRvciB9IGZyb20gJy4vdmlld3Mvdmlld3Mub3JjaGVzdHJhdG9yJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqIEBkZXByZWNhdGVkXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBMaXN0U3RhdGUgZXh0ZW5kcyBTdGF0ZU5vZGU8TGlzdFN0YXRlTW9kZWw+IHtcbiAgY29uc3RydWN0b3IoZGlzcGF0Y2hlcjogTGlzdFN0YXRlRGlzcGF0Y2hlcikge1xuICAgIHN1cGVyKG5ldyBMaXN0U3RhdGVNb2RlbCgpLCBkaXNwYXRjaGVyKTtcblxuICAgIHRoaXMucmVnaXN0ZXIoJ2ZpbHRlcnMnLCBMaXN0RmlsdGVyc09yY2hlc3RyYXRvcilcbiAgICAgIC5yZWdpc3RlcignaXRlbXMnLCBMaXN0SXRlbXNPcmNoZXN0cmF0b3IpXG4gICAgICAucmVnaXN0ZXIoJ3BhZ2luZycsIExpc3RQYWdpbmdPcmNoZXN0cmF0b3IpXG4gICAgICAucmVnaXN0ZXIoJ3NlYXJjaCcsIExpc3RTZWFyY2hPcmNoZXN0cmF0b3IpXG4gICAgICAucmVnaXN0ZXIoJ3NvcnQnLCBMaXN0U29ydE9yY2hlc3RyYXRvcilcbiAgICAgIC5yZWdpc3RlcigndG9vbGJhcicsIExpc3RUb29sYmFyT3JjaGVzdHJhdG9yKVxuICAgICAgLnJlZ2lzdGVyKCd2aWV3cycsIExpc3RWaWV3c09yY2hlc3RyYXRvcilcbiAgICAgIC5yZWdpc3Rlcignc2VsZWN0ZWQnLCBMaXN0U2VsZWN0ZWRPcmNoZXN0cmF0b3IpXG4gICAgICAuYmVnaW4oKTtcbiAgfVxufVxuIl19
@@ -30,4 +30,4 @@ export class ListSearchModel {
30
30
  }
31
31
  }
32
32
  }
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3QtYnVpbGRlci9zcmMvbGliL21vZHVsZXMvbGlzdC9zdGF0ZS9zZWFyY2gvc2VhcmNoLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUNILE1BQU0sT0FBTyxlQUFlO0lBa0IxQixZQUFZLElBQVU7UUFqQnRCOzs7V0FHRztRQUNJLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDdkI7Ozs7V0FJRztRQUNJLGNBQVMsR0FBc0QsRUFBRSxDQUFDO1FBQ3pFOzs7V0FHRztRQUNJLG1CQUFjLEdBQWtCLEVBQUUsQ0FBQztRQUd4QyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNyQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDNUMsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU3BlY2lmaWVzIGEgZnVuY3Rpb24gdG8gZHluYW1pY2FsbHkgbWFuYWdlIHRoZSBkYXRhIHNvdXJjZSB3aGVuIHVzZXJzIGNoYW5nZSB0aGUgdGV4dFxuICogaW4gdGhlIGxpc3QgZmllbGQuIFRoZSBzZWFyY2ggZnVuY3Rpb24gbXVzdCByZXR1cm4gYW4gYXJyYXkgb3IgYSBwcm9taXNlIG9mIGFuIGFycmF5LlxuICogVGhlIGBzZWFyY2hgIHByb3BlcnR5IGlzIHBhcnRpY3VsYXJseSB1c2VmdWwgd2hlbiB0aGUgZGF0YSBzb3VyY2UgZG9lcyBub3QgbGl2ZVxuICogaW4gdGhlIHNvdXJjZSBjb2RlLlxuICogQGRlcHJlY2F0ZWRcbiAqL1xuZXhwb3J0IGNsYXNzIExpc3RTZWFyY2hNb2RlbCB7XG4gIC8qKlxuICAgKiBUaGUgdGV4dCB0byBzZWFyY2guXG4gICAqIEBkZWZhdWx0IFwiXCJcbiAgICovXG4gIHB1YmxpYyBzZWFyY2hUZXh0ID0gJyc7XG4gIC8qKlxuICAgKiBUaGUgYXJyYXkgb2YgZnVuY3Rpb25zIHRoYXQgcmV0dXJucyBhIGBib29sZWFuYCB2YWx1ZSBvZiBgdHJ1ZWAgd2hlblxuICAgKiB0aGUgc2VhcmNoIGlzIHN1Y2Nlc3NmdWwuIFRoaXMgcHJvcGVydHkgYWNjZXB0cyBhIGZ1bmN0aW9uIG9mIHR5cGVcbiAgICogYChkYXRhOiBhbnksIHNlYXJjaFRleHQ6IHN0cmluZykgPT4gYm9vbGVhbj4uYFxuICAgKi9cbiAgcHVibGljIGZ1bmN0aW9uczogQXJyYXk8KGRhdGE6IGFueSwgc2VhcmNoVGV4dDogc3RyaW5nKSA9PiBib29sZWFuPiA9IFtdO1xuICAvKipcbiAgICogVGhlIGNvbHVtbnMgdG8gc2VhcmNoLiBUaGUgY29sdW1ucyBjb3JyZXNwb25kIHRvIGBmaWVsZGAgdmFsdWVzIHRoYXRcbiAgICogeW91IHNwZWNpZnkgd2l0aCB0aGUgbGlzdCBjb21wb25lbnQncyBgZGF0YWAgcHJvcGVydHkuXG4gICAqL1xuICBwdWJsaWMgZmllbGRTZWxlY3RvcnM6IEFycmF5PHN0cmluZz4gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihkYXRhPzogYW55KSB7XG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIHRoaXMuc2VhcmNoVGV4dCA9IGRhdGEuc2VhcmNoVGV4dDtcbiAgICAgIHRoaXMuZnVuY3Rpb25zID0gWy4uLmRhdGEuZnVuY3Rpb25zXTtcbiAgICAgIHRoaXMuZmllbGRTZWxlY3RvcnMgPSBkYXRhLmZpZWxkU2VsZWN0b3JzO1xuICAgIH1cbiAgfVxufVxuIl19
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3QtYnVpbGRlci9zcmMvbGliL21vZHVsZXMvbGlzdC9zdGF0ZS9zZWFyY2gvc2VhcmNoLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUNILE1BQU0sT0FBTyxlQUFlO0lBa0IxQixZQUFZLElBQVU7UUFqQnRCOzs7V0FHRztRQUNJLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDdkI7Ozs7V0FJRztRQUNJLGNBQVMsR0FBbUQsRUFBRSxDQUFDO1FBQ3RFOzs7V0FHRztRQUNJLG1CQUFjLEdBQWEsRUFBRSxDQUFDO1FBR25DLElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDbEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3JDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUM1QyxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBTcGVjaWZpZXMgYSBmdW5jdGlvbiB0byBkeW5hbWljYWxseSBtYW5hZ2UgdGhlIGRhdGEgc291cmNlIHdoZW4gdXNlcnMgY2hhbmdlIHRoZSB0ZXh0XG4gKiBpbiB0aGUgbGlzdCBmaWVsZC4gVGhlIHNlYXJjaCBmdW5jdGlvbiBtdXN0IHJldHVybiBhbiBhcnJheSBvciBhIHByb21pc2Ugb2YgYW4gYXJyYXkuXG4gKiBUaGUgYHNlYXJjaGAgcHJvcGVydHkgaXMgcGFydGljdWxhcmx5IHVzZWZ1bCB3aGVuIHRoZSBkYXRhIHNvdXJjZSBkb2VzIG5vdCBsaXZlXG4gKiBpbiB0aGUgc291cmNlIGNvZGUuXG4gKiBAZGVwcmVjYXRlZFxuICovXG5leHBvcnQgY2xhc3MgTGlzdFNlYXJjaE1vZGVsIHtcbiAgLyoqXG4gICAqIFRoZSB0ZXh0IHRvIHNlYXJjaC5cbiAgICogQGRlZmF1bHQgXCJcIlxuICAgKi9cbiAgcHVibGljIHNlYXJjaFRleHQgPSAnJztcbiAgLyoqXG4gICAqIFRoZSBhcnJheSBvZiBmdW5jdGlvbnMgdGhhdCByZXR1cm5zIGEgYGJvb2xlYW5gIHZhbHVlIG9mIGB0cnVlYCB3aGVuXG4gICAqIHRoZSBzZWFyY2ggaXMgc3VjY2Vzc2Z1bC4gVGhpcyBwcm9wZXJ0eSBhY2NlcHRzIGEgZnVuY3Rpb24gb2YgdHlwZVxuICAgKiBgKGRhdGE6IGFueSwgc2VhcmNoVGV4dDogc3RyaW5nKSA9PiBib29sZWFuPi5gXG4gICAqL1xuICBwdWJsaWMgZnVuY3Rpb25zOiAoKGRhdGE6IGFueSwgc2VhcmNoVGV4dDogc3RyaW5nKSA9PiBib29sZWFuKVtdID0gW107XG4gIC8qKlxuICAgKiBUaGUgY29sdW1ucyB0byBzZWFyY2guIFRoZSBjb2x1bW5zIGNvcnJlc3BvbmQgdG8gYGZpZWxkYCB2YWx1ZXMgdGhhdFxuICAgKiB5b3Ugc3BlY2lmeSB3aXRoIHRoZSBsaXN0IGNvbXBvbmVudCdzIGBkYXRhYCBwcm9wZXJ0eS5cbiAgICovXG4gIHB1YmxpYyBmaWVsZFNlbGVjdG9yczogc3RyaW5nW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihkYXRhPzogYW55KSB7XG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIHRoaXMuc2VhcmNoVGV4dCA9IGRhdGEuc2VhcmNoVGV4dDtcbiAgICAgIHRoaXMuZnVuY3Rpb25zID0gWy4uLmRhdGEuZnVuY3Rpb25zXTtcbiAgICAgIHRoaXMuZmllbGRTZWxlY3RvcnMgPSBkYXRhLmZpZWxkU2VsZWN0b3JzO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -7,4 +7,4 @@ export class ListSearchSetFieldSelectorsAction {
7
7
  this.fieldSelectors = fieldSelectors;
8
8
  }
9
9
  }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LWZpZWxkLXNlbGVjdG9ycy5hY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGlzdC1idWlsZGVyL3NyYy9saWIvbW9kdWxlcy9saXN0L3N0YXRlL3NlYXJjaC9zZXQtZmllbGQtc2VsZWN0b3JzLmFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLE9BQU8saUNBQWlDO0lBQzVDLFlBQW1CLGlCQUFnQyxFQUFFO1FBQWxDLG1CQUFjLEdBQWQsY0FBYyxDQUFvQjtJQUFHLENBQUM7Q0FDMUQiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBpbnRlcm5hbFxuICogQGRlcHJlY2F0ZWRcbiAqL1xuZXhwb3J0IGNsYXNzIExpc3RTZWFyY2hTZXRGaWVsZFNlbGVjdG9yc0FjdGlvbiB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBmaWVsZFNlbGVjdG9yczogQXJyYXk8c3RyaW5nPiA9IFtdKSB7fVxufVxuIl19
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LWZpZWxkLXNlbGVjdG9ycy5hY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGlzdC1idWlsZGVyL3NyYy9saWIvbW9kdWxlcy9saXN0L3N0YXRlL3NlYXJjaC9zZXQtZmllbGQtc2VsZWN0b3JzLmFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLE9BQU8saUNBQWlDO0lBQzVDLFlBQW1CLGlCQUEyQixFQUFFO1FBQTdCLG1CQUFjLEdBQWQsY0FBYyxDQUFlO0lBQUcsQ0FBQztDQUNyRCIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGludGVybmFsXG4gKiBAZGVwcmVjYXRlZFxuICovXG5leHBvcnQgY2xhc3MgTGlzdFNlYXJjaFNldEZpZWxkU2VsZWN0b3JzQWN0aW9uIHtcbiAgY29uc3RydWN0b3IocHVibGljIGZpZWxkU2VsZWN0b3JzOiBzdHJpbmdbXSA9IFtdKSB7fVxufVxuIl19
@@ -7,4 +7,4 @@ export class ListSearchSetFunctionsAction {
7
7
  this.functions = functions;
8
8
  }
9
9
  }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LWZ1bmN0aW9ucy5hY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGlzdC1idWlsZGVyL3NyYy9saWIvbW9kdWxlcy9saXN0L3N0YXRlL3NlYXJjaC9zZXQtZnVuY3Rpb25zLmFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sNEJBQTRCO0lBQ3ZDLFlBQ1MsWUFBK0QsRUFBRTtRQUFqRSxjQUFTLEdBQVQsU0FBUyxDQUF3RDtJQUN2RSxDQUFDO0NBQ0wiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBpbnRlcm5hbFxuICogQGRlcHJlY2F0ZWRcbiAqL1xuZXhwb3J0IGNsYXNzIExpc3RTZWFyY2hTZXRGdW5jdGlvbnNBY3Rpb24ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZnVuY3Rpb25zOiBBcnJheTwoZGF0YTogYW55LCBzZWFyY2hUZXh0OiBzdHJpbmcpID0+IGJvb2xlYW4+ID0gW10sXG4gICkge31cbn1cbiJdfQ==
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LWZ1bmN0aW9ucy5hY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGlzdC1idWlsZGVyL3NyYy9saWIvbW9kdWxlcy9saXN0L3N0YXRlL3NlYXJjaC9zZXQtZnVuY3Rpb25zLmFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sNEJBQTRCO0lBQ3ZDLFlBQ1MsWUFBNEQsRUFBRTtRQUE5RCxjQUFTLEdBQVQsU0FBUyxDQUFxRDtJQUNwRSxDQUFDO0NBQ0wiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBpbnRlcm5hbFxuICogQGRlcHJlY2F0ZWRcbiAqL1xuZXhwb3J0IGNsYXNzIExpc3RTZWFyY2hTZXRGdW5jdGlvbnNBY3Rpb24ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZnVuY3Rpb25zOiAoKGRhdGE6IGFueSwgc2VhcmNoVGV4dDogc3RyaW5nKSA9PiBib29sZWFuKVtdID0gW10sXG4gICkge31cbn1cbiJdfQ==
@@ -7,4 +7,4 @@ export class ListSelectedLoadAction {
7
7
  this.items = items;
8
8
  }
9
9
  }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC5hY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGlzdC1idWlsZGVyL3NyYy9saWIvbW9kdWxlcy9saXN0L3N0YXRlL3NlbGVjdGVkL2xvYWQuYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUNILE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsWUFBbUIsS0FBb0I7UUFBcEIsVUFBSyxHQUFMLEtBQUssQ0FBZTtJQUFHLENBQUM7Q0FDNUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBpbnRlcm5hbFxuICogQGRlcHJlY2F0ZWRcbiAqL1xuZXhwb3J0IGNsYXNzIExpc3RTZWxlY3RlZExvYWRBY3Rpb24ge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgaXRlbXM6IEFycmF5PHN0cmluZz4pIHt9XG59XG4iXX0=
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC5hY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGlzdC1idWlsZGVyL3NyYy9saWIvbW9kdWxlcy9saXN0L3N0YXRlL3NlbGVjdGVkL2xvYWQuYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUNILE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsWUFBbUIsS0FBZTtRQUFmLFVBQUssR0FBTCxLQUFLLENBQVU7SUFBRyxDQUFDO0NBQ3ZDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAaW50ZXJuYWxcbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCBjbGFzcyBMaXN0U2VsZWN0ZWRMb2FkQWN0aW9uIHtcbiAgY29uc3RydWN0b3IocHVibGljIGl0ZW1zOiBzdHJpbmdbXSkge31cbn1cbiJdfQ==
@@ -9,4 +9,4 @@ export class ListSelectedSetItemsSelectedAction {
9
9
  this.refresh = refresh;
10
10
  }
11
11
  }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LWl0ZW1zLXNlbGVjdGVkLmFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9saXN0LWJ1aWxkZXIvc3JjL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvc2VsZWN0ZWQvc2V0LWl0ZW1zLXNlbGVjdGVkLmFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sa0NBQWtDO0lBQzdDLFlBQ1MsS0FBc0MsRUFDdEMsV0FBb0IsS0FBSyxFQUN6QixVQUFtQixJQUFJO1FBRnZCLFVBQUssR0FBTCxLQUFLLENBQWlDO1FBQ3RDLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQ3pCLFlBQU8sR0FBUCxPQUFPLENBQWdCO0lBQzdCLENBQUM7Q0FDTCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCBjbGFzcyBMaXN0U2VsZWN0ZWRTZXRJdGVtc1NlbGVjdGVkQWN0aW9uIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGl0ZW1zOiBzdHJpbmdbXSB8IE9ic2VydmFibGU8c3RyaW5nW10+LFxuICAgIHB1YmxpYyBzZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlLFxuICAgIHB1YmxpYyByZWZyZXNoOiBib29sZWFuID0gdHJ1ZSxcbiAgKSB7fVxufVxuIl19
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LWl0ZW1zLXNlbGVjdGVkLmFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9saXN0LWJ1aWxkZXIvc3JjL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvc2VsZWN0ZWQvc2V0LWl0ZW1zLXNlbGVjdGVkLmFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sa0NBQWtDO0lBQzdDLFlBQ1MsS0FBc0MsRUFDdEMsV0FBVyxLQUFLLEVBQ2hCLFVBQVUsSUFBSTtRQUZkLFVBQUssR0FBTCxLQUFLLENBQWlDO1FBQ3RDLGFBQVEsR0FBUixRQUFRLENBQVE7UUFDaEIsWUFBTyxHQUFQLE9BQU8sQ0FBTztJQUNwQixDQUFDO0NBQ0wiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKiBAZGVwcmVjYXRlZFxuICovXG5leHBvcnQgY2xhc3MgTGlzdFNlbGVjdGVkU2V0SXRlbXNTZWxlY3RlZEFjdGlvbiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBpdGVtczogc3RyaW5nW10gfCBPYnNlcnZhYmxlPHN0cmluZ1tdPixcbiAgICBwdWJsaWMgc2VsZWN0ZWQgPSBmYWxzZSxcbiAgICBwdWJsaWMgcmVmcmVzaCA9IHRydWUsXG4gICkge31cbn1cbiJdfQ==
@@ -7,4 +7,4 @@ export class ListSelectedSetLoadingAction {
7
7
  this.loading = loading;
8
8
  }
9
9
  }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LWxvYWRpbmcuYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3QtYnVpbGRlci9zcmMvbGliL21vZHVsZXMvbGlzdC9zdGF0ZS9zZWxlY3RlZC9zZXQtbG9hZGluZy5hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLDRCQUE0QjtJQUN2QyxZQUFtQixVQUFtQixJQUFJO1FBQXZCLFlBQU8sR0FBUCxPQUFPLENBQWdCO0lBQUcsQ0FBQztDQUMvQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGludGVybmFsXG4gKiBAZGVwcmVjYXRlZFxuICovXG5leHBvcnQgY2xhc3MgTGlzdFNlbGVjdGVkU2V0TG9hZGluZ0FjdGlvbiB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBsb2FkaW5nOiBib29sZWFuID0gdHJ1ZSkge31cbn1cbiJdfQ==
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LWxvYWRpbmcuYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3QtYnVpbGRlci9zcmMvbGliL21vZHVsZXMvbGlzdC9zdGF0ZS9zZWxlY3RlZC9zZXQtbG9hZGluZy5hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLDRCQUE0QjtJQUN2QyxZQUFtQixVQUFVLElBQUk7UUFBZCxZQUFPLEdBQVAsT0FBTyxDQUFPO0lBQUcsQ0FBQztDQUN0QyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGludGVybmFsXG4gKiBAZGVwcmVjYXRlZFxuICovXG5leHBvcnQgY2xhc3MgTGlzdFNlbGVjdGVkU2V0TG9hZGluZ0FjdGlvbiB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBsb2FkaW5nID0gdHJ1ZSkge31cbn1cbiJdfQ==
@@ -25,4 +25,4 @@ export class ListSortModel {
25
25
  }
26
26
  }
27
27
  }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9saXN0LWJ1aWxkZXIvc3JjL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvc29ydC9zb3J0Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBOzs7R0FHRztBQUNILE1BQU0sT0FBTyxhQUFhO0lBZ0J4QixZQUFZLElBQVU7UUFmdEI7O1dBRUc7UUFDSSxjQUFTLEdBQThCLEVBQUUsQ0FBQztRQUNqRDs7V0FFRztRQUNJLFdBQU0sR0FBOEIsRUFBRSxDQUFDO1FBQzlDOzs7O1dBSUc7UUFDSSxtQkFBYyxHQUFzQyxFQUFFLENBQUM7UUFHNUQsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDMUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQzVDLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMaXN0U29ydEZpZWxkU2VsZWN0b3JNb2RlbCB9IGZyb20gJ0Bza3l1eC9saXN0LWJ1aWxkZXItY29tbW9uJztcblxuaW1wb3J0IHsgTGlzdFNvcnRMYWJlbE1vZGVsIH0gZnJvbSAnLi9sYWJlbC5tb2RlbCc7XG5cbi8qKlxuICogU3BlY2lmaWVzIGEgc2V0IG9mIGZpZWxkcyB0byBzb3J0IGJ5LlxuICogQGRlcHJlY2F0ZWRcbiAqL1xuZXhwb3J0IGNsYXNzIExpc3RTb3J0TW9kZWwge1xuICAvKipcbiAgICogVGhlIGxpc3Qgb2YgYXZhaWxhYmxlIHZpZXdzIHRvIHNvcnQuXG4gICAqL1xuICBwdWJsaWMgYXZhaWxhYmxlOiBBcnJheTxMaXN0U29ydExhYmVsTW9kZWw+ID0gW107XG4gIC8qKlxuICAgKiBUaGUgbGlzdCB2aWV3cyB0aGF0IHRoZSBzb3J0IGFwcGxpZXMgdG8uXG4gICAqL1xuICBwdWJsaWMgZ2xvYmFsOiBBcnJheTxMaXN0U29ydExhYmVsTW9kZWw+ID0gW107XG4gIC8qKlxuICAgKiBUaGUgZmllbGRzIHRvIHNvcnQuXG4gICAqIEZvciBpbmZvcm1hdGlvbiBhYm91dCBgTGlzdFNvcnRGaWVsZFNlbGVjdG9yTW9kZWxgLCBzZWUgdGhlXG4gICAqIFtzaGFyZWQgY2xhc3NlcyBmb3IgbGlzdHNdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgtbGlzdC1idWlsZGVyLWNvbW1vbi9kb2NzL2xpc3QtYnVpbGRlci1jb21tb24pLlxuICAgKi9cbiAgcHVibGljIGZpZWxkU2VsZWN0b3JzOiBBcnJheTxMaXN0U29ydEZpZWxkU2VsZWN0b3JNb2RlbD4gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihkYXRhPzogYW55KSB7XG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIHRoaXMuYXZhaWxhYmxlID0gZGF0YS5hdmFpbGFibGU7XG4gICAgICB0aGlzLmdsb2JhbCA9IGRhdGEuZ2xvYmFsO1xuICAgICAgdGhpcy5maWVsZFNlbGVjdG9ycyA9IGRhdGEuZmllbGRTZWxlY3RvcnM7XG4gICAgfVxuICB9XG59XG4iXX0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9saXN0LWJ1aWxkZXIvc3JjL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvc29ydC9zb3J0Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBOzs7R0FHRztBQUNILE1BQU0sT0FBTyxhQUFhO0lBZ0J4QixZQUFZLElBQVU7UUFmdEI7O1dBRUc7UUFDSSxjQUFTLEdBQXlCLEVBQUUsQ0FBQztRQUM1Qzs7V0FFRztRQUNJLFdBQU0sR0FBeUIsRUFBRSxDQUFDO1FBQ3pDOzs7O1dBSUc7UUFDSSxtQkFBYyxHQUFpQyxFQUFFLENBQUM7UUFHdkQsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDMUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQzVDLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMaXN0U29ydEZpZWxkU2VsZWN0b3JNb2RlbCB9IGZyb20gJ0Bza3l1eC9saXN0LWJ1aWxkZXItY29tbW9uJztcblxuaW1wb3J0IHsgTGlzdFNvcnRMYWJlbE1vZGVsIH0gZnJvbSAnLi9sYWJlbC5tb2RlbCc7XG5cbi8qKlxuICogU3BlY2lmaWVzIGEgc2V0IG9mIGZpZWxkcyB0byBzb3J0IGJ5LlxuICogQGRlcHJlY2F0ZWRcbiAqL1xuZXhwb3J0IGNsYXNzIExpc3RTb3J0TW9kZWwge1xuICAvKipcbiAgICogVGhlIGxpc3Qgb2YgYXZhaWxhYmxlIHZpZXdzIHRvIHNvcnQuXG4gICAqL1xuICBwdWJsaWMgYXZhaWxhYmxlOiBMaXN0U29ydExhYmVsTW9kZWxbXSA9IFtdO1xuICAvKipcbiAgICogVGhlIGxpc3Qgdmlld3MgdGhhdCB0aGUgc29ydCBhcHBsaWVzIHRvLlxuICAgKi9cbiAgcHVibGljIGdsb2JhbDogTGlzdFNvcnRMYWJlbE1vZGVsW10gPSBbXTtcbiAgLyoqXG4gICAqIFRoZSBmaWVsZHMgdG8gc29ydC5cbiAgICogRm9yIGluZm9ybWF0aW9uIGFib3V0IGBMaXN0U29ydEZpZWxkU2VsZWN0b3JNb2RlbGAsIHNlZSB0aGVcbiAgICogW3NoYXJlZCBjbGFzc2VzIGZvciBsaXN0c10oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC1saXN0LWJ1aWxkZXItY29tbW9uL2RvY3MvbGlzdC1idWlsZGVyLWNvbW1vbikuXG4gICAqL1xuICBwdWJsaWMgZmllbGRTZWxlY3RvcnM6IExpc3RTb3J0RmllbGRTZWxlY3Rvck1vZGVsW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihkYXRhPzogYW55KSB7XG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIHRoaXMuYXZhaWxhYmxlID0gZGF0YS5hdmFpbGFibGU7XG4gICAgICB0aGlzLmdsb2JhbCA9IGRhdGEuZ2xvYmFsO1xuICAgICAgdGhpcy5maWVsZFNlbGVjdG9ycyA9IGRhdGEuZmllbGRTZWxlY3RvcnM7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -8,4 +8,4 @@ export class ListToolbarItemsLoadAction {
8
8
  this.index = index;
9
9
  }
10
10
  }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC5hY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGlzdC1idWlsZGVyL3NyYy9saWIvbW9kdWxlcy9saXN0L3N0YXRlL3Rvb2xiYXIvbG9hZC5hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLDBCQUEwQjtJQUNyQyxZQUNTLEtBQTZCLEVBQzdCLFFBQWdCLENBQUMsQ0FBQztRQURsQixVQUFLLEdBQUwsS0FBSyxDQUF3QjtRQUM3QixVQUFLLEdBQUwsS0FBSyxDQUFhO0lBQ3hCLENBQUM7Q0FDTCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpc3RUb29sYmFySXRlbU1vZGVsIH0gZnJvbSAnLi90b29sYmFyLWl0ZW0ubW9kZWwnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICogQGRlcHJlY2F0ZWRcbiAqL1xuZXhwb3J0IGNsYXNzIExpc3RUb29sYmFySXRlbXNMb2FkQWN0aW9uIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGl0ZW1zOiBMaXN0VG9vbGJhckl0ZW1Nb2RlbFtdLFxuICAgIHB1YmxpYyBpbmRleDogbnVtYmVyID0gLTEsXG4gICkge31cbn1cbiJdfQ==
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC5hY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGlzdC1idWlsZGVyL3NyYy9saWIvbW9kdWxlcy9saXN0L3N0YXRlL3Rvb2xiYXIvbG9hZC5hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLDBCQUEwQjtJQUNyQyxZQUFtQixLQUE2QixFQUFTLFFBQVEsQ0FBQyxDQUFDO1FBQWhELFVBQUssR0FBTCxLQUFLLENBQXdCO1FBQVMsVUFBSyxHQUFMLEtBQUssQ0FBSztJQUFHLENBQUM7Q0FDeEUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMaXN0VG9vbGJhckl0ZW1Nb2RlbCB9IGZyb20gJy4vdG9vbGJhci1pdGVtLm1vZGVsJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCBjbGFzcyBMaXN0VG9vbGJhckl0ZW1zTG9hZEFjdGlvbiB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBpdGVtczogTGlzdFRvb2xiYXJJdGVtTW9kZWxbXSwgcHVibGljIGluZGV4ID0gLTEpIHt9XG59XG4iXX0=
@@ -78,8 +78,7 @@ export class SkyListInMemoryDataProvider extends ListDataProvider {
78
78
  }
79
79
  else if (filters && filters.length > 0) {
80
80
  result = result.filter((item) => {
81
- for (let i = 0; i < filters.length; i++) {
82
- const filter = filters[i];
81
+ for (const filter of filters) {
83
82
  if (filter.value === undefined ||
84
83
  filter.value === '' ||
85
84
  filter.value === false ||
@@ -118,8 +117,7 @@ export class SkyListInMemoryDataProvider extends ListDataProvider {
118
117
  }
119
118
  result = result.filter((item) => {
120
119
  let isMatch = false;
121
- for (let i = 0; i < searchFunctions.length; i++) {
122
- const searchFunction = searchFunctions[i];
120
+ for (const searchFunction of searchFunctions) {
123
121
  const searchResult = searchFunction(item.data, searchText);
124
122
  if ((typeof searchResult === 'string' &&
125
123
  searchResult.indexOf(searchText) !== -1) ||
@@ -141,8 +139,7 @@ export class SkyListInMemoryDataProvider extends ListDataProvider {
141
139
  .slice()
142
140
  .sort((item1, item2) => {
143
141
  let compareResult = 0;
144
- for (let i = 0; i < sort.fieldSelectors.length; i++) {
145
- const selector = sort.fieldSelectors[i];
142
+ for (const selector of sort.fieldSelectors) {
146
143
  const value1 = getData(item1.data, selector.fieldSelector);
147
144
  const value2 = getData(item2.data, selector.fieldSelector);
148
145
  compareResult = compare(value1, value2);
@@ -160,4 +157,4 @@ export class SkyListInMemoryDataProvider extends ListDataProvider {
160
157
  }));
161
158
  }
162
159
  }
163
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1kYXRhLWluLW1lbW9yeS5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9saXN0LWJ1aWxkZXIvc3JjL2xpYi9tb2R1bGVzL2xpc3QtZGF0YS1wcm92aWRlci1pbi1tZW1vcnkvbGlzdC1kYXRhLWluLW1lbW9yeS5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU3RSxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxHQUFHLElBQUksYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXBFLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztBQUVoQjs7R0FFRztBQUNILE1BQU0sT0FBTywyQkFBNEIsU0FBUSxnQkFBZ0I7SUFhL0QsWUFDRSxJQUE2QixFQUM3QixjQUEyRDtRQUUzRCxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFoQlAsVUFBSyxHQUEwQyxJQUFJLGVBQWUsQ0FFdkUsRUFBRSxDQUFDLENBQUM7UUFnQkosSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7UUFFckMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ2IsS0FBSyxDQUFDLEdBQUcsQ0FDUCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ0os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O3dCQUV4QyxJQUFJLFFBQVEsQ0FBQyxVQUFVLElBQUksYUFBYSxLQUFLLENBQUMsRUFBRSxDQUFDOzRCQUMvQyxhQUFhLElBQUksQ0FBQyxDQUFDLENBQUM7d0JBQ3RCLENBQUM7d0JBRUQsSUFBSSxhQUFhLEtBQUssQ0FBQyxFQUFFLENBQUM7NEJBQ3hCLE1BQU07d0JBQ1IsQ0FBQztvQkFDSCxDQUFDO29CQUVELE9BQU8sYUFBYSxDQUFDO2dCQUN2QixDQUFDLENBQUMsQ0FBQztZQUNQLENBQUM7WUFDRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGlzdEl0ZW1Nb2RlbCwgY29tcGFyZSwgZ2V0RGF0YSB9IGZyb20gJ0Bza3l1eC9saXN0LWJ1aWxkZXItY29tbW9uJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgYXMgb2JzZXJ2YWJsZU1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTGlzdEZpbHRlck1vZGVsIH0gZnJvbSAnLi4vbGlzdC1maWx0ZXJzL2ZpbHRlci5tb2RlbCc7XG5pbXBvcnQgeyBMaXN0RGF0YVJlcXVlc3RNb2RlbCB9IGZyb20gJy4uL2xpc3QvbGlzdC1kYXRhLXJlcXVlc3QubW9kZWwnO1xuaW1wb3J0IHsgTGlzdERhdGFSZXNwb25zZU1vZGVsIH0gZnJvbSAnLi4vbGlzdC9saXN0LWRhdGEtcmVzcG9uc2UubW9kZWwnO1xuaW1wb3J0IHsgTGlzdERhdGFQcm92aWRlciB9IGZyb20gJy4uL2xpc3QvbGlzdC1kYXRhLnByb3ZpZGVyJztcbmltcG9ydCB7IExpc3RTZWFyY2hNb2RlbCB9IGZyb20gJy4uL2xpc3Qvc3RhdGUvc2VhcmNoL3NlYXJjaC5tb2RlbCc7XG5cbmxldCBpZEluZGV4ID0gMDtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZFxuICovXG5leHBvcnQgY2xhc3MgU2t5TGlzdEluTWVtb3J5RGF0YVByb3ZpZGVyIGV4dGVuZHMgTGlzdERhdGFQcm92aWRlciB7XG4gIHB1YmxpYyBpdGVtczogQmVoYXZpb3JTdWJqZWN0PEFycmF5PExpc3RJdGVtTW9kZWw+PiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8XG4gICAgQXJyYXk8TGlzdEl0ZW1Nb2RlbD5cbiAgPihbXSk7XG5cbiAgcHJpdmF0ZSBsYXN0SXRlbXM6IExpc3RJdGVtTW9kZWxbXTtcbiAgcHJpdmF0ZSBsYXN0U2VhcmNoOiBMaXN0U2VhcmNoTW9kZWw7XG4gIHByaXZhdGUgbGFzdFNlYXJjaFJlc3VsdHM6IExpc3RJdGVtTW9kZWxbXTtcbiAgcHJpdmF0ZSBzZWFyY2hGdW5jdGlvbjogKGRhdGE6IGFueSwgc2VhcmNoVGV4dDogc3RyaW5nKSA9PiBib29sZWFuO1xuXG4gIHByaXZhdGUgbGFzdEZpbHRlcnM6IExpc3RGaWx0ZXJNb2RlbFtdO1xuICBwcml2YXRlIGxhc3RGaWx0ZXJSZXN1bHRzOiBMaXN0SXRlbU1vZGVsW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZGF0YT86IE9ic2VydmFibGU8QXJyYXk8YW55Pj4sXG4gICAgc2VhcmNoRnVuY3Rpb24/OiAoZGF0YTogYW55LCBzZWFyY2hUZXh0OiBzdHJpbmcpID0+IGJvb2xlYW4sXG4gICkge1xuICAgIHN1cGVyKGRhdGEpO1xuXG4gICAgdGhpcy5zZWFyY2hGdW5jdGlvbiA9IHNlYXJjaEZ1bmN0aW9uO1xuXG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIGRhdGEuc3Vic2NyaWJlKChpdGVtcykgPT4ge1xuICAgICAgICB0aGlzLml0ZW1zLm5leHQoXG4gICAgICAgICAgaXRlbXMubWFwKFxuICAgICAgICAgICAgKGQpID0+XG4gICAgICAgICAgICAgIG5ldyBMaXN0SXRlbU1vZGVsKFxuICAgICAgICAgICAgICAgIGQuaWQgfHwgYHNreS1saXN0LWRhdGEtaW4tbWVtb3J5LXByb3ZpZGVyLWl0ZW0tJHsrK2lkSW5kZXh9YCxcbiAgICAgICAgICAgICAgICBkLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY291bnQoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5waXBlKG9ic2VydmFibGVNYXAoKGl0ZW1zKSA9PiBpdGVtcy5sZW5ndGgpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQocmVxdWVzdDogTGlzdERhdGFSZXF1ZXN0TW9kZWwpOiBPYnNlcnZhYmxlPExpc3REYXRhUmVzcG9uc2VNb2RlbD4ge1xuICAgIHJldHVybiB0aGlzLmZpbHRlcmVkSXRlbXMocmVxdWVzdCkucGlwZShcbiAgICAgIG9ic2VydmFibGVNYXAoKHJlc3VsdCkgPT4ge1xuICAgICAgICBpZiAocmVxdWVzdC5wYWdlTnVtYmVyICYmIHJlcXVlc3QucGFnZVNpemUpIHtcbiAgICAgICAgICBjb25zdCBpdGVtU3RhcnQgPSAocmVxdWVzdC5wYWdlTnVtYmVyIC0gMSkgKiByZXF1ZXN0LnBhZ2VTaXplO1xuICAgICAgICAgIGNvbnN0IHBhZ2VkUmVzdWx0ID0gcmVzdWx0LnNsaWNlKFxuICAgICAgICAgICAgaXRlbVN0YXJ0LFxuICAgICAgICAgICAgaXRlbVN0YXJ0ICsgcmVxdWVzdC5wYWdlU2l6ZSxcbiAgICAgICAgICApO1xuICAgICAgICAgIHJldHVybiBuZXcgTGlzdERhdGFSZXNwb25zZU1vZGVsKHtcbiAgICAgICAgICAgIGNvdW50OiByZXN1bHQubGVuZ3RoLFxuICAgICAgICAgICAgaXRlbXM6IHBhZ2VkUmVzdWx0LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBuZXcgTGlzdERhdGFSZXNwb25zZU1vZGVsKHtcbiAgICAgICAgICAgIGNvdW50OiByZXN1bHQubGVuZ3RoLFxuICAgICAgICAgICAgaXRlbXM6IHJlc3VsdCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZmlsdGVyZWRJdGVtcyhcbiAgICByZXF1ZXN0OiBMaXN0RGF0YVJlcXVlc3RNb2RlbCxcbiAgKTogT2JzZXJ2YWJsZTxBcnJheTxMaXN0SXRlbU1vZGVsPj4ge1xuICAgIGNvbnN0IHNob3dTZWxlY3RlZElkID0gWydzaG93LXNlbGVjdGVkJ107XG5cbiAgICByZXR1cm4gdGhpcy5pdGVtcy5waXBlKFxuICAgICAgb2JzZXJ2YWJsZU1hcCgoaXRlbXMpID0+IHtcbiAgICAgICAgbGV0IGRhdGFDaGFuZ2VkID0gZmFsc2U7XG4gICAgICAgIGxldCBzZWFyY2ggPSByZXF1ZXN0LnNlYXJjaDtcbiAgICAgICAgY29uc3Qgc29ydCA9IHJlcXVlc3Quc29ydDtcbiAgICAgICAgbGV0IGZpbHRlcnM6IExpc3RGaWx0ZXJNb2RlbFtdID0gcmVxdWVzdC5maWx0ZXJzO1xuXG4gICAgICAgIGlmICh0aGlzLmxhc3RJdGVtcyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMubGFzdEl0ZW1zICE9PSBpdGVtcykge1xuICAgICAgICAgIGRhdGFDaGFuZ2VkID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmxhc3RJdGVtcyA9IGl0ZW1zO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHNlYXJjaENoYW5nZWQgPSBmYWxzZTtcbiAgICAgICAgbGV0IGZpbHRlcnNDaGFuZ2VkID0gZmFsc2U7XG5cbiAgICAgICAgaWYgKHJlcXVlc3QuaXNUb29sYmFyRGlzYWJsZWQpIHtcbiAgICAgICAgICBzZWFyY2hDaGFuZ2VkID0gdHJ1ZTtcbiAgICAgICAgICBzZWFyY2ggPSBuZXcgTGlzdFNlYXJjaE1vZGVsKCk7XG5cbiAgICAgICAgICBmaWx0ZXJzID0gZmlsdGVycy5maWx0ZXIoKGYpID0+IHNob3dTZWxlY3RlZElkLmluZGV4T2YoZi5uYW1lKSA+PSAwKTtcbiAgICAgICAgICBmaWx0ZXJzQ2hhbmdlZCA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKHRoaXMubGFzdFNlYXJjaCA9PT0gdW5kZWZpbmVkIHx8IHRoaXMubGFzdFNlYXJjaCAhPT0gc2VhcmNoKSB7XG4gICAgICAgICAgICBzZWFyY2hDaGFuZ2VkID0gdHJ1ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodGhpcy5sYXN0RmlsdGVycyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMubGFzdEZpbHRlcnMgIT09IGZpbHRlcnMpIHtcbiAgICAgICAgICAgIGZpbHRlcnNDaGFuZ2VkID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmxhc3RTZWFyY2ggPSBzZWFyY2g7XG4gICAgICAgIHRoaXMubGFzdEZpbHRlcnMgPSBmaWx0ZXJzO1xuXG4gICAgICAgIGxldCByZXN1bHQgPSBpdGVtcztcblxuICAgICAgICAvLyBBcHBseSBmaWx0ZXJzLlxuICAgICAgICBpZiAoXG4gICAgICAgICAgIWRhdGFDaGFuZ2VkICYmXG4gICAgICAgICAgIWZpbHRlcnNDaGFuZ2VkICYmXG4gICAgICAgICAgdGhpcy5sYXN0RmlsdGVyUmVzdWx0cyAhPT0gdW5kZWZpbmVkXG4gICAgICAgICkge1xuICAgICAgICAgIHJlc3VsdCA9IHRoaXMubGFzdEZpbHRlclJlc3VsdHM7XG4gICAgICAgIH0gZWxzZSBpZiAoZmlsdGVycyAmJiBmaWx0ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICByZXN1bHQgPSByZXN1bHQuZmlsdGVyKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZpbHRlcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgY29uc3QgZmlsdGVyID0gZmlsdGVyc1tpXTtcbiAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIGZpbHRlci52YWx1ZSA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgICAgICAgZmlsdGVyLnZhbHVlID09PSAnJyB8fFxuICAgICAgICAgICAgICAgIGZpbHRlci52YWx1ZSA9PT0gZmFsc2UgfHxcbiAgICAgICAgICAgICAgICBmaWx0ZXIudmFsdWUgPT09IGZpbHRlci5kZWZhdWx0VmFsdWVcbiAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBpZiAoIWZpbHRlci5maWx0ZXJGdW5jdGlvbihpdGVtLCBmaWx0ZXIudmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHRoaXMubGFzdEZpbHRlclJlc3VsdHMgPSByZXN1bHQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5sYXN0RmlsdGVyUmVzdWx0cyA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFwcGx5IHNlYXJjaC5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgaWYgKFxuICAgICAgICAgICFkYXRhQ2hhbmdlZCAmJlxuICAgICAgICAgICFzZWFyY2hDaGFuZ2VkICYmXG4gICAgICAgICAgdGhpcy5sYXN0U2VhcmNoUmVzdWx0cyAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgIWZpbHRlcnNDaGFuZ2VkXG4gICAgICAgICkge1xuICAgICAgICAgIHJlc3VsdCA9IHRoaXMubGFzdFNlYXJjaFJlc3VsdHM7XG4gICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgc2VhcmNoICYmXG4gICAgICAgICAgc2VhcmNoLnNlYXJjaFRleHQgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgIHNlYXJjaC5zZWFyY2hUZXh0Lmxlbmd0aCA+IDBcbiAgICAgICAgKSB7XG4gICAgICAgICAgY29uc3Qgc2VhcmNoVGV4dCA9IHNlYXJjaC5zZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgbGV0IHNlYXJjaEZ1bmN0aW9uczogYW55W107XG4gICAgICAgICAgaWYgKHRoaXMuc2VhcmNoRnVuY3Rpb24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgc2VhcmNoRnVuY3Rpb25zID0gW3RoaXMuc2VhcmNoRnVuY3Rpb25dO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzZWFyY2hGdW5jdGlvbnMgPSBzZWFyY2guZnVuY3Rpb25zO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdC5maWx0ZXIoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGxldCBpc01hdGNoID0gZmFsc2U7XG5cbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2VhcmNoRnVuY3Rpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHNlYXJjaEZ1bmN0aW9uID0gc2VhcmNoRnVuY3Rpb25zW2ldO1xuICAgICAgICAgICAgICBjb25zdCBzZWFyY2hSZXN1bHQgPSBzZWFyY2hGdW5jdGlvbihpdGVtLmRhdGEsIHNlYXJjaFRleHQpO1xuXG4gICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAodHlwZW9mIHNlYXJjaFJlc3VsdCA9PT0gJ3N0cmluZycgJiZcbiAgICAgICAgICAgICAgICAgIHNlYXJjaFJlc3VsdC5pbmRleE9mKHNlYXJjaFRleHQpICE9PSAtMSkgfHxcbiAgICAgICAgICAgICAgICBzZWFyY2hSZXN1bHQgPT09IHRydWVcbiAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgaXNNYXRjaCA9IHRydWU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGlzTWF0Y2g7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICB0aGlzLmxhc3RTZWFyY2hSZXN1bHRzID0gcmVzdWx0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMubGFzdFNlYXJjaFJlc3VsdHMgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBcHBseSBzb3J0LlxuICAgICAgICBpZiAoc29ydCAmJiBzb3J0LmZpZWxkU2VsZWN0b3JzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICByZXN1bHQgPSByZXN1bHRcbiAgICAgICAgICAgIC5zbGljZSgpXG4gICAgICAgICAgICAuc29ydCgoaXRlbTE6IExpc3RJdGVtTW9kZWwsIGl0ZW0yOiBMaXN0SXRlbU1vZGVsKSA9PiB7XG4gICAgICAgICAgICAgIGxldCBjb21wYXJlUmVzdWx0ID0gMDtcbiAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzb3J0LmZpZWxkU2VsZWN0b3JzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0b3IgPSBzb3J0LmZpZWxkU2VsZWN0b3JzW2ldO1xuICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlMSA9IGdldERhdGEoaXRlbTEuZGF0YSwgc2VsZWN0b3IuZmllbGRTZWxlY3Rvcik7XG4gICAgICAgICAgICAgICAgY29uc3QgdmFsdWUyID0gZ2V0RGF0YShpdGVtMi5kYXRhLCBzZWxlY3Rvci5maWVsZFNlbGVjdG9yKTtcblxuICAgICAgICAgICAgICAgIGNvbXBhcmVSZXN1bHQgPSBjb21wYXJlKHZhbHVlMSwgdmFsdWUyKTtcblxuICAgICAgICAgICAgICAgIGlmIChzZWxlY3Rvci5kZXNjZW5kaW5nICYmIGNvbXBhcmVSZXN1bHQgIT09IDApIHtcbiAgICAgICAgICAgICAgICAgIGNvbXBhcmVSZXN1bHQgKj0gLTE7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGNvbXBhcmVSZXN1bHQgIT09IDApIHtcbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiBjb21wYXJlUmVzdWx0O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1kYXRhLWluLW1lbW9yeS5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9saXN0LWJ1aWxkZXIvc3JjL2xpYi9tb2R1bGVzL2xpc3QtZGF0YS1wcm92aWRlci1pbi1tZW1vcnkvbGlzdC1kYXRhLWluLW1lbW9yeS5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU3RSxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxHQUFHLElBQUksYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXBFLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztBQUVoQjs7R0FFRztBQUNILE1BQU0sT0FBTywyQkFBNEIsU0FBUSxnQkFBZ0I7SUFhL0QsWUFDRSxJQUF3QixFQUN4QixjQUEyRDtRQUUzRCxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFoQlAsVUFBSyxHQUFxQyxJQUFJLGVBQWUsQ0FFbEUsRUFBRSxDQUFDLENBQUM7UUFnQkosSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7UUFFckMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ2IsS0FBSyxDQUFDLEdBQUcsQ0FDUCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ0os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LCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMaXN0SXRlbU1vZGVsLCBjb21wYXJlLCBnZXREYXRhIH0gZnJvbSAnQHNreXV4L2xpc3QtYnVpbGRlci1jb21tb24nO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCBhcyBvYnNlcnZhYmxlTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBMaXN0RmlsdGVyTW9kZWwgfSBmcm9tICcuLi9saXN0LWZpbHRlcnMvZmlsdGVyLm1vZGVsJztcbmltcG9ydCB7IExpc3REYXRhUmVxdWVzdE1vZGVsIH0gZnJvbSAnLi4vbGlzdC9saXN0LWRhdGEtcmVxdWVzdC5tb2RlbCc7XG5pbXBvcnQgeyBMaXN0RGF0YVJlc3BvbnNlTW9kZWwgfSBmcm9tICcuLi9saXN0L2xpc3QtZGF0YS1yZXNwb25zZS5tb2RlbCc7XG5pbXBvcnQgeyBMaXN0RGF0YVByb3ZpZGVyIH0gZnJvbSAnLi4vbGlzdC9saXN0LWRhdGEucHJvdmlkZXInO1xuaW1wb3J0IHsgTGlzdFNlYXJjaE1vZGVsIH0gZnJvbSAnLi4vbGlzdC9zdGF0ZS9zZWFyY2gvc2VhcmNoLm1vZGVsJztcblxubGV0IGlkSW5kZXggPSAwO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lMaXN0SW5NZW1vcnlEYXRhUHJvdmlkZXIgZXh0ZW5kcyBMaXN0RGF0YVByb3ZpZGVyIHtcbiAgcHVibGljIGl0ZW1zOiBCZWhhdmlvclN1YmplY3Q8TGlzdEl0ZW1Nb2RlbFtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8XG4gICAgTGlzdEl0ZW1Nb2RlbFtdXG4gID4oW10pO1xuXG4gIHByaXZhdGUgbGFzdEl0ZW1zOiBMaXN0SXRlbU1vZGVsW107XG4gIHByaXZhdGUgbGFzdFNlYXJjaDogTGlzdFNlYXJjaE1vZGVsO1xuICBwcml2YXRlIGxhc3RTZWFyY2hSZXN1bHRzOiBMaXN0SXRlbU1vZGVsW107XG4gIHByaXZhdGUgc2VhcmNoRnVuY3Rpb246IChkYXRhOiBhbnksIHNlYXJjaFRleHQ6IHN0cmluZykgPT4gYm9vbGVhbjtcblxuICBwcml2YXRlIGxhc3RGaWx0ZXJzOiBMaXN0RmlsdGVyTW9kZWxbXTtcbiAgcHJpdmF0ZSBsYXN0RmlsdGVyUmVzdWx0czogTGlzdEl0ZW1Nb2RlbFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGRhdGE/OiBPYnNlcnZhYmxlPGFueVtdPixcbiAgICBzZWFyY2hGdW5jdGlvbj86IChkYXRhOiBhbnksIHNlYXJjaFRleHQ6IHN0cmluZykgPT4gYm9vbGVhbixcbiAgKSB7XG4gICAgc3VwZXIoZGF0YSk7XG5cbiAgICB0aGlzLnNlYXJjaEZ1bmN0aW9uID0gc2VhcmNoRnVuY3Rpb247XG5cbiAgICBpZiAoZGF0YSkge1xuICAgICAgZGF0YS5zdWJzY3JpYmUoKGl0ZW1zKSA9PiB7XG4gICAgICAgIHRoaXMuaXRlbXMubmV4dChcbiAgICAgICAgICBpdGVtcy5tYXAoXG4gICAgICAgICAgICAoZCkgPT5cbiAgICAgICAgICAgICAgbmV3IExpc3RJdGVtTW9kZWwoXG4gICAgICAgICAgICAgICAgZC5pZCB8fCBgc2t5LWxpc3QtZGF0YS1pbi1tZW1vcnktcHJvdmlkZXItaXRlbS0keysraWRJbmRleH1gLFxuICAgICAgICAgICAgICAgIGQsXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjb3VudCgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLnBpcGUob2JzZXJ2YWJsZU1hcCgoaXRlbXMpID0+IGl0ZW1zLmxlbmd0aCkpO1xuICB9XG5cbiAgcHVibGljIGdldChyZXF1ZXN0OiBMaXN0RGF0YVJlcXVlc3RNb2RlbCk6IE9ic2VydmFibGU8TGlzdERhdGFSZXNwb25zZU1vZGVsPiB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyZWRJdGVtcyhyZXF1ZXN0KS5waXBlKFxuICAgICAgb2JzZXJ2YWJsZU1hcCgocmVzdWx0KSA9PiB7XG4gICAgICAgIGlmIChyZXF1ZXN0LnBhZ2VOdW1iZXIgJiYgcmVxdWVzdC5wYWdlU2l6ZSkge1xuICAgICAgICAgIGNvbnN0IGl0ZW1TdGFydCA9IChyZXF1ZXN0LnBhZ2VOdW1iZXIgLSAxKSAqIHJlcXVlc3QucGFnZVNpemU7XG4gICAgICAgICAgY29uc3QgcGFnZWRSZXN1bHQgPSByZXN1bHQuc2xpY2UoXG4gICAgICAgICAgICBpdGVtU3RhcnQsXG4gICAgICAgICAgICBpdGVtU3RhcnQgKyByZXF1ZXN0LnBhZ2VTaXplLFxuICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIG5ldyBMaXN0RGF0YVJlc3BvbnNlTW9kZWwoe1xuICAgICAgICAgICAgY291bnQ6IHJlc3VsdC5sZW5ndGgsXG4gICAgICAgICAgICBpdGVtczogcGFnZWRSZXN1bHQsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIG5ldyBMaXN0RGF0YVJlc3BvbnNlTW9kZWwoe1xuICAgICAgICAgICAgY291bnQ6IHJlc3VsdC5sZW5ndGgsXG4gICAgICAgICAgICBpdGVtczogcmVzdWx0LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBmaWx0ZXJlZEl0ZW1zKFxuICAgIHJlcXVlc3Q6IExpc3REYXRhUmVxdWVzdE1vZGVsLFxuICApOiBPYnNlcnZhYmxlPExpc3RJdGVtTW9kZWxbXT4ge1xuICAgIGNvbnN0IHNob3dTZWxlY3RlZElkID0gWydzaG93LXNlbGVjdGVkJ107XG5cbiAgICByZXR1cm4gdGhpcy5pdGVtcy5waXBlKFxuICAgICAgb2JzZXJ2YWJsZU1hcCgoaXRlbXMpID0+IHtcbiAgICAgICAgbGV0IGRhdGFDaGFuZ2VkID0gZmFsc2U7XG4gICAgICAgIGxldCBzZWFyY2ggPSByZXF1ZXN0LnNlYXJjaDtcbiAgICAgICAgY29uc3Qgc29ydCA9IHJlcXVlc3Quc29ydDtcbiAgICAgICAgbGV0IGZpbHRlcnM6IExpc3RGaWx0ZXJNb2RlbFtdID0gcmVxdWVzdC5maWx0ZXJzO1xuXG4gICAgICAgIGlmICh0aGlzLmxhc3RJdGVtcyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMubGFzdEl0ZW1zICE9PSBpdGVtcykge1xuICAgICAgICAgIGRhdGFDaGFuZ2VkID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmxhc3RJdGVtcyA9IGl0ZW1zO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHNlYXJjaENoYW5nZWQgPSBmYWxzZTtcbiAgICAgICAgbGV0IGZpbHRlcnNDaGFuZ2VkID0gZmFsc2U7XG5cbiAgICAgICAgaWYgKHJlcXVlc3QuaXNUb29sYmFyRGlzYWJsZWQpIHtcbiAgICAgICAgICBzZWFyY2hDaGFuZ2VkID0gdHJ1ZTtcbiAgICAgICAgICBzZWFyY2ggPSBuZXcgTGlzdFNlYXJjaE1vZGVsKCk7XG5cbiAgICAgICAgICBmaWx0ZXJzID0gZmlsdGVycy5maWx0ZXIoKGYpID0+IHNob3dTZWxlY3RlZElkLmluZGV4T2YoZi5uYW1lKSA+PSAwKTtcbiAgICAgICAgICBmaWx0ZXJzQ2hhbmdlZCA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKHRoaXMubGFzdFNlYXJjaCA9PT0gdW5kZWZpbmVkIHx8IHRoaXMubGFzdFNlYXJjaCAhPT0gc2VhcmNoKSB7XG4gICAgICAgICAgICBzZWFyY2hDaGFuZ2VkID0gdHJ1ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodGhpcy5sYXN0RmlsdGVycyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMubGFzdEZpbHRlcnMgIT09IGZpbHRlcnMpIHtcbiAgICAgICAgICAgIGZpbHRlcnNDaGFuZ2VkID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmxhc3RTZWFyY2ggPSBzZWFyY2g7XG4gICAgICAgIHRoaXMubGFzdEZpbHRlcnMgPSBmaWx0ZXJzO1xuXG4gICAgICAgIGxldCByZXN1bHQgPSBpdGVtcztcblxuICAgICAgICAvLyBBcHBseSBmaWx0ZXJzLlxuICAgICAgICBpZiAoXG4gICAgICAgICAgIWRhdGFDaGFuZ2VkICYmXG4gICAgICAgICAgIWZpbHRlcnNDaGFuZ2VkICYmXG4gICAgICAgICAgdGhpcy5sYXN0RmlsdGVyUmVzdWx0cyAhPT0gdW5kZWZpbmVkXG4gICAgICAgICkge1xuICAgICAgICAgIHJlc3VsdCA9IHRoaXMubGFzdEZpbHRlclJlc3VsdHM7XG4gICAgICAgIH0gZWxzZSBpZiAoZmlsdGVycyAmJiBmaWx0ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICByZXN1bHQgPSByZXN1bHQuZmlsdGVyKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGZpbHRlciBvZiBmaWx0ZXJzKSB7XG4gICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBmaWx0ZXIudmFsdWUgPT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgICAgIGZpbHRlci52YWx1ZSA9PT0gJycgfHxcbiAgICAgICAgICAgICAgICBmaWx0ZXIudmFsdWUgPT09IGZhbHNlIHx8XG4gICAgICAgICAgICAgICAgZmlsdGVyLnZhbHVlID09PSBmaWx0ZXIuZGVmYXVsdFZhbHVlXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgaWYgKCFmaWx0ZXIuZmlsdGVyRnVuY3Rpb24oaXRlbSwgZmlsdGVyLnZhbHVlKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICB0aGlzLmxhc3RGaWx0ZXJSZXN1bHRzID0gcmVzdWx0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMubGFzdEZpbHRlclJlc3VsdHMgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBcHBseSBzZWFyY2guXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIGlmIChcbiAgICAgICAgICAhZGF0YUNoYW5nZWQgJiZcbiAgICAgICAgICAhc2VhcmNoQ2hhbmdlZCAmJlxuICAgICAgICAgIHRoaXMubGFzdFNlYXJjaFJlc3VsdHMgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICFmaWx0ZXJzQ2hhbmdlZFxuICAgICAgICApIHtcbiAgICAgICAgICByZXN1bHQgPSB0aGlzLmxhc3RTZWFyY2hSZXN1bHRzO1xuICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgIHNlYXJjaCAmJlxuICAgICAgICAgIHNlYXJjaC5zZWFyY2hUZXh0ICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICBzZWFyY2guc2VhcmNoVGV4dC5sZW5ndGggPiAwXG4gICAgICAgICkge1xuICAgICAgICAgIGNvbnN0IHNlYXJjaFRleHQgPSBzZWFyY2guc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgIGxldCBzZWFyY2hGdW5jdGlvbnM6IGFueVtdO1xuICAgICAgICAgIGlmICh0aGlzLnNlYXJjaEZ1bmN0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHNlYXJjaEZ1bmN0aW9ucyA9IFt0aGlzLnNlYXJjaEZ1bmN0aW9uXTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc2VhcmNoRnVuY3Rpb25zID0gc2VhcmNoLmZ1bmN0aW9ucztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXN1bHQgPSByZXN1bHQuZmlsdGVyKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBsZXQgaXNNYXRjaCA9IGZhbHNlO1xuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHNlYXJjaEZ1bmN0aW9uIG9mIHNlYXJjaEZ1bmN0aW9ucykge1xuICAgICAgICAgICAgICBjb25zdCBzZWFyY2hSZXN1bHQgPSBzZWFyY2hGdW5jdGlvbihpdGVtLmRhdGEsIHNlYXJjaFRleHQpO1xuXG4gICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAodHlwZW9mIHNlYXJjaFJlc3VsdCA9PT0gJ3N0cmluZycgJiZcbiAgICAgICAgICAgICAgICAgIHNlYXJjaFJlc3VsdC5pbmRleE9mKHNlYXJjaFRleHQpICE9PSAtMSkgfHxcbiAgICAgICAgICAgICAgICBzZWFyY2hSZXN1bHQgPT09IHRydWVcbiAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgaXNNYXRjaCA9IHRydWU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGlzTWF0Y2g7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICB0aGlzLmxhc3RTZWFyY2hSZXN1bHRzID0gcmVzdWx0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMubGFzdFNlYXJjaFJlc3VsdHMgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBcHBseSBzb3J0LlxuICAgICAgICBpZiAoc29ydCAmJiBzb3J0LmZpZWxkU2VsZWN0b3JzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICByZXN1bHQgPSByZXN1bHRcbiAgICAgICAgICAgIC5zbGljZSgpXG4gICAgICAgICAgICAuc29ydCgoaXRlbTE6IExpc3RJdGVtTW9kZWwsIGl0ZW0yOiBMaXN0SXRlbU1vZGVsKSA9PiB7XG4gICAgICAgICAgICAgIGxldCBjb21wYXJlUmVzdWx0ID0gMDtcbiAgICAgICAgICAgICAgZm9yIChjb25zdCBzZWxlY3RvciBvZiBzb3J0LmZpZWxkU2VsZWN0b3JzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdmFsdWUxID0gZ2V0RGF0YShpdGVtMS5kYXRhLCBzZWxlY3Rvci5maWVsZFNlbGVjdG9yKTtcbiAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZTIgPSBnZXREYXRhKGl0ZW0yLmRhdGEsIHNlbGVjdG9yLmZpZWxkU2VsZWN0b3IpO1xuXG4gICAgICAgICAgICAgICAgY29tcGFyZVJlc3VsdCA9IGNvbXBhcmUodmFsdWUxLCB2YWx1ZTIpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHNlbGVjdG9yLmRlc2NlbmRpbmcgJiYgY29tcGFyZVJlc3VsdCAhPT0gMCkge1xuICAgICAgICAgICAgICAgICAgY29tcGFyZVJlc3VsdCAqPSAtMTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoY29tcGFyZVJlc3VsdCAhPT0gMCkge1xuICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgcmV0dXJuIGNvbXBhcmVSZXN1bHQ7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxufVxuIl19