@theseam/ui-common 0.4.28-beta.4 → 0.4.28

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 (230) hide show
  1. package/breadcrumbs/breadcrumbs/breadcrumbs.component.scss +1 -1
  2. package/datatable/datatable/datatable.component.d.ts +9 -61
  3. package/datatable/datatable-menu-bar/datatable-menu-bar.component.d.ts +2 -2
  4. package/datatable/datatable.module.d.ts +20 -29
  5. package/datatable/models/table-column.d.ts +1 -22
  6. package/datatable/public-api.d.ts +0 -14
  7. package/datatable/services/columns-manager.service.d.ts +0 -7
  8. package/datatable/utils/create-action-menu-column.d.ts +1 -1
  9. package/esm2020/breadcrumbs/breadcrumbs/breadcrumbs.component.mjs +2 -2
  10. package/esm2020/datatable/datatable/datatable.component.mjs +31 -240
  11. package/esm2020/datatable/datatable-action-menu/datatable-action-menu.component.mjs +2 -2
  12. package/esm2020/datatable/datatable-column-preferences-button/datatable-column-preferences-button.component.mjs +1 -1
  13. package/esm2020/datatable/datatable-export-button/datatable-export-button.component.mjs +1 -1
  14. package/esm2020/datatable/datatable-menu-bar/datatable-menu-bar.component.mjs +1 -1
  15. package/esm2020/datatable/datatable.module.mjs +7 -49
  16. package/esm2020/datatable/models/table-column.mjs +1 -1
  17. package/esm2020/datatable/public-api.mjs +1 -15
  18. package/esm2020/datatable/services/columns-manager.service.mjs +2 -27
  19. package/esm2020/datatable/utils/create-action-menu-column.mjs +3 -4
  20. package/esm2020/datatable-dynamic/datatable-dynamic-action-menu/datatable-dynamic-action-menu.component.mjs +1 -1
  21. package/esm2020/datatable-dynamic/datatable-dynamic.component.mjs +1 -1
  22. package/esm2020/framework/base-layout/base-layout.component.mjs +4 -14
  23. package/esm2020/framework/base-layout/base-layout.module.mjs +1 -6
  24. package/esm2020/framework/base-layout/directives/base-layout-nav-toggle.directive.mjs +5 -21
  25. package/esm2020/framework/base-layout/index.mjs +1 -2
  26. package/esm2020/framework/public-api.mjs +1 -2
  27. package/esm2020/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.mjs +2 -2
  28. package/esm2020/framework/side-nav/side-nav-item/side-nav-item.component.mjs +78 -28
  29. package/esm2020/framework/side-nav/side-nav-toggle/side-nav-toggle.component.mjs +5 -12
  30. package/esm2020/framework/side-nav/side-nav-tokens.mjs +5 -1
  31. package/esm2020/framework/side-nav/side-nav-utils.mjs +13 -3
  32. package/esm2020/framework/side-nav/side-nav.component.mjs +52 -119
  33. package/esm2020/framework/side-nav/side-nav.models.mjs +1 -1
  34. package/esm2020/framework/side-nav/side-nav.module.mjs +39 -9
  35. package/esm2020/framework/side-nav/side-nav.service.mjs +1 -1
  36. package/esm2020/framework/top-bar/index.mjs +1 -3
  37. package/esm2020/framework/top-bar/top-bar-item.directive.mjs +4 -10
  38. package/esm2020/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.mjs +4 -6
  39. package/esm2020/framework/top-bar/top-bar.component.mjs +11 -55
  40. package/esm2020/framework/top-bar/top-bar.module.mjs +5 -15
  41. package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.component.mjs +3 -3
  42. package/esm2020/graphql/datatable/datatable-graphql.service.mjs +1 -1
  43. package/esm2020/graphql/datatable/index.mjs +1 -4
  44. package/esm2020/graphql/datatable/map-filter-states.mjs +1 -1
  45. package/esm2020/layout/layout.service.mjs +2 -12
  46. package/esm2020/menu/menu-toggle.directive.mjs +2 -7
  47. package/esm2020/navigation-reload/navigation-reload.config.mjs +2 -0
  48. package/esm2020/navigation-reload/navigation-reload.provider.mjs +14 -0
  49. package/esm2020/navigation-reload/navigation-reload.service.mjs +54 -0
  50. package/esm2020/navigation-reload/public-api.mjs +4 -0
  51. package/esm2020/navigation-reload/theseam-ui-common-navigation-reload.mjs +5 -0
  52. package/esm2020/popover/popover/popover.component.mjs +3 -7
  53. package/esm2020/popover/popover.directive.mjs +2 -6
  54. package/esm2020/table/public-api.mjs +1 -4
  55. package/esm2020/table/table/table.component.mjs +5 -90
  56. package/esm2020/table/table.module.mjs +5 -21
  57. package/esm2020/table-cell-types/table-cell-type-string/table-cell-type-string.component.mjs +3 -5
  58. package/esm2020/utils/geo-json/coerce-feature-collection.mjs +1 -1
  59. package/esm2020/utils/geo-json/is-feature-collection.validator.mjs +1 -1
  60. package/esm2020/utils/geo-json/is-only-geometry-types.mjs +1 -1
  61. package/esm2020/utils/geo-json/merge-polygons.mjs +1 -1
  62. package/esm2020/utils/geo-json/no-inner-rings.validator.mjs +1 -1
  63. package/esm2020/utils/geo-json/split-multi-polygons.mjs +1 -1
  64. package/esm2020/widget/widget-content-components/widget-table/widget-table.component.mjs +1 -1
  65. package/fesm2015/theseam-ui-common-breadcrumbs.mjs +2 -2
  66. package/fesm2015/theseam-ui-common-breadcrumbs.mjs.map +1 -1
  67. package/fesm2015/theseam-ui-common-datatable-dynamic.mjs +2 -2
  68. package/fesm2015/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
  69. package/fesm2015/theseam-ui-common-datatable.mjs +62 -1035
  70. package/fesm2015/theseam-ui-common-datatable.mjs.map +1 -1
  71. package/fesm2015/theseam-ui-common-framework.mjs +193 -910
  72. package/fesm2015/theseam-ui-common-framework.mjs.map +1 -1
  73. package/fesm2015/theseam-ui-common-google-maps.mjs +2 -2
  74. package/fesm2015/theseam-ui-common-google-maps.mjs.map +1 -1
  75. package/fesm2015/theseam-ui-common-graphql.mjs +1 -254
  76. package/fesm2015/theseam-ui-common-graphql.mjs.map +1 -1
  77. package/fesm2015/theseam-ui-common-layout.mjs +2 -11
  78. package/fesm2015/theseam-ui-common-layout.mjs.map +1 -1
  79. package/fesm2015/theseam-ui-common-menu.mjs +1 -6
  80. package/fesm2015/theseam-ui-common-menu.mjs.map +1 -1
  81. package/fesm2015/theseam-ui-common-navigation-reload.mjs +75 -0
  82. package/fesm2015/theseam-ui-common-navigation-reload.mjs.map +1 -0
  83. package/fesm2015/theseam-ui-common-popover.mjs +3 -11
  84. package/fesm2015/theseam-ui-common-popover.mjs.map +1 -1
  85. package/fesm2015/theseam-ui-common-table-cell-types.mjs +2 -4
  86. package/fesm2015/theseam-ui-common-table-cell-types.mjs.map +1 -1
  87. package/fesm2015/theseam-ui-common-table.mjs +9 -201
  88. package/fesm2015/theseam-ui-common-table.mjs.map +1 -1
  89. package/fesm2015/theseam-ui-common-utils.mjs.map +1 -1
  90. package/fesm2015/theseam-ui-common-widget.mjs +1 -1
  91. package/fesm2015/theseam-ui-common-widget.mjs.map +1 -1
  92. package/fesm2020/theseam-ui-common-breadcrumbs.mjs +2 -2
  93. package/fesm2020/theseam-ui-common-breadcrumbs.mjs.map +1 -1
  94. package/fesm2020/theseam-ui-common-datatable-dynamic.mjs +2 -2
  95. package/fesm2020/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
  96. package/fesm2020/theseam-ui-common-datatable.mjs +62 -1019
  97. package/fesm2020/theseam-ui-common-datatable.mjs.map +1 -1
  98. package/fesm2020/theseam-ui-common-framework.mjs +196 -912
  99. package/fesm2020/theseam-ui-common-framework.mjs.map +1 -1
  100. package/fesm2020/theseam-ui-common-google-maps.mjs +2 -2
  101. package/fesm2020/theseam-ui-common-google-maps.mjs.map +1 -1
  102. package/fesm2020/theseam-ui-common-graphql.mjs +1 -254
  103. package/fesm2020/theseam-ui-common-graphql.mjs.map +1 -1
  104. package/fesm2020/theseam-ui-common-layout.mjs +2 -11
  105. package/fesm2020/theseam-ui-common-layout.mjs.map +1 -1
  106. package/fesm2020/theseam-ui-common-menu.mjs +1 -6
  107. package/fesm2020/theseam-ui-common-menu.mjs.map +1 -1
  108. package/fesm2020/theseam-ui-common-navigation-reload.mjs +74 -0
  109. package/fesm2020/theseam-ui-common-navigation-reload.mjs.map +1 -0
  110. package/fesm2020/theseam-ui-common-popover.mjs +3 -11
  111. package/fesm2020/theseam-ui-common-popover.mjs.map +1 -1
  112. package/fesm2020/theseam-ui-common-table-cell-types.mjs +2 -4
  113. package/fesm2020/theseam-ui-common-table-cell-types.mjs.map +1 -1
  114. package/fesm2020/theseam-ui-common-table.mjs +9 -199
  115. package/fesm2020/theseam-ui-common-table.mjs.map +1 -1
  116. package/fesm2020/theseam-ui-common-utils.mjs.map +1 -1
  117. package/fesm2020/theseam-ui-common-widget.mjs +1 -1
  118. package/fesm2020/theseam-ui-common-widget.mjs.map +1 -1
  119. package/framework/base-layout/base-layout.component.d.ts +2 -4
  120. package/framework/base-layout/base-layout.component.scss +10 -18
  121. package/framework/base-layout/base-layout.module.d.ts +10 -11
  122. package/framework/base-layout/directives/base-layout-nav-toggle.directive.d.ts +3 -8
  123. package/framework/base-layout/index.d.ts +0 -1
  124. package/framework/base-layout/styles/_variables.scss +0 -21
  125. package/framework/public-api.d.ts +0 -1
  126. package/framework/side-nav/side-nav-item/side-nav-item.component.d.ts +20 -7
  127. package/framework/side-nav/side-nav-item/side-nav-item.component.scss +16 -8
  128. package/framework/side-nav/side-nav-toggle/side-nav-toggle.component.d.ts +3 -5
  129. package/framework/side-nav/side-nav-toggle/side-nav-toggle.component.scss +6 -3
  130. package/framework/side-nav/side-nav-tokens.d.ts +8 -0
  131. package/framework/side-nav/side-nav-utils.d.ts +12 -6
  132. package/framework/side-nav/side-nav.component.d.ts +6 -16
  133. package/framework/side-nav/side-nav.component.scss +1 -0
  134. package/framework/side-nav/side-nav.models.d.ts +14 -9
  135. package/framework/side-nav/side-nav.module.d.ts +9 -1
  136. package/framework/side-nav/styles/_themes/light/_variables.scss +14 -24
  137. package/framework/side-nav/styles/_themes/primary/_variables.scss +0 -8
  138. package/framework/top-bar/index.d.ts +0 -2
  139. package/framework/top-bar/top-bar-item.directive.d.ts +1 -4
  140. package/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.d.ts +2 -5
  141. package/framework/top-bar/top-bar.component.d.ts +3 -25
  142. package/framework/top-bar/top-bar.component.scss +2 -7
  143. package/framework/top-bar/top-bar.module.d.ts +8 -10
  144. package/graphql/datatable/datatable-graphql.service.d.ts +1 -1
  145. package/graphql/datatable/index.d.ts +0 -3
  146. package/graphql/datatable/map-filter-states.d.ts +2 -2
  147. package/layout/layout.service.d.ts +1 -9
  148. package/menu/menu-toggle.directive.d.ts +1 -2
  149. package/navigation-reload/index.d.ts +5 -0
  150. package/navigation-reload/navigation-reload.config.d.ts +5 -0
  151. package/navigation-reload/navigation-reload.provider.d.ts +3 -0
  152. package/navigation-reload/navigation-reload.service.d.ts +13 -0
  153. package/navigation-reload/public-api.d.ts +3 -0
  154. package/package.json +11 -3
  155. package/popover/popover/popover.component.d.ts +1 -4
  156. package/popover/popover.directive.d.ts +1 -2
  157. package/styles/vendor/ngx-datatable/_ngx-datatable.scss +14 -83
  158. package/styles/vendor/ngx-datatable/_themes/bootstrap/_variables.scss +3 -38
  159. package/table/public-api.d.ts +0 -3
  160. package/table/table/table.component.d.ts +3 -21
  161. package/table/table.module.d.ts +1 -4
  162. package/datatable/datatable-column-filter-menu/datatable-column-filter-menu.component.d.ts +0 -25
  163. package/datatable/datatable-column-filter-search-date/datatable-column-filter-search-date.component.d.ts +0 -18
  164. package/datatable/datatable-column-filter-search-numeric/datatable-column-filter-search-numeric.component.d.ts +0 -16
  165. package/datatable/datatable-column-filter-search-text/datatable-column-filter-search-text.component.d.ts +0 -15
  166. package/datatable/directives/datatable-column-filter-tpl.directive.d.ts +0 -8
  167. package/datatable/directives/datatable-column-filter.directive.d.ts +0 -10
  168. package/datatable/models/action-item-column-position.d.ts +0 -13
  169. package/datatable/models/columns-data-filter.d.ts +0 -57
  170. package/datatable/models/columns-data-filters/models.d.ts +0 -65
  171. package/datatable/models/columns-data-filters/search-date.columns-data-filter.d.ts +0 -23
  172. package/datatable/models/columns-data-filters/search-numeric.columns-data-filter.d.ts +0 -22
  173. package/datatable/models/columns-data-filters/search-text.columns-data-filter.d.ts +0 -21
  174. package/datatable/models/columns-data-filters/utils.d.ts +0 -15
  175. package/datatable/models/datatable-config.d.ts +0 -97
  176. package/datatable/services/columns-filters.service.d.ts +0 -29
  177. package/esm2020/datatable/datatable-column-filter-menu/datatable-column-filter-menu.component.mjs +0 -55
  178. package/esm2020/datatable/datatable-column-filter-search-date/datatable-column-filter-search-date.component.mjs +0 -54
  179. package/esm2020/datatable/datatable-column-filter-search-numeric/datatable-column-filter-search-numeric.component.mjs +0 -48
  180. package/esm2020/datatable/datatable-column-filter-search-text/datatable-column-filter-search-text.component.mjs +0 -44
  181. package/esm2020/datatable/directives/datatable-column-filter-tpl.directive.mjs +0 -16
  182. package/esm2020/datatable/directives/datatable-column-filter.directive.mjs +0 -26
  183. package/esm2020/datatable/models/action-item-column-position.mjs +0 -5
  184. package/esm2020/datatable/models/columns-data-filter.mjs +0 -10
  185. package/esm2020/datatable/models/columns-data-filters/models.mjs +0 -74
  186. package/esm2020/datatable/models/columns-data-filters/search-date.columns-data-filter.mjs +0 -113
  187. package/esm2020/datatable/models/columns-data-filters/search-numeric.columns-data-filter.mjs +0 -104
  188. package/esm2020/datatable/models/columns-data-filters/search-text.columns-data-filter.mjs +0 -86
  189. package/esm2020/datatable/models/columns-data-filters/utils.mjs +0 -28
  190. package/esm2020/datatable/models/datatable-config.mjs +0 -3
  191. package/esm2020/datatable/services/columns-filters.service.mjs +0 -109
  192. package/esm2020/framework/base-layout/directives/base-layout-side-bar-header.directive.mjs +0 -16
  193. package/esm2020/framework/nav/horizontal-nav/horizontal-nav.component.mjs +0 -55
  194. package/esm2020/framework/nav/index.mjs +0 -6
  195. package/esm2020/framework/nav/nav-item/nav-item.component.mjs +0 -227
  196. package/esm2020/framework/nav/nav-utils.mjs +0 -107
  197. package/esm2020/framework/nav/nav.models.mjs +0 -2
  198. package/esm2020/framework/nav/nav.module.mjs +0 -67
  199. package/esm2020/framework/nav/nav.service.mjs +0 -204
  200. package/esm2020/framework/top-bar/top-bar-compact-menu-btn-detail.directive.mjs +0 -16
  201. package/esm2020/framework/top-bar/top-bar-nav-toggle-btn-detail.directive.mjs +0 -16
  202. package/esm2020/graphql/datatable/map-search-date-columns-data-filter-state-to-gql.mjs +0 -139
  203. package/esm2020/graphql/datatable/map-search-numeric-columns-data-filter-state-to-gql.mjs +0 -75
  204. package/esm2020/graphql/datatable/map-search-text-columns-data-filter-state-to-gql.mjs +0 -44
  205. package/esm2020/table/table-cell-tpl.directive.mjs +0 -17
  206. package/esm2020/table/table-column-header-tpl.directive.mjs +0 -17
  207. package/esm2020/table/table-column.component.mjs +0 -68
  208. package/framework/base-layout/directives/base-layout-side-bar-header.directive.d.ts +0 -9
  209. package/framework/nav/_nav-theme.scss +0 -4
  210. package/framework/nav/horizontal-nav/horizontal-nav.component.d.ts +0 -25
  211. package/framework/nav/horizontal-nav/horizontal-nav.component.scss +0 -50
  212. package/framework/nav/index.d.ts +0 -5
  213. package/framework/nav/nav-item/nav-item.component.d.ts +0 -74
  214. package/framework/nav/nav-item/nav-item.component.scss +0 -203
  215. package/framework/nav/nav-utils.d.ts +0 -20
  216. package/framework/nav/nav.models.d.ts +0 -77
  217. package/framework/nav/nav.module.d.ts +0 -17
  218. package/framework/nav/nav.service.d.ts +0 -27
  219. package/framework/nav/styles/_themes/light/_variables.scss +0 -56
  220. package/framework/nav/styles/_themes/primary/_variables.scss +0 -56
  221. package/framework/nav/styles/_utilities.scss +0 -3
  222. package/framework/nav/styles/_variables.scss +0 -2
  223. package/framework/top-bar/top-bar-compact-menu-btn-detail.directive.d.ts +0 -8
  224. package/framework/top-bar/top-bar-nav-toggle-btn-detail.directive.d.ts +0 -8
  225. package/graphql/datatable/map-search-date-columns-data-filter-state-to-gql.d.ts +0 -4
  226. package/graphql/datatable/map-search-numeric-columns-data-filter-state-to-gql.d.ts +0 -4
  227. package/graphql/datatable/map-search-text-columns-data-filter-state-to-gql.d.ts +0 -4
  228. package/table/table-cell-tpl.directive.d.ts +0 -7
  229. package/table/table-column-header-tpl.directive.d.ts +0 -7
  230. package/table/table-column.component.d.ts +0 -24
@@ -93,13 +93,13 @@ export class DatatableActionMenuComponent {
93
93
  }
94
94
  }
95
95
  DatatableActionMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatableActionMenuComponent, deps: [{ token: i1.SeamConfirmDialogService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component });
96
- DatatableActionMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: DatatableActionMenuComponent, selector: "seam-datatable-action-menu", inputs: { isSubMenu: "isSubMenu" }, queries: [{ propertyName: "items", predicate: DatatableActionMenuItemComponent }], viewQueries: [{ propertyName: "menu", first: true, predicate: MenuComponent, descendants: true, static: true }], exportAs: ["seamDatatableActionMenu"], ngImport: i0, template: "<seam-menu #menu\n menuClass=\"list-group py-0 border-0 seam-datatable-action-menu\"\n animationType=\"fade\">\n\n <ng-container *ngFor=\"let item of items\">\n <ng-container *ngIf=\"(item.routerLink || item.href) && !item.confirmDialog; else noRouterLink\">\n <a *ngIf=\"item.href; else noHref\"\n seamMenuItem\n class=\"list-group-item list-group-item-action py-1\"\n [disabled]=\"item.disabled\"\n [attr.href]=\"item.href\"\n [target]=\"item.target\"\n (click)=\"activateItem($event, item)\">\n {{ item.label }}\n </a>\n <ng-template #noHref>\n <a seamMenuItem\n class=\"list-group-item list-group-item-action py-1\"\n [disabled]=\"item.disabled\"\n [queryParams]=\"item.queryParams\"\n [fragment]=\"$any(item.fragment)\"\n [queryParamsHandling]=\"item.queryParamsHandling\"\n [preserveFragment]=\"$any(item.preserveFragment)\"\n [skipLocationChange]=\"$any(item.skipLocationChange)\"\n [replaceUrl]=\"$any(item.replaceUrl)\"\n [state]=\"$any(item.state)\"\n [routerLink]=\"item.routerLink\"\n [target]=\"$any(item.target)\"\n (click)=\"activateItem($event, item)\">\n {{ item.label }}\n </a>\n </ng-template>\n </ng-container>\n <ng-template #noRouterLink>\n <ng-container *ngIf=\"!!item.subMenu; else noSubMenu\">\n <button seamMenuItem\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\"\n [disabled]=\"item.disabled\"\n [seamMenuToggle]=\"item.subMenu.menu\"\n [seamMenuTogglePositionsOffsetY]=\"-3\">\n {{ item.label }}\n </button>\n </ng-container>\n <ng-template #noSubMenu>\n <button seamMenuItem\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\"\n [disabled]=\"item.disabled\"\n (click)=\"activateItem($event, item)\">\n {{ item.label }}\n </button>\n </ng-template>\n </ng-template>\n </ng-container>\n</seam-menu>\n\n<ng-container *ngIf=\"!isSubMenu && items?.length\">\n <button type=\"button\" class=\"datatable-action-button btn\"\n [seamMenuToggle]=\"menu\"\n [positions]=\"_actionMenuPositions || []\"\n title=\"Row Actions\">\n <seam-icon [icon]=\"faEllipsisH\"></seam-icon>\n </button>\n</ng-container>\n", styles: [":host{position:relative;display:flex;align-items:center;justify-content:center;height:100%}.datatable-action-button::ng-deep .svg-inline--fa{vertical-align:middle}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i4.MenuComponent, selector: "seam-menu", inputs: ["menuClass", "baseWidth", "animationType"], outputs: ["closed"], exportAs: ["seamMenu"] }, { kind: "directive", type: i4.MenuToggleDirective, selector: "[seamMenuToggle]", inputs: ["seamMenuToggle", "positions", "seamMenuTogglePositionsOffsetY"], outputs: ["menuToggle", "menuOpened", "menuClosed"], exportAs: ["seamMenuToggle"] }, { kind: "component", type: i4.MenuItemComponent, selector: "[seamMenuItem]", inputs: ["disabled", "role", "icon", "iconClass", "sublevelIcon", "subLevelIconClass", "badgeText", "badgeTheme"], exportAs: ["seamMenuItem"] }, { kind: "component", type: i5.IconComponent, selector: "seam-icon", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "defaultIcon", "iconType"] }] });
96
+ DatatableActionMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: DatatableActionMenuComponent, selector: "seam-datatable-action-menu", inputs: { isSubMenu: "isSubMenu" }, queries: [{ propertyName: "items", predicate: DatatableActionMenuItemComponent }], viewQueries: [{ propertyName: "menu", first: true, predicate: MenuComponent, descendants: true, static: true }], exportAs: ["seamDatatableActionMenu"], ngImport: i0, template: "<seam-menu #menu\n menuClass=\"list-group py-0 border-0 seam-datatable-action-menu\"\n animationType=\"fade\">\n\n <ng-container *ngFor=\"let item of items\">\n <ng-container *ngIf=\"(item.routerLink || item.href) && !item.confirmDialog; else noRouterLink\">\n <a *ngIf=\"item.href; else noHref\"\n seamMenuItem\n class=\"list-group-item list-group-item-action py-1\"\n [disabled]=\"item.disabled\"\n [attr.href]=\"item.href\"\n [target]=\"item.target\"\n (click)=\"activateItem($event, item)\">\n {{ item.label }}\n </a>\n <ng-template #noHref>\n <a seamMenuItem\n class=\"list-group-item list-group-item-action py-1\"\n [disabled]=\"item.disabled\"\n [queryParams]=\"item.queryParams\"\n [fragment]=\"$any(item.fragment)\"\n [queryParamsHandling]=\"item.queryParamsHandling\"\n [preserveFragment]=\"$any(item.preserveFragment)\"\n [skipLocationChange]=\"$any(item.skipLocationChange)\"\n [replaceUrl]=\"$any(item.replaceUrl)\"\n [state]=\"$any(item.state)\"\n [routerLink]=\"item.routerLink\"\n [target]=\"$any(item.target)\"\n (click)=\"activateItem($event, item)\">\n {{ item.label }}\n </a>\n </ng-template>\n </ng-container>\n <ng-template #noRouterLink>\n <ng-container *ngIf=\"!!item.subMenu; else noSubMenu\">\n <button seamMenuItem\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\"\n [disabled]=\"item.disabled\"\n [seamMenuToggle]=\"item.subMenu.menu\"\n [seamMenuTogglePositionsOffsetY]=\"-3\">\n {{ item.label }}\n </button>\n </ng-container>\n <ng-template #noSubMenu>\n <button seamMenuItem\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\"\n [disabled]=\"item.disabled\"\n (click)=\"activateItem($event, item)\">\n {{ item.label }}\n </button>\n </ng-template>\n </ng-template>\n </ng-container>\n</seam-menu>\n\n<ng-container *ngIf=\"!isSubMenu && items?.length\">\n <button type=\"button\" class=\"datatable-action-button btn\"\n [seamMenuToggle]=\"menu\"\n [positions]=\"_actionMenuPositions || []\"\n title=\"Row Actions\">\n <seam-icon [icon]=\"faEllipsisH\"></seam-icon>\n </button>\n</ng-container>\n", styles: [":host{display:block;position:relative}.datatable-action-button{font-size:20px;line-height:20px;width:30px;height:30px;padding:0;border-radius:15px;text-align:center}.datatable-action-button::ng-deep .svg-inline--fa{vertical-align:middle}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i4.MenuComponent, selector: "seam-menu", inputs: ["menuClass", "baseWidth", "animationType"], outputs: ["closed"], exportAs: ["seamMenu"] }, { kind: "directive", type: i4.MenuToggleDirective, selector: "[seamMenuToggle]", inputs: ["seamMenuToggle", "positions", "seamMenuTogglePositionsOffsetY"], outputs: ["menuOpened", "menuClosed"], exportAs: ["seamMenuToggle"] }, { kind: "component", type: i4.MenuItemComponent, selector: "[seamMenuItem]", inputs: ["disabled", "role", "icon", "iconClass", "sublevelIcon", "subLevelIconClass", "badgeText", "badgeTheme"], exportAs: ["seamMenuItem"] }, { kind: "component", type: i5.IconComponent, selector: "seam-icon", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "defaultIcon", "iconType"] }] });
97
97
  __decorate([
98
98
  InputBoolean()
99
99
  ], DatatableActionMenuComponent.prototype, "isSubMenu", void 0);
100
100
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatableActionMenuComponent, decorators: [{
101
101
  type: Component,
102
- args: [{ selector: 'seam-datatable-action-menu', exportAs: 'seamDatatableActionMenu', template: "<seam-menu #menu\n menuClass=\"list-group py-0 border-0 seam-datatable-action-menu\"\n animationType=\"fade\">\n\n <ng-container *ngFor=\"let item of items\">\n <ng-container *ngIf=\"(item.routerLink || item.href) && !item.confirmDialog; else noRouterLink\">\n <a *ngIf=\"item.href; else noHref\"\n seamMenuItem\n class=\"list-group-item list-group-item-action py-1\"\n [disabled]=\"item.disabled\"\n [attr.href]=\"item.href\"\n [target]=\"item.target\"\n (click)=\"activateItem($event, item)\">\n {{ item.label }}\n </a>\n <ng-template #noHref>\n <a seamMenuItem\n class=\"list-group-item list-group-item-action py-1\"\n [disabled]=\"item.disabled\"\n [queryParams]=\"item.queryParams\"\n [fragment]=\"$any(item.fragment)\"\n [queryParamsHandling]=\"item.queryParamsHandling\"\n [preserveFragment]=\"$any(item.preserveFragment)\"\n [skipLocationChange]=\"$any(item.skipLocationChange)\"\n [replaceUrl]=\"$any(item.replaceUrl)\"\n [state]=\"$any(item.state)\"\n [routerLink]=\"item.routerLink\"\n [target]=\"$any(item.target)\"\n (click)=\"activateItem($event, item)\">\n {{ item.label }}\n </a>\n </ng-template>\n </ng-container>\n <ng-template #noRouterLink>\n <ng-container *ngIf=\"!!item.subMenu; else noSubMenu\">\n <button seamMenuItem\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\"\n [disabled]=\"item.disabled\"\n [seamMenuToggle]=\"item.subMenu.menu\"\n [seamMenuTogglePositionsOffsetY]=\"-3\">\n {{ item.label }}\n </button>\n </ng-container>\n <ng-template #noSubMenu>\n <button seamMenuItem\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\"\n [disabled]=\"item.disabled\"\n (click)=\"activateItem($event, item)\">\n {{ item.label }}\n </button>\n </ng-template>\n </ng-template>\n </ng-container>\n</seam-menu>\n\n<ng-container *ngIf=\"!isSubMenu && items?.length\">\n <button type=\"button\" class=\"datatable-action-button btn\"\n [seamMenuToggle]=\"menu\"\n [positions]=\"_actionMenuPositions || []\"\n title=\"Row Actions\">\n <seam-icon [icon]=\"faEllipsisH\"></seam-icon>\n </button>\n</ng-container>\n", styles: [":host{position:relative;display:flex;align-items:center;justify-content:center;height:100%}.datatable-action-button::ng-deep .svg-inline--fa{vertical-align:middle}\n"] }]
102
+ args: [{ selector: 'seam-datatable-action-menu', exportAs: 'seamDatatableActionMenu', template: "<seam-menu #menu\n menuClass=\"list-group py-0 border-0 seam-datatable-action-menu\"\n animationType=\"fade\">\n\n <ng-container *ngFor=\"let item of items\">\n <ng-container *ngIf=\"(item.routerLink || item.href) && !item.confirmDialog; else noRouterLink\">\n <a *ngIf=\"item.href; else noHref\"\n seamMenuItem\n class=\"list-group-item list-group-item-action py-1\"\n [disabled]=\"item.disabled\"\n [attr.href]=\"item.href\"\n [target]=\"item.target\"\n (click)=\"activateItem($event, item)\">\n {{ item.label }}\n </a>\n <ng-template #noHref>\n <a seamMenuItem\n class=\"list-group-item list-group-item-action py-1\"\n [disabled]=\"item.disabled\"\n [queryParams]=\"item.queryParams\"\n [fragment]=\"$any(item.fragment)\"\n [queryParamsHandling]=\"item.queryParamsHandling\"\n [preserveFragment]=\"$any(item.preserveFragment)\"\n [skipLocationChange]=\"$any(item.skipLocationChange)\"\n [replaceUrl]=\"$any(item.replaceUrl)\"\n [state]=\"$any(item.state)\"\n [routerLink]=\"item.routerLink\"\n [target]=\"$any(item.target)\"\n (click)=\"activateItem($event, item)\">\n {{ item.label }}\n </a>\n </ng-template>\n </ng-container>\n <ng-template #noRouterLink>\n <ng-container *ngIf=\"!!item.subMenu; else noSubMenu\">\n <button seamMenuItem\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\"\n [disabled]=\"item.disabled\"\n [seamMenuToggle]=\"item.subMenu.menu\"\n [seamMenuTogglePositionsOffsetY]=\"-3\">\n {{ item.label }}\n </button>\n </ng-container>\n <ng-template #noSubMenu>\n <button seamMenuItem\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\"\n [disabled]=\"item.disabled\"\n (click)=\"activateItem($event, item)\">\n {{ item.label }}\n </button>\n </ng-template>\n </ng-template>\n </ng-container>\n</seam-menu>\n\n<ng-container *ngIf=\"!isSubMenu && items?.length\">\n <button type=\"button\" class=\"datatable-action-button btn\"\n [seamMenuToggle]=\"menu\"\n [positions]=\"_actionMenuPositions || []\"\n title=\"Row Actions\">\n <seam-icon [icon]=\"faEllipsisH\"></seam-icon>\n </button>\n</ng-container>\n", styles: [":host{display:block;position:relative}.datatable-action-button{font-size:20px;line-height:20px;width:30px;height:30px;padding:0;border-radius:15px;text-align:center}.datatable-action-button::ng-deep .svg-inline--fa{vertical-align:middle}\n"] }]
103
103
  }], ctorParameters: function () { return [{ type: i1.SeamConfirmDialogService }, { type: i2.Router }]; }, propDecorators: { menu: [{
104
104
  type: ViewChild,
105
105
  args: [MenuComponent, { static: true }]
@@ -43,7 +43,7 @@ export class DatatableColumnPreferencesButtonComponent {
43
43
  }
44
44
  }
45
45
  DatatableColumnPreferencesButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatableColumnPreferencesButtonComponent, deps: [{ token: i1.ColumnsAlterationsManagerService }], target: i0.ɵɵFactoryTarget.Component });
46
- DatatableColumnPreferencesButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: DatatableColumnPreferencesButtonComponent, selector: "seam-datatable-column-preferences-button", ngImport: i0, template: "<ng-template #colPrefsTpl>\n <seam-datatable-column-preferences></seam-datatable-column-preferences>\n</ng-template>\n\n<seam-menu #menu\n menuClass=\"list-group py-0 border-0 seam-datatable-action-menu\"\n animationType=\"fade\">\n <button seamMenuItem\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\"\n [seamPopover]=\"colPrefsTpl\">\n Show/Hide Columns\n </button>\n\n <button seamMenuItem\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\"\n (click)=\"_resetColumns($event)\">\n Reset Columns\n </button>\n</seam-menu>\n\n<button type=\"button\" class=\"btn btn-lightgray btn-sm\"\n [seamMenuToggle]=\"menu\"\n [positions]=\"_actionMenuPositions || []\"\n style=\"padding-left: 10px; padding-right: 10px;\"\n title=\"Column Preferences\">\n <seam-icon [icon]=\"icon\"></seam-icon>\n <span class=\"sr-only\">Column Preferences</span>\n</button>\n\n", styles: [""], dependencies: [{ kind: "component", type: i2.MenuComponent, selector: "seam-menu", inputs: ["menuClass", "baseWidth", "animationType"], outputs: ["closed"], exportAs: ["seamMenu"] }, { kind: "directive", type: i2.MenuToggleDirective, selector: "[seamMenuToggle]", inputs: ["seamMenuToggle", "positions", "seamMenuTogglePositionsOffsetY"], outputs: ["menuToggle", "menuOpened", "menuClosed"], exportAs: ["seamMenuToggle"] }, { kind: "component", type: i2.MenuItemComponent, selector: "[seamMenuItem]", inputs: ["disabled", "role", "icon", "iconClass", "sublevelIcon", "subLevelIconClass", "badgeText", "badgeTheme"], exportAs: ["seamMenuItem"] }, { kind: "component", type: i3.IconComponent, selector: "seam-icon", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "defaultIcon", "iconType"] }, { kind: "directive", type: i4.TheSeamPopoverDirective, selector: "[seamPopover]", inputs: ["seamPopover", "seamPopoverContext", "seamPopoverBaseWidth", "seamPopoverDisabled"], exportAs: ["seamPopover"] }, { kind: "component", type: i5.DatatableColumnPreferencesComponent, selector: "seam-datatable-column-preferences" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
46
+ DatatableColumnPreferencesButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: DatatableColumnPreferencesButtonComponent, selector: "seam-datatable-column-preferences-button", ngImport: i0, template: "<ng-template #colPrefsTpl>\n <seam-datatable-column-preferences></seam-datatable-column-preferences>\n</ng-template>\n\n<seam-menu #menu\n menuClass=\"list-group py-0 border-0 seam-datatable-action-menu\"\n animationType=\"fade\">\n <button seamMenuItem\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\"\n [seamPopover]=\"colPrefsTpl\">\n Show/Hide Columns\n </button>\n\n <button seamMenuItem\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\"\n (click)=\"_resetColumns($event)\">\n Reset Columns\n </button>\n</seam-menu>\n\n<button type=\"button\" class=\"btn btn-lightgray btn-sm\"\n [seamMenuToggle]=\"menu\"\n [positions]=\"_actionMenuPositions || []\"\n style=\"padding-left: 10px; padding-right: 10px;\"\n title=\"Column Preferences\">\n <seam-icon [icon]=\"icon\"></seam-icon>\n <span class=\"sr-only\">Column Preferences</span>\n</button>\n\n", styles: [""], dependencies: [{ kind: "component", type: i2.MenuComponent, selector: "seam-menu", inputs: ["menuClass", "baseWidth", "animationType"], outputs: ["closed"], exportAs: ["seamMenu"] }, { kind: "directive", type: i2.MenuToggleDirective, selector: "[seamMenuToggle]", inputs: ["seamMenuToggle", "positions", "seamMenuTogglePositionsOffsetY"], outputs: ["menuOpened", "menuClosed"], exportAs: ["seamMenuToggle"] }, { kind: "component", type: i2.MenuItemComponent, selector: "[seamMenuItem]", inputs: ["disabled", "role", "icon", "iconClass", "sublevelIcon", "subLevelIconClass", "badgeText", "badgeTheme"], exportAs: ["seamMenuItem"] }, { kind: "component", type: i3.IconComponent, selector: "seam-icon", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "defaultIcon", "iconType"] }, { kind: "directive", type: i4.TheSeamPopoverDirective, selector: "[seamPopover]", inputs: ["seamPopover", "seamPopoverBaseWidth", "seamPopoverDisabled"], exportAs: ["seamPopover"] }, { kind: "component", type: i5.DatatableColumnPreferencesComponent, selector: "seam-datatable-column-preferences" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
47
47
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatableColumnPreferencesButtonComponent, decorators: [{
48
48
  type: Component,
49
49
  args: [{ selector: 'seam-datatable-column-preferences-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #colPrefsTpl>\n <seam-datatable-column-preferences></seam-datatable-column-preferences>\n</ng-template>\n\n<seam-menu #menu\n menuClass=\"list-group py-0 border-0 seam-datatable-action-menu\"\n animationType=\"fade\">\n <button seamMenuItem\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\"\n [seamPopover]=\"colPrefsTpl\">\n Show/Hide Columns\n </button>\n\n <button seamMenuItem\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\"\n (click)=\"_resetColumns($event)\">\n Reset Columns\n </button>\n</seam-menu>\n\n<button type=\"button\" class=\"btn btn-lightgray btn-sm\"\n [seamMenuToggle]=\"menu\"\n [positions]=\"_actionMenuPositions || []\"\n style=\"padding-left: 10px; padding-right: 10px;\"\n title=\"Column Preferences\">\n <seam-icon [icon]=\"icon\"></seam-icon>\n <span class=\"sr-only\">Column Preferences</span>\n</button>\n\n" }]
@@ -88,7 +88,7 @@ export class DatatableExportButtonComponent {
88
88
  }
89
89
  }
90
90
  DatatableExportButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatableExportButtonComponent, deps: [{ token: THESEAM_DATATABLE }, { token: i1.ToastrService }, { token: i2.TheSeamLoadingOverlayService }, { token: i3.DynamicValueHelperService }, { token: THESEAM_DYNAMIC_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
91
- DatatableExportButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: DatatableExportButtonComponent, selector: "seam-datatable-export-button", inputs: { exporters: "exporters" }, ngImport: i0, template: "<seam-menu #menu>\n <button *ngFor=\"let exp of exporters\"\n seamMenuItem\n [icon]=\"exp?.icon\"\n (click)=\"_onExporterClicked(exp)\">\n {{ exp.label }}\n </button>\n</seam-menu>\n<button\n [seamMenuToggle]=\"menu\"\n seamButton\n theme=\"lightgray\"\n size=\"sm\"\n class=\"dropdown-toggle\"\n style=\"padding-left: 10px; padding-right: 10px;\"\n title=\"Export\"\n [disabled]=\"disabled\"\n >\n <seam-icon [icon]=\"icon\" class=\"mr-2\"></seam-icon>\n</button>\n", styles: [":host{display:inline-block}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i5.MenuComponent, selector: "seam-menu", inputs: ["menuClass", "baseWidth", "animationType"], outputs: ["closed"], exportAs: ["seamMenu"] }, { kind: "directive", type: i5.MenuToggleDirective, selector: "[seamMenuToggle]", inputs: ["seamMenuToggle", "positions", "seamMenuTogglePositionsOffsetY"], outputs: ["menuToggle", "menuOpened", "menuClosed"], exportAs: ["seamMenuToggle"] }, { kind: "component", type: i5.MenuItemComponent, selector: "[seamMenuItem]", inputs: ["disabled", "role", "icon", "iconClass", "sublevelIcon", "subLevelIconClass", "badgeText", "badgeTheme"], exportAs: ["seamMenuItem"] }, { kind: "component", type: i6.IconComponent, selector: "seam-icon", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "defaultIcon", "iconType"] }, { kind: "component", type: i7.TheSeamButtonComponent, selector: "button[seamButton]", inputs: ["disabled", "theme", "size", "type"], exportAs: ["seamButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
91
+ DatatableExportButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: DatatableExportButtonComponent, selector: "seam-datatable-export-button", inputs: { exporters: "exporters" }, ngImport: i0, template: "<seam-menu #menu>\n <button *ngFor=\"let exp of exporters\"\n seamMenuItem\n [icon]=\"exp?.icon\"\n (click)=\"_onExporterClicked(exp)\">\n {{ exp.label }}\n </button>\n</seam-menu>\n<button\n [seamMenuToggle]=\"menu\"\n seamButton\n theme=\"lightgray\"\n size=\"sm\"\n class=\"dropdown-toggle\"\n style=\"padding-left: 10px; padding-right: 10px;\"\n title=\"Export\"\n [disabled]=\"disabled\"\n >\n <seam-icon [icon]=\"icon\" class=\"mr-2\"></seam-icon>\n</button>\n", styles: [":host{display:inline-block}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i5.MenuComponent, selector: "seam-menu", inputs: ["menuClass", "baseWidth", "animationType"], outputs: ["closed"], exportAs: ["seamMenu"] }, { kind: "directive", type: i5.MenuToggleDirective, selector: "[seamMenuToggle]", inputs: ["seamMenuToggle", "positions", "seamMenuTogglePositionsOffsetY"], outputs: ["menuOpened", "menuClosed"], exportAs: ["seamMenuToggle"] }, { kind: "component", type: i5.MenuItemComponent, selector: "[seamMenuItem]", inputs: ["disabled", "role", "icon", "iconClass", "sublevelIcon", "subLevelIconClass", "badgeText", "badgeTheme"], exportAs: ["seamMenuItem"] }, { kind: "component", type: i6.IconComponent, selector: "seam-icon", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "defaultIcon", "iconType"] }, { kind: "component", type: i7.TheSeamButtonComponent, selector: "button[seamButton]", inputs: ["disabled", "theme", "size", "type"], exportAs: ["seamButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
92
92
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatableExportButtonComponent, decorators: [{
93
93
  type: Component,
94
94
  args: [{ selector: 'seam-datatable-export-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<seam-menu #menu>\n <button *ngFor=\"let exp of exporters\"\n seamMenuItem\n [icon]=\"exp?.icon\"\n (click)=\"_onExporterClicked(exp)\">\n {{ exp.label }}\n </button>\n</seam-menu>\n<button\n [seamMenuToggle]=\"menu\"\n seamButton\n theme=\"lightgray\"\n size=\"sm\"\n class=\"dropdown-toggle\"\n style=\"padding-left: 10px; padding-right: 10px;\"\n title=\"Export\"\n [disabled]=\"disabled\"\n >\n <seam-icon [icon]=\"icon\" class=\"mr-2\"></seam-icon>\n</button>\n", styles: [":host{display:inline-block}\n"] }]
@@ -46,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
46
46
  type: ContentChildren,
47
47
  args: [DatatableFilterDirective]
48
48
  }] } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLW1lbnUtYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9kYXRhdGFibGUvZGF0YXRhYmxlLW1lbnUtYmFyL2RhdGF0YWJsZS1tZW51LWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZGF0YXRhYmxlL2RhdGF0YWJsZS1tZW51LWJhci9kYXRhdGFibGUtbWVudS1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQTtBQUUvRixPQUFPLEVBQW9DLDZCQUE2QixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDakgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFFN0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMENBQTBDLENBQUE7O0FBRW5GLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFRO0lBQ2pELE9BQU8sRUFBRSw2QkFBNkI7SUFDdEMsaURBQWlEO0lBQ2pELFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUM7Q0FDekQsQ0FBQTtBQVFELE1BQU0sT0FBTyx5QkFBeUI7SUFOdEM7UUFrQlUsZ0JBQVcsR0FBa0IsRUFBRSxDQUFBO1FBRXZCLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUE7S0FzQm5FO0lBbENDLElBQ0ksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFBO0lBQy9CLENBQUM7SUFDRCxJQUFJLGdCQUFnQixDQUFDLEtBQXNEO1FBQ3pFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUE7UUFDOUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUE7SUFDMUMsQ0FBQztJQU9NLE9BQU87UUFDWixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsaUJBQWlCO1lBQ3hDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQztZQUN0RSxDQUFDLENBQUMsRUFBRSxDQUFBO1FBRU4sTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVc7YUFDNUIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDbEUsT0FBTyxDQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsV0FBVyxDQUFFLENBQUE7SUFDcEMsQ0FBQztJQUVNLFNBQVMsQ0FBQyxVQUF1QjtRQUN0QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUNqQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtJQUMxQyxDQUFDO0lBRU0sWUFBWSxDQUFDLFVBQXVCO1FBQ3pDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVSxDQUFDLENBQUE7UUFDakUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUE7SUFDMUMsQ0FBQzs7c0hBbENVLHlCQUF5QjswR0FBekIseUJBQXlCLGtEQUZ6QixDQUFFLDhCQUE4QixDQUFFLDJEQUk1Qix3QkFBd0IsNkJDckIzQyxvRkFHQTsyRkRnQmEseUJBQXlCO2tCQU5yQyxTQUFTOytCQUNFLHlCQUF5QixhQUd4QixDQUFFLDhCQUE4QixDQUFFOzhCQUt6QyxnQkFBZ0I7c0JBRG5CLGVBQWU7dUJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuaW1wb3J0IHsgRGF0YUZpbHRlckNvbnRhaW5lciwgSURhdGFGaWx0ZXIsIFRIRVNFQU1fREFUQV9GSUxURVJfQ09OVEFJTkVSIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2RhdGEtZmlsdGVycydcbmltcG9ydCB7IG5vdE51bGxPclVuZGVmaW5lZCB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi91dGlscydcblxuaW1wb3J0IHsgRGF0YXRhYmxlRmlsdGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9kYXRhdGFibGUtZmlsdGVyLmRpcmVjdGl2ZSdcblxuZXhwb3J0IGNvbnN0IF9USEVTRUFNX0RBVEFfRklMVEVSX0NPTlRBSU5FUjogYW55ID0ge1xuICBwcm92aWRlOiBUSEVTRUFNX0RBVEFfRklMVEVSX0NPTlRBSU5FUixcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLXVzZS1iZWZvcmUtZGVjbGFyZVxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRhdGFibGVNZW51QmFyQ29tcG9uZW50KVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZWFtLWRhdGF0YWJsZS1tZW51LWJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhdGFibGUtbWVudS1iYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRhdGFibGUtbWVudS1iYXIuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbIF9USEVTRUFNX0RBVEFfRklMVEVSX0NPTlRBSU5FUiBdXG59KVxuZXhwb3J0IGNsYXNzIERhdGF0YWJsZU1lbnVCYXJDb21wb25lbnQgaW1wbGVtZW50cyBEYXRhRmlsdGVyQ29udGFpbmVyIHtcblxuICBAQ29udGVudENoaWxkcmVuKERhdGF0YWJsZUZpbHRlckRpcmVjdGl2ZSlcbiAgZ2V0IGZpbHRlckRpcmVjdGl2ZXMoKTogUXVlcnlMaXN0PERhdGF0YWJsZUZpbHRlckRpcmVjdGl2ZT4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9maWx0ZXJEaXJlY3RpdmVzXG4gIH1cbiAgc2V0IGZpbHRlckRpcmVjdGl2ZXModmFsdWU6IFF1ZXJ5TGlzdDxEYXRhdGFibGVGaWx0ZXJEaXJlY3RpdmU+IHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fZmlsdGVyRGlyZWN0aXZlcyA9IHZhbHVlXG4gICAgdGhpcy5maWx0ZXJzQ2hhbmdlZC5lbWl0KHRoaXMuZmlsdGVycygpKVxuICB9XG4gIHByaXZhdGUgX2ZpbHRlckRpcmVjdGl2ZXM6IFF1ZXJ5TGlzdDxEYXRhdGFibGVGaWx0ZXJEaXJlY3RpdmU+IHwgdW5kZWZpbmVkXG5cbiAgcHJpdmF0ZSBfZmlsdGVyc0FycjogSURhdGFGaWx0ZXJbXSA9IFtdXG5cbiAgcHVibGljIHJlYWRvbmx5IGZpbHRlcnNDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxJRGF0YUZpbHRlcltdPigpXG5cbiAgcHVibGljIGZpbHRlcnMoKTogSURhdGFGaWx0ZXJbXSB7XG4gICAgY29uc3QgZkRpcmVjdGl2ZXMgPSB0aGlzLl9maWx0ZXJEaXJlY3RpdmVzXG4gICAgICA/IHRoaXMuX2ZpbHRlckRpcmVjdGl2ZXMubWFwKGYgPT4gZi5maWx0ZXIpLmZpbHRlcihub3ROdWxsT3JVbmRlZmluZWQpXG4gICAgICA6IFtdXG5cbiAgICBjb25zdCBmQXJyID0gdGhpcy5fZmlsdGVyc0FyclxuICAgIC5maWx0ZXIoZiA9PiBmRGlyZWN0aXZlcy5maW5kSW5kZXgoZmQgPT4gZmQudWlkID09PSBmLnVpZCkgPT09IC0xKVxuICAgIHJldHVybiBbIC4uLmZBcnIsIC4uLmZEaXJlY3RpdmVzIF1cbiAgfVxuXG4gIHB1YmxpYyBhZGRGaWx0ZXIoZGF0YUZpbHRlcjogSURhdGFGaWx0ZXIpOiB2b2lkIHtcbiAgICB0aGlzLl9maWx0ZXJzQXJyLnB1c2goZGF0YUZpbHRlcilcbiAgICB0aGlzLmZpbHRlcnNDaGFuZ2VkLmVtaXQodGhpcy5maWx0ZXJzKCkpXG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlRmlsdGVyKGRhdGFGaWx0ZXI6IElEYXRhRmlsdGVyKTogdm9pZCB7XG4gICAgdGhpcy5fZmlsdGVyc0FyciA9IHRoaXMuX2ZpbHRlcnNBcnIuZmlsdGVyKGYgPT4gZiAhPT0gZGF0YUZpbHRlcilcbiAgICB0aGlzLmZpbHRlcnNDaGFuZ2VkLmVtaXQodGhpcy5maWx0ZXJzKCkpXG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImJnLWxpZ2h0IGJvcmRlciByb3VuZGVkIHAtMlwiPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLW1lbnUtYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9kYXRhdGFibGUvZGF0YXRhYmxlLW1lbnUtYmFyL2RhdGF0YWJsZS1tZW51LWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZGF0YXRhYmxlL2RhdGF0YWJsZS1tZW51LWJhci9kYXRhdGFibGUtbWVudS1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQTtBQUUvRixPQUFPLEVBQWUsNkJBQTZCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQUM1RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUU3RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQTs7QUFFbkYsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQVE7SUFDakQsT0FBTyxFQUFFLDZCQUE2QjtJQUN0QyxpREFBaUQ7SUFDakQsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztDQUN6RCxDQUFBO0FBUUQsTUFBTSxPQUFPLHlCQUF5QjtJQU50QztRQWtCVSxnQkFBVyxHQUFrQixFQUFFLENBQUE7UUFFdkIsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQTtLQXNCbkU7SUFsQ0MsSUFDSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUE7SUFDL0IsQ0FBQztJQUNELElBQUksZ0JBQWdCLENBQUMsS0FBc0Q7UUFDekUsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQTtRQUM5QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtJQUMxQyxDQUFDO0lBT00sT0FBTztRQUNaLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUI7WUFDeEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDO1lBQ3RFLENBQUMsQ0FBQyxFQUFFLENBQUE7UUFFTixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVzthQUM1QixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNsRSxPQUFPLENBQUUsR0FBRyxJQUFJLEVBQUUsR0FBRyxXQUFXLENBQUUsQ0FBQTtJQUNwQyxDQUFDO0lBRU0sU0FBUyxDQUFDLFVBQXVCO1FBQ3RDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ2pDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFBO0lBQzFDLENBQUM7SUFFTSxZQUFZLENBQUMsVUFBdUI7UUFDekMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVLENBQUMsQ0FBQTtRQUNqRSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtJQUMxQyxDQUFDOztzSEFsQ1UseUJBQXlCOzBHQUF6Qix5QkFBeUIsa0RBRnpCLENBQUUsOEJBQThCLENBQUUsMkRBSTVCLHdCQUF3Qiw2QkNyQjNDLG9GQUdBOzJGRGdCYSx5QkFBeUI7a0JBTnJDLFNBQVM7K0JBQ0UseUJBQXlCLGFBR3hCLENBQUUsOEJBQThCLENBQUU7OEJBS3pDLGdCQUFnQjtzQkFEbkIsZUFBZTt1QkFBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5pbXBvcnQgeyBJRGF0YUZpbHRlciwgVEhFU0VBTV9EQVRBX0ZJTFRFUl9DT05UQUlORVIgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vZGF0YS1maWx0ZXJzJ1xuaW1wb3J0IHsgbm90TnVsbE9yVW5kZWZpbmVkIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3V0aWxzJ1xuXG5pbXBvcnQgeyBEYXRhdGFibGVGaWx0ZXJEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2RhdGF0YWJsZS1maWx0ZXIuZGlyZWN0aXZlJ1xuXG5leHBvcnQgY29uc3QgX1RIRVNFQU1fREFUQV9GSUxURVJfQ09OVEFJTkVSOiBhbnkgPSB7XG4gIHByb3ZpZGU6IFRIRVNFQU1fREFUQV9GSUxURVJfQ09OVEFJTkVSLFxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tdXNlLWJlZm9yZS1kZWNsYXJlXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERhdGF0YWJsZU1lbnVCYXJDb21wb25lbnQpXG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NlYW0tZGF0YXRhYmxlLW1lbnUtYmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGF0YWJsZS1tZW51LWJhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhdGF0YWJsZS1tZW51LWJhci5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFsgX1RIRVNFQU1fREFUQV9GSUxURVJfQ09OVEFJTkVSIF1cbn0pXG5leHBvcnQgY2xhc3MgRGF0YXRhYmxlTWVudUJhckNvbXBvbmVudCB7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihEYXRhdGFibGVGaWx0ZXJEaXJlY3RpdmUpXG4gIGdldCBmaWx0ZXJEaXJlY3RpdmVzKCk6IFF1ZXJ5TGlzdDxEYXRhdGFibGVGaWx0ZXJEaXJlY3RpdmU+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVyRGlyZWN0aXZlc1xuICB9XG4gIHNldCBmaWx0ZXJEaXJlY3RpdmVzKHZhbHVlOiBRdWVyeUxpc3Q8RGF0YXRhYmxlRmlsdGVyRGlyZWN0aXZlPiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX2ZpbHRlckRpcmVjdGl2ZXMgPSB2YWx1ZVxuICAgIHRoaXMuZmlsdGVyc0NoYW5nZWQuZW1pdCh0aGlzLmZpbHRlcnMoKSlcbiAgfVxuICBwcml2YXRlIF9maWx0ZXJEaXJlY3RpdmVzOiBRdWVyeUxpc3Q8RGF0YXRhYmxlRmlsdGVyRGlyZWN0aXZlPiB8IHVuZGVmaW5lZFxuXG4gIHByaXZhdGUgX2ZpbHRlcnNBcnI6IElEYXRhRmlsdGVyW10gPSBbXVxuXG4gIHB1YmxpYyByZWFkb25seSBmaWx0ZXJzQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8SURhdGFGaWx0ZXJbXT4oKVxuXG4gIHB1YmxpYyBmaWx0ZXJzKCk6IElEYXRhRmlsdGVyW10ge1xuICAgIGNvbnN0IGZEaXJlY3RpdmVzID0gdGhpcy5fZmlsdGVyRGlyZWN0aXZlc1xuICAgICAgPyB0aGlzLl9maWx0ZXJEaXJlY3RpdmVzLm1hcChmID0+IGYuZmlsdGVyKS5maWx0ZXIobm90TnVsbE9yVW5kZWZpbmVkKVxuICAgICAgOiBbXVxuXG4gICAgY29uc3QgZkFyciA9IHRoaXMuX2ZpbHRlcnNBcnJcbiAgICAuZmlsdGVyKGYgPT4gZkRpcmVjdGl2ZXMuZmluZEluZGV4KGZkID0+IGZkLnVpZCA9PT0gZi51aWQpID09PSAtMSlcbiAgICByZXR1cm4gWyAuLi5mQXJyLCAuLi5mRGlyZWN0aXZlcyBdXG4gIH1cblxuICBwdWJsaWMgYWRkRmlsdGVyKGRhdGFGaWx0ZXI6IElEYXRhRmlsdGVyKTogdm9pZCB7XG4gICAgdGhpcy5fZmlsdGVyc0Fyci5wdXNoKGRhdGFGaWx0ZXIpXG4gICAgdGhpcy5maWx0ZXJzQ2hhbmdlZC5lbWl0KHRoaXMuZmlsdGVycygpKVxuICB9XG5cbiAgcHVibGljIHJlbW92ZUZpbHRlcihkYXRhRmlsdGVyOiBJRGF0YUZpbHRlcik6IHZvaWQge1xuICAgIHRoaXMuX2ZpbHRlcnNBcnIgPSB0aGlzLl9maWx0ZXJzQXJyLmZpbHRlcihmID0+IGYgIT09IGRhdGFGaWx0ZXIpXG4gICAgdGhpcy5maWx0ZXJzQ2hhbmdlZC5lbWl0KHRoaXMuZmlsdGVycygpKVxuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJiZy1saWdodCBib3JkZXIgcm91bmRlZCBwLTJcIj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
@@ -18,8 +18,6 @@ import { TheSeamMenuModule } from '@theseam/ui-common/menu';
18
18
  import { TheSeamPopoverModule } from '@theseam/ui-common/popover';
19
19
  import { TheSeamSharedModule } from '@theseam/ui-common/shared';
20
20
  import { TheSeamTableCellTypeModule } from '@theseam/ui-common/table-cell-type';
21
- import { TheSeamDataFiltersModule } from '@theseam/ui-common/data-filters';
22
- import { TheSeamToggleGroupModule } from '@theseam/ui-common/toggle-group';
23
21
  import { DatatableActionMenuItemComponent } from './datatable-action-menu-item/datatable-action-menu-item.component';
24
22
  import { DatatableActionMenuComponent } from './datatable-action-menu/datatable-action-menu.component';
25
23
  import { DatatableColumnPreferencesButtonComponent } from './datatable-column-preferences-button/datatable-column-preferences-button.component'; // tslint:disable-line: max-line-length
@@ -43,13 +41,6 @@ import { DatatableCellTplDirective } from './directives/datatable-cell-tpl.direc
43
41
  import { DatatableFilterDirective } from './directives/datatable-filter.directive';
44
42
  import { DatatableRowActionItemDirective } from './directives/datatable-row-action-item.directive';
45
43
  import { TheSeamDatatableScrollbarHelperService } from './services/datatable-scrollbar-helper.service';
46
- import { DatatableColumnFilterMenuComponent } from './datatable-column-filter-menu/datatable-column-filter-menu.component';
47
- import { NgSelectModule } from '@ng-select/ng-select';
48
- import { DatatableColumnFilterSearchTextComponent } from './datatable-column-filter-search-text/datatable-column-filter-search-text.component';
49
- import { DatatableColumnFilterSearchNumericComponent } from './datatable-column-filter-search-numeric/datatable-column-filter-search-numeric.component';
50
- import { DatatableColumnFilterSearchDateComponent } from './datatable-column-filter-search-date/datatable-column-filter-search-date.component';
51
- import { DatatableColumnFilterTplDirective } from './directives/datatable-column-filter-tpl.directive';
52
- import { TheSeamDatatableColumnFilterDirective } from './directives/datatable-column-filter.directive';
53
44
  import * as i0 from "@angular/core";
54
45
  export class TheSeamDatatableModule {
55
46
  }
@@ -75,13 +66,7 @@ TheSeamDatatableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
75
66
  DatatableMenuBarColumnLeftComponent,
76
67
  DatatableMenuBarColumnCenterComponent,
77
68
  DatatableMenuBarColumnRightComponent,
78
- DatatableMenuBarTextComponent,
79
- DatatableColumnFilterMenuComponent,
80
- DatatableColumnFilterSearchTextComponent,
81
- DatatableColumnFilterSearchNumericComponent,
82
- DatatableColumnFilterSearchDateComponent,
83
- DatatableColumnFilterTplDirective,
84
- TheSeamDatatableColumnFilterDirective], imports: [CommonModule,
69
+ DatatableMenuBarTextComponent], imports: [CommonModule,
85
70
  NgxDatatableModule,
86
71
  FontAwesomeModule,
87
72
  OverlayModule,
@@ -99,10 +84,7 @@ TheSeamDatatableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
99
84
  TheSeamCheckboxComponent,
100
85
  TheSeamFormFieldModule,
101
86
  ReactiveFormsModule,
102
- TheSeamTableCellTypeModule,
103
- TheSeamDataFiltersModule,
104
- NgSelectModule,
105
- TheSeamToggleGroupModule], exports: [DatatableComponent,
87
+ TheSeamTableCellTypeModule], exports: [DatatableComponent,
106
88
  DatatableCellTplDirective,
107
89
  DatatableColumnComponent,
108
90
  DatatableActionMenuComponent,
@@ -122,13 +104,7 @@ TheSeamDatatableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
122
104
  DatatableMenuBarColumnLeftComponent,
123
105
  DatatableMenuBarColumnCenterComponent,
124
106
  DatatableMenuBarColumnRightComponent,
125
- DatatableMenuBarTextComponent,
126
- DatatableColumnFilterMenuComponent,
127
- DatatableColumnFilterSearchTextComponent,
128
- DatatableColumnFilterSearchNumericComponent,
129
- DatatableColumnFilterSearchDateComponent,
130
- DatatableColumnFilterTplDirective,
131
- TheSeamDatatableColumnFilterDirective] });
107
+ DatatableMenuBarTextComponent] });
132
108
  TheSeamDatatableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamDatatableModule, providers: [
133
109
  { provide: ScrollbarHelper, useClass: TheSeamDatatableScrollbarHelperService }
134
110
  ], imports: [CommonModule,
@@ -149,10 +125,7 @@ TheSeamDatatableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0",
149
125
  TheSeamCheckboxComponent,
150
126
  TheSeamFormFieldModule,
151
127
  ReactiveFormsModule,
152
- TheSeamTableCellTypeModule,
153
- TheSeamDataFiltersModule,
154
- NgSelectModule,
155
- TheSeamToggleGroupModule] });
128
+ TheSeamTableCellTypeModule] });
156
129
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamDatatableModule, decorators: [{
157
130
  type: NgModule,
158
131
  args: [{
@@ -179,12 +152,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
179
152
  DatatableMenuBarColumnCenterComponent,
180
153
  DatatableMenuBarColumnRightComponent,
181
154
  DatatableMenuBarTextComponent,
182
- DatatableColumnFilterMenuComponent,
183
- DatatableColumnFilterSearchTextComponent,
184
- DatatableColumnFilterSearchNumericComponent,
185
- DatatableColumnFilterSearchDateComponent,
186
- DatatableColumnFilterTplDirective,
187
- TheSeamDatatableColumnFilterDirective
188
155
  ],
189
156
  imports: [
190
157
  CommonModule,
@@ -205,10 +172,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
205
172
  TheSeamCheckboxComponent,
206
173
  TheSeamFormFieldModule,
207
174
  ReactiveFormsModule,
208
- TheSeamTableCellTypeModule,
209
- TheSeamDataFiltersModule,
210
- NgSelectModule,
211
- TheSeamToggleGroupModule
175
+ TheSeamTableCellTypeModule
212
176
  ],
213
177
  exports: [
214
178
  DatatableComponent,
@@ -231,17 +195,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
231
195
  DatatableMenuBarColumnLeftComponent,
232
196
  DatatableMenuBarColumnCenterComponent,
233
197
  DatatableMenuBarColumnRightComponent,
234
- DatatableMenuBarTextComponent,
235
- DatatableColumnFilterMenuComponent,
236
- DatatableColumnFilterSearchTextComponent,
237
- DatatableColumnFilterSearchNumericComponent,
238
- DatatableColumnFilterSearchDateComponent,
239
- DatatableColumnFilterTplDirective,
240
- TheSeamDatatableColumnFilterDirective
198
+ DatatableMenuBarTextComponent
241
199
  ],
242
200
  providers: [
243
201
  { provide: ScrollbarHelper, useClass: TheSeamDatatableScrollbarHelperService }
244
202
  ]
245
203
  }]
246
204
  }] });
247
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9kYXRhdGFibGUvZGF0YXRhYmxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFFOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUE7QUFDcEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFekMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFDakUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNkJBQTZCLENBQUE7QUFDdEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFDOUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUE7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDM0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0s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QUFZO3dCQUNaLDBCQUEwQjt3QkFDMUIsb0JBQW9CO3dCQUNwQix3QkFBd0I7d0JBQ3hCLHNCQUFzQjt3QkFDdEIsbUJBQW1CO3dCQUNuQiwwQkFBMEI7d0JBQzFCLHdCQUF3Qjt3QkFDeEIsY0FBYzt3QkFDZCx3QkFBd0I7cUJBQzNCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxrQkFBa0I7d0JBQ2xCLHlCQUF5Qjt3QkFDekIsd0JBQXdCO3dCQUN4Qiw0QkFBNEI7d0JBQzVCLGdDQUFnQzt3QkFDaEMseUJBQXlCO3dCQUN6Qix3QkFBd0I7d0JBQ3hCLCtCQUErQjt3QkFDL0IsOEJBQThCO3dCQUM5QixrQ0FBa0M7d0JBQ2xDLDhCQUE4Qjt3QkFDOUIsK0JBQStCO3dCQUMvQiwyQkFBMkI7d0JBQzNCLG1DQUFtQzt3QkFDbkMseUNBQXlDO3dCQUN6QyxnQ0FBZ0M7d0JBQ2hDLDRCQUE0Qjt3QkFDNUIsbUNBQW1DO3dCQUNuQyxxQ0FBcUM7d0JBQ3JDLG9DQUFvQzt3QkFDcEMsNkJBQTZCO3dCQUM3QixrQ0FBa0M7d0JBQ2xDLHdDQUF3Qzt3QkFDeEMsMkNBQTJDO3dCQUMzQyx3Q0FBd0M7d0JBQ3hDLGlDQUFpQzt3QkFDakMscUNBQXFDO3FCQUN4QztvQkFDRCxTQUFTLEVBQUU7d0JBQ1AsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxzQ0FBc0MsRUFBRTtxQkFDakY7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBMTF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknXG5pbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknXG5pbXBvcnQgeyBQb3J0YWxNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJ1xuXG5pbXBvcnQgeyBGb250QXdlc29tZU1vZHVsZSB9IGZyb20gJ0Bmb3J0YXdlc29tZS9hbmd1bGFyLWZvbnRhd2Vzb21lJ1xuaW1wb3J0IHsgTmd4RGF0YXRhYmxlTW9kdWxlLCBTY3JvbGxiYXJIZWxwZXIgfSBmcm9tICdAbWFya2xiL25neC1kYXRhdGFibGUnXG5pbXBvcnQgeyBUb2FzdHJNb2R1bGUgfSBmcm9tICduZ3gtdG9hc3RyJ1xuXG5pbXBvcnQgeyBUaGVTZWFtQnV0dG9uc01vZHVsZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9idXR0b25zJ1xuaW1wb3J0IHsgVGhlU2VhbUNoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2NoZWNrYm94J1xuaW1wb3J0IHsgVGhlU2VhbUNvbmZpcm1EaWFsb2dNb2R1bGUgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vY29uZmlybS1kaWFsb2cnXG5pbXBvcnQgeyBUaGVTZWFtRm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2Zvcm0tZmllbGQnXG5pbXBvcnQgeyBUaGVTZWFtSWNvbk1vZHVsZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9pY29uJ1xuaW1wb3J0IHsgVGhlU2VhbUxvYWRpbmdNb2R1bGUgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vbG9hZGluZydcbmltcG9ydCB7IFRoZVNlYW1NZW51TW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL21lbnUnXG5pbXBvcnQgeyBUaGVTZWFtUG9wb3Zlck1vZHVsZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9wb3BvdmVyJ1xuaW1wb3J0IHsgVGhlU2VhbVNoYXJlZE1vZHVsZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9zaGFyZWQnXG5pbXBvcnQgeyBUaGVTZWFtVGFibGVDZWxsVHlwZU1vZHVsZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi90YWJsZS1jZWxsLXR5cGUnXG5pbXBvcnQgeyBUaGVTZWFtRGF0YUZpbHRlcnNNb2R1bGUgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vZGF0YS1maWx0ZXJzJ1xuaW1wb3J0IHsgVGhlU2VhbVRvZ2dsZUdyb3VwTW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3RvZ2dsZS1ncm91cCdcblxuaW1wb3J0IHsgRGF0YXRhYmxlQWN0aW9uTWVudUl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2RhdGF0YWJsZS1hY3Rpb24tbWVudS1pdGVtL2RhdGF0YWJsZS1hY3Rpb24tbWVudS1pdGVtLmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGF0YWJsZUFjdGlvbk1lbnVDb21wb25lbnQgfSBmcm9tICcuL2RhdGF0YWJsZS1hY3Rpb24tbWVudS9kYXRhdGFibGUtYWN0aW9uLW1lbnUuY29tcG9uZW50J1xuaW1wb3J0IHsgRGF0YXRhYmxlQ29sdW1uUHJlZmVyZW5jZXNCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2RhdGF0YWJsZS1jb2x1bW4tcHJlZmVyZW5jZXMtYnV0dG9uL2RhdGF0YWJsZS1jb2x1bW4tcHJlZmVyZW5jZXMtYnV0dG9uLmNvbXBvbmVudCcgLy8gdHNsaW50OmRpc2FibGUtbGluZTogbWF4LWxpbmUtbGVuZ3RoXG5pbXBvcnQgeyBEYXRhdGFibGVDb2x1bW5QcmVmZXJlbmNlc0NvbXBvbmVudCB9IGZyb20gJy4vZGF0YXRhYmxlLWNvbHVtbi1wcmVmZXJlbmNlcy9kYXRhdGFibGUtY29sdW1uLXByZWZlcmVuY2VzLmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGF0YWJsZUNvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4vZGF0YXRhYmxlLWNvbHVtbi9kYXRhdGFibGUtY29sdW1uLmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGF0YWJsZUV4cG9ydEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vZGF0YXRhYmxlLWV4cG9ydC1idXR0b24vZGF0YXRhYmxlLWV4cG9ydC1idXR0b24uY29tcG9uZW50J1xuaW1wb3J0IHsgRGF0YXRhYmxlRm9vdGVyVHBsRGlyZWN0aXZlIH0gZnJvbSAnLi9kYXRhdGFibGUtZm9vdGVyL2RhdGF0YWJsZS1mb290ZXItdHBsLmRpcmVjdGl2ZSdcbmltcG9ydCB7IFRoZVNlYW1EYXRhdGFibGVGb290ZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RhdGF0YWJsZS1mb290ZXIvZGF0YXRhYmxlLWZvb3Rlci5kaXJlY3RpdmUnXG5pbXBvcnQgeyBEYXRhdGFibGVNZW51QmFyQ29sdW1uQ2VudGVyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhdGFibGUtbWVudS1iYXItY29sdW1uLWNlbnRlci9kYXRhdGFibGUtbWVudS1iYXItY29sdW1uLWNlbnRlci5jb21wb25lbnQnXG5pbXBvcnQgeyBEYXRhdGFibGVNZW51QmFyQ29sdW1uTGVmdENvbXBvbmVudCB9IGZyb20gJy4vZGF0YXRhYmxlLW1lbnUtYmFyLWNvbHVtbi1sZWZ0L2RhdGF0YWJsZS1tZW51LWJhci1jb2x1bW4tbGVmdC5jb21wb25lbnQnXG5pbXBvcnQgeyBEYXRhdGFibGVNZW51QmFyQ29sdW1uUmlnaHRDb21wb25lbnQgfSBmcm9tICcuL2RhdGF0YWJsZS1tZW51LWJhci1jb2x1bW4tcmlnaHQvZGF0YXRhYmxlLW1lbnUtYmFyLWNvbHVtbi1yaWdodC5jb21wb25lbnQnXG5pbXBvcnQgeyBEYXRhdGFibGVNZW51QmFyUm93Q29tcG9uZW50IH0gZnJvbSAnLi9kYXRhdGFibGUtbWVudS1iYXItcm93L2RhdGF0YWJsZS1tZW51LWJhci1yb3cuY29tcG9uZW50J1xuaW1wb3J0IHsgRGF0YXRhYmxlTWVudUJhclRleHRDb21wb25lbnQgfSBmcm9tICcuL2RhdGF0YWJsZS1tZW51LWJhci10ZXh0L2RhdGF0YWJsZS1tZW51LWJhci10ZXh0LmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGF0YWJsZU1lbnVCYXJDb21wb25lbnQgfSBmcm9tICcuL2RhdGF0YWJsZS1tZW51LWJhci9kYXRhdGFibGUtbWVudS1iYXIuY29tcG9uZW50J1xuaW1wb3J0IHsgRGF0YXRhYmxlUm93RGV0YWlsVHBsRGlyZWN0aXZlIH0gZnJvbSAnLi9kYXRhdGFibGUtcm93LWRldGFpbC9kYXRhdGFibGUtcm93LWRldGFpbC10cGwuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgVGhlU2VhbURhdGF0YWJsZVJvd0RldGFpbERpcmVjdGl2ZSB9IGZyb20gJy4vZGF0YXRhYmxlLXJvdy1kZXRhaWwvZGF0YXRhYmxlLXJvdy1kZXRhaWwuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgRGF0YXRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhdGFibGUvZGF0YXRhYmxlLmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGF0YWJsZUFjdGlvbk1lbnVJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2RhdGF0YWJsZS1hY3Rpb24tbWVudS1pdGVtLmRpcmVjdGl2ZSdcbmltcG9ydCB7IERhdGF0YWJsZUFjdGlvbk1lbnVUb2dnbGVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZGF0YXRhYmxlLWFjdGlvbi1tZW51LXRvZ2dsZS5kaXJlY3RpdmUnXG5pbXBvcnQgeyBEYXRhdGFibGVDZWxsVHBsRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2RhdGF0YWJsZS1jZWxsLXRwbC5kaXJlY3RpdmUnXG5pbXBvcnQgeyBEYXRhdGFibGVGaWx0ZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZGF0YXRhYmxlLWZpbHRlci5kaXJlY3RpdmUnXG5pbXBvcnQgeyBEYXRhdGFibGVSb3dBY3Rpb25JdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2RhdGF0YWJsZS1yb3ctYWN0aW9uLWl0ZW0uZGlyZWN0aXZlJ1xuaW1wb3J0IHsgVGhlU2VhbURhdGF0YWJsZVNjcm9sbGJhckhlbHBlclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2RhdGF0YWJsZS1zY3JvbGxiYXItaGVscGVyLnNlcnZpY2UnXG5pbXBvcnQgeyBEYXRhdGFibGVDb2x1bW5GaWx0ZXJNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9kYXRhdGFibGUtY29sdW1uLWZpbHRlci1tZW51L2RhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLW1lbnUuY29tcG9uZW50J1xuaW1wb3J0IHsgTmdTZWxlY3RNb2R1bGUgfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCdcbmltcG9ydCB7IERhdGF0YWJsZUNvbHVtbkZpbHRlclNlYXJjaFRleHRDb21wb25lbnQgfSBmcm9tICcuL2RhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLXNlYXJjaC10ZXh0L2RhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLXNlYXJjaC10ZXh0LmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGF0YWJsZUNvbHVtbkZpbHRlclNlYXJjaE51bWVyaWNDb21wb25lbnQgfSBmcm9tICcuL2RhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLXNlYXJjaC1udW1lcmljL2RhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLXNlYXJjaC1udW1lcmljLmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGF0YWJsZUNvbHVtbkZpbHRlclNlYXJjaERhdGVDb21wb25lbnQgfSBmcm9tICcuL2RhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLXNlYXJjaC1kYXRlL2RhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLXNlYXJjaC1kYXRlLmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGF0YWJsZUNvbHVtbkZpbHRlclRwbERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9kYXRhdGFibGUtY29sdW1uLWZpbHRlci10cGwuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgVGhlU2VhbURhdGF0YWJsZUNvbHVtbkZpbHRlckRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9kYXRhdGFibGUtY29sdW1uLWZpbHRlci5kaXJlY3RpdmUnXG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIERhdGF0YWJsZUNvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlQ2VsbFRwbERpcmVjdGl2ZSxcbiAgICAgICAgRGF0YXRhYmxlQ29sdW1uQ29tcG9uZW50LFxuICAgICAgICBEYXRhdGFibGVBY3Rpb25NZW51Q29tcG9uZW50LFxuICAgICAgICBEYXRhdGFibGVBY3Rpb25NZW51VG9nZ2xlRGlyZWN0aXZlLFxuICAgICAgICBEYXRhdGFibGVBY3Rpb25NZW51SXRlbUNvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlTWVudUJhckNvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlRmlsdGVyRGlyZWN0aXZlLFxuICAgICAgICBEYXRhdGFibGVSb3dBY3Rpb25JdGVtRGlyZWN0aXZlLFxuICAgICAgICBEYXRhdGFibGVFeHBvcnRCdXR0b25Db21wb25lbnQsXG4gICAgICAgIFRoZVNlYW1EYXRhdGFibGVSb3dEZXRhaWxEaXJlY3RpdmUsXG4gICAgICAgIERhdGF0YWJsZVJvd0RldGFpbFRwbERpcmVjdGl2ZSxcbiAgICAgICAgVGhlU2VhbURhdGF0YWJsZUZvb3RlckRpcmVjdGl2ZSxcbiAgICAgICAgRGF0YXRhYmxlRm9vdGVyVHBsRGlyZWN0aXZlLFxuICAgICAgICBEYXRhdGFibGVDb2x1bW5QcmVmZXJlbmNlc0NvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlQ29sdW1uUHJlZmVyZW5jZXNCdXR0b25Db21wb25lbnQsXG4gICAgICAgIERhdGF0YWJsZUFjdGlvbk1lbnVJdGVtRGlyZWN0aXZlLFxuICAgICAgICBEYXRhdGFibGVNZW51QmFyUm93Q29tcG9uZW50LFxuICAgICAgICBEYXRhdGFibGVNZW51QmFyQ29sdW1uTGVmdENvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlTWVudUJhckNvbHVtbkNlbnRlckNvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlTWVudUJhckNvbHVtblJpZ2h0Q29tcG9uZW50LFxuICAgICAgICBEYXRhdGFibGVNZW51QmFyVGV4dENvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlQ29sdW1uRmlsdGVyTWVudUNvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlQ29sdW1uRmlsdGVyU2VhcmNoVGV4dENvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlQ29sdW1uRmlsdGVyU2VhcmNoTnVtZXJpY0NvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlQ29sdW1uRmlsdGVyU2VhcmNoRGF0ZUNvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlQ29sdW1uRmlsdGVyVHBsRGlyZWN0aXZlLFxuICAgICAgICBUaGVTZWFtRGF0YXRhYmxlQ29sdW1uRmlsdGVyRGlyZWN0aXZlXG4gICAgXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgTmd4RGF0YXRhYmxlTW9kdWxlLFxuICAgICAgICBGb250QXdlc29tZU1vZHVsZSxcbiAgICAgICAgT3ZlcmxheU1vZHVsZSxcbiAgICAgICAgQTExeU1vZHVsZSxcbiAgICAgICAgVGhlU2VhbVNoYXJlZE1vZHVsZSxcbiAgICAgICAgUm91dGVyTW9kdWxlLFxuICAgICAgICBUaGVTZWFtTWVudU1vZHVsZSxcbiAgICAgICAgVGhlU2VhbUJ1dHRvbnNNb2R1bGUsXG4gICAgICAgIFRoZVNlYW1JY29uTW9kdWxlLFxuICAgICAgICBUb2FzdHJNb2R1bGUsXG4gICAgICAgIFRoZVNlYW1Mb2FkaW5nTW9kdWxlLFxuICAgICAgICBQb3J0YWxNb2R1bGUsXG4gICAgICAgIFRoZVNlYW1Db25maXJtRGlhbG9nTW9kdWxlLFxuICAgICAgICBUaGVTZWFtUG9wb3Zlck1vZHVsZSxcbiAgICAgICAgVGhlU2VhbUNoZWNrYm94Q29tcG9uZW50LFxuICAgICAgICBUaGVTZWFtRm9ybUZpZWxkTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBUaGVTZWFtVGFibGVDZWxsVHlwZU1vZHVsZSxcbiAgICAgICAgVGhlU2VhbURhdGFGaWx0ZXJzTW9kdWxlLFxuICAgICAgICBOZ1NlbGVjdE1vZHVsZSxcbiAgICAgICAgVGhlU2VhbVRvZ2dsZUdyb3VwTW9kdWxlXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIERhdGF0YWJsZUNvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlQ2VsbFRwbERpcmVjdGl2ZSxcbiAgICAgICAgRGF0YXRhYmxlQ29sdW1uQ29tcG9uZW50LFxuICAgICAgICBEYXRhdGFibGVBY3Rpb25NZW51Q29tcG9uZW50LFxuICAgICAgICBEYXRhdGFibGVBY3Rpb25NZW51SXRlbUNvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlTWVudUJhckNvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlRmlsdGVyRGlyZWN0aXZlLFxuICAgICAgICBEYXRhdGFibGVSb3dBY3Rpb25JdGVtRGlyZWN0aXZlLFxuICAgICAgICBEYXRhdGFibGVFeHBvcnRCdXR0b25Db21wb25lbnQsXG4gICAgICAgIFRoZVNlYW1EYXRhdGFibGVSb3dEZXRhaWxEaXJlY3RpdmUsXG4gICAgICAgIERhdGF0YWJsZVJvd0RldGFpbFRwbERpcmVjdGl2ZSxcbiAgICAgICAgVGhlU2VhbURhdGF0YWJsZUZvb3RlckRpcmVjdGl2ZSxcbiAgICAgICAgRGF0YXRhYmxlRm9vdGVyVHBsRGlyZWN0aXZlLFxuICAgICAgICBEYXRhdGFibGVDb2x1bW5QcmVmZXJlbmNlc0NvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlQ29sdW1uUHJlZmVyZW5jZXNCdXR0b25Db21wb25lbnQsXG4gICAgICAgIERhdGF0YWJsZUFjdGlvbk1lbnVJdGVtRGlyZWN0aXZlLFxuICAgICAgICBEYXRhdGFibGVNZW51QmFyUm93Q29tcG9uZW50LFxuICAgICAgICBEYXRhdGFibGVNZW51QmFyQ29sdW1uTGVmdENvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlTWVudUJhckNvbHVtbkNlbnRlckNvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlTWVudUJhckNvbHVtblJpZ2h0Q29tcG9uZW50LFxuICAgICAgICBEYXRhdGFibGVNZW51QmFyVGV4dENvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlQ29sdW1uRmlsdGVyTWVudUNvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlQ29sdW1uRmlsdGVyU2VhcmNoVGV4dENvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlQ29sdW1uRmlsdGVyU2VhcmNoTnVtZXJpY0NvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlQ29sdW1uRmlsdGVyU2VhcmNoRGF0ZUNvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlQ29sdW1uRmlsdGVyVHBsRGlyZWN0aXZlLFxuICAgICAgICBUaGVTZWFtRGF0YXRhYmxlQ29sdW1uRmlsdGVyRGlyZWN0aXZlXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBTY3JvbGxiYXJIZWxwZXIsIHVzZUNsYXNzOiBUaGVTZWFtRGF0YXRhYmxlU2Nyb2xsYmFySGVscGVyU2VydmljZSB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBUaGVTZWFtRGF0YXRhYmxlTW9kdWxlIHsgfVxuIl19
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9kYXRhdGFibGUvZGF0YXRhYmxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFFOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUE7QUFDcEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFekMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFDakUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNkJBQTZCLENBQUE7QUFDdEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFDOUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUE7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDM0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0s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QjtxQkFDaEM7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osa0JBQWtCO3dCQUNsQixpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsVUFBVTt3QkFDVixtQkFBbUI7d0JBQ25CLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixvQkFBb0I7d0JBQ3BCLGlCQUFpQjt3QkFDakIsWUFBWTt3QkFDWixvQkFBb0I7d0JBQ3BCLFlBQVk7d0JBQ1osMEJBQTBCO3dCQUMxQixvQkFBb0I7d0JBQ3BCLHdCQUF3Qjt3QkFDeEIsc0JBQXNCO3dCQUN0QixtQkFBbUI7d0JBQ25CLDBCQUEwQjtxQkFDN0I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLGtCQUFrQjt3QkFDbEIseUJBQXlCO3dCQUN6Qix3QkFBd0I7d0JBQ3hCLDRCQUE0Qjt3QkFDNUIsZ0NBQWdDO3dCQUNoQyx5QkFBeUI7d0JBQ3pCLHdCQUF3Qjt3QkFDeEIsK0JBQStCO3dCQUMvQiw4QkFBOEI7d0JBQzlCLGtDQUFrQzt3QkFDbEMsOEJBQThCO3dCQUM5QiwrQkFBK0I7d0JBQy9CLDJCQUEyQjt3QkFDM0IsbUNBQW1DO3dCQUNuQyx5Q0FBeUM7d0JBQ3pDLGdDQUFnQzt3QkFDaEMsNEJBQTRCO3dCQUM1QixtQ0FBbUM7d0JBQ25DLHFDQUFxQzt3QkFDckMsb0NBQW9DO3dCQUNwQyw2QkFBNkI7cUJBQ2hDO29CQUNELFNBQVMsRUFBRTt3QkFDUCxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLHNDQUFzQyxFQUFFO3FCQUNqRjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEExMXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSdcbmltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSdcbmltcG9ydCB7IFBvcnRhbE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXG5cbmltcG9ydCB7IEZvbnRBd2Vzb21lTW9kdWxlIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2FuZ3VsYXItZm9udGF3ZXNvbWUnXG5pbXBvcnQgeyBOZ3hEYXRhdGFibGVNb2R1bGUsIFNjcm9sbGJhckhlbHBlciB9IGZyb20gJ0BtYXJrbGIvbmd4LWRhdGF0YWJsZSdcbmltcG9ydCB7IFRvYXN0ck1vZHVsZSB9IGZyb20gJ25neC10b2FzdHInXG5cbmltcG9ydCB7IFRoZVNlYW1CdXR0b25zTW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2J1dHRvbnMnXG5pbXBvcnQgeyBUaGVTZWFtQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vY2hlY2tib3gnXG5pbXBvcnQgeyBUaGVTZWFtQ29uZmlybURpYWxvZ01vZHVsZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9jb25maXJtLWRpYWxvZydcbmltcG9ydCB7IFRoZVNlYW1Gb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vZm9ybS1maWVsZCdcbmltcG9ydCB7IFRoZVNlYW1JY29uTW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2ljb24nXG5pbXBvcnQgeyBUaGVTZWFtTG9hZGluZ01vZHVsZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9sb2FkaW5nJ1xuaW1wb3J0IHsgVGhlU2VhbU1lbnVNb2R1bGUgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vbWVudSdcbmltcG9ydCB7IFRoZVNlYW1Qb3BvdmVyTW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3BvcG92ZXInXG5pbXBvcnQgeyBUaGVTZWFtU2hhcmVkTW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3NoYXJlZCdcbmltcG9ydCB7IFRoZVNlYW1UYWJsZUNlbGxUeXBlTW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3RhYmxlLWNlbGwtdHlwZSdcblxuaW1wb3J0IHsgRGF0YXRhYmxlQWN0aW9uTWVudUl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2RhdGF0YWJsZS1hY3Rpb24tbWVudS1pdGVtL2RhdGF0YWJsZS1hY3Rpb24tbWVudS1pdGVtLmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGF0YWJsZUFjdGlvbk1lbnVDb21wb25lbnQgfSBmcm9tICcuL2RhdGF0YWJsZS1hY3Rpb24tbWVudS9kYXRhdGFibGUtYWN0aW9uLW1lbnUuY29tcG9uZW50J1xuaW1wb3J0IHsgRGF0YXRhYmxlQ29sdW1uUHJlZmVyZW5jZXNCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2RhdGF0YWJsZS1jb2x1bW4tcHJlZmVyZW5jZXMtYnV0dG9uL2RhdGF0YWJsZS1jb2x1bW4tcHJlZmVyZW5jZXMtYnV0dG9uLmNvbXBvbmVudCcgLy8gdHNsaW50OmRpc2FibGUtbGluZTogbWF4LWxpbmUtbGVuZ3RoXG5pbXBvcnQgeyBEYXRhdGFibGVDb2x1bW5QcmVmZXJlbmNlc0NvbXBvbmVudCB9IGZyb20gJy4vZGF0YXRhYmxlLWNvbHVtbi1wcmVmZXJlbmNlcy9kYXRhdGFibGUtY29sdW1uLXByZWZlcmVuY2VzLmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGF0YWJsZUNvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4vZGF0YXRhYmxlLWNvbHVtbi9kYXRhdGFibGUtY29sdW1uLmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGF0YWJsZUV4cG9ydEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vZGF0YXRhYmxlLWV4cG9ydC1idXR0b24vZGF0YXRhYmxlLWV4cG9ydC1idXR0b24uY29tcG9uZW50J1xuaW1wb3J0IHsgRGF0YXRhYmxlRm9vdGVyVHBsRGlyZWN0aXZlIH0gZnJvbSAnLi9kYXRhdGFibGUtZm9vdGVyL2RhdGF0YWJsZS1mb290ZXItdHBsLmRpcmVjdGl2ZSdcbmltcG9ydCB7IFRoZVNlYW1EYXRhdGFibGVGb290ZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RhdGF0YWJsZS1mb290ZXIvZGF0YXRhYmxlLWZvb3Rlci5kaXJlY3RpdmUnXG5pbXBvcnQgeyBEYXRhdGFibGVNZW51QmFyQ29sdW1uQ2VudGVyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhdGFibGUtbWVudS1iYXItY29sdW1uLWNlbnRlci9kYXRhdGFibGUtbWVudS1iYXItY29sdW1uLWNlbnRlci5jb21wb25lbnQnXG5pbXBvcnQgeyBEYXRhdGFibGVNZW51QmFyQ29sdW1uTGVmdENvbXBvbmVudCB9IGZyb20gJy4vZGF0YXRhYmxlLW1lbnUtYmFyLWNvbHVtbi1sZWZ0L2RhdGF0YWJsZS1tZW51LWJhci1jb2x1bW4tbGVmdC5jb21wb25lbnQnXG5pbXBvcnQgeyBEYXRhdGFibGVNZW51QmFyQ29sdW1uUmlnaHRDb21wb25lbnQgfSBmcm9tICcuL2RhdGF0YWJsZS1tZW51LWJhci1jb2x1bW4tcmlnaHQvZGF0YXRhYmxlLW1lbnUtYmFyLWNvbHVtbi1yaWdodC5jb21wb25lbnQnXG5pbXBvcnQgeyBEYXRhdGFibGVNZW51QmFyUm93Q29tcG9uZW50IH0gZnJvbSAnLi9kYXRhdGFibGUtbWVudS1iYXItcm93L2RhdGF0YWJsZS1tZW51LWJhci1yb3cuY29tcG9uZW50J1xuaW1wb3J0IHsgRGF0YXRhYmxlTWVudUJhclRleHRDb21wb25lbnQgfSBmcm9tICcuL2RhdGF0YWJsZS1tZW51LWJhci10ZXh0L2RhdGF0YWJsZS1tZW51LWJhci10ZXh0LmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGF0YWJsZU1lbnVCYXJDb21wb25lbnQgfSBmcm9tICcuL2RhdGF0YWJsZS1tZW51LWJhci9kYXRhdGFibGUtbWVudS1iYXIuY29tcG9uZW50J1xuaW1wb3J0IHsgRGF0YXRhYmxlUm93RGV0YWlsVHBsRGlyZWN0aXZlIH0gZnJvbSAnLi9kYXRhdGFibGUtcm93LWRldGFpbC9kYXRhdGFibGUtcm93LWRldGFpbC10cGwuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgVGhlU2VhbURhdGF0YWJsZVJvd0RldGFpbERpcmVjdGl2ZSB9IGZyb20gJy4vZGF0YXRhYmxlLXJvdy1kZXRhaWwvZGF0YXRhYmxlLXJvdy1kZXRhaWwuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgRGF0YXRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhdGFibGUvZGF0YXRhYmxlLmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGF0YWJsZUFjdGlvbk1lbnVJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2RhdGF0YWJsZS1hY3Rpb24tbWVudS1pdGVtLmRpcmVjdGl2ZSdcbmltcG9ydCB7IERhdGF0YWJsZUFjdGlvbk1lbnVUb2dnbGVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZGF0YXRhYmxlLWFjdGlvbi1tZW51LXRvZ2dsZS5kaXJlY3RpdmUnXG5pbXBvcnQgeyBEYXRhdGFibGVDZWxsVHBsRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2RhdGF0YWJsZS1jZWxsLXRwbC5kaXJlY3RpdmUnXG5pbXBvcnQgeyBEYXRhdGFibGVGaWx0ZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZGF0YXRhYmxlLWZpbHRlci5kaXJlY3RpdmUnXG5pbXBvcnQgeyBEYXRhdGFibGVSb3dBY3Rpb25JdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2RhdGF0YWJsZS1yb3ctYWN0aW9uLWl0ZW0uZGlyZWN0aXZlJ1xuaW1wb3J0IHsgVGhlU2VhbURhdGF0YWJsZVNjcm9sbGJhckhlbHBlclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2RhdGF0YWJsZS1zY3JvbGxiYXItaGVscGVyLnNlcnZpY2UnXG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIERhdGF0YWJsZUNvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlQ2VsbFRwbERpcmVjdGl2ZSxcbiAgICAgICAgRGF0YXRhYmxlQ29sdW1uQ29tcG9uZW50LFxuICAgICAgICBEYXRhdGFibGVBY3Rpb25NZW51Q29tcG9uZW50LFxuICAgICAgICBEYXRhdGFibGVBY3Rpb25NZW51VG9nZ2xlRGlyZWN0aXZlLFxuICAgICAgICBEYXRhdGFibGVBY3Rpb25NZW51SXRlbUNvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlTWVudUJhckNvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlRmlsdGVyRGlyZWN0aXZlLFxuICAgICAgICBEYXRhdGFibGVSb3dBY3Rpb25JdGVtRGlyZWN0aXZlLFxuICAgICAgICBEYXRhdGFibGVFeHBvcnRCdXR0b25Db21wb25lbnQsXG4gICAgICAgIFRoZVNlYW1EYXRhdGFibGVSb3dEZXRhaWxEaXJlY3RpdmUsXG4gICAgICAgIERhdGF0YWJsZVJvd0RldGFpbFRwbERpcmVjdGl2ZSxcbiAgICAgICAgVGhlU2VhbURhdGF0YWJsZUZvb3RlckRpcmVjdGl2ZSxcbiAgICAgICAgRGF0YXRhYmxlRm9vdGVyVHBsRGlyZWN0aXZlLFxuICAgICAgICBEYXRhdGFibGVDb2x1bW5QcmVmZXJlbmNlc0NvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlQ29sdW1uUHJlZmVyZW5jZXNCdXR0b25Db21wb25lbnQsXG4gICAgICAgIERhdGF0YWJsZUFjdGlvbk1lbnVJdGVtRGlyZWN0aXZlLFxuICAgICAgICBEYXRhdGFibGVNZW51QmFyUm93Q29tcG9uZW50LFxuICAgICAgICBEYXRhdGFibGVNZW51QmFyQ29sdW1uTGVmdENvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlTWVudUJhckNvbHVtbkNlbnRlckNvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlTWVudUJhckNvbHVtblJpZ2h0Q29tcG9uZW50LFxuICAgICAgICBEYXRhdGFibGVNZW51QmFyVGV4dENvbXBvbmVudCxcbiAgICBdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBOZ3hEYXRhdGFibGVNb2R1bGUsXG4gICAgICAgIEZvbnRBd2Vzb21lTW9kdWxlLFxuICAgICAgICBPdmVybGF5TW9kdWxlLFxuICAgICAgICBBMTF5TW9kdWxlLFxuICAgICAgICBUaGVTZWFtU2hhcmVkTW9kdWxlLFxuICAgICAgICBSb3V0ZXJNb2R1bGUsXG4gICAgICAgIFRoZVNlYW1NZW51TW9kdWxlLFxuICAgICAgICBUaGVTZWFtQnV0dG9uc01vZHVsZSxcbiAgICAgICAgVGhlU2VhbUljb25Nb2R1bGUsXG4gICAgICAgIFRvYXN0ck1vZHVsZSxcbiAgICAgICAgVGhlU2VhbUxvYWRpbmdNb2R1bGUsXG4gICAgICAgIFBvcnRhbE1vZHVsZSxcbiAgICAgICAgVGhlU2VhbUNvbmZpcm1EaWFsb2dNb2R1bGUsXG4gICAgICAgIFRoZVNlYW1Qb3BvdmVyTW9kdWxlLFxuICAgICAgICBUaGVTZWFtQ2hlY2tib3hDb21wb25lbnQsXG4gICAgICAgIFRoZVNlYW1Gb3JtRmllbGRNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIFRoZVNlYW1UYWJsZUNlbGxUeXBlTW9kdWxlXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIERhdGF0YWJsZUNvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlQ2VsbFRwbERpcmVjdGl2ZSxcbiAgICAgICAgRGF0YXRhYmxlQ29sdW1uQ29tcG9uZW50LFxuICAgICAgICBEYXRhdGFibGVBY3Rpb25NZW51Q29tcG9uZW50LFxuICAgICAgICBEYXRhdGFibGVBY3Rpb25NZW51SXRlbUNvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlTWVudUJhckNvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlRmlsdGVyRGlyZWN0aXZlLFxuICAgICAgICBEYXRhdGFibGVSb3dBY3Rpb25JdGVtRGlyZWN0aXZlLFxuICAgICAgICBEYXRhdGFibGVFeHBvcnRCdXR0b25Db21wb25lbnQsXG4gICAgICAgIFRoZVNlYW1EYXRhdGFibGVSb3dEZXRhaWxEaXJlY3RpdmUsXG4gICAgICAgIERhdGF0YWJsZVJvd0RldGFpbFRwbERpcmVjdGl2ZSxcbiAgICAgICAgVGhlU2VhbURhdGF0YWJsZUZvb3RlckRpcmVjdGl2ZSxcbiAgICAgICAgRGF0YXRhYmxlRm9vdGVyVHBsRGlyZWN0aXZlLFxuICAgICAgICBEYXRhdGFibGVDb2x1bW5QcmVmZXJlbmNlc0NvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlQ29sdW1uUHJlZmVyZW5jZXNCdXR0b25Db21wb25lbnQsXG4gICAgICAgIERhdGF0YWJsZUFjdGlvbk1lbnVJdGVtRGlyZWN0aXZlLFxuICAgICAgICBEYXRhdGFibGVNZW51QmFyUm93Q29tcG9uZW50LFxuICAgICAgICBEYXRhdGFibGVNZW51QmFyQ29sdW1uTGVmdENvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlTWVudUJhckNvbHVtbkNlbnRlckNvbXBvbmVudCxcbiAgICAgICAgRGF0YXRhYmxlTWVudUJhckNvbHVtblJpZ2h0Q29tcG9uZW50LFxuICAgICAgICBEYXRhdGFibGVNZW51QmFyVGV4dENvbXBvbmVudFxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogU2Nyb2xsYmFySGVscGVyLCB1c2VDbGFzczogVGhlU2VhbURhdGF0YWJsZVNjcm9sbGJhckhlbHBlclNlcnZpY2UgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgVGhlU2VhbURhdGF0YWJsZU1vZHVsZSB7IH1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2RhdGF0YWJsZS9tb2RlbHMvdGFibGUtY29sdW1uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYWJsZUNvbHVtbiB9IGZyb20gJ0BtYXJrbGIvbmd4LWRhdGF0YWJsZSdcblxuaW1wb3J0IHsgVGFibGVDZWxsVHlwZUNvbHVtbiwgVGFibGVDZWxsVHlwZUNvbmZpZywgVGFibGVDZWxsVHlwZUV4cG9ydFByb3BzLCBUYWJsZUNlbGxUeXBlTmFtZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi90YWJsZS1jZWxsLXR5cGUnXG5cbmV4cG9ydCBpbnRlcmZhY2UgVGhlU2VhbURhdGF0YWJsZUNvbHVtbkhpZGFibGUge1xuXG4gIC8qKlxuICAgKiBIaWRlIGEgY29sdW1uLCBidXQgbGV0IHRoZSBkYXRhdGFibGUgc3RpbGwga25vdyBhYm91dCBpdC4gVXNlZnVsIGZvclxuICAgKiBoaWRkaW5nIGEgY29sdW1ucyB0aGF0IGNhbiBiZSB1bmhpZGRlbiB0aHJvdWdoIGEgc2V0dGluZy5cbiAgICpcbiAgICogTk9URTogSWYgeW91IGZpbHRlciBvdXQgdGhlIGNvbHVtbiBiZWZvcmUgcGFzc2luZyBpdCB0byB0aGUgZGF0YXRhYmxlIGl0XG4gICAqIHdpbGwgbm90IGJlIGFibGUgdG8gcHJvdmlkZSB0aGF0IGNvbHVtbiBhcyBhbiBvcHRpb24gaW4gdGhlIGNvbHVtbiB0b2dnbGVcbiAgICogbGlzdC5cbiAgICovXG4gIGhpZGRlbj86IGJvb2xlYW5cblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRoZVNlYW1EYXRhdGFibGVDb2x1bW5GaWx0ZXJhYmxlPFQgZXh0ZW5kcyBUaGVTZWFtRGF0YXRhYmxlQ29sdW1uRmlsdGVyYWJsZUNvbmZpZyA9IGFueT4ge1xuICBmaWx0ZXJhYmxlPzogYm9vbGVhblxuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIG9wdGlvbnMgZm9yIGEgc3BlY2lmaWMgZmlsdGVyIHR5cGUuXG4gICAqL1xuICBmaWx0ZXJPcHRpb25zPzogVFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRoZVNlYW1EYXRhdGFibGVDb2x1bW5GaWx0ZXJhYmxlQ29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBvYmplY3QgbmFtZSBvbiB3aGljaCB0byBydW4gdGhlIGZpbHRlci5cbiAgICpcbiAgICogRGVmYXVsdHMgdG8gY29sdW1uIHByb3AuXG4gICAqL1xuICBmaWx0ZXJQcm9wPzogc3RyaW5nXG5cbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIGZpbHRlcihzKSB0byBzaG93IGluIHRoZSBmaWx0ZXIgbWVudS5cbiAgICpcbiAgICogSWYgbm90IHByb3ZpZGVkLCB3aWxsIGxvb2sgdG8gY2VsbFR5cGUgdG8gZGV0ZXJtaW5lIGRlZmF1bHQgZmlsdGVyKHMpLlxuICAgKi9cbiAgZmlsdGVyVHlwZT86IHN0cmluZ1xuXG59XG5cbmV4cG9ydCB0eXBlIFRoZVNlYW1EYXRhdGFibGVDb2x1bW48VCBleHRlbmRzIFRhYmxlQ2VsbFR5cGVOYW1lID0gYW55LCBDIGV4dGVuZHMgVGFibGVDZWxsVHlwZUNvbmZpZzxUPiA9IGFueSwgRiBleHRlbmRzIFRoZVNlYW1EYXRhdGFibGVDb2x1bW5GaWx0ZXJhYmxlQ29uZmlnID0gYW55PiA9XG4gIFRhYmxlQ29sdW1uICZcbiAgVGFibGVDZWxsVHlwZUNvbHVtbjxULCBDPiAmXG4gIFRhYmxlQ2VsbFR5cGVFeHBvcnRQcm9wcyAmXG4gIFRoZVNlYW1EYXRhdGFibGVDb2x1bW5IaWRhYmxlICZcbiAgVGhlU2VhbURhdGF0YWJsZUNvbHVtbkZpbHRlcmFibGU8Rj5cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2RhdGF0YWJsZS9tb2RlbHMvdGFibGUtY29sdW1uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYWJsZUNvbHVtbiB9IGZyb20gJ0BtYXJrbGIvbmd4LWRhdGF0YWJsZSdcblxuaW1wb3J0IHsgVGFibGVDZWxsVHlwZUNvbHVtbiwgVGFibGVDZWxsVHlwZUNvbmZpZywgVGFibGVDZWxsVHlwZUV4cG9ydFByb3BzLCBUYWJsZUNlbGxUeXBlTmFtZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi90YWJsZS1jZWxsLXR5cGUnXG5cbmV4cG9ydCBpbnRlcmZhY2UgVGhlU2VhbURhdGF0YWJsZUNvbHVtbkhpZGFibGUge1xuXG4gIC8qKlxuICAgKiBIaWRlIGEgY29sdW1uLCBidXQgbGV0IHRoZSBkYXRhdGFibGUgc3RpbGwga25vdyBhYm91dCBpdC4gVXNlZnVsIGZvclxuICAgKiBoaWRkaW5nIGEgY29sdW1ucyB0aGF0IGNhbiBiZSB1bmhpZGRlbiB0aHJvdWdoIGEgc2V0dGluZy5cbiAgICpcbiAgICogTk9URTogSWYgeW91IGZpbHRlciBvdXQgdGhlIGNvbHVtbiBiZWZvcmUgcGFzc2luZyBpdCB0byB0aGUgZGF0YXRhYmxlIGl0XG4gICAqIHdpbGwgbm90IGJlIGFibGUgdG8gcHJvdmlkZSB0aGF0IGNvbHVtbiBhcyBhbiBvcHRpb24gaW4gdGhlIGNvbHVtbiB0b2dnbGVcbiAgICogbGlzdC5cbiAgICovXG4gIGhpZGRlbj86IGJvb2xlYW5cblxufVxuXG5leHBvcnQgdHlwZSBUaGVTZWFtRGF0YXRhYmxlQ29sdW1uPFQgZXh0ZW5kcyBUYWJsZUNlbGxUeXBlTmFtZSA9IGFueSwgQyBleHRlbmRzIFRhYmxlQ2VsbFR5cGVDb25maWc8VD4gPSBhbnk+ID1cbiAgVGFibGVDb2x1bW4gJlxuICBUYWJsZUNlbGxUeXBlQ29sdW1uPFQsIEM+ICZcbiAgVGFibGVDZWxsVHlwZUV4cG9ydFByb3BzICZcbiAgVGhlU2VhbURhdGF0YWJsZUNvbHVtbkhpZGFibGVcbiJdfQ==
@@ -2,10 +2,6 @@ export * from './datatable/datatable.component';
2
2
  export * from './datatable-action-menu/datatable-action-menu.component';
3
3
  export * from './datatable-action-menu-item/datatable-action-menu-item.component';
4
4
  export * from './datatable-column/datatable-column.component';
5
- export * from './datatable-column-filter-menu/datatable-column-filter-menu.component';
6
- export * from './datatable-column-filter-search-date/datatable-column-filter-search-date.component';
7
- export * from './datatable-column-filter-search-numeric/datatable-column-filter-search-numeric.component';
8
- export * from './datatable-column-filter-search-text/datatable-column-filter-search-text.component';
9
5
  export * from './datatable-column-preferences/datatable-column-preferences.component';
10
6
  export * from './datatable-column-preferences-button/datatable-column-preferences-button.component';
11
7
  export * from './datatable-export-button/datatable-export-button.component';
@@ -22,18 +18,9 @@ export * from './datatable-row-detail/datatable-row-detail.directive';
22
18
  export * from './directives/datatable-action-menu-item.directive';
23
19
  export * from './directives/datatable-action-menu-toggle.directive';
24
20
  export * from './directives/datatable-cell-tpl.directive';
25
- export * from './directives/datatable-column-filter-tpl.directive';
26
- export * from './directives/datatable-column-filter.directive';
27
21
  export * from './directives/datatable-filter.directive';
28
22
  export * from './directives/datatable-row-action-item.directive';
29
- export * from './models/columns-data-filter';
30
- export * from './models/columns-data-filters/search-date.columns-data-filter';
31
- export * from './models/columns-data-filters/search-numeric.columns-data-filter';
32
- export * from './models/columns-data-filters/search-text.columns-data-filter';
33
- export * from './models/columns-data-filters/models';
34
- export * from './models/columns-data-filters/utils';
35
23
  export * from './models/datatable-accessor';
36
- export * from './models/datatable-config';
37
24
  export * from './models/datatable-data-source';
38
25
  export * from './models/datatable-gql-data-source';
39
26
  export * from './models/menubar-item-data';
@@ -44,7 +31,6 @@ export * from './models/table-column';
44
31
  export * from './models/sort-event';
45
32
  export * from './models/sort-item';
46
33
  export * from './models/table-column';
47
- export * from './services/columns-filters.service';
48
34
  export * from './services/datatable-column-changes.service';
49
35
  export * from './services/datatable-preferences.service';
50
36
  export * from './services/datatable-scrollbar-helper.service';
@@ -52,4 +38,4 @@ export * from './tokens/datatable-preferences-accessor';
52
38
  export * from './tokens/menubar-item-data';
53
39
  export * from './utils/with-stored-column-info';
54
40
  export * from './datatable.module';
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9kYXRhdGFibGUvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlDQUFpQyxDQUFBO0FBQy9DLGNBQWMseURBQXlELENBQUE7QUFDdkUsY0FBYyxtRUFBbUUsQ0FBQTtBQUNqRixjQUFjLCtDQUErQyxDQUFBO0FBQzdELGNBQWMsdUVBQXVFLENBQUE7QUFDckYsY0FBYyxxRkFBcUYsQ0FBQTtBQUNuRyxjQUFjLDJGQUEyRixDQUFBO0FBQ3pHLGNBQWMscUZBQXFGLENBQUE7QUFDbkcsY0FBYyx1RUFBdUUsQ0FBQTtBQUNyRixjQUFjLHFGQUFxRixDQUFBO0FBQ25HLGNBQWMsNkRBQTZELENBQUE7QUFDM0UsY0FBYyxtREFBbUQsQ0FBQTtBQUNqRSxjQUFjLCtDQUErQyxDQUFBO0FBQzdELGNBQWMsbURBQW1ELENBQUE7QUFDakUsY0FBYywrRUFBK0UsQ0FBQTtBQUM3RixjQUFjLDJFQUEyRSxDQUFBO0FBQ3pGLGNBQWMsNkVBQTZFLENBQUE7QUFDM0YsY0FBYywyREFBMkQsQ0FBQTtBQUN6RSxjQUFjLDZEQUE2RCxDQUFBO0FBQzNFLGNBQWMsMkRBQTJELENBQUE7QUFDekUsY0FBYyx1REFBdUQsQ0FBQTtBQUVyRSxjQUFjLG1EQUFtRCxDQUFBO0FBQ2pFLGNBQWMscURBQXFELENBQUE7QUFDbkUsY0FBYywyQ0FBMkMsQ0FBQTtBQUN6RCxjQUFjLG9EQUFvRCxDQUFBO0FBQ2xFLGNBQWMsZ0RBQWdELENBQUE7QUFDOUQsY0FBYyx5Q0FBeUMsQ0FBQTtBQUN2RCxjQUFjLGtEQUFrRCxDQUFBO0FBRWhFLGNBQWMsOEJBQThCLENBQUE7QUFDNUMsY0FBYywrREFBK0QsQ0FBQTtBQUM3RSxjQUFjLGtFQUFrRSxDQUFBO0FBQ2hGLGNBQWMsK0RBQStELENBQUE7QUFDN0UsY0FBYyxzQ0FBc0MsQ0FBQTtBQUNwRCxjQUFjLHFDQUFxQyxDQUFBO0FBQ25ELGNBQWMsNkJBQTZCLENBQUE7QUFDM0MsY0FBYywyQkFBMkIsQ0FBQTtBQUN6QyxjQUFjLGdDQUFnQyxDQUFBO0FBQzlDLGNBQWMsb0NBQW9DLENBQUE7QUFDbEQsY0FBYyw0QkFBNEIsQ0FBQTtBQUMxQyxjQUFjLG9CQUFvQixDQUFBO0FBQ2xDLGNBQWMsK0JBQStCLENBQUE7QUFDN0MsY0FBYyxzQkFBc0IsQ0FBQTtBQUNwQyxjQUFjLHVCQUF1QixDQUFBO0FBQ3JDLGNBQWMscUJBQXFCLENBQUE7QUFDbkMsY0FBYyxvQkFBb0IsQ0FBQTtBQUNsQyxjQUFjLHVCQUF1QixDQUFBO0FBRXJDLGNBQWMsb0NBQW9DLENBQUE7QUFDbEQsY0FBYyw2Q0FBNkMsQ0FBQTtBQUMzRCxjQUFjLDBDQUEwQyxDQUFBO0FBQ3hELGNBQWMsK0NBQStDLENBQUE7QUFFN0QsY0FBYyx5Q0FBeUMsQ0FBQTtBQUN2RCxjQUFjLDRCQUE0QixDQUFBO0FBRTFDLGNBQWMsaUNBQWlDLENBQUE7QUFFL0MsY0FBYyxvQkFBb0IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlL2RhdGF0YWJsZS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2RhdGF0YWJsZS1hY3Rpb24tbWVudS9kYXRhdGFibGUtYWN0aW9uLW1lbnUuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhdGFibGUtYWN0aW9uLW1lbnUtaXRlbS9kYXRhdGFibGUtYWN0aW9uLW1lbnUtaXRlbS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2RhdGF0YWJsZS1jb2x1bW4vZGF0YXRhYmxlLWNvbHVtbi5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2RhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLW1lbnUvZGF0YXRhYmxlLWNvbHVtbi1maWx0ZXItbWVudS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2RhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLXNlYXJjaC1kYXRlL2RhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLXNlYXJjaC1kYXRlLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLWNvbHVtbi1maWx0ZXItc2VhcmNoLW51bWVyaWMvZGF0YXRhYmxlLWNvbHVtbi1maWx0ZXItc2VhcmNoLW51bWVyaWMuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhdGFibGUtY29sdW1uLWZpbHRlci1zZWFyY2gtdGV4dC9kYXRhdGFibGUtY29sdW1uLWZpbHRlci1zZWFyY2gtdGV4dC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2RhdGF0YWJsZS1jb2x1bW4tcHJlZmVyZW5jZXMvZGF0YXRhYmxlLWNvbHVtbi1wcmVmZXJlbmNlcy5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2RhdGF0YWJsZS1jb2x1bW4tcHJlZmVyZW5jZXMtYnV0dG9uL2RhdGF0YWJsZS1jb2x1bW4tcHJlZmVyZW5jZXMtYnV0dG9uLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLWV4cG9ydC1idXR0b24vZGF0YXRhYmxlLWV4cG9ydC1idXR0b24uY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhdGFibGUtZm9vdGVyL2RhdGF0YWJsZS1mb290ZXItdHBsLmRpcmVjdGl2ZSdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLWZvb3Rlci9kYXRhdGFibGUtZm9vdGVyLmRpcmVjdGl2ZSdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLW1lbnUtYmFyL2RhdGF0YWJsZS1tZW51LWJhci5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2RhdGF0YWJsZS1tZW51LWJhci1jb2x1bW4tY2VudGVyL2RhdGF0YWJsZS1tZW51LWJhci1jb2x1bW4tY2VudGVyLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLW1lbnUtYmFyLWNvbHVtbi1sZWZ0L2RhdGF0YWJsZS1tZW51LWJhci1jb2x1bW4tbGVmdC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2RhdGF0YWJsZS1tZW51LWJhci1jb2x1bW4tcmlnaHQvZGF0YXRhYmxlLW1lbnUtYmFyLWNvbHVtbi1yaWdodC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2RhdGF0YWJsZS1tZW51LWJhci1yb3cvZGF0YXRhYmxlLW1lbnUtYmFyLXJvdy5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2RhdGF0YWJsZS1tZW51LWJhci10ZXh0L2RhdGF0YWJsZS1tZW51LWJhci10ZXh0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLXJvdy1kZXRhaWwvZGF0YXRhYmxlLXJvdy1kZXRhaWwtdHBsLmRpcmVjdGl2ZSdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLXJvdy1kZXRhaWwvZGF0YXRhYmxlLXJvdy1kZXRhaWwuZGlyZWN0aXZlJ1xuXG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvZGF0YXRhYmxlLWFjdGlvbi1tZW51LWl0ZW0uZGlyZWN0aXZlJ1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2RhdGF0YWJsZS1hY3Rpb24tbWVudS10b2dnbGUuZGlyZWN0aXZlJ1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2RhdGF0YWJsZS1jZWxsLXRwbC5kaXJlY3RpdmUnXG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvZGF0YXRhYmxlLWNvbHVtbi1maWx0ZXItdHBsLmRpcmVjdGl2ZSdcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9kYXRhdGFibGUtY29sdW1uLWZpbHRlci5kaXJlY3RpdmUnXG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvZGF0YXRhYmxlLWZpbHRlci5kaXJlY3RpdmUnXG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvZGF0YXRhYmxlLXJvdy1hY3Rpb24taXRlbS5kaXJlY3RpdmUnXG5cbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2NvbHVtbnMtZGF0YS1maWx0ZXInXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9jb2x1bW5zLWRhdGEtZmlsdGVycy9zZWFyY2gtZGF0ZS5jb2x1bW5zLWRhdGEtZmlsdGVyJ1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvY29sdW1ucy1kYXRhLWZpbHRlcnMvc2VhcmNoLW51bWVyaWMuY29sdW1ucy1kYXRhLWZpbHRlcidcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2NvbHVtbnMtZGF0YS1maWx0ZXJzL3NlYXJjaC10ZXh0LmNvbHVtbnMtZGF0YS1maWx0ZXInXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9jb2x1bW5zLWRhdGEtZmlsdGVycy9tb2RlbHMnXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9jb2x1bW5zLWRhdGEtZmlsdGVycy91dGlscydcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2RhdGF0YWJsZS1hY2Nlc3NvcidcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2RhdGF0YWJsZS1jb25maWcnXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9kYXRhdGFibGUtZGF0YS1zb3VyY2UnXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9kYXRhdGFibGUtZ3FsLWRhdGEtc291cmNlJ1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvbWVudWJhci1pdGVtLWRhdGEnXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9wYWdlLWluZm8nXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9wcmVmZXJlbmNlcy1hY2Nlc3NvcidcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL3ByZWZlcmVuY2VzJ1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvdGFibGUtY29sdW1uJ1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvc29ydC1ldmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL3NvcnQtaXRlbSdcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL3RhYmxlLWNvbHVtbidcblxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9jb2x1bW5zLWZpbHRlcnMuc2VydmljZSdcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvZGF0YXRhYmxlLWNvbHVtbi1jaGFuZ2VzLnNlcnZpY2UnXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2RhdGF0YWJsZS1wcmVmZXJlbmNlcy5zZXJ2aWNlJ1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9kYXRhdGFibGUtc2Nyb2xsYmFyLWhlbHBlci5zZXJ2aWNlJ1xuXG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy9kYXRhdGFibGUtcHJlZmVyZW5jZXMtYWNjZXNzb3InXG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy9tZW51YmFyLWl0ZW0tZGF0YSdcblxuZXhwb3J0ICogZnJvbSAnLi91dGlscy93aXRoLXN0b3JlZC1jb2x1bW4taW5mbydcblxuZXhwb3J0ICogZnJvbSAnLi9kYXRhdGFibGUubW9kdWxlJ1xuIl19
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9kYXRhdGFibGUvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlDQUFpQyxDQUFBO0FBQy9DLGNBQWMseURBQXlELENBQUE7QUFDdkUsY0FBYyxtRUFBbUUsQ0FBQTtBQUNqRixjQUFjLCtDQUErQyxDQUFBO0FBQzdELGNBQWMsdUVBQXVFLENBQUE7QUFDckYsY0FBYyxxRkFBcUYsQ0FBQTtBQUNuRyxjQUFjLDZEQUE2RCxDQUFBO0FBQzNFLGNBQWMsbURBQW1ELENBQUE7QUFDakUsY0FBYywrQ0FBK0MsQ0FBQTtBQUM3RCxjQUFjLG1EQUFtRCxDQUFBO0FBQ2pFLGNBQWMsK0VBQStFLENBQUE7QUFDN0YsY0FBYywyRUFBMkUsQ0FBQTtBQUN6RixjQUFjLDZFQUE2RSxDQUFBO0FBQzNGLGNBQWMsMkRBQTJELENBQUE7QUFDekUsY0FBYyw2REFBNkQsQ0FBQTtBQUMzRSxjQUFjLDJEQUEyRCxDQUFBO0FBQ3pFLGNBQWMsdURBQXVELENBQUE7QUFFckUsY0FBYyxtREFBbUQsQ0FBQTtBQUNqRSxjQUFjLHFEQUFxRCxDQUFBO0FBQ25FLGNBQWMsMkNBQTJDLENBQUE7QUFDekQsY0FBYyx5Q0FBeUMsQ0FBQTtBQUN2RCxjQUFjLGtEQUFrRCxDQUFBO0FBRWhFLGNBQWMsNkJBQTZCLENBQUE7QUFDM0MsY0FBYyxnQ0FBZ0MsQ0FBQTtBQUM5QyxjQUFjLG9DQUFvQyxDQUFBO0FBQ2xELGNBQWMsNEJBQTRCLENBQUE7QUFDMUMsY0FBYyxvQkFBb0IsQ0FBQTtBQUNsQyxjQUFjLCtCQUErQixDQUFBO0FBQzdDLGNBQWMsc0JBQXNCLENBQUE7QUFDcEMsY0FBYyx1QkFBdUIsQ0FBQTtBQUNyQyxjQUFjLHFCQUFxQixDQUFBO0FBQ25DLGNBQWMsb0JBQW9CLENBQUE7QUFDbEMsY0FBYyx1QkFBdUIsQ0FBQTtBQUVyQyxjQUFjLDZDQUE2QyxDQUFBO0FBQzNELGNBQWMsMENBQTBDLENBQUE7QUFDeEQsY0FBYywrQ0FBK0MsQ0FBQTtBQUU3RCxjQUFjLHlDQUF5QyxDQUFBO0FBQ3ZELGNBQWMsNEJBQTRCLENBQUE7QUFFMUMsY0FBYyxpQ0FBaUMsQ0FBQTtBQUUvQyxjQUFjLG9CQUFvQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kYXRhdGFibGUvZGF0YXRhYmxlLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLWFjdGlvbi1tZW51L2RhdGF0YWJsZS1hY3Rpb24tbWVudS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2RhdGF0YWJsZS1hY3Rpb24tbWVudS1pdGVtL2RhdGF0YWJsZS1hY3Rpb24tbWVudS1pdGVtLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLWNvbHVtbi9kYXRhdGFibGUtY29sdW1uLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLWNvbHVtbi1wcmVmZXJlbmNlcy9kYXRhdGFibGUtY29sdW1uLXByZWZlcmVuY2VzLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLWNvbHVtbi1wcmVmZXJlbmNlcy1idXR0b24vZGF0YXRhYmxlLWNvbHVtbi1wcmVmZXJlbmNlcy1idXR0b24uY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhdGFibGUtZXhwb3J0LWJ1dHRvbi9kYXRhdGFibGUtZXhwb3J0LWJ1dHRvbi5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2RhdGF0YWJsZS1mb290ZXIvZGF0YXRhYmxlLWZvb3Rlci10cGwuZGlyZWN0aXZlJ1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhdGFibGUtZm9vdGVyL2RhdGF0YWJsZS1mb290ZXIuZGlyZWN0aXZlJ1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhdGFibGUtbWVudS1iYXIvZGF0YXRhYmxlLW1lbnUtYmFyLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLW1lbnUtYmFyLWNvbHVtbi1jZW50ZXIvZGF0YXRhYmxlLW1lbnUtYmFyLWNvbHVtbi1jZW50ZXIuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhdGFibGUtbWVudS1iYXItY29sdW1uLWxlZnQvZGF0YXRhYmxlLW1lbnUtYmFyLWNvbHVtbi1sZWZ0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLW1lbnUtYmFyLWNvbHVtbi1yaWdodC9kYXRhdGFibGUtbWVudS1iYXItY29sdW1uLXJpZ2h0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLW1lbnUtYmFyLXJvdy9kYXRhdGFibGUtbWVudS1iYXItcm93LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLW1lbnUtYmFyLXRleHQvZGF0YXRhYmxlLW1lbnUtYmFyLXRleHQuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhdGFibGUtcm93LWRldGFpbC9kYXRhdGFibGUtcm93LWRldGFpbC10cGwuZGlyZWN0aXZlJ1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhdGFibGUtcm93LWRldGFpbC9kYXRhdGFibGUtcm93LWRldGFpbC5kaXJlY3RpdmUnXG5cbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9kYXRhdGFibGUtYWN0aW9uLW1lbnUtaXRlbS5kaXJlY3RpdmUnXG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvZGF0YXRhYmxlLWFjdGlvbi1tZW51LXRvZ2dsZS5kaXJlY3RpdmUnXG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvZGF0YXRhYmxlLWNlbGwtdHBsLmRpcmVjdGl2ZSdcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9kYXRhdGFibGUtZmlsdGVyLmRpcmVjdGl2ZSdcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9kYXRhdGFibGUtcm93LWFjdGlvbi1pdGVtLmRpcmVjdGl2ZSdcblxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvZGF0YXRhYmxlLWFjY2Vzc29yJ1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvZGF0YXRhYmxlLWRhdGEtc291cmNlJ1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvZGF0YXRhYmxlLWdxbC1kYXRhLXNvdXJjZSdcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL21lbnViYXItaXRlbS1kYXRhJ1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvcGFnZS1pbmZvJ1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvcHJlZmVyZW5jZXMtYWNjZXNzb3InXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9wcmVmZXJlbmNlcydcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL3RhYmxlLWNvbHVtbidcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL3NvcnQtZXZlbnQnXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9zb3J0LWl0ZW0nXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy90YWJsZS1jb2x1bW4nXG5cbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvZGF0YXRhYmxlLWNvbHVtbi1jaGFuZ2VzLnNlcnZpY2UnXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2RhdGF0YWJsZS1wcmVmZXJlbmNlcy5zZXJ2aWNlJ1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9kYXRhdGFibGUtc2Nyb2xsYmFyLWhlbHBlci5zZXJ2aWNlJ1xuXG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy9kYXRhdGFibGUtcHJlZmVyZW5jZXMtYWNjZXNzb3InXG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy9tZW51YmFyLWl0ZW0tZGF0YSdcblxuZXhwb3J0ICogZnJvbSAnLi91dGlscy93aXRoLXN0b3JlZC1jb2x1bW4taW5mbydcblxuZXhwb3J0ICogZnJvbSAnLi9kYXRhdGFibGUubW9kdWxlJ1xuIl19
@@ -78,13 +78,6 @@ export class ColumnsManagerService {
78
78
  this._updateColumns.next(undefined);
79
79
  }
80
80
  }
81
- setActionItemColumnPosition(actionItemColumnPosition) {
82
- const changed = this._actionItemColumnPosition !== actionItemColumnPosition;
83
- this._actionItemColumnPosition = actionItemColumnPosition;
84
- if (changed) {
85
- this._updateColumns.next(undefined);
86
- }
87
- }
88
81
  setActionMenuCellTpl(actionMenuCellTpl) {
89
82
  const changed = this._actionMenuCellTpl !== actionMenuCellTpl;
90
83
  this._actionMenuCellTpl = actionMenuCellTpl;
@@ -163,13 +156,7 @@ export class ColumnsManagerService {
163
156
  cols.push(_col);
164
157
  }
165
158
  if (this._shouldAddRowActionColumn()) {
166
- const actionMenuColumn = createActionMenuColumn(this._actionMenuCellTpl, this._blankHeaderTpl, this._rowActionColumnIsFrozenLeft(), this._rowActionColumnIsFrozenRight());
167
- if (this._rowActionColumnIsStaticLeft()) {
168
- cols.unshift(actionMenuColumn);
169
- }
170
- else {
171
- cols.push(actionMenuColumn);
172
- }
159
+ cols.push(createActionMenuColumn(this._actionMenuCellTpl, this._blankHeaderTpl));
173
160
  }
174
161
  // Make sure the default for any missing props are set.
175
162
  // TODO: Determine if this should be done earlier, because I don't like
@@ -255,18 +242,6 @@ export class ColumnsManagerService {
255
242
  _shouldAddRowActionColumn() {
256
243
  return this._rowActionItem !== undefined;
257
244
  }
258
- _rowActionColumnIsFrozenLeft() {
259
- return this._actionItemColumnPosition === 'frozenLeft';
260
- }
261
- _rowActionColumnIsFrozenRight() {
262
- return this._actionItemColumnPosition === 'frozenRight';
263
- }
264
- _rowActionColumnIsStaticLeft() {
265
- return this._actionItemColumnPosition === 'staticLeft';
266
- }
267
- _rowActionColumnIsStaticRight() {
268
- return this._actionItemColumnPosition === 'staticRight';
269
- }
270
245
  _shouldAddTreeToggleColumn(column) {
271
246
  return column.isTreeColumn !== undefined && column.isTreeColumn &&
272
247
  (!hasProperty(column, 'treeToggleTemplate') || !notNullOrUndefined(column.treeToggleTemplate));
@@ -283,4 +258,4 @@ ColumnsManagerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0"
283
258
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ColumnsManagerService, decorators: [{
284
259
  type: Injectable
285
260
  }], ctorParameters: function () { return [{ type: i0.KeyValueDiffers }, { type: i1.DatatableColumnChangesService }]; } });
286
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1ucy1tYW5hZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZGF0YXRhYmxlL3NlcnZpY2VzL2NvbHVtbnMtbWFuYWdlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWlFLE1BQU0sZUFBZSxDQUFBO0FBQ3pHLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUM1RixPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRWxGLE9BQU8sRUFJTCxhQUFhLEdBR2QsTUFBTSx1QkFBdUIsQ0FBQTtBQUU5QixPQUFPLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFLMUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFDM0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQ2hFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFBOzs7QUFJdkUsSUFBSyxZQUlKO0FBSkQsV0FBSyxZQUFZO0lBQ2YsaURBQUssQ0FBQTtJQUNMLHVEQUFRLENBQUE7SUFDUixtREFBTSxDQUFBO0FBQ1IsQ0FBQyxFQUpJLFlBQVksS0FBWixZQUFZLFFBSWhCO0FBS0QsTUFBTSxPQUFPLHFCQUFxQjtJQXlCaEMsWUFDbUIsUUFBeUIsRUFDekIscUJBQW9EO1FBRHBELGFBQVEs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LENBQUE7SUFDekQsQ0FBQztJQUVPLDBCQUEwQixDQUFDLE1BQThCO1FBQy9ELE9BQU8sTUFBTSxDQUFDLFlBQVksS0FBSyxTQUFTLElBQUksTUFBTSxDQUFDLFlBQVk7WUFDN0QsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUE7SUFDbEcsQ0FBQztJQUVPLHdCQUF3QixDQUFDLE1BQThCO1FBQzdELE9BQU8sQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLGdCQUFnQixDQUFDLENBQUE7SUFDL0MsQ0FBQztJQUVPLDZCQUE2QixDQUFDLE1BQThCO1FBQ2xFLE9BQU8sV0FBVyxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQTtJQUN4QyxDQUFDOztrSEFwV1UscUJBQXFCO3NIQUFyQixxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEtleVZhbHVlQ2hhbmdlcywgS2V5VmFsdWVEaWZmZXIsIEtleVZhbHVlRGlmZmVycywgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBkZWZlciwgRU1QVFksIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcydcbmltcG9ydCB7IGF1ZGl0VGltZSwgbWFwLCBzaGFyZVJlcGxheSwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcblxuaW1wb3J0IHtcbiAgRGF0YVRhYmxlQ29sdW1uQ2VsbFRyZWVUb2dnbGUsXG4gIERhdGFUYWJsZUNvbHVtbkRpcmVjdGl2ZSxcbiAgRGF0YVRhYmxlQ29sdW1uSGVhZGVyRGlyZWN0aXZlLFxuICBTZWxlY3Rpb25UeXBlLFxuICBUYWJsZUNvbHVtbixcbiAgVGFibGVDb2x1bW5Qcm9wLFxufSBmcm9tICdAbWFya2xiL25neC1kYXRhdGFibGUnXG5cbmltcG9ydCB7IGhhc1Byb3BlcnR5LCBub3ROdWxsT3JVbmRlZmluZWQgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vdXRpbHMnXG5cbmltcG9ydCB7IERhdGF0YWJsZUNvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4uL2RhdGF0YWJsZS1jb2x1bW4vZGF0YXRhYmxlLWNvbHVtbi5jb21wb25lbnQnXG5pbXBvcnQgeyBEYXRhdGFibGVSb3dBY3Rpb25JdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9kYXRhdGFibGUtcm93LWFjdGlvbi1pdGVtLmRpcmVjdGl2ZSdcbmltcG9ydCB7IFRoZVNlYW1EYXRhdGFibGVDb2x1bW4gfSBmcm9tICcuLi9tb2RlbHMvdGFibGUtY29sdW1uJ1xuaW1wb3J0IHsgY3JlYXRlQWN0aW9uTWVudUNvbHVtbiB9IGZyb20gJy4uL3V0aWxzL2NyZWF0ZS1hY3Rpb24tbWVudS1jb2x1bW4nXG5pbXBvcnQgeyBjcmVhdGVDaGVja2JveENvbHVtbiB9IGZyb20gJy4uL3V0aWxzL2NyZWF0ZS1jaGVja2JveC1jb2x1bW4nXG5pbXBvcnQgeyBnZXRDb2x1bW5Qcm9wIH0gZnJvbSAnLi4vdXRpbHMvZ2V0LWNvbHVtbi1wcm9wJ1xuaW1wb3J0IHsgc2V0Q29sdW1uRGVmYXVsdHMgfSBmcm9tICcuLi91dGlscy9zZXQtY29sdW1uLWRlZmF1bHRzJ1xuaW1wb3J0IHsgdHJhbnNsYXRlVGVtcGxhdGVDb2x1bW5zIH0gZnJvbSAnLi4vdXRpbHMvdHJhbnNsYXRlLXRlbXBsYXRlcydcbmltcG9ydCB7IERhdGF0YWJsZUNvbHVtbkNoYW5nZXNTZXJ2aWNlIH0gZnJvbSAnLi9kYXRhdGFibGUtY29sdW1uLWNoYW5nZXMuc2VydmljZSdcbmltcG9ydCB7IEFjdGlvbkl0ZW1Db2x1bW5Qb3NpdGlvbiB9IGZyb20gJy4uL21vZGVscy9hY3Rpb24taXRlbS1jb2x1bW4tcG9zaXRpb24nXG5cbmVudW0gQ29sdW1uc1R5cGVzIHtcbiAgSW5wdXQsXG4gIFRlbXBsYXRlLFxuICBSZXN1bHQsXG59XG5cbmV4cG9ydCB0eXBlIEludGVybmFsQ29sdW1uc0dldHRlciA9ICgpID0+IFRhYmxlQ29sdW1uW11cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbHVtbnNNYW5hZ2VyU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3VwZGF0ZUNvbHVtbnMgPSBuZXcgU3ViamVjdDx2b2lkPigpXG5cbiAgcHJpdmF0ZSByZWFkb25seSBfaW5wdXRDb2x1bW5zID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUaGVTZWFtRGF0YXRhYmxlQ29sdW1uW10+KFtdKVxuICBwcml2YXRlIHJlYWRvbmx5IF90ZW1wbGF0ZUNvbHVtbnMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERhdGF0YWJsZUNvbHVtbkNvbXBvbmVudFtdPihbXSlcblxuICBwcml2YXRlIHJlYWRvbmx5IF9pbnBDb2xEaWZmZXJzTWFwID0gbmV3IE1hcDxUYWJsZUNvbHVtblByb3AsIEtleVZhbHVlRGlmZmVyPGFueSwgYW55Pj4oKVxuICBwcml2YXRlIHJlYWRvbmx5IF90cGxDb2xEaWZmZXJzTWFwID0gbmV3IE1hcDxUYWJsZUNvbHVtblByb3AsIEtleVZhbHVlRGlmZmVyPGFueSwgYW55Pj4oKVxuICBwcml2YXRlIHJlYWRvbmx5IF9yZXN1bHRDb2xEaWZmZXJzTWFwID0gbmV3IE1hcDxUYWJsZUNvbHVtblByb3AsIEtleVZhbHVlRGlmZmVyPGFueSwgYW55Pj4oKVxuICBwcml2YXRlIF9jb2xQcm9wc0RpZmZlcj86IEtleVZhbHVlRGlmZmVyPGFueSwgYW55PlxuXG4gIHByaXZhdGUgX2ludGVybmFsQ29sdW1uc0dldHRlcj86IEludGVybmFsQ29sdW1uc0dldHRlclxuXG4gIHByaXZhdGUgX3NlbGVjdGlvblR5cGU6IFNlbGVjdGlvblR5cGUgfCB1bmRlZmluZWRcbiAgcHJpdmF0ZSBfcm93QWN0aW9uSXRlbTogRGF0YXRhYmxlUm93QWN0aW9uSXRlbURpcmVjdGl2ZSB8IHVuZGVmaW5lZFxuICBwcml2YXRlIF9hY3Rpb25NZW51Q2VsbFRwbDogVGVtcGxhdGVSZWY8RGF0YVRhYmxlQ29sdW1uRGlyZWN0aXZlPiB8IHVuZGVmaW5lZFxuICBwcml2YXRlIF9hY3Rpb25JdGVtQ29sdW1uUG9zaXRpb246IEFjdGlvbkl0ZW1Db2x1bW5Qb3NpdGlvbiB8IHVuZGVmaW5lZFxuICBwcml2YXRlIF9ibGFua0hlYWRlclRwbDogVGVtcGxhdGVSZWY8RGF0YVRhYmxlQ29sdW1uSGVhZGVyRGlyZWN0aXZlPiB8IHVuZGVmaW5lZFxuICBwcml2YXRlIF90cmVlVG9nZ2xlVHBsOiBUZW1wbGF0ZVJlZjxEYXRhVGFibGVDb2x1bW5DZWxsVHJlZVRvZ2dsZT4gfCB1bmRlZmluZWRcbiAgcHJpdmF0ZSBfaGVhZGVyVHBsOiBUZW1wbGF0ZVJlZjxEYXRhVGFibGVDb2x1bW5IZWFkZXJEaXJlY3RpdmU+IHwgdW5kZWZpbmVkXG4gIHByaXZhdGUgX2NlbGxUeXBlU2VsZWN0b3JUcGw6IFRlbXBsYXRlUmVmPERhdGFUYWJsZUNvbHVtbkRpcmVjdGl2ZT4gfCB1bmRlZmluZWRcblxuICAvLyBUT0RPOiBDb25zaWRlciBtYWtpbmcgdGhpcyBhIGNvbHVtbnMgY2hhbmdlZCBvYmVydmFibGUsIHRvIG1ha2UgY2hhbmdlcyBtb3JlIHByZWRpY3RhYmxlLlxuICBwdWJsaWMgcmVhZG9ubHkgY29sdW1ucyQ6IE9ic2VydmFibGU8VGhlU2VhbURhdGF0YWJsZUNvbHVtbltdPlxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2RpZmZlcnM6IEtleVZhbHVlRGlmZmVycyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jb2x1bW5DaGFuZ2VzU2VydmljZTogRGF0YXRhYmxlQ29sdW1uQ2hhbmdlc1NlcnZpY2UsXG4gICkge1xuICAgIGNvbnN0IHRlbXBsYXRlQ29sdW1ucyQgPSB0aGlzLl9jb2x1bW5DaGFuZ2VzU2VydmljZS5jb2x1bW5JbnB1dENoYW5nZXMkLnBpcGUoXG4gICAgICBzdGFydFdpdGgodW5kZWZpbmVkKSxcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl90ZW1wbGF0ZUNvbHVtbnMuYXNPYnNlcnZhYmxlKCkucGlwZShtYXAodHJhbnNsYXRlVGVtcGxhdGVDb2x1bW5zKSlcbiAgICAgIH0pXG4gICAgKVxuXG4gICAgdGhpcy5jb2x1bW5zJCA9IGRlZmVyKCgpID0+IHtcbiAgICAgIGxldCBpc0ZpcnN0ID0gdHJ1ZVxuICAgICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICB0aGlzLl9pbnB1dENvbHVtbnMuYXNPYnNlcnZhYmxlKCksXG4gICAgICAgIHRlbXBsYXRlQ29sdW1ucyQsXG4gICAgICAgIHRoaXMuX3VwZGF0ZUNvbHVtbnMuYXNPYnNlcnZhYmxlKCkucGlwZShhdWRpdFRpbWUoMCksIHN0YXJ0V2l0aCh1bmRlZmluZWQpKVxuICAgICAgXSkucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKChbIGlucHV0Q29sdW1ucywgdGVtcGxhdGVDb2x1bW5zIF0pID0+IHtcbiAgICAgICAgICBjb25zdCBjb2xzID0gdGhpcy5fbWVyZ2VDb2x1bW5zKGlucHV0Q29sdW1ucywgdGVtcGxhdGVDb2x1bW5zKVxuXG4gICAgICAgICAgY29uc3QgaGFzQ29sdW1uc0NoYW5nZWQgPSB0aGlzLl9oYXNDb2x1bW5zQ2hhbmdlZChjb2xzKVxuXG4gICAgICAgICAgLy8gVE9ETzogTG9vayBmb3IgY29sdW1ucyBhZGRlZC9yZW1vdmVkIGFuZCByZW1vdmUgdGhlIHJlbW92ZWQgY29sdW1uc1xuICAgICAgICAgIC8vIGRpZmZlcnMsIG5vdCBqdXN0IGNoYW5nZXMgdG8gY29sdW1ucy5cbiAgICAgICAgICBjb25zdCBoYXNBZGRlZE9yUmVtb3ZlZENvbHVtbnMgPSB0aGlzLl9oYXNBZGRlZE9yUmVtb3ZlZENvbHVtbnMoY29scylcblxuICAgICAgICAgIC8vIE5PVEU6IEJvdGggY2hlY2tzIG5lZWQgdG8gYmUgcnVuLCBldmVuIHRob3VnaCBvbmx5IG9uZSBuZWVkcyB0byBiZVxuICAgICAgICAgIC8vIHRydWUsIGJlY2F1c2UgdGhlaXIgZGlmZmVycyBuZWVkIHRvIGJlIGNhbGxlZC5cbiAgICAgICAgICBpZiAoaGFzQ29sdW1uc0NoYW5nZWQgfHwgaGFzQWRkZWRPclJlbW92ZWRDb2x1bW5zIHx8IGlzRmlyc3QpIHtcbiAgICAgICAgICAgIGlzRmlyc3QgPSBmYWxzZVxuICAgICAgICAgICAgcmV0dXJuIG9mKGNvbHMpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIEVNUFRZXG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgIH0pLnBpcGUoXG4gICAgICBzaGFyZVJlcGxheSh7IHJlZkNvdW50OiB0cnVlLCBidWZmZXJTaXplOiAxIH0pXG4gICAgKVxuICB9XG5cbiAgcHVibGljIHNldElucHV0Q29sdW1ucyhjb2x1bW5zOiBUaGVTZWFtRGF0YXRhYmxlQ29sdW1uW10pOiB2b2lkIHtcbiAgICB0aGlzLl9pbnB1dENvbHVtbnMubmV4dChjb2x1bW5zKVxuICB9XG5cbiAgcHVibGljIHNldFRlbXBsYXRlQ29sdW1ucyhjb2x1bW5zOiBEYXRhdGFibGVDb2x1bW5Db21wb25lbnRbXSk6IHZvaWQge1xuICAgIHRoaXMuX3RlbXBsYXRlQ29sdW1ucy5uZXh0KGNvbHVtbnMpXG4gIH1cblxuICBwdWJsaWMgc2V0SW50ZXJuYWxDb2x1bW5zR2V0dGVyKGdldHRlcjogSW50ZXJuYWxDb2x1bW5zR2V0dGVyIHwgbnVsbCk6IHZvaWQge1xuICAgIHRoaXMuX2ludGVybmFsQ29sdW1uc0dldHRlciA9IGdldHRlciB8fCB1bmRlZmluZWRcbiAgICB0aGlzLl91cGRhdGVDb2x1bW5zLm5leHQodW5kZWZpbmVkKVxuICB9XG5cbiAgcHVibGljIHNldFNlbGVjdGlvblR5cGUoc2VsZWN0aW9uVHlwZTogU2VsZWN0aW9uVHlwZSB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGNvbnN0IGNoYW5nZWQgPSB0aGlzLl9zZWxlY3Rpb25UeXBlICE9PSBzZWxlY3Rpb25UeXBlXG4gICAgdGhpcy5fc2VsZWN0aW9uVHlwZSA9IHNlbGVjdGlvblR5cGVcbiAgICBpZiAoY2hhbmdlZCkge1xuICAgICAgdGhpcy5fdXBkYXRlQ29sdW1ucy5uZXh0KHVuZGVmaW5lZClcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0U2VsZWN0aW9uVHlwZSgpOiBTZWxlY3Rpb25UeXBlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uVHlwZVxuICB9XG5cbiAgcHVibGljIHNldFJvd0FjdGlvbkl0ZW0ocm93QWN0aW9uSXRlbTogRGF0YXRhYmxlUm93QWN0aW9uSXRlbURpcmVjdGl2ZSB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGNvbnN0IGNoYW5nZWQgPSB0aGlzLl9yb3dBY3Rpb25JdGVtICE9PSByb3dBY3Rpb25JdGVtXG4gICAgdGhpcy5fcm93QWN0aW9uSXRlbSA9IHJvd0FjdGlvbkl0ZW1cbiAgICBpZiAoY2hhbmdlZCkge1xuICAgICAgdGhpcy5fdXBkYXRlQ29sdW1ucy5uZXh0KHVuZGVmaW5lZClcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0QWN0aW9uSXRlbUNvbHVtblBvc2l0aW9uKGFjdGlvbkl0ZW1Db2x1bW5Qb3NpdGlvbjogQWN0aW9uSXRlbUNvbHVtblBvc2l0aW9uIHwgdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgY2hhbmdlZCA9IHRoaXMuX2FjdGlvbkl0ZW1Db2x1bW5Qb3NpdGlvbiAhPT0gYWN0aW9uSXRlbUNvbHVtblBvc2l0aW9uXG4gICAgdGhpcy5fYWN0aW9uSXRlbUNvbHVtblBvc2l0aW9uID0gYWN0aW9uSXRlbUNvbHVtblBvc2l0aW9uXG4gICAgaWYgKGNoYW5nZWQpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZUNvbHVtbnMubmV4dCh1bmRlZmluZWQpXG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldEFjdGlvbk1lbnVDZWxsVHBsKGFjdGlvbk1lbnVDZWxsVHBsOiBUZW1wbGF0ZVJlZjxEYXRhVGFibGVDb2x1bW5EaXJlY3RpdmU+IHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgY29uc3QgY2hhbmdlZCA9IHRoaXMuX2FjdGlvbk1lbnVDZWxsVHBsICE9PSBhY3Rpb25NZW51Q2VsbFRwbFxuICAgIHRoaXMuX2FjdGlvbk1lbnVDZWxsVHBsID0gYWN0aW9uTWVudUNlbGxUcGxcbiAgICBpZiAoY2hhbmdlZCkge1xuICAgICAgdGhpcy5fdXBkYXRlQ29sdW1ucy5uZXh0KHVuZGVmaW5lZClcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0QmxhbmtIZWFkZXJUcGwoYmxhbmtIZWFkZXJUcGw6IFRlbXBsYXRlUmVmPERhdGFUYWJsZUNvbHVtbkhlYWRlckRpcmVjdGl2ZT4gfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBjb25zdCBjaGFuZ2VkID0gdGhpcy5fYmxhbmtIZWFkZXJUcGwgIT09IGJsYW5rSGVhZGVyVHBsXG4gICAgdGhpcy5fYmxhbmtIZWFkZXJUcGwgPSBibGFua0hlYWRlclRwbFxuICAgIGlmIChjaGFuZ2VkKSB7XG4gICAgICB0aGlzLl91cGRhdGVDb2x1bW5zLm5leHQodW5kZWZpbmVkKVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRUcmVlVG9nZ2xlVHBsKHRyZWVUb2dnbGVUcGw6IFRlbXBsYXRlUmVmPERhdGFUYWJsZUNvbHVtbkNlbGxUcmVlVG9nZ2xlPiB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGNvbnN0IGNoYW5nZWQgPSB0aGlzLl90cmVlVG9nZ2xlVHBsICE9PSB0cmVlVG9nZ2xlVHBsXG4gICAgdGhpcy5fdHJlZVRvZ2dsZVRwbCA9IHRyZWVUb2dnbGVUcGxcbiAgICBpZiAoY2hhbmdlZCkge1xuICAgICAgdGhpcy5fdXBkYXRlQ29sdW1ucy5uZXh0KHVuZGVmaW5lZClcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0SGVhZGVyVHBsKGhlYWRlclRwbDogVGVtcGxhdGVSZWY8RGF0YVRhYmxlQ29sdW1uSGVhZGVyRGlyZWN0aXZlPiB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGNvbnN0IGNoYW5nZWQgPSB0aGlzLl9oZWFkZXJUcGwgIT09IGhlYWRlclRwbFxuICAgIHRoaXMuX2hlYWRlclRwbCA9IGhlYWRlclRwbFxuICAgIGlmIChjaGFuZ2VkKSB7XG4gICAgICB0aGlzLl91cGRhdGVDb2x1bW5zLm5leHQodW5kZWZpbmVkKVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRDZWxsVHlwZVNlbGVjdG9yVHBsKGNlbGxUeXBlU2VsZWN0b3JUcGw6IFRlbXBsYXRlUmVmPERhdGFUYWJsZUNvbHVtbkRpcmVjdGl2ZT4gfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBjb25zdCBjaGFuZ2VkID0gdGhpcy5fY2VsbFR5cGVTZWxlY3RvclRwbCAhPT0gY2VsbFR5cGVTZWxlY3RvclRwbFxuICAgIHRoaXMuX2NlbGxUeXBlU2VsZWN0b3JUcGwgPSBjZWxsVHlwZVNlbGVjdG9yVHBsXG4gICAgaWYgKGNoYW5nZWQpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZUNvbHVtbnMubmV4dCh1bmRlZmluZWQpXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfbWVyZ2VDb2x1bW5zKFxuICAgIGlucHV0Q29sdW1uczogVGhlU2VhbURhdGF0YWJsZUNvbHVtbltdLFxuICAgIHRlbXBsYXRlQ29sdW1uczogRGF0YXRhYmxlQ29sdW1uQ29tcG9uZW50W11cbiAgKTogVGhlU2VhbURhdGF0YWJsZUNvbHVtbltdIHtcbiAgICBjb25zdCBjb2xzOiBUaGVTZWFtRGF0YXRhYmxlQ29sdW1uW10gPSBbXVxuXG4gICAgLy8gQWRkIHRoZSBmaXJzdCBjb2x1bW4gY2hlY2tib3ggaWYgJ2NoZWNrYm94JyBzZWxlY3Rpb24gaXMgZW5hYmxlZC5cbiAgICBpZiAodGhpcy5fc2hvdWxkQWRkQ2hlY2tib3hDb2x1bW4oKSkge1xuICAgICAgY29scy5wdXNoKGNyZWF0ZUNoZWNrYm94Q29sdW1uKCkpXG4gICAgfVxuXG4gICAgLy8gQ29sdW1uIG5lZWRzIHRvIGJlIHByb3ZpZGVkIGluIHRoZSBpbnB1dENvbHVtbnMsIHNvIGl0ZXJhdGUgdGhlXG4gICAgLy8gaW5wdXRDb2x1bW5zLlxuICAgIGZvciAoY29uc3QgaW5wQ29sIG9mIGlucHV0Q29sdW1ucykge1xuICAgICAgY29uc3QgcHJvcCA9IGdldENvbHVtblByb3AoaW5wQ29sKVxuICAgICAgaWYgKCFub3ROdWxsT3JVbmRlZmluZWQocHJvcCkpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoYENvbHVtbiBtYXkgaGF2ZSAncHJvcCcgb3IgJ25hbWUnIGRlZmluZWQuYClcbiAgICAgIH1cblxuICAgICAgY29uc3QgaW50ZXJuYWxDb2wgPSB0aGlzLl9nZXRJbnRlcm5hbENvbHVtbihwcm9wKVxuXG4gICAgICBjb25zdCBpbnBDb2xEaWYgPSB0aGlzLl9nZXRDb2xEaWYoaW5wQ29sLCBDb2x1bW5zVHlwZXMuSW5wdXQpXG4gICAgICBpZiAobm90TnVsbE9yVW5kZWZpbmVkKGlucENvbERpZikpIHtcbiAgICAgICAgdGhpcy5fdXBkYXRlQ29sRGlmKGlucENvbERpZiwgaW50ZXJuYWxDb2wsIGlucENvbClcbiAgICAgIH1cblxuICAgICAgY29uc3QgdHBsQ29sID0gdGhpcy5fZmluZENvbHVtbkJ5UHJvcChwcm9wLCB0ZW1wbGF0ZUNvbHVtbnMpXG4gICAgICBpZiAodHBsQ29sICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3QgdHBsQ29sRGlmID0gdGhpcy5fZ2V0Q29sRGlmKHRwbENvbCwgQ29sdW1uc1R5cGVzLlRlbXBsYXRlKVxuICAgICAgICBpZiAobm90TnVsbE9yVW5kZWZpbmVkKHRwbENvbERpZikpIHtcbiAgICAgICAgICB0aGlzLl91cGRhdGVDb2xEaWYodHBsQ29sRGlmLCBpbnRlcm5hbENvbCwgdHBsQ29sKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IF9jb2w6IFRoZVNlYW1EYXRhdGFibGVDb2x1bW4gPSB7XG4gICAgICAgIC4uLihpbnRlcm5hbENvbCB8fCB7fSksXG4gICAgICAgIC4uLmlucENvbCxcbiAgICAgICAgLy8gVE9ETzogUmV0aGluayB0aGlzLCBiZWNhdXNlIEkgZG9uJ3Qga25vdyBpZiB0aGlzIGlzIGNvcnJlY3QuXG4gICAgICAgIC4uLih0cGxDb2wgYXMgYW55IHx8IHt9KVxuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5fc2hvdWxkQWRkVHJlZVRvZ2dsZUNvbHVtbihfY29sKSkge1xuICAgICAgICBfY29sLnRyZWVUb2dnbGVUZW1wbGF0ZSA9IHRoaXMuX3RyZWVUb2dnbGVUcGxcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuX3Nob3VsZEFkZEhlYWRlclRlbXBsYXRlKF9jb2wpKSB7XG4gICAgICAgIF9jb2wuaGVhZGVyVGVtcGxhdGUgPSB0aGlzLl9oZWFkZXJUcGxcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuX3Nob3VsZEFkZENlbGxUeXBlU2VsZWN0b3JUcGwoX2NvbCkpIHtcbiAgICAgICAgX2NvbC5jZWxsVGVtcGxhdGUgPSB0aGlzLl9jZWxsVHlwZVNlbGVjdG9yVHBsXG4gICAgICB9XG5cbiAgICAgIGNvbHMucHVzaChfY29sKVxuICAgIH1cblxuICAgIGlmICh0aGlzLl9zaG91bGRBZGRSb3dBY3Rpb25Db2x1bW4oKSkge1xuICAgICAgY29uc3QgYWN0aW9uTWVudUNvbHVtbiA9IGNyZWF0ZUFjdGlvbk1lbnVDb2x1bW4odGhpcy5fYWN0aW9uTWVudUNlbGxUcGwsIHRoaXMuX2JsYW5rSGVhZGVyVHBsLCB0aGlzLl9yb3dBY3Rpb25Db2x1bW5Jc0Zyb3plbkxlZnQoKSwgdGhpcy5fcm93QWN0aW9uQ29sdW1uSXNGcm96ZW5SaWdodCgpKVxuXG4gICAgICBpZiAodGhpcy5fcm93QWN0aW9uQ29sdW1uSXNTdGF0aWNMZWZ0KCkpIHtcbiAgICAgICAgY29scy51bnNoaWZ0KGFjdGlvbk1lbnVDb2x1bW4pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb2xzLnB1c2goYWN0aW9uTWVudUNvbHVtbilcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBNYWtlIHN1cmUgdGhlIGRlZmF1bHQgZm9yIGFueSBtaXNzaW5nIHByb3BzIGFyZSBzZXQuXG4gICAgLy8gVE9ETzogRGV0ZXJtaW5lIGlmIHRoaXMgc2hvdWxkIGJlIGRvbmUgZWFybGllciwgYmVjYXVzZSBJIGRvbid0IGxpa2VcbiAgICAvLyBob3cgdGhpcyBpcyBkb25lIGFmdGVyIGRpZiBjaGVja3MuXG4gICAgc2V0Q29sdW1uRGVmYXVsdHMoY29scylcblxuICAgIHJldHVybiBjb2xzXG4gIH1cblxuICBwcml2YXRlIF9nZXRJbnRlcm5hbENvbHVtbnMoKTogVGFibGVDb2x1bW5bXSB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuX2ludGVybmFsQ29sdW1uc0dldHRlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX2ludGVybmFsQ29sdW1uc0dldHRlcigpXG4gIH1cblxuICBwcml2YXRlIF9nZXRJbnRlcm5hbENvbHVtbihwcm9wOiBUYWJsZUNvbHVtblByb3ApOiBUYWJsZUNvbHVtbiB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaW50ZXJuYWxDb2xzID0gdGhpcy5fZ2V0SW50ZXJuYWxDb2x1bW5zKClcblxuICAgIGlmIChpbnRlcm5hbENvbHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cblxuICAgIHJldHVybiBpbnRlcm5hbENvbHMuZmluZChjID0+IGdldENvbHVtblByb3AoYykgPT09IHByb3ApXG4gIH1cblxuICBwcml2YXRlIF9maW5kQ29sdW1uQnlQcm9wPFQgZXh0ZW5kcyBUaGVTZWFtRGF0YXRhYmxlQ29sdW1uIHwgRGF0YXRhYmxlQ29sdW1uQ29tcG9uZW50PihcbiAgICBwcm9wOiBUYWJsZUNvbHVtblByb3AsXG4gICAgY29sdW1uczogVFtdXG4gICk6IFQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBjb2x1bW5zLmZpbmQoYyA9PiBnZXRDb2x1bW5Qcm9wKGMpID09PSBwcm9wKVxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RGlmTWFwRm9yQ29sdW1uc1R5cGUoY29sdW1uc1R5cGU6IENvbHVtbnNUeXBlcyk6IE1hcDxUYWJsZUNvbHVtblByb3AsIEtleVZhbHVlRGlmZmVyPGFueSwgYW55Pj4ge1xuICAgIHN3aXRjaCAoY29sdW1uc1R5cGUpIHtcbiAgICAgIGNhc2UgQ29sdW1uc1R5cGVzLklucHV0OiByZXR1cm4gdGhpcy5faW5wQ29sRGlmZmVyc01hcFxuICAgICAgY2FzZSBDb2x1bW5zVHlwZXMuVGVtcGxhdGU6IHJldHVybiB0aGlzLl90cGxDb2xEaWZmZXJzTWFwXG4gICAgICBjYXNlIENvbHVtbnNUeXBlcy5SZXN1bHQ6IHJldHVybiB0aGlzLl9yZXN1bHRDb2xEaWZmZXJzTWFwXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q29sdW1uRGlmZmVyKHByb3A6IFRhYmxlQ29sdW1uUHJvcCwgY29sc1R5cGU6IENvbHVtbnNUeXBlcyk6IEtleVZhbHVlRGlmZmVyPHN0cmluZywgYW55PiB7XG4gICAgY29uc3QgZGlmTWFwID0gdGhpcy5fZ2V0RGlmTWFwRm9yQ29sdW1uc1R5cGUoY29sc1R5cGUpXG4gICAgaWYgKGRpZk1hcCA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgY29sdW1ucyB0eXBlLmApXG4gICAgfVxuXG4gICAgaWYgKCFkaWZNYXAuaGFzKHByb3ApKSB7XG4gICAgICBkaWZNYXAuc2V0KHByb3AsIHRoaXMuX2RpZmZlcnMuZmluZCh7fSkuY3JlYXRlKCkpXG4gICAgfVxuXG4gICAgY29uc3QgZGlmZmVyID0gZGlmTWFwLmdldChwcm9wKVxuICAgIGlmIChkaWZmZXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgRXJyb3IoYERpZmZlciBub3QgZm91bmQuIE5ldyBkaWZmZXIgc2hvdWxkIGhhdmUgYmVlbiBjcmVhdGVkLmApXG4gICAgfVxuXG4gICAgcmV0dXJuIGRpZmZlclxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q29sRGlmKFxuICAgIGNvbDogVGhlU2VhbURhdGF0YWJsZUNvbHVtbiB8IERhdGF0YWJsZUNvbHVtbkNvbXBvbmVudCxcbiAgICBjb2xzVHlwZTogQ29sdW1uc1R5cGVzXG4gICk6IEtleVZhbHVlQ2hhbmdlczxzdHJpbmcsIGFueT4gfCBudWxsIHtcbiAgICBjb25zdCBwcm9wID0gZ2V0Q29sdW1uUHJvcChjb2wpXG4gICAgaWYgKHByb3AgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgRXJyb3IoYENvbHVtbiBwcm9wIG5vdCBmb3VuZC5gKVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9nZXRDb2x1bW5EaWZmZXIocHJvcCwgY29sc1R5cGUpLmRpZmYoY29sKVxuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlQ29sRGlmKFxuICAgIGNvbERpZjogS2V5VmFsdWVDaGFuZ2VzPHN0cmluZywgYW55PixcbiAgICBpbnRlcm5hbENvbHVtbjogVGFibGVDb2x1bW4gfCB1bmRlZmluZWQsXG4gICAgY29sOiBUaGVTZWFtRGF0YXRhYmxlQ29sdW1uIHwgRGF0YXRhYmxlQ29sdW1uQ29tcG9uZW50XG4gICk6IHZvaWQge1xuICAgIGNvbERpZi5mb3JFYWNoUmVtb3ZlZEl0ZW0ociA9PiB7XG4gICAgICBpZiAoaW50ZXJuYWxDb2x1bW4gJiYgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGludGVybmFsQ29sdW1uLCByLmtleSkpIHtcbiAgICAgICAgY29uc3QgayA9IHIua2V5IGFzIGtleW9mIFRhYmxlQ29sdW1uXG4gICAgICAgIGRlbGV0ZSBpbnRlcm5hbENvbHVtbltrXVxuICAgICAgfVxuICAgIH0pXG4gICAgY29sRGlmLmZvckVhY2hBZGRlZEl0ZW0ociA9PiAoY29sIGFzIGFueSlbci5rZXldID0gci5jdXJyZW50VmFsdWUpXG4gICAgY29sRGlmLmZvckVhY2hDaGFuZ2VkSXRlbShyID0+IChjb2wgYXMgYW55KVtyLmtleV0gPSByLmN1cnJlbnRWYWx1ZSlcbiAgfVxuXG4gIHByaXZhdGUgX2hhc0FkZGVkT3JSZW1vdmVkQ29sdW1ucyhjb2x1bW5zOiBUaGVTZWFtRGF0YXRhYmxlQ29sdW1uW10pOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuX2NvbFByb3BzRGlmZmVyKSB7XG4gICAgICB0aGlzLl9jb2xQcm9wc0RpZmZlciA9IHRoaXMuX2RpZmZlcnMuZmluZChbXSkuY3JlYXRlKClcbiAgICB9XG5cbiAgICBjb25zdCBwcm9wcyA9IGNvbHVtbnMubWFwKGMgPT4gZ2V0Q29sdW1uUHJvcChjKSlcbiAgICByZXR1cm4gdGhpcy5fY29sUHJvcHNEaWZmZXIuZGlmZihwcm9wcykgIT09IG51bGxcbiAgfVxuXG4gIHByaXZhdGUgX2hhc0NvbHVtbnNDaGFuZ2VkKGNvbHVtbnM6IFRoZVNlYW1EYXRhdGFibGVDb2x1bW5bXSk6IGJvb2xlYW4ge1xuICAgIGxldCBjb2xDaGFuZ2VkID0gZmFsc2VcbiAgICBmb3IgKGNvbnN0IGNvbCBvZiBjb2x1bW5zKSB7XG4gICAgICBjb25zdCByZXN1bHREaWYgPSB0aGlzLl9nZXRDb2xEaWYoY29sLCBDb2x1bW5zVHlwZXMuUmVzdWx0KVxuICAgICAgaWYgKHJlc3VsdERpZikge1xuICAgICAgICAvLyBOT1RFOiBDYW4ndCByZXR1cm4gZWFybHksIGJlY2F1c2UgdGhlIGRpZmZlcnMgbmVlZCB0byBiZSB1cGRhdGVkLlxuICAgICAgICBjb2xDaGFuZ2VkID0gdHJ1ZVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gY29sQ2hhbmdlZFxuICB9XG5cbiAgcHJpdmF0ZSBfc2hvdWxkQWRkQ2hlY2tib3hDb2x1bW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvblR5cGUgPT09IFNlbGVjdGlvblR5cGUuY2hlY2tib3hcbiAgfVxuXG4gIHByaXZhdGUgX3Nob3VsZEFkZFJvd0FjdGlvbkNvbHVtbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcm93QWN0aW9uSXRlbSAhPT0gdW5kZWZpbmVkXG4gIH1cblxuICBwcml2YXRlIF9yb3dBY3Rpb25Db2x1bW5Jc0Zyb3plbkxlZnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGlvbkl0ZW1Db2x1bW5Qb3NpdGlvbiA9PT0gJ2Zyb3plbkxlZnQnXG4gIH1cblxuICBwcml2YXRlIF9yb3dBY3Rpb25Db2x1bW5Jc0Zyb3plblJpZ2h0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9hY3Rpb25JdGVtQ29sdW1uUG9zaXRpb24gPT09ICdmcm96ZW5SaWdodCdcbiAgfVxuXG4gIHByaXZhdGUgX3Jvd0FjdGlvbkNvbHVtbklzU3RhdGljTGVmdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aW9uSXRlbUNvbHVtblBvc2l0aW9uID09PSAnc3RhdGljTGVmdCdcbiAgfVxuXG4gIHByaXZhdGUgX3Jvd0FjdGlvbkNvbHVtbklzU3RhdGljUmlnaHQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGlvbkl0ZW1Db2x1bW5Qb3NpdGlvbiA9PT0gJ3N0YXRpY1JpZ2h0J1xuICB9XG5cbiAgcHJpdmF0ZSBfc2hvdWxkQWRkVHJlZVRvZ2dsZUNvbHVtbihjb2x1bW46IFRoZVNlYW1EYXRhdGFibGVDb2x1bW4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gY29sdW1uLmlzVHJlZUNvbHVtbiAhPT0gdW5kZWZpbmVkICYmIGNvbHVtbi5pc1RyZWVDb2x1bW4gJiZcbiAgICAgICghaGFzUHJvcGVydHkoY29sdW1uLCAndHJlZVRvZ2dsZVRlbXBsYXRlJykgfHwgIW5vdE51bGxPclVuZGVmaW5lZChjb2x1bW4udHJlZVRvZ2dsZVRlbXBsYXRlKSlcbiAgfVxuXG4gIHByaXZhdGUgX3Nob3VsZEFkZEhlYWRlclRlbXBsYXRlKGNvbHVtbjogVGhlU2VhbURhdGF0YWJsZUNvbHVtbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhaGFzUHJvcGVydHkoY29sdW1uLCAnaGVhZGVyVGVtcGxhdGUnKVxuICB9XG5cbiAgcHJpdmF0ZSBfc2hvdWxkQWRkQ2VsbFR5cGVTZWxlY3RvclRwbChjb2x1bW46IFRoZVNlYW1EYXRhdGFibGVDb2x1bW4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gaGFzUHJvcGVydHkoY29sdW1uLCAnY2VsbFR5cGUnKVxuICB9XG5cbn1cbiJdfQ==
261
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1ucy1tYW5hZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZGF0YXRhYmxlL3NlcnZpY2VzL2NvbHVtbnMtbWFuYWdlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWlFLE1BQU0sZUFBZSxDQUFBO0FBQ3pHLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUM1RixPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRWxGLE9BQU8sRUFJTCxhQUFhLEdBR2QsTUFBTSx1QkFBdUIsQ0FBQTtBQUU5QixPQUFPLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFLMUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFDM0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQ2hFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFBOzs7QUFHdkUsSUFBSyxZQUlKO0FBSkQsV0FBSyxZQUFZO0lBQ2YsaURBQUssQ0FBQTtJQUNMLHVEQUFRLENBQUE7SUFDUixtREFBTSxDQUFBO0FBQ1IsQ0FBQyxFQUpJLFlBQVksS0FBWixZQUFZLFFBSWhCO0FBS0QsTUFBTSxPQUFPLHFCQUFxQjtJQXdCaEMsWUFDbUIsUUFBeUIsRUFDekIscUJBQW9EO1FBRHBELGFBQVEs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QUMsTUFBTSxDQUFDLENBQUE7WUFDM0QsSUFBSSxTQUFTLEVBQUU7Z0JBQ2Isb0VBQW9FO2dCQUNwRSxVQUFVLEdBQUcsSUFBSSxDQUFBO2FBQ2xCO1NBQ0Y7UUFDRCxPQUFPLFVBQVUsQ0FBQTtJQUNuQixDQUFDO0lBRU8sd0JBQXdCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLGNBQWMsS0FBSyxhQUFhLENBQUMsUUFBUSxDQUFBO0lBQ3ZELENBQUM7SUFFTyx5QkFBeUI7UUFDL0IsT0FBTyxJQUFJLENBQUMsY0FBYyxLQUFLLFNBQVMsQ0FBQTtJQUMxQyxDQUFDO0lBRU8sMEJBQTBCLENBQUMsTUFBOEI7UUFDL0QsT0FBTyxNQUFNLENBQUMsWUFBWSxLQUFLLFNBQVMsSUFBSSxNQUFNLENBQUMsWUFBWTtZQUM3RCxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQTtJQUNsRyxDQUFDO0lBRU8sd0JBQXdCLENBQUMsTUFBOEI7UUFDN0QsT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQTtJQUMvQyxDQUFDO0lBRU8sNkJBQTZCLENBQUMsTUFBOEI7UUFDbEUsT0FBTyxXQUFXLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFBO0lBQ3hDLENBQUM7O2tIQXJVVSxxQkFBcUI7c0hBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgS2V5VmFsdWVDaGFuZ2VzLCBLZXlWYWx1ZURpZmZlciwgS2V5VmFsdWVEaWZmZXJzLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGRlZmVyLCBFTVBUWSwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgYXVkaXRUaW1lLCBtYXAsIHNoYXJlUmVwbGF5LCBzdGFydFdpdGgsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuXG5pbXBvcnQge1xuICBEYXRhVGFibGVDb2x1bW5DZWxsVHJlZVRvZ2dsZSxcbiAgRGF0YVRhYmxlQ29sdW1uRGlyZWN0aXZlLFxuICBEYXRhVGFibGVDb2x1bW5IZWFkZXJEaXJlY3RpdmUsXG4gIFNlbGVjdGlvblR5cGUsXG4gIFRhYmxlQ29sdW1uLFxuICBUYWJsZUNvbHVtblByb3AsXG59IGZyb20gJ0BtYXJrbGIvbmd4LWRhdGF0YWJsZSdcblxuaW1wb3J0IHsgaGFzUHJvcGVydHksIG5vdE51bGxPclVuZGVmaW5lZCB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi91dGlscydcblxuaW1wb3J0IHsgRGF0YXRhYmxlQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi4vZGF0YXRhYmxlLWNvbHVtbi9kYXRhdGFibGUtY29sdW1uLmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGF0YWJsZVJvd0FjdGlvbkl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2RhdGF0YWJsZS1yb3ctYWN0aW9uLWl0ZW0uZGlyZWN0aXZlJ1xuaW1wb3J0IHsgVGhlU2VhbURhdGF0YWJsZUNvbHVtbiB9IGZyb20gJy4uL21vZGVscy90YWJsZS1jb2x1bW4nXG5pbXBvcnQgeyBjcmVhdGVBY3Rpb25NZW51Q29sdW1uIH0gZnJvbSAnLi4vdXRpbHMvY3JlYXRlLWFjdGlvbi1tZW51LWNvbHVtbidcbmltcG9ydCB7IGNyZWF0ZUNoZWNrYm94Q29sdW1uIH0gZnJvbSAnLi4vdXRpbHMvY3JlYXRlLWNoZWNrYm94LWNvbHVtbidcbmltcG9ydCB7IGdldENvbHVtblByb3AgfSBmcm9tICcuLi91dGlscy9nZXQtY29sdW1uLXByb3AnXG5pbXBvcnQgeyBzZXRDb2x1bW5EZWZhdWx0cyB9IGZyb20gJy4uL3V0aWxzL3NldC1jb2x1bW4tZGVmYXVsdHMnXG5pbXBvcnQgeyB0cmFuc2xhdGVUZW1wbGF0ZUNvbHVtbnMgfSBmcm9tICcuLi91dGlscy90cmFuc2xhdGUtdGVtcGxhdGVzJ1xuaW1wb3J0IHsgRGF0YXRhYmxlQ29sdW1uQ2hhbmdlc1NlcnZpY2UgfSBmcm9tICcuL2RhdGF0YWJsZS1jb2x1bW4tY2hhbmdlcy5zZXJ2aWNlJ1xuXG5lbnVtIENvbHVtbnNUeXBlcyB7XG4gIElucHV0LFxuICBUZW1wbGF0ZSxcbiAgUmVzdWx0LFxufVxuXG5leHBvcnQgdHlwZSBJbnRlcm5hbENvbHVtbnNHZXR0ZXIgPSAoKSA9PiBUYWJsZUNvbHVtbltdXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb2x1bW5zTWFuYWdlclNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IF91cGRhdGVDb2x1bW5zID0gbmV3IFN1YmplY3Q8dm9pZD4oKVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2lucHV0Q29sdW1ucyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGhlU2VhbURhdGF0YWJsZUNvbHVtbltdPihbXSlcbiAgcHJpdmF0ZSByZWFkb25seSBfdGVtcGxhdGVDb2x1bW5zID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEYXRhdGFibGVDb2x1bW5Db21wb25lbnRbXT4oW10pXG5cbiAgcHJpdmF0ZSByZWFkb25seSBfaW5wQ29sRGlmZmVyc01hcCA9IG5ldyBNYXA8VGFibGVDb2x1bW5Qcm9wLCBLZXlWYWx1ZURpZmZlcjxhbnksIGFueT4+KClcbiAgcHJpdmF0ZSByZWFkb25seSBfdHBsQ29sRGlmZmVyc01hcCA9IG5ldyBNYXA8VGFibGVDb2x1bW5Qcm9wLCBLZXlWYWx1ZURpZmZlcjxhbnksIGFueT4+KClcbiAgcHJpdmF0ZSByZWFkb25seSBfcmVzdWx0Q29sRGlmZmVyc01hcCA9IG5ldyBNYXA8VGFibGVDb2x1bW5Qcm9wLCBLZXlWYWx1ZURpZmZlcjxhbnksIGFueT4+KClcbiAgcHJpdmF0ZSBfY29sUHJvcHNEaWZmZXI/OiBLZXlWYWx1ZURpZmZlcjxhbnksIGFueT5cblxuICBwcml2YXRlIF9pbnRlcm5hbENvbHVtbnNHZXR0ZXI/OiBJbnRlcm5hbENvbHVtbnNHZXR0ZXJcblxuICBwcml2YXRlIF9zZWxlY3Rpb25UeXBlOiBTZWxlY3Rpb25UeXBlIHwgdW5kZWZpbmVkXG4gIHByaXZhdGUgX3Jvd0FjdGlvbkl0ZW06IERhdGF0YWJsZVJvd0FjdGlvbkl0ZW1EaXJlY3RpdmUgfCB1bmRlZmluZWRcbiAgcHJpdmF0ZSBfYWN0aW9uTWVudUNlbGxUcGw6IFRlbXBsYXRlUmVmPERhdGFUYWJsZUNvbHVtbkRpcmVjdGl2ZT4gfCB1bmRlZmluZWRcbiAgcHJpdmF0ZSBfYmxhbmtIZWFkZXJUcGw6IFRlbXBsYXRlUmVmPERhdGFUYWJsZUNvbHVtbkhlYWRlckRpcmVjdGl2ZT4gfCB1bmRlZmluZWRcbiAgcHJpdmF0ZSBfdHJlZVRvZ2dsZVRwbDogVGVtcGxhdGVSZWY8RGF0YVRhYmxlQ29sdW1uQ2VsbFRyZWVUb2dnbGU+IHwgdW5kZWZpbmVkXG4gIHByaXZhdGUgX2hlYWRlclRwbDogVGVtcGxhdGVSZWY8RGF0YVRhYmxlQ29sdW1uSGVhZGVyRGlyZWN0aXZlPiB8IHVuZGVmaW5lZFxuICBwcml2YXRlIF9jZWxsVHlwZVNlbGVjdG9yVHBsOiBUZW1wbGF0ZVJlZjxEYXRhVGFibGVDb2x1bW5EaXJlY3RpdmU+IHwgdW5kZWZpbmVkXG5cbiAgLy8gVE9ETzogQ29uc2lkZXIgbWFraW5nIHRoaXMgYSBjb2x1bW5zIGNoYW5nZWQgb2JlcnZhYmxlLCB0byBtYWtlIGNoYW5nZXMgbW9yZSBwcmVkaWN0YWJsZS5cbiAgcHVibGljIHJlYWRvbmx5IGNvbHVtbnMkOiBPYnNlcnZhYmxlPFRoZVNlYW1EYXRhdGFibGVDb2x1bW5bXT5cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kaWZmZXJzOiBLZXlWYWx1ZURpZmZlcnMsXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY29sdW1uQ2hhbmdlc1NlcnZpY2U6IERhdGF0YWJsZUNvbHVtbkNoYW5nZXNTZXJ2aWNlLFxuICApIHtcbiAgICBjb25zdCB0ZW1wbGF0ZUNvbHVtbnMkID0gdGhpcy5fY29sdW1uQ2hhbmdlc1NlcnZpY2UuY29sdW1uSW5wdXRDaGFuZ2VzJC5waXBlKFxuICAgICAgc3RhcnRXaXRoKHVuZGVmaW5lZCksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGVtcGxhdGVDb2x1bW5zLmFzT2JzZXJ2YWJsZSgpLnBpcGUobWFwKHRyYW5zbGF0ZVRlbXBsYXRlQ29sdW1ucykpXG4gICAgICB9KVxuICAgIClcblxuICAgIHRoaXMuY29sdW1ucyQgPSBkZWZlcigoKSA9PiB7XG4gICAgICBsZXQgaXNGaXJzdCA9IHRydWVcbiAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgdGhpcy5faW5wdXRDb2x1bW5zLmFzT2JzZXJ2YWJsZSgpLFxuICAgICAgICB0ZW1wbGF0ZUNvbHVtbnMkLFxuICAgICAgICB0aGlzLl91cGRhdGVDb2x1bW5zLmFzT2JzZXJ2YWJsZSgpLnBpcGUoYXVkaXRUaW1lKDApLCBzdGFydFdpdGgodW5kZWZpbmVkKSlcbiAgICAgIF0pLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoWyBpbnB1dENvbHVtbnMsIHRlbXBsYXRlQ29sdW1ucyBdKSA9PiB7XG4gICAgICAgICAgY29uc3QgY29scyA9IHRoaXMuX21lcmdlQ29sdW1ucyhpbnB1dENvbHVtbnMsIHRlbXBsYXRlQ29sdW1ucylcblxuICAgICAgICAgIGNvbnN0IGhhc0NvbHVtbnNDaGFuZ2VkID0gdGhpcy5faGFzQ29sdW1uc0NoYW5nZWQoY29scylcblxuICAgICAgICAgIC8vIFRPRE86IExvb2sgZm9yIGNvbHVtbnMgYWRkZWQvcmVtb3ZlZCBhbmQgcmVtb3ZlIHRoZSByZW1vdmVkIGNvbHVtbnNcbiAgICAgICAgICAvLyBkaWZmZXJzLCBub3QganVzdCBjaGFuZ2VzIHRvIGNvbHVtbnMuXG4gICAgICAgICAgY29uc3QgaGFzQWRkZWRPclJlbW92ZWRDb2x1bW5zID0gdGhpcy5faGFzQWRkZWRPclJlbW92ZWRDb2x1bW5zKGNvbHMpXG5cbiAgICAgICAgICAvLyBOT1RFOiBCb3RoIGNoZWNrcyBuZWVkIHRvIGJlIHJ1biwgZXZlbiB0aG91Z2ggb25seSBvbmUgbmVlZHMgdG8gYmVcbiAgICAgICAgICAvLyB0cnVlLCBiZWNhdXNlIHRoZWlyIGRpZmZlcnMgbmVlZCB0byBiZSBjYWxsZWQuXG4gICAgICAgICAgaWYgKGhhc0NvbHVtbnNDaGFuZ2VkIHx8IGhhc0FkZGVkT3JSZW1vdmVkQ29sdW1ucyB8fCBpc0ZpcnN0KSB7XG4gICAgICAgICAgICBpc0ZpcnN0ID0gZmFsc2VcbiAgICAgICAgICAgIHJldHVybiBvZihjb2xzKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBFTVBUWVxuICAgICAgICB9KSxcbiAgICAgIClcbiAgICB9KS5waXBlKFxuICAgICAgc2hhcmVSZXBsYXkoeyByZWZDb3VudDogdHJ1ZSwgYnVmZmVyU2l6ZTogMSB9KVxuICAgIClcbiAgfVxuXG4gIHB1YmxpYyBzZXRJbnB1dENvbHVtbnMoY29sdW1uczogVGhlU2VhbURhdGF0YWJsZUNvbHVtbltdKTogdm9pZCB7XG4gICAgdGhpcy5faW5wdXRDb2x1bW5zLm5leHQoY29sdW1ucylcbiAgfVxuXG4gIHB1YmxpYyBzZXRUZW1wbGF0ZUNvbHVtbnMoY29sdW1uczogRGF0YXRhYmxlQ29sdW1uQ29tcG9uZW50W10pOiB2b2lkIHtcbiAgICB0aGlzLl90ZW1wbGF0ZUNvbHVtbnMubmV4dChjb2x1bW5zKVxuICB9XG5cbiAgcHVibGljIHNldEludGVybmFsQ29sdW1uc0dldHRlcihnZXR0ZXI6IEludGVybmFsQ29sdW1uc0dldHRlciB8IG51bGwpOiB2b2lkIHtcbiAgICB0aGlzLl9pbnRlcm5hbENvbHVtbnNHZXR0ZXIgPSBnZXR0ZXIgfHwgdW5kZWZpbmVkXG4gICAgdGhpcy5fdXBkYXRlQ29sdW1ucy5uZXh0KHVuZGVmaW5lZClcbiAgfVxuXG4gIHB1YmxpYyBzZXRTZWxlY3Rpb25UeXBlKHNlbGVjdGlvblR5cGU6IFNlbGVjdGlvblR5cGUgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBjb25zdCBjaGFuZ2VkID0gdGhpcy5fc2VsZWN0aW9uVHlwZSAhPT0gc2VsZWN0aW9uVHlwZVxuICAgIHRoaXMuX3NlbGVjdGlvblR5cGUgPSBzZWxlY3Rpb25UeXBlXG4gICAgaWYgKGNoYW5nZWQpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZUNvbHVtbnMubmV4dCh1bmRlZmluZWQpXG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFNlbGVjdGlvblR5cGUoKTogU2VsZWN0aW9uVHlwZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvblR5cGVcbiAgfVxuXG4gIHB1YmxpYyBzZXRSb3dBY3Rpb25JdGVtKHJvd0FjdGlvbkl0ZW06IERhdGF0YWJsZVJvd0FjdGlvbkl0ZW1EaXJlY3RpdmUgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBjb25zdCBjaGFuZ2VkID0gdGhpcy5fcm93QWN0aW9uSXRlbSAhPT0gcm93QWN0aW9uSXRlbVxuICAgIHRoaXMuX3Jvd0FjdGlvbkl0ZW0gPSByb3dBY3Rpb25JdGVtXG4gICAgaWYgKGNoYW5nZWQpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZUNvbHVtbnMubmV4dCh1bmRlZmluZWQpXG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldEFjdGlvbk1lbnVDZWxsVHBsKGFjdGlvbk1lbnVDZWxsVHBsOiBUZW1wbGF0ZVJlZjxEYXRhVGFibGVDb2x1bW5EaXJlY3RpdmU+IHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgY29uc3QgY2hhbmdlZCA9IHRoaXMuX2FjdGlvbk1lbnVDZWxsVHBsICE9PSBhY3Rpb25NZW51Q2VsbFRwbFxuICAgIHRoaXMuX2FjdGlvbk1lbnVDZWxsVHBsID0gYWN0aW9uTWVudUNlbGxUcGxcbiAgICBpZiAoY2hhbmdlZCkge1xuICAgICAgdGhpcy5fdXBkYXRlQ29sdW1ucy5uZXh0KHVuZGVmaW5lZClcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0QmxhbmtIZWFkZXJUcGwoYmxhbmtIZWFkZXJUcGw6IFRlbXBsYXRlUmVmPERhdGFUYWJsZUNvbHVtbkhlYWRlckRpcmVjdGl2ZT4gfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBjb25zdCBjaGFuZ2VkID0gdGhpcy5fYmxhbmtIZWFkZXJUcGwgIT09IGJsYW5rSGVhZGVyVHBsXG4gICAgdGhpcy5fYmxhbmtIZWFkZXJUcGwgPSBibGFua0hlYWRlclRwbFxuICAgIGlmIChjaGFuZ2VkKSB7XG4gICAgICB0aGlzLl91cGRhdGVDb2x1bW5zLm5leHQodW5kZWZpbmVkKVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRUcmVlVG9nZ2xlVHBsKHRyZWVUb2dnbGVUcGw6IFRlbXBsYXRlUmVmPERhdGFUYWJsZUNvbHVtbkNlbGxUcmVlVG9nZ2xlPiB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGNvbnN0IGNoYW5nZWQgPSB0aGlzLl90cmVlVG9nZ2xlVHBsICE9PSB0cmVlVG9nZ2xlVHBsXG4gICAgdGhpcy5fdHJlZVRvZ2dsZVRwbCA9IHRyZWVUb2dnbGVUcGxcbiAgICBpZiAoY2hhbmdlZCkge1xuICAgICAgdGhpcy5fdXBkYXRlQ29sdW1ucy5uZXh0KHVuZGVmaW5lZClcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0SGVhZGVyVHBsKGhlYWRlclRwbDogVGVtcGxhdGVSZWY8RGF0YVRhYmxlQ29sdW1uSGVhZGVyRGlyZWN0aXZlPiB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGNvbnN0IGNoYW5nZWQgPSB0aGlzLl9oZWFkZXJUcGwgIT09IGhlYWRlclRwbFxuICAgIHRoaXMuX2hlYWRlclRwbCA9IGhlYWRlclRwbFxuICAgIGlmIChjaGFuZ2VkKSB7XG4gICAgICB0aGlzLl91cGRhdGVDb2x1bW5zLm5leHQodW5kZWZpbmVkKVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRDZWxsVHlwZVNlbGVjdG9yVHBsKGNlbGxUeXBlU2VsZWN0b3JUcGw6IFRlbXBsYXRlUmVmPERhdGFUYWJsZUNvbHVtbkRpcmVjdGl2ZT4gfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBjb25zdCBjaGFuZ2VkID0gdGhpcy5fY2VsbFR5cGVTZWxlY3RvclRwbCAhPT0gY2VsbFR5cGVTZWxlY3RvclRwbFxuICAgIHRoaXMuX2NlbGxUeXBlU2VsZWN0b3JUcGwgPSBjZWxsVHlwZVNlbGVjdG9yVHBsXG4gICAgaWYgKGNoYW5nZWQpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZUNvbHVtbnMubmV4dCh1bmRlZmluZWQpXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfbWVyZ2VDb2x1bW5zKFxuICAgIGlucHV0Q29sdW1uczogVGhlU2VhbURhdGF0YWJsZUNvbHVtbltdLFxuICAgIHRlbXBsYXRlQ29sdW1uczogRGF0YXRhYmxlQ29sdW1uQ29tcG9uZW50W11cbiAgKTogVGhlU2VhbURhdGF0YWJsZUNvbHVtbltdIHtcbiAgICBjb25zdCBjb2xzOiBUaGVTZWFtRGF0YXRhYmxlQ29sdW1uW10gPSBbXVxuXG4gICAgLy8gQWRkIHRoZSBmaXJzdCBjb2x1bW4gY2hlY2tib3ggaWYgJ2NoZWNrYm94JyBzZWxlY3Rpb24gaXMgZW5hYmxlZC5cbiAgICBpZiAodGhpcy5fc2hvdWxkQWRkQ2hlY2tib3hDb2x1bW4oKSkge1xuICAgICAgY29scy5wdXNoKGNyZWF0ZUNoZWNrYm94Q29sdW1uKCkpXG4gICAgfVxuXG4gICAgLy8gQ29sdW1uIG5lZWRzIHRvIGJlIHByb3ZpZGVkIGluIHRoZSBpbnB1dENvbHVtbnMsIHNvIGl0ZXJhdGUgdGhlXG4gICAgLy8gaW5wdXRDb2x1bW5zLlxuICAgIGZvciAoY29uc3QgaW5wQ29sIG9mIGlucHV0Q29sdW1ucykge1xuICAgICAgY29uc3QgcHJvcCA9IGdldENvbHVtblByb3AoaW5wQ29sKVxuICAgICAgaWYgKCFub3ROdWxsT3JVbmRlZmluZWQocHJvcCkpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoYENvbHVtbiBtYXkgaGF2ZSAncHJvcCcgb3IgJ25hbWUnIGRlZmluZWQuYClcbiAgICAgIH1cblxuICAgICAgY29uc3QgaW50ZXJuYWxDb2wgPSB0aGlzLl9nZXRJbnRlcm5hbENvbHVtbihwcm9wKVxuXG4gICAgICBjb25zdCBpbnBDb2xEaWYgPSB0aGlzLl9nZXRDb2xEaWYoaW5wQ29sLCBDb2x1bW5zVHlwZXMuSW5wdXQpXG4gICAgICBpZiAobm90TnVsbE9yVW5kZWZpbmVkKGlucENvbERpZikpIHtcbiAgICAgICAgdGhpcy5fdXBkYXRlQ29sRGlmKGlucENvbERpZiwgaW50ZXJuYWxDb2wsIGlucENvbClcbiAgICAgIH1cblxuICAgICAgY29uc3QgdHBsQ29sID0gdGhpcy5fZmluZENvbHVtbkJ5UHJvcChwcm9wLCB0ZW1wbGF0ZUNvbHVtbnMpXG4gICAgICBpZiAodHBsQ29sICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3QgdHBsQ29sRGlmID0gdGhpcy5fZ2V0Q29sRGlmKHRwbENvbCwgQ29sdW1uc1R5cGVzLlRlbXBsYXRlKVxuICAgICAgICBpZiAobm90TnVsbE9yVW5kZWZpbmVkKHRwbENvbERpZikpIHtcbiAgICAgICAgICB0aGlzLl91cGRhdGVDb2xEaWYodHBsQ29sRGlmLCBpbnRlcm5hbENvbCwgdHBsQ29sKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IF9jb2w6IFRoZVNlYW1EYXRhdGFibGVDb2x1bW4gPSB7XG4gICAgICAgIC4uLihpbnRlcm5hbENvbCB8fCB7fSksXG4gICAgICAgIC4uLmlucENvbCxcbiAgICAgICAgLy8gVE9ETzogUmV0aGluayB0aGlzLCBiZWNhdXNlIEkgZG9uJ3Qga25vdyBpZiB0aGlzIGlzIGNvcnJlY3QuXG4gICAgICAgIC4uLih0cGxDb2wgYXMgYW55IHx8IHt9KVxuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5fc2hvdWxkQWRkVHJlZVRvZ2dsZUNvbHVtbihfY29sKSkge1xuICAgICAgICBfY29sLnRyZWVUb2dnbGVUZW1wbGF0ZSA9IHRoaXMuX3RyZWVUb2dnbGVUcGxcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuX3Nob3VsZEFkZEhlYWRlclRlbXBsYXRlKF9jb2wpKSB7XG4gICAgICAgIF9jb2wuaGVhZGVyVGVtcGxhdGUgPSB0aGlzLl9oZWFkZXJUcGxcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuX3Nob3VsZEFkZENlbGxUeXBlU2VsZWN0b3JUcGwoX2NvbCkpIHtcbiAgICAgICAgX2NvbC5jZWxsVGVtcGxhdGUgPSB0aGlzLl9jZWxsVHlwZVNlbGVjdG9yVHBsXG4gICAgICB9XG5cbiAgICAgIGNvbHMucHVzaChfY29sKVxuICAgIH1cblxuICAgIGlmICh0aGlzLl9zaG91bGRBZGRSb3dBY3Rpb25Db2x1bW4oKSkge1xuICAgICAgY29scy5wdXNoKGNyZWF0ZUFjdGlvbk1lbnVDb2x1bW4odGhpcy5fYWN0aW9uTWVudUNlbGxUcGwsIHRoaXMuX2JsYW5rSGVhZGVyVHBsKSlcbiAgICB9XG5cbiAgICAvLyBNYWtlIHN1cmUgdGhlIGRlZmF1bHQgZm9yIGFueSBtaXNzaW5nIHByb3BzIGFyZSBzZXQuXG4gICAgLy8gVE9ETzogRGV0ZXJtaW5lIGlmIHRoaXMgc2hvdWxkIGJlIGRvbmUgZWFybGllciwgYmVjYXVzZSBJIGRvbid0IGxpa2VcbiAgICAvLyBob3cgdGhpcyBpcyBkb25lIGFmdGVyIGRpZiBjaGVja3MuXG4gICAgc2V0Q29sdW1uRGVmYXVsdHMoY29scylcblxuICAgIHJldHVybiBjb2xzXG4gIH1cblxuICBwcml2YXRlIF9nZXRJbnRlcm5hbENvbHVtbnMoKTogVGFibGVDb2x1bW5bXSB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuX2ludGVybmFsQ29sdW1uc0dldHRlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX2ludGVybmFsQ29sdW1uc0dldHRlcigpXG4gIH1cblxuICBwcml2YXRlIF9nZXRJbnRlcm5hbENvbHVtbihwcm9wOiBUYWJsZUNvbHVtblByb3ApOiBUYWJsZUNvbHVtbiB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaW50ZXJuYWxDb2xzID0gdGhpcy5fZ2V0SW50ZXJuYWxDb2x1bW5zKClcblxuICAgIGlmIChpbnRlcm5hbENvbHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cblxuICAgIHJldHVybiBpbnRlcm5hbENvbHMuZmluZChjID0+IGdldENvbHVtblByb3AoYykgPT09IHByb3ApXG4gIH1cblxuICBwcml2YXRlIF9maW5kQ29sdW1uQnlQcm9wPFQgZXh0ZW5kcyBUaGVTZWFtRGF0YXRhYmxlQ29sdW1uIHwgRGF0YXRhYmxlQ29sdW1uQ29tcG9uZW50PihcbiAgICBwcm9wOiBUYWJsZUNvbHVtblByb3AsXG4gICAgY29sdW1uczogVFtdXG4gICk6IFQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBjb2x1bW5zLmZpbmQoYyA9PiBnZXRDb2x1bW5Qcm9wKGMpID09PSBwcm9wKVxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RGlmTWFwRm9yQ29sdW1uc1R5cGUoY29sdW1uc1R5cGU6IENvbHVtbnNUeXBlcyk6IE1hcDxUYWJsZUNvbHVtblByb3AsIEtleVZhbHVlRGlmZmVyPGFueSwgYW55Pj4ge1xuICAgIHN3aXRjaCAoY29sdW1uc1R5cGUpIHtcbiAgICAgIGNhc2UgQ29sdW1uc1R5cGVzLklucHV0OiByZXR1cm4gdGhpcy5faW5wQ29sRGlmZmVyc01hcFxuICAgICAgY2FzZSBDb2x1bW5zVHlwZXMuVGVtcGxhdGU6IHJldHVybiB0aGlzLl90cGxDb2xEaWZmZXJzTWFwXG4gICAgICBjYXNlIENvbHVtbnNUeXBlcy5SZXN1bHQ6IHJldHVybiB0aGlzLl9yZXN1bHRDb2xEaWZmZXJzTWFwXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q29sdW1uRGlmZmVyKHByb3A6IFRhYmxlQ29sdW1uUHJvcCwgY29sc1R5cGU6IENvbHVtbnNUeXBlcyk6IEtleVZhbHVlRGlmZmVyPHN0cmluZywgYW55PiB7XG4gICAgY29uc3QgZGlmTWFwID0gdGhpcy5fZ2V0RGlmTWFwRm9yQ29sdW1uc1R5cGUoY29sc1R5cGUpXG4gICAgaWYgKGRpZk1hcCA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgY29sdW1ucyB0eXBlLmApXG4gICAgfVxuXG4gICAgaWYgKCFkaWZNYXAuaGFzKHByb3ApKSB7XG4gICAgICBkaWZNYXAuc2V0KHByb3AsIHRoaXMuX2RpZmZlcnMuZmluZCh7fSkuY3JlYXRlKCkpXG4gICAgfVxuXG4gICAgY29uc3QgZGlmZmVyID0gZGlmTWFwLmdldChwcm9wKVxuICAgIGlmIChkaWZmZXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgRXJyb3IoYERpZmZlciBub3QgZm91bmQuIE5ldyBkaWZmZXIgc2hvdWxkIGhhdmUgYmVlbiBjcmVhdGVkLmApXG4gICAgfVxuXG4gICAgcmV0dXJuIGRpZmZlclxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q29sRGlmKFxuICAgIGNvbDogVGhlU2VhbURhdGF0YWJsZUNvbHVtbiB8IERhdGF0YWJsZUNvbHVtbkNvbXBvbmVudCxcbiAgICBjb2xzVHlwZTogQ29sdW1uc1R5cGVzXG4gICk6IEtleVZhbHVlQ2hhbmdlczxzdHJpbmcsIGFueT4gfCBudWxsIHtcbiAgICBjb25zdCBwcm9wID0gZ2V0Q29sdW1uUHJvcChjb2wpXG4gICAgaWYgKHByb3AgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgRXJyb3IoYENvbHVtbiBwcm9wIG5vdCBmb3VuZC5gKVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9nZXRDb2x1bW5EaWZmZXIocHJvcCwgY29sc1R5cGUpLmRpZmYoY29sKVxuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlQ29sRGlmKFxuICAgIGNvbERpZjogS2V5VmFsdWVDaGFuZ2VzPHN0cmluZywgYW55PixcbiAgICBpbnRlcm5hbENvbHVtbjogVGFibGVDb2x1bW4gfCB1bmRlZmluZWQsXG4gICAgY29sOiBUaGVTZWFtRGF0YXRhYmxlQ29sdW1uIHwgRGF0YXRhYmxlQ29sdW1uQ29tcG9uZW50XG4gICk6IHZvaWQge1xuICAgIGNvbERpZi5mb3JFYWNoUmVtb3ZlZEl0ZW0ociA9PiB7XG4gICAgICBpZiAoaW50ZXJuYWxDb2x1bW4gJiYgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGludGVybmFsQ29sdW1uLCByLmtleSkpIHtcbiAgICAgICAgY29uc3QgayA9IHIua2V5IGFzIGtleW9mIFRhYmxlQ29sdW1uXG4gICAgICAgIGRlbGV0ZSBpbnRlcm5hbENvbHVtbltrXVxuICAgICAgfVxuICAgIH0pXG4gICAgY29sRGlmLmZvckVhY2hBZGRlZEl0ZW0ociA9PiAoY29sIGFzIGFueSlbci5rZXldID0gci5jdXJyZW50VmFsdWUpXG4gICAgY29sRGlmLmZvckVhY2hDaGFuZ2VkSXRlbShyID0+IChjb2wgYXMgYW55KVtyLmtleV0gPSByLmN1cnJlbnRWYWx1ZSlcbiAgfVxuXG4gIHByaXZhdGUgX2hhc0FkZGVkT3JSZW1vdmVkQ29sdW1ucyhjb2x1bW5zOiBUaGVTZWFtRGF0YXRhYmxlQ29sdW1uW10pOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuX2NvbFByb3BzRGlmZmVyKSB7XG4gICAgICB0aGlzLl9jb2xQcm9wc0RpZmZlciA9IHRoaXMuX2RpZmZlcnMuZmluZChbXSkuY3JlYXRlKClcbiAgICB9XG5cbiAgICBjb25zdCBwcm9wcyA9IGNvbHVtbnMubWFwKGMgPT4gZ2V0Q29sdW1uUHJvcChjKSlcbiAgICByZXR1cm4gdGhpcy5fY29sUHJvcHNEaWZmZXIuZGlmZihwcm9wcykgIT09IG51bGxcbiAgfVxuXG4gIHByaXZhdGUgX2hhc0NvbHVtbnNDaGFuZ2VkKGNvbHVtbnM6IFRoZVNlYW1EYXRhdGFibGVDb2x1bW5bXSk6IGJvb2xlYW4ge1xuICAgIGxldCBjb2xDaGFuZ2VkID0gZmFsc2VcbiAgICBmb3IgKGNvbnN0IGNvbCBvZiBjb2x1bW5zKSB7XG4gICAgICBjb25zdCByZXN1bHREaWYgPSB0aGlzLl9nZXRDb2xEaWYoY29sLCBDb2x1bW5zVHlwZXMuUmVzdWx0KVxuICAgICAgaWYgKHJlc3VsdERpZikge1xuICAgICAgICAvLyBOT1RFOiBDYW4ndCByZXR1cm4gZWFybHksIGJlY2F1c2UgdGhlIGRpZmZlcnMgbmVlZCB0byBiZSB1cGRhdGVkLlxuICAgICAgICBjb2xDaGFuZ2VkID0gdHJ1ZVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gY29sQ2hhbmdlZFxuICB9XG5cbiAgcHJpdmF0ZSBfc2hvdWxkQWRkQ2hlY2tib3hDb2x1bW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvblR5cGUgPT09IFNlbGVjdGlvblR5cGUuY2hlY2tib3hcbiAgfVxuXG4gIHByaXZhdGUgX3Nob3VsZEFkZFJvd0FjdGlvbkNvbHVtbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcm93QWN0aW9uSXRlbSAhPT0gdW5kZWZpbmVkXG4gIH1cblxuICBwcml2YXRlIF9zaG91bGRBZGRUcmVlVG9nZ2xlQ29sdW1uKGNvbHVtbjogVGhlU2VhbURhdGF0YWJsZUNvbHVtbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBjb2x1bW4uaXNUcmVlQ29sdW1uICE9PSB1bmRlZmluZWQgJiYgY29sdW1uLmlzVHJlZUNvbHVtbiAmJlxuICAgICAgKCFoYXNQcm9wZXJ0eShjb2x1bW4sICd0cmVlVG9nZ2xlVGVtcGxhdGUnKSB8fCAhbm90TnVsbE9yVW5kZWZpbmVkKGNvbHVtbi50cmVlVG9nZ2xlVGVtcGxhdGUpKVxuICB9XG5cbiAgcHJpdmF0ZSBfc2hvdWxkQWRkSGVhZGVyVGVtcGxhdGUoY29sdW1uOiBUaGVTZWFtRGF0YXRhYmxlQ29sdW1uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICFoYXNQcm9wZXJ0eShjb2x1bW4sICdoZWFkZXJUZW1wbGF0ZScpXG4gIH1cblxuICBwcml2YXRlIF9zaG91bGRBZGRDZWxsVHlwZVNlbGVjdG9yVHBsKGNvbHVtbjogVGhlU2VhbURhdGF0YWJsZUNvbHVtbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBoYXNQcm9wZXJ0eShjb2x1bW4sICdjZWxsVHlwZScpXG4gIH1cblxufVxuIl19