@sapui5/sap.fe.core 1.113.0 → 1.115.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (375) hide show
  1. package/package.json +1 -1
  2. package/src/sap/fe/core/.library +1 -1
  3. package/src/sap/fe/core/ActionRuntime-dbg.js +68 -5
  4. package/src/sap/fe/core/ActionRuntime.js +1 -1
  5. package/src/sap/fe/core/ActionRuntime.js.map +1 -1
  6. package/src/sap/fe/core/ActionRuntime.ts +120 -4
  7. package/src/sap/fe/core/AppComponent-dbg.js +8 -2
  8. package/src/sap/fe/core/AppComponent.js +1 -1
  9. package/src/sap/fe/core/AppComponent.js.map +1 -1
  10. package/src/sap/fe/core/AppComponent.ts +19 -3
  11. package/src/sap/fe/core/AppStateHandler-dbg.js +14 -10
  12. package/src/sap/fe/core/AppStateHandler.js +1 -1
  13. package/src/sap/fe/core/AppStateHandler.js.map +1 -1
  14. package/src/sap/fe/core/AppStateHandler.ts +17 -11
  15. package/src/sap/fe/core/BaseController-dbg.js +1 -1
  16. package/src/sap/fe/core/BaseController.ts +13 -2
  17. package/src/sap/fe/core/CommonUtils-dbg.js +74 -317
  18. package/src/sap/fe/core/CommonUtils.js +1 -1
  19. package/src/sap/fe/core/CommonUtils.js.map +1 -1
  20. package/src/sap/fe/core/CommonUtils.ts +96 -473
  21. package/src/sap/fe/core/ExtensionAPI-dbg.js +1 -1
  22. package/src/sap/fe/core/ExtensionAPI.ts +2 -2
  23. package/src/sap/fe/core/StateFilterToSelectionVariant-dbg.js +263 -0
  24. package/src/sap/fe/core/StateFilterToSelectionVariant.js +6 -0
  25. package/src/sap/fe/core/StateFilterToSelectionVariant.js.map +1 -0
  26. package/src/sap/fe/core/StateFilterToSelectionVariant.ts +316 -0
  27. package/src/sap/fe/core/TemplateComponent-dbg.js +1 -1
  28. package/src/sap/fe/core/TemplateComponent.ts +6 -0
  29. package/src/sap/fe/core/buildingBlocks/BuildingBlockBase-dbg.js +10 -3
  30. package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js +1 -1
  31. package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js.map +1 -1
  32. package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.ts +8 -1
  33. package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport-dbg.js +1 -1
  34. package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.ts +1 -0
  35. package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor-dbg.js +8 -8
  36. package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.js.map +1 -1
  37. package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.ts +7 -7
  38. package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment-dbg.js +1 -1
  39. package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.ts +1 -1
  40. package/src/sap/fe/core/controllerextensions/EditFlow-dbg.js +68 -36
  41. package/src/sap/fe/core/controllerextensions/EditFlow.js +1 -1
  42. package/src/sap/fe/core/controllerextensions/EditFlow.js.map +1 -1
  43. package/src/sap/fe/core/controllerextensions/EditFlow.ts +83 -43
  44. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation-dbg.js +12 -11
  45. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +1 -1
  46. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js.map +1 -1
  47. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +17 -21
  48. package/src/sap/fe/core/controllerextensions/InternalRouting-dbg.js +233 -133
  49. package/src/sap/fe/core/controllerextensions/InternalRouting.js +1 -1
  50. package/src/sap/fe/core/controllerextensions/InternalRouting.js.map +1 -1
  51. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +260 -145
  52. package/src/sap/fe/core/controllerextensions/MassEdit-dbg.js +1 -1
  53. package/src/sap/fe/core/controllerextensions/MassEdit.ts +3 -3
  54. package/src/sap/fe/core/controllerextensions/Routing-dbg.js +5 -3
  55. package/src/sap/fe/core/controllerextensions/Routing.js.map +1 -1
  56. package/src/sap/fe/core/controllerextensions/Routing.ts +5 -4
  57. package/src/sap/fe/core/controllerextensions/Share-dbg.js +3 -2
  58. package/src/sap/fe/core/controllerextensions/Share.js +1 -1
  59. package/src/sap/fe/core/controllerextensions/Share.js.map +1 -1
  60. package/src/sap/fe/core/controllerextensions/Share.ts +2 -1
  61. package/src/sap/fe/core/controllerextensions/SideEffects-dbg.js +19 -14
  62. package/src/sap/fe/core/controllerextensions/SideEffects.js +1 -1
  63. package/src/sap/fe/core/controllerextensions/SideEffects.js.map +1 -1
  64. package/src/sap/fe/core/controllerextensions/SideEffects.ts +25 -18
  65. package/src/sap/fe/core/controllerextensions/ViewState-dbg.js +40 -26
  66. package/src/sap/fe/core/controllerextensions/ViewState.js +1 -1
  67. package/src/sap/fe/core/controllerextensions/ViewState.js.map +1 -1
  68. package/src/sap/fe/core/controllerextensions/ViewState.ts +59 -33
  69. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync-dbg.js +8 -8
  70. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +1 -1
  71. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js.map +1 -1
  72. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.ts +23 -25
  73. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon-dbg.js +7 -45
  74. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +1 -1
  75. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js.map +1 -1
  76. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +5 -48
  77. package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog-dbg.js +2 -2
  78. package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.js +1 -1
  79. package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.js.map +1 -1
  80. package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.tsx +7 -3
  81. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper-dbg.js +73 -90
  82. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +1 -1
  83. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js.map +1 -1
  84. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +88 -101
  85. package/src/sap/fe/core/controllerextensions/editFlow/draft-dbg.js +26 -4
  86. package/src/sap/fe/core/controllerextensions/editFlow/draft.js +1 -1
  87. package/src/sap/fe/core/controllerextensions/editFlow/draft.js.map +1 -1
  88. package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +29 -3
  89. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup-dbg.js +13 -10
  90. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js +1 -1
  91. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js.map +1 -1
  92. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.ts +7 -20
  93. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade-dbg.js +64 -4
  94. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js +1 -1
  95. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js.map +1 -1
  96. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.ts +91 -8
  97. package/src/sap/fe/core/controllerextensions/editFlow/sticky-dbg.js +2 -4
  98. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +1 -1
  99. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js.map +1 -1
  100. package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +3 -5
  101. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling-dbg.js +9 -9
  102. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +1 -1
  103. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js.map +1 -1
  104. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +8 -8
  105. package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +2 -0
  106. package/src/sap/fe/core/controls/CommandExecution-dbg.js +4 -9
  107. package/src/sap/fe/core/controls/CommandExecution.js +1 -1
  108. package/src/sap/fe/core/controls/CommandExecution.js.map +1 -1
  109. package/src/sap/fe/core/controls/CommandExecution.ts +0 -8
  110. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block-dbg.js +335 -0
  111. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block.js +6 -0
  112. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block.js.map +1 -0
  113. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block.tsx +336 -0
  114. package/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +1 -0
  115. package/src/sap/fe/core/controls/filterbar/VisualFilter-dbg.js +3 -28
  116. package/src/sap/fe/core/controls/filterbar/VisualFilter.js +1 -1
  117. package/src/sap/fe/core/controls/filterbar/VisualFilter.js.map +1 -1
  118. package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +8 -29
  119. package/src/sap/fe/core/controls/filterbar/adapter/SelectionVariantToStateFilters-dbg.js +435 -0
  120. package/src/sap/fe/core/controls/filterbar/adapter/SelectionVariantToStateFilters.js +6 -0
  121. package/src/sap/fe/core/controls/filterbar/adapter/SelectionVariantToStateFilters.js.map +1 -0
  122. package/src/sap/fe/core/controls/filterbar/adapter/SelectionVariantToStateFilters.ts +532 -0
  123. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils-dbg.js +30 -1
  124. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +1 -1
  125. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js.map +1 -1
  126. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +38 -0
  127. package/src/sap/fe/core/converters/ManifestSettings-dbg.js +1 -1
  128. package/src/sap/fe/core/converters/ManifestSettings.ts +7 -5
  129. package/src/sap/fe/core/converters/MetaModelConverter-dbg.js +36 -4
  130. package/src/sap/fe/core/converters/MetaModelConverter.js +1 -1
  131. package/src/sap/fe/core/converters/MetaModelConverter.js.map +1 -1
  132. package/src/sap/fe/core/converters/MetaModelConverter.ts +45 -4
  133. package/src/sap/fe/core/converters/TemplateConverter-dbg.js +2 -3
  134. package/src/sap/fe/core/converters/TemplateConverter.js +1 -1
  135. package/src/sap/fe/core/converters/TemplateConverter.js.map +1 -1
  136. package/src/sap/fe/core/converters/TemplateConverter.ts +1 -6
  137. package/src/sap/fe/core/converters/annotations/DataField-dbg.js +18 -3
  138. package/src/sap/fe/core/converters/annotations/DataField.js +1 -1
  139. package/src/sap/fe/core/converters/annotations/DataField.js.map +1 -1
  140. package/src/sap/fe/core/converters/annotations/DataField.ts +18 -2
  141. package/src/sap/fe/core/converters/common/AnnotationConverter-dbg.js +679 -676
  142. package/src/sap/fe/core/converters/common/AnnotationConverter.js +1 -1
  143. package/src/sap/fe/core/converters/common/AnnotationConverter.js.map +1 -1
  144. package/src/sap/fe/core/converters/controls/Common/Chart-dbg.js +32 -20
  145. package/src/sap/fe/core/converters/controls/Common/Chart.js +1 -1
  146. package/src/sap/fe/core/converters/controls/Common/Chart.js.map +1 -1
  147. package/src/sap/fe/core/converters/controls/Common/Chart.ts +30 -18
  148. package/src/sap/fe/core/converters/controls/Common/DataVisualization-dbg.js +4 -5
  149. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +1 -1
  150. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js.map +1 -1
  151. package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +6 -37
  152. package/src/sap/fe/core/converters/controls/Common/Table-dbg.js +100 -72
  153. package/src/sap/fe/core/converters/controls/Common/Table.js +1 -1
  154. package/src/sap/fe/core/converters/controls/Common/Table.js.map +1 -1
  155. package/src/sap/fe/core/converters/controls/Common/Table.ts +146 -99
  156. package/src/sap/fe/core/converters/controls/Common/table/StandardActions-dbg.js +37 -10
  157. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +1 -1
  158. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js.map +1 -1
  159. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +49 -16
  160. package/src/sap/fe/core/converters/controls/ListReport/FilterBar-dbg.js +47 -18
  161. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +1 -1
  162. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js.map +1 -1
  163. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +74 -20
  164. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters-dbg.js +26 -9
  165. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +1 -1
  166. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js.map +1 -1
  167. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +24 -8
  168. package/src/sap/fe/core/converters/helpers/Aggregation-dbg.js +28 -2
  169. package/src/sap/fe/core/converters/helpers/Aggregation.js +1 -1
  170. package/src/sap/fe/core/converters/helpers/Aggregation.js.map +1 -1
  171. package/src/sap/fe/core/converters/helpers/Aggregation.ts +28 -9
  172. package/src/sap/fe/core/converters/helpers/InsightsHelpers-dbg.js +39 -0
  173. package/src/sap/fe/core/converters/helpers/InsightsHelpers.js +6 -0
  174. package/src/sap/fe/core/converters/helpers/InsightsHelpers.js.map +1 -0
  175. package/src/sap/fe/core/converters/helpers/InsightsHelpers.ts +45 -0
  176. package/src/sap/fe/core/converters/templates/ListReportConverter-dbg.js +13 -15
  177. package/src/sap/fe/core/converters/templates/ListReportConverter.js +1 -1
  178. package/src/sap/fe/core/converters/templates/ListReportConverter.js.map +1 -1
  179. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +18 -54
  180. package/src/sap/fe/core/converters/templates/ObjectPageConverter-dbg.js +12 -12
  181. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +1 -1
  182. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js.map +1 -1
  183. package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +16 -11
  184. package/src/sap/fe/core/formatters/CollaborationFormatter-dbg.js +17 -33
  185. package/src/sap/fe/core/formatters/CollaborationFormatter.js +1 -1
  186. package/src/sap/fe/core/formatters/CollaborationFormatter.js.map +1 -1
  187. package/src/sap/fe/core/formatters/CollaborationFormatter.ts +27 -22
  188. package/src/sap/fe/core/formatters/ValueFormatter-dbg.js +5 -11
  189. package/src/sap/fe/core/formatters/ValueFormatter.js +1 -1
  190. package/src/sap/fe/core/formatters/ValueFormatter.js.map +1 -1
  191. package/src/sap/fe/core/formatters/ValueFormatter.ts +4 -25
  192. package/src/sap/fe/core/fpm/Component-dbg.js +3 -1
  193. package/src/sap/fe/core/fpm/Component.js +1 -1
  194. package/src/sap/fe/core/fpm/Component.js.map +1 -1
  195. package/src/sap/fe/core/fpm/Component.ts +3 -1
  196. package/src/sap/fe/core/fpm/manifest.json +1 -1
  197. package/src/sap/fe/core/helpers/BindingToolkit-dbg.js +74 -26
  198. package/src/sap/fe/core/helpers/BindingToolkit.js +1 -1
  199. package/src/sap/fe/core/helpers/BindingToolkit.js.map +1 -1
  200. package/src/sap/fe/core/helpers/BindingToolkit.ts +116 -33
  201. package/src/sap/fe/core/helpers/DeleteHelper-dbg.js +82 -37
  202. package/src/sap/fe/core/helpers/DeleteHelper.js +1 -1
  203. package/src/sap/fe/core/helpers/DeleteHelper.js.map +1 -1
  204. package/src/sap/fe/core/helpers/DeleteHelper.ts +109 -56
  205. package/src/sap/fe/core/helpers/KeepAliveHelper-dbg.js +1 -1
  206. package/src/sap/fe/core/helpers/KeepAliveHelper.ts +7 -5
  207. package/src/sap/fe/core/helpers/MassEditHelper-dbg.js +13 -3
  208. package/src/sap/fe/core/helpers/MassEditHelper.js +1 -1
  209. package/src/sap/fe/core/helpers/MassEditHelper.js.map +1 -1
  210. package/src/sap/fe/core/helpers/MassEditHelper.ts +28 -18
  211. package/src/sap/fe/core/helpers/MessageStrip-dbg.js +1 -1
  212. package/src/sap/fe/core/helpers/MessageStrip.ts +2 -1
  213. package/src/sap/fe/core/helpers/ModelHelper-dbg.js +1 -1
  214. package/src/sap/fe/core/helpers/ModelHelper.ts +3 -3
  215. package/src/sap/fe/core/helpers/RecommendationHelper-dbg.js +71 -0
  216. package/src/sap/fe/core/helpers/RecommendationHelper.js +6 -0
  217. package/src/sap/fe/core/helpers/RecommendationHelper.js.map +1 -0
  218. package/src/sap/fe/core/helpers/RecommendationHelper.ts +94 -0
  219. package/src/sap/fe/core/helpers/ResourceModelHelper-dbg.js +5 -2
  220. package/src/sap/fe/core/helpers/ResourceModelHelper.js +1 -1
  221. package/src/sap/fe/core/helpers/ResourceModelHelper.js.map +1 -1
  222. package/src/sap/fe/core/helpers/ResourceModelHelper.ts +5 -0
  223. package/src/sap/fe/core/helpers/StableIdHelper-dbg.js +24 -2
  224. package/src/sap/fe/core/helpers/StableIdHelper.js +1 -1
  225. package/src/sap/fe/core/helpers/StableIdHelper.js.map +1 -1
  226. package/src/sap/fe/core/helpers/StableIdHelper.ts +23 -1
  227. package/src/sap/fe/core/helpers/TitleHelper-dbg.js +239 -0
  228. package/src/sap/fe/core/helpers/TitleHelper.js +6 -0
  229. package/src/sap/fe/core/helpers/TitleHelper.js.map +1 -0
  230. package/src/sap/fe/core/helpers/TitleHelper.ts +295 -0
  231. package/src/sap/fe/core/jsx-runtime/ViewLoader-dbg.js +4 -1
  232. package/src/sap/fe/core/jsx-runtime/ViewLoader.js +1 -1
  233. package/src/sap/fe/core/jsx-runtime/ViewLoader.js.map +1 -1
  234. package/src/sap/fe/core/jsx-runtime/ViewLoader.tsx +3 -0
  235. package/src/sap/fe/core/jsx-runtime/jsx-control-dbg.js +41 -17
  236. package/src/sap/fe/core/jsx-runtime/jsx-control.js +1 -1
  237. package/src/sap/fe/core/jsx-runtime/jsx-control.js.map +1 -1
  238. package/src/sap/fe/core/jsx-runtime/jsx-control.ts +45 -21
  239. package/src/sap/fe/core/jsx-runtime/jsx-dbg.js +1 -1
  240. package/src/sap/fe/core/jsx-runtime/jsx.ts +1 -0
  241. package/src/sap/fe/core/jsx-runtime/useMDXComponents-dbg.js +8 -4
  242. package/src/sap/fe/core/jsx-runtime/useMDXComponents.js +1 -1
  243. package/src/sap/fe/core/jsx-runtime/useMDXComponents.js.map +1 -1
  244. package/src/sap/fe/core/jsx-runtime/useMDXComponents.tsx +7 -2
  245. package/src/sap/fe/core/library-dbg.js +4 -3
  246. package/src/sap/fe/core/library-preload.js +91 -74
  247. package/src/sap/fe/core/library-preload.js.map +1 -1
  248. package/src/sap/fe/core/library.js +1 -1
  249. package/src/sap/fe/core/library.js.map +1 -1
  250. package/src/sap/fe/core/library.ts +1 -1
  251. package/src/sap/fe/core/manifest.json +1 -1
  252. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration-dbg.js +4 -3
  253. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +1 -1
  254. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js.map +1 -1
  255. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +3 -2
  256. package/src/sap/fe/core/messagebundle.properties +12 -8
  257. package/src/sap/fe/core/messagebundle_ar.properties +7 -5
  258. package/src/sap/fe/core/messagebundle_bg.properties +7 -5
  259. package/src/sap/fe/core/messagebundle_ca.properties +7 -5
  260. package/src/sap/fe/core/messagebundle_cs.properties +7 -5
  261. package/src/sap/fe/core/messagebundle_cy.properties +7 -5
  262. package/src/sap/fe/core/messagebundle_da.properties +7 -5
  263. package/src/sap/fe/core/messagebundle_de.properties +7 -5
  264. package/src/sap/fe/core/messagebundle_el.properties +7 -5
  265. package/src/sap/fe/core/messagebundle_en.properties +7 -5
  266. package/src/sap/fe/core/messagebundle_en_GB.properties +6 -4
  267. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +7 -4
  268. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +6 -4
  269. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +7 -4
  270. package/src/sap/fe/core/messagebundle_es.properties +7 -5
  271. package/src/sap/fe/core/messagebundle_es_MX.properties +7 -5
  272. package/src/sap/fe/core/messagebundle_et.properties +7 -5
  273. package/src/sap/fe/core/messagebundle_fi.properties +7 -5
  274. package/src/sap/fe/core/messagebundle_fr.properties +7 -5
  275. package/src/sap/fe/core/messagebundle_fr_CA.properties +8 -6
  276. package/src/sap/fe/core/messagebundle_hi.properties +7 -5
  277. package/src/sap/fe/core/messagebundle_hr.properties +7 -5
  278. package/src/sap/fe/core/messagebundle_hu.properties +7 -5
  279. package/src/sap/fe/core/messagebundle_id.properties +7 -5
  280. package/src/sap/fe/core/messagebundle_it.properties +8 -6
  281. package/src/sap/fe/core/messagebundle_iw.properties +7 -5
  282. package/src/sap/fe/core/messagebundle_ja.properties +7 -5
  283. package/src/sap/fe/core/messagebundle_kk.properties +7 -5
  284. package/src/sap/fe/core/messagebundle_ko.properties +7 -5
  285. package/src/sap/fe/core/messagebundle_lt.properties +7 -5
  286. package/src/sap/fe/core/messagebundle_lv.properties +7 -5
  287. package/src/sap/fe/core/messagebundle_ms.properties +7 -5
  288. package/src/sap/fe/core/messagebundle_nl.properties +7 -5
  289. package/src/sap/fe/core/messagebundle_no.properties +7 -5
  290. package/src/sap/fe/core/messagebundle_pl.properties +7 -5
  291. package/src/sap/fe/core/messagebundle_pt.properties +7 -5
  292. package/src/sap/fe/core/messagebundle_pt_PT.properties +7 -5
  293. package/src/sap/fe/core/messagebundle_ro.properties +7 -5
  294. package/src/sap/fe/core/messagebundle_ru.properties +7 -5
  295. package/src/sap/fe/core/messagebundle_sh.properties +7 -5
  296. package/src/sap/fe/core/messagebundle_sk.properties +7 -5
  297. package/src/sap/fe/core/messagebundle_sl.properties +7 -5
  298. package/src/sap/fe/core/messagebundle_sv.properties +7 -5
  299. package/src/sap/fe/core/messagebundle_th.properties +7 -5
  300. package/src/sap/fe/core/messagebundle_tr.properties +7 -5
  301. package/src/sap/fe/core/messagebundle_uk.properties +7 -5
  302. package/src/sap/fe/core/messagebundle_vi.properties +7 -5
  303. package/src/sap/fe/core/messagebundle_zh_CN.properties +7 -5
  304. package/src/sap/fe/core/messagebundle_zh_TW.properties +7 -5
  305. package/src/sap/fe/core/operationsHelper-dbg.js +1 -1
  306. package/src/sap/fe/core/operationsHelper.ts +1 -1
  307. package/src/sap/fe/core/rootView/Fcl-dbg.controller.js +8 -2
  308. package/src/sap/fe/core/rootView/Fcl.controller.js +1 -1
  309. package/src/sap/fe/core/rootView/Fcl.controller.js.map +1 -1
  310. package/src/sap/fe/core/rootView/Fcl.controller.ts +8 -1
  311. package/src/sap/fe/core/rootView/NavContainer-dbg.controller.js +8 -2
  312. package/src/sap/fe/core/rootView/NavContainer.controller.js +1 -1
  313. package/src/sap/fe/core/rootView/NavContainer.controller.js.map +1 -1
  314. package/src/sap/fe/core/rootView/NavContainer.controller.ts +10 -3
  315. package/src/sap/fe/core/rootView/RootViewBaseController-dbg.js +16 -6
  316. package/src/sap/fe/core/rootView/RootViewBaseController.js +1 -1
  317. package/src/sap/fe/core/rootView/RootViewBaseController.js.map +1 -1
  318. package/src/sap/fe/core/rootView/RootViewBaseController.ts +10 -4
  319. package/src/sap/fe/core/services/EnvironmentServiceFactory-dbg.js +54 -5
  320. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +1 -1
  321. package/src/sap/fe/core/services/EnvironmentServiceFactory.js.map +1 -1
  322. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +52 -6
  323. package/src/sap/fe/core/services/NavigationServiceFactory-dbg.js +31 -14
  324. package/src/sap/fe/core/services/NavigationServiceFactory.js +1 -1
  325. package/src/sap/fe/core/services/NavigationServiceFactory.js.map +1 -1
  326. package/src/sap/fe/core/services/NavigationServiceFactory.ts +15 -1
  327. package/src/sap/fe/core/services/RoutingServiceFactory-dbg.js +10 -4
  328. package/src/sap/fe/core/services/RoutingServiceFactory.js +1 -1
  329. package/src/sap/fe/core/services/RoutingServiceFactory.js.map +1 -1
  330. package/src/sap/fe/core/services/RoutingServiceFactory.ts +29 -7
  331. package/src/sap/fe/core/services/SideEffectsServiceFactory-dbg.js +5 -2
  332. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +1 -1
  333. package/src/sap/fe/core/services/SideEffectsServiceFactory.js.map +1 -1
  334. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +9 -5
  335. package/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +1 -2
  336. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js.map +1 -1
  337. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +2 -18
  338. package/src/sap/fe/core/templating/CommonFormatters-dbg.js +8 -8
  339. package/src/sap/fe/core/templating/CommonFormatters.js.map +1 -1
  340. package/src/sap/fe/core/templating/CommonFormatters.ts +9 -9
  341. package/src/sap/fe/core/templating/CriticalityFormatters-dbg.js +1 -1
  342. package/src/sap/fe/core/templating/CriticalityFormatters.ts +2 -2
  343. package/src/sap/fe/core/templating/DataFieldFormatters-dbg.js +38 -2
  344. package/src/sap/fe/core/templating/DataFieldFormatters.js +1 -1
  345. package/src/sap/fe/core/templating/DataFieldFormatters.js.map +1 -1
  346. package/src/sap/fe/core/templating/DataFieldFormatters.ts +40 -0
  347. package/src/sap/fe/core/templating/FieldControlHelper-dbg.js +5 -6
  348. package/src/sap/fe/core/templating/FieldControlHelper.js +1 -1
  349. package/src/sap/fe/core/templating/FieldControlHelper.js.map +1 -1
  350. package/src/sap/fe/core/templating/FieldControlHelper.ts +13 -11
  351. package/src/sap/fe/core/templating/FilterHelper-dbg.js +13 -1
  352. package/src/sap/fe/core/templating/FilterHelper.js +1 -1
  353. package/src/sap/fe/core/templating/FilterHelper.js.map +1 -1
  354. package/src/sap/fe/core/templating/FilterHelper.ts +13 -1
  355. package/src/sap/fe/core/templating/PropertyHelper-dbg.js +1 -1
  356. package/src/sap/fe/core/templating/PropertyHelper.ts +7 -7
  357. package/src/sap/fe/core/templating/UIFormatters-dbg.js +5 -6
  358. package/src/sap/fe/core/templating/UIFormatters.js +1 -1
  359. package/src/sap/fe/core/templating/UIFormatters.js.map +1 -1
  360. package/src/sap/fe/core/templating/UIFormatters.ts +6 -7
  361. package/src/sap/fe/core/type/TypeUtil-dbg.js +2 -2
  362. package/src/sap/fe/core/type/TypeUtil.js +1 -1
  363. package/src/sap/fe/core/type/TypeUtil.js.map +1 -1
  364. package/src/sap/fe/core/type/TypeUtil.ts +2 -2
  365. package/src/sap/fe/core/controllerextensions/collaboration/Manage-dbg.js +0 -243
  366. package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +0 -6
  367. package/src/sap/fe/core/controllerextensions/collaboration/Manage.js.map +0 -1
  368. package/src/sap/fe/core/controllerextensions/collaboration/Manage.ts +0 -283
  369. package/src/sap/fe/core/controllerextensions/collaboration/ManageDialog.fragment.xml +0 -121
  370. package/src/sap/fe/core/controllerextensions/collaboration/UserDetails.fragment.xml +0 -11
  371. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossDraft.fragment.xml +0 -59
  372. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler-dbg.js +0 -171
  373. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +0 -6
  374. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js.map +0 -1
  375. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +0 -184
@@ -64,8 +64,8 @@ sap.ui.define(["sap/fe/core/converters/helpers/Aggregation", "sap/fe/core/conver
64
64
  const aGroupablePropsFromContainer = aggregationHelper.getGroupableProperties();
65
65
  if (aAggregatablePropsFromContainer && aAggregatablePropsFromContainer.length) {
66
66
  for (const aggregatableProp of aAggregatablePropsFromContainer) {
67
- var _aggregatableProp$Pro;
68
- if ((aggregatableProp === null || aggregatableProp === void 0 ? void 0 : (_aggregatableProp$Pro = aggregatableProp.Property) === null || _aggregatableProp$Pro === void 0 ? void 0 : _aggregatableProp$Pro.value) === sMeasurePath) {
67
+ var _Property;
68
+ if ((aggregatableProp === null || aggregatableProp === void 0 ? void 0 : (_Property = aggregatableProp.Property) === null || _Property === void 0 ? void 0 : _Property.value) === sMeasurePath) {
69
69
  bAggregatable = true;
70
70
  }
71
71
  }
@@ -113,12 +113,7 @@ sap.ui.define(["sap/fe/core/converters/helpers/Aggregation", "sap/fe/core/conver
113
113
  return key.name;
114
114
  }) : [];
115
115
  if (converterContext.getContextPath() === collectionPathConverterContext.getContextPath()) {
116
- aParameters.forEach(function (parameter) {
117
- inParameters.push({
118
- localDataProperty: parameter,
119
- valueListProperty: parameter
120
- });
121
- });
116
+ _addInParameters(inParameters, aParameters, true);
122
117
  }
123
118
  if (valueListParams) {
124
119
  for (const valueListParam of valueListParams) {
@@ -246,6 +241,10 @@ sap.ui.define(["sap/fe/core/converters/helpers/Aggregation", "sap/fe/core/conver
246
241
  }
247
242
  requiredPropertyPaths = requiredPropertyPaths.concat(aParameters);
248
243
  visualFilter.requiredProperties = requiredPropertyPaths;
244
+ if (converterContext.getContextPath() === collectionPathConverterContext.getContextPath()) {
245
+ // if context Path for both visual filter and filter bar are same, consider required Properties as well along with in Parameters
246
+ _addInParameters(inParameters, requiredProperties, false);
247
+ }
249
248
  if ((_visualFilter$require = visualFilter.requiredProperties) !== null && _visualFilter$require !== void 0 && _visualFilter$require.length) {
250
249
  if (!visualFilter.inParameters || !visualFilter.inParameters.length) {
251
250
  if (!visualFilter.selectionVariantAnnotation) {
@@ -295,7 +294,25 @@ sap.ui.define(["sap/fe/core/converters/helpers/Aggregation", "sap/fe/core/conver
295
294
  }
296
295
  return visualFilter;
297
296
  }
297
+
298
+ /**
299
+ * Method to add inparameters from required properties and parameters.
300
+ *
301
+ * @param inParams An array containing existing inparams
302
+ * @param properties An array containing either requiredproperties or parameters
303
+ * @param isParam A boolean flag indicating whether passed properties are parameters
304
+ */
298
305
  _exports.getVisualFilters = getVisualFilters;
306
+ function _addInParameters(inParams, properties, isParam) {
307
+ properties.forEach(function (element) {
308
+ const property = isParam ? element : element.value;
309
+ inParams.push({
310
+ localDataProperty: property,
311
+ valueListProperty: property
312
+ });
313
+ });
314
+ }
315
+ _exports._addInParameters = _addInParameters;
299
316
  return _exports;
300
317
  }, false);
301
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY2hlY2tWRkFnZ3JlZ2F0aW9uIiwiY29udmVydGVyQ29udGV4dCIsImNoYXJ0QW5ub3RhdGlvbiIsImFnZ3JlZ2F0aW9uSGVscGVyIiwic01lYXN1cmVQYXRoIiwiYkdyb3VwYWJsZSIsImJBZ2dyZWdhdGFibGUiLCJzTWVhc3VyZSIsImN1c3RvbUFnZ3JlZ2F0ZXMiLCJnZXRDdXN0b21BZ2dyZWdhdGVEZWZpbml0aW9ucyIsImFUcmFuc0FnZ3JlZ2F0aW9ucyIsImdldFRyYW5zQWdncmVnYXRpb25zIiwiYUN1c3RBZ2dNZWFzdXJlIiwiJHRhcmdldCIsIk1lYXN1cmVzIiwiZmlsdGVyIiwiY3VzdEFnZyIsInF1YWxpZmllciIsInZhbHVlIiwibGVuZ3RoIiwiRHluYW1pY01lYXN1cmVzIiwiZ2V0Q29udmVydGVyQ29udGV4dEZvciIsImdldEFic29sdXRlQW5ub3RhdGlvblBhdGgiLCJnZXREYXRhTW9kZWxPYmplY3RQYXRoIiwidGFyZ2V0T2JqZWN0IiwiTmFtZSIsImdldEFnZ3JlZ2F0ZWRQcm9wZXJ0aWVzIiwic0RpbWVuc2lvbiIsIkRpbWVuc2lvbnMiLCJzb21lIiwib0FnZ3JlZ2F0ZSIsIkFnZ3JlZ2F0YWJsZVByb3BlcnR5IiwiYUFnZ3JlZ2F0YWJsZVByb3BzRnJvbUNvbnRhaW5lciIsImdldEFnZ3JlZ2F0YWJsZVByb3BlcnRpZXMiLCJhR3JvdXBhYmxlUHJvcHNGcm9tQ29udGFpbmVyIiwiZ2V0R3JvdXBhYmxlUHJvcGVydGllcyIsImFnZ3JlZ2F0YWJsZVByb3AiLCJQcm9wZXJ0eSIsImdyb3VwYWJsZVByb3AiLCJnZXRWaXN1YWxGaWx0ZXJzIiwiZW50aXR5VHlwZSIsInNQcm9wZXJ0eVBhdGgiLCJGaWx0ZXJGaWVsZHMiLCJ2aXN1YWxGaWx0ZXIiLCJvVmlzdWFsRmlsdGVyIiwidmFsdWVMaXN0Iiwib1ZGUGF0aCIsImFubm90YXRpb25RdWFsaWZpZXJTcGxpdCIsInNwbGl0IiwicXVhbGlmaWVyVkwiLCJwcm9wZXJ0eSIsInJlc29sdmVQYXRoIiwiYW5ub3RhdGlvbnMiLCJDb21tb24iLCJpc1ZhbHVlTGlzdFdpdGhGaXhlZFZhbHVlcyIsIlZhbHVlTGlzdFdpdGhGaXhlZFZhbHVlcyIsInZhbHVlT2YiLCJjb2xsZWN0aW9uUGF0aCIsIkNvbGxlY3Rpb25QYXRoIiwidG9TdHJpbmciLCJjb2xsZWN0aW9uUGF0aENvbnZlcnRlckNvbnRleHQiLCJnZXRFbnRpdHlTZXQiLCJuYW1lIiwidmFsdWVMaXN0UGFyYW1zIiwiUGFyYW1ldGVycyIsIm91dFBhcmFtZXRlciIsImluUGFyYW1ldGVycyIsImFQYXJhbWV0ZXJzIiwicGFyYW1ldGVyRW50aXR5VHlwZSIsImdldFBhcmFtZXRlckVudGl0eVR5cGUiLCJrZXlzIiwibWFwIiwia2V5IiwiZ2V0Q29udGV4dFBhdGgiLCJmb3JFYWNoIiwicGFyYW1ldGVyIiwicHVzaCIsImxvY2FsRGF0YVByb3BlcnR5IiwidmFsdWVMaXN0UHJvcGVydHkiLCJ2YWx1ZUxpc3RQYXJhbSIsIkxvY2FsRGF0YVByb3BlcnR5IiwiVmFsdWVMaXN0UHJvcGVydHkiLCIkVHlwZSIsImJOb3RGaWx0ZXJhYmxlIiwiaXNQcm9wZXJ0eUZpbHRlcmFibGUiLCJvSW5QYXJhbWV0ZXIiLCJtYWluRW50aXR5U2V0SW5NYXBwaW5nQWxsb3dlZEV4cHJlc3Npb24iLCJjb21waWxlRXhwcmVzc2lvbiIsImNoZWNrRmlsdGVyRXhwcmVzc2lvblJlc3RyaWN0aW9ucyIsInZhbHVlTGlzdEVudGl0eVNldEluTWFwcGluZ0FsbG93ZWRFeHByZXNzaW9uIiwiRXJyb3IiLCJwdlF1YWxpZmllciIsIlByZXNlbnRhdGlvblZhcmlhbnRRdWFsaWZpZXIiLCJzdlF1YWxpZmllciIsIlNlbGVjdGlvblZhcmlhbnRRdWFsaWZpZXIiLCJwdkFubm90YXRpb24iLCJnZXRFbnRpdHlUeXBlIiwiVUkiLCJBZ2dyZWdhdGlvbkhlbHBlciIsImlzQW5hbHl0aWNzU3VwcG9ydGVkIiwidW5kZWZpbmVkIiwiYVZpc3VhbGl6YXRpb25zIiwiVmlzdWFsaXphdGlvbnMiLCJjb250ZXh0UGF0aCIsInZpc3VhbGl6YXRpb24iLCJ0ZXJtIiwiX2JnZXRWRkFnZ3JlZ2F0aW9uIiwiYkRpbWVuc2lvbkhpZGRlbiIsIkhpZGRlbiIsImJEaW1lbnNpb25IaWRkZW5GaWx0ZXIiLCJIaWRkZW5GaWx0ZXIiLCJmdWxseVF1YWxpZmllZE5hbWUiLCJlbnRpdHlTZXROYW1lIiwicHJlc2VudGF0aW9uQW5ub3RhdGlvbiIsInJlbGF0aXZlQW5ub3RhdGlvblBhdGgiLCJnZXRSZWxhdGl2ZUFubm90YXRpb25QYXRoIiwidmFsdWVsaXN0UHJvcGVydHkiLCJiSXNSYW5nZSIsImdldERpYWdub3N0aWNzIiwiYWRkSXNzdWUiLCJJc3N1ZUNhdGVnb3J5IiwiQW5ub3RhdGlvbiIsIklzc3VlU2V2ZXJpdHkiLCJIaWdoIiwiSXNzdWVUeXBlIiwiTUFMRk9STUVEX1ZJU1VBTEZJTFRFUlMiLCJWQUxVRUxJU1QiLCJiSXNNYWluRW50aXR5U2V0U2luZ2xlU2VsZWN0aW9uIiwibXVsdGlwbGVTZWxlY3Rpb25BbGxvd2VkIiwibm90IiwicmVxdWlyZWQiLCJnZXRJc1JlcXVpcmVkIiwic3ZBbm5vdGF0aW9uIiwiZ2V0RW50aXR5VHlwZUFubm90YXRpb24iLCJhbm5vdGF0aW9uIiwic2VsZWN0aW9uVmFyaWFudEFubm90YXRpb24iLCJyZWxhdGl2ZVNlbGVjdGlvblZhcmlhbnRQYXRoIiwicmVxdWlyZWRQcm9wZXJ0aWVzIiwic0VudGl0eVNldCIsInNOYXZpZ2F0aW9uUHJvcGVydHkiLCJvRW50aXR5U2V0Q29udmVydGVyQ29udGV4dCIsImFSZXN0cmljdGVkUHJvcGVydGllcyIsInN0YXJ0aW5nRW50aXR5U2V0IiwiQ2FwYWJpbGl0aWVzIiwiTmF2aWdhdGlvblJlc3RyaWN0aW9ucyIsIlJlc3RyaWN0ZWRQcm9wZXJ0aWVzIiwib1Jlc3RyaWN0ZWRQcm9wZXJ0eSIsImZpbmQiLCJyZXN0cmljdGVkTmF2UHJvcCIsIk5hdmlnYXRpb25Qcm9wZXJ0eSIsInR5cGUiLCJGaWx0ZXJSZXN0cmljdGlvbnMiLCJSZXF1aXJlZFByb3BlcnRpZXMiLCJlbnRpdHlTZXRPclNpbmdsZXRvbiIsImlzRW50aXR5U2V0IiwicmVxdWlyZWRQcm9wZXJ0eVBhdGhzIiwib1JlcXVpcmVQcm9wZXJ0eSIsImNvbmNhdCIsInNob3dPdmVybGF5SW5pdGlhbGx5Iiwic2VsZWN0T3B0aW9ucyIsIlNlbGVjdE9wdGlvbnMiLCJvU2VsZWN0T3B0aW9uIiwiUHJvcGVydHlOYW1lIiwicGFyYW1ldGVyT3B0aW9ucyIsIm9QYXJhbWV0ZXJPcHRpb24iLCJzb3J0Iiwic1BhdGgiLCJpbmRleE9mIiwic0RpbWVuc2lvblR5cGUiLCJDaGFydFR5cGUiLCJyZW5kZXJMaW5lQ2hhcnQiLCJDSEFSVCIsIlBSRVNFTlRBVElPTlZBUklBTlQiLCJNYW5pZmVzdCJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiVmlzdWFsRmlsdGVycy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEFubm90YXRpb25QYXRoLCBFbnRpdHlUeXBlLCBQcm9wZXJ0eSwgUHJvcGVydHlQYXRoIH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzXCI7XG5pbXBvcnQgdHlwZSB7IEN1c3RvbUFnZ3JlZ2F0ZSB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlcy92b2NhYnVsYXJpZXMvQWdncmVnYXRpb25cIjtcbmltcG9ydCB0eXBlIHsgTmF2aWdhdGlvblByb3BlcnR5UmVzdHJpY3Rpb25UeXBlcyB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlcy92b2NhYnVsYXJpZXMvQ2FwYWJpbGl0aWVzXCI7XG5pbXBvcnQgdHlwZSB7XG5cdFZhbHVlTGlzdCxcblx0VmFsdWVMaXN0UGFyYW1ldGVySW4sXG5cdFZhbHVlTGlzdFBhcmFtZXRlckluT3V0LFxuXHRWYWx1ZUxpc3RQYXJhbWV0ZXJPdXRcbn0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzL3ZvY2FidWxhcmllcy9Db21tb25cIjtcbmltcG9ydCB0eXBlIHsgUHJvcGVydHlBbm5vdGF0aW9uc19Db21tb24gfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXMvdm9jYWJ1bGFyaWVzL0NvbW1vbl9FZG1cIjtcbmltcG9ydCB0eXBlIHsgQ2hhcnQsIFBhcmFtZXRlclR5cGVzLCBTZWxlY3Rpb25WYXJpYW50IH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzL3ZvY2FidWxhcmllcy9VSVwiO1xuaW1wb3J0IHR5cGUgQ29udmVydGVyQ29udGV4dCBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9Db252ZXJ0ZXJDb250ZXh0XCI7XG5pbXBvcnQgeyBBZ2dyZWdhdGlvbkhlbHBlciB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL2hlbHBlcnMvQWdncmVnYXRpb25cIjtcbmltcG9ydCB7IElzc3VlQ2F0ZWdvcnksIElzc3VlU2V2ZXJpdHksIElzc3VlVHlwZSB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL2hlbHBlcnMvSXNzdWVNYW5hZ2VyXCI7XG5pbXBvcnQgdHlwZSB7IEZpbHRlckZpZWxkTWFuaWZlc3RDb25maWd1cmF0aW9uIH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvTWFuaWZlc3RTZXR0aW5nc1wiO1xuaW1wb3J0IHR5cGUgeyBDb21waWxlZEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbiB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0JpbmRpbmdUb29sa2l0XCI7XG5pbXBvcnQgeyBjb21waWxlRXhwcmVzc2lvbiwgbm90IH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQmluZGluZ1Rvb2xraXRcIjtcbmltcG9ydCB7IGlzRW50aXR5U2V0IH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvVHlwZUd1YXJkc1wiO1xuaW1wb3J0IHsgY2hlY2tGaWx0ZXJFeHByZXNzaW9uUmVzdHJpY3Rpb25zIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvRGF0YU1vZGVsUGF0aEhlbHBlclwiO1xuaW1wb3J0IHsgZ2V0SXNSZXF1aXJlZCwgaXNQcm9wZXJ0eUZpbHRlcmFibGUgfSBmcm9tIFwic2FwL2ZlL2NvcmUvdGVtcGxhdGluZy9GaWx0ZXJUZW1wbGF0aW5nXCI7XG5cbmV4cG9ydCB0eXBlIFZpc3VhbEZpbHRlcnMgPSB7XG5cdGRpbWVuc2lvblBhdGg/OiBzdHJpbmc7XG5cdG1lYXN1cmVQYXRoPzogc3RyaW5nO1xuXHRsYWJlbD86IHN0cmluZztcblx0Y2hhcnRBbm5vdGF0aW9uPzogc3RyaW5nO1xuXHRwcmVzZW50YXRpb25Bbm5vdGF0aW9uPzogc3RyaW5nO1xuXHR2aXNpYmxlPzogYm9vbGVhbjtcblx0b3V0UGFyYW1ldGVyPzogc3RyaW5nO1xuXHRpblBhcmFtZXRlcnM/OiBvYmplY3RbXTtcblx0dmFsdWVsaXN0UHJvcGVydHk/OiBzdHJpbmc7XG5cdGNvbnRleHRQYXRoPzogc3RyaW5nO1xuXHRzZWxlY3Rpb25WYXJpYW50QW5ub3RhdGlvbj86IHN0cmluZztcblx0bXVsdGlwbGVTZWxlY3Rpb25BbGxvd2VkPzogQ29tcGlsZWRCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb247XG5cdHJlcXVpcmVkPzogYm9vbGVhbjtcblx0c2hvd092ZXJsYXlJbml0aWFsbHk/OiBib29sZWFuO1xuXHRyZW5kZXJMaW5lQ2hhcnQ/OiBib29sZWFuO1xuXHRyZXF1aXJlZFByb3BlcnRpZXM/OiBzdHJpbmdbXTtcblx0aXNWYWx1ZUxpc3RXaXRoRml4ZWRWYWx1ZXM/OiBib29sZWFuO1xufTtcblxuLyoqXG4gKiBDaGVja3MgdGhhdCBtZWFzdXJlcyBhbmQgZGltZW5zaW9ucyBvZiB0aGUgdmlzdWFsIGZpbHRlciBjaGFydCBjYW4gYmUgYWdncmVnYXRlZCBhbmQgZ3JvdXBlZC5cbiAqXG4gKiBAcGFyYW0gY29udmVydGVyQ29udGV4dCBUaGUgY29udmVydGVyIGNvbnRleHRcbiAqIEBwYXJhbSBjaGFydEFubm90YXRpb24gVGhlIGNoYXJ0IGFubm90YXRpb25cbiAqIEBwYXJhbSBhZ2dyZWdhdGlvbkhlbHBlciBUaGUgYWdncmVnYXRpb24gaGVscGVyXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIG1lYXN1cmUgY2FuIGJlIGdyb3VwZWQgYW5kIGFnZ3JlZ2F0ZWRcbiAqL1xuY29uc3QgX2NoZWNrVkZBZ2dyZWdhdGlvbiA9IGZ1bmN0aW9uIChcblx0Y29udmVydGVyQ29udGV4dDogQ29udmVydGVyQ29udGV4dCxcblx0Y2hhcnRBbm5vdGF0aW9uOiBBbm5vdGF0aW9uUGF0aDxDaGFydD4sXG5cdGFnZ3JlZ2F0aW9uSGVscGVyOiBBZ2dyZWdhdGlvbkhlbHBlclxuKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG5cdGxldCBzTWVhc3VyZVBhdGgsIGJHcm91cGFibGUsIGJBZ2dyZWdhdGFibGU7XG5cdGxldCBzTWVhc3VyZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXHRjb25zdCBjdXN0b21BZ2dyZWdhdGVzID0gYWdncmVnYXRpb25IZWxwZXIuZ2V0Q3VzdG9tQWdncmVnYXRlRGVmaW5pdGlvbnMoKTtcblx0bGV0IGFUcmFuc0FnZ3JlZ2F0aW9ucyA9IGFnZ3JlZ2F0aW9uSGVscGVyLmdldFRyYW5zQWdncmVnYXRpb25zKCk7XG5cdGxldCBhQ3VzdEFnZ01lYXN1cmUgPSBbXSBhcyBBcnJheTxDdXN0b21BZ2dyZWdhdGU+O1xuXHQvLyBpZiB0aGUgY2hhcnQgZGVmaW5pdGlvbiBoYXMgY3VzdG9tIGFnZ3JlZ2F0ZXMsIHRoZW4gY29uc2lkZXIgdGhlbSwgZWxzZSBmYWxsIGJhY2sgdG8gdGhlIG1lYXN1cmVzIHdpdGggdHJhbnNmb3JtYXRpb24gYWdncmVnYXRlc1xuXHRpZiAoY2hhcnRBbm5vdGF0aW9uPy4kdGFyZ2V0Py5NZWFzdXJlcykge1xuXHRcdGFDdXN0QWdnTWVhc3VyZSA9IGN1c3RvbUFnZ3JlZ2F0ZXMuZmlsdGVyKGZ1bmN0aW9uIChjdXN0QWdnOiBDdXN0b21BZ2dyZWdhdGUpIHtcblx0XHRcdHJldHVybiBjdXN0QWdnLnF1YWxpZmllciA9PT0gY2hhcnRBbm5vdGF0aW9uPy4kdGFyZ2V0Py5NZWFzdXJlcz8uWzBdPy52YWx1ZTtcblx0XHR9KTtcblx0XHRzTWVhc3VyZSA9IGFDdXN0QWdnTWVhc3VyZS5sZW5ndGggPiAwID8gYUN1c3RBZ2dNZWFzdXJlWzBdLnF1YWxpZmllciA6IGNoYXJ0QW5ub3RhdGlvbj8uJHRhcmdldD8uTWVhc3VyZXM/LlswXT8udmFsdWU7XG5cdH1cblx0Ly8gY29uc2lkZXIgZHluYW1pYyBtZWFzdXJlcyBvbmx5IGlmIHRoZXJlIGFyZSBubyBtZWFzdXJlcyB3aXRoIGN1c3RvbSBhZ2dyZWdhdGVzXG5cdGlmICghYUN1c3RBZ2dNZWFzdXJlWzBdICYmIGNoYXJ0QW5ub3RhdGlvbj8uJHRhcmdldD8uRHluYW1pY01lYXN1cmVzKSB7XG5cdFx0c01lYXN1cmUgPSBjb252ZXJ0ZXJDb250ZXh0XG5cdFx0XHQuZ2V0Q29udmVydGVyQ29udGV4dEZvcihjb252ZXJ0ZXJDb250ZXh0LmdldEFic29sdXRlQW5ub3RhdGlvblBhdGgoY2hhcnRBbm5vdGF0aW9uLiR0YXJnZXQuRHluYW1pY01lYXN1cmVzPy5bMF0/LnZhbHVlKSlcblx0XHRcdC5nZXREYXRhTW9kZWxPYmplY3RQYXRoKCkudGFyZ2V0T2JqZWN0Lk5hbWU7XG5cdFx0YVRyYW5zQWdncmVnYXRpb25zID0gYWdncmVnYXRpb25IZWxwZXIuZ2V0QWdncmVnYXRlZFByb3BlcnRpZXMoXCJBZ2dyZWdhdGVkUHJvcGVydHlcIik7XG5cdH0gZWxzZSB7XG5cdFx0YVRyYW5zQWdncmVnYXRpb25zID0gYWdncmVnYXRpb25IZWxwZXIuZ2V0QWdncmVnYXRlZFByb3BlcnRpZXMoXCJBZ2dyZWdhdGVkUHJvcGVydGllc1wiKVswXTtcblx0fVxuXG5cdGNvbnN0IHNEaW1lbnNpb246IHN0cmluZyA9IGNoYXJ0QW5ub3RhdGlvbj8uJHRhcmdldD8uRGltZW5zaW9uc1swXT8udmFsdWU7XG5cblx0aWYgKFxuXHRcdGN1c3RvbUFnZ3JlZ2F0ZXMuc29tZShmdW5jdGlvbiAoY3VzdEFnZzogQ3VzdG9tQWdncmVnYXRlKSB7XG5cdFx0XHRyZXR1cm4gY3VzdEFnZy5xdWFsaWZpZXIgPT09IHNNZWFzdXJlO1xuXHRcdH0pXG5cdCkge1xuXHRcdHNNZWFzdXJlUGF0aCA9IHNNZWFzdXJlO1xuXHR9IGVsc2UgaWYgKGFUcmFuc0FnZ3JlZ2F0aW9ucyAmJiBhVHJhbnNBZ2dyZWdhdGlvbnNbMF0pIHtcblx0XHRhVHJhbnNBZ2dyZWdhdGlvbnMuc29tZShmdW5jdGlvbiAob0FnZ3JlZ2F0ZSkge1xuXHRcdFx0aWYgKG9BZ2dyZWdhdGUuTmFtZSA9PT0gc01lYXN1cmUpIHtcblx0XHRcdFx0c01lYXN1cmVQYXRoID0gb0FnZ3JlZ2F0ZT8uQWdncmVnYXRhYmxlUHJvcGVydHkudmFsdWU7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblx0Y29uc3QgYUFnZ3JlZ2F0YWJsZVByb3BzRnJvbUNvbnRhaW5lciA9IGFnZ3JlZ2F0aW9uSGVscGVyLmdldEFnZ3JlZ2F0YWJsZVByb3BlcnRpZXMoKTtcblx0Y29uc3QgYUdyb3VwYWJsZVByb3BzRnJvbUNvbnRhaW5lciA9IGFnZ3JlZ2F0aW9uSGVscGVyLmdldEdyb3VwYWJsZVByb3BlcnRpZXMoKTtcblx0aWYgKGFBZ2dyZWdhdGFibGVQcm9wc0Zyb21Db250YWluZXIgJiYgYUFnZ3JlZ2F0YWJsZVByb3BzRnJvbUNvbnRhaW5lci5sZW5ndGgpIHtcblx0XHRmb3IgKGNvbnN0IGFnZ3JlZ2F0YWJsZVByb3Agb2YgYUFnZ3JlZ2F0YWJsZVByb3BzRnJvbUNvbnRhaW5lcikge1xuXHRcdFx0aWYgKGFnZ3JlZ2F0YWJsZVByb3A/LlByb3BlcnR5Py52YWx1ZSA9PT0gc01lYXN1cmVQYXRoKSB7XG5cdFx0XHRcdGJBZ2dyZWdhdGFibGUgPSB0cnVlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRpZiAoYUdyb3VwYWJsZVByb3BzRnJvbUNvbnRhaW5lciAmJiBhR3JvdXBhYmxlUHJvcHNGcm9tQ29udGFpbmVyLmxlbmd0aCkge1xuXHRcdGZvciAoY29uc3QgZ3JvdXBhYmxlUHJvcCBvZiBhR3JvdXBhYmxlUHJvcHNGcm9tQ29udGFpbmVyKSB7XG5cdFx0XHRpZiAoZ3JvdXBhYmxlUHJvcD8udmFsdWUgPT09IHNEaW1lbnNpb24pIHtcblx0XHRcdFx0Ykdyb3VwYWJsZSA9IHRydWU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdHJldHVybiBiQWdncmVnYXRhYmxlICYmIGJHcm91cGFibGU7XG59O1xuXG5leHBvcnQgdHlwZSBQYXJhbWV0ZXJUeXBlID0ge1xuXHRsb2NhbERhdGFQcm9wZXJ0eTogc3RyaW5nO1xuXHR2YWx1ZUxpc3RQcm9wZXJ0eTogc3RyaW5nO1xufTtcblxuLyoqXG4gKiBNZXRob2QgdG8gZ2V0IHRoZSB2aXN1YWwgZmlsdGVycyBvYmplY3QgZm9yIGEgcHJvcGVydHkuXG4gKlxuICogQHBhcmFtIGVudGl0eVR5cGUgVGhlIGNvbnZlcnRlciBjb250ZXh0XG4gKiBAcGFyYW0gY29udmVydGVyQ29udGV4dCBUaGUgY2hhcnQgYW5ub3RhdGlvblxuICogQHBhcmFtIHNQcm9wZXJ0eVBhdGggVGhlIGFnZ3JlZ2F0aW9uIGhlbHBlclxuICogQHBhcmFtIEZpbHRlckZpZWxkcyBUaGUgYWdncmVnYXRpb24gaGVscGVyXG4gKiBAcmV0dXJucyB7IFZpc3VhbEZpbHRlcnMgfCB1bmRlZmluZWR9IFRoZSB2aXN1YWwgZmlsdGVyc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0VmlzdWFsRmlsdGVycyhcblx0ZW50aXR5VHlwZTogRW50aXR5VHlwZSxcblx0Y29udmVydGVyQ29udGV4dDogQ29udmVydGVyQ29udGV4dCxcblx0c1Byb3BlcnR5UGF0aDogc3RyaW5nLFxuXHRGaWx0ZXJGaWVsZHM6IFJlY29yZDxzdHJpbmcsIEZpbHRlckZpZWxkTWFuaWZlc3RDb25maWd1cmF0aW9uPlxuKTogVmlzdWFsRmlsdGVycyB8IHVuZGVmaW5lZCB7XG5cdGxldCB2aXN1YWxGaWx0ZXI6IFZpc3VhbEZpbHRlcnMgfCB1bmRlZmluZWQ7XG5cdGNvbnN0IG9WaXN1YWxGaWx0ZXI6IEZpbHRlckZpZWxkTWFuaWZlc3RDb25maWd1cmF0aW9uID0gRmlsdGVyRmllbGRzW3NQcm9wZXJ0eVBhdGhdO1xuXHRpZiAob1Zpc3VhbEZpbHRlcj8udmlzdWFsRmlsdGVyPy52YWx1ZUxpc3QpIHtcblx0XHRjb25zdCBvVkZQYXRoID0gb1Zpc3VhbEZpbHRlcj8udmlzdWFsRmlsdGVyPy52YWx1ZUxpc3Q7XG5cdFx0Y29uc3QgYW5ub3RhdGlvblF1YWxpZmllclNwbGl0ID0gb1ZGUGF0aC5zcGxpdChcIiNcIik7XG5cdFx0Y29uc3QgcXVhbGlmaWVyVkwgPSBhbm5vdGF0aW9uUXVhbGlmaWVyU3BsaXQubGVuZ3RoID4gMSA/IGBWYWx1ZUxpc3QjJHthbm5vdGF0aW9uUXVhbGlmaWVyU3BsaXRbMV19YCA6IGFubm90YXRpb25RdWFsaWZpZXJTcGxpdFswXTtcblx0XHRjb25zdCBwcm9wZXJ0eSA9IGVudGl0eVR5cGUucmVzb2x2ZVBhdGgoc1Byb3BlcnR5UGF0aCkgYXMgUHJvcGVydHk7XG5cdFx0Y29uc3QgdmFsdWVMaXN0ID0gcHJvcGVydHk/LmFubm90YXRpb25zPy5Db21tb24/LltxdWFsaWZpZXJWTCBhcyBrZXlvZiBQcm9wZXJ0eUFubm90YXRpb25zX0NvbW1vbl0gYXMgVmFsdWVMaXN0IHwgdW5kZWZpbmVkO1xuXHRcdGNvbnN0IGlzVmFsdWVMaXN0V2l0aEZpeGVkVmFsdWVzID0gKHByb3BlcnR5Py5hbm5vdGF0aW9ucz8uQ29tbW9uPy5WYWx1ZUxpc3RXaXRoRml4ZWRWYWx1ZXM/LnZhbHVlT2YoKSBhcyBib29sZWFuKSB8fCBmYWxzZTtcblx0XHRpZiAodmFsdWVMaXN0KSB7XG5cdFx0XHRjb25zdCBjb2xsZWN0aW9uUGF0aCA9IHZhbHVlTGlzdD8uQ29sbGVjdGlvblBhdGgudG9TdHJpbmcoKTtcblx0XHRcdGNvbnN0IGNvbGxlY3Rpb25QYXRoQ29udmVydGVyQ29udGV4dCA9IGNvbnZlcnRlckNvbnRleHQuZ2V0Q29udmVydGVyQ29udGV4dEZvcihcblx0XHRcdFx0YC8ke2NvbGxlY3Rpb25QYXRoIHx8IGNvbnZlcnRlckNvbnRleHQuZ2V0RW50aXR5U2V0KCk/Lm5hbWV9YFxuXHRcdFx0KTtcblx0XHRcdGNvbnN0IHZhbHVlTGlzdFBhcmFtcyA9IHZhbHVlTGlzdD8uUGFyYW1ldGVycztcblx0XHRcdGxldCBvdXRQYXJhbWV0ZXI6IFZhbHVlTGlzdFBhcmFtZXRlck91dCB8IFZhbHVlTGlzdFBhcmFtZXRlckluT3V0IHwgdW5kZWZpbmVkO1xuXHRcdFx0Y29uc3QgaW5QYXJhbWV0ZXJzOiBQYXJhbWV0ZXJUeXBlW10gPSBbXTtcblx0XHRcdGxldCBhUGFyYW1ldGVyczogc3RyaW5nW10gPSBbXTtcblx0XHRcdGNvbnN0IHBhcmFtZXRlckVudGl0eVR5cGUgPSBjb2xsZWN0aW9uUGF0aENvbnZlcnRlckNvbnRleHQuZ2V0UGFyYW1ldGVyRW50aXR5VHlwZSgpO1xuXHRcdFx0YVBhcmFtZXRlcnMgPSBwYXJhbWV0ZXJFbnRpdHlUeXBlXG5cdFx0XHRcdD8gcGFyYW1ldGVyRW50aXR5VHlwZS5rZXlzLm1hcChmdW5jdGlvbiAoa2V5KSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4ga2V5Lm5hbWU7XG5cdFx0XHRcdCAgfSlcblx0XHRcdFx0OiBbXTtcblx0XHRcdGlmIChjb252ZXJ0ZXJDb250ZXh0LmdldENvbnRleHRQYXRoKCkgPT09IGNvbGxlY3Rpb25QYXRoQ29udmVydGVyQ29udGV4dC5nZXRDb250ZXh0UGF0aCgpKSB7XG5cdFx0XHRcdGFQYXJhbWV0ZXJzLmZvckVhY2goZnVuY3Rpb24gKHBhcmFtZXRlcikge1xuXHRcdFx0XHRcdGluUGFyYW1ldGVycy5wdXNoKHtcblx0XHRcdFx0XHRcdGxvY2FsRGF0YVByb3BlcnR5OiBwYXJhbWV0ZXIsXG5cdFx0XHRcdFx0XHR2YWx1ZUxpc3RQcm9wZXJ0eTogcGFyYW1ldGVyXG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXHRcdFx0aWYgKHZhbHVlTGlzdFBhcmFtcykge1xuXHRcdFx0XHRmb3IgKGNvbnN0IHZhbHVlTGlzdFBhcmFtIG9mIHZhbHVlTGlzdFBhcmFtcykge1xuXHRcdFx0XHRcdGNvbnN0IGxvY2FsRGF0YVByb3BlcnR5ID0gKHZhbHVlTGlzdFBhcmFtIGFzIFZhbHVlTGlzdFBhcmFtZXRlckluKS5Mb2NhbERhdGFQcm9wZXJ0eT8udmFsdWU7XG5cdFx0XHRcdFx0Y29uc3QgdmFsdWVMaXN0UHJvcGVydHkgPSB2YWx1ZUxpc3RQYXJhbS5WYWx1ZUxpc3RQcm9wZXJ0eSBhcyBzdHJpbmc7XG5cdFx0XHRcdFx0aWYgKFxuXHRcdFx0XHRcdFx0KHZhbHVlTGlzdFBhcmFtPy4kVHlwZSA9PT0gXCJjb20uc2FwLnZvY2FidWxhcmllcy5Db21tb24udjEuVmFsdWVMaXN0UGFyYW1ldGVySW5PdXRcIiB8fFxuXHRcdFx0XHRcdFx0XHR2YWx1ZUxpc3RQYXJhbT8uJFR5cGUgPT09IFwiY29tLnNhcC52b2NhYnVsYXJpZXMuQ29tbW9uLnYxLlZhbHVlTGlzdFBhcmFtZXRlck91dFwiKSAmJlxuXHRcdFx0XHRcdFx0c1Byb3BlcnR5UGF0aCA9PT0gbG9jYWxEYXRhUHJvcGVydHlcblx0XHRcdFx0XHQpIHtcblx0XHRcdFx0XHRcdG91dFBhcmFtZXRlciA9IHZhbHVlTGlzdFBhcmFtO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRpZiAoXG5cdFx0XHRcdFx0XHQodmFsdWVMaXN0UGFyYW0/LiRUeXBlID09PSBcImNvbS5zYXAudm9jYWJ1bGFyaWVzLkNvbW1vbi52MS5WYWx1ZUxpc3RQYXJhbWV0ZXJJbk91dFwiIHx8XG5cdFx0XHRcdFx0XHRcdHZhbHVlTGlzdFBhcmFtPy4kVHlwZSA9PT0gXCJjb20uc2FwLnZvY2FidWxhcmllcy5Db21tb24udjEuVmFsdWVMaXN0UGFyYW1ldGVySW5cIikgJiZcblx0XHRcdFx0XHRcdHNQcm9wZXJ0eVBhdGggIT09IGxvY2FsRGF0YVByb3BlcnR5XG5cdFx0XHRcdFx0KSB7XG5cdFx0XHRcdFx0XHRjb25zdCBiTm90RmlsdGVyYWJsZSA9IGlzUHJvcGVydHlGaWx0ZXJhYmxlKGNvbGxlY3Rpb25QYXRoQ29udmVydGVyQ29udGV4dCwgdmFsdWVMaXN0UHJvcGVydHkpO1xuXHRcdFx0XHRcdFx0aWYgKCFiTm90RmlsdGVyYWJsZSkge1xuXHRcdFx0XHRcdFx0XHRpblBhcmFtZXRlcnMucHVzaCh7XG5cdFx0XHRcdFx0XHRcdFx0bG9jYWxEYXRhUHJvcGVydHk6IGxvY2FsRGF0YVByb3BlcnR5LFxuXHRcdFx0XHRcdFx0XHRcdHZhbHVlTGlzdFByb3BlcnR5OiB2YWx1ZUxpc3RQcm9wZXJ0eVxuXHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdGlmIChpblBhcmFtZXRlcnMgJiYgaW5QYXJhbWV0ZXJzLmxlbmd0aCkge1xuXHRcdFx0XHRpblBhcmFtZXRlcnMuZm9yRWFjaChmdW5jdGlvbiAob0luUGFyYW1ldGVyKSB7XG5cdFx0XHRcdFx0Y29uc3QgbWFpbkVudGl0eVNldEluTWFwcGluZ0FsbG93ZWRFeHByZXNzaW9uID0gY29tcGlsZUV4cHJlc3Npb24oXG5cdFx0XHRcdFx0XHRjaGVja0ZpbHRlckV4cHJlc3Npb25SZXN0cmljdGlvbnMoXG5cdFx0XHRcdFx0XHRcdGNvbnZlcnRlckNvbnRleHRcblx0XHRcdFx0XHRcdFx0XHQuZ2V0Q29udmVydGVyQ29udGV4dEZvcihjb252ZXJ0ZXJDb250ZXh0LmdldEFic29sdXRlQW5ub3RhdGlvblBhdGgob0luUGFyYW1ldGVyPy5sb2NhbERhdGFQcm9wZXJ0eSkpXG5cdFx0XHRcdFx0XHRcdFx0LmdldERhdGFNb2RlbE9iamVjdFBhdGgoKSxcblx0XHRcdFx0XHRcdFx0W1wiU2luZ2xlVmFsdWVcIl1cblx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdGNvbnN0IHZhbHVlTGlzdEVudGl0eVNldEluTWFwcGluZ0FsbG93ZWRFeHByZXNzaW9uID0gY29tcGlsZUV4cHJlc3Npb24oXG5cdFx0XHRcdFx0XHRjaGVja0ZpbHRlckV4cHJlc3Npb25SZXN0cmljdGlvbnMoXG5cdFx0XHRcdFx0XHRcdGNvbGxlY3Rpb25QYXRoQ29udmVydGVyQ29udGV4dFxuXHRcdFx0XHRcdFx0XHRcdC5nZXRDb252ZXJ0ZXJDb250ZXh0Rm9yKFxuXHRcdFx0XHRcdFx0XHRcdFx0Y29sbGVjdGlvblBhdGhDb252ZXJ0ZXJDb250ZXh0LmdldEFic29sdXRlQW5ub3RhdGlvblBhdGgob0luUGFyYW1ldGVyPy52YWx1ZUxpc3RQcm9wZXJ0eSlcblx0XHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHRcdFx0LmdldERhdGFNb2RlbE9iamVjdFBhdGgoKSxcblx0XHRcdFx0XHRcdFx0W1wiU2luZ2xlVmFsdWVcIl1cblx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdGlmICh2YWx1ZUxpc3RFbnRpdHlTZXRJbk1hcHBpbmdBbGxvd2VkRXhwcmVzc2lvbiA9PT0gXCJ0cnVlXCIgJiYgbWFpbkVudGl0eVNldEluTWFwcGluZ0FsbG93ZWRFeHByZXNzaW9uID09PSBcImZhbHNlXCIpIHtcblx0XHRcdFx0XHRcdHRocm93IG5ldyBFcnJvcihgRmlsdGVyUmVzdHJpY3Rpb25zIG9mICR7c1Byb3BlcnR5UGF0aH0gaW4gTWFpbkVudGl0eVNldCBhbmQgVmFsdWVMaXN0RW50aXR5U2V0IGFyZSBkaWZmZXJlbnRgKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXHRcdFx0Y29uc3QgcHZRdWFsaWZpZXIgPSB2YWx1ZUxpc3Q/LlByZXNlbnRhdGlvblZhcmlhbnRRdWFsaWZpZXI7XG5cdFx0XHRjb25zdCBzdlF1YWxpZmllciA9IHZhbHVlTGlzdD8uU2VsZWN0aW9uVmFyaWFudFF1YWxpZmllcjtcblx0XHRcdGNvbnN0IHB2QW5ub3RhdGlvbiA9IGNvbGxlY3Rpb25QYXRoQ29udmVydGVyQ29udGV4dD8uZ2V0RW50aXR5VHlwZSgpLmFubm90YXRpb25zLlVJPy5bYFByZXNlbnRhdGlvblZhcmlhbnQjJHtwdlF1YWxpZmllcn1gXTtcblx0XHRcdGNvbnN0IGFnZ3JlZ2F0aW9uSGVscGVyID0gbmV3IEFnZ3JlZ2F0aW9uSGVscGVyKGNvbGxlY3Rpb25QYXRoQ29udmVydGVyQ29udGV4dC5nZXRFbnRpdHlUeXBlKCksIGNvbGxlY3Rpb25QYXRoQ29udmVydGVyQ29udGV4dCk7XG5cdFx0XHRpZiAoIWFnZ3JlZ2F0aW9uSGVscGVyLmlzQW5hbHl0aWNzU3VwcG9ydGVkKCkpIHtcblx0XHRcdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0XHRcdH1cblx0XHRcdGlmIChwdkFubm90YXRpb24pIHtcblx0XHRcdFx0Y29uc3QgYVZpc3VhbGl6YXRpb25zID0gcHZBbm5vdGF0aW9uPy5WaXN1YWxpemF0aW9ucztcblx0XHRcdFx0Y29uc3QgY29udGV4dFBhdGggPSBgLyR7dmFsdWVMaXN0Py5Db2xsZWN0aW9uUGF0aH1gIHx8IGAvJHtjb2xsZWN0aW9uUGF0aENvbnZlcnRlckNvbnRleHQ/LmdldEVudGl0eVNldCgpPy5uYW1lfWA7XG5cdFx0XHRcdHZpc3VhbEZpbHRlciA9IHt9O1xuXHRcdFx0XHR2aXN1YWxGaWx0ZXIuY29udGV4dFBhdGggPSBjb250ZXh0UGF0aDtcblx0XHRcdFx0dmlzdWFsRmlsdGVyLmlzVmFsdWVMaXN0V2l0aEZpeGVkVmFsdWVzID0gaXNWYWx1ZUxpc3RXaXRoRml4ZWRWYWx1ZXM7XG5cdFx0XHRcdGxldCBjaGFydEFubm90YXRpb246IEFubm90YXRpb25QYXRoPENoYXJ0PiB8IHVuZGVmaW5lZDtcblx0XHRcdFx0Zm9yIChjb25zdCB2aXN1YWxpemF0aW9uIG9mIGFWaXN1YWxpemF0aW9ucykge1xuXHRcdFx0XHRcdGlmICh2aXN1YWxpemF0aW9uLiR0YXJnZXQ/LnRlcm0gPT09IFwiY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuQ2hhcnRcIikge1xuXHRcdFx0XHRcdFx0Y2hhcnRBbm5vdGF0aW9uID0gdmlzdWFsaXphdGlvbiBhcyBBbm5vdGF0aW9uUGF0aDxDaGFydD47XG5cdFx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKGNoYXJ0QW5ub3RhdGlvbikge1xuXHRcdFx0XHRcdGNvbnN0IF9iZ2V0VkZBZ2dyZWdhdGlvbjogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IF9jaGVja1ZGQWdncmVnYXRpb24oXG5cdFx0XHRcdFx0XHRjb2xsZWN0aW9uUGF0aENvbnZlcnRlckNvbnRleHQsXG5cdFx0XHRcdFx0XHRjaGFydEFubm90YXRpb24sXG5cdFx0XHRcdFx0XHRhZ2dyZWdhdGlvbkhlbHBlclxuXHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0aWYgKCFfYmdldFZGQWdncmVnYXRpb24pIHtcblx0XHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Y29uc3QgYkRpbWVuc2lvbkhpZGRlbiA9IGNoYXJ0QW5ub3RhdGlvbj8uJHRhcmdldD8uRGltZW5zaW9uc1swXT8uJHRhcmdldD8uYW5ub3RhdGlvbnM/LlVJPy5IaWRkZW4/LnZhbHVlT2YoKTtcblx0XHRcdFx0XHRjb25zdCBiRGltZW5zaW9uSGlkZGVuRmlsdGVyID1cblx0XHRcdFx0XHRcdGNoYXJ0QW5ub3RhdGlvbj8uJHRhcmdldD8uRGltZW5zaW9uc1swXT8uJHRhcmdldD8uYW5ub3RhdGlvbnM/LlVJPy5IaWRkZW5GaWx0ZXI/LnZhbHVlT2YoKTtcblx0XHRcdFx0XHRpZiAoYkRpbWVuc2lvbkhpZGRlbiA9PT0gdHJ1ZSB8fCBiRGltZW5zaW9uSGlkZGVuRmlsdGVyID09PSB0cnVlKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdFx0fSBlbHNlIGlmIChhVmlzdWFsaXphdGlvbnMgJiYgYVZpc3VhbGl6YXRpb25zLmxlbmd0aCkge1xuXHRcdFx0XHRcdFx0dmlzdWFsRmlsdGVyLmNoYXJ0QW5ub3RhdGlvbiA9IGNoYXJ0QW5ub3RhdGlvblxuXHRcdFx0XHRcdFx0XHQ/IGNvbGxlY3Rpb25QYXRoQ29udmVydGVyQ29udGV4dD8uZ2V0QWJzb2x1dGVBbm5vdGF0aW9uUGF0aChcblx0XHRcdFx0XHRcdFx0XHRcdGAke2NoYXJ0QW5ub3RhdGlvbi4kdGFyZ2V0LmZ1bGx5UXVhbGlmaWVkTmFtZX0vJEFubm90YXRpb25QYXRoL2Bcblx0XHRcdFx0XHRcdFx0ICApXG5cdFx0XHRcdFx0XHRcdDogdW5kZWZpbmVkO1xuXHRcdFx0XHRcdFx0Ly8gVGhpcyBuZWVkcyB0byBiZSBkb25lIHRvIGF2b2lkIHJlcGV0aXRpdmUgZW50aXR5IHR5cGUgaW4gY2FzZSBvZiBub24tcGFyYW1ldGVyaXplZCBlbnRpdHkgc2V0IGUuZyAvU2FsZXNPcmRlck1hbmFnZS9jb20uY19zYWxlc29yZGVybWFuYWdlX3NkX2FnZ3JlZ2F0ZS5TYWxlc09yZGVyTWFuYWdlXG5cdFx0XHRcdFx0XHRjb25zdCBlbnRpdHlTZXROYW1lID0gY29sbGVjdGlvblBhdGhDb252ZXJ0ZXJDb250ZXh0LmdldEVudGl0eVNldCgpPy5uYW1lO1xuXHRcdFx0XHRcdFx0bGV0IHByZXNlbnRhdGlvbkFubm90YXRpb247XG5cdFx0XHRcdFx0XHRjb25zdCByZWxhdGl2ZUFubm90YXRpb25QYXRoID0gY29sbGVjdGlvblBhdGhDb252ZXJ0ZXJDb250ZXh0Py5nZXRSZWxhdGl2ZUFubm90YXRpb25QYXRoKFxuXHRcdFx0XHRcdFx0XHRgJHtwdkFubm90YXRpb24uZnVsbHlRdWFsaWZpZWROYW1lfS9gLFxuXHRcdFx0XHRcdFx0XHRjb2xsZWN0aW9uUGF0aENvbnZlcnRlckNvbnRleHQuZ2V0RW50aXR5VHlwZSgpXG5cdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdFx0aWYgKHBhcmFtZXRlckVudGl0eVR5cGUpIHtcblx0XHRcdFx0XHRcdFx0cHJlc2VudGF0aW9uQW5ub3RhdGlvbiA9IGNvbGxlY3Rpb25QYXRoQ29udmVydGVyQ29udGV4dC5nZXRDb250ZXh0UGF0aCgpICsgXCIvXCIgKyByZWxhdGl2ZUFubm90YXRpb25QYXRoO1xuXHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0cHJlc2VudGF0aW9uQW5ub3RhdGlvbiA9IFwiL1wiICsgZW50aXR5U2V0TmFtZSArIFwiL1wiICsgcmVsYXRpdmVBbm5vdGF0aW9uUGF0aDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdHZpc3VhbEZpbHRlci5wcmVzZW50YXRpb25Bbm5vdGF0aW9uID0gcHZBbm5vdGF0aW9uID8gcHJlc2VudGF0aW9uQW5ub3RhdGlvbiA6IHVuZGVmaW5lZDtcblx0XHRcdFx0XHRcdHZpc3VhbEZpbHRlci5vdXRQYXJhbWV0ZXIgPSBvdXRQYXJhbWV0ZXI/LkxvY2FsRGF0YVByb3BlcnR5Py52YWx1ZTtcblx0XHRcdFx0XHRcdHZpc3VhbEZpbHRlci5pblBhcmFtZXRlcnMgPSBpblBhcmFtZXRlcnM7XG5cdFx0XHRcdFx0XHR2aXN1YWxGaWx0ZXIudmFsdWVsaXN0UHJvcGVydHkgPSBvdXRQYXJhbWV0ZXI/LlZhbHVlTGlzdFByb3BlcnR5IGFzIHN0cmluZztcblx0XHRcdFx0XHRcdGNvbnN0IGJJc1JhbmdlID0gY2hlY2tGaWx0ZXJFeHByZXNzaW9uUmVzdHJpY3Rpb25zKFxuXHRcdFx0XHRcdFx0XHRjb252ZXJ0ZXJDb250ZXh0XG5cdFx0XHRcdFx0XHRcdFx0LmdldENvbnZlcnRlckNvbnRleHRGb3IoY29udmVydGVyQ29udGV4dC5nZXRBYnNvbHV0ZUFubm90YXRpb25QYXRoKHNQcm9wZXJ0eVBhdGgpKVxuXHRcdFx0XHRcdFx0XHRcdC5nZXREYXRhTW9kZWxPYmplY3RQYXRoKCksXG5cdFx0XHRcdFx0XHRcdFtcIlNpbmdsZVJhbmdlXCIsIFwiTXVsdGlSYW5nZVwiXVxuXHRcdFx0XHRcdFx0KTtcblxuXHRcdFx0XHRcdFx0aWYgKGNvbXBpbGVFeHByZXNzaW9uKGJJc1JhbmdlKSA9PT0gXCJ0cnVlXCIpIHtcblx0XHRcdFx0XHRcdFx0Y29udmVydGVyQ29udGV4dFxuXHRcdFx0XHRcdFx0XHRcdC5nZXREaWFnbm9zdGljcygpXG5cdFx0XHRcdFx0XHRcdFx0LmFkZElzc3VlKElzc3VlQ2F0ZWdvcnkuQW5ub3RhdGlvbiwgSXNzdWVTZXZlcml0eS5IaWdoLCBJc3N1ZVR5cGUuTUFMRk9STUVEX1ZJU1VBTEZJTFRFUlMuVkFMVUVMSVNUKTtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0Y29uc3QgYklzTWFpbkVudGl0eVNldFNpbmdsZVNlbGVjdGlvbiA9IGNoZWNrRmlsdGVyRXhwcmVzc2lvblJlc3RyaWN0aW9ucyhcblx0XHRcdFx0XHRcdFx0Y29udmVydGVyQ29udGV4dFxuXHRcdFx0XHRcdFx0XHRcdC5nZXRDb252ZXJ0ZXJDb250ZXh0Rm9yKGNvbnZlcnRlckNvbnRleHQuZ2V0QWJzb2x1dGVBbm5vdGF0aW9uUGF0aChzUHJvcGVydHlQYXRoKSlcblx0XHRcdFx0XHRcdFx0XHQuZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aCgpLFxuXHRcdFx0XHRcdFx0XHRbXCJTaW5nbGVWYWx1ZVwiXVxuXHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRcdHZpc3VhbEZpbHRlci5tdWx0aXBsZVNlbGVjdGlvbkFsbG93ZWQgPSBjb21waWxlRXhwcmVzc2lvbihub3QoYklzTWFpbkVudGl0eVNldFNpbmdsZVNlbGVjdGlvbikpO1xuXHRcdFx0XHRcdFx0dmlzdWFsRmlsdGVyLnJlcXVpcmVkID0gZ2V0SXNSZXF1aXJlZChjb252ZXJ0ZXJDb250ZXh0LCBzUHJvcGVydHlQYXRoKTtcblx0XHRcdFx0XHRcdGxldCBzdkFubm90YXRpb246IFNlbGVjdGlvblZhcmlhbnQgfCB1bmRlZmluZWQ7XG5cdFx0XHRcdFx0XHRpZiAoc3ZRdWFsaWZpZXIpIHtcblx0XHRcdFx0XHRcdFx0c3ZBbm5vdGF0aW9uID0gY29sbGVjdGlvblBhdGhDb252ZXJ0ZXJDb250ZXh0Py5nZXRFbnRpdHlUeXBlQW5ub3RhdGlvbihcblx0XHRcdFx0XHRcdFx0XHRgQFVJLlNlbGVjdGlvblZhcmlhbnQjJHtzdlF1YWxpZmllcn1gXG5cdFx0XHRcdFx0XHRcdCk/LmFubm90YXRpb247XG5cdFx0XHRcdFx0XHRcdGxldCBzZWxlY3Rpb25WYXJpYW50QW5ub3RhdGlvbjtcblx0XHRcdFx0XHRcdFx0Y29uc3QgcmVsYXRpdmVTZWxlY3Rpb25WYXJpYW50UGF0aCA9IGNvbGxlY3Rpb25QYXRoQ29udmVydGVyQ29udGV4dD8uZ2V0UmVsYXRpdmVBbm5vdGF0aW9uUGF0aChcblx0XHRcdFx0XHRcdFx0XHRgJHtzdkFubm90YXRpb24/LmZ1bGx5UXVhbGlmaWVkTmFtZX0vYCxcblx0XHRcdFx0XHRcdFx0XHRjb2xsZWN0aW9uUGF0aENvbnZlcnRlckNvbnRleHQuZ2V0RW50aXR5VHlwZSgpXG5cdFx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0XHRcdGlmIChwYXJhbWV0ZXJFbnRpdHlUeXBlKSB7XG5cdFx0XHRcdFx0XHRcdFx0c2VsZWN0aW9uVmFyaWFudEFubm90YXRpb24gPVxuXHRcdFx0XHRcdFx0XHRcdFx0Y29sbGVjdGlvblBhdGhDb252ZXJ0ZXJDb250ZXh0LmdldENvbnRleHRQYXRoKCkgKyBcIi9cIiArIHJlbGF0aXZlU2VsZWN0aW9uVmFyaWFudFBhdGg7XG5cdFx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdFx0c2VsZWN0aW9uVmFyaWFudEFubm90YXRpb24gPSBcIi9cIiArIGVudGl0eVNldE5hbWUgKyBcIi9cIiArIHJlbGF0aXZlU2VsZWN0aW9uVmFyaWFudFBhdGg7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0dmlzdWFsRmlsdGVyLnNlbGVjdGlvblZhcmlhbnRBbm5vdGF0aW9uID0gc3ZBbm5vdGF0aW9uID8gc2VsZWN0aW9uVmFyaWFudEFubm90YXRpb24gOiB1bmRlZmluZWQ7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRsZXQgcmVxdWlyZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVBhdGhbXSA9IFtdO1xuXHRcdFx0XHRcdFx0aWYgKHBhcmFtZXRlckVudGl0eVR5cGUpIHtcblx0XHRcdFx0XHRcdFx0Y29uc3Qgc0VudGl0eVNldCA9IGNvbGxlY3Rpb25QYXRoLnNwbGl0KFwiL1wiKVswXTtcblx0XHRcdFx0XHRcdFx0Y29uc3Qgc05hdmlnYXRpb25Qcm9wZXJ0eSA9IGNvbGxlY3Rpb25QYXRoLnNwbGl0KFwiL1wiKVsxXTtcblx0XHRcdFx0XHRcdFx0Y29uc3Qgb0VudGl0eVNldENvbnZlcnRlckNvbnRleHQgPSBjb252ZXJ0ZXJDb250ZXh0LmdldENvbnZlcnRlckNvbnRleHRGb3IoYC8ke3NFbnRpdHlTZXR9YCk7XG5cdFx0XHRcdFx0XHRcdGNvbnN0IGFSZXN0cmljdGVkUHJvcGVydGllcyA9XG5cdFx0XHRcdFx0XHRcdFx0b0VudGl0eVNldENvbnZlcnRlckNvbnRleHQ/LmdldERhdGFNb2RlbE9iamVjdFBhdGgoKS5zdGFydGluZ0VudGl0eVNldD8uYW5ub3RhdGlvbnM/LkNhcGFiaWxpdGllc1xuXHRcdFx0XHRcdFx0XHRcdFx0Py5OYXZpZ2F0aW9uUmVzdHJpY3Rpb25zPy5SZXN0cmljdGVkUHJvcGVydGllcztcblx0XHRcdFx0XHRcdFx0Y29uc3Qgb1Jlc3RyaWN0ZWRQcm9wZXJ0eSA9IGFSZXN0cmljdGVkUHJvcGVydGllcz8uZmluZChcblx0XHRcdFx0XHRcdFx0XHQocmVzdHJpY3RlZE5hdlByb3A6IE5hdmlnYXRpb25Qcm9wZXJ0eVJlc3RyaWN0aW9uVHlwZXMpID0+IHtcblx0XHRcdFx0XHRcdFx0XHRcdGlmIChyZXN0cmljdGVkTmF2UHJvcC5OYXZpZ2F0aW9uUHJvcGVydHk/LnR5cGUgPT09IFwiTmF2aWdhdGlvblByb3BlcnR5UGF0aFwiKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiByZXN0cmljdGVkTmF2UHJvcC5OYXZpZ2F0aW9uUHJvcGVydHkudmFsdWUgPT09IHNOYXZpZ2F0aW9uUHJvcGVydHk7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdFx0XHRyZXF1aXJlZFByb3BlcnRpZXMgPSBvUmVzdHJpY3RlZFByb3BlcnR5Py5GaWx0ZXJSZXN0cmljdGlvbnM/LlJlcXVpcmVkUHJvcGVydGllcyA/PyBbXTtcblx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdGNvbnN0IGVudGl0eVNldE9yU2luZ2xldG9uID0gY29sbGVjdGlvblBhdGhDb252ZXJ0ZXJDb250ZXh0Py5nZXRFbnRpdHlTZXQoKTtcblx0XHRcdFx0XHRcdFx0aWYgKGlzRW50aXR5U2V0KGVudGl0eVNldE9yU2luZ2xldG9uKSkge1xuXHRcdFx0XHRcdFx0XHRcdHJlcXVpcmVkUHJvcGVydGllcyA9XG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXRPclNpbmdsZXRvbi5hbm5vdGF0aW9ucy5DYXBhYmlsaXRpZXM/LkZpbHRlclJlc3RyaWN0aW9ucz8uUmVxdWlyZWRQcm9wZXJ0aWVzID8/IFtdO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRsZXQgcmVxdWlyZWRQcm9wZXJ0eVBhdGhzOiBzdHJpbmdbXSA9IFtdO1xuXHRcdFx0XHRcdFx0aWYgKHJlcXVpcmVkUHJvcGVydGllcz8ubGVuZ3RoKSB7XG5cdFx0XHRcdFx0XHRcdHJlcXVpcmVkUHJvcGVydGllcy5mb3JFYWNoKGZ1bmN0aW9uIChvUmVxdWlyZVByb3BlcnR5KSB7XG5cdFx0XHRcdFx0XHRcdFx0cmVxdWlyZWRQcm9wZXJ0eVBhdGhzLnB1c2gob1JlcXVpcmVQcm9wZXJ0eS52YWx1ZSk7XG5cdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0cmVxdWlyZWRQcm9wZXJ0eVBhdGhzID0gcmVxdWlyZWRQcm9wZXJ0eVBhdGhzLmNvbmNhdChhUGFyYW1ldGVycyk7XG5cdFx0XHRcdFx0XHR2aXN1YWxGaWx0ZXIucmVxdWlyZWRQcm9wZXJ0aWVzID0gcmVxdWlyZWRQcm9wZXJ0eVBhdGhzO1xuXHRcdFx0XHRcdFx0aWYgKHZpc3VhbEZpbHRlci5yZXF1aXJlZFByb3BlcnRpZXM/Lmxlbmd0aCkge1xuXHRcdFx0XHRcdFx0XHRpZiAoIXZpc3VhbEZpbHRlci5pblBhcmFtZXRlcnMgfHwgIXZpc3VhbEZpbHRlci5pblBhcmFtZXRlcnMubGVuZ3RoKSB7XG5cdFx0XHRcdFx0XHRcdFx0aWYgKCF2aXN1YWxGaWx0ZXIuc2VsZWN0aW9uVmFyaWFudEFubm90YXRpb24pIHtcblx0XHRcdFx0XHRcdFx0XHRcdHZpc3VhbEZpbHRlci5zaG93T3ZlcmxheUluaXRpYWxseSA9IHRydWU7XG5cdFx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0XHRcdGxldCBzZWxlY3RPcHRpb25zID1cblx0XHRcdFx0XHRcdFx0XHRcdFx0c3ZBbm5vdGF0aW9uPy5TZWxlY3RPcHRpb25zPy5tYXAoKG9TZWxlY3RPcHRpb24pID0+IG9TZWxlY3RPcHRpb24uUHJvcGVydHlOYW1lPy52YWx1ZSkgfHwgW107XG5cdFx0XHRcdFx0XHRcdFx0XHRjb25zdCBwYXJhbWV0ZXJPcHRpb25zID1cblx0XHRcdFx0XHRcdFx0XHRcdFx0c3ZBbm5vdGF0aW9uPy5QYXJhbWV0ZXJzPy5tYXAoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0KG9QYXJhbWV0ZXJPcHRpb24pID0+IChvUGFyYW1ldGVyT3B0aW9uIGFzIFBhcmFtZXRlclR5cGVzKS5Qcm9wZXJ0eU5hbWU/LnZhbHVlXG5cdFx0XHRcdFx0XHRcdFx0XHRcdCkgfHwgW107XG5cdFx0XHRcdFx0XHRcdFx0XHRzZWxlY3RPcHRpb25zID0gc2VsZWN0T3B0aW9ucy5jb25jYXQocGFyYW1ldGVyT3B0aW9ucyk7XG5cdFx0XHRcdFx0XHRcdFx0XHRyZXF1aXJlZFByb3BlcnR5UGF0aHMgPSByZXF1aXJlZFByb3BlcnR5UGF0aHMuc29ydCgpO1xuXHRcdFx0XHRcdFx0XHRcdFx0c2VsZWN0T3B0aW9ucyA9IHNlbGVjdE9wdGlvbnMuc29ydCgpO1xuXHRcdFx0XHRcdFx0XHRcdFx0dmlzdWFsRmlsdGVyLnNob3dPdmVybGF5SW5pdGlhbGx5ID0gcmVxdWlyZWRQcm9wZXJ0eVBhdGhzLnNvbWUoZnVuY3Rpb24gKHNQYXRoKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBzZWxlY3RPcHRpb25zLmluZGV4T2Yoc1BhdGgpID09PSAtMTtcblx0XHRcdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0XHR2aXN1YWxGaWx0ZXIuc2hvd092ZXJsYXlJbml0aWFsbHkgPSBmYWxzZTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0dmlzdWFsRmlsdGVyLnNob3dPdmVybGF5SW5pdGlhbGx5ID0gZmFsc2U7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRjb25zdCBzRGltZW5zaW9uVHlwZSA9IGNoYXJ0QW5ub3RhdGlvbj8uJHRhcmdldD8uRGltZW5zaW9uc1swXT8uJHRhcmdldD8udHlwZTtcblx0XHRcdFx0XHRcdGlmIChcblx0XHRcdFx0XHRcdFx0IShcblx0XHRcdFx0XHRcdFx0XHRzRGltZW5zaW9uVHlwZSA9PT0gXCJFZG0uRGF0ZVRpbWVPZmZzZXRcIiB8fFxuXHRcdFx0XHRcdFx0XHRcdHNEaW1lbnNpb25UeXBlID09PSBcIkVkbS5EYXRlXCIgfHxcblx0XHRcdFx0XHRcdFx0XHRzRGltZW5zaW9uVHlwZSA9PT0gXCJFZG0uVGltZU9mRGF5XCJcblx0XHRcdFx0XHRcdFx0KSAmJlxuXHRcdFx0XHRcdFx0XHRjaGFydEFubm90YXRpb24uJHRhcmdldC5DaGFydFR5cGUgPT09IFwiVUkuQ2hhcnRUeXBlL0xpbmVcIlxuXHRcdFx0XHRcdFx0KSB7XG5cdFx0XHRcdFx0XHRcdHZpc3VhbEZpbHRlci5yZW5kZXJMaW5lQ2hhcnQgPSBmYWxzZTtcblx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdHZpc3VhbEZpbHRlci5yZW5kZXJMaW5lQ2hhcnQgPSB0cnVlO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRjb252ZXJ0ZXJDb250ZXh0XG5cdFx0XHRcdFx0XHQuZ2V0RGlhZ25vc3RpY3MoKVxuXHRcdFx0XHRcdFx0LmFkZElzc3VlKElzc3VlQ2F0ZWdvcnkuQW5ub3RhdGlvbiwgSXNzdWVTZXZlcml0eS5IaWdoLCBJc3N1ZVR5cGUuTUFMRk9STUVEX1ZJU1VBTEZJTFRFUlMuQ0hBUlQpO1xuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0fVxuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0Y29udmVydGVyQ29udGV4dFxuXHRcdFx0XHRcdC5nZXREaWFnbm9zdGljcygpXG5cdFx0XHRcdFx0LmFkZElzc3VlKElzc3VlQ2F0ZWdvcnkuQW5ub3RhdGlvbiwgSXNzdWVTZXZlcml0eS5IaWdoLCBJc3N1ZVR5cGUuTUFMRk9STUVEX1ZJU1VBTEZJTFRFUlMuUFJFU0VOVEFUSU9OVkFSSUFOVCk7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdGNvbnZlcnRlckNvbnRleHRcblx0XHRcdFx0LmdldERpYWdub3N0aWNzKClcblx0XHRcdFx0LmFkZElzc3VlKElzc3VlQ2F0ZWdvcnkuQW5ub3RhdGlvbiwgSXNzdWVTZXZlcml0eS5IaWdoLCBJc3N1ZVR5cGUuTUFMRk9STUVEX1ZJU1VBTEZJTFRFUlMuVkFMVUVMSVNUKTtcblx0XHR9XG5cdH0gZWxzZSB7XG5cdFx0Y29udmVydGVyQ29udGV4dC5nZXREaWFnbm9zdGljcygpLmFkZElzc3VlKElzc3VlQ2F0ZWdvcnkuTWFuaWZlc3QsIElzc3VlU2V2ZXJpdHkuSGlnaCwgSXNzdWVUeXBlLk1BTEZPUk1FRF9WSVNVQUxGSUxURVJTLlZBTFVFTElTVCk7XG5cdH1cblx0cmV0dXJuIHZpc3VhbEZpbHRlcjtcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0VBeUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFDQSxNQUFNQSxtQkFBbUIsR0FBRyxVQUMzQkMsZ0JBQWtDLEVBQ2xDQyxlQUFzQyxFQUN0Q0MsaUJBQW9D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
318
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY2hlY2tWRkFnZ3JlZ2F0aW9uIiwiY29udmVydGVyQ29udGV4dCIsImNoYXJ0QW5ub3RhdGlvbiIsImFnZ3JlZ2F0aW9uSGVscGVyIiwic01lYXN1cmVQYXRoIiwiYkdyb3VwYWJsZSIsImJBZ2dyZWdhdGFibGUiLCJzTWVhc3VyZSIsImN1c3RvbUFnZ3JlZ2F0ZXMiLCJnZXRDdXN0b21BZ2dyZWdhdGVEZWZpbml0aW9ucyIsImFUcmFuc0FnZ3JlZ2F0aW9ucyIsImdldFRyYW5zQWdncmVnYXRpb25zIiwiYUN1c3RBZ2dNZWFzdXJlIiwiJHRhcmdldCIsIk1lYXN1cmVzIiwiZmlsdGVyIiwiY3VzdEFnZyIsInF1YWxpZmllciIsInZhbHVlIiwibGVuZ3RoIiwiRHluYW1pY01lYXN1cmVzIiwiZ2V0Q29udmVydGVyQ29udGV4dEZvciIsImdldEFic29sdXRlQW5ub3RhdGlvblBhdGgiLCJnZXREYXRhTW9kZWxPYmplY3RQYXRoIiwidGFyZ2V0T2JqZWN0IiwiTmFtZSIsImdldEFnZ3JlZ2F0ZWRQcm9wZXJ0aWVzIiwic0RpbWVuc2lvbiIsIkRpbWVuc2lvbnMiLCJzb21lIiwib0FnZ3JlZ2F0ZSIsIkFnZ3JlZ2F0YWJsZVByb3BlcnR5IiwiYUFnZ3JlZ2F0YWJsZVByb3BzRnJvbUNvbnRhaW5lciIsImdldEFnZ3JlZ2F0YWJsZVByb3BlcnRpZXMiLCJhR3JvdXBhYmxlUHJvcHNGcm9tQ29udGFpbmVyIiwiZ2V0R3JvdXBhYmxlUHJvcGVydGllcyIsImFnZ3JlZ2F0YWJsZVByb3AiLCJQcm9wZXJ0eSIsImdyb3VwYWJsZVByb3AiLCJnZXRWaXN1YWxGaWx0ZXJzIiwiZW50aXR5VHlwZSIsInNQcm9wZXJ0eVBhdGgiLCJGaWx0ZXJGaWVsZHMiLCJ2aXN1YWxGaWx0ZXIiLCJvVmlzdWFsRmlsdGVyIiwidmFsdWVMaXN0Iiwib1ZGUGF0aCIsImFubm90YXRpb25RdWFsaWZpZXJTcGxpdCIsInNwbGl0IiwicXVhbGlmaWVyVkwiLCJwcm9wZXJ0eSIsInJlc29sdmVQYXRoIiwiYW5ub3RhdGlvbnMiLCJDb21tb24iLCJpc1ZhbHVlTGlzdFdpdGhGaXhlZFZhbHVlcyIsIlZhbHVlTGlzdFdpdGhGaXhlZFZhbHVlcyIsInZhbHVlT2YiLCJjb2xsZWN0aW9uUGF0aCIsIkNvbGxlY3Rpb25QYXRoIiwidG9TdHJpbmciLCJjb2xsZWN0aW9uUGF0aENvbnZlcnRlckNvbnRleHQiLCJnZXRFbnRpdHlTZXQiLCJuYW1lIiwidmFsdWVMaXN0UGFyYW1zIiwiUGFyYW1ldGVycyIsIm91dFBhcmFtZXRlciIsImluUGFyYW1ldGVycyIsImFQYXJhbWV0ZXJzIiwicGFyYW1ldGVyRW50aXR5VHlwZSIsImdldFBhcmFtZXRlckVudGl0eVR5cGUiLCJrZXlzIiwibWFwIiwia2V5IiwiZ2V0Q29udGV4dFBhdGgiLCJfYWRkSW5QYXJhbWV0ZXJzIiwidmFsdWVMaXN0UGFyYW0iLCJsb2NhbERhdGFQcm9wZXJ0eSIsIkxvY2FsRGF0YVByb3BlcnR5IiwidmFsdWVMaXN0UHJvcGVydHkiLCJWYWx1ZUxpc3RQcm9wZXJ0eSIsIiRUeXBlIiwiYk5vdEZpbHRlcmFibGUiLCJpc1Byb3BlcnR5RmlsdGVyYWJsZSIsInB1c2giLCJmb3JFYWNoIiwib0luUGFyYW1ldGVyIiwibWFpbkVudGl0eVNldEluTWFwcGluZ0FsbG93ZWRFeHByZXNzaW9uIiwiY29tcGlsZUV4cHJlc3Npb24iLCJjaGVja0ZpbHRlckV4cHJlc3Npb25SZXN0cmljdGlvbnMiLCJ2YWx1ZUxpc3RFbnRpdHlTZXRJbk1hcHBpbmdBbGxvd2VkRXhwcmVzc2lvbiIsIkVycm9yIiwicHZRdWFsaWZpZXIiLCJQcmVzZW50YXRpb25WYXJpYW50UXVhbGlmaWVyIiwic3ZRdWFsaWZpZXIiLCJTZWxlY3Rpb25WYXJpYW50UXVhbGlmaWVyIiwicHZBbm5vdGF0aW9uIiwiZ2V0RW50aXR5VHlwZSIsIlVJIiwiQWdncmVnYXRpb25IZWxwZXIiLCJpc0FuYWx5dGljc1N1cHBvcnRlZCIsInVuZGVmaW5lZCIsImFWaXN1YWxpemF0aW9ucyIsIlZpc3VhbGl6YXRpb25zIiwiY29udGV4dFBhdGgiLCJ2aXN1YWxpemF0aW9uIiwidGVybSIsIl9iZ2V0VkZBZ2dyZWdhdGlvbiIsImJEaW1lbnNpb25IaWRkZW4iLCJIaWRkZW4iLCJiRGltZW5zaW9uSGlkZGVuRmlsdGVyIiwiSGlkZGVuRmlsdGVyIiwiZnVsbHlRdWFsaWZpZWROYW1lIiwiZW50aXR5U2V0TmFtZSIsInByZXNlbnRhdGlvbkFubm90YXRpb24iLCJyZWxhdGl2ZUFubm90YXRpb25QYXRoIiwiZ2V0UmVsYXRpdmVBbm5vdGF0aW9uUGF0aCIsInZhbHVlbGlzdFByb3BlcnR5IiwiYklzUmFuZ2UiLCJnZXREaWFnbm9zdGljcyIsImFkZElzc3VlIiwiSXNzdWVDYXRlZ29yeSIsIkFubm90YXRpb24iLCJJc3N1ZVNldmVyaXR5IiwiSGlnaCIsIklzc3VlVHlwZSIsIk1BTEZPUk1FRF9WSVNVQUxGSUxURVJTIiwiVkFMVUVMSVNUIiwiYklzTWFpbkVudGl0eVNldFNpbmdsZVNlbGVjdGlvbiIsIm11bHRpcGxlU2VsZWN0aW9uQWxsb3dlZCIsIm5vdCIsInJlcXVpcmVkIiwiZ2V0SXNSZXF1aXJlZCIsInN2QW5ub3RhdGlvbiIsImdldEVudGl0eVR5cGVBbm5vdGF0aW9uIiwiYW5ub3RhdGlvbiIsInNlbGVjdGlvblZhcmlhbnRBbm5vdGF0aW9uIiwicmVsYXRpdmVTZWxlY3Rpb25WYXJpYW50UGF0aCIsInJlcXVpcmVkUHJvcGVydGllcyIsInNFbnRpdHlTZXQiLCJzTmF2aWdhdGlvblByb3BlcnR5Iiwib0VudGl0eVNldENvbnZlcnRlckNvbnRleHQiLCJhUmVzdHJpY3RlZFByb3BlcnRpZXMiLCJzdGFydGluZ0VudGl0eVNldCIsIkNhcGFiaWxpdGllcyIsIk5hdmlnYXRpb25SZXN0cmljdGlvbnMiLCJSZXN0cmljdGVkUHJvcGVydGllcyIsIm9SZXN0cmljdGVkUHJvcGVydHkiLCJmaW5kIiwicmVzdHJpY3RlZE5hdlByb3AiLCJOYXZpZ2F0aW9uUHJvcGVydHkiLCJ0eXBlIiwiRmlsdGVyUmVzdHJpY3Rpb25zIiwiUmVxdWlyZWRQcm9wZXJ0aWVzIiwiZW50aXR5U2V0T3JTaW5nbGV0b24iLCJpc0VudGl0eVNldCIsInJlcXVpcmVkUHJvcGVydHlQYXRocyIsIm9SZXF1aXJlUHJvcGVydHkiLCJjb25jYXQiLCJzaG93T3ZlcmxheUluaXRpYWxseSIsInNlbGVjdE9wdGlvbnMiLCJTZWxlY3RPcHRpb25zIiwib1NlbGVjdE9wdGlvbiIsIlByb3BlcnR5TmFtZSIsInBhcmFtZXRlck9wdGlvbnMiLCJvUGFyYW1ldGVyT3B0aW9uIiwic29ydCIsInNQYXRoIiwiaW5kZXhPZiIsInNEaW1lbnNpb25UeXBlIiwiQ2hhcnRUeXBlIiwicmVuZGVyTGluZUNoYXJ0IiwiQ0hBUlQiLCJQUkVTRU5UQVRJT05WQVJJQU5UIiwiTWFuaWZlc3QiLCJpblBhcmFtcyIsInByb3BlcnRpZXMiLCJpc1BhcmFtIiwiZWxlbWVudCJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiVmlzdWFsRmlsdGVycy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEFubm90YXRpb25QYXRoLCBFbnRpdHlUeXBlLCBQcm9wZXJ0eSwgUHJvcGVydHlQYXRoIH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzXCI7XG5pbXBvcnQgdHlwZSB7IEFnZ3JlZ2F0YWJsZVByb3BlcnR5VHlwZSwgQ3VzdG9tQWdncmVnYXRlIH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzL3ZvY2FidWxhcmllcy9BZ2dyZWdhdGlvblwiO1xuaW1wb3J0IHR5cGUgeyBOYXZpZ2F0aW9uUHJvcGVydHlSZXN0cmljdGlvblR5cGVzIH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzL3ZvY2FidWxhcmllcy9DYXBhYmlsaXRpZXNcIjtcbmltcG9ydCB0eXBlIHtcblx0VmFsdWVMaXN0LFxuXHRWYWx1ZUxpc3RQYXJhbWV0ZXJJbixcblx0VmFsdWVMaXN0UGFyYW1ldGVySW5PdXQsXG5cdFZhbHVlTGlzdFBhcmFtZXRlck91dFxufSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXMvdm9jYWJ1bGFyaWVzL0NvbW1vblwiO1xuaW1wb3J0IHR5cGUgeyBQcm9wZXJ0eUFubm90YXRpb25zX0NvbW1vbiB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlcy92b2NhYnVsYXJpZXMvQ29tbW9uX0VkbVwiO1xuaW1wb3J0IHR5cGUgeyBDaGFydCwgUGFyYW1ldGVyVHlwZXMsIFNlbGVjdGlvblZhcmlhbnQgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXMvdm9jYWJ1bGFyaWVzL1VJXCI7XG5pbXBvcnQgdHlwZSBDb252ZXJ0ZXJDb250ZXh0IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL0NvbnZlcnRlckNvbnRleHRcIjtcbmltcG9ydCB7IEFnZ3JlZ2F0aW9uSGVscGVyIH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvaGVscGVycy9BZ2dyZWdhdGlvblwiO1xuaW1wb3J0IHsgSXNzdWVDYXRlZ29yeSwgSXNzdWVTZXZlcml0eSwgSXNzdWVUeXBlIH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvaGVscGVycy9Jc3N1ZU1hbmFnZXJcIjtcbmltcG9ydCB0eXBlIHsgRmlsdGVyRmllbGRNYW5pZmVzdENvbmZpZ3VyYXRpb24gfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9NYW5pZmVzdFNldHRpbmdzXCI7XG5pbXBvcnQgdHlwZSB7IENvbXBpbGVkQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQmluZGluZ1Rvb2xraXRcIjtcbmltcG9ydCB7IGNvbXBpbGVFeHByZXNzaW9uLCBub3QgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9CaW5kaW5nVG9vbGtpdFwiO1xuaW1wb3J0IHsgaXNFbnRpdHlTZXQgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9UeXBlR3VhcmRzXCI7XG5pbXBvcnQgeyBjaGVja0ZpbHRlckV4cHJlc3Npb25SZXN0cmljdGlvbnMgfSBmcm9tIFwic2FwL2ZlL2NvcmUvdGVtcGxhdGluZy9EYXRhTW9kZWxQYXRoSGVscGVyXCI7XG5pbXBvcnQgeyBnZXRJc1JlcXVpcmVkLCBpc1Byb3BlcnR5RmlsdGVyYWJsZSB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL0ZpbHRlclRlbXBsYXRpbmdcIjtcblxuZXhwb3J0IHR5cGUgVmlzdWFsRmlsdGVycyA9IHtcblx0ZGltZW5zaW9uUGF0aD86IHN0cmluZztcblx0bWVhc3VyZVBhdGg/OiBzdHJpbmc7XG5cdGxhYmVsPzogc3RyaW5nO1xuXHRjaGFydEFubm90YXRpb24/OiBzdHJpbmc7XG5cdHByZXNlbnRhdGlvbkFubm90YXRpb24/OiBzdHJpbmc7XG5cdHZpc2libGU/OiBib29sZWFuO1xuXHRvdXRQYXJhbWV0ZXI/OiBzdHJpbmc7XG5cdGluUGFyYW1ldGVycz86IG9iamVjdFtdO1xuXHR2YWx1ZWxpc3RQcm9wZXJ0eT86IHN0cmluZztcblx0Y29udGV4dFBhdGg/OiBzdHJpbmc7XG5cdHNlbGVjdGlvblZhcmlhbnRBbm5vdGF0aW9uPzogc3RyaW5nO1xuXHRtdWx0aXBsZVNlbGVjdGlvbkFsbG93ZWQ/OiBDb21waWxlZEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbjtcblx0cmVxdWlyZWQ/OiBib29sZWFuO1xuXHRzaG93T3ZlcmxheUluaXRpYWxseT86IGJvb2xlYW47XG5cdHJlbmRlckxpbmVDaGFydD86IGJvb2xlYW47XG5cdHJlcXVpcmVkUHJvcGVydGllcz86IHN0cmluZ1tdO1xuXHRpc1ZhbHVlTGlzdFdpdGhGaXhlZFZhbHVlcz86IGJvb2xlYW47XG59O1xuXG4vKipcbiAqIENoZWNrcyB0aGF0IG1lYXN1cmVzIGFuZCBkaW1lbnNpb25zIG9mIHRoZSB2aXN1YWwgZmlsdGVyIGNoYXJ0IGNhbiBiZSBhZ2dyZWdhdGVkIGFuZCBncm91cGVkLlxuICpcbiAqIEBwYXJhbSBjb252ZXJ0ZXJDb250ZXh0IFRoZSBjb252ZXJ0ZXIgY29udGV4dFxuICogQHBhcmFtIGNoYXJ0QW5ub3RhdGlvbiBUaGUgY2hhcnQgYW5ub3RhdGlvblxuICogQHBhcmFtIGFnZ3JlZ2F0aW9uSGVscGVyIFRoZSBhZ2dyZWdhdGlvbiBoZWxwZXJcbiAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgbWVhc3VyZSBjYW4gYmUgZ3JvdXBlZCBhbmQgYWdncmVnYXRlZFxuICovXG5jb25zdCBfY2hlY2tWRkFnZ3JlZ2F0aW9uID0gZnVuY3Rpb24gKFxuXHRjb252ZXJ0ZXJDb250ZXh0OiBDb252ZXJ0ZXJDb250ZXh0LFxuXHRjaGFydEFubm90YXRpb246IEFubm90YXRpb25QYXRoPENoYXJ0Pixcblx0YWdncmVnYXRpb25IZWxwZXI6IEFnZ3JlZ2F0aW9uSGVscGVyXG4pOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcblx0bGV0IHNNZWFzdXJlUGF0aCwgYkdyb3VwYWJsZSwgYkFnZ3JlZ2F0YWJsZTtcblx0bGV0IHNNZWFzdXJlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cdGNvbnN0IGN1c3RvbUFnZ3JlZ2F0ZXMgPSBhZ2dyZWdhdGlvbkhlbHBlci5nZXRDdXN0b21BZ2dyZWdhdGVEZWZpbml0aW9ucygpO1xuXHRsZXQgYVRyYW5zQWdncmVnYXRpb25zID0gYWdncmVnYXRpb25IZWxwZXIuZ2V0VHJhbnNBZ2dyZWdhdGlvbnMoKTtcblx0bGV0IGFDdXN0QWdnTWVhc3VyZSA9IFtdIGFzIEFycmF5PEN1c3RvbUFnZ3JlZ2F0ZT47XG5cdC8vIGlmIHRoZSBjaGFydCBkZWZpbml0aW9uIGhhcyBjdXN0b20gYWdncmVnYXRlcywgdGhlbiBjb25zaWRlciB0aGVtLCBlbHNlIGZhbGwgYmFjayB0byB0aGUgbWVhc3VyZXMgd2l0aCB0cmFuc2Zvcm1hdGlvbiBhZ2dyZWdhdGVzXG5cdGlmIChjaGFydEFubm90YXRpb24/LiR0YXJnZXQ/Lk1lYXN1cmVzKSB7XG5cdFx0YUN1c3RBZ2dNZWFzdXJlID0gY3VzdG9tQWdncmVnYXRlcy5maWx0ZXIoZnVuY3Rpb24gKGN1c3RBZ2c6IEN1c3RvbUFnZ3JlZ2F0ZSkge1xuXHRcdFx0cmV0dXJuIGN1c3RBZ2cucXVhbGlmaWVyID09PSBjaGFydEFubm90YXRpb24/LiR0YXJnZXQ/Lk1lYXN1cmVzPy5bMF0/LnZhbHVlO1xuXHRcdH0pO1xuXHRcdHNNZWFzdXJlID0gYUN1c3RBZ2dNZWFzdXJlLmxlbmd0aCA+IDAgPyBhQ3VzdEFnZ01lYXN1cmVbMF0ucXVhbGlmaWVyIDogY2hhcnRBbm5vdGF0aW9uPy4kdGFyZ2V0Py5NZWFzdXJlcz8uWzBdPy52YWx1ZTtcblx0fVxuXHQvLyBjb25zaWRlciBkeW5hbWljIG1lYXN1cmVzIG9ubHkgaWYgdGhlcmUgYXJlIG5vIG1lYXN1cmVzIHdpdGggY3VzdG9tIGFnZ3JlZ2F0ZXNcblx0aWYgKCFhQ3VzdEFnZ01lYXN1cmVbMF0gJiYgY2hhcnRBbm5vdGF0aW9uPy4kdGFyZ2V0Py5EeW5hbWljTWVhc3VyZXMpIHtcblx0XHRzTWVhc3VyZSA9IGNvbnZlcnRlckNvbnRleHRcblx0XHRcdC5nZXRDb252ZXJ0ZXJDb250ZXh0Rm9yKGNvbnZlcnRlckNvbnRleHQuZ2V0QWJzb2x1dGVBbm5vdGF0aW9uUGF0aChjaGFydEFubm90YXRpb24uJHRhcmdldC5EeW5hbWljTWVhc3VyZXM/LlswXT8udmFsdWUpKVxuXHRcdFx0LmdldERhdGFNb2RlbE9iamVjdFBhdGgoKS50YXJnZXRPYmplY3QuTmFtZTtcblx0XHRhVHJhbnNBZ2dyZWdhdGlvbnMgPSBhZ2dyZWdhdGlvbkhlbHBlci5nZXRBZ2dyZWdhdGVkUHJvcGVydGllcyhcIkFnZ3JlZ2F0ZWRQcm9wZXJ0eVwiKTtcblx0fSBlbHNlIHtcblx0XHRhVHJhbnNBZ2dyZWdhdGlvbnMgPSBhZ2dyZWdhdGlvbkhlbHBlci5nZXRBZ2dyZWdhdGVkUHJvcGVydGllcyhcIkFnZ3JlZ2F0ZWRQcm9wZXJ0aWVzXCIpWzBdO1xuXHR9XG5cblx0Y29uc3Qgc0RpbWVuc2lvbjogc3RyaW5nID0gY2hhcnRBbm5vdGF0aW9uPy4kdGFyZ2V0Py5EaW1lbnNpb25zWzBdPy52YWx1ZTtcblxuXHRpZiAoXG5cdFx0Y3VzdG9tQWdncmVnYXRlcy5zb21lKGZ1bmN0aW9uIChjdXN0QWdnOiBDdXN0b21BZ2dyZWdhdGUpIHtcblx0XHRcdHJldHVybiBjdXN0QWdnLnF1YWxpZmllciA9PT0gc01lYXN1cmU7XG5cdFx0fSlcblx0KSB7XG5cdFx0c01lYXN1cmVQYXRoID0gc01lYXN1cmU7XG5cdH0gZWxzZSBpZiAoYVRyYW5zQWdncmVnYXRpb25zICYmIGFUcmFuc0FnZ3JlZ2F0aW9uc1swXSkge1xuXHRcdGFUcmFuc0FnZ3JlZ2F0aW9ucy5zb21lKGZ1bmN0aW9uIChvQWdncmVnYXRlKSB7XG5cdFx0XHRpZiAob0FnZ3JlZ2F0ZS5OYW1lID09PSBzTWVhc3VyZSkge1xuXHRcdFx0XHRzTWVhc3VyZVBhdGggPSBvQWdncmVnYXRlPy5BZ2dyZWdhdGFibGVQcm9wZXJ0eS52YWx1ZTtcblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXHRjb25zdCBhQWdncmVnYXRhYmxlUHJvcHNGcm9tQ29udGFpbmVyID0gYWdncmVnYXRpb25IZWxwZXIuZ2V0QWdncmVnYXRhYmxlUHJvcGVydGllcygpO1xuXHRjb25zdCBhR3JvdXBhYmxlUHJvcHNGcm9tQ29udGFpbmVyID0gYWdncmVnYXRpb25IZWxwZXIuZ2V0R3JvdXBhYmxlUHJvcGVydGllcygpO1xuXHRpZiAoYUFnZ3JlZ2F0YWJsZVByb3BzRnJvbUNvbnRhaW5lciAmJiBhQWdncmVnYXRhYmxlUHJvcHNGcm9tQ29udGFpbmVyLmxlbmd0aCkge1xuXHRcdGZvciAoY29uc3QgYWdncmVnYXRhYmxlUHJvcCBvZiBhQWdncmVnYXRhYmxlUHJvcHNGcm9tQ29udGFpbmVyKSB7XG5cdFx0XHRpZiAoKGFnZ3JlZ2F0YWJsZVByb3AgYXMgQWdncmVnYXRhYmxlUHJvcGVydHlUeXBlKT8uUHJvcGVydHk/LnZhbHVlID09PSBzTWVhc3VyZVBhdGgpIHtcblx0XHRcdFx0YkFnZ3JlZ2F0YWJsZSA9IHRydWU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdGlmIChhR3JvdXBhYmxlUHJvcHNGcm9tQ29udGFpbmVyICYmIGFHcm91cGFibGVQcm9wc0Zyb21Db250YWluZXIubGVuZ3RoKSB7XG5cdFx0Zm9yIChjb25zdCBncm91cGFibGVQcm9wIG9mIGFHcm91cGFibGVQcm9wc0Zyb21Db250YWluZXIpIHtcblx0XHRcdGlmIChncm91cGFibGVQcm9wPy52YWx1ZSA9PT0gc0RpbWVuc2lvbikge1xuXHRcdFx0XHRiR3JvdXBhYmxlID0gdHJ1ZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0cmV0dXJuIGJBZ2dyZWdhdGFibGUgJiYgYkdyb3VwYWJsZTtcbn07XG5cbmV4cG9ydCB0eXBlIFBhcmFtZXRlclR5cGUgPSB7XG5cdGxvY2FsRGF0YVByb3BlcnR5OiBzdHJpbmc7XG5cdHZhbHVlTGlzdFByb3BlcnR5OiBzdHJpbmc7XG59O1xuXG4vKipcbiAqIE1ldGhvZCB0byBnZXQgdGhlIHZpc3VhbCBmaWx0ZXJzIG9iamVjdCBmb3IgYSBwcm9wZXJ0eS5cbiAqXG4gKiBAcGFyYW0gZW50aXR5VHlwZSBUaGUgY29udmVydGVyIGNvbnRleHRcbiAqIEBwYXJhbSBjb252ZXJ0ZXJDb250ZXh0IFRoZSBjaGFydCBhbm5vdGF0aW9uXG4gKiBAcGFyYW0gc1Byb3BlcnR5UGF0aCBUaGUgYWdncmVnYXRpb24gaGVscGVyXG4gKiBAcGFyYW0gRmlsdGVyRmllbGRzIFRoZSBhZ2dyZWdhdGlvbiBoZWxwZXJcbiAqIEByZXR1cm5zIHsgVmlzdWFsRmlsdGVycyB8IHVuZGVmaW5lZH0gVGhlIHZpc3VhbCBmaWx0ZXJzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRWaXN1YWxGaWx0ZXJzKFxuXHRlbnRpdHlUeXBlOiBFbnRpdHlUeXBlLFxuXHRjb252ZXJ0ZXJDb250ZXh0OiBDb252ZXJ0ZXJDb250ZXh0LFxuXHRzUHJvcGVydHlQYXRoOiBzdHJpbmcsXG5cdEZpbHRlckZpZWxkczogUmVjb3JkPHN0cmluZywgRmlsdGVyRmllbGRNYW5pZmVzdENvbmZpZ3VyYXRpb24+XG4pOiBWaXN1YWxGaWx0ZXJzIHwgdW5kZWZpbmVkIHtcblx0bGV0IHZpc3VhbEZpbHRlcjogVmlzdWFsRmlsdGVycyB8IHVuZGVmaW5lZDtcblx0Y29uc3Qgb1Zpc3VhbEZpbHRlcjogRmlsdGVyRmllbGRNYW5pZmVzdENvbmZpZ3VyYXRpb24gPSBGaWx0ZXJGaWVsZHNbc1Byb3BlcnR5UGF0aF07XG5cdGlmIChvVmlzdWFsRmlsdGVyPy52aXN1YWxGaWx0ZXI/LnZhbHVlTGlzdCkge1xuXHRcdGNvbnN0IG9WRlBhdGggPSBvVmlzdWFsRmlsdGVyPy52aXN1YWxGaWx0ZXI/LnZhbHVlTGlzdDtcblx0XHRjb25zdCBhbm5vdGF0aW9uUXVhbGlmaWVyU3BsaXQgPSBvVkZQYXRoLnNwbGl0KFwiI1wiKTtcblx0XHRjb25zdCBxdWFsaWZpZXJWTCA9IGFubm90YXRpb25RdWFsaWZpZXJTcGxpdC5sZW5ndGggPiAxID8gYFZhbHVlTGlzdCMke2Fubm90YXRpb25RdWFsaWZpZXJTcGxpdFsxXX1gIDogYW5ub3RhdGlvblF1YWxpZmllclNwbGl0WzBdO1xuXHRcdGNvbnN0IHByb3BlcnR5ID0gZW50aXR5VHlwZS5yZXNvbHZlUGF0aChzUHJvcGVydHlQYXRoKSBhcyBQcm9wZXJ0eTtcblx0XHRjb25zdCB2YWx1ZUxpc3QgPSBwcm9wZXJ0eT8uYW5ub3RhdGlvbnM/LkNvbW1vbj8uW3F1YWxpZmllclZMIGFzIGtleW9mIFByb3BlcnR5QW5ub3RhdGlvbnNfQ29tbW9uXSBhcyBWYWx1ZUxpc3QgfCB1bmRlZmluZWQ7XG5cdFx0Y29uc3QgaXNWYWx1ZUxpc3RXaXRoRml4ZWRWYWx1ZXMgPSAocHJvcGVydHk/LmFubm90YXRpb25zPy5Db21tb24/LlZhbHVlTGlzdFdpdGhGaXhlZFZhbHVlcz8udmFsdWVPZigpIGFzIGJvb2xlYW4pIHx8IGZhbHNlO1xuXHRcdGlmICh2YWx1ZUxpc3QpIHtcblx0XHRcdGNvbnN0IGNvbGxlY3Rpb25QYXRoID0gdmFsdWVMaXN0Py5Db2xsZWN0aW9uUGF0aC50b1N0cmluZygpO1xuXHRcdFx0Y29uc3QgY29sbGVjdGlvblBhdGhDb252ZXJ0ZXJDb250ZXh0ID0gY29udmVydGVyQ29udGV4dC5nZXRDb252ZXJ0ZXJDb250ZXh0Rm9yKFxuXHRcdFx0XHRgLyR7Y29sbGVjdGlvblBhdGggfHwgY29udmVydGVyQ29udGV4dC5nZXRFbnRpdHlTZXQoKT8ubmFtZX1gXG5cdFx0XHQpO1xuXHRcdFx0Y29uc3QgdmFsdWVMaXN0UGFyYW1zID0gdmFsdWVMaXN0Py5QYXJhbWV0ZXJzO1xuXHRcdFx0bGV0IG91dFBhcmFtZXRlcjogVmFsdWVMaXN0UGFyYW1ldGVyT3V0IHwgVmFsdWVMaXN0UGFyYW1ldGVySW5PdXQgfCB1bmRlZmluZWQ7XG5cdFx0XHRjb25zdCBpblBhcmFtZXRlcnM6IFBhcmFtZXRlclR5cGVbXSA9IFtdO1xuXHRcdFx0bGV0IGFQYXJhbWV0ZXJzOiBzdHJpbmdbXSA9IFtdO1xuXHRcdFx0Y29uc3QgcGFyYW1ldGVyRW50aXR5VHlwZSA9IGNvbGxlY3Rpb25QYXRoQ29udmVydGVyQ29udGV4dC5nZXRQYXJhbWV0ZXJFbnRpdHlUeXBlKCk7XG5cdFx0XHRhUGFyYW1ldGVycyA9IHBhcmFtZXRlckVudGl0eVR5cGVcblx0XHRcdFx0PyBwYXJhbWV0ZXJFbnRpdHlUeXBlLmtleXMubWFwKGZ1bmN0aW9uIChrZXkpIHtcblx0XHRcdFx0XHRcdHJldHVybiBrZXkubmFtZTtcblx0XHRcdFx0ICB9KVxuXHRcdFx0XHQ6IFtdO1xuXHRcdFx0aWYgKGNvbnZlcnRlckNvbnRleHQuZ2V0Q29udGV4dFBhdGgoKSA9PT0gY29sbGVjdGlvblBhdGhDb252ZXJ0ZXJDb250ZXh0LmdldENvbnRleHRQYXRoKCkpIHtcblx0XHRcdFx0X2FkZEluUGFyYW1ldGVycyhpblBhcmFtZXRlcnMsIGFQYXJhbWV0ZXJzLCB0cnVlKTtcblx0XHRcdH1cblx0XHRcdGlmICh2YWx1ZUxpc3RQYXJhbXMpIHtcblx0XHRcdFx0Zm9yIChjb25zdCB2YWx1ZUxpc3RQYXJhbSBvZiB2YWx1ZUxpc3RQYXJhbXMpIHtcblx0XHRcdFx0XHRjb25zdCBsb2NhbERhdGFQcm9wZXJ0eSA9ICh2YWx1ZUxpc3RQYXJhbSBhcyBWYWx1ZUxpc3RQYXJhbWV0ZXJJbikuTG9jYWxEYXRhUHJvcGVydHk/LnZhbHVlO1xuXHRcdFx0XHRcdGNvbnN0IHZhbHVlTGlzdFByb3BlcnR5ID0gdmFsdWVMaXN0UGFyYW0uVmFsdWVMaXN0UHJvcGVydHkgYXMgc3RyaW5nO1xuXHRcdFx0XHRcdGlmIChcblx0XHRcdFx0XHRcdCh2YWx1ZUxpc3RQYXJhbT8uJFR5cGUgPT09IFwiY29tLnNhcC52b2NhYnVsYXJpZXMuQ29tbW9uLnYxLlZhbHVlTGlzdFBhcmFtZXRlckluT3V0XCIgfHxcblx0XHRcdFx0XHRcdFx0dmFsdWVMaXN0UGFyYW0/LiRUeXBlID09PSBcImNvbS5zYXAudm9jYWJ1bGFyaWVzLkNvbW1vbi52MS5WYWx1ZUxpc3RQYXJhbWV0ZXJPdXRcIikgJiZcblx0XHRcdFx0XHRcdHNQcm9wZXJ0eVBhdGggPT09IGxvY2FsRGF0YVByb3BlcnR5XG5cdFx0XHRcdFx0KSB7XG5cdFx0XHRcdFx0XHRvdXRQYXJhbWV0ZXIgPSB2YWx1ZUxpc3RQYXJhbTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0aWYgKFxuXHRcdFx0XHRcdFx0KHZhbHVlTGlzdFBhcmFtPy4kVHlwZSA9PT0gXCJjb20uc2FwLnZvY2FidWxhcmllcy5Db21tb24udjEuVmFsdWVMaXN0UGFyYW1ldGVySW5PdXRcIiB8fFxuXHRcdFx0XHRcdFx0XHR2YWx1ZUxpc3RQYXJhbT8uJFR5cGUgPT09IFwiY29tLnNhcC52b2NhYnVsYXJpZXMuQ29tbW9uLnYxLlZhbHVlTGlzdFBhcmFtZXRlckluXCIpICYmXG5cdFx0XHRcdFx0XHRzUHJvcGVydHlQYXRoICE9PSBsb2NhbERhdGFQcm9wZXJ0eVxuXHRcdFx0XHRcdCkge1xuXHRcdFx0XHRcdFx0Y29uc3QgYk5vdEZpbHRlcmFibGUgPSBpc1Byb3BlcnR5RmlsdGVyYWJsZShjb2xsZWN0aW9uUGF0aENvbnZlcnRlckNvbnRleHQsIHZhbHVlTGlzdFByb3BlcnR5KTtcblx0XHRcdFx0XHRcdGlmICghYk5vdEZpbHRlcmFibGUpIHtcblx0XHRcdFx0XHRcdFx0aW5QYXJhbWV0ZXJzLnB1c2goe1xuXHRcdFx0XHRcdFx0XHRcdGxvY2FsRGF0YVByb3BlcnR5OiBsb2NhbERhdGFQcm9wZXJ0eSxcblx0XHRcdFx0XHRcdFx0XHR2YWx1ZUxpc3RQcm9wZXJ0eTogdmFsdWVMaXN0UHJvcGVydHlcblx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRpZiAoaW5QYXJhbWV0ZXJzICYmIGluUGFyYW1ldGVycy5sZW5ndGgpIHtcblx0XHRcdFx0aW5QYXJhbWV0ZXJzLmZvckVhY2goZnVuY3Rpb24gKG9JblBhcmFtZXRlcikge1xuXHRcdFx0XHRcdGNvbnN0IG1haW5FbnRpdHlTZXRJbk1hcHBpbmdBbGxvd2VkRXhwcmVzc2lvbiA9IGNvbXBpbGVFeHByZXNzaW9uKFxuXHRcdFx0XHRcdFx0Y2hlY2tGaWx0ZXJFeHByZXNzaW9uUmVzdHJpY3Rpb25zKFxuXHRcdFx0XHRcdFx0XHRjb252ZXJ0ZXJDb250ZXh0XG5cdFx0XHRcdFx0XHRcdFx0LmdldENvbnZlcnRlckNvbnRleHRGb3IoY29udmVydGVyQ29udGV4dC5nZXRBYnNvbHV0ZUFubm90YXRpb25QYXRoKG9JblBhcmFtZXRlcj8ubG9jYWxEYXRhUHJvcGVydHkpKVxuXHRcdFx0XHRcdFx0XHRcdC5nZXREYXRhTW9kZWxPYmplY3RQYXRoKCksXG5cdFx0XHRcdFx0XHRcdFtcIlNpbmdsZVZhbHVlXCJdXG5cdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRjb25zdCB2YWx1ZUxpc3RFbnRpdHlTZXRJbk1hcHBpbmdBbGxvd2VkRXhwcmVzc2lvbiA9IGNvbXBpbGVFeHByZXNzaW9uKFxuXHRcdFx0XHRcdFx0Y2hlY2tGaWx0ZXJFeHByZXNzaW9uUmVzdHJpY3Rpb25zKFxuXHRcdFx0XHRcdFx0XHRjb2xsZWN0aW9uUGF0aENvbnZlcnRlckNvbnRleHRcblx0XHRcdFx0XHRcdFx0XHQuZ2V0Q29udmVydGVyQ29udGV4dEZvcihcblx0XHRcdFx0XHRcdFx0XHRcdGNvbGxlY3Rpb25QYXRoQ29udmVydGVyQ29udGV4dC5nZXRBYnNvbHV0ZUFubm90YXRpb25QYXRoKG9JblBhcmFtZXRlcj8udmFsdWVMaXN0UHJvcGVydHkpXG5cdFx0XHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdFx0XHRcdC5nZXREYXRhTW9kZWxPYmplY3RQYXRoKCksXG5cdFx0XHRcdFx0XHRcdFtcIlNpbmdsZVZhbHVlXCJdXG5cdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRpZiAodmFsdWVMaXN0RW50aXR5U2V0SW5NYXBwaW5nQWxsb3dlZEV4cHJlc3Npb24gPT09IFwidHJ1ZVwiICYmIG1haW5FbnRpdHlTZXRJbk1hcHBpbmdBbGxvd2VkRXhwcmVzc2lvbiA9PT0gXCJmYWxzZVwiKSB7XG5cdFx0XHRcdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEZpbHRlclJlc3RyaWN0aW9ucyBvZiAke3NQcm9wZXJ0eVBhdGh9IGluIE1haW5FbnRpdHlTZXQgYW5kIFZhbHVlTGlzdEVudGl0eVNldCBhcmUgZGlmZmVyZW50YCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHRcdGNvbnN0IHB2UXVhbGlmaWVyID0gdmFsdWVMaXN0Py5QcmVzZW50YXRpb25WYXJpYW50UXVhbGlmaWVyO1xuXHRcdFx0Y29uc3Qgc3ZRdWFsaWZpZXIgPSB2YWx1ZUxpc3Q/LlNlbGVjdGlvblZhcmlhbnRRdWFsaWZpZXI7XG5cdFx0XHRjb25zdCBwdkFubm90YXRpb24gPSBjb2xsZWN0aW9uUGF0aENvbnZlcnRlckNvbnRleHQ/LmdldEVudGl0eVR5cGUoKS5hbm5vdGF0aW9ucy5VST8uW2BQcmVzZW50YXRpb25WYXJpYW50IyR7cHZRdWFsaWZpZXJ9YF07XG5cdFx0XHRjb25zdCBhZ2dyZWdhdGlvbkhlbHBlciA9IG5ldyBBZ2dyZWdhdGlvbkhlbHBlcihjb2xsZWN0aW9uUGF0aENvbnZlcnRlckNvbnRleHQuZ2V0RW50aXR5VHlwZSgpLCBjb2xsZWN0aW9uUGF0aENvbnZlcnRlckNvbnRleHQpO1xuXHRcdFx0aWYgKCFhZ2dyZWdhdGlvbkhlbHBlci5pc0FuYWx5dGljc1N1cHBvcnRlZCgpKSB7XG5cdFx0XHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdFx0XHR9XG5cdFx0XHRpZiAocHZBbm5vdGF0aW9uKSB7XG5cdFx0XHRcdGNvbnN0IGFWaXN1YWxpemF0aW9ucyA9IHB2QW5ub3RhdGlvbj8uVmlzdWFsaXphdGlvbnM7XG5cdFx0XHRcdGNvbnN0IGNvbnRleHRQYXRoID0gYC8ke3ZhbHVlTGlzdD8uQ29sbGVjdGlvblBhdGh9YCB8fCBgLyR7Y29sbGVjdGlvblBhdGhDb252ZXJ0ZXJDb250ZXh0Py5nZXRFbnRpdHlTZXQoKT8ubmFtZX1gO1xuXHRcdFx0XHR2aXN1YWxGaWx0ZXIgPSB7fTtcblx0XHRcdFx0dmlzdWFsRmlsdGVyLmNvbnRleHRQYXRoID0gY29udGV4dFBhdGg7XG5cdFx0XHRcdHZpc3VhbEZpbHRlci5pc1ZhbHVlTGlzdFdpdGhGaXhlZFZhbHVlcyA9IGlzVmFsdWVMaXN0V2l0aEZpeGVkVmFsdWVzO1xuXHRcdFx0XHRsZXQgY2hhcnRBbm5vdGF0aW9uOiBBbm5vdGF0aW9uUGF0aDxDaGFydD4gfCB1bmRlZmluZWQ7XG5cdFx0XHRcdGZvciAoY29uc3QgdmlzdWFsaXphdGlvbiBvZiBhVmlzdWFsaXphdGlvbnMpIHtcblx0XHRcdFx0XHRpZiAodmlzdWFsaXphdGlvbi4kdGFyZ2V0Py50ZXJtID09PSBcImNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkNoYXJ0XCIpIHtcblx0XHRcdFx0XHRcdGNoYXJ0QW5ub3RhdGlvbiA9IHZpc3VhbGl6YXRpb24gYXMgQW5ub3RhdGlvblBhdGg8Q2hhcnQ+O1xuXHRcdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdGlmIChjaGFydEFubm90YXRpb24pIHtcblx0XHRcdFx0XHRjb25zdCBfYmdldFZGQWdncmVnYXRpb246IGJvb2xlYW4gfCB1bmRlZmluZWQgPSBfY2hlY2tWRkFnZ3JlZ2F0aW9uKFxuXHRcdFx0XHRcdFx0Y29sbGVjdGlvblBhdGhDb252ZXJ0ZXJDb250ZXh0LFxuXHRcdFx0XHRcdFx0Y2hhcnRBbm5vdGF0aW9uLFxuXHRcdFx0XHRcdFx0YWdncmVnYXRpb25IZWxwZXJcblx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdGlmICghX2JnZXRWRkFnZ3JlZ2F0aW9uKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGNvbnN0IGJEaW1lbnNpb25IaWRkZW4gPSBjaGFydEFubm90YXRpb24/LiR0YXJnZXQ/LkRpbWVuc2lvbnNbMF0/LiR0YXJnZXQ/LmFubm90YXRpb25zPy5VST8uSGlkZGVuPy52YWx1ZU9mKCk7XG5cdFx0XHRcdFx0Y29uc3QgYkRpbWVuc2lvbkhpZGRlbkZpbHRlciA9XG5cdFx0XHRcdFx0XHRjaGFydEFubm90YXRpb24/LiR0YXJnZXQ/LkRpbWVuc2lvbnNbMF0/LiR0YXJnZXQ/LmFubm90YXRpb25zPy5VST8uSGlkZGVuRmlsdGVyPy52YWx1ZU9mKCk7XG5cdFx0XHRcdFx0aWYgKGJEaW1lbnNpb25IaWRkZW4gPT09IHRydWUgfHwgYkRpbWVuc2lvbkhpZGRlbkZpbHRlciA9PT0gdHJ1ZSkge1xuXHRcdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0XHRcdH0gZWxzZSBpZiAoYVZpc3VhbGl6YXRpb25zICYmIGFWaXN1YWxpemF0aW9ucy5sZW5ndGgpIHtcblx0XHRcdFx0XHRcdHZpc3VhbEZpbHRlci5jaGFydEFubm90YXRpb24gPSBjaGFydEFubm90YXRpb25cblx0XHRcdFx0XHRcdFx0PyBjb2xsZWN0aW9uUGF0aENvbnZlcnRlckNvbnRleHQ/LmdldEFic29sdXRlQW5ub3RhdGlvblBhdGgoXG5cdFx0XHRcdFx0XHRcdFx0XHRgJHtjaGFydEFubm90YXRpb24uJHRhcmdldC5mdWxseVF1YWxpZmllZE5hbWV9LyRBbm5vdGF0aW9uUGF0aC9gXG5cdFx0XHRcdFx0XHRcdCAgKVxuXHRcdFx0XHRcdFx0XHQ6IHVuZGVmaW5lZDtcblx0XHRcdFx0XHRcdC8vIFRoaXMgbmVlZHMgdG8gYmUgZG9uZSB0byBhdm9pZCByZXBldGl0aXZlIGVudGl0eSB0eXBlIGluIGNhc2Ugb2Ygbm9uLXBhcmFtZXRlcml6ZWQgZW50aXR5IHNldCBlLmcgL1NhbGVzT3JkZXJNYW5hZ2UvY29tLmNfc2FsZXNvcmRlcm1hbmFnZV9zZF9hZ2dyZWdhdGUuU2FsZXNPcmRlck1hbmFnZVxuXHRcdFx0XHRcdFx0Y29uc3QgZW50aXR5U2V0TmFtZSA9IGNvbGxlY3Rpb25QYXRoQ29udmVydGVyQ29udGV4dC5nZXRFbnRpdHlTZXQoKT8ubmFtZTtcblx0XHRcdFx0XHRcdGxldCBwcmVzZW50YXRpb25Bbm5vdGF0aW9uO1xuXHRcdFx0XHRcdFx0Y29uc3QgcmVsYXRpdmVBbm5vdGF0aW9uUGF0aCA9IGNvbGxlY3Rpb25QYXRoQ29udmVydGVyQ29udGV4dD8uZ2V0UmVsYXRpdmVBbm5vdGF0aW9uUGF0aChcblx0XHRcdFx0XHRcdFx0YCR7cHZBbm5vdGF0aW9uLmZ1bGx5UXVhbGlmaWVkTmFtZX0vYCxcblx0XHRcdFx0XHRcdFx0Y29sbGVjdGlvblBhdGhDb252ZXJ0ZXJDb250ZXh0LmdldEVudGl0eVR5cGUoKVxuXHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRcdGlmIChwYXJhbWV0ZXJFbnRpdHlUeXBlKSB7XG5cdFx0XHRcdFx0XHRcdHByZXNlbnRhdGlvbkFubm90YXRpb24gPSBjb2xsZWN0aW9uUGF0aENvbnZlcnRlckNvbnRleHQuZ2V0Q29udGV4dFBhdGgoKSArIFwiL1wiICsgcmVsYXRpdmVBbm5vdGF0aW9uUGF0aDtcblx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdHByZXNlbnRhdGlvbkFubm90YXRpb24gPSBcIi9cIiArIGVudGl0eVNldE5hbWUgKyBcIi9cIiArIHJlbGF0aXZlQW5ub3RhdGlvblBhdGg7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR2aXN1YWxGaWx0ZXIucHJlc2VudGF0aW9uQW5ub3RhdGlvbiA9IHB2QW5ub3RhdGlvbiA/IHByZXNlbnRhdGlvbkFubm90YXRpb24gOiB1bmRlZmluZWQ7XG5cdFx0XHRcdFx0XHR2aXN1YWxGaWx0ZXIub3V0UGFyYW1ldGVyID0gb3V0UGFyYW1ldGVyPy5Mb2NhbERhdGFQcm9wZXJ0eT8udmFsdWU7XG5cdFx0XHRcdFx0XHR2aXN1YWxGaWx0ZXIuaW5QYXJhbWV0ZXJzID0gaW5QYXJhbWV0ZXJzO1xuXHRcdFx0XHRcdFx0dmlzdWFsRmlsdGVyLnZhbHVlbGlzdFByb3BlcnR5ID0gb3V0UGFyYW1ldGVyPy5WYWx1ZUxpc3RQcm9wZXJ0eSBhcyBzdHJpbmc7XG5cdFx0XHRcdFx0XHRjb25zdCBiSXNSYW5nZSA9IGNoZWNrRmlsdGVyRXhwcmVzc2lvblJlc3RyaWN0aW9ucyhcblx0XHRcdFx0XHRcdFx0Y29udmVydGVyQ29udGV4dFxuXHRcdFx0XHRcdFx0XHRcdC5nZXRDb252ZXJ0ZXJDb250ZXh0Rm9yKGNvbnZlcnRlckNvbnRleHQuZ2V0QWJzb2x1dGVBbm5vdGF0aW9uUGF0aChzUHJvcGVydHlQYXRoKSlcblx0XHRcdFx0XHRcdFx0XHQuZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aCgpLFxuXHRcdFx0XHRcdFx0XHRbXCJTaW5nbGVSYW5nZVwiLCBcIk11bHRpUmFuZ2VcIl1cblx0XHRcdFx0XHRcdCk7XG5cblx0XHRcdFx0XHRcdGlmIChjb21waWxlRXhwcmVzc2lvbihiSXNSYW5nZSkgPT09IFwidHJ1ZVwiKSB7XG5cdFx0XHRcdFx0XHRcdGNvbnZlcnRlckNvbnRleHRcblx0XHRcdFx0XHRcdFx0XHQuZ2V0RGlhZ25vc3RpY3MoKVxuXHRcdFx0XHRcdFx0XHRcdC5hZGRJc3N1ZShJc3N1ZUNhdGVnb3J5LkFubm90YXRpb24sIElzc3VlU2V2ZXJpdHkuSGlnaCwgSXNzdWVUeXBlLk1BTEZPUk1FRF9WSVNVQUxGSUxURVJTLlZBTFVFTElTVCk7XG5cdFx0XHRcdFx0XHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdGNvbnN0IGJJc01haW5FbnRpdHlTZXRTaW5nbGVTZWxlY3Rpb24gPSBjaGVja0ZpbHRlckV4cHJlc3Npb25SZXN0cmljdGlvbnMoXG5cdFx0XHRcdFx0XHRcdGNvbnZlcnRlckNvbnRleHRcblx0XHRcdFx0XHRcdFx0XHQuZ2V0Q29udmVydGVyQ29udGV4dEZvcihjb252ZXJ0ZXJDb250ZXh0LmdldEFic29sdXRlQW5ub3RhdGlvblBhdGgoc1Byb3BlcnR5UGF0aCkpXG5cdFx0XHRcdFx0XHRcdFx0LmdldERhdGFNb2RlbE9iamVjdFBhdGgoKSxcblx0XHRcdFx0XHRcdFx0W1wiU2luZ2xlVmFsdWVcIl1cblx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0XHR2aXN1YWxGaWx0ZXIubXVsdGlwbGVTZWxlY3Rpb25BbGxvd2VkID0gY29tcGlsZUV4cHJlc3Npb24obm90KGJJc01haW5FbnRpdHlTZXRTaW5nbGVTZWxlY3Rpb24pKTtcblx0XHRcdFx0XHRcdHZpc3VhbEZpbHRlci5yZXF1aXJlZCA9IGdldElzUmVxdWlyZWQoY29udmVydGVyQ29udGV4dCwgc1Byb3BlcnR5UGF0aCk7XG5cdFx0XHRcdFx0XHRsZXQgc3ZBbm5vdGF0aW9uOiBTZWxlY3Rpb25WYXJpYW50IHwgdW5kZWZpbmVkO1xuXHRcdFx0XHRcdFx0aWYgKHN2UXVhbGlmaWVyKSB7XG5cdFx0XHRcdFx0XHRcdHN2QW5ub3RhdGlvbiA9IGNvbGxlY3Rpb25QYXRoQ29udmVydGVyQ29udGV4dD8uZ2V0RW50aXR5VHlwZUFubm90YXRpb24oXG5cdFx0XHRcdFx0XHRcdFx0YEBVSS5TZWxlY3Rpb25WYXJpYW50IyR7c3ZRdWFsaWZpZXJ9YFxuXHRcdFx0XHRcdFx0XHQpPy5hbm5vdGF0aW9uO1xuXHRcdFx0XHRcdFx0XHRsZXQgc2VsZWN0aW9uVmFyaWFudEFubm90YXRpb247XG5cdFx0XHRcdFx0XHRcdGNvbnN0IHJlbGF0aXZlU2VsZWN0aW9uVmFyaWFudFBhdGggPSBjb2xsZWN0aW9uUGF0aENvbnZlcnRlckNvbnRleHQ/LmdldFJlbGF0aXZlQW5ub3RhdGlvblBhdGgoXG5cdFx0XHRcdFx0XHRcdFx0YCR7c3ZBbm5vdGF0aW9uPy5mdWxseVF1YWxpZmllZE5hbWV9L2AsXG5cdFx0XHRcdFx0XHRcdFx0Y29sbGVjdGlvblBhdGhDb252ZXJ0ZXJDb250ZXh0LmdldEVudGl0eVR5cGUoKVxuXHRcdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdFx0XHRpZiAocGFyYW1ldGVyRW50aXR5VHlwZSkge1xuXHRcdFx0XHRcdFx0XHRcdHNlbGVjdGlvblZhcmlhbnRBbm5vdGF0aW9uID1cblx0XHRcdFx0XHRcdFx0XHRcdGNvbGxlY3Rpb25QYXRoQ29udmVydGVyQ29udGV4dC5nZXRDb250ZXh0UGF0aCgpICsgXCIvXCIgKyByZWxhdGl2ZVNlbGVjdGlvblZhcmlhbnRQYXRoO1xuXHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRcdHNlbGVjdGlvblZhcmlhbnRBbm5vdGF0aW9uID0gXCIvXCIgKyBlbnRpdHlTZXROYW1lICsgXCIvXCIgKyByZWxhdGl2ZVNlbGVjdGlvblZhcmlhbnRQYXRoO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdHZpc3VhbEZpbHRlci5zZWxlY3Rpb25WYXJpYW50QW5ub3RhdGlvbiA9IHN2QW5ub3RhdGlvbiA/IHNlbGVjdGlvblZhcmlhbnRBbm5vdGF0aW9uIDogdW5kZWZpbmVkO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0bGV0IHJlcXVpcmVkUHJvcGVydGllczogUHJvcGVydHlQYXRoW10gPSBbXTtcblx0XHRcdFx0XHRcdGlmIChwYXJhbWV0ZXJFbnRpdHlUeXBlKSB7XG5cdFx0XHRcdFx0XHRcdGNvbnN0IHNFbnRpdHlTZXQgPSBjb2xsZWN0aW9uUGF0aC5zcGxpdChcIi9cIilbMF07XG5cdFx0XHRcdFx0XHRcdGNvbnN0IHNOYXZpZ2F0aW9uUHJvcGVydHkgPSBjb2xsZWN0aW9uUGF0aC5zcGxpdChcIi9cIilbMV07XG5cdFx0XHRcdFx0XHRcdGNvbnN0IG9FbnRpdHlTZXRDb252ZXJ0ZXJDb250ZXh0ID0gY29udmVydGVyQ29udGV4dC5nZXRDb252ZXJ0ZXJDb250ZXh0Rm9yKGAvJHtzRW50aXR5U2V0fWApO1xuXHRcdFx0XHRcdFx0XHRjb25zdCBhUmVzdHJpY3RlZFByb3BlcnRpZXMgPVxuXHRcdFx0XHRcdFx0XHRcdG9FbnRpdHlTZXRDb252ZXJ0ZXJDb250ZXh0Py5nZXREYXRhTW9kZWxPYmplY3RQYXRoKCkuc3RhcnRpbmdFbnRpdHlTZXQ/LmFubm90YXRpb25zPy5DYXBhYmlsaXRpZXNcblx0XHRcdFx0XHRcdFx0XHRcdD8uTmF2aWdhdGlvblJlc3RyaWN0aW9ucz8uUmVzdHJpY3RlZFByb3BlcnRpZXM7XG5cdFx0XHRcdFx0XHRcdGNvbnN0IG9SZXN0cmljdGVkUHJvcGVydHkgPSBhUmVzdHJpY3RlZFByb3BlcnRpZXM/LmZpbmQoXG5cdFx0XHRcdFx0XHRcdFx0KHJlc3RyaWN0ZWROYXZQcm9wOiBOYXZpZ2F0aW9uUHJvcGVydHlSZXN0cmljdGlvblR5cGVzKSA9PiB7XG5cdFx0XHRcdFx0XHRcdFx0XHRpZiAocmVzdHJpY3RlZE5hdlByb3AuTmF2aWdhdGlvblByb3BlcnR5Py50eXBlID09PSBcIk5hdmlnYXRpb25Qcm9wZXJ0eVBhdGhcIikge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gcmVzdHJpY3RlZE5hdlByb3AuTmF2aWdhdGlvblByb3BlcnR5LnZhbHVlID09PSBzTmF2aWdhdGlvblByb3BlcnR5O1xuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRcdFx0cmVxdWlyZWRQcm9wZXJ0aWVzID0gb1Jlc3RyaWN0ZWRQcm9wZXJ0eT8uRmlsdGVyUmVzdHJpY3Rpb25zPy5SZXF1aXJlZFByb3BlcnRpZXMgPz8gW107XG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRjb25zdCBlbnRpdHlTZXRPclNpbmdsZXRvbiA9IGNvbGxlY3Rpb25QYXRoQ29udmVydGVyQ29udGV4dD8uZ2V0RW50aXR5U2V0KCk7XG5cdFx0XHRcdFx0XHRcdGlmIChpc0VudGl0eVNldChlbnRpdHlTZXRPclNpbmdsZXRvbikpIHtcblx0XHRcdFx0XHRcdFx0XHRyZXF1aXJlZFByb3BlcnRpZXMgPVxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0T3JTaW5nbGV0b24uYW5ub3RhdGlvbnMuQ2FwYWJpbGl0aWVzPy5GaWx0ZXJSZXN0cmljdGlvbnM/LlJlcXVpcmVkUHJvcGVydGllcyA/PyBbXTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0bGV0IHJlcXVpcmVkUHJvcGVydHlQYXRoczogc3RyaW5nW10gPSBbXTtcblx0XHRcdFx0XHRcdGlmIChyZXF1aXJlZFByb3BlcnRpZXM/Lmxlbmd0aCkge1xuXHRcdFx0XHRcdFx0XHRyZXF1aXJlZFByb3BlcnRpZXMuZm9yRWFjaChmdW5jdGlvbiAob1JlcXVpcmVQcm9wZXJ0eSkge1xuXHRcdFx0XHRcdFx0XHRcdHJlcXVpcmVkUHJvcGVydHlQYXRocy5wdXNoKG9SZXF1aXJlUHJvcGVydHkudmFsdWUpO1xuXHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdHJlcXVpcmVkUHJvcGVydHlQYXRocyA9IHJlcXVpcmVkUHJvcGVydHlQYXRocy5jb25jYXQoYVBhcmFtZXRlcnMpO1xuXHRcdFx0XHRcdFx0dmlzdWFsRmlsdGVyLnJlcXVpcmVkUHJvcGVydGllcyA9IHJlcXVpcmVkUHJvcGVydHlQYXRocztcblx0XHRcdFx0XHRcdGlmIChjb252ZXJ0ZXJDb250ZXh0LmdldENvbnRleHRQYXRoKCkgPT09IGNvbGxlY3Rpb25QYXRoQ29udmVydGVyQ29udGV4dC5nZXRDb250ZXh0UGF0aCgpKSB7XG5cdFx0XHRcdFx0XHRcdC8vIGlmIGNvbnRleHQgUGF0aCBmb3IgYm90aCB2aXN1YWwgZmlsdGVyIGFuZCBmaWx0ZXIgYmFyIGFyZSBzYW1lLCBjb25zaWRlciByZXF1aXJlZCBQcm9wZXJ0aWVzIGFzIHdlbGwgYWxvbmcgd2l0aCBpbiBQYXJhbWV0ZXJzXG5cdFx0XHRcdFx0XHRcdF9hZGRJblBhcmFtZXRlcnMoaW5QYXJhbWV0ZXJzLCByZXF1aXJlZFByb3BlcnRpZXMsIGZhbHNlKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdGlmICh2aXN1YWxGaWx0ZXIucmVxdWlyZWRQcm9wZXJ0aWVzPy5sZW5ndGgpIHtcblx0XHRcdFx0XHRcdFx0aWYgKCF2aXN1YWxGaWx0ZXIuaW5QYXJhbWV0ZXJzIHx8ICF2aXN1YWxGaWx0ZXIuaW5QYXJhbWV0ZXJzLmxlbmd0aCkge1xuXHRcdFx0XHRcdFx0XHRcdGlmICghdmlzdWFsRmlsdGVyLnNlbGVjdGlvblZhcmlhbnRBbm5vdGF0aW9uKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHR2aXN1YWxGaWx0ZXIuc2hvd092ZXJsYXlJbml0aWFsbHkgPSB0cnVlO1xuXHRcdFx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRsZXQgc2VsZWN0T3B0aW9ucyA9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHN2QW5ub3RhdGlvbj8uU2VsZWN0T3B0aW9ucz8ubWFwKChvU2VsZWN0T3B0aW9uKSA9PiBvU2VsZWN0T3B0aW9uLlByb3BlcnR5TmFtZT8udmFsdWUpIHx8IFtdO1xuXHRcdFx0XHRcdFx0XHRcdFx0Y29uc3QgcGFyYW1ldGVyT3B0aW9ucyA9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHN2QW5ub3RhdGlvbj8uUGFyYW1ldGVycz8ubWFwKFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdChvUGFyYW1ldGVyT3B0aW9uKSA9PiAob1BhcmFtZXRlck9wdGlvbiBhcyBQYXJhbWV0ZXJUeXBlcykuUHJvcGVydHlOYW1lPy52YWx1ZVxuXHRcdFx0XHRcdFx0XHRcdFx0XHQpIHx8IFtdO1xuXHRcdFx0XHRcdFx0XHRcdFx0c2VsZWN0T3B0aW9ucyA9IHNlbGVjdE9wdGlvbnMuY29uY2F0KHBhcmFtZXRlck9wdGlvbnMpO1xuXHRcdFx0XHRcdFx0XHRcdFx0cmVxdWlyZWRQcm9wZXJ0eVBhdGhzID0gcmVxdWlyZWRQcm9wZXJ0eVBhdGhzLnNvcnQoKTtcblx0XHRcdFx0XHRcdFx0XHRcdHNlbGVjdE9wdGlvbnMgPSBzZWxlY3RPcHRpb25zLnNvcnQoKTtcblx0XHRcdFx0XHRcdFx0XHRcdHZpc3VhbEZpbHRlci5zaG93T3ZlcmxheUluaXRpYWxseSA9IHJlcXVpcmVkUHJvcGVydHlQYXRocy5zb21lKGZ1bmN0aW9uIChzUGF0aCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gc2VsZWN0T3B0aW9ucy5pbmRleE9mKHNQYXRoKSA9PT0gLTE7XG5cdFx0XHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdFx0dmlzdWFsRmlsdGVyLnNob3dPdmVybGF5SW5pdGlhbGx5ID0gZmFsc2U7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdHZpc3VhbEZpbHRlci5zaG93T3ZlcmxheUluaXRpYWxseSA9IGZhbHNlO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0Y29uc3Qgc0RpbWVuc2lvblR5cGUgPSBjaGFydEFubm90YXRpb24/LiR0YXJnZXQ/LkRpbWVuc2lvbnNbMF0/LiR0YXJnZXQ/LnR5cGU7XG5cdFx0XHRcdFx0XHRpZiAoXG5cdFx0XHRcdFx0XHRcdCEoXG5cdFx0XHRcdFx0XHRcdFx0c0RpbWVuc2lvblR5cGUgPT09IFwiRWRtLkRhdGVUaW1lT2Zmc2V0XCIgfHxcblx0XHRcdFx0XHRcdFx0XHRzRGltZW5zaW9uVHlwZSA9PT0gXCJFZG0uRGF0ZVwiIHx8XG5cdFx0XHRcdFx0XHRcdFx0c0RpbWVuc2lvblR5cGUgPT09IFwiRWRtLlRpbWVPZkRheVwiXG5cdFx0XHRcdFx0XHRcdCkgJiZcblx0XHRcdFx0XHRcdFx0Y2hhcnRBbm5vdGF0aW9uLiR0YXJnZXQuQ2hhcnRUeXBlID09PSBcIlVJLkNoYXJ0VHlwZS9MaW5lXCJcblx0XHRcdFx0XHRcdCkge1xuXHRcdFx0XHRcdFx0XHR2aXN1YWxGaWx0ZXIucmVuZGVyTGluZUNoYXJ0ID0gZmFsc2U7XG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHR2aXN1YWxGaWx0ZXIucmVuZGVyTGluZUNoYXJ0ID0gdHJ1ZTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0Y29udmVydGVyQ29udGV4dFxuXHRcdFx0XHRcdFx0LmdldERpYWdub3N0aWNzKClcblx0XHRcdFx0XHRcdC5hZGRJc3N1ZShJc3N1ZUNhdGVnb3J5LkFubm90YXRpb24sIElzc3VlU2V2ZXJpdHkuSGlnaCwgSXNzdWVUeXBlLk1BTEZPUk1FRF9WSVNVQUxGSUxURVJTLkNIQVJUKTtcblx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdH1cblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGNvbnZlcnRlckNvbnRleHRcblx0XHRcdFx0XHQuZ2V0RGlhZ25vc3RpY3MoKVxuXHRcdFx0XHRcdC5hZGRJc3N1ZShJc3N1ZUNhdGVnb3J5LkFubm90YXRpb24sIElzc3VlU2V2ZXJpdHkuSGlnaCwgSXNzdWVUeXBlLk1BTEZPUk1FRF9WSVNVQUxGSUxURVJTLlBSRVNFTlRBVElPTlZBUklBTlQpO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHRjb252ZXJ0ZXJDb250ZXh0XG5cdFx0XHRcdC5nZXREaWFnbm9zdGljcygpXG5cdFx0XHRcdC5hZGRJc3N1ZShJc3N1ZUNhdGVnb3J5LkFubm90YXRpb24sIElzc3VlU2V2ZXJpdHkuSGlnaCwgSXNzdWVUeXBlLk1BTEZPUk1FRF9WSVNVQUxGSUxURVJTLlZBTFVFTElTVCk7XG5cdFx0fVxuXHR9IGVsc2Uge1xuXHRcdGNvbnZlcnRlckNvbnRleHQuZ2V0RGlhZ25vc3RpY3MoKS5hZGRJc3N1ZShJc3N1ZUNhdGVnb3J5Lk1hbmlmZXN0LCBJc3N1ZVNldmVyaXR5LkhpZ2gsIElzc3VlVHlwZS5NQUxGT1JNRURfVklTVUFMRklMVEVSUy5WQUxVRUxJU1QpO1xuXHR9XG5cdHJldHVybiB2aXN1YWxGaWx0ZXI7XG59XG5cbi8qKlxuICogTWV0aG9kIHRvIGFkZCBpbnBhcmFtZXRlcnMgZnJvbSByZXF1aXJlZCBwcm9wZXJ0aWVzIGFuZCBwYXJhbWV0ZXJzLlxuICpcbiAqIEBwYXJhbSBpblBhcmFtcyBBbiBhcnJheSBjb250YWluaW5nIGV4aXN0aW5nIGlucGFyYW1zXG4gKiBAcGFyYW0gcHJvcGVydGllcyBBbiBhcnJheSBjb250YWluaW5nIGVpdGhlciByZXF1aXJlZHByb3BlcnRpZXMgb3IgcGFyYW1ldGVyc1xuICogQHBhcmFtIGlzUGFyYW0gQSBib29sZWFuIGZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIHBhc3NlZCBwcm9wZXJ0aWVzIGFyZSBwYXJhbWV0ZXJzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBfYWRkSW5QYXJhbWV0ZXJzKGluUGFyYW1zOiBQYXJhbWV0ZXJUeXBlW10sIHByb3BlcnRpZXM6IFByb3BlcnR5UGF0aFtdIHwgc3RyaW5nW10sIGlzUGFyYW06IGJvb2xlYW4pIHtcblx0cHJvcGVydGllcy5mb3JFYWNoKGZ1bmN0aW9uIChlbGVtZW50KSB7XG5cdFx0Y29uc3QgcHJvcGVydHkgPSBpc1BhcmFtID8gZWxlbWVudCA6IChlbGVtZW50IGFzIFByb3BlcnR5UGF0aCkudmFsdWU7XG5cdFx0aW5QYXJhbXMucHVzaCh7XG5cdFx0XHRsb2NhbERhdGFQcm9wZXJ0eTogcHJvcGVydHkgYXMgc3RyaW5nLFxuXHRcdFx0dmFsdWVMaXN0UHJvcGVydHk6IHByb3BlcnR5IGFzIHN0cmluZ1xuXHRcdH0pO1xuXHR9KTtcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0VBeUNBO0FBQ0E7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
@@ -2,5 +2,5 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * (c) Copyright 2009-2023 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/fe/core/converters/helpers/Aggregation","sap/fe/core/converters/helpers/IssueManager","sap/fe/core/helpers/BindingToolkit","sap/fe/core/helpers/TypeGuards","sap/fe/core/templating/DataModelPathHelper","sap/fe/core/templating/FilterTemplating"],function(t,e,i,o,n,l){"use strict";var a={};var r=l.isPropertyFilterable;var v=l.getIsRequired;var d=n.checkFilterExpressionRestrictions;var s=o.isEntitySet;var u=i.not;var g=i.compileExpression;var c=e.IssueType;var f=e.IssueSeverity;var p=e.IssueCategory;var P=t.AggregationHelper;const y=function(t,e,i){var o,n,l,a;let r,v,d;let s;const u=i.getCustomAggregateDefinitions();let g=i.getTransAggregations();let c=[];if(e!==null&&e!==void 0&&(o=e.$target)!==null&&o!==void 0&&o.Measures){var f,p,P;c=u.filter(function(t){var i,o,n;return t.qualifier===(e===null||e===void 0?void 0:(i=e.$target)===null||i===void 0?void 0:(o=i.Measures)===null||o===void 0?void 0:(n=o[0])===null||n===void 0?void 0:n.value)});s=c.length>0?c[0].qualifier:e===null||e===void 0?void 0:(f=e.$target)===null||f===void 0?void 0:(p=f.Measures)===null||p===void 0?void 0:(P=p[0])===null||P===void 0?void 0:P.value}if(!c[0]&&e!==null&&e!==void 0&&(n=e.$target)!==null&&n!==void 0&&n.DynamicMeasures){var y,h;s=t.getConverterContextFor(t.getAbsoluteAnnotationPath((y=e.$target.DynamicMeasures)===null||y===void 0?void 0:(h=y[0])===null||h===void 0?void 0:h.value)).getDataModelObjectPath().targetObject.Name;g=i.getAggregatedProperties("AggregatedProperty")}else{g=i.getAggregatedProperties("AggregatedProperties")[0]}const m=e===null||e===void 0?void 0:(l=e.$target)===null||l===void 0?void 0:(a=l.Dimensions[0])===null||a===void 0?void 0:a.value;if(u.some(function(t){return t.qualifier===s})){r=s}else if(g&&g[0]){g.some(function(t){if(t.Name===s){r=t===null||t===void 0?void 0:t.AggregatableProperty.value}})}const A=i.getAggregatableProperties();const L=i.getGroupableProperties();if(A&&A.length){for(const t of A){var E;if((t===null||t===void 0?void 0:(E=t.Property)===null||E===void 0?void 0:E.value)===r){d=true}}}if(L&&L.length){for(const t of L){if((t===null||t===void 0?void 0:t.value)===m){v=true}}}return d&&v};function h(t,e,i,o){var n;let l;const a=o[i];if(a!==null&&a!==void 0&&(n=a.visualFilter)!==null&&n!==void 0&&n.valueList){var h,m,A,L,E,I;const o=a===null||a===void 0?void 0:(h=a.visualFilter)===null||h===void 0?void 0:h.valueList;const n=o.split("#");const gt=n.length>1?`ValueList#${n[1]}`:n[0];const ct=t.resolvePath(i);const ft=ct===null||ct===void 0?void 0:(m=ct.annotations)===null||m===void 0?void 0:(A=m.Common)===null||A===void 0?void 0:A[gt];const pt=(ct===null||ct===void 0?void 0:(L=ct.annotations)===null||L===void 0?void 0:(E=L.Common)===null||E===void 0?void 0:(I=E.ValueListWithFixedValues)===null||I===void 0?void 0:I.valueOf())||false;if(ft){var C,S;const t=ft===null||ft===void 0?void 0:ft.CollectionPath.toString();const o=e.getConverterContextFor(`/${t||((C=e.getEntitySet())===null||C===void 0?void 0:C.name)}`);const n=ft===null||ft===void 0?void 0:ft.Parameters;let a;const h=[];let m=[];const A=o.getParameterEntityType();m=A?A.keys.map(function(t){return t.name}):[];if(e.getContextPath()===o.getContextPath()){m.forEach(function(t){h.push({localDataProperty:t,valueListProperty:t})})}if(n){for(const t of n){var D;const e=(D=t.LocalDataProperty)===null||D===void 0?void 0:D.value;const n=t.ValueListProperty;if(((t===null||t===void 0?void 0:t.$Type)==="com.sap.vocabularies.Common.v1.ValueListParameterInOut"||(t===null||t===void 0?void 0:t.$Type)==="com.sap.vocabularies.Common.v1.ValueListParameterOut")&&i===e){a=t}if(((t===null||t===void 0?void 0:t.$Type)==="com.sap.vocabularies.Common.v1.ValueListParameterInOut"||(t===null||t===void 0?void 0:t.$Type)==="com.sap.vocabularies.Common.v1.ValueListParameterIn")&&i!==e){const t=r(o,n);if(!t){h.push({localDataProperty:e,valueListProperty:n})}}}}if(h&&h.length){h.forEach(function(t){const n=g(d(e.getConverterContextFor(e.getAbsoluteAnnotationPath(t===null||t===void 0?void 0:t.localDataProperty)).getDataModelObjectPath(),["SingleValue"]));const l=g(d(o.getConverterContextFor(o.getAbsoluteAnnotationPath(t===null||t===void 0?void 0:t.valueListProperty)).getDataModelObjectPath(),["SingleValue"]));if(l==="true"&&n==="false"){throw new Error(`FilterRestrictions of ${i} in MainEntitySet and ValueListEntitySet are different`)}})}const L=ft===null||ft===void 0?void 0:ft.PresentationVariantQualifier;const E=ft===null||ft===void 0?void 0:ft.SelectionVariantQualifier;const I=o===null||o===void 0?void 0:(S=o.getEntityType().annotations.UI)===null||S===void 0?void 0:S[`PresentationVariant#${L}`];const gt=new P(o.getEntityType(),o);if(!gt.isAnalyticsSupported()){return undefined}if(I){var V;const n=I===null||I===void 0?void 0:I.Visualizations;const r=`/${ft===null||ft===void 0?void 0:ft.CollectionPath}`||`/${o===null||o===void 0?void 0:(V=o.getEntitySet())===null||V===void 0?void 0:V.name}`;l={};l.contextPath=r;l.isValueListWithFixedValues=pt;let P;for(const t of n){var T;if(((T=t.$target)===null||T===void 0?void 0:T.term)==="com.sap.vocabularies.UI.v1.Chart"){P=t;break}}if(P){var $,F,O,M,R,b,x,N,U,H,q,w,j,Q;const r=y(o,P,gt);if(!r){return}const L=($=P)===null||$===void 0?void 0:(F=$.$target)===null||F===void 0?void 0:(O=F.Dimensions[0])===null||O===void 0?void 0:(M=O.$target)===null||M===void 0?void 0:(R=M.annotations)===null||R===void 0?void 0:(b=R.UI)===null||b===void 0?void 0:(x=b.Hidden)===null||x===void 0?void 0:x.valueOf();const C=(N=P)===null||N===void 0?void 0:(U=N.$target)===null||U===void 0?void 0:(H=U.Dimensions[0])===null||H===void 0?void 0:(q=H.$target)===null||q===void 0?void 0:(w=q.annotations)===null||w===void 0?void 0:(j=w.UI)===null||j===void 0?void 0:(Q=j.HiddenFilter)===null||Q===void 0?void 0:Q.valueOf();if(L===true||C===true){return}else if(n&&n.length){var _,k,G,W,z,B,J,K,X,Y;l.chartAnnotation=P?o===null||o===void 0?void 0:o.getAbsoluteAnnotationPath(`${P.$target.fullyQualifiedName}/$AnnotationPath/`):undefined;const n=(_=o.getEntitySet())===null||_===void 0?void 0:_.name;let r;const y=o===null||o===void 0?void 0:o.getRelativeAnnotationPath(`${I.fullyQualifiedName}/`,o.getEntityType());if(A){r=o.getContextPath()+"/"+y}else{r="/"+n+"/"+y}l.presentationAnnotation=I?r:undefined;l.outParameter=(k=a)===null||k===void 0?void 0:(G=k.LocalDataProperty)===null||G===void 0?void 0:G.value;l.inParameters=h;l.valuelistProperty=(W=a)===null||W===void 0?void 0:W.ValueListProperty;const L=d(e.getConverterContextFor(e.getAbsoluteAnnotationPath(i)).getDataModelObjectPath(),["SingleRange","MultiRange"]);if(g(L)==="true"){e.getDiagnostics().addIssue(p.Annotation,f.High,c.MALFORMED_VISUALFILTERS.VALUELIST);return undefined}const C=d(e.getConverterContextFor(e.getAbsoluteAnnotationPath(i)).getDataModelObjectPath(),["SingleValue"]);l.multipleSelectionAllowed=g(u(C));l.required=v(e,i);let S;if(E){var Z,tt;S=o===null||o===void 0?void 0:(Z=o.getEntityTypeAnnotation(`@UI.SelectionVariant#${E}`))===null||Z===void 0?void 0:Z.annotation;let t;const e=o===null||o===void 0?void 0:o.getRelativeAnnotationPath(`${(tt=S)===null||tt===void 0?void 0:tt.fullyQualifiedName}/`,o.getEntityType());if(A){t=o.getContextPath()+"/"+e}else{t="/"+n+"/"+e}l.selectionVariantAnnotation=S?t:undefined}let D=[];if(A){var et,it,ot,nt,lt;const i=t.split("/")[0];const o=t.split("/")[1];const n=e.getConverterContextFor(`/${i}`);const l=n===null||n===void 0?void 0:(et=n.getDataModelObjectPath().startingEntitySet)===null||et===void 0?void 0:(it=et.annotations)===null||it===void 0?void 0:(ot=it.Capabilities)===null||ot===void 0?void 0:(nt=ot.NavigationRestrictions)===null||nt===void 0?void 0:nt.RestrictedProperties;const a=l===null||l===void 0?void 0:l.find(t=>{var e;if(((e=t.NavigationProperty)===null||e===void 0?void 0:e.type)==="NavigationPropertyPath"){return t.NavigationProperty.value===o}});D=(a===null||a===void 0?void 0:(lt=a.FilterRestrictions)===null||lt===void 0?void 0:lt.RequiredProperties)??[]}else{const t=o===null||o===void 0?void 0:o.getEntitySet();if(s(t)){var at,rt;D=((at=t.annotations.Capabilities)===null||at===void 0?void 0:(rt=at.FilterRestrictions)===null||rt===void 0?void 0:rt.RequiredProperties)??[]}}let V=[];if((z=D)!==null&&z!==void 0&&z.length){D.forEach(function(t){V.push(t.value)})}V=V.concat(m);l.requiredProperties=V;if((B=l.requiredProperties)!==null&&B!==void 0&&B.length){if(!l.inParameters||!l.inParameters.length){if(!l.selectionVariantAnnotation){l.showOverlayInitially=true}else{var vt,dt,st,ut;let t=((vt=S)===null||vt===void 0?void 0:(dt=vt.SelectOptions)===null||dt===void 0?void 0:dt.map(t=>{var e;return(e=t.PropertyName)===null||e===void 0?void 0:e.value}))||[];const e=((st=S)===null||st===void 0?void 0:(ut=st.Parameters)===null||ut===void 0?void 0:ut.map(t=>{var e;return(e=t.PropertyName)===null||e===void 0?void 0:e.value}))||[];t=t.concat(e);V=V.sort();t=t.sort();l.showOverlayInitially=V.some(function(e){return t.indexOf(e)===-1})}}else{l.showOverlayInitially=false}}else{l.showOverlayInitially=false}const T=(J=P)===null||J===void 0?void 0:(K=J.$target)===null||K===void 0?void 0:(X=K.Dimensions[0])===null||X===void 0?void 0:(Y=X.$target)===null||Y===void 0?void 0:Y.type;if(!(T==="Edm.DateTimeOffset"||T==="Edm.Date"||T==="Edm.TimeOfDay")&&P.$target.ChartType==="UI.ChartType/Line"){l.renderLineChart=false}else{l.renderLineChart=true}}}else{e.getDiagnostics().addIssue(p.Annotation,f.High,c.MALFORMED_VISUALFILTERS.CHART);return}}else{e.getDiagnostics().addIssue(p.Annotation,f.High,c.MALFORMED_VISUALFILTERS.PRESENTATIONVARIANT)}}else{e.getDiagnostics().addIssue(p.Annotation,f.High,c.MALFORMED_VISUALFILTERS.VALUELIST)}}else{e.getDiagnostics().addIssue(p.Manifest,f.High,c.MALFORMED_VISUALFILTERS.VALUELIST)}return l}a.getVisualFilters=h;return a},false);
5
+ sap.ui.define(["sap/fe/core/converters/helpers/Aggregation","sap/fe/core/converters/helpers/IssueManager","sap/fe/core/helpers/BindingToolkit","sap/fe/core/helpers/TypeGuards","sap/fe/core/templating/DataModelPathHelper","sap/fe/core/templating/FilterTemplating"],function(t,e,i,o,n,l){"use strict";var a={};var r=l.isPropertyFilterable;var v=l.getIsRequired;var d=n.checkFilterExpressionRestrictions;var s=o.isEntitySet;var u=i.not;var g=i.compileExpression;var c=e.IssueType;var f=e.IssueSeverity;var p=e.IssueCategory;var P=t.AggregationHelper;const y=function(t,e,i){var o,n,l,a;let r,v,d;let s;const u=i.getCustomAggregateDefinitions();let g=i.getTransAggregations();let c=[];if(e!==null&&e!==void 0&&(o=e.$target)!==null&&o!==void 0&&o.Measures){var f,p,P;c=u.filter(function(t){var i,o,n;return t.qualifier===(e===null||e===void 0?void 0:(i=e.$target)===null||i===void 0?void 0:(o=i.Measures)===null||o===void 0?void 0:(n=o[0])===null||n===void 0?void 0:n.value)});s=c.length>0?c[0].qualifier:e===null||e===void 0?void 0:(f=e.$target)===null||f===void 0?void 0:(p=f.Measures)===null||p===void 0?void 0:(P=p[0])===null||P===void 0?void 0:P.value}if(!c[0]&&e!==null&&e!==void 0&&(n=e.$target)!==null&&n!==void 0&&n.DynamicMeasures){var y,h;s=t.getConverterContextFor(t.getAbsoluteAnnotationPath((y=e.$target.DynamicMeasures)===null||y===void 0?void 0:(h=y[0])===null||h===void 0?void 0:h.value)).getDataModelObjectPath().targetObject.Name;g=i.getAggregatedProperties("AggregatedProperty")}else{g=i.getAggregatedProperties("AggregatedProperties")[0]}const m=e===null||e===void 0?void 0:(l=e.$target)===null||l===void 0?void 0:(a=l.Dimensions[0])===null||a===void 0?void 0:a.value;if(u.some(function(t){return t.qualifier===s})){r=s}else if(g&&g[0]){g.some(function(t){if(t.Name===s){r=t===null||t===void 0?void 0:t.AggregatableProperty.value}})}const A=i.getAggregatableProperties();const L=i.getGroupableProperties();if(A&&A.length){for(const t of A){var I;if((t===null||t===void 0?void 0:(I=t.Property)===null||I===void 0?void 0:I.value)===r){d=true}}}if(L&&L.length){for(const t of L){if((t===null||t===void 0?void 0:t.value)===m){v=true}}}return d&&v};function h(t,e,i,o){var n;let l;const a=o[i];if(a!==null&&a!==void 0&&(n=a.visualFilter)!==null&&n!==void 0&&n.valueList){var h,A,L,I,C,E;const o=a===null||a===void 0?void 0:(h=a.visualFilter)===null||h===void 0?void 0:h.valueList;const n=o.split("#");const ct=n.length>1?`ValueList#${n[1]}`:n[0];const ft=t.resolvePath(i);const pt=ft===null||ft===void 0?void 0:(A=ft.annotations)===null||A===void 0?void 0:(L=A.Common)===null||L===void 0?void 0:L[ct];const Pt=(ft===null||ft===void 0?void 0:(I=ft.annotations)===null||I===void 0?void 0:(C=I.Common)===null||C===void 0?void 0:(E=C.ValueListWithFixedValues)===null||E===void 0?void 0:E.valueOf())||false;if(pt){var S,D;const t=pt===null||pt===void 0?void 0:pt.CollectionPath.toString();const o=e.getConverterContextFor(`/${t||((S=e.getEntitySet())===null||S===void 0?void 0:S.name)}`);const n=pt===null||pt===void 0?void 0:pt.Parameters;let a;const h=[];let A=[];const L=o.getParameterEntityType();A=L?L.keys.map(function(t){return t.name}):[];if(e.getContextPath()===o.getContextPath()){m(h,A,true)}if(n){for(const t of n){var V;const e=(V=t.LocalDataProperty)===null||V===void 0?void 0:V.value;const n=t.ValueListProperty;if(((t===null||t===void 0?void 0:t.$Type)==="com.sap.vocabularies.Common.v1.ValueListParameterInOut"||(t===null||t===void 0?void 0:t.$Type)==="com.sap.vocabularies.Common.v1.ValueListParameterOut")&&i===e){a=t}if(((t===null||t===void 0?void 0:t.$Type)==="com.sap.vocabularies.Common.v1.ValueListParameterInOut"||(t===null||t===void 0?void 0:t.$Type)==="com.sap.vocabularies.Common.v1.ValueListParameterIn")&&i!==e){const t=r(o,n);if(!t){h.push({localDataProperty:e,valueListProperty:n})}}}}if(h&&h.length){h.forEach(function(t){const n=g(d(e.getConverterContextFor(e.getAbsoluteAnnotationPath(t===null||t===void 0?void 0:t.localDataProperty)).getDataModelObjectPath(),["SingleValue"]));const l=g(d(o.getConverterContextFor(o.getAbsoluteAnnotationPath(t===null||t===void 0?void 0:t.valueListProperty)).getDataModelObjectPath(),["SingleValue"]));if(l==="true"&&n==="false"){throw new Error(`FilterRestrictions of ${i} in MainEntitySet and ValueListEntitySet are different`)}})}const I=pt===null||pt===void 0?void 0:pt.PresentationVariantQualifier;const C=pt===null||pt===void 0?void 0:pt.SelectionVariantQualifier;const E=o===null||o===void 0?void 0:(D=o.getEntityType().annotations.UI)===null||D===void 0?void 0:D[`PresentationVariant#${I}`];const ct=new P(o.getEntityType(),o);if(!ct.isAnalyticsSupported()){return undefined}if(E){var T;const n=E===null||E===void 0?void 0:E.Visualizations;const r=`/${pt===null||pt===void 0?void 0:pt.CollectionPath}`||`/${o===null||o===void 0?void 0:(T=o.getEntitySet())===null||T===void 0?void 0:T.name}`;l={};l.contextPath=r;l.isValueListWithFixedValues=Pt;let P;for(const t of n){var $;if((($=t.$target)===null||$===void 0?void 0:$.term)==="com.sap.vocabularies.UI.v1.Chart"){P=t;break}}if(P){var F,O,M,R,b,x,N,U,H,q,w,j,_,Q;const r=y(o,P,ct);if(!r){return}const I=(F=P)===null||F===void 0?void 0:(O=F.$target)===null||O===void 0?void 0:(M=O.Dimensions[0])===null||M===void 0?void 0:(R=M.$target)===null||R===void 0?void 0:(b=R.annotations)===null||b===void 0?void 0:(x=b.UI)===null||x===void 0?void 0:(N=x.Hidden)===null||N===void 0?void 0:N.valueOf();const S=(U=P)===null||U===void 0?void 0:(H=U.$target)===null||H===void 0?void 0:(q=H.Dimensions[0])===null||q===void 0?void 0:(w=q.$target)===null||w===void 0?void 0:(j=w.annotations)===null||j===void 0?void 0:(_=j.UI)===null||_===void 0?void 0:(Q=_.HiddenFilter)===null||Q===void 0?void 0:Q.valueOf();if(I===true||S===true){return}else if(n&&n.length){var k,G,W,z,B,J,K,X,Y,Z;l.chartAnnotation=P?o===null||o===void 0?void 0:o.getAbsoluteAnnotationPath(`${P.$target.fullyQualifiedName}/$AnnotationPath/`):undefined;const n=(k=o.getEntitySet())===null||k===void 0?void 0:k.name;let r;const y=o===null||o===void 0?void 0:o.getRelativeAnnotationPath(`${E.fullyQualifiedName}/`,o.getEntityType());if(L){r=o.getContextPath()+"/"+y}else{r="/"+n+"/"+y}l.presentationAnnotation=E?r:undefined;l.outParameter=(G=a)===null||G===void 0?void 0:(W=G.LocalDataProperty)===null||W===void 0?void 0:W.value;l.inParameters=h;l.valuelistProperty=(z=a)===null||z===void 0?void 0:z.ValueListProperty;const I=d(e.getConverterContextFor(e.getAbsoluteAnnotationPath(i)).getDataModelObjectPath(),["SingleRange","MultiRange"]);if(g(I)==="true"){e.getDiagnostics().addIssue(p.Annotation,f.High,c.MALFORMED_VISUALFILTERS.VALUELIST);return undefined}const S=d(e.getConverterContextFor(e.getAbsoluteAnnotationPath(i)).getDataModelObjectPath(),["SingleValue"]);l.multipleSelectionAllowed=g(u(S));l.required=v(e,i);let D;if(C){var tt,et;D=o===null||o===void 0?void 0:(tt=o.getEntityTypeAnnotation(`@UI.SelectionVariant#${C}`))===null||tt===void 0?void 0:tt.annotation;let t;const e=o===null||o===void 0?void 0:o.getRelativeAnnotationPath(`${(et=D)===null||et===void 0?void 0:et.fullyQualifiedName}/`,o.getEntityType());if(L){t=o.getContextPath()+"/"+e}else{t="/"+n+"/"+e}l.selectionVariantAnnotation=D?t:undefined}let V=[];if(L){var it,ot,nt,lt,at;const i=t.split("/")[0];const o=t.split("/")[1];const n=e.getConverterContextFor(`/${i}`);const l=n===null||n===void 0?void 0:(it=n.getDataModelObjectPath().startingEntitySet)===null||it===void 0?void 0:(ot=it.annotations)===null||ot===void 0?void 0:(nt=ot.Capabilities)===null||nt===void 0?void 0:(lt=nt.NavigationRestrictions)===null||lt===void 0?void 0:lt.RestrictedProperties;const a=l===null||l===void 0?void 0:l.find(t=>{var e;if(((e=t.NavigationProperty)===null||e===void 0?void 0:e.type)==="NavigationPropertyPath"){return t.NavigationProperty.value===o}});V=(a===null||a===void 0?void 0:(at=a.FilterRestrictions)===null||at===void 0?void 0:at.RequiredProperties)??[]}else{const t=o===null||o===void 0?void 0:o.getEntitySet();if(s(t)){var rt,vt;V=((rt=t.annotations.Capabilities)===null||rt===void 0?void 0:(vt=rt.FilterRestrictions)===null||vt===void 0?void 0:vt.RequiredProperties)??[]}}let T=[];if((B=V)!==null&&B!==void 0&&B.length){V.forEach(function(t){T.push(t.value)})}T=T.concat(A);l.requiredProperties=T;if(e.getContextPath()===o.getContextPath()){m(h,V,false)}if((J=l.requiredProperties)!==null&&J!==void 0&&J.length){if(!l.inParameters||!l.inParameters.length){if(!l.selectionVariantAnnotation){l.showOverlayInitially=true}else{var dt,st,ut,gt;let t=((dt=D)===null||dt===void 0?void 0:(st=dt.SelectOptions)===null||st===void 0?void 0:st.map(t=>{var e;return(e=t.PropertyName)===null||e===void 0?void 0:e.value}))||[];const e=((ut=D)===null||ut===void 0?void 0:(gt=ut.Parameters)===null||gt===void 0?void 0:gt.map(t=>{var e;return(e=t.PropertyName)===null||e===void 0?void 0:e.value}))||[];t=t.concat(e);T=T.sort();t=t.sort();l.showOverlayInitially=T.some(function(e){return t.indexOf(e)===-1})}}else{l.showOverlayInitially=false}}else{l.showOverlayInitially=false}const $=(K=P)===null||K===void 0?void 0:(X=K.$target)===null||X===void 0?void 0:(Y=X.Dimensions[0])===null||Y===void 0?void 0:(Z=Y.$target)===null||Z===void 0?void 0:Z.type;if(!($==="Edm.DateTimeOffset"||$==="Edm.Date"||$==="Edm.TimeOfDay")&&P.$target.ChartType==="UI.ChartType/Line"){l.renderLineChart=false}else{l.renderLineChart=true}}}else{e.getDiagnostics().addIssue(p.Annotation,f.High,c.MALFORMED_VISUALFILTERS.CHART);return}}else{e.getDiagnostics().addIssue(p.Annotation,f.High,c.MALFORMED_VISUALFILTERS.PRESENTATIONVARIANT)}}else{e.getDiagnostics().addIssue(p.Annotation,f.High,c.MALFORMED_VISUALFILTERS.VALUELIST)}}else{e.getDiagnostics().addIssue(p.Manifest,f.High,c.MALFORMED_VISUALFILTERS.VALUELIST)}return l}a.getVisualFilters=h;function m(t,e,i){e.forEach(function(e){const o=i?e:e.value;t.push({localDataProperty:o,valueListProperty:o})})}a._addInParameters=m;return a},false);
6
6
  //# sourceMappingURL=VisualFilters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VisualFilters.js","names":["sap","ui","define","Aggregation","IssueManager","BindingToolkit","TypeGuards","DataModelPathHelper","FilterTemplating","_exports","isPropertyFilterable","getIsRequired","checkFilterExpressionRestrictions","isEntitySet","not","compileExpression","IssueType","IssueSeverity","IssueCategory","AggregationHelper","_checkVFAggregation","converterContext","chartAnnotation","aggregationHelper","_chartAnnotation$$tar","_chartAnnotation$$tar8","_chartAnnotation$$tar11","_chartAnnotation$$tar12","sMeasurePath","bGroupable","bAggregatable","sMeasure","customAggregates","getCustomAggregateDefinitions","aTransAggregations","getTransAggregations","aCustAggMeasure","$target","Measures","_chartAnnotation$$tar5","_chartAnnotation$$tar6","_chartAnnotation$$tar7","filter","custAgg","_chartAnnotation$$tar2","_chartAnnotation$$tar3","_chartAnnotation$$tar4","qualifier","value","length","DynamicMeasures","_chartAnnotation$$tar9","_chartAnnotation$$tar10","getConverterContextFor","getAbsoluteAnnotationPath","getDataModelObjectPath","targetObject","Name","getAggregatedProperties","sDimension","Dimensions","some","oAggregate","AggregatableProperty","aAggregatablePropsFromContainer","getAggregatableProperties","aGroupablePropsFromContainer","getGroupableProperties","aggregatableProp","_aggregatableProp$Pro","Property","groupableProp","getVisualFilters","entityType","sPropertyPath","FilterFields","_oVisualFilter$visual","visualFilter","oVisualFilter","valueList","_oVisualFilter$visual2","_property$annotations","_property$annotations2","_property$annotations3","_property$annotations4","_property$annotations5","oVFPath","annotationQualifierSplit","split","qualifierVL","property","resolvePath","annotations","Common","isValueListWithFixedValues","ValueListWithFixedValues","valueOf","_converterContext$get","_collectionPathConver","collectionPath","CollectionPath","toString","collectionPathConverterContext","getEntitySet","name","valueListParams","Parameters","outParameter","inParameters","aParameters","parameterEntityType","getParameterEntityType","keys","map","key","getContextPath","forEach","parameter","push","localDataProperty","valueListProperty","valueListParam","_LocalDataProperty","LocalDataProperty","ValueListProperty","$Type","bNotFilterable","oInParameter","mainEntitySetInMappingAllowedExpression","valueListEntitySetInMappingAllowedExpression","Error","pvQualifier","PresentationVariantQualifier","svQualifier","SelectionVariantQualifier","pvAnnotation","getEntityType","UI","isAnalyticsSupported","undefined","_collectionPathConver2","aVisualizations","Visualizations","contextPath","visualization","_visualization$$targe","term","_chartAnnotation","_chartAnnotation$$tar13","_chartAnnotation$$tar14","_chartAnnotation$$tar15","_chartAnnotation$$tar16","_chartAnnotation$$tar17","_chartAnnotation$$tar18","_chartAnnotation2","_chartAnnotation2$$ta","_chartAnnotation2$$ta2","_chartAnnotation2$$ta3","_chartAnnotation2$$ta4","_chartAnnotation2$$ta5","_chartAnnotation2$$ta6","_bgetVFAggregation","bDimensionHidden","Hidden","bDimensionHiddenFilter","HiddenFilter","_collectionPathConver3","_outParameter","_outParameter$LocalDa","_outParameter2","_requiredProperties","_visualFilter$require","_chartAnnotation3","_chartAnnotation3$$ta","_chartAnnotation3$$ta2","_chartAnnotation3$$ta3","fullyQualifiedName","entitySetName","presentationAnnotation","relativeAnnotationPath","getRelativeAnnotationPath","valuelistProperty","bIsRange","getDiagnostics","addIssue","Annotation","High","MALFORMED_VISUALFILTERS","VALUELIST","bIsMainEntitySetSingleSelection","multipleSelectionAllowed","required","svAnnotation","_collectionPathConver4","_svAnnotation","getEntityTypeAnnotation","annotation","selectionVariantAnnotation","relativeSelectionVariantPath","requiredProperties","_oEntitySetConverterC","_oEntitySetConverterC2","_oEntitySetConverterC3","_oEntitySetConverterC4","_oRestrictedProperty$","sEntitySet","sNavigationProperty","oEntitySetConverterContext","aRestrictedProperties","startingEntitySet","Capabilities","NavigationRestrictions","RestrictedProperties","oRestrictedProperty","find","restrictedNavProp","_restrictedNavProp$Na","NavigationProperty","type","FilterRestrictions","RequiredProperties","entitySetOrSingleton","_entitySetOrSingleton","_entitySetOrSingleton2","requiredPropertyPaths","oRequireProperty","concat","showOverlayInitially","_svAnnotation2","_svAnnotation2$Select","_svAnnotation3","_svAnnotation3$Parame","selectOptions","SelectOptions","oSelectOption","_oSelectOption$Proper","PropertyName","parameterOptions","oParameterOption","_PropertyName","sort","sPath","indexOf","sDimensionType","ChartType","renderLineChart","CHART","PRESENTATIONVARIANT","Manifest"],"sources":["VisualFilters-dbg.js"],"mappings":"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"}
1
+ {"version":3,"file":"VisualFilters.js","names":["sap","ui","define","Aggregation","IssueManager","BindingToolkit","TypeGuards","DataModelPathHelper","FilterTemplating","_exports","isPropertyFilterable","getIsRequired","checkFilterExpressionRestrictions","isEntitySet","not","compileExpression","IssueType","IssueSeverity","IssueCategory","AggregationHelper","_checkVFAggregation","converterContext","chartAnnotation","aggregationHelper","_chartAnnotation$$tar","_chartAnnotation$$tar8","_chartAnnotation$$tar11","_chartAnnotation$$tar12","sMeasurePath","bGroupable","bAggregatable","sMeasure","customAggregates","getCustomAggregateDefinitions","aTransAggregations","getTransAggregations","aCustAggMeasure","$target","Measures","_chartAnnotation$$tar5","_chartAnnotation$$tar6","_chartAnnotation$$tar7","filter","custAgg","_chartAnnotation$$tar2","_chartAnnotation$$tar3","_chartAnnotation$$tar4","qualifier","value","length","DynamicMeasures","_chartAnnotation$$tar9","_chartAnnotation$$tar10","getConverterContextFor","getAbsoluteAnnotationPath","getDataModelObjectPath","targetObject","Name","getAggregatedProperties","sDimension","Dimensions","some","oAggregate","AggregatableProperty","aAggregatablePropsFromContainer","getAggregatableProperties","aGroupablePropsFromContainer","getGroupableProperties","aggregatableProp","_Property","Property","groupableProp","getVisualFilters","entityType","sPropertyPath","FilterFields","_oVisualFilter$visual","visualFilter","oVisualFilter","valueList","_oVisualFilter$visual2","_property$annotations","_property$annotations2","_property$annotations3","_property$annotations4","_property$annotations5","oVFPath","annotationQualifierSplit","split","qualifierVL","property","resolvePath","annotations","Common","isValueListWithFixedValues","ValueListWithFixedValues","valueOf","_converterContext$get","_collectionPathConver","collectionPath","CollectionPath","toString","collectionPathConverterContext","getEntitySet","name","valueListParams","Parameters","outParameter","inParameters","aParameters","parameterEntityType","getParameterEntityType","keys","map","key","getContextPath","_addInParameters","valueListParam","_LocalDataProperty","localDataProperty","LocalDataProperty","valueListProperty","ValueListProperty","$Type","bNotFilterable","push","forEach","oInParameter","mainEntitySetInMappingAllowedExpression","valueListEntitySetInMappingAllowedExpression","Error","pvQualifier","PresentationVariantQualifier","svQualifier","SelectionVariantQualifier","pvAnnotation","getEntityType","UI","isAnalyticsSupported","undefined","_collectionPathConver2","aVisualizations","Visualizations","contextPath","visualization","_visualization$$targe","term","_chartAnnotation","_chartAnnotation$$tar13","_chartAnnotation$$tar14","_chartAnnotation$$tar15","_chartAnnotation$$tar16","_chartAnnotation$$tar17","_chartAnnotation$$tar18","_chartAnnotation2","_chartAnnotation2$$ta","_chartAnnotation2$$ta2","_chartAnnotation2$$ta3","_chartAnnotation2$$ta4","_chartAnnotation2$$ta5","_chartAnnotation2$$ta6","_bgetVFAggregation","bDimensionHidden","Hidden","bDimensionHiddenFilter","HiddenFilter","_collectionPathConver3","_outParameter","_outParameter$LocalDa","_outParameter2","_requiredProperties","_visualFilter$require","_chartAnnotation3","_chartAnnotation3$$ta","_chartAnnotation3$$ta2","_chartAnnotation3$$ta3","fullyQualifiedName","entitySetName","presentationAnnotation","relativeAnnotationPath","getRelativeAnnotationPath","valuelistProperty","bIsRange","getDiagnostics","addIssue","Annotation","High","MALFORMED_VISUALFILTERS","VALUELIST","bIsMainEntitySetSingleSelection","multipleSelectionAllowed","required","svAnnotation","_collectionPathConver4","_svAnnotation","getEntityTypeAnnotation","annotation","selectionVariantAnnotation","relativeSelectionVariantPath","requiredProperties","_oEntitySetConverterC","_oEntitySetConverterC2","_oEntitySetConverterC3","_oEntitySetConverterC4","_oRestrictedProperty$","sEntitySet","sNavigationProperty","oEntitySetConverterContext","aRestrictedProperties","startingEntitySet","Capabilities","NavigationRestrictions","RestrictedProperties","oRestrictedProperty","find","restrictedNavProp","_restrictedNavProp$Na","NavigationProperty","type","FilterRestrictions","RequiredProperties","entitySetOrSingleton","_entitySetOrSingleton","_entitySetOrSingleton2","requiredPropertyPaths","oRequireProperty","concat","showOverlayInitially","_svAnnotation2","_svAnnotation2$Select","_svAnnotation3","_svAnnotation3$Parame","selectOptions","SelectOptions","oSelectOption","_oSelectOption$Proper","PropertyName","parameterOptions","oParameterOption","_PropertyName","sort","sPath","indexOf","sDimensionType","ChartType","renderLineChart","CHART","PRESENTATIONVARIANT","Manifest","inParams","properties","isParam","element"],"sources":["VisualFilters-dbg.js"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { AnnotationPath, EntityType, Property, PropertyPath } from "@sap-ux/vocabularies-types";
2
- import type { CustomAggregate } from "@sap-ux/vocabularies-types/vocabularies/Aggregation";
2
+ import type { AggregatablePropertyType, CustomAggregate } from "@sap-ux/vocabularies-types/vocabularies/Aggregation";
3
3
  import type { NavigationPropertyRestrictionTypes } from "@sap-ux/vocabularies-types/vocabularies/Capabilities";
4
4
  import type {
5
5
  ValueList,
@@ -93,7 +93,7 @@ const _checkVFAggregation = function (
93
93
  const aGroupablePropsFromContainer = aggregationHelper.getGroupableProperties();
94
94
  if (aAggregatablePropsFromContainer && aAggregatablePropsFromContainer.length) {
95
95
  for (const aggregatableProp of aAggregatablePropsFromContainer) {
96
- if (aggregatableProp?.Property?.value === sMeasurePath) {
96
+ if ((aggregatableProp as AggregatablePropertyType)?.Property?.value === sMeasurePath) {
97
97
  bAggregatable = true;
98
98
  }
99
99
  }
@@ -153,12 +153,7 @@ export function getVisualFilters(
153
153
  })
154
154
  : [];
155
155
  if (converterContext.getContextPath() === collectionPathConverterContext.getContextPath()) {
156
- aParameters.forEach(function (parameter) {
157
- inParameters.push({
158
- localDataProperty: parameter,
159
- valueListProperty: parameter
160
- });
161
- });
156
+ _addInParameters(inParameters, aParameters, true);
162
157
  }
163
158
  if (valueListParams) {
164
159
  for (const valueListParam of valueListParams) {
@@ -338,6 +333,10 @@ export function getVisualFilters(
338
333
  }
339
334
  requiredPropertyPaths = requiredPropertyPaths.concat(aParameters);
340
335
  visualFilter.requiredProperties = requiredPropertyPaths;
336
+ if (converterContext.getContextPath() === collectionPathConverterContext.getContextPath()) {
337
+ // if context Path for both visual filter and filter bar are same, consider required Properties as well along with in Parameters
338
+ _addInParameters(inParameters, requiredProperties, false);
339
+ }
341
340
  if (visualFilter.requiredProperties?.length) {
342
341
  if (!visualFilter.inParameters || !visualFilter.inParameters.length) {
343
342
  if (!visualFilter.selectionVariantAnnotation) {
@@ -397,3 +396,20 @@ export function getVisualFilters(
397
396
  }
398
397
  return visualFilter;
399
398
  }
399
+
400
+ /**
401
+ * Method to add inparameters from required properties and parameters.
402
+ *
403
+ * @param inParams An array containing existing inparams
404
+ * @param properties An array containing either requiredproperties or parameters
405
+ * @param isParam A boolean flag indicating whether passed properties are parameters
406
+ */
407
+ export function _addInParameters(inParams: ParameterType[], properties: PropertyPath[] | string[], isParam: boolean) {
408
+ properties.forEach(function (element) {
409
+ const property = isParam ? element : (element as PropertyPath).value;
410
+ inParams.push({
411
+ localDataProperty: property as string,
412
+ valueListProperty: property as string
413
+ });
414
+ });
415
+ }