@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
@@ -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/base/Log","sap/fe/core/converters/MetaModelConverter","sap/fe/core/helpers/TypeGuards","sap/fe/core/templating/PropertyHelper","sap/ui/core/service/Service","sap/ui/core/service/ServiceFactory","../templating/DataModelPathHelper"],function(t,e,i,r,o,n,s){"use strict";var a={};var c=s.getTargetObjectPath;var f=s.getTargetNavigationPath;var u=s.enhanceDataModelPath;var l=r.getAssociatedTextPropertyPath;var d=i.isProperty;var p=i.isEntityType;var g=i.isComplexType;var h=e.getInvolvedDataModelObjects;var E=e.convertTypes;function y(t,e){t.prototype=Object.create(e.prototype);t.prototype.constructor=t;v(t,e)}function v(t,e){v=Object.setPrototypeOf?Object.setPrototypeOf.bind():function t(e,i){e.__proto__=i;return e};return v(t,e)}let m=function(e){y(i,e);function i(){return e.apply(this,arguments)||this}a.SideEffectsService=i;var r=i.prototype;r.init=function t(){this.sideEffectsRegistry={oData:{entities:{},actions:{}},control:{}};this.isInitialized=false;this.initPromise=Promise.resolve(this)};r.addControlSideEffects=function t(e,i){if(i.sourceControlId){const t={...i,fullyQualifiedName:`${e}/SideEffectsForControl/${i.sourceControlId}`};const r=this.sideEffectsRegistry.control[e]||{};r[t.sourceControlId]=t;this.sideEffectsRegistry.control[e]=r}};r.executeAction=function t(e,i,r){const o=i.getModel().bindContext(`${e}(...)`,i);return o.execute(r||i.getBinding().getUpdateGroupId())};r.getConvertedMetaModel=function t(){return E(this.getMetaModel(),this.capabilities)};r.getEntityTypeFromContext=function t(e){const i=e.getModel().getMetaModel(),r=i.getMetaPath(e.getPath()),o=i.getObject(r)["$Type"];return o};r.getODataEntitySideEffects=function t(e){return this.sideEffectsRegistry.oData.entities[e]||{}};r.getGlobalODataEntitySideEffects=function t(e){const i=this.getODataEntitySideEffects(e);const r=[];for(const t in i){const e=i[t];if(!e.sourceEntities&&!e.sourceProperties){r.push(e)}}return r};r.getODataActionSideEffects=function t(e,i){if(i){const t=this.getEntityTypeFromContext(i);if(t){var r;return(r=this.sideEffectsRegistry.oData.actions[t])===null||r===void 0?void 0:r[e]}}return undefined};r.initializeSideEffects=function t(e){this.capabilities=e;if(!this.isInitialized){const t={entities:{},properties:{}};const e=this.getConvertedMetaModel();e.entityTypes.forEach(e=>{this.sideEffectsRegistry.oData.entities[e.fullyQualifiedName]=this.retrieveODataEntitySideEffects(e);this.sideEffectsRegistry.oData.actions[e.fullyQualifiedName]=this.retrieveODataActionsSideEffects(e);this.mapSideEffectSources(e,t)});this.sourcesToSideEffectMappings=t;this.isInitialized=true}};r.removeControlSideEffects=function t(e){Object.keys(this.sideEffectsRegistry.control).forEach(t=>{if(this.sideEffectsRegistry.control[t][e]){delete this.sideEffectsRegistry.control[t][e]}})};r.requestSideEffects=function t(e,i,r){this.logRequest(e,i);return i.requestSideEffects(e,r)};r.requestSideEffectsForODataAction=function t(e,i){var r,o;let n;if((r=e.triggerActions)!==null&&r!==void 0&&r.length){n=e.triggerActions.map(t=>this.executeAction(t,i))}else{n=[]}if((o=e.pathExpressions)!==null&&o!==void 0&&o.length){n.push(this.requestSideEffects(e.pathExpressions,i))}return n.length?Promise.all(n):Promise.resolve([])};r.requestSideEffectsForNavigationProperty=function e(i,r,o){const n=this.getEntityTypeFromContext(r);if(n){const e=`${i}/`;const s=this.getODataEntitySideEffects(n);let a=[];let c=[];let f=[];Object.keys(s).filter(t=>{const r=s[t];return(r.sourceProperties||[]).some(t=>t.startsWith(e)&&t.replace(e,"").indexOf("/")===-1)||(r.sourceEntities||[]).some(t=>t.$NavigationPropertyPath===i)}).forEach(t=>{const e=s[t];if(e.triggerAction){this.executeAction(e.triggerAction,r,o)}a=a.concat(e.targetProperties);c=c.concat(e.targetEntities)});const u=this.removeDuplicateTargets({targetProperties:a,targetEntities:c});f=[...u.targetProperties,...u.targetEntities];if(f.length){return this.requestSideEffects(f,r,o).catch(e=>t.error(`SideEffects - Error while processing SideEffects for Navigation Property ${i}`,e))}}return Promise.resolve()};r.getControlEntitySideEffects=function t(e){return this.sideEffectsRegistry.control[e]||{}};r.getSideEffectWhereEntityIsSource=function t(e){return this.sourcesToSideEffectMappings.entities[e]||[]};r.computeFieldGroupIds=function t(e,i){const r=this.getSideEffectWhereEntityIsSource(e).map(t=>this.getFieldGroupIdForSideEffect(t,true));return r.concat(this.getSideEffectWherePropertyIsSource(i).map(t=>this.getFieldGroupIdForSideEffect(t)))};r.getSideEffectWherePropertyIsSource=function t(e){return this.sourcesToSideEffectMappings.properties[e]||[]};r.addTextProperties=function t(e,i){const r=new Set(e.targetProperties);const o=new Set(e.targetEntities.map(t=>t.$NavigationPropertyPath));const n=e.targetProperties.reduce((t,e)=>t.concat(this.getDataModelPropertiesFromAPath(e,i)),[]);for(const t of n){const e=l(t.targetObject);if(e){const i=u(t,e);const n=f(i,true);const s=c(i,true);if(d(i.targetObject)&&!r.has(s)&&!r.has(`${n}${i.navigationProperties.length?"/":""}*`)&&!o.has(`${n}`)){if(t.targetEntitySet!==i.targetEntitySet&&i.navigationProperties&&i.targetEntityType){o.add(n)}else{r.add(s)}}}}return{targetProperties:Array.from(r),targetEntities:Array.from(o).map(t=>({$NavigationPropertyPath:t}))}};r.convertSideEffects=function t(e,i,r){const o=e.TriggerAction;const n=this.convertSideEffectsFormat(e);let s={targetProperties:n.targetProperties,targetEntities:n.targetEntities};s=this.removeBindingParameter(s,r);s=this.addTextProperties(s,i);s=this.removeDuplicateTargets(s);return{...n,...{targetEntities:s.targetEntities,targetProperties:s.targetProperties,triggerAction:o}}};r.convertSideEffectsFormat=function e(i){const r=e=>e?e.reduce((e,r)=>{const o=r.type&&r.value||r;if(o){e.push(o)}else{t.error(`SideEffects - Error while processing TargetProperties for SideEffects ${i.fullyQualifiedName}`)}return e},[]):e;const o=t=>t?t.map(t=>({$NavigationPropertyPath:t.value})):t;return{fullyQualifiedName:i.fullyQualifiedName,sourceProperties:r(i.SourceProperties),sourceEntities:o(i.SourceEntities),targetProperties:r(i.TargetProperties)??[],targetEntities:o(i.TargetEntities)??[]}};r.getDataModelPropertiesFromAPath=function t(e,i){let r=[];const o=this.getConvertedMetaModel();const n=o.entitySets.find(t=>t.entityType===i)||o.singletons.find(t=>t.entityType===i);if(n){const t=this.getMetaModel(),i=t.createBindingContext(`/${n.name}`);if(i){const t=h(i);const o=u(t,e.replace("*","")||"/"),n=o.targetObject;if(d(n)){if(g(n.targetType)){r=r.concat(n.targetType.properties.map(t=>u(o,t.name)))}else{r.push(o)}}else if(p(n)){r=r.concat(o.targetEntityType.entityProperties.map(t=>u(o,t.name)))}i.destroy()}}return r.filter(t=>t.targetObject)};r.getMetaModel=function t(){const e=this.getContext();const i=e.scopeObject;return i.getModel().getMetaModel()};r.getSideEffectsFromSource=function t(e){var i;let r="";const o=p(e);const n=o?e:e.sourceEntityType;const s=(i=e.annotations)===null||i===void 0?void 0:i.Common;if(n&&s){if(!o){var a;const t=(a=e.parameters)===null||a===void 0?void 0:a.find(t=>t.type===n.fullyQualifiedName);r=(t===null||t===void 0?void 0:t.fullyQualifiedName.split("/")[1])??""}return this.getSideEffectsAnnotationFromSource(e).map(t=>this.convertSideEffects(t,n,r))}return[]};r.getSideEffectsAnnotationFromSource=function t(e){var i;const r=[];const o=(i=e.annotations)===null||i===void 0?void 0:i.Common;for(const t in o){const e=o[t];if(this.isSideEffectsAnnotation(e)){r.push(e)}}return r};r.isSideEffectsAnnotation=function t(e){return(e===null||e===void 0?void 0:e.$Type)==="com.sap.vocabularies.Common.v1.SideEffectsType"};r.logRequest=function e(i,r){const o=i.reduce(function(t,e){return`${t}\n\t\t${e.$NavigationPropertyPath||e||""}`},"");t.debug(`SideEffects - Request:\n\tContext path : ${r.getPath()}\n\tProperty paths :${o}`)};r.removeBindingParameter=function t(e,i){if(i){const t=function(t){return t.replace(new RegExp(`^${i}/?`),"")};return{targetProperties:e.targetProperties.map(e=>t(e)),targetEntities:e.targetEntities.map(e=>({$NavigationPropertyPath:t(e.$NavigationPropertyPath)}))}}return{targetProperties:e.targetProperties,targetEntities:e.targetEntities}};r.removeDuplicateTargets=function t(e){const i=e.targetEntities.map(t=>t.$NavigationPropertyPath);const r=new Set(i);const o=new Set(e.targetProperties);const n=Array.from(r).map(t=>({$NavigationPropertyPath:t}));return{targetProperties:Array.from(o),targetEntities:n}};r.retrieveODataActionsSideEffects=function t(e){const i={};const r=e.actions;if(r){Object.keys(r).forEach(t=>{const r=e.actions[t];const o=new Set;let n=[];let s=[];this.getSideEffectsFromSource(r).forEach(t=>{const e=t.triggerAction;n=n.concat(t.targetProperties);s=s.concat(t.targetEntities);if(e){o.add(e)}});const a=this.removeDuplicateTargets({targetProperties:n,targetEntities:s});i[t]={pathExpressions:[...a.targetProperties,...a.targetEntities],triggerActions:Array.from(o)}})}return i};r.retrieveODataEntitySideEffects=function t(e){const i={};this.getSideEffectsFromSource(e).forEach(t=>{i[t.fullyQualifiedName]=t});return i};r.mapSideEffectSources=function t(e,i){for(const t of this.getSideEffectsAnnotationFromSource(e)){var r;for(const r of t.SourceEntities??[]){var o;const n=r.value?(o=r.$target)===null||o===void 0?void 0:o.targetType:e;if(n){if(!i.entities[n.fullyQualifiedName]){i.entities[n.fullyQualifiedName]=[]}i.entities[n.fullyQualifiedName].push({entity:e.fullyQualifiedName,qualifier:t.qualifier})}}const c=((r=t.SourceProperties)===null||r===void 0?void 0:r.length)===1;for(const r of t.SourceProperties??[]){var n,s;if(!i.properties[(n=r.$target)===null||n===void 0?void 0:n.fullyQualifiedName]){var a;i.properties[(a=r.$target)===null||a===void 0?void 0:a.fullyQualifiedName]=[]}i.properties[(s=r.$target)===null||s===void 0?void 0:s.fullyQualifiedName].push({entity:e.fullyQualifiedName,qualifier:t.qualifier,hasUniqueSourceProperty:c})}}};r.getFieldGroupIdForSideEffect=function t(e){let i=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;const r=e.qualifier?`${e.entity}#${e.qualifier}`:e.entity;return i||e.hasUniqueSourceProperty===true?`${r}$$ImmediateRequest`:r};r.getInterface=function t(){return this};return i}(o);a.SideEffectsService=m;let P=function(t){y(e,t);function e(){return t.apply(this,arguments)||this}var i=e.prototype;i.createInstance=function t(e){const i=new m(e);return i.initPromise};return e}(n);return P},false);
5
+ sap.ui.define(["sap/base/Log","sap/fe/core/converters/MetaModelConverter","sap/fe/core/helpers/TypeGuards","sap/fe/core/templating/PropertyHelper","sap/ui/core/service/Service","sap/ui/core/service/ServiceFactory","../templating/DataModelPathHelper"],function(t,e,i,r,o,n,s){"use strict";var a={};var c=s.getTargetObjectPath;var f=s.getTargetNavigationPath;var u=s.enhanceDataModelPath;var l=r.getAssociatedTextPropertyPath;var d=i.isProperty;var p=i.isEntityType;var g=i.isComplexType;var h=e.getInvolvedDataModelObjects;var E=e.convertTypes;function y(t,e){t.prototype=Object.create(e.prototype);t.prototype.constructor=t;v(t,e)}function v(t,e){v=Object.setPrototypeOf?Object.setPrototypeOf.bind():function t(e,i){e.__proto__=i;return e};return v(t,e)}let m=function(e){y(i,e);function i(){return e.apply(this,arguments)||this}a.SideEffectsService=i;var r=i.prototype;r.init=function t(){this.sideEffectsRegistry={oData:{entities:{},actions:{}},control:{}};this.isInitialized=false;this.initPromise=Promise.resolve(this)};r.addControlSideEffects=function t(e,i){if(i.sourceControlId){const t={...i,fullyQualifiedName:`${e}/SideEffectsForControl/${i.sourceControlId}`};const r=this.sideEffectsRegistry.control[e]||{};r[t.sourceControlId]=t;this.sideEffectsRegistry.control[e]=r}};r.executeAction=function t(e,i,r){const o=i.getModel().bindContext(`${e}(...)`,i);return o.execute(r||i.getBinding().getUpdateGroupId())};r.getConvertedMetaModel=function t(){return E(this.getMetaModel(),this.capabilities)};r.getEntityTypeFromContext=function t(e){const i=e.getModel().getMetaModel(),r=i.getMetaPath(e.getPath()),o=i.getObject(r)["$Type"];return o};r.getODataEntitySideEffects=function t(e){return this.sideEffectsRegistry.oData.entities[e]||{}};r.getGlobalODataEntitySideEffects=function t(e){const i=this.getODataEntitySideEffects(e);const r=[];for(const t in i){const e=i[t];if(!e.sourceEntities&&!e.sourceProperties){r.push(e)}}return r};r.getODataActionSideEffects=function t(e,i){if(i){const t=this.getEntityTypeFromContext(i);if(t){var r;return(r=this.sideEffectsRegistry.oData.actions[t])===null||r===void 0?void 0:r[e]}}return undefined};r.initializeSideEffects=function t(e){this.capabilities=e;if(!this.isInitialized){const t={entities:{},properties:{}};const e=this.getConvertedMetaModel();e.entityTypes.forEach(e=>{this.sideEffectsRegistry.oData.entities[e.fullyQualifiedName]=this.retrieveODataEntitySideEffects(e);this.sideEffectsRegistry.oData.actions[e.fullyQualifiedName]=this.retrieveODataActionsSideEffects(e);this.mapSideEffectSources(e,t)});this.sourcesToSideEffectMappings=t;this.isInitialized=true}};r.removeControlSideEffects=function t(e){Object.keys(this.sideEffectsRegistry.control).forEach(t=>{if(this.sideEffectsRegistry.control[t][e]){delete this.sideEffectsRegistry.control[t][e]}})};r.requestSideEffects=function t(e,i,r){this.logRequest(e,i);return i.requestSideEffects(e,r)};r.requestSideEffectsForODataAction=function t(e,i){var r,o;let n;if((r=e.triggerActions)!==null&&r!==void 0&&r.length){n=e.triggerActions.map(t=>this.executeAction(t,i))}else{n=[]}if((o=e.pathExpressions)!==null&&o!==void 0&&o.length){n.push(this.requestSideEffects(e.pathExpressions,i))}return n.length?Promise.all(n):Promise.resolve([])};r.requestSideEffectsForNavigationProperty=function e(i,r,o){const n=this.getEntityTypeFromContext(r);if(n){const e=`${i}/`;const s=this.getODataEntitySideEffects(n);let a=[];let c=[];let f=[];Object.keys(s).filter(t=>{var r;const o=s[t];return(o.sourceEntities||[]).some(t=>t.$NavigationPropertyPath===i)||((r=o.sourceProperties)===null||r===void 0?void 0:r.length)===1&&o.sourceProperties.some(t=>t.startsWith(e)&&t.replace(e,"").indexOf("/")===-1)}).forEach(t=>{const e=s[t];if(e.triggerAction){this.executeAction(e.triggerAction,r,o)}a=a.concat(e.targetProperties);c=c.concat(e.targetEntities)});const u=this.removeDuplicateTargets({targetProperties:a,targetEntities:c});f=[...u.targetProperties,...u.targetEntities];if(f.length){return this.requestSideEffects(f,r,o).catch(e=>t.error(`SideEffects - Error while processing SideEffects for Navigation Property ${i}`,e))}}return Promise.resolve()};r.getControlEntitySideEffects=function t(e){return this.sideEffectsRegistry.control[e]||{}};r.getSideEffectWhereEntityIsSource=function t(e){return this.sourcesToSideEffectMappings.entities[e]||[]};r.computeFieldGroupIds=function t(e,i){const r=this.getSideEffectWhereEntityIsSource(e).map(t=>this.getFieldGroupIdForSideEffect(t,true));return r.concat(this.getSideEffectWherePropertyIsSource(i).map(t=>this.getFieldGroupIdForSideEffect(t)))};r.getSideEffectWherePropertyIsSource=function t(e){return this.sourcesToSideEffectMappings.properties[e]||[]};r.addTextProperties=function t(e,i){const r=new Set(e.targetProperties);const o=new Set(e.targetEntities.map(t=>t.$NavigationPropertyPath));const n=e.targetProperties.reduce((t,e)=>t.concat(this.getDataModelPropertiesFromAPath(e,i)),[]);for(const t of n){const e=l(t.targetObject);if(e){const i=u(t,e);const n=f(i,true);const s=c(i,true);if(d(i.targetObject)&&!r.has(s)&&!r.has(`${n}${i.navigationProperties.length?"/":""}*`)&&!o.has(`${n}`)){if(t.targetEntitySet!==i.targetEntitySet&&i.navigationProperties&&i.targetEntityType){o.add(n)}else{r.add(s)}}}}return{targetProperties:Array.from(r),targetEntities:Array.from(o).map(t=>({$NavigationPropertyPath:t}))}};r.convertSideEffects=function t(e,i,r){const o=e.TriggerAction;const n=this.convertSideEffectsFormat(e);let s={targetProperties:n.targetProperties,targetEntities:n.targetEntities};s=this.removeBindingParameter(s,r);s=this.addTextProperties(s,i);s=this.removeDuplicateTargets(s);return{...n,...{targetEntities:s.targetEntities,targetProperties:s.targetProperties,triggerAction:o}}};r.convertSideEffectsFormat=function e(i){const r=e=>e?e.reduce((e,r)=>{const o=r.type&&r.value||r;if(o){e.push(o)}else{t.error(`SideEffects - Error while processing TargetProperties for SideEffects ${i.fullyQualifiedName}`)}return e},[]):e;const o=t=>t?t.map(t=>({$NavigationPropertyPath:t.value})):t;return{fullyQualifiedName:i.fullyQualifiedName,sourceProperties:r(i.SourceProperties),sourceEntities:o(i.SourceEntities),targetProperties:r(i.TargetProperties)??[],targetEntities:o(i.TargetEntities)??[]}};r.getDataModelPropertiesFromAPath=function t(e,i){let r=[];const o=this.getConvertedMetaModel();const n=o.entitySets.find(t=>t.entityType===i)||o.singletons.find(t=>t.entityType===i);if(n){const t=this.getMetaModel(),i=t.createBindingContext(`/${n.name}`);if(i){const t=h(i);const o=u(t,e.replace("*","")||"/"),n=o.targetObject;if(d(n)){if(g(n.targetType)){r=r.concat(n.targetType.properties.map(t=>u(o,t.name)))}else{r.push(o)}}else if(p(n)){r=r.concat(o.targetEntityType.entityProperties.map(t=>u(o,t.name)))}i.destroy()}}return r.filter(t=>t.targetObject)};r.getMetaModel=function t(){const e=this.getContext();const i=e.scopeObject;return i.getModel().getMetaModel()};r.getSideEffectsFromSource=function t(e){var i;let r="";const o=p(e);const n=o?e:e.sourceEntityType;const s=(i=e.annotations)===null||i===void 0?void 0:i.Common;if(n&&s){if(!o){var a;const t=(a=e.parameters)===null||a===void 0?void 0:a.find(t=>t.type===n.fullyQualifiedName);r=(t===null||t===void 0?void 0:t.fullyQualifiedName.split("/")[1])??""}return this.getSideEffectsAnnotationFromSource(e).map(t=>this.convertSideEffects(t,n,r))}return[]};r.getSideEffectsAnnotationFromSource=function t(e){var i;const r=[];const o=(i=e.annotations)===null||i===void 0?void 0:i.Common;for(const t in o){const e=o[t];if(this.isSideEffectsAnnotation(e)){r.push(e)}}return r};r.isSideEffectsAnnotation=function t(e){return(e===null||e===void 0?void 0:e.$Type)==="com.sap.vocabularies.Common.v1.SideEffectsType"};r.logRequest=function e(i,r){const o=i.reduce(function(t,e){return`${t}\n\t\t${e.$NavigationPropertyPath||e||""}`},"");t.debug(`SideEffects - Request:\n\tContext path : ${r.getPath()}\n\tProperty paths :${o}`)};r.removeBindingParameter=function t(e,i){if(i){const t=function(t){return t.replace(new RegExp(`^${i}/?`),"")};return{targetProperties:e.targetProperties.map(e=>t(e)),targetEntities:e.targetEntities.map(e=>({$NavigationPropertyPath:t(e.$NavigationPropertyPath)}))}}return{targetProperties:e.targetProperties,targetEntities:e.targetEntities}};r.removeDuplicateTargets=function t(e){const i=e.targetEntities.map(t=>t.$NavigationPropertyPath);const r=new Set(i);const o=new Set(e.targetProperties);const n=Array.from(r).map(t=>({$NavigationPropertyPath:t}));return{targetProperties:Array.from(o),targetEntities:n}};r.retrieveODataActionsSideEffects=function t(e){const i={};const r=e.actions;if(r){Object.keys(r).forEach(t=>{const r=e.actions[t];const o=new Set;let n=[];let s=[];this.getSideEffectsFromSource(r).forEach(t=>{const e=t.triggerAction;n=n.concat(t.targetProperties);s=s.concat(t.targetEntities);if(e){o.add(e)}});const a=this.removeDuplicateTargets({targetProperties:n,targetEntities:s});i[t]={pathExpressions:[...a.targetProperties,...a.targetEntities],triggerActions:Array.from(o)}})}return i};r.retrieveODataEntitySideEffects=function t(e){const i={};this.getSideEffectsFromSource(e).forEach(t=>{i[t.fullyQualifiedName]=t});return i};r.mapSideEffectSources=function t(e,i){for(const t of this.getSideEffectsAnnotationFromSource(e)){var r;for(const r of t.SourceEntities??[]){var o;const n=r.value?(o=r.$target)===null||o===void 0?void 0:o.targetType:e;if(n){if(!i.entities[n.fullyQualifiedName]){i.entities[n.fullyQualifiedName]=[]}i.entities[n.fullyQualifiedName].push({entity:e.fullyQualifiedName,qualifier:t.qualifier})}}const c=((r=t.SourceProperties)===null||r===void 0?void 0:r.length)===1;for(const r of t.SourceProperties??[]){var n,s;if(!i.properties[(n=r.$target)===null||n===void 0?void 0:n.fullyQualifiedName]){var a;i.properties[(a=r.$target)===null||a===void 0?void 0:a.fullyQualifiedName]=[]}i.properties[(s=r.$target)===null||s===void 0?void 0:s.fullyQualifiedName].push({entity:e.fullyQualifiedName,qualifier:t.qualifier,hasUniqueSourceProperty:c})}}};r.getFieldGroupIdForSideEffect=function t(e){let i=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;const r=e.qualifier?`${e.entity}#${e.qualifier}`:e.entity;return i||e.hasUniqueSourceProperty===true?`${r}$$ImmediateRequest`:r};r.getInterface=function t(){return this};return i}(o);a.SideEffectsService=m;let P=function(t){y(e,t);function e(){return t.apply(this,arguments)||this}var i=e.prototype;i.createInstance=function t(e){const i=new m(e);return i.initPromise};return e}(n);return P},false);
6
6
  //# sourceMappingURL=SideEffectsServiceFactory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SideEffectsServiceFactory.js","names":["sap","ui","define","Log","MetaModelConverter","TypeGuards","PropertyHelper","Service","ServiceFactory","DataModelPathHelper","_exports","getTargetObjectPath","getTargetNavigationPath","enhanceDataModelPath","getAssociatedTextPropertyPath","isProperty","isEntityType","isComplexType","getInvolvedDataModelObjects","convertTypes","_inheritsLoose","subClass","superClass","prototype","Object","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","bind","__proto__","SideEffectsService","_Service","apply","this","arguments","_proto","init","sideEffectsRegistry","oData","entities","actions","control","isInitialized","initPromise","Promise","resolve","addControlSideEffects","entityType","sideEffect","sourceControlId","controlSideEffect","fullyQualifiedName","entityControlSideEffects","executeAction","triggerAction","context","groupId","action","getModel","bindContext","execute","getBinding","getUpdateGroupId","getConvertedMetaModel","getMetaModel","capabilities","getEntityTypeFromContext","metaModel","metaPath","getMetaPath","getPath","getObject","getODataEntitySideEffects","entityTypeName","getGlobalODataEntitySideEffects","entitySideEffects","globalSideEffects","key","sideEffects","sourceEntities","sourceProperties","push","getODataActionSideEffects","actionName","_this$sideEffectsRegi","undefined","initializeSideEffects","sideEffectSources","properties","convertedMetaModel","entityTypes","forEach","retrieveODataEntitySideEffects","retrieveODataActionsSideEffects","mapSideEffectSources","sourcesToSideEffectMappings","removeControlSideEffects","controlId","keys","sEntityType","requestSideEffects","pathExpressions","logRequest","requestSideEffectsForODataAction","_sideEffects$triggerA","_sideEffects$pathExpr","promises","triggerActions","length","map","all","requestSideEffectsForNavigationProperty","navigationProperty","baseEntityType","navigationPath","targetProperties","targetEntities","sideEffectsTargets","filter","annotationName","some","propertyPath","startsWith","replace","indexOf","navigation","$NavigationPropertyPath","sAnnotationName","concat","sideEffectsTargetDefinition","removeDuplicateTargets","catch","error","getControlEntitySideEffects","getSideEffectWhereEntityIsSource","computeFieldGroupIds","sourceEntityType","sourceProperty","entityFieldGroupIds","sideEffectInfo","getFieldGroupIdForSideEffect","getSideEffectWherePropertyIsSource","propertyName","addTextProperties","setOfProperties","Set","setOfEntities","target","propertiesToAnalyze","reduce","dataModelPropertyPaths","getDataModelPropertiesFromAPath","dataModelPropertyPath","associatedTextPath","targetObject","dataModelTextPath","relativeNavigation","targetPath","has","navigationProperties","targetEntitySet","targetEntityType","add","Array","from","convertSideEffects","bindingParameter","TriggerAction","newSideEffects","convertSideEffectsFormat","removeBindingParameter","formatProperties","path","type","value","formatEntities","targetEntity","SourceProperties","SourceEntities","TargetProperties","TargetEntities","dataModelObjectPaths","entitySet","entitySets","find","relatedEntitySet","singletons","singleton","entitySetContext","createBindingContext","name","dataModelEntitySet","dataModelObjectPath","targetType","property","entityProperties","entityProperty","destroy","oContext","getContext","oComponent","scopeObject","getSideEffectsFromSource","source","_source$annotations","bindingAlias","isSourceEntityType","commonAnnotation","annotations","Common","_source$parameters","parameters","parameter","split","getSideEffectsAnnotationFromSource","sideEffectAnno","_source$annotations2","annotation","isSideEffectsAnnotation","$Type","targetPaths","paths","debug","bindingParameterName","replaceBindingParameter","RegExp","targetProperty","targetEntitiesPaths","uniqueTargetedEntitiesPath","uniqueTargetProperties","uniqueTargetedEntities","entityPath","oDataSideEffect","sideEffectsSources","sideEffectDefinition","_sideEffectDefinition","sourceEntity","_sourceEntity$$target","$target","entity","qualifier","hasUniqueSourceProperty","_sourceProperty$$targ","_sourceProperty$$targ3","_sourceProperty$$targ2","isImmediate","sideEffectWithQualifier","getInterface","SideEffectsServiceFactory","_ServiceFactory","_proto2","createInstance","oServiceContext","SideEffectsServiceService"],"sources":["SideEffectsServiceFactory-dbg.js"],"mappings":";;;;AAIAA,IAAIC,GAAGC,OAAO,CAAC,eAAgB,4CAA6C,iCAAkC,wCAAyC,8BAA+B,qCAAsC,qCAAsC,SAAUC,EAAKC,EAAoBC,EAAYC,EAAgBC,EAASC,EAAgBC,GACxV,aAEA,IAAIC,EAAW,CAAC,EAChB,IAAIC,EAAsBF,EAAoBE,oBAC9C,IAAIC,EAA0BH,EAAoBG,wBAClD,IAAIC,EAAuBJ,EAAoBI,qBAC/C,IAAIC,EAAgCR,EAAeQ,8BACnD,IAAIC,EAAaV,EAAWU,WAC5B,IAAIC,EAAeX,EAAWW,aAC9B,IAAIC,EAAgBZ,EAAWY,cAC/B,IAAIC,EAA8Bd,EAAmBc,4BACrD,IAAIC,EAAef,EAAmBe,aACtC,SAASC,EAAeC,EAAUC,GAAcD,EAASE,UAAYC,OAAOC,OAAOH,EAAWC,WAAYF,EAASE,UAAUG,YAAcL,EAAUM,EAAgBN,EAAUC,EAAa,CAC5L,SAASK,EAAgBC,EAAGC,GAAKF,EAAkBH,OAAOM,eAAiBN,OAAOM,eAAeC,OAAS,SAASJ,EAAgBC,EAAGC,GAAKD,EAAEI,UAAYH,EAAG,OAAOD,CAAG,EAAG,OAAOD,EAAgBC,EAAGC,EAAI,CACvM,IAAII,EAAkC,SAAUC,GAC9Cd,EAAea,EAAoBC,GACnC,SAASD,IACP,OAAOC,EAASC,MAAMC,KAAMC,YAAcD,IAC5C,CACA1B,EAASuB,mBAAqBA,EAC9B,IAAIK,EAASL,EAAmBV,UAEhCe,EAAOC,KAAO,SAASA,IACrBH,KAAKI,oBAAsB,CACzBC,MAAO,CACLC,SAAU,CAAC,EACXC,QAAS,CAAC,GAEZC,QAAS,CAAC,GAEZR,KAAKS,cAAgB,MACrBT,KAAKU,YAAcC,QAAQC,QAAQZ,KACrC,EAeAE,EAAOW,sBAAwB,SAASA,EAAsBC,EAAYC,GACxE,GAAIA,EAAWC,gBAAiB,CAC9B,MAAMC,EAAoB,IACrBF,EACHG,mBAAoB,GAAGJ,2BAAoCC,EAAWC,mBAExE,MAAMG,EAA2BnB,KAAKI,oBAAoBI,QAAQM,IAAe,CAAC,EAClFK,EAAyBF,EAAkBD,iBAAmBC,EAC9DjB,KAAKI,oBAAoBI,QAAQM,GAAcK,CACjD,CACF,EAWAjB,EAAOkB,cAAgB,SAASA,EAAcC,EAAeC,EAASC,GACpE,MAAMC,EAASF,EAAQG,WAAWC,YAAY,GAAGL,SAAsBC,GACvE,OAAOE,EAAOG,QAAQJ,GAAWD,EAAQM,aAAaC,mBACxD,EAQA3B,EAAO4B,sBAAwB,SAASA,IACtC,OAAO/C,EAAaiB,KAAK+B,eAAgB/B,KAAKgC,aAChD,EAQA9B,EAAO+B,yBAA2B,SAASA,EAAyBX,GAClE,MAAMY,EAAYZ,EAAQG,WAAWM,eACnCI,EAAWD,EAAUE,YAAYd,EAAQe,WACzCvB,EAAaoB,EAAUI,UAAUH,GAAU,SAC7C,OAAOrB,CACT,EASAZ,EAAOqC,0BAA4B,SAASA,EAA0BC,GACpE,OAAOxC,KAAKI,oBAAoBC,MAAMC,SAASkC,IAAmB,CAAC,CACrE,EASAtC,EAAOuC,gCAAkC,SAASA,EAAgCD,GAChF,MAAME,EAAoB1C,KAAKuC,0BAA0BC,GACzD,MAAMG,EAAoB,GAC1B,IAAK,MAAMC,KAAOF,EAAmB,CACnC,MAAMG,EAAcH,EAAkBE,GACtC,IAAKC,EAAYC,iBAAmBD,EAAYE,iBAAkB,CAChEJ,EAAkBK,KAAKH,EACzB,CACF,CACA,OAAOF,CACT,EAUAzC,EAAO+C,0BAA4B,SAASA,EAA0BC,EAAY5B,GAChF,GAAIA,EAAS,CACX,MAAMR,EAAad,KAAKiC,yBAAyBX,GACjD,GAAIR,EAAY,CACd,IAAIqC,EACJ,OAAQA,EAAwBnD,KAAKI,oBAAoBC,MAAME,QAAQO,MAAiB,MAAQqC,SAA+B,OAAS,EAAIA,EAAsBD,EACpK,CACF,CACA,OAAOE,SACT,EAQAlD,EAAOmD,sBAAwB,SAASA,EAAsBrB,GAC5DhC,KAAKgC,aAAeA,EACpB,IAAKhC,KAAKS,cAAe,CACvB,MAAM6C,EAAoB,CACxBhD,SAAU,CAAC,EACXiD,WAAY,CAAC,GAEf,MAAMC,EAAqBxD,KAAK8B,wBAChC0B,EAAmBC,YAAYC,QAAQ5C,IACrCd,KAAKI,oBAAoBC,MAAMC,SAASQ,EAAWI,oBAAsBlB,KAAK2D,+BAA+B7C,GAC7Gd,KAAKI,oBAAoBC,MAAME,QAAQO,EAAWI,oBAAsBlB,KAAK4D,gCAAgC9C,GAC7Gd,KAAK6D,qBAAqB/C,EAAYwC,EAAkB,GAE1DtD,KAAK8D,4BAA8BR,EACnCtD,KAAKS,cAAgB,IACvB,CACF,EAQAP,EAAO6D,yBAA2B,SAASA,EAAyBC,GAClE5E,OAAO6E,KAAKjE,KAAKI,oBAAoBI,SAASkD,QAAQQ,IACpD,GAAIlE,KAAKI,oBAAoBI,QAAQ0D,GAAaF,GAAY,QACrDhE,KAAKI,oBAAoBI,QAAQ0D,GAAaF,EACvD,GAEJ,EAUA9D,EAAOiE,mBAAqB,SAASA,EAAmBC,EAAiB9C,EAASC,GAChFvB,KAAKqE,WAAWD,EAAiB9C,GACjC,OAAOA,EAAQ6C,mBAAmBC,EAAiB7C,EACrD,EASArB,EAAOoE,iCAAmC,SAASA,EAAiCzB,EAAavB,GAC/F,IAAIiD,EAAuBC,EAC3B,IAAIC,EACJ,IAAKF,EAAwB1B,EAAY6B,kBAAoB,MAAQH,SAA+B,GAAKA,EAAsBI,OAAQ,CACrIF,EAAW5B,EAAY6B,eAAeE,IAAI1B,GACjClD,KAAKoB,cAAc8B,EAAY5B,GAE1C,KAAO,CACLmD,EAAW,EACb,CACA,IAAKD,EAAwB3B,EAAYuB,mBAAqB,MAAQI,SAA+B,GAAKA,EAAsBG,OAAQ,CACtIF,EAASzB,KAAKhD,KAAKmE,mBAAmBtB,EAAYuB,gBAAiB9C,GACrE,CACA,OAAOmD,EAASE,OAAShE,QAAQkE,IAAIJ,GAAY9D,QAAQC,QAAQ,GACnE,EAWAV,EAAO4E,wCAA0C,SAASA,EAAwCC,EAAoBzD,EAASC,GAC7H,MAAMyD,EAAiBhF,KAAKiC,yBAAyBX,GACrD,GAAI0D,EAAgB,CAClB,MAAMC,EAAiB,GAAGF,KAC1B,MAAMrC,EAAoB1C,KAAKuC,0BAA0ByC,GACzD,IAAIE,EAAmB,GACvB,IAAIC,EAAiB,GACrB,IAAIC,EAAqB,GACzBhG,OAAO6E,KAAKvB,GAAmB2C,OAE/BC,IACE,MAAMzC,EAAcH,EAAkB4C,GACtC,OAAQzC,EAAYE,kBAAoB,IAAIwC,KAAKC,GAAgBA,EAAaC,WAAWR,IAAmBO,EAAaE,QAAQT,EAAgB,IAAIU,QAAQ,QAAU,KAAO9C,EAAYC,gBAAkB,IAAIyC,KAAKK,GAAcA,EAAWC,0BAA4Bd,EAAmB,GAC5RrB,QAAQoC,IACT,MAAMjD,EAAcH,EAAkBoD,GACtC,GAAIjD,EAAYxB,cAAe,CAC7BrB,KAAKoB,cAAcyB,EAAYxB,cAAeC,EAASC,EACzD,CACA2D,EAAmBA,EAAiBa,OAAOlD,EAAYqC,kBACvDC,EAAiBA,EAAeY,OAAOlD,EAAYsC,eAAe,GAGpE,MAAMa,EAA8BhG,KAAKiG,uBAAuB,CAC9Df,iBAAkBA,EAClBC,eAAgBA,IAElBC,EAAqB,IAAIY,EAA4Bd,oBAAqBc,EAA4Bb,gBACtG,GAAIC,EAAmBT,OAAQ,CAC7B,OAAO3E,KAAKmE,mBAAmBiB,EAAoB9D,EAASC,GAAS2E,MAAMC,GAASpI,EAAIoI,MAAM,4EAA4EpB,IAAsBoB,GAClM,CACF,CACA,OAAOxF,QAAQC,SACjB,EASAV,EAAOkG,4BAA8B,SAASA,EAA4B5D,GACxE,OAAOxC,KAAKI,oBAAoBI,QAAQgC,IAAmB,CAAC,CAC9D,EAQAtC,EAAOmG,iCAAmC,SAASA,EAAiC7D,GAClF,OAAOxC,KAAK8D,4BAA4BxD,SAASkC,IAAmB,EACtE,EASAtC,EAAOoG,qBAAuB,SAASA,EAAqBC,EAAkBC,GAC5E,MAAMC,EAAsBzG,KAAKqG,iCAAiCE,GAAkB3B,IAAI8B,GAAkB1G,KAAK2G,6BAA6BD,EAAgB,OAC5J,OAAOD,EAAoBV,OAAO/F,KAAK4G,mCAAmCJ,GAAgB5B,IAAI8B,GAAkB1G,KAAK2G,6BAA6BD,IACpJ,EAQAxG,EAAO0G,mCAAqC,SAASA,EAAmCC,GACtF,OAAO7G,KAAK8D,4BAA4BP,WAAWsD,IAAiB,EACtE,EAWA3G,EAAO4G,kBAAoB,SAASA,EAAkB1B,EAAoBtE,GACxE,MAAMiG,EAAkB,IAAIC,IAAI5B,EAAmBF,kBACnD,MAAM+B,EAAgB,IAAID,IAAI5B,EAAmBD,eAAeP,IAAIsC,GAAUA,EAAOrB,0BAGrF,MAAMsB,EAAsB/B,EAAmBF,iBAAiBkC,OAAO,CAACC,EAAwB7B,IACvF6B,EAAuBtB,OAAO/F,KAAKsH,gCAAgC9B,EAAc1E,IACvF,IAGH,IAAK,MAAMyG,KAAyBJ,EAAqB,CACvD,MAAMK,EAAqB9I,EAA8B6I,EAAsBE,cAC/E,GAAID,EAAoB,CACtB,MAAME,EAAoBjJ,EAAqB8I,EAAuBC,GACtE,MAAMG,EAAqBnJ,EAAwBkJ,EAAmB,MACtE,MAAME,EAAarJ,EAAoBmJ,EAAmB,MAC1D,GAAI/I,EAAW+I,EAAkBD,gBAAkBV,EAAgBc,IAAID,KAEtEb,EAAgBc,IAAI,GAAGF,IAAqBD,EAAkBI,qBAAqBnD,OAAS,IAAM,SAElGsC,EAAcY,IAAI,GAAGF,KACpB,CAKA,GAAIJ,EAAsBQ,kBAAoBL,EAAkBK,iBAAmBL,EAAkBI,sBAAwBJ,EAAkBM,iBAAkB,CAC/Jf,EAAcgB,IAAIN,EACpB,KAAO,CACLZ,EAAgBkB,IAAIL,EACtB,CACF,CACF,CACF,CACA,MAAO,CACL1C,iBAAkBgD,MAAMC,KAAKpB,GAC7B5B,eAAgB+C,MAAMC,KAAKlB,GAAerC,IAAIgB,IACrC,CACLC,wBAAyBD,KAIjC,EAgBA1F,EAAOkI,mBAAqB,SAASA,EAAmBvF,EAAa/B,EAAYuH,GAC/E,MAAMhH,EAAgBwB,EAAYyF,cAClC,MAAMC,EAAiBvI,KAAKwI,yBAAyB3F,GACrD,IAAIuC,EAAqB,CACvBF,iBAAkBqD,EAAerD,iBACjCC,eAAgBoD,EAAepD,gBAEjCC,EAAqBpF,KAAKyI,uBAAuBrD,EAAoBiD,GACrEjD,EAAqBpF,KAAK8G,kBAAkB1B,EAAoBtE,GAChEsE,EAAqBpF,KAAKiG,uBAAuBb,GACjD,MAAO,IACFmD,KACA,CACDpD,eAAgBC,EAAmBD,eACnCD,iBAAkBE,EAAmBF,iBACrC7D,iBAGN,EAWAnB,EAAOsI,yBAA2B,SAASA,EAAyB3F,GAClE,MAAM6F,EAAmBnF,GAChBA,EAAaA,EAAW6D,OAAO,CAAClC,EAAkBgC,KACvD,MAAMyB,EAAOzB,EAAO0B,MAAQ1B,EAAO2B,OAAS3B,EAC5C,GAAIyB,EAAM,CACRzD,EAAiBlC,KAAK2F,EACxB,KAAO,CACL5K,EAAIoI,MAAM,yEAAyEtD,EAAY3B,qBACjG,CACA,OAAOgE,CAAgB,EACtB,IAAM3B,EAEX,MAAMuF,EAAiBxI,GACdA,EAAWA,EAASsE,IAAImE,IACtB,CACLlD,wBAAyBkD,EAAaF,SAErCvI,EAEP,MAAO,CACLY,mBAAoB2B,EAAY3B,mBAChC6B,iBAAkB2F,EAAiB7F,EAAYmG,kBAC/ClG,eAAgBgG,EAAejG,EAAYoG,gBAC3C/D,iBAAkBwD,EAAiB7F,EAAYqG,mBAAqB,GACpE/D,eAAgB2D,EAAejG,EAAYsG,iBAAmB,GAElE,EAcAjJ,EAAOoH,gCAAkC,SAASA,EAAgCqB,EAAM7H,GACtF,IAAIsI,EAAuB,GAC3B,MAAM5F,EAAqBxD,KAAK8B,wBAChC,MAAMuH,EAAY7F,EAAmB8F,WAAWC,KAAKC,GAAoBA,EAAiB1I,aAAeA,IAAe0C,EAAmBiG,WAAWF,KAAKG,GAAaA,EAAU5I,aAAeA,GACjM,GAAIuI,EAAW,CACb,MAAMnH,EAAYlC,KAAK+B,eACrB4H,EAAmBzH,EAAU0H,qBAAqB,IAAIP,EAAUQ,QAClE,GAAIF,EAAkB,CACpB,MAAMG,EAAqBhL,EAA4B6K,GACvD,MAAMI,EAAsBtL,EAAqBqL,EAAoBnB,EAAKjD,QAAQ,IAAK,KAAO,KAE5F+B,EAAesC,EAAoBtC,aACrC,GAAI9I,EAAW8I,GAAe,CAC5B,GAAI5I,EAAc4I,EAAauC,YAAa,CAC1CZ,EAAuBA,EAAqBrD,OAAO0B,EAAauC,WAAWzG,WAAWqB,IAAIqF,GAAYxL,EAAqBsL,EAAqBE,EAASJ,OAC3J,KAAO,CACLT,EAAqBpG,KAAK+G,EAC5B,CACF,MAAO,GAAInL,EAAa6I,GAAe,CACrC2B,EAAuBA,EAAqBrD,OAAOgE,EAAoB/B,iBAAiBkC,iBAAiBtF,IAAIuF,GACpG1L,EAAqBsL,EAAqBI,EAAeN,OAEpE,CACAF,EAAiBS,SACnB,CACF,CACA,OAAOhB,EAAqB/D,OAAO0E,GAAuBA,EAAoBtC,aAChF,EAQAvH,EAAO6B,aAAe,SAASA,IAC7B,MAAMsI,EAAWrK,KAAKsK,aACtB,MAAMC,EAAaF,EAASG,YAC5B,OAAOD,EAAW9I,WAAWM,cAC/B,EAWA7B,EAAOuK,yBAA2B,SAASA,EAAyBC,GAClE,IAAIC,EACJ,IAAIC,EAAe,GACnB,MAAMC,EAAqBjM,EAAa8L,GACxC,MAAM5J,EAAa+J,EAAqBH,EAASA,EAAOnE,iBACxD,MAAMuE,GAAoBH,EAAsBD,EAAOK,eAAiB,MAAQJ,SAA6B,OAAS,EAAIA,EAAoBK,OAC9I,GAAIlK,GAAcgK,EAAkB,CAClC,IAAKD,EAAoB,CACvB,IAAII,EACJ,MAAM5C,GAAoB4C,EAAqBP,EAAOQ,cAAgB,MAAQD,SAA4B,OAAS,EAAIA,EAAmB1B,KAAK4B,GAAaA,EAAUvC,OAAS9H,EAAWI,oBAC1L0J,GAAgBvC,IAAqB,MAAQA,SAA0B,OAAS,EAAIA,EAAiBnH,mBAAmBkK,MAAM,KAAK,KAAO,EAC5I,CACA,OAAOpL,KAAKqL,mCAAmCX,GAAQ9F,IAAI0G,GAAkBtL,KAAKoI,mBAAmBkD,EAAgBxK,EAAY8J,GACnI,CACA,MAAO,EACT,EAQA1K,EAAOmL,mCAAqC,SAASA,EAAmCX,GACtF,IAAIa,EACJ,MAAM1I,EAAc,GACpB,MAAMiI,GAAoBS,EAAuBb,EAAOK,eAAiB,MAAQQ,SAA8B,OAAS,EAAIA,EAAqBP,OACjJ,IAAK,MAAMpI,KAAOkI,EAAkB,CAClC,MAAMU,EAAaV,EAAiBlI,GACpC,GAAI5C,KAAKyL,wBAAwBD,GAAa,CAC5C3I,EAAYG,KAAKwI,EACnB,CACF,CACA,OAAO3I,CACT,EASA3C,EAAOuL,wBAA0B,SAASA,EAAwBD,GAChE,OAAQA,IAAe,MAAQA,SAAoB,OAAS,EAAIA,EAAWE,SAAW,gDACxF,EASAxL,EAAOmE,WAAa,SAASA,EAAWD,EAAiB9C,GACvD,MAAMqK,EAAcvH,EAAgBgD,OAAO,SAAUwE,EAAO1E,GAC1D,MAAO,GAAG0E,UAAc1E,EAAOrB,yBAA2BqB,GAAU,IACtE,EAAG,IACHnJ,EAAI8N,MAAM,4CAA4CvK,EAAQe,gCAAgCsJ,IAChG,EAUAzL,EAAOuI,uBAAyB,SAASA,EAAuBrD,EAAoB0G,GAClF,GAAIA,EAAsB,CACxB,MAAMC,EAA0B,SAAUlD,GACxC,OAAOA,EAAMnD,QAAQ,IAAIsG,OAAO,IAAIF,OAA2B,GACjE,EACA,MAAO,CACL5G,iBAAkBE,EAAmBF,iBAAiBN,IAAIqH,GAAkBF,EAAwBE,IACpG9G,eAAgBC,EAAmBD,eAAeP,IAAImE,IAC7C,CACLlD,wBAAyBkG,EAAwBhD,EAAalD,4BAItE,CACA,MAAO,CACLX,iBAAkBE,EAAmBF,iBACrCC,eAAgBC,EAAmBD,eAEvC,EASAjF,EAAO+F,uBAAyB,SAASA,EAAuBb,GAC9D,MAAM8G,EAAsB9G,EAAmBD,eAAeP,IAAImE,GAAgBA,EAAalD,yBAC/F,MAAMsG,EAA6B,IAAInF,IAAIkF,GAC3C,MAAME,EAAyB,IAAIpF,IAAI5B,EAAmBF,kBAC1D,MAAMmH,EAAyBnE,MAAMC,KAAKgE,GAA4BvH,IAAI0H,IACjE,CACLzG,wBAAyByG,KAG7B,MAAO,CACLpH,iBAAkBgD,MAAMC,KAAKiE,GAC7BjH,eAAgBkH,EAEpB,EAYAnM,EAAO0D,gCAAkC,SAASA,EAAgC9C,GAChF,MAAM+B,EAAc,CAAC,EACrB,MAAMtC,EAAUO,EAAWP,QAC3B,GAAIA,EAAS,CACXnB,OAAO6E,KAAK1D,GAASmD,QAAQR,IAC3B,MAAM1B,EAASV,EAAWP,QAAQ2C,GAClC,MAAMwB,EAAiB,IAAIsC,IAC3B,IAAI9B,EAAmB,GACvB,IAAIC,EAAiB,GACrBnF,KAAKyK,yBAAyBjJ,GAAQkC,QAAQ6I,IAC5C,MAAMlL,EAAgBkL,EAAgBlL,cACtC6D,EAAmBA,EAAiBa,OAAOwG,EAAgBrH,kBAC3DC,EAAiBA,EAAeY,OAAOwG,EAAgBpH,gBACvD,GAAI9D,EAAe,CACjBqD,EAAeuD,IAAI5G,EACrB,IAEF,MAAM+D,EAAqBpF,KAAKiG,uBAAuB,CACrDf,mBACAC,mBAEFtC,EAAYK,GAAc,CACxBkB,gBAAiB,IAAIgB,EAAmBF,oBAAqBE,EAAmBD,gBAChFT,eAAgBwD,MAAMC,KAAKzD,GAC5B,EAEL,CACA,OAAO7B,CACT,EAYA3C,EAAOyD,+BAAiC,SAASA,EAA+B7C,GAC9E,MAAM4B,EAAoB,CAAC,EAC3B1C,KAAKyK,yBAAyB3J,GAAY4C,QAAQb,IAChDH,EAAkBG,EAAY3B,oBAAsB2B,CAAW,GAEjE,OAAOH,CACT,EAUAxC,EAAO2D,qBAAuB,SAASA,EAAqB/C,EAAY0L,GACtE,IAAK,MAAMC,KAAwBzM,KAAKqL,mCAAmCvK,GAAa,CACtF,IAAI4L,EACJ,IAAK,MAAMC,KAAgBF,EAAqBxD,gBAAkB,GAAI,CACpE,IAAI2D,EACJ,MAAM5E,EAAmB2E,EAAa9D,OAAS+D,EAAwBD,EAAaE,WAAa,MAAQD,SAA+B,OAAS,EAAIA,EAAsB5C,WAAalJ,EACxL,GAAIkH,EAAkB,CACpB,IAAKwE,EAAmBlM,SAAS0H,EAAiB9G,oBAAqB,CACrEsL,EAAmBlM,SAAS0H,EAAiB9G,oBAAsB,EACrE,CACAsL,EAAmBlM,SAAS0H,EAAiB9G,oBAAoB8B,KAAK,CACpE8J,OAAQhM,EAAWI,mBACnB6L,UAAWN,EAAqBM,WAEpC,CACF,CACA,MAAMC,IAA4BN,EAAwBD,EAAqBzD,oBAAsB,MAAQ0D,SAA+B,OAAS,EAAIA,EAAsB/H,UAAY,EAC3L,IAAK,MAAM6B,KAAkBiG,EAAqBzD,kBAAoB,GAAI,CACxE,IAAIiE,EAAuBC,EAC3B,IAAKV,EAAmBjJ,YAAY0J,EAAwBzG,EAAeqG,WAAa,MAAQI,SAA+B,OAAS,EAAIA,EAAsB/L,oBAAqB,CACrL,IAAIiM,EACJX,EAAmBjJ,YAAY4J,EAAyB3G,EAAeqG,WAAa,MAAQM,SAAgC,OAAS,EAAIA,EAAuBjM,oBAAsB,EACxL,CACAsL,EAAmBjJ,YAAY2J,EAAyB1G,EAAeqG,WAAa,MAAQK,SAAgC,OAAS,EAAIA,EAAuBhM,oBAAoB8B,KAAK,CACvL8J,OAAQhM,EAAWI,mBACnB6L,UAAWN,EAAqBM,UAChCC,2BAEJ,CACF,CACF,EASA9M,EAAOyG,6BAA+B,SAASA,EAA6BD,GAC1E,IAAI0G,EAAcnN,UAAU0E,OAAS,GAAK1E,UAAU,KAAOmD,UAAYnD,UAAU,GAAK,MACtF,MAAMoN,EAA0B3G,EAAeqG,UAAY,GAAGrG,EAAeoG,UAAUpG,EAAeqG,YAAcrG,EAAeoG,OACnI,OAAOM,GAAe1G,EAAesG,0BAA4B,KAAO,GAAGK,sBAA8CA,CAC3H,EACAnN,EAAOoN,aAAe,SAASA,IAC7B,OAAOtN,IACT,EACA,OAAOH,CACT,CA9rBsC,CA8rBpC1B,GACFG,EAASuB,mBAAqBA,EAC9B,IAAI0N,EAAyC,SAAUC,GACrDxO,EAAeuO,EAA2BC,GAC1C,SAASD,IACP,OAAOC,EAAgBzN,MAAMC,KAAMC,YAAcD,IACnD,CACA,IAAIyN,EAAUF,EAA0BpO,UACxCsO,EAAQC,eAAiB,SAASA,EAAeC,GAC/C,MAAMC,EAA4B,IAAI/N,EAAmB8N,GACzD,OAAOC,EAA0BlN,WACnC,EACA,OAAO6M,CACT,CAX6C,CAW3CnP,GACF,OAAOmP,CACT,EAAG"}
1
+ {"version":3,"file":"SideEffectsServiceFactory.js","names":["sap","ui","define","Log","MetaModelConverter","TypeGuards","PropertyHelper","Service","ServiceFactory","DataModelPathHelper","_exports","getTargetObjectPath","getTargetNavigationPath","enhanceDataModelPath","getAssociatedTextPropertyPath","isProperty","isEntityType","isComplexType","getInvolvedDataModelObjects","convertTypes","_inheritsLoose","subClass","superClass","prototype","Object","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","bind","__proto__","SideEffectsService","_Service","apply","this","arguments","_proto","init","sideEffectsRegistry","oData","entities","actions","control","isInitialized","initPromise","Promise","resolve","addControlSideEffects","entityType","sideEffect","sourceControlId","controlSideEffect","fullyQualifiedName","entityControlSideEffects","executeAction","triggerAction","context","groupId","action","getModel","bindContext","execute","getBinding","getUpdateGroupId","getConvertedMetaModel","getMetaModel","capabilities","getEntityTypeFromContext","metaModel","metaPath","getMetaPath","getPath","getObject","getODataEntitySideEffects","entityTypeName","getGlobalODataEntitySideEffects","entitySideEffects","globalSideEffects","key","sideEffects","sourceEntities","sourceProperties","push","getODataActionSideEffects","actionName","_this$sideEffectsRegi","undefined","initializeSideEffects","sideEffectSources","properties","convertedMetaModel","entityTypes","forEach","retrieveODataEntitySideEffects","retrieveODataActionsSideEffects","mapSideEffectSources","sourcesToSideEffectMappings","removeControlSideEffects","controlId","keys","sEntityType","requestSideEffects","pathExpressions","logRequest","requestSideEffectsForODataAction","_sideEffects$triggerA","_sideEffects$pathExpr","promises","triggerActions","length","map","all","requestSideEffectsForNavigationProperty","navigationProperty","baseEntityType","navigationPath","targetProperties","targetEntities","sideEffectsTargets","filter","annotationName","_sideEffects$sourcePr","some","navigation","$NavigationPropertyPath","propertyPath","startsWith","replace","indexOf","sAnnotationName","concat","sideEffectsTargetDefinition","removeDuplicateTargets","catch","error","getControlEntitySideEffects","getSideEffectWhereEntityIsSource","computeFieldGroupIds","sourceEntityType","sourceProperty","entityFieldGroupIds","sideEffectInfo","getFieldGroupIdForSideEffect","getSideEffectWherePropertyIsSource","propertyName","addTextProperties","setOfProperties","Set","setOfEntities","target","propertiesToAnalyze","reduce","dataModelPropertyPaths","getDataModelPropertiesFromAPath","dataModelPropertyPath","associatedTextPath","targetObject","dataModelTextPath","relativeNavigation","targetPath","has","navigationProperties","targetEntitySet","targetEntityType","add","Array","from","convertSideEffects","bindingParameter","TriggerAction","newSideEffects","convertSideEffectsFormat","removeBindingParameter","formatProperties","path","type","value","formatEntities","targetEntity","SourceProperties","SourceEntities","TargetProperties","TargetEntities","dataModelObjectPaths","entitySet","entitySets","find","relatedEntitySet","singletons","singleton","entitySetContext","createBindingContext","name","dataModelEntitySet","dataModelObjectPath","targetType","property","entityProperties","entityProperty","destroy","oContext","getContext","oComponent","scopeObject","getSideEffectsFromSource","source","_source$annotations","bindingAlias","isSourceEntityType","commonAnnotation","annotations","Common","_source$parameters","parameters","parameter","split","getSideEffectsAnnotationFromSource","sideEffectAnno","_source$annotations2","annotation","isSideEffectsAnnotation","$Type","targetPaths","paths","debug","bindingParameterName","replaceBindingParameter","RegExp","targetProperty","targetEntitiesPaths","uniqueTargetedEntitiesPath","uniqueTargetProperties","uniqueTargetedEntities","entityPath","oDataSideEffect","sideEffectsSources","sideEffectDefinition","_sideEffectDefinition","sourceEntity","_sourceEntity$$target","$target","entity","qualifier","hasUniqueSourceProperty","_sourceProperty$$targ","_sourceProperty$$targ3","_sourceProperty$$targ2","isImmediate","sideEffectWithQualifier","getInterface","SideEffectsServiceFactory","_ServiceFactory","_proto2","createInstance","oServiceContext","SideEffectsServiceService"],"sources":["SideEffectsServiceFactory-dbg.js"],"mappings":"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"}
@@ -310,16 +310,20 @@ export class SideEffectsService extends Service<SideEffectsSettings> {
310
310
  Object.keys(entitySideEffects)
311
311
  .filter(
312
312
  // Keep relevant SideEffects
313
+ // 1. SourceEntities match OR
314
+ // 2. Only 1 SourceProperties and match
313
315
  (annotationName) => {
314
316
  const sideEffects: ODataSideEffectsType = entitySideEffects[annotationName];
315
317
  return (
316
- (sideEffects.sourceProperties || []).some(
317
- (propertyPath) =>
318
- propertyPath.startsWith(navigationPath) && propertyPath.replace(navigationPath, "").indexOf("/") === -1
319
- ) ||
320
318
  (sideEffects.sourceEntities || []).some(
321
319
  (navigation) => navigation.$NavigationPropertyPath === navigationProperty
322
- )
320
+ ) ||
321
+ (sideEffects.sourceProperties?.length === 1 &&
322
+ sideEffects.sourceProperties.some(
323
+ (propertyPath) =>
324
+ propertyPath.startsWith(navigationPath) &&
325
+ propertyPath.replace(navigationPath, "").indexOf("/") === -1
326
+ ))
323
327
  );
324
328
  }
325
329
  )
@@ -129,7 +129,6 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/helpers/LoaderUtils", "sap/fe/core/m
129
129
  const oManifestModel = new JSONModel(oManifestContent);
130
130
  const bError = false;
131
131
  let oPageModel, oViewDataModel, oViewSettings, mViewData;
132
-
133
132
  // Load the index for the additional building blocks which is responsible for initializing them
134
133
  function getViewSettings() {
135
134
  const aSplitPath = sFullContextPath.split("/");
@@ -372,4 +371,4 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/helpers/LoaderUtils", "sap/fe/core/m
372
371
  }(ServiceFactory);
373
372
  return TemplatedViewServiceFactory;
374
373
  }, false);
375
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUZW1wbGF0ZWRWaWV3U2VydmljZSIsImluaXQiLCJhU2VydmljZURlcGVuZGVuY2llcyIsIm9Db250ZXh0IiwiZ2V0Q29udGV4dCIsIm9Db21wb25lbnQiLCJzY29wZU9iamVjdCIsIm9BcHBDb21wb25lbnQiLCJDb21wb25lbnQiLCJnZXRPd25lckNvbXBvbmVudEZvciIsIm9NZXRhTW9kZWwiLCJnZXRNZXRhTW9kZWwiLCJwYWdlSWQiLCJnZXRMb2NhbElkIiwiZ2V0SWQiLCJzU3RhYmxlSWQiLCJnZXRNZXRhZGF0YSIsImdldENvbXBvbmVudE5hbWUiLCJhRW5oYW5jZUkxOG4iLCJnZXRFbmhhbmNlSTE4biIsInNBcHBOYW1lc3BhY2UiLCJvRmFjdG9yeSIsImZhY3RvcnkiLCJpIiwibGVuZ3RoIiwib1Jlc291cmNlTW9kZWwiLCJnZXRNb2RlbCIsImlzQSIsInJlcGxhY2UiLCJzQ2FjaGVJZGVudGlmaWVyIiwiZ2V0TmFtZSIsInNhcCIsInVpIiwiZ2V0Q29yZSIsImdldENvbmZpZ3VyYXRpb24iLCJnZXRMYW5ndWFnZVRhZyIsInB1c2giLCJTZXJ2aWNlRmFjdG9yeVJlZ2lzdHJ5IiwiZ2V0IiwiY3JlYXRlSW5zdGFuY2UiLCJzY29wZVR5cGUiLCJzZXR0aW5ncyIsImJ1bmRsZXMiLCJlbmhhbmNlSTE4biIsIm1vZGVsTmFtZSIsInRoZW4iLCJvUmVzb3VyY2VNb2RlbFNlcnZpY2UiLCJnZXRSZXNvdXJjZU1vZGVsIiwibWV0YU1vZGVsIiwiYXBwQ29tcG9uZW50IiwiY29tcG9uZW50Iiwib0NhY2hlSGFuZGxlclNlcnZpY2UiLCJ2YWxpZGF0ZUNhY2hlS2V5IiwiVmVyc2lvbkluZm8iLCJsb2FkIiwib0luZm8iLCJzVGltZXN0YW1wIiwibGlicmFyaWVzIiwiYnVpbGRpbmZvIiwiYnVpbGR0aW1lIiwiZm9yRWFjaCIsIm9MaWJyYXJ5IiwiYnVpbGRUaW1lc3RhbXAiLCJjYXRjaCIsImluaXRQcm9taXNlIiwiUHJvbWlzZSIsImFsbCIsImFEZXBlbmRlbmNpZXNSZXN1bHQiLCJzQ2FjaGVLZXkiLCJvU2lkZUVmZmVjdHNTZXJ2aWNlcyIsImdldFNpZGVFZmZlY3RzU2VydmljZSIsImluaXRpYWxpemVTaWRlRWZmZWN0cyIsImdldEVudmlyb25tZW50Q2FwYWJpbGl0aWVzIiwiZ2V0Q2FwYWJpbGl0aWVzIiwiVGVtcGxhdGVDb252ZXJ0ZXIiLCJNZXRhTW9kZWxDb252ZXJ0ZXIiLCJyZXF1aXJlRGVwZW5kZW5jaWVzIiwiY3JlYXRlVmlldyIsImdldEluc3RhbmNlIiwiaW52YWxpZGF0ZUlmTmVlZGVkIiwicmVmcmVzaFZpZXciLCJvUm9vdFZpZXciLCJnZXRSb290Q29udHJvbCIsImRlc3Ryb3kiLCJvVmlldyIsInJlc291cmNlTW9kZWwiLCJzdGFibGVJZCIsIm9Db250YWluZXIiLCJpbnZhbGlkYXRlIiwib0Vycm9yIiwiTG9nIiwiZXJyb3IiLCJtU2VydmljZVNldHRpbmdzIiwic0NvbnZlcnRlclR5cGUiLCJjb252ZXJ0ZXJUeXBlIiwic0Z1bGxDb250ZXh0UGF0aCIsImdldFJvdXRpbmdTZXJ2aWNlIiwiZ2V0VGFyZ2V0SW5mb3JtYXRpb25Gb3IiLCJvcHRpb25zIiwiZnVsbENvbnRleHRQYXRoIiwib01hbmlmZXN0Q29udGVudCIsImdldE1hbmlmZXN0Iiwib0RldmljZU1vZGVsIiwiSlNPTk1vZGVsIiwiRGV2aWNlIiwic2V0RGVmYXVsdEJpbmRpbmdNb2RlIiwib01hbmlmZXN0TW9kZWwiLCJiRXJyb3IiLCJvUGFnZU1vZGVsIiwib1ZpZXdEYXRhTW9kZWwiLCJvVmlld1NldHRpbmdzIiwibVZpZXdEYXRhIiwiZ2V0Vmlld1NldHRpbmdzIiwiYVNwbGl0UGF0aCIsInNwbGl0Iiwic0VudGl0eVNldFBhdGgiLCJyZWR1Y2UiLCJzUGF0aFNvRmFyIiwic05leHRQYXRoUGFydCIsIm9UYXJnZXQiLCJnZXRPYmplY3QiLCJPYmplY3QiLCJrZXlzIiwidmlld1R5cGUiLCJnZXRWaWV3VHlwZSIsInVuZGVmaW5lZCIsInR5cGUiLCJwcmVwcm9jZXNzb3JzIiwieG1sIiwiYmluZGluZ0NvbnRleHRzIiwiZW50aXR5U2V0IiwiY3JlYXRlQmluZGluZ0NvbnRleHQiLCJjb250ZXh0UGF0aCIsImNvbnZlcnRlckNvbnRleHQiLCJub1Jlc29sdmUiLCJ2aWV3RGF0YSIsIm1vZGVscyIsImRldmljZSIsIm1hbmlmZXN0IiwiaWQiLCJ2aWV3TmFtZSIsImdldFZpZXdOYW1lIiwiY2FjaGUiLCJhZGRpdGlvbmFsRGF0YSIsImdldEFkZGl0aW9uYWxDYWNoZURhdGEiLCJnZXREYXRhIiwic2V0QWRkaXRpb25hbENhY2hlRGF0YSIsInZhbHVlIiwic2V0RGF0YSIsImhlaWdodCIsImNyZWF0ZUVycm9yUGFnZSIsInJlYXNvbiIsIm1lc3NhZ2UiLCJlcnJvclZpZXdOYW1lIiwicnVuQXNPd25lciIsIlZpZXciLCJjcmVhdGUiLCJzZXRNb2RlbCIsIk1hbmFnZWRPYmplY3RNb2RlbCIsInNldEFnZ3JlZ2F0aW9uIiwib1JvdXRpbmdTZXJ2aWNlIiwiZ2V0U2VydmljZSIsIm9UYXJnZXRJbmZvIiwibU91dGJvdW5kcyIsImNyb3NzTmF2aWdhdGlvbiIsIm91dGJvdW5kcyIsIm1OYXZpZ2F0aW9uIiwiZ2V0TmF2aWdhdGlvbiIsIm5hdmlnYXRpb25PYmplY3RLZXkiLCJuYXZpZ2F0aW9uT2JqZWN0Iiwib3V0Ym91bmRDb25maWciLCJkZXRhaWwiLCJvdXRib3VuZCIsIm91dGJvdW5kRGV0YWlsIiwic2VtYW50aWNPYmplY3QiLCJhY3Rpb24iLCJwYXJhbWV0ZXJzIiwibmF2aWdhdGlvbiIsInZpZXdMZXZlbCIsImNvbnRlbnREZW5zaXRpZXMiLCJpc0Rlc2t0b3AiLCJzeXN0ZW0iLCJkZXNrdG9wIiwiaXNQaG9uZSIsInBob25lIiwiZ2V0Vmlld0RhdGEiLCJhc3NpZ24iLCJhY3R1YWxTZXR0aW5ncyIsInJvdXRpbmciLCJ0YXJnZXRzIiwiYXBwbHlQYWdlQ29uZmlndXJhdGlvbkNoYW5nZXMiLCJpc1NoYXJlQnV0dG9uVmlzaWJsZUZvck15SW5ib3giLCJUZW1wbGF0ZWRWaWV3U2VydmljZUZhY3RvcnkiLCJnZXRTaGFyZUJ1dHRvblZpc2liaWxpdHlGb3JNeUluYm94Iiwib1NoZWxsU2VydmljZXMiLCJnZXRTaGVsbFNlcnZpY2VzIiwic2hlbGxDb250ZW50RGVuc2l0eSIsImdldENvbnRlbnREZW5zaXR5IiwicmV0cmlldmVUZXh0RnJvbVZhbHVlTGlzdCIsImZvcm0iLCJjb250cm9sQ29uZmlndXJhdGlvbiIsInNBbm5vdGF0aW9uUGF0aCIsImluZGV4T2YiLCJzVGFyZ2V0QW5ub3RhdGlvblBhdGgiLCJyZXNvbHZlRHluYW1pY0V4cHJlc3Npb24iLCJjb252ZXJ0VHlwZXMiLCJUZW1wbGF0ZU1vZGVsIiwib0RpYWdub3N0aWNzIiwiZ2V0RGlhZ25vc3RpY3MiLCJpSXNzdWVDb3VudCIsImdldElzc3VlcyIsIm9Db252ZXJ0ZXJQYWdlTW9kZWwiLCJjb252ZXJ0UGFnZSIsImFJc3N1ZXMiLCJhQWRkZWRJc3N1ZXMiLCJzbGljZSIsIndhcm5pbmciLCJlIiwiRXJyb3IiLCJnZXRWaWV3IiwiZ2V0SW50ZXJmYWNlIiwiZXhpdCIsInJlbW92ZUdsb2JhbEluc3RhbmNlIiwiU2VydmljZSIsIl9vSW5zdGFuY2VSZWdpc3RyeSIsIm9TZXJ2aWNlQ29udGV4dCIsImlDcmVhdGluZ1ZpZXdzIiwib1RlbXBsYXRlZFZpZXdTZXJ2aWNlIiwiY29tcG9uZW50RGF0YSIsImdldENvbXBvbmVudERhdGEiLCJmZUVudmlyb25tZW50IiwiZ2V0U2hhcmVDb250cm9sVmlzaWJpbGl0eSIsImdldE51bWJlck9mVmlld3NJbkNyZWF0aW9uU3RhdGUiLCJTZXJ2aWNlRmFjdG9yeSJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiVGVtcGxhdGVkVmlld1NlcnZpY2VGYWN0b3J5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IHR5cGUgQXBwQ29tcG9uZW50IGZyb20gXCJzYXAvZmUvY29yZS9BcHBDb21wb25lbnRcIjtcbmltcG9ydCB0eXBlIHsgQ29tcG9uZW50RGF0YSwgTWFuaWZlc3RDb250ZW50IH0gZnJvbSBcInNhcC9mZS9jb3JlL0FwcENvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUgeyBDb250ZW50RGVuc2l0aWVzVHlwZSwgQ29udHJvbENvbmZpZ3VyYXRpb24gfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9NYW5pZmVzdFNldHRpbmdzXCI7XG5pbXBvcnQgeyByZXF1aXJlRGVwZW5kZW5jaWVzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvTG9hZGVyVXRpbHNcIjtcbmltcG9ydCB7IGFwcGx5UGFnZUNvbmZpZ3VyYXRpb25DaGFuZ2VzIH0gZnJvbSBcInNhcC9mZS9jb3JlL21hbmlmZXN0TWVyZ2VyL0NoYW5nZVBhZ2VDb25maWd1cmF0aW9uXCI7XG5pbXBvcnQgUmVzb3VyY2VNb2RlbCBmcm9tIFwic2FwL2ZlL2NvcmUvUmVzb3VyY2VNb2RlbFwiO1xuaW1wb3J0IHR5cGUgeyBDYWNoZUhhbmRsZXJTZXJ2aWNlIH0gZnJvbSBcInNhcC9mZS9jb3JlL3NlcnZpY2VzL0NhY2hlSGFuZGxlclNlcnZpY2VGYWN0b3J5XCI7XG5pbXBvcnQgVGVtcGxhdGVNb2RlbCBmcm9tIFwic2FwL2ZlL2NvcmUvVGVtcGxhdGVNb2RlbFwiO1xuaW1wb3J0IENvbXBvbmVudCBmcm9tIFwic2FwL3VpL2NvcmUvQ29tcG9uZW50XCI7XG5pbXBvcnQgVmlldyBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL1ZpZXdcIjtcbmltcG9ydCBTZXJ2aWNlIGZyb20gXCJzYXAvdWkvY29yZS9zZXJ2aWNlL1NlcnZpY2VcIjtcbmltcG9ydCBTZXJ2aWNlRmFjdG9yeSBmcm9tIFwic2FwL3VpL2NvcmUvc2VydmljZS9TZXJ2aWNlRmFjdG9yeVwiO1xuaW1wb3J0IFNlcnZpY2VGYWN0b3J5UmVnaXN0cnkgZnJvbSBcInNhcC91aS9jb3JlL3NlcnZpY2UvU2VydmljZUZhY3RvcnlSZWdpc3RyeVwiO1xuaW1wb3J0IERldmljZSBmcm9tIFwic2FwL3VpL0RldmljZVwiO1xuaW1wb3J0IE1hbmFnZWRPYmplY3RNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL2Jhc2UvTWFuYWdlZE9iamVjdE1vZGVsXCI7XG5pbXBvcnQgSlNPTk1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvanNvbi9KU09OTW9kZWxcIjtcbmltcG9ydCB0eXBlIE1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvTW9kZWxcIjtcbmltcG9ydCBWZXJzaW9uSW5mbyBmcm9tIFwic2FwL3VpL1ZlcnNpb25JbmZvXCI7XG5pbXBvcnQgdHlwZSB7IFNlcnZpY2VDb250ZXh0IH0gZnJvbSBcInR5cGVzL21ldGFtb2RlbF90eXBlc1wiO1xuaW1wb3J0IHsgcmVzb2x2ZUR5bmFtaWNFeHByZXNzaW9uIH0gZnJvbSBcIi4uL2hlbHBlcnMvRHluYW1pY0Fubm90YXRpb25QYXRoSGVscGVyXCI7XG5pbXBvcnQgdHlwZSB7IFJlc291cmNlTW9kZWxTZXJ2aWNlIH0gZnJvbSBcIi4vUmVzb3VyY2VNb2RlbFNlcnZpY2VGYWN0b3J5XCI7XG5cbnR5cGUgVGVtcGxhdGVkVmlld1NlcnZpY2VTZXR0aW5ncyA9IHt9O1xuZXhwb3J0IHR5cGUgVmlld0RhdGEgPSB7XG5cdGFwcENvbXBvbmVudDogQXBwQ29tcG9uZW50O1xuXHRuYXZpZ2F0aW9uOiBvYmplY3Q7XG5cdHZpZXdMZXZlbDogbnVtYmVyO1xuXHRzdGFibGVJZDogc3RyaW5nO1xuXHRjb250ZW50RGVuc2l0aWVzPzogQ29udGVudERlbnNpdGllc1R5cGU7XG5cdHJlc291cmNlTW9kZWw6IFJlc291cmNlTW9kZWw7XG5cdGZ1bGxDb250ZXh0UGF0aDogc3RyaW5nO1xuXHRpc0Rlc2t0b3A6IGJvb2xlYW47XG5cdGlzUGhvbmU6IGJvb2xlYW47XG5cdGNvbnZlcnRlclR5cGU/OiBzdHJpbmc7XG5cdHNoZWxsQ29udGVudERlbnNpdHk/OiBzdHJpbmc7XG5cdHVzZU5ld0xhenlMb2FkaW5nPzogYm9vbGVhbjtcblx0cmV0cmlldmVUZXh0RnJvbVZhbHVlTGlzdD86IGJvb2xlYW47XG5cdGNvbnRyb2xDb25maWd1cmF0aW9uPzogQ29udHJvbENvbmZpZ3VyYXRpb247XG5cdGVudGl0eVNldD86IHN0cmluZztcblx0aXNTaGFyZUJ1dHRvblZpc2libGVGb3JNeUluYm94PzogYm9vbGVhbjtcbn07XG5cbmNsYXNzIFRlbXBsYXRlZFZpZXdTZXJ2aWNlIGV4dGVuZHMgU2VydmljZTxUZW1wbGF0ZWRWaWV3U2VydmljZVNldHRpbmdzPiB7XG5cdGluaXRQcm9taXNlITogUHJvbWlzZTxhbnk+O1xuXG5cdG9WaWV3ITogVmlldztcblxuXHRvUmVzb3VyY2VNb2RlbFNlcnZpY2UhOiBSZXNvdXJjZU1vZGVsU2VydmljZTtcblxuXHRvQ2FjaGVIYW5kbGVyU2VydmljZSE6IENhY2hlSGFuZGxlclNlcnZpY2U7XG5cblx0b0ZhY3RvcnkhOiBUZW1wbGF0ZWRWaWV3U2VydmljZUZhY3Rvcnk7XG5cblx0cmVzb3VyY2VNb2RlbCE6IFJlc291cmNlTW9kZWw7XG5cblx0c3RhYmxlSWQhOiBzdHJpbmc7XG5cblx0cGFnZUlkITogc3RyaW5nO1xuXG5cdFRlbXBsYXRlQ29udmVydGVyOiBhbnk7XG5cblx0TWV0YU1vZGVsQ29udmVydGVyOiBhbnk7XG5cblx0aW5pdCgpIHtcblx0XHRjb25zdCBhU2VydmljZURlcGVuZGVuY2llcyA9IFtdO1xuXHRcdGNvbnN0IG9Db250ZXh0ID0gdGhpcy5nZXRDb250ZXh0KCk7XG5cdFx0Y29uc3Qgb0NvbXBvbmVudCA9IG9Db250ZXh0LnNjb3BlT2JqZWN0O1xuXHRcdGNvbnN0IG9BcHBDb21wb25lbnQgPSBDb21wb25lbnQuZ2V0T3duZXJDb21wb25lbnRGb3Iob0NvbXBvbmVudCkgYXMgQXBwQ29tcG9uZW50O1xuXHRcdGNvbnN0IG9NZXRhTW9kZWwgPSBvQXBwQ29tcG9uZW50LmdldE1ldGFNb2RlbCgpO1xuXHRcdHRoaXMucGFnZUlkID0gb0FwcENvbXBvbmVudC5nZXRMb2NhbElkKG9Db21wb25lbnQuZ2V0SWQoKSkgYXMgc3RyaW5nO1xuXHRcdGNvbnN0IHNTdGFibGVJZCA9IGAke29BcHBDb21wb25lbnQuZ2V0TWV0YWRhdGEoKS5nZXRDb21wb25lbnROYW1lKCl9Ojoke3RoaXMucGFnZUlkfWA7XG5cdFx0Y29uc3QgYUVuaGFuY2VJMThuID0gb0NvbXBvbmVudC5nZXRFbmhhbmNlSTE4bigpIHx8IFtdO1xuXHRcdGxldCBzQXBwTmFtZXNwYWNlO1xuXHRcdHRoaXMub0ZhY3RvcnkgPSBvQ29udGV4dC5mYWN0b3J5O1xuXHRcdGlmIChhRW5oYW5jZUkxOG4pIHtcblx0XHRcdHNBcHBOYW1lc3BhY2UgPSBvQXBwQ29tcG9uZW50LmdldE1ldGFkYXRhKCkuZ2V0Q29tcG9uZW50TmFtZSgpO1xuXHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhRW5oYW5jZUkxOG4ubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0Ly8gSW4gb3JkZXIgdG8gc3VwcG9ydCB0ZXh0LXZlcnRpY2FsaXphdGlvbiBhcHBsaWNhdGlvbnMgY2FuIGFsc28gcGFzc3MgYSByZXNvdXJjZSBtb2RlbCBkZWZpbmVkIGluIHRoZSBtYW5pZmVzdFxuXHRcdFx0XHQvLyBVSTUgdGFrZXMgY2FyZSBvZiB0ZXh0LXZlcnRpY2FsaXphdGlvbiBmb3IgcmVzb3VyY2UgbW9kZWxzIGRlZmluZWQgaW4gdGhlIG1hbmlmZXN0XG5cdFx0XHRcdC8vIEhlbmNlIGNoZWNrIGlmIHRoZSBnaXZlbiBrZXkgaXMgYSByZXNvdXJjZSBtb2RlbCBkZWZpbmVkIGluIHRoZSBtYW5pZmVzdFxuXHRcdFx0XHQvLyBpZiBzbyB0aGlzIG1vZGVsIHNob3VsZCBiZSB1c2VkIHRvIGVuaGFuY2UgdGhlIHNhcC5mZSByZXNvdXJjZSBtb2RlbCBzbyBwYXNzIGl0IGFzIGl0IGlzXG5cdFx0XHRcdGNvbnN0IG9SZXNvdXJjZU1vZGVsID0gb0FwcENvbXBvbmVudC5nZXRNb2RlbChhRW5oYW5jZUkxOG5baV0pO1xuXHRcdFx0XHRpZiAob1Jlc291cmNlTW9kZWwgJiYgb1Jlc291cmNlTW9kZWwuaXNBKFwic2FwLnVpLm1vZGVsLnJlc291cmNlLlJlc291cmNlTW9kZWxcIikpIHtcblx0XHRcdFx0XHRhRW5oYW5jZUkxOG5baV0gPSBvUmVzb3VyY2VNb2RlbDtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRhRW5oYW5jZUkxOG5baV0gPSBgJHtzQXBwTmFtZXNwYWNlfS4ke2FFbmhhbmNlSTE4bltpXS5yZXBsYWNlKFwiLnByb3BlcnRpZXNcIiwgXCJcIil9YDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGNvbnN0IHNDYWNoZUlkZW50aWZpZXIgPSBgJHtvQXBwQ29tcG9uZW50LmdldE1ldGFkYXRhKCkuZ2V0TmFtZSgpfV8ke3NTdGFibGVJZH1fJHtzYXAudWlcblx0XHRcdC5nZXRDb3JlKClcblx0XHRcdC5nZXRDb25maWd1cmF0aW9uKClcblx0XHRcdC5nZXRMYW5ndWFnZVRhZygpfWA7XG5cdFx0YVNlcnZpY2VEZXBlbmRlbmNpZXMucHVzaChcblx0XHRcdFNlcnZpY2VGYWN0b3J5UmVnaXN0cnkuZ2V0KFwic2FwLmZlLmNvcmUuc2VydmljZXMuUmVzb3VyY2VNb2RlbFNlcnZpY2VcIilcblx0XHRcdFx0LmNyZWF0ZUluc3RhbmNlKHtcblx0XHRcdFx0XHRzY29wZVR5cGU6IFwiY29tcG9uZW50XCIsXG5cdFx0XHRcdFx0c2NvcGVPYmplY3Q6IG9Db21wb25lbnQsXG5cdFx0XHRcdFx0c2V0dGluZ3M6IHtcblx0XHRcdFx0XHRcdGJ1bmRsZXM6IFtcInNhcC5mZS5jb3JlLm1lc3NhZ2VidW5kbGVcIiwgXCJzYXAuZmUubWFjcm9zLm1lc3NhZ2VidW5kbGVcIiwgXCJzYXAuZmUudGVtcGxhdGVzLm1lc3NhZ2VidW5kbGVcIl0sXG5cdFx0XHRcdFx0XHRlbmhhbmNlSTE4bjogYUVuaGFuY2VJMThuLFxuXHRcdFx0XHRcdFx0bW9kZWxOYW1lOiBcInNhcC5mZS5pMThuXCJcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHRcdC50aGVuKChvUmVzb3VyY2VNb2RlbFNlcnZpY2U6IFJlc291cmNlTW9kZWxTZXJ2aWNlKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5vUmVzb3VyY2VNb2RlbFNlcnZpY2UgPSBvUmVzb3VyY2VNb2RlbFNlcnZpY2U7XG5cdFx0XHRcdFx0cmV0dXJuIG9SZXNvdXJjZU1vZGVsU2VydmljZS5nZXRSZXNvdXJjZU1vZGVsKCk7XG5cdFx0XHRcdH0pXG5cdFx0KTtcblxuXHRcdGFTZXJ2aWNlRGVwZW5kZW5jaWVzLnB1c2goXG5cdFx0XHRTZXJ2aWNlRmFjdG9yeVJlZ2lzdHJ5LmdldChcInNhcC5mZS5jb3JlLnNlcnZpY2VzLkNhY2hlSGFuZGxlclNlcnZpY2VcIilcblx0XHRcdFx0LmNyZWF0ZUluc3RhbmNlKHtcblx0XHRcdFx0XHRzZXR0aW5nczoge1xuXHRcdFx0XHRcdFx0bWV0YU1vZGVsOiBvTWV0YU1vZGVsLFxuXHRcdFx0XHRcdFx0YXBwQ29tcG9uZW50OiBvQXBwQ29tcG9uZW50LFxuXHRcdFx0XHRcdFx0Y29tcG9uZW50OiBvQ29tcG9uZW50XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KVxuXHRcdFx0XHQudGhlbigob0NhY2hlSGFuZGxlclNlcnZpY2U6IGFueSkgPT4ge1xuXHRcdFx0XHRcdHRoaXMub0NhY2hlSGFuZGxlclNlcnZpY2UgPSBvQ2FjaGVIYW5kbGVyU2VydmljZTtcblx0XHRcdFx0XHRyZXR1cm4gb0NhY2hlSGFuZGxlclNlcnZpY2UudmFsaWRhdGVDYWNoZUtleShzQ2FjaGVJZGVudGlmaWVyLCBvQ29tcG9uZW50KTtcblx0XHRcdFx0fSlcblx0XHQpO1xuXHRcdGFTZXJ2aWNlRGVwZW5kZW5jaWVzLnB1c2goXG5cdFx0XHQoVmVyc2lvbkluZm8gYXMgYW55KVxuXHRcdFx0XHQubG9hZCgpXG5cdFx0XHRcdC50aGVuKGZ1bmN0aW9uIChvSW5mbzogYW55KSB7XG5cdFx0XHRcdFx0bGV0IHNUaW1lc3RhbXAgPSBcIlwiO1xuXHRcdFx0XHRcdGlmICghb0luZm8ubGlicmFyaWVzKSB7XG5cdFx0XHRcdFx0XHRzVGltZXN0YW1wID0gKHNhcC51aSBhcyBhbnkpLmJ1aWxkaW5mby5idWlsZHRpbWU7XG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdG9JbmZvLmxpYnJhcmllcy5mb3JFYWNoKGZ1bmN0aW9uIChvTGlicmFyeTogYW55KSB7XG5cdFx0XHRcdFx0XHRcdHNUaW1lc3RhbXAgKz0gb0xpYnJhcnkuYnVpbGRUaW1lc3RhbXA7XG5cdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0cmV0dXJuIHNUaW1lc3RhbXA7XG5cdFx0XHRcdH0pXG5cdFx0XHRcdC5jYXRjaChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0cmV0dXJuIFwiPE5PVkFMVUU+XCI7XG5cdFx0XHRcdH0pXG5cdFx0KTtcblxuXHRcdHRoaXMuaW5pdFByb21pc2UgPSBQcm9taXNlLmFsbChhU2VydmljZURlcGVuZGVuY2llcylcblx0XHRcdC50aGVuKGFzeW5jIChhRGVwZW5kZW5jaWVzUmVzdWx0OiBhbnlbXSkgPT4ge1xuXHRcdFx0XHRjb25zdCBvUmVzb3VyY2VNb2RlbCA9IGFEZXBlbmRlbmNpZXNSZXN1bHRbMF0gYXMgUmVzb3VyY2VNb2RlbDtcblx0XHRcdFx0Y29uc3Qgc0NhY2hlS2V5ID0gYURlcGVuZGVuY2llc1Jlc3VsdFsxXTtcblx0XHRcdFx0Y29uc3Qgb1NpZGVFZmZlY3RzU2VydmljZXMgPSBvQXBwQ29tcG9uZW50LmdldFNpZGVFZmZlY3RzU2VydmljZSgpO1xuXHRcdFx0XHRvU2lkZUVmZmVjdHNTZXJ2aWNlcy5pbml0aWFsaXplU2lkZUVmZmVjdHMob0FwcENvbXBvbmVudC5nZXRFbnZpcm9ubWVudENhcGFiaWxpdGllcygpLmdldENhcGFiaWxpdGllcygpKTtcblxuXHRcdFx0XHRjb25zdCBbVGVtcGxhdGVDb252ZXJ0ZXIsIE1ldGFNb2RlbENvbnZlcnRlcl0gPSBhd2FpdCByZXF1aXJlRGVwZW5kZW5jaWVzKFtcblx0XHRcdFx0XHRcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvVGVtcGxhdGVDb252ZXJ0ZXJcIixcblx0XHRcdFx0XHRcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvTWV0YU1vZGVsQ29udmVydGVyXCJcblx0XHRcdFx0XSk7XG5cdFx0XHRcdHJldHVybiB0aGlzLmNyZWF0ZVZpZXcob1Jlc291cmNlTW9kZWwsIHNTdGFibGVJZCwgc0NhY2hlS2V5LCBUZW1wbGF0ZUNvbnZlcnRlciwgTWV0YU1vZGVsQ29udmVydGVyKTtcblx0XHRcdH0pXG5cdFx0XHQudGhlbihmdW5jdGlvbiAoc0NhY2hlS2V5OiBhbnkpIHtcblx0XHRcdFx0Y29uc3Qgb0NhY2hlSGFuZGxlclNlcnZpY2UgPSBTZXJ2aWNlRmFjdG9yeVJlZ2lzdHJ5LmdldChcInNhcC5mZS5jb3JlLnNlcnZpY2VzLkNhY2hlSGFuZGxlclNlcnZpY2VcIikuZ2V0SW5zdGFuY2Uob01ldGFNb2RlbCk7XG5cdFx0XHRcdG9DYWNoZUhhbmRsZXJTZXJ2aWNlLmludmFsaWRhdGVJZk5lZWRlZChzQ2FjaGVLZXksIHNDYWNoZUlkZW50aWZpZXIsIG9Db21wb25lbnQpO1xuXHRcdFx0fSk7XG5cdH1cblxuXHQvKipcblx0ICogUmVmcmVzaCB0aGUgY3VycmVudCB2aWV3IHVzaW5nIHRoZSBzYW1lIGNvbmZpZ3VyYXRpb24gYXMgYmVmb3JlLlxuXHQgKlxuXHQgKiBAcGFyYW0gb0NvbXBvbmVudFxuXHQgKiBAcmV0dXJucyBBIHByb21pc2UgaW5kaWNhdGluZyB3aGVuIHRoZSB2aWV3IGlzIHJlZnJlc2hlZFxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0cmVmcmVzaFZpZXcob0NvbXBvbmVudDogYW55KSB7XG5cdFx0Y29uc3Qgb1Jvb3RWaWV3ID0gb0NvbXBvbmVudC5nZXRSb290Q29udHJvbCgpO1xuXHRcdGlmIChvUm9vdFZpZXcpIHtcblx0XHRcdG9Sb290Vmlldy5kZXN0cm95KCk7XG5cdFx0fSBlbHNlIGlmICh0aGlzLm9WaWV3KSB7XG5cdFx0XHR0aGlzLm9WaWV3LmRlc3Ryb3koKTtcblx0XHR9XG5cdFx0cmV0dXJuIHRoaXMuY3JlYXRlVmlldyh0aGlzLnJlc291cmNlTW9kZWwsIHRoaXMuc3RhYmxlSWQsIFwiXCIsIHRoaXMuVGVtcGxhdGVDb252ZXJ0ZXIsIHRoaXMuTWV0YU1vZGVsQ29udmVydGVyKVxuXHRcdFx0LnRoZW4oZnVuY3Rpb24gKCkge1xuXHRcdFx0XHRvQ29tcG9uZW50Lm9Db250YWluZXIuaW52YWxpZGF0ZSgpO1xuXHRcdFx0fSlcblx0XHRcdC5jYXRjaChmdW5jdGlvbiAob0Vycm9yOiBhbnkpIHtcblx0XHRcdFx0b0NvbXBvbmVudC5vQ29udGFpbmVyLmludmFsaWRhdGUoKTtcblx0XHRcdFx0TG9nLmVycm9yKG9FcnJvcik7XG5cdFx0XHR9KTtcblx0fVxuXG5cdGFzeW5jIGNyZWF0ZVZpZXcoXG5cdFx0b1Jlc291cmNlTW9kZWw6IFJlc291cmNlTW9kZWwsXG5cdFx0c1N0YWJsZUlkOiBhbnksXG5cdFx0c0NhY2hlS2V5OiBhbnksXG5cdFx0VGVtcGxhdGVDb252ZXJ0ZXI6IGFueSxcblx0XHRNZXRhTW9kZWxDb252ZXJ0ZXI6IGFueVxuXHQpOiBQcm9taXNlPGFueSB8IHZvaWQ+IHtcblx0XHR0aGlzLnJlc291cmNlTW9kZWwgPSBvUmVzb3VyY2VNb2RlbDsgLy8gVE9ETzogZ2V0IHJpZCwga2VwdCBpdCBmb3IgdGhlIHRpbWUgYmVpbmdcblx0XHR0aGlzLnN0YWJsZUlkID0gc1N0YWJsZUlkO1xuXHRcdHRoaXMuVGVtcGxhdGVDb252ZXJ0ZXIgPSBUZW1wbGF0ZUNvbnZlcnRlcjtcblx0XHR0aGlzLk1ldGFNb2RlbENvbnZlcnRlciA9IE1ldGFNb2RlbENvbnZlcnRlcjtcblx0XHRjb25zdCBvQ29udGV4dCA9IHRoaXMuZ2V0Q29udGV4dCgpO1xuXHRcdGNvbnN0IG1TZXJ2aWNlU2V0dGluZ3MgPSBvQ29udGV4dC5zZXR0aW5ncztcblx0XHRjb25zdCBzQ29udmVydGVyVHlwZSA9IG1TZXJ2aWNlU2V0dGluZ3MuY29udmVydGVyVHlwZTtcblx0XHRjb25zdCBvQ29tcG9uZW50ID0gb0NvbnRleHQuc2NvcGVPYmplY3Q7XG5cdFx0Y29uc3Qgb0FwcENvbXBvbmVudDogQXBwQ29tcG9uZW50ID0gQ29tcG9uZW50LmdldE93bmVyQ29tcG9uZW50Rm9yKG9Db21wb25lbnQpIGFzIEFwcENvbXBvbmVudDtcblx0XHRjb25zdCBzRnVsbENvbnRleHRQYXRoID0gb0FwcENvbXBvbmVudC5nZXRSb3V0aW5nU2VydmljZSgpLmdldFRhcmdldEluZm9ybWF0aW9uRm9yKG9Db21wb25lbnQpLm9wdGlvbnMuc2V0dGluZ3MuZnVsbENvbnRleHRQYXRoO1xuXHRcdGNvbnN0IG9NZXRhTW9kZWwgPSBvQXBwQ29tcG9uZW50LmdldE1ldGFNb2RlbCgpO1xuXHRcdGNvbnN0IG9NYW5pZmVzdENvbnRlbnQ6IE1hbmlmZXN0Q29udGVudCA9IG9BcHBDb21wb25lbnQuZ2V0TWFuaWZlc3QoKTtcblx0XHRjb25zdCBvRGV2aWNlTW9kZWwgPSBuZXcgSlNPTk1vZGVsKERldmljZSkuc2V0RGVmYXVsdEJpbmRpbmdNb2RlKFwiT25lV2F5XCIpO1xuXHRcdGNvbnN0IG9NYW5pZmVzdE1vZGVsID0gbmV3IEpTT05Nb2RlbChvTWFuaWZlc3RDb250ZW50KTtcblx0XHRjb25zdCBiRXJyb3IgPSBmYWxzZTtcblx0XHRsZXQgb1BhZ2VNb2RlbDogVGVtcGxhdGVNb2RlbCwgb1ZpZXdEYXRhTW9kZWw6IE1vZGVsLCBvVmlld1NldHRpbmdzOiBhbnksIG1WaWV3RGF0YTogVmlld0RhdGE7XG5cblx0XHQvLyBMb2FkIHRoZSBpbmRleCBmb3IgdGhlIGFkZGl0aW9uYWwgYnVpbGRpbmcgYmxvY2tzIHdoaWNoIGlzIHJlc3BvbnNpYmxlIGZvciBpbml0aWFsaXppbmcgdGhlbVxuXHRcdGZ1bmN0aW9uIGdldFZpZXdTZXR0aW5ncygpIHtcblx0XHRcdGNvbnN0IGFTcGxpdFBhdGggPSBzRnVsbENvbnRleHRQYXRoLnNwbGl0KFwiL1wiKTtcblx0XHRcdGNvbnN0IHNFbnRpdHlTZXRQYXRoID0gYVNwbGl0UGF0aC5yZWR1Y2UoZnVuY3Rpb24gKHNQYXRoU29GYXI6IGFueSwgc05leHRQYXRoUGFydDogYW55KSB7XG5cdFx0XHRcdGlmIChzTmV4dFBhdGhQYXJ0ID09PSBcIlwiKSB7XG5cdFx0XHRcdFx0cmV0dXJuIHNQYXRoU29GYXI7XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKHNQYXRoU29GYXIgPT09IFwiXCIpIHtcblx0XHRcdFx0XHRzUGF0aFNvRmFyID0gYC8ke3NOZXh0UGF0aFBhcnR9YDtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRjb25zdCBvVGFyZ2V0ID0gb01ldGFNb2RlbC5nZXRPYmplY3QoYCR7c1BhdGhTb0Zhcn0vJE5hdmlnYXRpb25Qcm9wZXJ0eUJpbmRpbmcvJHtzTmV4dFBhdGhQYXJ0fWApO1xuXHRcdFx0XHRcdGlmIChvVGFyZ2V0ICYmIE9iamVjdC5rZXlzKG9UYXJnZXQpLmxlbmd0aCA+IDApIHtcblx0XHRcdFx0XHRcdHNQYXRoU29GYXIgKz0gXCIvJE5hdmlnYXRpb25Qcm9wZXJ0eUJpbmRpbmdcIjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0c1BhdGhTb0ZhciArPSBgLyR7c05leHRQYXRoUGFydH1gO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiBzUGF0aFNvRmFyO1xuXHRcdFx0fSwgXCJcIik7XG5cdFx0XHRsZXQgdmlld1R5cGUgPSBtU2VydmljZVNldHRpbmdzLnZpZXdUeXBlIHx8IG9Db21wb25lbnQuZ2V0Vmlld1R5cGUoKSB8fCBcIlhNTFwiO1xuXHRcdFx0aWYgKHZpZXdUeXBlICE9PSBcIlhNTFwiKSB7XG5cdFx0XHRcdHZpZXdUeXBlID0gdW5kZWZpbmVkO1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0dHlwZTogdmlld1R5cGUsXG5cdFx0XHRcdHByZXByb2Nlc3NvcnM6IHtcblx0XHRcdFx0XHR4bWw6IHtcblx0XHRcdFx0XHRcdGJpbmRpbmdDb250ZXh0czoge1xuXHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ6IHNFbnRpdHlTZXRQYXRoID8gb01ldGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dChzRW50aXR5U2V0UGF0aCkgOiBudWxsLFxuXHRcdFx0XHRcdFx0XHRmdWxsQ29udGV4dFBhdGg6IHNGdWxsQ29udGV4dFBhdGggPyBvTWV0YU1vZGVsLmNyZWF0ZUJpbmRpbmdDb250ZXh0KHNGdWxsQ29udGV4dFBhdGgpIDogbnVsbCxcblx0XHRcdFx0XHRcdFx0Y29udGV4dFBhdGg6IHNGdWxsQ29udGV4dFBhdGggPyBvTWV0YU1vZGVsLmNyZWF0ZUJpbmRpbmdDb250ZXh0KHNGdWxsQ29udGV4dFBhdGgpIDogbnVsbCxcblx0XHRcdFx0XHRcdFx0Y29udmVydGVyQ29udGV4dDogb1BhZ2VNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dChcIi9cIiwgdW5kZWZpbmVkLCB7IG5vUmVzb2x2ZTogdHJ1ZSB9KSxcblx0XHRcdFx0XHRcdFx0dmlld0RhdGE6IG1WaWV3RGF0YSA/IG9WaWV3RGF0YU1vZGVsLmNyZWF0ZUJpbmRpbmdDb250ZXh0KFwiL1wiKSA6IG51bGxcblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRtb2RlbHM6IHtcblx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0OiBvTWV0YU1vZGVsLFxuXHRcdFx0XHRcdFx0XHRmdWxsQ29udGV4dFBhdGg6IG9NZXRhTW9kZWwsXG5cdFx0XHRcdFx0XHRcdGNvbnRleHRQYXRoOiBvTWV0YU1vZGVsLFxuXHRcdFx0XHRcdFx0XHRcInNhcC5mZS5pMThuXCI6IG9SZXNvdXJjZU1vZGVsLFxuXHRcdFx0XHRcdFx0XHRtZXRhTW9kZWw6IG9NZXRhTW9kZWwsXG5cdFx0XHRcdFx0XHRcdGRldmljZTogb0RldmljZU1vZGVsLFxuXHRcdFx0XHRcdFx0XHRtYW5pZmVzdDogb01hbmlmZXN0TW9kZWwsXG5cdFx0XHRcdFx0XHRcdGNvbnZlcnRlckNvbnRleHQ6IG9QYWdlTW9kZWwsXG5cdFx0XHRcdFx0XHRcdHZpZXdEYXRhOiBvVmlld0RhdGFNb2RlbFxuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdGFwcENvbXBvbmVudDogb0FwcENvbXBvbmVudFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSxcblx0XHRcdFx0aWQ6IHNTdGFibGVJZCxcblx0XHRcdFx0dmlld05hbWU6IG1TZXJ2aWNlU2V0dGluZ3Mudmlld05hbWUgfHwgb0NvbXBvbmVudC5nZXRWaWV3TmFtZSgpLFxuXHRcdFx0XHR2aWV3RGF0YTogbVZpZXdEYXRhLFxuXHRcdFx0XHRjYWNoZToge1xuXHRcdFx0XHRcdGtleXM6IFtzQ2FjaGVLZXldLFxuXHRcdFx0XHRcdGFkZGl0aW9uYWxEYXRhOiB7XG5cdFx0XHRcdFx0XHQvLyBXZSBzdG9yZSB0aGUgcGFnZSBtb2RlbCBkYXRhIGluIHRoZSBgYWRkaXRpb25hbERhdGFgIG9mIHRoZSB2aWV3IGNhY2hlLCB0aGlzIHdheSBpdCBpcyBhbHdheXMgaW4gc3luY1xuXHRcdFx0XHRcdFx0Z2V0QWRkaXRpb25hbENhY2hlRGF0YTogKCkgPT4ge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gKG9QYWdlTW9kZWwgYXMgdW5rbm93biBhcyBKU09OTW9kZWwpLmdldERhdGEoKTtcblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRzZXRBZGRpdGlvbmFsQ2FjaGVEYXRhOiAodmFsdWU6IG9iamVjdCkgPT4ge1xuXHRcdFx0XHRcdFx0XHQob1BhZ2VNb2RlbCBhcyB1bmtub3duIGFzIEpTT05Nb2RlbCkuc2V0RGF0YSh2YWx1ZSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9LFxuXHRcdFx0XHRtb2RlbHM6IHtcblx0XHRcdFx0XHRcInNhcC5mZS5pMThuXCI6IG9SZXNvdXJjZU1vZGVsXG5cdFx0XHRcdH0sXG5cdFx0XHRcdGhlaWdodDogXCIxMDAlXCJcblx0XHRcdH07XG5cdFx0fVxuXHRcdGNvbnN0IGNyZWF0ZUVycm9yUGFnZSA9IChyZWFzb246IGFueSkgPT4ge1xuXHRcdFx0Ly8ganVzdCByZXBsYWNlIHRoZSB2aWV3IG5hbWUgYW5kIGFkZCBhbiBhZGRpdGlvbmFsIG1vZGVsIGNvbnRhaW5pbmcgdGhlIHJlYXNvbiwgYnV0XG5cdFx0XHQvLyBrZWVwIHRoZSBvdGhlciBzZXR0aW5nc1xuXHRcdFx0TG9nLmVycm9yKHJlYXNvbi5tZXNzYWdlLCByZWFzb24pO1xuXHRcdFx0b1ZpZXdTZXR0aW5ncy52aWV3TmFtZSA9IG1TZXJ2aWNlU2V0dGluZ3MuZXJyb3JWaWV3TmFtZSB8fCBcInNhcC5mZS5jb3JlLnNlcnZpY2VzLnZpZXcuVGVtcGxhdGluZ0Vycm9yUGFnZVwiO1xuXHRcdFx0b1ZpZXdTZXR0aW5ncy5wcmVwcm9jZXNzb3JzLnhtbC5tb2RlbHNbXCJlcnJvclwiXSA9IG5ldyBKU09OTW9kZWwocmVhc29uKTtcblxuXHRcdFx0cmV0dXJuIG9Db21wb25lbnQucnVuQXNPd25lcigoKSA9PiB7XG5cdFx0XHRcdHJldHVybiBWaWV3LmNyZWF0ZShvVmlld1NldHRpbmdzKS50aGVuKChvVmlldzogYW55KSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5vVmlldyA9IG9WaWV3O1xuXHRcdFx0XHRcdHRoaXMub1ZpZXcuc2V0TW9kZWwobmV3IE1hbmFnZWRPYmplY3RNb2RlbCh0aGlzLm9WaWV3KSwgXCIkdmlld1wiKTtcblx0XHRcdFx0XHRvQ29tcG9uZW50LnNldEFnZ3JlZ2F0aW9uKFwicm9vdENvbnRyb2xcIiwgdGhpcy5vVmlldyk7XG5cdFx0XHRcdFx0cmV0dXJuIHNDYWNoZUtleTtcblx0XHRcdFx0fSk7XG5cdFx0XHR9KTtcblx0XHR9O1xuXG5cdFx0dHJ5IHtcblx0XHRcdGNvbnN0IG9Sb3V0aW5nU2VydmljZSA9IGF3YWl0IG9BcHBDb21wb25lbnQuZ2V0U2VydmljZShcInJvdXRpbmdTZXJ2aWNlXCIpO1xuXHRcdFx0Ly8gUmV0cmlldmUgdGhlIHZpZXdMZXZlbCBmb3IgdGhlIGNvbXBvbmVudFxuXHRcdFx0Y29uc3Qgb1RhcmdldEluZm8gPSBvUm91dGluZ1NlcnZpY2UuZ2V0VGFyZ2V0SW5mb3JtYXRpb25Gb3Iob0NvbXBvbmVudCk7XG5cdFx0XHRjb25zdCBtT3V0Ym91bmRzID1cblx0XHRcdFx0KG9NYW5pZmVzdENvbnRlbnRbXCJzYXAuYXBwXCJdICYmXG5cdFx0XHRcdFx0b01hbmlmZXN0Q29udGVudFtcInNhcC5hcHBcIl0uY3Jvc3NOYXZpZ2F0aW9uICYmXG5cdFx0XHRcdFx0b01hbmlmZXN0Q29udGVudFtcInNhcC5hcHBcIl0uY3Jvc3NOYXZpZ2F0aW9uLm91dGJvdW5kcykgfHxcblx0XHRcdFx0e307XG5cdFx0XHRjb25zdCBtTmF2aWdhdGlvbiA9IG9Db21wb25lbnQuZ2V0TmF2aWdhdGlvbigpIHx8IHt9O1xuXHRcdFx0T2JqZWN0LmtleXMobU5hdmlnYXRpb24pLmZvckVhY2goZnVuY3Rpb24gKG5hdmlnYXRpb25PYmplY3RLZXk6IHN0cmluZykge1xuXHRcdFx0XHRjb25zdCBuYXZpZ2F0aW9uT2JqZWN0ID0gbU5hdmlnYXRpb25bbmF2aWdhdGlvbk9iamVjdEtleV07XG5cdFx0XHRcdGxldCBvdXRib3VuZENvbmZpZztcblx0XHRcdFx0aWYgKG5hdmlnYXRpb25PYmplY3QuZGV0YWlsICYmIG5hdmlnYXRpb25PYmplY3QuZGV0YWlsLm91dGJvdW5kICYmIG1PdXRib3VuZHNbbmF2aWdhdGlvbk9iamVjdC5kZXRhaWwub3V0Ym91bmRdKSB7XG5cdFx0XHRcdFx0b3V0Ym91bmRDb25maWcgPSBtT3V0Ym91bmRzW25hdmlnYXRpb25PYmplY3QuZGV0YWlsLm91dGJvdW5kXTtcblx0XHRcdFx0XHRuYXZpZ2F0aW9uT2JqZWN0LmRldGFpbC5vdXRib3VuZERldGFpbCA9IHtcblx0XHRcdFx0XHRcdHNlbWFudGljT2JqZWN0OiBvdXRib3VuZENvbmZpZy5zZW1hbnRpY09iamVjdCxcblx0XHRcdFx0XHRcdGFjdGlvbjogb3V0Ym91bmRDb25maWcuYWN0aW9uLFxuXHRcdFx0XHRcdFx0cGFyYW1ldGVyczogb3V0Ym91bmRDb25maWcucGFyYW1ldGVyc1xuXHRcdFx0XHRcdH07XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKG5hdmlnYXRpb25PYmplY3QuY3JlYXRlICYmIG5hdmlnYXRpb25PYmplY3QuY3JlYXRlLm91dGJvdW5kICYmIG1PdXRib3VuZHNbbmF2aWdhdGlvbk9iamVjdC5jcmVhdGUub3V0Ym91bmRdKSB7XG5cdFx0XHRcdFx0b3V0Ym91bmRDb25maWcgPSBtT3V0Ym91bmRzW25hdmlnYXRpb25PYmplY3QuY3JlYXRlLm91dGJvdW5kXTtcblx0XHRcdFx0XHRuYXZpZ2F0aW9uT2JqZWN0LmNyZWF0ZS5vdXRib3VuZERldGFpbCA9IHtcblx0XHRcdFx0XHRcdHNlbWFudGljT2JqZWN0OiBvdXRib3VuZENvbmZpZy5zZW1hbnRpY09iamVjdCxcblx0XHRcdFx0XHRcdGFjdGlvbjogb3V0Ym91bmRDb25maWcuYWN0aW9uLFxuXHRcdFx0XHRcdFx0cGFyYW1ldGVyczogb3V0Ym91bmRDb25maWcucGFyYW1ldGVyc1xuXHRcdFx0XHRcdH07XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXG5cdFx0XHRtVmlld0RhdGEgPSB7XG5cdFx0XHRcdGFwcENvbXBvbmVudDogb0FwcENvbXBvbmVudCxcblx0XHRcdFx0bmF2aWdhdGlvbjogbU5hdmlnYXRpb24sXG5cdFx0XHRcdHZpZXdMZXZlbDogb1RhcmdldEluZm8udmlld0xldmVsLFxuXHRcdFx0XHRzdGFibGVJZDogc1N0YWJsZUlkLFxuXHRcdFx0XHRjb250ZW50RGVuc2l0aWVzOiBvTWFuaWZlc3RDb250ZW50W1wic2FwLnVpNVwiXT8uY29udGVudERlbnNpdGllcyxcblx0XHRcdFx0cmVzb3VyY2VNb2RlbDogb1Jlc291cmNlTW9kZWwsXG5cdFx0XHRcdGZ1bGxDb250ZXh0UGF0aDogc0Z1bGxDb250ZXh0UGF0aCxcblx0XHRcdFx0aXNEZXNrdG9wOiAoRGV2aWNlIGFzIGFueSkuc3lzdGVtLmRlc2t0b3AsXG5cdFx0XHRcdGlzUGhvbmU6IChEZXZpY2UgYXMgYW55KS5zeXN0ZW0ucGhvbmVcblx0XHRcdH07XG5cblx0XHRcdGlmIChvQ29tcG9uZW50LmdldFZpZXdEYXRhKSB7XG5cdFx0XHRcdE9iamVjdC5hc3NpZ24obVZpZXdEYXRhLCBvQ29tcG9uZW50LmdldFZpZXdEYXRhKCkpO1xuXG5cdFx0XHRcdGNvbnN0IGFjdHVhbFNldHRpbmdzID0gb01hbmlmZXN0Q29udGVudD8uW1wic2FwLnVpNVwiXT8ucm91dGluZz8udGFyZ2V0cz8uW3RoaXMucGFnZUlkXT8ub3B0aW9ucz8uc2V0dGluZ3MgfHwge307XG5cdFx0XHRcdG1WaWV3RGF0YSA9IGFwcGx5UGFnZUNvbmZpZ3VyYXRpb25DaGFuZ2VzKGFjdHVhbFNldHRpbmdzLCBtVmlld0RhdGEsIG9BcHBDb21wb25lbnQsIHRoaXMucGFnZUlkKTtcblx0XHRcdH1cblxuXHRcdFx0bVZpZXdEYXRhLmlzU2hhcmVCdXR0b25WaXNpYmxlRm9yTXlJbmJveCA9IFRlbXBsYXRlZFZpZXdTZXJ2aWNlRmFjdG9yeS5nZXRTaGFyZUJ1dHRvblZpc2liaWxpdHlGb3JNeUluYm94KG9BcHBDb21wb25lbnQpO1xuXHRcdFx0Y29uc3Qgb1NoZWxsU2VydmljZXMgPSBvQXBwQ29tcG9uZW50LmdldFNoZWxsU2VydmljZXMoKTtcblx0XHRcdG1WaWV3RGF0YS5jb252ZXJ0ZXJUeXBlID0gc0NvbnZlcnRlclR5cGU7XG5cdFx0XHRtVmlld0RhdGEuc2hlbGxDb250ZW50RGVuc2l0eSA9IG9TaGVsbFNlcnZpY2VzLmdldENvbnRlbnREZW5zaXR5KCk7XG5cdFx0XHRtVmlld0RhdGEucmV0cmlldmVUZXh0RnJvbVZhbHVlTGlzdCA9XG5cdFx0XHRcdG9NYW5pZmVzdENvbnRlbnRbXCJzYXAuZmVcIl0gJiYgb01hbmlmZXN0Q29udGVudFtcInNhcC5mZVwiXS5mb3JtXG5cdFx0XHRcdFx0PyBvTWFuaWZlc3RDb250ZW50W1wic2FwLmZlXCJdLmZvcm0ucmV0cmlldmVUZXh0RnJvbVZhbHVlTGlzdFxuXHRcdFx0XHRcdDogdW5kZWZpbmVkO1xuXHRcdFx0b1ZpZXdEYXRhTW9kZWwgPSBuZXcgSlNPTk1vZGVsKG1WaWV3RGF0YSk7XG5cdFx0XHRpZiAobVZpZXdEYXRhLmNvbnRyb2xDb25maWd1cmF0aW9uKSB7XG5cdFx0XHRcdGZvciAoY29uc3Qgc0Fubm90YXRpb25QYXRoIGluIG1WaWV3RGF0YS5jb250cm9sQ29uZmlndXJhdGlvbikge1xuXHRcdFx0XHRcdGlmIChzQW5ub3RhdGlvblBhdGguaW5kZXhPZihcIltcIikgIT09IC0xKSB7XG5cdFx0XHRcdFx0XHRjb25zdCBzVGFyZ2V0QW5ub3RhdGlvblBhdGggPSByZXNvbHZlRHluYW1pY0V4cHJlc3Npb24oc0Fubm90YXRpb25QYXRoLCBvTWV0YU1vZGVsKTtcblx0XHRcdFx0XHRcdG1WaWV3RGF0YS5jb250cm9sQ29uZmlndXJhdGlvbltzVGFyZ2V0QW5ub3RhdGlvblBhdGhdID0gbVZpZXdEYXRhLmNvbnRyb2xDb25maWd1cmF0aW9uW3NBbm5vdGF0aW9uUGF0aF07XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRNZXRhTW9kZWxDb252ZXJ0ZXIuY29udmVydFR5cGVzKG9NZXRhTW9kZWwsIG9BcHBDb21wb25lbnQuZ2V0RW52aXJvbm1lbnRDYXBhYmlsaXRpZXMoKS5nZXRDYXBhYmlsaXRpZXMoKSk7XG5cdFx0XHRvUGFnZU1vZGVsID0gbmV3IFRlbXBsYXRlTW9kZWwoKCkgPT4ge1xuXHRcdFx0XHR0cnkge1xuXHRcdFx0XHRcdGNvbnN0IG9EaWFnbm9zdGljcyA9IG9BcHBDb21wb25lbnQuZ2V0RGlhZ25vc3RpY3MoKTtcblx0XHRcdFx0XHRjb25zdCBpSXNzdWVDb3VudCA9IG9EaWFnbm9zdGljcy5nZXRJc3N1ZXMoKS5sZW5ndGg7XG5cdFx0XHRcdFx0Y29uc3Qgb0NvbnZlcnRlclBhZ2VNb2RlbCA9IFRlbXBsYXRlQ29udmVydGVyLmNvbnZlcnRQYWdlKFxuXHRcdFx0XHRcdFx0c0NvbnZlcnRlclR5cGUsXG5cdFx0XHRcdFx0XHRvTWV0YU1vZGVsLFxuXHRcdFx0XHRcdFx0bVZpZXdEYXRhLFxuXHRcdFx0XHRcdFx0b0RpYWdub3N0aWNzLFxuXHRcdFx0XHRcdFx0c0Z1bGxDb250ZXh0UGF0aCxcblx0XHRcdFx0XHRcdG9BcHBDb21wb25lbnQuZ2V0RW52aXJvbm1lbnRDYXBhYmlsaXRpZXMoKS5nZXRDYXBhYmlsaXRpZXMoKSxcblx0XHRcdFx0XHRcdG9Db21wb25lbnRcblx0XHRcdFx0XHQpO1xuXG5cdFx0XHRcdFx0Y29uc3QgYUlzc3VlcyA9IG9EaWFnbm9zdGljcy5nZXRJc3N1ZXMoKTtcblx0XHRcdFx0XHRjb25zdCBhQWRkZWRJc3N1ZXMgPSBhSXNzdWVzLnNsaWNlKGlJc3N1ZUNvdW50KTtcblx0XHRcdFx0XHRpZiAoYUFkZGVkSXNzdWVzLmxlbmd0aCA+IDApIHtcblx0XHRcdFx0XHRcdExvZy53YXJuaW5nKFxuXHRcdFx0XHRcdFx0XHRcIlNvbWUgaXNzdWVzIGhhdmUgYmVlbiBkZXRlY3RlZCBpbiB5b3VyIHByb2plY3QsIHBsZWFzZSBjaGVjayB0aGUgVUk1IHN1cHBvcnQgYXNzaXN0YW50IHJ1bGUgZm9yIHNhcC5mZS5jb3JlXCJcblx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHJldHVybiBvQ29udmVydGVyUGFnZU1vZGVsO1xuXHRcdFx0XHR9IGNhdGNoIChlcnJvcikge1xuXHRcdFx0XHRcdExvZy5lcnJvcihlcnJvciBhcyBhbnksIGVycm9yIGFzIGFueSk7XG5cdFx0XHRcdFx0cmV0dXJuIHt9O1xuXHRcdFx0XHR9XG5cdFx0XHR9LCBvTWV0YU1vZGVsKTtcblxuXHRcdFx0aWYgKCFiRXJyb3IpIHtcblx0XHRcdFx0b1ZpZXdTZXR0aW5ncyA9IGdldFZpZXdTZXR0aW5ncygpO1xuXHRcdFx0XHQvLyBTZXR0aW5nIHRoZSBwYWdlTW9kZWwgb24gdGhlIGNvbXBvbmVudCBmb3IgcG90ZW50aWFsIHJldXNlXG5cdFx0XHRcdG9Db21wb25lbnQuc2V0TW9kZWwob1BhZ2VNb2RlbCwgXCJfcGFnZU1vZGVsXCIpO1xuXHRcdFx0XHRyZXR1cm4gb0NvbXBvbmVudC5ydW5Bc093bmVyKCgpID0+IHtcblx0XHRcdFx0XHRyZXR1cm4gVmlldy5jcmVhdGUob1ZpZXdTZXR0aW5ncylcblx0XHRcdFx0XHRcdC5jYXRjaChjcmVhdGVFcnJvclBhZ2UpXG5cdFx0XHRcdFx0XHQudGhlbigob1ZpZXc6IGFueSkgPT4ge1xuXHRcdFx0XHRcdFx0XHR0aGlzLm9WaWV3ID0gb1ZpZXc7XG5cdFx0XHRcdFx0XHRcdHRoaXMub1ZpZXcuc2V0TW9kZWwobmV3IE1hbmFnZWRPYmplY3RNb2RlbCh0aGlzLm9WaWV3KSwgXCIkdmlld1wiKTtcblx0XHRcdFx0XHRcdFx0dGhpcy5vVmlldy5zZXRNb2RlbChvVmlld0RhdGFNb2RlbCwgXCJ2aWV3RGF0YVwiKTtcblx0XHRcdFx0XHRcdFx0b0NvbXBvbmVudC5zZXRBZ2dyZWdhdGlvbihcInJvb3RDb250cm9sXCIsIHRoaXMub1ZpZXcpO1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gc0NhY2hlS2V5O1xuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdC5jYXRjaCgoZSkgPT4gTG9nLmVycm9yKGUubWVzc2FnZSwgZSkpO1xuXHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHR9IGNhdGNoIChlcnJvcjogYW55KSB7XG5cdFx0XHRMb2cuZXJyb3IoZXJyb3IubWVzc2FnZSwgZXJyb3IpO1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBFcnJvciB3aGlsZSBjcmVhdGluZyB2aWV3IDogJHtlcnJvcn1gKTtcblx0XHR9XG5cdH1cblxuXHRnZXRWaWV3KCkge1xuXHRcdHJldHVybiB0aGlzLm9WaWV3O1xuXHR9XG5cblx0Z2V0SW50ZXJmYWNlKCk6IGFueSB7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHRleGl0KCkge1xuXHRcdC8vIERlcmVnaXN0ZXIgZ2xvYmFsIGluc3RhbmNlXG5cdFx0aWYgKHRoaXMub1Jlc291cmNlTW9kZWxTZXJ2aWNlKSB7XG5cdFx0XHR0aGlzLm9SZXNvdXJjZU1vZGVsU2VydmljZS5kZXN0cm95KCk7XG5cdFx0fVxuXHRcdGlmICh0aGlzLm9DYWNoZUhhbmRsZXJTZXJ2aWNlKSB7XG5cdFx0XHR0aGlzLm9DYWNoZUhhbmRsZXJTZXJ2aWNlLmRlc3Ryb3koKTtcblx0XHR9XG5cdFx0dGhpcy5vRmFjdG9yeS5yZW1vdmVHbG9iYWxJbnN0YW5jZSgpO1xuXHR9XG59XG5cbmNsYXNzIFRlbXBsYXRlZFZpZXdTZXJ2aWNlRmFjdG9yeSBleHRlbmRzIFNlcnZpY2VGYWN0b3J5PFRlbXBsYXRlZFZpZXdTZXJ2aWNlU2V0dGluZ3M+IHtcblx0X29JbnN0YW5jZVJlZ2lzdHJ5OiBSZWNvcmQ8c3RyaW5nLCBUZW1wbGF0ZWRWaWV3U2VydmljZT4gPSB7fTtcblxuXHRzdGF0aWMgaUNyZWF0aW5nVmlld3M6IDA7XG5cblx0Y3JlYXRlSW5zdGFuY2Uob1NlcnZpY2VDb250ZXh0OiBTZXJ2aWNlQ29udGV4dDxUZW1wbGF0ZWRWaWV3U2VydmljZVNldHRpbmdzPikge1xuXHRcdFRlbXBsYXRlZFZpZXdTZXJ2aWNlRmFjdG9yeS5pQ3JlYXRpbmdWaWV3cysrO1xuXG5cdFx0Y29uc3Qgb1RlbXBsYXRlZFZpZXdTZXJ2aWNlID0gbmV3IFRlbXBsYXRlZFZpZXdTZXJ2aWNlKE9iamVjdC5hc3NpZ24oeyBmYWN0b3J5OiB0aGlzIH0sIG9TZXJ2aWNlQ29udGV4dCkpO1xuXHRcdHJldHVybiBvVGVtcGxhdGVkVmlld1NlcnZpY2UuaW5pdFByb21pc2UudGhlbihmdW5jdGlvbiAoKSB7XG5cdFx0XHRUZW1wbGF0ZWRWaWV3U2VydmljZUZhY3RvcnkuaUNyZWF0aW5nVmlld3MtLTtcblx0XHRcdHJldHVybiBvVGVtcGxhdGVkVmlld1NlcnZpY2U7XG5cdFx0fSk7XG5cdH1cblxuXHRyZW1vdmVHbG9iYWxJbnN0YW5jZSgpIHtcblx0XHR0aGlzLl9vSW5zdGFuY2VSZWdpc3RyeSA9IHt9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiBUaGlzIGZ1bmN0aW9uIGNoZWNrcyBpZiB0aGUgY29tcG9uZW50IGRhdGEgc3BlY2lmaWVzIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSAnU2hhcmUnIGJ1dHRvbiBhbmQgcmV0dXJucyB0cnVlIG9yIGZhbHNlIGJhc2VkIG9uIHRoZSB2aXNpYmlsaXR5XG5cdCAqIEBwYXJhbSBhcHBDb21wb25lbnQgU3BlY2lmaWVzIHRoZSBhcHAgY29tcG9uZW50XG5cdCAqIEByZXR1cm5zIEJvb2xlYW4gdmFsdWUgYXMgdHJ1ZSBvciBmYWxzZSBiYXNlZCB3aGV0aGVyIHRoZSAnU2hhcmUnIGJ1dHRvbiBzaG91bGQgYmUgdmlzaWJsZSBvciBub3Rcblx0ICovXG5cdHN0YXRpYyBnZXRTaGFyZUJ1dHRvblZpc2liaWxpdHlGb3JNeUluYm94KGFwcENvbXBvbmVudDogQXBwQ29tcG9uZW50KSB7XG5cdFx0Y29uc3QgY29tcG9uZW50RGF0YTogQ29tcG9uZW50RGF0YSA9IGFwcENvbXBvbmVudC5nZXRDb21wb25lbnREYXRhKCk7XG5cdFx0aWYgKGNvbXBvbmVudERhdGEgIT09IHVuZGVmaW5lZCAmJiBjb21wb25lbnREYXRhLmZlRW52aXJvbm1lbnQpIHtcblx0XHRcdHJldHVybiBjb21wb25lbnREYXRhLmZlRW52aXJvbm1lbnQuZ2V0U2hhcmVDb250cm9sVmlzaWJpbGl0eSgpO1xuXHRcdH1cblx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHR9XG5cblx0c3RhdGljIGdldE51bWJlck9mVmlld3NJbkNyZWF0aW9uU3RhdGUoKSB7XG5cdFx0cmV0dXJuIFRlbXBsYXRlZFZpZXdTZXJ2aWNlRmFjdG9yeS5pQ3JlYXRpbmdWaWV3cztcblx0fVxufVxuXG5leHBvcnQgZGVmYXVsdCBUZW1wbGF0ZWRWaWV3U2VydmljZUZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7OztNQTJDTUEsb0JBQW9CO0lBQUE7SUFBQTtNQUFBO0lBQUE7SUFBQTtJQUFBLE9BcUJ6QkMsSUFBSSxHQUFKLGdCQUFPO01BQ04sTUFBTUMsb0JBQW9CLEdBQUcsRUFBRTtNQUMvQixNQUFNQyxRQUFRLEdBQUcsSUFBSSxDQUFDQyxVQUFVLEVBQUU7TUFDbEMsTUFBTUMsVUFBVSxHQUFHRixRQUFRLENBQUNHLFdBQVc7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
374
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUZW1wbGF0ZWRWaWV3U2VydmljZSIsImluaXQiLCJhU2VydmljZURlcGVuZGVuY2llcyIsIm9Db250ZXh0IiwiZ2V0Q29udGV4dCIsIm9Db21wb25lbnQiLCJzY29wZU9iamVjdCIsIm9BcHBDb21wb25lbnQiLCJDb21wb25lbnQiLCJnZXRPd25lckNvbXBvbmVudEZvciIsIm9NZXRhTW9kZWwiLCJnZXRNZXRhTW9kZWwiLCJwYWdlSWQiLCJnZXRMb2NhbElkIiwiZ2V0SWQiLCJzU3RhYmxlSWQiLCJnZXRNZXRhZGF0YSIsImdldENvbXBvbmVudE5hbWUiLCJhRW5oYW5jZUkxOG4iLCJnZXRFbmhhbmNlSTE4biIsInNBcHBOYW1lc3BhY2UiLCJvRmFjdG9yeSIsImZhY3RvcnkiLCJpIiwibGVuZ3RoIiwib1Jlc291cmNlTW9kZWwiLCJnZXRNb2RlbCIsImlzQSIsInJlcGxhY2UiLCJzQ2FjaGVJZGVudGlmaWVyIiwiZ2V0TmFtZSIsInNhcCIsInVpIiwiZ2V0Q29yZSIsImdldENvbmZpZ3VyYXRpb24iLCJnZXRMYW5ndWFnZVRhZyIsInB1c2giLCJTZXJ2aWNlRmFjdG9yeVJlZ2lzdHJ5IiwiZ2V0IiwiY3JlYXRlSW5zdGFuY2UiLCJzY29wZVR5cGUiLCJzZXR0aW5ncyIsImJ1bmRsZXMiLCJlbmhhbmNlSTE4biIsIm1vZGVsTmFtZSIsInRoZW4iLCJvUmVzb3VyY2VNb2RlbFNlcnZpY2UiLCJnZXRSZXNvdXJjZU1vZGVsIiwibWV0YU1vZGVsIiwiYXBwQ29tcG9uZW50IiwiY29tcG9uZW50Iiwib0NhY2hlSGFuZGxlclNlcnZpY2UiLCJ2YWxpZGF0ZUNhY2hlS2V5IiwiVmVyc2lvbkluZm8iLCJsb2FkIiwib0luZm8iLCJzVGltZXN0YW1wIiwibGlicmFyaWVzIiwiYnVpbGRpbmZvIiwiYnVpbGR0aW1lIiwiZm9yRWFjaCIsIm9MaWJyYXJ5IiwiYnVpbGRUaW1lc3RhbXAiLCJjYXRjaCIsImluaXRQcm9taXNlIiwiUHJvbWlzZSIsImFsbCIsImFEZXBlbmRlbmNpZXNSZXN1bHQiLCJzQ2FjaGVLZXkiLCJvU2lkZUVmZmVjdHNTZXJ2aWNlcyIsImdldFNpZGVFZmZlY3RzU2VydmljZSIsImluaXRpYWxpemVTaWRlRWZmZWN0cyIsImdldEVudmlyb25tZW50Q2FwYWJpbGl0aWVzIiwiZ2V0Q2FwYWJpbGl0aWVzIiwiVGVtcGxhdGVDb252ZXJ0ZXIiLCJNZXRhTW9kZWxDb252ZXJ0ZXIiLCJyZXF1aXJlRGVwZW5kZW5jaWVzIiwiY3JlYXRlVmlldyIsImdldEluc3RhbmNlIiwiaW52YWxpZGF0ZUlmTmVlZGVkIiwicmVmcmVzaFZpZXciLCJvUm9vdFZpZXciLCJnZXRSb290Q29udHJvbCIsImRlc3Ryb3kiLCJvVmlldyIsInJlc291cmNlTW9kZWwiLCJzdGFibGVJZCIsIm9Db250YWluZXIiLCJpbnZhbGlkYXRlIiwib0Vycm9yIiwiTG9nIiwiZXJyb3IiLCJtU2VydmljZVNldHRpbmdzIiwic0NvbnZlcnRlclR5cGUiLCJjb252ZXJ0ZXJUeXBlIiwic0Z1bGxDb250ZXh0UGF0aCIsImdldFJvdXRpbmdTZXJ2aWNlIiwiZ2V0VGFyZ2V0SW5mb3JtYXRpb25Gb3IiLCJvcHRpb25zIiwiZnVsbENvbnRleHRQYXRoIiwib01hbmlmZXN0Q29udGVudCIsImdldE1hbmlmZXN0Iiwib0RldmljZU1vZGVsIiwiSlNPTk1vZGVsIiwiRGV2aWNlIiwic2V0RGVmYXVsdEJpbmRpbmdNb2RlIiwib01hbmlmZXN0TW9kZWwiLCJiRXJyb3IiLCJvUGFnZU1vZGVsIiwib1ZpZXdEYXRhTW9kZWwiLCJvVmlld1NldHRpbmdzIiwibVZpZXdEYXRhIiwiZ2V0Vmlld1NldHRpbmdzIiwiYVNwbGl0UGF0aCIsInNwbGl0Iiwic0VudGl0eVNldFBhdGgiLCJyZWR1Y2UiLCJzUGF0aFNvRmFyIiwic05leHRQYXRoUGFydCIsIm9UYXJnZXQiLCJnZXRPYmplY3QiLCJPYmplY3QiLCJrZXlzIiwidmlld1R5cGUiLCJnZXRWaWV3VHlwZSIsInVuZGVmaW5lZCIsInR5cGUiLCJwcmVwcm9jZXNzb3JzIiwieG1sIiwiYmluZGluZ0NvbnRleHRzIiwiZW50aXR5U2V0IiwiY3JlYXRlQmluZGluZ0NvbnRleHQiLCJjb250ZXh0UGF0aCIsImNvbnZlcnRlckNvbnRleHQiLCJub1Jlc29sdmUiLCJ2aWV3RGF0YSIsIm1vZGVscyIsImRldmljZSIsIm1hbmlmZXN0IiwiaWQiLCJ2aWV3TmFtZSIsImdldFZpZXdOYW1lIiwiY2FjaGUiLCJhZGRpdGlvbmFsRGF0YSIsImdldEFkZGl0aW9uYWxDYWNoZURhdGEiLCJnZXREYXRhIiwic2V0QWRkaXRpb25hbENhY2hlRGF0YSIsInZhbHVlIiwic2V0RGF0YSIsImhlaWdodCIsImNyZWF0ZUVycm9yUGFnZSIsInJlYXNvbiIsIm1lc3NhZ2UiLCJlcnJvclZpZXdOYW1lIiwicnVuQXNPd25lciIsIlZpZXciLCJjcmVhdGUiLCJzZXRNb2RlbCIsIk1hbmFnZWRPYmplY3RNb2RlbCIsInNldEFnZ3JlZ2F0aW9uIiwib1JvdXRpbmdTZXJ2aWNlIiwiZ2V0U2VydmljZSIsIm9UYXJnZXRJbmZvIiwibU91dGJvdW5kcyIsImNyb3NzTmF2aWdhdGlvbiIsIm91dGJvdW5kcyIsIm1OYXZpZ2F0aW9uIiwiZ2V0TmF2aWdhdGlvbiIsIm5hdmlnYXRpb25PYmplY3RLZXkiLCJuYXZpZ2F0aW9uT2JqZWN0Iiwib3V0Ym91bmRDb25maWciLCJkZXRhaWwiLCJvdXRib3VuZCIsIm91dGJvdW5kRGV0YWlsIiwic2VtYW50aWNPYmplY3QiLCJhY3Rpb24iLCJwYXJhbWV0ZXJzIiwibmF2aWdhdGlvbiIsInZpZXdMZXZlbCIsImNvbnRlbnREZW5zaXRpZXMiLCJpc0Rlc2t0b3AiLCJzeXN0ZW0iLCJkZXNrdG9wIiwiaXNQaG9uZSIsInBob25lIiwiZ2V0Vmlld0RhdGEiLCJhc3NpZ24iLCJhY3R1YWxTZXR0aW5ncyIsInJvdXRpbmciLCJ0YXJnZXRzIiwiYXBwbHlQYWdlQ29uZmlndXJhdGlvbkNoYW5nZXMiLCJpc1NoYXJlQnV0dG9uVmlzaWJsZUZvck15SW5ib3giLCJUZW1wbGF0ZWRWaWV3U2VydmljZUZhY3RvcnkiLCJnZXRTaGFyZUJ1dHRvblZpc2liaWxpdHlGb3JNeUluYm94Iiwib1NoZWxsU2VydmljZXMiLCJnZXRTaGVsbFNlcnZpY2VzIiwic2hlbGxDb250ZW50RGVuc2l0eSIsImdldENvbnRlbnREZW5zaXR5IiwicmV0cmlldmVUZXh0RnJvbVZhbHVlTGlzdCIsImZvcm0iLCJjb250cm9sQ29uZmlndXJhdGlvbiIsInNBbm5vdGF0aW9uUGF0aCIsImluZGV4T2YiLCJzVGFyZ2V0QW5ub3RhdGlvblBhdGgiLCJyZXNvbHZlRHluYW1pY0V4cHJlc3Npb24iLCJjb252ZXJ0VHlwZXMiLCJUZW1wbGF0ZU1vZGVsIiwib0RpYWdub3N0aWNzIiwiZ2V0RGlhZ25vc3RpY3MiLCJpSXNzdWVDb3VudCIsImdldElzc3VlcyIsIm9Db252ZXJ0ZXJQYWdlTW9kZWwiLCJjb252ZXJ0UGFnZSIsImFJc3N1ZXMiLCJhQWRkZWRJc3N1ZXMiLCJzbGljZSIsIndhcm5pbmciLCJlIiwiRXJyb3IiLCJnZXRWaWV3IiwiZ2V0SW50ZXJmYWNlIiwiZXhpdCIsInJlbW92ZUdsb2JhbEluc3RhbmNlIiwiU2VydmljZSIsIl9vSW5zdGFuY2VSZWdpc3RyeSIsIm9TZXJ2aWNlQ29udGV4dCIsImlDcmVhdGluZ1ZpZXdzIiwib1RlbXBsYXRlZFZpZXdTZXJ2aWNlIiwiY29tcG9uZW50RGF0YSIsImdldENvbXBvbmVudERhdGEiLCJmZUVudmlyb25tZW50IiwiZ2V0U2hhcmVDb250cm9sVmlzaWJpbGl0eSIsImdldE51bWJlck9mVmlld3NJbkNyZWF0aW9uU3RhdGUiLCJTZXJ2aWNlRmFjdG9yeSJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiVGVtcGxhdGVkVmlld1NlcnZpY2VGYWN0b3J5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IHR5cGUgQXBwQ29tcG9uZW50IGZyb20gXCJzYXAvZmUvY29yZS9BcHBDb21wb25lbnRcIjtcbmltcG9ydCB0eXBlIHsgQ29tcG9uZW50RGF0YSwgTWFuaWZlc3RDb250ZW50IH0gZnJvbSBcInNhcC9mZS9jb3JlL0FwcENvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUgeyBDb250ZW50RGVuc2l0aWVzVHlwZSwgQ29udHJvbENvbmZpZ3VyYXRpb24gfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9NYW5pZmVzdFNldHRpbmdzXCI7XG5pbXBvcnQgeyBWYXJpYW50TWFuYWdlbWVudFR5cGUgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9NYW5pZmVzdFNldHRpbmdzXCI7XG5pbXBvcnQgeyByZXF1aXJlRGVwZW5kZW5jaWVzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvTG9hZGVyVXRpbHNcIjtcbmltcG9ydCB7IGFwcGx5UGFnZUNvbmZpZ3VyYXRpb25DaGFuZ2VzIH0gZnJvbSBcInNhcC9mZS9jb3JlL21hbmlmZXN0TWVyZ2VyL0NoYW5nZVBhZ2VDb25maWd1cmF0aW9uXCI7XG5pbXBvcnQgUmVzb3VyY2VNb2RlbCBmcm9tIFwic2FwL2ZlL2NvcmUvUmVzb3VyY2VNb2RlbFwiO1xuaW1wb3J0IHR5cGUgeyBDYWNoZUhhbmRsZXJTZXJ2aWNlIH0gZnJvbSBcInNhcC9mZS9jb3JlL3NlcnZpY2VzL0NhY2hlSGFuZGxlclNlcnZpY2VGYWN0b3J5XCI7XG5pbXBvcnQgVGVtcGxhdGVNb2RlbCBmcm9tIFwic2FwL2ZlL2NvcmUvVGVtcGxhdGVNb2RlbFwiO1xuaW1wb3J0IENvbXBvbmVudCBmcm9tIFwic2FwL3VpL2NvcmUvQ29tcG9uZW50XCI7XG5pbXBvcnQgVmlldyBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL1ZpZXdcIjtcbmltcG9ydCBTZXJ2aWNlIGZyb20gXCJzYXAvdWkvY29yZS9zZXJ2aWNlL1NlcnZpY2VcIjtcbmltcG9ydCBTZXJ2aWNlRmFjdG9yeSBmcm9tIFwic2FwL3VpL2NvcmUvc2VydmljZS9TZXJ2aWNlRmFjdG9yeVwiO1xuaW1wb3J0IFNlcnZpY2VGYWN0b3J5UmVnaXN0cnkgZnJvbSBcInNhcC91aS9jb3JlL3NlcnZpY2UvU2VydmljZUZhY3RvcnlSZWdpc3RyeVwiO1xuaW1wb3J0IERldmljZSBmcm9tIFwic2FwL3VpL0RldmljZVwiO1xuaW1wb3J0IE1hbmFnZWRPYmplY3RNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL2Jhc2UvTWFuYWdlZE9iamVjdE1vZGVsXCI7XG5pbXBvcnQgSlNPTk1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvanNvbi9KU09OTW9kZWxcIjtcbmltcG9ydCB0eXBlIE1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvTW9kZWxcIjtcbmltcG9ydCBWZXJzaW9uSW5mbyBmcm9tIFwic2FwL3VpL1ZlcnNpb25JbmZvXCI7XG5pbXBvcnQgdHlwZSB7IFNlcnZpY2VDb250ZXh0IH0gZnJvbSBcInR5cGVzL21ldGFtb2RlbF90eXBlc1wiO1xuaW1wb3J0IHsgcmVzb2x2ZUR5bmFtaWNFeHByZXNzaW9uIH0gZnJvbSBcIi4uL2hlbHBlcnMvRHluYW1pY0Fubm90YXRpb25QYXRoSGVscGVyXCI7XG5pbXBvcnQgdHlwZSB7IFJlc291cmNlTW9kZWxTZXJ2aWNlIH0gZnJvbSBcIi4vUmVzb3VyY2VNb2RlbFNlcnZpY2VGYWN0b3J5XCI7XG50eXBlIFRlbXBsYXRlZFZpZXdTZXJ2aWNlU2V0dGluZ3MgPSB7fTtcbmV4cG9ydCB0eXBlIFZpZXdEYXRhID0ge1xuXHRhcHBDb21wb25lbnQ6IEFwcENvbXBvbmVudDtcblx0bmF2aWdhdGlvbjogb2JqZWN0O1xuXHR2aWV3TGV2ZWw6IG51bWJlcjtcblx0dmFyaWFudE1hbmFnZW1lbnQ/OiBWYXJpYW50TWFuYWdlbWVudFR5cGU7XG5cdHN0YWJsZUlkOiBzdHJpbmc7XG5cdGNvbnRlbnREZW5zaXRpZXM/OiBDb250ZW50RGVuc2l0aWVzVHlwZTtcblx0cmVzb3VyY2VNb2RlbDogUmVzb3VyY2VNb2RlbDtcblx0ZnVsbENvbnRleHRQYXRoOiBzdHJpbmc7XG5cdGlzRGVza3RvcDogYm9vbGVhbjtcblx0aXNQaG9uZTogYm9vbGVhbjtcblx0Y29udmVydGVyVHlwZT86IHN0cmluZztcblx0c2hlbGxDb250ZW50RGVuc2l0eT86IHN0cmluZztcblx0dXNlTmV3TGF6eUxvYWRpbmc/OiBib29sZWFuO1xuXHRyZXRyaWV2ZVRleHRGcm9tVmFsdWVMaXN0PzogYm9vbGVhbjtcblx0Y29udHJvbENvbmZpZ3VyYXRpb24/OiBDb250cm9sQ29uZmlndXJhdGlvbjtcblx0ZW50aXR5U2V0Pzogc3RyaW5nO1xuXHRpc1NoYXJlQnV0dG9uVmlzaWJsZUZvck15SW5ib3g/OiBib29sZWFuO1xufTtcbmNsYXNzIFRlbXBsYXRlZFZpZXdTZXJ2aWNlIGV4dGVuZHMgU2VydmljZTxUZW1wbGF0ZWRWaWV3U2VydmljZVNldHRpbmdzPiB7XG5cdGluaXRQcm9taXNlITogUHJvbWlzZTxhbnk+O1xuXG5cdG9WaWV3ITogVmlldztcblxuXHRvUmVzb3VyY2VNb2RlbFNlcnZpY2UhOiBSZXNvdXJjZU1vZGVsU2VydmljZTtcblxuXHRvQ2FjaGVIYW5kbGVyU2VydmljZSE6IENhY2hlSGFuZGxlclNlcnZpY2U7XG5cblx0b0ZhY3RvcnkhOiBUZW1wbGF0ZWRWaWV3U2VydmljZUZhY3Rvcnk7XG5cblx0cmVzb3VyY2VNb2RlbCE6IFJlc291cmNlTW9kZWw7XG5cblx0c3RhYmxlSWQhOiBzdHJpbmc7XG5cblx0cGFnZUlkITogc3RyaW5nO1xuXG5cdFRlbXBsYXRlQ29udmVydGVyOiBhbnk7XG5cblx0TWV0YU1vZGVsQ29udmVydGVyOiBhbnk7XG5cblx0aW5pdCgpIHtcblx0XHRjb25zdCBhU2VydmljZURlcGVuZGVuY2llcyA9IFtdO1xuXHRcdGNvbnN0IG9Db250ZXh0ID0gdGhpcy5nZXRDb250ZXh0KCk7XG5cdFx0Y29uc3Qgb0NvbXBvbmVudCA9IG9Db250ZXh0LnNjb3BlT2JqZWN0O1xuXHRcdGNvbnN0IG9BcHBDb21wb25lbnQgPSBDb21wb25lbnQuZ2V0T3duZXJDb21wb25lbnRGb3Iob0NvbXBvbmVudCkgYXMgQXBwQ29tcG9uZW50O1xuXHRcdGNvbnN0IG9NZXRhTW9kZWwgPSBvQXBwQ29tcG9uZW50LmdldE1ldGFNb2RlbCgpO1xuXHRcdHRoaXMucGFnZUlkID0gb0FwcENvbXBvbmVudC5nZXRMb2NhbElkKG9Db21wb25lbnQuZ2V0SWQoKSkgYXMgc3RyaW5nO1xuXHRcdGNvbnN0IHNTdGFibGVJZCA9IGAke29BcHBDb21wb25lbnQuZ2V0TWV0YWRhdGEoKS5nZXRDb21wb25lbnROYW1lKCl9Ojoke3RoaXMucGFnZUlkfWA7XG5cdFx0Y29uc3QgYUVuaGFuY2VJMThuID0gb0NvbXBvbmVudC5nZXRFbmhhbmNlSTE4bigpIHx8IFtdO1xuXHRcdGxldCBzQXBwTmFtZXNwYWNlO1xuXHRcdHRoaXMub0ZhY3RvcnkgPSBvQ29udGV4dC5mYWN0b3J5O1xuXHRcdGlmIChhRW5oYW5jZUkxOG4pIHtcblx0XHRcdHNBcHBOYW1lc3BhY2UgPSBvQXBwQ29tcG9uZW50LmdldE1ldGFkYXRhKCkuZ2V0Q29tcG9uZW50TmFtZSgpO1xuXHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhRW5oYW5jZUkxOG4ubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0Ly8gSW4gb3JkZXIgdG8gc3VwcG9ydCB0ZXh0LXZlcnRpY2FsaXphdGlvbiBhcHBsaWNhdGlvbnMgY2FuIGFsc28gcGFzc3MgYSByZXNvdXJjZSBtb2RlbCBkZWZpbmVkIGluIHRoZSBtYW5pZmVzdFxuXHRcdFx0XHQvLyBVSTUgdGFrZXMgY2FyZSBvZiB0ZXh0LXZlcnRpY2FsaXphdGlvbiBmb3IgcmVzb3VyY2UgbW9kZWxzIGRlZmluZWQgaW4gdGhlIG1hbmlmZXN0XG5cdFx0XHRcdC8vIEhlbmNlIGNoZWNrIGlmIHRoZSBnaXZlbiBrZXkgaXMgYSByZXNvdXJjZSBtb2RlbCBkZWZpbmVkIGluIHRoZSBtYW5pZmVzdFxuXHRcdFx0XHQvLyBpZiBzbyB0aGlzIG1vZGVsIHNob3VsZCBiZSB1c2VkIHRvIGVuaGFuY2UgdGhlIHNhcC5mZSByZXNvdXJjZSBtb2RlbCBzbyBwYXNzIGl0IGFzIGl0IGlzXG5cdFx0XHRcdGNvbnN0IG9SZXNvdXJjZU1vZGVsID0gb0FwcENvbXBvbmVudC5nZXRNb2RlbChhRW5oYW5jZUkxOG5baV0pO1xuXHRcdFx0XHRpZiAob1Jlc291cmNlTW9kZWwgJiYgb1Jlc291cmNlTW9kZWwuaXNBKFwic2FwLnVpLm1vZGVsLnJlc291cmNlLlJlc291cmNlTW9kZWxcIikpIHtcblx0XHRcdFx0XHRhRW5oYW5jZUkxOG5baV0gPSBvUmVzb3VyY2VNb2RlbDtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRhRW5oYW5jZUkxOG5baV0gPSBgJHtzQXBwTmFtZXNwYWNlfS4ke2FFbmhhbmNlSTE4bltpXS5yZXBsYWNlKFwiLnByb3BlcnRpZXNcIiwgXCJcIil9YDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRjb25zdCBzQ2FjaGVJZGVudGlmaWVyID0gYCR7b0FwcENvbXBvbmVudC5nZXRNZXRhZGF0YSgpLmdldE5hbWUoKX1fJHtzU3RhYmxlSWR9XyR7c2FwLnVpXG5cdFx0XHQuZ2V0Q29yZSgpXG5cdFx0XHQuZ2V0Q29uZmlndXJhdGlvbigpXG5cdFx0XHQuZ2V0TGFuZ3VhZ2VUYWcoKX1gO1xuXHRcdGFTZXJ2aWNlRGVwZW5kZW5jaWVzLnB1c2goXG5cdFx0XHRTZXJ2aWNlRmFjdG9yeVJlZ2lzdHJ5LmdldChcInNhcC5mZS5jb3JlLnNlcnZpY2VzLlJlc291cmNlTW9kZWxTZXJ2aWNlXCIpXG5cdFx0XHRcdC5jcmVhdGVJbnN0YW5jZSh7XG5cdFx0XHRcdFx0c2NvcGVUeXBlOiBcImNvbXBvbmVudFwiLFxuXHRcdFx0XHRcdHNjb3BlT2JqZWN0OiBvQ29tcG9uZW50LFxuXHRcdFx0XHRcdHNldHRpbmdzOiB7XG5cdFx0XHRcdFx0XHRidW5kbGVzOiBbXCJzYXAuZmUuY29yZS5tZXNzYWdlYnVuZGxlXCIsIFwic2FwLmZlLm1hY3Jvcy5tZXNzYWdlYnVuZGxlXCIsIFwic2FwLmZlLnRlbXBsYXRlcy5tZXNzYWdlYnVuZGxlXCJdLFxuXHRcdFx0XHRcdFx0ZW5oYW5jZUkxOG46IGFFbmhhbmNlSTE4bixcblx0XHRcdFx0XHRcdG1vZGVsTmFtZTogXCJzYXAuZmUuaTE4blwiXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KVxuXHRcdFx0XHQudGhlbigob1Jlc291cmNlTW9kZWxTZXJ2aWNlOiBSZXNvdXJjZU1vZGVsU2VydmljZSkgPT4ge1xuXHRcdFx0XHRcdHRoaXMub1Jlc291cmNlTW9kZWxTZXJ2aWNlID0gb1Jlc291cmNlTW9kZWxTZXJ2aWNlO1xuXHRcdFx0XHRcdHJldHVybiBvUmVzb3VyY2VNb2RlbFNlcnZpY2UuZ2V0UmVzb3VyY2VNb2RlbCgpO1xuXHRcdFx0XHR9KVxuXHRcdCk7XG5cdFx0YVNlcnZpY2VEZXBlbmRlbmNpZXMucHVzaChcblx0XHRcdFNlcnZpY2VGYWN0b3J5UmVnaXN0cnkuZ2V0KFwic2FwLmZlLmNvcmUuc2VydmljZXMuQ2FjaGVIYW5kbGVyU2VydmljZVwiKVxuXHRcdFx0XHQuY3JlYXRlSW5zdGFuY2Uoe1xuXHRcdFx0XHRcdHNldHRpbmdzOiB7XG5cdFx0XHRcdFx0XHRtZXRhTW9kZWw6IG9NZXRhTW9kZWwsXG5cdFx0XHRcdFx0XHRhcHBDb21wb25lbnQ6IG9BcHBDb21wb25lbnQsXG5cdFx0XHRcdFx0XHRjb21wb25lbnQ6IG9Db21wb25lbnRcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHRcdC50aGVuKChvQ2FjaGVIYW5kbGVyU2VydmljZTogYW55KSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5vQ2FjaGVIYW5kbGVyU2VydmljZSA9IG9DYWNoZUhhbmRsZXJTZXJ2aWNlO1xuXHRcdFx0XHRcdHJldHVybiBvQ2FjaGVIYW5kbGVyU2VydmljZS52YWxpZGF0ZUNhY2hlS2V5KHNDYWNoZUlkZW50aWZpZXIsIG9Db21wb25lbnQpO1xuXHRcdFx0XHR9KVxuXHRcdCk7XG5cdFx0YVNlcnZpY2VEZXBlbmRlbmNpZXMucHVzaChcblx0XHRcdChWZXJzaW9uSW5mbyBhcyBhbnkpXG5cdFx0XHRcdC5sb2FkKClcblx0XHRcdFx0LnRoZW4oZnVuY3Rpb24gKG9JbmZvOiBhbnkpIHtcblx0XHRcdFx0XHRsZXQgc1RpbWVzdGFtcCA9IFwiXCI7XG5cdFx0XHRcdFx0aWYgKCFvSW5mby5saWJyYXJpZXMpIHtcblx0XHRcdFx0XHRcdHNUaW1lc3RhbXAgPSAoc2FwLnVpIGFzIGFueSkuYnVpbGRpbmZvLmJ1aWxkdGltZTtcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0b0luZm8ubGlicmFyaWVzLmZvckVhY2goZnVuY3Rpb24gKG9MaWJyYXJ5OiBhbnkpIHtcblx0XHRcdFx0XHRcdFx0c1RpbWVzdGFtcCArPSBvTGlicmFyeS5idWlsZFRpbWVzdGFtcDtcblx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRyZXR1cm4gc1RpbWVzdGFtcDtcblx0XHRcdFx0fSlcblx0XHRcdFx0LmNhdGNoKGZ1bmN0aW9uICgpIHtcblx0XHRcdFx0XHRyZXR1cm4gXCI8Tk9WQUxVRT5cIjtcblx0XHRcdFx0fSlcblx0XHQpO1xuXHRcdHRoaXMuaW5pdFByb21pc2UgPSBQcm9taXNlLmFsbChhU2VydmljZURlcGVuZGVuY2llcylcblx0XHRcdC50aGVuKGFzeW5jIChhRGVwZW5kZW5jaWVzUmVzdWx0OiBhbnlbXSkgPT4ge1xuXHRcdFx0XHRjb25zdCBvUmVzb3VyY2VNb2RlbCA9IGFEZXBlbmRlbmNpZXNSZXN1bHRbMF0gYXMgUmVzb3VyY2VNb2RlbDtcblx0XHRcdFx0Y29uc3Qgc0NhY2hlS2V5ID0gYURlcGVuZGVuY2llc1Jlc3VsdFsxXTtcblx0XHRcdFx0Y29uc3Qgb1NpZGVFZmZlY3RzU2VydmljZXMgPSBvQXBwQ29tcG9uZW50LmdldFNpZGVFZmZlY3RzU2VydmljZSgpO1xuXHRcdFx0XHRvU2lkZUVmZmVjdHNTZXJ2aWNlcy5pbml0aWFsaXplU2lkZUVmZmVjdHMob0FwcENvbXBvbmVudC5nZXRFbnZpcm9ubWVudENhcGFiaWxpdGllcygpLmdldENhcGFiaWxpdGllcygpKTtcblx0XHRcdFx0Y29uc3QgW1RlbXBsYXRlQ29udmVydGVyLCBNZXRhTW9kZWxDb252ZXJ0ZXJdID0gYXdhaXQgcmVxdWlyZURlcGVuZGVuY2llcyhbXG5cdFx0XHRcdFx0XCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL1RlbXBsYXRlQ29udmVydGVyXCIsXG5cdFx0XHRcdFx0XCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL01ldGFNb2RlbENvbnZlcnRlclwiXG5cdFx0XHRcdF0pO1xuXHRcdFx0XHRyZXR1cm4gdGhpcy5jcmVhdGVWaWV3KG9SZXNvdXJjZU1vZGVsLCBzU3RhYmxlSWQsIHNDYWNoZUtleSwgVGVtcGxhdGVDb252ZXJ0ZXIsIE1ldGFNb2RlbENvbnZlcnRlcik7XG5cdFx0XHR9KVxuXHRcdFx0LnRoZW4oZnVuY3Rpb24gKHNDYWNoZUtleTogYW55KSB7XG5cdFx0XHRcdGNvbnN0IG9DYWNoZUhhbmRsZXJTZXJ2aWNlID0gU2VydmljZUZhY3RvcnlSZWdpc3RyeS5nZXQoXCJzYXAuZmUuY29yZS5zZXJ2aWNlcy5DYWNoZUhhbmRsZXJTZXJ2aWNlXCIpLmdldEluc3RhbmNlKG9NZXRhTW9kZWwpO1xuXHRcdFx0XHRvQ2FjaGVIYW5kbGVyU2VydmljZS5pbnZhbGlkYXRlSWZOZWVkZWQoc0NhY2hlS2V5LCBzQ2FjaGVJZGVudGlmaWVyLCBvQ29tcG9uZW50KTtcblx0XHRcdH0pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJlZnJlc2ggdGhlIGN1cnJlbnQgdmlldyB1c2luZyB0aGUgc2FtZSBjb25maWd1cmF0aW9uIGFzIGJlZm9yZS5cblx0ICpcblx0ICogQHBhcmFtIG9Db21wb25lbnRcblx0ICogQHJldHVybnMgQSBwcm9taXNlIGluZGljYXRpbmcgd2hlbiB0aGUgdmlldyBpcyByZWZyZXNoZWRcblx0ICogQHByaXZhdGVcblx0ICovXG5cdHJlZnJlc2hWaWV3KG9Db21wb25lbnQ6IGFueSkge1xuXHRcdGNvbnN0IG9Sb290VmlldyA9IG9Db21wb25lbnQuZ2V0Um9vdENvbnRyb2woKTtcblx0XHRpZiAob1Jvb3RWaWV3KSB7XG5cdFx0XHRvUm9vdFZpZXcuZGVzdHJveSgpO1xuXHRcdH0gZWxzZSBpZiAodGhpcy5vVmlldykge1xuXHRcdFx0dGhpcy5vVmlldy5kZXN0cm95KCk7XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzLmNyZWF0ZVZpZXcodGhpcy5yZXNvdXJjZU1vZGVsLCB0aGlzLnN0YWJsZUlkLCBcIlwiLCB0aGlzLlRlbXBsYXRlQ29udmVydGVyLCB0aGlzLk1ldGFNb2RlbENvbnZlcnRlcilcblx0XHRcdC50aGVuKGZ1bmN0aW9uICgpIHtcblx0XHRcdFx0b0NvbXBvbmVudC5vQ29udGFpbmVyLmludmFsaWRhdGUoKTtcblx0XHRcdH0pXG5cdFx0XHQuY2F0Y2goZnVuY3Rpb24gKG9FcnJvcjogYW55KSB7XG5cdFx0XHRcdG9Db21wb25lbnQub0NvbnRhaW5lci5pbnZhbGlkYXRlKCk7XG5cdFx0XHRcdExvZy5lcnJvcihvRXJyb3IpO1xuXHRcdFx0fSk7XG5cdH1cblxuXHRhc3luYyBjcmVhdGVWaWV3KFxuXHRcdG9SZXNvdXJjZU1vZGVsOiBSZXNvdXJjZU1vZGVsLFxuXHRcdHNTdGFibGVJZDogYW55LFxuXHRcdHNDYWNoZUtleTogYW55LFxuXHRcdFRlbXBsYXRlQ29udmVydGVyOiBhbnksXG5cdFx0TWV0YU1vZGVsQ29udmVydGVyOiBhbnlcblx0KTogUHJvbWlzZTxhbnkgfCB2b2lkPiB7XG5cdFx0dGhpcy5yZXNvdXJjZU1vZGVsID0gb1Jlc291cmNlTW9kZWw7IC8vIFRPRE86IGdldCByaWQsIGtlcHQgaXQgZm9yIHRoZSB0aW1lIGJlaW5nXG5cdFx0dGhpcy5zdGFibGVJZCA9IHNTdGFibGVJZDtcblx0XHR0aGlzLlRlbXBsYXRlQ29udmVydGVyID0gVGVtcGxhdGVDb252ZXJ0ZXI7XG5cdFx0dGhpcy5NZXRhTW9kZWxDb252ZXJ0ZXIgPSBNZXRhTW9kZWxDb252ZXJ0ZXI7XG5cdFx0Y29uc3Qgb0NvbnRleHQgPSB0aGlzLmdldENvbnRleHQoKTtcblx0XHRjb25zdCBtU2VydmljZVNldHRpbmdzID0gb0NvbnRleHQuc2V0dGluZ3M7XG5cdFx0Y29uc3Qgc0NvbnZlcnRlclR5cGUgPSBtU2VydmljZVNldHRpbmdzLmNvbnZlcnRlclR5cGU7XG5cdFx0Y29uc3Qgb0NvbXBvbmVudCA9IG9Db250ZXh0LnNjb3BlT2JqZWN0O1xuXHRcdGNvbnN0IG9BcHBDb21wb25lbnQ6IEFwcENvbXBvbmVudCA9IENvbXBvbmVudC5nZXRPd25lckNvbXBvbmVudEZvcihvQ29tcG9uZW50KSBhcyBBcHBDb21wb25lbnQ7XG5cdFx0Y29uc3Qgc0Z1bGxDb250ZXh0UGF0aCA9IG9BcHBDb21wb25lbnQuZ2V0Um91dGluZ1NlcnZpY2UoKS5nZXRUYXJnZXRJbmZvcm1hdGlvbkZvcihvQ29tcG9uZW50KS5vcHRpb25zLnNldHRpbmdzLmZ1bGxDb250ZXh0UGF0aDtcblx0XHRjb25zdCBvTWV0YU1vZGVsID0gb0FwcENvbXBvbmVudC5nZXRNZXRhTW9kZWwoKTtcblx0XHRjb25zdCBvTWFuaWZlc3RDb250ZW50OiBNYW5pZmVzdENvbnRlbnQgPSBvQXBwQ29tcG9uZW50LmdldE1hbmlmZXN0KCk7XG5cdFx0Y29uc3Qgb0RldmljZU1vZGVsID0gbmV3IEpTT05Nb2RlbChEZXZpY2UpLnNldERlZmF1bHRCaW5kaW5nTW9kZShcIk9uZVdheVwiKTtcblx0XHRjb25zdCBvTWFuaWZlc3RNb2RlbCA9IG5ldyBKU09OTW9kZWwob01hbmlmZXN0Q29udGVudCk7XG5cdFx0Y29uc3QgYkVycm9yID0gZmFsc2U7XG5cdFx0bGV0IG9QYWdlTW9kZWw6IFRlbXBsYXRlTW9kZWwsIG9WaWV3RGF0YU1vZGVsOiBNb2RlbCwgb1ZpZXdTZXR0aW5nczogYW55LCBtVmlld0RhdGE6IFZpZXdEYXRhO1xuXHRcdC8vIExvYWQgdGhlIGluZGV4IGZvciB0aGUgYWRkaXRpb25hbCBidWlsZGluZyBibG9ja3Mgd2hpY2ggaXMgcmVzcG9uc2libGUgZm9yIGluaXRpYWxpemluZyB0aGVtXG5cdFx0ZnVuY3Rpb24gZ2V0Vmlld1NldHRpbmdzKCkge1xuXHRcdFx0Y29uc3QgYVNwbGl0UGF0aCA9IHNGdWxsQ29udGV4dFBhdGguc3BsaXQoXCIvXCIpO1xuXHRcdFx0Y29uc3Qgc0VudGl0eVNldFBhdGggPSBhU3BsaXRQYXRoLnJlZHVjZShmdW5jdGlvbiAoc1BhdGhTb0ZhcjogYW55LCBzTmV4dFBhdGhQYXJ0OiBhbnkpIHtcblx0XHRcdFx0aWYgKHNOZXh0UGF0aFBhcnQgPT09IFwiXCIpIHtcblx0XHRcdFx0XHRyZXR1cm4gc1BhdGhTb0Zhcjtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAoc1BhdGhTb0ZhciA9PT0gXCJcIikge1xuXHRcdFx0XHRcdHNQYXRoU29GYXIgPSBgLyR7c05leHRQYXRoUGFydH1gO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdGNvbnN0IG9UYXJnZXQgPSBvTWV0YU1vZGVsLmdldE9iamVjdChgJHtzUGF0aFNvRmFyfS8kTmF2aWdhdGlvblByb3BlcnR5QmluZGluZy8ke3NOZXh0UGF0aFBhcnR9YCk7XG5cdFx0XHRcdFx0aWYgKG9UYXJnZXQgJiYgT2JqZWN0LmtleXMob1RhcmdldCkubGVuZ3RoID4gMCkge1xuXHRcdFx0XHRcdFx0c1BhdGhTb0ZhciArPSBcIi8kTmF2aWdhdGlvblByb3BlcnR5QmluZGluZ1wiO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRzUGF0aFNvRmFyICs9IGAvJHtzTmV4dFBhdGhQYXJ0fWA7XG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIHNQYXRoU29GYXI7XG5cdFx0XHR9LCBcIlwiKTtcblx0XHRcdGxldCB2aWV3VHlwZSA9IG1TZXJ2aWNlU2V0dGluZ3Mudmlld1R5cGUgfHwgb0NvbXBvbmVudC5nZXRWaWV3VHlwZSgpIHx8IFwiWE1MXCI7XG5cdFx0XHRpZiAodmlld1R5cGUgIT09IFwiWE1MXCIpIHtcblx0XHRcdFx0dmlld1R5cGUgPSB1bmRlZmluZWQ7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHR0eXBlOiB2aWV3VHlwZSxcblx0XHRcdFx0cHJlcHJvY2Vzc29yczoge1xuXHRcdFx0XHRcdHhtbDoge1xuXHRcdFx0XHRcdFx0YmluZGluZ0NvbnRleHRzOiB7XG5cdFx0XHRcdFx0XHRcdGVudGl0eVNldDogc0VudGl0eVNldFBhdGggPyBvTWV0YU1vZGVsLmNyZWF0ZUJpbmRpbmdDb250ZXh0KHNFbnRpdHlTZXRQYXRoKSA6IG51bGwsXG5cdFx0XHRcdFx0XHRcdGZ1bGxDb250ZXh0UGF0aDogc0Z1bGxDb250ZXh0UGF0aCA/IG9NZXRhTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQoc0Z1bGxDb250ZXh0UGF0aCkgOiBudWxsLFxuXHRcdFx0XHRcdFx0XHRjb250ZXh0UGF0aDogc0Z1bGxDb250ZXh0UGF0aCA/IG9NZXRhTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQoc0Z1bGxDb250ZXh0UGF0aCkgOiBudWxsLFxuXHRcdFx0XHRcdFx0XHRjb252ZXJ0ZXJDb250ZXh0OiBvUGFnZU1vZGVsLmNyZWF0ZUJpbmRpbmdDb250ZXh0KFwiL1wiLCB1bmRlZmluZWQsIHsgbm9SZXNvbHZlOiB0cnVlIH0pLFxuXHRcdFx0XHRcdFx0XHR2aWV3RGF0YTogbVZpZXdEYXRhID8gb1ZpZXdEYXRhTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQoXCIvXCIpIDogbnVsbFxuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdG1vZGVsczoge1xuXHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ6IG9NZXRhTW9kZWwsXG5cdFx0XHRcdFx0XHRcdGZ1bGxDb250ZXh0UGF0aDogb01ldGFNb2RlbCxcblx0XHRcdFx0XHRcdFx0Y29udGV4dFBhdGg6IG9NZXRhTW9kZWwsXG5cdFx0XHRcdFx0XHRcdFwic2FwLmZlLmkxOG5cIjogb1Jlc291cmNlTW9kZWwsXG5cdFx0XHRcdFx0XHRcdG1ldGFNb2RlbDogb01ldGFNb2RlbCxcblx0XHRcdFx0XHRcdFx0ZGV2aWNlOiBvRGV2aWNlTW9kZWwsXG5cdFx0XHRcdFx0XHRcdG1hbmlmZXN0OiBvTWFuaWZlc3RNb2RlbCxcblx0XHRcdFx0XHRcdFx0Y29udmVydGVyQ29udGV4dDogb1BhZ2VNb2RlbCxcblx0XHRcdFx0XHRcdFx0dmlld0RhdGE6IG9WaWV3RGF0YU1vZGVsXG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0YXBwQ29tcG9uZW50OiBvQXBwQ29tcG9uZW50XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9LFxuXHRcdFx0XHRpZDogc1N0YWJsZUlkLFxuXHRcdFx0XHR2aWV3TmFtZTogbVNlcnZpY2VTZXR0aW5ncy52aWV3TmFtZSB8fCBvQ29tcG9uZW50LmdldFZpZXdOYW1lKCksXG5cdFx0XHRcdHZpZXdEYXRhOiBtVmlld0RhdGEsXG5cdFx0XHRcdGNhY2hlOiB7XG5cdFx0XHRcdFx0a2V5czogW3NDYWNoZUtleV0sXG5cdFx0XHRcdFx0YWRkaXRpb25hbERhdGE6IHtcblx0XHRcdFx0XHRcdC8vIFdlIHN0b3JlIHRoZSBwYWdlIG1vZGVsIGRhdGEgaW4gdGhlIGBhZGRpdGlvbmFsRGF0YWAgb2YgdGhlIHZpZXcgY2FjaGUsIHRoaXMgd2F5IGl0IGlzIGFsd2F5cyBpbiBzeW5jXG5cdFx0XHRcdFx0XHRnZXRBZGRpdGlvbmFsQ2FjaGVEYXRhOiAoKSA9PiB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiAob1BhZ2VNb2RlbCBhcyB1bmtub3duIGFzIEpTT05Nb2RlbCkuZ2V0RGF0YSgpO1xuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdHNldEFkZGl0aW9uYWxDYWNoZURhdGE6ICh2YWx1ZTogb2JqZWN0KSA9PiB7XG5cdFx0XHRcdFx0XHRcdChvUGFnZU1vZGVsIGFzIHVua25vd24gYXMgSlNPTk1vZGVsKS5zZXREYXRhKHZhbHVlKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0sXG5cdFx0XHRcdG1vZGVsczoge1xuXHRcdFx0XHRcdFwic2FwLmZlLmkxOG5cIjogb1Jlc291cmNlTW9kZWxcblx0XHRcdFx0fSxcblx0XHRcdFx0aGVpZ2h0OiBcIjEwMCVcIlxuXHRcdFx0fTtcblx0XHR9XG5cdFx0Y29uc3QgY3JlYXRlRXJyb3JQYWdlID0gKHJlYXNvbjogYW55KSA9PiB7XG5cdFx0XHQvLyBqdXN0IHJlcGxhY2UgdGhlIHZpZXcgbmFtZSBhbmQgYWRkIGFuIGFkZGl0aW9uYWwgbW9kZWwgY29udGFpbmluZyB0aGUgcmVhc29uLCBidXRcblx0XHRcdC8vIGtlZXAgdGhlIG90aGVyIHNldHRpbmdzXG5cdFx0XHRMb2cuZXJyb3IocmVhc29uLm1lc3NhZ2UsIHJlYXNvbik7XG5cdFx0XHRvVmlld1NldHRpbmdzLnZpZXdOYW1lID0gbVNlcnZpY2VTZXR0aW5ncy5lcnJvclZpZXdOYW1lIHx8IFwic2FwLmZlLmNvcmUuc2VydmljZXMudmlldy5UZW1wbGF0aW5nRXJyb3JQYWdlXCI7XG5cdFx0XHRvVmlld1NldHRpbmdzLnByZXByb2Nlc3NvcnMueG1sLm1vZGVsc1tcImVycm9yXCJdID0gbmV3IEpTT05Nb2RlbChyZWFzb24pO1xuXHRcdFx0cmV0dXJuIG9Db21wb25lbnQucnVuQXNPd25lcigoKSA9PiB7XG5cdFx0XHRcdHJldHVybiBWaWV3LmNyZWF0ZShvVmlld1NldHRpbmdzKS50aGVuKChvVmlldzogYW55KSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5vVmlldyA9IG9WaWV3O1xuXHRcdFx0XHRcdHRoaXMub1ZpZXcuc2V0TW9kZWwobmV3IE1hbmFnZWRPYmplY3RNb2RlbCh0aGlzLm9WaWV3KSwgXCIkdmlld1wiKTtcblx0XHRcdFx0XHRvQ29tcG9uZW50LnNldEFnZ3JlZ2F0aW9uKFwicm9vdENvbnRyb2xcIiwgdGhpcy5vVmlldyk7XG5cdFx0XHRcdFx0cmV0dXJuIHNDYWNoZUtleTtcblx0XHRcdFx0fSk7XG5cdFx0XHR9KTtcblx0XHR9O1xuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBvUm91dGluZ1NlcnZpY2UgPSBhd2FpdCBvQXBwQ29tcG9uZW50LmdldFNlcnZpY2UoXCJyb3V0aW5nU2VydmljZVwiKTtcblx0XHRcdC8vIFJldHJpZXZlIHRoZSB2aWV3TGV2ZWwgZm9yIHRoZSBjb21wb25lbnRcblx0XHRcdGNvbnN0IG9UYXJnZXRJbmZvID0gb1JvdXRpbmdTZXJ2aWNlLmdldFRhcmdldEluZm9ybWF0aW9uRm9yKG9Db21wb25lbnQpO1xuXHRcdFx0Y29uc3QgbU91dGJvdW5kcyA9XG5cdFx0XHRcdChvTWFuaWZlc3RDb250ZW50W1wic2FwLmFwcFwiXSAmJlxuXHRcdFx0XHRcdG9NYW5pZmVzdENvbnRlbnRbXCJzYXAuYXBwXCJdLmNyb3NzTmF2aWdhdGlvbiAmJlxuXHRcdFx0XHRcdG9NYW5pZmVzdENvbnRlbnRbXCJzYXAuYXBwXCJdLmNyb3NzTmF2aWdhdGlvbi5vdXRib3VuZHMpIHx8XG5cdFx0XHRcdHt9O1xuXHRcdFx0Y29uc3QgbU5hdmlnYXRpb24gPSBvQ29tcG9uZW50LmdldE5hdmlnYXRpb24oKSB8fCB7fTtcblx0XHRcdE9iamVjdC5rZXlzKG1OYXZpZ2F0aW9uKS5mb3JFYWNoKGZ1bmN0aW9uIChuYXZpZ2F0aW9uT2JqZWN0S2V5OiBzdHJpbmcpIHtcblx0XHRcdFx0Y29uc3QgbmF2aWdhdGlvbk9iamVjdCA9IG1OYXZpZ2F0aW9uW25hdmlnYXRpb25PYmplY3RLZXldO1xuXHRcdFx0XHRsZXQgb3V0Ym91bmRDb25maWc7XG5cdFx0XHRcdGlmIChuYXZpZ2F0aW9uT2JqZWN0LmRldGFpbCAmJiBuYXZpZ2F0aW9uT2JqZWN0LmRldGFpbC5vdXRib3VuZCAmJiBtT3V0Ym91bmRzW25hdmlnYXRpb25PYmplY3QuZGV0YWlsLm91dGJvdW5kXSkge1xuXHRcdFx0XHRcdG91dGJvdW5kQ29uZmlnID0gbU91dGJvdW5kc1tuYXZpZ2F0aW9uT2JqZWN0LmRldGFpbC5vdXRib3VuZF07XG5cdFx0XHRcdFx0bmF2aWdhdGlvbk9iamVjdC5kZXRhaWwub3V0Ym91bmREZXRhaWwgPSB7XG5cdFx0XHRcdFx0XHRzZW1hbnRpY09iamVjdDogb3V0Ym91bmRDb25maWcuc2VtYW50aWNPYmplY3QsXG5cdFx0XHRcdFx0XHRhY3Rpb246IG91dGJvdW5kQ29uZmlnLmFjdGlvbixcblx0XHRcdFx0XHRcdHBhcmFtZXRlcnM6IG91dGJvdW5kQ29uZmlnLnBhcmFtZXRlcnNcblx0XHRcdFx0XHR9O1xuXHRcdFx0XHR9XG5cdFx0XHRcdGlmIChuYXZpZ2F0aW9uT2JqZWN0LmNyZWF0ZSAmJiBuYXZpZ2F0aW9uT2JqZWN0LmNyZWF0ZS5vdXRib3VuZCAmJiBtT3V0Ym91bmRzW25hdmlnYXRpb25PYmplY3QuY3JlYXRlLm91dGJvdW5kXSkge1xuXHRcdFx0XHRcdG91dGJvdW5kQ29uZmlnID0gbU91dGJvdW5kc1tuYXZpZ2F0aW9uT2JqZWN0LmNyZWF0ZS5vdXRib3VuZF07XG5cdFx0XHRcdFx0bmF2aWdhdGlvbk9iamVjdC5jcmVhdGUub3V0Ym91bmREZXRhaWwgPSB7XG5cdFx0XHRcdFx0XHRzZW1hbnRpY09iamVjdDogb3V0Ym91bmRDb25maWcuc2VtYW50aWNPYmplY3QsXG5cdFx0XHRcdFx0XHRhY3Rpb246IG91dGJvdW5kQ29uZmlnLmFjdGlvbixcblx0XHRcdFx0XHRcdHBhcmFtZXRlcnM6IG91dGJvdW5kQ29uZmlnLnBhcmFtZXRlcnNcblx0XHRcdFx0XHR9O1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHRcdG1WaWV3RGF0YSA9IHtcblx0XHRcdFx0YXBwQ29tcG9uZW50OiBvQXBwQ29tcG9uZW50LFxuXHRcdFx0XHRuYXZpZ2F0aW9uOiBtTmF2aWdhdGlvbixcblx0XHRcdFx0dmlld0xldmVsOiBvVGFyZ2V0SW5mby52aWV3TGV2ZWwsXG5cdFx0XHRcdHN0YWJsZUlkOiBzU3RhYmxlSWQsXG5cdFx0XHRcdGNvbnRlbnREZW5zaXRpZXM6IG9NYW5pZmVzdENvbnRlbnRbXCJzYXAudWk1XCJdPy5jb250ZW50RGVuc2l0aWVzLFxuXHRcdFx0XHRyZXNvdXJjZU1vZGVsOiBvUmVzb3VyY2VNb2RlbCxcblx0XHRcdFx0ZnVsbENvbnRleHRQYXRoOiBzRnVsbENvbnRleHRQYXRoLFxuXHRcdFx0XHRpc0Rlc2t0b3A6IChEZXZpY2UgYXMgYW55KS5zeXN0ZW0uZGVza3RvcCxcblx0XHRcdFx0aXNQaG9uZTogKERldmljZSBhcyBhbnkpLnN5c3RlbS5waG9uZVxuXHRcdFx0fTtcblx0XHRcdGlmIChvQ29tcG9uZW50LmdldFZpZXdEYXRhKSB7XG5cdFx0XHRcdE9iamVjdC5hc3NpZ24obVZpZXdEYXRhLCBvQ29tcG9uZW50LmdldFZpZXdEYXRhKCkpO1xuXHRcdFx0XHRjb25zdCBhY3R1YWxTZXR0aW5ncyA9IG9NYW5pZmVzdENvbnRlbnQ/LltcInNhcC51aTVcIl0/LnJvdXRpbmc/LnRhcmdldHM/Llt0aGlzLnBhZ2VJZF0/Lm9wdGlvbnM/LnNldHRpbmdzIHx8IHt9O1xuXHRcdFx0XHRtVmlld0RhdGEgPSBhcHBseVBhZ2VDb25maWd1cmF0aW9uQ2hhbmdlcyhhY3R1YWxTZXR0aW5ncywgbVZpZXdEYXRhLCBvQXBwQ29tcG9uZW50LCB0aGlzLnBhZ2VJZCk7XG5cdFx0XHR9XG5cdFx0XHRtVmlld0RhdGEuaXNTaGFyZUJ1dHRvblZpc2libGVGb3JNeUluYm94ID0gVGVtcGxhdGVkVmlld1NlcnZpY2VGYWN0b3J5LmdldFNoYXJlQnV0dG9uVmlzaWJpbGl0eUZvck15SW5ib3gob0FwcENvbXBvbmVudCk7XG5cdFx0XHRjb25zdCBvU2hlbGxTZXJ2aWNlcyA9IG9BcHBDb21wb25lbnQuZ2V0U2hlbGxTZXJ2aWNlcygpO1xuXHRcdFx0bVZpZXdEYXRhLmNvbnZlcnRlclR5cGUgPSBzQ29udmVydGVyVHlwZTtcblx0XHRcdG1WaWV3RGF0YS5zaGVsbENvbnRlbnREZW5zaXR5ID0gb1NoZWxsU2VydmljZXMuZ2V0Q29udGVudERlbnNpdHkoKTtcblx0XHRcdG1WaWV3RGF0YS5yZXRyaWV2ZVRleHRGcm9tVmFsdWVMaXN0ID1cblx0XHRcdFx0b01hbmlmZXN0Q29udGVudFtcInNhcC5mZVwiXSAmJiBvTWFuaWZlc3RDb250ZW50W1wic2FwLmZlXCJdLmZvcm1cblx0XHRcdFx0XHQ/IG9NYW5pZmVzdENvbnRlbnRbXCJzYXAuZmVcIl0uZm9ybS5yZXRyaWV2ZVRleHRGcm9tVmFsdWVMaXN0XG5cdFx0XHRcdFx0OiB1bmRlZmluZWQ7XG5cdFx0XHRvVmlld0RhdGFNb2RlbCA9IG5ldyBKU09OTW9kZWwobVZpZXdEYXRhKTtcblx0XHRcdGlmIChtVmlld0RhdGEuY29udHJvbENvbmZpZ3VyYXRpb24pIHtcblx0XHRcdFx0Zm9yIChjb25zdCBzQW5ub3RhdGlvblBhdGggaW4gbVZpZXdEYXRhLmNvbnRyb2xDb25maWd1cmF0aW9uKSB7XG5cdFx0XHRcdFx0aWYgKHNBbm5vdGF0aW9uUGF0aC5pbmRleE9mKFwiW1wiKSAhPT0gLTEpIHtcblx0XHRcdFx0XHRcdGNvbnN0IHNUYXJnZXRBbm5vdGF0aW9uUGF0aCA9IHJlc29sdmVEeW5hbWljRXhwcmVzc2lvbihzQW5ub3RhdGlvblBhdGgsIG9NZXRhTW9kZWwpO1xuXHRcdFx0XHRcdFx0bVZpZXdEYXRhLmNvbnRyb2xDb25maWd1cmF0aW9uW3NUYXJnZXRBbm5vdGF0aW9uUGF0aF0gPSBtVmlld0RhdGEuY29udHJvbENvbmZpZ3VyYXRpb25bc0Fubm90YXRpb25QYXRoXTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdE1ldGFNb2RlbENvbnZlcnRlci5jb252ZXJ0VHlwZXMob01ldGFNb2RlbCwgb0FwcENvbXBvbmVudC5nZXRFbnZpcm9ubWVudENhcGFiaWxpdGllcygpLmdldENhcGFiaWxpdGllcygpKTtcblx0XHRcdG9QYWdlTW9kZWwgPSBuZXcgVGVtcGxhdGVNb2RlbCgoKSA9PiB7XG5cdFx0XHRcdHRyeSB7XG5cdFx0XHRcdFx0Y29uc3Qgb0RpYWdub3N0aWNzID0gb0FwcENvbXBvbmVudC5nZXREaWFnbm9zdGljcygpO1xuXHRcdFx0XHRcdGNvbnN0IGlJc3N1ZUNvdW50ID0gb0RpYWdub3N0aWNzLmdldElzc3VlcygpLmxlbmd0aDtcblx0XHRcdFx0XHRjb25zdCBvQ29udmVydGVyUGFnZU1vZGVsID0gVGVtcGxhdGVDb252ZXJ0ZXIuY29udmVydFBhZ2UoXG5cdFx0XHRcdFx0XHRzQ29udmVydGVyVHlwZSxcblx0XHRcdFx0XHRcdG9NZXRhTW9kZWwsXG5cdFx0XHRcdFx0XHRtVmlld0RhdGEsXG5cdFx0XHRcdFx0XHRvRGlhZ25vc3RpY3MsXG5cdFx0XHRcdFx0XHRzRnVsbENvbnRleHRQYXRoLFxuXHRcdFx0XHRcdFx0b0FwcENvbXBvbmVudC5nZXRFbnZpcm9ubWVudENhcGFiaWxpdGllcygpLmdldENhcGFiaWxpdGllcygpLFxuXHRcdFx0XHRcdFx0b0NvbXBvbmVudFxuXHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0Y29uc3QgYUlzc3VlcyA9IG9EaWFnbm9zdGljcy5nZXRJc3N1ZXMoKTtcblx0XHRcdFx0XHRjb25zdCBhQWRkZWRJc3N1ZXMgPSBhSXNzdWVzLnNsaWNlKGlJc3N1ZUNvdW50KTtcblx0XHRcdFx0XHRpZiAoYUFkZGVkSXNzdWVzLmxlbmd0aCA+IDApIHtcblx0XHRcdFx0XHRcdExvZy53YXJuaW5nKFxuXHRcdFx0XHRcdFx0XHRcIlNvbWUgaXNzdWVzIGhhdmUgYmVlbiBkZXRlY3RlZCBpbiB5b3VyIHByb2plY3QsIHBsZWFzZSBjaGVjayB0aGUgVUk1IHN1cHBvcnQgYXNzaXN0YW50IHJ1bGUgZm9yIHNhcC5mZS5jb3JlXCJcblx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHJldHVybiBvQ29udmVydGVyUGFnZU1vZGVsO1xuXHRcdFx0XHR9IGNhdGNoIChlcnJvcikge1xuXHRcdFx0XHRcdExvZy5lcnJvcihlcnJvciBhcyBhbnksIGVycm9yIGFzIGFueSk7XG5cdFx0XHRcdFx0cmV0dXJuIHt9O1xuXHRcdFx0XHR9XG5cdFx0XHR9LCBvTWV0YU1vZGVsKTtcblx0XHRcdGlmICghYkVycm9yKSB7XG5cdFx0XHRcdG9WaWV3U2V0dGluZ3MgPSBnZXRWaWV3U2V0dGluZ3MoKTtcblx0XHRcdFx0Ly8gU2V0dGluZyB0aGUgcGFnZU1vZGVsIG9uIHRoZSBjb21wb25lbnQgZm9yIHBvdGVudGlhbCByZXVzZVxuXHRcdFx0XHRvQ29tcG9uZW50LnNldE1vZGVsKG9QYWdlTW9kZWwsIFwiX3BhZ2VNb2RlbFwiKTtcblx0XHRcdFx0cmV0dXJuIG9Db21wb25lbnQucnVuQXNPd25lcigoKSA9PiB7XG5cdFx0XHRcdFx0cmV0dXJuIFZpZXcuY3JlYXRlKG9WaWV3U2V0dGluZ3MpXG5cdFx0XHRcdFx0XHQuY2F0Y2goY3JlYXRlRXJyb3JQYWdlKVxuXHRcdFx0XHRcdFx0LnRoZW4oKG9WaWV3OiBhbnkpID0+IHtcblx0XHRcdFx0XHRcdFx0dGhpcy5vVmlldyA9IG9WaWV3O1xuXHRcdFx0XHRcdFx0XHR0aGlzLm9WaWV3LnNldE1vZGVsKG5ldyBNYW5hZ2VkT2JqZWN0TW9kZWwodGhpcy5vVmlldyksIFwiJHZpZXdcIik7XG5cdFx0XHRcdFx0XHRcdHRoaXMub1ZpZXcuc2V0TW9kZWwob1ZpZXdEYXRhTW9kZWwsIFwidmlld0RhdGFcIik7XG5cdFx0XHRcdFx0XHRcdG9Db21wb25lbnQuc2V0QWdncmVnYXRpb24oXCJyb290Q29udHJvbFwiLCB0aGlzLm9WaWV3KTtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIHNDYWNoZUtleTtcblx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHQuY2F0Y2goKGUpID0+IExvZy5lcnJvcihlLm1lc3NhZ2UsIGUpKTtcblx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cdFx0fSBjYXRjaCAoZXJyb3I6IGFueSkge1xuXHRcdFx0TG9nLmVycm9yKGVycm9yLm1lc3NhZ2UsIGVycm9yKTtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgRXJyb3Igd2hpbGUgY3JlYXRpbmcgdmlldyA6ICR7ZXJyb3J9YCk7XG5cdFx0fVxuXHR9XG5cblx0Z2V0VmlldygpIHtcblx0XHRyZXR1cm4gdGhpcy5vVmlldztcblx0fVxuXG5cdGdldEludGVyZmFjZSgpOiBhbnkge1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0ZXhpdCgpIHtcblx0XHQvLyBEZXJlZ2lzdGVyIGdsb2JhbCBpbnN0YW5jZVxuXHRcdGlmICh0aGlzLm9SZXNvdXJjZU1vZGVsU2VydmljZSkge1xuXHRcdFx0dGhpcy5vUmVzb3VyY2VNb2RlbFNlcnZpY2UuZGVzdHJveSgpO1xuXHRcdH1cblx0XHRpZiAodGhpcy5vQ2FjaGVIYW5kbGVyU2VydmljZSkge1xuXHRcdFx0dGhpcy5vQ2FjaGVIYW5kbGVyU2VydmljZS5kZXN0cm95KCk7XG5cdFx0fVxuXHRcdHRoaXMub0ZhY3RvcnkucmVtb3ZlR2xvYmFsSW5zdGFuY2UoKTtcblx0fVxufVxuY2xhc3MgVGVtcGxhdGVkVmlld1NlcnZpY2VGYWN0b3J5IGV4dGVuZHMgU2VydmljZUZhY3Rvcnk8VGVtcGxhdGVkVmlld1NlcnZpY2VTZXR0aW5ncz4ge1xuXHRfb0luc3RhbmNlUmVnaXN0cnk6IFJlY29yZDxzdHJpbmcsIFRlbXBsYXRlZFZpZXdTZXJ2aWNlPiA9IHt9O1xuXG5cdHN0YXRpYyBpQ3JlYXRpbmdWaWV3czogMDtcblxuXHRjcmVhdGVJbnN0YW5jZShvU2VydmljZUNvbnRleHQ6IFNlcnZpY2VDb250ZXh0PFRlbXBsYXRlZFZpZXdTZXJ2aWNlU2V0dGluZ3M+KSB7XG5cdFx0VGVtcGxhdGVkVmlld1NlcnZpY2VGYWN0b3J5LmlDcmVhdGluZ1ZpZXdzKys7XG5cdFx0Y29uc3Qgb1RlbXBsYXRlZFZpZXdTZXJ2aWNlID0gbmV3IFRlbXBsYXRlZFZpZXdTZXJ2aWNlKE9iamVjdC5hc3NpZ24oeyBmYWN0b3J5OiB0aGlzIH0sIG9TZXJ2aWNlQ29udGV4dCkpO1xuXHRcdHJldHVybiBvVGVtcGxhdGVkVmlld1NlcnZpY2UuaW5pdFByb21pc2UudGhlbihmdW5jdGlvbiAoKSB7XG5cdFx0XHRUZW1wbGF0ZWRWaWV3U2VydmljZUZhY3RvcnkuaUNyZWF0aW5nVmlld3MtLTtcblx0XHRcdHJldHVybiBvVGVtcGxhdGVkVmlld1NlcnZpY2U7XG5cdFx0fSk7XG5cdH1cblxuXHRyZW1vdmVHbG9iYWxJbnN0YW5jZSgpIHtcblx0XHR0aGlzLl9vSW5zdGFuY2VSZWdpc3RyeSA9IHt9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiBUaGlzIGZ1bmN0aW9uIGNoZWNrcyBpZiB0aGUgY29tcG9uZW50IGRhdGEgc3BlY2lmaWVzIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSAnU2hhcmUnIGJ1dHRvbiBhbmQgcmV0dXJucyB0cnVlIG9yIGZhbHNlIGJhc2VkIG9uIHRoZSB2aXNpYmlsaXR5XG5cdCAqIEBwYXJhbSBhcHBDb21wb25lbnQgU3BlY2lmaWVzIHRoZSBhcHAgY29tcG9uZW50XG5cdCAqIEByZXR1cm5zIEJvb2xlYW4gdmFsdWUgYXMgdHJ1ZSBvciBmYWxzZSBiYXNlZCB3aGV0aGVyIHRoZSAnU2hhcmUnIGJ1dHRvbiBzaG91bGQgYmUgdmlzaWJsZSBvciBub3Rcblx0ICovXG5cdHN0YXRpYyBnZXRTaGFyZUJ1dHRvblZpc2liaWxpdHlGb3JNeUluYm94KGFwcENvbXBvbmVudDogQXBwQ29tcG9uZW50KSB7XG5cdFx0Y29uc3QgY29tcG9uZW50RGF0YTogQ29tcG9uZW50RGF0YSA9IGFwcENvbXBvbmVudC5nZXRDb21wb25lbnREYXRhKCk7XG5cdFx0aWYgKGNvbXBvbmVudERhdGEgIT09IHVuZGVmaW5lZCAmJiBjb21wb25lbnREYXRhLmZlRW52aXJvbm1lbnQpIHtcblx0XHRcdHJldHVybiBjb21wb25lbnREYXRhLmZlRW52aXJvbm1lbnQuZ2V0U2hhcmVDb250cm9sVmlzaWJpbGl0eSgpO1xuXHRcdH1cblx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHR9XG5cblx0c3RhdGljIGdldE51bWJlck9mVmlld3NJbkNyZWF0aW9uU3RhdGUoKSB7XG5cdFx0cmV0dXJuIFRlbXBsYXRlZFZpZXdTZXJ2aWNlRmFjdG9yeS5pQ3JlYXRpbmdWaWV3cztcblx0fVxufVxuZXhwb3J0IGRlZmF1bHQgVGVtcGxhdGVkVmlld1NlcnZpY2VGYWN0b3J5O1xuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7TUEyQ01BLG9CQUFvQjtJQUFBO0lBQUE7TUFBQTtJQUFBO0lBQUE7SUFBQSxPQXFCekJDLElBQUksR0FBSixnQkFBTztNQUNOLE1BQU1DLG9CQUFv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
@@ -1 +1 @@
1
- {"version":3,"file":"TemplatedViewServiceFactory.js","names":["sap","ui","define","Log","LoaderUtils","ChangePageConfiguration","TemplateModel","Component","View","Service","ServiceFactory","ServiceFactoryRegistry","Device","ManagedObjectModel","JSONModel","VersionInfo","DynamicAnnotationPathHelper","resolveDynamicExpression","applyPageConfigurationChanges","requireDependencies","_inheritsLoose","subClass","superClass","prototype","Object","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","bind","__proto__","TemplatedViewService","_Service","apply","this","arguments","_proto","init","aServiceDependencies","oContext","getContext","oComponent","scopeObject","oAppComponent","getOwnerComponentFor","oMetaModel","getMetaModel","pageId","getLocalId","getId","sStableId","getMetadata","getComponentName","aEnhanceI18n","getEnhanceI18n","sAppNamespace","oFactory","factory","i","length","oResourceModel","getModel","isA","replace","sCacheIdentifier","getName","getCore","getConfiguration","getLanguageTag","push","get","createInstance","scopeType","settings","bundles","enhanceI18n","modelName","then","oResourceModelService","getResourceModel","metaModel","appComponent","component","oCacheHandlerService","validateCacheKey","load","oInfo","sTimestamp","libraries","buildinfo","buildtime","forEach","oLibrary","buildTimestamp","catch","initPromise","Promise","all","async","aDependenciesResult","sCacheKey","oSideEffectsServices","getSideEffectsService","initializeSideEffects","getEnvironmentCapabilities","getCapabilities","TemplateConverter","MetaModelConverter","createView","getInstance","invalidateIfNeeded","refreshView","oRootView","getRootControl","destroy","oView","resourceModel","stableId","oContainer","invalidate","oError","error","mServiceSettings","sConverterType","converterType","sFullContextPath","getRoutingService","getTargetInformationFor","options","fullContextPath","oManifestContent","getManifest","oDeviceModel","setDefaultBindingMode","oManifestModel","bError","oPageModel","oViewDataModel","oViewSettings","mViewData","getViewSettings","aSplitPath","split","sEntitySetPath","reduce","sPathSoFar","sNextPathPart","oTarget","getObject","keys","viewType","getViewType","undefined","type","preprocessors","xml","bindingContexts","entitySet","createBindingContext","contextPath","converterContext","noResolve","viewData","models","device","manifest","id","viewName","getViewName","cache","additionalData","getAdditionalCacheData","getData","setAdditionalCacheData","value","setData","height","createErrorPage","reason","message","errorViewName","runAsOwner","setModel","setAggregation","_oManifestContent$sap","oRoutingService","getService","oTargetInfo","mOutbounds","crossNavigation","outbounds","mNavigation","getNavigation","navigationObjectKey","navigationObject","outboundConfig","detail","outbound","outboundDetail","semanticObject","action","parameters","navigation","viewLevel","contentDensities","isDesktop","system","desktop","isPhone","phone","getViewData","_oManifestContent$sap2","_oManifestContent$sap3","_oManifestContent$sap4","_oManifestContent$sap5","_oManifestContent$sap6","assign","actualSettings","routing","targets","isShareButtonVisibleForMyInbox","TemplatedViewServiceFactory","getShareButtonVisibilityForMyInbox","oShellServices","getShellServices","shellContentDensity","getContentDensity","retrieveTextFromValueList","form","controlConfiguration","sAnnotationPath","indexOf","sTargetAnnotationPath","convertTypes","oDiagnostics","getDiagnostics","iIssueCount","getIssues","oConverterPageModel","convertPage","aIssues","aAddedIssues","slice","warning","e","Error","getView","getInterface","exit","removeGlobalInstance","_ServiceFactory","_this","_len","args","Array","_key","call","_oInstanceRegistry","_proto2","oServiceContext","iCreatingViews","oTemplatedViewService","componentData","getComponentData","feEnvironment","getShareControlVisibility","getNumberOfViewsInCreationState"],"sources":["TemplatedViewServiceFactory-dbg.js"],"mappings":"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"}
1
+ {"version":3,"file":"TemplatedViewServiceFactory.js","names":["sap","ui","define","Log","LoaderUtils","ChangePageConfiguration","TemplateModel","Component","View","Service","ServiceFactory","ServiceFactoryRegistry","Device","ManagedObjectModel","JSONModel","VersionInfo","DynamicAnnotationPathHelper","resolveDynamicExpression","applyPageConfigurationChanges","requireDependencies","_inheritsLoose","subClass","superClass","prototype","Object","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","bind","__proto__","TemplatedViewService","_Service","apply","this","arguments","_proto","init","aServiceDependencies","oContext","getContext","oComponent","scopeObject","oAppComponent","getOwnerComponentFor","oMetaModel","getMetaModel","pageId","getLocalId","getId","sStableId","getMetadata","getComponentName","aEnhanceI18n","getEnhanceI18n","sAppNamespace","oFactory","factory","i","length","oResourceModel","getModel","isA","replace","sCacheIdentifier","getName","getCore","getConfiguration","getLanguageTag","push","get","createInstance","scopeType","settings","bundles","enhanceI18n","modelName","then","oResourceModelService","getResourceModel","metaModel","appComponent","component","oCacheHandlerService","validateCacheKey","load","oInfo","sTimestamp","libraries","buildinfo","buildtime","forEach","oLibrary","buildTimestamp","catch","initPromise","Promise","all","async","aDependenciesResult","sCacheKey","oSideEffectsServices","getSideEffectsService","initializeSideEffects","getEnvironmentCapabilities","getCapabilities","TemplateConverter","MetaModelConverter","createView","getInstance","invalidateIfNeeded","refreshView","oRootView","getRootControl","destroy","oView","resourceModel","stableId","oContainer","invalidate","oError","error","mServiceSettings","sConverterType","converterType","sFullContextPath","getRoutingService","getTargetInformationFor","options","fullContextPath","oManifestContent","getManifest","oDeviceModel","setDefaultBindingMode","oManifestModel","bError","oPageModel","oViewDataModel","oViewSettings","mViewData","getViewSettings","aSplitPath","split","sEntitySetPath","reduce","sPathSoFar","sNextPathPart","oTarget","getObject","keys","viewType","getViewType","undefined","type","preprocessors","xml","bindingContexts","entitySet","createBindingContext","contextPath","converterContext","noResolve","viewData","models","device","manifest","id","viewName","getViewName","cache","additionalData","getAdditionalCacheData","getData","setAdditionalCacheData","value","setData","height","createErrorPage","reason","message","errorViewName","runAsOwner","setModel","setAggregation","_oManifestContent$sap","oRoutingService","getService","oTargetInfo","mOutbounds","crossNavigation","outbounds","mNavigation","getNavigation","navigationObjectKey","navigationObject","outboundConfig","detail","outbound","outboundDetail","semanticObject","action","parameters","navigation","viewLevel","contentDensities","isDesktop","system","desktop","isPhone","phone","getViewData","_oManifestContent$sap2","_oManifestContent$sap3","_oManifestContent$sap4","_oManifestContent$sap5","_oManifestContent$sap6","assign","actualSettings","routing","targets","isShareButtonVisibleForMyInbox","TemplatedViewServiceFactory","getShareButtonVisibilityForMyInbox","oShellServices","getShellServices","shellContentDensity","getContentDensity","retrieveTextFromValueList","form","controlConfiguration","sAnnotationPath","indexOf","sTargetAnnotationPath","convertTypes","oDiagnostics","getDiagnostics","iIssueCount","getIssues","oConverterPageModel","convertPage","aIssues","aAddedIssues","slice","warning","e","Error","getView","getInterface","exit","removeGlobalInstance","_ServiceFactory","_this","_len","args","Array","_key","call","_oInstanceRegistry","_proto2","oServiceContext","iCreatingViews","oTemplatedViewService","componentData","getComponentData","feEnvironment","getShareControlVisibility","getNumberOfViewsInCreationState"],"sources":["TemplatedViewServiceFactory-dbg.js"],"mappings":"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"}