@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
@@ -165,15 +165,15 @@ export class MenuComponent {
165
165
  return ((this.xPosition === 'after' && this.direction === 'rtl') ||
166
166
  (this.xPosition === 'before' && this.direction === 'ltr'));
167
167
  }
168
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: MenuComponent, deps: [{ token: i1.RtlService, optional: true }, { token: i2.ContentDensityObserver }], target: i0.ɵɵFactoryTarget.Component }); }
169
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: MenuComponent, isStandalone: true, selector: "fdp-menu", inputs: { id: "id", openByArrowKeys: "openByArrowKeys", xPosition: "xPosition" }, outputs: { close: "close" }, providers: [contentDensityObserverProviders()], queries: [{ propertyName: "menuItems", predicate: MenuItemComponent }], viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["menuTemplate"], descendants: true }], ngImport: i0, template: "<ng-template #menuTemplate>\n <nav\n [attr.id]=\"menuId\"\n [attr.dir]=\"direction\"\n class=\"fd-menu\"\n [class.is-compact]=\"contentDensityObserver.isCompact$ | async\"\n tabindex=\"0\"\n role=\"menu\"\n (click)=\"_onClick()\"\n (keydown)=\"_onKeydown($event)\"\n >\n <div class=\"fd-menu__list\">\n <ng-content></ng-content>\n </div>\n </nav>\n</ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.32.0\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-dialog__body{--fdButton_Menu_Border_Radius:0}.fd-menu{--fdMenu_Icon_Width:2.25rem;--fdMenu_Icon_Before_Margin:0 0 0 -.75rem;--fdMenu_Icon_After_Margin:0 -1rem 0 0;--fdMenu_Link_Height:2.75rem;--fdMenu_Item_Spacing_Left:.75rem;--fdMenu_Item_Spacing_Right:.75rem;--fdMenu_Item_Border_Bottom_Color:transparent;--fdMenu_Shortcut_Padding_Left:1rem;--fdMenu_Shortcut_Padding_Right:.75rem;--fdMenu_Text_Spacing_Right:.75rem;--fdMenu_Icon_Color:var(--sapContent_NonInteractiveIconColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Regular);--fdMenu_Text_Color:var(--sapList_TextColor);--fdMenu_Item_Background_Color:var(--sapList_Background);--fdMenu_Active_Dot_Size:.75rem;-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0;width:-moz-fit-content;width:fit-content}.fd-menu:after,.fd-menu:before{box-sizing:inherit;font-size:inherit}.fd-menu__list,.fd-menu__sublist{-webkit-box-sizing:border-box;-ms-flex-wrap:wrap;-webkit-box-shadow:var(--sapContent_Shadow1);border:0;border-radius:var(--fdButton_Menu_Border_Radius);box-shadow:var(--sapContent_Shadow1);box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;flex-wrap:wrap;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);list-style:none;margin:0;max-width:20rem;padding:0}.fd-menu__list:after,.fd-menu__list:before,.fd-menu__sublist:after,.fd-menu__sublist:before{box-sizing:inherit;font-size:inherit}.fd-menu__list--no-shadow,.fd-menu__sublist--no-shadow{box-shadow:none}.fd-menu__sublist{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;left:100%;line-height:var(--sapContent_LineHeight);margin:.25rem 0 0 -.25rem;min-width:100%;padding:0;position:absolute;top:0;z-index:2}.fd-menu__sublist:after,.fd-menu__sublist:before{box-sizing:inherit;font-size:inherit}.fd-menu__sublist[dir=rtl],[dir=rtl] .fd-menu__sublist{left:auto;margin:.25rem -.25rem 0 0;right:100%}.fd-menu__sublist[aria-hidden=true]{display:none}.fd-menu__list>.fd-menu__item{position:relative;width:100%}.fd-menu__list--overflow{flex-wrap:nowrap;overflow-y:scroll;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-menu__list--overflow.is-focus,.fd-menu__list--overflow:focus{outline:none;z-index:5}.fd-menu__list--overflow::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-menu__list--overflow::-webkit-scrollbar-corner,.fd-menu__list--overflow::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-menu__list--overflow::-webkit-scrollbar-thumb{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-menu__list--overflow::-webkit-scrollbar-thumb:active,.fd-menu__list--overflow::-webkit-scrollbar-thumb:hover{box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-menu__list--overflow::-webkit-scrollbar-corner,.fd-menu__list--overflow::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-menu__list--overflow[dir=rtl]::-webkit-scrollbar-corner,.fd-menu__list--overflow[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-menu__list--overflow::-webkit-scrollbar-corner,[dir=rtl] .fd-menu__list--overflow::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-menu__separator{-webkit-box-sizing:border-box;background-color:var(--sapGroup_ContentBorderColor);border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:.0625rem;line-height:var(--sapContent_LineHeight);margin:0;padding:0;width:100%}.fd-menu__separator:after,.fd-menu__separator:before{box-sizing:inherit;font-size:inherit}.fd-menu__item{-webkit-box-sizing:border-box;background-color:var(--sapList_Background);border:0;border-radius:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;max-width:100%;padding:0;position:relative}.fd-menu__item:after,.fd-menu__item:before{box-sizing:inherit;font-size:inherit}.fd-menu__item:first-child,.fd-menu__item:first-child .fd-menu__link:after{border-top-left-radius:var(--fdButton_Menu_Border_Radius);border-top-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu__item:last-of-type,.fd-menu__item:last-of-type .fd-menu__link:after{border-bottom-left-radius:var(--fdButton_Menu_Border_Radius);border-bottom-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu__item.has-separator{border-bottom:.0625rem solid var(--sapGroup_ContentBorderColor)}.fd-menu__link{-webkit-box-sizing:border-box;align-items:center;background:var(--fdMenu_Item_Background_Color);border:0;border-bottom:.0625rem solid var(--fdMenu_Item_Border_Bottom_Color);border-radius:inherit;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fdMenu_Link_Height);line-height:var(--sapContent_LineHeight);margin:0;outline:none;padding:0;padding-left:var(--fdMenu_Item_Spacing_Left);padding-right:var(--fdMenu_Item_Spacing_Right);text-decoration:none;width:100%}.fd-menu__link:after,.fd-menu__link:before{box-sizing:inherit;font-size:inherit}.fd-menu__link[dir=rtl],[dir=rtl] .fd-menu__link{padding-left:var(--fdMenu_Item_Spacing_Right);padding-right:var(--fdMenu_Item_Spacing_Left)}.fd-menu__link.is-focus:after,.fd-menu__link:focus:after{border-color:var(--sapContent_FocusColor);border-radius:0!important;border-style:var(--sapContent_FocusStyle);border-width:var(--sapContent_FocusWidth);content:\"\";inset:.125rem;pointer-events:none;position:absolute}.fd-menu__link.is-hover,.fd-menu__link:hover{--fdMenu_Item_Background_Color:var(--sapList_Hover_Background)}.fd-menu__link.is-selected,.fd-menu__link[aria-selected=true]{--fdMenu_Item_Background_Color:var(--sapList_SelectionBackgroundColor);--fdMenu_Icon_Color:var(--sapContent_NonInteractiveIconColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected);--fdMenu_Text_Color:var(--sapList_TextColor);--fdMenu_Item_Border_Bottom_Color:var(--sapList_SelectionBorderColor)}.fd-menu__link.is-selected.is-hover:not(:active):not(.is-active),.fd-menu__link.is-selected:hover:not(:active):not(.is-active),.fd-menu__link[aria-selected=true].is-hover:not(:active):not(.is-active),.fd-menu__link[aria-selected=true]:hover:not(:active):not(.is-active){--fdMenu_Item_Background_Color:var(--sapList_Hover_SelectionBackground);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected_Hover)}.fd-menu__link.is-selected.is-focus,.fd-menu__link.is-selected:focus,.fd-menu__link[aria-selected=true].is-focus,.fd-menu__link[aria-selected=true]:focus{z-index:5}.fd-menu__link.is-selected.is-focus:after,.fd-menu__link.is-selected:focus:after,.fd-menu__link[aria-selected=true].is-focus:after,.fd-menu__link[aria-selected=true]:focus:after{bottom:.125rem}.fd-menu__link.is-active,.fd-menu__link:active{--fdMenu_Item_Background_Color:var(--sapList_Active_Background);--fdMenu_Icon_Color:var(--sapList_Active_TextColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Active);--fdMenu_Text_Color:var(--fdMenu_Text_Color_Active)}.fd-menu__link.is-active:after,.fd-menu__link:active:after{display:none}.fd-menu__link.is-active.is-focus,.fd-menu__link.is-active:focus,.fd-menu__link:active.is-focus,.fd-menu__link:active:focus{outline-color:var(--fdMenu_Active_State_Focus);z-index:5}.fd-menu__link.is-disabled,.fd-menu__link:disabled,.fd-menu__link[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-menu__link.is-disabled.is-focus,.fd-menu__link.is-disabled:focus,.fd-menu__link:disabled.is-focus,.fd-menu__link:disabled:focus,.fd-menu__link[aria-disabled=true].is-focus,.fd-menu__link[aria-disabled=true]:focus{z-index:5}.fd-menu__link.is-disabled.is-focus:after,.fd-menu__link.is-disabled:focus:after,.fd-menu__link:disabled.is-focus:after,.fd-menu__link:disabled:focus:after,.fd-menu__link[aria-disabled=true].is-focus:after,.fd-menu__link[aria-disabled=true]:focus:after{display:none}.fd-menu__link.has-child{--fdMenu_Item_Spacing_Right:0}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active){--fdMenu_Item_Background_Color:var(--sapList_SelectionBackgroundColor);--fdMenu_Icon_Color:var(--sapContent_NonInteractiveIconColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected);--fdMenu_Text_Color:var(--sapList_TextColor);--fdMenu_Item_Border_Bottom_Color:var(--sapList_SelectionBorderColor)}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active).is-hover:not(:active):not(.is-active),.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active):hover:not(:active):not(.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active).is-hover:not(:active):not(.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active):hover:not(:active):not(.is-active){--fdMenu_Item_Background_Color:var(--sapList_Hover_SelectionBackground);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected_Hover)}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active).is-focus,.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active):focus,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active).is-focus,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active):focus{z-index:5}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active).is-focus:after,.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active):focus:after,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active).is-focus:after,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active):focus:after{bottom:.125rem}.fd-menu__title{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdMenu_Text_Color);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0;text-align:left;text-overflow:ellipsis;text-shadow:var(--fdMenu_Text_Shadow);white-space:nowrap;width:100%}.fd-menu__title:after,.fd-menu__title:before{box-sizing:inherit;font-size:inherit}.fd-menu__title[dir=rtl],[dir=rtl] .fd-menu__title{text-align:right}.fd-menu__addon-after,.fd-menu__addon-before{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background-color:transparent;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdMenu_Icon_Color);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontLargeSize);font-weight:400;forced-color-adjust:none;height:100%;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;max-width:var(--fdMenu_Icon_Width);min-width:var(--fdMenu_Icon_Width);padding:0;text-shadow:var(--fdMenu_Text_Shadow);width:var(--fdMenu_Icon_Width)}.fd-menu__addon-after:after,.fd-menu__addon-after:before,.fd-menu__addon-before:after,.fd-menu__addon-before:before{box-sizing:inherit;font-size:inherit}.fd-menu__addon-after [class*=sap-icon],.fd-menu__addon-after[class*=sap-icon],.fd-menu__addon-before [class*=sap-icon],.fd-menu__addon-before[class*=sap-icon]{background:inherit;border-radius:inherit;color:inherit;font-size:inherit;line-height:1}.fd-menu__addon-after--submenu{font-size:var(--fdMenu_Affordance_Arrow_Size)}.fd-menu__addon-after--submenu:before{content:\"\\e066\"}.fd-menu__addon-after--submenu:before,.fd-menu__addon-after--submenu[dir=rtl]:before,[dir=rtl] .fd-menu__addon-after--submenu:before{font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-menu__addon-after--submenu[dir=rtl]:before,[dir=rtl] .fd-menu__addon-after--submenu:before{content:\"\\e067\"}.fd-menu__active-dot{-webkit-box-sizing:border-box;background:var(--sapContent_Selected_ForegroundColor);border:0;border-radius:100%;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fdMenu_Active_Dot_Size);line-height:var(--sapContent_LineHeight);margin:0;min-width:var(--fdMenu_Active_Dot_Size);padding:0;width:var(--fdMenu_Active_Dot_Size)}.fd-menu__active-dot:after,.fd-menu__active-dot:before{box-sizing:inherit;font-size:inherit}.fd-menu__checkmark [class*=sap-icon],.fd-menu__checkmark[class*=sap-icon]{background:inherit;border-radius:inherit;color:inherit;color:var(--sapContent_Selected_ForegroundColor);font-size:inherit;font-size:1rem;line-height:1}.fd-menu__shortcut{-webkit-box-sizing:border-box;-ms-flex-negative:0;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdMenu_Shortcut_Color);display:flex;flex-shrink:0;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0;padding-left:var(--fdMenu_Shortcut_Padding_Left);text-overflow:ellipsis;white-space:nowrap}.fd-menu__shortcut:after,.fd-menu__shortcut:before{box-sizing:inherit;font-size:inherit}.fd-menu__shortcut[dir=rtl],[dir=rtl] .fd-menu__shortcut{padding-left:0;padding-right:var(--fdMenu_Shortcut_Padding_Left)}.fd-menu__shortcut:last-child{padding-left:var(--fdMenu_Shortcut_Padding_Left);padding-right:var(--fdMenu_Shortcut_Padding_Right)}.fd-menu__shortcut:last-child[dir=rtl],[dir=rtl] .fd-menu__shortcut:last-child{padding-left:var(--fdMenu_Shortcut_Padding_Right);padding-right:var(--fdMenu_Shortcut_Padding_Left)}.fd-menu--overflow{-webkit-box-shadow:var(--sapContent_Shadow1);border-radius:var(--fdButton_Menu_Border_Radius);box-shadow:var(--sapContent_Shadow1);overflow-y:scroll;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-menu--overflow.is-focus,.fd-menu--overflow:focus{outline:none;z-index:5}.fd-menu--overflow::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-menu--overflow::-webkit-scrollbar-corner,.fd-menu--overflow::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-menu--overflow::-webkit-scrollbar-thumb{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-menu--overflow::-webkit-scrollbar-thumb:active,.fd-menu--overflow::-webkit-scrollbar-thumb:hover{box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-menu--overflow::-webkit-scrollbar-corner,.fd-menu--overflow::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-menu--overflow[dir=rtl]::-webkit-scrollbar-corner,.fd-menu--overflow[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-menu--overflow::-webkit-scrollbar-corner,[dir=rtl] .fd-menu--overflow::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-menu--overflow .fd-menu__list{box-shadow:none}.fd-menu--overflow .fd-menu__item:first-child{border-top-right-radius:0}.fd-menu--overflow .fd-menu__item:first-child[dir=rtl],[dir=rtl] .fd-menu--overflow .fd-menu__item:first-child{border-top-left-radius:0;border-top-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu--overflow .fd-menu__item:last-of-type{border-bottom-right-radius:0}.fd-menu--overflow .fd-menu__item:last-of-type[dir=rtl],[dir=rtl] .fd-menu--overflow .fd-menu__item:last-of-type{border-bottom-left-radius:0;border-bottom-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu--full-width{max-width:100%}.fd-menu--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-menu--icons .fd-menu__title:first-child{margin-left:var(--fdMenu_Icon_Width)}.fd-menu--icons .fd-menu__title:first-child[dir=rtl],[dir=rtl] .fd-menu--icons .fd-menu__title:first-child{margin-left:0;margin-right:var(--fdMenu_Icon_Width)}.fd-menu--icons .fd-menu__title:last-child{margin-right:var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons .fd-menu__title:last-child[dir=rtl],[dir=rtl] .fd-menu--icons .fd-menu__title:last-child{margin-left:var(--fdMenu_Text_Spacing_Right);margin-right:0}.fd-menu--icons .fd-menu__title:only-child{margin-left:var(--fdMenu_Icon_Width);margin-right:var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons .fd-menu__title:only-child[dir=rtl],[dir=rtl] .fd-menu--icons .fd-menu__title:only-child{margin-left:var(--fdMenu_Text_Spacing_Right);margin-right:var(--fdMenu_Icon_Width)}.fd-menu--icons .fd-menu__input,.fd-menu--icons .fd-menu__input[dir=rtl],.fd-menu--icons input,.fd-menu--icons input[dir=rtl],[dir=rtl] .fd-menu--icons .fd-menu__input,[dir=rtl] .fd-menu--icons input{margin-left:var(--fdMenu_Text_Spacing_Right);margin-right:var(--fdMenu_Text_Spacing_Right)}.fd-menu--mobile{--fdMenu_Icon_Before_Margin:0 0 0 -1rem;--fdMenu_Icon_After_Margin:0 -1rem 0 0;--fdMenu_Icon_Width:2.75rem;--fdMenu_Item_Spacing_Left:1rem;--fdMenu_Item_Spacing_Right:1rem;--fdMenu_Shortcut_Padding_Right:1rem;--fdMenu_Text_Spacing_Right:1rem;max-width:100%;width:100%}.fd-menu--mobile .fd-menu__list,.fd-menu--mobile .fd-menu__sublist{-webkit-box-shadow:none;border-radius:0;box-shadow:none;margin:0;position:static}.fd-menu--mobile .fd-menu__list .fd-menu__item,.fd-menu--mobile .fd-menu__sublist .fd-menu__item{border-radius:0}.fd-menu--mobile.fd-menu--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-menu--mobile.fd-menu--icons .fd-menu__input,.fd-menu--mobile.fd-menu--icons input{margin-left:1rem;margin-right:1rem}.fd-menu[class*=-compact],.fd-menu[class*=-condensed],[class*=-compact] .fd-menu:not([class*=-cozy]),[class*=-condensed] .fd-menu:not([class*=-cozy]){--fdMenu_Icon_Before_Margin:0 0 0 -.5rem;--fdMenu_Icon_After_Margin:0 -.75rem 0 0;--fdMenu_Icon_Width:2rem;--fdMenu_Link_Height:2rem;--fdMenu_Item_Spacing_Left:.5rem;--fdMenu_Item_Spacing_Right:.5rem;--fdMenu_Shortcut_Padding_Right:.5rem;--fdMenu_Text_Spacing_Right:.5rem}.fd-menu[class*=-compact].fd-menu--icons,.fd-menu[class*=-condensed].fd-menu--icons,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-menu[class*=-compact].fd-menu--icons .fd-menu__input,.fd-menu[class*=-compact].fd-menu--icons input,.fd-menu[class*=-condensed].fd-menu--icons .fd-menu__input,.fd-menu[class*=-condensed].fd-menu--icons input,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__input,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons input,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__input,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons input{margin-left:.5rem;margin-right:.5rem}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.fd-menu-popover__body--static{position:static}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
168
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: MenuComponent, deps: [{ token: i1.RtlService, optional: true }, { token: i2.ContentDensityObserver }], target: i0.ɵɵFactoryTarget.Component }); }
169
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: MenuComponent, isStandalone: true, selector: "fdp-menu", inputs: { id: "id", openByArrowKeys: "openByArrowKeys", xPosition: "xPosition" }, outputs: { close: "close" }, providers: [contentDensityObserverProviders()], queries: [{ propertyName: "menuItems", predicate: MenuItemComponent }], viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["menuTemplate"], descendants: true }], ngImport: i0, template: "<ng-template #menuTemplate>\n <nav\n [attr.id]=\"menuId\"\n [attr.dir]=\"direction\"\n class=\"fd-menu\"\n [class.is-compact]=\"contentDensityObserver.isCompact$ | async\"\n tabindex=\"0\"\n role=\"menu\"\n (click)=\"_onClick()\"\n (keydown)=\"_onKeydown($event)\"\n >\n <div class=\"fd-menu__list\">\n <ng-content></ng-content>\n </div>\n </nav>\n</ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.32.0\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-dialog__body{--fdButton_Menu_Border_Radius:0}.fd-menu{--fdMenu_Icon_Width:2.25rem;--fdMenu_Icon_Before_Margin:0 0 0 -.75rem;--fdMenu_Icon_After_Margin:0 -1rem 0 0;--fdMenu_Link_Height:2.75rem;--fdMenu_Item_Spacing_Left:.75rem;--fdMenu_Item_Spacing_Right:.75rem;--fdMenu_Item_Border_Bottom_Color:transparent;--fdMenu_Shortcut_Padding_Left:1rem;--fdMenu_Shortcut_Padding_Right:.75rem;--fdMenu_Text_Spacing_Right:.75rem;--fdMenu_Icon_Color:var(--sapContent_NonInteractiveIconColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Regular);--fdMenu_Text_Color:var(--sapList_TextColor);--fdMenu_Item_Background_Color:var(--sapList_Background);--fdMenu_Active_Dot_Size:.75rem;-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0;width:-moz-fit-content;width:fit-content}.fd-menu:after,.fd-menu:before{box-sizing:inherit;font-size:inherit}.fd-menu__list,.fd-menu__sublist{-webkit-box-sizing:border-box;-ms-flex-wrap:wrap;-webkit-box-shadow:var(--sapContent_Shadow1);border:0;border-radius:var(--fdButton_Menu_Border_Radius);box-shadow:var(--sapContent_Shadow1);box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;flex-wrap:wrap;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);list-style:none;margin:0;max-width:20rem;padding:0}.fd-menu__list:after,.fd-menu__list:before,.fd-menu__sublist:after,.fd-menu__sublist:before{box-sizing:inherit;font-size:inherit}.fd-menu__list--no-shadow,.fd-menu__sublist--no-shadow{box-shadow:none}.fd-menu__sublist{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;left:100%;line-height:var(--sapContent_LineHeight);margin:.25rem 0 0 -.25rem;min-width:100%;padding:0;position:absolute;top:0;z-index:2}.fd-menu__sublist:after,.fd-menu__sublist:before{box-sizing:inherit;font-size:inherit}.fd-menu__sublist[dir=rtl],[dir=rtl] .fd-menu__sublist{left:auto;margin:.25rem -.25rem 0 0;right:100%}.fd-menu__sublist[aria-hidden=true]{display:none}.fd-menu__list>.fd-menu__item{position:relative;width:100%}.fd-menu__list--overflow{flex-wrap:nowrap;overflow-y:scroll;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-menu__list--overflow.is-focus,.fd-menu__list--overflow:focus{outline:none;z-index:5}.fd-menu__list--overflow::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-menu__list--overflow::-webkit-scrollbar-corner,.fd-menu__list--overflow::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-menu__list--overflow::-webkit-scrollbar-thumb{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-menu__list--overflow::-webkit-scrollbar-thumb:active,.fd-menu__list--overflow::-webkit-scrollbar-thumb:hover{box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-menu__list--overflow::-webkit-scrollbar-corner,.fd-menu__list--overflow::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-menu__list--overflow[dir=rtl]::-webkit-scrollbar-corner,.fd-menu__list--overflow[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-menu__list--overflow::-webkit-scrollbar-corner,[dir=rtl] .fd-menu__list--overflow::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-menu__separator{-webkit-box-sizing:border-box;background-color:var(--sapGroup_ContentBorderColor);border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:.0625rem;line-height:var(--sapContent_LineHeight);margin:0;padding:0;width:100%}.fd-menu__separator:after,.fd-menu__separator:before{box-sizing:inherit;font-size:inherit}.fd-menu__item{-webkit-box-sizing:border-box;background-color:var(--sapList_Background);border:0;border-radius:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;max-width:100%;padding:0;position:relative}.fd-menu__item:after,.fd-menu__item:before{box-sizing:inherit;font-size:inherit}.fd-menu__item:first-child,.fd-menu__item:first-child .fd-menu__link:after{border-top-left-radius:var(--fdButton_Menu_Border_Radius);border-top-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu__item:last-of-type,.fd-menu__item:last-of-type .fd-menu__link:after{border-bottom-left-radius:var(--fdButton_Menu_Border_Radius);border-bottom-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu__item.has-separator{border-bottom:.0625rem solid var(--sapGroup_ContentBorderColor)}.fd-menu__link{-webkit-box-sizing:border-box;align-items:center;background:var(--fdMenu_Item_Background_Color);border:0;border-bottom:.0625rem solid var(--fdMenu_Item_Border_Bottom_Color);border-radius:inherit;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fdMenu_Link_Height);line-height:var(--sapContent_LineHeight);margin:0;outline:none;padding:0;padding-left:var(--fdMenu_Item_Spacing_Left);padding-right:var(--fdMenu_Item_Spacing_Right);text-decoration:none;width:100%}.fd-menu__link:after,.fd-menu__link:before{box-sizing:inherit;font-size:inherit}.fd-menu__link[dir=rtl],[dir=rtl] .fd-menu__link{padding-left:var(--fdMenu_Item_Spacing_Right);padding-right:var(--fdMenu_Item_Spacing_Left)}.fd-menu__link.is-focus:after,.fd-menu__link:focus:after{border-color:var(--sapContent_FocusColor);border-radius:0!important;border-style:var(--sapContent_FocusStyle);border-width:var(--sapContent_FocusWidth);content:\"\";inset:.125rem;pointer-events:none;position:absolute}.fd-menu__link.is-hover,.fd-menu__link:hover{--fdMenu_Item_Background_Color:var(--sapList_Hover_Background)}.fd-menu__link.is-selected,.fd-menu__link[aria-selected=true]{--fdMenu_Item_Background_Color:var(--sapList_SelectionBackgroundColor);--fdMenu_Icon_Color:var(--sapContent_NonInteractiveIconColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected);--fdMenu_Text_Color:var(--sapList_TextColor);--fdMenu_Item_Border_Bottom_Color:var(--sapList_SelectionBorderColor)}.fd-menu__link.is-selected.is-hover:not(:active):not(.is-active),.fd-menu__link.is-selected:hover:not(:active):not(.is-active),.fd-menu__link[aria-selected=true].is-hover:not(:active):not(.is-active),.fd-menu__link[aria-selected=true]:hover:not(:active):not(.is-active){--fdMenu_Item_Background_Color:var(--sapList_Hover_SelectionBackground);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected_Hover)}.fd-menu__link.is-selected.is-focus,.fd-menu__link.is-selected:focus,.fd-menu__link[aria-selected=true].is-focus,.fd-menu__link[aria-selected=true]:focus{z-index:5}.fd-menu__link.is-selected.is-focus:after,.fd-menu__link.is-selected:focus:after,.fd-menu__link[aria-selected=true].is-focus:after,.fd-menu__link[aria-selected=true]:focus:after{bottom:.125rem}.fd-menu__link.is-active,.fd-menu__link:active{--fdMenu_Item_Background_Color:var(--sapList_Active_Background);--fdMenu_Icon_Color:var(--sapList_Active_TextColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Active);--fdMenu_Text_Color:var(--fdMenu_Text_Color_Active)}.fd-menu__link.is-active:after,.fd-menu__link:active:after{display:none}.fd-menu__link.is-active.is-focus,.fd-menu__link.is-active:focus,.fd-menu__link:active.is-focus,.fd-menu__link:active:focus{outline-color:var(--fdMenu_Active_State_Focus);z-index:5}.fd-menu__link.is-disabled,.fd-menu__link:disabled,.fd-menu__link[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-menu__link.is-disabled.is-focus,.fd-menu__link.is-disabled:focus,.fd-menu__link:disabled.is-focus,.fd-menu__link:disabled:focus,.fd-menu__link[aria-disabled=true].is-focus,.fd-menu__link[aria-disabled=true]:focus{z-index:5}.fd-menu__link.is-disabled.is-focus:after,.fd-menu__link.is-disabled:focus:after,.fd-menu__link:disabled.is-focus:after,.fd-menu__link:disabled:focus:after,.fd-menu__link[aria-disabled=true].is-focus:after,.fd-menu__link[aria-disabled=true]:focus:after{display:none}.fd-menu__link.has-child{--fdMenu_Item_Spacing_Right:0}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active){--fdMenu_Item_Background_Color:var(--sapList_SelectionBackgroundColor);--fdMenu_Icon_Color:var(--sapContent_NonInteractiveIconColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected);--fdMenu_Text_Color:var(--sapList_TextColor);--fdMenu_Item_Border_Bottom_Color:var(--sapList_SelectionBorderColor)}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active).is-hover:not(:active):not(.is-active),.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active):hover:not(:active):not(.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active).is-hover:not(:active):not(.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active):hover:not(:active):not(.is-active){--fdMenu_Item_Background_Color:var(--sapList_Hover_SelectionBackground);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected_Hover)}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active).is-focus,.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active):focus,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active).is-focus,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active):focus{z-index:5}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active).is-focus:after,.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active):focus:after,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active).is-focus:after,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active):focus:after{bottom:.125rem}.fd-menu__title{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdMenu_Text_Color);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0;text-align:left;text-overflow:ellipsis;text-shadow:var(--fdMenu_Text_Shadow);white-space:nowrap;width:100%}.fd-menu__title:after,.fd-menu__title:before{box-sizing:inherit;font-size:inherit}.fd-menu__title[dir=rtl],[dir=rtl] .fd-menu__title{text-align:right}.fd-menu__addon-after,.fd-menu__addon-before{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background-color:transparent;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdMenu_Icon_Color);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontLargeSize);font-weight:400;forced-color-adjust:none;height:100%;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;max-width:var(--fdMenu_Icon_Width);min-width:var(--fdMenu_Icon_Width);padding:0;text-shadow:var(--fdMenu_Text_Shadow);width:var(--fdMenu_Icon_Width)}.fd-menu__addon-after:after,.fd-menu__addon-after:before,.fd-menu__addon-before:after,.fd-menu__addon-before:before{box-sizing:inherit;font-size:inherit}.fd-menu__addon-after [class*=sap-icon],.fd-menu__addon-after[class*=sap-icon],.fd-menu__addon-before [class*=sap-icon],.fd-menu__addon-before[class*=sap-icon]{background:inherit;border-radius:inherit;color:inherit;font-size:inherit;line-height:1}.fd-menu__addon-after--submenu{font-size:var(--fdMenu_Affordance_Arrow_Size)}.fd-menu__addon-after--submenu:before{content:\"\\e066\"}.fd-menu__addon-after--submenu:before,.fd-menu__addon-after--submenu[dir=rtl]:before,[dir=rtl] .fd-menu__addon-after--submenu:before{font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-menu__addon-after--submenu[dir=rtl]:before,[dir=rtl] .fd-menu__addon-after--submenu:before{content:\"\\e067\"}.fd-menu__active-dot{-webkit-box-sizing:border-box;background:var(--sapContent_Selected_ForegroundColor);border:0;border-radius:100%;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fdMenu_Active_Dot_Size);line-height:var(--sapContent_LineHeight);margin:0;min-width:var(--fdMenu_Active_Dot_Size);padding:0;width:var(--fdMenu_Active_Dot_Size)}.fd-menu__active-dot:after,.fd-menu__active-dot:before{box-sizing:inherit;font-size:inherit}.fd-menu__checkmark [class*=sap-icon],.fd-menu__checkmark[class*=sap-icon]{background:inherit;border-radius:inherit;color:inherit;color:var(--sapContent_Selected_ForegroundColor);font-size:inherit;font-size:1rem;line-height:1}.fd-menu__shortcut{-webkit-box-sizing:border-box;-ms-flex-negative:0;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdMenu_Shortcut_Color);display:flex;flex-shrink:0;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0;padding-left:var(--fdMenu_Shortcut_Padding_Left);text-overflow:ellipsis;white-space:nowrap}.fd-menu__shortcut:after,.fd-menu__shortcut:before{box-sizing:inherit;font-size:inherit}.fd-menu__shortcut[dir=rtl],[dir=rtl] .fd-menu__shortcut{padding-left:0;padding-right:var(--fdMenu_Shortcut_Padding_Left)}.fd-menu__shortcut:last-child{padding-left:var(--fdMenu_Shortcut_Padding_Left);padding-right:var(--fdMenu_Shortcut_Padding_Right)}.fd-menu__shortcut:last-child[dir=rtl],[dir=rtl] .fd-menu__shortcut:last-child{padding-left:var(--fdMenu_Shortcut_Padding_Right);padding-right:var(--fdMenu_Shortcut_Padding_Left)}.fd-menu--overflow{-webkit-box-shadow:var(--sapContent_Shadow1);border-radius:var(--fdButton_Menu_Border_Radius);box-shadow:var(--sapContent_Shadow1);overflow-y:scroll;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-menu--overflow.is-focus,.fd-menu--overflow:focus{outline:none;z-index:5}.fd-menu--overflow::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-menu--overflow::-webkit-scrollbar-corner,.fd-menu--overflow::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-menu--overflow::-webkit-scrollbar-thumb{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-menu--overflow::-webkit-scrollbar-thumb:active,.fd-menu--overflow::-webkit-scrollbar-thumb:hover{box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-menu--overflow::-webkit-scrollbar-corner,.fd-menu--overflow::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-menu--overflow[dir=rtl]::-webkit-scrollbar-corner,.fd-menu--overflow[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-menu--overflow::-webkit-scrollbar-corner,[dir=rtl] .fd-menu--overflow::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-menu--overflow .fd-menu__list{box-shadow:none}.fd-menu--overflow .fd-menu__item:first-child{border-top-right-radius:0}.fd-menu--overflow .fd-menu__item:first-child[dir=rtl],[dir=rtl] .fd-menu--overflow .fd-menu__item:first-child{border-top-left-radius:0;border-top-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu--overflow .fd-menu__item:last-of-type{border-bottom-right-radius:0}.fd-menu--overflow .fd-menu__item:last-of-type[dir=rtl],[dir=rtl] .fd-menu--overflow .fd-menu__item:last-of-type{border-bottom-left-radius:0;border-bottom-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu--full-width{max-width:100%}.fd-menu--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-menu--icons .fd-menu__title:first-child{margin-left:var(--fdMenu_Icon_Width)}.fd-menu--icons .fd-menu__title:first-child[dir=rtl],[dir=rtl] .fd-menu--icons .fd-menu__title:first-child{margin-left:0;margin-right:var(--fdMenu_Icon_Width)}.fd-menu--icons .fd-menu__title:last-child{margin-right:var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons .fd-menu__title:last-child[dir=rtl],[dir=rtl] .fd-menu--icons .fd-menu__title:last-child{margin-left:var(--fdMenu_Text_Spacing_Right);margin-right:0}.fd-menu--icons .fd-menu__title:only-child{margin-left:var(--fdMenu_Icon_Width);margin-right:var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons .fd-menu__title:only-child[dir=rtl],[dir=rtl] .fd-menu--icons .fd-menu__title:only-child{margin-left:var(--fdMenu_Text_Spacing_Right);margin-right:var(--fdMenu_Icon_Width)}.fd-menu--icons .fd-menu__input,.fd-menu--icons .fd-menu__input[dir=rtl],.fd-menu--icons input,.fd-menu--icons input[dir=rtl],[dir=rtl] .fd-menu--icons .fd-menu__input,[dir=rtl] .fd-menu--icons input{margin-left:var(--fdMenu_Text_Spacing_Right);margin-right:var(--fdMenu_Text_Spacing_Right)}.fd-menu--mobile{--fdMenu_Icon_Before_Margin:0 0 0 -1rem;--fdMenu_Icon_After_Margin:0 -1rem 0 0;--fdMenu_Icon_Width:2.75rem;--fdMenu_Item_Spacing_Left:1rem;--fdMenu_Item_Spacing_Right:1rem;--fdMenu_Shortcut_Padding_Right:1rem;--fdMenu_Text_Spacing_Right:1rem;max-width:100%;width:100%}.fd-menu--mobile .fd-menu__list,.fd-menu--mobile .fd-menu__sublist{-webkit-box-shadow:none;border-radius:0;box-shadow:none;margin:0;position:static}.fd-menu--mobile .fd-menu__list .fd-menu__item,.fd-menu--mobile .fd-menu__sublist .fd-menu__item{border-radius:0}.fd-menu--mobile.fd-menu--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-menu--mobile.fd-menu--icons .fd-menu__input,.fd-menu--mobile.fd-menu--icons input{margin-left:1rem;margin-right:1rem}.fd-menu[class*=-compact],.fd-menu[class*=-condensed],[class*=-compact] .fd-menu:not([class*=-cozy]),[class*=-condensed] .fd-menu:not([class*=-cozy]){--fdMenu_Icon_Before_Margin:0 0 0 -.5rem;--fdMenu_Icon_After_Margin:0 -.75rem 0 0;--fdMenu_Icon_Width:2rem;--fdMenu_Link_Height:2rem;--fdMenu_Item_Spacing_Left:.5rem;--fdMenu_Item_Spacing_Right:.5rem;--fdMenu_Shortcut_Padding_Right:.5rem;--fdMenu_Text_Spacing_Right:.5rem}.fd-menu[class*=-compact].fd-menu--icons,.fd-menu[class*=-condensed].fd-menu--icons,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-menu[class*=-compact].fd-menu--icons .fd-menu__input,.fd-menu[class*=-compact].fd-menu--icons input,.fd-menu[class*=-condensed].fd-menu--icons .fd-menu__input,.fd-menu[class*=-condensed].fd-menu--icons input,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__input,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons input,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__input,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons input{margin-left:.5rem;margin-right:.5rem}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.fd-menu-popover__body--static{position:static}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
170
170
  }
171
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: MenuComponent, decorators: [{
171
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: MenuComponent, decorators: [{
172
172
  type: Component,
173
173
  args: [{ selector: 'fdp-menu', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [contentDensityObserverProviders()], standalone: true, imports: [AsyncPipe], template: "<ng-template #menuTemplate>\n <nav\n [attr.id]=\"menuId\"\n [attr.dir]=\"direction\"\n class=\"fd-menu\"\n [class.is-compact]=\"contentDensityObserver.isCompact$ | async\"\n tabindex=\"0\"\n role=\"menu\"\n (click)=\"_onClick()\"\n (keydown)=\"_onKeydown($event)\"\n >\n <div class=\"fd-menu__list\">\n <ng-content></ng-content>\n </div>\n </nav>\n</ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.32.0\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-dialog__body{--fdButton_Menu_Border_Radius:0}.fd-menu{--fdMenu_Icon_Width:2.25rem;--fdMenu_Icon_Before_Margin:0 0 0 -.75rem;--fdMenu_Icon_After_Margin:0 -1rem 0 0;--fdMenu_Link_Height:2.75rem;--fdMenu_Item_Spacing_Left:.75rem;--fdMenu_Item_Spacing_Right:.75rem;--fdMenu_Item_Border_Bottom_Color:transparent;--fdMenu_Shortcut_Padding_Left:1rem;--fdMenu_Shortcut_Padding_Right:.75rem;--fdMenu_Text_Spacing_Right:.75rem;--fdMenu_Icon_Color:var(--sapContent_NonInteractiveIconColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Regular);--fdMenu_Text_Color:var(--sapList_TextColor);--fdMenu_Item_Background_Color:var(--sapList_Background);--fdMenu_Active_Dot_Size:.75rem;-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0;width:-moz-fit-content;width:fit-content}.fd-menu:after,.fd-menu:before{box-sizing:inherit;font-size:inherit}.fd-menu__list,.fd-menu__sublist{-webkit-box-sizing:border-box;-ms-flex-wrap:wrap;-webkit-box-shadow:var(--sapContent_Shadow1);border:0;border-radius:var(--fdButton_Menu_Border_Radius);box-shadow:var(--sapContent_Shadow1);box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;flex-wrap:wrap;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);list-style:none;margin:0;max-width:20rem;padding:0}.fd-menu__list:after,.fd-menu__list:before,.fd-menu__sublist:after,.fd-menu__sublist:before{box-sizing:inherit;font-size:inherit}.fd-menu__list--no-shadow,.fd-menu__sublist--no-shadow{box-shadow:none}.fd-menu__sublist{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;left:100%;line-height:var(--sapContent_LineHeight);margin:.25rem 0 0 -.25rem;min-width:100%;padding:0;position:absolute;top:0;z-index:2}.fd-menu__sublist:after,.fd-menu__sublist:before{box-sizing:inherit;font-size:inherit}.fd-menu__sublist[dir=rtl],[dir=rtl] .fd-menu__sublist{left:auto;margin:.25rem -.25rem 0 0;right:100%}.fd-menu__sublist[aria-hidden=true]{display:none}.fd-menu__list>.fd-menu__item{position:relative;width:100%}.fd-menu__list--overflow{flex-wrap:nowrap;overflow-y:scroll;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-menu__list--overflow.is-focus,.fd-menu__list--overflow:focus{outline:none;z-index:5}.fd-menu__list--overflow::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-menu__list--overflow::-webkit-scrollbar-corner,.fd-menu__list--overflow::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-menu__list--overflow::-webkit-scrollbar-thumb{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-menu__list--overflow::-webkit-scrollbar-thumb:active,.fd-menu__list--overflow::-webkit-scrollbar-thumb:hover{box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-menu__list--overflow::-webkit-scrollbar-corner,.fd-menu__list--overflow::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-menu__list--overflow[dir=rtl]::-webkit-scrollbar-corner,.fd-menu__list--overflow[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-menu__list--overflow::-webkit-scrollbar-corner,[dir=rtl] .fd-menu__list--overflow::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-menu__separator{-webkit-box-sizing:border-box;background-color:var(--sapGroup_ContentBorderColor);border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:.0625rem;line-height:var(--sapContent_LineHeight);margin:0;padding:0;width:100%}.fd-menu__separator:after,.fd-menu__separator:before{box-sizing:inherit;font-size:inherit}.fd-menu__item{-webkit-box-sizing:border-box;background-color:var(--sapList_Background);border:0;border-radius:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;max-width:100%;padding:0;position:relative}.fd-menu__item:after,.fd-menu__item:before{box-sizing:inherit;font-size:inherit}.fd-menu__item:first-child,.fd-menu__item:first-child .fd-menu__link:after{border-top-left-radius:var(--fdButton_Menu_Border_Radius);border-top-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu__item:last-of-type,.fd-menu__item:last-of-type .fd-menu__link:after{border-bottom-left-radius:var(--fdButton_Menu_Border_Radius);border-bottom-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu__item.has-separator{border-bottom:.0625rem solid var(--sapGroup_ContentBorderColor)}.fd-menu__link{-webkit-box-sizing:border-box;align-items:center;background:var(--fdMenu_Item_Background_Color);border:0;border-bottom:.0625rem solid var(--fdMenu_Item_Border_Bottom_Color);border-radius:inherit;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fdMenu_Link_Height);line-height:var(--sapContent_LineHeight);margin:0;outline:none;padding:0;padding-left:var(--fdMenu_Item_Spacing_Left);padding-right:var(--fdMenu_Item_Spacing_Right);text-decoration:none;width:100%}.fd-menu__link:after,.fd-menu__link:before{box-sizing:inherit;font-size:inherit}.fd-menu__link[dir=rtl],[dir=rtl] .fd-menu__link{padding-left:var(--fdMenu_Item_Spacing_Right);padding-right:var(--fdMenu_Item_Spacing_Left)}.fd-menu__link.is-focus:after,.fd-menu__link:focus:after{border-color:var(--sapContent_FocusColor);border-radius:0!important;border-style:var(--sapContent_FocusStyle);border-width:var(--sapContent_FocusWidth);content:\"\";inset:.125rem;pointer-events:none;position:absolute}.fd-menu__link.is-hover,.fd-menu__link:hover{--fdMenu_Item_Background_Color:var(--sapList_Hover_Background)}.fd-menu__link.is-selected,.fd-menu__link[aria-selected=true]{--fdMenu_Item_Background_Color:var(--sapList_SelectionBackgroundColor);--fdMenu_Icon_Color:var(--sapContent_NonInteractiveIconColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected);--fdMenu_Text_Color:var(--sapList_TextColor);--fdMenu_Item_Border_Bottom_Color:var(--sapList_SelectionBorderColor)}.fd-menu__link.is-selected.is-hover:not(:active):not(.is-active),.fd-menu__link.is-selected:hover:not(:active):not(.is-active),.fd-menu__link[aria-selected=true].is-hover:not(:active):not(.is-active),.fd-menu__link[aria-selected=true]:hover:not(:active):not(.is-active){--fdMenu_Item_Background_Color:var(--sapList_Hover_SelectionBackground);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected_Hover)}.fd-menu__link.is-selected.is-focus,.fd-menu__link.is-selected:focus,.fd-menu__link[aria-selected=true].is-focus,.fd-menu__link[aria-selected=true]:focus{z-index:5}.fd-menu__link.is-selected.is-focus:after,.fd-menu__link.is-selected:focus:after,.fd-menu__link[aria-selected=true].is-focus:after,.fd-menu__link[aria-selected=true]:focus:after{bottom:.125rem}.fd-menu__link.is-active,.fd-menu__link:active{--fdMenu_Item_Background_Color:var(--sapList_Active_Background);--fdMenu_Icon_Color:var(--sapList_Active_TextColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Active);--fdMenu_Text_Color:var(--fdMenu_Text_Color_Active)}.fd-menu__link.is-active:after,.fd-menu__link:active:after{display:none}.fd-menu__link.is-active.is-focus,.fd-menu__link.is-active:focus,.fd-menu__link:active.is-focus,.fd-menu__link:active:focus{outline-color:var(--fdMenu_Active_State_Focus);z-index:5}.fd-menu__link.is-disabled,.fd-menu__link:disabled,.fd-menu__link[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-menu__link.is-disabled.is-focus,.fd-menu__link.is-disabled:focus,.fd-menu__link:disabled.is-focus,.fd-menu__link:disabled:focus,.fd-menu__link[aria-disabled=true].is-focus,.fd-menu__link[aria-disabled=true]:focus{z-index:5}.fd-menu__link.is-disabled.is-focus:after,.fd-menu__link.is-disabled:focus:after,.fd-menu__link:disabled.is-focus:after,.fd-menu__link:disabled:focus:after,.fd-menu__link[aria-disabled=true].is-focus:after,.fd-menu__link[aria-disabled=true]:focus:after{display:none}.fd-menu__link.has-child{--fdMenu_Item_Spacing_Right:0}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active){--fdMenu_Item_Background_Color:var(--sapList_SelectionBackgroundColor);--fdMenu_Icon_Color:var(--sapContent_NonInteractiveIconColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected);--fdMenu_Text_Color:var(--sapList_TextColor);--fdMenu_Item_Border_Bottom_Color:var(--sapList_SelectionBorderColor)}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active).is-hover:not(:active):not(.is-active),.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active):hover:not(:active):not(.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active).is-hover:not(:active):not(.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active):hover:not(:active):not(.is-active){--fdMenu_Item_Background_Color:var(--sapList_Hover_SelectionBackground);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected_Hover)}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active).is-focus,.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active):focus,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active).is-focus,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active):focus{z-index:5}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active).is-focus:after,.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active):focus:after,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active).is-focus:after,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active):focus:after{bottom:.125rem}.fd-menu__title{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdMenu_Text_Color);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0;text-align:left;text-overflow:ellipsis;text-shadow:var(--fdMenu_Text_Shadow);white-space:nowrap;width:100%}.fd-menu__title:after,.fd-menu__title:before{box-sizing:inherit;font-size:inherit}.fd-menu__title[dir=rtl],[dir=rtl] .fd-menu__title{text-align:right}.fd-menu__addon-after,.fd-menu__addon-before{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background-color:transparent;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdMenu_Icon_Color);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontLargeSize);font-weight:400;forced-color-adjust:none;height:100%;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;max-width:var(--fdMenu_Icon_Width);min-width:var(--fdMenu_Icon_Width);padding:0;text-shadow:var(--fdMenu_Text_Shadow);width:var(--fdMenu_Icon_Width)}.fd-menu__addon-after:after,.fd-menu__addon-after:before,.fd-menu__addon-before:after,.fd-menu__addon-before:before{box-sizing:inherit;font-size:inherit}.fd-menu__addon-after [class*=sap-icon],.fd-menu__addon-after[class*=sap-icon],.fd-menu__addon-before [class*=sap-icon],.fd-menu__addon-before[class*=sap-icon]{background:inherit;border-radius:inherit;color:inherit;font-size:inherit;line-height:1}.fd-menu__addon-after--submenu{font-size:var(--fdMenu_Affordance_Arrow_Size)}.fd-menu__addon-after--submenu:before{content:\"\\e066\"}.fd-menu__addon-after--submenu:before,.fd-menu__addon-after--submenu[dir=rtl]:before,[dir=rtl] .fd-menu__addon-after--submenu:before{font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-menu__addon-after--submenu[dir=rtl]:before,[dir=rtl] .fd-menu__addon-after--submenu:before{content:\"\\e067\"}.fd-menu__active-dot{-webkit-box-sizing:border-box;background:var(--sapContent_Selected_ForegroundColor);border:0;border-radius:100%;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fdMenu_Active_Dot_Size);line-height:var(--sapContent_LineHeight);margin:0;min-width:var(--fdMenu_Active_Dot_Size);padding:0;width:var(--fdMenu_Active_Dot_Size)}.fd-menu__active-dot:after,.fd-menu__active-dot:before{box-sizing:inherit;font-size:inherit}.fd-menu__checkmark [class*=sap-icon],.fd-menu__checkmark[class*=sap-icon]{background:inherit;border-radius:inherit;color:inherit;color:var(--sapContent_Selected_ForegroundColor);font-size:inherit;font-size:1rem;line-height:1}.fd-menu__shortcut{-webkit-box-sizing:border-box;-ms-flex-negative:0;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdMenu_Shortcut_Color);display:flex;flex-shrink:0;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0;padding-left:var(--fdMenu_Shortcut_Padding_Left);text-overflow:ellipsis;white-space:nowrap}.fd-menu__shortcut:after,.fd-menu__shortcut:before{box-sizing:inherit;font-size:inherit}.fd-menu__shortcut[dir=rtl],[dir=rtl] .fd-menu__shortcut{padding-left:0;padding-right:var(--fdMenu_Shortcut_Padding_Left)}.fd-menu__shortcut:last-child{padding-left:var(--fdMenu_Shortcut_Padding_Left);padding-right:var(--fdMenu_Shortcut_Padding_Right)}.fd-menu__shortcut:last-child[dir=rtl],[dir=rtl] .fd-menu__shortcut:last-child{padding-left:var(--fdMenu_Shortcut_Padding_Right);padding-right:var(--fdMenu_Shortcut_Padding_Left)}.fd-menu--overflow{-webkit-box-shadow:var(--sapContent_Shadow1);border-radius:var(--fdButton_Menu_Border_Radius);box-shadow:var(--sapContent_Shadow1);overflow-y:scroll;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-menu--overflow.is-focus,.fd-menu--overflow:focus{outline:none;z-index:5}.fd-menu--overflow::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-menu--overflow::-webkit-scrollbar-corner,.fd-menu--overflow::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-menu--overflow::-webkit-scrollbar-thumb{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-menu--overflow::-webkit-scrollbar-thumb:active,.fd-menu--overflow::-webkit-scrollbar-thumb:hover{box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-menu--overflow::-webkit-scrollbar-corner,.fd-menu--overflow::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-menu--overflow[dir=rtl]::-webkit-scrollbar-corner,.fd-menu--overflow[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-menu--overflow::-webkit-scrollbar-corner,[dir=rtl] .fd-menu--overflow::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-menu--overflow .fd-menu__list{box-shadow:none}.fd-menu--overflow .fd-menu__item:first-child{border-top-right-radius:0}.fd-menu--overflow .fd-menu__item:first-child[dir=rtl],[dir=rtl] .fd-menu--overflow .fd-menu__item:first-child{border-top-left-radius:0;border-top-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu--overflow .fd-menu__item:last-of-type{border-bottom-right-radius:0}.fd-menu--overflow .fd-menu__item:last-of-type[dir=rtl],[dir=rtl] .fd-menu--overflow .fd-menu__item:last-of-type{border-bottom-left-radius:0;border-bottom-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu--full-width{max-width:100%}.fd-menu--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-menu--icons .fd-menu__title:first-child{margin-left:var(--fdMenu_Icon_Width)}.fd-menu--icons .fd-menu__title:first-child[dir=rtl],[dir=rtl] .fd-menu--icons .fd-menu__title:first-child{margin-left:0;margin-right:var(--fdMenu_Icon_Width)}.fd-menu--icons .fd-menu__title:last-child{margin-right:var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons .fd-menu__title:last-child[dir=rtl],[dir=rtl] .fd-menu--icons .fd-menu__title:last-child{margin-left:var(--fdMenu_Text_Spacing_Right);margin-right:0}.fd-menu--icons .fd-menu__title:only-child{margin-left:var(--fdMenu_Icon_Width);margin-right:var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons .fd-menu__title:only-child[dir=rtl],[dir=rtl] .fd-menu--icons .fd-menu__title:only-child{margin-left:var(--fdMenu_Text_Spacing_Right);margin-right:var(--fdMenu_Icon_Width)}.fd-menu--icons .fd-menu__input,.fd-menu--icons .fd-menu__input[dir=rtl],.fd-menu--icons input,.fd-menu--icons input[dir=rtl],[dir=rtl] .fd-menu--icons .fd-menu__input,[dir=rtl] .fd-menu--icons input{margin-left:var(--fdMenu_Text_Spacing_Right);margin-right:var(--fdMenu_Text_Spacing_Right)}.fd-menu--mobile{--fdMenu_Icon_Before_Margin:0 0 0 -1rem;--fdMenu_Icon_After_Margin:0 -1rem 0 0;--fdMenu_Icon_Width:2.75rem;--fdMenu_Item_Spacing_Left:1rem;--fdMenu_Item_Spacing_Right:1rem;--fdMenu_Shortcut_Padding_Right:1rem;--fdMenu_Text_Spacing_Right:1rem;max-width:100%;width:100%}.fd-menu--mobile .fd-menu__list,.fd-menu--mobile .fd-menu__sublist{-webkit-box-shadow:none;border-radius:0;box-shadow:none;margin:0;position:static}.fd-menu--mobile .fd-menu__list .fd-menu__item,.fd-menu--mobile .fd-menu__sublist .fd-menu__item{border-radius:0}.fd-menu--mobile.fd-menu--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-menu--mobile.fd-menu--icons .fd-menu__input,.fd-menu--mobile.fd-menu--icons input{margin-left:1rem;margin-right:1rem}.fd-menu[class*=-compact],.fd-menu[class*=-condensed],[class*=-compact] .fd-menu:not([class*=-cozy]),[class*=-condensed] .fd-menu:not([class*=-cozy]){--fdMenu_Icon_Before_Margin:0 0 0 -.5rem;--fdMenu_Icon_After_Margin:0 -.75rem 0 0;--fdMenu_Icon_Width:2rem;--fdMenu_Link_Height:2rem;--fdMenu_Item_Spacing_Left:.5rem;--fdMenu_Item_Spacing_Right:.5rem;--fdMenu_Shortcut_Padding_Right:.5rem;--fdMenu_Text_Spacing_Right:.5rem}.fd-menu[class*=-compact].fd-menu--icons,.fd-menu[class*=-condensed].fd-menu--icons,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-menu[class*=-compact].fd-menu--icons .fd-menu__input,.fd-menu[class*=-compact].fd-menu--icons input,.fd-menu[class*=-condensed].fd-menu--icons .fd-menu__input,.fd-menu[class*=-condensed].fd-menu--icons input,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__input,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons input,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__input,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons input{margin-left:.5rem;margin-right:.5rem}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.fd-menu-popover__body--static{position:static}\n"] }]
174
- }], ctorParameters: function () { return [{ type: i1.RtlService, decorators: [{
174
+ }], ctorParameters: () => [{ type: i1.RtlService, decorators: [{
175
175
  type: Optional
176
- }] }, { type: i2.ContentDensityObserver }]; }, propDecorators: { id: [{
176
+ }] }, { type: i2.ContentDensityObserver }], propDecorators: { id: [{
177
177
  type: Input
178
178
  }], openByArrowKeys: [{
179
179
  type: Input
@@ -190,4 +190,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
190
190
  close: [{
191
191
  type: Output
192
192
  }] } });
193
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvbWVudS9tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi9tZW51L21lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBZSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEYsT0FBTyxFQUdILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLFlBQVksRUFDWixLQUFLLEVBRUwsUUFBUSxFQUNSLE1BQU0sRUFDTixTQUFTLEVBQ1QsV0FBVyxFQUNYLFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLCtCQUErQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDaEgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFJMUQ7OztHQUdHO0FBQ0gsTUFBTSxZQUFZLEdBQUcsV0FBVyxDQUFDO0FBQ2pDLElBQUksYUFBYSxHQUFHLENBQUMsQ0FBQztBQUV0Qjs7O0dBR0c7QUFXSCxNQUFN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QUMsSUFBSSxhQUMxQixDQUFDLCtCQUErQixFQUFFLENBQUMsY0FDbEMsSUFBSSxXQUNQLENBQUMsU0FBUyxDQUFDOzswQkFtRVAsUUFBUTtpRkE5RGpCLEVBQUU7c0JBREwsS0FBSztnQkFnQk4sZUFBZTtzQkFEZCxLQUFLO2dCQU9OLFNBQVM7c0JBRFIsS0FBSztnQkFRTixXQUFXO3NCQURWLFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFPNUMsU0FBUztzQkFEUixlQUFlO3VCQUFDLGlCQUFpQjs7UUFPbEMsNERBQTREO1FBQzVELEtBQUs7c0JBRkosTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvY3VzS2V5TWFuYWdlciwgRm9jdXNPcmlnaW4gfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBFTlRFUiwgRVNDQVBFLCBMRUZUX0FSUk9XLCBSSUdIVF9BUlJPVywgU1BBQ0UgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uLCBtZXJnZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3RhcnRXaXRoLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBLZXlVdGlsLCBSdGxTZXJ2aWNlLCB3YXJuT25jZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5T2JzZXJ2ZXIsIGNvbnRlbnREZW5zaXR5T2JzZXJ2ZXJQcm92aWRlcnMgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvY29udGVudC1kZW5zaXR5JztcbmltcG9ydCB7IE1lbnVJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9tZW51LWl0ZW0uY29tcG9uZW50JztcblxuZXhwb3J0IHR5cGUgTWVudUNsb3NlTWV0aG9kID0gdm9pZCB8ICdtb3VzZScgfCAna2V5Ym9hcmQnIHwgJ3RhYicgfCAnYXJyb3cnO1xuXG4vKipcbiAqIFZhcmlhYmxlcyBmb3IgZ2VuZXJhdGluZyBtZW51IElEcy5cbiAqIE5lZWRlZCBmb3IgZXN0YWJsaXNoaW5nICdhcmlhLWNvbnRyb2wnIGJldHdlZW4gdHJpZ2dlciBhbmQgbWVudS5cbiAqL1xuY29uc3QgTUVOVV9JRF9ST09UID0gJ2ZkcC1tZW51LSc7XG5sZXQgbWVudUlkQ291bnRlciA9IDA7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWRcbiAqIE1lbnUgY29tcG9uZW50IGlzIGRlcHJlY2F0ZWQuIFVzZSBgZmQtbWVudWAgZnJvbSBgQGZ1bmRhbWVudGFsLW5neC9jb3JlL21lbnVgIGluc3RlYWQuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmRwLW1lbnUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9tZW51LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFtjb250ZW50RGVuc2l0eU9ic2VydmVyUHJvdmlkZXJzKCldLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0FzeW5jUGlwZV1cbn0pXG5leHBvcnQgY2xhc3MgTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG4gICAgLyoqIE1lbnUgSUQgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBpZChpZDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2lkID0gaWQ7XG5cbiAgICAgICAgLy8gVXNlICdpZCcgcHJvcGVydHkgdG8gY3JlYXRlIG1lbnUgSUQgZm9yIGFyaWEtY29udHJvbCBwdXJwb3Nlcy5cbiAgICAgICAgdGhpcy5tZW51SWQgPSBNRU5VX0lEX1JPT1QgKyBpZDtcbiAgICB9XG4gICAgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG1lbnUgY2FuIGJlIG9wZW5lZCB1c2luZyBhcnJvdyBrZXlzXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgb3BlbkJ5QXJyb3dLZXlzID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIEhvcml6b250YWwgcG9zaXRpb24gb2YgbWVudSBpbiByZWxhdGlvbiB0byB0cmlnZ2VyIGVsZW1lbnQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICB4UG9zaXRpb246ICdiZWZvcmUnIHwgJ2FmdGVyJyA9ICdhZnRlcic7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdGVtcGxhdGVSZWYgbmVlZHMgdG8gYmUgYXZhaWxhYmxlIHRvIHRoZSBtZW51IHRyaWdnZXIgZm9yXG4gICAgICogb3BlbmluZyBpbiBhIENESyBvdmVybGF5LlxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoJ21lbnVUZW1wbGF0ZScsIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgLyoqXG4gICAgICogQ2hpbGQgaXRlbXMgb2YgdGhlIG1lbnUuXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihNZW51SXRlbUNvbXBvbmVudClcbiAgICBtZW51SXRlbXM6IFF1ZXJ5TGlzdDxNZW51SXRlbUNvbXBvbmVudD47XG5cbiAgICAvKipcbiAgICAgKiBFbWl0dGVkIGV2ZW50IHdoZW4gbWVudSBjbG9zZXNcbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1uYXRpdmVcbiAgICBjbG9zZTogRXZlbnRFbWl0dGVyPE1lbnVDbG9zZU1ldGhvZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICAvKiogTWVudSBkaXJlY3Rpb24gKi9cbiAgICBkaXJlY3Rpb246ICdsdHInIHwgJ3J0bCcgPSAnbHRyJztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbWVudUlkOiBzdHJpbmc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2lkOiBzdHJpbmc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2tleU1hbmFnZXI6IEZvY3VzS2V5TWFuYWdlcjxNZW51SXRlbUNvbXBvbmVudD47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3RhYlN1YnNjcmlwdGlvbiA9IFN1YnNjcmlwdGlvbi5FTVBUWTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGlyQ2hhbmdlU3Vic2NyaXB0aW9uID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwcml2YXRlIF9ydGw6IFJ0bFNlcnZpY2UsIHJlYWRvbmx5IGNvbnRlbnREZW5zaXR5T2JzZXJ2ZXI6IENvbnRlbnREZW5zaXR5T2JzZXJ2ZXIpIHtcbiAgICAgICAgaWYgKHRoaXMuX3J0bCkge1xuICAgICAgICAgICAgdGhpcy5fZGlyQ2hhbmdlU3Vic2NyaXB0aW9uID0gdGhpcy5fcnRsLnJ0bC5zdWJzY3JpYmUoKHZhbHVlOiBib29sZWFuKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kaXJlY3Rpb24gPSB2YWx1ZSA/ICdydGwnIDogJ2x0cic7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2V0TWVudUl0ZW1DYXNjYWRlRGlyZWN0aW9uKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICB3YXJuT25jZShgTWVudUNvbXBvbmVudCBpcyBkZXByZWNhdGVkLiBVc2UgJ2ZkLW1lbnUnIGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9tZW51JyBpbnN0ZWFkLmApO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMubWVudUlkKSB7XG4gICAgICAgICAgICB0aGlzLm1lbnVJZCA9IE1FTlVfSURfUk9PVCArIG1lbnVJZENvdW50ZXIrKztcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5tZW51SXRlbXMpIHtcbiAgICAgICAgICAgIHRoaXMuX2tleU1hbmFnZXIgPSBuZXcgRm9jdXNLZXlNYW5hZ2VyKHRoaXMubWVudUl0ZW1zKTtcbiAgICAgICAgICAgIHRoaXMuX3RhYlN1YnNjcmlwdGlvbiA9IHRoaXMuX2tleU1hbmFnZXIudGFiT3V0LnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZS5lbWl0KCdrZXlib2FyZCcpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2V0TWVudUl0ZW1DYXNjYWRlRGlyZWN0aW9uKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbG9zZS5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLl90YWJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5fZGlyQ2hhbmdlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuX2tleU1hbmFnZXI/LmRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXQgZm9jdXMgb24gZmlyc3QgaXRlbVxuICAgICAqIEBwYXJhbSBvcmlnaW4gRm9jdXNPcmlnaW5cbiAgICAgKi9cbiAgICBmb2N1c09uRmlyc3RJdGVtKG9yaWdpbjogRm9jdXNPcmlnaW4gPSAncHJvZ3JhbScpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fa2V5TWFuYWdlci5zZXRGb2N1c09yaWdpbihvcmlnaW4pLnNldEZpcnN0SXRlbUFjdGl2ZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENsb3NlIG1lbnVcbiAgICAgKiBAcGFyYW0gbWV0aG9kIG1lbnUgY2xvc2UgbWV0aG9kXG4gICAgICovXG4gICAgY2xvc2VNZW51KG1ldGhvZDogTWVudUNsb3NlTWV0aG9kKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xvc2UuZW1pdChtZXRob2QpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBNZW51IGtleWRvd24gaGFuZGxlclxuICAgICAqL1xuICAgIF9vbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBMRUZUX0FSUk9XKSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2Nhc2NhZGVzUmlnaHQoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2UuZW1pdCgnYXJyb3cnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgUklHSFRfQVJST1cpKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5fY2FzY2FkZXNMZWZ0KCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlLmVtaXQoJ2Fycm93Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIEVTQ0FQRSkpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UuZW1pdCgna2V5Ym9hcmQnKTtcbiAgICAgICAgfSBlbHNlIGlmIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgW0VOVEVSLCBTUEFDRV0pKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgdGhpcy5jbG9zZS5lbWl0KCdrZXlib2FyZCcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fa2V5TWFuYWdlci5vbktleWRvd24oZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIE1lbnUgY2xpY2sgaGFuZGxlclxuICAgICAqL1xuICAgIF9vbkNsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsb3NlLmVtaXQoJ21vdXNlJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEdldCBzdHJlYW0gb2YgbWVudSBpdGVtcyBob3ZlciBjaGFuZ2VcbiAgICAgKi9cbiAgICBfbWVudUl0ZW1Ib3ZlckNoYW5nZSgpOiBPYnNlcnZhYmxlPE1lbnVJdGVtQ29tcG9uZW50PiB7XG4gICAgICAgIGNvbnN0IG1lbnVJdGVtcyA9IHRoaXMubWVudUl0ZW1zLmNoYW5nZXMgYXMgT2JzZXJ2YWJsZTxRdWVyeUxpc3Q8TWVudUl0ZW1Db21wb25lbnQ+PjtcbiAgICAgICAgcmV0dXJuIG1lbnVJdGVtcy5waXBlKFxuICAgICAgICAgICAgc3RhcnRXaXRoKHRoaXMubWVudUl0ZW1zKSxcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoaXRlbXMpID0+IG1lcmdlKC4uLml0ZW1zLm1hcCgoaXRlbTogTWVudUl0ZW1Db21wb25lbnQpID0+IGl0ZW0uaG92ZXJlZCkpKVxuICAgICAgICApIGFzIE9ic2VydmFibGU8TWVudUl0ZW1Db21wb25lbnQ+O1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3NldE1lbnVJdGVtQ2FzY2FkZURpcmVjdGlvbigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLm1lbnVJdGVtcykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIHNldCBjYXNjYWRlIGRpcmVjdGlvblxuICAgICAgICB0aGlzLm1lbnVJdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpdGVtLmNhc2NhZGVEaXJlY3Rpb24gPSB0aGlzLl9jYXNjYWRlc0xlZnQoKSA/ICdsZWZ0JyA6ICdyaWdodCc7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBDaGVjayBpZiBjYXNjYWRlIG1lbnUgc2hvdWxkIGFwcGVhciBmcm9tIHJpZ2h0XG4gICAgICovXG4gICAgX2Nhc2NhZGVzUmlnaHQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAodGhpcy54UG9zaXRpb24gPT09ICdhZnRlcicgJiYgdGhpcy5kaXJlY3Rpb24gPT09ICdsdHInKSB8fFxuICAgICAgICAgICAgKHRoaXMueFBvc2l0aW9uID09PSAnYmVmb3JlJyAmJiB0aGlzLmRpcmVjdGlvbiA9PT0gJ3J0bCcpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIENoZWNrIGlmIGNhc2NhZGUgbWVudSBzaG91bGQgYXBwZWFyIGZyb20gbGVmdFxuICAgICAqL1xuICAgIF9jYXNjYWRlc0xlZnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAodGhpcy54UG9zaXRpb24gPT09ICdhZnRlcicgJiYgdGhpcy5kaXJlY3Rpb24gPT09ICdydGwnKSB8fFxuICAgICAgICAgICAgKHRoaXMueFBvc2l0aW9uID09PSAnYmVmb3JlJyAmJiB0aGlzLmRpcmVjdGlvbiA9PT0gJ2x0cicpXG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiPG5nLXRlbXBsYXRlICNtZW51VGVtcGxhdGU+XG4gICAgPG5hdlxuICAgICAgICBbYXR0ci5pZF09XCJtZW51SWRcIlxuICAgICAgICBbYXR0ci5kaXJdPVwiZGlyZWN0aW9uXCJcbiAgICAgICAgY2xhc3M9XCJmZC1tZW51XCJcbiAgICAgICAgW2NsYXNzLmlzLWNvbXBhY3RdPVwiY29udGVudERlbnNpdHlPYnNlcnZlci5pc0NvbXBhY3QkIHwgYXN5bmNcIlxuICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICByb2xlPVwibWVudVwiXG4gICAgICAgIChjbGljayk9XCJfb25DbGljaygpXCJcbiAgICAgICAgKGtleWRvd24pPVwiX29uS2V5ZG93bigkZXZlbnQpXCJcbiAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmZC1tZW51X19saXN0XCI+XG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmF2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
193
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvbWVudS9tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi9tZW51L21lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBZSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEYsT0FBTyxFQUdILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLFlBQVksRUFDWixLQUFLLEVBRUwsUUFBUSxFQUNSLE1BQU0sRUFDTixTQUFTLEVBQ1QsV0FBVyxFQUNYLFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLCtCQUErQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDaEgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFJMUQ7OztHQUdHO0FBQ0gsTUFBTSxZQUFZLEdBQUcsV0FBVyxDQUFDO0FBQ2pDLElBQUksYUFBYSxHQUFHLENBQUMsQ0FBQztBQUV0Qjs7O0dBR0c7QUFXSCxNQUFN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Q0FBQyxJQUFJLGFBQzFCLENBQUMsK0JBQStCLEVBQUUsQ0FBQyxjQUNsQyxJQUFJLFdBQ1AsQ0FBQyxTQUFTLENBQUM7OzBCQW9FZixRQUFROzhFQS9EVCxFQUFFO3NCQURMLEtBQUs7Z0JBZ0JOLGVBQWU7c0JBRGQsS0FBSztnQkFPTixTQUFTO3NCQURSLEtBQUs7Z0JBUU4sV0FBVztzQkFEVixTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBTzVDLFNBQVM7c0JBRFIsZUFBZTt1QkFBQyxpQkFBaUI7O1FBT2xDLDREQUE0RDtRQUM1RCxLQUFLO3NCQUZKLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c0tleU1hbmFnZXIsIEZvY3VzT3JpZ2luIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgRU5URVIsIEVTQ0FQRSwgTEVGVF9BUlJPVywgUklHSFRfQVJST1csIFNQQUNFIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgbWVyZ2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHN0YXJ0V2l0aCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgS2V5VXRpbCwgUnRsU2VydmljZSwgd2Fybk9uY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBDb250ZW50RGVuc2l0eU9ic2VydmVyLCBjb250ZW50RGVuc2l0eU9ic2VydmVyUHJvdmlkZXJzIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2NvbnRlbnQtZGVuc2l0eSc7XG5pbXBvcnQgeyBNZW51SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vbWVudS1pdGVtLmNvbXBvbmVudCc7XG5cbmV4cG9ydCB0eXBlIE1lbnVDbG9zZU1ldGhvZCA9IHZvaWQgfCAnbW91c2UnIHwgJ2tleWJvYXJkJyB8ICd0YWInIHwgJ2Fycm93JztcblxuLyoqXG4gKiBWYXJpYWJsZXMgZm9yIGdlbmVyYXRpbmcgbWVudSBJRHMuXG4gKiBOZWVkZWQgZm9yIGVzdGFibGlzaGluZyAnYXJpYS1jb250cm9sJyBiZXR3ZWVuIHRyaWdnZXIgYW5kIG1lbnUuXG4gKi9cbmNvbnN0IE1FTlVfSURfUk9PVCA9ICdmZHAtbWVudS0nO1xubGV0IG1lbnVJZENvdW50ZXIgPSAwO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkXG4gKiBNZW51IGNvbXBvbmVudCBpcyBkZXByZWNhdGVkLiBVc2UgYGZkLW1lbnVgIGZyb20gYEBmdW5kYW1lbnRhbC1uZ3gvY29yZS9tZW51YCBpbnN0ZWFkLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkcC1tZW51JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWVudS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL21lbnUuY29tcG9uZW50LnNjc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJvdmlkZXJzOiBbY29udGVudERlbnNpdHlPYnNlcnZlclByb3ZpZGVycygpXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtBc3luY1BpcGVdXG59KVxuZXhwb3J0IGNsYXNzIE1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICAgIC8qKiBNZW51IElEICovXG4gICAgQElucHV0KClcbiAgICBzZXQgaWQoaWQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9pZCA9IGlkO1xuXG4gICAgICAgIC8vIFVzZSAnaWQnIHByb3BlcnR5IHRvIGNyZWF0ZSBtZW51IElEIGZvciBhcmlhLWNvbnRyb2wgcHVycG9zZXMuXG4gICAgICAgIHRoaXMubWVudUlkID0gTUVOVV9JRF9ST09UICsgaWQ7XG4gICAgfVxuICAgIGdldCBpZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5faWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciBtZW51IGNhbiBiZSBvcGVuZWQgdXNpbmcgYXJyb3cga2V5c1xuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIG9wZW5CeUFycm93S2V5cyA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBIb3Jpem9udGFsIHBvc2l0aW9uIG9mIG1lbnUgaW4gcmVsYXRpb24gdG8gdHJpZ2dlciBlbGVtZW50LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgeFBvc2l0aW9uOiAnYmVmb3JlJyB8ICdhZnRlcicgPSAnYWZ0ZXInO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHRlbXBsYXRlUmVmIG5lZWRzIHRvIGJlIGF2YWlsYWJsZSB0byB0aGUgbWVudSB0cmlnZ2VyIGZvclxuICAgICAqIG9wZW5pbmcgaW4gYSBDREsgb3ZlcmxheS5cbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKCdtZW51VGVtcGxhdGUnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKlxuICAgICAqIENoaWxkIGl0ZW1zIG9mIHRoZSBtZW51LlxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oTWVudUl0ZW1Db21wb25lbnQpXG4gICAgbWVudUl0ZW1zOiBRdWVyeUxpc3Q8TWVudUl0ZW1Db21wb25lbnQ+O1xuXG4gICAgLyoqXG4gICAgICogRW1pdHRlZCBldmVudCB3aGVuIG1lbnUgY2xvc2VzXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gICAgY2xvc2U6IEV2ZW50RW1pdHRlcjxNZW51Q2xvc2VNZXRob2Q+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgLyoqIE1lbnUgZGlyZWN0aW9uICovXG4gICAgZGlyZWN0aW9uOiAnbHRyJyB8ICdydGwnID0gJ2x0cic7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG1lbnVJZDogc3RyaW5nO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pZDogc3RyaW5nO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9rZXlNYW5hZ2VyOiBGb2N1c0tleU1hbmFnZXI8TWVudUl0ZW1Db21wb25lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF90YWJTdWJzY3JpcHRpb24gPSBTdWJzY3JpcHRpb24uRU1QVFk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2RpckNoYW5nZVN1YnNjcmlwdGlvbiA9IFN1YnNjcmlwdGlvbi5FTVBUWTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX3J0bDogUnRsU2VydmljZSxcbiAgICAgICAgcmVhZG9ubHkgY29udGVudERlbnNpdHlPYnNlcnZlcjogQ29udGVudERlbnNpdHlPYnNlcnZlclxuICAgICkge1xuICAgICAgICBpZiAodGhpcy5fcnRsKSB7XG4gICAgICAgICAgICB0aGlzLl9kaXJDaGFuZ2VTdWJzY3JpcHRpb24gPSB0aGlzLl9ydGwucnRsLnN1YnNjcmliZSgodmFsdWU6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmRpcmVjdGlvbiA9IHZhbHVlID8gJ3J0bCcgOiAnbHRyJztcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXRNZW51SXRlbUNhc2NhZGVEaXJlY3Rpb24oKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHdhcm5PbmNlKGBNZW51Q29tcG9uZW50IGlzIGRlcHJlY2F0ZWQuIFVzZSAnZmQtbWVudScgZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL21lbnUnIGluc3RlYWQuYCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5tZW51SWQpIHtcbiAgICAgICAgICAgIHRoaXMubWVudUlkID0gTUVOVV9JRF9ST09UICsgbWVudUlkQ291bnRlcisrO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLm1lbnVJdGVtcykge1xuICAgICAgICAgICAgdGhpcy5fa2V5TWFuYWdlciA9IG5ldyBGb2N1c0tleU1hbmFnZXIodGhpcy5tZW51SXRlbXMpO1xuICAgICAgICAgICAgdGhpcy5fdGFiU3Vic2NyaXB0aW9uID0gdGhpcy5fa2V5TWFuYWdlci50YWJPdXQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlLmVtaXQoJ2tleWJvYXJkJyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zZXRNZW51SXRlbUNhc2NhZGVEaXJlY3Rpb24oKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsb3NlLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMuX3RhYlN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9kaXJDaGFuZ2VTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5fa2V5TWFuYWdlcj8uZGVzdHJveSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldCBmb2N1cyBvbiBmaXJzdCBpdGVtXG4gICAgICogQHBhcmFtIG9yaWdpbiBGb2N1c09yaWdpblxuICAgICAqL1xuICAgIGZvY3VzT25GaXJzdEl0ZW0ob3JpZ2luOiBGb2N1c09yaWdpbiA9ICdwcm9ncmFtJyk6IHZvaWQge1xuICAgICAgICB0aGlzLl9rZXlNYW5hZ2VyLnNldEZvY3VzT3JpZ2luKG9yaWdpbikuc2V0Rmlyc3RJdGVtQWN0aXZlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xvc2UgbWVudVxuICAgICAqIEBwYXJhbSBtZXRob2QgbWVudSBjbG9zZSBtZXRob2RcbiAgICAgKi9cbiAgICBjbG9zZU1lbnUobWV0aG9kOiBNZW51Q2xvc2VNZXRob2QpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbG9zZS5lbWl0KG1ldGhvZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIE1lbnUga2V5ZG93biBoYW5kbGVyXG4gICAgICovXG4gICAgX29uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIExFRlRfQVJST1cpKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5fY2FzY2FkZXNSaWdodCgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZS5lbWl0KCdhcnJvdycpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBSSUdIVF9BUlJPVykpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9jYXNjYWRlc0xlZnQoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2UuZW1pdCgnYXJyb3cnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgRVNDQVBFKSkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZS5lbWl0KCdrZXlib2FyZCcpO1xuICAgICAgICB9IGVsc2UgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBbRU5URVIsIFNQQUNFXSkpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB0aGlzLmNsb3NlLmVtaXQoJ2tleWJvYXJkJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9rZXlNYW5hZ2VyLm9uS2V5ZG93bihldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogTWVudSBjbGljayBoYW5kbGVyXG4gICAgICovXG4gICAgX29uQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xvc2UuZW1pdCgnbW91c2UnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogR2V0IHN0cmVhbSBvZiBtZW51IGl0ZW1zIGhvdmVyIGNoYW5nZVxuICAgICAqL1xuICAgIF9tZW51SXRlbUhvdmVyQ2hhbmdlKCk6IE9ic2VydmFibGU8TWVudUl0ZW1Db21wb25lbnQ+IHtcbiAgICAgICAgY29uc3QgbWVudUl0ZW1zID0gdGhpcy5tZW51SXRlbXMuY2hhbmdlcyBhcyBPYnNlcnZhYmxlPFF1ZXJ5TGlzdDxNZW51SXRlbUNvbXBvbmVudD4+O1xuICAgICAgICByZXR1cm4gbWVudUl0ZW1zLnBpcGUoXG4gICAgICAgICAgICBzdGFydFdpdGgodGhpcy5tZW51SXRlbXMpLFxuICAgICAgICAgICAgc3dpdGNoTWFwKChpdGVtcykgPT4gbWVyZ2UoLi4uaXRlbXMubWFwKChpdGVtOiBNZW51SXRlbUNvbXBvbmVudCkgPT4gaXRlbS5ob3ZlcmVkKSkpXG4gICAgICAgICkgYXMgT2JzZXJ2YWJsZTxNZW51SXRlbUNvbXBvbmVudD47XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfc2V0TWVudUl0ZW1DYXNjYWRlRGlyZWN0aW9uKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMubWVudUl0ZW1zKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gc2V0IGNhc2NhZGUgZGlyZWN0aW9uXG4gICAgICAgIHRoaXMubWVudUl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGl0ZW0uY2FzY2FkZURpcmVjdGlvbiA9IHRoaXMuX2Nhc2NhZGVzTGVmdCgpID8gJ2xlZnQnIDogJ3JpZ2h0JztcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIENoZWNrIGlmIGNhc2NhZGUgbWVudSBzaG91bGQgYXBwZWFyIGZyb20gcmlnaHRcbiAgICAgKi9cbiAgICBfY2FzY2FkZXNSaWdodCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICh0aGlzLnhQb3NpdGlvbiA9PT0gJ2FmdGVyJyAmJiB0aGlzLmRpcmVjdGlvbiA9PT0gJ2x0cicpIHx8XG4gICAgICAgICAgICAodGhpcy54UG9zaXRpb24gPT09ICdiZWZvcmUnICYmIHRoaXMuZGlyZWN0aW9uID09PSAncnRsJylcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQ2hlY2sgaWYgY2FzY2FkZSBtZW51IHNob3VsZCBhcHBlYXIgZnJvbSBsZWZ0XG4gICAgICovXG4gICAgX2Nhc2NhZGVzTGVmdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICh0aGlzLnhQb3NpdGlvbiA9PT0gJ2FmdGVyJyAmJiB0aGlzLmRpcmVjdGlvbiA9PT0gJ3J0bCcpIHx8XG4gICAgICAgICAgICAodGhpcy54UG9zaXRpb24gPT09ICdiZWZvcmUnICYmIHRoaXMuZGlyZWN0aW9uID09PSAnbHRyJylcbiAgICAgICAgKTtcbiAgICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI21lbnVUZW1wbGF0ZT5cbiAgICA8bmF2XG4gICAgICAgIFthdHRyLmlkXT1cIm1lbnVJZFwiXG4gICAgICAgIFthdHRyLmRpcl09XCJkaXJlY3Rpb25cIlxuICAgICAgICBjbGFzcz1cImZkLW1lbnVcIlxuICAgICAgICBbY2xhc3MuaXMtY29tcGFjdF09XCJjb250ZW50RGVuc2l0eU9ic2VydmVyLmlzQ29tcGFjdCQgfCBhc3luY1wiXG4gICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgIHJvbGU9XCJtZW51XCJcbiAgICAgICAgKGNsaWNrKT1cIl9vbkNsaWNrKClcIlxuICAgICAgICAoa2V5ZG93bik9XCJfb25LZXlkb3duKCRldmVudClcIlxuICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZkLW1lbnVfX2xpc3RcIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uYXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -6,11 +6,11 @@ import { MenuComponent } from './menu.component';
6
6
  import * as i0 from "@angular/core";
7
7
  const components = [MenuComponent, MenuItemComponent, MenuTriggerDirective, ContentDensityModule];
8
8
  export class PlatformMenuModule {
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: PlatformMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.7", ngImport: i0, type: PlatformMenuModule, imports: [MenuComponent, MenuItemComponent, MenuTriggerDirective, ContentDensityModule], exports: [MenuComponent, MenuItemComponent, MenuTriggerDirective, ContentDensityModule] }); }
11
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: PlatformMenuModule, imports: [ContentDensityModule, ContentDensityModule] }); }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: PlatformMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: PlatformMenuModule, imports: [MenuComponent, MenuItemComponent, MenuTriggerDirective, ContentDensityModule], exports: [MenuComponent, MenuItemComponent, MenuTriggerDirective, ContentDensityModule] }); }
11
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: PlatformMenuModule, imports: [ContentDensityModule, ContentDensityModule] }); }
12
12
  }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: PlatformMenuModule, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: PlatformMenuModule, decorators: [{
14
14
  type: NgModule,
15
15
  args: [{
16
16
  imports: [...components],
@@ -33,13 +33,13 @@ export class MenuButtonComponent extends BaseComponent {
33
33
  onButtonClick($event) {
34
34
  this.buttonClicked.emit($event);
35
35
  }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: MenuButtonComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
37
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: MenuButtonComponent, isStandalone: true, selector: "fdp-menu-button", inputs: { label: "label", title: "title", icon: "icon", type: "type" }, outputs: { buttonClicked: "buttonClicked" }, host: { properties: { "class.fd-menu-button--disabled": "this.menuButtonDisabled" } }, usesInheritance: true, ngImport: i0, template: "<button\n fd-button\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [fdMenu]=\"true\"\n [label]=\"label\"\n [glyph]=\"icon\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy + ' ' + id : null\"\n [attr.aria-label]=\"ariaLabel\"\n (click)=\"onButtonClick($event)\"\n [fdType]=\"type\"\n [attr.tabindex]=\"tabindex\"\n [attr.title]=\"title\"\n [attr.aria-haspopup]=\"true\"\n>\n <ng-content></ng-content>\n</button>\n", styles: [":host{display:inline-block}:host(.fd-menu-button--disabled){cursor:not-allowed;pointer-events:none}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: MenuButtonComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
37
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: MenuButtonComponent, isStandalone: true, selector: "fdp-menu-button", inputs: { label: "label", title: "title", icon: "icon", type: "type" }, outputs: { buttonClicked: "buttonClicked" }, host: { properties: { "class.fd-menu-button--disabled": "this.menuButtonDisabled" } }, usesInheritance: true, ngImport: i0, template: "<button\n fd-button\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [fdMenu]=\"true\"\n [label]=\"label\"\n [glyph]=\"icon\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy + ' ' + id : null\"\n [attr.aria-label]=\"ariaLabel\"\n (click)=\"onButtonClick($event)\"\n [fdType]=\"type\"\n [attr.tabindex]=\"tabindex\"\n [attr.title]=\"title\"\n [attr.aria-haspopup]=\"true\"\n>\n <ng-content></ng-content>\n</button>\n", styles: [":host{display:inline-block}:host(.fd-menu-button--disabled){cursor:not-allowed;pointer-events:none}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
38
38
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: MenuButtonComponent, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: MenuButtonComponent, decorators: [{
40
40
  type: Component,
41
41
  args: [{ selector: 'fdp-menu-button', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [ButtonComponent], template: "<button\n fd-button\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [fdMenu]=\"true\"\n [label]=\"label\"\n [glyph]=\"icon\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy + ' ' + id : null\"\n [attr.aria-label]=\"ariaLabel\"\n (click)=\"onButtonClick($event)\"\n [fdType]=\"type\"\n [attr.tabindex]=\"tabindex\"\n [attr.title]=\"title\"\n [attr.aria-haspopup]=\"true\"\n>\n <ng-content></ng-content>\n</button>\n", styles: [":host{display:inline-block}:host(.fd-menu-button--disabled){cursor:not-allowed;pointer-events:none}\n"] }]
42
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { label: [{
42
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { label: [{
43
43
  type: Input
44
44
  }], title: [{
45
45
  type: Input
@@ -53,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
53
53
  type: HostBinding,
54
54
  args: ['class.fd-menu-button--disabled']
55
55
  }] } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL21lbnUtYnV0dG9uL21lbnUtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi9tZW51LWJ1dHRvbi9tZW51LWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBQ0wsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sOEJBQThCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQUVqRTs7O0dBR0c7QUFTSCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsYUFBYTtJQXNCbEQsY0FBYztJQUNkLFlBQVksR0FBc0I7UUFDOUIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBTmYsNkNBQTZDO1FBRTdDLGtCQUFhLEdBQTBELElBQUksWUFBWSxFQUFFLENBQUM7UUFLdEYsUUFBUSxDQUNKLG1JQUFtSSxDQUN0SSxDQUFDO0lBQ04sQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUNJLGtCQUFrQjtRQUNsQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUVELG1DQUFtQztJQUNuQyxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksYUFBYSxDQUFDLE1BQVc7UUFDNUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQzs4R0FsRFEsbUJBQW1CO2tHQUFuQixtQkFBbUIsOFNDMUJoQyxxaEJBbUJBLCtKREtjLGVBQWU7OzJGQUVoQixtQkFBbUI7a0JBUi9CLFNBQVM7K0JBQ0ksaUJBQWlCLG1CQUdWLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsZUFBZSxDQUFDO3dHQUsxQixLQUFLO3NCQURKLEtBQUs7Z0JBS04sS0FBSztzQkFESixLQUFLO2dCQUtOLElBQUk7c0JBREgsS0FBSztnQkFNTixJQUFJO3NCQURILEtBQUs7Z0JBS04sYUFBYTtzQkFEWixNQUFNO2dCQWlCSCxrQkFBa0I7c0JBRHJCLFdBQVc7dUJBQUMsZ0NBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE91dHB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgd2Fybk9uY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQsIEJ1dHRvblR5cGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvYnV0dG9uJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL3NoYXJlZCc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWRcbiAqIEJ1dHRvbiBjb21wb25lbnQgaXMgZGVwcmVjYXRlZC4gVXNlIGBmZC1idXR0b25gIGZyb20gYEBmdW5kYW1lbnRhbC1uZ3gvY29yZS9idXR0b25gIHdpdGggYEBmdW5kYW1lbnRhbC1uZ3gvY29yZS9tZW51YCBpbnN0ZWFkLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkcC1tZW51LWJ1dHRvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL21lbnUtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9tZW51LWJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0J1dHRvbkNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgTWVudUJ1dHRvbkNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICAgIC8qKiBMYWJlbCBmb3IgbWVudSBidXR0b24gKi9cbiAgICBASW5wdXQoKVxuICAgIGxhYmVsOiBzdHJpbmc7XG5cbiAgICAvKiogdGV4dCBmb3IgdG9vbHRpcCAqL1xuICAgIEBJbnB1dCgpXG4gICAgdGl0bGU6IHN0cmluZztcblxuICAgIC8qKiBUaGUgU2FwLWljb24gdG8gaW5jbHVkZSBpbiB0aGUgbWVudS1idXR0b24gKi9cbiAgICBASW5wdXQoKVxuICAgIGljb246IHN0cmluZztcblxuICAgIC8qKiBUaGUgdHlwZSBvZiB0aGUgYnV0dG9uLiBUeXBlcyBpbmNsdWRlICdzdGFuZGFyZCcsICdwb3NpdGl2ZScsICduZWdhdGl2ZScsICd0cmFuc3BhcmVudCcsICdhdHRlbnRpb24nLCAnZW1waGFzaXplZCcsICdnaG9zdCcuXG4gICAgICogTGVhdmUgZW1wdHkgZm9yIGRlZmF1bHQuJyovXG4gICAgQElucHV0KClcbiAgICB0eXBlOiBCdXR0b25UeXBlO1xuXG4gICAgLyoqIEV2ZW50IHNlbnQgd2hlbiBtZW51LWJ1dHRvbiBpcyBjbGlja2VkICovXG4gICAgQE91dHB1dCgpXG4gICAgYnV0dG9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQgfCBLZXlib2FyZEV2ZW50IHwgVG91Y2hFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICAgICAgc3VwZXIoX2NkKTtcbiAgICAgICAgd2Fybk9uY2UoXG4gICAgICAgICAgICAnTWVudUJ1dHRvbkNvbXBvbmVudCBpcyBkZXByZWNhdGVkLiBVc2UgYGZkLWJ1dHRvbmAgZnJvbSBgQGZ1bmRhbWVudGFsLW5neC9jb3JlL2J1dHRvbmAgd2l0aCBgQGZ1bmRhbWVudGFsLW5neC9jb3JlL21lbnVgIGluc3RlYWQuJ1xuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW4gZGlzYWJsaW5nIGZkLWJ1dHRvbiBkb2VzIG5vdCBkaXNhYmxlcyBtZW51IGJ1dHRvbi5cbiAgICAgKiBiZWNhdXNlIG1lbnUgdHJpZ2dlciBpcyBvbiBtZW51LWJ1dHRvbjsgbWVudSBnZXRzIG9wZW4uXG4gICAgICogdG8gcHJldmVudCB0aGlzLCBuZWVkIHRvIGFwcGx5IGRpc2FibGVkIGF0IG1lbnUtYnV0dG9uIGxldmVsIGFzIHdlbGwuXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1tZW51LWJ1dHRvbi0tZGlzYWJsZWQnKVxuICAgIGdldCBtZW51QnV0dG9uRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIHRhYmluZGV4IGZvciBidXR0b24uICovXG4gICAgZ2V0IHRhYmluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkID8gLTEgOiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqICBIYW5kbGVzIG1lbnUtYnV0dG9uIGNsaWNrXG4gICAgICovXG4gICAgcHVibGljIG9uQnV0dG9uQ2xpY2soJGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5idXR0b25DbGlja2VkLmVtaXQoJGV2ZW50KTtcbiAgICB9XG59XG4iLCI8YnV0dG9uXG4gICAgZmQtYnV0dG9uXG4gICAgW2F0dHIuaWRdPVwiaWRcIlxuICAgIFthdHRyLm5hbWVdPVwibmFtZVwiXG4gICAgW2ZkTWVudV09XCJ0cnVlXCJcbiAgICBbbGFiZWxdPVwibGFiZWxcIlxuICAgIFtnbHlwaF09XCJpY29uXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRCeSA/IGFyaWFMYWJlbGxlZEJ5ICsgJyAnICsgaWQgOiBudWxsXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgKGNsaWNrKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiXG4gICAgW2ZkVHlwZV09XCJ0eXBlXCJcbiAgICBbYXR0ci50YWJpbmRleF09XCJ0YWJpbmRleFwiXG4gICAgW2F0dHIudGl0bGVdPVwidGl0bGVcIlxuICAgIFthdHRyLmFyaWEtaGFzcG9wdXBdPVwidHJ1ZVwiXG4+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9idXR0b24+XG4iXX0=
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL21lbnUtYnV0dG9uL21lbnUtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi9tZW51LWJ1dHRvbi9tZW51LWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBQ0wsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sOEJBQThCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQUVqRTs7O0dBR0c7QUFTSCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsYUFBYTtJQXNCbEQsY0FBYztJQUNkLFlBQVksR0FBc0I7UUFDOUIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBTmYsNkNBQTZDO1FBRTdDLGtCQUFhLEdBQTBELElBQUksWUFBWSxFQUFFLENBQUM7UUFLdEYsUUFBUSxDQUNKLG1JQUFtSSxDQUN0SSxDQUFDO0lBQ04sQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUNJLGtCQUFrQjtRQUNsQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUVELG1DQUFtQztJQUNuQyxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksYUFBYSxDQUFDLE1BQVc7UUFDNUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQzs4R0FsRFEsbUJBQW1CO2tHQUFuQixtQkFBbUIsOFNDMUJoQyxxaEJBbUJBLCtKREtjLGVBQWU7OzJGQUVoQixtQkFBbUI7a0JBUi9CLFNBQVM7K0JBQ0ksaUJBQWlCLG1CQUdWLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsZUFBZSxDQUFDO3NGQUsxQixLQUFLO3NCQURKLEtBQUs7Z0JBS04sS0FBSztzQkFESixLQUFLO2dCQUtOLElBQUk7c0JBREgsS0FBSztnQkFNTixJQUFJO3NCQURILEtBQUs7Z0JBS04sYUFBYTtzQkFEWixNQUFNO2dCQWlCSCxrQkFBa0I7c0JBRHJCLFdBQVc7dUJBQUMsZ0NBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE91dHB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgd2Fybk9uY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQsIEJ1dHRvblR5cGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvYnV0dG9uJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL3NoYXJlZCc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWRcbiAqIEJ1dHRvbiBjb21wb25lbnQgaXMgZGVwcmVjYXRlZC4gVXNlIGBmZC1idXR0b25gIGZyb20gYEBmdW5kYW1lbnRhbC1uZ3gvY29yZS9idXR0b25gIHdpdGggYEBmdW5kYW1lbnRhbC1uZ3gvY29yZS9tZW51YCBpbnN0ZWFkLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkcC1tZW51LWJ1dHRvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL21lbnUtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vbWVudS1idXR0b24uY29tcG9uZW50LnNjc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0J1dHRvbkNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgTWVudUJ1dHRvbkNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICAgIC8qKiBMYWJlbCBmb3IgbWVudSBidXR0b24gKi9cbiAgICBASW5wdXQoKVxuICAgIGxhYmVsOiBzdHJpbmc7XG5cbiAgICAvKiogdGV4dCBmb3IgdG9vbHRpcCAqL1xuICAgIEBJbnB1dCgpXG4gICAgdGl0bGU6IHN0cmluZztcblxuICAgIC8qKiBUaGUgU2FwLWljb24gdG8gaW5jbHVkZSBpbiB0aGUgbWVudS1idXR0b24gKi9cbiAgICBASW5wdXQoKVxuICAgIGljb246IHN0cmluZztcblxuICAgIC8qKiBUaGUgdHlwZSBvZiB0aGUgYnV0dG9uLiBUeXBlcyBpbmNsdWRlICdzdGFuZGFyZCcsICdwb3NpdGl2ZScsICduZWdhdGl2ZScsICd0cmFuc3BhcmVudCcsICdhdHRlbnRpb24nLCAnZW1waGFzaXplZCcsICdnaG9zdCcuXG4gICAgICogTGVhdmUgZW1wdHkgZm9yIGRlZmF1bHQuJyovXG4gICAgQElucHV0KClcbiAgICB0eXBlOiBCdXR0b25UeXBlO1xuXG4gICAgLyoqIEV2ZW50IHNlbnQgd2hlbiBtZW51LWJ1dHRvbiBpcyBjbGlja2VkICovXG4gICAgQE91dHB1dCgpXG4gICAgYnV0dG9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQgfCBLZXlib2FyZEV2ZW50IHwgVG91Y2hFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICAgICAgc3VwZXIoX2NkKTtcbiAgICAgICAgd2Fybk9uY2UoXG4gICAgICAgICAgICAnTWVudUJ1dHRvbkNvbXBvbmVudCBpcyBkZXByZWNhdGVkLiBVc2UgYGZkLWJ1dHRvbmAgZnJvbSBgQGZ1bmRhbWVudGFsLW5neC9jb3JlL2J1dHRvbmAgd2l0aCBgQGZ1bmRhbWVudGFsLW5neC9jb3JlL21lbnVgIGluc3RlYWQuJ1xuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW4gZGlzYWJsaW5nIGZkLWJ1dHRvbiBkb2VzIG5vdCBkaXNhYmxlcyBtZW51IGJ1dHRvbi5cbiAgICAgKiBiZWNhdXNlIG1lbnUgdHJpZ2dlciBpcyBvbiBtZW51LWJ1dHRvbjsgbWVudSBnZXRzIG9wZW4uXG4gICAgICogdG8gcHJldmVudCB0aGlzLCBuZWVkIHRvIGFwcGx5IGRpc2FibGVkIGF0IG1lbnUtYnV0dG9uIGxldmVsIGFzIHdlbGwuXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1tZW51LWJ1dHRvbi0tZGlzYWJsZWQnKVxuICAgIGdldCBtZW51QnV0dG9uRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIHRhYmluZGV4IGZvciBidXR0b24uICovXG4gICAgZ2V0IHRhYmluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkID8gLTEgOiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqICBIYW5kbGVzIG1lbnUtYnV0dG9uIGNsaWNrXG4gICAgICovXG4gICAgcHVibGljIG9uQnV0dG9uQ2xpY2soJGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5idXR0b25DbGlja2VkLmVtaXQoJGV2ZW50KTtcbiAgICB9XG59XG4iLCI8YnV0dG9uXG4gICAgZmQtYnV0dG9uXG4gICAgW2F0dHIuaWRdPVwiaWRcIlxuICAgIFthdHRyLm5hbWVdPVwibmFtZVwiXG4gICAgW2ZkTWVudV09XCJ0cnVlXCJcbiAgICBbbGFiZWxdPVwibGFiZWxcIlxuICAgIFtnbHlwaF09XCJpY29uXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRCeSA/IGFyaWFMYWJlbGxlZEJ5ICsgJyAnICsgaWQgOiBudWxsXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgKGNsaWNrKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiXG4gICAgW2ZkVHlwZV09XCJ0eXBlXCJcbiAgICBbYXR0ci50YWJpbmRleF09XCJ0YWJpbmRleFwiXG4gICAgW2F0dHIudGl0bGVdPVwidGl0bGVcIlxuICAgIFthdHRyLmFyaWEtaGFzcG9wdXBdPVwidHJ1ZVwiXG4+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9idXR0b24+XG4iXX0=
@@ -3,11 +3,11 @@ import { ContentDensityModule } from '@fundamental-ngx/core/content-density';
3
3
  import { MenuButtonComponent } from './menu-button.component';
4
4
  import * as i0 from "@angular/core";
5
5
  export class PlatformMenuButtonModule {
6
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: PlatformMenuButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.7", ngImport: i0, type: PlatformMenuButtonModule, imports: [MenuButtonComponent, ContentDensityModule], exports: [MenuButtonComponent, ContentDensityModule] }); }
8
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: PlatformMenuButtonModule, imports: [MenuButtonComponent, ContentDensityModule, ContentDensityModule] }); }
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: PlatformMenuButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: PlatformMenuButtonModule, imports: [MenuButtonComponent, ContentDensityModule], exports: [MenuButtonComponent, ContentDensityModule] }); }
8
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: PlatformMenuButtonModule, imports: [MenuButtonComponent, ContentDensityModule, ContentDensityModule] }); }
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: PlatformMenuButtonModule, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: PlatformMenuButtonModule, decorators: [{
11
11
  type: NgModule,
12
12
  args: [{
13
13
  imports: [MenuButtonComponent, ContentDensityModule],
@@ -306,10 +306,10 @@ export class MessagePopoverFormWrapperComponent {
306
306
  _isAdvancedError(error) {
307
307
  return !!error && typeof error !== 'string';
308
308
  }
309
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: MessagePopoverFormWrapperComponent, deps: [{ token: i0.DestroyRef }, { token: FDP_MESSAGE_POPOVER_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
310
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: MessagePopoverFormWrapperComponent, isStandalone: true, selector: "fdp-message-popover-form-wrapper", inputs: { forms: "forms", formFields: "formFields" }, queries: [{ propertyName: "_projectedForm", predicate: ControlContainer, descendants: true }, { propertyName: "_projectedFormFieldControls", predicate: FD_FORM_FIELD_CONTROL, descendants: true }, { propertyName: "_directiveItems", predicate: MessagePopoverFormItemDirective, descendants: true }], exportAs: ["messagePopoverWrapper"], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
309
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: MessagePopoverFormWrapperComponent, deps: [{ token: i0.DestroyRef }, { token: FDP_MESSAGE_POPOVER_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
310
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: MessagePopoverFormWrapperComponent, isStandalone: true, selector: "fdp-message-popover-form-wrapper", inputs: { forms: "forms", formFields: "formFields" }, queries: [{ propertyName: "_projectedForm", predicate: ControlContainer, descendants: true }, { propertyName: "_projectedFormFieldControls", predicate: FD_FORM_FIELD_CONTROL, descendants: true }, { propertyName: "_directiveItems", predicate: MessagePopoverFormItemDirective, descendants: true }], exportAs: ["messagePopoverWrapper"], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
311
311
  }
312
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: MessagePopoverFormWrapperComponent, decorators: [{
312
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: MessagePopoverFormWrapperComponent, decorators: [{
313
313
  type: Component,
314
314
  args: [{
315
315
  selector: 'fdp-message-popover-form-wrapper',
@@ -319,10 +319,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
319
319
  encapsulation: ViewEncapsulation.None,
320
320
  standalone: true
321
321
  }]
322
- }], ctorParameters: function () { return [{ type: i0.DestroyRef }, { type: undefined, decorators: [{
322
+ }], ctorParameters: () => [{ type: i0.DestroyRef }, { type: undefined, decorators: [{
323
323
  type: Inject,
324
324
  args: [FDP_MESSAGE_POPOVER_CONFIG]
325
- }] }]; }, propDecorators: { _projectedForm: [{
325
+ }] }], propDecorators: { _projectedForm: [{
326
326
  type: ContentChildren,
327
327
  args: [ControlContainer, { descendants: true }]
328
328
  }], _projectedFormFieldControls: [{
@@ -336,4 +336,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
336
336
  }], formFields: [{
337
337
  type: Input
338
338
  }] } });
339
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1wb3BvdmVyLWZvcm0td3JhcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvbWVzc2FnZS1wb3BvdmVyL2NvbXBvbmVudHMvbWVzc2FnZS1wb3BvdmVyLWZvcm0td3JhcHBlci9tZXNzYWdlLXBvcG92ZXItZm9ybS13cmFwcGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBRUwsU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQW1CLGdCQUFnQixFQUFFLFNBQVMsRUFBOEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRyxPQUFPLEVBQUUscUJBQXFCLEVBQWMsTUFBTSw0QkFBNEIsQ0FBQztBQU8vRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSwwQkFBMEIsRUFBbUQsTUFBTSxzQkFBc0IsQ0FBQztBQUNuSCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQVF2RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBWS9DLE1BQU0sT0FBTyxrQ0FBa0M7SUFnQjNDOztPQUVHO0lBQ0gsSUFDSSxLQUFLLENBQUMsS0FBZ0Q7UUFDdEQsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNSLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUss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RUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBS3ZDLDJCQUEyQjtzQkFEM0MsZUFBZTt1QkFBQyxxQkFBcUIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBSzVDLGVBQWU7c0JBRC9CLGVBQWU7dUJBQUMsK0JBQStCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQVVuRSxLQUFLO3NCQURSLEtBQUs7Z0JBY0YsVUFBVTtzQkFEYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRGVzdHJveVJlZixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgQ29udHJvbENvbnRhaW5lciwgRm9ybUdyb3VwLCBGb3JtR3JvdXBEaXJlY3RpdmUsIE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZEX0ZPUk1fRklFTERfQ09OVFJPTCwgRm9ybVN0YXRlcyB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL2Zvcm1zJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHtcbiAgICBGb3JtRmllbGRFcnJvckRpcmVjdGl2ZUNvbnRleHQsXG4gICAgUGxhdGZvcm1Gb3JtRmllbGQsXG4gICAgUGxhdGZvcm1Gb3JtRmllbGRDb250cm9sXG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vc2hhcmVkJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCBmaWx0ZXIsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB6aXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZEUF9NRVNTQUdFX1BPUE9WRVJfQ09ORklHLCBNZXNzYWdlUG9wb3ZlckNvbmZpZywgTWVzc2FnZVBvcG92ZXJFcnJvckNvbmZpZyB9IGZyb20gJy4uLy4uL2RlZmF1bHQtY29uZmlnJztcbmltcG9ydCB7IE1lc3NhZ2VQb3BvdmVyRm9ybUl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL21lc3NhZ2UtcG9wb3Zlci1mb3JtLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7XG4gICAgTWVzc2FnZVBvcG92ZXJFbnRyeSxcbiAgICBNZXNzYWdlUG9wb3ZlckVycm9yR3JvdXAsXG4gICAgTWVzc2FnZVBvcG92ZXJFcnJvclRleHRcbn0gZnJvbSAnLi4vLi4vbW9kZWxzL21lc3NhZ2UtcG9wb3Zlci1lbnRyeS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTWVzc2FnZVBvcG92ZXJXcmFwcGVyIH0gZnJvbSAnLi4vLi4vbW9kZWxzL21lc3NhZ2UtcG9wb3Zlci13cmFwcGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBNZXNzYWdlUG9wb3ZlciB9IGZyb20gJy4uLy4uL21vZGVscy9tZXNzYWdlLXBvcG92ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IGNvbnZlcnRGb3JtU3RhdGUgfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbmV4cG9ydCB0eXBlIE1lc3NhZ2VQb3BvdmVyRm9ybSA9IE5nRm9ybSB8IEZvcm1Hcm91cERpcmVjdGl2ZTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZHAtbWVzc2FnZS1wb3BvdmVyLWZvcm0td3JhcHBlcicsXG4gICAgdGVtcGxhdGU6IGA8bmctY29udGVudD48L25nLWNvbnRlbnQ+YCxcbiAgICBleHBvcnRBczogJ21lc3NhZ2VQb3BvdmVyV3JhcHBlcicsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VQb3BvdmVyRm9ybVdyYXBwZXJDb21wb25lbnQgaW1wbGVtZW50cyBNZXNzYWdlUG9wb3ZlcldyYXBwZXIsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkcmVuKENvbnRyb2xDb250YWluZXIsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9wcm9qZWN0ZWRGb3JtOiBRdWVyeUxpc3Q8TWVzc2FnZVBvcG92ZXJGb3JtPjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihGRF9GT1JNX0ZJRUxEX0NPTlRST0wsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9wcm9qZWN0ZWRGb3JtRmllbGRDb250cm9scyE6IFF1ZXJ5TGlzdDxQbGF0Zm9ybUZvcm1GaWVsZENvbnRyb2w+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkcmVuKE1lc3NhZ2VQb3BvdmVyRm9ybUl0ZW1EaXJlY3RpdmUsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kaXJlY3RpdmVJdGVtcyE6IFF1ZXJ5TGlzdDxNZXNzYWdlUG9wb3ZlckZvcm1JdGVtRGlyZWN0aXZlPjtcblxuICAgIC8qKiBNZXNzYWdlIFBvcG92ZXIgaW5zdGFuY2UuICovXG4gICAgbWVzc2FnZVBvcG92ZXIkID0gbmV3IFN1YmplY3Q8TWVzc2FnZVBvcG92ZXI+KCk7XG5cbiAgICAvKipcbiAgICAgKiBVc2VyLXBhc3NlZCBmb3Jtcy5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBmb3Jtcyhmb3JtczogTWVzc2FnZVBvcG92ZXJGb3JtIHwgTWVzc2FnZVBvcG92ZXJGb3JtW10pIHtcbiAgICAgICAgaWYgKCFmb3Jtcykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheShmb3JtcykpIHtcbiAgICAgICAgICAgIGZvcm1zID0gW2Zvcm1zXTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9uZ0Zvcm1zID0gZm9ybXM7XG4gICAgICAgIHRoaXMuX3N0YXJ0TGlzdGVuaW5nRm9yRXJyb3JzKCk7XG4gICAgfVxuXG4gICAgLyoqIFVzZXItcGFzc2VkIGZvcm0gZmllbGRzLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGZvcm1GaWVsZHModmFsdWU6IFBsYXRmb3JtRm9ybUZpZWxkQ29udHJvbFtdKSB7XG4gICAgICAgIHRoaXMuX2Zvcm1GaWVsZHMgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5fbGlzdGVuVG9Gb3JtRmllbGRFcnJvcnModmFsdWUpO1xuICAgIH1cblxuICAgIGdldCBmb3JtRmllbGRzKCk6IFBsYXRmb3JtRm9ybUZpZWxkQ29udHJvbFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1GaWVsZHM7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9lcnJvcnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNZXNzYWdlUG9wb3ZlckVycm9yR3JvdXBbXT4oW10pO1xuXG4gICAgLyoqXG4gICAgICogRXJyb3IgbW9kZWxzIE9ic2VydmFibGUuIEVtaXR0ZWQgd2hlbiBmb3JtIHN1Ym1pdHRlZCBhbmQgY29udGFpbnMgaW52YWxpZCBmaWVsZHMuXG4gICAgICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9tZW1iZXItb3JkZXJpbmdcbiAgICBlcnJvcnMgPSB0aGlzLl9lcnJvcnMkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9mb3JtRmllbGRzOiBQbGF0Zm9ybUZvcm1GaWVsZENvbnRyb2xbXSA9IFtdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9mb3JtRXJyb3JzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX25nRm9ybXM6IChOZ0Zvcm0gfCBGb3JtR3JvdXBEaXJlY3RpdmUpW10gPSBbXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZm9ybUl0ZW1FcnJvcnNTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2Zvcm1TdWJtaXR0ZWQgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3lSZWY6IERlc3Ryb3lSZWYsXG4gICAgICAgIEBJbmplY3QoRkRQX01FU1NBR0VfUE9QT1ZFUl9DT05GSUcpIHByaXZhdGUgcmVhZG9ubHkgX2NvbmZpZzogTWVzc2FnZVBvcG92ZXJDb25maWdcbiAgICApIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgLy8gRm9ybXMgYXJlIHBhc3NlZCB2aWEgaW5wdXQgcHJvcGVydHkuXG4gICAgICAgIGlmICh0aGlzLl9uZ0Zvcm1zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9wcm9qZWN0ZWRGb3JtPy5jaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKG51bGwpLCB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9uZ0Zvcm1zID0gdGhpcy5fcHJvamVjdGVkRm9ybS50b0FycmF5KCk7XG4gICAgICAgICAgICB0aGlzLl9zdGFydExpc3RlbmluZ0ZvckVycm9ycygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIE1lc3NhZ2UgUG9wb3ZlciBjb21wb25lbnQgaW5zdGFuY2UuXG4gICAgICovXG4gICAgc2V0TWVzc2FnZVBvcG92ZXIobWVzc2FnZVBvcG92ZXI6IE1lc3NhZ2VQb3BvdmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWVzc2FnZVBvcG92ZXIkLm5leHQobWVzc2FnZVBvcG92ZXIpO1xuICAgICAgICAvLyB0aGlzLm1lc3NhZ2VQb3BvdmVyID0gbWVzc2FnZVBvcG92ZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJvZ3JhbW1hdGljYWxseSBhZGQgbmV3IGZvcm0gdG8gYXJyYXkgb2YgZm9ybXMuXG4gICAgICogQHBhcmFtIGZvcm1zXG4gICAgICovXG4gICAgYWRkRm9ybXMoZm9ybXM6IE1lc3NhZ2VQb3BvdmVyRm9ybSB8IE1lc3NhZ2VQb3BvdmVyRm9ybVtdKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZvcm1zQXJyYXkgPSBBcnJheS5pc0FycmF5KGZvcm1zKSA/IGZvcm1zIDogW2Zvcm1zXTtcbiAgICAgICAgdGhpcy5fbmdGb3Jtcy5wdXNoKC4uLmZvcm1zQXJyYXkpO1xuICAgICAgICB0aGlzLl9zdGFydExpc3RlbmluZ0ZvckVycm9ycygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb2dyYW1tYXRpY2FsbHkgYWRkIG5ldyBmb3JtIGZpZWxkcyB0byBhcnJheSBvZiBsaXN0ZW5lZCBmb3JtIGZpZWxkcy5cbiAgICAgKiBAcGFyYW0gZm9ybUZpZWxkc1xuICAgICAqL1xuICAgIGFkZEZvcm1GaWVsZHMoZm9ybUZpZWxkczogUGxhdGZvcm1Gb3JtRmllbGRDb250cm9sW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZm9ybUZpZWxkcy5wdXNoKC4uLmZvcm1GaWVsZHMpO1xuICAgICAgICB0aGlzLl9saXN0ZW5Ub0Zvcm1GaWVsZEVycm9ycyh0aGlzLl9mb3JtRmllbGRzKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9mb3JtSXRlbUVycm9yc1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBMaXN0ZW5zIHRvIHRoZSBmb3JtIHN1Ym1pc3Npb24gYW5kIGNvbGxlY3RzIGZvcm0gY29udHJvbCBlcnJvcnMuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfc3RhcnRMaXN0ZW5pbmdGb3JFcnJvcnMoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fbmdGb3Jtcykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2Zvcm1FcnJvcnNTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuX2Vycm9ycyQubmV4dChbXSk7XG5cbiAgICAgICAgY29uc3QgZm9ybVN1Ym1pdEV2ZW50cyA9IHRoaXMuX25nRm9ybXMubWFwKChmb3JtKSA9PlxuICAgICAgICAgICAgZm9ybS5uZ1N1Ym1pdC5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgICAgICAgICAgICAgICBmb3JtLnN0YXR1c0NoYW5nZXMhLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGFydFdpdGgoZm9ybS5zdGF0dXMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyKChzdGF0dXM6IHN0cmluZykgPT4gc3RhdHVzLnRvTG93ZXJDYXNlKCkgIT09ICdwZW5kaW5nJylcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLl9mb3JtRXJyb3JzU3Vic2NyaXB0aW9uID0gemlwKC4uLmZvcm1TdWJtaXRFdmVudHMpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9mb3JtU3VibWl0dGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBjb25zdCBlcnJvcnMgPVxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9kaXJlY3RpdmVJdGVtcy5sZW5ndGggPiAwID8gdGhpcy5fY29sbGVjdFBsYWluRm9ybURhdGEoKSA6IHRoaXMuX2NvbGxlY3RBZHZhbmNlZEZvcm1EYXRhKCk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLl9lcnJvcnMkLm5leHQoZXJyb3JzKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX2xpc3RlblRvRm9ybUZpZWxkRXJyb3JzKHRoaXMuX3Byb2plY3RlZEZvcm1GaWVsZENvbnRyb2xzLnRvQXJyYXkoKSk7XG5cbiAgICAgICAgdGhpcy5fcHJvamVjdGVkRm9ybUZpZWxkQ29udHJvbHM/LmNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2xpc3RlblRvRm9ybUZpZWxkRXJyb3JzKHRoaXMuX3Byb2plY3RlZEZvcm1GaWVsZENvbnRyb2xzLnRvQXJyYXkoKSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbGlzdGVuVG9Gb3JtRmllbGRFcnJvcnMoZmllbGRzOiBQbGF0Zm9ybUZvcm1GaWVsZENvbnRyb2xbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9mb3JtSXRlbUVycm9yc1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuXG4gICAgICAgIHRoaXMuX2Zvcm1JdGVtRXJyb3JzU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgICAgIGZpZWxkcz8uZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2Zvcm1JdGVtRXJyb3JzU3Vic2NyaXB0aW9uLmFkZChcbiAgICAgICAgICAgICAgICBmaWVsZC5mb3JtRmllbGQ/LmVycm9yc0NoYW5nZSQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLl9mb3JtU3VibWl0dGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyb3JzID1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2RpcmVjdGl2ZUl0ZW1zLmxlbmd0aCA+IDBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHRoaXMuX2NvbGxlY3RQbGFpbkZvcm1EYXRhKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHRoaXMuX2NvbGxlY3RBZHZhbmNlZEZvcm1EYXRhKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2Vycm9ycyQubmV4dChlcnJvcnMpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2NvbGxlY3RQbGFpbkZvcm1EYXRhKCk6IE1lc3NhZ2VQb3BvdmVyRXJyb3JHcm91cFtdIHtcbiAgICAgICAgY29uc3QgZXJyb3JzOiBNZXNzYWdlUG9wb3ZlckVycm9yR3JvdXBbXSA9IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBlcnJvcnM6IFtdXG4gICAgICAgICAgICB9XG4gICAgICAgIF07XG5cbiAgICAgICAgY29uc3QgZmllbGRzID0gdGhpcy5fZGlyZWN0aXZlSXRlbXMudG9BcnJheSgpO1xuXG4gICAgICAgIHRoaXMuX25nRm9ybXMuZm9yRWFjaCgoZm9ybSkgPT4ge1xuICAgICAgICAgICAgT2JqZWN0LmtleXMoZm9ybS5mb3JtLmNvbnRyb2xzKS5mb3JFYWNoKChjb250cm9sTmFtZSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtLmZvcm0uZ2V0KGNvbnRyb2xOYW1lKTtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWVsZCA9IGZpZWxkcy5maW5kKChmb3JtRmllbGQpID0+IGZvcm1GaWVsZC5jb250cm9sPy5uYW1lID09PSBjb250cm9sTmFtZSk7XG5cbiAgICAgICAgICAgICAgICBpZiAoIWNvbnRyb2w/LmVycm9ycyB8fCAhZmllbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IGNvbmZpZ0Vycm9ycyA9IE9iamVjdC5rZXlzKHRoaXMuX2NvbmZpZy5lcnJvcnMpO1xuXG4gICAgICAgICAgICAgICAgT2JqZWN0LmtleXMoY29udHJvbC5lcnJvcnMpXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoKGVycm9yKSA9PiBjb25maWdFcnJvcnMuaW5jbHVkZXMoZXJyb3IpKVxuICAgICAgICAgICAgICAgICAgICAuZm9yRWFjaCgoZXJyb3JLZXkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yT2JqID0gY29udHJvbC5lcnJvcnMhW2Vycm9yS2V5XTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyb3JUZXh0TW9kZWwgPSB0aGlzLl9nZXRDb25maWdFcnJvck1vZGVsKGVycm9yS2V5LCBmaWVsZC5lcnJvclR5cGVzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yQ29uZmlnID0gZmllbGQ/LmVycm9yVHlwZXMgPyBmaWVsZD8uZXJyb3JUeXBlc1tlcnJvcktleV0gOiBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyb3JTdGF0ZSA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JDb25maWcgJiYgdGhpcy5faXNBZHZhbmNlZEVycm9yKGVycm9yQ29uZmlnKSAmJiBlcnJvckNvbmZpZy50eXBlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gZXJyb3JDb25maWcudHlwZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICdlcnJvcic7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvcjogTWVzc2FnZVBvcG92ZXJFbnRyeSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBjb250cm9sTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBlcnJvclRleHRNb2RlbC50eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOiBjb252ZXJ0Rm9ybVN0YXRlKGVycm9yU3RhdGUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkTmFtZTogZmllbGQ/LmxhYmVsID8/ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQ6IGZpZWxkPy5lbGVtZW50UmVmLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRpbmc6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yOiBlcnJvck9iaixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogZXJyb3JUZXh0TW9kZWwuaGVhZGluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yOiBlcnJvck9iaixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogZXJyb3JUZXh0TW9kZWwuZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yczogY29udHJvbCEuZXJyb3JzXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnNbMF0uZXJyb3JzLnB1c2goZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gZXJyb3JzO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY29sbGVjdEFkdmFuY2VkRm9ybURhdGEoKTogTWVzc2FnZVBvcG92ZXJFcnJvckdyb3VwW10ge1xuICAgICAgICBsZXQgZXJyb3JzOiBNZXNzYWdlUG9wb3ZlckVycm9yR3JvdXBbXSA9IFtdO1xuICAgICAgICBjb25zdCBmaWVsZHMgPSB0aGlzLmZvcm1GaWVsZHMubGVuZ3RoID4gMCA/IHRoaXMuZm9ybUZpZWxkcyA6IHRoaXMuX3Byb2plY3RlZEZvcm1GaWVsZENvbnRyb2xzLnRvQXJyYXkoKTtcblxuICAgICAgICAvKipcbiAgICAgICAgICogSXRlcmF0ZXMgb3ZlciBmb3JtIGNvbnRyb2xzIHRvIGNvbGxlY3QgdGhlaXIgZXJyb3JzLlxuICAgICAgICAgKiBAcGFyYW0gZm9ybSBGb3JtIEdyb3VwIG9yIGEgY29sbGVjdGlvbiBvZiBGb3JtIEdyb3Vwcy5cbiAgICAgICAgICovXG4gICAgICAgIGNvbnN0IGl0ZXJhdGVPdmVyRm9ybSA9IChmb3JtOiBGb3JtR3JvdXAgfCBGb3JtR3JvdXBbXSk6IE1lc3NhZ2VQb3BvdmVyRXJyb3JHcm91cFtdID0+IHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGZvcm0pKSB7XG4gICAgICAgICAgICAgICAgZm9ybS5mb3JFYWNoKChmb3JtR3JvdXApID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JzID0gaXRlcmF0ZU92ZXJGb3JtKGZvcm1Hcm91cCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGVycm9ycztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIE9iamVjdC5rZXlzKGZvcm0uY29udHJvbHMpLmZvckVhY2goKGNvbnRyb2xOYW1lKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29udHJvbCA9IGZvcm0uZ2V0KGNvbnRyb2xOYW1lKTtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWVsZCA9IGZpZWxkcy5maW5kKChmb3JtRmllbGQpID0+IGZvcm1GaWVsZC5pZCA9PT0gY29udHJvbE5hbWUpO1xuXG4gICAgICAgICAgICAgICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtR3JvdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JzID0gaXRlcmF0ZU92ZXJGb3JtKGNvbnRyb2wpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICghY29udHJvbD8uZXJyb3JzIHx8ICFmaWVsZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgT2JqZWN0LmtleXMoY29udHJvbC5lcnJvcnMpLmZvckVhY2goKGVycm9yS2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yRGlyZWN0aXZlID0gZmllbGQuZm9ybUZpZWxkPy5ncm91cGVkRXJyb3JzLmZpbmQoXG4gICAgICAgICAgICAgICAgICAgICAgICAoZ3JvdXBlZEVycm9yKSA9PiBncm91cGVkRXJyb3IuZGlyZWN0aXZlLmVycm9yID09PSBlcnJvcktleVxuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGdyb3VwTmFtZSA9IHRoaXMuX2dldEdyb3VwTmFtZShmaWVsZD8uZm9ybUZpZWxkKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyb3IgPSB0aGlzLl9nZXRFcnJvck1vZGVsKFxuICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbE5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBncm91cE5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvcktleSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yRGlyZWN0aXZlLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbC5lcnJvcnMhW2Vycm9yS2V5XVxuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIGxldCBlcnJvckdyb3VwSW5kZXggPSBlcnJvcnMuZmluZEluZGV4KChlcnJvckdyb3VwKSA9PiBlcnJvckdyb3VwLmdyb3VwID09PSBncm91cE5hbWUpO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnJvckdyb3VwSW5kZXggPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvckdyb3VwSW5kZXggPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9ycy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXA6IGdyb3VwTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JzOiBbXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pIC0gMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGdyb3VwID0gZXJyb3JzW2Vycm9yR3JvdXBJbmRleF07XG5cbiAgICAgICAgICAgICAgICAgICAgZ3JvdXAuZXJyb3JzLnB1c2goZXJyb3IpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJldHVybiBlcnJvcnM7XG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIGl0ZXJhdGVPdmVyRm9ybSh0aGlzLl9uZ0Zvcm1zLm1hcCgoZm9ybSkgPT4gZm9ybS5mb3JtKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIENyZWF0ZXMgZXJyb3IgbW9kZWxcbiAgICAgKi9cbiAgICBwcml2YXRlIF9nZXRFcnJvck1vZGVsKFxuICAgICAgICBjb250cm9sTmFtZTogc3RyaW5nLFxuICAgICAgICBncm91cE5hbWU6IHN0cmluZyxcbiAgICAgICAgY29udHJvbDogQWJzdHJhY3RDb250cm9sLFxuICAgICAgICBmaWVsZDogUGxhdGZvcm1Gb3JtRmllbGRDb250cm9sLFxuICAgICAgICBlcnJvcktleTogc3RyaW5nLFxuICAgICAgICBlcnJvckRpcmVjdGl2ZT86IEZvcm1GaWVsZEVycm9yRGlyZWN0aXZlQ29udGV4dCxcbiAgICAgICAgZXJyb3I/OiBhbnlcbiAgICApOiBNZXNzYWdlUG9wb3ZlckVudHJ5IHtcbiAgICAgICAgbGV0IHN0YXRlOiBGb3JtU3RhdGVzID0gJ2Vycm9yJztcbiAgICAgICAgY29uc3QgY29uZmlnRXJyb3IgPSB0aGlzLl9jb25maWcuZXJyb3JzW2Vycm9yS2V5XTtcblxuICAgICAgICBpZiAoZXJyb3JEaXJlY3RpdmU/LmRpcmVjdGl2ZS50eXBlKSB7XG4gICAgICAgICAgICBzdGF0ZSA9IGVycm9yRGlyZWN0aXZlLmRpcmVjdGl2ZS50eXBlO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX2lzQWR2YW5jZWRFcnJvcihjb25maWdFcnJvcikpIHtcbiAgICAgICAgICAgIHN0YXRlID0gY29uZmlnRXJyb3IudHlwZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuYW1lOiBjb250cm9sTmFtZSxcbiAgICAgICAgICAgIHR5cGU6IHN0YXRlLFxuICAgICAgICAgICAgc3RhdGU6IGNvbnZlcnRGb3JtU3RhdGUoc3RhdGUpLFxuICAgICAgICAgICAgZ3JvdXA6IGdyb3VwTmFtZSxcbiAgICAgICAgICAgIGZpZWxkTmFtZTogZmllbGQ/LmZvcm1GaWVsZD8ubGFiZWwgPz8gJycsXG4gICAgICAgICAgICBoZWFkaW5nOiB0aGlzLl9nZXRFcnJvclRleHQoZmllbGQsIGVycm9yRGlyZWN0aXZlLCAnaGVhZGluZycsIGVycm9yS2V5LCBlcnJvciksXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy5fZ2V0RXJyb3JUZXh0KGZpZWxkLCBlcnJvckRpcmVjdGl2ZSwgJ2Rlc2NyaXB0aW9uJywgZXJyb3JLZXksIGVycm9yKSxcbiAgICAgICAgICAgIGVycm9yczogY29udHJvbCEuZXJyb3JzLFxuICAgICAgICAgICAgZm9ybUZpZWxkOiBmaWVsZCxcbiAgICAgICAgICAgIGVsZW1lbnQ6IGZpZWxkPy5lbGVtZW50UmVmXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIENyZWF0ZXMgZXJyb3IgdGV4dCBiYXNlZCBvbiB0aGUgdHlwZSBvZiB0aGUgZXJyb3IuXG4gICAgICogQHBhcmFtIGZpZWxkIEZvcm0gRmllbGQgQ29udHJvbC5cbiAgICAgKiBAcGFyYW0gZXJyb3JEaXJlY3RpdmUgT3B0aW9uYWwgRXJyb3IgZGlyZWN0aXZlXG4gICAgICogQHBhcmFtIHNlY3Rpb24gU2VjdGlvbiB3aGVyZSB0ZXh0IHNob3VsZCBiZSByZW5kZXJlZC5cbiAgICAgKiBAcGFyYW0gZXJyb3JLZXlcbiAgICAgKiBAcGFyYW0gZXJyb3JcbiAgICAgKi9cbiAgICBwcml2YXRlIF9nZXRFcnJvclRleHQoXG4gICAgICAgIGZpZWxkOiBQbGF0Zm9ybUZvcm1GaWVsZENvbnRyb2wsXG4gICAgICAgIGVycm9yRGlyZWN0aXZlOiBOdWxsYWJsZTxGb3JtRmllbGRFcnJvckRpcmVjdGl2ZUNvbnRleHQ+LFxuICAgICAgICBzZWN0aW9uOiAnaGVhZGluZycgfCAnZGVzY3JpcHRpb24nID0gJ2hlYWRpbmcnLFxuICAgICAgICBlcnJvcktleTogc3RyaW5nLFxuICAgICAgICBlcnJvcj86IGFueVxuICAgICk6IE1lc3NhZ2VQb3BvdmVyRXJyb3JUZXh0IHtcbiAgICAgICAgY29uc3QgZXJyb3JUZXh0T2JqOiBNZXNzYWdlUG9wb3ZlckVycm9yVGV4dCA9IHtcbiAgICAgICAgICAgIGVycm9yOiBlcnJvckRpcmVjdGl2ZT8uZXJyb3IsXG4gICAgICAgICAgICB0eXBlOiBlcnJvckRpcmVjdGl2ZT8uZGlyZWN0aXZlID8gJ2RpcmVjdGl2ZScgOiBmaWVsZD8uZm9ybUZpZWxkPy5pMThTdHJpbmdzID8gJ3RlbXBsYXRlUmVmJyA6ICdzdHJpbmcnXG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKGVycm9yVGV4dE9iai50eXBlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgY29uc3QgZXJyb3JUZXh0TW9kZWwgPSB0aGlzLl9nZXRDb25maWdFcnJvck1vZGVsKGVycm9yS2V5KTtcblxuICAgICAgICAgICAgZXJyb3JUZXh0T2JqLmVycm9yID0gZXJyb3I7XG4gICAgICAgICAgICBlcnJvclRleHRPYmoubWVzc2FnZSA9IGVycm9yVGV4dE1vZGVsW3NlY3Rpb25dO1xuICAgICAgICAgICAgcmV0dXJuIGVycm9yVGV4dE9iajtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlcnJvckRpcmVjdGl2ZT8uZGlyZWN0aXZlKSB7XG4gICAgICAgICAgICBlcnJvclRleHRPYmoubWVzc2FnZSA9XG4gICAgICAgICAgICAgICAgc2VjdGlvbiA9PT0gJ2hlYWRpbmcnXG4gICAgICAgICAgICAgICAgICAgID8gZXJyb3JEaXJlY3RpdmUuZGlyZWN0aXZlLl9oZWFkaW5nVGVtcGxhdGVSZWYgPz8gZXJyb3JEaXJlY3RpdmUuZGlyZWN0aXZlLl9kZXNjcmlwdGlvblRlbXBsYXRlUmVmXG4gICAgICAgICAgICAgICAgICAgIDogZXJyb3JEaXJlY3RpdmUuZGlyZWN0aXZlLl9kZXNjcmlwdGlvblRlbXBsYXRlUmVmO1xuICAgICAgICAgICAgcmV0dXJuIGVycm9yVGV4dE9iajtcbiAgICAgICAgfVxuXG4gICAgICAgIGVycm9yVGV4dE9iai5tZXNzYWdlID0gZmllbGQ/LmZvcm1GaWVsZD8uaTE4U3RyaW5ncyA/PyBudWxsO1xuICAgICAgICByZXR1cm4gZXJyb3JUZXh0T2JqO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0R3JvdXBOYW1lKGZvcm1GaWVsZDogTnVsbGFibGU8UGxhdGZvcm1Gb3JtRmllbGQ+KTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgcGFydHM6IHN0cmluZ1tdID0gW107XG5cbiAgICAgICAgaWYgKGZvcm1GaWVsZD8uZm9ybUdyb3VwQ29udGFpbmVyPy5tYWluVGl0bGUpIHtcbiAgICAgICAgICAgIHBhcnRzLnB1c2goZm9ybUZpZWxkLmZvcm1Hcm91cENvbnRhaW5lci5tYWluVGl0bGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZvcm1GaWVsZD8uZm9ybUZpZWxkR3JvdXA/LmxhYmVsKSB7XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKGZvcm1GaWVsZC5mb3JtRmllbGRHcm91cC5sYWJlbCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcGFydHMuam9pbignLCAnKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dldENvbmZpZ0Vycm9yTW9kZWwoXG4gICAgICAgIGVycm9yS2V5OiBzdHJpbmcsXG4gICAgICAgIGN1c3RvbUVycm9yVHlwZXM/OiBNZXNzYWdlUG9wb3ZlckNvbmZpZ1snZXJyb3JzJ11cbiAgICApOiBNZXNzYWdlUG9wb3ZlckVycm9yQ29uZmlnIHtcbiAgICAgICAgY29uc3QgY29uZmlnRXJyb3IgPVxuICAgICAgICAgICAgY3VzdG9tRXJyb3JUeXBlcyAmJiBjdXN0b21FcnJvclR5cGVzW2Vycm9yS2V5XSA/IGN1c3RvbUVycm9yVHlwZXNbZXJyb3JLZXldIDogdGhpcy5fY29uZmlnLmVycm9yc1tlcnJvcktleV07XG4gICAgICAgIGNvbnN0IGlzUGxhaW5FcnJvciA9ICF0aGlzLl9pc0FkdmFuY2VkRXJyb3IoY29uZmlnRXJyb3IpO1xuICAgICAgICBjb25zdCBlcnJvclR5cGUgPSBpc1BsYWluRXJyb3IgPyAnZXJyb3InIDogY29uZmlnRXJyb3IudHlwZTtcbiAgICAgICAgY29uc3QgaGVhZGluZ01lc3NhZ2UgPSBpc1BsYWluRXJyb3IgPyBjb25maWdFcnJvciA6IGNvbmZpZ0Vycm9yLmhlYWRpbmc7XG4gICAgICAgIGNvbnN0IGRlc2NyaXB0aW9uTWVzc2FnZSA9IGlzUGxhaW5FcnJvciA/IHVuZGVmaW5lZCA6IGNvbmZpZ0Vycm9yLmRlc2NyaXB0aW9uO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0eXBlOiBlcnJvclR5cGUsXG4gICAgICAgICAgICBoZWFkaW5nOiBoZWFkaW5nTWVzc2FnZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBkZXNjcmlwdGlvbk1lc3NhZ2VcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2lzQWR2YW5jZWRFcnJvcihlcnJvcjogc3RyaW5nIHwgTWVzc2FnZVBvcG92ZXJFcnJvckNvbmZpZyk6IGVycm9yIGlzIE1lc3NhZ2VQb3BvdmVyRXJyb3JDb25maWcge1xuICAgICAgICByZXR1cm4gISFlcnJvciAmJiB0eXBlb2YgZXJyb3IgIT09ICdzdHJpbmcnO1xuICAgIH1cbn1cbiJdfQ==
339
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1wb3BvdmVyLWZvcm0td3JhcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvbWVzc2FnZS1wb3BvdmVyL2NvbXBvbmVudHMvbWVzc2FnZS1wb3BvdmVyLWZvcm0td3JhcHBlci9tZXNzYWdlLXBvcG92ZXItZm9ybS13cmFwcGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBRUwsU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQW1CLGdCQUFnQixFQUFFLFNBQVMsRUFBOEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRyxPQUFPLEVBQUUscUJBQXFCLEVBQWMsTUFBTSw0QkFBNEIsQ0FBQztBQU8vRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSwwQkFBMEIsRUFBbUQsTUFBTSxzQkFBc0IsQ0FBQztBQUNuSCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQVF2RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBWS9DLE1BQU0sT0FBTyxrQ0FBa0M7SUFnQjNDOztPQUVHO0lBQ0gsSUFDSSxLQUFLLENBQUMsS0FBZ0Q7UUFDdEQsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNSLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUss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RUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBS3ZDLDJCQUEyQjtzQkFEM0MsZUFBZTt1QkFBQyxxQkFBcUIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBSzVDLGVBQWU7c0JBRC9CLGVBQWU7dUJBQUMsK0JBQStCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQVVuRSxLQUFLO3NCQURSLEtBQUs7Z0JBY0YsVUFBVTtzQkFEYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRGVzdHJveVJlZixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgQ29udHJvbENvbnRhaW5lciwgRm9ybUdyb3VwLCBGb3JtR3JvdXBEaXJlY3RpdmUsIE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZEX0ZPUk1fRklFTERfQ09OVFJPTCwgRm9ybVN0YXRlcyB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL2Zvcm1zJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHtcbiAgICBGb3JtRmllbGRFcnJvckRpcmVjdGl2ZUNvbnRleHQsXG4gICAgUGxhdGZvcm1Gb3JtRmllbGQsXG4gICAgUGxhdGZvcm1Gb3JtRmllbGRDb250cm9sXG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vc2hhcmVkJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCBmaWx0ZXIsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB6aXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZEUF9NRVNTQUdFX1BPUE9WRVJfQ09ORklHLCBNZXNzYWdlUG9wb3ZlckNvbmZpZywgTWVzc2FnZVBvcG92ZXJFcnJvckNvbmZpZyB9IGZyb20gJy4uLy4uL2RlZmF1bHQtY29uZmlnJztcbmltcG9ydCB7IE1lc3NhZ2VQb3BvdmVyRm9ybUl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL21lc3NhZ2UtcG9wb3Zlci1mb3JtLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7XG4gICAgTWVzc2FnZVBvcG92ZXJFbnRyeSxcbiAgICBNZXNzYWdlUG9wb3ZlckVycm9yR3JvdXAsXG4gICAgTWVzc2FnZVBvcG92ZXJFcnJvclRleHRcbn0gZnJvbSAnLi4vLi4vbW9kZWxzL21lc3NhZ2UtcG9wb3Zlci1lbnRyeS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTWVzc2FnZVBvcG92ZXJXcmFwcGVyIH0gZnJvbSAnLi4vLi4vbW9kZWxzL21lc3NhZ2UtcG9wb3Zlci13cmFwcGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBNZXNzYWdlUG9wb3ZlciB9IGZyb20gJy4uLy4uL21vZGVscy9tZXNzYWdlLXBvcG92ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IGNvbnZlcnRGb3JtU3RhdGUgfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbmV4cG9ydCB0eXBlIE1lc3NhZ2VQb3BvdmVyRm9ybSA9IE5nRm9ybSB8IEZvcm1Hcm91cERpcmVjdGl2ZTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZHAtbWVzc2FnZS1wb3BvdmVyLWZvcm0td3JhcHBlcicsXG4gICAgdGVtcGxhdGU6IGA8bmctY29udGVudD48L25nLWNvbnRlbnQ+YCxcbiAgICBleHBvcnRBczogJ21lc3NhZ2VQb3BvdmVyV3JhcHBlcicsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VQb3BvdmVyRm9ybVdyYXBwZXJDb21wb25lbnQgaW1wbGVtZW50cyBNZXNzYWdlUG9wb3ZlcldyYXBwZXIsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkcmVuKENvbnRyb2xDb250YWluZXIsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9wcm9qZWN0ZWRGb3JtOiBRdWVyeUxpc3Q8TWVzc2FnZVBvcG92ZXJGb3JtPjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihGRF9GT1JNX0ZJRUxEX0NPTlRST0wsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9wcm9qZWN0ZWRGb3JtRmllbGRDb250cm9scyE6IFF1ZXJ5TGlzdDxQbGF0Zm9ybUZvcm1GaWVsZENvbnRyb2w+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkcmVuKE1lc3NhZ2VQb3BvdmVyRm9ybUl0ZW1EaXJlY3RpdmUsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kaXJlY3RpdmVJdGVtcyE6IFF1ZXJ5TGlzdDxNZXNzYWdlUG9wb3ZlckZvcm1JdGVtRGlyZWN0aXZlPjtcblxuICAgIC8qKiBNZXNzYWdlIFBvcG92ZXIgaW5zdGFuY2UuICovXG4gICAgbWVzc2FnZVBvcG92ZXIkID0gbmV3IFN1YmplY3Q8TWVzc2FnZVBvcG92ZXI+KCk7XG5cbiAgICAvKipcbiAgICAgKiBVc2VyLXBhc3NlZCBmb3Jtcy5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBmb3Jtcyhmb3JtczogTWVzc2FnZVBvcG92ZXJGb3JtIHwgTWVzc2FnZVBvcG92ZXJGb3JtW10pIHtcbiAgICAgICAgaWYgKCFmb3Jtcykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheShmb3JtcykpIHtcbiAgICAgICAgICAgIGZvcm1zID0gW2Zvcm1zXTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9uZ0Zvcm1zID0gZm9ybXM7XG4gICAgICAgIHRoaXMuX3N0YXJ0TGlzdGVuaW5nRm9yRXJyb3JzKCk7XG4gICAgfVxuXG4gICAgLyoqIFVzZXItcGFzc2VkIGZvcm0gZmllbGRzLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGZvcm1GaWVsZHModmFsdWU6IFBsYXRmb3JtRm9ybUZpZWxkQ29udHJvbFtdKSB7XG4gICAgICAgIHRoaXMuX2Zvcm1GaWVsZHMgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5fbGlzdGVuVG9Gb3JtRmllbGRFcnJvcnModmFsdWUpO1xuICAgIH1cblxuICAgIGdldCBmb3JtRmllbGRzKCk6IFBsYXRmb3JtRm9ybUZpZWxkQ29udHJvbFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1GaWVsZHM7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9lcnJvcnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNZXNzYWdlUG9wb3ZlckVycm9yR3JvdXBbXT4oW10pO1xuXG4gICAgLyoqXG4gICAgICogRXJyb3IgbW9kZWxzIE9ic2VydmFibGUuIEVtaXR0ZWQgd2hlbiBmb3JtIHN1Ym1pdHRlZCBhbmQgY29udGFpbnMgaW52YWxpZCBmaWVsZHMuXG4gICAgICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9tZW1iZXItb3JkZXJpbmdcbiAgICBlcnJvcnMgPSB0aGlzLl9lcnJvcnMkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9mb3JtRmllbGRzOiBQbGF0Zm9ybUZvcm1GaWVsZENvbnRyb2xbXSA9IFtdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9mb3JtRXJyb3JzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX25nRm9ybXM6IChOZ0Zvcm0gfCBGb3JtR3JvdXBEaXJlY3RpdmUpW10gPSBbXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZm9ybUl0ZW1FcnJvcnNTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2Zvcm1TdWJtaXR0ZWQgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3lSZWY6IERlc3Ryb3lSZWYsXG4gICAgICAgIEBJbmplY3QoRkRQX01FU1NBR0VfUE9QT1ZFUl9DT05GSUcpIHByaXZhdGUgcmVhZG9ubHkgX2NvbmZpZzogTWVzc2FnZVBvcG92ZXJDb25maWdcbiAgICApIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgLy8gRm9ybXMgYXJlIHBhc3NlZCB2aWEgaW5wdXQgcHJvcGVydHkuXG4gICAgICAgIGlmICh0aGlzLl9uZ0Zvcm1zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9wcm9qZWN0ZWRGb3JtPy5jaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKG51bGwpLCB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9uZ0Zvcm1zID0gdGhpcy5fcHJvamVjdGVkRm9ybS50b0FycmF5KCk7XG4gICAgICAgICAgICB0aGlzLl9zdGFydExpc3RlbmluZ0ZvckVycm9ycygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIE1lc3NhZ2UgUG9wb3ZlciBjb21wb25lbnQgaW5zdGFuY2UuXG4gICAgICovXG4gICAgc2V0TWVzc2FnZVBvcG92ZXIobWVzc2FnZVBvcG92ZXI6IE1lc3NhZ2VQb3BvdmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWVzc2FnZVBvcG92ZXIkLm5leHQobWVzc2FnZVBvcG92ZXIpO1xuICAgICAgICAvLyB0aGlzLm1lc3NhZ2VQb3BvdmVyID0gbWVzc2FnZVBvcG92ZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJvZ3JhbW1hdGljYWxseSBhZGQgbmV3IGZvcm0gdG8gYXJyYXkgb2YgZm9ybXMuXG4gICAgICogQHBhcmFtIGZvcm1zXG4gICAgICovXG4gICAgYWRkRm9ybXMoZm9ybXM6IE1lc3NhZ2VQb3BvdmVyRm9ybSB8IE1lc3NhZ2VQb3BvdmVyRm9ybVtdKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZvcm1zQXJyYXkgPSBBcnJheS5pc0FycmF5KGZvcm1zKSA/IGZvcm1zIDogW2Zvcm1zXTtcbiAgICAgICAgdGhpcy5fbmdGb3Jtcy5wdXNoKC4uLmZvcm1zQXJyYXkpO1xuICAgICAgICB0aGlzLl9zdGFydExpc3RlbmluZ0ZvckVycm9ycygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb2dyYW1tYXRpY2FsbHkgYWRkIG5ldyBmb3JtIGZpZWxkcyB0byBhcnJheSBvZiBsaXN0ZW5lZCBmb3JtIGZpZWxkcy5cbiAgICAgKiBAcGFyYW0gZm9ybUZpZWxkc1xuICAgICAqL1xuICAgIGFkZEZvcm1GaWVsZHMoZm9ybUZpZWxkczogUGxhdGZvcm1Gb3JtRmllbGRDb250cm9sW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZm9ybUZpZWxkcy5wdXNoKC4uLmZvcm1GaWVsZHMpO1xuICAgICAgICB0aGlzLl9saXN0ZW5Ub0Zvcm1GaWVsZEVycm9ycyh0aGlzLl9mb3JtRmllbGRzKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9mb3JtSXRlbUVycm9yc1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBMaXN0ZW5zIHRvIHRoZSBmb3JtIHN1Ym1pc3Npb24gYW5kIGNvbGxlY3RzIGZvcm0gY29udHJvbCBlcnJvcnMuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfc3RhcnRMaXN0ZW5pbmdGb3JFcnJvcnMoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fbmdGb3Jtcykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2Zvcm1FcnJvcnNTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuX2Vycm9ycyQubmV4dChbXSk7XG5cbiAgICAgICAgY29uc3QgZm9ybVN1Ym1pdEV2ZW50cyA9IHRoaXMuX25nRm9ybXMubWFwKChmb3JtKSA9PlxuICAgICAgICAgICAgZm9ybS5uZ1N1Ym1pdC5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgICAgICAgICAgICAgICBmb3JtLnN0YXR1c0NoYW5nZXMhLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGFydFdpdGgoZm9ybS5zdGF0dXMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyKChzdGF0dXM6IHN0cmluZykgPT4gc3RhdHVzLnRvTG93ZXJDYXNlKCkgIT09ICdwZW5kaW5nJylcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLl9mb3JtRXJyb3JzU3Vic2NyaXB0aW9uID0gemlwKC4uLmZvcm1TdWJtaXRFdmVudHMpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9mb3JtU3VibWl0dGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBjb25zdCBlcnJvcnMgPVxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9kaXJlY3RpdmVJdGVtcy5sZW5ndGggPiAwID8gdGhpcy5fY29sbGVjdFBsYWluRm9ybURhdGEoKSA6IHRoaXMuX2NvbGxlY3RBZHZhbmNlZEZvcm1EYXRhKCk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLl9lcnJvcnMkLm5leHQoZXJyb3JzKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX2xpc3RlblRvRm9ybUZpZWxkRXJyb3JzKHRoaXMuX3Byb2plY3RlZEZvcm1GaWVsZENvbnRyb2xzLnRvQXJyYXkoKSk7XG5cbiAgICAgICAgdGhpcy5fcHJvamVjdGVkRm9ybUZpZWxkQ29udHJvbHM/LmNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2xpc3RlblRvRm9ybUZpZWxkRXJyb3JzKHRoaXMuX3Byb2plY3RlZEZvcm1GaWVsZENvbnRyb2xzLnRvQXJyYXkoKSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbGlzdGVuVG9Gb3JtRmllbGRFcnJvcnMoZmllbGRzOiBQbGF0Zm9ybUZvcm1GaWVsZENvbnRyb2xbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9mb3JtSXRlbUVycm9yc1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuXG4gICAgICAgIHRoaXMuX2Zvcm1JdGVtRXJyb3JzU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgICAgIGZpZWxkcz8uZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2Zvcm1JdGVtRXJyb3JzU3Vic2NyaXB0aW9uLmFkZChcbiAgICAgICAgICAgICAgICBmaWVsZC5mb3JtRmllbGQ/LmVycm9yc0NoYW5nZSQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLl9mb3JtU3VibWl0dGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyb3JzID1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2RpcmVjdGl2ZUl0ZW1zLmxlbmd0aCA+IDBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHRoaXMuX2NvbGxlY3RQbGFpbkZvcm1EYXRhKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHRoaXMuX2NvbGxlY3RBZHZhbmNlZEZvcm1EYXRhKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2Vycm9ycyQubmV4dChlcnJvcnMpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2NvbGxlY3RQbGFpbkZvcm1EYXRhKCk6IE1lc3NhZ2VQb3BvdmVyRXJyb3JHcm91cFtdIHtcbiAgICAgICAgY29uc3QgZXJyb3JzOiBNZXNzYWdlUG9wb3ZlckVycm9yR3JvdXBbXSA9IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBlcnJvcnM6IFtdXG4gICAgICAgICAgICB9XG4gICAgICAgIF07XG5cbiAgICAgICAgY29uc3QgZmllbGRzID0gdGhpcy5fZGlyZWN0aXZlSXRlbXMudG9BcnJheSgpO1xuXG4gICAgICAgIHRoaXMuX25nRm9ybXMuZm9yRWFjaCgoZm9ybSkgPT4ge1xuICAgICAgICAgICAgT2JqZWN0LmtleXMoZm9ybS5mb3JtLmNvbnRyb2xzKS5mb3JFYWNoKChjb250cm9sTmFtZSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtLmZvcm0uZ2V0KGNvbnRyb2xOYW1lKTtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWVsZCA9IGZpZWxkcy5maW5kKChmb3JtRmllbGQpID0+IGZvcm1GaWVsZC5jb250cm9sPy5uYW1lID09PSBjb250cm9sTmFtZSk7XG5cbiAgICAgICAgICAgICAgICBpZiAoIWNvbnRyb2w/LmVycm9ycyB8fCAhZmllbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IGNvbmZpZ0Vycm9ycyA9IE9iamVjdC5rZXlzKHRoaXMuX2NvbmZpZy5lcnJvcnMpO1xuXG4gICAgICAgICAgICAgICAgT2JqZWN0LmtleXMoY29udHJvbC5lcnJvcnMpXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoKGVycm9yKSA9PiBjb25maWdFcnJvcnMuaW5jbHVkZXMoZXJyb3IpKVxuICAgICAgICAgICAgICAgICAgICAuZm9yRWFjaCgoZXJyb3JLZXkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yT2JqID0gY29udHJvbC5lcnJvcnMhW2Vycm9yS2V5XTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyb3JUZXh0TW9kZWwgPSB0aGlzLl9nZXRDb25maWdFcnJvck1vZGVsKGVycm9yS2V5LCBmaWVsZC5lcnJvclR5cGVzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yQ29uZmlnID0gZmllbGQ/LmVycm9yVHlwZXMgPyBmaWVsZD8uZXJyb3JUeXBlc1tlcnJvcktleV0gOiBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyb3JTdGF0ZSA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JDb25maWcgJiYgdGhpcy5faXNBZHZhbmNlZEVycm9yKGVycm9yQ29uZmlnKSAmJiBlcnJvckNvbmZpZy50eXBlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gZXJyb3JDb25maWcudHlwZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICdlcnJvcic7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvcjogTWVzc2FnZVBvcG92ZXJFbnRyeSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBjb250cm9sTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBlcnJvclRleHRNb2RlbC50eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOiBjb252ZXJ0Rm9ybVN0YXRlKGVycm9yU3RhdGUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkTmFtZTogZmllbGQ/LmxhYmVsID8/ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQ6IGZpZWxkPy5lbGVtZW50UmVmLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRpbmc6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yOiBlcnJvck9iaixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogZXJyb3JUZXh0TW9kZWwuaGVhZGluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yOiBlcnJvck9iaixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogZXJyb3JUZXh0TW9kZWwuZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yczogY29udHJvbCEuZXJyb3JzXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnNbMF0uZXJyb3JzLnB1c2goZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gZXJyb3JzO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY29sbGVjdEFkdmFuY2VkRm9ybURhdGEoKTogTWVzc2FnZVBvcG92ZXJFcnJvckdyb3VwW10ge1xuICAgICAgICBsZXQgZXJyb3JzOiBNZXNzYWdlUG9wb3ZlckVycm9yR3JvdXBbXSA9IFtdO1xuICAgICAgICBjb25zdCBmaWVsZHMgPSB0aGlzLmZvcm1GaWVsZHMubGVuZ3RoID4gMCA/IHRoaXMuZm9ybUZpZWxkcyA6IHRoaXMuX3Byb2plY3RlZEZvcm1GaWVsZENvbnRyb2xzLnRvQXJyYXkoKTtcblxuICAgICAgICAvKipcbiAgICAgICAgICogSXRlcmF0ZXMgb3ZlciBmb3JtIGNvbnRyb2xzIHRvIGNvbGxlY3QgdGhlaXIgZXJyb3JzLlxuICAgICAgICAgKiBAcGFyYW0gZm9ybSBGb3JtIEdyb3VwIG9yIGEgY29sbGVjdGlvbiBvZiBGb3JtIEdyb3Vwcy5cbiAgICAgICAgICovXG4gICAgICAgIGNvbnN0IGl0ZXJhdGVPdmVyRm9ybSA9IChmb3JtOiBGb3JtR3JvdXAgfCBGb3JtR3JvdXBbXSk6IE1lc3NhZ2VQb3BvdmVyRXJyb3JHcm91cFtdID0+IHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGZvcm0pKSB7XG4gICAgICAgICAgICAgICAgZm9ybS5mb3JFYWNoKChmb3JtR3JvdXApID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JzID0gaXRlcmF0ZU92ZXJGb3JtKGZvcm1Hcm91cCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGVycm9ycztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIE9iamVjdC5rZXlzKGZvcm0uY29udHJvbHMpLmZvckVhY2goKGNvbnRyb2xOYW1lKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29udHJvbCA9IGZvcm0uZ2V0KGNvbnRyb2xOYW1lKTtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWVsZCA9IGZpZWxkcy5maW5kKChmb3JtRmllbGQpID0+IGZvcm1GaWVsZC5pZCA9PT0gY29udHJvbE5hbWUpO1xuXG4gICAgICAgICAgICAgICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtR3JvdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JzID0gaXRlcmF0ZU92ZXJGb3JtKGNvbnRyb2wpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICghY29udHJvbD8uZXJyb3JzIHx8ICFmaWVsZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgT2JqZWN0LmtleXMoY29udHJvbC5lcnJvcnMpLmZvckVhY2goKGVycm9yS2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yRGlyZWN0aXZlID0gZmllbGQuZm9ybUZpZWxkPy5ncm91cGVkRXJyb3JzLmZpbmQoXG4gICAgICAgICAgICAgICAgICAgICAgICAoZ3JvdXBlZEVycm9yKSA9PiBncm91cGVkRXJyb3IuZGlyZWN0aXZlLmVycm9yID09PSBlcnJvcktleVxuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGdyb3VwTmFtZSA9IHRoaXMuX2dldEdyb3VwTmFtZShmaWVsZD8uZm9ybUZpZWxkKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyb3IgPSB0aGlzLl9nZXRFcnJvck1vZGVsKFxuICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbE5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBncm91cE5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvcktleSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yRGlyZWN0aXZlLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbC5lcnJvcnMhW2Vycm9yS2V5XVxuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIGxldCBlcnJvckdyb3VwSW5kZXggPSBlcnJvcnMuZmluZEluZGV4KChlcnJvckdyb3VwKSA9PiBlcnJvckdyb3VwLmdyb3VwID09PSBncm91cE5hbWUpO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnJvckdyb3VwSW5kZXggPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvckdyb3VwSW5kZXggPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9ycy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXA6IGdyb3VwTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JzOiBbXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pIC0gMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGdyb3VwID0gZXJyb3JzW2Vycm9yR3JvdXBJbmRleF07XG5cbiAgICAgICAgICAgICAgICAgICAgZ3JvdXAuZXJyb3JzLnB1c2goZXJyb3IpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJldHVybiBlcnJvcnM7XG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIGl0ZXJhdGVPdmVyRm9ybSh0aGlzLl9uZ0Zvcm1zLm1hcCgoZm9ybSkgPT4gZm9ybS5mb3JtKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIENyZWF0ZXMgZXJyb3IgbW9kZWxcbiAgICAgKi9cbiAgICBwcml2YXRlIF9nZXRFcnJvck1vZGVsKFxuICAgICAgICBjb250cm9sTmFtZTogc3RyaW5nLFxuICAgICAgICBncm91cE5hbWU6IHN0cmluZyxcbiAgICAgICAgY29udHJvbDogQWJzdHJhY3RDb250cm9sLFxuICAgICAgICBmaWVsZDogUGxhdGZvcm1Gb3JtRmllbGRDb250cm9sLFxuICAgICAgICBlcnJvcktleTogc3RyaW5nLFxuICAgICAgICBlcnJvckRpcmVjdGl2ZT86IEZvcm1GaWVsZEVycm9yRGlyZWN0aXZlQ29udGV4dCxcbiAgICAgICAgZXJyb3I/OiBhbnlcbiAgICApOiBNZXNzYWdlUG9wb3ZlckVudHJ5IHtcbiAgICAgICAgbGV0IHN0YXRlOiBGb3JtU3RhdGVzID0gJ2Vycm9yJztcbiAgICAgICAgY29uc3QgY29uZmlnRXJyb3IgPSB0aGlzLl9jb25maWcuZXJyb3JzW2Vycm9yS2V5XTtcblxuICAgICAgICBpZiAoZXJyb3JEaXJlY3RpdmU/LmRpcmVjdGl2ZS50eXBlKSB7XG4gICAgICAgICAgICBzdGF0ZSA9IGVycm9yRGlyZWN0aXZlLmRpcmVjdGl2ZS50eXBlO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX2lzQWR2YW5jZWRFcnJvcihjb25maWdFcnJvcikpIHtcbiAgICAgICAgICAgIHN0YXRlID0gY29uZmlnRXJyb3IudHlwZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuYW1lOiBjb250cm9sTmFtZSxcbiAgICAgICAgICAgIHR5cGU6IHN0YXRlLFxuICAgICAgICAgICAgc3RhdGU6IGNvbnZlcnRGb3JtU3RhdGUoc3RhdGUpLFxuICAgICAgICAgICAgZ3JvdXA6IGdyb3VwTmFtZSxcbiAgICAgICAgICAgIGZpZWxkTmFtZTogZmllbGQ/LmZvcm1GaWVsZD8ubGFiZWwgPz8gJycsXG4gICAgICAgICAgICBoZWFkaW5nOiB0aGlzLl9nZXRFcnJvclRleHQoZmllbGQsIGVycm9yRGlyZWN0aXZlLCAnaGVhZGluZycsIGVycm9yS2V5LCBlcnJvciksXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy5fZ2V0RXJyb3JUZXh0KGZpZWxkLCBlcnJvckRpcmVjdGl2ZSwgJ2Rlc2NyaXB0aW9uJywgZXJyb3JLZXksIGVycm9yKSxcbiAgICAgICAgICAgIGVycm9yczogY29udHJvbCEuZXJyb3JzLFxuICAgICAgICAgICAgZm9ybUZpZWxkOiBmaWVsZCxcbiAgICAgICAgICAgIGVsZW1lbnQ6IGZpZWxkPy5lbGVtZW50UmVmXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIENyZWF0ZXMgZXJyb3IgdGV4dCBiYXNlZCBvbiB0aGUgdHlwZSBvZiB0aGUgZXJyb3IuXG4gICAgICogQHBhcmFtIGZpZWxkIEZvcm0gRmllbGQgQ29udHJvbC5cbiAgICAgKiBAcGFyYW0gZXJyb3JEaXJlY3RpdmUgT3B0aW9uYWwgRXJyb3IgZGlyZWN0aXZlXG4gICAgICogQHBhcmFtIHNlY3Rpb24gU2VjdGlvbiB3aGVyZSB0ZXh0IHNob3VsZCBiZSByZW5kZXJlZC5cbiAgICAgKiBAcGFyYW0gZXJyb3JLZXlcbiAgICAgKiBAcGFyYW0gZXJyb3JcbiAgICAgKi9cbiAgICBwcml2YXRlIF9nZXRFcnJvclRleHQoXG4gICAgICAgIGZpZWxkOiBQbGF0Zm9ybUZvcm1GaWVsZENvbnRyb2wsXG4gICAgICAgIGVycm9yRGlyZWN0aXZlOiBOdWxsYWJsZTxGb3JtRmllbGRFcnJvckRpcmVjdGl2ZUNvbnRleHQ+LFxuICAgICAgICBzZWN0aW9uOiAnaGVhZGluZycgfCAnZGVzY3JpcHRpb24nID0gJ2hlYWRpbmcnLFxuICAgICAgICBlcnJvcktleTogc3RyaW5nLFxuICAgICAgICBlcnJvcj86IGFueVxuICAgICk6IE1lc3NhZ2VQb3BvdmVyRXJyb3JUZXh0IHtcbiAgICAgICAgY29uc3QgZXJyb3JUZXh0T2JqOiBNZXNzYWdlUG9wb3ZlckVycm9yVGV4dCA9IHtcbiAgICAgICAgICAgIGVycm9yOiBlcnJvckRpcmVjdGl2ZT8uZXJyb3IsXG4gICAgICAgICAgICB0eXBlOiBlcnJvckRpcmVjdGl2ZT8uZGlyZWN0aXZlID8gJ2RpcmVjdGl2ZScgOiBmaWVsZD8uZm9ybUZpZWxkPy5pMThTdHJpbmdzID8gJ3RlbXBsYXRlUmVmJyA6ICdzdHJpbmcnXG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKGVycm9yVGV4dE9iai50eXBlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgY29uc3QgZXJyb3JUZXh0TW9kZWwgPSB0aGlzLl9nZXRDb25maWdFcnJvck1vZGVsKGVycm9yS2V5KTtcblxuICAgICAgICAgICAgZXJyb3JUZXh0T2JqLmVycm9yID0gZXJyb3I7XG4gICAgICAgICAgICBlcnJvclRleHRPYmoubWVzc2FnZSA9IGVycm9yVGV4dE1vZGVsW3NlY3Rpb25dO1xuICAgICAgICAgICAgcmV0dXJuIGVycm9yVGV4dE9iajtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlcnJvckRpcmVjdGl2ZT8uZGlyZWN0aXZlKSB7XG4gICAgICAgICAgICBlcnJvclRleHRPYmoubWVzc2FnZSA9XG4gICAgICAgICAgICAgICAgc2VjdGlvbiA9PT0gJ2hlYWRpbmcnXG4gICAgICAgICAgICAgICAgICAgID8gZXJyb3JEaXJlY3RpdmUuZGlyZWN0aXZlLl9oZWFkaW5nVGVtcGxhdGVSZWYgPz8gZXJyb3JEaXJlY3RpdmUuZGlyZWN0aXZlLl9kZXNjcmlwdGlvblRlbXBsYXRlUmVmXG4gICAgICAgICAgICAgICAgICAgIDogZXJyb3JEaXJlY3RpdmUuZGlyZWN0aXZlLl9kZXNjcmlwdGlvblRlbXBsYXRlUmVmO1xuICAgICAgICAgICAgcmV0dXJuIGVycm9yVGV4dE9iajtcbiAgICAgICAgfVxuXG4gICAgICAgIGVycm9yVGV4dE9iai5tZXNzYWdlID0gZmllbGQ/LmZvcm1GaWVsZD8uaTE4U3RyaW5ncyA/PyBudWxsO1xuICAgICAgICByZXR1cm4gZXJyb3JUZXh0T2JqO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0R3JvdXBOYW1lKGZvcm1GaWVsZDogTnVsbGFibGU8UGxhdGZvcm1Gb3JtRmllbGQ+KTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgcGFydHM6IHN0cmluZ1tdID0gW107XG5cbiAgICAgICAgaWYgKGZvcm1GaWVsZD8uZm9ybUdyb3VwQ29udGFpbmVyPy5tYWluVGl0bGUpIHtcbiAgICAgICAgICAgIHBhcnRzLnB1c2goZm9ybUZpZWxkLmZvcm1Hcm91cENvbnRhaW5lci5tYWluVGl0bGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZvcm1GaWVsZD8uZm9ybUZpZWxkR3JvdXA/LmxhYmVsKSB7XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKGZvcm1GaWVsZC5mb3JtRmllbGRHcm91cC5sYWJlbCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcGFydHMuam9pbignLCAnKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dldENvbmZpZ0Vycm9yTW9kZWwoXG4gICAgICAgIGVycm9yS2V5OiBzdHJpbmcsXG4gICAgICAgIGN1c3RvbUVycm9yVHlwZXM/OiBNZXNzYWdlUG9wb3ZlckNvbmZpZ1snZXJyb3JzJ11cbiAgICApOiBNZXNzYWdlUG9wb3ZlckVycm9yQ29uZmlnIHtcbiAgICAgICAgY29uc3QgY29uZmlnRXJyb3IgPVxuICAgICAgICAgICAgY3VzdG9tRXJyb3JUeXBlcyAmJiBjdXN0b21FcnJvclR5cGVzW2Vycm9yS2V5XSA/IGN1c3RvbUVycm9yVHlwZXNbZXJyb3JLZXldIDogdGhpcy5fY29uZmlnLmVycm9yc1tlcnJvcktleV07XG4gICAgICAgIGNvbnN0IGlzUGxhaW5FcnJvciA9ICF0aGlzLl9pc0FkdmFuY2VkRXJyb3IoY29uZmlnRXJyb3IpO1xuICAgICAgICBjb25zdCBlcnJvclR5cGUgPSBpc1BsYWluRXJyb3IgPyAnZXJyb3InIDogY29uZmlnRXJyb3IudHlwZTtcbiAgICAgICAgY29uc3QgaGVhZGluZ01lc3NhZ2UgPSBpc1BsYWluRXJyb3IgPyBjb25maWdFcnJvciA6IGNvbmZpZ0Vycm9yLmhlYWRpbmc7XG4gICAgICAgIGNvbnN0IGRlc2NyaXB0aW9uTWVzc2FnZSA9IGlzUGxhaW5FcnJvciA/IHVuZGVmaW5lZCA6IGNvbmZpZ0Vycm9yLmRlc2NyaXB0aW9uO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0eXBlOiBlcnJvclR5cGUsXG4gICAgICAgICAgICBoZWFkaW5nOiBoZWFkaW5nTWVzc2FnZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBkZXNjcmlwdGlvbk1lc3NhZ2VcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2lzQWR2YW5jZWRFcnJvcihlcnJvcjogc3RyaW5nIHwgTWVzc2FnZVBvcG92ZXJFcnJvckNvbmZpZyk6IGVycm9yIGlzIE1lc3NhZ2VQb3BvdmVyRXJyb3JDb25maWcge1xuICAgICAgICByZXR1cm4gISFlcnJvciAmJiB0eXBlb2YgZXJyb3IgIT09ICdzdHJpbmcnO1xuICAgIH1cbn1cbiJdfQ==