@theseam/ui-common 0.4.0-beta.1 → 0.4.0-beta.3

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 (554) hide show
  1. package/breadcrumbs/breadcrumb.d.ts +1 -1
  2. package/breadcrumbs/breadcrumbs-resolver.d.ts +1 -1
  3. package/core/common-behaviors/active.d.ts +1 -1
  4. package/core/common-behaviors/constructor.d.ts +1 -1
  5. package/core/common-behaviors/disabled.d.ts +1 -1
  6. package/core/common-behaviors/initialized.d.ts +1 -1
  7. package/core/common-behaviors/size.d.ts +1 -1
  8. package/core/common-behaviors/tabindex.d.ts +1 -1
  9. package/core/common-behaviors/theme.d.ts +1 -1
  10. package/data-exporter/data-exporter.d.ts +1 -1
  11. package/data-filters/data-filter.d.ts +3 -3
  12. package/data-filters/filters/data-filter-search/search-filter-options.d.ts +1 -1
  13. package/datatable/datatable-column/datatable-column.component.d.ts +1 -1
  14. package/datatable/models/preferences.d.ts +1 -1
  15. package/datatable/models/table-column.d.ts +1 -1
  16. package/datatable/services/columns-manager.service.d.ts +1 -1
  17. package/datatable-dynamic/datatable-dynamic-def.d.ts +3 -3
  18. package/datatable-dynamic/models/dynamic-datatable-action-menu-record.d.ts +1 -1
  19. package/dynamic/models/dynamic-value-base-type.d.ts +1 -1
  20. package/dynamic/models/dynamic-value-evaluatable-type.d.ts +1 -1
  21. package/dynamic/models/dynamic-value-primitive.d.ts +1 -1
  22. package/dynamic/models/dynamic-value.d.ts +1 -1
  23. package/dynamic/tokens/api-config.d.ts +1 -1
  24. package/esm2020/asset-reader/asset-reader-helper.service.mjs +3 -3
  25. package/esm2020/asset-reader/asset-reader.module.mjs +4 -4
  26. package/esm2020/asset-reader/encrypted-asset-link.directive.mjs +12 -12
  27. package/esm2020/breadcrumbs/breadcrumbs/breadcrumbs.component.mjs +3 -3
  28. package/esm2020/breadcrumbs/breadcrumbs.module.mjs +4 -4
  29. package/esm2020/breadcrumbs/breadcrumbs.service.mjs +3 -3
  30. package/esm2020/buttons/badge-button/badge-button.component.mjs +6 -6
  31. package/esm2020/buttons/button/button.component.mjs +9 -9
  32. package/esm2020/buttons/buttons.module.mjs +4 -4
  33. package/esm2020/buttons/progress-circle-button/progress-circle-button.component.mjs +3 -3
  34. package/esm2020/buttons/toggle-button/toggle-button.component.mjs +5 -5
  35. package/esm2020/card/card-action/card-action.component.mjs +3 -3
  36. package/esm2020/card/card-body/card-body.component.mjs +3 -3
  37. package/esm2020/card/card-footer/card-footer.component.mjs +3 -3
  38. package/esm2020/card/card-header/card-header.component.mjs +3 -3
  39. package/esm2020/card/card.component.mjs +3 -3
  40. package/esm2020/card/card.module.mjs +4 -4
  41. package/esm2020/checkbox/checkbox.component.mjs +43 -43
  42. package/esm2020/checkbox/checkbox.module.mjs +4 -4
  43. package/esm2020/checkbox/testing/checkbox.harness.mjs +1 -1
  44. package/esm2020/checkbox/testing/index.mjs +1 -1
  45. package/esm2020/confirm-dialog/confirm-click.directive.mjs +9 -9
  46. package/esm2020/confirm-dialog/confirm-dialog.component.mjs +3 -3
  47. package/esm2020/confirm-dialog/confirm-dialog.module.mjs +4 -4
  48. package/esm2020/confirm-dialog/confirm-dialog.service.mjs +3 -3
  49. package/esm2020/core/common-behaviors/active.mjs +3 -3
  50. package/esm2020/core/common-behaviors/disabled.mjs +3 -3
  51. package/esm2020/core/common-behaviors/size.mjs +6 -6
  52. package/esm2020/core/common-behaviors/tabindex.mjs +5 -5
  53. package/esm2020/core/common-behaviors/theme.mjs +6 -6
  54. package/esm2020/data-exporter/data-exporter.module.mjs +4 -4
  55. package/esm2020/data-exporter/exporters/csv-exporter.mjs +3 -3
  56. package/esm2020/data-exporter/exporters/xlsx-exporter.mjs +3 -3
  57. package/esm2020/data-filters/data-filters.module.mjs +4 -4
  58. package/esm2020/data-filters/filters/data-filter-search/data-filter-search.component.mjs +10 -10
  59. package/esm2020/data-filters/filters/data-filter-text/data-filter-text.component.mjs +10 -10
  60. package/esm2020/data-filters/filters/data-filter-toggle-buttons/data-filter-toggle-buttons.component.mjs +11 -11
  61. package/esm2020/datatable/datatable/datatable.component.mjs +108 -108
  62. package/esm2020/datatable/datatable-action-menu/datatable-action-menu.component.mjs +3 -3
  63. package/esm2020/datatable/datatable-action-menu-item/datatable-action-menu-item.component.mjs +3 -3
  64. package/esm2020/datatable/datatable-column/datatable-column.component.mjs +7 -7
  65. package/esm2020/datatable/datatable-column-preferences/datatable-column-preferences.component.mjs +3 -3
  66. package/esm2020/datatable/datatable-column-preferences-button/datatable-column-preferences-button.component.mjs +3 -3
  67. package/esm2020/datatable/datatable-export-button/datatable-export-button.component.mjs +7 -7
  68. package/esm2020/datatable/datatable-footer/datatable-footer-tpl.directive.mjs +3 -3
  69. package/esm2020/datatable/datatable-footer/datatable-footer.directive.mjs +3 -3
  70. package/esm2020/datatable/datatable-menu-bar/datatable-menu-bar.component.mjs +8 -8
  71. package/esm2020/datatable/datatable-menu-bar-column-center/datatable-menu-bar-column-center.component.mjs +3 -3
  72. package/esm2020/datatable/datatable-menu-bar-column-left/datatable-menu-bar-column-left.component.mjs +3 -3
  73. package/esm2020/datatable/datatable-menu-bar-column-right/datatable-menu-bar-column-right.component.mjs +3 -3
  74. package/esm2020/datatable/datatable-menu-bar-row/datatable-menu-bar-row.component.mjs +3 -3
  75. package/esm2020/datatable/datatable-menu-bar-text/datatable-menu-bar-text.component.mjs +3 -3
  76. package/esm2020/datatable/datatable-row-detail/datatable-row-detail-tpl.directive.mjs +3 -3
  77. package/esm2020/datatable/datatable-row-detail/datatable-row-detail.directive.mjs +3 -3
  78. package/esm2020/datatable/datatable.module.mjs +4 -4
  79. package/esm2020/datatable/directives/datatable-action-menu-item.directive.mjs +3 -3
  80. package/esm2020/datatable/directives/datatable-action-menu-toggle.directive.mjs +11 -11
  81. package/esm2020/datatable/directives/datatable-cell-tpl.directive.mjs +3 -3
  82. package/esm2020/datatable/directives/datatable-filter.directive.mjs +3 -3
  83. package/esm2020/datatable/directives/datatable-row-action-item.directive.mjs +3 -3
  84. package/esm2020/datatable/services/columns-alterations-manager.service.mjs +3 -3
  85. package/esm2020/datatable/services/columns-manager.service.mjs +3 -3
  86. package/esm2020/datatable/services/datatable-column-changes.service.mjs +3 -3
  87. package/esm2020/datatable/services/datatable-preferences.service.mjs +6 -6
  88. package/esm2020/datatable/services/datatable-scrollbar-helper.service.mjs +3 -3
  89. package/esm2020/datatable-dynamic/datatable-dynamic-action-menu/datatable-dynamic-action-menu.component.mjs +12 -12
  90. package/esm2020/datatable-dynamic/datatable-dynamic-filter-container/datatable-dynamic-filter-container.component.mjs +8 -8
  91. package/esm2020/datatable-dynamic/datatable-dynamic-menu-bar-content/datatable-dynamic-menu-bar-content.component.mjs +6 -6
  92. package/esm2020/datatable-dynamic/datatable-dynamic.component.mjs +8 -8
  93. package/esm2020/datatable-dynamic/datatable-dynamic.module.mjs +4 -4
  94. package/esm2020/datatable-dynamic/directives/datatable-dynamic-action-menu-item.directive.mjs +7 -7
  95. package/esm2020/datatable-dynamic/dynamic-datatable-def.service.mjs +3 -3
  96. package/esm2020/datatable-dynamic/dynamic-datatable-row-actions.service.mjs +3 -3
  97. package/esm2020/dynamic/action/api/dynamic-action-api.service.mjs +3 -3
  98. package/esm2020/dynamic/action/dynamic-action-helper.service.mjs +3 -3
  99. package/esm2020/dynamic/action/link/dynamic-action-link.service.mjs +3 -3
  100. package/esm2020/dynamic/action/modal/dynamic-action-modal.service.mjs +3 -3
  101. package/esm2020/dynamic/dynamic-value-helper.service.mjs +3 -3
  102. package/esm2020/dynamic/evaluators/exporters-data-evaluator/exporters-data-evaluator.mjs +3 -3
  103. package/esm2020/dynamic/evaluators/jexl-evaluator/jexl-evaluator.mjs +3 -3
  104. package/esm2020/dynamic-component-loader/dynamic-component-loader.module.mjs +4 -4
  105. package/esm2020/dynamic-component-loader/dynamic-component-loader.service.mjs +3 -3
  106. package/esm2020/footer-bar/footer-bar/footer-bar.component.mjs +3 -3
  107. package/esm2020/footer-bar/footer-bar.module.mjs +4 -4
  108. package/esm2020/form-field/form-field-error.directive.mjs +6 -6
  109. package/esm2020/form-field/form-field-help-text.directive.mjs +3 -3
  110. package/esm2020/form-field/form-field-label-tpl.directive.mjs +3 -3
  111. package/esm2020/form-field/form-field-required-indicator.component.mjs +3 -3
  112. package/esm2020/form-field/form-field-tokens.mjs +1 -1
  113. package/esm2020/form-field/form-field.component.mjs +48 -48
  114. package/esm2020/form-field/form-field.module.mjs +4 -4
  115. package/esm2020/form-field/input.directive.mjs +43 -43
  116. package/esm2020/form-field/testing/form-field-required-indicator.harness.mjs +1 -1
  117. package/esm2020/form-field/testing/index.mjs +1 -1
  118. package/esm2020/form-field-error/form-field-error/form-field-error.component.mjs +3 -3
  119. package/esm2020/form-field-error/form-field-error-list/form-field-error-list-item-tpl.directive.mjs +3 -3
  120. package/esm2020/form-field-error/form-field-error-list/form-field-error-list-item.directive.mjs +3 -3
  121. package/esm2020/form-field-error/form-field-error-list/form-field-error-list.component.mjs +92 -92
  122. package/esm2020/form-field-error/form-field-error.module.mjs +4 -4
  123. package/esm2020/framework/base-layout/base-layout.component.mjs +6 -6
  124. package/esm2020/framework/base-layout/base-layout.module.mjs +4 -4
  125. package/esm2020/framework/base-layout/directives/base-layout-content-footer.directive.mjs +3 -3
  126. package/esm2020/framework/base-layout/directives/base-layout-content-header.directive.mjs +3 -3
  127. package/esm2020/framework/base-layout/directives/base-layout-content.directive.mjs +3 -3
  128. package/esm2020/framework/base-layout/directives/base-layout-nav-toggle.directive.mjs +10 -10
  129. package/esm2020/framework/base-layout/directives/base-layout-side-bar-footer.directive.mjs +3 -3
  130. package/esm2020/framework/base-layout/directives/base-layout-side-bar.directive.mjs +3 -3
  131. package/esm2020/framework/base-layout/directives/base-layout-top-bar.directive.mjs +3 -3
  132. package/esm2020/framework/dashboard/dashboard-widget-container/dashboard-widget-container.component.mjs +3 -3
  133. package/esm2020/framework/dashboard/dashboard-widget-template-container/dashboard-widget-template-container.component.mjs +3 -3
  134. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widget-portal-outlet.directive.mjs +3 -3
  135. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences.service.mjs +3 -3
  136. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets.component.mjs +18 -18
  137. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets.service.mjs +12 -12
  138. package/esm2020/framework/dashboard/dashboard-widgets-tokens.mjs +1 -1
  139. package/esm2020/framework/dashboard/dashboard.component.mjs +3 -3
  140. package/esm2020/framework/dashboard/dashboard.module.mjs +4 -4
  141. package/esm2020/framework/dynamic-router/dynamic-router.module.mjs +4 -4
  142. package/esm2020/framework/dynamic-router/hierarchy-router-outlet/hierarchy-router-outlet.component.mjs +3 -3
  143. package/esm2020/framework/dynamic-router/resolvers/hierarchy-level.resolver.mjs +3 -3
  144. package/esm2020/framework/schema-form/schema-form-framework.component.mjs +3 -3
  145. package/esm2020/framework/schema-form/schema-form-framework.mjs +3 -3
  146. package/esm2020/framework/schema-form/schema-form.module.mjs +4 -4
  147. package/esm2020/framework/schema-form-controls/schema-form-checkbox/schema-form-checkbox.component.mjs +3 -3
  148. package/esm2020/framework/schema-form-controls/schema-form-controls.module.mjs +4 -4
  149. package/esm2020/framework/schema-form-controls/schema-form-input/schema-form-input.component.mjs +3 -3
  150. package/esm2020/framework/schema-form-controls/schema-form-number/schema-form-number.component.mjs +3 -3
  151. package/esm2020/framework/schema-form-controls/schema-form-select/schema-form-select.component.mjs +3 -3
  152. package/esm2020/framework/schema-form-controls/schema-form-submit/schema-form-submit.component.mjs +3 -3
  153. package/esm2020/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.mjs +3 -3
  154. package/esm2020/framework/side-nav/side-nav-item/side-nav-item.component.mjs +24 -24
  155. package/esm2020/framework/side-nav/side-nav-toggle/side-nav-toggle.component.mjs +3 -3
  156. package/esm2020/framework/side-nav/side-nav-tokens.mjs +1 -1
  157. package/esm2020/framework/side-nav/side-nav.component.mjs +17 -17
  158. package/esm2020/framework/side-nav/side-nav.module.mjs +4 -4
  159. package/esm2020/framework/side-nav/side-nav.service.mjs +3 -3
  160. package/esm2020/framework/top-bar/top-bar-item.directive.mjs +3 -3
  161. package/esm2020/framework/top-bar/top-bar-menu-btn-detail.directive.mjs +3 -3
  162. package/esm2020/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.mjs +3 -3
  163. package/esm2020/framework/top-bar/top-bar-menu.directive.mjs +3 -3
  164. package/esm2020/framework/top-bar/top-bar-title/top-bar-title.component.mjs +3 -3
  165. package/esm2020/framework/top-bar/top-bar.component.mjs +3 -3
  166. package/esm2020/framework/top-bar/top-bar.module.mjs +4 -4
  167. package/esm2020/google-maps/google-maps/google-maps.component.mjs +17 -17
  168. package/esm2020/google-maps/google-maps-controls.service.mjs +3 -3
  169. package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.component.mjs +20 -20
  170. package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.directive.mjs +7 -7
  171. package/esm2020/google-maps/google-maps-recenter-button-control/google-maps-recenter-button-control.component.mjs +7 -7
  172. package/esm2020/google-maps/google-maps-upload-button-control/google-maps-upload-button-control.component.mjs +7 -7
  173. package/esm2020/google-maps/google-maps.module.mjs +4 -4
  174. package/esm2020/google-maps/google-maps.service.mjs +5 -5
  175. package/esm2020/google-maps/map-control.component.mjs +9 -9
  176. package/esm2020/google-maps/map-file-drop/map-file-drop.component.mjs +3 -3
  177. package/esm2020/google-maps/map-value-manager.service.mjs +3 -3
  178. package/esm2020/graphql/datatable/datatable-graphql-query-ref.mjs +5 -5
  179. package/esm2020/graphql/datatable/datatable-graphql.service.mjs +3 -3
  180. package/esm2020/icon/icon/icon.component.mjs +3 -3
  181. package/esm2020/icon/icon-btn/icon-btn.component.mjs +24 -24
  182. package/esm2020/icon/icon-notification/icon-notification.component.mjs +3 -3
  183. package/esm2020/icon/icon.module.mjs +4 -4
  184. package/esm2020/layout/layout.module.mjs +4 -4
  185. package/esm2020/layout/layout.service.mjs +3 -3
  186. package/esm2020/loading/loading/loading.component.mjs +7 -7
  187. package/esm2020/loading/loading-overlay.service.mjs +3 -3
  188. package/esm2020/loading/loading.module.mjs +4 -4
  189. package/esm2020/menu/menu-divider.component.mjs +3 -3
  190. package/esm2020/menu/menu-footer/menu-footer.component.mjs +3 -3
  191. package/esm2020/menu/menu-footer-action/menu-footer-action.component.mjs +7 -7
  192. package/esm2020/menu/menu-header/menu-header.component.mjs +3 -3
  193. package/esm2020/menu/menu-item.component.mjs +3 -3
  194. package/esm2020/menu/menu-toggle.directive.mjs +42 -42
  195. package/esm2020/menu/menu.component.mjs +15 -15
  196. package/esm2020/menu/menu.module.mjs +4 -4
  197. package/esm2020/modal/directives/modal-close.directive.mjs +11 -11
  198. package/esm2020/modal/directives/modal-footer-tpl.directive.mjs +3 -3
  199. package/esm2020/modal/directives/modal-header-icon-tpl.directive.mjs +3 -3
  200. package/esm2020/modal/directives/modal-header-title-tpl.directive.mjs +3 -3
  201. package/esm2020/modal/directives/modal-title.directive.mjs +3 -3
  202. package/esm2020/modal/directives/modal.directive.mjs +3 -3
  203. package/esm2020/modal/modal/modal.component.mjs +19 -19
  204. package/esm2020/modal/modal-body/modal-body.component.mjs +3 -3
  205. package/esm2020/modal/modal-container/modal-container.component.mjs +12 -12
  206. package/esm2020/modal/modal-footer/modal-footer.component.mjs +3 -3
  207. package/esm2020/modal/modal-header/modal-header.component.mjs +3 -3
  208. package/esm2020/modal/modal.module.mjs +4 -4
  209. package/esm2020/modal/modal.service.mjs +16 -16
  210. package/esm2020/modal/route-modal/route-modal.component.mjs +3 -3
  211. package/esm2020/popover/popover/popover.component.mjs +18 -18
  212. package/esm2020/popover/popover.directive.mjs +32 -32
  213. package/esm2020/popover/popover.module.mjs +4 -4
  214. package/esm2020/progress/progress-circle/progress-circle.component.mjs +9 -9
  215. package/esm2020/progress/progress.module.mjs +4 -4
  216. package/esm2020/public_api.mjs +1 -42
  217. package/esm2020/scrollbar/overlay-scrollbar.directive.mjs +10 -10
  218. package/esm2020/scrollbar/overlay-scrollbars.service.mjs +3 -3
  219. package/esm2020/scrollbar/scrollbar.module.mjs +4 -4
  220. package/esm2020/services/asset-loader.service.mjs +3 -3
  221. package/esm2020/services/font-loader.service.mjs +3 -3
  222. package/esm2020/services/router-helpers.service.mjs +3 -3
  223. package/esm2020/shared/components/password-input-reveal/password-input-reveal.component.mjs +3 -3
  224. package/esm2020/shared/directives/auto-focus.directive.mjs +3 -3
  225. package/esm2020/shared/directives/click-outside.directive.mjs +9 -9
  226. package/esm2020/shared/directives/disable-control.directive.mjs +7 -7
  227. package/esm2020/shared/directives/elem-resized.directive.mjs +3 -3
  228. package/esm2020/shared/directives/hover-class-toggle.directive.mjs +10 -10
  229. package/esm2020/shared/directives/hover-class.directive.mjs +9 -9
  230. package/esm2020/shared/directives/ng-select-extra.directive.mjs +26 -26
  231. package/esm2020/shared/directives/ngx-quill-extra.directive.mjs +10 -10
  232. package/esm2020/shared/pipes/mask-chars.pipe.mjs +3 -3
  233. package/esm2020/shared/pipes/truncate.pipe.mjs +3 -3
  234. package/esm2020/shared/shared.module.mjs +4 -4
  235. package/esm2020/storage/local-storage.service.mjs +3 -3
  236. package/esm2020/story-helpers/initial-route.service.mjs +3 -3
  237. package/esm2020/story-helpers/story-empty-with-route.component.mjs +3 -3
  238. package/esm2020/story-helpers/story-empty.component.mjs +3 -3
  239. package/esm2020/story-helpers/story-helper-components.module.mjs +4 -4
  240. package/esm2020/story-helpers/story-initial-route.mjs +4 -4
  241. package/esm2020/story-helpers/story-modal-container.component.mjs +6 -6
  242. package/esm2020/story-helpers/story-toastr.service.mjs +3 -3
  243. package/esm2020/tabbed/directives/tabbed-tab-content.directive.mjs +3 -3
  244. package/esm2020/tabbed/directives/tabbed-tab.directive.mjs +3 -3
  245. package/esm2020/tabbed/tabbed-content/tabbed-content.component.mjs +3 -3
  246. package/esm2020/tabbed/tabbed-item/tabbed-item.component.mjs +3 -3
  247. package/esm2020/tabbed/tabbed-models.mjs +1 -1
  248. package/esm2020/tabbed/tabbed.component.mjs +13 -13
  249. package/esm2020/tabbed/tabbed.module.mjs +4 -4
  250. package/esm2020/tabbed/tabbed.service.mjs +3 -3
  251. package/esm2020/table/table/table.component.mjs +11 -11
  252. package/esm2020/table/table.module.mjs +4 -4
  253. package/esm2020/table-cell-type/services/table-cell-types-helpers.service.mjs +3 -3
  254. package/esm2020/table-cell-type/table-cell-type-selector.component.mjs +3 -3
  255. package/esm2020/table-cell-type/table-cell-type.module.mjs +4 -4
  256. package/esm2020/table-cell-types/table-cell-type-currency/table-cell-type-currency.component.mjs +3 -3
  257. package/esm2020/table-cell-types/table-cell-type-date/table-cell-type-date.component.mjs +3 -3
  258. package/esm2020/table-cell-types/table-cell-type-decimal/table-cell-type-decimal.component.mjs +3 -3
  259. package/esm2020/table-cell-types/table-cell-type-icon/table-cell-type-icon.component.mjs +31 -31
  260. package/esm2020/table-cell-types/table-cell-type-integer/table-cell-type-integer.component.mjs +3 -3
  261. package/esm2020/table-cell-types/table-cell-type-phone/table-cell-type-phone.component.mjs +6 -6
  262. package/esm2020/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle.component.mjs +3 -3
  263. package/esm2020/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon.component.mjs +3 -3
  264. package/esm2020/table-cell-types/table-cell-type-string/table-cell-type-string.component.mjs +23 -23
  265. package/esm2020/table-cell-types/table-cell-types.module.mjs +4 -4
  266. package/esm2020/tel-input/phone-number.pipe.mjs +3 -3
  267. package/esm2020/tel-input/tel-input/tel-input.component.mjs +34 -34
  268. package/esm2020/tel-input/tel-input.directive.mjs +18 -18
  269. package/esm2020/tel-input/tel-input.module.mjs +4 -4
  270. package/esm2020/tiled-select/components/tiled-select/tiled-select.component.mjs +20 -20
  271. package/esm2020/tiled-select/components/tiled-select-tile/tiled-select-tile.component.mjs +6 -6
  272. package/esm2020/tiled-select/components/tiled-select-tile-icon/tiled-select-tile-icon.component.mjs +10 -10
  273. package/esm2020/tiled-select/directives/tiled-select-tile-icon-tpl.directive.mjs +3 -3
  274. package/esm2020/tiled-select/directives/tiled-select-tile-label-tpl.directive.mjs +3 -3
  275. package/esm2020/tiled-select/directives/tiled-select-tile-overlay.directive.mjs +3 -3
  276. package/esm2020/tiled-select/tiled-select.module.mjs +4 -4
  277. package/esm2020/toggle-edit/toggle-edit-actions-container/toggle-edit-actions-container.component.mjs +3 -3
  278. package/esm2020/toggle-edit/toggle-edit-display-tpl.directive.mjs +3 -3
  279. package/esm2020/toggle-edit/toggle-edit-keyboard-listener.service.mjs +3 -3
  280. package/esm2020/toggle-edit/toggle-edit.component.mjs +16 -16
  281. package/esm2020/toggle-edit/toggle-edit.module.mjs +4 -4
  282. package/esm2020/toggle-group/toggle-group-option.directive.mjs +12 -12
  283. package/esm2020/toggle-group/toggle-group.directive.mjs +3 -3
  284. package/esm2020/toggle-group/toggle-group.module.mjs +4 -4
  285. package/esm2020/unsaved-changes-dialog/unsaved-changes-can-deactivate.mjs +3 -3
  286. package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.component.mjs +3 -3
  287. package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.guard.mjs +3 -3
  288. package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.module.mjs +4 -4
  289. package/esm2020/utils/geo-json/coerce-feature-collection.mjs +1 -1
  290. package/esm2020/utils/geo-json/geo-json-to-area.mjs +1 -1
  291. package/esm2020/utils/geo-json/is-feature-collection.validator.mjs +1 -1
  292. package/esm2020/utils/geo-json/is-only-geometry-types.mjs +1 -1
  293. package/esm2020/utils/geo-json/is-only-geometry-types.validator.mjs +1 -1
  294. package/esm2020/utils/geo-json/merge-polygons.mjs +1 -1
  295. package/esm2020/utils/geo-json/no-inner-rings.validator.mjs +1 -1
  296. package/esm2020/utils/geo-json/split-multi-polygons.mjs +1 -1
  297. package/esm2020/viewers/html-template-viewer/html-template-viewer.component.mjs +37 -37
  298. package/esm2020/viewers/html-template-viewer/html-template-viewer.module.mjs +4 -4
  299. package/esm2020/viewers/pdf-viewer/pdf-page/pdf-page.component.mjs +10 -10
  300. package/esm2020/viewers/pdf-viewer/pdf-renderer.service.mjs +3 -3
  301. package/esm2020/viewers/pdf-viewer/pdf-viewer.component.mjs +38 -38
  302. package/esm2020/viewers/pdf-viewer/pdf-viewer.module.mjs +4 -4
  303. package/esm2020/widget/directives/widget-drag-handle.directive.mjs +12 -12
  304. package/esm2020/widget/directives/widget-icon-tpl.directive.mjs +3 -3
  305. package/esm2020/widget/directives/widget-title-tpl.directive.mjs +3 -3
  306. package/esm2020/widget/widget/widget.component.mjs +23 -23
  307. package/esm2020/widget/widget-content-components/widget-button-group/widget-button-group.component.mjs +3 -3
  308. package/esm2020/widget/widget-content-components/widget-button-group/widget-button-group.module.mjs +4 -4
  309. package/esm2020/widget/widget-content-components/widget-content-header/widget-content-header.component.mjs +3 -3
  310. package/esm2020/widget/widget-content-components/widget-content-header/widget-content-header.module.mjs +4 -4
  311. package/esm2020/widget/widget-content-components/widget-description/widget-description.component.mjs +3 -3
  312. package/esm2020/widget/widget-content-components/widget-description/widget-description.module.mjs +4 -4
  313. package/esm2020/widget/widget-content-components/widget-empty-label/widget-empty-label.component.mjs +7 -7
  314. package/esm2020/widget/widget-content-components/widget-empty-label/widget-empty-label.module.mjs +4 -4
  315. package/esm2020/widget/widget-content-components/widget-footer-link/widget-footer-link.component.mjs +3 -3
  316. package/esm2020/widget/widget-content-components/widget-footer-link/widget-footer-link.module.mjs +4 -4
  317. package/esm2020/widget/widget-content-components/widget-footer-text/widget-footer-text.component.mjs +3 -3
  318. package/esm2020/widget/widget-content-components/widget-footer-text/widget-footer-text.module.mjs +4 -4
  319. package/esm2020/widget/widget-content-components/widget-header-badge/widget-header-badge.component.mjs +3 -3
  320. package/esm2020/widget/widget-content-components/widget-header-badge/widget-header-badge.module.mjs +4 -4
  321. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item-icon-tpl.directive.mjs +3 -3
  322. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item.component.mjs +15 -15
  323. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group.component.mjs +3 -3
  324. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group.module.mjs +4 -4
  325. package/esm2020/widget/widget-content-components/widget-table/widget-table.component.mjs +3 -3
  326. package/esm2020/widget/widget-content-components/widget-table/widget-table.module.mjs +4 -4
  327. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-footer/widget-tile-footer.component.mjs +3 -3
  328. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-footer-item/widget-tile-footer-item.component.mjs +8 -8
  329. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-group/widget-tile-group.component.mjs +3 -3
  330. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-secondary-icon.directive.mjs +3 -3
  331. package/esm2020/widget/widget-content-components/widget-tile/widget-tile.component.mjs +16 -16
  332. package/esm2020/widget/widget-content-components/widget-tile/widget-tile.module.mjs +4 -4
  333. package/esm2020/widget/widget-content-components/widget-tile-list/widget-tile-list.component.mjs +3 -3
  334. package/esm2020/widget/widget-content-components/widget-tile-list/widget-tile-list.module.mjs +4 -4
  335. package/esm2020/widget/widget-footer/widget-footer.component.mjs +3 -3
  336. package/esm2020/widget/widget-registry.service.mjs +3 -3
  337. package/esm2020/widget/widget.module.mjs +4 -4
  338. package/fesm2015/theseam-ui-common-asset-reader.mjs +18 -18
  339. package/fesm2015/theseam-ui-common-asset-reader.mjs.map +1 -1
  340. package/fesm2015/theseam-ui-common-breadcrumbs.mjs +10 -10
  341. package/fesm2015/theseam-ui-common-buttons.mjs +26 -26
  342. package/fesm2015/theseam-ui-common-buttons.mjs.map +1 -1
  343. package/fesm2015/theseam-ui-common-card.mjs +19 -19
  344. package/fesm2015/theseam-ui-common-checkbox.mjs +46 -46
  345. package/fesm2015/theseam-ui-common-checkbox.mjs.map +1 -1
  346. package/fesm2015/theseam-ui-common-confirm-dialog.mjs +18 -18
  347. package/fesm2015/theseam-ui-common-confirm-dialog.mjs.map +1 -1
  348. package/fesm2015/theseam-ui-common-core.mjs +18 -18
  349. package/fesm2015/theseam-ui-common-core.mjs.map +1 -1
  350. package/fesm2015/theseam-ui-common-data-exporter.mjs +10 -10
  351. package/fesm2015/theseam-ui-common-data-filters.mjs +32 -32
  352. package/fesm2015/theseam-ui-common-data-filters.mjs.map +1 -1
  353. package/fesm2015/theseam-ui-common-datatable-dynamic.mjs +46 -46
  354. package/fesm2015/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
  355. package/fesm2015/theseam-ui-common-datatable.mjs +208 -208
  356. package/fesm2015/theseam-ui-common-datatable.mjs.map +1 -1
  357. package/fesm2015/theseam-ui-common-dynamic-component-loader.mjs +7 -7
  358. package/fesm2015/theseam-ui-common-dynamic.mjs +21 -21
  359. package/fesm2015/theseam-ui-common-footer-bar.mjs +7 -7
  360. package/fesm2015/theseam-ui-common-form-field-error.mjs +104 -104
  361. package/fesm2015/theseam-ui-common-form-field-error.mjs.map +1 -1
  362. package/fesm2015/theseam-ui-common-form-field.mjs +107 -107
  363. package/fesm2015/theseam-ui-common-form-field.mjs.map +1 -1
  364. package/fesm2015/theseam-ui-common-framework.mjs +196 -196
  365. package/fesm2015/theseam-ui-common-framework.mjs.map +1 -1
  366. package/fesm2015/theseam-ui-common-google-maps.mjs +78 -78
  367. package/fesm2015/theseam-ui-common-google-maps.mjs.map +1 -1
  368. package/fesm2015/theseam-ui-common-graphql.mjs +7 -7
  369. package/fesm2015/theseam-ui-common-graphql.mjs.map +1 -1
  370. package/fesm2015/theseam-ui-common-icon.mjs +33 -33
  371. package/fesm2015/theseam-ui-common-icon.mjs.map +1 -1
  372. package/fesm2015/theseam-ui-common-layout.mjs +7 -7
  373. package/fesm2015/theseam-ui-common-loading.mjs +13 -13
  374. package/fesm2015/theseam-ui-common-loading.mjs.map +1 -1
  375. package/fesm2015/theseam-ui-common-menu.mjs +79 -79
  376. package/fesm2015/theseam-ui-common-menu.mjs.map +1 -1
  377. package/fesm2015/theseam-ui-common-modal.mjs +85 -85
  378. package/fesm2015/theseam-ui-common-modal.mjs.map +1 -1
  379. package/fesm2015/theseam-ui-common-popover.mjs +52 -52
  380. package/fesm2015/theseam-ui-common-popover.mjs.map +1 -1
  381. package/fesm2015/theseam-ui-common-progress.mjs +12 -12
  382. package/fesm2015/theseam-ui-common-progress.mjs.map +1 -1
  383. package/fesm2015/theseam-ui-common-scrollbar.mjs +16 -16
  384. package/fesm2015/theseam-ui-common-scrollbar.mjs.map +1 -1
  385. package/fesm2015/theseam-ui-common-services.mjs +9 -9
  386. package/fesm2015/theseam-ui-common-shared.mjs +84 -84
  387. package/fesm2015/theseam-ui-common-shared.mjs.map +1 -1
  388. package/fesm2015/theseam-ui-common-storage.mjs +3 -3
  389. package/fesm2015/theseam-ui-common-story-helpers.mjs +25 -25
  390. package/fesm2015/theseam-ui-common-story-helpers.mjs.map +1 -1
  391. package/fesm2015/theseam-ui-common-tabbed.mjs +31 -31
  392. package/fesm2015/theseam-ui-common-tabbed.mjs.map +1 -1
  393. package/fesm2015/theseam-ui-common-table-cell-type.mjs +10 -10
  394. package/fesm2015/theseam-ui-common-table-cell-types.mjs +80 -80
  395. package/fesm2015/theseam-ui-common-table-cell-types.mjs.map +1 -1
  396. package/fesm2015/theseam-ui-common-table.mjs +14 -14
  397. package/fesm2015/theseam-ui-common-table.mjs.map +1 -1
  398. package/fesm2015/theseam-ui-common-tel-input.mjs +59 -59
  399. package/fesm2015/theseam-ui-common-tel-input.mjs.map +1 -1
  400. package/fesm2015/theseam-ui-common-tiled-select.mjs +46 -46
  401. package/fesm2015/theseam-ui-common-tiled-select.mjs.map +1 -1
  402. package/fesm2015/theseam-ui-common-toggle-edit.mjs +28 -28
  403. package/fesm2015/theseam-ui-common-toggle-edit.mjs.map +1 -1
  404. package/fesm2015/theseam-ui-common-toggle-group.mjs +18 -18
  405. package/fesm2015/theseam-ui-common-toggle-group.mjs.map +1 -1
  406. package/fesm2015/theseam-ui-common-unsaved-changes-dialog.mjs +13 -13
  407. package/fesm2015/theseam-ui-common-utils.mjs.map +1 -1
  408. package/fesm2015/theseam-ui-common-viewers.mjs +93 -93
  409. package/fesm2015/theseam-ui-common-viewers.mjs.map +1 -1
  410. package/fesm2015/theseam-ui-common-widget.mjs +175 -175
  411. package/fesm2015/theseam-ui-common-widget.mjs.map +1 -1
  412. package/fesm2015/theseam-ui-common.mjs +0 -41
  413. package/fesm2015/theseam-ui-common.mjs.map +1 -1
  414. package/fesm2020/theseam-ui-common-asset-reader.mjs +18 -18
  415. package/fesm2020/theseam-ui-common-asset-reader.mjs.map +1 -1
  416. package/fesm2020/theseam-ui-common-breadcrumbs.mjs +10 -10
  417. package/fesm2020/theseam-ui-common-buttons.mjs +26 -26
  418. package/fesm2020/theseam-ui-common-buttons.mjs.map +1 -1
  419. package/fesm2020/theseam-ui-common-card.mjs +19 -19
  420. package/fesm2020/theseam-ui-common-checkbox.mjs +46 -46
  421. package/fesm2020/theseam-ui-common-checkbox.mjs.map +1 -1
  422. package/fesm2020/theseam-ui-common-confirm-dialog.mjs +18 -18
  423. package/fesm2020/theseam-ui-common-confirm-dialog.mjs.map +1 -1
  424. package/fesm2020/theseam-ui-common-core.mjs +18 -18
  425. package/fesm2020/theseam-ui-common-core.mjs.map +1 -1
  426. package/fesm2020/theseam-ui-common-data-exporter.mjs +10 -10
  427. package/fesm2020/theseam-ui-common-data-filters.mjs +32 -32
  428. package/fesm2020/theseam-ui-common-data-filters.mjs.map +1 -1
  429. package/fesm2020/theseam-ui-common-datatable-dynamic.mjs +46 -46
  430. package/fesm2020/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
  431. package/fesm2020/theseam-ui-common-datatable.mjs +208 -208
  432. package/fesm2020/theseam-ui-common-datatable.mjs.map +1 -1
  433. package/fesm2020/theseam-ui-common-dynamic-component-loader.mjs +7 -7
  434. package/fesm2020/theseam-ui-common-dynamic.mjs +21 -21
  435. package/fesm2020/theseam-ui-common-footer-bar.mjs +7 -7
  436. package/fesm2020/theseam-ui-common-form-field-error.mjs +104 -104
  437. package/fesm2020/theseam-ui-common-form-field-error.mjs.map +1 -1
  438. package/fesm2020/theseam-ui-common-form-field.mjs +107 -107
  439. package/fesm2020/theseam-ui-common-form-field.mjs.map +1 -1
  440. package/fesm2020/theseam-ui-common-framework.mjs +196 -196
  441. package/fesm2020/theseam-ui-common-framework.mjs.map +1 -1
  442. package/fesm2020/theseam-ui-common-google-maps.mjs +78 -78
  443. package/fesm2020/theseam-ui-common-google-maps.mjs.map +1 -1
  444. package/fesm2020/theseam-ui-common-graphql.mjs +7 -7
  445. package/fesm2020/theseam-ui-common-graphql.mjs.map +1 -1
  446. package/fesm2020/theseam-ui-common-icon.mjs +33 -33
  447. package/fesm2020/theseam-ui-common-icon.mjs.map +1 -1
  448. package/fesm2020/theseam-ui-common-layout.mjs +7 -7
  449. package/fesm2020/theseam-ui-common-loading.mjs +13 -13
  450. package/fesm2020/theseam-ui-common-loading.mjs.map +1 -1
  451. package/fesm2020/theseam-ui-common-menu.mjs +77 -77
  452. package/fesm2020/theseam-ui-common-menu.mjs.map +1 -1
  453. package/fesm2020/theseam-ui-common-modal.mjs +85 -85
  454. package/fesm2020/theseam-ui-common-modal.mjs.map +1 -1
  455. package/fesm2020/theseam-ui-common-popover.mjs +52 -52
  456. package/fesm2020/theseam-ui-common-popover.mjs.map +1 -1
  457. package/fesm2020/theseam-ui-common-progress.mjs +12 -12
  458. package/fesm2020/theseam-ui-common-progress.mjs.map +1 -1
  459. package/fesm2020/theseam-ui-common-scrollbar.mjs +16 -16
  460. package/fesm2020/theseam-ui-common-scrollbar.mjs.map +1 -1
  461. package/fesm2020/theseam-ui-common-services.mjs +9 -9
  462. package/fesm2020/theseam-ui-common-shared.mjs +84 -84
  463. package/fesm2020/theseam-ui-common-shared.mjs.map +1 -1
  464. package/fesm2020/theseam-ui-common-storage.mjs +3 -3
  465. package/fesm2020/theseam-ui-common-story-helpers.mjs +25 -25
  466. package/fesm2020/theseam-ui-common-story-helpers.mjs.map +1 -1
  467. package/fesm2020/theseam-ui-common-tabbed.mjs +31 -31
  468. package/fesm2020/theseam-ui-common-tabbed.mjs.map +1 -1
  469. package/fesm2020/theseam-ui-common-table-cell-type.mjs +10 -10
  470. package/fesm2020/theseam-ui-common-table-cell-types.mjs +80 -80
  471. package/fesm2020/theseam-ui-common-table-cell-types.mjs.map +1 -1
  472. package/fesm2020/theseam-ui-common-table.mjs +14 -14
  473. package/fesm2020/theseam-ui-common-table.mjs.map +1 -1
  474. package/fesm2020/theseam-ui-common-tel-input.mjs +57 -57
  475. package/fesm2020/theseam-ui-common-tel-input.mjs.map +1 -1
  476. package/fesm2020/theseam-ui-common-tiled-select.mjs +46 -46
  477. package/fesm2020/theseam-ui-common-tiled-select.mjs.map +1 -1
  478. package/fesm2020/theseam-ui-common-toggle-edit.mjs +28 -28
  479. package/fesm2020/theseam-ui-common-toggle-edit.mjs.map +1 -1
  480. package/fesm2020/theseam-ui-common-toggle-group.mjs +18 -18
  481. package/fesm2020/theseam-ui-common-toggle-group.mjs.map +1 -1
  482. package/fesm2020/theseam-ui-common-unsaved-changes-dialog.mjs +13 -13
  483. package/fesm2020/theseam-ui-common-utils.mjs.map +1 -1
  484. package/fesm2020/theseam-ui-common-viewers.mjs +93 -93
  485. package/fesm2020/theseam-ui-common-viewers.mjs.map +1 -1
  486. package/fesm2020/theseam-ui-common-widget.mjs +175 -175
  487. package/fesm2020/theseam-ui-common-widget.mjs.map +1 -1
  488. package/fesm2020/theseam-ui-common.mjs +0 -41
  489. package/fesm2020/theseam-ui-common.mjs.map +1 -1
  490. package/framework/base-layout/base-layout-action.d.ts +1 -1
  491. package/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.d.ts +1 -1
  492. package/framework/side-nav/_side-nav-theme.scss +5 -0
  493. package/framework/side-nav/side-nav-item/side-nav-item.component.scss +185 -0
  494. package/framework/side-nav/side-nav-toggle/side-nav-toggle.component.scss +32 -0
  495. package/framework/side-nav/side-nav.component.scss +47 -0
  496. package/framework/side-nav/side-nav.models.d.ts +1 -1
  497. package/framework/side-nav/styles/_themes/light/_variables.scss +29 -0
  498. package/framework/side-nav/styles/_themes/primary/_variables.scss +31 -0
  499. package/framework/side-nav/styles/_utilities.scss +3 -0
  500. package/framework/side-nav/styles/_variables.scss +2 -0
  501. package/google-maps/google-maps/google-maps.component.d.ts +0 -1
  502. package/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.component.d.ts +0 -4
  503. package/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.directive.d.ts +0 -4
  504. package/google-maps/google-maps.service.d.ts +0 -2
  505. package/google-maps/map-controls-service.d.ts +0 -1
  506. package/google-maps/map-value-manager.service.d.ts +1 -1
  507. package/graphql/datatable/datatable-graphql-query-ref.d.ts +2 -2
  508. package/graphql/datatable/datatable-graphql.service.d.ts +1 -1
  509. package/graphql/datatable/datatable-helpers.d.ts +2 -2
  510. package/graphql/datatable/map-filter-states.d.ts +2 -2
  511. package/graphql/datatable/map-page-info.d.ts +1 -1
  512. package/graphql/datatable/mapper-context.d.ts +1 -1
  513. package/graphql/models/gql-datatable-accessor.d.ts +1 -1
  514. package/graphql/models/hint-transformer.d.ts +1 -1
  515. package/icon/icon/icon.component.d.ts +1 -1
  516. package/icon/icon.d.ts +1 -1
  517. package/layout/breakpoint-aliases.d.ts +1 -1
  518. package/loading/loading.models.d.ts +1 -1
  519. package/modal/modal-config.d.ts +1 -1
  520. package/models/component-type.d.ts +1 -1
  521. package/models/size-prefixes.d.ts +1 -1
  522. package/models/size-types.d.ts +1 -1
  523. package/models/theme-prefixes.d.ts +1 -1
  524. package/models/theme-types.d.ts +2 -2
  525. package/package.json +1 -1
  526. package/scrollbar/overlay-scrollbars-config-model.d.ts +1 -1
  527. package/services/font-loader.service.d.ts +1 -1
  528. package/styles/bootstrap/_bootstrap.scss +34 -34
  529. package/styles/bootstrap/_bs-utilities.scss +3 -3
  530. package/styles/theme.scss +3 -3
  531. package/styles/vendor/ngx-datatable/_ngx-datatable.scss +1 -1
  532. package/styles/vendor/quill/_quill.scss +3 -3
  533. package/table/table/table.component.d.ts +1 -1
  534. package/table-cell-type/table-cell-type-models.d.ts +3 -3
  535. package/table-cell-type/table-cell-type-name.d.ts +1 -1
  536. package/table-cell-types/table-cell-type-currency/table-cell-type-currency-config.d.ts +1 -1
  537. package/table-cell-types/table-cell-type-currency/table-cell-type-currency.d.ts +1 -1
  538. package/table-cell-types/table-cell-type-date/table-cell-type-date.d.ts +1 -1
  539. package/table-cell-types/table-cell-type-decimal/table-cell-type-decimal-config.d.ts +1 -1
  540. package/table-cell-types/table-cell-type-decimal/table-cell-type-decimal.d.ts +1 -1
  541. package/table-cell-types/table-cell-type-icon/table-cell-type-icon-config.d.ts +1 -1
  542. package/table-cell-types/table-cell-type-icon/table-cell-type-icon.component.d.ts +1 -1
  543. package/table-cell-types/table-cell-type-integer/table-cell-type-integer-config.d.ts +1 -1
  544. package/table-cell-types/table-cell-type-integer/table-cell-type-integer.d.ts +1 -1
  545. package/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle-config.d.ts +1 -1
  546. package/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon-config.d.ts +1 -1
  547. package/table-cell-types/table-cell-type-string/table-cell-type-string-config.d.ts +1 -1
  548. package/table-cell-types/table-cell-type-string/table-cell-type-string.component.d.ts +1 -1
  549. package/tel-input/utils/coerce-phone-number-format.d.ts +1 -1
  550. package/tiled-select/components/tiled-select/tiled-select.component.d.ts +1 -1
  551. package/tiled-select/tiled-select.models.d.ts +2 -2
  552. package/utils/polling-ticker.d.ts +1 -1
  553. package/utils/subscriber-count.d.ts +1 -1
  554. package/widget/directives/widget-drag-handle.directive.d.ts +1 -1
@@ -5,12 +5,6 @@ import * as i0 from "@angular/core";
5
5
  * Can be used to toggle the expand state of the registered nav.
6
6
  */
7
7
  export class BaseLayoutNavToggleDirective {
8
- constructor(_baseLayout) {
9
- this.type = 'button';
10
- /** Screenreader label for the button. */
11
- this.ariaLabel = 'Navigation toggle';
12
- this.baseLayout = _baseLayout;
13
- }
14
8
  get _attrType() { return this.type; }
15
9
  get _attrAriaLabel() { return this.ariaLabel || null; }
16
10
  _onClick() {
@@ -18,10 +12,16 @@ export class BaseLayoutNavToggleDirective {
18
12
  this.baseLayout.registeredNav.toggle();
19
13
  }
20
14
  }
15
+ constructor(_baseLayout) {
16
+ this.type = 'button';
17
+ /** Screenreader label for the button. */
18
+ this.ariaLabel = 'Navigation toggle';
19
+ this.baseLayout = _baseLayout;
20
+ }
21
21
  }
22
- BaseLayoutNavToggleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BaseLayoutNavToggleDirective, deps: [{ token: THESEAM_BASE_LAYOUT_REF, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
23
- BaseLayoutNavToggleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.4", type: BaseLayoutNavToggleDirective, selector: "button[seamBaseLayoutNavToggle]", inputs: { type: "type", ariaLabel: ["aria-label", "ariaLabel"] }, host: { listeners: { "click": "_onClick()" }, properties: { "attr.type": "this._attrType", "attr.aria-label": "this._attrAriaLabel" } }, exportAs: ["seamBaseLayoutNavToggle"], ngImport: i0 });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BaseLayoutNavToggleDirective, decorators: [{
22
+ BaseLayoutNavToggleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BaseLayoutNavToggleDirective, deps: [{ token: THESEAM_BASE_LAYOUT_REF, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
23
+ BaseLayoutNavToggleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.6", type: BaseLayoutNavToggleDirective, selector: "button[seamBaseLayoutNavToggle]", inputs: { type: "type", ariaLabel: ["aria-label", "ariaLabel"] }, host: { listeners: { "click": "_onClick()" }, properties: { "attr.type": "this._attrType", "attr.aria-label": "this._attrAriaLabel" } }, exportAs: ["seamBaseLayoutNavToggle"], ngImport: i0 });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BaseLayoutNavToggleDirective, decorators: [{
25
25
  type: Directive,
26
26
  args: [{
27
27
  selector: 'button[seamBaseLayoutNavToggle]',
@@ -47,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImpor
47
47
  type: HostListener,
48
48
  args: ['click']
49
49
  }] } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1sYXlvdXQtbmF2LXRvZ2dsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZnJhbWV3b3JrL2Jhc2UtbGF5b3V0L2RpcmVjdGl2ZXMvYmFzZS1sYXlvdXQtbmF2LXRvZ2dsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRzdGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFBOztBQUUvRDs7R0FFRztBQUtILE1BQU0sT0FBTyw0QkFBNEI7SUFzQnZDLFlBQytDLFdBQWtDO1FBaEJ4RSxTQUFJLEdBQThCLFFBQVEsQ0FBQTtRQUtuRCx5Q0FBeUM7UUFDcEIsY0FBUyxHQUE4QixtQkFBbUIsQ0FBQTtRQVk3RSxJQUFJLENBQUMsVUFBVSxHQUFHLFdBQVcsQ0FBQTtJQUMvQixDQUFDO0lBdEJELElBQ0ksU0FBUyxLQUFLLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQSxDQUFDLENBQUM7SUFJcEMsSUFDSSxjQUFjLEtBQUssT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQSxDQUFDLENBQUM7SUFNdEQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRTtZQUNwRCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQTtTQUN2QztJQUNILENBQUM7O3lIQXBCVSw0QkFBNEIsa0JBdUJqQix1QkFBdUI7NkdBdkJsQyw0QkFBNEI7MkZBQTVCLDRCQUE0QjtrQkFKeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUNBQWlDO29CQUMzQyxRQUFRLEVBQUUseUJBQXlCO2lCQUNwQzs7MEJBd0JJLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsdUJBQXVCOzRDQWxCekMsU0FBUztzQkFEWixXQUFXO3VCQUFDLFdBQVc7Z0JBR2YsSUFBSTtzQkFBWixLQUFLO2dCQUdGLGNBQWM7c0JBRGpCLFdBQVc7dUJBQUMsaUJBQWlCO2dCQUlULFNBQVM7c0JBQTdCLEtBQUs7dUJBQUMsWUFBWTtnQkFHbkIsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIEluamVjdCwgSW5wdXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuaW1wb3J0IHR5cGUgeyBJVGhlU2VhbUJhc2VMYXlvdXRSZWYgfSBmcm9tICcuLi9iYXNlLWxheW91dC1yZWYnXG5pbXBvcnQgeyBUSEVTRUFNX0JBU0VfTEFZT1VUX1JFRiB9IGZyb20gJy4uL2Jhc2UtbGF5b3V0LXRva2VucydcblxuLyoqXG4gKiBDYW4gYmUgdXNlZCB0byB0b2dnbGUgdGhlIGV4cGFuZCBzdGF0ZSBvZiB0aGUgcmVnaXN0ZXJlZCBuYXYuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2J1dHRvbltzZWFtQmFzZUxheW91dE5hdlRvZ2dsZV0nLFxuICBleHBvcnRBczogJ3NlYW1CYXNlTGF5b3V0TmF2VG9nZ2xlJ1xufSlcbmV4cG9ydCBjbGFzcyBCYXNlTGF5b3V0TmF2VG9nZ2xlRGlyZWN0aXZlIHtcblxuICBwdWJsaWMgYmFzZUxheW91dDogSVRoZVNlYW1CYXNlTGF5b3V0UmVmIHwgdW5kZWZpbmVkXG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnR5cGUnKVxuICBnZXQgX2F0dHJUeXBlKCkgeyByZXR1cm4gdGhpcy50eXBlIH1cblxuICBASW5wdXQoKSB0eXBlOiBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsID0gJ2J1dHRvbidcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1sYWJlbCcpXG4gIGdldCBfYXR0ckFyaWFMYWJlbCgpIHsgcmV0dXJuIHRoaXMuYXJpYUxhYmVsIHx8IG51bGwgfVxuXG4gIC8qKiBTY3JlZW5yZWFkZXIgbGFiZWwgZm9yIHRoZSBidXR0b24uICovXG4gIEBJbnB1dCgnYXJpYS1sYWJlbCcpIGFyaWFMYWJlbDogc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbCA9ICdOYXZpZ2F0aW9uIHRvZ2dsZSdcblxuICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gIF9vbkNsaWNrKCkge1xuICAgIGlmICh0aGlzLmJhc2VMYXlvdXQgJiYgdGhpcy5iYXNlTGF5b3V0LnJlZ2lzdGVyZWROYXYpIHtcbiAgICAgIHRoaXMuYmFzZUxheW91dC5yZWdpc3RlcmVkTmF2LnRvZ2dsZSgpXG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChUSEVTRUFNX0JBU0VfTEFZT1VUX1JFRikgX2Jhc2VMYXlvdXQ6IElUaGVTZWFtQmFzZUxheW91dFJlZlxuICApIHtcbiAgICB0aGlzLmJhc2VMYXlvdXQgPSBfYmFzZUxheW91dFxuICB9XG5cbn1cbiJdfQ==
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1sYXlvdXQtbmF2LXRvZ2dsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZnJhbWV3b3JrL2Jhc2UtbGF5b3V0L2RpcmVjdGl2ZXMvYmFzZS1sYXlvdXQtbmF2LXRvZ2dsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRzdGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFBOztBQUUvRDs7R0FFRztBQUtILE1BQU0sT0FBTyw0QkFBNEI7SUFJdkMsSUFDSSxTQUFTLEtBQUssT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFBLENBQUMsQ0FBQztJQUlwQyxJQUNJLGNBQWMsS0FBSyxPQUFPLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFBLENBQUMsQ0FBQztJQU10RCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFO1lBQ3BELElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFBO1NBQ3ZDO0lBQ0gsQ0FBQztJQUVELFlBQytDLFdBQWtDO1FBaEJ4RSxTQUFJLEdBQThCLFFBQVEsQ0FBQTtRQUtuRCx5Q0FBeUM7UUFDcEIsY0FBUyxHQUE4QixtQkFBbUIsQ0FBQTtRQVk3RSxJQUFJLENBQUMsVUFBVSxHQUFHLFdBQVcsQ0FBQTtJQUMvQixDQUFDOzt5SEExQlUsNEJBQTRCLGtCQXVCakIsdUJBQXVCOzZHQXZCbEMsNEJBQTRCOzJGQUE1Qiw0QkFBNEI7a0JBSnhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlDQUFpQztvQkFDM0MsUUFBUSxFQUFFLHlCQUF5QjtpQkFDcEM7OzBCQXdCSSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLHVCQUF1Qjs0Q0FsQnpDLFNBQVM7c0JBRFosV0FBVzt1QkFBQyxXQUFXO2dCQUdmLElBQUk7c0JBQVosS0FBSztnQkFHRixjQUFjO3NCQURqQixXQUFXO3VCQUFDLGlCQUFpQjtnQkFJVCxTQUFTO3NCQUE3QixLQUFLO3VCQUFDLFlBQVk7Z0JBR25CLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBJbmplY3QsIElucHV0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbmltcG9ydCB0eXBlIHsgSVRoZVNlYW1CYXNlTGF5b3V0UmVmIH0gZnJvbSAnLi4vYmFzZS1sYXlvdXQtcmVmJ1xuaW1wb3J0IHsgVEhFU0VBTV9CQVNFX0xBWU9VVF9SRUYgfSBmcm9tICcuLi9iYXNlLWxheW91dC10b2tlbnMnXG5cbi8qKlxuICogQ2FuIGJlIHVzZWQgdG8gdG9nZ2xlIHRoZSBleHBhbmQgc3RhdGUgb2YgdGhlIHJlZ2lzdGVyZWQgbmF2LlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdidXR0b25bc2VhbUJhc2VMYXlvdXROYXZUb2dnbGVdJyxcbiAgZXhwb3J0QXM6ICdzZWFtQmFzZUxheW91dE5hdlRvZ2dsZSdcbn0pXG5leHBvcnQgY2xhc3MgQmFzZUxheW91dE5hdlRvZ2dsZURpcmVjdGl2ZSB7XG5cbiAgcHVibGljIGJhc2VMYXlvdXQ6IElUaGVTZWFtQmFzZUxheW91dFJlZiB8IHVuZGVmaW5lZFxuXG4gIEBIb3N0QmluZGluZygnYXR0ci50eXBlJylcbiAgZ2V0IF9hdHRyVHlwZSgpIHsgcmV0dXJuIHRoaXMudHlwZSB9XG5cbiAgQElucHV0KCkgdHlwZTogc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbCA9ICdidXR0b24nXG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbGFiZWwnKVxuICBnZXQgX2F0dHJBcmlhTGFiZWwoKSB7IHJldHVybiB0aGlzLmFyaWFMYWJlbCB8fCBudWxsIH1cblxuICAvKiogU2NyZWVucmVhZGVyIGxhYmVsIGZvciB0aGUgYnV0dG9uLiAqL1xuICBASW5wdXQoJ2FyaWEtbGFiZWwnKSBhcmlhTGFiZWw6IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGwgPSAnTmF2aWdhdGlvbiB0b2dnbGUnXG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICBfb25DbGljaygpIHtcbiAgICBpZiAodGhpcy5iYXNlTGF5b3V0ICYmIHRoaXMuYmFzZUxheW91dC5yZWdpc3RlcmVkTmF2KSB7XG4gICAgICB0aGlzLmJhc2VMYXlvdXQucmVnaXN0ZXJlZE5hdi50b2dnbGUoKVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoVEhFU0VBTV9CQVNFX0xBWU9VVF9SRUYpIF9iYXNlTGF5b3V0OiBJVGhlU2VhbUJhc2VMYXlvdXRSZWZcbiAgKSB7XG4gICAgdGhpcy5iYXNlTGF5b3V0ID0gX2Jhc2VMYXlvdXRcbiAgfVxuXG59XG4iXX0=
@@ -5,9 +5,9 @@ export class BaseLayoutSideBarFooterDirective {
5
5
  this._elementRef = _elementRef;
6
6
  }
7
7
  }
8
- BaseLayoutSideBarFooterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BaseLayoutSideBarFooterDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
9
- BaseLayoutSideBarFooterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.4", type: BaseLayoutSideBarFooterDirective, selector: "[seamBaseLayoutSideBarFooter]", ngImport: i0 });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BaseLayoutSideBarFooterDirective, decorators: [{
8
+ BaseLayoutSideBarFooterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BaseLayoutSideBarFooterDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
9
+ BaseLayoutSideBarFooterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.6", type: BaseLayoutSideBarFooterDirective, selector: "[seamBaseLayoutSideBarFooter]", ngImport: i0 });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BaseLayoutSideBarFooterDirective, decorators: [{
11
11
  type: Directive,
12
12
  args: [{
13
13
  selector: '[seamBaseLayoutSideBarFooter]'
@@ -5,9 +5,9 @@ export class BaseLayoutSideBarDirective {
5
5
  this._elementRef = _elementRef;
6
6
  }
7
7
  }
8
- BaseLayoutSideBarDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BaseLayoutSideBarDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
9
- BaseLayoutSideBarDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.4", type: BaseLayoutSideBarDirective, selector: "[seamBaseLayoutSideBar]", ngImport: i0 });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BaseLayoutSideBarDirective, decorators: [{
8
+ BaseLayoutSideBarDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BaseLayoutSideBarDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
9
+ BaseLayoutSideBarDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.6", type: BaseLayoutSideBarDirective, selector: "[seamBaseLayoutSideBar]", ngImport: i0 });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BaseLayoutSideBarDirective, decorators: [{
11
11
  type: Directive,
12
12
  args: [{
13
13
  selector: '[seamBaseLayoutSideBar]'
@@ -5,9 +5,9 @@ export class BaseLayoutTopBarDirective {
5
5
  this._elementRef = _elementRef;
6
6
  }
7
7
  }
8
- BaseLayoutTopBarDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BaseLayoutTopBarDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
9
- BaseLayoutTopBarDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.4", type: BaseLayoutTopBarDirective, selector: "[seamBaseLayoutTopBar]", ngImport: i0 });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BaseLayoutTopBarDirective, decorators: [{
8
+ BaseLayoutTopBarDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BaseLayoutTopBarDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
9
+ BaseLayoutTopBarDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.6", type: BaseLayoutTopBarDirective, selector: "[seamBaseLayoutTopBar]", ngImport: i0 });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BaseLayoutTopBarDirective, decorators: [{
11
11
  type: Directive,
12
12
  args: [{
13
13
  selector: '[seamBaseLayoutTopBar]'
@@ -4,9 +4,9 @@ export class DashboardWidgetContainerComponent {
4
4
  constructor() { }
5
5
  ngOnInit() { }
6
6
  }
7
- DashboardWidgetContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DashboardWidgetContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8
- DashboardWidgetContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.4", type: DashboardWidgetContainerComponent, selector: "seam-dashboard-widget-container", inputs: { def: "def" }, viewQueries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<ng-template><ng-content></ng-content></ng-template>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DashboardWidgetContainerComponent, decorators: [{
7
+ DashboardWidgetContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: DashboardWidgetContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8
+ DashboardWidgetContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: DashboardWidgetContainerComponent, selector: "seam-dashboard-widget-container", inputs: { def: "def" }, viewQueries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<ng-template><ng-content></ng-content></ng-template>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: DashboardWidgetContainerComponent, decorators: [{
10
10
  type: Component,
11
11
  args: [{ selector: 'seam-dashboard-widget-container', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template><ng-content></ng-content></ng-template>\n" }]
12
12
  }], ctorParameters: function () { return []; }, propDecorators: { def: [{
@@ -10,9 +10,9 @@ export class DashboardWidgetTemplateContainerComponent {
10
10
  }
11
11
  ngOnInit() { }
12
12
  }
13
- DashboardWidgetTemplateContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DashboardWidgetTemplateContainerComponent, deps: [{ token: THESEAM_DASHBOARD_WIDGETS_ACCESSOR }], target: i0.ɵɵFactoryTarget.Component });
14
- DashboardWidgetTemplateContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.4", type: DashboardWidgetTemplateContainerComponent, selector: "seam-dashboard-widget-template-container", inputs: { item: "item" }, ngImport: i0, template: "<ng-template [ngTemplateOutlet]=\"$any(template$ | async)\"></ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DashboardWidgetTemplateContainerComponent, decorators: [{
13
+ DashboardWidgetTemplateContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: DashboardWidgetTemplateContainerComponent, deps: [{ token: THESEAM_DASHBOARD_WIDGETS_ACCESSOR }], target: i0.ɵɵFactoryTarget.Component });
14
+ DashboardWidgetTemplateContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: DashboardWidgetTemplateContainerComponent, selector: "seam-dashboard-widget-template-container", inputs: { item: "item" }, ngImport: i0, template: "<ng-template [ngTemplateOutlet]=\"$any(template$ | async)\"></ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: DashboardWidgetTemplateContainerComponent, decorators: [{
16
16
  type: Component,
17
17
  args: [{ selector: 'seam-dashboard-widget-template-container', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template [ngTemplateOutlet]=\"$any(template$ | async)\"></ng-template>\n" }]
18
18
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
@@ -104,9 +104,9 @@ export class DashboardWidgetPortalOutletDirective extends BasePortalOutlet {
104
104
  return viewRef;
105
105
  }
106
106
  }
107
- DashboardWidgetPortalOutletDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DashboardWidgetPortalOutletDirective, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
108
- DashboardWidgetPortalOutletDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.4", type: DashboardWidgetPortalOutletDirective, selector: "[seamDashboardWidgetPortalOutlet]", inputs: { portal: ["seamDashboardWidgetPortalOutlet", "portal"] }, outputs: { attached: "attached" }, exportAs: ["seamDashboardWidgetPortalOutlet"], usesInheritance: true, ngImport: i0 });
109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DashboardWidgetPortalOutletDirective, decorators: [{
107
+ DashboardWidgetPortalOutletDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: DashboardWidgetPortalOutletDirective, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
108
+ DashboardWidgetPortalOutletDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.6", type: DashboardWidgetPortalOutletDirective, selector: "[seamDashboardWidgetPortalOutlet]", inputs: { portal: ["seamDashboardWidgetPortalOutlet", "portal"] }, outputs: { attached: "attached" }, exportAs: ["seamDashboardWidgetPortalOutlet"], usesInheritance: true, ngImport: i0 });
109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: DashboardWidgetPortalOutletDirective, decorators: [{
110
110
  type: Directive,
111
111
  args: [{
112
112
  selector: '[seamDashboardWidgetPortalOutlet]',
@@ -160,9 +160,9 @@ export class DashboardWidgetsPreferencesService {
160
160
  return serialized;
161
161
  }
162
162
  }
163
- DashboardWidgetsPreferencesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DashboardWidgetsPreferencesService, deps: [{ token: THESEAM_DASHBOARD_WIDGETS_PREFERENCES_ACCESSOR, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
164
- DashboardWidgetsPreferencesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DashboardWidgetsPreferencesService, providedIn: 'root' });
165
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DashboardWidgetsPreferencesService, decorators: [{
163
+ DashboardWidgetsPreferencesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: DashboardWidgetsPreferencesService, deps: [{ token: THESEAM_DASHBOARD_WIDGETS_PREFERENCES_ACCESSOR, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
164
+ DashboardWidgetsPreferencesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: DashboardWidgetsPreferencesService, providedIn: 'root' });
165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: DashboardWidgetsPreferencesService, decorators: [{
166
166
  type: Injectable,
167
167
  args: [{
168
168
  providedIn: 'root'
@@ -21,6 +21,20 @@ import * as i7 from "../dashboard-widget-container/dashboard-widget-container.co
21
21
  import * as i8 from "../dashboard-widget-template-container/dashboard-widget-template-container.component";
22
22
  import * as i9 from "./dashboard-widget-portal-outlet.directive";
23
23
  export class DashboardWidgetsComponent {
24
+ get gapSize() { return this._gapSize.value; }
25
+ set gapSize(val) {
26
+ this._gapSize.next(coerceNumberProperty(val));
27
+ }
28
+ get dragToggleVisible() { return this._dragToggleVisible.value; }
29
+ set dragToggleVisible(val) {
30
+ this._dragToggleVisible.next(coerceBooleanProperty(val));
31
+ }
32
+ get numColumns() { return this._dashboardWidgets.numColumns; }
33
+ set numColumns(val) {
34
+ this._dashboardWidgets.numColumns = coerceNumberProperty(val);
35
+ }
36
+ set widgets(value) { this._dashboardWidgets.widgets = value || []; }
37
+ get widgets() { return this._dashboardWidgets.widgets; }
24
38
  constructor(_dashboardWidgets, _viewContainerRef, _cdr, _baseLayoutRef) {
25
39
  this._dashboardWidgets = _dashboardWidgets;
26
40
  this._viewContainerRef = _viewContainerRef;
@@ -53,20 +67,6 @@ export class DashboardWidgetsComponent {
53
67
  this.widgetItems$ = this._dashboardWidgets.widgetItems$;
54
68
  this.widgetColumns$ = this._dashboardWidgets.widgetColumns$;
55
69
  }
56
- get gapSize() { return this._gapSize.value; }
57
- set gapSize(val) {
58
- this._gapSize.next(coerceNumberProperty(val));
59
- }
60
- get dragToggleVisible() { return this._dragToggleVisible.value; }
61
- set dragToggleVisible(val) {
62
- this._dragToggleVisible.next(coerceBooleanProperty(val));
63
- }
64
- get numColumns() { return this._dashboardWidgets.numColumns; }
65
- set numColumns(val) {
66
- this._dashboardWidgets.numColumns = coerceNumberProperty(val);
67
- }
68
- set widgets(value) { this._dashboardWidgets.widgets = value || []; }
69
- get widgets() { return this._dashboardWidgets.widgets; }
70
70
  ngOnInit() {
71
71
  // this._dashboardWidgets.setViewContainerRef(this._viewContainerRef)
72
72
  this._layoutChange.pipe(switchMap(() => this.widgetItems$.pipe(take(1), tap(widgetItems => this.widgetsChange.emit(widgetItems)),
@@ -146,8 +146,8 @@ export class DashboardWidgetsComponent {
146
146
  this._widthChange.next(event.size.width);
147
147
  }
148
148
  }
149
- DashboardWidgetsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DashboardWidgetsComponent, deps: [{ token: i1.DashboardWidgetsService }, { token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }, { token: THESEAM_BASE_LAYOUT_REF, optional: true }], target: i0.ɵɵFactoryTarget.Component });
150
- DashboardWidgetsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.4", type: DashboardWidgetsComponent, selector: "seam-dashboard-widgets", inputs: { gapSize: "gapSize", widgetsDraggable: "widgetsDraggable", dragToggleVisible: "dragToggleVisible", numColumns: "numColumns", widgets: "widgets" }, outputs: { widgetsChange: "widgetsChange" }, providers: [
149
+ DashboardWidgetsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: DashboardWidgetsComponent, deps: [{ token: i1.DashboardWidgetsService }, { token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }, { token: THESEAM_BASE_LAYOUT_REF, optional: true }], target: i0.ɵɵFactoryTarget.Component });
150
+ DashboardWidgetsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: DashboardWidgetsComponent, selector: "seam-dashboard-widgets", inputs: { gapSize: "gapSize", widgetsDraggable: "widgetsDraggable", dragToggleVisible: "dragToggleVisible", numColumns: "numColumns", widgets: "widgets" }, outputs: { widgetsChange: "widgetsChange" }, providers: [
151
151
  {
152
152
  provide: THESEAM_WIDGET_ACCESSOR,
153
153
  // tslint:disable-next-line:no-use-before-declare
@@ -162,7 +162,7 @@ DashboardWidgetsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.
162
162
  __decorate([
163
163
  InputBoolean()
164
164
  ], DashboardWidgetsComponent.prototype, "widgetsDraggable", void 0);
165
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DashboardWidgetsComponent, decorators: [{
165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: DashboardWidgetsComponent, decorators: [{
166
166
  type: Component,
167
167
  args: [{ selector: 'seam-dashboard-widgets', providers: [
168
168
  {
@@ -203,4 +203,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImpor
203
203
  }], widgetsChange: [{
204
204
  type: Output
205
205
  }] } });
206
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLXdpZGdldHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2ZyYW1ld29yay9kYXNoYm9hcmQvZGFzaGJvYXJkLXdpZGdldHMvZGFzaGJvYXJkLXdpZGdldHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2ZyYW1ld29yay9kYXNoYm9hcmQvZGFzaGJvYXJkLXdpZGdldHMvZGFzaGJvYXJkLXdpZGdldHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsb0JBQW9CLEVBQWUsTUFBTSx1QkFBdUIsQ0FBQTtBQUM5RyxPQUFPLEVBQUUsT0FBTyxFQUFlLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ2pHLE9BQU8sRUFFTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxFQUdOLFNBQVMsRUFDVCxZQUFZLEVBRVosaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxlQUFlLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUV0SixPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBRXBFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUV0RCxPQUFPLEVBQUUs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Qjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsdUJBQXVCOzRCQUNoQyxpREFBaUQ7NEJBQ2pELFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDBCQUEwQixDQUFDO3lCQUN6RDt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsa0NBQWtDOzRCQUMzQyxpREFBaUQ7NEJBQ2pELFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDBCQUEwQixDQUFDO3lCQUN6RDtxQkFDRixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTs7MEJBZ0VsQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLHVCQUF1Qjs0Q0EvQ3pDLE9BQU87c0JBRFYsS0FBSztnQkFPbUIsZ0JBQWdCO3NCQUF4QyxLQUFLO2dCQUdGLGlCQUFpQjtzQkFEcEIsS0FBSztnQkFRRixVQUFVO3NCQURiLEtBQUs7Z0JBT0YsT0FBTztzQkFEVixLQUFLO2dCQVUyQyxVQUFVO3NCQUExRCxZQUFZO3VCQUFDLGlDQUFpQztnQkFDeEIsaUJBQWlCO3NCQUF2QyxZQUFZO3VCQUFDLE9BQU87Z0JBRXdCLGFBQWE7c0JBQXpELFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFLakMsYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5LCBjb2VyY2VOdW1iZXJQcm9wZXJ0eSwgTnVtYmVySW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nXG5pbXBvcnQgeyBDZGtEcmFnLCBDZGtEcmFnRHJvcCwgbW92ZUl0ZW1JbkFycmF5LCB0cmFuc2ZlckFycmF5SXRlbSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnXG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBWaWV3Q2hpbGRyZW4sXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgYXVkaXRUaW1lLCBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaW5hbGl6ZSwgbWFwLCBzaGFyZVJlcGxheSwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRha2UsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5cbmltcG9ydCB7IGZhTG9jaywgZmFVbmxvY2sgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnXG5cbmltcG9ydCB7IElucHV0Qm9vbGVhbiB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9jb3JlJ1xuaW1wb3J0IHR5cGUgeyBJRWxlbWVudFJlc2l6ZWRFdmVudCB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9zaGFyZWQnXG5pbXBvcnQgeyBUSEVTRUFNX1dJREdFVF9BQ0NFU1NPUiB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi93aWRnZXQnXG5cbmltcG9ydCB0eXBlIHsgSVRoZVNlYW1CYXNlTGF5b3V0UmVmIH0gZnJvbSAnLi4vLi4vYmFzZS1sYXlvdXQvYmFzZS1sYXlvdXQtcmVmJ1xuaW1wb3J0IHsgVEhFU0VBTV9CQVNFX0xBWU9VVF9SRUYgfSBmcm9tICcuLi8uLi9iYXNlLWxheW91dC9iYXNlLWxheW91dC10b2tlbnMnXG5pbXBvcnQgeyBEYXNoYm9hcmRXaWRnZXRDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuLi9kYXNoYm9hcmQtd2lkZ2V0LWNvbnRhaW5lci9kYXNoYm9hcmQtd2lkZ2V0LWNvbnRhaW5lci5jb21wb25lbnQnXG5cbmltcG9ydCB7IERhc2hib2FyZFdpZGdldHNBY2Nlc3NvciwgVEhFU0VBTV9EQVNIQk9BUkRfV0lER0VUU19BQ0NFU1NPUiB9IGZyb20gJy4uL2Rhc2hib2FyZC13aWRnZXRzLXRva2VucydcbmltcG9ydCB0eXBlIHsgSURhc2hib2FyZFdpZGdldHNDb2x1bW5SZWNvcmQsIElEYXNoYm9hcmRXaWRnZXRzSXRlbSwgSURhc2hib2FyZFdpZGdldHNJdGVtRGVmIH0gZnJvbSAnLi9kYXNoYm9hcmQtd2lkZ2V0cy1pdGVtJ1xuaW1wb3J0IHsgRGFzaGJvYXJkV2lkZ2V0c1NlcnZpY2UgfSBmcm9tICcuL2Rhc2hib2FyZC13aWRnZXRzLnNlcnZpY2UnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NlYW0tZGFzaGJvYXJkLXdpZGdldHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGFzaGJvYXJkLXdpZGdldHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXNoYm9hcmQtd2lkZ2V0cy5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBUSEVTRUFNX1dJREdFVF9BQ0NFU1NPUixcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby11c2UtYmVmb3JlLWRlY2xhcmVcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERhc2hib2FyZFdpZGdldHNDb21wb25lbnQpXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBUSEVTRUFNX0RBU0hCT0FSRF9XSURHRVRTX0FDQ0VTU09SLFxuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLXVzZS1iZWZvcmUtZGVjbGFyZVxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGFzaGJvYXJkV2lkZ2V0c0NvbXBvbmVudClcbiAgICB9LFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBEYXNoYm9hcmRXaWRnZXRzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQsIERhc2hib2FyZFdpZGdldHNBY2Nlc3NvciB7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9nYXBTaXplOiBOdW1iZXJJbnB1dFxuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfbnVtQ29sdW1uczogTnVtYmVySW5wdXRcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3dpZGdldHNEcmFnZ2FibGU6IEJvb2xlYW5JbnB1dFxuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfZHJhZ1RvZ2dsZVZpc2libGU6IEJvb2xlYW5JbnB1dFxuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfd2lkZ2V0czogSURhc2hib2FyZFdpZGdldHNJdGVtRGVmW10gfCB1bmRlZmluZWQgfCBudWxsXG5cbiAgZmFMb2NrID0gZmFMb2NrXG4gIGZhVW5sb2NrID0gZmFVbmxvY2tcblxuICBwdWJsaWMgcmVhZG9ubHkgX2FjdGlvbldpZGdldERyYWdUb2dnbGVOYW1lID0gJ3dpZGdldC1kcmFnLXRvZ2dsZSdcblxuICBwcml2YXRlIHJlYWRvbmx5IF9uZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKVxuXG4gIEBJbnB1dCgpXG4gIGdldCBnYXBTaXplKCk6IG51bWJlciB7IHJldHVybiB0aGlzLl9nYXBTaXplLnZhbHVlIH1cbiAgc2V0IGdhcFNpemUodmFsOiBudW1iZXIpIHtcbiAgICB0aGlzLl9nYXBTaXplLm5leHQoY29lcmNlTnVtYmVyUHJvcGVydHkodmFsKSlcbiAgfVxuICBwcml2YXRlIHJlYWRvbmx5IF9nYXBTaXplID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDMwKVxuXG4gIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSB3aWRnZXRzRHJhZ2dhYmxlOiBib29sZWFuID0gZmFsc2VcblxuICBASW5wdXQoKVxuICBnZXQgZHJhZ1RvZ2dsZVZpc2libGUoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9kcmFnVG9nZ2xlVmlzaWJsZS52YWx1ZSB9XG4gIHNldCBkcmFnVG9nZ2xlVmlzaWJsZSh2YWw6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9kcmFnVG9nZ2xlVmlzaWJsZS5uZXh0KGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWwpKVxuICB9XG4gIHByaXZhdGUgX2RyYWdUb2dnbGVWaXNpYmxlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKVxuXG4gIEBJbnB1dCgpXG4gIGdldCBudW1Db2x1bW5zKCk6IG51bWJlciB7IHJldHVybiB0aGlzLl9kYXNoYm9hcmRXaWRnZXRzLm51bUNvbHVtbnMgfVxuICBzZXQgbnVtQ29sdW1ucyh2YWw6IG51bWJlcikge1xuICAgIHRoaXMuX2Rhc2hib2FyZFdpZGdldHMubnVtQ29sdW1ucyA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbClcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCB3aWRnZXRzKHZhbHVlOiBJRGFzaGJvYXJkV2lkZ2V0c0l0ZW1EZWZbXSkgeyB0aGlzLl9kYXNoYm9hcmRXaWRnZXRzLndpZGdldHMgPSB2YWx1ZSB8fCBbXSB9XG4gIGdldCB3aWRnZXRzKCk6IElEYXNoYm9hcmRXaWRnZXRzSXRlbURlZltdIHsgcmV0dXJuIHRoaXMuX2Rhc2hib2FyZFdpZGdldHMud2lkZ2V0cyB9XG5cbiAgcHVibGljIHdpZGdldEl0ZW1zJDogT2JzZXJ2YWJsZTxJRGFzaGJvYXJkV2lkZ2V0c0l0ZW1bXT5cbiAgcHVibGljIHdpZGdldENvbHVtbnMkOiBPYnNlcnZhYmxlPElEYXNoYm9hcmRXaWRnZXRzQ29sdW1uUmVjb3JkW10+XG4gIHB1YmxpYyBjb250YWluZXJzJDogT2JzZXJ2YWJsZTxEYXNoYm9hcmRXaWRnZXRDb250YWluZXJDb21wb25lbnRbXT5cblxuICByZWFkb25seSBfZ2FwU3R5bGVTaXplJDogT2JzZXJ2YWJsZTxudW1iZXI+XG5cbiAgQFZpZXdDaGlsZHJlbihEYXNoYm9hcmRXaWRnZXRDb250YWluZXJDb21wb25lbnQpIGNvbnRhaW5lcnM/OiBRdWVyeUxpc3Q8RGFzaGJvYXJkV2lkZ2V0Q29udGFpbmVyQ29tcG9uZW50PlxuICBAVmlld0NoaWxkcmVuKENka0RyYWcpIGNka0RyYWdEaXJlY3RpdmVzPzogUXVlcnlMaXN0PENka0RyYWc+XG5cbiAgQFZpZXdDaGlsZCgndG9nZ2xlQnRuVHBsJywgeyBzdGF0aWM6IHRydWUgfSkgX3RvZ2dsZUJ0blRwbD86IFRlbXBsYXRlUmVmPGFueT5cblxuICBwcml2YXRlIF9jb250YWluZXJzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEYXNoYm9hcmRXaWRnZXRDb250YWluZXJDb21wb25lbnRbXT4oW10pXG4gIHByaXZhdGUgX2xheW91dENoYW5nZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KClcblxuICBAT3V0cHV0KCkgd2lkZ2V0c0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8SURhc2hib2FyZFdpZGdldHNJdGVtW10+KClcblxuICBwcml2YXRlIHJlYWRvbmx5IF93aWR0aENoYW5nZSA9IG5ldyBTdWJqZWN0PG51bWJlcj4oKVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2Rhc2hib2FyZFdpZGdldHM6IERhc2hib2FyZFdpZGdldHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgX3ZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFRIRVNFQU1fQkFTRV9MQVlPVVRfUkVGKSBwcml2YXRlIF9iYXNlTGF5b3V0UmVmPzogSVRoZVNlYW1CYXNlTGF5b3V0UmVmXG4gICkge1xuICAgIHRoaXMuY29udGFpbmVycyQgPSB0aGlzLl9jb250YWluZXJzLmFzT2JzZXJ2YWJsZSgpXG5cbiAgICB0aGlzLl9nYXBTdHlsZVNpemUkID0gdGhpcy5fZ2FwU2l6ZS5waXBlKFxuICAgICAgYXVkaXRUaW1lKDApLFxuICAgICAgbWFwKHNpemUgPT4gc2l6ZSAvIDIpLFxuICAgICAgc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogdHJ1ZSB9KVxuICAgIClcblxuICAgIHRoaXMuX3dpZHRoQ2hhbmdlLnBpcGUoXG4gICAgICBkZWJvdW5jZVRpbWUoMzApLFxuICAgICAgdGFwKHdpZHRoID0+IHtcbiAgICAgICAgaWYgKHdpZHRoID4gMTMwMCkge1xuICAgICAgICAgIHRoaXMubnVtQ29sdW1ucyA9IDNcbiAgICAgICAgfSBlbHNlIGlmICh3aWR0aCA+IDgwMCkge1xuICAgICAgICAgIHRoaXMubnVtQ29sdW1ucyA9IDJcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLm51bUNvbHVtbnMgPSAxXG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgdGFrZVVudGlsKHRoaXMuX25nVW5zdWJzY3JpYmUpXG4gICAgKS5zdWJzY3JpYmUoKVxuXG4gICAgdGhpcy53aWRnZXRJdGVtcyQgPSB0aGlzLl9kYXNoYm9hcmRXaWRnZXRzLndpZGdldEl0ZW1zJFxuICAgIHRoaXMud2lkZ2V0Q29sdW1ucyQgPSB0aGlzLl9kYXNoYm9hcmRXaWRnZXRzLndpZGdldENvbHVtbnMkXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICAvLyB0aGlzLl9kYXNoYm9hcmRXaWRnZXRzLnNldFZpZXdDb250YWluZXJSZWYodGhpcy5fdmlld0NvbnRhaW5lclJlZilcblxuICAgIHRoaXMuX2xheW91dENoYW5nZS5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMud2lkZ2V0SXRlbXMkLnBpcGUoXG4gICAgICAgIHRha2UoMSksXG4gICAgICAgIHRhcCh3aWRnZXRJdGVtcyA9PiB0aGlzLndpZGdldHNDaGFuZ2UuZW1pdCh3aWRnZXRJdGVtcykpLFxuICAgICAgICAvLyBtYXAod2lkZ2V0SXRlbXMgPT4gdGhpcy5fZGFzaGJvYXJkV2lkZ2V0cy50b1NlcmlhbGl6ZWFibGVJdGVtcyh3aWRnZXRJdGVtcykpLFxuICAgICAgICAvLyB0YXAodiA9PiBjb25zb2xlLmxvZygnc2VyaWFsaXphYmxlJywgdikpLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5fZGFzaGJvYXJkV2lkZ2V0cy5zYXZlUHJlZmVyZW5jZXMoKSlcbiAgICAgICkpLFxuICAgICAgdGFrZVVudGlsKHRoaXMuX25nVW5zdWJzY3JpYmUpXG4gICAgKS5zdWJzY3JpYmUoKVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fdW5yZWdpc3RlclRvZ2dsZUFjdGlvbigpXG4gICAgdGhpcy5fbmdVbnN1YnNjcmliZS5uZXh0KHVuZGVmaW5lZClcbiAgICB0aGlzLl9uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKClcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAodGhpcy5fYmFzZUxheW91dFJlZikge1xuICAgICAgdGhpcy5fZHJhZ1RvZ2dsZVZpc2libGUucGlwZShcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgdGFwKHZpc2libGUgPT4ge1xuICAgICAgICAgIGNvbnN0IGlzUmVnaXN0ZXJlZCA9IHRoaXMuX2lzQWN0aW9uVG9nZ2xlQWN0aW9uUmVnaXN0ZXJlZCgpXG4gICAgICAgICAgaWYgKHZpc2libGUgJiYgIWlzUmVnaXN0ZXJlZCkge1xuICAgICAgICAgICAgdGhpcy5fcmVnaXN0ZXJUb2dnbGVBY3Rpb24oKVxuICAgICAgICAgIH0gZWxzZSBpZiAoIXZpc2libGUgJiYgaXNSZWdpc3RlcmVkKSB7XG4gICAgICAgICAgICB0aGlzLl91bnJlZ2lzdGVyVG9nZ2xlQWN0aW9uKClcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fbmdVbnN1YnNjcmliZSlcbiAgICAgICkuc3Vic2NyaWJlKClcbiAgICB9XG5cbiAgICB0aGlzLmNvbnRhaW5lcnM/LmNoYW5nZXMucGlwZShcbiAgICAgIHN0YXJ0V2l0aCh1bmRlZmluZWQpLFxuICAgICAgbWFwKCgpID0+IHRoaXMuY29udGFpbmVycz8udG9BcnJheSgpIHx8IFtdKSxcbiAgICAgIHRha2VVbnRpbCh0aGlzLl9uZ1Vuc3Vic2NyaWJlKSxcbiAgICAgIGZpbmFsaXplKCgpID0+IHRoaXMuX2NvbnRhaW5lcnMubmV4dChbXSkpXG4gICAgKS5zdWJzY3JpYmUodiA9PiB0aGlzLl9jb250YWluZXJzLm5leHQodikpXG4gIH1cblxuICBwcml2YXRlIF9yZWdpc3RlclRvZ2dsZUFjdGlvbigpIHtcbiAgICBpZiAodGhpcy5fYmFzZUxheW91dFJlZikge1xuICAgICAgLy8gVGhpcyBzaG91bGQgcHJvYmFibHkgdXNlIGEgY29tcG9uZW50IGR5bmFtaWNhbGx5IGNyZWF0ZWQgZnJvbSB0aGVcbiAgICAgIC8vIGNvbmZpZyBhbmQgcmV0dXJuIGEgcmVmIHRvIGl0LCBpbnN0ZWFkIG9mIHVzaW5nIGEgdGVtcGxhdGUuXG4gICAgICBpZiAodGhpcy5fdG9nZ2xlQnRuVHBsKSB7XG4gICAgICAgIHRoaXMuX2Jhc2VMYXlvdXRSZWYucmVnaXN0ZXJBY3Rpb24oe1xuICAgICAgICAgIC8vIHR5cGU6ICdidXR0b24nLFxuICAgICAgICAgIHR5cGU6ICd0ZW1wbGF0ZScsXG4gICAgICAgICAgbmFtZTogdGhpcy5fYWN0aW9uV2lkZ2V0RHJhZ1RvZ2dsZU5hbWUsXG4gICAgICAgICAgbGFiZWw6ICdUb2dnbGUgV2lkZ2V0IERyYWdnaW5nJyxcbiAgICAgICAgICAvLyBleGVjOiAoKSA9PiB7XG4gICAgICAgICAgLy8gICBjb25zb2xlLmxvZygndG9nZ2xlJylcbiAgICAgICAgICAvLyB9LFxuICAgICAgICAgIHRlbXBsYXRlOiB0aGlzLl90b2dnbGVCdG5UcGxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF91bnJlZ2lzdGVyVG9nZ2xlQWN0aW9uKCkge1xuICAgIGlmICh0aGlzLl9iYXNlTGF5b3V0UmVmKSB7XG4gICAgICB0aGlzLl9iYXNlTGF5b3V0UmVmLnVucmVnaXN0ZXJBY3Rpb24odGhpcy5fYWN0aW9uV2lkZ2V0RHJhZ1RvZ2dsZU5hbWUpXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNBY3Rpb25Ub2dnbGVBY3Rpb25SZWdpc3RlcmVkKCkge1xuICAgIGlmICghdGhpcy5fYmFzZUxheW91dFJlZikge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9iYXNlTGF5b3V0UmVmLmlzQWN0aW9uUmVnaXN0ZXJlZCh0aGlzLl9hY3Rpb25XaWRnZXREcmFnVG9nZ2xlTmFtZSlcbiAgfVxuXG4gIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPHN0cmluZ1tdPikge1xuICAgIGlmIChldmVudC5wcmV2aW91c0NvbnRhaW5lciA9PT0gZXZlbnQuY29udGFpbmVyKSB7XG4gICAgICBtb3ZlSXRlbUluQXJyYXkoZXZlbnQuY29udGFpbmVyLmRhdGEsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleClcbiAgICAgIHRoaXMuX2Rhc2hib2FyZFdpZGdldHMudXBkYXRlT3JkZXIoKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fbGF5b3V0Q2hhbmdlLm5leHQoKSlcbiAgICB9IGVsc2Uge1xuICAgICAgdHJhbnNmZXJBcnJheUl0ZW0oXG4gICAgICAgIGV2ZW50LnByZXZpb3VzQ29udGFpbmVyLmRhdGEsXG4gICAgICAgIGV2ZW50LmNvbnRhaW5lci5kYXRhLFxuICAgICAgICBldmVudC5wcmV2aW91c0luZGV4LFxuICAgICAgICBldmVudC5jdXJyZW50SW5kZXhcbiAgICAgIClcbiAgICAgIHRoaXMuX2Rhc2hib2FyZFdpZGdldHMudXBkYXRlT3JkZXIoKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fbGF5b3V0Q2hhbmdlLm5leHQoKSlcbiAgICB9XG4gIH1cblxuICBfY29udGFpbmVyVHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIGl0ZW06IElEYXNoYm9hcmRXaWRnZXRzSXRlbSkge1xuICAgIHJldHVybiBpdGVtLndpZGdldElkXG4gIH1cblxuICBfY29sdW1uc1RyYWNrQnlGbihpbmRleDogbnVtYmVyLCByZWNvcmQ6IElEYXNoYm9hcmRXaWRnZXRzQ29sdW1uUmVjb3JkKSB7XG4gICAgcmV0dXJuIHJlY29yZC5jb2x1bW5cbiAgfVxuXG4gIHRvZ2dsZURyYWdnaW5nKCkge1xuICAgIHRoaXMud2lkZ2V0c0RyYWdnYWJsZSA9ICF0aGlzLndpZGdldHNEcmFnZ2FibGVcbiAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpXG4gIH1cblxuICBfcmVzaXplZChldmVudDogSUVsZW1lbnRSZXNpemVkRXZlbnQpIHtcbiAgICB0aGlzLl93aWR0aENoYW5nZS5uZXh0KGV2ZW50LnNpemUud2lkdGgpXG4gIH1cblxufVxuIiwiPCEtLVxuICBUaGlzIGlzIGFuIHVnbHkgdHJpY2sgSSBhbSB1c2luZyB0byByZW5kZXIgdGhlIGNvbXBvbmVudCBpbnRvIGFuIDxuZy1jb250ZW50PlxuICB3cmFwcGVkIGluIGFuIDxuZy10ZW1wbGF0ZT4gdG8gbW92ZSB0aGUgY29tcG9uZW50IHRvIGRpZmZlcmVudCBvdXRsZXRzIHdpdGhvdXRcbiAgcmVpbml0aWFsaXppbmcgaXQuIFRoaXMgd2F5IHRoZSB3aWRnZXQgd29uJ3QgcmVsb2FkIHdoZW4gbW92aW5nIGJldHdlZW5cbiAgY29sdW1ucy4gV2hlbiBJIHJlbWVtYmVyIGhvdyBJIHByb2dyYW1hdGljYWxseSBkaWQgdGhpcyBJIHdpbGwgcmVtb3ZlIHRoaXNcbiAgd2VpcmRuZXNzLlxuIC0tPlxuIDxzZWFtLWRhc2hib2FyZC13aWRnZXQtY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIHdpZGdldEl0ZW1zJCB8IGFzeW5jOyB0cmFja0J5OiBfY29udGFpbmVyVHJhY2tCeUZuXCIgW2RlZl09XCIkYW55KGl0ZW0pXCI+XG4gIDwhLS0gPG5nLXRlbXBsYXRlIFtjZGtQb3J0YWxPdXRsZXRdPVwiaXRlbS5wb3J0YWxcIj48L25nLXRlbXBsYXRlPiAtLT5cbiAgPG5nLXRlbXBsYXRlIFtzZWFtRGFzaGJvYXJkV2lkZ2V0UG9ydGFsT3V0bGV0XT1cIml0ZW0ucG9ydGFsXCI+PC9uZy10ZW1wbGF0ZT5cbjwvc2VhbS1kYXNoYm9hcmQtd2lkZ2V0LWNvbnRhaW5lcj5cblxuPGRpdiBjbGFzcz1cImRhc2hib2FyZC13aWRnZXRzLWJhc2UgZC1mbGV4IGZsZXgtcm93IGp1c3RpZnktY29udGVudC1hcm91bmRcIlxuICBzdHlsZT1cImZsZXg6IDE0MTBweDtcIlxuICBbc3R5bGUucGFkZGluZy5weF09XCJfZ2FwU3R5bGVTaXplJCB8IGFzeW5jXCJcbiAgKHNlYW1FbGVtUmVzaXplZCk9XCJfcmVzaXplZCgkZXZlbnQpXCJcbiAgY2RrRHJvcExpc3RHcm91cD5cbiAgPGRpdiAqbmdGb3I9XCJsZXQgY29sIG9mIHdpZGdldENvbHVtbnMkIHwgYXN5bmM7IHRyYWNrQnk6IF9jb2x1bW5zVHJhY2tCeUZuXCJcbiAgICBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBmbGV4LWdyb3ctMSBkYXNoYm9hcmQtd2lkZ2V0cy1saXN0XCJcbiAgICBjZGtEcm9wTGlzdFxuICAgIFtjZGtEcm9wTGlzdERhdGFdPVwiY29sLml0ZW1zXCJcbiAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGFueSgkZXZlbnQpKVwiPlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgY29sLml0ZW1zOyB0cmFja0J5OiBfY29udGFpbmVyVHJhY2tCeUZuXCJcbiAgICAgIGNsYXNzPVwiZGFzaGJvYXJkLXdpZGdldHMtbGlzdC1pdGVtXCJcbiAgICAgIFthdHRyLmRhdGEtd2lkZ2V0LWlkXT1cIml0ZW0ud2lkZ2V0SWRcIlxuICAgICAgY2RrRHJhZ1xuICAgICAgW2Nka0RyYWdEaXNhYmxlZF09XCIhd2lkZ2V0c0RyYWdnYWJsZVwiPlxuICAgICAgPGRpdiBbc3R5bGUubWFyZ2luLnB4XT1cIl9nYXBTdHlsZVNpemUkIHwgYXN5bmNcIj5cbiAgICAgICAgPHNlYW0tZGFzaGJvYXJkLXdpZGdldC10ZW1wbGF0ZS1jb250YWluZXIgW2l0ZW1dPVwiaXRlbVwiPjwvc2VhbS1kYXNoYm9hcmQtd2lkZ2V0LXRlbXBsYXRlLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3RvZ2dsZUJ0blRwbD5cbiAgPGJ1dHRvbiBzZWFtQnV0dG9uIHRoZW1lPVwiYmFzZWxheW91dC1hY3Rpb25cIiB0aXRsZT1cInt7IHdpZGdldHNEcmFnZ2FibGUgPyAnTG9jayB0aGUgRGFzaGJvYXJkJyA6ICdNb2RpZnkgRGFzaGJvYXJkJyB9fVwiIChjbGljayk9XCJ0b2dnbGVEcmFnZ2luZygpXCI+XG4gICAgPHNlYW0taWNvbiBbaWNvbl09XCJ3aWRnZXRzRHJhZ2dhYmxlID8gZmFVbmxvY2sgOiBmYUxvY2tcIj48L3NlYW0taWNvbj5cbiAgPC9idXR0b24+XG48L25nLXRlbXBsYXRlPlxuIl19
206
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLXdpZGdldHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2ZyYW1ld29yay9kYXNoYm9hcmQvZGFzaGJvYXJkLXdpZGdldHMvZGFzaGJvYXJkLXdpZGdldHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2ZyYW1ld29yay9kYXNoYm9hcmQvZGFzaGJvYXJkLXdpZGdldHMvZGFzaGJvYXJkLXdpZGdldHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsb0JBQW9CLEVBQWUsTUFBTSx1QkFBdUIsQ0FBQTtBQUM5RyxPQUFPLEVBQUUsT0FBTyxFQUFlLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ2pHLE9BQU8sRUFFTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxFQUdOLFNBQVMsRUFDVCxZQUFZLEVBRVosaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxlQUFlLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUV0SixPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBRXBFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUV0RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUduRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTtBQUM5RSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQTtBQUV0SCxPQUFPLEVBQTRCLGtDQUFrQyxFQUFFLE1BQU0sNkJBQTZCLENBQUE7Ozs7Ozs7Ozs7O0FBdUIxRyxNQUFNLE9BQU8seUJBQXlCO0lBY3BDLElBQ0ksT0FBTyxLQUFhLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUEsQ0FBQyxDQUFDO0lBQ3BELElBQUksT0FBTyxDQUFDLEdBQVc7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtJQUMvQyxDQUFDO0lBS0QsSUFDSSxpQkFBaUIsS0FBYyxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUEsQ0FBQyxDQUFDO0lBQ3pFLElBQUksaUJBQWlCLENBQUMsR0FBWTtRQUNoQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7SUFDMUQsQ0FBQztJQUdELElBQ0ksVUFBVSxLQUFhLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQSxDQUFDLENBQUM7SUFDckUsSUFBSSxVQUFVLENBQUMsR0FBVztRQUN4QixJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxHQUFHLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQy9ELENBQUM7SUFFRCxJQUNJLE9BQU8sQ0FBQyxLQUFpQyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQSxDQUFDLENBQUM7SUFDL0YsSUFBSSxPQUFPLEtBQWlDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQSxDQUFDLENBQUM7SUFvQm5GLFlBQ1UsaUJBQTBDLEVBQzFDLGlCQUFtQyxFQUNuQyxJQUF1QixFQUNzQixjQUFzQztRQUhuRixzQkFBaUIsR0FBakIsaUJBQWlCLENBQXlCO1FBQzFDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7UUFDbkMsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFDc0IsbUJBQWMsR0FBZCxjQUFjLENBQXdCO1FBdkQ3RixXQUFNLEdBQUcsTUFBTSxDQUFBO1FBQ2YsYUFBUSxHQUFHLFFBQVEsQ0FBQTtRQUVILGdDQUEyQixHQUFHLG9CQUFvQixDQUFBO1FBRWpELG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQTtRQU9wQyxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQVMsRUFBRSxDQUFDLENBQUE7UUFFbEMscUJBQWdCLEdBQVksS0FBSyxDQUFBO1FBT2xELHVCQUFrQixHQUFHLElBQUksZUFBZSxDQUFVLElBQUksQ0FBQyxDQUFBO1FBdUJ2RCxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFzQyxFQUFFLENBQUMsQ0FBQTtRQUMxRSxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUE7UUFFakMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBMkIsQ0FBQTtRQUVwRCxpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFVLENBQUE7UUFRbkQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFBO1FBRWxELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ3RDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFDWixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEVBQ3JCLFdBQVcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQy9DLENBQUE7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDcEIsWUFBWSxDQUFDLEVBQUUsQ0FBQyxFQUNoQixHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDVixJQUFJLEtBQUssR0FBRyxJQUFJLEVBQUU7Z0JBQ2hCLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFBO2FBQ3BCO2lCQUFNLElBQUksS0FBSyxHQUFHLEdBQUcsRUFBRTtnQkFDdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUE7YUFDcEI7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUE7YUFDcEI7UUFDSCxDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUMvQixDQUFDLFNBQVMsRUFBRSxDQUFBO1FBRWIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFBO1FBQ3ZELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQTtJQUM3RCxDQUFDO0lBRUQsUUFBUTtRQUNOLHFFQUFxRTtRQUVyRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDckIsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUNwQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEQsZ0ZBQWdGO1FBQ2hGLDRDQUE0QztRQUM1QyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsRUFBRSxDQUFDLENBQzFELENBQUMsRUFDRixTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUMvQixDQUFDLFNBQVMsRUFBRSxDQUFBO0lBQ2YsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQTtRQUM5QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUNuQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFBO0lBQ2hDLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQzFCLG9CQUFvQixFQUFFLEVBQ3RCLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDWixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsK0JBQStCLEVBQUUsQ0FBQTtnQkFDM0QsSUFBSSxPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUU7b0JBQzVCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFBO2lCQUM3QjtxQkFBTSxJQUFJLENBQUMsT0FBTyxJQUFJLFlBQVksRUFBRTtvQkFDbkMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUE7aUJBQy9CO1lBQ0gsQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FDL0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQTtTQUNkO1FBRUQsSUFBSSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUMzQixTQUFTLENBQUMsU0FBUyxDQUFDLEVBQ3BCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUMzQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUM5QixRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FDMUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzVDLENBQUM7SUFFTyxxQkFBcUI7UUFDM0IsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLG9FQUFvRTtZQUNwRSw4REFBOEQ7WUFDOUQsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO2dCQUN0QixJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQztvQkFDakMsa0JBQWtCO29CQUNsQixJQUFJLEVBQUUsVUFBVTtvQkFDaEIsSUFBSSxFQUFFLElBQUksQ0FBQywyQkFBMkI7b0JBQ3RDLEtBQUssRUFBRSx3QkFBd0I7b0JBQy9CLGdCQUFnQjtvQkFDaEIsMEJBQTBCO29CQUMxQixLQUFLO29CQUNMLFFBQVEsRUFBRSxJQUFJLENBQUMsYUFBYTtpQkFDN0IsQ0FBQyxDQUFBO2FBQ0g7U0FDRjtJQUNILENBQUM7SUFFTyx1QkFBdUI7UUFDN0IsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLENBQUE7U0FDdkU7SUFDSCxDQUFDO0lBRU8sK0JBQStCO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3hCLE9BQU8sS0FBSyxDQUFBO1NBQ2I7UUFDRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLENBQUE7SUFDakYsQ0FBQztJQUVELElBQUksQ0FBQyxLQUE0QjtRQUMvQixJQUFJLEtBQUssQ0FBQyxpQkFBaUIsS0FBSyxLQUFLLENBQUMsU0FBUyxFQUFFO1lBQy9DLGVBQWUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQTtZQUM5RSxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQTtTQUNoRjthQUFNO1lBQ0wsaUJBQWlCLENBQ2YsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFDNUIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQ3BCLEtBQUssQ0FBQyxhQUFhLEVBQ25CLEtBQUssQ0FBQyxZQUFZLENBQ25CLENBQUE7WUFDRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQTtTQUNoRjtJQUNILENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFhLEVBQUUsSUFBMkI7UUFDNUQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFBO0lBQ3RCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxLQUFhLEVBQUUsTUFBcUM7UUFDcEUsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFBO0lBQ3RCLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFBO1FBQzlDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUE7SUFDM0IsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUEyQjtRQUNsQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzFDLENBQUM7O3NIQXJNVSx5QkFBeUIsMEhBOERkLHVCQUF1QjswR0E5RGxDLHlCQUF5QiwwUEFmekI7UUFDVDtZQUNFLE9BQU8sRUFBRSx1QkFBdUI7WUFDaEMsaURBQWlEO1lBQ2pELFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUM7U0FDekQ7UUFDRDtZQUNFLE9BQU8sRUFBRSxrQ0FBa0M7WUFDM0MsaURBQWlEO1lBQ2pELFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUM7U0FDekQ7S0FDRix1S0FrRGEsaUNBQWlDLHVFQUNqQyxPQUFPLGdEQ3pHdkIsazFEQXVDQTtBRHdDMkI7SUFBZixZQUFZLEVBQUU7bUVBQWtDOzJGQXJCL0MseUJBQXlCO2tCQW5CckMsU0FBUzsrQkFDRSx3QkFBd0IsYUFHdkI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLHVCQUF1Qjs0QkFDaEMsaURBQWlEOzRCQUNqRCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSwwQkFBMEIsQ0FBQzt5QkFDekQ7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGtDQUFrQzs0QkFDM0MsaURBQWlEOzRCQUNqRCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSwwQkFBMEIsQ0FBQzt5QkFDekQ7cUJBQ0YsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUk7OzBCQWdFbEMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyx1QkFBdUI7NENBL0N6QyxPQUFPO3NCQURWLEtBQUs7Z0JBT21CLGdCQUFnQjtzQkFBeEMsS0FBSztnQkFHRixpQkFBaUI7c0JBRHBCLEtBQUs7Z0JBUUYsVUFBVTtzQkFEYixLQUFLO2dCQU9GLE9BQU87c0JBRFYsS0FBSztnQkFVMkMsVUFBVTtzQkFBMUQsWUFBWTt1QkFBQyxpQ0FBaUM7Z0JBQ3hCLGlCQUFpQjtzQkFBdkMsWUFBWTt1QkFBQyxPQUFPO2dCQUV3QixhQUFhO3NCQUF6RCxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBS2pDLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgY29lcmNlTnVtYmVyUHJvcGVydHksIE51bWJlcklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJ1xuaW1wb3J0IHsgQ2RrRHJhZywgQ2RrRHJhZ0Ryb3AsIG1vdmVJdGVtSW5BcnJheSwgdHJhbnNmZXJBcnJheUl0ZW0gfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJ1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcydcbmltcG9ydCB7IGF1ZGl0VGltZSwgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmluYWxpemUsIG1hcCwgc2hhcmVSZXBsYXksIHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB0YWtlLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuXG5pbXBvcnQgeyBmYUxvY2ssIGZhVW5sb2NrIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJ1xuXG5pbXBvcnQgeyBJbnB1dEJvb2xlYW4gfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vY29yZSdcbmltcG9ydCB0eXBlIHsgSUVsZW1lbnRSZXNpemVkRXZlbnQgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vc2hhcmVkJ1xuaW1wb3J0IHsgVEhFU0VBTV9XSURHRVRfQUNDRVNTT1IgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vd2lkZ2V0J1xuXG5pbXBvcnQgdHlwZSB7IElUaGVTZWFtQmFzZUxheW91dFJlZiB9IGZyb20gJy4uLy4uL2Jhc2UtbGF5b3V0L2Jhc2UtbGF5b3V0LXJlZidcbmltcG9ydCB7IFRIRVNFQU1fQkFTRV9MQVlPVVRfUkVGIH0gZnJvbSAnLi4vLi4vYmFzZS1sYXlvdXQvYmFzZS1sYXlvdXQtdG9rZW5zJ1xuaW1wb3J0IHsgRGFzaGJvYXJkV2lkZ2V0Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vZGFzaGJvYXJkLXdpZGdldC1jb250YWluZXIvZGFzaGJvYXJkLXdpZGdldC1jb250YWluZXIuY29tcG9uZW50J1xuXG5pbXBvcnQgeyBEYXNoYm9hcmRXaWRnZXRzQWNjZXNzb3IsIFRIRVNFQU1fREFTSEJPQVJEX1dJREdFVFNfQUNDRVNTT1IgfSBmcm9tICcuLi9kYXNoYm9hcmQtd2lkZ2V0cy10b2tlbnMnXG5pbXBvcnQgdHlwZSB7IElEYXNoYm9hcmRXaWRnZXRzQ29sdW1uUmVjb3JkLCBJRGFzaGJvYXJkV2lkZ2V0c0l0ZW0sIElEYXNoYm9hcmRXaWRnZXRzSXRlbURlZiB9IGZyb20gJy4vZGFzaGJvYXJkLXdpZGdldHMtaXRlbSdcbmltcG9ydCB7IERhc2hib2FyZFdpZGdldHNTZXJ2aWNlIH0gZnJvbSAnLi9kYXNoYm9hcmQtd2lkZ2V0cy5zZXJ2aWNlJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZWFtLWRhc2hib2FyZC13aWRnZXRzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Rhc2hib2FyZC13aWRnZXRzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGFzaGJvYXJkLXdpZGdldHMuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogVEhFU0VBTV9XSURHRVRfQUNDRVNTT1IsXG4gICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tdXNlLWJlZm9yZS1kZWNsYXJlXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXNoYm9hcmRXaWRnZXRzQ29tcG9uZW50KVxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogVEhFU0VBTV9EQVNIQk9BUkRfV0lER0VUU19BQ0NFU1NPUixcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby11c2UtYmVmb3JlLWRlY2xhcmVcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERhc2hib2FyZFdpZGdldHNDb21wb25lbnQpXG4gICAgfSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgRGFzaGJvYXJkV2lkZ2V0c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0LCBEYXNoYm9hcmRXaWRnZXRzQWNjZXNzb3Ige1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfZ2FwU2l6ZTogTnVtYmVySW5wdXRcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX251bUNvbHVtbnM6IE51bWJlcklucHV0XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV93aWRnZXRzRHJhZ2dhYmxlOiBCb29sZWFuSW5wdXRcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2RyYWdUb2dnbGVWaXNpYmxlOiBCb29sZWFuSW5wdXRcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3dpZGdldHM6IElEYXNoYm9hcmRXaWRnZXRzSXRlbURlZltdIHwgdW5kZWZpbmVkIHwgbnVsbFxuXG4gIGZhTG9jayA9IGZhTG9ja1xuICBmYVVubG9jayA9IGZhVW5sb2NrXG5cbiAgcHVibGljIHJlYWRvbmx5IF9hY3Rpb25XaWRnZXREcmFnVG9nZ2xlTmFtZSA9ICd3aWRnZXQtZHJhZy10b2dnbGUnXG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KClcblxuICBASW5wdXQoKVxuICBnZXQgZ2FwU2l6ZSgpOiBudW1iZXIgeyByZXR1cm4gdGhpcy5fZ2FwU2l6ZS52YWx1ZSB9XG4gIHNldCBnYXBTaXplKHZhbDogbnVtYmVyKSB7XG4gICAgdGhpcy5fZ2FwU2l6ZS5uZXh0KGNvZXJjZU51bWJlclByb3BlcnR5KHZhbCkpXG4gIH1cbiAgcHJpdmF0ZSByZWFkb25seSBfZ2FwU2l6ZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigzMClcblxuICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgd2lkZ2V0c0RyYWdnYWJsZTogYm9vbGVhbiA9IGZhbHNlXG5cbiAgQElucHV0KClcbiAgZ2V0IGRyYWdUb2dnbGVWaXNpYmxlKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fZHJhZ1RvZ2dsZVZpc2libGUudmFsdWUgfVxuICBzZXQgZHJhZ1RvZ2dsZVZpc2libGUodmFsOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZHJhZ1RvZ2dsZVZpc2libGUubmV4dChjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsKSlcbiAgfVxuICBwcml2YXRlIF9kcmFnVG9nZ2xlVmlzaWJsZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSlcblxuICBASW5wdXQoKVxuICBnZXQgbnVtQ29sdW1ucygpOiBudW1iZXIgeyByZXR1cm4gdGhpcy5fZGFzaGJvYXJkV2lkZ2V0cy5udW1Db2x1bW5zIH1cbiAgc2V0IG51bUNvbHVtbnModmFsOiBudW1iZXIpIHtcbiAgICB0aGlzLl9kYXNoYm9hcmRXaWRnZXRzLm51bUNvbHVtbnMgPSBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWwpXG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgd2lkZ2V0cyh2YWx1ZTogSURhc2hib2FyZFdpZGdldHNJdGVtRGVmW10pIHsgdGhpcy5fZGFzaGJvYXJkV2lkZ2V0cy53aWRnZXRzID0gdmFsdWUgfHwgW10gfVxuICBnZXQgd2lkZ2V0cygpOiBJRGFzaGJvYXJkV2lkZ2V0c0l0ZW1EZWZbXSB7IHJldHVybiB0aGlzLl9kYXNoYm9hcmRXaWRnZXRzLndpZGdldHMgfVxuXG4gIHB1YmxpYyB3aWRnZXRJdGVtcyQ6IE9ic2VydmFibGU8SURhc2hib2FyZFdpZGdldHNJdGVtW10+XG4gIHB1YmxpYyB3aWRnZXRDb2x1bW5zJDogT2JzZXJ2YWJsZTxJRGFzaGJvYXJkV2lkZ2V0c0NvbHVtblJlY29yZFtdPlxuICBwdWJsaWMgY29udGFpbmVycyQ6IE9ic2VydmFibGU8RGFzaGJvYXJkV2lkZ2V0Q29udGFpbmVyQ29tcG9uZW50W10+XG5cbiAgcmVhZG9ubHkgX2dhcFN0eWxlU2l6ZSQ6IE9ic2VydmFibGU8bnVtYmVyPlxuXG4gIEBWaWV3Q2hpbGRyZW4oRGFzaGJvYXJkV2lkZ2V0Q29udGFpbmVyQ29tcG9uZW50KSBjb250YWluZXJzPzogUXVlcnlMaXN0PERhc2hib2FyZFdpZGdldENvbnRhaW5lckNvbXBvbmVudD5cbiAgQFZpZXdDaGlsZHJlbihDZGtEcmFnKSBjZGtEcmFnRGlyZWN0aXZlcz86IFF1ZXJ5TGlzdDxDZGtEcmFnPlxuXG4gIEBWaWV3Q2hpbGQoJ3RvZ2dsZUJ0blRwbCcsIHsgc3RhdGljOiB0cnVlIH0pIF90b2dnbGVCdG5UcGw/OiBUZW1wbGF0ZVJlZjxhbnk+XG5cbiAgcHJpdmF0ZSBfY29udGFpbmVycyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RGFzaGJvYXJkV2lkZ2V0Q29udGFpbmVyQ29tcG9uZW50W10+KFtdKVxuICBwcml2YXRlIF9sYXlvdXRDaGFuZ2UgPSBuZXcgU3ViamVjdDx2b2lkPigpXG5cbiAgQE91dHB1dCgpIHdpZGdldHNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPElEYXNoYm9hcmRXaWRnZXRzSXRlbVtdPigpXG5cbiAgcHJpdmF0ZSByZWFkb25seSBfd2lkdGhDaGFuZ2UgPSBuZXcgU3ViamVjdDxudW1iZXI+KClcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9kYXNoYm9hcmRXaWRnZXRzOiBEYXNoYm9hcmRXaWRnZXRzU2VydmljZSxcbiAgICBwcml2YXRlIF92aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChUSEVTRUFNX0JBU0VfTEFZT1VUX1JFRikgcHJpdmF0ZSBfYmFzZUxheW91dFJlZj86IElUaGVTZWFtQmFzZUxheW91dFJlZlxuICApIHtcbiAgICB0aGlzLmNvbnRhaW5lcnMkID0gdGhpcy5fY29udGFpbmVycy5hc09ic2VydmFibGUoKVxuXG4gICAgdGhpcy5fZ2FwU3R5bGVTaXplJCA9IHRoaXMuX2dhcFNpemUucGlwZShcbiAgICAgIGF1ZGl0VGltZSgwKSxcbiAgICAgIG1hcChzaXplID0+IHNpemUgLyAyKSxcbiAgICAgIHNoYXJlUmVwbGF5KHsgYnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IHRydWUgfSlcbiAgICApXG5cbiAgICB0aGlzLl93aWR0aENoYW5nZS5waXBlKFxuICAgICAgZGVib3VuY2VUaW1lKDMwKSxcbiAgICAgIHRhcCh3aWR0aCA9PiB7XG4gICAgICAgIGlmICh3aWR0aCA+IDEzMDApIHtcbiAgICAgICAgICB0aGlzLm51bUNvbHVtbnMgPSAzXG4gICAgICAgIH0gZWxzZSBpZiAod2lkdGggPiA4MDApIHtcbiAgICAgICAgICB0aGlzLm51bUNvbHVtbnMgPSAyXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5udW1Db2x1bW5zID0gMVxuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIHRha2VVbnRpbCh0aGlzLl9uZ1Vuc3Vic2NyaWJlKVxuICAgICkuc3Vic2NyaWJlKClcblxuICAgIHRoaXMud2lkZ2V0SXRlbXMkID0gdGhpcy5fZGFzaGJvYXJkV2lkZ2V0cy53aWRnZXRJdGVtcyRcbiAgICB0aGlzLndpZGdldENvbHVtbnMkID0gdGhpcy5fZGFzaGJvYXJkV2lkZ2V0cy53aWRnZXRDb2x1bW5zJFxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgLy8gdGhpcy5fZGFzaGJvYXJkV2lkZ2V0cy5zZXRWaWV3Q29udGFpbmVyUmVmKHRoaXMuX3ZpZXdDb250YWluZXJSZWYpXG5cbiAgICB0aGlzLl9sYXlvdXRDaGFuZ2UucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLndpZGdldEl0ZW1zJC5waXBlKFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgICB0YXAod2lkZ2V0SXRlbXMgPT4gdGhpcy53aWRnZXRzQ2hhbmdlLmVtaXQod2lkZ2V0SXRlbXMpKSxcbiAgICAgICAgLy8gbWFwKHdpZGdldEl0ZW1zID0+IHRoaXMuX2Rhc2hib2FyZFdpZGdldHMudG9TZXJpYWxpemVhYmxlSXRlbXMod2lkZ2V0SXRlbXMpKSxcbiAgICAgICAgLy8gdGFwKHYgPT4gY29uc29sZS5sb2coJ3NlcmlhbGl6YWJsZScsIHYpKSxcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuX2Rhc2hib2FyZFdpZGdldHMuc2F2ZVByZWZlcmVuY2VzKCkpXG4gICAgICApKSxcbiAgICAgIHRha2VVbnRpbCh0aGlzLl9uZ1Vuc3Vic2NyaWJlKVxuICAgICkuc3Vic2NyaWJlKClcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX3VucmVnaXN0ZXJUb2dnbGVBY3Rpb24oKVxuICAgIHRoaXMuX25nVW5zdWJzY3JpYmUubmV4dCh1bmRlZmluZWQpXG4gICAgdGhpcy5fbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpXG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKHRoaXMuX2Jhc2VMYXlvdXRSZWYpIHtcbiAgICAgIHRoaXMuX2RyYWdUb2dnbGVWaXNpYmxlLnBpcGUoXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIHRhcCh2aXNpYmxlID0+IHtcbiAgICAgICAgICBjb25zdCBpc1JlZ2lzdGVyZWQgPSB0aGlzLl9pc0FjdGlvblRvZ2dsZUFjdGlvblJlZ2lzdGVyZWQoKVxuICAgICAgICAgIGlmICh2aXNpYmxlICYmICFpc1JlZ2lzdGVyZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX3JlZ2lzdGVyVG9nZ2xlQWN0aW9uKClcbiAgICAgICAgICB9IGVsc2UgaWYgKCF2aXNpYmxlICYmIGlzUmVnaXN0ZXJlZCkge1xuICAgICAgICAgICAgdGhpcy5fdW5yZWdpc3RlclRvZ2dsZUFjdGlvbigpXG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX25nVW5zdWJzY3JpYmUpXG4gICAgICApLnN1YnNjcmliZSgpXG4gICAgfVxuXG4gICAgdGhpcy5jb250YWluZXJzPy5jaGFuZ2VzLnBpcGUoXG4gICAgICBzdGFydFdpdGgodW5kZWZpbmVkKSxcbiAgICAgIG1hcCgoKSA9PiB0aGlzLmNvbnRhaW5lcnM/LnRvQXJyYXkoKSB8fCBbXSksXG4gICAgICB0YWtlVW50aWwodGhpcy5fbmdVbnN1YnNjcmliZSksXG4gICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLl9jb250YWluZXJzLm5leHQoW10pKVxuICAgICkuc3Vic2NyaWJlKHYgPT4gdGhpcy5fY29udGFpbmVycy5uZXh0KHYpKVxuICB9XG5cbiAgcHJpdmF0ZSBfcmVnaXN0ZXJUb2dnbGVBY3Rpb24oKSB7XG4gICAgaWYgKHRoaXMuX2Jhc2VMYXlvdXRSZWYpIHtcbiAgICAgIC8vIFRoaXMgc2hvdWxkIHByb2JhYmx5IHVzZSBhIGNvbXBvbmVudCBkeW5hbWljYWxseSBjcmVhdGVkIGZyb20gdGhlXG4gICAgICAvLyBjb25maWcgYW5kIHJldHVybiBhIHJlZiB0byBpdCwgaW5zdGVhZCBvZiB1c2luZyBhIHRlbXBsYXRlLlxuICAgICAgaWYgKHRoaXMuX3RvZ2dsZUJ0blRwbCkge1xuICAgICAgICB0aGlzLl9iYXNlTGF5b3V0UmVmLnJlZ2lzdGVyQWN0aW9uKHtcbiAgICAgICAgICAvLyB0eXBlOiAnYnV0dG9uJyxcbiAgICAgICAgICB0eXBlOiAndGVtcGxhdGUnLFxuICAgICAgICAgIG5hbWU6IHRoaXMuX2FjdGlvbldpZGdldERyYWdUb2dnbGVOYW1lLFxuICAgICAgICAgIGxhYmVsOiAnVG9nZ2xlIFdpZGdldCBEcmFnZ2luZycsXG4gICAgICAgICAgLy8gZXhlYzogKCkgPT4ge1xuICAgICAgICAgIC8vICAgY29uc29sZS5sb2coJ3RvZ2dsZScpXG4gICAgICAgICAgLy8gfSxcbiAgICAgICAgICB0ZW1wbGF0ZTogdGhpcy5fdG9nZ2xlQnRuVHBsXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfdW5yZWdpc3RlclRvZ2dsZUFjdGlvbigpIHtcbiAgICBpZiAodGhpcy5fYmFzZUxheW91dFJlZikge1xuICAgICAgdGhpcy5fYmFzZUxheW91dFJlZi51bnJlZ2lzdGVyQWN0aW9uKHRoaXMuX2FjdGlvbldpZGdldERyYWdUb2dnbGVOYW1lKVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzQWN0aW9uVG9nZ2xlQWN0aW9uUmVnaXN0ZXJlZCgpIHtcbiAgICBpZiAoIXRoaXMuX2Jhc2VMYXlvdXRSZWYpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fYmFzZUxheW91dFJlZi5pc0FjdGlvblJlZ2lzdGVyZWQodGhpcy5fYWN0aW9uV2lkZ2V0RHJhZ1RvZ2dsZU5hbWUpXG4gIH1cblxuICBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxzdHJpbmdbXT4pIHtcbiAgICBpZiAoZXZlbnQucHJldmlvdXNDb250YWluZXIgPT09IGV2ZW50LmNvbnRhaW5lcikge1xuICAgICAgbW92ZUl0ZW1JbkFycmF5KGV2ZW50LmNvbnRhaW5lci5kYXRhLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpXG4gICAgICB0aGlzLl9kYXNoYm9hcmRXaWRnZXRzLnVwZGF0ZU9yZGVyKCkuc3Vic2NyaWJlKCgpID0+IHRoaXMuX2xheW91dENoYW5nZS5uZXh0KCkpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRyYW5zZmVyQXJyYXlJdGVtKFxuICAgICAgICBldmVudC5wcmV2aW91c0NvbnRhaW5lci5kYXRhLFxuICAgICAgICBldmVudC5jb250YWluZXIuZGF0YSxcbiAgICAgICAgZXZlbnQucHJldmlvdXNJbmRleCxcbiAgICAgICAgZXZlbnQuY3VycmVudEluZGV4XG4gICAgICApXG4gICAgICB0aGlzLl9kYXNoYm9hcmRXaWRnZXRzLnVwZGF0ZU9yZGVyKCkuc3Vic2NyaWJlKCgpID0+IHRoaXMuX2xheW91dENoYW5nZS5uZXh0KCkpXG4gICAgfVxuICB9XG5cbiAgX2NvbnRhaW5lclRyYWNrQnlGbihpbmRleDogbnVtYmVyLCBpdGVtOiBJRGFzaGJvYXJkV2lkZ2V0c0l0ZW0pIHtcbiAgICByZXR1cm4gaXRlbS53aWRnZXRJZFxuICB9XG5cbiAgX2NvbHVtbnNUcmFja0J5Rm4oaW5kZXg6IG51bWJlciwgcmVjb3JkOiBJRGFzaGJvYXJkV2lkZ2V0c0NvbHVtblJlY29yZCkge1xuICAgIHJldHVybiByZWNvcmQuY29sdW1uXG4gIH1cblxuICB0b2dnbGVEcmFnZ2luZygpIHtcbiAgICB0aGlzLndpZGdldHNEcmFnZ2FibGUgPSAhdGhpcy53aWRnZXRzRHJhZ2dhYmxlXG4gICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKVxuICB9XG5cbiAgX3Jlc2l6ZWQoZXZlbnQ6IElFbGVtZW50UmVzaXplZEV2ZW50KSB7XG4gICAgdGhpcy5fd2lkdGhDaGFuZ2UubmV4dChldmVudC5zaXplLndpZHRoKVxuICB9XG5cbn1cbiIsIjwhLS1cbiAgVGhpcyBpcyBhbiB1Z2x5IHRyaWNrIEkgYW0gdXNpbmcgdG8gcmVuZGVyIHRoZSBjb21wb25lbnQgaW50byBhbiA8bmctY29udGVudD5cbiAgd3JhcHBlZCBpbiBhbiA8bmctdGVtcGxhdGU+IHRvIG1vdmUgdGhlIGNvbXBvbmVudCB0byBkaWZmZXJlbnQgb3V0bGV0cyB3aXRob3V0XG4gIHJlaW5pdGlhbGl6aW5nIGl0LiBUaGlzIHdheSB0aGUgd2lkZ2V0IHdvbid0IHJlbG9hZCB3aGVuIG1vdmluZyBiZXR3ZWVuXG4gIGNvbHVtbnMuIFdoZW4gSSByZW1lbWJlciBob3cgSSBwcm9ncmFtYXRpY2FsbHkgZGlkIHRoaXMgSSB3aWxsIHJlbW92ZSB0aGlzXG4gIHdlaXJkbmVzcy5cbiAtLT5cbiA8c2VhbS1kYXNoYm9hcmQtd2lkZ2V0LWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiB3aWRnZXRJdGVtcyQgfCBhc3luYzsgdHJhY2tCeTogX2NvbnRhaW5lclRyYWNrQnlGblwiIFtkZWZdPVwiJGFueShpdGVtKVwiPlxuICA8IS0tIDxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cIml0ZW0ucG9ydGFsXCI+PC9uZy10ZW1wbGF0ZT4gLS0+XG4gIDxuZy10ZW1wbGF0ZSBbc2VhbURhc2hib2FyZFdpZGdldFBvcnRhbE91dGxldF09XCJpdGVtLnBvcnRhbFwiPjwvbmctdGVtcGxhdGU+XG48L3NlYW0tZGFzaGJvYXJkLXdpZGdldC1jb250YWluZXI+XG5cbjxkaXYgY2xhc3M9XCJkYXNoYm9hcmQtd2lkZ2V0cy1iYXNlIGQtZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWNvbnRlbnQtYXJvdW5kXCJcbiAgc3R5bGU9XCJmbGV4OiAxNDEwcHg7XCJcbiAgW3N0eWxlLnBhZGRpbmcucHhdPVwiX2dhcFN0eWxlU2l6ZSQgfCBhc3luY1wiXG4gIChzZWFtRWxlbVJlc2l6ZWQpPVwiX3Jlc2l6ZWQoJGV2ZW50KVwiXG4gIGNka0Ryb3BMaXN0R3JvdXA+XG4gIDxkaXYgKm5nRm9yPVwibGV0IGNvbCBvZiB3aWRnZXRDb2x1bW5zJCB8IGFzeW5jOyB0cmFja0J5OiBfY29sdW1uc1RyYWNrQnlGblwiXG4gICAgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZmxleC1ncm93LTEgZGFzaGJvYXJkLXdpZGdldHMtbGlzdFwiXG4gICAgY2RrRHJvcExpc3RcbiAgICBbY2RrRHJvcExpc3REYXRhXT1cImNvbC5pdGVtc1wiXG4gICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRhbnkoJGV2ZW50KSlcIj5cbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIGNvbC5pdGVtczsgdHJhY2tCeTogX2NvbnRhaW5lclRyYWNrQnlGblwiXG4gICAgICBjbGFzcz1cImRhc2hib2FyZC13aWRnZXRzLWxpc3QtaXRlbVwiXG4gICAgICBbYXR0ci5kYXRhLXdpZGdldC1pZF09XCJpdGVtLndpZGdldElkXCJcbiAgICAgIGNka0RyYWdcbiAgICAgIFtjZGtEcmFnRGlzYWJsZWRdPVwiIXdpZGdldHNEcmFnZ2FibGVcIj5cbiAgICAgIDxkaXYgW3N0eWxlLm1hcmdpbi5weF09XCJfZ2FwU3R5bGVTaXplJCB8IGFzeW5jXCI+XG4gICAgICAgIDxzZWFtLWRhc2hib2FyZC13aWRnZXQtdGVtcGxhdGUtY29udGFpbmVyIFtpdGVtXT1cIml0ZW1cIj48L3NlYW0tZGFzaGJvYXJkLXdpZGdldC10ZW1wbGF0ZS1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICN0b2dnbGVCdG5UcGw+XG4gIDxidXR0b24gc2VhbUJ1dHRvbiB0aGVtZT1cImJhc2VsYXlvdXQtYWN0aW9uXCIgdGl0bGU9XCJ7eyB3aWRnZXRzRHJhZ2dhYmxlID8gJ0xvY2sgdGhlIERhc2hib2FyZCcgOiAnTW9kaWZ5IERhc2hib2FyZCcgfX1cIiAoY2xpY2spPVwidG9nZ2xlRHJhZ2dpbmcoKVwiPlxuICAgIDxzZWFtLWljb24gW2ljb25dPVwid2lkZ2V0c0RyYWdnYWJsZSA/IGZhVW5sb2NrIDogZmFMb2NrXCI+PC9zZWFtLWljb24+XG4gIDwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -7,6 +7,14 @@ import * as i0 from "@angular/core";
7
7
  import * as i1 from "@theseam/ui-common/dynamic-component-loader";
8
8
  import * as i2 from "./dashboard-widgets-preferences.service";
9
9
  export class DashboardWidgetsService {
10
+ get widgets() { return this._widgets.value; }
11
+ set widgets(value) { this._widgets.next(value); }
12
+ get numColumns() { return this._numColumns.value; }
13
+ set numColumns(value) {
14
+ if (value !== this._numColumns.value) {
15
+ this._numColumns.next(value);
16
+ }
17
+ }
10
18
  constructor(_dynamicComponentLoaderModule, _preferences) {
11
19
  this._dynamicComponentLoaderModule = _dynamicComponentLoaderModule;
12
20
  this._preferences = _preferences;
@@ -32,14 +40,6 @@ export class DashboardWidgetsService {
32
40
  this.widgetColumns$ = this.widgetItems$
33
41
  .pipe(map(items => this.toColumnRecords(items)), shareReplay({ bufferSize: 1, refCount: true }));
34
42
  }
35
- get widgets() { return this._widgets.value; }
36
- set widgets(value) { this._widgets.next(value); }
37
- get numColumns() { return this._numColumns.value; }
38
- set numColumns(value) {
39
- if (value !== this._numColumns.value) {
40
- this._numColumns.next(value);
41
- }
42
- }
43
43
  _layoutName(numColumns) {
44
44
  return `columns-${numColumns}`;
45
45
  }
@@ -159,12 +159,12 @@ export class DashboardWidgetsService {
159
159
  }), mapTo(undefined));
160
160
  }
161
161
  }
162
- DashboardWidgetsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DashboardWidgetsService, deps: [{ token: i1.TheSeamDynamicComponentLoader }, { token: i2.DashboardWidgetsPreferencesService }], target: i0.ɵɵFactoryTarget.Injectable });
163
- DashboardWidgetsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DashboardWidgetsService, providedIn: 'root' });
164
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DashboardWidgetsService, decorators: [{
162
+ DashboardWidgetsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: DashboardWidgetsService, deps: [{ token: i1.TheSeamDynamicComponentLoader }, { token: i2.DashboardWidgetsPreferencesService }], target: i0.ɵɵFactoryTarget.Injectable });
163
+ DashboardWidgetsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: DashboardWidgetsService, providedIn: 'root' });
164
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: DashboardWidgetsService, decorators: [{
165
165
  type: Injectable,
166
166
  args: [{
167
167
  providedIn: 'root'
168
168
  }]
169
169
  }], ctorParameters: function () { return [{ type: i1.TheSeamDynamicComponentLoader }, { type: i2.DashboardWidgetsPreferencesService }]; } });
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLXdpZGdldHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9mcmFtZXdvcmsvZGFzaGJvYXJkL2Rhc2hib2FyZC13aWRnZXRzL2Rhc2hib2FyZC13aWRnZXRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFvQixNQUFNLGVBQWUsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDckUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBR3pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFBOzs7O0FBYTdELE1BQU0sT0FBTyx1QkFBdUI7SUEyQmxDLFlBQ21CLDZCQUE0RCxFQUM1RCxZQUFnRDtRQURoRCxrQ0FBNkIsR0FBN0IsNkJBQTZCLENBQStCO1FBQzVELGlCQUFZLEdBQVosWUFBWSxDQUFvQztRQTNCbkQsa0JBQWEsR0FBVyxtQkFBbUIsQ0FBQTtRQUUzQyxzQkFBaUIsR0FBVyxDQUFDLENBQUE7UUFFN0MsZ0ZBQWdGO1FBQ2hFLGtCQUFhLEdBQVcsQ0FBQyxDQUFBO1FBSWpDLGFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBNkIsRUFBRSxDQUFDLENBQUE7UUFROUQsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBUyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtRQU14RCw2QkFBd0IsR0FBRyxJQUFJLGVBQWUsQ0FBK0IsU0FBUyxDQUFDLENBQUE7UUFNdEcsSUFBSSxDQUFDLFdB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YXIvY2RrL3BvcnRhbCdcbmltcG9ydCB7IEluamVjdGFibGUsIGlzRGV2TW9kZSwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IGF1ZGl0VGltZSwgbWFwLCBtYXBUbywgc2hhcmVSZXBsYXksIHN3aXRjaE1hcCwgdGFrZSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5cbmltcG9ydCB7IFRoZVNlYW1EeW5hbWljQ29tcG9uZW50TG9hZGVyIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2R5bmFtaWMtY29tcG9uZW50LWxvYWRlcidcbmltcG9ydCB7IG5vdE51bGxPclVuZGVmaW5lZCB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi91dGlscydcblxuaW1wb3J0IHtcbiAgSURhc2hib2FyZFdpZGdldEl0ZW1MYXlvdXRQcmVmZXJlbmNlLFxuICBJRGFzaGJvYXJkV2lkZ2V0c0NvbHVtblJlY29yZCxcbiAgSURhc2hib2FyZFdpZGdldHNJdGVtLFxuICBJRGFzaGJvYXJkV2lkZ2V0c0l0ZW1EZWZcbn0gZnJvbSAnLi9kYXNoYm9hcmQtd2lkZ2V0cy1pdGVtJ1xuaW1wb3J0IHsgRGFzaGJvYXJkV2lkZ2V0c1ByZWZlcmVuY2VzU2VydmljZSB9IGZyb20gJy4vZGFzaGJvYXJkLXdpZGdldHMtcHJlZmVyZW5jZXMuc2VydmljZSdcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRGFzaGJvYXJkV2lkZ2V0c1NlcnZpY2Uge1xuXG4gIHB1YmxpYyByZWFkb25seSBwcmVmZXJlbmNlS2V5OiBzdHJpbmcgPSAnZGF0YXRhYmxlLXdpZGdldHMnXG5cbiAgcHVibGljIHJlYWRvbmx5IGRlZmF1bHROdW1Db2x1bW5zOiBudW1iZXIgPSAzXG5cbiAgLyoqIFVzZWQgZm9yIG9wZXJhdGlvbnMsIHN1Y2ggYXMgJ2FkZFdpZGdldCcsIGlmIHRoZSBjb2x1bW4gaXMgbm90IHNwZWNpZmllZC4gKi9cbiAgcHVibGljIHJlYWRvbmx5IGRlZmF1bHRDb2x1bW46IG51bWJlciA9IDBcblxuICBnZXQgd2lkZ2V0cygpOiBJRGFzaGJvYXJkV2lkZ2V0c0l0ZW1EZWZbXSB7IHJldHVybiB0aGlzLl93aWRnZXRzLnZhbHVlIH1cbiAgc2V0IHdpZGdldHModmFsdWU6IElEYXNoYm9hcmRXaWRnZXRzSXRlbURlZltdKSB7IHRoaXMuX3dpZGdldHMubmV4dCh2YWx1ZSkgfVxuICBwcml2YXRlIF93aWRnZXRzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJRGFzaGJvYXJkV2lkZ2V0c0l0ZW1EZWZbXT4oW10pXG5cbiAgZ2V0IG51bUNvbHVtbnMoKTogbnVtYmVyIHsgcmV0dXJuIHRoaXMuX251bUNvbHVtbnMudmFsdWUgfVxuICBzZXQgbnVtQ29sdW1ucyh2YWx1ZTogbnVtYmVyKSB7XG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLl9udW1Db2x1bW5zLnZhbHVlKSB7XG4gICAgICB0aGlzLl9udW1Db2x1bW5zLm5leHQodmFsdWUpXG4gICAgfVxuICB9XG4gIHByaXZhdGUgX251bUNvbHVtbnMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4odGhpcy5kZWZhdWx0TnVtQ29sdW1ucylcblxuICBwdWJsaWMgcmVhZG9ubHkgbnVtQ29sdW1ucyQ6IE9ic2VydmFibGU8bnVtYmVyPlxuICBwdWJsaWMgcmVhZG9ubHkgd2lkZ2V0SXRlbXMkOiBPYnNlcnZhYmxlPElEYXNoYm9hcmRXaWRnZXRzSXRlbVtdPlxuICBwdWJsaWMgcmVhZG9ubHkgd2lkZ2V0Q29sdW1ucyQ6IE9ic2VydmFibGU8SURhc2hib2FyZFdpZGdldHNDb2x1bW5SZWNvcmRbXT5cblxuICBwcml2YXRlIHJlYWRvbmx5IF92aWV3Q29udGFpbmVyUmVmU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Vmlld0NvbnRhaW5lclJlZiB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2R5bmFtaWNDb21wb25lbnRMb2FkZXJNb2R1bGU6IFRoZVNlYW1EeW5hbWljQ29tcG9uZW50TG9hZGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3ByZWZlcmVuY2VzOiBEYXNoYm9hcmRXaWRnZXRzUHJlZmVyZW5jZXNTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMubnVtQ29sdW1ucyQgPSB0aGlzLl9udW1Db2x1bW5zLmFzT2JzZXJ2YWJsZSgpXG5cbiAgICAvLyBXaWRnZXQgaXRlbXMgd2l0aG91dCBwcmVmZXJlbmNlc1xuICAgIGNvbnN0IF93aWRnZXRJdGVtcyQgPSBjb21iaW5lTGF0ZXN0KFsgdGhpcy5fd2lkZ2V0cywgdGhpcy5fdmlld0NvbnRhaW5lclJlZlN1YmplY3QgXSlcbiAgICAgIC5waXBlKHN3aXRjaE1hcCgoWyBkZWZzLCB2Y3IgXSkgPT4gdGhpcy5jcmVhdGVXaWRnZXRJdGVtcyhkZWZzLCB2Y3IpKSlcblxuICAgIC8vIFdpZGdldCBpdGVtcyB3aXRoIHByZWZlcmVuY2VzXG4gICAgdGhpcy53aWRnZXRJdGVtcyQgPSBjb21iaW5lTGF0ZXN0KFsgX3dpZGdldEl0ZW1zJCwgdGhpcy5udW1Db2x1bW5zJCBdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIC8vIFdhaXQgdW50aWwgdGhlIGN1cnJlbnQgdGljayBpcyBkb25lLCBpbmNhc2UgYm90aCB0aGUgd2lkZ2V0cyBhbmRcbiAgICAgICAgLy8gbnVtYmVyIG9mIGNvbHVtbnMgYXJlIHNldCBkdXJyaW5nIHRoZSBzYW1lIHRpY2suIFdpdGhvdXQgdGhlIGF1ZGl0LFxuICAgICAgICAvLyB0aGlzIHdvdWxkIGdldCBjYWxsZWQgdHdpY2Ugd2hlbiB0aGUgY29tcG9uZW50IGlzIGluaXRpYWxpemVkIHdpdGhcbiAgICAgICAgLy8gYm90aCBpbnB1dHMgc2V0IG9uZSBhZnRlciB0aGUgb3RoZXIgaW5kaXZpZHVhbGx5LlxuICAgICAgICBhdWRpdFRpbWUoMCksXG4gICAgICAgIHN3aXRjaE1hcCgoWyBpdGVtcywgbnVtQ29sdW1ucyBdKSA9PlxuICAgICAgICAgIHRoaXMuX3ByZWZlcmVuY2VzLnNlbGVjdExheW91dCh0aGlzLnByZWZlcmVuY2VLZXksIHRoaXMuX2xheW91dE5hbWUobnVtQ29sdW1ucykpLnBpcGUoXG4gICAgICAgICAgICBtYXAobGF5b3V0ID0+IGxheW91dCA/IHRoaXMud2l0aExheW91dFByZWZlcmVuY2VzKGl0ZW1zLCBsYXlvdXQpIDogaXRlbXMpXG4gICAgICAgICAgKVxuICAgICAgICApLFxuICAgICAgICBzaGFyZVJlcGxheSh7IGJ1ZmZlclNpemU6IDEsIHJlZkNvdW50OiB0cnVlIH0pXG4gICAgICApXG5cbiAgICB0aGlzLndpZGdldENvbHVtbnMkID0gdGhpcy53aWRnZXRJdGVtcyRcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoaXRlbXMgPT4gdGhpcy50b0NvbHVtblJlY29yZHMoaXRlbXMpKSxcbiAgICAgICAgc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogdHJ1ZSB9KVxuICAgICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBfbGF5b3V0TmFtZShudW1Db2x1bW5zOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIHJldHVybiBgY29sdW1ucy0ke251bUNvbHVtbnN9YFxuICB9XG5cbiAgcHVibGljIHNldFZpZXdDb250YWluZXJSZWYodmNyOiBWaWV3Q29udGFpbmVyUmVmIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fdmlld0NvbnRhaW5lclJlZlN1YmplY3QubmV4dCh2Y3IpXG4gIH1cblxuICBwdWJsaWMgY3JlYXRlV2lkZ2V0SXRlbXMoZGVmczogSURhc2hib2FyZFdpZGdldHNJdGVtRGVmW10sIHZjcj86IFZpZXdDb250YWluZXJSZWYpOiBPYnNlcnZhYmxlPElEYXNoYm9hcmRXaWRnZXRzSXRlbVtdPiB7XG4gICAgY29uc3QgX2NyZWF0ZU9ic2VydmFibGVzID0gKGRlZnMgfHwgW10pLm1hcChkID0+IHRoaXMuY3JlYXRlV2lkZ2V0SXRlbShkLCB2Y3IpKVxuICAgIGNvbnN0IGl0ZW1zJCA9IF9jcmVhdGVPYnNlcnZhYmxlcy5sZW5ndGggPiAwID8gY29tYmluZUxhdGVzdChfY3JlYXRlT2JzZXJ2YWJsZXMpIDogb2YoW10pXG4gICAgcmV0dXJuIGl0ZW1zJC5waXBlKFxuICAgICAgbWFwKGl0ZW1zID0+IGl0ZW1zLmZpbHRlcihub3ROdWxsT3JVbmRlZmluZWQpKSxcbiAgICAgIHRhcChpdGVtcyA9PiB7XG4gICAgICAgIGlmIChpc0Rldk1vZGUoKSkge1xuICAgICAgICAgIGNvbnN0IGlkczogc3RyaW5nW10gPSBpdGVtcy5tYXAodiA9PiB2LndpZGdldElkKVxuICAgICAgICAgIGlmICgobmV3IFNldChpZHMpKS5zaXplICE9PSBpZHMubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYFtEYXNoYm9hcmRXaWRnZXRzU2VydmljZV0gRHVwbGljYXRlIHdpZGdldCdzIHdpdGggdGhlIHNhbWUgJ3dpZGdldElkJyBmb3VuZC5gKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApXG4gIH1cblxuICBwdWJsaWMgY3JlYXRlV2lkZ2V0SXRlbShkZWY6IElEYXNoYm9hcmRXaWRnZXRzSXRlbURlZiwgdmNyPzogVmlld0NvbnRhaW5lclJlZik6IE9ic2VydmFibGU8SURhc2hib2FyZFdpZGdldHNJdGVtIHwgdW5kZWZpbmVkPiB7XG4gICAgaWYgKCFkZWYud2lkZ2V0SWQgfHwgdHlwZW9mIGRlZi53aWRnZXRJZCAhPT0gJ3N0cmluZycgfHwgZGVmLndpZGdldElkLmxlbmd0aCA8IDEpIHtcbiAgICAgIGlmIChpc0Rldk1vZGUoKSkge1xuICAgICAgICBjb25zb2xlLndhcm4oYFtEYXNoYm9hcmRXaWRnZXRzU2VydmljZV0gV2lkZ2V0IGlnbm9yZWQuIEFsbCB3aWRnZXRzIG11c3QgaGF2ZSBhICd3aWRnZXRJZCcuYCwgZGVmKVxuICAgICAgfVxuICAgICAgcmV0dXJuIG9mKHVuZGVmaW5lZClcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jcmVhdGVXaWRnZXRQb3J0YWwoZGVmLCB2Y3IpLnBpcGUoXG4gICAgICBtYXAocG9ydGFsID0+ICh7XG4gICAgICAgIC4uLmRlZixcbiAgICAgICAgY29sOiBkZWYuY29sIHx8IHRoaXMuZGVmYXVsdENvbHVtbixcbiAgICAgICAgb3JkZXI6IGRlZi5vcmRlciB8fCAwLFxuICAgICAgICBwb3J0YWwsXG4gICAgICAgIF9faXRlbURlZjogZGVmXG4gICAgICB9KSlcbiAgICApXG4gIH1cblxuICBwdWJsaWMgY3JlYXRlV2lkZ2V0UG9ydGFsKGRlZjogSURhc2hib2FyZFdpZGdldHNJdGVtRGVmLCB2Y3I/OiBWaWV3Q29udGFpbmVyUmVmKTogT2JzZXJ2YWJsZTxDb21wb25lbnRQb3J0YWw8YW55Pj4ge1xuICAgIGlmICh0eXBlb2YgZGVmLmNvbXBvbmVudCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiB0aGlzLl9keW5hbWljQ29tcG9uZW50TG9hZGVyTW9kdWxlXG4gICAgICAgIC5nZXRDb21wb25lbnRGYWN0b3J5KGRlZi5jb21wb25lbnQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcChjb21wb25lbnRGYWN0b3J5ID0+IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgQ29tcG9uZW50UG9ydGFsKFxuICAgICAgICAgICAgICBjb21wb25lbnRGYWN0b3J5LmNvbXBvbmVudFR5cGUsXG4gICAgICAgICAgICAgIHZjcixcbiAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAoPGFueSAvKiBDb21wb25lbnRGYWN0b3J5Qm91bmRUb01vZHVsZSAqLz5jb21wb25lbnRGYWN0b3J5KS5uZ01vZHVsZS5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJcbiAgICAgICAgICAgIClcbiAgICAgICAgICB9KSxcbiAgICAgICAgICB0YWtlKDEpXG4gICAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gZGVmLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlclxuICAgICAgPyBvZihuZXcgQ29tcG9uZW50UG9ydGFsKGRlZi5jb21wb25lbnQsIHZjciwgdW5kZWZpbmVkLCBkZWYuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyKSlcbiAgICAgIDogb2YobmV3IENvbXBvbmVudFBvcnRhbChkZWYuY29tcG9uZW50LCB2Y3IpKVxuICB9XG5cbiAgcHVibGljIHVwZGF0ZU9yZGVyKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLndpZGdldENvbHVtbnMkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgdGFwKGNvbHVtbnMgPT4gY29sdW1ucy5mb3JFYWNoKGNvbCA9PiB7XG4gICAgICAgICAgbGV0IGkgPSAwXG4gICAgICAgICAgY29sLml0ZW1zLmZvckVhY2goaXRtID0+IGl0bS5vcmRlciA9IGkrKylcbiAgICAgICAgfSkpLFxuICAgICAgICBtYXBUbyh1bmRlZmluZWQpXG4gICAgICApXG4gIH1cblxuICBwdWJsaWMgdG9Db2x1bW5SZWNvcmRzKGl0ZW1zOiBJRGFzaGJvYXJkV2lkZ2V0c0l0ZW1bXSk6IElEYXNoYm9hcmRXaWRnZXRzQ29sdW1uUmVjb3JkW10ge1xuICAgIGxldCBjb2x1bW5zOiBJRGFzaGJvYXJkV2lkZ2V0c0NvbHVtblJlY29yZFtdID0gW11cblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5udW1Db2x1bW5zOyBpKyspIHtcbiAgICAgIGNvbHVtbnMucHVzaCh7IGNvbHVtbjogaSwgaXRlbXM6IFtdIH0pXG4gICAgfVxuXG4gICAgY29uc3QgY29sTm90Rm91bmQ6IElEYXNoYm9hcmRXaWRnZXRzSXRlbVtdID0gW11cblxuICAgIC8vIERpc3RyaWJ1dGUgaXRlbXMgaW50byBjb2x1bW5zXG4gICAgZm9yIChjb25zdCBpdGVtIG9mIGl0ZW1zKSB7XG4gICAgICBjb25zdCBjb2w6IElEYXNoYm9hcmRXaWRnZXRzQ29sdW1uUmVjb3JkIHwgdW5kZWZpbmVkID0gY29sdW1ucy5maW5kKGMgPT4gYy5jb2x1bW4gPT09IGl0ZW0uY29sKVxuICAgICAgaWYgKCFjb2wpIHtcbiAgICAgICAgLy8gY29sdW1ucy5wdXNoKHsgY29sdW1uOiBpdGVtLmNvbCwgaXRlbXM6IFsgaXRlbSBdIH0pXG4gICAgICAgIC8vIGlmIChpdGVtLmNvbCA8IDApIHtcbiAgICAgICAgLy8gICBjb25zdCBjb2wwOiBJRGFzaGJvYXJkV2lkZ2V0c0NvbHVtblJlY29yZCB8IHVuZGVmaW5lZCA9IGNvbHVtbnMuZmluZChjID0+IGMuY29sdW1uID09PSAwKVxuICAgICAgICAvLyAgIGlmIChjb2wwKSB7XG4gICAgICAgIC8vICAgICBjb2wwLml0ZW1zLnB1c2goaXRlbSlcbiAgICAgICAgLy8gICB9XG4gICAgICAgIC8vIH0gZWxzZSBpZiAoaXRlbS5jb2wgPiB0aGlzLm51bUNvbHVtbnMgLSAxKSB7XG4gICAgICAgIC8vICAgY29uc3QgY29sTWF4OiBJRGFzaGJvYXJkV2lkZ2V0c0NvbHVtblJlY29yZCB8IHVuZGVmaW5lZCA9IGNvbHVtbnMuZmluZChjID0+IGMuY29sdW1uID09PSB0aGlzLm51bUNvbHVtbnMgLSAxKVxuICAgICAgICAvLyAgIGlmIChjb2xNYXgpIHtcbiAgICAgICAgLy8gICAgIGNvbE1heC5pdGVtcy5wdXNoKGl0ZW0pXG4gICAgICAgIC8vICAgfVxuICAgICAgICAvLyB9XG4gICAgICAgIGNvbE5vdEZvdW5kLnB1c2goaXRlbSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbC5pdGVtcy5wdXNoKGl0ZW0pXG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb2xOb3RGb3VuZC5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgaXRlbSA9IGNvbE5vdEZvdW5kW2ldXG5cbiAgICAgIGNvbnN0IGNvbDogSURhc2hib2FyZFdpZGdldHNDb2x1bW5SZWNvcmQgfCB1bmRlZmluZWQgPSBjb2x1bW5zXG4gICAgICAgIC5maW5kKGMgPT4gYy5jb2x1bW4gPT09IGkgJSB0aGlzLm51bUNvbHVtbnMpXG5cbiAgICAgIGlmIChjb2wpIHtcbiAgICAgICAgY29sLml0ZW1zLnB1c2goaXRlbSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTb3J0IGNvbHVtbnNcbiAgICBjb2x1bW5zID0gY29sdW1ucy5zb3J0KChhLCBiKSA9PiBhLmNvbHVtbiAtIGIuY29sdW1uKVxuXG4gICAgLy8gU29ydCBjb2x1bW5zIGl0ZW1zXG4gICAgY29sdW1ucy5mb3JFYWNoKGNvbCA9PiBjb2wuaXRlbXMuc29ydCgoYSwgYikgPT4gYS5vcmRlciAtIGIub3JkZXIpKVxuXG4gICAgcmV0dXJuIGNvbHVtbnNcbiAgfVxuXG4gIHB1YmxpYyB3aXRoTGF5b3V0UHJlZmVyZW5jZXMoaXRlbXM6IElEYXNoYm9hcmRXaWRnZXRzSXRlbVtdLCBsYXlvdXQ6IElEYXNoYm9hcmRXaWRnZXRJdGVtTGF5b3V0UHJlZmVyZW5jZSk6IElEYXNoYm9hcmRXaWRnZXRzSXRlbVtdIHtcbiAgICBjb25zdCBfaXRlbXM6IElEYXNoYm9hcmRXaWRnZXRzSXRlbVtdID0gW11cblxuICAgIGZvciAoY29uc3QgaXRlbSBvZiBpdGVtcykge1xuICAgICAgY29uc3QgaXRlbVByZWYgPSBsYXlvdXQuaXRlbXMuZmluZCh4ID0+IHgud2lkZ2V0SWQgPT09IGl0ZW0ud2lkZ2V0SWQpXG4gICAgICBfaXRlbXMucHVzaCh7XG4gICAgICAgIC4uLml0ZW0sXG4gICAgICAgIC4uLihpdGVtUHJlZiB8fCB7fSlcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIF9pdGVtc1xuICB9XG5cbiAgcHVibGljIHNhdmVQcmVmZXJlbmNlcygpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAvLyBSaWdodCBub3cgdGhlIGl0ZW1zIGFyZSBtb3ZlZCBiZXR3ZWVuIHRoZSBjb2x1bW4gcmVjb3JkIGFycmF5cywgYnV0IHRoZVxuICAgIC8vICdjb2wnIHByb3AgaXMgbm90IHVwZGF0ZWQsIHNvIGl0IGlzIG1hcHBlZCB0byBjb3JyZWN0ZWQgaXRlbXMgaGVyZSBmcm9tXG4gICAgLy8gdGhlIGNvbHVtbiByZWNvcmRzLlxuICAgIGNvbnN0IGl0ZW1zJCA9IHRoaXMud2lkZ2V0Q29sdW1ucyQucGlwZShcbiAgICAgIG1hcChjb2x1bW5zID0+IChbXSBhcyBJRGFzaGJvYXJkV2lkZ2V0c0l0ZW1bXSlcbiAgICAgICAgLmNvbmNhdCguLi4oY29sdW1ucy5tYXAoYyA9PiBjLml0ZW1zLm1hcChpdG0gPT4gKHsgLi4uaXRtLCBjb2w6IGMuY29sdW1uIH0pKSkpKVxuICAgICAgKSxcbiAgICApXG5cbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbIGl0ZW1zJCwgdGhpcy5udW1Db2x1bW5zJCBdKS5waXBlKFxuICAgICAgYXVkaXRUaW1lKDApLFxuICAgICAgdGFrZSgxKSxcbiAgICAgIHN3aXRjaE1hcCgoWyBpdGVtcywgbnVtQ29sdW1ucyBdKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wcmVmZXJlbmNlcy51cGRhdGVMYXlvdXQodGhpcy5wcmVmZXJlbmNlS2V5LCB7XG4gICAgICAgICAgbmFtZTogdGhpcy5fbGF5b3V0TmFtZShudW1Db2x1bW5zKSxcbiAgICAgICAgICBpdGVtc1xuICAgICAgICB9KVxuICAgICAgfSksXG4gICAgICBtYXBUbyh1bmRlZmluZWQpXG4gICAgKVxuICB9XG5cbn1cbiJdfQ==
170
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLXdpZGdldHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9mcmFtZXdvcmsvZGFzaGJvYXJkL2Rhc2hib2FyZC13aWRnZXRzL2Rhc2hib2FyZC13aWRnZXRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFvQixNQUFNLGVBQWUsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDckUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBR3pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFBOzs7O0FBYTdELE1BQU0sT0FBTyx1QkFBdUI7SUFTbEMsSUFBSSxPQUFPLEtBQWlDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUEsQ0FBQyxDQUFDO0lBQ3hFLElBQUksT0FBTyxDQUFDLEtBQWlDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBRzVFLElBQUksVUFBVSxLQUFhLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUEsQ0FBQyxDQUFDO0lBQzFELElBQUksVUFBVSxDQUFDLEtBQWE7UUFDMUIsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUU7WUFDcEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7U0FDN0I7SUFDSCxDQUFD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Y2RrL3BvcnRhbCdcbmltcG9ydCB7IEluamVjdGFibGUsIGlzRGV2TW9kZSwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IGF1ZGl0VGltZSwgbWFwLCBtYXBUbywgc2hhcmVSZXBsYXksIHN3aXRjaE1hcCwgdGFrZSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5cbmltcG9ydCB7IFRoZVNlYW1EeW5hbWljQ29tcG9uZW50TG9hZGVyIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2R5bmFtaWMtY29tcG9uZW50LWxvYWRlcidcbmltcG9ydCB7IG5vdE51bGxPclVuZGVmaW5lZCB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi91dGlscydcblxuaW1wb3J0IHtcbiAgSURhc2hib2FyZFdpZGdldEl0ZW1MYXlvdXRQcmVmZXJlbmNlLFxuICBJRGFzaGJvYXJkV2lkZ2V0c0NvbHVtblJlY29yZCxcbiAgSURhc2hib2FyZFdpZGdldHNJdGVtLFxuICBJRGFzaGJvYXJkV2lkZ2V0c0l0ZW1EZWZcbn0gZnJvbSAnLi9kYXNoYm9hcmQtd2lkZ2V0cy1pdGVtJ1xuaW1wb3J0IHsgRGFzaGJvYXJkV2lkZ2V0c1ByZWZlcmVuY2VzU2VydmljZSB9IGZyb20gJy4vZGFzaGJvYXJkLXdpZGdldHMtcHJlZmVyZW5jZXMuc2VydmljZSdcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRGFzaGJvYXJkV2lkZ2V0c1NlcnZpY2Uge1xuXG4gIHB1YmxpYyByZWFkb25seSBwcmVmZXJlbmNlS2V5OiBzdHJpbmcgPSAnZGF0YXRhYmxlLXdpZGdldHMnXG5cbiAgcHVibGljIHJlYWRvbmx5IGRlZmF1bHROdW1Db2x1bW5zOiBudW1iZXIgPSAzXG5cbiAgLyoqIFVzZWQgZm9yIG9wZXJhdGlvbnMsIHN1Y2ggYXMgJ2FkZFdpZGdldCcsIGlmIHRoZSBjb2x1bW4gaXMgbm90IHNwZWNpZmllZC4gKi9cbiAgcHVibGljIHJlYWRvbmx5IGRlZmF1bHRDb2x1bW46IG51bWJlciA9IDBcblxuICBnZXQgd2lkZ2V0cygpOiBJRGFzaGJvYXJkV2lkZ2V0c0l0ZW1EZWZbXSB7IHJldHVybiB0aGlzLl93aWRnZXRzLnZhbHVlIH1cbiAgc2V0IHdpZGdldHModmFsdWU6IElEYXNoYm9hcmRXaWRnZXRzSXRlbURlZltdKSB7IHRoaXMuX3dpZGdldHMubmV4dCh2YWx1ZSkgfVxuICBwcml2YXRlIF93aWRnZXRzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJRGFzaGJvYXJkV2lkZ2V0c0l0ZW1EZWZbXT4oW10pXG5cbiAgZ2V0IG51bUNvbHVtbnMoKTogbnVtYmVyIHsgcmV0dXJuIHRoaXMuX251bUNvbHVtbnMudmFsdWUgfVxuICBzZXQgbnVtQ29sdW1ucyh2YWx1ZTogbnVtYmVyKSB7XG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLl9udW1Db2x1bW5zLnZhbHVlKSB7XG4gICAgICB0aGlzLl9udW1Db2x1bW5zLm5leHQodmFsdWUpXG4gICAgfVxuICB9XG4gIHByaXZhdGUgX251bUNvbHVtbnMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4odGhpcy5kZWZhdWx0TnVtQ29sdW1ucylcblxuICBwdWJsaWMgcmVhZG9ubHkgbnVtQ29sdW1ucyQ6IE9ic2VydmFibGU8bnVtYmVyPlxuICBwdWJsaWMgcmVhZG9ubHkgd2lkZ2V0SXRlbXMkOiBPYnNlcnZhYmxlPElEYXNoYm9hcmRXaWRnZXRzSXRlbVtdPlxuICBwdWJsaWMgcmVhZG9ubHkgd2lkZ2V0Q29sdW1ucyQ6IE9ic2VydmFibGU8SURhc2hib2FyZFdpZGdldHNDb2x1bW5SZWNvcmRbXT5cblxuICBwcml2YXRlIHJlYWRvbmx5IF92aWV3Q29udGFpbmVyUmVmU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Vmlld0NvbnRhaW5lclJlZiB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2R5bmFtaWNDb21wb25lbnRMb2FkZXJNb2R1bGU6IFRoZVNlYW1EeW5hbWljQ29tcG9uZW50TG9hZGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3ByZWZlcmVuY2VzOiBEYXNoYm9hcmRXaWRnZXRzUHJlZmVyZW5jZXNTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMubnVtQ29sdW1ucyQgPSB0aGlzLl9udW1Db2x1bW5zLmFzT2JzZXJ2YWJsZSgpXG5cbiAgICAvLyBXaWRnZXQgaXRlbXMgd2l0aG91dCBwcmVmZXJlbmNlc1xuICAgIGNvbnN0IF93aWRnZXRJdGVtcyQgPSBjb21iaW5lTGF0ZXN0KFsgdGhpcy5fd2lkZ2V0cywgdGhpcy5fdmlld0NvbnRhaW5lclJlZlN1YmplY3QgXSlcbiAgICAgIC5waXBlKHN3aXRjaE1hcCgoWyBkZWZzLCB2Y3IgXSkgPT4gdGhpcy5jcmVhdGVXaWRnZXRJdGVtcyhkZWZzLCB2Y3IpKSlcblxuICAgIC8vIFdpZGdldCBpdGVtcyB3aXRoIHByZWZlcmVuY2VzXG4gICAgdGhpcy53aWRnZXRJdGVtcyQgPSBjb21iaW5lTGF0ZXN0KFsgX3dpZGdldEl0ZW1zJCwgdGhpcy5udW1Db2x1bW5zJCBdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIC8vIFdhaXQgdW50aWwgdGhlIGN1cnJlbnQgdGljayBpcyBkb25lLCBpbmNhc2UgYm90aCB0aGUgd2lkZ2V0cyBhbmRcbiAgICAgICAgLy8gbnVtYmVyIG9mIGNvbHVtbnMgYXJlIHNldCBkdXJyaW5nIHRoZSBzYW1lIHRpY2suIFdpdGhvdXQgdGhlIGF1ZGl0LFxuICAgICAgICAvLyB0aGlzIHdvdWxkIGdldCBjYWxsZWQgdHdpY2Ugd2hlbiB0aGUgY29tcG9uZW50IGlzIGluaXRpYWxpemVkIHdpdGhcbiAgICAgICAgLy8gYm90aCBpbnB1dHMgc2V0IG9uZSBhZnRlciB0aGUgb3RoZXIgaW5kaXZpZHVhbGx5LlxuICAgICAgICBhdWRpdFRpbWUoMCksXG4gICAgICAgIHN3aXRjaE1hcCgoWyBpdGVtcywgbnVtQ29sdW1ucyBdKSA9PlxuICAgICAgICAgIHRoaXMuX3ByZWZlcmVuY2VzLnNlbGVjdExheW91dCh0aGlzLnByZWZlcmVuY2VLZXksIHRoaXMuX2xheW91dE5hbWUobnVtQ29sdW1ucykpLnBpcGUoXG4gICAgICAgICAgICBtYXAobGF5b3V0ID0+IGxheW91dCA/IHRoaXMud2l0aExheW91dFByZWZlcmVuY2VzKGl0ZW1zLCBsYXlvdXQpIDogaXRlbXMpXG4gICAgICAgICAgKVxuICAgICAgICApLFxuICAgICAgICBzaGFyZVJlcGxheSh7IGJ1ZmZlclNpemU6IDEsIHJlZkNvdW50OiB0cnVlIH0pXG4gICAgICApXG5cbiAgICB0aGlzLndpZGdldENvbHVtbnMkID0gdGhpcy53aWRnZXRJdGVtcyRcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoaXRlbXMgPT4gdGhpcy50b0NvbHVtblJlY29yZHMoaXRlbXMpKSxcbiAgICAgICAgc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogdHJ1ZSB9KVxuICAgICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBfbGF5b3V0TmFtZShudW1Db2x1bW5zOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIHJldHVybiBgY29sdW1ucy0ke251bUNvbHVtbnN9YFxuICB9XG5cbiAgcHVibGljIHNldFZpZXdDb250YWluZXJSZWYodmNyOiBWaWV3Q29udGFpbmVyUmVmIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fdmlld0NvbnRhaW5lclJlZlN1YmplY3QubmV4dCh2Y3IpXG4gIH1cblxuICBwdWJsaWMgY3JlYXRlV2lkZ2V0SXRlbXMoZGVmczogSURhc2hib2FyZFdpZGdldHNJdGVtRGVmW10sIHZjcj86IFZpZXdDb250YWluZXJSZWYpOiBPYnNlcnZhYmxlPElEYXNoYm9hcmRXaWRnZXRzSXRlbVtdPiB7XG4gICAgY29uc3QgX2NyZWF0ZU9ic2VydmFibGVzID0gKGRlZnMgfHwgW10pLm1hcChkID0+IHRoaXMuY3JlYXRlV2lkZ2V0SXRlbShkLCB2Y3IpKVxuICAgIGNvbnN0IGl0ZW1zJCA9IF9jcmVhdGVPYnNlcnZhYmxlcy5sZW5ndGggPiAwID8gY29tYmluZUxhdGVzdChfY3JlYXRlT2JzZXJ2YWJsZXMpIDogb2YoW10pXG4gICAgcmV0dXJuIGl0ZW1zJC5waXBlKFxuICAgICAgbWFwKGl0ZW1zID0+IGl0ZW1zLmZpbHRlcihub3ROdWxsT3JVbmRlZmluZWQpKSxcbiAgICAgIHRhcChpdGVtcyA9PiB7XG4gICAgICAgIGlmIChpc0Rldk1vZGUoKSkge1xuICAgICAgICAgIGNvbnN0IGlkczogc3RyaW5nW10gPSBpdGVtcy5tYXAodiA9PiB2LndpZGdldElkKVxuICAgICAgICAgIGlmICgobmV3IFNldChpZHMpKS5zaXplICE9PSBpZHMubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYFtEYXNoYm9hcmRXaWRnZXRzU2VydmljZV0gRHVwbGljYXRlIHdpZGdldCdzIHdpdGggdGhlIHNhbWUgJ3dpZGdldElkJyBmb3VuZC5gKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApXG4gIH1cblxuICBwdWJsaWMgY3JlYXRlV2lkZ2V0SXRlbShkZWY6IElEYXNoYm9hcmRXaWRnZXRzSXRlbURlZiwgdmNyPzogVmlld0NvbnRhaW5lclJlZik6IE9ic2VydmFibGU8SURhc2hib2FyZFdpZGdldHNJdGVtIHwgdW5kZWZpbmVkPiB7XG4gICAgaWYgKCFkZWYud2lkZ2V0SWQgfHwgdHlwZW9mIGRlZi53aWRnZXRJZCAhPT0gJ3N0cmluZycgfHwgZGVmLndpZGdldElkLmxlbmd0aCA8IDEpIHtcbiAgICAgIGlmIChpc0Rldk1vZGUoKSkge1xuICAgICAgICBjb25zb2xlLndhcm4oYFtEYXNoYm9hcmRXaWRnZXRzU2VydmljZV0gV2lkZ2V0IGlnbm9yZWQuIEFsbCB3aWRnZXRzIG11c3QgaGF2ZSBhICd3aWRnZXRJZCcuYCwgZGVmKVxuICAgICAgfVxuICAgICAgcmV0dXJuIG9mKHVuZGVmaW5lZClcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jcmVhdGVXaWRnZXRQb3J0YWwoZGVmLCB2Y3IpLnBpcGUoXG4gICAgICBtYXAocG9ydGFsID0+ICh7XG4gICAgICAgIC4uLmRlZixcbiAgICAgICAgY29sOiBkZWYuY29sIHx8IHRoaXMuZGVmYXVsdENvbHVtbixcbiAgICAgICAgb3JkZXI6IGRlZi5vcmRlciB8fCAwLFxuICAgICAgICBwb3J0YWwsXG4gICAgICAgIF9faXRlbURlZjogZGVmXG4gICAgICB9KSlcbiAgICApXG4gIH1cblxuICBwdWJsaWMgY3JlYXRlV2lkZ2V0UG9ydGFsKGRlZjogSURhc2hib2FyZFdpZGdldHNJdGVtRGVmLCB2Y3I/OiBWaWV3Q29udGFpbmVyUmVmKTogT2JzZXJ2YWJsZTxDb21wb25lbnRQb3J0YWw8YW55Pj4ge1xuICAgIGlmICh0eXBlb2YgZGVmLmNvbXBvbmVudCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiB0aGlzLl9keW5hbWljQ29tcG9uZW50TG9hZGVyTW9kdWxlXG4gICAgICAgIC5nZXRDb21wb25lbnRGYWN0b3J5KGRlZi5jb21wb25lbnQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcChjb21wb25lbnRGYWN0b3J5ID0+IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgQ29tcG9uZW50UG9ydGFsKFxuICAgICAgICAgICAgICBjb21wb25lbnRGYWN0b3J5LmNvbXBvbmVudFR5cGUsXG4gICAgICAgICAgICAgIHZjcixcbiAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAoPGFueSAvKiBDb21wb25lbnRGYWN0b3J5Qm91bmRUb01vZHVsZSAqLz5jb21wb25lbnRGYWN0b3J5KS5uZ01vZHVsZS5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJcbiAgICAgICAgICAgIClcbiAgICAgICAgICB9KSxcbiAgICAgICAgICB0YWtlKDEpXG4gICAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gZGVmLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlclxuICAgICAgPyBvZihuZXcgQ29tcG9uZW50UG9ydGFsKGRlZi5jb21wb25lbnQsIHZjciwgdW5kZWZpbmVkLCBkZWYuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyKSlcbiAgICAgIDogb2YobmV3IENvbXBvbmVudFBvcnRhbChkZWYuY29tcG9uZW50LCB2Y3IpKVxuICB9XG5cbiAgcHVibGljIHVwZGF0ZU9yZGVyKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLndpZGdldENvbHVtbnMkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgdGFwKGNvbHVtbnMgPT4gY29sdW1ucy5mb3JFYWNoKGNvbCA9PiB7XG4gICAgICAgICAgbGV0IGkgPSAwXG4gICAgICAgICAgY29sLml0ZW1zLmZvckVhY2goaXRtID0+IGl0bS5vcmRlciA9IGkrKylcbiAgICAgICAgfSkpLFxuICAgICAgICBtYXBUbyh1bmRlZmluZWQpXG4gICAgICApXG4gIH1cblxuICBwdWJsaWMgdG9Db2x1bW5SZWNvcmRzKGl0ZW1zOiBJRGFzaGJvYXJkV2lkZ2V0c0l0ZW1bXSk6IElEYXNoYm9hcmRXaWRnZXRzQ29sdW1uUmVjb3JkW10ge1xuICAgIGxldCBjb2x1bW5zOiBJRGFzaGJvYXJkV2lkZ2V0c0NvbHVtblJlY29yZFtdID0gW11cblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5udW1Db2x1bW5zOyBpKyspIHtcbiAgICAgIGNvbHVtbnMucHVzaCh7IGNvbHVtbjogaSwgaXRlbXM6IFtdIH0pXG4gICAgfVxuXG4gICAgY29uc3QgY29sTm90Rm91bmQ6IElEYXNoYm9hcmRXaWRnZXRzSXRlbVtdID0gW11cblxuICAgIC8vIERpc3RyaWJ1dGUgaXRlbXMgaW50byBjb2x1bW5zXG4gICAgZm9yIChjb25zdCBpdGVtIG9mIGl0ZW1zKSB7XG4gICAgICBjb25zdCBjb2w6IElEYXNoYm9hcmRXaWRnZXRzQ29sdW1uUmVjb3JkIHwgdW5kZWZpbmVkID0gY29sdW1ucy5maW5kKGMgPT4gYy5jb2x1bW4gPT09IGl0ZW0uY29sKVxuICAgICAgaWYgKCFjb2wpIHtcbiAgICAgICAgLy8gY29sdW1ucy5wdXNoKHsgY29sdW1uOiBpdGVtLmNvbCwgaXRlbXM6IFsgaXRlbSBdIH0pXG4gICAgICAgIC8vIGlmIChpdGVtLmNvbCA8IDApIHtcbiAgICAgICAgLy8gICBjb25zdCBjb2wwOiBJRGFzaGJvYXJkV2lkZ2V0c0NvbHVtblJlY29yZCB8IHVuZGVmaW5lZCA9IGNvbHVtbnMuZmluZChjID0+IGMuY29sdW1uID09PSAwKVxuICAgICAgICAvLyAgIGlmIChjb2wwKSB7XG4gICAgICAgIC8vICAgICBjb2wwLml0ZW1zLnB1c2goaXRlbSlcbiAgICAgICAgLy8gICB9XG4gICAgICAgIC8vIH0gZWxzZSBpZiAoaXRlbS5jb2wgPiB0aGlzLm51bUNvbHVtbnMgLSAxKSB7XG4gICAgICAgIC8vICAgY29uc3QgY29sTWF4OiBJRGFzaGJvYXJkV2lkZ2V0c0NvbHVtblJlY29yZCB8IHVuZGVmaW5lZCA9IGNvbHVtbnMuZmluZChjID0+IGMuY29sdW1uID09PSB0aGlzLm51bUNvbHVtbnMgLSAxKVxuICAgICAgICAvLyAgIGlmIChjb2xNYXgpIHtcbiAgICAgICAgLy8gICAgIGNvbE1heC5pdGVtcy5wdXNoKGl0ZW0pXG4gICAgICAgIC8vICAgfVxuICAgICAgICAvLyB9XG4gICAgICAgIGNvbE5vdEZvdW5kLnB1c2goaXRlbSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbC5pdGVtcy5wdXNoKGl0ZW0pXG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb2xOb3RGb3VuZC5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgaXRlbSA9IGNvbE5vdEZvdW5kW2ldXG5cbiAgICAgIGNvbnN0IGNvbDogSURhc2hib2FyZFdpZGdldHNDb2x1bW5SZWNvcmQgfCB1bmRlZmluZWQgPSBjb2x1bW5zXG4gICAgICAgIC5maW5kKGMgPT4gYy5jb2x1bW4gPT09IGkgJSB0aGlzLm51bUNvbHVtbnMpXG5cbiAgICAgIGlmIChjb2wpIHtcbiAgICAgICAgY29sLml0ZW1zLnB1c2goaXRlbSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTb3J0IGNvbHVtbnNcbiAgICBjb2x1bW5zID0gY29sdW1ucy5zb3J0KChhLCBiKSA9PiBhLmNvbHVtbiAtIGIuY29sdW1uKVxuXG4gICAgLy8gU29ydCBjb2x1bW5zIGl0ZW1zXG4gICAgY29sdW1ucy5mb3JFYWNoKGNvbCA9PiBjb2wuaXRlbXMuc29ydCgoYSwgYikgPT4gYS5vcmRlciAtIGIub3JkZXIpKVxuXG4gICAgcmV0dXJuIGNvbHVtbnNcbiAgfVxuXG4gIHB1YmxpYyB3aXRoTGF5b3V0UHJlZmVyZW5jZXMoaXRlbXM6IElEYXNoYm9hcmRXaWRnZXRzSXRlbVtdLCBsYXlvdXQ6IElEYXNoYm9hcmRXaWRnZXRJdGVtTGF5b3V0UHJlZmVyZW5jZSk6IElEYXNoYm9hcmRXaWRnZXRzSXRlbVtdIHtcbiAgICBjb25zdCBfaXRlbXM6IElEYXNoYm9hcmRXaWRnZXRzSXRlbVtdID0gW11cblxuICAgIGZvciAoY29uc3QgaXRlbSBvZiBpdGVtcykge1xuICAgICAgY29uc3QgaXRlbVByZWYgPSBsYXlvdXQuaXRlbXMuZmluZCh4ID0+IHgud2lkZ2V0SWQgPT09IGl0ZW0ud2lkZ2V0SWQpXG4gICAgICBfaXRlbXMucHVzaCh7XG4gICAgICAgIC4uLml0ZW0sXG4gICAgICAgIC4uLihpdGVtUHJlZiB8fCB7fSlcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIF9pdGVtc1xuICB9XG5cbiAgcHVibGljIHNhdmVQcmVmZXJlbmNlcygpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAvLyBSaWdodCBub3cgdGhlIGl0ZW1zIGFyZSBtb3ZlZCBiZXR3ZWVuIHRoZSBjb2x1bW4gcmVjb3JkIGFycmF5cywgYnV0IHRoZVxuICAgIC8vICdjb2wnIHByb3AgaXMgbm90IHVwZGF0ZWQsIHNvIGl0IGlzIG1hcHBlZCB0byBjb3JyZWN0ZWQgaXRlbXMgaGVyZSBmcm9tXG4gICAgLy8gdGhlIGNvbHVtbiByZWNvcmRzLlxuICAgIGNvbnN0IGl0ZW1zJCA9IHRoaXMud2lkZ2V0Q29sdW1ucyQucGlwZShcbiAgICAgIG1hcChjb2x1bW5zID0+IChbXSBhcyBJRGFzaGJvYXJkV2lkZ2V0c0l0ZW1bXSlcbiAgICAgICAgLmNvbmNhdCguLi4oY29sdW1ucy5tYXAoYyA9PiBjLml0ZW1zLm1hcChpdG0gPT4gKHsgLi4uaXRtLCBjb2w6IGMuY29sdW1uIH0pKSkpKVxuICAgICAgKSxcbiAgICApXG5cbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbIGl0ZW1zJCwgdGhpcy5udW1Db2x1bW5zJCBdKS5waXBlKFxuICAgICAgYXVkaXRUaW1lKDApLFxuICAgICAgdGFrZSgxKSxcbiAgICAgIHN3aXRjaE1hcCgoWyBpdGVtcywgbnVtQ29sdW1ucyBdKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wcmVmZXJlbmNlcy51cGRhdGVMYXlvdXQodGhpcy5wcmVmZXJlbmNlS2V5LCB7XG4gICAgICAgICAgbmFtZTogdGhpcy5fbGF5b3V0TmFtZShudW1Db2x1bW5zKSxcbiAgICAgICAgICBpdGVtc1xuICAgICAgICB9KVxuICAgICAgfSksXG4gICAgICBtYXBUbyh1bmRlZmluZWQpXG4gICAgKVxuICB9XG5cbn1cbiJdfQ==
@@ -1,3 +1,3 @@
1
1
  import { InjectionToken } from '@angular/core';
2
2
  export const THESEAM_DASHBOARD_WIDGETS_ACCESSOR = new InjectionToken('THESEAM_DASHBOARD_WIDGETS_ACCESSOR');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLXdpZGdldHMtdG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2ZyYW1ld29yay9kYXNoYm9hcmQvZGFzaGJvYXJkLXdpZGdldHMtdG9rZW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFTOUMsTUFBTSxDQUFDLE1BQU0sa0NBQWtDLEdBQUcsSUFBSSxjQUFjLENBQ2xFLG9DQUFvQyxDQUNyQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXG5cbmltcG9ydCB7IERhc2hib2FyZFdpZGdldENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vZGFzaGJvYXJkLXdpZGdldC1jb250YWluZXIvZGFzaGJvYXJkLXdpZGdldC1jb250YWluZXIuY29tcG9uZW50J1xuXG5leHBvcnQgaW50ZXJmYWNlIERhc2hib2FyZFdpZGdldHNBY2Nlc3NvciB7XG4gIGNvbnRhaW5lcnMkOiBPYnNlcnZhYmxlPERhc2hib2FyZFdpZGdldENvbnRhaW5lckNvbXBvbmVudFtdPlxufVxuXG5leHBvcnQgY29uc3QgVEhFU0VBTV9EQVNIQk9BUkRfV0lER0VUU19BQ0NFU1NPUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxEYXNoYm9hcmRXaWRnZXRzQWNjZXNzb3I+KFxuICAnVEhFU0VBTV9EQVNIQk9BUkRfV0lER0VUU19BQ0NFU1NPUidcbilcbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLXdpZGdldHMtdG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2ZyYW1ld29yay9kYXNoYm9hcmQvZGFzaGJvYXJkLXdpZGdldHMtdG9rZW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFTOUMsTUFBTSxDQUFDLE1BQU0sa0NBQWtDLEdBQUcsSUFBSSxjQUFjLENBQ2xFLG9DQUFvQyxDQUNyQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcclxuXHJcbmltcG9ydCB7IERhc2hib2FyZFdpZGdldENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vZGFzaGJvYXJkLXdpZGdldC1jb250YWluZXIvZGFzaGJvYXJkLXdpZGdldC1jb250YWluZXIuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEYXNoYm9hcmRXaWRnZXRzQWNjZXNzb3Ige1xyXG4gIGNvbnRhaW5lcnMkOiBPYnNlcnZhYmxlPERhc2hib2FyZFdpZGdldENvbnRhaW5lckNvbXBvbmVudFtdPlxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgVEhFU0VBTV9EQVNIQk9BUkRfV0lER0VUU19BQ0NFU1NPUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxEYXNoYm9hcmRXaWRnZXRzQWNjZXNzb3I+KFxyXG4gICdUSEVTRUFNX0RBU0hCT0FSRF9XSURHRVRTX0FDQ0VTU09SJ1xyXG4pXHJcbiJdfQ==
@@ -8,12 +8,12 @@ export class DashboardComponent {
8
8
  this.widgetsDraggable = true;
9
9
  }
10
10
  }
11
- DashboardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DashboardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
- DashboardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.4", type: DashboardComponent, selector: "seam-dashboard", inputs: { widgets: "widgets", widgetsDraggable: "widgetsDraggable" }, ngImport: i0, template: "<seam-dashboard-widgets [widgets]=\"widgets\" [widgetsDraggable]=\"widgetsDraggable\"></seam-dashboard-widgets>\n", styles: [""], dependencies: [{ kind: "component", type: i1.DashboardWidgetsComponent, selector: "seam-dashboard-widgets", inputs: ["gapSize", "widgetsDraggable", "dragToggleVisible", "numColumns", "widgets"], outputs: ["widgetsChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11
+ DashboardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: DashboardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
+ DashboardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: DashboardComponent, selector: "seam-dashboard", inputs: { widgets: "widgets", widgetsDraggable: "widgetsDraggable" }, ngImport: i0, template: "<seam-dashboard-widgets [widgets]=\"widgets\" [widgetsDraggable]=\"widgetsDraggable\"></seam-dashboard-widgets>\n", styles: [""], dependencies: [{ kind: "component", type: i1.DashboardWidgetsComponent, selector: "seam-dashboard-widgets", inputs: ["gapSize", "widgetsDraggable", "dragToggleVisible", "numColumns", "widgets"], outputs: ["widgetsChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13
13
  __decorate([
14
14
  InputBoolean()
15
15
  ], DashboardComponent.prototype, "widgetsDraggable", void 0);
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DashboardComponent, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: DashboardComponent, decorators: [{
17
17
  type: Component,
18
18
  args: [{ selector: 'seam-dashboard', changeDetection: ChangeDetectionStrategy.OnPush, template: "<seam-dashboard-widgets [widgets]=\"widgets\" [widgetsDraggable]=\"widgetsDraggable\"></seam-dashboard-widgets>\n" }]
19
19
  }], ctorParameters: function () { return []; }, propDecorators: { widgets: [{
@@ -13,8 +13,8 @@ import { DashboardComponent } from './dashboard.component';
13
13
  import * as i0 from "@angular/core";
14
14
  export class TheSeamDashboardModule {
15
15
  }
16
- TheSeamDashboardModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: TheSeamDashboardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17
- TheSeamDashboardModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.4", ngImport: i0, type: TheSeamDashboardModule, declarations: [DashboardComponent,
16
+ TheSeamDashboardModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamDashboardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17
+ TheSeamDashboardModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.6", ngImport: i0, type: TheSeamDashboardModule, declarations: [DashboardComponent,
18
18
  DashboardWidgetsComponent,
19
19
  DashboardWidgetContainerComponent,
20
20
  DashboardWidgetTemplateContainerComponent,
@@ -26,13 +26,13 @@ TheSeamDashboardModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
26
26
  TheSeamSharedModule], exports: [DashboardComponent,
27
27
  DashboardWidgetsComponent,
28
28
  DashboardWidgetPortalOutletDirective] });
29
- TheSeamDashboardModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: TheSeamDashboardModule, imports: [CommonModule,
29
+ TheSeamDashboardModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamDashboardModule, imports: [CommonModule,
30
30
  PortalModule,
31
31
  DragDropModule,
32
32
  TheSeamButtonsModule,
33
33
  TheSeamIconModule,
34
34
  TheSeamSharedModule] });
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: TheSeamDashboardModule, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamDashboardModule, decorators: [{
36
36
  type: NgModule,
37
37
  args: [{
38
38
  declarations: [
@@ -5,12 +5,12 @@ import { HierarchyRouterOutletComponent } from './hierarchy-router-outlet/hierar
5
5
  import * as i0 from "@angular/core";
6
6
  export class TheSeamDynamicRouterModule {
7
7
  }
8
- TheSeamDynamicRouterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: TheSeamDynamicRouterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- TheSeamDynamicRouterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.4", ngImport: i0, type: TheSeamDynamicRouterModule, declarations: [HierarchyRouterOutletComponent], imports: [CommonModule,
8
+ TheSeamDynamicRouterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamDynamicRouterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ TheSeamDynamicRouterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.6", ngImport: i0, type: TheSeamDynamicRouterModule, declarations: [HierarchyRouterOutletComponent], imports: [CommonModule,
10
10
  RouterModule], exports: [HierarchyRouterOutletComponent] });
11
- TheSeamDynamicRouterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: TheSeamDynamicRouterModule, imports: [CommonModule,
11
+ TheSeamDynamicRouterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamDynamicRouterModule, imports: [CommonModule,
12
12
  RouterModule] });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: TheSeamDynamicRouterModule, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamDynamicRouterModule, decorators: [{
14
14
  type: NgModule,
15
15
  args: [{
16
16
  declarations: [
@@ -94,8 +94,8 @@ export class HierarchyRouterOutletComponent {
94
94
  this.ngContentVisible = !this.outletActive;
95
95
  }
96
96
  }
97
- HierarchyRouterOutletComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: HierarchyRouterOutletComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
98
- HierarchyRouterOutletComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.4", type: HierarchyRouterOutletComponent, selector: "seam-hierarchy-router-outlet", ngImport: i0, template: "<div class=\"h-100\"\n [@routeAnimations]=\"prepareRoute(outlet)\"\n (@routeAnimations.start)=\"routeAnimationsStart($event)\"\n (@routeAnimations.done)=\"routeAnimationsDone($event)\">\n <div class=\"hierarchy-router-outlet--content h-100\" *ngIf=\"ngContentVisible\">\n <!-- {{ animState }} -->\n <div class=\"border border-info h-100\">\n <ng-content></ng-content>\n </div>\n </div>\n <div class=\"router-container\"\n [class.h-100]=\"!ngContentVisible\"\n >\n <!-- <div [@routeAnimations]=\"animState\"> -->\n <!-- <div class=\"hierarchy-router-outlet--route-content\"> -->\n <router-outlet #outlet=\"outlet\"\n (activate)=\"outletActivate($event)\"\n (deactivate)=\"outletDeactivate($event)\">\n </router-outlet>\n </div>\n</div>\n", styles: [":host{display:block;height:100%}:host ::ng-deep router-outlet+*{background-color:#fff;height:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], animations: [
97
+ HierarchyRouterOutletComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: HierarchyRouterOutletComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
98
+ HierarchyRouterOutletComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: HierarchyRouterOutletComponent, selector: "seam-hierarchy-router-outlet", ngImport: i0, template: "<div class=\"h-100\"\n [@routeAnimations]=\"prepareRoute(outlet)\"\n (@routeAnimations.start)=\"routeAnimationsStart($event)\"\n (@routeAnimations.done)=\"routeAnimationsDone($event)\">\n <div class=\"hierarchy-router-outlet--content h-100\" *ngIf=\"ngContentVisible\">\n <!-- {{ animState }} -->\n <div class=\"border border-info h-100\">\n <ng-content></ng-content>\n </div>\n </div>\n <div class=\"router-container\"\n [class.h-100]=\"!ngContentVisible\"\n >\n <!-- <div [@routeAnimations]=\"animState\"> -->\n <!-- <div class=\"hierarchy-router-outlet--route-content\"> -->\n <router-outlet #outlet=\"outlet\"\n (activate)=\"outletActivate($event)\"\n (deactivate)=\"outletDeactivate($event)\">\n </router-outlet>\n </div>\n</div>\n", styles: [":host{display:block;height:100%}:host ::ng-deep router-outlet+*{background-color:#fff;height:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], animations: [
99
99
  // fader,
100
100
  slider,
101
101
  // transformer,
@@ -103,7 +103,7 @@ HierarchyRouterOutletComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
103
103
  // sideToSide
104
104
  // contentLeave
105
105
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush });
106
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: HierarchyRouterOutletComponent, decorators: [{
106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: HierarchyRouterOutletComponent, decorators: [{
107
107
  type: Component,
108
108
  args: [{ selector: 'seam-hierarchy-router-outlet', animations: [
109
109
  // fader,