@fundamental-ngx/platform 0.47.4 → 0.48.0-rc.1

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 (457) hide show
  1. package/README.md +0 -28
  2. package/esm2022/approval-flow/approval-flow-add-node/approval-flow-add-node.component.mjs +6 -11
  3. package/esm2022/approval-flow/approval-flow-approver-details/approval-flow-approver-details.component.mjs +6 -8
  4. package/esm2022/approval-flow/approval-flow-messages/approval-flow-messages.component.mjs +5 -6
  5. package/esm2022/approval-flow/approval-flow-node/approval-flow-drop-zone.directive.mjs +5 -5
  6. package/esm2022/approval-flow/approval-flow-node/approval-flow-node.component.mjs +8 -11
  7. package/esm2022/approval-flow/approval-flow-select-type/approval-flow-select-type.component.mjs +6 -8
  8. package/esm2022/approval-flow/approval-flow-team-list/approval-flow-team-list.component.mjs +5 -7
  9. package/esm2022/approval-flow/approval-flow-toolbar-actions/approval-flow-toolbar-actions.component.mjs +5 -6
  10. package/esm2022/approval-flow/approval-flow-user-details/approval-flow-user-details.component.mjs +6 -6
  11. package/esm2022/approval-flow/approval-flow-user-list/approval-flow-user-list.component.mjs +6 -7
  12. package/esm2022/approval-flow/approval-flow.component.mjs +8 -10
  13. package/esm2022/approval-flow/approval-flow.module.mjs +4 -4
  14. package/esm2022/approval-flow/services/approval-flow-add-node-view.service.mjs +3 -3
  15. package/esm2022/button/button.component.mjs +5 -5
  16. package/esm2022/button/button.module.mjs +4 -4
  17. package/esm2022/dynamic-page/directives/dynamic-page-header-subtitle.directive.mjs +3 -3
  18. package/esm2022/dynamic-page/directives/dynamic-page-header-title.directive.mjs +3 -3
  19. package/esm2022/dynamic-page/dynamic-page-content/dynamic-page-content-host.component.mjs +5 -5
  20. package/esm2022/dynamic-page/dynamic-page-content/dynamic-page-content.component.mjs +5 -5
  21. package/esm2022/dynamic-page/dynamic-page-footer/dynamic-page-footer.component.mjs +3 -3
  22. package/esm2022/dynamic-page/dynamic-page-header/actions/global-actions/dynamic-page-global-actions.component.mjs +3 -3
  23. package/esm2022/dynamic-page/dynamic-page-header/actions/layout-actions/dynamic-page-layout-actions.component.mjs +3 -3
  24. package/esm2022/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.mjs +4 -4
  25. package/esm2022/dynamic-page/dynamic-page-header/key-info/dynamic-page-key-info.component.mjs +3 -3
  26. package/esm2022/dynamic-page/dynamic-page-header/title/dynamic-page-title-image.component.mjs +3 -3
  27. package/esm2022/dynamic-page/dynamic-page-header/title/dynamic-page-title.component.mjs +3 -3
  28. package/esm2022/dynamic-page/dynamic-page.component.mjs +8 -10
  29. package/esm2022/dynamic-page/dynamic-page.config.mjs +4 -4
  30. package/esm2022/dynamic-page/dynamic-page.module.mjs +4 -4
  31. package/esm2022/dynamic-page/dynamic-page.service.mjs +3 -3
  32. package/esm2022/feed-input/feed-input.component.mjs +6 -7
  33. package/esm2022/feed-input/feed-input.module.mjs +4 -4
  34. package/esm2022/form/auto-complete/auto-complete.directive.mjs +5 -5
  35. package/esm2022/form/auto-complete/auto-complete.module.mjs +4 -4
  36. package/esm2022/form/checkbox/checkbox.component.mjs +6 -6
  37. package/esm2022/form/checkbox/checkbox.module.mjs +4 -4
  38. package/esm2022/form/checkbox-group/checkbox-group.component.mjs +8 -8
  39. package/esm2022/form/checkbox-group/checkbox-group.module.mjs +4 -4
  40. package/esm2022/form/combobox/combobox/combobox.component.mjs +9 -11
  41. package/esm2022/form/combobox/combobox-mobile/combobox/combobox-mobile.component.mjs +13 -15
  42. package/esm2022/form/combobox/combobox-mobile/combobox-mobile.module.mjs +4 -4
  43. package/esm2022/form/combobox/combobox.config.mjs +4 -4
  44. package/esm2022/form/combobox/combobox.module.mjs +4 -4
  45. package/esm2022/form/combobox/commons/base-combobox.mjs +8 -6
  46. package/esm2022/form/combobox/directives/combobox-item.directive.mjs +15 -15
  47. package/esm2022/form/date-picker/date-picker.component.mjs +6 -6
  48. package/esm2022/form/date-picker/date-picker.module.mjs +4 -4
  49. package/esm2022/form/datetime-picker/datetime-picker.component.mjs +6 -6
  50. package/esm2022/form/datetime-picker/datetime-picker.module.mjs +4 -4
  51. package/esm2022/form/form-generator/base-dynamic-form-generator-control.mjs +3 -3
  52. package/esm2022/form/form-generator/controls/dynamic-form-generator-checkbox/dynamic-form-generator-checkbox.component.mjs +4 -4
  53. package/esm2022/form/form-generator/controls/dynamic-form-generator-datepicker/dynamic-form-generator-datepicker.component.mjs +4 -4
  54. package/esm2022/form/form-generator/controls/dynamic-form-generator-editor/dynamic-form-generator-editor.component.mjs +4 -4
  55. package/esm2022/form/form-generator/controls/dynamic-form-generator-input/dynamic-form-generator-input.component.mjs +6 -7
  56. package/esm2022/form/form-generator/controls/dynamic-form-generator-multi-input/dynamic-form-generator-multi-input.component.mjs +4 -4
  57. package/esm2022/form/form-generator/controls/dynamic-form-generator-object-status/dynamic-form-generator-object-status.component.mjs +3 -3
  58. package/esm2022/form/form-generator/controls/dynamic-form-generator-radio/dynamic-form-generator-radio.component.mjs +4 -4
  59. package/esm2022/form/form-generator/controls/dynamic-form-generator-select/dynamic-form-generator-select.component.mjs +4 -4
  60. package/esm2022/form/form-generator/controls/dynamic-form-generator-switch/dynamic-form-generator-switch.component.mjs +4 -4
  61. package/esm2022/form/form-generator/dynamic-form-control-field.directive.mjs +5 -5
  62. package/esm2022/form/form-generator/dynamic-form-control.directive.mjs +6 -6
  63. package/esm2022/form/form-generator/fdp-form-generator.module.mjs +4 -4
  64. package/esm2022/form/form-generator/form-generator/form-generator.component.mjs +9 -11
  65. package/esm2022/form/form-generator/form-generator-components-accessor.service.mjs +3 -3
  66. package/esm2022/form/form-generator/form-generator-field/form-generator-field.component.mjs +7 -8
  67. package/esm2022/form/form-generator/form-generator.service.mjs +5 -5
  68. package/esm2022/form/form-generator/pipes/get-hint-options.pipe.mjs +5 -5
  69. package/esm2022/form/form-generator/pipes/get-ordered-form-controls.pipe.mjs +3 -3
  70. package/esm2022/form/form-group/fdp-form.module.mjs +4 -4
  71. package/esm2022/form/form-group/form-field/form-field.component.mjs +10 -10
  72. package/esm2022/form/form-group/form-field-error/form-field-error-description.directive.mjs +6 -6
  73. package/esm2022/form/form-group/form-field-error/form-field-error-heading.directive.mjs +6 -6
  74. package/esm2022/form/form-group/form-field-error/form-field-error.directive.mjs +5 -5
  75. package/esm2022/form/form-group/form-field-extras/form-field-extras.component.mjs +3 -3
  76. package/esm2022/form/form-group/form-field-group/form-field-group.component.mjs +6 -6
  77. package/esm2022/form/form-group/form-group-header/form-group-header.component.mjs +6 -6
  78. package/esm2022/form/form-group/form-group.component.mjs +8 -10
  79. package/esm2022/form/form-group/pipes/field-group-row-value.pipe.mjs +3 -3
  80. package/esm2022/form/form-group/services/form-field-layout.service.mjs +5 -5
  81. package/esm2022/form/index.mjs +1 -3
  82. package/esm2022/form/input/fdp-input.module.mjs +4 -4
  83. package/esm2022/form/input/input.component.mjs +6 -6
  84. package/esm2022/form/input-group/addon-body.component.mjs +5 -5
  85. package/esm2022/form/input-group/addon.component.mjs +5 -5
  86. package/esm2022/form/input-group/input-group.component.mjs +12 -12
  87. package/esm2022/form/input-group/input-group.config.mjs +4 -4
  88. package/esm2022/form/input-group/input-group.module.mjs +4 -4
  89. package/esm2022/form/input-group/input.component.mjs +3 -3
  90. package/esm2022/form/input-message-group-with-template/input-message-group-with-template.component.mjs +7 -7
  91. package/esm2022/form/multi-combobox/commons/base-multi-combobox.mjs +6 -6
  92. package/esm2022/form/multi-combobox/multi-combobox/multi-combobox.component.mjs +10 -12
  93. package/esm2022/form/multi-combobox/multi-combobox-mobile/multi-combobox/multi-combobox-mobile.component.mjs +8 -9
  94. package/esm2022/form/multi-combobox/multi-combobox-mobile/multi-combobox-mobile.module.mjs +4 -4
  95. package/esm2022/form/multi-combobox/multi-combobox.config.mjs +4 -4
  96. package/esm2022/form/multi-combobox/multi-combobox.module.mjs +4 -4
  97. package/esm2022/form/multi-input/base-multi-input.mjs +6 -6
  98. package/esm2022/form/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +12 -12
  99. package/esm2022/form/multi-input/multi-input-mobile/multi-input-mobile.module.mjs +4 -4
  100. package/esm2022/form/multi-input/multi-input.component.mjs +9 -11
  101. package/esm2022/form/multi-input/multi-input.config.mjs +4 -4
  102. package/esm2022/form/multi-input/multi-input.module.mjs +4 -4
  103. package/esm2022/form/radio-group/radio/radio.component.mjs +8 -8
  104. package/esm2022/form/radio-group/radio-group.component.mjs +8 -8
  105. package/esm2022/form/radio-group/radio-group.module.mjs +4 -4
  106. package/esm2022/form/select/commons/base-select.mjs +6 -6
  107. package/esm2022/form/select/select/select.component.mjs +8 -8
  108. package/esm2022/form/select/select.config.mjs +4 -4
  109. package/esm2022/form/select/select.module.mjs +4 -4
  110. package/esm2022/form/step-input/base.step-input.mjs +5 -5
  111. package/esm2022/form/step-input/number/number-step-input.component.mjs +9 -10
  112. package/esm2022/form/step-input/step-input-action-button.mjs +3 -3
  113. package/esm2022/form/step-input/step-input-control.directive.mjs +6 -6
  114. package/esm2022/form/step-input/step-input-decrement.directive.mjs +5 -5
  115. package/esm2022/form/step-input/step-input-increment.directive.mjs +5 -5
  116. package/esm2022/form/step-input/step-input.config.mjs +3 -3
  117. package/esm2022/form/step-input/step-input.module.mjs +4 -4
  118. package/esm2022/form/switch/switch/switch.component.mjs +6 -6
  119. package/esm2022/form/switch/switch/switch.config.mjs +3 -3
  120. package/esm2022/form/switch/switch.module.mjs +4 -4
  121. package/esm2022/form/text-area/text-area.component.mjs +8 -9
  122. package/esm2022/form/text-area/text-area.config.mjs +3 -3
  123. package/esm2022/form/text-area/text-area.module.mjs +4 -4
  124. package/esm2022/form/time-picker/time-picker.component.mjs +6 -6
  125. package/esm2022/form/time-picker/time-picker.module.mjs +4 -4
  126. package/esm2022/fundamental-ngx.module.mjs +14 -33
  127. package/esm2022/icon-tab-bar/components/closable-icon-tab-bar.class.mjs +3 -3
  128. package/esm2022/icon-tab-bar/components/icon-tab-bar-base.class.mjs +5 -9
  129. package/esm2022/icon-tab-bar/components/icon-tab-bar-filter-type/icon-tab-bar-filter-type.component.mjs +6 -8
  130. package/esm2022/icon-tab-bar/components/icon-tab-bar-icon-type/icon-tab-bar-icon-type.component.mjs +6 -8
  131. package/esm2022/icon-tab-bar/components/icon-tab-bar-process-type/icon-tab-bar-process-type.component.mjs +5 -8
  132. package/esm2022/icon-tab-bar/components/icon-tab-bar-text-type/icon-tab-bar-text-type.component.mjs +7 -9
  133. package/esm2022/icon-tab-bar/components/popovers/icon-tab-bar-popover/icon-tab-bar-popover.component.mjs +6 -15
  134. package/esm2022/icon-tab-bar/components/popovers/icon-tab-bar-popover-base.class.mjs +5 -9
  135. package/esm2022/icon-tab-bar/components/popovers/text-type-popover/text-type-popover.component.mjs +6 -8
  136. package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-container.directive.mjs +5 -5
  137. package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-item.directive.mjs +5 -5
  138. package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-list.directive.mjs +5 -5
  139. package/esm2022/icon-tab-bar/icon-tab-bar.component.mjs +8 -9
  140. package/esm2022/icon-tab-bar/icon-tab-bar.module.mjs +4 -4
  141. package/esm2022/index.mjs +8 -12
  142. package/esm2022/info-label/info-label.component.mjs +5 -5
  143. package/esm2022/info-label/info-label.module.mjs +4 -4
  144. package/esm2022/link/link.component.mjs +5 -5
  145. package/esm2022/link/link.module.mjs +4 -4
  146. package/esm2022/list/action-list-item/action-list-item.component.mjs +3 -3
  147. package/esm2022/list/action-list-item/action-list-item.module.mjs +4 -4
  148. package/esm2022/list/base-list-item.mjs +11 -11
  149. package/esm2022/list/display-list-item/display-list-item.component.mjs +6 -7
  150. package/esm2022/list/display-list-item/display-list-item.module.mjs +4 -4
  151. package/esm2022/list/free-content-list-item/free-content-list-item.component.mjs +4 -4
  152. package/esm2022/list/list-group-footer.component.mjs +3 -3
  153. package/esm2022/list/list-group-header.component.mjs +3 -3
  154. package/esm2022/list/list.component.mjs +9 -11
  155. package/esm2022/list/list.config.mjs +3 -3
  156. package/esm2022/list/list.module.mjs +4 -4
  157. package/esm2022/list/load-more-content.directive.mjs +4 -4
  158. package/esm2022/list/object-list-item/object-list-item-row.component.mjs +4 -4
  159. package/esm2022/list/object-list-item/object-list-item.component.mjs +6 -7
  160. package/esm2022/list/object-list-item/object-list-item.module.mjs +4 -4
  161. package/esm2022/list/standard-list-item/standard-list-item.component.mjs +6 -7
  162. package/esm2022/list/standard-list-item/standard-list-item.module.mjs +4 -4
  163. package/esm2022/menu/menu-item.component.mjs +7 -7
  164. package/esm2022/menu/menu-trigger.directive.mjs +6 -6
  165. package/esm2022/menu/menu.component.mjs +6 -6
  166. package/esm2022/menu/menu.module.mjs +4 -4
  167. package/esm2022/menu-button/menu-button.component.mjs +5 -5
  168. package/esm2022/menu-button/menu-button.module.mjs +4 -4
  169. package/esm2022/message-popover/components/message-popover-form-wrapper/message-popover-form-wrapper.component.mjs +6 -6
  170. package/esm2022/message-popover/components/message-view/message-view.component.mjs +8 -10
  171. package/esm2022/message-popover/directives/message-popover-form-item.directive.mjs +6 -6
  172. package/esm2022/message-popover/message-popover.component.mjs +7 -9
  173. package/esm2022/message-popover/platform-message-popover.module.mjs +4 -4
  174. package/esm2022/object-marker/object-marker.component.mjs +6 -7
  175. package/esm2022/object-marker/object-marker.module.mjs +4 -4
  176. package/esm2022/object-status/object-status.component.mjs +8 -8
  177. package/esm2022/object-status/object-status.module.mjs +4 -4
  178. package/esm2022/page-footer/page-footer.component.mjs +6 -6
  179. package/esm2022/page-footer/page-footer.module.mjs +4 -4
  180. package/esm2022/panel/panel-actions.component.mjs +3 -3
  181. package/esm2022/panel/panel-content/panel-content.component.mjs +4 -4
  182. package/esm2022/panel/panel.component.mjs +5 -5
  183. package/esm2022/panel/panel.config.mjs +4 -4
  184. package/esm2022/panel/panel.module.mjs +4 -4
  185. package/esm2022/search-field/search-field-mobile/search-field/search-field-mobile.component.mjs +8 -9
  186. package/esm2022/search-field/search-field-mobile/search-field-mobile.module.mjs +4 -4
  187. package/esm2022/search-field/search-field.component.mjs +16 -18
  188. package/esm2022/search-field/search-field.module.mjs +4 -4
  189. package/esm2022/settings-generator/controls/theme-selector-list/theme-selector-list.component.mjs +9 -16
  190. package/esm2022/settings-generator/layouts/base-settings-generator-layout.mjs +3 -3
  191. package/esm2022/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-icon/settings-generator-sidebar-icon.component.mjs +5 -6
  192. package/esm2022/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-layout.component.mjs +6 -9
  193. package/esm2022/settings-generator/settings-generator-content/settings-generator-content.component.mjs +6 -8
  194. package/esm2022/settings-generator/settings-generator-content/settings-generator-section/settings-generator-section.component.mjs +7 -7
  195. package/esm2022/settings-generator/settings-generator-layout-accessor.service.mjs +3 -3
  196. package/esm2022/settings-generator/settings-generator.component.mjs +9 -9
  197. package/esm2022/settings-generator/settings-generator.module.mjs +4 -4
  198. package/esm2022/settings-generator/settings-generator.service.mjs +4 -4
  199. package/esm2022/shared/base.mjs +5 -5
  200. package/esm2022/shared/form/base.input.mjs +6 -6
  201. package/esm2022/shared/form/collection-base.input.mjs +6 -6
  202. package/esm2022/shared/form/inline-layout-collection-base.input.mjs +13 -13
  203. package/esm2022/shared/pipes/convert-bytes/convert-bytes.pipe.mjs +3 -3
  204. package/esm2022/shared/pipes/pipe.module.mjs +4 -4
  205. package/esm2022/shared/platform.config.mjs +3 -3
  206. package/esm2022/slider/slider.component.mjs +6 -6
  207. package/esm2022/slider/slider.module.mjs +4 -4
  208. package/esm2022/smart-filter-bar/components/smart-filter-bar-condition-field/base-smart-filter-bar-condition-field.mjs +4 -4
  209. package/esm2022/smart-filter-bar/components/smart-filter-bar-condition-field/smart-filter-bar-condition-field.component.mjs +4 -4
  210. package/esm2022/smart-filter-bar/components/smart-filter-bar-conditions-dialog/smart-filter-bar-conditions-dialog.component.mjs +6 -9
  211. package/esm2022/smart-filter-bar/components/smart-filter-bar-settings-dialog/smart-filter-bar-settings-dialog.component.mjs +7 -9
  212. package/esm2022/smart-filter-bar/directives/smart-filter-bar-field-definition.directive.mjs +3 -3
  213. package/esm2022/smart-filter-bar/directives/smart-filter-bar-subject.directive.mjs +5 -5
  214. package/esm2022/smart-filter-bar/directives/smart-filter-bar-toolbar-item.directive.mjs +4 -4
  215. package/esm2022/smart-filter-bar/smart-filter-bar.class.mjs +3 -3
  216. package/esm2022/smart-filter-bar/smart-filter-bar.component.mjs +8 -10
  217. package/esm2022/smart-filter-bar/smart-filter-bar.module.mjs +4 -4
  218. package/esm2022/smart-filter-bar/smart-filter-bar.service.mjs +4 -4
  219. package/esm2022/split-menu-button/split-menu-button.component.mjs +6 -6
  220. package/esm2022/split-menu-button/split-menu-button.module.mjs +4 -4
  221. package/esm2022/table/components/no-data-wrapper/no-data-wrapper.component.mjs +3 -3
  222. package/esm2022/table/components/reset-button/reset-button.component.mjs +5 -5
  223. package/esm2022/table/components/table-cell-header-popover/table-cell-header-popover.component.mjs +6 -8
  224. package/esm2022/table/components/table-column/table-column.component.mjs +6 -6
  225. package/esm2022/table/components/table-column-resizer/table-column-resizer.component.mjs +6 -6
  226. package/esm2022/table/components/table-editable-cell/table-editable-cell.component.mjs +5 -15
  227. package/esm2022/table/components/table-group-row/table-group-row.component.mjs +7 -7
  228. package/esm2022/table/components/table-header-cell-content/table-header-cell-content.component.mjs +6 -6
  229. package/esm2022/table/components/table-header-row/table-header-row.component.mjs +11 -13
  230. package/esm2022/table/components/table-p13-dialog/columns/columns.component.mjs +7 -9
  231. package/esm2022/table/components/table-p13-dialog/filtering/filter-rule.component.mjs +9 -11
  232. package/esm2022/table/components/table-p13-dialog/filtering/filtering.component.mjs +6 -9
  233. package/esm2022/table/components/table-p13-dialog/grouping/grouping.component.mjs +6 -8
  234. package/esm2022/table/components/table-p13-dialog/sorting/sorting.component.mjs +9 -11
  235. package/esm2022/table/components/table-p13-dialog/table-p13-columns.component.mjs +3 -3
  236. package/esm2022/table/components/table-p13-dialog/table-p13-dialog.component.mjs +5 -5
  237. package/esm2022/table/components/table-p13-dialog/table-p13-filter.component.mjs +3 -3
  238. package/esm2022/table/components/table-p13-dialog/table-p13-group.component.mjs +3 -3
  239. package/esm2022/table/components/table-p13-dialog/table-p13-sort.component.mjs +3 -3
  240. package/esm2022/table/components/table-popping-row/table-popping-row.component.mjs +7 -9
  241. package/esm2022/table/components/table-row/table-row.component.mjs +8 -12
  242. package/esm2022/table/components/table-toolbar/table-toolbar-actions.component.mjs +3 -3
  243. package/esm2022/table/components/table-toolbar/table-toolbar-left-actions.component.mjs +3 -3
  244. package/esm2022/table/components/table-toolbar/table-toolbar.component.mjs +7 -8
  245. package/esm2022/table/components/table-view-settings-dialog/filtering/filter-custom.component.mjs +6 -6
  246. package/esm2022/table/components/table-view-settings-dialog/filtering/filter-multi-select.component.mjs +5 -6
  247. package/esm2022/table/components/table-view-settings-dialog/filtering/filter-single-select.component.mjs +5 -14
  248. package/esm2022/table/components/table-view-settings-dialog/filtering/filter-step.component.mjs +5 -8
  249. package/esm2022/table/components/table-view-settings-dialog/filtering/filters-list-step.component.mjs +5 -7
  250. package/esm2022/table/components/table-view-settings-dialog/filtering/filters.component.mjs +7 -10
  251. package/esm2022/table/components/table-view-settings-dialog/grouping/grouping.component.mjs +6 -8
  252. package/esm2022/table/components/table-view-settings-dialog/sorting/sorting.component.mjs +6 -9
  253. package/esm2022/table/components/table-view-settings-dialog/table-view-settings-dialog.component.mjs +5 -5
  254. package/esm2022/table/components/table-view-settings-dialog/table-view-settings-filter.component.mjs +3 -3
  255. package/esm2022/table/table.component.mjs +9 -14
  256. package/esm2022/table/table.module.mjs +4 -4
  257. package/esm2022/table-helpers/directives/platform-table-column-responsive.directive.mjs +6 -6
  258. package/esm2022/table-helpers/directives/table-cell-header-popover.directive.mjs +4 -4
  259. package/esm2022/table-helpers/directives/table-cell-resizable.directive.mjs +5 -5
  260. package/esm2022/table-helpers/directives/table-cell-selectable.directive.mjs +3 -3
  261. package/esm2022/table-helpers/directives/table-cell.directive.mjs +16 -16
  262. package/esm2022/table-helpers/directives/table-data-source.directive.mjs +3 -3
  263. package/esm2022/table-helpers/directives/table-draggable.directive.mjs +3 -3
  264. package/esm2022/table-helpers/directives/table-header-resizer.directive.mjs +3 -3
  265. package/esm2022/table-helpers/directives/table-header.directive.mjs +7 -7
  266. package/esm2022/table-helpers/directives/table-initial-state.directive.mjs +3 -3
  267. package/esm2022/table-helpers/directives/table-scrollable.directive.mjs +4 -4
  268. package/esm2022/table-helpers/directives/table-view-settings-filter-custom.directive.mjs +4 -4
  269. package/esm2022/table-helpers/directives/table-virtual-scroll.directive.mjs +3 -3
  270. package/esm2022/table-helpers/enums/collection-filter.enum.mjs +16 -1
  271. package/esm2022/table-helpers/pipes/cell-styles.pipe.mjs +3 -3
  272. package/esm2022/table-helpers/pipes/column-resizable-side.pipe.mjs +3 -3
  273. package/esm2022/table-helpers/pipes/column-sorting-direction.pipe.mjs +3 -3
  274. package/esm2022/table-helpers/pipes/row-classes.pipe.mjs +3 -3
  275. package/esm2022/table-helpers/pipes/selection-cell-styles.pipe.mjs +3 -3
  276. package/esm2022/table-helpers/services/table-column-resize.service.mjs +5 -5
  277. package/esm2022/table-helpers/services/table-responsive.service.mjs +5 -5
  278. package/esm2022/table-helpers/services/table-row.service.mjs +3 -3
  279. package/esm2022/table-helpers/services/table-scroll-dispatcher.service.mjs +3 -3
  280. package/esm2022/table-helpers/services/table.service.mjs +3 -3
  281. package/esm2022/table-helpers/table-helpers.module.mjs +4 -4
  282. package/esm2022/value-help-dialog/components/base-tab/vhd-base-tab.component.mjs +5 -5
  283. package/esm2022/value-help-dialog/components/define-tab/define-tab.component.mjs +6 -10
  284. package/esm2022/value-help-dialog/components/select-tab/select-tab.component.mjs +13 -15
  285. package/esm2022/value-help-dialog/components/value-help-dialog-filter/value-help-dialog-filter.component.mjs +3 -3
  286. package/esm2022/value-help-dialog/directives/condition-count-message.directive.mjs +5 -5
  287. package/esm2022/value-help-dialog/value-help-dialog/value-help-dialog.component.mjs +12 -17
  288. package/esm2022/value-help-dialog/value-help-dialog.module.mjs +4 -4
  289. package/esm2022/variant-management/components/manage-variant-item/manage-variant-item.component.mjs +5 -5
  290. package/esm2022/variant-management/components/manage-variants-dialog/manage-variants-dialog.component.mjs +6 -8
  291. package/esm2022/variant-management/components/variant-management-wrapper/variant-management-wrapper.component.mjs +3 -3
  292. package/esm2022/variant-management/directives/variant-management-dirty-label.directive.mjs +4 -4
  293. package/esm2022/variant-management/variant-management.component.mjs +8 -10
  294. package/esm2022/variant-management/variant-management.module.mjs +4 -4
  295. package/esm2022/wizard-generator/base-wizard-generator.mjs +5 -5
  296. package/esm2022/wizard-generator/components/dialog-wizard-generator/dialog-wizard-generator.component.mjs +7 -8
  297. package/esm2022/wizard-generator/components/wizard-body/wizard-body.component.mjs +7 -9
  298. package/esm2022/wizard-generator/components/wizard-generator/wizard-generator.component.mjs +6 -7
  299. package/esm2022/wizard-generator/components/wizard-generator-step/wizard-generator-step.component.mjs +6 -7
  300. package/esm2022/wizard-generator/components/wizard-summary-step/wizard-summary-section/wizard-summary-section.component.mjs +5 -6
  301. package/esm2022/wizard-generator/components/wizard-summary-step/wizard-summary-step.component.mjs +7 -7
  302. package/esm2022/wizard-generator/directives/wizard-generator-finish-button.directive.mjs +3 -3
  303. package/esm2022/wizard-generator/directives/wizard-generator-go-next-button.directive.mjs +3 -3
  304. package/esm2022/wizard-generator/directives/wizard-generator-review-button.directive.mjs +3 -3
  305. package/esm2022/wizard-generator/directives/wizard-generator-summary-step.directive.mjs +3 -3
  306. package/esm2022/wizard-generator/wizard-dialog-generator.service.mjs +4 -4
  307. package/esm2022/wizard-generator/wizard-generator.module.mjs +4 -4
  308. package/esm2022/wizard-generator/wizard-generator.service.mjs +4 -4
  309. package/fesm2022/fundamental-ngx-platform-approval-flow.mjs +62 -74
  310. package/fesm2022/fundamental-ngx-platform-approval-flow.mjs.map +1 -1
  311. package/fesm2022/fundamental-ngx-platform-button.mjs +8 -8
  312. package/fesm2022/fundamental-ngx-platform-button.mjs.map +1 -1
  313. package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs +54 -56
  314. package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs.map +1 -1
  315. package/fesm2022/fundamental-ngx-platform-feed-input.mjs +9 -10
  316. package/fesm2022/fundamental-ngx-platform-feed-input.mjs.map +1 -1
  317. package/fesm2022/fundamental-ngx-platform-form.mjs +444 -602
  318. package/fesm2022/fundamental-ngx-platform-form.mjs.map +1 -1
  319. package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs +59 -87
  320. package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs.map +1 -1
  321. package/fesm2022/fundamental-ngx-platform-info-label.mjs +8 -8
  322. package/fesm2022/fundamental-ngx-platform-info-label.mjs.map +1 -1
  323. package/fesm2022/fundamental-ngx-platform-link.mjs +8 -8
  324. package/fesm2022/fundamental-ngx-platform-link.mjs.map +1 -1
  325. package/fesm2022/fundamental-ngx-platform-list.mjs +73 -78
  326. package/fesm2022/fundamental-ngx-platform-list.mjs.map +1 -1
  327. package/fesm2022/fundamental-ngx-platform-menu-button.mjs +8 -8
  328. package/fesm2022/fundamental-ngx-platform-menu-button.mjs.map +1 -1
  329. package/fesm2022/fundamental-ngx-platform-menu.mjs +20 -20
  330. package/fesm2022/fundamental-ngx-platform-menu.mjs.map +1 -1
  331. package/fesm2022/fundamental-ngx-platform-message-popover.mjs +29 -33
  332. package/fesm2022/fundamental-ngx-platform-message-popover.mjs.map +1 -1
  333. package/fesm2022/fundamental-ngx-platform-object-marker.mjs +9 -10
  334. package/fesm2022/fundamental-ngx-platform-object-marker.mjs.map +1 -1
  335. package/fesm2022/fundamental-ngx-platform-object-status.mjs +12 -12
  336. package/fesm2022/fundamental-ngx-platform-object-status.mjs.map +1 -1
  337. package/fesm2022/fundamental-ngx-platform-page-footer.mjs +9 -9
  338. package/fesm2022/fundamental-ngx-platform-page-footer.mjs.map +1 -1
  339. package/fesm2022/fundamental-ngx-platform-panel.mjs +19 -19
  340. package/fesm2022/fundamental-ngx-platform-panel.mjs.map +1 -1
  341. package/fesm2022/fundamental-ngx-platform-search-field.mjs +29 -32
  342. package/fesm2022/fundamental-ngx-platform-search-field.mjs.map +1 -1
  343. package/fesm2022/fundamental-ngx-platform-settings-generator.mjs +45 -56
  344. package/fesm2022/fundamental-ngx-platform-settings-generator.mjs.map +1 -1
  345. package/fesm2022/fundamental-ngx-platform-shared.mjs +36 -36
  346. package/fesm2022/fundamental-ngx-platform-shared.mjs.map +1 -1
  347. package/fesm2022/fundamental-ngx-platform-slider.mjs +9 -9
  348. package/fesm2022/fundamental-ngx-platform-slider.mjs.map +1 -1
  349. package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs +48 -53
  350. package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs.map +1 -1
  351. package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs +9 -9
  352. package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs.map +1 -1
  353. package/fesm2022/fundamental-ngx-platform-table-helpers.mjs +115 -100
  354. package/fesm2022/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
  355. package/fesm2022/fundamental-ngx-platform-table.mjs +168 -218
  356. package/fesm2022/fundamental-ngx-platform-table.mjs.map +1 -1
  357. package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs +41 -52
  358. package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
  359. package/fesm2022/fundamental-ngx-platform-variant-management.mjs +28 -31
  360. package/fesm2022/fundamental-ngx-platform-variant-management.mjs.map +1 -1
  361. package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs +58 -61
  362. package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs.map +1 -1
  363. package/fesm2022/fundamental-ngx-platform.mjs +19 -42
  364. package/fesm2022/fundamental-ngx-platform.mjs.map +1 -1
  365. package/form/combobox/combobox-mobile/combobox/combobox-mobile.component.d.ts +2 -2
  366. package/form/form-group/form-group.component.d.ts +1 -1
  367. package/form/index.d.ts +0 -2
  368. package/form/input-group/input-group.component.d.ts +2 -2
  369. package/form/multi-combobox/multi-combobox/multi-combobox.component.d.ts +1 -1
  370. package/form/multi-input/multi-input-mobile/multi-input-mobile.component.d.ts +2 -2
  371. package/fundamental-ngx-platform-v0.48.0-rc.1.tgz +0 -0
  372. package/fundamental-ngx.module.d.ts +27 -31
  373. package/icon-tab-bar/components/icon-tab-bar-base.class.d.ts +0 -2
  374. package/icon-tab-bar/components/popovers/icon-tab-bar-popover-base.class.d.ts +0 -2
  375. package/index.d.ts +7 -11
  376. package/list/list.component.d.ts +1 -1
  377. package/package.json +4 -28
  378. package/page-footer/page-footer.component.d.ts +1 -1
  379. package/schematics/ng-add/index.js +1 -1
  380. package/settings-generator/settings-generator-content/settings-generator-section/settings-generator-section.component.d.ts +1 -1
  381. package/settings-generator/settings-generator.component.d.ts +2 -2
  382. package/table/components/table-p13-dialog/filtering/filter-rule.component.d.ts +2 -0
  383. package/table/table.component.d.ts +1 -1
  384. package/table-helpers/enums/collection-filter.enum.d.ts +2 -0
  385. package/value-help-dialog/components/select-tab/select-tab.component.d.ts +1 -1
  386. package/value-help-dialog/value-help-dialog/value-help-dialog.component.d.ts +1 -1
  387. package/wizard-generator/components/wizard-generator-step/wizard-generator-step.component.d.ts +2 -2
  388. package/wizard-generator/components/wizard-summary-step/wizard-summary-step.component.d.ts +2 -2
  389. package/action-bar/README.md +0 -25
  390. package/action-bar/action-bar.component.d.ts +0 -36
  391. package/action-bar/action-bar.module.d.ts +0 -8
  392. package/action-bar/index.d.ts +0 -2
  393. package/action-button-group/README.md +0 -25
  394. package/action-button-group/action-button-group.component.d.ts +0 -11
  395. package/action-button-group/action-button-group.module.d.ts +0 -7
  396. package/action-button-group/index.d.ts +0 -2
  397. package/esm2022/action-bar/action-bar.component.mjs +0 -64
  398. package/esm2022/action-bar/action-bar.module.mjs +0 -17
  399. package/esm2022/action-bar/fundamental-ngx-platform-action-bar.mjs +0 -5
  400. package/esm2022/action-bar/index.mjs +0 -3
  401. package/esm2022/action-button-group/action-button-group.component.mjs +0 -21
  402. package/esm2022/action-button-group/action-button-group.module.mjs +0 -16
  403. package/esm2022/action-button-group/fundamental-ngx-platform-action-button-group.mjs +0 -5
  404. package/esm2022/action-button-group/index.mjs +0 -3
  405. package/esm2022/form/platform-file-uploader/platform-file-uploader.component.mjs +0 -143
  406. package/esm2022/form/platform-file-uploader/platform-file-uploader.module.mjs +0 -16
  407. package/esm2022/thumbnail/fundamental-ngx-platform-thumbnail.mjs +0 -5
  408. package/esm2022/thumbnail/index.mjs +0 -6
  409. package/esm2022/thumbnail/thumbnail-details/thumbnail-details.component.mjs +0 -166
  410. package/esm2022/thumbnail/thumbnail-image/thumbnail-image.component.mjs +0 -100
  411. package/esm2022/thumbnail/thumbnail.component.mjs +0 -148
  412. package/esm2022/thumbnail/thumbnail.interfaces.mjs +0 -2
  413. package/esm2022/thumbnail/thumbnail.module.mjs +0 -19
  414. package/esm2022/upload-collection/dialogs/move-to/move-to.component.mjs +0 -148
  415. package/esm2022/upload-collection/dialogs/new-folder/new-folder.component.mjs +0 -69
  416. package/esm2022/upload-collection/directives/upload-collection-dragndrop.directive.mjs +0 -138
  417. package/esm2022/upload-collection/domain/upload-collection-data-provider.mjs +0 -106
  418. package/esm2022/upload-collection/domain/upload-collection-data-source.mjs +0 -95
  419. package/esm2022/upload-collection/fundamental-ngx-platform-upload-collection.mjs +0 -5
  420. package/esm2022/upload-collection/helpers/generate-message-stripe-data.mjs +0 -20
  421. package/esm2022/upload-collection/index.mjs +0 -12
  422. package/esm2022/upload-collection/models/upload-collection.models.mjs +0 -58
  423. package/esm2022/upload-collection/services/files-validator.service.mjs +0 -68
  424. package/esm2022/upload-collection/upload-collection/upload-collection-data-provider-test.mjs +0 -280
  425. package/esm2022/upload-collection/upload-collection/upload-collection.component.mjs +0 -926
  426. package/esm2022/upload-collection/upload-collection.module.mjs +0 -33
  427. package/fesm2022/fundamental-ngx-platform-action-bar.mjs +0 -85
  428. package/fesm2022/fundamental-ngx-platform-action-bar.mjs.map +0 -1
  429. package/fesm2022/fundamental-ngx-platform-action-button-group.mjs +0 -41
  430. package/fesm2022/fundamental-ngx-platform-action-button-group.mjs.map +0 -1
  431. package/fesm2022/fundamental-ngx-platform-thumbnail.mjs +0 -418
  432. package/fesm2022/fundamental-ngx-platform-thumbnail.mjs.map +0 -1
  433. package/fesm2022/fundamental-ngx-platform-upload-collection.mjs +0 -1893
  434. package/fesm2022/fundamental-ngx-platform-upload-collection.mjs.map +0 -1
  435. package/form/platform-file-uploader/platform-file-uploader.component.d.ts +0 -69
  436. package/form/platform-file-uploader/platform-file-uploader.module.d.ts +0 -7
  437. package/fundamental-ngx-platform-v0.47.4.tgz +0 -0
  438. package/thumbnail/README.md +0 -25
  439. package/thumbnail/index.d.ts +0 -5
  440. package/thumbnail/thumbnail-details/thumbnail-details.component.d.ts +0 -57
  441. package/thumbnail/thumbnail-image/thumbnail-image.component.d.ts +0 -48
  442. package/thumbnail/thumbnail.component.d.ts +0 -73
  443. package/thumbnail/thumbnail.interfaces.d.ts +0 -12
  444. package/thumbnail/thumbnail.module.d.ts +0 -9
  445. package/upload-collection/README.md +0 -25
  446. package/upload-collection/dialogs/move-to/move-to.component.d.ts +0 -57
  447. package/upload-collection/dialogs/new-folder/new-folder.component.d.ts +0 -26
  448. package/upload-collection/directives/upload-collection-dragndrop.directive.d.ts +0 -64
  449. package/upload-collection/domain/upload-collection-data-provider.d.ts +0 -46
  450. package/upload-collection/domain/upload-collection-data-source.d.ts +0 -49
  451. package/upload-collection/helpers/generate-message-stripe-data.d.ts +0 -3
  452. package/upload-collection/index.d.ts +0 -11
  453. package/upload-collection/models/upload-collection.models.d.ts +0 -225
  454. package/upload-collection/services/files-validator.service.d.ts +0 -18
  455. package/upload-collection/upload-collection/upload-collection-data-provider-test.d.ts +0 -36
  456. package/upload-collection/upload-collection/upload-collection.component.d.ts +0 -259
  457. package/upload-collection/upload-collection.module.d.ts +0 -11
@@ -3,7 +3,6 @@ import { SortDirection, getUniqueListValuesByKey } from '@fundamental-ngx/platfo
3
3
  import { BehaviorSubject } from 'rxjs';
4
4
  import { DialogRef } from '@fundamental-ngx/core/dialog';
5
5
  import { CdkScrollable } from '@angular/cdk/overlay';
6
- import { NgFor } from '@angular/common';
7
6
  import { FormsModule } from '@angular/forms';
8
7
  import { TemplateDirective } from '@fundamental-ngx/cdk/utils';
9
8
  import { BarElementDirective, BarLeftDirective, BarRightDirective, ButtonBarComponent } from '@fundamental-ngx/core/bar';
@@ -118,10 +117,10 @@ export class P13GroupingDialogComponent {
118
117
  _getUniqueRules(rules) {
119
118
  return getUniqueListValuesByKey(rules, 'columnKey');
120
119
  }
121
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: P13GroupingDialogComponent, deps: [{ token: i1.DialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
122
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: P13GroupingDialogComponent, isStandalone: true, selector: "ng-component", providers: [{ provide: RESETTABLE_TOKEN, useExisting: P13GroupingDialogComponent }], ngImport: i0, template: "<fd-dialog class=\"fdp-table-p13-grouping-dialog\">\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 fd-title [headerSize]=\"4\">{{ 'platformTable.P13GroupDialogHeader' | fdTranslate }}</h4>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fdp-table-reset-button></fdp-table-reset-button>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body>\n <div class=\"group-row\" *ngFor=\"let rule of rules; let i = index\">\n <fd-select\n class=\"group-row__select\"\n [value]=\"rule.columnKey\"\n (valueChange)=\"_onRuleColumnKeyChange(rule, $event)\"\n [placeholder]=\"'platformTable.P13GroupDialogNoneSelectedColumnSelectPlaceholder' | fdTranslate\"\n >\n <li fd-option *ngFor=\"let column of columns\" [value]=\"column.key\">\n {{ column.label }}\n </li>\n </fd-select>\n\n <fd-checkbox\n class=\"group-row__checkbox\"\n [ngModel]=\"rule.showAsColumn\"\n (ngModelChange)=\"_onRuleShowAsColumnChange(rule, $event)\"\n [label]=\"'platformTable.P13GroupDialogShowFieldAsColumnCheckboxLabel' | fdTranslate\"\n ></fd-checkbox>\n\n <div class=\"group-row__actions\">\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"sys-cancel\"\n [attr.aria-label]=\"'platformTable.P13GroupDialogRemoveGroupBtnTitle' | fdTranslate\"\n [title]=\"'platformTable.P13GroupDialogRemoveGroupBtnTitle' | fdTranslate\"\n (click)=\"_removeRule(rule)\"\n ></button>\n\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"add\"\n [attr.aria-label]=\"'platformTable.P13GroupDialogAddNewGroupBtnTitle' | fdTranslate\"\n [title]=\"'platformTable.P13GroupDialogAddNewGroupBtnTitle' | fdTranslate\"\n (click)=\"_addNew(i)\"\n ></button>\n </div>\n </div>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformTable.P13GroupDialogConfirmationBtnLabel' | fdTranslate\"\n (click)=\"confirm()\"\n ></fd-button-bar>\n\n <fd-button-bar\n fdType=\"transparent\"\n fdkInitialFocus\n [label]=\"'platformTable.P13GroupDialogCancelBtnLabel' | fdTranslate\"\n (click)=\"cancel()\"\n ></fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n", styles: [".fdp-table-p13-grouping-dialog .group-row{display:flex;align-items:center;margin-bottom:.5rem}.fdp-table-p13-grouping-dialog .group-row .fd-popover-custom{display:block}.fdp-table-p13-grouping-dialog .group-row__checkbox,.fdp-table-p13-grouping-dialog .group-row__actions,.fdp-table-p13-grouping-dialog .group-row__select{margin-right:1rem}.fdp-table-p13-grouping-dialog .group-row__select{flex:1 1 0}\n"], dependencies: [{ kind: "component", type: DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "directive", type: TemplateDirective, selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }, { kind: "directive", type: BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth"] }, { kind: "component", type: TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: BarRightDirective, selector: "[fd-bar-right]" }, { kind: "component", type: ResetButtonComponent, selector: "fdp-table-reset-button" }, { kind: "component", type: DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: SelectComponent, selector: "fd-select", inputs: ["extendedBodyTemplate", "scrollStrategy", "controlId", "state", "mobile", "stateMessage", "disabled", "required", "readonly", "placeholder", "value", "maxHeight", "glyph", "closeOnOutsideClick", "fillControlMode", "controlTemplate", "appendTo", "unselectMissingOption", "typeaheadDebounceInterval", "ariaLabelledBy", "ariaLabel", "mobileConfig", "inline", "selectControlClass", "selectDropdownButtonClass", "advancedStateMessage", "tabOutStrategy", "compareWith"], outputs: ["isOpenChange", "valueChange"] }, { kind: "component", type: OptionComponent, selector: "[fd-option], fd-option", inputs: ["id", "value", "disabled"], outputs: ["selectionChange"] }, { kind: "component", type: CheckboxComponent, selector: "fd-checkbox", inputs: ["wrapLabel", "valignLabel", "ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "displayOnly", "values", "standalone"], outputs: ["focusChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
120
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: P13GroupingDialogComponent, deps: [{ token: i1.DialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
121
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.4", type: P13GroupingDialogComponent, isStandalone: true, selector: "ng-component", providers: [{ provide: RESETTABLE_TOKEN, useExisting: P13GroupingDialogComponent }], ngImport: i0, template: "<fd-dialog class=\"fdp-table-p13-grouping-dialog\">\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 fd-title [headerSize]=\"4\">{{ 'platformTable.P13GroupDialogHeader' | fdTranslate }}</h4>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fdp-table-reset-button></fdp-table-reset-button>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body>\n @for (rule of rules; track rule) {\n <div class=\"group-row\">\n <fd-select\n class=\"group-row__select\"\n [value]=\"rule.columnKey\"\n (valueChange)=\"_onRuleColumnKeyChange(rule, $event)\"\n [placeholder]=\"'platformTable.P13GroupDialogNoneSelectedColumnSelectPlaceholder' | fdTranslate\"\n >\n @for (column of columns; track column) {\n <li fd-option [value]=\"column.key\">\n {{ column.label }}\n </li>\n }\n </fd-select>\n\n <fd-checkbox\n class=\"group-row__checkbox\"\n [ngModel]=\"rule.showAsColumn\"\n (ngModelChange)=\"_onRuleShowAsColumnChange(rule, $event)\"\n [label]=\"'platformTable.P13GroupDialogShowFieldAsColumnCheckboxLabel' | fdTranslate\"\n ></fd-checkbox>\n\n <div class=\"group-row__actions\">\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"sys-cancel\"\n [attr.aria-label]=\"'platformTable.P13GroupDialogRemoveGroupBtnTitle' | fdTranslate\"\n [title]=\"'platformTable.P13GroupDialogRemoveGroupBtnTitle' | fdTranslate\"\n (click)=\"_removeRule(rule)\"\n ></button>\n\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"add\"\n [attr.aria-label]=\"'platformTable.P13GroupDialogAddNewGroupBtnTitle' | fdTranslate\"\n [title]=\"'platformTable.P13GroupDialogAddNewGroupBtnTitle' | fdTranslate\"\n (click)=\"_addNew($index)\"\n ></button>\n </div>\n </div>\n }\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformTable.P13GroupDialogConfirmationBtnLabel' | fdTranslate\"\n (click)=\"confirm()\"\n ></fd-button-bar>\n\n <fd-button-bar\n fdType=\"transparent\"\n fdkInitialFocus\n [label]=\"'platformTable.P13GroupDialogCancelBtnLabel' | fdTranslate\"\n (click)=\"cancel()\"\n ></fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n", styles: [".fdp-table-p13-grouping-dialog .group-row{display:flex;align-items:center;margin-bottom:.5rem}.fdp-table-p13-grouping-dialog .group-row .fd-popover-custom{display:block}.fdp-table-p13-grouping-dialog .group-row__checkbox,.fdp-table-p13-grouping-dialog .group-row__actions,.fdp-table-p13-grouping-dialog .group-row__select{margin-right:1rem}.fdp-table-p13-grouping-dialog .group-row__select{flex:1 1 0}\n"], dependencies: [{ kind: "component", type: DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "directive", type: TemplateDirective, selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }, { kind: "directive", type: BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth"] }, { kind: "component", type: TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: BarRightDirective, selector: "[fd-bar-right]" }, { kind: "component", type: ResetButtonComponent, selector: "fdp-table-reset-button" }, { kind: "component", type: DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: SelectComponent, selector: "fd-select", inputs: ["extendedBodyTemplate", "scrollStrategy", "controlId", "state", "mobile", "stateMessage", "disabled", "required", "readonly", "placeholder", "value", "maxHeight", "glyph", "closeOnOutsideClick", "fillControlMode", "controlTemplate", "appendTo", "unselectMissingOption", "typeaheadDebounceInterval", "ariaLabelledBy", "ariaLabel", "mobileConfig", "inline", "selectControlClass", "selectDropdownButtonClass", "advancedStateMessage", "tabOutStrategy", "compareWith"], outputs: ["isOpenChange", "valueChange"] }, { kind: "component", type: OptionComponent, selector: "[fd-option], fd-option", inputs: ["id", "value", "disabled"], outputs: ["selectionChange"] }, { kind: "component", type: CheckboxComponent, selector: "fd-checkbox", inputs: ["wrapLabel", "valignLabel", "ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "displayOnly", "values", "standalone"], outputs: ["focusChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
123
122
  }
124
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: P13GroupingDialogComponent, decorators: [{
123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: P13GroupingDialogComponent, decorators: [{
125
124
  type: Component,
126
125
  args: [{ encapsulation: ViewEncapsulation.None, providers: [{ provide: RESETTABLE_TOKEN, useExisting: P13GroupingDialogComponent }], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
127
126
  DialogComponent,
@@ -135,7 +134,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
135
134
  CdkScrollable,
136
135
  ScrollbarDirective,
137
136
  DialogBodyComponent,
138
- NgFor,
139
137
  SelectComponent,
140
138
  OptionComponent,
141
139
  CheckboxComponent,
@@ -144,6 +142,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
144
142
  DialogFooterComponent,
145
143
  ButtonBarComponent,
146
144
  FdTranslatePipe
147
- ], template: "<fd-dialog class=\"fdp-table-p13-grouping-dialog\">\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 fd-title [headerSize]=\"4\">{{ 'platformTable.P13GroupDialogHeader' | fdTranslate }}</h4>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fdp-table-reset-button></fdp-table-reset-button>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body>\n <div class=\"group-row\" *ngFor=\"let rule of rules; let i = index\">\n <fd-select\n class=\"group-row__select\"\n [value]=\"rule.columnKey\"\n (valueChange)=\"_onRuleColumnKeyChange(rule, $event)\"\n [placeholder]=\"'platformTable.P13GroupDialogNoneSelectedColumnSelectPlaceholder' | fdTranslate\"\n >\n <li fd-option *ngFor=\"let column of columns\" [value]=\"column.key\">\n {{ column.label }}\n </li>\n </fd-select>\n\n <fd-checkbox\n class=\"group-row__checkbox\"\n [ngModel]=\"rule.showAsColumn\"\n (ngModelChange)=\"_onRuleShowAsColumnChange(rule, $event)\"\n [label]=\"'platformTable.P13GroupDialogShowFieldAsColumnCheckboxLabel' | fdTranslate\"\n ></fd-checkbox>\n\n <div class=\"group-row__actions\">\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"sys-cancel\"\n [attr.aria-label]=\"'platformTable.P13GroupDialogRemoveGroupBtnTitle' | fdTranslate\"\n [title]=\"'platformTable.P13GroupDialogRemoveGroupBtnTitle' | fdTranslate\"\n (click)=\"_removeRule(rule)\"\n ></button>\n\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"add\"\n [attr.aria-label]=\"'platformTable.P13GroupDialogAddNewGroupBtnTitle' | fdTranslate\"\n [title]=\"'platformTable.P13GroupDialogAddNewGroupBtnTitle' | fdTranslate\"\n (click)=\"_addNew(i)\"\n ></button>\n </div>\n </div>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformTable.P13GroupDialogConfirmationBtnLabel' | fdTranslate\"\n (click)=\"confirm()\"\n ></fd-button-bar>\n\n <fd-button-bar\n fdType=\"transparent\"\n fdkInitialFocus\n [label]=\"'platformTable.P13GroupDialogCancelBtnLabel' | fdTranslate\"\n (click)=\"cancel()\"\n ></fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n", styles: [".fdp-table-p13-grouping-dialog .group-row{display:flex;align-items:center;margin-bottom:.5rem}.fdp-table-p13-grouping-dialog .group-row .fd-popover-custom{display:block}.fdp-table-p13-grouping-dialog .group-row__checkbox,.fdp-table-p13-grouping-dialog .group-row__actions,.fdp-table-p13-grouping-dialog .group-row__select{margin-right:1rem}.fdp-table-p13-grouping-dialog .group-row__select{flex:1 1 0}\n"] }]
148
- }], ctorParameters: function () { return [{ type: i1.DialogRef }]; } });
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXBpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL3RhYmxlL2NvbXBvbmVudHMvdGFibGUtcDEzLWRpYWxvZy9ncm91cGluZy9ncm91cGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvdGFibGUvY29tcG9uZW50cy90YWJsZS1wMTMtZGlhbG9nL2dyb3VwaW5nL2dyb3VwaW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUVILGFBQWEsRUFFYix3QkFBd0IsRUFDM0IsTUFBTSx5Q0FBeUMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ3JCLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFDSCxtQkFBbUIsRUFD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QUUsZ0JBQWdCLEVBQUUsV0FBVyw0QkFBNEIsRUFBRSxDQUFDLG1CQUNsRSx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDTCxlQUFlO3dCQUNmLHFCQUFxQjt3QkFDckIsaUJBQWlCO3dCQUNqQixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLG9CQUFvQjt3QkFDcEIsYUFBYTt3QkFDYixrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsS0FBSzt3QkFDTCxlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixXQUFXO3dCQUNYLGVBQWU7d0JBQ2YscUJBQXFCO3dCQUNyQixrQkFBa0I7d0JBQ2xCLGVBQWU7cUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQ29sbGVjdGlvbkdyb3VwLFxuICAgIFNvcnREaXJlY3Rpb24sXG4gICAgVGFibGVEaWFsb2dDb21tb25EYXRhLFxuICAgIGdldFVuaXF1ZUxpc3RWYWx1ZXNCeUtleVxufSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL3RhYmxlLWhlbHBlcnMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IERpYWxvZ1JlZiB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9kaWFsb2cnO1xuXG5pbXBvcnQgeyBDZGtTY3JvbGxhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgTmdGb3IgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7XG4gICAgQmFyRWxlbWVudERpcmVjdGl2ZSxcbiAgICBCYXJMZWZ0RGlyZWN0aXZlLFxuICAgIEJhclJpZ2h0RGlyZWN0aXZlLFxuICAgIEJ1dHRvbkJhckNvbXBvbmVudFxufSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvYmFyJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9idXR0b24nO1xuaW1wb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvY2hlY2tib3gnO1xuaW1wb3J0IHtcbiAgICBEaWFsb2dCb2R5Q29tcG9uZW50LFxuICAgIERpYWxvZ0NvbXBvbmVudCxcbiAgICBEaWFsb2dGb290ZXJDb21wb25lbnQsXG4gICAgRGlhbG9nSGVhZGVyQ29tcG9uZW50XG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9kaWFsb2cnO1xuaW1wb3J0IHsgU2Nyb2xsYmFyRGlyZWN0aXZlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3Njcm9sbGJhcic7XG5pbXBvcnQgeyBPcHRpb25Db21wb25lbnQsIFNlbGVjdENvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9zZWxlY3QnO1xuaW1wb3J0IHsgVGl0bGVDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvdGl0bGUnO1xuaW1wb3J0IHsgRmRUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9pMThuJztcbmltcG9ydCB7IFJFU0VUVEFCTEVfVE9LRU4sIFJlc2V0QnV0dG9uQ29tcG9uZW50LCBSZXNldHRhYmxlIH0gZnJvbSAnLi4vLi4vcmVzZXQtYnV0dG9uL3Jlc2V0LWJ1dHRvbi5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEdyb3VwRGlhbG9nQ29sdW1uIHtcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIGtleTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyb3VwRGlhbG9nRGF0YSBleHRlbmRzIFRhYmxlRGlhbG9nQ29tbW9uRGF0YSB7XG4gICAgY29sbGVjdGlvbkdyb3VwOiBDb2xsZWN0aW9uR3JvdXBbXTtcbiAgICBjb2x1bW5zOiBHcm91cERpYWxvZ0NvbHVtbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyb3VwRGlhbG9nUmVzdWx0RGF0YSB7XG4gICAgY29sbGVjdGlvbkdyb3VwOiBDb2xsZWN0aW9uR3JvdXBbXTtcbn1cblxuY29uc3QgTk9UX1NFTEVDVEVEX09QVElPTl9WQUxVRSA9IG51bGw7XG5cbmNsYXNzIEdyb3VwUnVsZSB7XG4gICAgZ2V0IGlzVmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbHVtbktleSAhPT0gTk9UX1NFTEVDVEVEX09QVElPTl9WQUxVRTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgLyoqIENvbHVtbiBrZXkgdGhlIHJ1bGUgYmVsb25ncyB0byAqL1xuICAgICAgICBwdWJsaWMgY29sdW1uS2V5OiBzdHJpbmcgfCBudWxsID0gTk9UX1NFTEVDVEVEX09QVElPTl9WQUxVRSxcbiAgICAgICAgLyoqIFNob3cgRmllbGQgYXMgQ29sdW1uICovXG4gICAgICAgIHB1YmxpYyBzaG93QXNDb2x1bW4gPSB0cnVlXG4gICAgKSB7fVxufVxuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogJy4vZ3JvdXBpbmcuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2dyb3VwaW5nLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFJFU0VUVEFCTEVfVE9LRU4sIHVzZUV4aXN0aW5nOiBQMTNHcm91cGluZ0RpYWxvZ0NvbXBvbmVudCB9XSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgRGlhbG9nQ29tcG9uZW50LFxuICAgICAgICBEaWFsb2dIZWFkZXJDb21wb25lbnQsXG4gICAgICAgIFRlbXBsYXRlRGlyZWN0aXZlLFxuICAgICAgICBCYXJMZWZ0RGlyZWN0aXZlLFxuICAgICAgICBCYXJFbGVtZW50RGlyZWN0aXZlLFxuICAgICAgICBUaXRsZUNvbXBvbmVudCxcbiAgICAgICAgQmFyUmlnaHREaXJlY3RpdmUsXG4gICAgICAgIFJlc2V0QnV0dG9uQ29tcG9uZW50LFxuICAgICAgICBDZGtTY3JvbGxhYmxlLFxuICAgICAgICBTY3JvbGxiYXJEaXJlY3RpdmUsXG4gICAgICAgIERpYWxvZ0JvZHlDb21wb25lbnQsXG4gICAgICAgIE5nRm9yLFxuICAgICAgICBTZWxlY3RDb21wb25lbnQsXG4gICAgICAgIE9wdGlvbkNvbXBvbmVudCxcbiAgICAgICAgQ2hlY2tib3hDb21wb25lbnQsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBCdXR0b25Db21wb25lbnQsXG4gICAgICAgIERpYWxvZ0Zvb3RlckNvbXBvbmVudCxcbiAgICAgICAgQnV0dG9uQmFyQ29tcG9uZW50LFxuICAgICAgICBGZFRyYW5zbGF0ZVBpcGVcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFAxM0dyb3VwaW5nRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgUmVzZXR0YWJsZSB7XG4gICAgLyoqIFRhYmxlIGNvbHVtbnMgYXZhaWxhYmxlIGZvciBncm91cGluZyAqL1xuICAgIHJlYWRvbmx5IGNvbHVtbnM6IEdyb3VwRGlhbG9nQ29sdW1uW10gPSBbXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaXNSZXNldEF2YWlsYWJsZVN1YmplY3QkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICAvKiogSW5kaWNhdGVzIHdoZW4gcmVzZXQgY29tbWFuZCBpcyBhdmFpbGFibGUgKi9cbiAgICByZWFkb25seSBpc1Jlc2V0QXZhaWxhYmxlJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuX2lzUmVzZXRBdmFpbGFibGVTdWJqZWN0JC5hc09ic2VydmFibGUoKTtcblxuICAgIC8qKiBHcm91cCBydWxlcyB0byByZW5kZXIgKi9cbiAgICBydWxlczogR3JvdXBSdWxlW10gPSBbXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IocHVibGljIGRpYWxvZ1JlZjogRGlhbG9nUmVmPEdyb3VwRGlhbG9nRGF0YT4pIHtcbiAgICAgICAgY29uc3QgeyBjb2x1bW5zLCBjb2xsZWN0aW9uR3JvdXAgfSA9IHRoaXMuZGlhbG9nUmVmLmRhdGE7XG5cbiAgICAgICAgdGhpcy5jb2x1bW5zID0gY29sdW1ucyB8fCBbXTtcblxuICAgICAgICB0aGlzLl9pbml0aWF0ZVJ1bGVzKGNvbGxlY3Rpb25Hcm91cCk7XG4gICAgfVxuXG4gICAgLyoqIFJlc2V0IGNoYW5nZXMgdG8gdGhlIGluaXRpYWwgc3RhdGUgKi9cbiAgICByZXNldCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faW5pdGlhdGVSdWxlcygpO1xuICAgICAgICB0aGlzLl9pc1Jlc2V0QXZhaWxhYmxlU3ViamVjdCQubmV4dChmYWxzZSk7XG4gICAgfVxuXG4gICAgLyoqIENsb3NlIGRpYWxvZyAqL1xuICAgIGNhbmNlbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UobnVsbCk7XG4gICAgfVxuXG4gICAgLyoqIENvbmZpcm0gY2hhbmdlcyBhbmQgY2xvc2UgZGlhbG9nICovXG4gICAgY29uZmlybSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY29sbGVjdGlvbkdyb3VwID0gdGhpcy5fZ2V0Q29sbGVjdGlvbkdyb3VwRnJvbUdyb3VwUnVsZXModGhpcy5fZ2V0VW5pcXVlUnVsZXModGhpcy5ydWxlcykpO1xuICAgICAgICBjb25zdCByZXN1bHQ6IEdyb3VwRGlhbG9nUmVzdWx0RGF0YSA9IHsgY29sbGVjdGlvbkdyb3VwIH07XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHJlc3VsdCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfcmVjYWxjdWxhdGVSZXNldEF2YWlsYWJpbGl0eSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaGFzT25seU9uZUVtcHR5UnVsZSA9IHRoaXMucnVsZXMubGVuZ3RoID09PSAxICYmICF0aGlzLnJ1bGVzWzBdLmlzVmFsaWQ7XG4gICAgICAgIHRoaXMuX2lzUmVzZXRBdmFpbGFibGVTdWJqZWN0JC5uZXh0KCFoYXNPbmx5T25lRW1wdHlSdWxlKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9yZW1vdmVSdWxlKHJ1bGU6IEdyb3VwUnVsZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnJ1bGVzID0gdGhpcy5ydWxlcy5maWx0ZXIoKF9ydWxlKSA9PiBfcnVsZSAhPT0gcnVsZSk7XG5cbiAgICAgICAgLy8gS2VlcCBhdCBsZWFzdCBvbmUgaXRlbSBpbiB0aGUgbGlzdFxuICAgICAgICBpZiAodGhpcy5ydWxlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMucnVsZXMucHVzaChuZXcgR3JvdXBSdWxlKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fcmVjYWxjdWxhdGVSZXNldEF2YWlsYWJpbGl0eSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2FkZE5ldyhpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMucnVsZXMuc3BsaWNlKGluZGV4ICsgMSwgMCwgbmV3IEdyb3VwUnVsZSgpKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9vblJ1bGVDb2x1bW5LZXlDaGFuZ2UocnVsZTogR3JvdXBSdWxlLCBjb2x1bW5LZXk6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBydWxlLmNvbHVtbktleSA9IGNvbHVtbktleTtcbiAgICAgICAgdGhpcy5fcmVjYWxjdWxhdGVSZXNldEF2YWlsYWJpbGl0eSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX29uUnVsZVNob3dBc0NvbHVtbkNoYW5nZShydWxlOiBHcm91cFJ1bGUsIHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHJ1bGUuc2hvd0FzQ29sdW1uID0gdmFsdWU7XG4gICAgICAgIHRoaXMuX3JlY2FsY3VsYXRlUmVzZXRBdmFpbGFiaWxpdHkoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2luaXRpYXRlUnVsZXMoY29sbGVjdGlvbkdyb3VwPzogQ29sbGVjdGlvbkdyb3VwW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ydWxlcyA9IHRoaXMuX2NyZWF0ZUdyb3VwUnVsZXMoY29sbGVjdGlvbkdyb3VwKTtcblxuICAgICAgICAvLyBLZWVwIGF0IGxlYXN0IG9uZSBpdGVtIGluIHRoZSBsaXN0XG4gICAgICAgIGlmICh0aGlzLnJ1bGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5ydWxlcy5wdXNoKG5ldyBHcm91cFJ1bGUoKSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9yZWNhbGN1bGF0ZVJlc2V0QXZhaWxhYmlsaXR5KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9jcmVhdGVHcm91cFJ1bGVzKGNvbGxlY3Rpb25Hcm91cDogQ29sbGVjdGlvbkdyb3VwW10gPSBbXSk6IEdyb3VwUnVsZVtdIHtcbiAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb25Hcm91cC5tYXAoKHsgZmllbGQsIHNob3dBc0NvbHVtbiB9KTogR3JvdXBSdWxlID0+IG5ldyBHcm91cFJ1bGUoZmllbGQsIHNob3dBc0NvbHVtbikpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0Q29sbGVjdGlvbkdyb3VwRnJvbUdyb3VwUnVsZXMocnVsZXMgPSB0aGlzLnJ1bGVzKTogQ29sbGVjdGlvbkdyb3VwW10ge1xuICAgICAgICByZXR1cm4gcnVsZXMuZmlsdGVyKHRoaXMuX2lzUnVsZVZhbGlkKS5tYXAoXG4gICAgICAgICAgICAoeyBjb2x1bW5LZXksIHNob3dBc0NvbHVtbiB9KTogQ29sbGVjdGlvbkdyb3VwID0+ICh7XG4gICAgICAgICAgICAgICAgZmllbGQ6IGNvbHVtbktleSEsXG4gICAgICAgICAgICAgICAgc2hvd0FzQ29sdW1uLFxuICAgICAgICAgICAgICAgIGRpcmVjdGlvbjogU29ydERpcmVjdGlvbi5OT05FXG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0VW5pcXVlUnVsZXMocnVsZXM6IEdyb3VwUnVsZVtdKTogR3JvdXBSdWxlW10ge1xuICAgICAgICByZXR1cm4gZ2V0VW5pcXVlTGlzdFZhbHVlc0J5S2V5KHJ1bGVzLCAnY29sdW1uS2V5Jyk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pc1J1bGVWYWxpZCA9IChydWxlOiBHcm91cFJ1bGUpOiBib29sZWFuID0+IHJ1bGU/LmlzVmFsaWQ7XG59XG4iLCI8ZmQtZGlhbG9nIGNsYXNzPVwiZmRwLXRhYmxlLXAxMy1ncm91cGluZy1kaWFsb2dcIj5cbiAgICA8ZmQtZGlhbG9nLWhlYWRlcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGZka1RlbXBsYXRlPVwiaGVhZGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGZkLWJhci1sZWZ0PlxuICAgICAgICAgICAgICAgIDxmZC1iYXItZWxlbWVudD5cbiAgICAgICAgICAgICAgICAgICAgPGg0IGZkLXRpdGxlIFtoZWFkZXJTaXplXT1cIjRcIj57eyAncGxhdGZvcm1UYWJsZS5QMTNHcm91cERpYWxvZ0hlYWRlcicgfCBmZFRyYW5zbGF0ZSB9fTwvaDQ+XG4gICAgICAgICAgICAgICAgPC9mZC1iYXItZWxlbWVudD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBmZC1iYXItcmlnaHQ+XG4gICAgICAgICAgICAgICAgPGZkLWJhci1lbGVtZW50PlxuICAgICAgICAgICAgICAgICAgICA8ZmRwLXRhYmxlLXJlc2V0LWJ1dHRvbj48L2ZkcC10YWJsZS1yZXNldC1idXR0b24+XG4gICAgICAgICAgICAgICAgPC9mZC1iYXItZWxlbWVudD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZmQtZGlhbG9nLWhlYWRlcj5cblxuICAgIDxmZC1kaWFsb2ctYm9keT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdyb3VwLXJvd1wiICpuZ0Zvcj1cImxldCBydWxlIG9mIHJ1bGVzOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgICA8ZmQtc2VsZWN0XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJncm91cC1yb3dfX3NlbGVjdFwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cInJ1bGUuY29sdW1uS2V5XCJcbiAgICAgICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwiX29uUnVsZUNvbHVtbktleUNoYW5nZShydWxlLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3BsYXRmb3JtVGFibGUuUDEzR3JvdXBEaWFsb2dOb25lU2VsZWN0ZWRDb2x1bW5TZWxlY3RQbGFjZWhvbGRlcicgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGxpIGZkLW9wdGlvbiAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbHVtbnNcIiBbdmFsdWVdPVwiY29sdW1uLmtleVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBjb2x1bW4ubGFiZWwgfX1cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPC9mZC1zZWxlY3Q+XG5cbiAgICAgICAgICAgIDxmZC1jaGVja2JveFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZ3JvdXAtcm93X19jaGVja2JveFwiXG4gICAgICAgICAgICAgICAgW25nTW9kZWxdPVwicnVsZS5zaG93QXNDb2x1bW5cIlxuICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIl9vblJ1bGVTaG93QXNDb2x1bW5DaGFuZ2UocnVsZSwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cIidwbGF0Zm9ybVRhYmxlLlAxM0dyb3VwRGlhbG9nU2hvd0ZpZWxkQXNDb2x1bW5DaGVja2JveExhYmVsJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgID48L2ZkLWNoZWNrYm94PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JvdXAtcm93X19hY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgICAgICBnbHlwaD1cInN5cy1jYW5jZWxcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidwbGF0Zm9ybVRhYmxlLlAxM0dyb3VwRGlhbG9nUmVtb3ZlR3JvdXBCdG5UaXRsZScgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCIncGxhdGZvcm1UYWJsZS5QMTNHcm91cERpYWxvZ1JlbW92ZUdyb3VwQnRuVGl0bGUnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiX3JlbW92ZVJ1bGUocnVsZSlcIlxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cblxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICAgICAgZ2x5cGg9XCJhZGRcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidwbGF0Zm9ybVRhYmxlLlAxM0dyb3VwRGlhbG9nQWRkTmV3R3JvdXBCdG5UaXRsZScgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCIncGxhdGZvcm1UYWJsZS5QMTNHcm91cERpYWxvZ0FkZE5ld0dyb3VwQnRuVGl0bGUnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiX2FkZE5ldyhpKVwiXG4gICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZmQtZGlhbG9nLWJvZHk+XG5cbiAgICA8ZmQtZGlhbG9nLWZvb3Rlcj5cbiAgICAgICAgPGZkLWJ1dHRvbi1iYXJcbiAgICAgICAgICAgIGZkVHlwZT1cImVtcGhhc2l6ZWRcIlxuICAgICAgICAgICAgW2xhYmVsXT1cIidwbGF0Zm9ybVRhYmxlLlAxM0dyb3VwRGlhbG9nQ29uZmlybWF0aW9uQnRuTGFiZWwnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImNvbmZpcm0oKVwiXG4gICAgICAgID48L2ZkLWJ1dHRvbi1iYXI+XG5cbiAgICAgICAgPGZkLWJ1dHRvbi1iYXJcbiAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgIGZka0luaXRpYWxGb2N1c1xuICAgICAgICAgICAgW2xhYmVsXT1cIidwbGF0Zm9ybVRhYmxlLlAxM0dyb3VwRGlhbG9nQ2FuY2VsQnRuTGFiZWwnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImNhbmNlbCgpXCJcbiAgICAgICAgPjwvZmQtYnV0dG9uLWJhcj5cbiAgICA8L2ZkLWRpYWxvZy1mb290ZXI+XG48L2ZkLWRpYWxvZz5cbiJdfQ==
145
+ ], template: "<fd-dialog class=\"fdp-table-p13-grouping-dialog\">\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 fd-title [headerSize]=\"4\">{{ 'platformTable.P13GroupDialogHeader' | fdTranslate }}</h4>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fdp-table-reset-button></fdp-table-reset-button>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body>\n @for (rule of rules; track rule) {\n <div class=\"group-row\">\n <fd-select\n class=\"group-row__select\"\n [value]=\"rule.columnKey\"\n (valueChange)=\"_onRuleColumnKeyChange(rule, $event)\"\n [placeholder]=\"'platformTable.P13GroupDialogNoneSelectedColumnSelectPlaceholder' | fdTranslate\"\n >\n @for (column of columns; track column) {\n <li fd-option [value]=\"column.key\">\n {{ column.label }}\n </li>\n }\n </fd-select>\n\n <fd-checkbox\n class=\"group-row__checkbox\"\n [ngModel]=\"rule.showAsColumn\"\n (ngModelChange)=\"_onRuleShowAsColumnChange(rule, $event)\"\n [label]=\"'platformTable.P13GroupDialogShowFieldAsColumnCheckboxLabel' | fdTranslate\"\n ></fd-checkbox>\n\n <div class=\"group-row__actions\">\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"sys-cancel\"\n [attr.aria-label]=\"'platformTable.P13GroupDialogRemoveGroupBtnTitle' | fdTranslate\"\n [title]=\"'platformTable.P13GroupDialogRemoveGroupBtnTitle' | fdTranslate\"\n (click)=\"_removeRule(rule)\"\n ></button>\n\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"add\"\n [attr.aria-label]=\"'platformTable.P13GroupDialogAddNewGroupBtnTitle' | fdTranslate\"\n [title]=\"'platformTable.P13GroupDialogAddNewGroupBtnTitle' | fdTranslate\"\n (click)=\"_addNew($index)\"\n ></button>\n </div>\n </div>\n }\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformTable.P13GroupDialogConfirmationBtnLabel' | fdTranslate\"\n (click)=\"confirm()\"\n ></fd-button-bar>\n\n <fd-button-bar\n fdType=\"transparent\"\n fdkInitialFocus\n [label]=\"'platformTable.P13GroupDialogCancelBtnLabel' | fdTranslate\"\n (click)=\"cancel()\"\n ></fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n", styles: [".fdp-table-p13-grouping-dialog .group-row{display:flex;align-items:center;margin-bottom:.5rem}.fdp-table-p13-grouping-dialog .group-row .fd-popover-custom{display:block}.fdp-table-p13-grouping-dialog .group-row__checkbox,.fdp-table-p13-grouping-dialog .group-row__actions,.fdp-table-p13-grouping-dialog .group-row__select{margin-right:1rem}.fdp-table-p13-grouping-dialog .group-row__select{flex:1 1 0}\n"] }]
146
+ }], ctorParameters: () => [{ type: i1.DialogRef }] });
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXBpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL3RhYmxlL2NvbXBvbmVudHMvdGFibGUtcDEzLWRpYWxvZy9ncm91cGluZy9ncm91cGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvdGFibGUvY29tcG9uZW50cy90YWJsZS1wMTMtZGlhbG9nL2dyb3VwaW5nL2dyb3VwaW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUVILGFBQWEsRUFFYix3QkFBd0IsRUFDM0IsTUFBTSx5Q0FBeUMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFDSCxtQkFBbUIsRUFDbkIsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixrQkFBa0IsRUFDckIsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUNILG1CQUFtQixFQUNuQixlQUFlLEVBQ2YscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUN4QixNQUFN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QyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDTCxlQUFlO3dCQUNmLHFCQUFxQjt3QkFDckIsaUJBQWlCO3dCQUNqQixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLG9CQUFvQjt3QkFDcEIsYUFBYTt3QkFDYixrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsV0FBVzt3QkFDWCxlQUFlO3dCQUNmLHFCQUFxQjt3QkFDckIsa0JBQWtCO3dCQUNsQixlQUFlO3FCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENvbGxlY3Rpb25Hcm91cCxcbiAgICBTb3J0RGlyZWN0aW9uLFxuICAgIFRhYmxlRGlhbG9nQ29tbW9uRGF0YSxcbiAgICBnZXRVbmlxdWVMaXN0VmFsdWVzQnlLZXlcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS90YWJsZS1oZWxwZXJzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBEaWFsb2dSZWYgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvZGlhbG9nJztcblxuaW1wb3J0IHsgQ2RrU2Nyb2xsYWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcblxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7XG4gICAgQmFyRWxlbWVudERpcmVjdGl2ZSxcbiAgICBCYXJMZWZ0RGlyZWN0aXZlLFxuICAgIEJhclJpZ2h0RGlyZWN0aXZlLFxuICAgIEJ1dHRvbkJhckNvbXBvbmVudFxufSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvYmFyJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9idXR0b24nO1xuaW1wb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvY2hlY2tib3gnO1xuaW1wb3J0IHtcbiAgICBEaWFsb2dCb2R5Q29tcG9uZW50LFxuICAgIERpYWxvZ0NvbXBvbmVudCxcbiAgICBEaWFsb2dGb290ZXJDb21wb25lbnQsXG4gICAgRGlhbG9nSGVhZGVyQ29tcG9uZW50XG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9kaWFsb2cnO1xuaW1wb3J0IHsgU2Nyb2xsYmFyRGlyZWN0aXZlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3Njcm9sbGJhcic7XG5pbXBvcnQgeyBPcHRpb25Db21wb25lbnQsIFNlbGVjdENvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9zZWxlY3QnO1xuaW1wb3J0IHsgVGl0bGVDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvdGl0bGUnO1xuaW1wb3J0IHsgRmRUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9pMThuJztcbmltcG9ydCB7IFJFU0VUVEFCTEVfVE9LRU4sIFJlc2V0QnV0dG9uQ29tcG9uZW50LCBSZXNldHRhYmxlIH0gZnJvbSAnLi4vLi4vcmVzZXQtYnV0dG9uL3Jlc2V0LWJ1dHRvbi5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEdyb3VwRGlhbG9nQ29sdW1uIHtcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIGtleTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyb3VwRGlhbG9nRGF0YSBleHRlbmRzIFRhYmxlRGlhbG9nQ29tbW9uRGF0YSB7XG4gICAgY29sbGVjdGlvbkdyb3VwOiBDb2xsZWN0aW9uR3JvdXBbXTtcbiAgICBjb2x1bW5zOiBHcm91cERpYWxvZ0NvbHVtbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyb3VwRGlhbG9nUmVzdWx0RGF0YSB7XG4gICAgY29sbGVjdGlvbkdyb3VwOiBDb2xsZWN0aW9uR3JvdXBbXTtcbn1cblxuY29uc3QgTk9UX1NFTEVDVEVEX09QVElPTl9WQUxVRSA9IG51bGw7XG5cbmNsYXNzIEdyb3VwUnVsZSB7XG4gICAgZ2V0IGlzVmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbHVtbktleSAhPT0gTk9UX1NFTEVDVEVEX09QVElPTl9WQUxVRTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgLyoqIENvbHVtbiBrZXkgdGhlIHJ1bGUgYmVsb25ncyB0byAqL1xuICAgICAgICBwdWJsaWMgY29sdW1uS2V5OiBzdHJpbmcgfCBudWxsID0gTk9UX1NFTEVDVEVEX09QVElPTl9WQUxVRSxcbiAgICAgICAgLyoqIFNob3cgRmllbGQgYXMgQ29sdW1uICovXG4gICAgICAgIHB1YmxpYyBzaG93QXNDb2x1bW4gPSB0cnVlXG4gICAgKSB7fVxufVxuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogJy4vZ3JvdXBpbmcuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9ncm91cGluZy5jb21wb25lbnQuc2NzcycsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFJFU0VUVEFCTEVfVE9LRU4sIHVzZUV4aXN0aW5nOiBQMTNHcm91cGluZ0RpYWxvZ0NvbXBvbmVudCB9XSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgRGlhbG9nQ29tcG9uZW50LFxuICAgICAgICBEaWFsb2dIZWFkZXJDb21wb25lbnQsXG4gICAgICAgIFRlbXBsYXRlRGlyZWN0aXZlLFxuICAgICAgICBCYXJMZWZ0RGlyZWN0aXZlLFxuICAgICAgICBCYXJFbGVtZW50RGlyZWN0aXZlLFxuICAgICAgICBUaXRsZUNvbXBvbmVudCxcbiAgICAgICAgQmFyUmlnaHREaXJlY3RpdmUsXG4gICAgICAgIFJlc2V0QnV0dG9uQ29tcG9uZW50LFxuICAgICAgICBDZGtTY3JvbGxhYmxlLFxuICAgICAgICBTY3JvbGxiYXJEaXJlY3RpdmUsXG4gICAgICAgIERpYWxvZ0JvZHlDb21wb25lbnQsXG4gICAgICAgIFNlbGVjdENvbXBvbmVudCxcbiAgICAgICAgT3B0aW9uQ29tcG9uZW50LFxuICAgICAgICBDaGVja2JveENvbXBvbmVudCxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICAgICAgRGlhbG9nRm9vdGVyQ29tcG9uZW50LFxuICAgICAgICBCdXR0b25CYXJDb21wb25lbnQsXG4gICAgICAgIEZkVHJhbnNsYXRlUGlwZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgUDEzR3JvdXBpbmdEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBSZXNldHRhYmxlIHtcbiAgICAvKiogVGFibGUgY29sdW1ucyBhdmFpbGFibGUgZm9yIGdyb3VwaW5nICovXG4gICAgcmVhZG9ubHkgY29sdW1uczogR3JvdXBEaWFsb2dDb2x1bW5bXSA9IFtdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pc1Jlc2V0QXZhaWxhYmxlU3ViamVjdCQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hlbiByZXNldCBjb21tYW5kIGlzIGF2YWlsYWJsZSAqL1xuICAgIHJlYWRvbmx5IGlzUmVzZXRBdmFpbGFibGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5faXNSZXNldEF2YWlsYWJsZVN1YmplY3QkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgLyoqIEdyb3VwIHJ1bGVzIHRvIHJlbmRlciAqL1xuICAgIHJ1bGVzOiBHcm91cFJ1bGVbXSA9IFtdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZGlhbG9nUmVmOiBEaWFsb2dSZWY8R3JvdXBEaWFsb2dEYXRhPikge1xuICAgICAgICBjb25zdCB7IGNvbHVtbnMsIGNvbGxlY3Rpb25Hcm91cCB9ID0gdGhpcy5kaWFsb2dSZWYuZGF0YTtcblxuICAgICAgICB0aGlzLmNvbHVtbnMgPSBjb2x1bW5zIHx8IFtdO1xuXG4gICAgICAgIHRoaXMuX2luaXRpYXRlUnVsZXMoY29sbGVjdGlvbkdyb3VwKTtcbiAgICB9XG5cbiAgICAvKiogUmVzZXQgY2hhbmdlcyB0byB0aGUgaW5pdGlhbCBzdGF0ZSAqL1xuICAgIHJlc2V0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9pbml0aWF0ZVJ1bGVzKCk7XG4gICAgICAgIHRoaXMuX2lzUmVzZXRBdmFpbGFibGVTdWJqZWN0JC5uZXh0KGZhbHNlKTtcbiAgICB9XG5cbiAgICAvKiogQ2xvc2UgZGlhbG9nICovXG4gICAgY2FuY2VsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShudWxsKTtcbiAgICB9XG5cbiAgICAvKiogQ29uZmlybSBjaGFuZ2VzIGFuZCBjbG9zZSBkaWFsb2cgKi9cbiAgICBjb25maXJtKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjb2xsZWN0aW9uR3JvdXAgPSB0aGlzLl9nZXRDb2xsZWN0aW9uR3JvdXBGcm9tR3JvdXBSdWxlcyh0aGlzLl9nZXRVbmlxdWVSdWxlcyh0aGlzLnJ1bGVzKSk7XG4gICAgICAgIGNvbnN0IHJlc3VsdDogR3JvdXBEaWFsb2dSZXN1bHREYXRhID0geyBjb2xsZWN0aW9uR3JvdXAgfTtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UocmVzdWx0KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9yZWNhbGN1bGF0ZVJlc2V0QXZhaWxhYmlsaXR5KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBoYXNPbmx5T25lRW1wdHlSdWxlID0gdGhpcy5ydWxlcy5sZW5ndGggPT09IDEgJiYgIXRoaXMucnVsZXNbMF0uaXNWYWxpZDtcbiAgICAgICAgdGhpcy5faXNSZXNldEF2YWlsYWJsZVN1YmplY3QkLm5leHQoIWhhc09ubHlPbmVFbXB0eVJ1bGUpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3JlbW92ZVJ1bGUocnVsZTogR3JvdXBSdWxlKTogdm9pZCB7XG4gICAgICAgIHRoaXMucnVsZXMgPSB0aGlzLnJ1bGVzLmZpbHRlcigoX3J1bGUpID0+IF9ydWxlICE9PSBydWxlKTtcblxuICAgICAgICAvLyBLZWVwIGF0IGxlYXN0IG9uZSBpdGVtIGluIHRoZSBsaXN0XG4gICAgICAgIGlmICh0aGlzLnJ1bGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5ydWxlcy5wdXNoKG5ldyBHcm91cFJ1bGUoKSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9yZWNhbGN1bGF0ZVJlc2V0QXZhaWxhYmlsaXR5KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfYWRkTmV3KGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ydWxlcy5zcGxpY2UoaW5kZXggKyAxLCAwLCBuZXcgR3JvdXBSdWxlKCkpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX29uUnVsZUNvbHVtbktleUNoYW5nZShydWxlOiBHcm91cFJ1bGUsIGNvbHVtbktleTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHJ1bGUuY29sdW1uS2V5ID0gY29sdW1uS2V5O1xuICAgICAgICB0aGlzLl9yZWNhbGN1bGF0ZVJlc2V0QXZhaWxhYmlsaXR5KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfb25SdWxlU2hvd0FzQ29sdW1uQ2hhbmdlKHJ1bGU6IEdyb3VwUnVsZSwgdmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgcnVsZS5zaG93QXNDb2x1bW4gPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5fcmVjYWxjdWxhdGVSZXNldEF2YWlsYWJpbGl0eSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaW5pdGlhdGVSdWxlcyhjb2xsZWN0aW9uR3JvdXA/OiBDb2xsZWN0aW9uR3JvdXBbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLnJ1bGVzID0gdGhpcy5fY3JlYXRlR3JvdXBSdWxlcyhjb2xsZWN0aW9uR3JvdXApO1xuXG4gICAgICAgIC8vIEtlZXAgYXQgbGVhc3Qgb25lIGl0ZW0gaW4gdGhlIGxpc3RcbiAgICAgICAgaWYgKHRoaXMucnVsZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLnJ1bGVzLnB1c2gobmV3IEdyb3VwUnVsZSgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3JlY2FsY3VsYXRlUmVzZXRBdmFpbGFiaWxpdHkoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2NyZWF0ZUdyb3VwUnVsZXMoY29sbGVjdGlvbkdyb3VwOiBDb2xsZWN0aW9uR3JvdXBbXSA9IFtdKTogR3JvdXBSdWxlW10ge1xuICAgICAgICByZXR1cm4gY29sbGVjdGlvbkdyb3VwLm1hcCgoeyBmaWVsZCwgc2hvd0FzQ29sdW1uIH0pOiBHcm91cFJ1bGUgPT4gbmV3IEdyb3VwUnVsZShmaWVsZCwgc2hvd0FzQ29sdW1uKSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZXRDb2xsZWN0aW9uR3JvdXBGcm9tR3JvdXBSdWxlcyhydWxlcyA9IHRoaXMucnVsZXMpOiBDb2xsZWN0aW9uR3JvdXBbXSB7XG4gICAgICAgIHJldHVybiBydWxlcy5maWx0ZXIodGhpcy5faXNSdWxlVmFsaWQpLm1hcChcbiAgICAgICAgICAgICh7IGNvbHVtbktleSwgc2hvd0FzQ29sdW1uIH0pOiBDb2xsZWN0aW9uR3JvdXAgPT4gKHtcbiAgICAgICAgICAgICAgICBmaWVsZDogY29sdW1uS2V5ISxcbiAgICAgICAgICAgICAgICBzaG93QXNDb2x1bW4sXG4gICAgICAgICAgICAgICAgZGlyZWN0aW9uOiBTb3J0RGlyZWN0aW9uLk5PTkVcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZXRVbmlxdWVSdWxlcyhydWxlczogR3JvdXBSdWxlW10pOiBHcm91cFJ1bGVbXSB7XG4gICAgICAgIHJldHVybiBnZXRVbmlxdWVMaXN0VmFsdWVzQnlLZXkocnVsZXMsICdjb2x1bW5LZXknKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2lzUnVsZVZhbGlkID0gKHJ1bGU6IEdyb3VwUnVsZSk6IGJvb2xlYW4gPT4gcnVsZT8uaXNWYWxpZDtcbn1cbiIsIjxmZC1kaWFsb2cgY2xhc3M9XCJmZHAtdGFibGUtcDEzLWdyb3VwaW5nLWRpYWxvZ1wiPlxuICAgIDxmZC1kaWFsb2ctaGVhZGVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgZmRrVGVtcGxhdGU9XCJoZWFkZXJcIj5cbiAgICAgICAgICAgIDxkaXYgZmQtYmFyLWxlZnQ+XG4gICAgICAgICAgICAgICAgPGZkLWJhci1lbGVtZW50PlxuICAgICAgICAgICAgICAgICAgICA8aDQgZmQtdGl0bGUgW2hlYWRlclNpemVdPVwiNFwiPnt7ICdwbGF0Zm9ybVRhYmxlLlAxM0dyb3VwRGlhbG9nSGVhZGVyJyB8IGZkVHJhbnNsYXRlIH19PC9oND5cbiAgICAgICAgICAgICAgICA8L2ZkLWJhci1lbGVtZW50PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGZkLWJhci1yaWdodD5cbiAgICAgICAgICAgICAgICA8ZmQtYmFyLWVsZW1lbnQ+XG4gICAgICAgICAgICAgICAgICAgIDxmZHAtdGFibGUtcmVzZXQtYnV0dG9uPjwvZmRwLXRhYmxlLXJlc2V0LWJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2ZkLWJhci1lbGVtZW50PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9mZC1kaWFsb2ctaGVhZGVyPlxuXG4gICAgPGZkLWRpYWxvZy1ib2R5PlxuICAgICAgICBAZm9yIChydWxlIG9mIHJ1bGVzOyB0cmFjayBydWxlKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JvdXAtcm93XCI+XG4gICAgICAgICAgICAgICAgPGZkLXNlbGVjdFxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImdyb3VwLXJvd19fc2VsZWN0XCJcbiAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInJ1bGUuY29sdW1uS2V5XCJcbiAgICAgICAgICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cIl9vblJ1bGVDb2x1bW5LZXlDaGFuZ2UocnVsZSwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCIncGxhdGZvcm1UYWJsZS5QMTNHcm91cERpYWxvZ05vbmVTZWxlY3RlZENvbHVtblNlbGVjdFBsYWNlaG9sZGVyJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKGNvbHVtbiBvZiBjb2x1bW5zOyB0cmFjayBjb2x1bW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBmZC1vcHRpb24gW3ZhbHVlXT1cImNvbHVtbi5rZXlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBjb2x1bW4ubGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2ZkLXNlbGVjdD5cblxuICAgICAgICAgICAgICAgIDxmZC1jaGVja2JveFxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImdyb3VwLXJvd19fY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJydWxlLnNob3dBc0NvbHVtblwiXG4gICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIl9vblJ1bGVTaG93QXNDb2x1bW5DaGFuZ2UocnVsZSwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCIncGxhdGZvcm1UYWJsZS5QMTNHcm91cERpYWxvZ1Nob3dGaWVsZEFzQ29sdW1uQ2hlY2tib3hMYWJlbCcgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgPjwvZmQtY2hlY2tib3g+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JvdXAtcm93X19hY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZ2x5cGg9XCJzeXMtY2FuY2VsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3BsYXRmb3JtVGFibGUuUDEzR3JvdXBEaWFsb2dSZW1vdmVHcm91cEJ0blRpdGxlJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCIncGxhdGZvcm1UYWJsZS5QMTNHcm91cERpYWxvZ1JlbW92ZUdyb3VwQnRuVGl0bGUnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9yZW1vdmVSdWxlKHJ1bGUpXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZ2x5cGg9XCJhZGRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCIncGxhdGZvcm1UYWJsZS5QMTNHcm91cERpYWxvZ0FkZE5ld0dyb3VwQnRuVGl0bGUnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidwbGF0Zm9ybVRhYmxlLlAxM0dyb3VwRGlhbG9nQWRkTmV3R3JvdXBCdG5UaXRsZScgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiX2FkZE5ldygkaW5kZXgpXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICA8L2ZkLWRpYWxvZy1ib2R5PlxuXG4gICAgPGZkLWRpYWxvZy1mb290ZXI+XG4gICAgICAgIDxmZC1idXR0b24tYmFyXG4gICAgICAgICAgICBmZFR5cGU9XCJlbXBoYXNpemVkXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCIncGxhdGZvcm1UYWJsZS5QMTNHcm91cERpYWxvZ0NvbmZpcm1hdGlvbkJ0bkxhYmVsJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjb25maXJtKClcIlxuICAgICAgICA+PC9mZC1idXR0b24tYmFyPlxuXG4gICAgICAgIDxmZC1idXR0b24tYmFyXG4gICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICBmZGtJbml0aWFsRm9jdXNcbiAgICAgICAgICAgIFtsYWJlbF09XCIncGxhdGZvcm1UYWJsZS5QMTNHcm91cERpYWxvZ0NhbmNlbEJ0bkxhYmVsJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjYW5jZWwoKVwiXG4gICAgICAgID48L2ZkLWJ1dHRvbi1iYXI+XG4gICAgPC9mZC1kaWFsb2ctZm9vdGVyPlxuPC9mZC1kaWFsb2c+XG4iXX0=
@@ -3,7 +3,6 @@ import { SortDirection, getUniqueListValuesByKey } from '@fundamental-ngx/platfo
3
3
  import { BehaviorSubject } from 'rxjs';
4
4
  import { DialogRef } from '@fundamental-ngx/core/dialog';
5
5
  import { CdkScrollable } from '@angular/cdk/overlay';
6
- import { NgFor } from '@angular/common';
7
6
  import { DisabledBehaviorDirective, TemplateDirective } from '@fundamental-ngx/cdk/utils';
8
7
  import { BarElementDirective, BarLeftDirective, BarRightDirective, ButtonBarComponent } from '@fundamental-ngx/core/bar';
9
8
  import { ButtonComponent } from '@fundamental-ngx/core/button';
@@ -122,10 +121,10 @@ export class P13SortingDialogComponent {
122
121
  _getUniqueRules(rules) {
123
122
  return getUniqueListValuesByKey(rules, 'columnKey');
124
123
  }
125
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: P13SortingDialogComponent, deps: [{ token: i1.DialogRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
126
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: P13SortingDialogComponent, isStandalone: true, selector: "ng-component", providers: [{ provide: RESETTABLE_TOKEN, useExisting: P13SortingDialogComponent }], ngImport: i0, template: "<fd-dialog class=\"fdp-table-p13-sorting-dialog\">\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 fd-title [headerSize]=\"4\">\n {{ 'platformTable.P13SortDialogHeader' | fdTranslate }}\n </h4>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fdp-table-reset-button></fdp-table-reset-button>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body>\n <div class=\"sort-row\" *ngFor=\"let rule of rules; let i = index; trackBy: _trackByColumnKey\">\n <fd-select\n class=\"sort-row__select\"\n [value]=\"rule.columnKey\"\n (valueChange)=\"_onRuleColumnKeyChange(rule, $event)\"\n [placeholder]=\"'platformTable.P13SortDialogNoneSelectedColumn' | fdTranslate\"\n >\n <li\n fd-option\n *ngFor=\"let column of columns | getAvailableSortColumns : rules : rule.columnKey\"\n [value]=\"column.key\"\n >\n {{ column.label }}\n </li>\n </fd-select>\n\n <fd-select\n class=\"sort-row__select\"\n [value]=\"rule.direction\"\n (valueChange)=\"_onRuleDirectionChange(rule, $event)\"\n [placeholder]=\"'platformTable.P13SortDialogNoneSelectedSorting' | fdTranslate\"\n >\n <li fd-option [value]=\"SORT_DIRECTION.ASC\">\n {{ 'platformTable.P13SortDialogSortOrderSelectOptionAsc' | fdTranslate }}\n </li>\n <li fd-option [value]=\"SORT_DIRECTION.DESC\">\n {{ 'platformTable.P13SortDialogSortOrderSelectOptionDesc' | fdTranslate }}\n </li>\n </fd-select>\n\n <div class=\"sort-row__actions\">\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"sys-cancel\"\n [attr.aria-label]=\"'platformTable.P13SortDialogRemoveSortBtnTitle' | fdTranslate\"\n [title]=\"'platformTable.P13SortDialogRemoveSortBtnTitle' | fdTranslate\"\n (click)=\"_removeRule(rule)\"\n ></button>\n\n <button\n fd-button\n [fdkDisabled]=\"rules.length === columns.length\"\n fdType=\"transparent\"\n glyph=\"add\"\n [attr.aria-label]=\"'platformTable.P13SortDialogAddNewSortBtnTitle' | fdTranslate\"\n [title]=\"'platformTable.P13SortDialogAddNewSortBtnTitle' | fdTranslate\"\n (click)=\"_addNew(i)\"\n ></button>\n </div>\n </div>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformTable.P13SortDialogConfirmationBtnLabel' | fdTranslate\"\n (click)=\"confirm()\"\n ></fd-button-bar>\n\n <fd-button-bar\n fdType=\"transparent\"\n fdkInitialFocus\n [label]=\"'platformTable.P13SortDialogCancelBtnLabel' | fdTranslate\"\n (click)=\"cancel()\"\n ></fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n", styles: [".fdp-table-p13-sorting-dialog .sort-row{display:flex;margin-bottom:.5rem}.fdp-table-p13-sorting-dialog .sort-row .fd-popover-custom{display:block}.fdp-table-p13-sorting-dialog .sort-row__select{flex:1 1 0;margin-right:1rem}.fdp-table-p13-sorting-dialog .sort-row__actions{margin-left:1rem}\n"], dependencies: [{ kind: "component", type: i0.forwardRef(function () { return DialogComponent; }), selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i0.forwardRef(function () { return DialogHeaderComponent; }), selector: "fd-dialog-header" }, { kind: "directive", type: i0.forwardRef(function () { return TemplateDirective; }), selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }, { kind: "directive", type: i0.forwardRef(function () { return BarLeftDirective; }), selector: "[fd-bar-left]" }, { kind: "directive", type: i0.forwardRef(function () { return BarElementDirective; }), selector: "fd-bar-element", inputs: ["fullWidth"] }, { kind: "component", type: i0.forwardRef(function () { return TitleComponent; }), selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i0.forwardRef(function () { return BarRightDirective; }), selector: "[fd-bar-right]" }, { kind: "component", type: i0.forwardRef(function () { return ResetButtonComponent; }), selector: "fdp-table-reset-button" }, { kind: "component", type: i0.forwardRef(function () { return DialogBodyComponent; }), selector: "fd-dialog-body" }, { kind: "directive", type: i0.forwardRef(function () { return NgFor; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i0.forwardRef(function () { return SelectComponent; }), selector: "fd-select", inputs: ["extendedBodyTemplate", "scrollStrategy", "controlId", "state", "mobile", "stateMessage", "disabled", "required", "readonly", "placeholder", "value", "maxHeight", "glyph", "closeOnOutsideClick", "fillControlMode", "controlTemplate", "appendTo", "unselectMissingOption", "typeaheadDebounceInterval", "ariaLabelledBy", "ariaLabel", "mobileConfig", "inline", "selectControlClass", "selectDropdownButtonClass", "advancedStateMessage", "tabOutStrategy", "compareWith"], outputs: ["isOpenChange", "valueChange"] }, { kind: "component", type: i0.forwardRef(function () { return OptionComponent; }), selector: "[fd-option], fd-option", inputs: ["id", "value", "disabled"], outputs: ["selectionChange"] }, { kind: "component", type: i0.forwardRef(function () { return ButtonComponent; }), selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: i0.forwardRef(function () { return DisabledBehaviorDirective; }), selector: "[fdkDisabled]", inputs: ["fdkDisabled", "addDisabledClass", "disabledClass"] }, { kind: "component", type: i0.forwardRef(function () { return DialogFooterComponent; }), selector: "fd-dialog-footer" }, { kind: "component", type: i0.forwardRef(function () { return ButtonBarComponent; }), selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "pipe", type: i0.forwardRef(function () { return FdTranslatePipe; }), name: "fdTranslate" }, { kind: "pipe", type: i0.forwardRef(function () { return GetAvailableSortColumnsPipe; }), name: "getAvailableSortColumns" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
124
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: P13SortingDialogComponent, deps: [{ token: i1.DialogRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
125
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.4", type: P13SortingDialogComponent, isStandalone: true, selector: "ng-component", providers: [{ provide: RESETTABLE_TOKEN, useExisting: P13SortingDialogComponent }], ngImport: i0, template: "<fd-dialog class=\"fdp-table-p13-sorting-dialog\">\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 fd-title [headerSize]=\"4\">\n {{ 'platformTable.P13SortDialogHeader' | fdTranslate }}\n </h4>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fdp-table-reset-button></fdp-table-reset-button>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n <fd-dialog-body>\n @for (rule of rules; track _trackByColumnKey(i, rule); let i = $index) {\n <div class=\"sort-row\">\n <fd-select\n class=\"sort-row__select\"\n [value]=\"rule.columnKey\"\n (valueChange)=\"_onRuleColumnKeyChange(rule, $event)\"\n [placeholder]=\"'platformTable.P13SortDialogNoneSelectedColumn' | fdTranslate\"\n >\n @for (column of columns | getAvailableSortColumns: rules : rule.columnKey; track column) {\n <li fd-option [value]=\"column.key\">\n {{ column.label }}\n </li>\n }\n </fd-select>\n <fd-select\n class=\"sort-row__select\"\n [value]=\"rule.direction\"\n (valueChange)=\"_onRuleDirectionChange(rule, $event)\"\n [placeholder]=\"'platformTable.P13SortDialogNoneSelectedSorting' | fdTranslate\"\n >\n <li fd-option [value]=\"SORT_DIRECTION.ASC\">\n {{ 'platformTable.P13SortDialogSortOrderSelectOptionAsc' | fdTranslate }}\n </li>\n <li fd-option [value]=\"SORT_DIRECTION.DESC\">\n {{ 'platformTable.P13SortDialogSortOrderSelectOptionDesc' | fdTranslate }}\n </li>\n </fd-select>\n <div class=\"sort-row__actions\">\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"sys-cancel\"\n [attr.aria-label]=\"'platformTable.P13SortDialogRemoveSortBtnTitle' | fdTranslate\"\n [title]=\"'platformTable.P13SortDialogRemoveSortBtnTitle' | fdTranslate\"\n (click)=\"_removeRule(rule)\"\n ></button>\n <button\n fd-button\n [fdkDisabled]=\"rules.length === columns.length\"\n fdType=\"transparent\"\n glyph=\"add\"\n [attr.aria-label]=\"'platformTable.P13SortDialogAddNewSortBtnTitle' | fdTranslate\"\n [title]=\"'platformTable.P13SortDialogAddNewSortBtnTitle' | fdTranslate\"\n (click)=\"_addNew(i)\"\n ></button>\n </div>\n </div>\n }\n </fd-dialog-body>\n <fd-dialog-footer>\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformTable.P13SortDialogConfirmationBtnLabel' | fdTranslate\"\n (click)=\"confirm()\"\n ></fd-button-bar>\n <fd-button-bar\n fdType=\"transparent\"\n fdkInitialFocus\n [label]=\"'platformTable.P13SortDialogCancelBtnLabel' | fdTranslate\"\n (click)=\"cancel()\"\n ></fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n", styles: [".fdp-table-p13-sorting-dialog .sort-row{display:flex;margin-bottom:.5rem}.fdp-table-p13-sorting-dialog .sort-row .fd-popover-custom{display:block}.fdp-table-p13-sorting-dialog .sort-row__select{flex:1 1 0;margin-right:1rem}.fdp-table-p13-sorting-dialog .sort-row__actions{margin-left:1rem}\n"], dependencies: [{ kind: "component", type: i0.forwardRef(() => DialogComponent), selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i0.forwardRef(() => DialogHeaderComponent), selector: "fd-dialog-header" }, { kind: "directive", type: i0.forwardRef(() => TemplateDirective), selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }, { kind: "directive", type: i0.forwardRef(() => BarLeftDirective), selector: "[fd-bar-left]" }, { kind: "directive", type: i0.forwardRef(() => BarElementDirective), selector: "fd-bar-element", inputs: ["fullWidth"] }, { kind: "component", type: i0.forwardRef(() => TitleComponent), selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i0.forwardRef(() => BarRightDirective), selector: "[fd-bar-right]" }, { kind: "component", type: i0.forwardRef(() => ResetButtonComponent), selector: "fdp-table-reset-button" }, { kind: "component", type: i0.forwardRef(() => DialogBodyComponent), selector: "fd-dialog-body" }, { kind: "component", type: i0.forwardRef(() => SelectComponent), selector: "fd-select", inputs: ["extendedBodyTemplate", "scrollStrategy", "controlId", "state", "mobile", "stateMessage", "disabled", "required", "readonly", "placeholder", "value", "maxHeight", "glyph", "closeOnOutsideClick", "fillControlMode", "controlTemplate", "appendTo", "unselectMissingOption", "typeaheadDebounceInterval", "ariaLabelledBy", "ariaLabel", "mobileConfig", "inline", "selectControlClass", "selectDropdownButtonClass", "advancedStateMessage", "tabOutStrategy", "compareWith"], outputs: ["isOpenChange", "valueChange"] }, { kind: "component", type: i0.forwardRef(() => OptionComponent), selector: "[fd-option], fd-option", inputs: ["id", "value", "disabled"], outputs: ["selectionChange"] }, { kind: "component", type: i0.forwardRef(() => ButtonComponent), selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: i0.forwardRef(() => DisabledBehaviorDirective), selector: "[fdkDisabled]", inputs: ["fdkDisabled", "addDisabledClass", "disabledClass"] }, { kind: "component", type: i0.forwardRef(() => DialogFooterComponent), selector: "fd-dialog-footer" }, { kind: "component", type: i0.forwardRef(() => ButtonBarComponent), selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "pipe", type: i0.forwardRef(() => FdTranslatePipe), name: "fdTranslate" }, { kind: "pipe", type: i0.forwardRef(() => GetAvailableSortColumnsPipe), name: "getAvailableSortColumns" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
127
126
  }
128
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: P13SortingDialogComponent, decorators: [{
127
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: P13SortingDialogComponent, decorators: [{
129
128
  type: Component,
130
129
  args: [{ encapsulation: ViewEncapsulation.None, providers: [{ provide: RESETTABLE_TOKEN, useExisting: P13SortingDialogComponent }], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
131
130
  DialogComponent,
@@ -139,7 +138,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
139
138
  CdkScrollable,
140
139
  ScrollbarDirective,
141
140
  DialogBodyComponent,
142
- NgFor,
143
141
  SelectComponent,
144
142
  OptionComponent,
145
143
  ButtonComponent,
@@ -148,18 +146,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
148
146
  ButtonBarComponent,
149
147
  FdTranslatePipe,
150
148
  forwardRef(() => GetAvailableSortColumnsPipe)
151
- ], template: "<fd-dialog class=\"fdp-table-p13-sorting-dialog\">\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 fd-title [headerSize]=\"4\">\n {{ 'platformTable.P13SortDialogHeader' | fdTranslate }}\n </h4>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fdp-table-reset-button></fdp-table-reset-button>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body>\n <div class=\"sort-row\" *ngFor=\"let rule of rules; let i = index; trackBy: _trackByColumnKey\">\n <fd-select\n class=\"sort-row__select\"\n [value]=\"rule.columnKey\"\n (valueChange)=\"_onRuleColumnKeyChange(rule, $event)\"\n [placeholder]=\"'platformTable.P13SortDialogNoneSelectedColumn' | fdTranslate\"\n >\n <li\n fd-option\n *ngFor=\"let column of columns | getAvailableSortColumns : rules : rule.columnKey\"\n [value]=\"column.key\"\n >\n {{ column.label }}\n </li>\n </fd-select>\n\n <fd-select\n class=\"sort-row__select\"\n [value]=\"rule.direction\"\n (valueChange)=\"_onRuleDirectionChange(rule, $event)\"\n [placeholder]=\"'platformTable.P13SortDialogNoneSelectedSorting' | fdTranslate\"\n >\n <li fd-option [value]=\"SORT_DIRECTION.ASC\">\n {{ 'platformTable.P13SortDialogSortOrderSelectOptionAsc' | fdTranslate }}\n </li>\n <li fd-option [value]=\"SORT_DIRECTION.DESC\">\n {{ 'platformTable.P13SortDialogSortOrderSelectOptionDesc' | fdTranslate }}\n </li>\n </fd-select>\n\n <div class=\"sort-row__actions\">\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"sys-cancel\"\n [attr.aria-label]=\"'platformTable.P13SortDialogRemoveSortBtnTitle' | fdTranslate\"\n [title]=\"'platformTable.P13SortDialogRemoveSortBtnTitle' | fdTranslate\"\n (click)=\"_removeRule(rule)\"\n ></button>\n\n <button\n fd-button\n [fdkDisabled]=\"rules.length === columns.length\"\n fdType=\"transparent\"\n glyph=\"add\"\n [attr.aria-label]=\"'platformTable.P13SortDialogAddNewSortBtnTitle' | fdTranslate\"\n [title]=\"'platformTable.P13SortDialogAddNewSortBtnTitle' | fdTranslate\"\n (click)=\"_addNew(i)\"\n ></button>\n </div>\n </div>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformTable.P13SortDialogConfirmationBtnLabel' | fdTranslate\"\n (click)=\"confirm()\"\n ></fd-button-bar>\n\n <fd-button-bar\n fdType=\"transparent\"\n fdkInitialFocus\n [label]=\"'platformTable.P13SortDialogCancelBtnLabel' | fdTranslate\"\n (click)=\"cancel()\"\n ></fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n", styles: [".fdp-table-p13-sorting-dialog .sort-row{display:flex;margin-bottom:.5rem}.fdp-table-p13-sorting-dialog .sort-row .fd-popover-custom{display:block}.fdp-table-p13-sorting-dialog .sort-row__select{flex:1 1 0;margin-right:1rem}.fdp-table-p13-sorting-dialog .sort-row__actions{margin-left:1rem}\n"] }]
152
- }], ctorParameters: function () { return [{ type: i1.DialogRef }, { type: i0.ChangeDetectorRef }]; } });
149
+ ], template: "<fd-dialog class=\"fdp-table-p13-sorting-dialog\">\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 fd-title [headerSize]=\"4\">\n {{ 'platformTable.P13SortDialogHeader' | fdTranslate }}\n </h4>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fdp-table-reset-button></fdp-table-reset-button>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n <fd-dialog-body>\n @for (rule of rules; track _trackByColumnKey(i, rule); let i = $index) {\n <div class=\"sort-row\">\n <fd-select\n class=\"sort-row__select\"\n [value]=\"rule.columnKey\"\n (valueChange)=\"_onRuleColumnKeyChange(rule, $event)\"\n [placeholder]=\"'platformTable.P13SortDialogNoneSelectedColumn' | fdTranslate\"\n >\n @for (column of columns | getAvailableSortColumns: rules : rule.columnKey; track column) {\n <li fd-option [value]=\"column.key\">\n {{ column.label }}\n </li>\n }\n </fd-select>\n <fd-select\n class=\"sort-row__select\"\n [value]=\"rule.direction\"\n (valueChange)=\"_onRuleDirectionChange(rule, $event)\"\n [placeholder]=\"'platformTable.P13SortDialogNoneSelectedSorting' | fdTranslate\"\n >\n <li fd-option [value]=\"SORT_DIRECTION.ASC\">\n {{ 'platformTable.P13SortDialogSortOrderSelectOptionAsc' | fdTranslate }}\n </li>\n <li fd-option [value]=\"SORT_DIRECTION.DESC\">\n {{ 'platformTable.P13SortDialogSortOrderSelectOptionDesc' | fdTranslate }}\n </li>\n </fd-select>\n <div class=\"sort-row__actions\">\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"sys-cancel\"\n [attr.aria-label]=\"'platformTable.P13SortDialogRemoveSortBtnTitle' | fdTranslate\"\n [title]=\"'platformTable.P13SortDialogRemoveSortBtnTitle' | fdTranslate\"\n (click)=\"_removeRule(rule)\"\n ></button>\n <button\n fd-button\n [fdkDisabled]=\"rules.length === columns.length\"\n fdType=\"transparent\"\n glyph=\"add\"\n [attr.aria-label]=\"'platformTable.P13SortDialogAddNewSortBtnTitle' | fdTranslate\"\n [title]=\"'platformTable.P13SortDialogAddNewSortBtnTitle' | fdTranslate\"\n (click)=\"_addNew(i)\"\n ></button>\n </div>\n </div>\n }\n </fd-dialog-body>\n <fd-dialog-footer>\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformTable.P13SortDialogConfirmationBtnLabel' | fdTranslate\"\n (click)=\"confirm()\"\n ></fd-button-bar>\n <fd-button-bar\n fdType=\"transparent\"\n fdkInitialFocus\n [label]=\"'platformTable.P13SortDialogCancelBtnLabel' | fdTranslate\"\n (click)=\"cancel()\"\n ></fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n", styles: [".fdp-table-p13-sorting-dialog .sort-row{display:flex;margin-bottom:.5rem}.fdp-table-p13-sorting-dialog .sort-row .fd-popover-custom{display:block}.fdp-table-p13-sorting-dialog .sort-row__select{flex:1 1 0;margin-right:1rem}.fdp-table-p13-sorting-dialog .sort-row__actions{margin-left:1rem}\n"] }]
150
+ }], ctorParameters: () => [{ type: i1.DialogRef }, { type: i0.ChangeDetectorRef }] });
153
151
  export class GetAvailableSortColumnsPipe {
154
152
  /** @hidden */
155
153
  transform(columns, rules, currentKey) {
156
154
  const usedKeys = new Set(rules.map((r) => r.columnKey));
157
155
  return columns.filter((c) => !usedKeys.has(c.key) || currentKey === c.key);
158
156
  }
159
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: GetAvailableSortColumnsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
160
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.7", ngImport: i0, type: GetAvailableSortColumnsPipe, isStandalone: true, name: "getAvailableSortColumns", pure: false }); }
157
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: GetAvailableSortColumnsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
158
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: GetAvailableSortColumnsPipe, isStandalone: true, name: "getAvailableSortColumns", pure: false }); }
161
159
  }
162
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: GetAvailableSortColumnsPipe, decorators: [{
160
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: GetAvailableSortColumnsPipe, decorators: [{
163
161
  type: Pipe,
164
162
  args: [{
165
163
  name: 'getAvailableSortColumns',
@@ -167,4 +165,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
167
165
  standalone: true
168
166
  }]
169
167
  }] });
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvdGFibGUvY29tcG9uZW50cy90YWJsZS1wMTMtZGlhbG9nL3NvcnRpbmcvc29ydGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvdGFibGUvY29tcG9uZW50cy90YWJsZS1wMTMtZGlhbG9nL3NvcnRpbmcvc29ydGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsSUFBSSxFQUVKLGlCQUFpQixFQUNqQixVQUFVLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVILGFBQWEsRUFFYix3QkFBd0IsRUFDM0IsTUFBTSx5Q0FBeUMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFGLE9BQU8sRUFDSCxtQkFBbUIsRUFDbkIsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixrQkFBa0IsRUFDckIsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUNILG1CQUFtQixFQUNuQixlQUFlLEVBQ2YscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUN4QixNQUFNLDhC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QUEyQjs0R0FBM0IsMkJBQTJCOzsyRkFBM0IsMkJBQTJCO2tCQUx2QyxJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSx5QkFBeUI7b0JBQy9CLElBQUksRUFBRSxLQUFLO29CQUNYLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIFBpcGUsXG4gICAgUGlwZVRyYW5zZm9ybSxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBmb3J3YXJkUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBDb2xsZWN0aW9uU29ydCxcbiAgICBTb3J0RGlyZWN0aW9uLFxuICAgIFRhYmxlRGlhbG9nQ29tbW9uRGF0YSxcbiAgICBnZXRVbmlxdWVMaXN0VmFsdWVzQnlLZXlcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS90YWJsZS1oZWxwZXJzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBEaWFsb2dSZWYgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvZGlhbG9nJztcblxuaW1wb3J0IHsgQ2RrU2Nyb2xsYWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IE5nRm9yIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERpc2FibGVkQmVoYXZpb3JEaXJlY3RpdmUsIFRlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHtcbiAgICBCYXJFbGVtZW50RGlyZWN0aXZlLFxuICAgIEJhckxlZnREaXJlY3RpdmUsXG4gICAgQmFyUmlnaHREaXJlY3RpdmUsXG4gICAgQnV0dG9uQmFyQ29tcG9uZW50XG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9iYXInO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2J1dHRvbic7XG5pbXBvcnQge1xuICAgIERpYWxvZ0JvZHlDb21wb25lbnQsXG4gICAgRGlhbG9nQ29tcG9uZW50LFxuICAgIERpYWxvZ0Zvb3RlckNvbXBvbmVudCxcbiAgICBEaWFsb2dIZWFkZXJDb21wb25lbnRcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2RpYWxvZyc7XG5pbXBvcnQgeyBTY3JvbGxiYXJEaXJlY3RpdmUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvc2Nyb2xsYmFyJztcbmltcG9ydCB7IE9wdGlvbkNvbXBvbmVudCwgU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3NlbGVjdCc7XG5pbXBvcnQgeyBUaXRsZUNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS90aXRsZSc7XG5pbXBvcnQgeyBGZFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2kxOG4nO1xuaW1wb3J0IHsgUkVTRVRUQUJMRV9UT0tFTiwgUmVzZXRCdXR0b25Db21wb25lbnQsIFJlc2V0dGFibGUgfSBmcm9tICcuLi8uLi9yZXNldC1idXR0b24vcmVzZXQtYnV0dG9uLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29ydERpYWxvZ0NvbHVtbiB7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICBrZXk6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTb3J0RGlhbG9nRGF0YSBleHRlbmRzIFRhYmxlRGlhbG9nQ29tbW9uRGF0YSB7XG4gICAgY29sbGVjdGlvblNvcnQ6IENvbGxlY3Rpb25Tb3J0W107XG4gICAgY29sdW1uczogU29ydERpYWxvZ0NvbHVtbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNvcnREaWFsb2dSZXN1bHREYXRhIHtcbiAgICBjb2xsZWN0aW9uU29ydDogQ29sbGVjdGlvblNvcnRbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTb3J0UnVsZSB7XG4gICAgY29sdW1uS2V5OiBzdHJpbmcgfCBudWxsO1xuICAgIGRpcmVjdGlvbjogU29ydERpcmVjdGlvbjtcbn1cblxuY29uc3QgTk9UX1NFTEVDVEVEX09QVElPTl9WQUxVRSA9IG51bGw7XG5cbmNsYXNzIFZhbGlkYXRlZFNvcnRSdWxlIGltcGxlbWVudHMgU29ydFJ1bGUge1xuICAgIGdldCBpc1ZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb2x1bW5LZXkgIT09IE5PVF9TRUxFQ1RFRF9PUFRJT05fVkFMVUUgJiYgdGhpcy5kaXJlY3Rpb24gIT09IE5PVF9TRUxFQ1RFRF9PUFRJT05fVkFMVUU7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIC8qKiBDb2x1bW4ga2V5IHRoZSBydWxlIGJlbG9uZ3MgdG8gKi9cbiAgICAgICAgcHVibGljIGNvbHVtbktleTogc3RyaW5nIHwgbnVsbCA9IE5PVF9TRUxFQ1RFRF9PUFRJT05fVkFMVUUsXG4gICAgICAgIC8qKiBTb3J0IGRpcmVjdGlvbiAqL1xuICAgICAgICBwdWJsaWMgZGlyZWN0aW9uOiBTb3J0RGlyZWN0aW9uID0gU29ydERpcmVjdGlvbi5BU0NcbiAgICApIHt9XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiAnLi9zb3J0aW5nLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zb3J0aW5nLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFJFU0VUVEFCTEVfVE9LRU4sIHVzZUV4aXN0aW5nOiBQMTNTb3J0aW5nRGlhbG9nQ29tcG9uZW50IH1dLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBEaWFsb2dDb21wb25lbnQsXG4gICAgICAgIERpYWxvZ0hlYWRlckNvbXBvbmVudCxcbiAgICAgICAgVGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgICAgIEJhckxlZnREaXJlY3RpdmUsXG4gICAgICAgIEJhckVsZW1lbnREaXJlY3RpdmUsXG4gICAgICAgIFRpdGxlQ29tcG9uZW50LFxuICAgICAgICBCYXJSaWdodERpcmVjdGl2ZSxcbiAgICAgICAgUmVzZXRCdXR0b25Db21wb25lbnQsXG4gICAgICAgIENka1Njcm9sbGFibGUsXG4gICAgICAgIFNjcm9sbGJhckRpcmVjdGl2ZSxcbiAgICAgICAgRGlhbG9nQm9keUNvbXBvbmVudCxcbiAgICAgICAgTmdGb3IsXG4gICAgICAgIFNlbGVjdENvbXBvbmVudCxcbiAgICAgICAgT3B0aW9uQ29tcG9uZW50LFxuICAgICAgICBCdXR0b25Db21wb25lbnQsXG4gICAgICAgIERpc2FibGVkQmVoYXZpb3JEaXJlY3RpdmUsXG4gICAgICAgIERpYWxvZ0Zvb3RlckNvbXBvbmVudCxcbiAgICAgICAgQnV0dG9uQmFyQ29tcG9uZW50LFxuICAgICAgICBGZFRyYW5zbGF0ZVBpcGUsXG4gICAgICAgIGZvcndhcmRSZWYoKCkgPT4gR2V0QXZhaWxhYmxlU29ydENvbHVtbnNQaXBlKVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgUDEzU29ydGluZ0RpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIFJlc2V0dGFibGUge1xuICAgIC8qKiBUYWJsZSBjb2x1bW5zIGF2YWlsYWJsZSBmb3Igc29ydGluZyAqL1xuICAgIHJlYWRvbmx5IGNvbHVtbnM6IFNvcnREaWFsb2dDb2x1bW5bXSA9IFtdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pc1Jlc2V0QXZhaWxhYmxlU3ViamVjdCQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hlbiByZXNldCBjb21tYW5kIGlzIGF2YWlsYWJsZSAqL1xuICAgIHJlYWRvbmx5IGlzUmVzZXRBdmFpbGFibGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5faXNSZXNldEF2YWlsYWJsZVN1YmplY3QkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSBTT1JUX0RJUkVDVElPTiA9IFNvcnREaXJlY3Rpb247XG5cbiAgICAvKiogU29ydCBydWxlcyB0byByZW5kZXIgKi9cbiAgICBydWxlczogVmFsaWRhdGVkU29ydFJ1bGVbXSA9IFtdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZGlhbG9nUmVmOiBEaWFsb2dSZWY8U29ydERpYWxvZ0RhdGE+LCBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICAgICAgY29uc3QgeyBjb2x1bW5zLCBjb2xsZWN0aW9uU29ydCB9ID0gdGhpcy5kaWFsb2dSZWYuZGF0YTtcblxuICAgICAgICB0aGlzLmNvbHVtbnMgPSBjb2x1bW5zIHx8IFtdO1xuXG4gICAgICAgIHRoaXMuX2luaXRpYXRlUnVsZXMoY29sbGVjdGlvblNvcnQpO1xuICAgIH1cblxuICAgIC8qKiBSZXNldCBjaGFuZ2VzIHRvIHRoZSBpbml0aWFsIHN0YXRlICovXG4gICAgcmVzZXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2luaXRpYXRlUnVsZXMoKTtcbiAgICAgICAgdGhpcy5faXNSZXNldEF2YWlsYWJsZVN1YmplY3QkLm5leHQoZmFsc2UpO1xuICAgIH1cblxuICAgIC8qKiBDbG9zZSBkaWFsb2cgKi9cbiAgICBjYW5jZWwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKG51bGwpO1xuICAgIH1cblxuICAgIC8qKiBDb25maXJtIGNoYW5nZXMgYW5kIGNsb3NlIGRpYWxvZyAqL1xuICAgIGNvbmZpcm0oKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNvbGxlY3Rpb25Tb3J0ID0gdGhpcy5fZ2V0Q29sbGVjdGlvblNvcnRGcm9tU29ydFJ1bGVzKHRoaXMuX2dldFVuaXF1ZVJ1bGVzKHRoaXMucnVsZXMpKTtcbiAgICAgICAgY29uc3QgcmVzdWx0OiBTb3J0RGlhbG9nUmVzdWx0RGF0YSA9IHsgY29sbGVjdGlvblNvcnQgfTtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UocmVzdWx0KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9yZW1vdmVSdWxlKHJ1bGU6IFZhbGlkYXRlZFNvcnRSdWxlKTogdm9pZCB7XG4gICAgICAgIHRoaXMucnVsZXMgPSB0aGlzLnJ1bGVzLmZpbHRlcigoX3J1bGUpID0+IF9ydWxlICE9PSBydWxlKTtcblxuICAgICAgICAvLyBLZWVwIGF0IGxlYXN0IG9uZSBpdGVtIGluIHRoZSBsaXN0XG4gICAgICAgIGlmICh0aGlzLnJ1bGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5ydWxlcy5wdXNoKG5ldyBWYWxpZGF0ZWRTb3J0UnVsZSgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3JlY2FsY3VsYXRlUmVzZXRBdmFpbGFiaWxpdHkoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9hZGROZXcoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnJ1bGVzLnNwbGljZShpbmRleCArIDEsIDAsIG5ldyBWYWxpZGF0ZWRTb3J0UnVsZSgpKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9vblJ1bGVDb2x1bW5LZXlDaGFuZ2UocnVsZTogVmFsaWRhdGVkU29ydFJ1bGUsIGNvbHVtbktleTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHJ1bGUuY29sdW1uS2V5ID0gY29sdW1uS2V5O1xuICAgICAgICB0aGlzLl9yZWNhbGN1bGF0ZVJlc2V0QXZhaWxhYmlsaXR5KCk7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9vblJ1bGVEaXJlY3Rpb25DaGFuZ2UocnVsZTogVmFsaWRhdGVkU29ydFJ1bGUsIGRpcmVjdGlvbjogU29ydERpcmVjdGlvbik6IHZvaWQge1xuICAgICAgICBydWxlLmRpcmVjdGlvbiA9IGRpcmVjdGlvbjtcbiAgICAgICAgdGhpcy5fcmVjYWxjdWxhdGVSZXNldEF2YWlsYWJpbGl0eSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3JlY2FsY3VsYXRlUmVzZXRBdmFpbGFiaWxpdHkoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGhhc09ubHlPbmVFbXB0eVJ1bGUgPSB0aGlzLnJ1bGVzLmxlbmd0aCA9PT0gMSAmJiAhdGhpcy5ydWxlc1swXS5pc1ZhbGlkO1xuICAgICAgICB0aGlzLl9pc1Jlc2V0QXZhaWxhYmxlU3ViamVjdCQubmV4dCghaGFzT25seU9uZUVtcHR5UnVsZSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfdHJhY2tCeUNvbHVtbktleShpbmRleDogbnVtYmVyLCBydWxlOiBWYWxpZGF0ZWRTb3J0UnVsZSk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICByZXR1cm4gcnVsZS5jb2x1bW5LZXk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pbml0aWF0ZVJ1bGVzKGNvbGxlY3Rpb25Tb3J0PzogQ29sbGVjdGlvblNvcnRbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLnJ1bGVzID0gdGhpcy5fY3JlYXRlUnVsZXMoY29sbGVjdGlvblNvcnQpO1xuXG4gICAgICAgIC8vIEtlZXAgYXQgbGVhc3Qgb25lIGl0ZW0gaW4gdGhlIGxpc3RcbiAgICAgICAgaWYgKHRoaXMucnVsZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLnJ1bGVzLnB1c2gobmV3IFZhbGlkYXRlZFNvcnRSdWxlKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fcmVjYWxjdWxhdGVSZXNldEF2YWlsYWJpbGl0eSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY3JlYXRlUnVsZXMoY29sbGVjdGlvblNvcnQ6IENvbGxlY3Rpb25Tb3J0W10gPSBbXSk6IFZhbGlkYXRlZFNvcnRSdWxlW10ge1xuICAgICAgICByZXR1cm4gY29sbGVjdGlvblNvcnQubWFwKCh7IGZpZWxkLCBkaXJlY3Rpb24gfSk6IFZhbGlkYXRlZFNvcnRSdWxlID0+IG5ldyBWYWxpZGF0ZWRTb3J0UnVsZShmaWVsZCwgZGlyZWN0aW9uKSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZXRDb2xsZWN0aW9uU29ydEZyb21Tb3J0UnVsZXMocnVsZXMgPSB0aGlzLnJ1bGVzKTogQ29sbGVjdGlvblNvcnRbXSB7XG4gICAgICAgIHJldHVybiBydWxlcy5maWx0ZXIodGhpcy5faXNSdWxlVmFsaWQpLm1hcChcbiAgICAgICAgICAgICh7IGNvbHVtbktleSwgZGlyZWN0aW9uIH0pOiBDb2xsZWN0aW9uU29ydCA9PiAoe1xuICAgICAgICAgICAgICAgIGZpZWxkOiBjb2x1bW5LZXksXG4gICAgICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0VW5pcXVlUnVsZXMocnVsZXM6IFZhbGlkYXRlZFNvcnRSdWxlW10pOiBWYWxpZGF0ZWRTb3J0UnVsZVtdIHtcbiAgICAgICAgcmV0dXJuIGdldFVuaXF1ZUxpc3RWYWx1ZXNCeUtleShydWxlcywgJ2NvbHVtbktleScpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaXNSdWxlVmFsaWQgPSAocnVsZTogVmFsaWRhdGVkU29ydFJ1bGUpOiBib29sZWFuID0+IHJ1bGU/LmlzVmFsaWQ7XG59XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAnZ2V0QXZhaWxhYmxlU29ydENvbHVtbnMnLFxuICAgIHB1cmU6IGZhbHNlLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgR2V0QXZhaWxhYmxlU29ydENvbHVtbnNQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICB0cmFuc2Zvcm0oY29sdW1uczogU29ydERpYWxvZ0NvbHVtbltdLCBydWxlczogU29ydFJ1bGVbXSwgY3VycmVudEtleTogc3RyaW5nIHwgbnVsbCk6IFNvcnREaWFsb2dDb2x1bW5bXSB7XG4gICAgICAgIGNvbnN0IHVzZWRLZXlzID0gbmV3IFNldChydWxlcy5tYXAoKHIpID0+IHIuY29sdW1uS2V5KSk7XG4gICAgICAgIHJldHVybiBjb2x1bW5zLmZpbHRlcigoYykgPT4gIXVzZWRLZXlzLmhhcyhjLmtleSkgfHwgY3VycmVudEtleSA9PT0gYy5rZXkpO1xuICAgIH1cbn1cbiIsIjxmZC1kaWFsb2cgY2xhc3M9XCJmZHAtdGFibGUtcDEzLXNvcnRpbmctZGlhbG9nXCI+XG4gICAgPGZkLWRpYWxvZy1oZWFkZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBmZGtUZW1wbGF0ZT1cImhlYWRlclwiPlxuICAgICAgICAgICAgPGRpdiBmZC1iYXItbGVmdD5cbiAgICAgICAgICAgICAgICA8ZmQtYmFyLWVsZW1lbnQ+XG4gICAgICAgICAgICAgICAgICAgIDxoNCBmZC10aXRsZSBbaGVhZGVyU2l6ZV09XCI0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyAncGxhdGZvcm1UYWJsZS5QMTNTb3J0RGlhbG9nSGVhZGVyJyB8IGZkVHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvaDQ+XG4gICAgICAgICAgICAgICAgPC9mZC1iYXItZWxlbWVudD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBmZC1iYXItcmlnaHQ+XG4gICAgICAgICAgICAgICAgPGZkLWJhci1lbGVtZW50PlxuICAgICAgICAgICAgICAgICAgICA8ZmRwLXRhYmxlLXJlc2V0LWJ1dHRvbj48L2ZkcC10YWJsZS1yZXNldC1idXR0b24+XG4gICAgICAgICAgICAgICAgPC9mZC1iYXItZWxlbWVudD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZmQtZGlhbG9nLWhlYWRlcj5cblxuICAgIDxmZC1kaWFsb2ctYm9keT5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNvcnQtcm93XCIgKm5nRm9yPVwibGV0IHJ1bGUgb2YgcnVsZXM7IGxldCBpID0gaW5kZXg7IHRyYWNrQnk6IF90cmFja0J5Q29sdW1uS2V5XCI+XG4gICAgICAgICAgICA8ZmQtc2VsZWN0XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzb3J0LXJvd19fc2VsZWN0XCJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwicnVsZS5jb2x1bW5LZXlcIlxuICAgICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJfb25SdWxlQ29sdW1uS2V5Q2hhbmdlKHJ1bGUsICRldmVudClcIlxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCIncGxhdGZvcm1UYWJsZS5QMTNTb3J0RGlhbG9nTm9uZVNlbGVjdGVkQ29sdW1uJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgZmQtb3B0aW9uXG4gICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1ucyB8IGdldEF2YWlsYWJsZVNvcnRDb2x1bW5zIDogcnVsZXMgOiBydWxlLmNvbHVtbktleVwiXG4gICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJjb2x1bW4ua2V5XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IGNvbHVtbi5sYWJlbCB9fVxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8L2ZkLXNlbGVjdD5cblxuICAgICAgICAgICAgPGZkLXNlbGVjdFxuICAgICAgICAgICAgICAgIGNsYXNzPVwic29ydC1yb3dfX3NlbGVjdFwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cInJ1bGUuZGlyZWN0aW9uXCJcbiAgICAgICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwiX29uUnVsZURpcmVjdGlvbkNoYW5nZShydWxlLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3BsYXRmb3JtVGFibGUuUDEzU29ydERpYWxvZ05vbmVTZWxlY3RlZFNvcnRpbmcnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxsaSBmZC1vcHRpb24gW3ZhbHVlXT1cIlNPUlRfRElSRUNUSU9OLkFTQ1wiPlxuICAgICAgICAgICAgICAgICAgICB7eyAncGxhdGZvcm1UYWJsZS5QMTNTb3J0RGlhbG9nU29ydE9yZGVyU2VsZWN0T3B0aW9uQXNjJyB8IGZkVHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8bGkgZmQtb3B0aW9uIFt2YWx1ZV09XCJTT1JUX0RJUkVDVElPTi5ERVNDXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7ICdwbGF0Zm9ybVRhYmxlLlAxM1NvcnREaWFsb2dTb3J0T3JkZXJTZWxlY3RPcHRpb25EZXNjJyB8IGZkVHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDwvZmQtc2VsZWN0PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic29ydC1yb3dfX2FjdGlvbnNcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgICAgIGdseXBoPVwic3lzLWNhbmNlbFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3BsYXRmb3JtVGFibGUuUDEzU29ydERpYWxvZ1JlbW92ZVNvcnRCdG5UaXRsZScgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCIncGxhdGZvcm1UYWJsZS5QMTNTb3J0RGlhbG9nUmVtb3ZlU29ydEJ0blRpdGxlJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9yZW1vdmVSdWxlKHJ1bGUpXCJcbiAgICAgICAgICAgICAgICA+PC9idXR0b24+XG5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBbZmRrRGlzYWJsZWRdPVwicnVsZXMubGVuZ3RoID09PSBjb2x1bW5zLmxlbmd0aFwiXG4gICAgICAgICAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICAgICAgZ2x5cGg9XCJhZGRcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidwbGF0Zm9ybVRhYmxlLlAxM1NvcnREaWFsb2dBZGROZXdTb3J0QnRuVGl0bGUnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ3BsYXRmb3JtVGFibGUuUDEzU29ydERpYWxvZ0FkZE5ld1NvcnRCdG5UaXRsZScgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfYWRkTmV3KGkpXCJcbiAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9mZC1kaWFsb2ctYm9keT5cblxuICAgIDxmZC1kaWFsb2ctZm9vdGVyPlxuICAgICAgICA8ZmQtYnV0dG9uLWJhclxuICAgICAgICAgICAgZmRUeXBlPVwiZW1waGFzaXplZFwiXG4gICAgICAgICAgICBbbGFiZWxdPVwiJ3BsYXRmb3JtVGFibGUuUDEzU29ydERpYWxvZ0NvbmZpcm1hdGlvbkJ0bkxhYmVsJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjb25maXJtKClcIlxuICAgICAgICA+PC9mZC1idXR0b24tYmFyPlxuXG4gICAgICAgIDxmZC1idXR0b24tYmFyXG4gICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICBmZGtJbml0aWFsRm9jdXNcbiAgICAgICAgICAgIFtsYWJlbF09XCIncGxhdGZvcm1UYWJsZS5QMTNTb3J0RGlhbG9nQ2FuY2VsQnRuTGFiZWwnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImNhbmNlbCgpXCJcbiAgICAgICAgPjwvZmQtYnV0dG9uLWJhcj5cbiAgICA8L2ZkLWRpYWxvZy1mb290ZXI+XG48L2ZkLWRpYWxvZz5cbiJdfQ==
168
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvdGFibGUvY29tcG9uZW50cy90YWJsZS1wMTMtZGlhbG9nL3NvcnRpbmcvc29ydGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvdGFibGUvY29tcG9uZW50cy90YWJsZS1wMTMtZGlhbG9nL3NvcnRpbmcvc29ydGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsSUFBSSxFQUVKLGlCQUFpQixFQUNqQixVQUFVLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVILGFBQWEsRUFFYix3QkFBd0IsRUFDM0IsTUFBTSx5Q0FBeUMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFckQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUYsT0FBTyxFQUNILG1CQUFtQixFQUNuQixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNyQixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLGVBQWUsRUFDZixxQkFBcUIsRUFDckIscUJBQXFCLEVBQ3hCLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0s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RUFBRSx5QkFBeUI7b0JBQy9CLElBQUksRUFBRSxLQUFLO29CQUNYLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIFBpcGUsXG4gICAgUGlwZVRyYW5zZm9ybSxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBmb3J3YXJkUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBDb2xsZWN0aW9uU29ydCxcbiAgICBTb3J0RGlyZWN0aW9uLFxuICAgIFRhYmxlRGlhbG9nQ29tbW9uRGF0YSxcbiAgICBnZXRVbmlxdWVMaXN0VmFsdWVzQnlLZXlcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS90YWJsZS1oZWxwZXJzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBEaWFsb2dSZWYgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvZGlhbG9nJztcblxuaW1wb3J0IHsgQ2RrU2Nyb2xsYWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcblxuaW1wb3J0IHsgRGlzYWJsZWRCZWhhdmlvckRpcmVjdGl2ZSwgVGVtcGxhdGVEaXJlY3RpdmUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQge1xuICAgIEJhckVsZW1lbnREaXJlY3RpdmUsXG4gICAgQmFyTGVmdERpcmVjdGl2ZSxcbiAgICBCYXJSaWdodERpcmVjdGl2ZSxcbiAgICBCdXR0b25CYXJDb21wb25lbnRcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2Jhcic7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvYnV0dG9uJztcbmltcG9ydCB7XG4gICAgRGlhbG9nQm9keUNvbXBvbmVudCxcbiAgICBEaWFsb2dDb21wb25lbnQsXG4gICAgRGlhbG9nRm9vdGVyQ29tcG9uZW50LFxuICAgIERpYWxvZ0hlYWRlckNvbXBvbmVudFxufSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvZGlhbG9nJztcbmltcG9ydCB7IFNjcm9sbGJhckRpcmVjdGl2ZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9zY3JvbGxiYXInO1xuaW1wb3J0IHsgT3B0aW9uQ29tcG9uZW50LCBTZWxlY3RDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvc2VsZWN0JztcbmltcG9ydCB7IFRpdGxlQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3RpdGxlJztcbmltcG9ydCB7IEZkVHJhbnNsYXRlUGlwZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvaTE4bic7XG5pbXBvcnQgeyBSRVNFVFRBQkxFX1RPS0VOLCBSZXNldEJ1dHRvbkNvbXBvbmVudCwgUmVzZXR0YWJsZSB9IGZyb20gJy4uLy4uL3Jlc2V0LWJ1dHRvbi9yZXNldC1idXR0b24uY29tcG9uZW50JztcblxuZXhwb3J0IGludGVyZmFjZSBTb3J0RGlhbG9nQ29sdW1uIHtcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIGtleTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNvcnREaWFsb2dEYXRhIGV4dGVuZHMgVGFibGVEaWFsb2dDb21tb25EYXRhIHtcbiAgICBjb2xsZWN0aW9uU29ydDogQ29sbGVjdGlvblNvcnRbXTtcbiAgICBjb2x1bW5zOiBTb3J0RGlhbG9nQ29sdW1uW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29ydERpYWxvZ1Jlc3VsdERhdGEge1xuICAgIGNvbGxlY3Rpb25Tb3J0OiBDb2xsZWN0aW9uU29ydFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNvcnRSdWxlIHtcbiAgICBjb2x1bW5LZXk6IHN0cmluZyB8IG51bGw7XG4gICAgZGlyZWN0aW9uOiBTb3J0RGlyZWN0aW9uO1xufVxuXG5jb25zdCBOT1RfU0VMRUNURURfT1BUSU9OX1ZBTFVFID0gbnVsbDtcblxuY2xhc3MgVmFsaWRhdGVkU29ydFJ1bGUgaW1wbGVtZW50cyBTb3J0UnVsZSB7XG4gICAgZ2V0IGlzVmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbHVtbktleSAhPT0gTk9UX1NFTEVDVEVEX09QVElPTl9WQUxVRSAmJiB0aGlzLmRpcmVjdGlvbiAhPT0gTk9UX1NFTEVDVEVEX09QVElPTl9WQUxVRTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgLyoqIENvbHVtbiBrZXkgdGhlIHJ1bGUgYmVsb25ncyB0byAqL1xuICAgICAgICBwdWJsaWMgY29sdW1uS2V5OiBzdHJpbmcgfCBudWxsID0gTk9UX1NFTEVDVEVEX09QVElPTl9WQUxVRSxcbiAgICAgICAgLyoqIFNvcnQgZGlyZWN0aW9uICovXG4gICAgICAgIHB1YmxpYyBkaXJlY3Rpb246IFNvcnREaXJlY3Rpb24gPSBTb3J0RGlyZWN0aW9uLkFTQ1xuICAgICkge31cbn1cblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6ICcuL3NvcnRpbmcuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9zb3J0aW5nLmNvbXBvbmVudC5zY3NzJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogUkVTRVRUQUJMRV9UT0tFTiwgdXNlRXhpc3Rpbmc6IFAxM1NvcnRpbmdEaWFsb2dDb21wb25lbnQgfV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIERpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgRGlhbG9nSGVhZGVyQ29tcG9uZW50LFxuICAgICAgICBUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICAgICAgQmFyTGVmdERpcmVjdGl2ZSxcbiAgICAgICAgQmFyRWxlbWVudERpcmVjdGl2ZSxcbiAgICAgICAgVGl0bGVDb21wb25lbnQsXG4gICAgICAgIEJhclJpZ2h0RGlyZWN0aXZlLFxuICAgICAgICBSZXNldEJ1dHRvbkNvbXBvbmVudCxcbiAgICAgICAgQ2RrU2Nyb2xsYWJsZSxcbiAgICAgICAgU2Nyb2xsYmFyRGlyZWN0aXZlLFxuICAgICAgICBEaWFsb2dCb2R5Q29tcG9uZW50LFxuICAgICAgICBTZWxlY3RDb21wb25lbnQsXG4gICAgICAgIE9wdGlvbkNvbXBvbmVudCxcbiAgICAgICAgQnV0dG9uQ29tcG9uZW50LFxuICAgICAgICBEaXNhYmxlZEJlaGF2aW9yRGlyZWN0aXZlLFxuICAgICAgICBEaWFsb2dGb290ZXJDb21wb25lbnQsXG4gICAgICAgIEJ1dHRvbkJhckNvbXBvbmVudCxcbiAgICAgICAgRmRUcmFuc2xhdGVQaXBlLFxuICAgICAgICBmb3J3YXJkUmVmKCgpID0+IEdldEF2YWlsYWJsZVNvcnRDb2x1bW5zUGlwZSlcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFAxM1NvcnRpbmdEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBSZXNldHRhYmxlIHtcbiAgICAvKiogVGFibGUgY29sdW1ucyBhdmFpbGFibGUgZm9yIHNvcnRpbmcgKi9cbiAgICByZWFkb25seSBjb2x1bW5zOiBTb3J0RGlhbG9nQ29sdW1uW10gPSBbXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaXNSZXNldEF2YWlsYWJsZVN1YmplY3QkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICAvKiogSW5kaWNhdGVzIHdoZW4gcmVzZXQgY29tbWFuZCBpcyBhdmFpbGFibGUgKi9cbiAgICByZWFkb25seSBpc1Jlc2V0QXZhaWxhYmxlJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuX2lzUmVzZXRBdmFpbGFibGVTdWJqZWN0JC5hc09ic2VydmFibGUoKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgU09SVF9ESVJFQ1RJT04gPSBTb3J0RGlyZWN0aW9uO1xuXG4gICAgLyoqIFNvcnQgcnVsZXMgdG8gcmVuZGVyICovXG4gICAgcnVsZXM6IFZhbGlkYXRlZFNvcnRSdWxlW10gPSBbXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBkaWFsb2dSZWY6IERpYWxvZ1JlZjxTb3J0RGlhbG9nRGF0YT4sXG4gICAgICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge1xuICAgICAgICBjb25zdCB7IGNvbHVtbnMsIGNvbGxlY3Rpb25Tb3J0IH0gPSB0aGlzLmRpYWxvZ1JlZi5kYXRhO1xuXG4gICAgICAgIHRoaXMuY29sdW1ucyA9IGNvbHVtbnMgfHwgW107XG5cbiAgICAgICAgdGhpcy5faW5pdGlhdGVSdWxlcyhjb2xsZWN0aW9uU29ydCk7XG4gICAgfVxuXG4gICAgLyoqIFJlc2V0IGNoYW5nZXMgdG8gdGhlIGluaXRpYWwgc3RhdGUgKi9cbiAgICByZXNldCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faW5pdGlhdGVSdWxlcygpO1xuICAgICAgICB0aGlzLl9pc1Jlc2V0QXZhaWxhYmxlU3ViamVjdCQubmV4dChmYWxzZSk7XG4gICAgfVxuXG4gICAgLyoqIENsb3NlIGRpYWxvZyAqL1xuICAgIGNhbmNlbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UobnVsbCk7XG4gICAgfVxuXG4gICAgLyoqIENvbmZpcm0gY2hhbmdlcyBhbmQgY2xvc2UgZGlhbG9nICovXG4gICAgY29uZmlybSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY29sbGVjdGlvblNvcnQgPSB0aGlzLl9nZXRDb2xsZWN0aW9uU29ydEZyb21Tb3J0UnVsZXModGhpcy5fZ2V0VW5pcXVlUnVsZXModGhpcy5ydWxlcykpO1xuICAgICAgICBjb25zdCByZXN1bHQ6IFNvcnREaWFsb2dSZXN1bHREYXRhID0geyBjb2xsZWN0aW9uU29ydCB9O1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShyZXN1bHQpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3JlbW92ZVJ1bGUocnVsZTogVmFsaWRhdGVkU29ydFJ1bGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ydWxlcyA9IHRoaXMucnVsZXMuZmlsdGVyKChfcnVsZSkgPT4gX3J1bGUgIT09IHJ1bGUpO1xuXG4gICAgICAgIC8vIEtlZXAgYXQgbGVhc3Qgb25lIGl0ZW0gaW4gdGhlIGxpc3RcbiAgICAgICAgaWYgKHRoaXMucnVsZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLnJ1bGVzLnB1c2gobmV3IFZhbGlkYXRlZFNvcnRSdWxlKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fcmVjYWxjdWxhdGVSZXNldEF2YWlsYWJpbGl0eSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2FkZE5ldyhpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMucnVsZXMuc3BsaWNlKGluZGV4ICsgMSwgMCwgbmV3IFZhbGlkYXRlZFNvcnRSdWxlKCkpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX29uUnVsZUNvbHVtbktleUNoYW5nZShydWxlOiBWYWxpZGF0ZWRTb3J0UnVsZSwgY29sdW1uS2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgcnVsZS5jb2x1bW5LZXkgPSBjb2x1bW5LZXk7XG4gICAgICAgIHRoaXMuX3JlY2FsY3VsYXRlUmVzZXRBdmFpbGFiaWxpdHkoKTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX29uUnVsZURpcmVjdGlvbkNoYW5nZShydWxlOiBWYWxpZGF0ZWRTb3J0UnVsZSwgZGlyZWN0aW9uOiBTb3J0RGlyZWN0aW9uKTogdm9pZCB7XG4gICAgICAgIHJ1bGUuZGlyZWN0aW9uID0gZGlyZWN0aW9uO1xuICAgICAgICB0aGlzLl9yZWNhbGN1bGF0ZVJlc2V0QXZhaWxhYmlsaXR5KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfcmVjYWxjdWxhdGVSZXNldEF2YWlsYWJpbGl0eSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaGFzT25seU9uZUVtcHR5UnVsZSA9IHRoaXMucnVsZXMubGVuZ3RoID09PSAxICYmICF0aGlzLnJ1bGVzWzBdLmlzVmFsaWQ7XG4gICAgICAgIHRoaXMuX2lzUmVzZXRBdmFpbGFibGVTdWJqZWN0JC5uZXh0KCFoYXNPbmx5T25lRW1wdHlSdWxlKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF90cmFja0J5Q29sdW1uS2V5KGluZGV4OiBudW1iZXIsIHJ1bGU6IFZhbGlkYXRlZFNvcnRSdWxlKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiBydWxlLmNvbHVtbktleTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2luaXRpYXRlUnVsZXMoY29sbGVjdGlvblNvcnQ/OiBDb2xsZWN0aW9uU29ydFtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMucnVsZXMgPSB0aGlzLl9jcmVhdGVSdWxlcyhjb2xsZWN0aW9uU29ydCk7XG5cbiAgICAgICAgLy8gS2VlcCBhdCBsZWFzdCBvbmUgaXRlbSBpbiB0aGUgbGlzdFxuICAgICAgICBpZiAodGhpcy5ydWxlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMucnVsZXMucHVzaChuZXcgVmFsaWRhdGVkU29ydFJ1bGUoKSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9yZWNhbGN1bGF0ZVJlc2V0QXZhaWxhYmlsaXR5KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9jcmVhdGVSdWxlcyhjb2xsZWN0aW9uU29ydDogQ29sbGVjdGlvblNvcnRbXSA9IFtdKTogVmFsaWRhdGVkU29ydFJ1bGVbXSB7XG4gICAgICAgIHJldHVybiBjb2xsZWN0aW9uU29ydC5tYXAoKHsgZmllbGQsIGRpcmVjdGlvbiB9KTogVmFsaWRhdGVkU29ydFJ1bGUgPT4gbmV3IFZhbGlkYXRlZFNvcnRSdWxlKGZpZWxkLCBkaXJlY3Rpb24pKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dldENvbGxlY3Rpb25Tb3J0RnJvbVNvcnRSdWxlcyhydWxlcyA9IHRoaXMucnVsZXMpOiBDb2xsZWN0aW9uU29ydFtdIHtcbiAgICAgICAgcmV0dXJuIHJ1bGVzLmZpbHRlcih0aGlzLl9pc1J1bGVWYWxpZCkubWFwKFxuICAgICAgICAgICAgKHsgY29sdW1uS2V5LCBkaXJlY3Rpb24gfSk6IENvbGxlY3Rpb25Tb3J0ID0+ICh7XG4gICAgICAgICAgICAgICAgZmllbGQ6IGNvbHVtbktleSxcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZXRVbmlxdWVSdWxlcyhydWxlczogVmFsaWRhdGVkU29ydFJ1bGVbXSk6IFZhbGlkYXRlZFNvcnRSdWxlW10ge1xuICAgICAgICByZXR1cm4gZ2V0VW5pcXVlTGlzdFZhbHVlc0J5S2V5KHJ1bGVzLCAnY29sdW1uS2V5Jyk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pc1J1bGVWYWxpZCA9IChydWxlOiBWYWxpZGF0ZWRTb3J0UnVsZSk6IGJvb2xlYW4gPT4gcnVsZT8uaXNWYWxpZDtcbn1cblxuQFBpcGUoe1xuICAgIG5hbWU6ICdnZXRBdmFpbGFibGVTb3J0Q29sdW1ucycsXG4gICAgcHVyZTogZmFsc2UsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBHZXRBdmFpbGFibGVTb3J0Q29sdW1uc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHRyYW5zZm9ybShjb2x1bW5zOiBTb3J0RGlhbG9nQ29sdW1uW10sIHJ1bGVzOiBTb3J0UnVsZVtdLCBjdXJyZW50S2V5OiBzdHJpbmcgfCBudWxsKTogU29ydERpYWxvZ0NvbHVtbltdIHtcbiAgICAgICAgY29uc3QgdXNlZEtleXMgPSBuZXcgU2V0KHJ1bGVzLm1hcCgocikgPT4gci5jb2x1bW5LZXkpKTtcbiAgICAgICAgcmV0dXJuIGNvbHVtbnMuZmlsdGVyKChjKSA9PiAhdXNlZEtleXMuaGFzKGMua2V5KSB8fCBjdXJyZW50S2V5ID09PSBjLmtleSk7XG4gICAgfVxufVxuIiwiPGZkLWRpYWxvZyBjbGFzcz1cImZkcC10YWJsZS1wMTMtc29ydGluZy1kaWFsb2dcIj5cbiAgICA8ZmQtZGlhbG9nLWhlYWRlcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGZka1RlbXBsYXRlPVwiaGVhZGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGZkLWJhci1sZWZ0PlxuICAgICAgICAgICAgICAgIDxmZC1iYXItZWxlbWVudD5cbiAgICAgICAgICAgICAgICAgICAgPGg0IGZkLXRpdGxlIFtoZWFkZXJTaXplXT1cIjRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdwbGF0Zm9ybVRhYmxlLlAxM1NvcnREaWFsb2dIZWFkZXInIHwgZmRUcmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9oND5cbiAgICAgICAgICAgICAgICA8L2ZkLWJhci1lbGVtZW50PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGZkLWJhci1yaWdodD5cbiAgICAgICAgICAgICAgICA8ZmQtYmFyLWVsZW1lbnQ+XG4gICAgICAgICAgICAgICAgICAgIDxmZHAtdGFibGUtcmVzZXQtYnV0dG9uPjwvZmRwLXRhYmxlLXJlc2V0LWJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2ZkLWJhci1lbGVtZW50PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9mZC1kaWFsb2ctaGVhZGVyPlxuICAgIDxmZC1kaWFsb2ctYm9keT5cbiAgICAgICAgQGZvciAocnVsZSBvZiBydWxlczsgdHJhY2sgX3RyYWNrQnlDb2x1bW5LZXkoaSwgcnVsZSk7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic29ydC1yb3dcIj5cbiAgICAgICAgICAgICAgICA8ZmQtc2VsZWN0XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic29ydC1yb3dfX3NlbGVjdFwiXG4gICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJydWxlLmNvbHVtbktleVwiXG4gICAgICAgICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJfb25SdWxlQ29sdW1uS2V5Q2hhbmdlKHJ1bGUsICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3BsYXRmb3JtVGFibGUuUDEzU29ydERpYWxvZ05vbmVTZWxlY3RlZENvbHVtbicgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICBAZm9yIChjb2x1bW4gb2YgY29sdW1ucyB8IGdldEF2YWlsYWJsZVNvcnRDb2x1bW5zOiBydWxlcyA6IHJ1bGUuY29sdW1uS2V5OyB0cmFjayBjb2x1bW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBmZC1vcHRpb24gW3ZhbHVlXT1cImNvbHVtbi5rZXlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBjb2x1bW4ubGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2ZkLXNlbGVjdD5cbiAgICAgICAgICAgICAgICA8ZmQtc2VsZWN0XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic29ydC1yb3dfX3NlbGVjdFwiXG4gICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJydWxlLmRpcmVjdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJfb25SdWxlRGlyZWN0aW9uQ2hhbmdlKHJ1bGUsICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3BsYXRmb3JtVGFibGUuUDEzU29ydERpYWxvZ05vbmVTZWxlY3RlZFNvcnRpbmcnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGxpIGZkLW9wdGlvbiBbdmFsdWVdPVwiU09SVF9ESVJFQ1RJT04uQVNDXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyAncGxhdGZvcm1UYWJsZS5QMTNTb3J0RGlhbG9nU29ydE9yZGVyU2VsZWN0T3B0aW9uQXNjJyB8IGZkVHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDxsaSBmZC1vcHRpb24gW3ZhbHVlXT1cIlNPUlRfRElSRUNUSU9OLkRFU0NcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdwbGF0Zm9ybVRhYmxlLlAxM1NvcnREaWFsb2dTb3J0T3JkZXJTZWxlY3RPcHRpb25EZXNjJyB8IGZkVHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPC9mZC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNvcnQtcm93X19hY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZ2x5cGg9XCJzeXMtY2FuY2VsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3BsYXRmb3JtVGFibGUuUDEzU29ydERpYWxvZ1JlbW92ZVNvcnRCdG5UaXRsZScgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ3BsYXRmb3JtVGFibGUuUDEzU29ydERpYWxvZ1JlbW92ZVNvcnRCdG5UaXRsZScgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiX3JlbW92ZVJ1bGUocnVsZSlcIlxuICAgICAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgW2Zka0Rpc2FibGVkXT1cInJ1bGVzLmxlbmd0aCA9PT0gY29sdW1ucy5sZW5ndGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZ2x5cGg9XCJhZGRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCIncGxhdGZvcm1UYWJsZS5QMTNTb3J0RGlhbG9nQWRkTmV3U29ydEJ0blRpdGxlJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCIncGxhdGZvcm1UYWJsZS5QMTNTb3J0RGlhbG9nQWRkTmV3U29ydEJ0blRpdGxlJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfYWRkTmV3KGkpXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICA8L2ZkLWRpYWxvZy1ib2R5PlxuICAgIDxmZC1kaWFsb2ctZm9vdGVyPlxuICAgICAgICA8ZmQtYnV0dG9uLWJhclxuICAgICAgICAgICAgZmRUeXBlPVwiZW1waGFzaXplZFwiXG4gICAgICAgICAgICBbbGFiZWxdPVwiJ3BsYXRmb3JtVGFibGUuUDEzU29ydERpYWxvZ0NvbmZpcm1hdGlvbkJ0bkxhYmVsJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjb25maXJtKClcIlxuICAgICAgICA+PC9mZC1idXR0b24tYmFyPlxuICAgICAgICA8ZmQtYnV0dG9uLWJhclxuICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgZmRrSW5pdGlhbEZvY3VzXG4gICAgICAgICAgICBbbGFiZWxdPVwiJ3BsYXRmb3JtVGFibGUuUDEzU29ydERpYWxvZ0NhbmNlbEJ0bkxhYmVsJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjYW5jZWwoKVwiXG4gICAgICAgID48L2ZkLWJ1dHRvbi1iYXI+XG4gICAgPC9mZC1kaWFsb2ctZm9vdGVyPlxuPC9mZC1kaWFsb2c+XG4iXX0=
@@ -5,10 +5,10 @@ import * as i0 from "@angular/core";
5
5
  *
6
6
  */
7
7
  export class TableP13ColumnsComponent {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: TableP13ColumnsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: TableP13ColumnsComponent, isStandalone: true, selector: "fdp-table-p13-columns", ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TableP13ColumnsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: TableP13ColumnsComponent, isStandalone: true, selector: "fdp-table-p13-columns", ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: TableP13ColumnsComponent, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TableP13ColumnsComponent, decorators: [{
12
12
  type: Component,
13
13
  args: [{
14
14
  selector: 'fdp-table-p13-columns',
@@ -206,13 +206,13 @@ export class TableP13DialogComponent {
206
206
  this._tableSubscriptions.unsubscribe();
207
207
  this._tableSubscriptions = new Subscription();
208
208
  }
209
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: TableP13DialogComponent, deps: [{ token: i1.DialogService }], target: i0.ɵɵFactoryTarget.Component }); }
210
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: TableP13DialogComponent, isStandalone: true, selector: "fdp-table-p13-dialog", inputs: { table: "table" }, queries: [{ propertyName: "sort", first: true, predicate: TableP13SortComponent, descendants: true }, { propertyName: "filter", first: true, predicate: TableP13FilterComponent, descendants: true }, { propertyName: "group", first: true, predicate: TableP13GroupComponent, descendants: true }, { propertyName: "columns", first: true, predicate: TableP13ColumnsComponent, descendants: true }], ngImport: i0, template: '', isInline: true, styles: [":host{z-index:999}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
209
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TableP13DialogComponent, deps: [{ token: i1.DialogService }], target: i0.ɵɵFactoryTarget.Component }); }
210
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: TableP13DialogComponent, isStandalone: true, selector: "fdp-table-p13-dialog", inputs: { table: "table" }, queries: [{ propertyName: "sort", first: true, predicate: TableP13SortComponent, descendants: true }, { propertyName: "filter", first: true, predicate: TableP13FilterComponent, descendants: true }, { propertyName: "group", first: true, predicate: TableP13GroupComponent, descendants: true }, { propertyName: "columns", first: true, predicate: TableP13ColumnsComponent, descendants: true }], ngImport: i0, template: '', isInline: true, styles: [":host{z-index:999}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
211
211
  }
212
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: TableP13DialogComponent, decorators: [{
212
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TableP13DialogComponent, decorators: [{
213
213
  type: Component,
214
214
  args: [{ selector: 'fdp-table-p13-dialog', template: '', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, styles: [":host{z-index:999}\n"] }]
215
- }], ctorParameters: function () { return [{ type: i1.DialogService }]; }, propDecorators: { table: [{
215
+ }], ctorParameters: () => [{ type: i1.DialogService }], propDecorators: { table: [{
216
216
  type: Input
217
217
  }], sort: [{
218
218
  type: ContentChild,
@@ -227,4 +227,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
227
227
  type: ContentChild,
228
228
  args: [TableP13ColumnsComponent]
229
229
  }] } });
230
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcDEzLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvdGFibGUvY29tcG9uZW50cy90YWJsZS1wMTMtZGlhbG9nL3RhYmxlLXAxMy1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QyxPQUFPLEVBQWdCLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTNFLE9BQU8sRUFJSCxLQUFLLEVBR1IsTUFBTSx5Q0FBeUMsQ0FBQztBQUVqRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVuRSxPQUFPLEVBQThDLHlCQUF5QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDcEgsT0FBTyxFQUE0QywyQkFBMkIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hILE9BQU8sRUFBMEMsMEJBQTBCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNuSCxPQUFPLEVBQUUseUJBQXlCLEVBQXdDLE1BQU0sNkJBQTZCLENBQUM7OztBQUU5RyxNQUFNLFlBQVksR0FBaUI7SUFDL0IsaUJBQWlCLEVBQUUsSUFBSTtJQUN2QixlQUFlLEVBQUUsSUFBSTtJQUNyQixRQUFRLEVB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ckMsS0FBSztzQkFESixZQUFZO3VCQUFDLHNCQUFzQjtnQkFLcEMsT0FBTztzQkFETixZQUFZO3VCQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IERpYWxvZ0NvbmZpZywgRGlhbG9nU2VydmljZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9kaWFsb2cnO1xuXG5pbXBvcnQge1xuICAgIENvbGxlY3Rpb25GaWx0ZXIsXG4gICAgQ29sbGVjdGlvbkdyb3VwLFxuICAgIENvbGxlY3Rpb25Tb3J0LFxuICAgIFRhYmxlLFxuICAgIFRhYmxlQ29sdW1uLFxuICAgIFRhYmxlU3RhdGVcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS90YWJsZS1oZWxwZXJzJztcblxuaW1wb3J0IHsgVGFibGVQMTNDb2x1bW5zQ29tcG9uZW50IH0gZnJvbSAnLi90YWJsZS1wMTMtY29sdW1ucy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFibGVQMTNGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlLXAxMy1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYmxlUDEzR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlLXAxMy1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFibGVQMTNTb3J0Q29tcG9uZW50IH0gZnJvbSAnLi90YWJsZS1wMTMtc29ydC5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBDb2x1bW5zRGlhbG9nRGF0YSwgQ29sdW1uc0RpYWxvZ1Jlc3VsdERhdGEsIFAxM0NvbHVtbnNEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbHVtbnMvY29sdW1ucy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsdGVyRGlhbG9nRGF0YSwgRmlsdGVyRGlhbG9nUmVzdWx0RGF0YSwgUDEzRmlsdGVyaW5nRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9maWx0ZXJpbmcvZmlsdGVyaW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHcm91cERpYWxvZ0RhdGEsIEdyb3VwRGlhbG9nUmVzdWx0RGF0YSwgUDEzR3JvdXBpbmdEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2dyb3VwaW5nL2dyb3VwaW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQMTNTb3J0aW5nRGlhbG9nQ29tcG9uZW50LCBTb3J0RGlhbG9nRGF0YSwgU29ydERpYWxvZ1Jlc3VsdERhdGEgfSBmcm9tICcuL3NvcnRpbmcvc29ydGluZy5jb21wb25lbnQnO1xuXG5jb25zdCBkaWFsb2dDb25maWc6IERpYWxvZ0NvbmZpZyA9IHtcbiAgICByZXNwb25zaXZlUGFkZGluZzogdHJ1ZSxcbiAgICB2ZXJ0aWNhbFBhZGRpbmc6IHRydWUsXG4gICAgbWluV2lkdGg6ICczMHJlbScsXG4gICAgLyoqIDg4cHggaXQncyB0aGUgaGVhZGVyICsgZm9vdGVyIGhlaWdodCAqL1xuICAgIGJvZHlNaW5IZWlnaHQ6ICdjYWxjKDUwdmggLSA4OHB4KSdcbn07XG5cbi8qKlxuICogVmlldyBzZXR0aW5ncyBkaWFsb2cgY29tcG9uZW50LlxuICpcbiAqIFVzZWQgdG8gbGluayB2aWV3IHNldHRpbmdzIGZpbHRlcnMgb3B0aW9ucyB0byB0aGUgZ3JpZCB0YWJsZS5cbiAqXG4gKiBgYGBodG1sXG4gKiA8ZmRwLXRhYmxlICNteVRhYmxlPjwvZmRwLXRhYmxlPlxuICogLi4uXG4gKiA8ZmRwLXRhYmxlLXAxMy1kaWFsb2cgW3RhYmxlXT1cIm15VGFibGVcIj5cbiAqICAgPCEtLSBTb3J0IFBhbmVsIC0tPlxuICogICA8ZmRwLXRhYmxlLXAxMy1zb3J0PjwvZmRwLXRhYmxlLXAxMy1zb3J0PlxuICpcbiAqICAgPCEtLSBGaWx0ZXIgUGFuZWwgLS0+XG4gKiAgIDxmZHAtdGFibGUtcDEzLWZpbHRlcj48L2ZkcC10YWJsZS1wMTMtZmlsdGVyPlxuICpcbiAqICAgPCEtLSBHcm91cCBQYW5lbCAtLT5cbiAqICAgPGZkcC10YWJsZS1wMTMtZ3JvdXA+PC9mZHAtdGFibGUtcDEzLWdyb3VwPlxuICpcbiAqICAgPCEtLSBDb2x1bW5zIFBhbmVsIC0tPlxuICogICA8ZmRwLXRhYmxlLXAxMy1jb2x1bW5zPjwvZmRwLXRhYmxlLXAxMy1jb2x1bW5zPlxuICogPC9mZHAtdGFibGUtcDEzLWRpYWxvZz5cbiAqIGBgYFxuICogKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmRwLXRhYmxlLXAxMy1kaWFsb2cnLFxuICAgIHRlbXBsYXRlOiAnJyxcbiAgICBzdHlsZXM6IFtcbiAgICAgICAgYFxuICAgICAgICAgICAgOmhvc3Qge1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDk5OTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgYFxuICAgIF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZVAxM0RpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgLyoqIFJlZmVyZW5jZSB0byB0YWJsZSBjb21wb25lbnQuICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGFibGUodGFibGU6IFRhYmxlKSB7XG4gICAgICAgIHRoaXMuX3NldFRhYmxlKHRhYmxlKTtcbiAgICB9XG4gICAgZ2V0IHRhYmxlKCk6IFRhYmxlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RhYmxlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChUYWJsZVAxM1NvcnRDb21wb25lbnQpXG4gICAgc29ydDogVGFibGVQMTNTb3J0Q29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKFRhYmxlUDEzRmlsdGVyQ29tcG9uZW50KVxuICAgIGZpbHRlcjogVGFibGVQMTNGaWx0ZXJDb21wb25lbnQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGQoVGFibGVQMTNHcm91cENvbXBvbmVudClcbiAgICBncm91cDogVGFibGVQMTNHcm91cENvbXBvbmVudDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChUYWJsZVAxM0NvbHVtbnNDb21wb25lbnQpXG4gICAgY29sdW1uczogVGFibGVQMTNDb2x1bW5zQ29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF90YWJsZVN1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF90YWJsZTogVGFibGU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgX2RpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UpIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlRnJvbVRhYmxlKCk7XG4gICAgfVxuXG4gICAgLyoqIE9wZW4gU29ydCBTZXR0aW5ncyBEaWFsb2cgKi9cbiAgICBzaG93U29ydGluZ1NldHRpbmdzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBzdGF0ZSA9IHRoaXMuX2dldFRhYmxlU3RhdGUoKTtcbiAgICAgICAgY29uc3QgY29sdW1ucyA9IHRoaXMuX2dldFRhYmxlQ29sdW1ucygpLmZpbHRlcigoeyBzb3J0YWJsZSB9KSA9PiBzb3J0YWJsZSk7XG4gICAgICAgIGNvbnN0IHNvcnRCeSA9IHN0YXRlLnNvcnRCeTtcbiAgICAgICAgY29uc3QgZGlhbG9nRGF0YTogU29ydERpYWxvZ0RhdGEgPSB7XG4gICAgICAgICAgICBjb2x1bW5zOiBjb2x1bW5zLm1hcCgoeyBsYWJlbCwga2V5IH0pID0+ICh7IGxhYmVsLCBrZXkgfSkpLFxuICAgICAgICAgICAgY29sbGVjdGlvblNvcnQ6IHNvcnRCeVxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuX2RpYWxvZ1NlcnZpY2Uub3BlbihcbiAgICAgICAgICAgIFAxM1NvcnRpbmdEaWFsb2dDb21wb25lbnQsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgLi4uZGlhbG9nQ29uZmlnLFxuICAgICAgICAgICAgICAgIGRhdGE6IGRpYWxvZ0RhdGFcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0aGlzLnRhYmxlLmluamVjdG9yXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICAgICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWRcbiAgICAgICAgICAgICAgICAucGlwZShmaWx0ZXIoKHJlc3VsdCkgPT4gISFyZXN1bHQpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHsgY29sbGVjdGlvblNvcnQgfTogU29ydERpYWxvZ1Jlc3VsdERhdGEpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fYXBwbHlTb3J0aW5nKGNvbGxlY3Rpb25Tb3J0KTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKiBPcGVuIEZpbHRlcmluZyBTZXR0aW5ncyBEaWFsb2cgKi9cbiAgICBzaG93RmlsdGVyaW5nU2V0dGluZ3MoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHN0YXRlID0gdGhpcy5fZ2V0VGFibGVTdGF0ZSgpO1xuICAgICAgICBjb25zdCBjb2x1bW5zID0gdGhpcy5fZ2V0VGFibGVDb2x1bW5zKCk7XG4gICAgICAgIGNvbnN0IGZpbHRlckJ5ID0gc3RhdGU/LmZpbHRlckJ5O1xuICAgICAgICBjb25zdCBkaWFsb2dEYXRhOiBGaWx0ZXJEaWFsb2dEYXRhID0ge1xuICAgICAgICAgICAgY29sdW1uczogY29sdW1ucy5tYXAoKHsgbGFiZWwsIGtleSwgZGF0YVR5cGUsIGZpbHRlcmFibGUgfSkgPT4gKHsgbGFiZWwsIGtleSwgZGF0YVR5cGUsIGZpbHRlcmFibGUgfSkpLFxuICAgICAgICAgICAgY29sbGVjdGlvbkZpbHRlcjogZmlsdGVyQnlcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLl9kaWFsb2dTZXJ2aWNlLm9wZW4oXG4gICAgICAgICAgICBQMTNGaWx0ZXJpbmdEaWFsb2dDb21wb25lbnQsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgLi4uZGlhbG9nQ29uZmlnLFxuICAgICAgICAgICAgICAgIGRpc2FibGVQYWRkaW5nczogdHJ1ZSxcbiAgICAgICAgICAgICAgICB3aWR0aDogJzUwcmVtJyxcbiAgICAgICAgICAgICAgICBkYXRhOiBkaWFsb2dEYXRhXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdGhpcy50YWJsZS5pbmplY3RvclxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkXG4gICAgICAgICAgICAgICAgLnBpcGUoZmlsdGVyKChyZXN1bHQpID0+ICEhcmVzdWx0KSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCh7IGNvbGxlY3Rpb25GaWx0ZXIgfTogRmlsdGVyRGlhbG9nUmVzdWx0RGF0YSkgPT4gdGhpcy5fYXBwbHlGaWx0ZXJpbmcoY29sbGVjdGlvbkZpbHRlcikpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIE9wZW4gR3JvdXBpbmcgU2V0dGluZ3MgRGlhbG9nICovXG4gICAgc2hvd0dyb3VwaW5nU2V0dGluZ3MoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHN0YXRlID0gdGhpcy5fZ2V0VGFibGVTdGF0ZSgpO1xuICAgICAgICBjb25zdCBjb2x1bW5zID0gdGhpcy5fZ2V0VGFibGVDb2x1bW5zKCk7XG4gICAgICAgIGNvbnN0IHZpc2libGVDb2x1bW5zID0gc3RhdGUuY29sdW1ucztcbiAgICAgICAgY29uc3QgZ3JvdXBCeSA9IHN0YXRlLmdyb3VwQnk7XG4gICAgICAgIGNvbnN0IGRpYWxvZ0RhdGE6IEdyb3VwRGlhbG9nRGF0YSA9IHtcbiAgICAgICAgICAgIGNvbHVtbnM6IGNvbHVtbnNcbiAgICAgICAgICAgICAgICAvLyBXZSBjYW4gZ3JvdXAgYnkgdmlzaWJsZSBjb2x1bW5zIG9ubHlcbiAgICAgICAgICAgICAgICAuZmlsdGVyKCh7IG5hbWUgfSkgPT4gdmlzaWJsZUNvbHVtbnMuaW5jbHVkZXMobmFtZSkpXG4gICAgICAgICAgICAgICAgLmZpbHRlcigoeyBncm91cGFibGUgfSkgPT4gZ3JvdXBhYmxlKVxuICAgICAgICAgICAgICAgIC5tYXAoKHsgbGFiZWwsIGtleSB9KSA9PiAoeyBsYWJlbCwga2V5IH0pKSxcbiAgICAgICAgICAgIGNvbGxlY3Rpb25Hcm91cDogZ3JvdXBCeVxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuX2RpYWxvZ1NlcnZpY2Uub3BlbihcbiAgICAgICAgICAgIFAxM0dyb3VwaW5nRGlhbG9nQ29tcG9uZW50LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIC4uLmRpYWxvZ0NvbmZpZyxcbiAgICAgICAgICAgICAgICBkYXRhOiBkaWFsb2dEYXRhXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdGhpcy50YWJsZS5pbmplY3RvclxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkXG4gICAgICAgICAgICAgICAgLnBpcGUoZmlsdGVyKChyZXN1bHQpID0+ICEhcmVzdWx0KSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCh7IGNvbGxlY3Rpb25Hcm91cCB9OiBHcm91cERpYWxvZ1Jlc3VsdERhdGEpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fYXBwbHlHcm91cGluZyhjb2xsZWN0aW9uR3JvdXApO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIE9wZW4gQ29sdW1ucyBTZXR0aW5ncyBEaWFsb2cgKi9cbiAgICBzaG93Q29sdW1uc1NldHRpbmdzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBzdGF0ZSA9IHRoaXMuX2dldFRhYmxlU3RhdGUoKTtcbiAgICAgICAgY29uc3QgY29sdW1ucyA9IHRoaXMuX2dldFRhYmxlQ29sdW1ucygpO1xuICAgICAgICBjb25zdCB2aXNpYmxlQ29sdW1ucyA9IHN0YXRlLmNvbHVtbnM7XG4gICAgICAgIGNvbnN0IGRpYWxvZ0RhdGE6IENvbHVtbnNEaWFsb2dEYXRhID0ge1xuICAgICAgICAgICAgYXZhaWxhYmxlQ29sdW1uczogY29sdW1ucy5tYXAoKHsgbGFiZWwsIG5hbWUgfSkgPT4gKHsgbGFiZWwsIGtleTogbmFtZSB9KSksXG4gICAgICAgICAgICB2aXNpYmxlQ29sdW1uc1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuX2RpYWxvZ1NlcnZpY2Uub3BlbihcbiAgICAgICAgICAgIFAxM0NvbHVtbnNEaWFsb2dDb21wb25lbnQsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgLi4uZGlhbG9nQ29uZmlnLFxuICAgICAgICAgICAgICAgIGRpc2FibGVQYWRkaW5nczogdHJ1ZSxcbiAgICAgICAgICAgICAgICBtaW5XaWR0aDogJzM1cmVtJyxcbiAgICAgICAgICAgICAgICBkYXRhOiBkaWFsb2dEYXRhXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdGhpcy50YWJsZS5pbmplY3RvclxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkXG4gICAgICAgICAgICAgICAgLnBpcGUoZmlsdGVyKChyZXN1bHQpID0+ICEhcmVzdWx0KSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCh7IHZpc2libGVDb2x1bW5zOiByZXN1bHQgfTogQ29sdW1uc0RpYWxvZ1Jlc3VsdERhdGEpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fYXBwbHlDb2x1bW5zKHJlc3VsdCk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NldFRhYmxlKHRhYmxlOiBUYWJsZSk6IHZvaWQge1xuICAgICAgICB0aGlzLl90YWJsZSA9IHRhYmxlO1xuXG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlRnJvbVRhYmxlKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuX3RhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLl9zdWJzY3JpYmVUb1RhYmxlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3N1YnNjcmliZVRvVGFibGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2xpc3RlblRvVGFibGVUcmlnZ2Vyc1RvT3BlbkRpYWxvZ3MoKTtcbiAgICAgICAgdGhpcy5fbGlzdGVuVG9UYWJsZUNvbHVtbnMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2xpc3RlblRvVGFibGVUcmlnZ2Vyc1RvT3BlbkRpYWxvZ3MoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlU3Vic2NyaXB0aW9ucy5hZGQodGhpcy5fdGFibGUub3BlblRhYmxlU29ydFNldHRpbmdzLnN1YnNjcmliZSgoKSA9PiB0aGlzLnNob3dTb3J0aW5nU2V0dGluZ3MoKSkpO1xuICAgICAgICB0aGlzLl90YWJsZVN1YnNjcmlwdGlvbnMuYWRkKHRoaXMuX3RhYmxlLm9wZW5UYWJsZUZpbHRlclNldHRpbmdzLnN1YnNjcmliZSgoKSA9PiB0aGlzLnNob3dGaWx0ZXJpbmdTZXR0aW5ncygpKSk7XG4gICAgICAgIHRoaXMuX3RhYmxlU3Vic2NyaXB0aW9ucy5hZGQodGhpcy5fdGFibGUub3BlblRhYmxlR3JvdXBTZXR0aW5ncy5zdWJzY3JpYmUoKCkgPT4gdGhpcy5zaG93R3JvdXBpbmdTZXR0aW5ncygpKSk7XG4gICAgICAgIHRoaXMuX3RhYmxlU3Vic2NyaXB0aW9ucy5hZGQodGhpcy5fdGFibGUub3BlblRhYmxlQ29sdW1uU2V0dGluZ3Muc3Vic2NyaWJlKCgpID0+IHRoaXMuc2hvd0NvbHVtbnNTZXR0aW5ncygpKSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9saXN0ZW5Ub1RhYmxlQ29sdW1ucygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGFibGVTdWJzY3JpcHRpb25zLmFkZChcbiAgICAgICAgICAgIHRoaXMuX3RhYmxlLnRhYmxlQ29sdW1uc1N0cmVhbS5zdWJzY3JpYmUoKGNvbHVtbnM6IFRhYmxlQ29sdW1uW10pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl90YWJsZT8uc2hvd1NvcnRTZXR0aW5nc0luVG9vbGJhcihjb2x1bW5zLnNvbWUoKHsgc29ydGFibGUgfSkgPT4gc29ydGFibGUpKTtcblxuICAgICAgICAgICAgICAgIHRoaXMuX3RhYmxlPy5zaG93R3JvdXBTZXR0aW5nc0luVG9vbGJhcihjb2x1bW5zLnNvbWUoKHsgZ3JvdXBhYmxlIH0pID0+IGdyb3VwYWJsZSkpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5fdGFibGU/LnNob3dDb2x1bW5TZXR0aW5nc0luVG9vbGJhcihjb2x1bW5zLmxlbmd0aCA+IDApO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5fdGFibGU/LnNob3dGaWx0ZXJTZXR0aW5nc0luVG9vbGJhcihjb2x1bW5zLnNvbWUoKHsgZmlsdGVyYWJsZSB9KSA9PiBmaWx0ZXJhYmxlKSk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLl90YWJsZT8uc2V0SGVhZGVyQ29sdW1uRmlsdGVyaW5nRGlzYWJsZWQoY29sdW1ucy5zb21lKCh7IGZpbHRlcmFibGUgfSkgPT4gZmlsdGVyYWJsZSkpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dldFRhYmxlU3RhdGUoKTogVGFibGVTdGF0ZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl90YWJsZT8uZ2V0VGFibGVTdGF0ZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0VGFibGVDb2x1bW5zKCk6IFRhYmxlQ29sdW1uW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGFibGU/LmdldFRhYmxlQ29sdW1ucygpIHx8IFtdO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfYXBwbHlTb3J0aW5nKGNvbGxlY3Rpb25Tb3J0OiBDb2xsZWN0aW9uU29ydFtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlPy5zb3J0KGNvbGxlY3Rpb25Tb3J0KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2FwcGx5RmlsdGVyaW5nKGZpbHRlcnM6IENvbGxlY3Rpb25GaWx0ZXJbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLl90YWJsZT8uZmlsdGVyKGZpbHRlcnMpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfYXBwbHlHcm91cGluZyhjb2xsZWN0aW9uR3JvdXA6IENvbGxlY3Rpb25Hcm91cFtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlPy5ncm91cChjb2xsZWN0aW9uR3JvdXApO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfYXBwbHlDb2x1bW5zKGNvbHVtbnM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlPy5zZXRDb2x1bW5zKGNvbHVtbnMpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdW5zdWJzY3JpYmVGcm9tVGFibGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlU3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl90YWJsZVN1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gICAgfVxufVxuIl19
230
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcDEzLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvdGFibGUvY29tcG9uZW50cy90YWJsZS1wMTMtZGlhbG9nL3RhYmxlLXAxMy1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QyxPQUFPLEVBQWdCLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTNFLE9BQU8sRUFJSCxLQUFLLEVBR1IsTUFBTSx5Q0FBeUMsQ0FBQztBQUVqRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVuRSxPQUFPLEVBQThDLHlCQUF5QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDcEgsT0FBTyxFQUE0QywyQkFBMkIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hILE9BQU8sRUFBMEMsMEJBQTBCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNuSCxPQUFPLEVBQUUseUJBQXlCLEVBQXdDLE1BQU0sNkJBQTZCLENBQUM7OztBQUU5RyxNQUFNLFlBQVksR0FBaUI7SUFDL0IsaUJBQWlCLEVBQUUsSUFBSTtJQUN2QixlQUFlLEVBQUUsSUFBSTtJQUNyQixRQUFRLEVBQUUsT0FBTztJQUNqQiwyQ0FBMkM7SUFDM0MsYUFBYSxFQUFFLG1CQUFtQjtDQUNyQyxDQUFDO0FBRUY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FzQks7QUFjTCxNQUFNLE9BQU8sdUJBQXVCO0lBQ2hDLG9DQUFvQztJQUNwQyxJQUNJLEtBQUssQ0FBQyxLQUFZO1FBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBMkJELGNBQWM7SUFDZCxZQUE2QixjQUE2QjtRQUE3QixtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQVYxRCxjQUFjO1FBQ04sbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTVDLGNBQWM7UUFDTix3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBTVksQ0FBQztJQUU5RCxjQUFjO0lBQ2QsV0FBVztRQUNQLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELGdDQUFnQztJQUNoQyxtQkFBbUI7UUFDZixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDcEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0UsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUM1QixNQUFNLFVBQVUsR0FBbUI7WUFDL0IsT0FBTyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQzFELGNBQWMsRUFBRSxNQUFNO1NBQ3pCLENBQUM7UUFFRixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDdEMseUJBQXlCLEVBQ3pCO1lBQ0ksR0FBRyxZQUFZO1lBQ2YsSUFBSSxFQUFFLFVBQVU7U0FDbkIsRUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FDdEIsQ0FBQztRQUVGLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUNuQixTQUFTLENBQUMsV0FBVzthQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDbEMsU0FBUyxDQUFDLENBQUMsRUFBRSxjQUFjLEVBQXdCLEVBQUUsRUFBRTtZQUNwRCxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUNULENBQUM7SUFDTixDQUFDO0lBRUQscUNBQXFDO0lBQ3JDLHFCQUFxQjtRQUNqQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDcEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEMsTUFBTSxRQUFRLEdBQUcsS0FBSyxFQUFFLFFBQVEsQ0FBQztRQUNqQyxNQUFNLFVBQVUsR0FBcUI7WUFDakMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztZQUN0RyxnQkFBZ0IsRUFBRSxRQUFRO1NBQzdCLENBQUM7UUFFRixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDdEMsMkJBQTJCLEVBQzNCO1lBQ0ksR0FBRyxZQUFZO1lBQ2YsZUFBZSxFQUFFLElBQUk7WUFDckIsS0FBSyxFQUFFLE9BQU87WUFDZCxJQUFJLEVBQUUsVUFBVTtTQUNuQixFQUNELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUN0QixDQUFDO1FBRUYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQ25CLFNBQVMsQ0FBQyxXQUFXO2FBQ2hCLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUNsQyxTQUFTLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixFQUEwQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FDM0csQ0FBQztJQUNOLENBQUM7SUFFRCxvQ0FBb0M7SUFDcEMsb0JBQW9CO1FBQ2hCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNwQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QyxNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQ3JDLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDOUIsTUFBTSxVQUFVLEdBQW9CO1lBQ2hDLE9BQU8sRUFBRSxPQUFPO2dCQUNaLHVDQUF1QztpQkFDdEMsTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDbkQsTUFBTSxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDO2lCQUNwQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQzlDLGVBQWUsRUFBRSxPQUFPO1NBQzNCLENBQUM7UUFFRixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDdEMsMEJBQTBCLEVBQzFCO1lBQ0ksR0FBRyxZQUFZO1lBQ2YsSUFBSSxFQUFFLFVBQVU7U0FDbkIsRUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FDdEIsQ0FBQztRQUVGLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUNuQixTQUFTLENBQUMsV0FBVzthQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDbEMsU0FBUyxDQUFDLENBQUMsRUFBRSxlQUFlLEVBQXlCLEVBQUUsRUFBRTtZQUN0RCxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUNULENBQUM7SUFDTixDQUFDO0lBRUQsbUNBQW1DO0lBQ25DLG1CQUFtQjtRQUNmLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNwQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QyxNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQ3JDLE1BQU0sVUFBVSxHQUFzQjtZQUNsQyxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFDMUUsY0FBYztTQUNqQixDQUFDO1FBRUYsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQ3RDLHlCQUF5QixFQUN6QjtZQUNJLEdBQUcsWUFBWTtZQUNmLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLFFBQVEsRUFBRSxPQUFPO1lBQ2pCLElBQUksRUFBRSxVQUFVO1NBQ25CLEVBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQ3RCLENBQUM7UUFFRixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FDbkIsU0FBUyxDQUFDLFdBQVc7YUFDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ2xDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBMkIsRUFBRSxFQUFFO1lBQy9ELElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQ1QsQ0FBQztJQUNOLENBQUM7SUFFRCxjQUFjO0lBQ04sU0FBUyxDQUFDLEtBQVk7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFFcEIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFFN0IsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2IsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDNUI7SUFDTCxDQUFDO0lBRUQsY0FBYztJQUNOLGlCQUFpQjtRQUNyQixJQUFJLENBQUMsbUNBQW1DLEVBQUUsQ0FBQztRQUMzQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsY0FBYztJQUNOLG1DQUFtQztRQUN2QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM1RyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNoSCxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM5RyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNsSCxDQUFDO0lBRUQsY0FBYztJQUNOLHFCQUFxQjtRQUN6QixJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQXNCLEVBQUUsRUFBRTtZQUNoRSxJQUFJLENBQUMsTUFBTSxFQUFFLHlCQUF5QixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBRWpGLElBQUksQ0FBQyxNQUFNLEVBQUUsMEJBQTBCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFFcEYsSUFBSSxDQUFDLE1BQU0sRUFBRSwyQkFBMkIsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBRTdELElBQUksQ0FBQyxNQUFNLEVBQUUsMkJBQTJCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7WUFFdkYsSUFBSSxDQUFDLE1BQU0sRUFBRSxnQ0FBZ0MsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNoRyxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQztJQUVELGNBQWM7SUFDTixjQUFjO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsY0FBYztJQUNOLGdCQUFnQjtRQUNwQixPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFRCxjQUFjO0lBQ04sYUFBYSxDQUFDLGNBQWdDO1FBQ2xELElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxjQUFjO0lBQ04sZUFBZSxDQUFDLE9BQTJCO1FBQy9DLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxjQUFjO0lBQ04sY0FBYyxDQUFDLGVBQWtDO1FBQ3JELElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxjQUFjO0lBQ04sYUFBYSxDQUFDLE9BQWlCO1FBQ25DLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxjQUFjO0lBQ04scUJBQXFCO1FBQ3pCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUNsRCxDQUFDOzhHQS9PUSx1QkFBdUI7a0dBQXZCLHVCQUF1Qiw4SUFXbEIscUJBQXFCLHlFQUlyQix1QkFBdUIsd0VBSXZCLHNCQUFzQiwwRUFJdEIsd0JBQXdCLGdEQWxDNUIsRUFBRTs7MkZBV0gsdUJBQXVCO2tCQWJuQyxTQUFTOytCQUNJLHNCQUFzQixZQUN0QixFQUFFLG1CQVFLLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSTtrRkFLWixLQUFLO3NCQURSLEtBQUs7Z0JBVU4sSUFBSTtzQkFESCxZQUFZO3VCQUFDLHFCQUFxQjtnQkFLbkMsTUFBTTtzQkFETCxZQUFZO3VCQUFDLHVCQUF1QjtnQkFLckMsS0FBSztzQkFESixZQUFZO3VCQUFDLHNCQUFzQjtnQkFLcEMsT0FBTztzQkFETixZQUFZO3VCQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IERpYWxvZ0NvbmZpZywgRGlhbG9nU2VydmljZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9kaWFsb2cnO1xuXG5pbXBvcnQge1xuICAgIENvbGxlY3Rpb25GaWx0ZXIsXG4gICAgQ29sbGVjdGlvbkdyb3VwLFxuICAgIENvbGxlY3Rpb25Tb3J0LFxuICAgIFRhYmxlLFxuICAgIFRhYmxlQ29sdW1uLFxuICAgIFRhYmxlU3RhdGVcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS90YWJsZS1oZWxwZXJzJztcblxuaW1wb3J0IHsgVGFibGVQMTNDb2x1bW5zQ29tcG9uZW50IH0gZnJvbSAnLi90YWJsZS1wMTMtY29sdW1ucy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFibGVQMTNGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlLXAxMy1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYmxlUDEzR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlLXAxMy1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFibGVQMTNTb3J0Q29tcG9uZW50IH0gZnJvbSAnLi90YWJsZS1wMTMtc29ydC5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBDb2x1bW5zRGlhbG9nRGF0YSwgQ29sdW1uc0RpYWxvZ1Jlc3VsdERhdGEsIFAxM0NvbHVtbnNEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbHVtbnMvY29sdW1ucy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsdGVyRGlhbG9nRGF0YSwgRmlsdGVyRGlhbG9nUmVzdWx0RGF0YSwgUDEzRmlsdGVyaW5nRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9maWx0ZXJpbmcvZmlsdGVyaW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHcm91cERpYWxvZ0RhdGEsIEdyb3VwRGlhbG9nUmVzdWx0RGF0YSwgUDEzR3JvdXBpbmdEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2dyb3VwaW5nL2dyb3VwaW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQMTNTb3J0aW5nRGlhbG9nQ29tcG9uZW50LCBTb3J0RGlhbG9nRGF0YSwgU29ydERpYWxvZ1Jlc3VsdERhdGEgfSBmcm9tICcuL3NvcnRpbmcvc29ydGluZy5jb21wb25lbnQnO1xuXG5jb25zdCBkaWFsb2dDb25maWc6IERpYWxvZ0NvbmZpZyA9IHtcbiAgICByZXNwb25zaXZlUGFkZGluZzogdHJ1ZSxcbiAgICB2ZXJ0aWNhbFBhZGRpbmc6IHRydWUsXG4gICAgbWluV2lkdGg6ICczMHJlbScsXG4gICAgLyoqIDg4cHggaXQncyB0aGUgaGVhZGVyICsgZm9vdGVyIGhlaWdodCAqL1xuICAgIGJvZHlNaW5IZWlnaHQ6ICdjYWxjKDUwdmggLSA4OHB4KSdcbn07XG5cbi8qKlxuICogVmlldyBzZXR0aW5ncyBkaWFsb2cgY29tcG9uZW50LlxuICpcbiAqIFVzZWQgdG8gbGluayB2aWV3IHNldHRpbmdzIGZpbHRlcnMgb3B0aW9ucyB0byB0aGUgZ3JpZCB0YWJsZS5cbiAqXG4gKiBgYGBodG1sXG4gKiA8ZmRwLXRhYmxlICNteVRhYmxlPjwvZmRwLXRhYmxlPlxuICogLi4uXG4gKiA8ZmRwLXRhYmxlLXAxMy1kaWFsb2cgW3RhYmxlXT1cIm15VGFibGVcIj5cbiAqICAgPCEtLSBTb3J0IFBhbmVsIC0tPlxuICogICA8ZmRwLXRhYmxlLXAxMy1zb3J0PjwvZmRwLXRhYmxlLXAxMy1zb3J0PlxuICpcbiAqICAgPCEtLSBGaWx0ZXIgUGFuZWwgLS0+XG4gKiAgIDxmZHAtdGFibGUtcDEzLWZpbHRlcj48L2ZkcC10YWJsZS1wMTMtZmlsdGVyPlxuICpcbiAqICAgPCEtLSBHcm91cCBQYW5lbCAtLT5cbiAqICAgPGZkcC10YWJsZS1wMTMtZ3JvdXA+PC9mZHAtdGFibGUtcDEzLWdyb3VwPlxuICpcbiAqICAgPCEtLSBDb2x1bW5zIFBhbmVsIC0tPlxuICogICA8ZmRwLXRhYmxlLXAxMy1jb2x1bW5zPjwvZmRwLXRhYmxlLXAxMy1jb2x1bW5zPlxuICogPC9mZHAtdGFibGUtcDEzLWRpYWxvZz5cbiAqIGBgYFxuICogKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmRwLXRhYmxlLXAxMy1kaWFsb2cnLFxuICAgIHRlbXBsYXRlOiAnJyxcbiAgICBzdHlsZXM6IFtcbiAgICAgICAgYFxuICAgICAgICAgICAgOmhvc3Qge1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDk5OTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgYFxuICAgIF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZVAxM0RpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgLyoqIFJlZmVyZW5jZSB0byB0YWJsZSBjb21wb25lbnQuICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGFibGUodGFibGU6IFRhYmxlKSB7XG4gICAgICAgIHRoaXMuX3NldFRhYmxlKHRhYmxlKTtcbiAgICB9XG4gICAgZ2V0IHRhYmxlKCk6IFRhYmxlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RhYmxlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChUYWJsZVAxM1NvcnRDb21wb25lbnQpXG4gICAgc29ydDogVGFibGVQMTNTb3J0Q29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKFRhYmxlUDEzRmlsdGVyQ29tcG9uZW50KVxuICAgIGZpbHRlcjogVGFibGVQMTNGaWx0ZXJDb21wb25lbnQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGQoVGFibGVQMTNHcm91cENvbXBvbmVudClcbiAgICBncm91cDogVGFibGVQMTNHcm91cENvbXBvbmVudDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChUYWJsZVAxM0NvbHVtbnNDb21wb25lbnQpXG4gICAgY29sdW1uczogVGFibGVQMTNDb2x1bW5zQ29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF90YWJsZVN1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF90YWJsZTogVGFibGU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgX2RpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UpIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlRnJvbVRhYmxlKCk7XG4gICAgfVxuXG4gICAgLyoqIE9wZW4gU29ydCBTZXR0aW5ncyBEaWFsb2cgKi9cbiAgICBzaG93U29ydGluZ1NldHRpbmdzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBzdGF0ZSA9IHRoaXMuX2dldFRhYmxlU3RhdGUoKTtcbiAgICAgICAgY29uc3QgY29sdW1ucyA9IHRoaXMuX2dldFRhYmxlQ29sdW1ucygpLmZpbHRlcigoeyBzb3J0YWJsZSB9KSA9PiBzb3J0YWJsZSk7XG4gICAgICAgIGNvbnN0IHNvcnRCeSA9IHN0YXRlLnNvcnRCeTtcbiAgICAgICAgY29uc3QgZGlhbG9nRGF0YTogU29ydERpYWxvZ0RhdGEgPSB7XG4gICAgICAgICAgICBjb2x1bW5zOiBjb2x1bW5zLm1hcCgoeyBsYWJlbCwga2V5IH0pID0+ICh7IGxhYmVsLCBrZXkgfSkpLFxuICAgICAgICAgICAgY29sbGVjdGlvblNvcnQ6IHNvcnRCeVxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuX2RpYWxvZ1NlcnZpY2Uub3BlbihcbiAgICAgICAgICAgIFAxM1NvcnRpbmdEaWFsb2dDb21wb25lbnQsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgLi4uZGlhbG9nQ29uZmlnLFxuICAgICAgICAgICAgICAgIGRhdGE6IGRpYWxvZ0RhdGFcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0aGlzLnRhYmxlLmluamVjdG9yXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICAgICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWRcbiAgICAgICAgICAgICAgICAucGlwZShmaWx0ZXIoKHJlc3VsdCkgPT4gISFyZXN1bHQpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHsgY29sbGVjdGlvblNvcnQgfTogU29ydERpYWxvZ1Jlc3VsdERhdGEpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fYXBwbHlTb3J0aW5nKGNvbGxlY3Rpb25Tb3J0KTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKiBPcGVuIEZpbHRlcmluZyBTZXR0aW5ncyBEaWFsb2cgKi9cbiAgICBzaG93RmlsdGVyaW5nU2V0dGluZ3MoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHN0YXRlID0gdGhpcy5fZ2V0VGFibGVTdGF0ZSgpO1xuICAgICAgICBjb25zdCBjb2x1bW5zID0gdGhpcy5fZ2V0VGFibGVDb2x1bW5zKCk7XG4gICAgICAgIGNvbnN0IGZpbHRlckJ5ID0gc3RhdGU/LmZpbHRlckJ5O1xuICAgICAgICBjb25zdCBkaWFsb2dEYXRhOiBGaWx0ZXJEaWFsb2dEYXRhID0ge1xuICAgICAgICAgICAgY29sdW1uczogY29sdW1ucy5tYXAoKHsgbGFiZWwsIGtleSwgZGF0YVR5cGUsIGZpbHRlcmFibGUgfSkgPT4gKHsgbGFiZWwsIGtleSwgZGF0YVR5cGUsIGZpbHRlcmFibGUgfSkpLFxuICAgICAgICAgICAgY29sbGVjdGlvbkZpbHRlcjogZmlsdGVyQnlcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLl9kaWFsb2dTZXJ2aWNlLm9wZW4oXG4gICAgICAgICAgICBQMTNGaWx0ZXJpbmdEaWFsb2dDb21wb25lbnQsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgLi4uZGlhbG9nQ29uZmlnLFxuICAgICAgICAgICAgICAgIGRpc2FibGVQYWRkaW5nczogdHJ1ZSxcbiAgICAgICAgICAgICAgICB3aWR0aDogJzUwcmVtJyxcbiAgICAgICAgICAgICAgICBkYXRhOiBkaWFsb2dEYXRhXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdGhpcy50YWJsZS5pbmplY3RvclxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkXG4gICAgICAgICAgICAgICAgLnBpcGUoZmlsdGVyKChyZXN1bHQpID0+ICEhcmVzdWx0KSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCh7IGNvbGxlY3Rpb25GaWx0ZXIgfTogRmlsdGVyRGlhbG9nUmVzdWx0RGF0YSkgPT4gdGhpcy5fYXBwbHlGaWx0ZXJpbmcoY29sbGVjdGlvbkZpbHRlcikpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIE9wZW4gR3JvdXBpbmcgU2V0dGluZ3MgRGlhbG9nICovXG4gICAgc2hvd0dyb3VwaW5nU2V0dGluZ3MoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHN0YXRlID0gdGhpcy5fZ2V0VGFibGVTdGF0ZSgpO1xuICAgICAgICBjb25zdCBjb2x1bW5zID0gdGhpcy5fZ2V0VGFibGVDb2x1bW5zKCk7XG4gICAgICAgIGNvbnN0IHZpc2libGVDb2x1bW5zID0gc3RhdGUuY29sdW1ucztcbiAgICAgICAgY29uc3QgZ3JvdXBCeSA9IHN0YXRlLmdyb3VwQnk7XG4gICAgICAgIGNvbnN0IGRpYWxvZ0RhdGE6IEdyb3VwRGlhbG9nRGF0YSA9IHtcbiAgICAgICAgICAgIGNvbHVtbnM6IGNvbHVtbnNcbiAgICAgICAgICAgICAgICAvLyBXZSBjYW4gZ3JvdXAgYnkgdmlzaWJsZSBjb2x1bW5zIG9ubHlcbiAgICAgICAgICAgICAgICAuZmlsdGVyKCh7IG5hbWUgfSkgPT4gdmlzaWJsZUNvbHVtbnMuaW5jbHVkZXMobmFtZSkpXG4gICAgICAgICAgICAgICAgLmZpbHRlcigoeyBncm91cGFibGUgfSkgPT4gZ3JvdXBhYmxlKVxuICAgICAgICAgICAgICAgIC5tYXAoKHsgbGFiZWwsIGtleSB9KSA9PiAoeyBsYWJlbCwga2V5IH0pKSxcbiAgICAgICAgICAgIGNvbGxlY3Rpb25Hcm91cDogZ3JvdXBCeVxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuX2RpYWxvZ1NlcnZpY2Uub3BlbihcbiAgICAgICAgICAgIFAxM0dyb3VwaW5nRGlhbG9nQ29tcG9uZW50LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIC4uLmRpYWxvZ0NvbmZpZyxcbiAgICAgICAgICAgICAgICBkYXRhOiBkaWFsb2dEYXRhXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdGhpcy50YWJsZS5pbmplY3RvclxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkXG4gICAgICAgICAgICAgICAgLnBpcGUoZmlsdGVyKChyZXN1bHQpID0+ICEhcmVzdWx0KSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCh7IGNvbGxlY3Rpb25Hcm91cCB9OiBHcm91cERpYWxvZ1Jlc3VsdERhdGEpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fYXBwbHlHcm91cGluZyhjb2xsZWN0aW9uR3JvdXApO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIE9wZW4gQ29sdW1ucyBTZXR0aW5ncyBEaWFsb2cgKi9cbiAgICBzaG93Q29sdW1uc1NldHRpbmdzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBzdGF0ZSA9IHRoaXMuX2dldFRhYmxlU3RhdGUoKTtcbiAgICAgICAgY29uc3QgY29sdW1ucyA9IHRoaXMuX2dldFRhYmxlQ29sdW1ucygpO1xuICAgICAgICBjb25zdCB2aXNpYmxlQ29sdW1ucyA9IHN0YXRlLmNvbHVtbnM7XG4gICAgICAgIGNvbnN0IGRpYWxvZ0RhdGE6IENvbHVtbnNEaWFsb2dEYXRhID0ge1xuICAgICAgICAgICAgYXZhaWxhYmxlQ29sdW1uczogY29sdW1ucy5tYXAoKHsgbGFiZWwsIG5hbWUgfSkgPT4gKHsgbGFiZWwsIGtleTogbmFtZSB9KSksXG4gICAgICAgICAgICB2aXNpYmxlQ29sdW1uc1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuX2RpYWxvZ1NlcnZpY2Uub3BlbihcbiAgICAgICAgICAgIFAxM0NvbHVtbnNEaWFsb2dDb21wb25lbnQsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgLi4uZGlhbG9nQ29uZmlnLFxuICAgICAgICAgICAgICAgIGRpc2FibGVQYWRkaW5nczogdHJ1ZSxcbiAgICAgICAgICAgICAgICBtaW5XaWR0aDogJzM1cmVtJyxcbiAgICAgICAgICAgICAgICBkYXRhOiBkaWFsb2dEYXRhXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdGhpcy50YWJsZS5pbmplY3RvclxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkXG4gICAgICAgICAgICAgICAgLnBpcGUoZmlsdGVyKChyZXN1bHQpID0+ICEhcmVzdWx0KSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCh7IHZpc2libGVDb2x1bW5zOiByZXN1bHQgfTogQ29sdW1uc0RpYWxvZ1Jlc3VsdERhdGEpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fYXBwbHlDb2x1bW5zKHJlc3VsdCk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NldFRhYmxlKHRhYmxlOiBUYWJsZSk6IHZvaWQge1xuICAgICAgICB0aGlzLl90YWJsZSA9IHRhYmxlO1xuXG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlRnJvbVRhYmxlKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuX3RhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLl9zdWJzY3JpYmVUb1RhYmxlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3N1YnNjcmliZVRvVGFibGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2xpc3RlblRvVGFibGVUcmlnZ2Vyc1RvT3BlbkRpYWxvZ3MoKTtcbiAgICAgICAgdGhpcy5fbGlzdGVuVG9UYWJsZUNvbHVtbnMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2xpc3RlblRvVGFibGVUcmlnZ2Vyc1RvT3BlbkRpYWxvZ3MoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlU3Vic2NyaXB0aW9ucy5hZGQodGhpcy5fdGFibGUub3BlblRhYmxlU29ydFNldHRpbmdzLnN1YnNjcmliZSgoKSA9PiB0aGlzLnNob3dTb3J0aW5nU2V0dGluZ3MoKSkpO1xuICAgICAgICB0aGlzLl90YWJsZVN1YnNjcmlwdGlvbnMuYWRkKHRoaXMuX3RhYmxlLm9wZW5UYWJsZUZpbHRlclNldHRpbmdzLnN1YnNjcmliZSgoKSA9PiB0aGlzLnNob3dGaWx0ZXJpbmdTZXR0aW5ncygpKSk7XG4gICAgICAgIHRoaXMuX3RhYmxlU3Vic2NyaXB0aW9ucy5hZGQodGhpcy5fdGFibGUub3BlblRhYmxlR3JvdXBTZXR0aW5ncy5zdWJzY3JpYmUoKCkgPT4gdGhpcy5zaG93R3JvdXBpbmdTZXR0aW5ncygpKSk7XG4gICAgICAgIHRoaXMuX3RhYmxlU3Vic2NyaXB0aW9ucy5hZGQodGhpcy5fdGFibGUub3BlblRhYmxlQ29sdW1uU2V0dGluZ3Muc3Vic2NyaWJlKCgpID0+IHRoaXMuc2hvd0NvbHVtbnNTZXR0aW5ncygpKSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9saXN0ZW5Ub1RhYmxlQ29sdW1ucygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGFibGVTdWJzY3JpcHRpb25zLmFkZChcbiAgICAgICAgICAgIHRoaXMuX3RhYmxlLnRhYmxlQ29sdW1uc1N0cmVhbS5zdWJzY3JpYmUoKGNvbHVtbnM6IFRhYmxlQ29sdW1uW10pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl90YWJsZT8uc2hvd1NvcnRTZXR0aW5nc0luVG9vbGJhcihjb2x1bW5zLnNvbWUoKHsgc29ydGFibGUgfSkgPT4gc29ydGFibGUpKTtcblxuICAgICAgICAgICAgICAgIHRoaXMuX3RhYmxlPy5zaG93R3JvdXBTZXR0aW5nc0luVG9vbGJhcihjb2x1bW5zLnNvbWUoKHsgZ3JvdXBhYmxlIH0pID0+IGdyb3VwYWJsZSkpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5fdGFibGU/LnNob3dDb2x1bW5TZXR0aW5nc0luVG9vbGJhcihjb2x1bW5zLmxlbmd0aCA+IDApO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5fdGFibGU/LnNob3dGaWx0ZXJTZXR0aW5nc0luVG9vbGJhcihjb2x1bW5zLnNvbWUoKHsgZmlsdGVyYWJsZSB9KSA9PiBmaWx0ZXJhYmxlKSk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLl90YWJsZT8uc2V0SGVhZGVyQ29sdW1uRmlsdGVyaW5nRGlzYWJsZWQoY29sdW1ucy5zb21lKCh7IGZpbHRlcmFibGUgfSkgPT4gZmlsdGVyYWJsZSkpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dldFRhYmxlU3RhdGUoKTogVGFibGVTdGF0ZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl90YWJsZT8uZ2V0VGFibGVTdGF0ZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0VGFibGVDb2x1bW5zKCk6IFRhYmxlQ29sdW1uW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGFibGU/LmdldFRhYmxlQ29sdW1ucygpIHx8IFtdO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfYXBwbHlTb3J0aW5nKGNvbGxlY3Rpb25Tb3J0OiBDb2xsZWN0aW9uU29ydFtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlPy5zb3J0KGNvbGxlY3Rpb25Tb3J0KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2FwcGx5RmlsdGVyaW5nKGZpbHRlcnM6IENvbGxlY3Rpb25GaWx0ZXJbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLl90YWJsZT8uZmlsdGVyKGZpbHRlcnMpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfYXBwbHlHcm91cGluZyhjb2xsZWN0aW9uR3JvdXA6IENvbGxlY3Rpb25Hcm91cFtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlPy5ncm91cChjb2xsZWN0aW9uR3JvdXApO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfYXBwbHlDb2x1bW5zKGNvbHVtbnM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlPy5zZXRDb2x1bW5zKGNvbHVtbnMpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdW5zdWJzY3JpYmVGcm9tVGFibGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlU3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl90YWJsZVN1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gICAgfVxufVxuIl19
@@ -5,10 +5,10 @@ import * as i0 from "@angular/core";
5
5
  *
6
6
  */
7
7
  export class TableP13FilterComponent {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: TableP13FilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: TableP13FilterComponent, isStandalone: true, selector: "fdp-table-p13-filter", ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TableP13FilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: TableP13FilterComponent, isStandalone: true, selector: "fdp-table-p13-filter", ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: TableP13FilterComponent, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TableP13FilterComponent, decorators: [{
12
12
  type: Component,
13
13
  args: [{
14
14
  selector: 'fdp-table-p13-filter',