@fundamental-ngx/platform 0.48.0-rc.9 → 0.48.0

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 (510) hide show
  1. package/approval-flow/approval-flow-node/approval-flow-node.component.d.ts +0 -2
  2. package/button/button.component.d.ts +7 -8
  3. package/dynamic-page/dynamic-page.component.d.ts +24 -15
  4. package/dynamic-page/dynamic-page.tokens.d.ts +3 -0
  5. package/dynamic-page/index.d.ts +2 -1
  6. package/dynamic-page/platform-dynamic-page.interface.d.ts +22 -0
  7. package/esm2022/approval-flow/approval-flow-add-node/approval-flow-add-node.component.mjs +4 -4
  8. package/esm2022/approval-flow/approval-flow-approver-details/approval-flow-approver-details.component.mjs +4 -4
  9. package/esm2022/approval-flow/approval-flow-messages/approval-flow-messages.component.mjs +3 -3
  10. package/esm2022/approval-flow/approval-flow-node/approval-flow-drop-zone.directive.mjs +3 -3
  11. package/esm2022/approval-flow/approval-flow-node/approval-flow-node.component.mjs +5 -7
  12. package/esm2022/approval-flow/approval-flow-select-type/approval-flow-select-type.component.mjs +3 -3
  13. package/esm2022/approval-flow/approval-flow-team-list/approval-flow-team-list.component.mjs +3 -3
  14. package/esm2022/approval-flow/approval-flow-toolbar-actions/approval-flow-toolbar-actions.component.mjs +3 -3
  15. package/esm2022/approval-flow/approval-flow-user-details/approval-flow-user-details.component.mjs +3 -3
  16. package/esm2022/approval-flow/approval-flow-user-list/approval-flow-user-list.component.mjs +3 -3
  17. package/esm2022/approval-flow/approval-flow.component.mjs +5 -5
  18. package/esm2022/approval-flow/approval-flow.module.mjs +4 -4
  19. package/esm2022/approval-flow/services/approval-flow-add-node-view.service.mjs +3 -3
  20. package/esm2022/button/button.component.mjs +14 -15
  21. package/esm2022/button/button.module.mjs +4 -4
  22. package/esm2022/dynamic-page/directives/dynamic-page-header-subtitle.directive.mjs +3 -3
  23. package/esm2022/dynamic-page/directives/dynamic-page-header-title.directive.mjs +3 -3
  24. package/esm2022/dynamic-page/dynamic-page-content/dynamic-page-content-host.component.mjs +3 -3
  25. package/esm2022/dynamic-page/dynamic-page-content/dynamic-page-content.component.mjs +3 -3
  26. package/esm2022/dynamic-page/dynamic-page-footer/dynamic-page-footer.component.mjs +3 -3
  27. package/esm2022/dynamic-page/dynamic-page-header/actions/global-actions/dynamic-page-global-actions.component.mjs +3 -3
  28. package/esm2022/dynamic-page/dynamic-page-header/actions/layout-actions/dynamic-page-layout-actions.component.mjs +3 -3
  29. package/esm2022/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.mjs +3 -3
  30. package/esm2022/dynamic-page/dynamic-page-header/key-info/dynamic-page-key-info.component.mjs +3 -3
  31. package/esm2022/dynamic-page/dynamic-page-header/title/dynamic-page-title-image.component.mjs +3 -3
  32. package/esm2022/dynamic-page/dynamic-page-header/title/dynamic-page-title.component.mjs +3 -3
  33. package/esm2022/dynamic-page/dynamic-page.component.mjs +48 -35
  34. package/esm2022/dynamic-page/dynamic-page.config.mjs +3 -3
  35. package/esm2022/dynamic-page/dynamic-page.module.mjs +4 -4
  36. package/esm2022/dynamic-page/dynamic-page.tokens.mjs +3 -0
  37. package/esm2022/dynamic-page/index.mjs +3 -2
  38. package/esm2022/dynamic-page/platform-dynamic-page.interface.mjs +2 -0
  39. package/esm2022/feed-input/feed-input.component.mjs +6 -6
  40. package/esm2022/feed-input/feed-input.module.mjs +4 -4
  41. package/esm2022/form/auto-complete/auto-complete.directive.mjs +3 -3
  42. package/esm2022/form/auto-complete/auto-complete.module.mjs +4 -4
  43. package/esm2022/form/checkbox/checkbox.component.mjs +11 -43
  44. package/esm2022/form/checkbox/checkbox.module.mjs +4 -4
  45. package/esm2022/form/checkbox-group/checkbox-group.component.mjs +21 -63
  46. package/esm2022/form/checkbox-group/checkbox-group.module.mjs +4 -4
  47. package/esm2022/form/combobox/combobox/combobox.component.mjs +33 -63
  48. package/esm2022/form/combobox/combobox-mobile/combobox/combobox-mobile.component.mjs +15 -22
  49. package/esm2022/form/combobox/combobox-mobile/combobox-mobile.module.mjs +4 -4
  50. package/esm2022/form/combobox/combobox.config.mjs +3 -3
  51. package/esm2022/form/combobox/combobox.module.mjs +4 -4
  52. package/esm2022/form/combobox/commons/base-combobox.mjs +24 -58
  53. package/esm2022/form/combobox/directives/combobox-item.directive.mjs +15 -15
  54. package/esm2022/form/date-picker/date-picker.component.mjs +21 -57
  55. package/esm2022/form/date-picker/date-picker.module.mjs +4 -4
  56. package/esm2022/form/datetime-picker/datetime-picker.component.mjs +22 -60
  57. package/esm2022/form/datetime-picker/datetime-picker.module.mjs +4 -4
  58. package/esm2022/form/form-generator/base-dynamic-form-generator-control.mjs +3 -3
  59. package/esm2022/form/form-generator/controls/dynamic-form-generator-checkbox/dynamic-form-generator-checkbox.component.mjs +5 -9
  60. package/esm2022/form/form-generator/controls/dynamic-form-generator-datepicker/dynamic-form-generator-datepicker.component.mjs +5 -9
  61. package/esm2022/form/form-generator/controls/dynamic-form-generator-editor/dynamic-form-generator-editor.component.mjs +5 -9
  62. package/esm2022/form/form-generator/controls/dynamic-form-generator-input/dynamic-form-generator-input.component.mjs +5 -9
  63. package/esm2022/form/form-generator/controls/dynamic-form-generator-multi-input/dynamic-form-generator-multi-input.component.mjs +5 -9
  64. package/esm2022/form/form-generator/controls/dynamic-form-generator-object-status/dynamic-form-generator-object-status.component.mjs +4 -4
  65. package/esm2022/form/form-generator/controls/dynamic-form-generator-radio/dynamic-form-generator-radio.component.mjs +5 -9
  66. package/esm2022/form/form-generator/controls/dynamic-form-generator-select/dynamic-form-generator-select.component.mjs +5 -9
  67. package/esm2022/form/form-generator/controls/dynamic-form-generator-switch/dynamic-form-generator-switch.component.mjs +5 -9
  68. package/esm2022/form/form-generator/dynamic-form-control-field.directive.mjs +3 -3
  69. package/esm2022/form/form-generator/dynamic-form-control.directive.mjs +3 -3
  70. package/esm2022/form/form-generator/fdp-form-generator.module.mjs +4 -4
  71. package/esm2022/form/form-generator/form-generator/form-generator.component.mjs +27 -13
  72. package/esm2022/form/form-generator/form-generator-components-accessor.service.mjs +3 -3
  73. package/esm2022/form/form-generator/form-generator-field/form-generator-field.component.mjs +3 -3
  74. package/esm2022/form/form-generator/form-generator.service.mjs +11 -16
  75. package/esm2022/form/form-generator/interfaces/dynamic-form-item.mjs +1 -1
  76. package/esm2022/form/form-generator/pipes/get-hint-options.pipe.mjs +3 -3
  77. package/esm2022/form/form-generator/pipes/get-ordered-form-controls.pipe.mjs +3 -3
  78. package/esm2022/form/form-group/fdp-form.module.mjs +4 -4
  79. package/esm2022/form/form-group/form-field/form-field.component.mjs +40 -47
  80. package/esm2022/form/form-group/form-field-error/form-field-error-description.directive.mjs +3 -3
  81. package/esm2022/form/form-group/form-field-error/form-field-error-heading.directive.mjs +3 -3
  82. package/esm2022/form/form-group/form-field-error/form-field-error.directive.mjs +3 -3
  83. package/esm2022/form/form-group/form-field-extras/form-field-extras.component.mjs +3 -3
  84. package/esm2022/form/form-group/form-field-group/form-field-group.component.mjs +4 -4
  85. package/esm2022/form/form-group/form-group-header/form-group-header.component.mjs +3 -3
  86. package/esm2022/form/form-group/form-group.component.mjs +40 -50
  87. package/esm2022/form/form-group/pipes/field-group-row-value.pipe.mjs +3 -3
  88. package/esm2022/form/form-group/services/form-field-layout.service.mjs +3 -3
  89. package/esm2022/form/input/fdp-input.module.mjs +4 -4
  90. package/esm2022/form/input/input.component.mjs +16 -48
  91. package/esm2022/form/input-group/addon-body.component.mjs +4 -5
  92. package/esm2022/form/input-group/addon.component.mjs +3 -3
  93. package/esm2022/form/input-group/input-group.component.mjs +13 -46
  94. package/esm2022/form/input-group/input-group.config.mjs +3 -3
  95. package/esm2022/form/input-group/input-group.module.mjs +4 -4
  96. package/esm2022/form/input-group/input.component.mjs +3 -3
  97. package/esm2022/form/input-message-group-with-template/input-message-group-with-template.component.mjs +3 -3
  98. package/esm2022/form/multi-combobox/commons/base-multi-combobox.mjs +64 -102
  99. package/esm2022/form/multi-combobox/multi-combobox/multi-combobox.component.mjs +25 -71
  100. package/esm2022/form/multi-combobox/multi-combobox-mobile/multi-combobox/multi-combobox-mobile.component.mjs +18 -26
  101. package/esm2022/form/multi-combobox/multi-combobox-mobile/multi-combobox-mobile.module.mjs +4 -4
  102. package/esm2022/form/multi-combobox/multi-combobox.config.mjs +3 -3
  103. package/esm2022/form/multi-combobox/multi-combobox.interface.mjs +1 -1
  104. package/esm2022/form/multi-combobox/multi-combobox.module.mjs +4 -4
  105. package/esm2022/form/multi-input/base-multi-input.mjs +43 -83
  106. package/esm2022/form/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +13 -21
  107. package/esm2022/form/multi-input/multi-input-mobile/multi-input-mobile.module.mjs +4 -4
  108. package/esm2022/form/multi-input/multi-input.component.mjs +32 -91
  109. package/esm2022/form/multi-input/multi-input.config.mjs +3 -3
  110. package/esm2022/form/multi-input/multi-input.module.mjs +4 -4
  111. package/esm2022/form/radio-group/radio/radio.component.mjs +12 -44
  112. package/esm2022/form/radio-group/radio-group.component.mjs +32 -74
  113. package/esm2022/form/radio-group/radio-group.module.mjs +4 -4
  114. package/esm2022/form/select/commons/base-select.mjs +59 -101
  115. package/esm2022/form/select/select/select.component.mjs +17 -60
  116. package/esm2022/form/select/select.config.mjs +3 -3
  117. package/esm2022/form/select/select.module.mjs +4 -4
  118. package/esm2022/form/step-input/base.step-input.mjs +72 -85
  119. package/esm2022/form/step-input/number/number-step-input.component.mjs +14 -53
  120. package/esm2022/form/step-input/step-input-action-button.mjs +9 -13
  121. package/esm2022/form/step-input/step-input-control.directive.mjs +3 -3
  122. package/esm2022/form/step-input/step-input-decrement.directive.mjs +9 -13
  123. package/esm2022/form/step-input/step-input-increment.directive.mjs +9 -13
  124. package/esm2022/form/step-input/step-input.config.mjs +3 -3
  125. package/esm2022/form/step-input/step-input.module.mjs +4 -4
  126. package/esm2022/form/switch/switch/switch.component.mjs +12 -49
  127. package/esm2022/form/switch/switch/switch.config.mjs +3 -3
  128. package/esm2022/form/switch/switch.module.mjs +4 -4
  129. package/esm2022/form/text-area/text-area.component.mjs +14 -45
  130. package/esm2022/form/text-area/text-area.config.mjs +3 -3
  131. package/esm2022/form/text-area/text-area.module.mjs +4 -4
  132. package/esm2022/form/time-picker/time-picker.component.mjs +11 -42
  133. package/esm2022/form/time-picker/time-picker.module.mjs +4 -4
  134. package/esm2022/fundamental-ngx.module.mjs +4 -4
  135. package/esm2022/icon-tab-bar/components/closable-icon-tab-bar.class.mjs +6 -6
  136. package/esm2022/icon-tab-bar/components/icon-tab-bar-base.class.mjs +85 -90
  137. package/esm2022/icon-tab-bar/components/icon-tab-bar-filter-type/icon-tab-bar-filter-type.component.mjs +21 -9
  138. package/esm2022/icon-tab-bar/components/icon-tab-bar-icon-type/icon-tab-bar-icon-type.component.mjs +26 -9
  139. package/esm2022/icon-tab-bar/components/icon-tab-bar-process-type/icon-tab-bar-process-type.component.mjs +40 -26
  140. package/esm2022/icon-tab-bar/components/icon-tab-bar-tab/icon-tab-bar-tab.component.mjs +76 -0
  141. package/esm2022/icon-tab-bar/components/icon-tab-bar-text-type/icon-tab-bar-text-type.component.mjs +28 -16
  142. package/esm2022/icon-tab-bar/components/popovers/icon-tab-bar-popover/icon-tab-bar-popover.component.mjs +14 -5
  143. package/esm2022/icon-tab-bar/components/popovers/icon-tab-bar-popover-base.class.mjs +3 -3
  144. package/esm2022/icon-tab-bar/components/popovers/text-type-popover/text-type-popover.component.mjs +5 -5
  145. package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-container.directive.mjs +12 -21
  146. package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-item.directive.mjs +10 -12
  147. package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-list.directive.mjs +10 -11
  148. package/esm2022/icon-tab-bar/directives/icon-tab-bar-free-content.directive.mjs +14 -0
  149. package/esm2022/icon-tab-bar/icon-tab-bar.component.mjs +208 -27
  150. package/esm2022/icon-tab-bar/icon-tab-bar.module.mjs +19 -9
  151. package/esm2022/icon-tab-bar/index.mjs +3 -1
  152. package/esm2022/icon-tab-bar/interfaces/tab-config.interface.mjs +1 -1
  153. package/esm2022/info-label/info-label.component.mjs +6 -4
  154. package/esm2022/info-label/info-label.module.mjs +4 -4
  155. package/esm2022/link/link.component.mjs +15 -23
  156. package/esm2022/link/link.module.mjs +4 -4
  157. package/esm2022/list/action-list-item/action-list-item.component.mjs +5 -5
  158. package/esm2022/list/action-list-item/action-list-item.module.mjs +4 -4
  159. package/esm2022/list/base-list-item.mjs +20 -22
  160. package/esm2022/list/display-list-item/display-list-item.component.mjs +5 -5
  161. package/esm2022/list/display-list-item/display-list-item.module.mjs +4 -4
  162. package/esm2022/list/free-content-list-item/free-content-list-item.component.mjs +5 -5
  163. package/esm2022/list/list-group-footer.component.mjs +5 -5
  164. package/esm2022/list/list-group-header.component.mjs +7 -7
  165. package/esm2022/list/list.component.mjs +25 -66
  166. package/esm2022/list/list.config.mjs +3 -3
  167. package/esm2022/list/list.module.mjs +4 -4
  168. package/esm2022/list/load-more-content.directive.mjs +3 -3
  169. package/esm2022/list/object-list-item/object-list-item-row.component.mjs +6 -6
  170. package/esm2022/list/object-list-item/object-list-item.component.mjs +5 -5
  171. package/esm2022/list/object-list-item/object-list-item.module.mjs +4 -4
  172. package/esm2022/list/standard-list-item/standard-list-item.component.mjs +5 -5
  173. package/esm2022/list/standard-list-item/standard-list-item.module.mjs +4 -4
  174. package/esm2022/menu/menu-item.component.mjs +5 -5
  175. package/esm2022/menu/menu-trigger.directive.mjs +3 -3
  176. package/esm2022/menu/menu.component.mjs +5 -6
  177. package/esm2022/menu/menu.module.mjs +4 -4
  178. package/esm2022/menu-button/menu-button.component.mjs +14 -9
  179. package/esm2022/menu-button/menu-button.module.mjs +4 -4
  180. package/esm2022/message-popover/components/message-popover-form-wrapper/message-popover-form-wrapper.component.mjs +11 -14
  181. package/esm2022/message-popover/components/message-view/message-view.component.mjs +4 -4
  182. package/esm2022/message-popover/directives/message-popover-form-item.directive.mjs +3 -3
  183. package/esm2022/message-popover/message-popover.component.mjs +53 -54
  184. package/esm2022/message-popover/models/message-popover-wrapper.interface.mjs +1 -1
  185. package/esm2022/message-popover/platform-message-popover.module.mjs +4 -4
  186. package/esm2022/object-marker/object-marker.component.mjs +10 -5
  187. package/esm2022/object-marker/object-marker.module.mjs +4 -4
  188. package/esm2022/object-status/object-status.component.mjs +13 -8
  189. package/esm2022/object-status/object-status.module.mjs +4 -4
  190. package/esm2022/page-footer/page-footer.component.mjs +8 -10
  191. package/esm2022/page-footer/page-footer.module.mjs +4 -4
  192. package/esm2022/panel/panel-actions.component.mjs +3 -3
  193. package/esm2022/panel/panel-content/panel-content.component.mjs +3 -3
  194. package/esm2022/panel/panel.component.mjs +8 -9
  195. package/esm2022/panel/panel.config.mjs +3 -3
  196. package/esm2022/panel/panel.module.mjs +4 -4
  197. package/esm2022/search-field/search-field-mobile/search-field/search-field-mobile.component.mjs +12 -22
  198. package/esm2022/search-field/search-field.component.mjs +36 -42
  199. package/esm2022/search-field/search-field.module.mjs +4 -4
  200. package/esm2022/settings-generator/controls/theme-selector-list/theme-selector-list.component.mjs +6 -6
  201. package/esm2022/settings-generator/default-config.mjs +2 -2
  202. package/esm2022/settings-generator/layouts/base-settings-generator-layout.mjs +3 -3
  203. package/esm2022/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-icon/settings-generator-sidebar-icon.component.mjs +3 -3
  204. package/esm2022/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-layout.component.mjs +3 -3
  205. package/esm2022/settings-generator/models/settings.model.mjs +1 -1
  206. package/esm2022/settings-generator/settings-generator-content/settings-generator-content.component.mjs +34 -28
  207. package/esm2022/settings-generator/settings-generator-content/settings-generator-section/settings-generator-section.component.mjs +4 -5
  208. package/esm2022/settings-generator/settings-generator-layout-accessor.service.mjs +3 -3
  209. package/esm2022/settings-generator/settings-generator.component.mjs +6 -6
  210. package/esm2022/settings-generator/settings-generator.module.mjs +4 -4
  211. package/esm2022/settings-generator/settings-generator.service.mjs +12 -13
  212. package/esm2022/shared/base.mjs +30 -18
  213. package/esm2022/shared/form/base.input.mjs +70 -69
  214. package/esm2022/shared/form/collection-base.input.mjs +7 -49
  215. package/esm2022/shared/form/inline-layout-collection-base.input.mjs +25 -66
  216. package/esm2022/shared/pipes/convert-bytes/convert-bytes.pipe.mjs +3 -3
  217. package/esm2022/shared/pipes/pipe.module.mjs +4 -4
  218. package/esm2022/shared/platform.config.mjs +3 -3
  219. package/esm2022/slider/slider.component.mjs +11 -43
  220. package/esm2022/slider/slider.module.mjs +4 -4
  221. package/esm2022/smart-filter-bar/components/smart-filter-bar-condition-field/base-smart-filter-bar-condition-field.mjs +11 -14
  222. package/esm2022/smart-filter-bar/components/smart-filter-bar-condition-field/smart-filter-bar-condition-field.component.mjs +8 -16
  223. package/esm2022/smart-filter-bar/components/smart-filter-bar-conditions-dialog/smart-filter-bar-conditions-dialog.component.mjs +6 -6
  224. package/esm2022/smart-filter-bar/components/smart-filter-bar-settings-dialog/smart-filter-bar-settings-dialog.component.mjs +13 -18
  225. package/esm2022/smart-filter-bar/directives/smart-filter-bar-field-definition.directive.mjs +22 -47
  226. package/esm2022/smart-filter-bar/directives/smart-filter-bar-subject.directive.mjs +12 -10
  227. package/esm2022/smart-filter-bar/directives/smart-filter-bar-toolbar-item.directive.mjs +3 -3
  228. package/esm2022/smart-filter-bar/smart-filter-bar.class.mjs +3 -3
  229. package/esm2022/smart-filter-bar/smart-filter-bar.component.mjs +73 -57
  230. package/esm2022/smart-filter-bar/smart-filter-bar.module.mjs +4 -4
  231. package/esm2022/smart-filter-bar/smart-filter-bar.service.mjs +3 -3
  232. package/esm2022/split-menu-button/split-menu-button.component.mjs +17 -24
  233. package/esm2022/split-menu-button/split-menu-button.module.mjs +4 -4
  234. package/esm2022/table/components/no-data-wrapper/no-data-wrapper.component.mjs +3 -3
  235. package/esm2022/table/components/reset-button/reset-button.component.mjs +8 -9
  236. package/esm2022/table/components/table-cell-header-popover/table-cell-header-popover.component.mjs +10 -9
  237. package/esm2022/table/components/table-column/table-column.component.mjs +3 -3
  238. package/esm2022/table/components/table-column-resizer/table-column-resizer.component.mjs +11 -14
  239. package/esm2022/table/components/table-editable-cell/table-editable-cell.component.mjs +4 -4
  240. package/esm2022/table/components/table-group-row/table-group-row.component.mjs +6 -10
  241. package/esm2022/table/components/table-header-cell-content/table-header-cell-content.component.mjs +31 -15
  242. package/esm2022/table/components/table-header-row/table-header-row.component.mjs +19 -24
  243. package/esm2022/table/components/table-p13-dialog/columns/columns.component.mjs +9 -11
  244. package/esm2022/table/components/table-p13-dialog/filtering/filter-rule.component.mjs +4 -4
  245. package/esm2022/table/components/table-p13-dialog/filtering/filtering.component.mjs +8 -11
  246. package/esm2022/table/components/table-p13-dialog/grouping/grouping.component.mjs +8 -11
  247. package/esm2022/table/components/table-p13-dialog/sorting/sorting.component.mjs +11 -14
  248. package/esm2022/table/components/table-p13-dialog/table-p13-columns.component.mjs +3 -3
  249. package/esm2022/table/components/table-p13-dialog/table-p13-dialog.component.mjs +3 -3
  250. package/esm2022/table/components/table-p13-dialog/table-p13-filter.component.mjs +3 -3
  251. package/esm2022/table/components/table-p13-dialog/table-p13-group.component.mjs +3 -3
  252. package/esm2022/table/components/table-p13-dialog/table-p13-sort.component.mjs +3 -3
  253. package/esm2022/table/components/table-popping-row/table-popping-row.component.mjs +7 -8
  254. package/esm2022/table/components/table-row/table-row.component.mjs +12 -17
  255. package/esm2022/table/components/table-toolbar/table-toolbar-actions.component.mjs +3 -3
  256. package/esm2022/table/components/table-toolbar/table-toolbar-left-actions.component.mjs +3 -3
  257. package/esm2022/table/components/table-toolbar/table-toolbar.component.mjs +38 -23
  258. package/esm2022/table/components/table-view-settings-dialog/filtering/filter-custom.component.mjs +3 -3
  259. package/esm2022/table/components/table-view-settings-dialog/filtering/filter-multi-select.component.mjs +3 -3
  260. package/esm2022/table/components/table-view-settings-dialog/filtering/filter-single-select.component.mjs +3 -3
  261. package/esm2022/table/components/table-view-settings-dialog/filtering/filter-step.component.mjs +4 -4
  262. package/esm2022/table/components/table-view-settings-dialog/filtering/filters-list-step.component.mjs +4 -4
  263. package/esm2022/table/components/table-view-settings-dialog/filtering/filters.component.mjs +8 -11
  264. package/esm2022/table/components/table-view-settings-dialog/grouping/grouping.component.mjs +9 -12
  265. package/esm2022/table/components/table-view-settings-dialog/sorting/sorting.component.mjs +9 -12
  266. package/esm2022/table/components/table-view-settings-dialog/table-view-settings-dialog.component.mjs +3 -3
  267. package/esm2022/table/components/table-view-settings-dialog/table-view-settings-filter.component.mjs +3 -3
  268. package/esm2022/table/table.component.mjs +138 -62
  269. package/esm2022/table/table.module.mjs +4 -4
  270. package/esm2022/table-helpers/directives/platform-table-column-responsive.directive.mjs +3 -3
  271. package/esm2022/table-helpers/directives/table-cell-header-popover.directive.mjs +4 -4
  272. package/esm2022/table-helpers/directives/table-cell-resizable.directive.mjs +20 -23
  273. package/esm2022/table-helpers/directives/table-cell-selectable.directive.mjs +3 -3
  274. package/esm2022/table-helpers/directives/table-cell.directive.mjs +12 -12
  275. package/esm2022/table-helpers/directives/table-data-source.directive.mjs +10 -9
  276. package/esm2022/table-helpers/directives/table-draggable.directive.mjs +3 -3
  277. package/esm2022/table-helpers/directives/table-header-resizer.directive.mjs +3 -3
  278. package/esm2022/table-helpers/directives/table-header.directive.mjs +6 -6
  279. package/esm2022/table-helpers/directives/table-initial-state.directive.mjs +5 -5
  280. package/esm2022/table-helpers/directives/table-scrollable.directive.mjs +3 -3
  281. package/esm2022/table-helpers/directives/table-view-settings-filter-custom.directive.mjs +3 -3
  282. package/esm2022/table-helpers/directives/table-virtual-scroll.directive.mjs +3 -3
  283. package/esm2022/table-helpers/pipes/cell-styles.pipe.mjs +3 -3
  284. package/esm2022/table-helpers/pipes/column-resizable-side.pipe.mjs +3 -3
  285. package/esm2022/table-helpers/pipes/column-sorting-direction.pipe.mjs +3 -3
  286. package/esm2022/table-helpers/pipes/row-classes.pipe.mjs +3 -3
  287. package/esm2022/table-helpers/pipes/selection-cell-styles.pipe.mjs +3 -3
  288. package/esm2022/table-helpers/services/table-column-resize.service.mjs +22 -20
  289. package/esm2022/table-helpers/services/table-responsive.service.mjs +9 -14
  290. package/esm2022/table-helpers/services/table-row.service.mjs +3 -3
  291. package/esm2022/table-helpers/services/table-scroll-dispatcher.service.mjs +3 -3
  292. package/esm2022/table-helpers/services/table.service.mjs +23 -21
  293. package/esm2022/table-helpers/table-helpers.module.mjs +4 -4
  294. package/esm2022/table-helpers/table.mjs +1 -1
  295. package/esm2022/value-help-dialog/components/base-tab/vhd-base-tab.component.mjs +3 -3
  296. package/esm2022/value-help-dialog/components/define-tab/define-tab.component.mjs +4 -4
  297. package/esm2022/value-help-dialog/components/select-tab/select-tab.component.mjs +28 -8
  298. package/esm2022/value-help-dialog/components/value-help-dialog-filter/value-help-dialog-filter.component.mjs +9 -5
  299. package/esm2022/value-help-dialog/directives/condition-count-message.directive.mjs +3 -3
  300. package/esm2022/value-help-dialog/directives/value-help-column-def.directive.mjs +24 -0
  301. package/esm2022/value-help-dialog/directives/value-help-filter-def.directive.mjs +22 -0
  302. package/esm2022/value-help-dialog/index.mjs +3 -1
  303. package/esm2022/value-help-dialog/models/vhd-component.model.mjs +3 -0
  304. package/esm2022/value-help-dialog/models/vhd-filter.model.mjs +1 -1
  305. package/esm2022/value-help-dialog/value-help-dialog/value-help-dialog.component.mjs +59 -32
  306. package/esm2022/value-help-dialog/value-help-dialog.module.mjs +4 -4
  307. package/esm2022/variant-management/components/manage-variant-item/manage-variant-item.component.mjs +4 -4
  308. package/esm2022/variant-management/components/manage-variants-dialog/manage-variants-dialog.component.mjs +6 -6
  309. package/esm2022/variant-management/components/variant-management-wrapper/variant-management-wrapper.component.mjs +3 -3
  310. package/esm2022/variant-management/directives/variant-management-dirty-label.directive.mjs +3 -3
  311. package/esm2022/variant-management/variant-management.component.mjs +47 -13
  312. package/esm2022/variant-management/variant-management.module.mjs +4 -4
  313. package/esm2022/wizard-generator/base-wizard-generator.mjs +21 -28
  314. package/esm2022/wizard-generator/components/dialog-wizard-generator/dialog-wizard-generator.component.mjs +19 -19
  315. package/esm2022/wizard-generator/components/wizard-body/wizard-body.component.mjs +12 -18
  316. package/esm2022/wizard-generator/components/wizard-generator/wizard-generator.component.mjs +7 -12
  317. package/esm2022/wizard-generator/components/wizard-generator-step/wizard-generator-step.component.mjs +11 -10
  318. package/esm2022/wizard-generator/components/wizard-summary-step/wizard-summary-section/wizard-summary-section.component.mjs +4 -4
  319. package/esm2022/wizard-generator/components/wizard-summary-step/wizard-summary-step.component.mjs +3 -3
  320. package/esm2022/wizard-generator/directives/wizard-generator-finish-button.directive.mjs +3 -3
  321. package/esm2022/wizard-generator/directives/wizard-generator-go-next-button.directive.mjs +3 -3
  322. package/esm2022/wizard-generator/directives/wizard-generator-review-button.directive.mjs +3 -3
  323. package/esm2022/wizard-generator/directives/wizard-generator-summary-step.directive.mjs +3 -3
  324. package/esm2022/wizard-generator/wizard-dialog-generator.service.mjs +3 -3
  325. package/esm2022/wizard-generator/wizard-generator.module.mjs +4 -4
  326. package/esm2022/wizard-generator/wizard-generator.service.mjs +3 -3
  327. package/fesm2022/fundamental-ngx-platform-approval-flow.mjs +42 -44
  328. package/fesm2022/fundamental-ngx-platform-approval-flow.mjs.map +1 -1
  329. package/fesm2022/fundamental-ngx-platform-button.mjs +16 -17
  330. package/fesm2022/fundamental-ngx-platform-button.mjs.map +1 -1
  331. package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs +88 -130
  332. package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs.map +1 -1
  333. package/fesm2022/fundamental-ngx-platform-feed-input.mjs +9 -9
  334. package/fesm2022/fundamental-ngx-platform-feed-input.mjs.map +1 -1
  335. package/fesm2022/fundamental-ngx-platform-form.mjs +853 -1636
  336. package/fesm2022/fundamental-ngx-platform-form.mjs.map +1 -1
  337. package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs +532 -220
  338. package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs.map +1 -1
  339. package/fesm2022/fundamental-ngx-platform-info-label.mjs +9 -7
  340. package/fesm2022/fundamental-ngx-platform-info-label.mjs.map +1 -1
  341. package/fesm2022/fundamental-ngx-platform-link.mjs +18 -26
  342. package/fesm2022/fundamental-ngx-platform-link.mjs.map +1 -1
  343. package/fesm2022/fundamental-ngx-platform-list.mjs +104 -143
  344. package/fesm2022/fundamental-ngx-platform-list.mjs.map +1 -1
  345. package/fesm2022/fundamental-ngx-platform-menu-button.mjs +16 -11
  346. package/fesm2022/fundamental-ngx-platform-menu-button.mjs.map +1 -1
  347. package/fesm2022/fundamental-ngx-platform-menu.mjs +16 -16
  348. package/fesm2022/fundamental-ngx-platform-menu.mjs.map +1 -1
  349. package/fesm2022/fundamental-ngx-platform-message-popover.mjs +71 -74
  350. package/fesm2022/fundamental-ngx-platform-message-popover.mjs.map +1 -1
  351. package/fesm2022/fundamental-ngx-platform-object-marker.mjs +13 -8
  352. package/fesm2022/fundamental-ngx-platform-object-marker.mjs.map +1 -1
  353. package/fesm2022/fundamental-ngx-platform-object-status.mjs +16 -11
  354. package/fesm2022/fundamental-ngx-platform-object-status.mjs.map +1 -1
  355. package/fesm2022/fundamental-ngx-platform-page-footer.mjs +10 -12
  356. package/fesm2022/fundamental-ngx-platform-page-footer.mjs.map +1 -1
  357. package/fesm2022/fundamental-ngx-platform-panel.mjs +19 -20
  358. package/fesm2022/fundamental-ngx-platform-panel.mjs.map +1 -1
  359. package/fesm2022/fundamental-ngx-platform-search-field.mjs +49 -77
  360. package/fesm2022/fundamental-ngx-platform-search-field.mjs.map +1 -1
  361. package/fesm2022/fundamental-ngx-platform-settings-generator.mjs +75 -72
  362. package/fesm2022/fundamental-ngx-platform-settings-generator.mjs.map +1 -1
  363. package/fesm2022/fundamental-ngx-platform-shared.mjs +162 -218
  364. package/fesm2022/fundamental-ngx-platform-shared.mjs.map +1 -1
  365. package/fesm2022/fundamental-ngx-platform-slider.mjs +12 -44
  366. package/fesm2022/fundamental-ngx-platform-slider.mjs.map +1 -1
  367. package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs +144 -162
  368. package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs.map +1 -1
  369. package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs +20 -27
  370. package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs.map +1 -1
  371. package/fesm2022/fundamental-ngx-platform-table-helpers.mjs +143 -148
  372. package/fesm2022/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
  373. package/fesm2022/fundamental-ngx-platform-table.mjs +366 -291
  374. package/fesm2022/fundamental-ngx-platform-table.mjs.map +1 -1
  375. package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs +144 -53
  376. package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
  377. package/fesm2022/fundamental-ngx-platform-variant-management.mjs +63 -30
  378. package/fesm2022/fundamental-ngx-platform-variant-management.mjs.map +1 -1
  379. package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs +82 -98
  380. package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs.map +1 -1
  381. package/fesm2022/fundamental-ngx-platform.mjs +4 -4
  382. package/form/checkbox/checkbox.component.d.ts +4 -6
  383. package/form/checkbox-group/checkbox-group.component.d.ts +3 -8
  384. package/form/combobox/combobox/combobox.component.d.ts +4 -12
  385. package/form/combobox/combobox-mobile/combobox/combobox-mobile.component.d.ts +5 -8
  386. package/form/combobox/commons/base-combobox.d.ts +4 -9
  387. package/form/date-picker/date-picker.component.d.ts +8 -11
  388. package/form/datetime-picker/datetime-picker.component.d.ts +9 -11
  389. package/form/form-generator/controls/dynamic-form-generator-checkbox/dynamic-form-generator-checkbox.component.d.ts +0 -2
  390. package/form/form-generator/controls/dynamic-form-generator-datepicker/dynamic-form-generator-datepicker.component.d.ts +0 -2
  391. package/form/form-generator/controls/dynamic-form-generator-editor/dynamic-form-generator-editor.component.d.ts +0 -2
  392. package/form/form-generator/controls/dynamic-form-generator-input/dynamic-form-generator-input.component.d.ts +0 -2
  393. package/form/form-generator/controls/dynamic-form-generator-multi-input/dynamic-form-generator-multi-input.component.d.ts +0 -2
  394. package/form/form-generator/controls/dynamic-form-generator-radio/dynamic-form-generator-radio.component.d.ts +0 -2
  395. package/form/form-generator/controls/dynamic-form-generator-select/dynamic-form-generator-select.component.d.ts +0 -2
  396. package/form/form-generator/controls/dynamic-form-generator-switch/dynamic-form-generator-switch.component.d.ts +0 -2
  397. package/form/form-generator/form-generator/form-generator.component.d.ts +3 -1
  398. package/form/form-generator/form-generator.service.d.ts +3 -7
  399. package/form/form-generator/interfaces/dynamic-form-item.d.ts +5 -5
  400. package/form/form-group/form-field/form-field.component.d.ts +16 -20
  401. package/form/form-group/form-group.component.d.ts +36 -35
  402. package/form/input/input.component.d.ts +3 -6
  403. package/form/input-group/addon-body.component.d.ts +0 -1
  404. package/form/input-group/input-group.component.d.ts +4 -5
  405. package/form/multi-combobox/commons/base-multi-combobox.d.ts +13 -16
  406. package/form/multi-combobox/multi-combobox/multi-combobox.component.d.ts +4 -12
  407. package/form/multi-combobox/multi-combobox-mobile/multi-combobox/multi-combobox-mobile.component.d.ts +6 -9
  408. package/form/multi-combobox/multi-combobox.interface.d.ts +3 -3
  409. package/form/multi-input/base-multi-input.d.ts +10 -15
  410. package/form/multi-input/multi-input-mobile/multi-input-mobile.component.d.ts +5 -8
  411. package/form/multi-input/multi-input.component.d.ts +7 -37
  412. package/form/radio-group/radio/radio.component.d.ts +4 -5
  413. package/form/radio-group/radio-group.component.d.ts +7 -11
  414. package/form/select/commons/base-select.d.ts +11 -18
  415. package/form/select/select/select.component.d.ts +2 -15
  416. package/form/step-input/base.step-input.d.ts +13 -14
  417. package/form/step-input/number/number-step-input.component.d.ts +2 -7
  418. package/form/step-input/step-input-action-button.d.ts +4 -7
  419. package/form/step-input/step-input-decrement.directive.d.ts +2 -5
  420. package/form/step-input/step-input-increment.directive.d.ts +2 -5
  421. package/form/switch/switch/switch.component.d.ts +5 -8
  422. package/form/text-area/text-area.component.d.ts +4 -5
  423. package/form/time-picker/time-picker.component.d.ts +4 -5
  424. package/fundamental-ngx-platform-v0.48.0.tgz +0 -0
  425. package/icon-tab-bar/components/icon-tab-bar-base.class.d.ts +19 -20
  426. package/icon-tab-bar/components/icon-tab-bar-icon-type/icon-tab-bar-icon-type.component.d.ts +2 -0
  427. package/icon-tab-bar/components/icon-tab-bar-tab/icon-tab-bar-tab.component.d.ts +45 -0
  428. package/icon-tab-bar/components/icon-tab-bar-text-type/icon-tab-bar-text-type.component.d.ts +1 -3
  429. package/icon-tab-bar/directives/dnd/icon-bar-dnd-container.directive.d.ts +5 -8
  430. package/icon-tab-bar/directives/dnd/icon-bar-dnd-item.directive.d.ts +1 -1
  431. package/icon-tab-bar/directives/dnd/icon-bar-dnd-list.directive.d.ts +1 -1
  432. package/icon-tab-bar/directives/icon-tab-bar-free-content.directive.d.ts +5 -0
  433. package/icon-tab-bar/icon-tab-bar.component.d.ts +82 -8
  434. package/icon-tab-bar/icon-tab-bar.module.d.ts +7 -1
  435. package/icon-tab-bar/index.d.ts +2 -0
  436. package/icon-tab-bar/interfaces/tab-config.interface.d.ts +13 -5
  437. package/info-label/info-label.component.d.ts +2 -2
  438. package/link/link.component.d.ts +4 -7
  439. package/list/base-list-item.d.ts +4 -6
  440. package/list/list.component.d.ts +6 -15
  441. package/menu-button/menu-button.component.d.ts +7 -4
  442. package/message-popover/components/message-popover-form-wrapper/message-popover-form-wrapper.component.d.ts +2 -4
  443. package/message-popover/message-popover.component.d.ts +13 -20
  444. package/message-popover/models/message-popover-wrapper.interface.d.ts +2 -2
  445. package/object-marker/object-marker.component.d.ts +4 -1
  446. package/object-status/object-status.component.d.ts +4 -1
  447. package/package.json +4 -4
  448. package/page-footer/page-footer.component.d.ts +2 -4
  449. package/panel/panel.component.d.ts +2 -3
  450. package/search-field/search-field-mobile/search-field/search-field-mobile.component.d.ts +7 -10
  451. package/search-field/search-field.component.d.ts +10 -19
  452. package/settings-generator/models/settings.model.d.ts +7 -6
  453. package/settings-generator/settings-generator-content/settings-generator-content.component.d.ts +31 -12
  454. package/settings-generator/settings-generator-content/settings-generator-section/settings-generator-section.component.d.ts +0 -2
  455. package/settings-generator/settings-generator.component.d.ts +3 -3
  456. package/settings-generator/settings-generator.service.d.ts +1 -1
  457. package/shared/base.d.ts +11 -4
  458. package/shared/form/base.input.d.ts +24 -16
  459. package/shared/form/collection-base.input.d.ts +1 -9
  460. package/shared/form/inline-layout-collection-base.input.d.ts +5 -12
  461. package/slider/slider.component.d.ts +3 -6
  462. package/smart-filter-bar/components/smart-filter-bar-condition-field/base-smart-filter-bar-condition-field.d.ts +3 -5
  463. package/smart-filter-bar/components/smart-filter-bar-condition-field/smart-filter-bar-condition-field.component.d.ts +0 -5
  464. package/smart-filter-bar/components/smart-filter-bar-settings-dialog/smart-filter-bar-settings-dialog.component.d.ts +4 -8
  465. package/smart-filter-bar/directives/smart-filter-bar-field-definition.directive.d.ts +8 -17
  466. package/smart-filter-bar/directives/smart-filter-bar-subject.directive.d.ts +2 -0
  467. package/smart-filter-bar/smart-filter-bar.component.d.ts +28 -22
  468. package/split-menu-button/split-menu-button.component.d.ts +11 -14
  469. package/table/components/reset-button/reset-button.component.d.ts +2 -3
  470. package/table/components/table-cell-header-popover/table-cell-header-popover.component.d.ts +4 -3
  471. package/table/components/table-column-resizer/table-column-resizer.component.d.ts +4 -5
  472. package/table/components/table-group-row/table-group-row.component.d.ts +2 -5
  473. package/table/components/table-header-cell-content/table-header-cell-content.component.d.ts +11 -6
  474. package/table/components/table-header-row/table-header-row.component.d.ts +1 -3
  475. package/table/components/table-p13-dialog/columns/columns.component.d.ts +2 -4
  476. package/table/components/table-p13-dialog/filtering/filtering.component.d.ts +1 -4
  477. package/table/components/table-p13-dialog/grouping/grouping.component.d.ts +1 -4
  478. package/table/components/table-p13-dialog/sorting/sorting.component.d.ts +1 -4
  479. package/table/components/table-row/table-row.component.d.ts +2 -2
  480. package/table/components/table-toolbar/table-toolbar.component.d.ts +24 -8
  481. package/table/components/table-view-settings-dialog/filtering/filters.component.d.ts +1 -4
  482. package/table/components/table-view-settings-dialog/grouping/grouping.component.d.ts +1 -4
  483. package/table/components/table-view-settings-dialog/sorting/sorting.component.d.ts +1 -4
  484. package/table/table.component.d.ts +29 -19
  485. package/table-helpers/directives/table-cell-header-popover.directive.d.ts +2 -3
  486. package/table-helpers/directives/table-cell-resizable.directive.d.ts +1 -3
  487. package/table-helpers/directives/table-data-source.directive.d.ts +1 -1
  488. package/table-helpers/services/table-column-resize.service.d.ts +4 -2
  489. package/table-helpers/services/table-responsive.service.d.ts +3 -5
  490. package/table-helpers/services/table.service.d.ts +12 -10
  491. package/table-helpers/table.d.ts +1 -0
  492. package/value-help-dialog/components/select-tab/select-tab.component.d.ts +9 -2
  493. package/value-help-dialog/components/value-help-dialog-filter/value-help-dialog-filter.component.d.ts +5 -1
  494. package/value-help-dialog/directives/value-help-column-def.directive.d.ts +17 -0
  495. package/value-help-dialog/directives/value-help-filter-def.directive.d.ts +15 -0
  496. package/value-help-dialog/index.d.ts +2 -0
  497. package/value-help-dialog/models/vhd-component.model.d.ts +5 -0
  498. package/value-help-dialog/models/vhd-filter.model.d.ts +3 -0
  499. package/value-help-dialog/value-help-dialog/value-help-dialog.component.d.ts +14 -7
  500. package/variant-management/variant-management.component.d.ts +19 -6
  501. package/wizard-generator/base-wizard-generator.d.ts +9 -12
  502. package/wizard-generator/components/dialog-wizard-generator/dialog-wizard-generator.component.d.ts +2 -3
  503. package/wizard-generator/components/wizard-body/wizard-body.component.d.ts +3 -7
  504. package/wizard-generator/components/wizard-generator/wizard-generator.component.d.ts +1 -4
  505. package/wizard-generator/components/wizard-generator-step/wizard-generator-step.component.d.ts +1 -1
  506. package/dynamic-page/dynamic-page.service.d.ts +0 -35
  507. package/esm2022/dynamic-page/dynamic-page.service.mjs +0 -58
  508. package/esm2022/search-field/search-field-mobile/search-field-mobile.module.mjs +0 -16
  509. package/fundamental-ngx-platform-v0.48.0-rc.9.tgz +0 -0
  510. package/search-field/search-field-mobile/search-field-mobile.module.d.ts +0 -7
@@ -144,10 +144,10 @@ export class TableScrollableDirective {
144
144
  });
145
145
  });
146
146
  }
147
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TableScrollableDirective, deps: [{ token: i0.ElementRef }, { token: i1.TableScrollDispatcherService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
148
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.4", type: TableScrollableDirective, isStandalone: true, selector: "[fdpTableScrollable]", providers: [{ provide: TABLE_SCROLLABLE, useExisting: forwardRef(() => TableScrollableDirective) }], exportAs: ["tableScrollable"], ngImport: i0 }); }
147
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TableScrollableDirective, deps: [{ token: i0.ElementRef }, { token: i1.TableScrollDispatcherService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
148
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.8", type: TableScrollableDirective, isStandalone: true, selector: "[fdpTableScrollable]", providers: [{ provide: TABLE_SCROLLABLE, useExisting: forwardRef(() => TableScrollableDirective) }], exportAs: ["tableScrollable"], ngImport: i0 }); }
149
149
  }
150
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TableScrollableDirective, decorators: [{
150
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TableScrollableDirective, decorators: [{
151
151
  type: Directive,
152
152
  args: [{
153
153
  selector: '[fdpTableScrollable]',
@@ -10,10 +10,10 @@ export class FdpViewSettingsFilterCustomDef {
10
10
  constructor(templateRef) {
11
11
  this.templateRef = templateRef;
12
12
  }
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: FdpViewSettingsFilterCustomDef, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
14
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.4", type: FdpViewSettingsFilterCustomDef, isStandalone: true, selector: "[fdpViewSettingsFilterCustomDef]", ngImport: i0 }); }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: FdpViewSettingsFilterCustomDef, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
14
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.8", type: FdpViewSettingsFilterCustomDef, isStandalone: true, selector: "[fdpViewSettingsFilterCustomDef]", ngImport: i0 }); }
15
15
  }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: FdpViewSettingsFilterCustomDef, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: FdpViewSettingsFilterCustomDef, decorators: [{
17
17
  type: Directive,
18
18
  args: [{ selector: '[fdpViewSettingsFilterCustomDef]', standalone: true }]
19
19
  }], ctorParameters: () => [{ type: i0.TemplateRef }] });
@@ -89,15 +89,15 @@ export class TableVirtualScrollDirective extends TableVirtualScroll {
89
89
  });
90
90
  });
91
91
  }
92
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TableVirtualScrollDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
93
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.4", type: TableVirtualScrollDirective, isStandalone: true, selector: "fdp-table[virtualScroll]", inputs: { virtualScroll: "virtualScroll", renderAhead: "renderAhead", bodyHeight: "bodyHeight", rowHeight: "rowHeight" }, providers: [
92
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TableVirtualScrollDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
93
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.8", type: TableVirtualScrollDirective, isStandalone: true, selector: "fdp-table[virtualScroll]", inputs: { virtualScroll: "virtualScroll", renderAhead: "renderAhead", bodyHeight: "bodyHeight", rowHeight: "rowHeight" }, providers: [
94
94
  {
95
95
  provide: FDP_TABLE_VIRTUAL_SCROLL_DIRECTIVE,
96
96
  useExisting: TableVirtualScrollDirective
97
97
  }
98
98
  ], usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
99
99
  }
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TableVirtualScrollDirective, decorators: [{
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TableVirtualScrollDirective, decorators: [{
101
101
  type: Directive,
102
102
  args: [{
103
103
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -33,10 +33,10 @@ export class TableCellStylesPipe {
33
33
  }
34
34
  return styles;
35
35
  }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TableCellStylesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
37
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: TableCellStylesPipe, isStandalone: true, name: "tableCellStyles" }); }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TableCellStylesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
37
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: TableCellStylesPipe, isStandalone: true, name: "tableCellStyles" }); }
38
38
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TableCellStylesPipe, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TableCellStylesPipe, decorators: [{
40
40
  type: Pipe,
41
41
  args: [{ name: 'tableCellStyles', standalone: true }]
42
42
  }] });
@@ -12,10 +12,10 @@ export class ColumnResizableSidePipe {
12
12
  }
13
13
  return 'both';
14
14
  }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ColumnResizableSidePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
16
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: ColumnResizableSidePipe, isStandalone: true, name: "columnResizableSide" }); }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ColumnResizableSidePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
16
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: ColumnResizableSidePipe, isStandalone: true, name: "columnResizableSide" }); }
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ColumnResizableSidePipe, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ColumnResizableSidePipe, decorators: [{
19
19
  type: Pipe,
20
20
  args: [{ name: 'columnResizableSide', standalone: true }]
21
21
  }] });
@@ -13,10 +13,10 @@ export class TableColumnSortingDirectionPipe {
13
13
  }
14
14
  return ARIA_SORT[sorting.direction];
15
15
  }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TableColumnSortingDirectionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
17
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: TableColumnSortingDirectionPipe, isStandalone: true, name: "fdpTableColumnSortingDirection" }); }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TableColumnSortingDirectionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
17
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: TableColumnSortingDirectionPipe, isStandalone: true, name: "fdpTableColumnSortingDirection" }); }
18
18
  }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TableColumnSortingDirectionPipe, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TableColumnSortingDirectionPipe, decorators: [{
20
20
  type: Pipe,
21
21
  args: [{
22
22
  pure: true,
@@ -23,10 +23,10 @@ export class RowClassesPipe {
23
23
  }
24
24
  return rowClasses.trim();
25
25
  }
26
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: RowClassesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
27
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: RowClassesPipe, isStandalone: true, name: "rowClasses" }); }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RowClassesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
27
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: RowClassesPipe, isStandalone: true, name: "rowClasses" }); }
28
28
  }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: RowClassesPipe, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RowClassesPipe, decorators: [{
30
30
  type: Pipe,
31
31
  args: [{ name: 'rowClasses', standalone: true }]
32
32
  }] });
@@ -16,10 +16,10 @@ export class SelectionCellStylesPipe {
16
16
  'max-width': selectionColumnWidth
17
17
  };
18
18
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: SelectionCellStylesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
20
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: SelectionCellStylesPipe, isStandalone: true, name: "selectionCellStyles" }); }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SelectionCellStylesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
20
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: SelectionCellStylesPipe, isStandalone: true, name: "selectionCellStyles" }); }
21
21
  }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: SelectionCellStylesPipe, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SelectionCellStylesPipe, decorators: [{
23
23
  type: Pipe,
24
24
  args: [{ name: 'selectionCellStyles', standalone: true }]
25
25
  }] });
@@ -1,8 +1,9 @@
1
- import { Injectable, Optional } from '@angular/core';
1
+ import { DestroyRef, Injectable, Optional, computed, inject, signal } from '@angular/core';
2
2
  import { BehaviorSubject, Subject, Subscription, fromEvent } from 'rxjs';
3
- import { debounceTime, takeUntil } from 'rxjs/operators';
3
+ import { debounceTime } from 'rxjs/operators';
4
4
  import { RtlService } from '@fundamental-ngx/cdk/utils';
5
5
  import { TABLE_COLUMN_MIN_WIDTH } from '../constants';
6
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
6
7
  import { TableScrollDispatcherService } from './table-scroll-dispatcher.service';
7
8
  import * as i0 from "@angular/core";
8
9
  import * as i1 from "./table-scroll-dispatcher.service";
@@ -32,13 +33,11 @@ export class TableColumnResizeService {
32
33
  return this._fixedColumnsWidthMap.size === this._visibleColumnNames.length;
33
34
  }
34
35
  /** @hidden */
35
- get _rtl() {
36
- return this._rtlService?.rtl.getValue();
37
- }
38
- /** @hidden */
39
36
  constructor(_tableScrollDispatcherService, _rtlService) {
40
37
  this._tableScrollDispatcherService = _tableScrollDispatcherService;
41
38
  this._rtlService = _rtlService;
39
+ /** Subject that emits new map of fixed columns and their respective width. */
40
+ this.fixedColumsWidthChange = new BehaviorSubject(new Map());
42
41
  /** @hidden */
43
42
  this._fixedColumnsWidthMap = new Map();
44
43
  /** @hidden */
@@ -66,26 +65,26 @@ export class TableColumnResizeService {
66
65
  /** @hidden */
67
66
  this._markForCheck = new Subject();
68
67
  /** @hidden */
69
- this._destroyed = new Subject();
68
+ this._destroyed = inject(DestroyRef);
70
69
  /** @hidden */
71
70
  this._resizerMoveSubscription = new Subscription();
72
71
  /** Resize progress stream. */
73
72
  this.resizeInProgress$ = new BehaviorSubject(this._resizeInProgress);
74
73
  /** Whether cell mock should be visible. */
75
- this.cellMockVisible$ = new BehaviorSubject(false);
74
+ this.cellMockVisible$ = signal(false);
76
75
  /** Resizer position stream. */
77
76
  this.resizerPosition$ = new BehaviorSubject(0);
77
+ /** @hidden */
78
+ this._rtl$ = computed(() => !!this._rtlService?.rtlSignal());
78
79
  this._tableScrollDispatcherService
79
80
  ?.horizontallyScrolled()
80
- .pipe(takeUntil(this._destroyed))
81
+ .pipe(takeUntilDestroyed(this._destroyed))
81
82
  .subscribe((scrollable) => (this._scrollLeft = scrollable.getScrollLeft()));
82
83
  }
83
84
  /** @hidden */
84
85
  ngOnDestroy() {
85
86
  this._resizeInProgress = false;
86
87
  this.resizeInProgress$.next(false);
87
- this._destroyed.next();
88
- this._destroyed.complete();
89
88
  this._resizerMoveSubscription.unsubscribe();
90
89
  }
91
90
  /** @hidden */
@@ -170,6 +169,7 @@ export class TableColumnResizeService {
170
169
  /** Register the value of column width that changed from input */
171
170
  setCustomWidth(columnName, value) {
172
171
  this._fixedColumnsWidthMap.set(columnName, value);
172
+ this.fixedColumsWidthChange.next(this._fixedColumnsWidthMap);
173
173
  }
174
174
  /** Set the appropriate column resizer position. */
175
175
  setInitialResizerPosition(resizerPosition, resizedColumn) {
@@ -180,7 +180,7 @@ export class TableColumnResizeService {
180
180
  this._resizerPosition = null;
181
181
  this.resizerPosition$.next(this.resizerPosition);
182
182
  if (resizerPosition != null) {
183
- const scrollLeftOffset = this._scrollLeft * (this._rtl ? 1 : -1);
183
+ const scrollLeftOffset = this._scrollLeft * (this._rtl$() ? 1 : -1);
184
184
  this._resizerPosition = resizerPosition - TABLE_RESIZER_BORDER_WIDTH + scrollLeftOffset;
185
185
  this.resizerPosition$.next(this.resizerPosition);
186
186
  }
@@ -212,7 +212,7 @@ export class TableColumnResizeService {
212
212
  this.resizerPosition$.next(this.resizerPosition);
213
213
  if (this._startX != null) {
214
214
  const clientStartX = this._clientStartX ?? 0;
215
- const diffX = this._rtl ? clientStartX - event.clientX : event.clientX - clientStartX;
215
+ const diffX = this._rtl$() ? clientStartX - event.clientX : event.clientX - clientStartX;
216
216
  this._processResize(diffX);
217
217
  }
218
218
  this._startX = null;
@@ -235,6 +235,7 @@ export class TableColumnResizeService {
235
235
  this._fixedColumnsWidthMap.set(columnName, cells[0].nativeElement.getBoundingClientRect().width + 'px');
236
236
  }
237
237
  }
238
+ this.fixedColumsWidthChange.next(this._fixedColumnsWidthMap);
238
239
  }
239
240
  /**
240
241
  * In case "_resizedColumn" is freezable, make sure the overall width of freezable columns does not exceed the width of the table.
@@ -257,9 +258,10 @@ export class TableColumnResizeService {
257
258
  }
258
259
  const updatedWidth = columnWidth + diffX;
259
260
  this._fixedColumnsWidthMap.set(this._resizedColumn, updatedWidth + 'px');
261
+ this.fixedColumsWidthChange.next(this._fixedColumnsWidthMap);
260
262
  this.updateFrozenColumnsWidthAfterResize(this._resizedColumn, diffX);
261
- const computed = window.getComputedStyle(resizedElement);
262
- const padding = parseInt(computed.paddingLeft, 10) + parseInt(computed.paddingRight, 10);
263
+ const computedStyles = window.getComputedStyle(resizedElement);
264
+ const padding = parseInt(computedStyles.paddingLeft, 10) + parseInt(computedStyles.paddingRight, 10);
263
265
  this._updateHeaderOverflowState(updatedWidth - padding);
264
266
  this._markForCheck.next();
265
267
  }
@@ -269,7 +271,7 @@ export class TableColumnResizeService {
269
271
  .pipe(debounceTime(10))
270
272
  .subscribe((event) => {
271
273
  const clientStartX = this._clientStartX ?? 0;
272
- const diffX = this._rtl ? clientStartX - event.clientX : event.clientX - clientStartX;
274
+ const diffX = this._rtl$() ? clientStartX - event.clientX : event.clientX - clientStartX;
273
275
  this._resizerPosition = (this._startX ?? 0) + diffX;
274
276
  this.resizerPosition$.next(this.resizerPosition);
275
277
  this._markForCheck.next();
@@ -291,12 +293,12 @@ export class TableColumnResizeService {
291
293
  }
292
294
  visibleColumn.headerOverflows = headerTextElem.scrollWidth > updatedWidth;
293
295
  }
294
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TableColumnResizeService, deps: [{ token: i1.TableScrollDispatcherService }, { token: i2.RtlService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
295
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TableColumnResizeService }); }
296
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TableColumnResizeService, deps: [{ token: i1.TableScrollDispatcherService }, { token: i2.RtlService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
297
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TableColumnResizeService }); }
296
298
  }
297
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TableColumnResizeService, decorators: [{
299
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TableColumnResizeService, decorators: [{
298
300
  type: Injectable
299
301
  }], ctorParameters: () => [{ type: i1.TableScrollDispatcherService }, { type: i2.RtlService, decorators: [{
300
302
  type: Optional
301
303
  }] }] });
302
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLXJlc2l6ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS90YWJsZS1oZWxwZXJzL3NlcnZpY2VzL3RhYmxlLWNvbHVtbi1yZXNpemUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsVUFBVSxFQUFhLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZUFBZSxFQUFjLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUd0RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7OztBQUVqRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxDQUFDLENBQUM7QUFFNUM7Ozs7O0dBS0c7QUFFSCxNQUFNLE9BQU8sd0JBQXdCO0lBb0RqQyxnREFBZ0Q7SUFDaEQsSUFBSSxnQkFBZ0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDbEMsQ0FBQztJQVFELHVDQUF1QztJQUN2QyxJQUFJLGVBQWU7UUFDZixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUtELHFDQUFxQztJQUNyQyxJQUFJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVELDZEQUE2RDtJQUM3RCxJQUFJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQztJQUMvRSxDQUFDO0lBRUQsY0FBYztJQUNkLElBQVksSUFBSTtRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVELGNBQWM7SUFDZCxZQUNxQiw2QkFBMkQsRUFDL0MsV0FBdUI7UUFEbkMsa0NBQTZCLEdBQTdCLDZCQUE2QixDQUE4QjtRQUMvQyxnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQXhGeEQsY0FBYztRQUNOLDBCQUFxQixHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO1FBRTFELGNBQWM7UUFDTixvQkFBZSxHQUFHLElBQUksR0FBRyxFQUFrRCxDQUFDO1FBRXBGLGNBQWM7UUFDTix3QkFBbUIsR0FBYSxFQUFFLENBQUM7UUFFM0MsY0FBYztRQUNOLG1DQUE4QixHQUFHLElBQUksR0FBRyxFQUE4QixDQUFDO1FBRS9FLGNBQWM7UUFDTixvQ0FBK0IsR0FBRyxJQUFJLEdBQUcsRUFBOEIsQ0FBQztRQUVoRixjQUFjO1FBQ04sa0NBQTZCLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7UUFFbEUsY0FBYztRQUNOLG1DQUE4QixHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO1FBRW5FLGNBQWM7UUFDTixZQUFPLEdBQWtCLElBQUksQ0FBQztRQUV0QyxjQUFjO1FBQ04sa0JBQWEsR0FBa0IsSUFBSSxDQUFDO1FBRTVDLGNBQWM7UUFDTixzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFLbEMsY0FBYztRQUNOLHFCQUFnQixHQUFrQixJQUFJLENBQUM7UUFFL0MsY0FBYztRQUNOLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBRXhCLGNBQWM7UUFDTixrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFNUMsY0FBYztRQUNOLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRXpDLGNBQWM7UUFDTiw2QkFBd0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBVXRELDhCQUE4QjtRQUNyQixzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUVsRiwyQ0FBMkM7UUFDbEMscUJBQWdCLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFPaEUsK0JBQStCO1FBQ3RCLHFCQUFnQixHQUFHLElBQUksZUFBZSxDQUFTLENBQUMsQ0FBQyxDQUFDO1FBc0J2RCxJQUFJLENBQUMsNkJBQTZCO1lBQzlCLEVBQUUsb0JBQW9CLEVBQUU7YUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDaEMsU0FBUyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBRUQsY0FBYztJQUNkLFdBQVc7UUFDUCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQy9CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRTNCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRUQsY0FBYztJQUNkLFdBQVcsQ0FBQyxHQUFVO1FBQ2xCLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxnRkFBZ0Y7SUFDaEYsY0FBYyxDQUFDLGtCQUE0QjtRQUN2QyxJQUFJLENBQUMsOEJBQThCLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDNUMsSUFBSSxDQUFDLCtCQUErQixDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzdDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUN6QyxJQUFJLENBQUMsOEJBQThCLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRixDQUFDLENBQUMsQ0FBQztRQUNILGtCQUFrQixDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUNuRCxJQUFJLENBQUMsK0JBQStCLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwRixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxtQkFBbUIsR0FBRyxDQUFDLEdBQUcsa0JBQWtCLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsY0FBYztJQUNkLHdCQUF3QjtRQUNwQixJQUFJLGlCQUFpQixHQUFHLENBQUMsRUFDckIsYUFBYSxHQUFHLENBQUMsQ0FBQztRQUN0QixLQUFLLE1BQU0sQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLDhCQUE4QixDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzlFLGlCQUFpQjtnQkFDYixJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxVQUFvQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDO1lBQzFHLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLGlCQUFpQixDQUFDLENBQUM7U0FDckU7UUFDRCxLQUFLLE1BQU0sQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLCtCQUErQixDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQy9FLGFBQWE7Z0JBQ1QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsVUFBb0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztZQUMxRyxJQUFJLENBQUMsOEJBQThCLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsQ0FBQztTQUNsRTtJQUNMLENBQUM7SUFFRCxjQUFjO0lBQ2QsbUNBQW1DLENBQUMsVUFBa0IsRUFBRSxLQUFhO1FBQ2pFLElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNsQixLQUFLLE1BQU0sQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLDZCQUE2QixDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3hFLElBQUksTUFBTSxLQUFLLFVBQVUsRUFBRTtnQkFDdkIsS0FBSyxHQUFHLElBQUksQ0FBQzthQUNoQjtpQkFBTSxJQUFJLEtBQUssRUFBRTtnQkFDZCxJQUFJLENBQUMsNkJBQTZCLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUM7YUFDakU7U0FDSjtJQUNMLENBQUM7SUFFRCx1REFBdUQ7SUFDdkQsbUJBQW1CLENBQUMsVUFBa0I7UUFDbEMsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuRSxPQUFPLGVBQWUsSUFBSSxPQUFPLENBQUM7SUFDdEMsQ0FBQztJQUVELDJCQUEyQjtJQUMzQixxQkFBcUIsQ0FBQyxVQUFrQjtRQUNwQyxPQUFPLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELDJCQUEyQjtJQUMzQixpQkFBaUIsQ0FBQyxVQUFrQjtRQUNoQyxPQUFPLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELGtHQUFrRztJQUNsRyxtQkFBbUIsQ0FBQyxVQUFrQjtRQUNsQyxPQUFPLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRCw4RkFBOEY7SUFDOUYsbUJBQW1CLENBQUMsVUFBa0I7UUFDbEMsT0FBTyxJQUFJLENBQUMsOEJBQThCLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsK0RBQStEO0lBQy9ELGtCQUFrQixDQUFDLFVBQWtCLEVBQUUsU0FBcUI7UUFDeEQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQy9ELElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFDLFNBQVMsRUFBRSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELGdDQUFnQztJQUNoQyxvQkFBb0IsQ0FBQyxVQUFrQixFQUFFLFNBQXFCO1FBQzFELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMvRCxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxLQUFLLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUUzRixJQUFJLFFBQVEsS0FBSyxDQUFDLENBQUMsRUFBRTtZQUNqQixPQUFPO1NBQ1Y7UUFFRCxXQUFXLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVoQyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELGtFQUFrRTtJQUNsRSxjQUFjLENBQUMsVUFBa0IsRUFBRSxLQUFhO1FBQzVDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxtREFBbUQ7SUFDbkQseUJBQXlCLENBQUMsZUFBdUIsRUFBRSxhQUFxQjtRQUNwRSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN2QixPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsY0FBYyxHQUFHLGFBQWEsQ0FBQztRQUNwQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRWpELElBQUksZUFBZSxJQUFJLElBQUksRUFBRTtZQUN6QixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakUsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGVBQWUsR0FBRywwQkFBMEIsR0FBRyxnQkFBZ0IsQ0FBQztZQUN4RixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztTQUNwRDtRQUVELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELCtCQUErQjtJQUMvQixXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDeEIsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCw2QkFBNkI7SUFDN0IsV0FBVyxDQUFDLEtBQWlCO1FBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUNwQyxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFFbkMsSUFBSSxDQUFDLGlDQUFpQyxFQUFFLENBQUM7UUFFekMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztRQUM5QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCwyQkFBMkI7SUFDM0IsWUFBWSxDQUFDLEtBQWlCO1FBQzFCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUU1QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQy9CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUVqRCxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxFQUFFO1lBQ3RCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxDQUFDO1lBQzdDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLFlBQVksQ0FBQztZQUV0RixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzlCO1FBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFFMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsa0ZBQWtGO0lBQ2xGLGNBQWMsQ0FBQyxLQUFhO1FBQ3hCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQztRQUN6RixNQUFNLFdBQVcsR0FBRyxjQUFjLEVBQUUscUJBQXFCLEVBQUUsQ0FBQyxLQUFLLENBQUM7UUFFbEUsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNqQyxPQUFPO1NBQ1Y7UUFFRCxJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksV0FBVyxHQUFHLEtBQUssR0FBRyxzQkFBc0IsRUFBRTtZQUMzRCxLQUFLLEdBQUcsc0JBQXNCLEdBQUcsV0FBVyxDQUFDO1NBQ2hEO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbEIsS0FBSyxNQUFNLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQzlELElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRTtvQkFDZCxJQUFJLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUMxQixVQUFVLEVBQ1YsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQzlELENBQUM7aUJBQ0w7YUFDSjtTQUNKO1FBRUQ7OztXQUdHO1FBQ0gsSUFDSSxLQUFLLEdBQUcsQ0FBQztZQUNULENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztnQkFDdEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQ3BFO1lBQ0UsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxXQUFXLENBQUM7WUFDOUUsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLG9CQUFvQixFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUU7Z0JBQy9ELFdBQVcsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLFdBQVcsQ0FBQzthQUM3RTtZQUNELE1BQU0sUUFBUSxHQUFHLFdBQVcsR0FBRyxLQUFLLENBQUM7WUFDckMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQ0FBa0MsRUFBRSxDQUFDO1lBQ3JFLElBQUksUUFBUSxJQUFJLFFBQVEsRUFBRTtnQkFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtvQkFDaEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7Z0JBQy9DLENBQUMsQ0FBQyxDQUFDO2FBQ047U0FDSjtRQUVELE1BQU0sWUFBWSxHQUFHLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLFlBQVksR0FBRyxJQUFJLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsbUNBQW1DLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUVyRSxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDekQsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxzQ0FBc0M7SUFDOUIsaUNBQWlDO1FBQ3JDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxTQUFTLENBQWEsUUFBUSxFQUFFLFdBQVcsQ0FBQzthQUN2RSxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ3RCLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2pCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxDQUFDO1lBQzdDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLFlBQVksQ0FBQztZQUV0RixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQztZQUNwRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUVqRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssMEJBQTBCLENBQUMsWUFBb0I7UUFDbkQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDO1lBQ3pHLEVBQUUsYUFBYSxDQUFDO1FBQ3BCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzFHLE1BQU0sY0FBYyxHQUFHLE9BQU8sRUFBRSxhQUFhLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsZ0JBQWdCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBRTFHLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDbkMsT0FBTztTQUNWO1FBQ0QsYUFBYSxDQUFDLGVBQWUsR0FBRyxjQUFjLENBQUMsV0FBVyxHQUFHLFlBQVksQ0FBQztJQUM5RSxDQUFDOzhHQXBXUSx3QkFBd0I7a0hBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVTs7MEJBMEZGLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgUnRsU2VydmljZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IFRBQkxFX0NPTFVNTl9NSU5fV0lEVEggfSBmcm9tICcuLi9jb25zdGFudHMnO1xuXG5pbXBvcnQgeyBUYWJsZSB9IGZyb20gJy4uL3RhYmxlJztcbmltcG9ydCB7IFRhYmxlU2Nyb2xsRGlzcGF0Y2hlclNlcnZpY2UgfSBmcm9tICcuL3RhYmxlLXNjcm9sbC1kaXNwYXRjaGVyLnNlcnZpY2UnO1xuXG5leHBvcnQgY29uc3QgVEFCTEVfUkVTSVpFUl9CT1JERVJfV0lEVEggPSAzO1xuXG4vKipcbiAqIFNlcnZpY2UgdG8gaGFuZGxlIGFsbCB0aGluZ3MgcmVsYXRlZCB0byBjb2x1bW4gcmVzaXppbmc6XG4gKiAtIFNldHRpbmcgcmVzaXplclxuICogLSBQcm9jZXNzaW5nIHJlc2l6ZVxuICogLSBDYWxjdWxhdGluZyB0aGUgcmVhbCBjb2x1bW5zIHdpZHRoXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbHVtblJlc2l6ZVNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZml4ZWRDb2x1bW5zV2lkdGhNYXAgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9jb2x1bW5zQ2VsbE1hcCA9IG5ldyBNYXA8c3RyaW5nLCBFbGVtZW50UmVmPEhUTUxUYWJsZURhdGFDZWxsRWxlbWVudD5bXT4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdmlzaWJsZUNvbHVtbk5hbWVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF92aXNpYmxlQ29sdW1uTGVmdE5laWdoYm91ck1hcCA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Zpc2libGVDb2x1bW5SaWdodE5laWdoYm91ck1hcCA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Zpc2libGVDb2x1bW5MZWZ0T2Zmc2V0UHhNYXAgPSBuZXcgTWFwPHN0cmluZywgbnVtYmVyPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF92aXNpYmxlQ29sdW1uUmlnaHRPZmZzZXRQeE1hcCA9IG5ldyBNYXA8c3RyaW5nLCBudW1iZXI+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3N0YXJ0WDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2NsaWVudFN0YXJ0WDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Jlc2l6ZUluUHJvZ3Jlc3MgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcmVzaXplZENvbHVtbjogc3RyaW5nO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9yZXNpemVyUG9zaXRpb246IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zY3JvbGxMZWZ0ID0gMDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbWFya0ZvckNoZWNrID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGVzdHJveWVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcmVzaXplck1vdmVTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3RhYmxlUmVmOiBUYWJsZTtcblxuICAgIC8qKiBJbmRpY2F0ZSBpZiByZXNpemluZyBwcm9jZXNzIGluIHByb2dyZXNzLiAqL1xuICAgIGdldCByZXNpemVJblByb2dyZXNzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVzaXplSW5Qcm9ncmVzcztcbiAgICB9XG5cbiAgICAvKiogUmVzaXplIHByb2dyZXNzIHN0cmVhbS4gKi9cbiAgICByZWFkb25seSByZXNpemVJblByb2dyZXNzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odGhpcy5fcmVzaXplSW5Qcm9ncmVzcyk7XG5cbiAgICAvKiogV2hldGhlciBjZWxsIG1vY2sgc2hvdWxkIGJlIHZpc2libGUuICovXG4gICAgcmVhZG9ubHkgY2VsbE1vY2tWaXNpYmxlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgLyoqIEN1cnJlbnQgY29sdW1uIHJlc2l6ZXIgcG9zaXRpb24uICovXG4gICAgZ2V0IHJlc2l6ZXJQb3NpdGlvbigpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVzaXplclBvc2l0aW9uID8/IDA7XG4gICAgfVxuXG4gICAgLyoqIFJlc2l6ZXIgcG9zaXRpb24gc3RyZWFtLiAqL1xuICAgIHJlYWRvbmx5IHJlc2l6ZXJQb3NpdGlvbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XG5cbiAgICAvKiogT2JzZXJ2YWJsZSB0byBub3RpZnkgdG8gcnVuIENEICovXG4gICAgZ2V0IG1hcmtGb3JDaGVjaygpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21hcmtGb3JDaGVjay5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICAvKiogdGFibGUgaGFzIGZpeGVkIHdpZHRoIGlmIGFsbCBvZiBpdCdzIGNvbHVtbnMgYXJlIGZpeGVkICovXG4gICAgZ2V0IGZpeGVkV2lkdGgoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9maXhlZENvbHVtbnNXaWR0aE1hcC5zaXplID09PSB0aGlzLl92aXNpYmxlQ29sdW1uTmFtZXMubGVuZ3RoO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBnZXQgX3J0bCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3J0bFNlcnZpY2U/LnJ0bC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX3RhYmxlU2Nyb2xsRGlzcGF0Y2hlclNlcnZpY2U6IFRhYmxlU2Nyb2xsRGlzcGF0Y2hlclNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcmVhZG9ubHkgX3J0bFNlcnZpY2U6IFJ0bFNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgdGhpcy5fdGFibGVTY3JvbGxEaXNwYXRjaGVyU2VydmljZVxuICAgICAgICAgICAgPy5ob3Jpem9udGFsbHlTY3JvbGxlZCgpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveWVkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHNjcm9sbGFibGUpID0+ICh0aGlzLl9zY3JvbGxMZWZ0ID0gc2Nyb2xsYWJsZS5nZXRTY3JvbGxMZWZ0KCkpKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZXNpemVJblByb2dyZXNzID0gZmFsc2U7XG4gICAgICAgIHRoaXMucmVzaXplSW5Qcm9ncmVzcyQubmV4dChmYWxzZSk7XG5cbiAgICAgICAgdGhpcy5fZGVzdHJveWVkLm5leHQoKTtcbiAgICAgICAgdGhpcy5fZGVzdHJveWVkLmNvbXBsZXRlKCk7XG5cbiAgICAgICAgdGhpcy5fcmVzaXplck1vdmVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHNldFRhYmxlUmVmKHJlZjogVGFibGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGFibGVSZWYgPSByZWY7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gaW5pdGlhbGl6ZXMgc2VydmljZSB3aXRoIGRhdGEsIHRyaWdnZXIgY29sdW1ucyB3aWR0aCBjYWxjdWxhdGlvbi4gKi9cbiAgICBzZXRDb2x1bW5OYW1lcyh2aXNpYmxlQ29sdW1uTmFtZXM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Zpc2libGVDb2x1bW5MZWZ0TmVpZ2hib3VyTWFwLmNsZWFyKCk7XG4gICAgICAgIHRoaXMuX3Zpc2libGVDb2x1bW5SaWdodE5laWdoYm91ck1hcC5jbGVhcigpO1xuICAgICAgICB2aXNpYmxlQ29sdW1uTmFtZXMuZm9yRWFjaCgoY29sdW1uLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fdmlzaWJsZUNvbHVtbkxlZnROZWlnaGJvdXJNYXAuc2V0KGNvbHVtbiwgdmlzaWJsZUNvbHVtbk5hbWVzW2luZGV4IC0gMV0pO1xuICAgICAgICB9KTtcbiAgICAgICAgdmlzaWJsZUNvbHVtbk5hbWVzLnJldmVyc2UoKS5mb3JFYWNoKChjb2x1bW4sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICB0aGlzLl92aXNpYmxlQ29sdW1uUmlnaHROZWlnaGJvdXJNYXAuc2V0KGNvbHVtbiwgdmlzaWJsZUNvbHVtbk5hbWVzW2luZGV4IC0gMV0pO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fdmlzaWJsZUNvbHVtbk5hbWVzID0gWy4uLnZpc2libGVDb2x1bW5OYW1lc107XG4gICAgICAgIHRoaXMudXBkYXRlRnJvemVuQ29sdW1uc1dpZHRoKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICB1cGRhdGVGcm96ZW5Db2x1bW5zV2lkdGgoKTogdm9pZCB7XG4gICAgICAgIGxldCBhbGxQcmV2aW91c1dpZHRocyA9IDAsXG4gICAgICAgICAgICBhbGxOZXh0V2lkdGhzID0gMDtcbiAgICAgICAgZm9yIChjb25zdCBbY29sdW1uLCBwcmV2Q29sdW1uXSBvZiB0aGlzLl92aXNpYmxlQ29sdW1uTGVmdE5laWdoYm91ck1hcC5lbnRyaWVzKCkpIHtcbiAgICAgICAgICAgIGFsbFByZXZpb3VzV2lkdGhzICs9XG4gICAgICAgICAgICAgICAgdGhpcy5fY29sdW1uc0NlbGxNYXAuZ2V0KHByZXZDb2x1bW4gYXMgc3RyaW5nKT8uWzBdPy5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoID8/IDA7XG4gICAgICAgICAgICB0aGlzLl92aXNpYmxlQ29sdW1uTGVmdE9mZnNldFB4TWFwLnNldChjb2x1bW4sIGFsbFByZXZpb3VzV2lkdGhzKTtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGNvbnN0IFtjb2x1bW4sIG5leHRDb2x1bW5dIG9mIHRoaXMuX3Zpc2libGVDb2x1bW5SaWdodE5laWdoYm91ck1hcC5lbnRyaWVzKCkpIHtcbiAgICAgICAgICAgIGFsbE5leHRXaWR0aHMgKz1cbiAgICAgICAgICAgICAgICB0aGlzLl9jb2x1bW5zQ2VsbE1hcC5nZXQobmV4dENvbHVtbiBhcyBzdHJpbmcpPy5bMF0/Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggPz8gMDtcbiAgICAgICAgICAgIHRoaXMuX3Zpc2libGVDb2x1bW5SaWdodE9mZnNldFB4TWFwLnNldChjb2x1bW4sIGFsbE5leHRXaWR0aHMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICB1cGRhdGVGcm96ZW5Db2x1bW5zV2lkdGhBZnRlclJlc2l6ZShjb2x1bW5OYW1lOiBzdHJpbmcsIGRpZmZYOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgbGV0IGZvdW5kID0gZmFsc2U7XG4gICAgICAgIGZvciAoY29uc3QgW2NvbHVtbiwgd2lkdGhdIG9mIHRoaXMuX3Zpc2libGVDb2x1bW5MZWZ0T2Zmc2V0UHhNYXAuZW50cmllcygpKSB7XG4gICAgICAgICAgICBpZiAoY29sdW1uID09PSBjb2x1bW5OYW1lKSB7XG4gICAgICAgICAgICAgICAgZm91bmQgPSB0cnVlO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChmb3VuZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3Zpc2libGVDb2x1bW5MZWZ0T2Zmc2V0UHhNYXAuc2V0KGNvbHVtbiwgd2lkdGggKyBkaWZmWCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogUmV0cmlldmVzIGN1c3RvbSBjb2x1bW4gdmFsdWUgb3IgcmV0dXJucyBgdW5zZXRgICovXG4gICAgZ2V0Q29sdW1uV2lkdGhTdHlsZShjb2x1bW5OYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBjYWxjdWxhdGVkV2lkdGggPSB0aGlzLl9maXhlZENvbHVtbnNXaWR0aE1hcC5nZXQoY29sdW1uTmFtZSk7XG4gICAgICAgIHJldHVybiBjYWxjdWxhdGVkV2lkdGggfHwgJ3Vuc2V0JztcbiAgICB9XG5cbiAgICAvKiogUHJldmlvdXMgY29sdW1uIG5hbWUgKi9cbiAgICBnZXRQcmV2aW91c0NvbHVtbk5hbWUoY29sdW1uTmFtZTogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Zpc2libGVDb2x1bW5MZWZ0TmVpZ2hib3VyTWFwLmdldChjb2x1bW5OYW1lKTtcbiAgICB9XG5cbiAgICAvKiogUHJldmlvdXMgY29sdW1uIG5hbWUgKi9cbiAgICBnZXROZXh0Q29sdW1uTmFtZShjb2x1bW5OYW1lOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmlzaWJsZUNvbHVtblJpZ2h0TmVpZ2hib3VyTWFwLmdldChjb2x1bW5OYW1lKTtcbiAgICB9XG5cbiAgICAvKiogT3ZlcmFsbCBwcmV2aW91cyBjb2x1bW5zIHdpZHRoLiBVc2VkIHRvIGNhbGN1bGF0ZSBvZmZzZXQgZm9yIHRoZSBhYnNvbHV0ZSBwb3NpdGlvbmVkIGNlbGxzLiAqL1xuICAgIGdldFByZXZDb2x1bW5zV2lkdGgoY29sdW1uTmFtZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Zpc2libGVDb2x1bW5MZWZ0T2Zmc2V0UHhNYXAuZ2V0KGNvbHVtbk5hbWUpID8/IDA7XG4gICAgfVxuXG4gICAgLyoqIE92ZXJhbGwgbmV4dCBjb2x1bW5zIHdpZHRoLiBVc2VkIHRvIGNhbGN1bGF0ZSBvZmZzZXQgZm9yIHRoZSBhYnNvbHV0ZSBwb3NpdGlvbmVkIGNlbGxzLiAqL1xuICAgIGdldE5leHRDb2x1bW5zV2lkdGgoY29sdW1uTmFtZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Zpc2libGVDb2x1bW5SaWdodE9mZnNldFB4TWFwLmdldChjb2x1bW5OYW1lKSA/PyAwO1xuICAgIH1cblxuICAgIC8qKiBSZWdpc3RlciBjb2x1bW4ncyBjZWxsIHRvIGdldCBpdHMgZGltZW5zaW9ucyBpbiBmdXJ0aGVyLiAqL1xuICAgIHJlZ2lzdGVyQ29sdW1uQ2VsbChjb2x1bW5OYW1lOiBzdHJpbmcsIGNlbGxFbFJlZjogRWxlbWVudFJlZik6IHZvaWQge1xuICAgICAgICBjb25zdCBjb2x1bW5DZWxscyA9IHRoaXMuX2NvbHVtbnNDZWxsTWFwLmdldChjb2x1bW5OYW1lKSB8fCBbXTtcbiAgICAgICAgdGhpcy5fY29sdW1uc0NlbGxNYXAuc2V0KGNvbHVtbk5hbWUsIFtjZWxsRWxSZWYsIC4uLmNvbHVtbkNlbGxzXSk7XG4gICAgfVxuXG4gICAgLyoqIFVucmVnaXN0ZXIgY29sdW1uJ3MgY2VsbC4gKi9cbiAgICB1bnJlZ2lzdGVyQ29sdW1uQ2VsbChjb2x1bW5OYW1lOiBzdHJpbmcsIGNlbGxFbFJlZjogRWxlbWVudFJlZik6IHZvaWQge1xuICAgICAgICBjb25zdCBjb2x1bW5DZWxscyA9IHRoaXMuX2NvbHVtbnNDZWxsTWFwLmdldChjb2x1bW5OYW1lKSB8fCBbXTtcbiAgICAgICAgY29uc3QgZWxtSW5kZXggPSBjb2x1bW5DZWxscy5maW5kSW5kZXgoKGUpID0+IGUubmF0aXZlRWxlbWVudCA9PT0gY2VsbEVsUmVmLm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgICAgIGlmIChlbG1JbmRleCA9PT0gLTEpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbHVtbkNlbGxzLnNwbGljZShlbG1JbmRleCwgMSk7XG5cbiAgICAgICAgdGhpcy5fY29sdW1uc0NlbGxNYXAuc2V0KGNvbHVtbk5hbWUsIGNvbHVtbkNlbGxzKTtcbiAgICB9XG5cbiAgICAvKiogUmVnaXN0ZXIgdGhlIHZhbHVlIG9mIGNvbHVtbiB3aWR0aCB0aGF0IGNoYW5nZWQgZnJvbSAgaW5wdXQgKi9cbiAgICBzZXRDdXN0b21XaWR0aChjb2x1bW5OYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZml4ZWRDb2x1bW5zV2lkdGhNYXAuc2V0KGNvbHVtbk5hbWUsIHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKiogU2V0IHRoZSBhcHByb3ByaWF0ZSBjb2x1bW4gcmVzaXplciBwb3NpdGlvbi4gKi9cbiAgICBzZXRJbml0aWFsUmVzaXplclBvc2l0aW9uKHJlc2l6ZXJQb3NpdGlvbjogbnVtYmVyLCByZXNpemVkQ29sdW1uOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucmVzaXplSW5Qcm9ncmVzcykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fcmVzaXplZENvbHVtbiA9IHJlc2l6ZWRDb2x1bW47XG4gICAgICAgIHRoaXMuX3Jlc2l6ZXJQb3NpdGlvbiA9IG51bGw7XG4gICAgICAgIHRoaXMucmVzaXplclBvc2l0aW9uJC5uZXh0KHRoaXMucmVzaXplclBvc2l0aW9uKTtcblxuICAgICAgICBpZiAocmVzaXplclBvc2l0aW9uICE9IG51bGwpIHtcbiAgICAgICAgICAgIGNvbnN0IHNjcm9sbExlZnRPZmZzZXQgPSB0aGlzLl9zY3JvbGxMZWZ0ICogKHRoaXMuX3J0bCA/IDEgOiAtMSk7XG4gICAgICAgICAgICB0aGlzLl9yZXNpemVyUG9zaXRpb24gPSByZXNpemVyUG9zaXRpb24gLSBUQUJMRV9SRVNJWkVSX0JPUkRFUl9XSURUSCArIHNjcm9sbExlZnRPZmZzZXQ7XG4gICAgICAgICAgICB0aGlzLnJlc2l6ZXJQb3NpdGlvbiQubmV4dCh0aGlzLnJlc2l6ZXJQb3NpdGlvbik7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9tYXJrRm9yQ2hlY2submV4dCgpO1xuICAgIH1cblxuICAgIC8qKiBIaWRlIHRoZSBjb2x1bW4gcmVzaXplci4gKi9cbiAgICBoaWRlUmVzaXplcigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX3Jlc2l6ZUluUHJvZ3Jlc3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3Jlc2l6ZXJQb3NpdGlvbiA9IG51bGw7XG4gICAgICAgIHRoaXMucmVzaXplclBvc2l0aW9uJC5uZXh0KHRoaXMucmVzaXplclBvc2l0aW9uKTtcbiAgICAgICAgdGhpcy5fbWFya0ZvckNoZWNrLm5leHQoKTtcbiAgICB9XG5cbiAgICAvKiogSGFuZGxlIHN0YXJ0IHJlc2l6aW5nLiAqL1xuICAgIHN0YXJ0UmVzaXplKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3N0YXJ0WCA9IHRoaXMucmVzaXplclBvc2l0aW9uO1xuICAgICAgICB0aGlzLl9jbGllbnRTdGFydFggPSBldmVudC5jbGllbnRYO1xuXG4gICAgICAgIHRoaXMuX3VwZGF0ZVJlc2l6ZXJQb3NpdGlvbk9uTW91c2VNb3ZlKCk7XG5cbiAgICAgICAgdGhpcy5fcmVzaXplSW5Qcm9ncmVzcyA9IHRydWU7XG4gICAgICAgIHRoaXMucmVzaXplSW5Qcm9ncmVzcyQubmV4dCh0cnVlKTtcbiAgICB9XG5cbiAgICAvKiogSGFuZGxlIGVuZCByZXNpemluZy4gKi9cbiAgICBmaW5pc2hSZXNpemUoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcmVzaXplck1vdmVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcblxuICAgICAgICB0aGlzLl9yZXNpemVJblByb2dyZXNzID0gZmFsc2U7XG4gICAgICAgIHRoaXMucmVzaXplSW5Qcm9ncmVzcyQubmV4dChmYWxzZSk7XG4gICAgICAgIHRoaXMuX3Jlc2l6ZXJQb3NpdGlvbiA9IG51bGw7XG4gICAgICAgIHRoaXMucmVzaXplclBvc2l0aW9uJC5uZXh0KHRoaXMucmVzaXplclBvc2l0aW9uKTtcblxuICAgICAgICBpZiAodGhpcy5fc3RhcnRYICE9IG51bGwpIHtcbiAgICAgICAgICAgIGNvbnN0IGNsaWVudFN0YXJ0WCA9IHRoaXMuX2NsaWVudFN0YXJ0WCA/PyAwO1xuICAgICAgICAgICAgY29uc3QgZGlmZlggPSB0aGlzLl9ydGwgPyBjbGllbnRTdGFydFggLSBldmVudC5jbGllbnRYIDogZXZlbnQuY2xpZW50WCAtIGNsaWVudFN0YXJ0WDtcblxuICAgICAgICAgICAgdGhpcy5fcHJvY2Vzc1Jlc2l6ZShkaWZmWCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9zdGFydFggPSBudWxsO1xuICAgICAgICB0aGlzLl9jbGllbnRTdGFydFggPSBudWxsO1xuXG4gICAgICAgIHRoaXMuX21hcmtGb3JDaGVjay5uZXh0KCk7XG4gICAgfVxuXG4gICAgLyoqIFVwZGF0ZSBjb2x1bW5zIHdpZHRoIGFmdGVyIHJlc2l6aW5nLCBwcmV2ZW50IGZyb20gaGF2aW5nIHRvbyBzbWFsbCBjb2x1bW5zLiAqL1xuICAgIF9wcm9jZXNzUmVzaXplKGRpZmZYOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcmVzaXplZEVsZW1lbnQgPSB0aGlzLl9jb2x1bW5zQ2VsbE1hcC5nZXQodGhpcy5fcmVzaXplZENvbHVtbik/LlswXT8ubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3QgY29sdW1uV2lkdGggPSByZXNpemVkRWxlbWVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7XG5cbiAgICAgICAgaWYgKCFjb2x1bW5XaWR0aCB8fCAhcmVzaXplZEVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChkaWZmWCA8IDAgJiYgY29sdW1uV2lkdGggKyBkaWZmWCA8IFRBQkxFX0NPTFVNTl9NSU5fV0lEVEgpIHtcbiAgICAgICAgICAgIGRpZmZYID0gVEFCTEVfQ09MVU1OX01JTl9XSURUSCAtIGNvbHVtbldpZHRoO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLmZpeGVkV2lkdGgpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgW2NvbHVtbk5hbWUsIGNlbGxzXSBvZiB0aGlzLl9jb2x1bW5zQ2VsbE1hcC5lbnRyaWVzKCkpIHtcbiAgICAgICAgICAgICAgICBpZiAoY2VsbHMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2ZpeGVkQ29sdW1uc1dpZHRoTWFwLnNldChcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbk5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBjZWxsc1swXS5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoICsgJ3B4J1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBJbiBjYXNlIFwiX3Jlc2l6ZWRDb2x1bW5cIiBpcyBmcmVlemFibGUsIG1ha2Ugc3VyZSB0aGUgb3ZlcmFsbCB3aWR0aCBvZiBmcmVlemFibGUgY29sdW1ucyBkb2VzIG5vdCBleGNlZWQgdGhlIHdpZHRoIG9mIHRoZSB0YWJsZS5cbiAgICAgICAgICogSWYgaXQgZG9lcywgY29sdW1ucyB3aWxsIGJlIG1hZGUgdW5mcm96ZW4uXG4gICAgICAgICAqL1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICBkaWZmWCA+IDAgJiZcbiAgICAgICAgICAgICh0aGlzLl90YWJsZVJlZi5fZnJlZXphYmxlQ29sdW1ucy5oYXModGhpcy5fcmVzaXplZENvbHVtbikgfHxcbiAgICAgICAgICAgICAgICB0aGlzLl90YWJsZVJlZi5fZnJlZXphYmxlRW5kQ29sdW1ucz8uaGFzKHRoaXMuX3Jlc2l6ZWRDb2x1bW4pKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIGxldCBhY3R1YWxXaWR0aCA9IHRoaXMuZ2V0UHJldkNvbHVtbnNXaWR0aCh0aGlzLl9yZXNpemVkQ29sdW1uKSArIGNvbHVtbldpZHRoO1xuICAgICAgICAgICAgaWYgKHRoaXMuX3RhYmxlUmVmLl9mcmVlemFibGVFbmRDb2x1bW5zPy5oYXModGhpcy5fcmVzaXplZENvbHVtbikpIHtcbiAgICAgICAgICAgICAgICBhY3R1YWxXaWR0aCA9IHRoaXMuZ2V0TmV4dENvbHVtbnNXaWR0aCh0aGlzLl9yZXNpemVkQ29sdW1uKSArIGNvbHVtbldpZHRoO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgbmV3V2lkdGggPSBhY3R1YWxXaWR0aCArIGRpZmZYO1xuICAgICAgICAgICAgY29uc3QgbWF4V2lkdGggPSB0aGlzLl90YWJsZVJlZi5nZXRNYXhBbGxvd2VkRnJlZXphYmxlQ29sdW1uc1dpZHRoKCk7XG4gICAgICAgICAgICBpZiAobmV3V2lkdGggPj0gbWF4V2lkdGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl90YWJsZVJlZi5fZnJlZXphYmxlQ29sdW1ucy5mb3JFYWNoKChjb2x1bW4pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdGFibGVSZWYudW5mcmVlemUoY29sdW1uLnRvU3RyaW5nKCkpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdXBkYXRlZFdpZHRoID0gY29sdW1uV2lkdGggKyBkaWZmWDtcbiAgICAgICAgdGhpcy5fZml4ZWRDb2x1bW5zV2lkdGhNYXAuc2V0KHRoaXMuX3Jlc2l6ZWRDb2x1bW4sIHVwZGF0ZWRXaWR0aCArICdweCcpO1xuICAgICAgICB0aGlzLnVwZGF0ZUZyb3plbkNvbHVtbnNXaWR0aEFmdGVyUmVzaXplKHRoaXMuX3Jlc2l6ZWRDb2x1bW4sIGRpZmZYKTtcblxuICAgICAgICBjb25zdCBjb21wdXRlZCA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHJlc2l6ZWRFbGVtZW50KTtcbiAgICAgICAgY29uc3QgcGFkZGluZyA9IHBhcnNlSW50KGNvbXB1dGVkLnBhZGRpbmdMZWZ0LCAxMCkgKyBwYXJzZUludChjb21wdXRlZC5wYWRkaW5nUmlnaHQsIDEwKTtcbiAgICAgICAgdGhpcy5fdXBkYXRlSGVhZGVyT3ZlcmZsb3dTdGF0ZSh1cGRhdGVkV2lkdGggLSBwYWRkaW5nKTtcbiAgICAgICAgdGhpcy5fbWFya0ZvckNoZWNrLm5leHQoKTtcbiAgICB9XG5cbiAgICAvKiogVXBkYXRlIGNvbHVtbiByZXNpemVyIHBvc2l0aW9uLiAqL1xuICAgIHByaXZhdGUgX3VwZGF0ZVJlc2l6ZXJQb3NpdGlvbk9uTW91c2VNb3ZlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZXNpemVyTW92ZVN1YnNjcmlwdGlvbiA9IGZyb21FdmVudDxNb3VzZUV2ZW50Pihkb2N1bWVudCwgJ21vdXNlbW92ZScpXG4gICAgICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUoMTApKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjbGllbnRTdGFydFggPSB0aGlzLl9jbGllbnRTdGFydFggPz8gMDtcbiAgICAgICAgICAgICAgICBjb25zdCBkaWZmWCA9IHRoaXMuX3J0bCA/IGNsaWVudFN0YXJ0WCAtIGV2ZW50LmNsaWVudFggOiBldmVudC5jbGllbnRYIC0gY2xpZW50U3RhcnRYO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5fcmVzaXplclBvc2l0aW9uID0gKHRoaXMuX3N0YXJ0WCA/PyAwKSArIGRpZmZYO1xuICAgICAgICAgICAgICAgIHRoaXMucmVzaXplclBvc2l0aW9uJC5uZXh0KHRoaXMucmVzaXplclBvc2l0aW9uKTtcblxuICAgICAgICAgICAgICAgIHRoaXMuX21hcmtGb3JDaGVjay5uZXh0KCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiB0aGUgaGVhZGVyIHRleHQgbGVuZ3RoIGdvZXMgb3ZlciB0aGUgY29sdW1uIHdpZHRoLiBJbiBzdWNoIGNhc2UgYXBwbGllcyB0ZXh0IHRydW5jYXRpb24gd2l0aFxuICAgICAqIGVsbGlwc2lzIGFuZCBtYWtlIHN1cmUgd2UgYWxzbyBzaG93IGEgdG9vbHRpcC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBfdXBkYXRlSGVhZGVyT3ZlcmZsb3dTdGF0ZSh1cGRhdGVkV2lkdGg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5fY29sdW1uc0NlbGxNYXAuZ2V0KHRoaXMuX3Jlc2l6ZWRDb2x1bW4pPy5maW5kKChjKSA9PiBjPy5uYXRpdmVFbGVtZW50LnRhZ05hbWUgPT09ICdUSCcpXG4gICAgICAgICAgICA/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHZpc2libGVDb2x1bW4gPSB0aGlzLl90YWJsZVJlZi5nZXRWaXNpYmxlVGFibGVDb2x1bW5zKCkuZmluZCgoYykgPT4gYy5uYW1lID09PSB0aGlzLl9yZXNpemVkQ29sdW1uKTtcbiAgICAgICAgY29uc3QgaGVhZGVyVGV4dEVsZW0gPSBlbGVtZW50Py5xdWVyeVNlbGVjdG9yKGAjJHt0aGlzLl90YWJsZVJlZi5pZH0taGVhZGVyLWNlbGwtJHt0aGlzLl9yZXNpemVkQ29sdW1ufWApO1xuXG4gICAgICAgIGlmICghaGVhZGVyVGV4dEVsZW0gfHwgIXZpc2libGVDb2x1bW4pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB2aXNpYmxlQ29sdW1uLmhlYWRlck92ZXJmbG93cyA9IGhlYWRlclRleHRFbGVtLnNjcm9sbFdpZHRoID4gdXBkYXRlZFdpZHRoO1xuICAgIH1cbn1cbiJdfQ==
304
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLXJlc2l6ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS90YWJsZS1oZWxwZXJzL3NlcnZpY2VzL3RhYmxlLWNvbHVtbi1yZXNpemUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFjLFVBQVUsRUFBYSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEgsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7OztBQUVqRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxDQUFDLENBQUM7QUFFNUM7Ozs7O0dBS0c7QUFFSCxNQUFNLE9BQU8sd0JBQXdCO0lBc0RqQyxnREFBZ0Q7SUFDaEQsSUFBSSxnQkFBZ0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDbEMsQ0FBQztJQVFELHVDQUF1QztJQUN2QyxJQUFJLGVBQWU7UUFDZixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUtELHFDQUFxQztJQUNyQyxJQUFJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVE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LEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxhQUFhLENBQUMsT0FBTyxLQUFLLElBQUksQ0FBQztZQUN6RyxFQUFFLGFBQWEsQ0FBQztRQUNwQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLHNCQUFzQixFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMxRyxNQUFNLGNBQWMsR0FBRyxPQUFPLEVBQUUsYUFBYSxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLGdCQUFnQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUUxRyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ25DLE9BQU87U0FDVjtRQUNELGFBQWEsQ0FBQyxlQUFlLEdBQUcsY0FBYyxDQUFDLFdBQVcsR0FBRyxZQUFZLENBQUM7SUFDOUUsQ0FBQzs4R0FwV1Esd0JBQXdCO2tIQUF4Qix3QkFBd0I7OzJGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVU7OzBCQTBGRixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzdHJveVJlZiwgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSwgT25EZXN0cm95LCBPcHRpb25hbCwgY29tcHV0ZWQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFJ0bFNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBUQUJMRV9DT0xVTU5fTUlOX1dJRFRIIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcblxuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgVGFibGUgfSBmcm9tICcuLi90YWJsZSc7XG5pbXBvcnQgeyBUYWJsZVNjcm9sbERpc3BhdGNoZXJTZXJ2aWNlIH0gZnJvbSAnLi90YWJsZS1zY3JvbGwtZGlzcGF0Y2hlci5zZXJ2aWNlJztcblxuZXhwb3J0IGNvbnN0IFRBQkxFX1JFU0laRVJfQk9SREVSX1dJRFRIID0gMztcblxuLyoqXG4gKiBTZXJ2aWNlIHRvIGhhbmRsZSBhbGwgdGhpbmdzIHJlbGF0ZWQgdG8gY29sdW1uIHJlc2l6aW5nOlxuICogLSBTZXR0aW5nIHJlc2l6ZXJcbiAqIC0gUHJvY2Vzc2luZyByZXNpemVcbiAqIC0gQ2FsY3VsYXRpbmcgdGhlIHJlYWwgY29sdW1ucyB3aWR0aFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGFibGVDb2x1bW5SZXNpemVTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICAvKiogU3ViamVjdCB0aGF0IGVtaXRzIG5ldyBtYXAgb2YgZml4ZWQgY29sdW1ucyBhbmQgdGhlaXIgcmVzcGVjdGl2ZSB3aWR0aC4gKi9cbiAgICByZWFkb25seSBmaXhlZENvbHVtc1dpZHRoQ2hhbmdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXA8c3RyaW5nLCBzdHJpbmc+PihuZXcgTWFwKCkpO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZml4ZWRDb2x1bW5zV2lkdGhNYXAgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9jb2x1bW5zQ2VsbE1hcCA9IG5ldyBNYXA8c3RyaW5nLCBFbGVtZW50UmVmPEhUTUxUYWJsZURhdGFDZWxsRWxlbWVudD5bXT4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdmlzaWJsZUNvbHVtbk5hbWVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF92aXNpYmxlQ29sdW1uTGVmdE5laWdoYm91ck1hcCA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Zpc2libGVDb2x1bW5SaWdodE5laWdoYm91ck1hcCA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Zpc2libGVDb2x1bW5MZWZ0T2Zmc2V0UHhNYXAgPSBuZXcgTWFwPHN0cmluZywgbnVtYmVyPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF92aXNpYmxlQ29sdW1uUmlnaHRPZmZzZXRQeE1hcCA9IG5ldyBNYXA8c3RyaW5nLCBudW1iZXI+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3N0YXJ0WDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2NsaWVudFN0YXJ0WDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Jlc2l6ZUluUHJvZ3Jlc3MgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcmVzaXplZENvbHVtbjogc3RyaW5nO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9yZXNpemVyUG9zaXRpb246IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zY3JvbGxMZWZ0ID0gMDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbWFya0ZvckNoZWNrID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGVzdHJveWVkID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9yZXNpemVyTW92ZVN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdGFibGVSZWY6IFRhYmxlO1xuXG4gICAgLyoqIEluZGljYXRlIGlmIHJlc2l6aW5nIHByb2Nlc3MgaW4gcHJvZ3Jlc3MuICovXG4gICAgZ2V0IHJlc2l6ZUluUHJvZ3Jlc3MoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXNpemVJblByb2dyZXNzO1xuICAgIH1cblxuICAgIC8qKiBSZXNpemUgcHJvZ3Jlc3Mgc3RyZWFtLiAqL1xuICAgIHJlYWRvbmx5IHJlc2l6ZUluUHJvZ3Jlc3MkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0aGlzLl9yZXNpemVJblByb2dyZXNzKTtcblxuICAgIC8qKiBXaGV0aGVyIGNlbGwgbW9jayBzaG91bGQgYmUgdmlzaWJsZS4gKi9cbiAgICByZWFkb25seSBjZWxsTW9ja1Zpc2libGUkID0gc2lnbmFsKGZhbHNlKTtcblxuICAgIC8qKiBDdXJyZW50IGNvbHVtbiByZXNpemVyIHBvc2l0aW9uLiAqL1xuICAgIGdldCByZXNpemVyUG9zaXRpb24oKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jlc2l6ZXJQb3NpdGlvbiA/PyAwO1xuICAgIH1cblxuICAgIC8qKiBSZXNpemVyIHBvc2l0aW9uIHN0cmVhbS4gKi9cbiAgICByZWFkb25seSByZXNpemVyUG9zaXRpb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApO1xuXG4gICAgLyoqIE9ic2VydmFibGUgdG8gbm90aWZ5IHRvIHJ1biBDRCAqL1xuICAgIGdldCBtYXJrRm9yQ2hlY2soKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tYXJrRm9yQ2hlY2suYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgLyoqIHRhYmxlIGhhcyBmaXhlZCB3aWR0aCBpZiBhbGwgb2YgaXQncyBjb2x1bW5zIGFyZSBmaXhlZCAqL1xuICAgIGdldCBmaXhlZFdpZHRoKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZml4ZWRDb2x1bW5zV2lkdGhNYXAuc2l6ZSA9PT0gdGhpcy5fdmlzaWJsZUNvbHVtbk5hbWVzLmxlbmd0aDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3J0bCQgPSBjb21wdXRlZCgoKSA9PiAhIXRoaXMuX3J0bFNlcnZpY2U/LnJ0bFNpZ25hbCgpKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX3RhYmxlU2Nyb2xsRGlzcGF0Y2hlclNlcnZpY2U6IFRhYmxlU2Nyb2xsRGlzcGF0Y2hlclNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcmVhZG9ubHkgX3J0bFNlcnZpY2U6IFJ0bFNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgdGhpcy5fdGFibGVTY3JvbGxEaXNwYXRjaGVyU2VydmljZVxuICAgICAgICAgICAgPy5ob3Jpem9udGFsbHlTY3JvbGxlZCgpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveWVkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHNjcm9sbGFibGUpID0+ICh0aGlzLl9zY3JvbGxMZWZ0ID0gc2Nyb2xsYWJsZS5nZXRTY3JvbGxMZWZ0KCkpKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZXNpemVJblByb2dyZXNzID0gZmFsc2U7XG4gICAgICAgIHRoaXMucmVzaXplSW5Qcm9ncmVzcyQubmV4dChmYWxzZSk7XG5cbiAgICAgICAgdGhpcy5fcmVzaXplck1vdmVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHNldFRhYmxlUmVmKHJlZjogVGFibGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGFibGVSZWYgPSByZWY7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gaW5pdGlhbGl6ZXMgc2VydmljZSB3aXRoIGRhdGEsIHRyaWdnZXIgY29sdW1ucyB3aWR0aCBjYWxjdWxhdGlvbi4gKi9cbiAgICBzZXRDb2x1bW5OYW1lcyh2aXNpYmxlQ29sdW1uTmFtZXM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Zpc2libGVDb2x1bW5MZWZ0TmVpZ2hib3VyTWFwLmNsZWFyKCk7XG4gICAgICAgIHRoaXMuX3Zpc2libGVDb2x1bW5SaWdodE5laWdoYm91ck1hcC5jbGVhcigpO1xuICAgICAgICB2aXNpYmxlQ29sdW1uTmFtZXMuZm9yRWFjaCgoY29sdW1uLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fdmlzaWJsZUNvbHVtbkxlZnROZWlnaGJvdXJNYXAuc2V0KGNvbHVtbiwgdmlzaWJsZUNvbHVtbk5hbWVzW2luZGV4IC0gMV0pO1xuICAgICAgICB9KTtcbiAgICAgICAgdmlzaWJsZUNvbHVtbk5hbWVzLnJldmVyc2UoKS5mb3JFYWNoKChjb2x1bW4sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICB0aGlzLl92aXNpYmxlQ29sdW1uUmlnaHROZWlnaGJvdXJNYXAuc2V0KGNvbHVtbiwgdmlzaWJsZUNvbHVtbk5hbWVzW2luZGV4IC0gMV0pO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fdmlzaWJsZUNvbHVtbk5hbWVzID0gWy4uLnZpc2libGVDb2x1bW5OYW1lc107XG4gICAgICAgIHRoaXMudXBkYXRlRnJvemVuQ29sdW1uc1dpZHRoKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICB1cGRhdGVGcm96ZW5Db2x1bW5zV2lkdGgoKTogdm9pZCB7XG4gICAgICAgIGxldCBhbGxQcmV2aW91c1dpZHRocyA9IDAsXG4gICAgICAgICAgICBhbGxOZXh0V2lkdGhzID0gMDtcbiAgICAgICAgZm9yIChjb25zdCBbY29sdW1uLCBwcmV2Q29sdW1uXSBvZiB0aGlzLl92aXNpYmxlQ29sdW1uTGVmdE5laWdoYm91ck1hcC5lbnRyaWVzKCkpIHtcbiAgICAgICAgICAgIGFsbFByZXZpb3VzV2lkdGhzICs9XG4gICAgICAgICAgICAgICAgdGhpcy5fY29sdW1uc0NlbGxNYXAuZ2V0KHByZXZDb2x1bW4gYXMgc3RyaW5nKT8uWzBdPy5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoID8/IDA7XG4gICAgICAgICAgICB0aGlzLl92aXNpYmxlQ29sdW1uTGVmdE9mZnNldFB4TWFwLnNldChjb2x1bW4sIGFsbFByZXZpb3VzV2lkdGhzKTtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGNvbnN0IFtjb2x1bW4sIG5leHRDb2x1bW5dIG9mIHRoaXMuX3Zpc2libGVDb2x1bW5SaWdodE5laWdoYm91ck1hcC5lbnRyaWVzKCkpIHtcbiAgICAgICAgICAgIGFsbE5leHRXaWR0aHMgKz1cbiAgICAgICAgICAgICAgICB0aGlzLl9jb2x1bW5zQ2VsbE1hcC5nZXQobmV4dENvbHVtbiBhcyBzdHJpbmcpPy5bMF0/Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggPz8gMDtcbiAgICAgICAgICAgIHRoaXMuX3Zpc2libGVDb2x1bW5SaWdodE9mZnNldFB4TWFwLnNldChjb2x1bW4sIGFsbE5leHRXaWR0aHMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICB1cGRhdGVGcm96ZW5Db2x1bW5zV2lkdGhBZnRlclJlc2l6ZShjb2x1bW5OYW1lOiBzdHJpbmcsIGRpZmZYOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgbGV0IGZvdW5kID0gZmFsc2U7XG4gICAgICAgIGZvciAoY29uc3QgW2NvbHVtbiwgd2lkdGhdIG9mIHRoaXMuX3Zpc2libGVDb2x1bW5MZWZ0T2Zmc2V0UHhNYXAuZW50cmllcygpKSB7XG4gICAgICAgICAgICBpZiAoY29sdW1uID09PSBjb2x1bW5OYW1lKSB7XG4gICAgICAgICAgICAgICAgZm91bmQgPSB0cnVlO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChmb3VuZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3Zpc2libGVDb2x1bW5MZWZ0T2Zmc2V0UHhNYXAuc2V0KGNvbHVtbiwgd2lkdGggKyBkaWZmWCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogUmV0cmlldmVzIGN1c3RvbSBjb2x1bW4gdmFsdWUgb3IgcmV0dXJucyBgdW5zZXRgICovXG4gICAgZ2V0Q29sdW1uV2lkdGhTdHlsZShjb2x1bW5OYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBjYWxjdWxhdGVkV2lkdGggPSB0aGlzLl9maXhlZENvbHVtbnNXaWR0aE1hcC5nZXQoY29sdW1uTmFtZSk7XG4gICAgICAgIHJldHVybiBjYWxjdWxhdGVkV2lkdGggfHwgJ3Vuc2V0JztcbiAgICB9XG5cbiAgICAvKiogUHJldmlvdXMgY29sdW1uIG5hbWUgKi9cbiAgICBnZXRQcmV2aW91c0NvbHVtbk5hbWUoY29sdW1uTmFtZTogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Zpc2libGVDb2x1bW5MZWZ0TmVpZ2hib3VyTWFwLmdldChjb2x1bW5OYW1lKTtcbiAgICB9XG5cbiAgICAvKiogUHJldmlvdXMgY29sdW1uIG5hbWUgKi9cbiAgICBnZXROZXh0Q29sdW1uTmFtZShjb2x1bW5OYW1lOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmlzaWJsZUNvbHVtblJpZ2h0TmVpZ2hib3VyTWFwLmdldChjb2x1bW5OYW1lKTtcbiAgICB9XG5cbiAgICAvKiogT3ZlcmFsbCBwcmV2aW91cyBjb2x1bW5zIHdpZHRoLiBVc2VkIHRvIGNhbGN1bGF0ZSBvZmZzZXQgZm9yIHRoZSBhYnNvbHV0ZSBwb3NpdGlvbmVkIGNlbGxzLiAqL1xuICAgIGdldFByZXZDb2x1bW5zV2lkdGgoY29sdW1uTmFtZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Zpc2libGVDb2x1bW5MZWZ0T2Zmc2V0UHhNYXAuZ2V0KGNvbHVtbk5hbWUpID8/IDA7XG4gICAgfVxuXG4gICAgLyoqIE92ZXJhbGwgbmV4dCBjb2x1bW5zIHdpZHRoLiBVc2VkIHRvIGNhbGN1bGF0ZSBvZmZzZXQgZm9yIHRoZSBhYnNvbHV0ZSBwb3NpdGlvbmVkIGNlbGxzLiAqL1xuICAgIGdldE5leHRDb2x1bW5zV2lkdGgoY29sdW1uTmFtZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Zpc2libGVDb2x1bW5SaWdodE9mZnNldFB4TWFwLmdldChjb2x1bW5OYW1lKSA/PyAwO1xuICAgIH1cblxuICAgIC8qKiBSZWdpc3RlciBjb2x1bW4ncyBjZWxsIHRvIGdldCBpdHMgZGltZW5zaW9ucyBpbiBmdXJ0aGVyLiAqL1xuICAgIHJlZ2lzdGVyQ29sdW1uQ2VsbChjb2x1bW5OYW1lOiBzdHJpbmcsIGNlbGxFbFJlZjogRWxlbWVudFJlZik6IHZvaWQge1xuICAgICAgICBjb25zdCBjb2x1bW5DZWxscyA9IHRoaXMuX2NvbHVtbnNDZWxsTWFwLmdldChjb2x1bW5OYW1lKSB8fCBbXTtcbiAgICAgICAgdGhpcy5fY29sdW1uc0NlbGxNYXAuc2V0KGNvbHVtbk5hbWUsIFtjZWxsRWxSZWYsIC4uLmNvbHVtbkNlbGxzXSk7XG4gICAgfVxuXG4gICAgLyoqIFVucmVnaXN0ZXIgY29sdW1uJ3MgY2VsbC4gKi9cbiAgICB1bnJlZ2lzdGVyQ29sdW1uQ2VsbChjb2x1bW5OYW1lOiBzdHJpbmcsIGNlbGxFbFJlZjogRWxlbWVudFJlZik6IHZvaWQge1xuICAgICAgICBjb25zdCBjb2x1bW5DZWxscyA9IHRoaXMuX2NvbHVtbnNDZWxsTWFwLmdldChjb2x1bW5OYW1lKSB8fCBbXTtcbiAgICAgICAgY29uc3QgZWxtSW5kZXggPSBjb2x1bW5DZWxscy5maW5kSW5kZXgoKGUpID0+IGUubmF0aXZlRWxlbWVudCA9PT0gY2VsbEVsUmVmLm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgICAgIGlmIChlbG1JbmRleCA9PT0gLTEpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbHVtbkNlbGxzLnNwbGljZShlbG1JbmRleCwgMSk7XG5cbiAgICAgICAgdGhpcy5fY29sdW1uc0NlbGxNYXAuc2V0KGNvbHVtbk5hbWUsIGNvbHVtbkNlbGxzKTtcbiAgICB9XG5cbiAgICAvKiogUmVnaXN0ZXIgdGhlIHZhbHVlIG9mIGNvbHVtbiB3aWR0aCB0aGF0IGNoYW5nZWQgZnJvbSAgaW5wdXQgKi9cbiAgICBzZXRDdXN0b21XaWR0aChjb2x1bW5OYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZml4ZWRDb2x1bW5zV2lkdGhNYXAuc2V0KGNvbHVtbk5hbWUsIHZhbHVlKTtcbiAgICAgICAgdGhpcy5maXhlZENvbHVtc1dpZHRoQ2hhbmdlLm5leHQodGhpcy5fZml4ZWRDb2x1bW5zV2lkdGhNYXApO1xuICAgIH1cblxuICAgIC8qKiBTZXQgdGhlIGFwcHJvcHJpYXRlIGNvbHVtbiByZXNpemVyIHBvc2l0aW9uLiAqL1xuICAgIHNldEluaXRpYWxSZXNpemVyUG9zaXRpb24ocmVzaXplclBvc2l0aW9uOiBudW1iZXIsIHJlc2l6ZWRDb2x1bW46IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5yZXNpemVJblByb2dyZXNzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9yZXNpemVkQ29sdW1uID0gcmVzaXplZENvbHVtbjtcbiAgICAgICAgdGhpcy5fcmVzaXplclBvc2l0aW9uID0gbnVsbDtcbiAgICAgICAgdGhpcy5yZXNpemVyUG9zaXRpb24kLm5leHQodGhpcy5yZXNpemVyUG9zaXRpb24pO1xuXG4gICAgICAgIGlmIChyZXNpemVyUG9zaXRpb24gIT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc3Qgc2Nyb2xsTGVmdE9mZnNldCA9IHRoaXMuX3Njcm9sbExlZnQgKiAodGhpcy5fcnRsJCgpID8gMSA6IC0xKTtcbiAgICAgICAgICAgIHRoaXMuX3Jlc2l6ZXJQb3NpdGlvbiA9IHJlc2l6ZXJQb3NpdGlvbiAtIFRBQkxFX1JFU0laRVJfQk9SREVSX1dJRFRIICsgc2Nyb2xsTGVmdE9mZnNldDtcbiAgICAgICAgICAgIHRoaXMucmVzaXplclBvc2l0aW9uJC5uZXh0KHRoaXMucmVzaXplclBvc2l0aW9uKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX21hcmtGb3JDaGVjay5uZXh0KCk7XG4gICAgfVxuXG4gICAgLyoqIEhpZGUgdGhlIGNvbHVtbiByZXNpemVyLiAqL1xuICAgIGhpZGVSZXNpemVyKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fcmVzaXplSW5Qcm9ncmVzcykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fcmVzaXplclBvc2l0aW9uID0gbnVsbDtcbiAgICAgICAgdGhpcy5yZXNpemVyUG9zaXRpb24kLm5leHQodGhpcy5yZXNpemVyUG9zaXRpb24pO1xuICAgICAgICB0aGlzLl9tYXJrRm9yQ2hlY2submV4dCgpO1xuICAgIH1cblxuICAgIC8qKiBIYW5kbGUgc3RhcnQgcmVzaXppbmcuICovXG4gICAgc3RhcnRSZXNpemUoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc3RhcnRYID0gdGhpcy5yZXNpemVyUG9zaXRpb247XG4gICAgICAgIHRoaXMuX2NsaWVudFN0YXJ0WCA9IGV2ZW50LmNsaWVudFg7XG5cbiAgICAgICAgdGhpcy5fdXBkYXRlUmVzaXplclBvc2l0aW9uT25Nb3VzZU1vdmUoKTtcblxuICAgICAgICB0aGlzLl9yZXNpemVJblByb2dyZXNzID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5yZXNpemVJblByb2dyZXNzJC5uZXh0KHRydWUpO1xuICAgIH1cblxuICAgIC8qKiBIYW5kbGUgZW5kIHJlc2l6aW5nLiAqL1xuICAgIGZpbmlzaFJlc2l6ZShldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZXNpemVyTW92ZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuXG4gICAgICAgIHRoaXMuX3Jlc2l6ZUluUHJvZ3Jlc3MgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5yZXNpemVJblByb2dyZXNzJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgdGhpcy5fcmVzaXplclBvc2l0aW9uID0gbnVsbDtcbiAgICAgICAgdGhpcy5yZXNpemVyUG9zaXRpb24kLm5leHQodGhpcy5yZXNpemVyUG9zaXRpb24pO1xuXG4gICAgICAgIGlmICh0aGlzLl9zdGFydFggIT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc3QgY2xpZW50U3RhcnRYID0gdGhpcy5fY2xpZW50U3RhcnRYID8/IDA7XG4gICAgICAgICAgICBjb25zdCBkaWZmWCA9IHRoaXMuX3J0bCQoKSA/IGNsaWVudFN0YXJ0WCAtIGV2ZW50LmNsaWVudFggOiBldmVudC5jbGllbnRYIC0gY2xpZW50U3RhcnRYO1xuXG4gICAgICAgICAgICB0aGlzLl9wcm9jZXNzUmVzaXplKGRpZmZYKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3N0YXJ0WCA9IG51bGw7XG4gICAgICAgIHRoaXMuX2NsaWVudFN0YXJ0WCA9IG51bGw7XG5cbiAgICAgICAgdGhpcy5fbWFya0ZvckNoZWNrLm5leHQoKTtcbiAgICB9XG5cbiAgICAvKiogVXBkYXRlIGNvbHVtbnMgd2lkdGggYWZ0ZXIgcmVzaXppbmcsIHByZXZlbnQgZnJvbSBoYXZpbmcgdG9vIHNtYWxsIGNvbHVtbnMuICovXG4gICAgX3Byb2Nlc3NSZXNpemUoZGlmZlg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCByZXNpemVkRWxlbWVudCA9IHRoaXMuX2NvbHVtbnNDZWxsTWFwLmdldCh0aGlzLl9yZXNpemVkQ29sdW1uKT8uWzBdPy5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCBjb2x1bW5XaWR0aCA9IHJlc2l6ZWRFbGVtZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcblxuICAgICAgICBpZiAoIWNvbHVtbldpZHRoIHx8ICFyZXNpemVkRWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGRpZmZYIDwgMCAmJiBjb2x1bW5XaWR0aCArIGRpZmZYIDwgVEFCTEVfQ09MVU1OX01JTl9XSURUSCkge1xuICAgICAgICAgICAgZGlmZlggPSBUQUJMRV9DT0xVTU5fTUlOX1dJRFRIIC0gY29sdW1uV2lkdGg7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMuZml4ZWRXaWR0aCkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBbY29sdW1uTmFtZSwgY2VsbHNdIG9mIHRoaXMuX2NvbHVtbnNDZWxsTWFwLmVudHJpZXMoKSkge1xuICAgICAgICAgICAgICAgIGlmIChjZWxscy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZml4ZWRDb2x1bW5zV2lkdGhNYXAuc2V0KFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNlbGxzWzBdLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggKyAncHgnXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5maXhlZENvbHVtc1dpZHRoQ2hhbmdlLm5leHQodGhpcy5fZml4ZWRDb2x1bW5zV2lkdGhNYXApO1xuICAgICAgICB9XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIEluIGNhc2UgXCJfcmVzaXplZENvbHVtblwiIGlzIGZyZWV6YWJsZSwgbWFrZSBzdXJlIHRoZSBvdmVyYWxsIHdpZHRoIG9mIGZyZWV6YWJsZSBjb2x1bW5zIGRvZXMgbm90IGV4Y2VlZCB0aGUgd2lkdGggb2YgdGhlIHRhYmxlLlxuICAgICAgICAgKiBJZiBpdCBkb2VzLCBjb2x1bW5zIHdpbGwgYmUgbWFkZSB1bmZyb3plbi5cbiAgICAgICAgICovXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGRpZmZYID4gMCAmJlxuICAgICAgICAgICAgKHRoaXMuX3RhYmxlUmVmLl9mcmVlemFibGVDb2x1bW5zLmhhcyh0aGlzLl9yZXNpemVkQ29sdW1uKSB8fFxuICAgICAgICAgICAgICAgIHRoaXMuX3RhYmxlUmVmLl9mcmVlemFibGVFbmRDb2x1bW5zPy5oYXModGhpcy5fcmVzaXplZENvbHVtbikpXG4gICAgICAgICkge1xuICAgICAgICAgICAgbGV0IGFjdHVhbFdpZHRoID0gdGhpcy5nZXRQcmV2Q29sdW1uc1dpZHRoKHRoaXMuX3Jlc2l6ZWRDb2x1bW4pICsgY29sdW1uV2lkdGg7XG4gICAgICAgICAgICBpZiAodGhpcy5fdGFibGVSZWYuX2ZyZWV6YWJsZUVuZENvbHVtbnM/Lmhhcyh0aGlzLl9yZXNpemVkQ29sdW1uKSkge1xuICAgICAgICAgICAgICAgIGFjdHVhbFdpZHRoID0gdGhpcy5nZXROZXh0Q29sdW1uc1dpZHRoKHRoaXMuX3Jlc2l6ZWRDb2x1bW4pICsgY29sdW1uV2lkdGg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBuZXdXaWR0aCA9IGFjdHVhbFdpZHRoICsgZGlmZlg7XG4gICAgICAgICAgICBjb25zdCBtYXhXaWR0aCA9IHRoaXMuX3RhYmxlUmVmLmdldE1heEFsbG93ZWRGcmVlemFibGVDb2x1bW5zV2lkdGgoKTtcbiAgICAgICAgICAgIGlmIChuZXdXaWR0aCA+PSBtYXhXaWR0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3RhYmxlUmVmLl9mcmVlemFibGVDb2x1bW5zLmZvckVhY2goKGNvbHVtbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl90YWJsZVJlZi51bmZyZWV6ZShjb2x1bW4udG9TdHJpbmcoKSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB1cGRhdGVkV2lkdGggPSBjb2x1bW5XaWR0aCArIGRpZmZYO1xuICAgICAgICB0aGlzLl9maXhlZENvbHVtbnNXaWR0aE1hcC5zZXQodGhpcy5fcmVzaXplZENvbHVtbiwgdXBkYXRlZFdpZHRoICsgJ3B4Jyk7XG4gICAgICAgIHRoaXMuZml4ZWRDb2x1bXNXaWR0aENoYW5nZS5uZXh0KHRoaXMuX2ZpeGVkQ29sdW1uc1dpZHRoTWFwKTtcbiAgICAgICAgdGhpcy51cGRhdGVGcm96ZW5Db2x1bW5zV2lkdGhBZnRlclJlc2l6ZSh0aGlzLl9yZXNpemVkQ29sdW1uLCBkaWZmWCk7XG5cbiAgICAgICAgY29uc3QgY29tcHV0ZWRTdHlsZXMgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShyZXNpemVkRWxlbWVudCk7XG4gICAgICAgIGNvbnN0IHBhZGRpbmcgPSBwYXJzZUludChjb21wdXRlZFN0eWxlcy5wYWRkaW5nTGVmdCwgMTApICsgcGFyc2VJbnQoY29tcHV0ZWRTdHlsZXMucGFkZGluZ1JpZ2h0LCAxMCk7XG4gICAgICAgIHRoaXMuX3VwZGF0ZUhlYWRlck92ZXJmbG93U3RhdGUodXBkYXRlZFdpZHRoIC0gcGFkZGluZyk7XG4gICAgICAgIHRoaXMuX21hcmtGb3JDaGVjay5uZXh0KCk7XG4gICAgfVxuXG4gICAgLyoqIFVwZGF0ZSBjb2x1bW4gcmVzaXplciBwb3NpdGlvbi4gKi9cbiAgICBwcml2YXRlIF91cGRhdGVSZXNpemVyUG9zaXRpb25Pbk1vdXNlTW92ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcmVzaXplck1vdmVTdWJzY3JpcHRpb24gPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4oZG9jdW1lbnQsICdtb3VzZW1vdmUnKVxuICAgICAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDEwKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2xpZW50U3RhcnRYID0gdGhpcy5fY2xpZW50U3RhcnRYID8/IDA7XG4gICAgICAgICAgICAgICAgY29uc3QgZGlmZlggPSB0aGlzLl9ydGwkKCkgPyBjbGllbnRTdGFydFggLSBldmVudC5jbGllbnRYIDogZXZlbnQuY2xpZW50WCAtIGNsaWVudFN0YXJ0WDtcblxuICAgICAgICAgICAgICAgIHRoaXMuX3Jlc2l6ZXJQb3NpdGlvbiA9ICh0aGlzLl9zdGFydFggPz8gMCkgKyBkaWZmWDtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc2l6ZXJQb3NpdGlvbiQubmV4dCh0aGlzLnJlc2l6ZXJQb3NpdGlvbik7XG5cbiAgICAgICAgICAgICAgICB0aGlzLl9tYXJrRm9yQ2hlY2submV4dCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgdGhlIGhlYWRlciB0ZXh0IGxlbmd0aCBnb2VzIG92ZXIgdGhlIGNvbHVtbiB3aWR0aC4gSW4gc3VjaCBjYXNlIGFwcGxpZXMgdGV4dCB0cnVuY2F0aW9uIHdpdGhcbiAgICAgKiBlbGxpcHNpcyBhbmQgbWFrZSBzdXJlIHdlIGFsc28gc2hvdyBhIHRvb2x0aXAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgX3VwZGF0ZUhlYWRlck92ZXJmbG93U3RhdGUodXBkYXRlZFdpZHRoOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuX2NvbHVtbnNDZWxsTWFwLmdldCh0aGlzLl9yZXNpemVkQ29sdW1uKT8uZmluZCgoYykgPT4gYz8ubmF0aXZlRWxlbWVudC50YWdOYW1lID09PSAnVEgnKVxuICAgICAgICAgICAgPy5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCB2aXNpYmxlQ29sdW1uID0gdGhpcy5fdGFibGVSZWYuZ2V0VmlzaWJsZVRhYmxlQ29sdW1ucygpLmZpbmQoKGMpID0+IGMubmFtZSA9PT0gdGhpcy5fcmVzaXplZENvbHVtbik7XG4gICAgICAgIGNvbnN0IGhlYWRlclRleHRFbGVtID0gZWxlbWVudD8ucXVlcnlTZWxlY3RvcihgIyR7dGhpcy5fdGFibGVSZWYuaWR9LWhlYWRlci1jZWxsLSR7dGhpcy5fcmVzaXplZENvbHVtbn1gKTtcblxuICAgICAgICBpZiAoIWhlYWRlclRleHRFbGVtIHx8ICF2aXNpYmxlQ29sdW1uKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdmlzaWJsZUNvbHVtbi5oZWFkZXJPdmVyZmxvd3MgPSBoZWFkZXJUZXh0RWxlbS5zY3JvbGxXaWR0aCA+IHVwZGF0ZWRXaWR0aDtcbiAgICB9XG59XG4iXX0=
@@ -1,7 +1,7 @@
1
- import { ElementRef, Inject, Injectable } from '@angular/core';
1
+ import { DestroyRef, ElementRef, Inject, Injectable, inject } from '@angular/core';
2
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
2
3
  import { resizeObservable } from '@fundamental-ngx/cdk/utils';
3
- import { Subject } from 'rxjs';
4
- import { debounceTime, takeUntil } from 'rxjs/operators';
4
+ import { debounceTime } from 'rxjs/operators';
5
5
  import { Table } from '../table';
6
6
  import { TableService } from './table.service';
7
7
  import * as i0 from "@angular/core";
@@ -16,7 +16,7 @@ export class TableResponsiveService {
16
16
  /** @hidden */
17
17
  this._responsiveBreakpoints = new Map();
18
18
  /** @hidden */
19
- this._onDestroy$ = new Subject();
19
+ this._destroyRef = inject(DestroyRef);
20
20
  }
21
21
  /**
22
22
  * Registers responsive column with it's breakpoint configuration.
@@ -27,11 +27,6 @@ export class TableResponsiveService {
27
27
  this._responsiveBreakpoints.set(column, this._normalizeBreakpoints(breakpoints));
28
28
  this._listenToTableResize();
29
29
  }
30
- /** @hidden */
31
- ngOnDestroy() {
32
- this._onDestroy$.next();
33
- this._onDestroy$.complete();
34
- }
35
30
  /**
36
31
  * @hidden
37
32
  * Transforms plain breakpoints into a list with minimal/maximal element width with it's visibility state.
@@ -57,7 +52,7 @@ export class TableResponsiveService {
57
52
  _listenToTableResize() {
58
53
  this._resizeSubscription?.unsubscribe();
59
54
  this._resizeSubscription = resizeObservable(this._elmRef.nativeElement)
60
- .pipe(debounceTime(20), takeUntil(this._onDestroy$))
55
+ .pipe(debounceTime(20), takeUntilDestroyed(this._destroyRef))
61
56
  .subscribe(() => {
62
57
  this._processResponsiveColumns();
63
58
  });
@@ -84,13 +79,13 @@ export class TableResponsiveService {
84
79
  });
85
80
  this._tableService.columnsChange$.next({ previous: currentTableColumns, current: currentTableColumns });
86
81
  }
87
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TableResponsiveService, deps: [{ token: Table }, { token: i1.TableService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Injectable }); }
88
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TableResponsiveService }); }
82
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TableResponsiveService, deps: [{ token: Table }, { token: i1.TableService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Injectable }); }
83
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TableResponsiveService }); }
89
84
  }
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TableResponsiveService, decorators: [{
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TableResponsiveService, decorators: [{
91
86
  type: Injectable
92
87
  }], ctorParameters: () => [{ type: i2.Table, decorators: [{
93
88
  type: Inject,
94
89
  args: [Table]
95
90
  }] }, { type: i1.TableService }, { type: i0.ElementRef }] });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcmVzcG9uc2l2ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS90YWJsZS1oZWxwZXJzL3NlcnZpY2VzL3RhYmxlLXJlc3BvbnNpdmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRWpDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQVMvQyxNQUFNLE9BQU8sc0JBQXNCO0lBVS9CLGNBQWM7SUFDZCxZQUNvQyxNQUFhLEVBQzVCLGFBQTJCLEVBQzNCLE9BQW1CO1FBRkosV0FBTSxHQUFOLE1BQU0sQ0FBTztRQUM1QixrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUMzQixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBYnhDLGNBQWM7UUFDRywyQkFBc0IsR0FBRyxJQUFJLEdBQUcsRUFBcUMsQ0FBQztRQUV2RixjQUFjO1FBQ0csZ0JBQVcsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBVWhELENBQUM7SUFFSjs7OztPQUlHO0lBQ0gsd0JBQXdCLENBQUMsTUFBbUIsRUFBRSxXQUFxRDtRQUMvRixJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUVqRixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FB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QztZQUNqQyxJQUFJLEVBQUUsU0FBUztZQUNmLEtBQUssRUFBRSxFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUU7U0FDekUsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUM7SUFDNUcsQ0FBQzs4R0FsR1Esc0JBQXNCLGtCQVluQixLQUFLO2tIQVpSLHNCQUFzQjs7MkZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVTs7MEJBYUYsTUFBTTsyQkFBQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0LCBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHJlc2l6ZU9ic2VydmFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRmRwQ29sdW1uUmVzcG9uc2l2ZVN0YXRlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9jb2x1bW4tcmVzcG9uc2l2ZS1zdGF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVGFibGUgfSBmcm9tICcuLi90YWJsZSc7XG5pbXBvcnQgeyBUYWJsZUNvbHVtbiB9IGZyb20gJy4uL3RhYmxlLWNvbHVtbic7XG5pbXBvcnQgeyBUYWJsZVNlcnZpY2UgfSBmcm9tICcuL3RhYmxlLnNlcnZpY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZkcFRhYmxlQnJlYWtwb2ludCB7XG4gICAgbWluOiBudW1iZXI7XG4gICAgbWF4OiBudW1iZXI7XG4gICAgdmlzaWJpbGl0eTogRmRwQ29sdW1uUmVzcG9uc2l2ZVN0YXRlO1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGFibGVSZXNwb25zaXZlU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9yZXNwb25zaXZlQnJlYWtwb2ludHMgPSBuZXcgTWFwPFRhYmxlQ29sdW1uLCBGZHBUYWJsZUJyZWFrcG9pbnRbXT4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfb25EZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Jlc2l6ZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUYWJsZSkgcHJpdmF0ZSByZWFkb25seSBfdGFibGU6IFRhYmxlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF90YWJsZVNlcnZpY2U6IFRhYmxlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfZWxtUmVmOiBFbGVtZW50UmVmXG4gICAgKSB7fVxuXG4gICAgLyoqXG4gICAgICogUmVnaXN0ZXJzIHJlc3BvbnNpdmUgY29sdW1uIHdpdGggaXQncyBicmVha3BvaW50IGNvbmZpZ3VyYXRpb24uXG4gICAgICogQHBhcmFtIGNvbHVtbiBUYWJsZSBDb2x1bW5cbiAgICAgKiBAcGFyYW0gYnJlYWtwb2ludHMgQnJlYWtwb2ludCBjb25maWd1cmF0aW9uLlxuICAgICAqL1xuICAgIHJlZ2lzdGVyUmVzcG9uc2l2ZUNvbHVtbihjb2x1bW46IFRhYmxlQ29sdW1uLCBicmVha3BvaW50czogUmVjb3JkPHN0cmluZywgRmRwQ29sdW1uUmVzcG9uc2l2ZVN0YXRlPik6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZXNwb25zaXZlQnJlYWtwb2ludHMuc2V0KGNvbHVtbiwgdGhpcy5fbm9ybWFsaXplQnJlYWtwb2ludHMoYnJlYWtwb2ludHMpKTtcblxuICAgICAgICB0aGlzLl9saXN0ZW5Ub1RhYmxlUmVzaXplKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fb25EZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX29uRGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogVHJhbnNmb3JtcyBwbGFpbiBicmVha3BvaW50cyBpbnRvIGEgbGlzdCB3aXRoIG1pbmltYWwvbWF4aW1hbCBlbGVtZW50IHdpZHRoIHdpdGggaXQncyB2aXNpYmlsaXR5IHN0YXRlLlxuICAgICAqL1xuICAgIHByaXZhdGUgX25vcm1hbGl6ZUJyZWFrcG9pbnRzKGJyZWFrcG9pbnRzOiBSZWNvcmQ8c3RyaW5nLCBGZHBDb2x1bW5SZXNwb25zaXZlU3RhdGU+KTogRmRwVGFibGVCcmVha3BvaW50W10ge1xuICAgICAgICBjb25zdCBzb3J0ZWRCcmVha3BvaW50cyA9IE9iamVjdC5rZXlzKGJyZWFrcG9pbnRzKVxuICAgICAgICAgICAgLm1hcCgoaSkgPT4gcGFyc2VJbnQoaSwgMTApKVxuICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+IGEgLSBiKTtcbiAgICAgICAgY29uc3QgbmV3QnJlYWtwb2ludHMgPSBzb3J0ZWRCcmVha3BvaW50cy5yZWR1Y2UoKHJlc3VsdDogRmRwVGFibGVCcmVha3BvaW50W10sIHZhbHVlLCBpbmRleCwgYXJyYXkpID0+IHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgICBtaW46IHZhbHVlLFxuICAgICAgICAgICAgICAgIG1heDogaW5kZXggKyAxIDwgYXJyYXkubGVuZ3RoID8gYXJyYXlbaW5kZXggKyAxXSAtIDEgOiBJbmZpbml0eSxcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBicmVha3BvaW50c1t2YWx1ZS50b1N0cmluZygpXVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0sIFtdKTtcblxuICAgICAgICByZXR1cm4gbmV3QnJlYWtwb2ludHM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIExpc3RlbnMgdG8gdGhlIHRhYmxlIGVsZW1lbnQgcmVzaXplIGFuZCBjYWxjdWxhdGVzIGNvbHVtbnMgdmlzaWJpbGl0eSBiYXNlZCBvbiB0aGUgY3VycmVudCBicmVha3BvaW50LlxuICAgICAqL1xuICAgIHByaXZhdGUgX2xpc3RlblRvVGFibGVSZXNpemUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Jlc2l6ZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcblxuICAgICAgICB0aGlzLl9yZXNpemVTdWJzY3JpcHRpb24gPSByZXNpemVPYnNlcnZhYmxlKHRoaXMuX2VsbVJlZi5uYXRpdmVFbGVtZW50KVxuICAgICAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDIwKSwgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcHJvY2Vzc1Jlc3BvbnNpdmVDb2x1bW5zKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Byb2Nlc3NSZXNwb25zaXZlQ29sdW1ucygpOiB2b2lkIHtcbiAgICAgICAgbGV0IHNob3VsZE5vdGlmeSA9IGZhbHNlO1xuICAgICAgICBjb25zdCB7IHdpZHRoIH0gPSB0aGlzLl9lbG1SZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgICB0aGlzLl9yZXNwb25zaXZlQnJlYWtwb2ludHMuZm9yRWFjaCgoYnJlYWtwb2ludHMsIGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZpdHRpbmdCcmVha3BvaW50ID0gYnJlYWtwb2ludHMuZmluZChcbiAgICAgICAgICAgICAgICAoYnJlYWtwb2ludCkgPT4gYnJlYWtwb2ludC5taW4gPD0gd2lkdGggJiYgYnJlYWtwb2ludC5tYXggPj0gd2lkdGhcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIGlmIChmaXR0aW5nQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgIHNob3VsZE5vdGlmeSA9IHNob3VsZE5vdGlmeSB8fCBpdGVtLnJlc3BvbnNpdmVTdGF0ZSAhPT0gZml0dGluZ0JyZWFrcG9pbnQudmlzaWJpbGl0eTtcbiAgICAgICAgICAgICAgICBpdGVtLnJlc3BvbnNpdmVTdGF0ZSA9IGZpdHRpbmdCcmVha3BvaW50LnZpc2liaWxpdHk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIE5vdGlmeSBvbmx5IHdoZW4gdGhlcmUncyBhY3R1YWwgdmlzaWJpbGl0eSBjaGFuZ2VzIHRvIGFueSBvZiB0aGUgY29sdW1ucy5cbiAgICAgICAgaWYgKCFzaG91bGROb3RpZnkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRUYWJsZUNvbHVtbnMgPSB0aGlzLl90YWJsZS5nZXRWaXNpYmxlVGFibGVDb2x1bW5zKCkubWFwKChjb2x1bW4pID0+IGNvbHVtbi5uYW1lKTtcblxuICAgICAgICB0aGlzLl90YWJsZVNlcnZpY2Uuc3RhdGVDaGFuZ2UkLm5leHQoe1xuICAgICAgICAgICAgdHlwZTogJ2NvbHVtbnMnLFxuICAgICAgICAgICAgc3RhdGU6IHsgcHJldmlvdXM6IGN1cnJlbnRUYWJsZUNvbHVtbnMsIGN1cnJlbnQ6IGN1cnJlbnRUYWJsZUNvbHVtbnMgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl90YWJsZVNlcnZpY2UuY29sdW1uc0NoYW5nZSQubmV4dCh7IHByZXZpb3VzOiBjdXJyZW50VGFibGVDb2x1bW5zLCBjdXJyZW50OiBjdXJyZW50VGFibGVDb2x1bW5zIH0pO1xuICAgIH1cbn1cbiJdfQ==
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcmVzcG9uc2l2ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS90YWJsZS1oZWxwZXJzL3NlcnZpY2VzL3RhYmxlLXJlc3BvbnNpdmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVqQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFTL0MsTUFBTSxPQUFPLHNCQUFzQjtJQVUvQixjQUFjO0lBQ2QsWUFDb0MsTUFBYSxFQUM1QixhQUEyQixFQUMzQixPQUFtQjtRQUZKLFdBQU0sR0FBTixNQUFNLENBQU87UUFDNUIsa0JBQWEsR0FBYixhQUFhLENBQWM7UUFDM0IsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQWJ4QyxjQUFjO1FBQ0csMkJBQXNCLEdBQUcsSUFBSSxHQUFHLEVBQXFDLENBQUM7UUFFdkYsY0FBYztRQUNHLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBVS9DLENBQUM7SUFFSjs7OztPQUlHO0lBQ0gsd0JBQXdCLENBQUMsTUFBbUIsRUFBRSxXQUFxRDtRQUMvRixJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUVqRixJQUFJLENB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LENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDO0lBQzVHLENBQUM7OEdBM0ZRLHNCQUFzQixrQkFZbkIsS0FBSztrSEFaUixzQkFBc0I7OzJGQUF0QixzQkFBc0I7a0JBRGxDLFVBQVU7OzBCQWFGLE1BQU07MkJBQUMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc3Ryb3lSZWYsIEVsZW1lbnRSZWYsIEluamVjdCwgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyByZXNpemVPYnNlcnZhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBGZHBDb2x1bW5SZXNwb25zaXZlU3RhdGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2NvbHVtbi1yZXNwb25zaXZlLXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBUYWJsZSB9IGZyb20gJy4uL3RhYmxlJztcbmltcG9ydCB7IFRhYmxlQ29sdW1uIH0gZnJvbSAnLi4vdGFibGUtY29sdW1uJztcbmltcG9ydCB7IFRhYmxlU2VydmljZSB9IGZyb20gJy4vdGFibGUuc2VydmljZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmRwVGFibGVCcmVha3BvaW50IHtcbiAgICBtaW46IG51bWJlcjtcbiAgICBtYXg6IG51bWJlcjtcbiAgICB2aXNpYmlsaXR5OiBGZHBDb2x1bW5SZXNwb25zaXZlU3RhdGU7XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUYWJsZVJlc3BvbnNpdmVTZXJ2aWNlIHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3Jlc3BvbnNpdmVCcmVha3BvaW50cyA9IG5ldyBNYXA8VGFibGVDb2x1bW4sIEZkcFRhYmxlQnJlYWtwb2ludFtdPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9yZXNpemVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVGFibGUpIHByaXZhdGUgcmVhZG9ubHkgX3RhYmxlOiBUYWJsZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfdGFibGVTZXJ2aWNlOiBUYWJsZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2VsbVJlZjogRWxlbWVudFJlZlxuICAgICkge31cblxuICAgIC8qKlxuICAgICAqIFJlZ2lzdGVycyByZXNwb25zaXZlIGNvbHVtbiB3aXRoIGl0J3MgYnJlYWtwb2ludCBjb25maWd1cmF0aW9uLlxuICAgICAqIEBwYXJhbSBjb2x1bW4gVGFibGUgQ29sdW1uXG4gICAgICogQHBhcmFtIGJyZWFrcG9pbnRzIEJyZWFrcG9pbnQgY29uZmlndXJhdGlvbi5cbiAgICAgKi9cbiAgICByZWdpc3RlclJlc3BvbnNpdmVDb2x1bW4oY29sdW1uOiBUYWJsZUNvbHVtbiwgYnJlYWtwb2ludHM6IFJlY29yZDxzdHJpbmcsIEZkcENvbHVtblJlc3BvbnNpdmVTdGF0ZT4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcmVzcG9uc2l2ZUJyZWFrcG9pbnRzLnNldChjb2x1bW4sIHRoaXMuX25vcm1hbGl6ZUJyZWFrcG9pbnRzKGJyZWFrcG9pbnRzKSk7XG5cbiAgICAgICAgdGhpcy5fbGlzdGVuVG9UYWJsZVJlc2l6ZSgpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogVHJhbnNmb3JtcyBwbGFpbiBicmVha3BvaW50cyBpbnRvIGEgbGlzdCB3aXRoIG1pbmltYWwvbWF4aW1hbCBlbGVtZW50IHdpZHRoIHdpdGggaXQncyB2aXNpYmlsaXR5IHN0YXRlLlxuICAgICAqL1xuICAgIHByaXZhdGUgX25vcm1hbGl6ZUJyZWFrcG9pbnRzKGJyZWFrcG9pbnRzOiBSZWNvcmQ8c3RyaW5nLCBGZHBDb2x1bW5SZXNwb25zaXZlU3RhdGU+KTogRmRwVGFibGVCcmVha3BvaW50W10ge1xuICAgICAgICBjb25zdCBzb3J0ZWRCcmVha3BvaW50cyA9IE9iamVjdC5rZXlzKGJyZWFrcG9pbnRzKVxuICAgICAgICAgICAgLm1hcCgoaSkgPT4gcGFyc2VJbnQoaSwgMTApKVxuICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+IGEgLSBiKTtcbiAgICAgICAgY29uc3QgbmV3QnJlYWtwb2ludHMgPSBzb3J0ZWRCcmVha3BvaW50cy5yZWR1Y2UoKHJlc3VsdDogRmRwVGFibGVCcmVha3BvaW50W10sIHZhbHVlLCBpbmRleCwgYXJyYXkpID0+IHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgICBtaW46IHZhbHVlLFxuICAgICAgICAgICAgICAgIG1heDogaW5kZXggKyAxIDwgYXJyYXkubGVuZ3RoID8gYXJyYXlbaW5kZXggKyAxXSAtIDEgOiBJbmZpbml0eSxcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBicmVha3BvaW50c1t2YWx1ZS50b1N0cmluZygpXVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0sIFtdKTtcblxuICAgICAgICByZXR1cm4gbmV3QnJlYWtwb2ludHM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIExpc3RlbnMgdG8gdGhlIHRhYmxlIGVsZW1lbnQgcmVzaXplIGFuZCBjYWxjdWxhdGVzIGNvbHVtbnMgdmlzaWJpbGl0eSBiYXNlZCBvbiB0aGUgY3VycmVudCBicmVha3BvaW50LlxuICAgICAqL1xuICAgIHByaXZhdGUgX2xpc3RlblRvVGFibGVSZXNpemUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Jlc2l6ZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcblxuICAgICAgICB0aGlzLl9yZXNpemVTdWJzY3JpcHRpb24gPSByZXNpemVPYnNlcnZhYmxlKHRoaXMuX2VsbVJlZi5uYXRpdmVFbGVtZW50KVxuICAgICAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDIwKSwgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcHJvY2Vzc1Jlc3BvbnNpdmVDb2x1bW5zKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Byb2Nlc3NSZXNwb25zaXZlQ29sdW1ucygpOiB2b2lkIHtcbiAgICAgICAgbGV0IHNob3VsZE5vdGlmeSA9IGZhbHNlO1xuICAgICAgICBjb25zdCB7IHdpZHRoIH0gPSB0aGlzLl9lbG1SZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgICB0aGlzLl9yZXNwb25zaXZlQnJlYWtwb2ludHMuZm9yRWFjaCgoYnJlYWtwb2ludHMsIGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZpdHRpbmdCcmVha3BvaW50ID0gYnJlYWtwb2ludHMuZmluZChcbiAgICAgICAgICAgICAgICAoYnJlYWtwb2ludCkgPT4gYnJlYWtwb2ludC5taW4gPD0gd2lkdGggJiYgYnJlYWtwb2ludC5tYXggPj0gd2lkdGhcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIGlmIChmaXR0aW5nQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgIHNob3VsZE5vdGlmeSA9IHNob3VsZE5vdGlmeSB8fCBpdGVtLnJlc3BvbnNpdmVTdGF0ZSAhPT0gZml0dGluZ0JyZWFrcG9pbnQudmlzaWJpbGl0eTtcbiAgICAgICAgICAgICAgICBpdGVtLnJlc3BvbnNpdmVTdGF0ZSA9IGZpdHRpbmdCcmVha3BvaW50LnZpc2liaWxpdHk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIE5vdGlmeSBvbmx5IHdoZW4gdGhlcmUncyBhY3R1YWwgdmlzaWJpbGl0eSBjaGFuZ2VzIHRvIGFueSBvZiB0aGUgY29sdW1ucy5cbiAgICAgICAgaWYgKCFzaG91bGROb3RpZnkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRUYWJsZUNvbHVtbnMgPSB0aGlzLl90YWJsZS5nZXRWaXNpYmxlVGFibGVDb2x1bW5zKCkubWFwKChjb2x1bW4pID0+IGNvbHVtbi5uYW1lKTtcblxuICAgICAgICB0aGlzLl90YWJsZVNlcnZpY2Uuc3RhdGVDaGFuZ2UkLm5leHQoe1xuICAgICAgICAgICAgdHlwZTogJ2NvbHVtbnMnLFxuICAgICAgICAgICAgc3RhdGU6IHsgcHJldmlvdXM6IGN1cnJlbnRUYWJsZUNvbHVtbnMsIGN1cnJlbnQ6IGN1cnJlbnRUYWJsZUNvbHVtbnMgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl90YWJsZVNlcnZpY2UuY29sdW1uc0NoYW5nZSQubmV4dCh7IHByZXZpb3VzOiBjdXJyZW50VGFibGVDb2x1bW5zLCBjdXJyZW50OiBjdXJyZW50VGFibGVDb2x1bW5zIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -94,10 +94,10 @@ export class TableRowService {
94
94
  }
95
95
  this.loadChildRows$.next(expandableRows);
96
96
  }
97
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TableRowService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
98
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TableRowService }); }
97
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TableRowService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
98
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TableRowService }); }
99
99
  }
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TableRowService, decorators: [{
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TableRowService, decorators: [{
101
101
  type: Injectable
102
102
  }] });
103
103
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcm93LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3RhYmxlLWhlbHBlcnMvc2VydmljZXMvdGFibGUtcm93LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSwwQkFBMEIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFlBQVksQ0FBQzs7QUEwQjVHLE1BQU0sT0FBTyxlQUFlO0lBRDVCO1FBRUksY0FBYztRQUNHLHNCQUFpQixHQUFHLElBQUksT0FBTyxFQUFrQixDQUFDO1FBRW5FLGNBQWM7UUFDRyxtQ0FBOEIsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRXRFLGNBQWM7UUFDRyx3QkFBbUIsR0FBRyxJQUFJLE9BQU8sRUFBb0IsQ0FBQztRQUV2RSxjQUFjO1FBQ0csd0JBQW1CLEdBQUcsSUFBSSxPQUFPLEVBQXlCLENBQUM7UUFFNUUsY0FBYztRQUNHLG9DQUErQixHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFFMUUscUVBQXFFO1FBQzVELDZCQUF3QixHQUFHLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUV4Rix1REFBdUQ7UUFDOUMsaUJBQVksR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFaEUscUVBQXFFO1FBQzVELDRCQUF1QixHQUFHLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUV0RiwyREFBMkQ7UUFDbEQsaUJBQVksR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFaEUseUJBQXlCO1FBQ2hCLGVBQVUsR0FBRyxJQUFJLENBQUMs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O2tIQUFmLGVBQWU7OzJGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb2N1c2FibGVJdGVtUG9zaXRpb24gfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjb252ZXJ0VHJlZUxpa2VUb0ZsYXRMaXN0LCBjcmVhdGVHcm91cGVkVGFibGVSb3dzVHJlZSwgc29ydFRyZWVMaWtlR3JvdXBlZFJvd3MgfSBmcm9tICcuLi9oZWxwZXJzJztcbmltcG9ydCB7IENvbGxlY3Rpb25Hcm91cCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgVGFibGVSb3cgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgRWRpdGFibGVUYWJsZUNlbGwgfSBmcm9tICcuLi90YWJsZS1jZWxsLmNsYXNzJztcblxuZXhwb3J0IHR5cGUgVG9nZ2xlUm93TW9kZWwgPVxuICAgIHwge1xuICAgICAgICAgIHR5cGU6ICd0b2dnbGVSb3cnO1xuICAgICAgICAgIHJvdzogVGFibGVSb3c7XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgICAgdHlwZTogJ3RvZ2dsZVNpbmdsZVNlbGVjdGFibGVSb3cnO1xuICAgICAgICAgIHJvdzogVGFibGVSb3c7XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgICAgdHlwZTogJ3RvZ2dsZU11bHRpU2VsZWN0Um93JztcbiAgICAgICAgICByb3c6IFRhYmxlUm93O1xuICAgICAgICAgIGV2ZW50PzogRXZlbnQ7XG4gICAgICB9O1xuXG5leHBvcnQgaW50ZXJmYWNlIENlbGxDbGlja2VkTW9kZWwge1xuICAgIGluZGV4OiBudW1iZXI7XG4gICAgcm93OiBUYWJsZVJvdztcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRhYmxlUm93U2VydmljZTxUID0gYW55PiB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF90b2dnbGVSb3dTdWJqZWN0ID0gbmV3IFN1YmplY3Q8VG9nZ2xlUm93TW9kZWw+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3Njcm9sbFRvT3ZlcmxhcHBlZENlbGxTdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY2VsbENsaWNrZWRTdWJqZWN0ID0gbmV3IFN1YmplY3Q8Q2VsbENsaWNrZWRNb2RlbD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY2VsbEZvY3VzZWRTdWJqZWN0ID0gbmV3IFN1YmplY3Q8Rm9jdXNhYmxlSXRlbVBvc2l0aW9uPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF90b2dnbGVBbGxTZWxlY3RhYmxlUm93c1N1YmplY3QgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICAgLyoqIFN0cmVhbSB0aGF0IGVtaXRzIHdoZW4gdG9nZ2xpbmcgYWxsIHNlbGVjdGFibGUgcm93cyBpcyBuZWVkZWQuICovXG4gICAgcmVhZG9ubHkgdG9nZ2xlQWxsU2VsZWN0YWJsZVJvd3MkID0gdGhpcy5fdG9nZ2xlQWxsU2VsZWN0YWJsZVJvd3NTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgLyoqIFN0cmVhbSB0aGF0IGVtaXRzIHdoZW4gdGFibGUgY2VsbCBiZWluZyBjbGlja2VkLiAqL1xuICAgIHJlYWRvbmx5IGNlbGxDbGlja2VkJCA9IHRoaXMuX2NlbGxDbGlja2VkU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICAgIC8qKiBTdHJlYW0gdGhhdCBlbWl0cyB3aGVuIHNjcm9sbGluZyB0byBvdmVybGFwcGVkIGNlbGwgaXMgbmVlZGVkLiAqL1xuICAgIHJlYWRvbmx5IHNjcm9sbFRvT3ZlcmxhcHBlZENlbGwkID0gdGhpcy5fc2Nyb2xsVG9PdmVybGFwcGVkQ2VsbFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICAvKiogU3RyZWFtIHRoYXQgZW1pdHMgd2hlbiB0aGUgdGFibGUgY2VsbCBiZWluZyBmb2N1c2VkLiAqL1xuICAgIHJlYWRvbmx5IGNlbGxGb2N1c2VkJCA9IHRoaXMuX2NlbGxGb2N1c2VkU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICAgIC8qKiBUb2dnbGUgcm93IHN0cmVhbS4gKi9cbiAgICByZWFkb25seSB0b2dnbGVSb3ckID0gdGhpcy5fdG9nZ2xlUm93U3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICAgIC8qKiBFZGl0YWJsZSBjZWxscyBtYXAuICovXG4gICAgcmVhZG9ubHkgZWRpdGFibGVDZWxscyA9IG5ldyBNYXA8VGFibGVSb3c8YW55PiwgRWRpdGFibGVUYWJsZUNlbGxbXT4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgY2hpbGRSb3dzQWRkZWQkID0gbmV3IFN1YmplY3Q8eyByb3c6IFRhYmxlUm93OyByb3dJbmRleDogbnVtYmVyOyBpdGVtczogVFtdIH0+KCk7XG5cbiAgICAvKiogU3RyZWFtIHRvIGxvYWQgY2hpbGQgaXRlbXMgZm9yIGEgcGFydGljdWxhciByb3dzLiAqL1xuICAgIHJlYWRvbmx5IGxvYWRDaGlsZFJvd3MkID0gbmV3IFN1YmplY3Q8VGFibGVSb3c8VD5bXT4oKTtcblxuICAgIC8qKiBgdG9nZ2xlUm93JGAgc3RyZWFtIHRyaWdnZXIuICovXG4gICAgdG9nZ2xlUm93KGV2dDogVG9nZ2xlUm93TW9kZWwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdG9nZ2xlUm93U3ViamVjdC5uZXh0KGV2dCk7XG4gICAgfVxuXG4gICAgLyoqIGBzY3JvbGxUb092ZXJsYXBwZWRDZWxsJGAgc3RyZWFtIHRyaWdnZXIuICovXG4gICAgc2Nyb2xsVG9PdmVybGFwcGVkQ2VsbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2Nyb2xsVG9PdmVybGFwcGVkQ2VsbFN1YmplY3QubmV4dCgpO1xuICAgIH1cblxuICAgIC8qKiBgY2VsbENsaWNrZWQkYCBzdHJlYW0gdHJpZ2dlci4gKi9cbiAgICBjZWxsQ2xpY2tlZChldnQ6IENlbGxDbGlja2VkTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY2VsbENsaWNrZWRTdWJqZWN0Lm5leHQoZXZ0KTtcbiAgICB9XG5cbiAgICAvKiogYGNlbGxGb2N1c2VkJGAgc3RyZWFtIHRyaWdnZXIuICovXG4gICAgY2VsbEZvY3VzZWQoZXZ0OiBGb2N1c2FibGVJdGVtUG9zaXRpb24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY2VsbEZvY3VzZWRTdWJqZWN0Lm5leHQoZXZ0KTtcbiAgICB9XG5cbiAgICAvKiogYHRvZ2dsZUFsbFNlbGVjdGFibGVSb3dzJGAgc3RyZWFtIHRyaWdnZXIuICovXG4gICAgdG9nZ2xlQWxsU2VsZWN0YWJsZVJvd3Moc2VsZWN0QWxsOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RvZ2dsZUFsbFNlbGVjdGFibGVSb3dzU3ViamVjdC5uZXh0KHNlbGVjdEFsbCk7XG4gICAgfVxuXG4gICAgLyoqIEdyb3VwcyB0aGUgdGFibGUgcm93cy4gKi9cbiAgICBncm91cFRhYmxlUm93cyhcbiAgICAgICAgc291cmNlUm93czogVGFibGVSb3dbXSxcbiAgICAgICAgZ3JvdXBzOiBJdGVyYWJsZTxDb2xsZWN0aW9uR3JvdXA+LFxuICAgICAgICBncm91cFJ1bGVzTWFwOiBNYXA8c3RyaW5nLCBDb2xsZWN0aW9uR3JvdXA+XG4gICAgKTogVGFibGVSb3dbXSB7XG4gICAgICAgIGNvbnN0IGdyb3VwUnVsZXMgPSBBcnJheS5mcm9tKGdyb3Vwcyk7XG5cbiAgICAgICAgaWYgKCFncm91cFJ1bGVzLmxlbmd0aCkge1xuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiBJbiBjYXNlIGlmIHByZXZpb3VzbHkgd2UgaGFkIGdyb3VwcyB3aXRoIGNvbGxhcHNlZCBpdGVtc1xuICAgICAgICAgICAgICogYnV0IG5vdyB3ZSBkb24ndCBoYXZlIGl0IHdlIG5lZWQgdG8gcmVzZXQgcm93LmhpZGRlbiBmbGFnXG4gICAgICAgICAgICAgKiBpbiBvcmRlciB0byBhdm9pZCBlbXB0eSB0YWJsZSBhZnRlciBncm91cHMgc2V0dGluZ3MgcmVtb3ZpbmdcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgc291cmNlUm93cy5mb3JFYWNoKChyb3cpID0+IHtcbiAgICAgICAgICAgICAgICByb3cuaGlkZGVuID0gZmFsc2U7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBzb3VyY2VSb3dzO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQnVpbGQgdHJlZSBsaWtlIGdyb3Vwc1xuICAgICAgICBjb25zdCB0cmVlTGlrZUdyb3VwZWRSb3dzID0gY3JlYXRlR3JvdXBlZFRhYmxlUm93c1RyZWUoZ3JvdXBSdWxlcywgc291cmNlUm93cyk7XG5cbiAgICAgICAgLy8gU29ydCB0cmVlIGxpa2UgZ3JvdXBzXG4gICAgICAgIGNvbnN0IHNvcnRlZFRyZWVMaWtlR3JvdXBlZFJvd3MgPSBzb3J0VHJlZUxpa2VHcm91cGVkUm93cyh0cmVlTGlrZUdyb3VwZWRSb3dzLCBncm91cFJ1bGVzTWFwKTtcblxuICAgICAgICAvLyBDb252ZXJ0IHRyZWUgbGlrZSBsaXN0IHRvIGEgZmxhdCBsaXN0XG4gICAgICAgIHJldHVybiBjb252ZXJ0VHJlZUxpa2VUb0ZsYXRMaXN0KHNvcnRlZFRyZWVMaWtlR3JvdXBlZFJvd3MpO1xuICAgIH1cblxuICAgIC8qKiBTZXRzIGVkaXRhYmxlIGNlbGxzIGZvciBwYXJ0aWN1bGFyIHJvdy4gKi9cbiAgICB1cGRhdGVFZGl0YWJsZUNlbGxzKHJvdzogVGFibGVSb3csIGNlbGxzOiBFZGl0YWJsZVRhYmxlQ2VsbFtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWRpdGFibGVDZWxscy5zZXQocm93LCBjZWxscyk7XG4gICAgfVxuXG4gICAgLyoqIFJlbW92ZXMgZWRpdGFibGUgY2VsbHMgb2YgcGFydGljdWxhciByb3cuICovXG4gICAgcmVtb3ZlRWRpdGFibGVDZWxscyhyb3c6IFRhYmxlUm93KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWRpdGFibGVDZWxscy5kZWxldGUocm93KTtcbiAgICB9XG5cbiAgICAvKiogVHJpZ2dlcnMgc3RyZWFtIHRvIGxvYWQgY2hpbGQgaXRlbXMgZm9yIGEgcGFydGljdWxhciByb3dzLiAqL1xuICAgIGxvYWRDaGlsZFJvd3Mocm93czogVGFibGVSb3c8VD4gfCBUYWJsZVJvdzxUPltdKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGV4cGFuZGFibGVSb3dzOiBUYWJsZVJvdzxUPltdID0gW107XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHJvd3MpKSB7XG4gICAgICAgICAgICBleHBhbmRhYmxlUm93cy5wdXNoKC4uLnJvd3MuZmlsdGVyKChyKSA9PiAhci5jaGlsZEl0ZW1zTG9hZGluZyQudmFsdWUpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChyb3dzLmNoaWxkSXRlbXNMb2FkaW5nJC52YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGV4cGFuZGFibGVSb3dzLnB1c2gocm93cyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5sb2FkQ2hpbGRSb3dzJC5uZXh0KGV4cGFuZGFibGVSb3dzKTtcbiAgICB9XG59XG4iXX0=
@@ -48,10 +48,10 @@ export class TableScrollDispatcherService {
48
48
  Array.from(this._scrollableSubscriptionsMap.values()).forEach((subscription) => subscription.unsubscribe());
49
49
  this._scrollableSubscriptionsMap.clear();
50
50
  }
51
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TableScrollDispatcherService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
52
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TableScrollDispatcherService }); }
51
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TableScrollDispatcherService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
52
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TableScrollDispatcherService }); }
53
53
  }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TableScrollDispatcherService, decorators: [{
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TableScrollDispatcherService, decorators: [{
55
55
  type: Injectable
56
56
  }] });
57
57
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtc2Nyb2xsLWRpc3BhdGNoZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vdGFibGUtaGVscGVycy9zZXJ2aWNlcy90YWJsZS1zY3JvbGwtZGlzcGF0Y2hlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxVQUFVLEVBQUUsY0FBYyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBYyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQWtDekQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQWtCLGtCQUFrQixDQUFDLENBQUM7QUFHeEYsTUFBTSxPQUFPLDRCQUE0QjtJQUR6QztRQUVJLGNBQWM7UUFDTixtQkFBYyxHQUE2QixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ2pFLGNBQWM7UUFDTiwyQkFBc0IsR0FBNkIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUN6RSxjQUFjO1FBQ04sNkJBQXdCLEdBQTZCLElBQUksT0FBTyxFQUFFLENBQUM7UUFDM0UsY0FBYztRQUNOLGdDQUEyQixHQUF1QyxJQUFJLEdBQUcsRUFBRSxDQUFDO0tBOEN2RjtJQTVDRyxjQUFjO0lBQ2QsUUFBUSxDQUFDLFVBQTJCO1FBQ2hDLElBQUksSUFBSSxDQUFDLDJCQUEyQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNsRCxPQUFPO1NBQ1Y7UUFFRCxNQUFNLEdBQUcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQy9CLEdBQUcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLGVBQWUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUYsR0FBRyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMseUJBQXlCLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEgsR0FBRyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFNUcsSUFBSSxDQUFDLDJCQUEyQixDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELGNBQWM7SUFDZCxVQUFVLENBQUMsVUFBMkI7UUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDbkQsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLDJCQUEyQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUNwRSxDQUFDO0lBRUQsb0JBQW9CO0lBQ3BCLFFBQVE7UUFDSixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVELCtCQUErQjtJQUMvQixvQkFBb0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEQsQ0FBQztJQUVELDZCQUE2QjtJQUM3QixrQkFBa0I7UUFDZCxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0RCxDQUFDO0lBRUQsY0FBYztJQUNkLFdBQVc7UUFDUCxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFFNUcsSUFBSSxDQUFDLDJCQUEyQixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzdDLENBQUM7OEdBckRRLDRCQUE0QjtrSEFBNUIsNEJBQTRCOzsyRkFBNUIsNEJBQTRCO2tCQUR4QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVTY3JvbGxhYmxlIHtcbiAgICAvKiogUmV0dXJucyBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgd2hlbiBhIHNjcm9sbCBldmVudCBpcyBmaXJlZCBvbiB0aGUgaG9zdCBlbGVtZW50LiAqL1xuICAgIGdldFNjcm9sbFN0cmVhbSgpOiBPYnNlcnZhYmxlPEV2ZW50PjtcblxuICAgIC8qKiBSZXR1cm5zIG9ic2VydmFibGUgdGhhdCBlbWl0cyB3aGVuIGEgdmVydGljYWwgc2Nyb2xsIGV2ZW50IGlzIGhhcHBlbmVkIG9uIHRoZSBob3N0IGVsZW1lbnQuICovXG4gICAgZ2V0VmVydGljYWxTY3JvbGxTdHJlYW0oKTogT2JzZXJ2YWJsZTxFdmVudD47XG5cbiAgICAvKiogUmV0dXJucyBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgd2hlbiBhIGhvcml6b250YWwgc2Nyb2xsIGV2ZW50IGlzIGhhcHBlbmVkIG9uIHRoZSBob3N0IGVsZW1lbnQuICovXG4gICAgZ2V0SG9yaXpvbnRhbFNjcm9sbFN0cmVhbSgpOiBPYnNlcnZhYmxlPEV2ZW50PjtcblxuICAgIC8qKiBSZXR1cm5zIHNjcm9sbFRvcCBwb3NpdGlvbiBvZiB0aGUgaG9zdCBlbGVtZW50LiAqL1xuICAgIGdldFNjcm9sbFRvcCgpOiBudW1iZXI7XG5cbiAgICAvKiogUmV0dXJucyBzY3JvbGxMZWZ0IHBvc2l0aW9uIG9mIHRoZSBob3N0IGVsZW1lbnQuICovXG4gICAgZ2V0U2Nyb2xsTGVmdCgpOiBudW1iZXI7XG5cbiAgICAvKiogU2V0IHNjcm9sbFRvcCBwb3NpdGlvbiBvZiB0aGUgaG9zdCBlbGVtZW50LiAqL1xuICAgIHNldFNjcm9sbFRvcChzY3JvbGxUb3A6IG51bWJlciwgZW1pdEV2ZW50OiBib29sZWFuKTogdm9pZDtcblxuICAgIC8qKiBTZXQgc2Nyb2xsTGVmdCBwb3NpdGlvbiBvZiB0aGUgaG9zdCBlbGVtZW50LiAqL1xuICAgIHNldFNjcm9sbExlZnQoc2Nyb2xsTGVmdDogbnVtYmVyLCBlbWl0RXZlbnQ6IGJvb2xlYW4pOiB2b2lkO1xuXG4gICAgLyoqIEdldCBzY3JvbGxhYmxlIEVsZW1lbnRSZWYgb2YuICovXG4gICAgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICAvKiogU2Nyb2xscyB0byBvdmVybGFwcGVkIGNlbGwuICovXG4gICAgc2Nyb2xsVG9PdmVybGFwcGVkQ2VsbChydGw6IGJvb2xlYW4sIGZyZWV6YWJsZUNvbHVtbnNTaXplOiBudW1iZXIsIGZyZWV6YWJsZUVuZENvbHVtblNpemU6IG51bWJlcik6IHZvaWQ7XG5cbiAgICAvKiogU2V0IFNjcm9sbCBQb3NpdGlvbiBkdXJpbmcgY29tcG9uZW50IGluaXRpYWxpemF0aW9uLiAqL1xuICAgIGluaXRpYWxpemVTY3JvbGxUb3Aoc2Nyb2xsVG9wOiBudW1iZXIpOiB2b2lkO1xufVxuXG5leHBvcnQgY29uc3QgVEFCTEVfU0NST0xMQUJMRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxUYWJsZVNjcm9sbGFibGU+KCdUYWJsZSBTY3JvbGxhYmxlJyk7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUYWJsZVNjcm9sbERpc3BhdGNoZXJTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Njcm9sbFN1YmplY3Q6IFN1YmplY3Q8VGFibGVTY3JvbGxhYmxlPiA9IG5ldyBTdWJqZWN0KCk7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF92ZXJ0aWNhbFNjcm9sbFN1YmplY3Q6IFN1YmplY3Q8VGFibGVTY3JvbGxhYmxlPiA9IG5ldyBTdWJqZWN0KCk7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9ob3Jpem9udGFsU2Nyb2xsU3ViamVjdDogU3ViamVjdDxUYWJsZVNjcm9sbGFibGU+ID0gbmV3IFN1YmplY3QoKTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Njcm9sbGFibGVTdWJzY3JpcHRpb25zTWFwOiBNYXA8VGFibGVTY3JvbGxhYmxlLCBTdWJzY3JpcHRpb24+ID0gbmV3IE1hcCgpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWdpc3RlcihzY3JvbGxhYmxlOiBUYWJsZVNjcm9sbGFibGUpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX3Njcm9sbGFibGVTdWJzY3JpcHRpb25zTWFwLmhhcyhzY3JvbGxhYmxlKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc3ViID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICAgICAgICBzdWIuYWRkKHNjcm9sbGFibGUuZ2V0U2Nyb2xsU3RyZWFtKCkuc3Vic2NyaWJlKCgpID0+IHRoaXMuX3Njcm9sbFN1YmplY3QubmV4dChzY3JvbGxhYmxlKSkpO1xuICAgICAgICBzdWIuYWRkKHNjcm9sbGFibGUuZ2V0SG9yaXpvbnRhbFNjcm9sbFN0cmVhbSgpLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9ob3Jpem9udGFsU2Nyb2xsU3ViamVjdC5uZXh0KHNjcm9sbGFibGUpKSk7XG4gICAgICAgIHN1Yi5hZGQoc2Nyb2xsYWJsZS5nZXRWZXJ0aWNhbFNjcm9sbFN0cmVhbSgpLnN1YnNjcmliZSgoKSA9PiB0aGlzLl92ZXJ0aWNhbFNjcm9sbFN1YmplY3QubmV4dChzY3JvbGxhYmxlKSkpO1xuXG4gICAgICAgIHRoaXMuX3Njcm9sbGFibGVTdWJzY3JpcHRpb25zTWFwLnNldChzY3JvbGxhYmxlLCBzdWIpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZGVyZWdpc3RlcihzY3JvbGxhYmxlOiBUYWJsZVNjcm9sbGFibGUpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9zY3JvbGxhYmxlU3Vic2NyaXB0aW9uc01hcC5oYXMoc2Nyb2xsYWJsZSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3Njcm9sbGFibGVTdWJzY3JpcHRpb25zTWFwLmdldChzY3JvbGxhYmxlKT8udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKiogU2Nyb2xsIHN0cmVhbSAqL1xuICAgIHNjcm9sbGVkKCk6IE9ic2VydmFibGU8VGFibGVTY3JvbGxhYmxlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zY3JvbGxTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIC8qKiBIb3Jpem9udGFsIHNjcm9sbCBzdHJlYW0gKi9cbiAgICBob3Jpem9udGFsbHlTY3JvbGxlZCgpOiBPYnNlcnZhYmxlPFRhYmxlU2Nyb2xsYWJsZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faG9yaXpvbnRhbFNjcm9sbFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgLyoqIFZlcnRpY2FsIHNjcm9sbCBzdHJlYW0gKi9cbiAgICB2ZXJ0aWNhbGx5U2Nyb2xsZWQoKTogT2JzZXJ2YWJsZTxUYWJsZVNjcm9sbGFibGU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZlcnRpY2FsU2Nyb2xsU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBBcnJheS5mcm9tKHRoaXMuX3Njcm9sbGFibGVTdWJzY3JpcHRpb25zTWFwLnZhbHVlcygpKS5mb3JFYWNoKChzdWJzY3JpcHRpb24pID0+IHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcblxuICAgICAgICB0aGlzLl9zY3JvbGxhYmxlU3Vic2NyaXB0aW9uc01hcC5jbGVhcigpO1xuICAgIH1cbn1cbiJdfQ==