@sap/open.fe 1.99.0 → 1.100.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 (969) hide show
  1. package/package.json +1 -1
  2. package/packages/sap.fe.common/src/sap/fe/common/.library +1 -1
  3. package/packages/sap.fe.common/src/sap/fe/common/.theming +1 -1
  4. package/packages/sap.fe.common/src/sap/fe/common/MessageButton-dbg.js +1748 -1813
  5. package/packages/sap.fe.common/src/sap/fe/common/MessageButton.js +2 -3
  6. package/packages/sap.fe.common/src/sap/fe/common/MessageButton.ts +1801 -0
  7. package/packages/sap.fe.common/src/sap/fe/common/MessageFilter-dbg.js +77 -32
  8. package/packages/sap.fe.common/src/sap/fe/common/MessageFilter.js +2 -3
  9. package/packages/sap.fe.common/src/sap/fe/common/MessageFilter.ts +26 -0
  10. package/packages/sap.fe.common/src/sap/fe/common/MessagePopover-dbg.js +43 -53
  11. package/packages/sap.fe.common/src/sap/fe/common/MessagePopover.js +2 -3
  12. package/packages/sap.fe.common/src/sap/fe/common/MessagePopover.ts +39 -0
  13. package/packages/sap.fe.common/src/sap/fe/common/library-dbg.js +31 -38
  14. package/packages/sap.fe.common/src/sap/fe/common/library-h2-preload.js +8 -9
  15. package/packages/sap.fe.common/src/sap/fe/common/library-h2-preload.js.map +3 -3
  16. package/packages/sap.fe.common/src/sap/fe/common/library-preload.js +23 -71
  17. package/packages/sap.fe.common/src/sap/fe/common/library-preload.js.map +4 -4
  18. package/packages/sap.fe.common/src/sap/fe/common/library.js +4 -5
  19. package/packages/sap.fe.common/src/sap/fe/common/library.ts +35 -0
  20. package/packages/sap.fe.common/src/sap/fe/common/manifest.json +3 -3
  21. package/packages/sap.fe.common/src/sap/fe/common/resources.json +54 -32
  22. package/packages/sap.fe.common/test/sap/fe/common/designtime/api.json +1 -1
  23. package/packages/sap.fe.common/test/sap/fe/common/designtime/apiref/api.json +1 -1
  24. package/packages/sap.fe.common/test/sap/fe/common/designtime/codeassistance/Library.jsmeta.json +1 -1
  25. package/packages/sap.fe.common/test/sap/fe/common/designtime/codeassistance/Library.xmlmeta.json +1 -1
  26. package/packages/sap.fe.core/src/sap/fe/core/.library +1 -1
  27. package/packages/sap.fe.core/src/sap/fe/core/.theming +1 -1
  28. package/packages/sap.fe.core/src/sap/fe/core/AnnotationHelper-dbg.js +1 -69
  29. package/packages/sap.fe.core/src/sap/fe/core/AnnotationHelper.js +1 -1
  30. package/packages/sap.fe.core/src/sap/fe/core/AnnotationHelper.ts +0 -70
  31. package/packages/sap.fe.core/src/sap/fe/core/AppComponent-dbg.js +388 -399
  32. package/packages/sap.fe.core/src/sap/fe/core/AppComponent.js +2 -3
  33. package/packages/sap.fe.core/src/sap/fe/core/AppComponent.ts +403 -0
  34. package/packages/sap.fe.core/src/sap/fe/core/AppStateHandler-dbg.js +127 -158
  35. package/packages/sap.fe.core/src/sap/fe/core/AppStateHandler.js +1 -1
  36. package/packages/sap.fe.core/src/sap/fe/core/BaseController-dbg.js +82 -58
  37. package/packages/sap.fe.core/src/sap/fe/core/BaseController.js +2 -3
  38. package/packages/sap.fe.core/src/sap/fe/core/BaseController.ts +68 -0
  39. package/packages/sap.fe.core/src/sap/fe/core/CommonUtils-dbg.js +111 -20
  40. package/packages/sap.fe.core/src/sap/fe/core/CommonUtils.js +1 -1
  41. package/packages/sap.fe.core/src/sap/fe/core/CommonUtils.ts +131 -32
  42. package/packages/sap.fe.core/src/sap/fe/core/ExtensionAPI-dbg.js +278 -274
  43. package/packages/sap.fe.core/src/sap/fe/core/ExtensionAPI.js +2 -3
  44. package/packages/sap.fe.core/src/sap/fe/core/ExtensionAPI.ts +250 -0
  45. package/packages/sap.fe.core/src/sap/fe/core/PageController-dbg.js +157 -29
  46. package/packages/sap.fe.core/src/sap/fe/core/PageController.js +1 -1
  47. package/packages/sap.fe.core/src/sap/fe/core/PageController.ts +60 -32
  48. package/packages/sap.fe.core/src/sap/fe/core/RouterProxy-dbg.js +694 -756
  49. package/packages/sap.fe.core/src/sap/fe/core/RouterProxy.js +1 -1
  50. package/packages/sap.fe.core/src/sap/fe/core/RouterProxy.ts +11 -9
  51. package/packages/sap.fe.core/src/sap/fe/core/Synchronization-dbg.js +21 -31
  52. package/packages/sap.fe.core/src/sap/fe/core/Synchronization.js +1 -1
  53. package/packages/sap.fe.core/src/sap/fe/core/TemplateComponent-dbg.js +1 -1
  54. package/packages/sap.fe.core/src/sap/fe/core/TemplateComponent.ts +10 -3
  55. package/packages/sap.fe.core/src/sap/fe/core/TemplateModel-dbg.js +20 -38
  56. package/packages/sap.fe.core/src/sap/fe/core/TemplateModel.js +1 -1
  57. package/packages/sap.fe.core/src/sap/fe/core/TemplateModel.ts +1 -1
  58. package/packages/sap.fe.core/src/sap/fe/core/TransactionHelper-dbg.js +1354 -1370
  59. package/packages/sap.fe.core/src/sap/fe/core/TransactionHelper.js +1 -1
  60. package/packages/sap.fe.core/src/sap/fe/core/TransactionHelper.ts +33 -22
  61. package/packages/sap.fe.core/src/sap/fe/core/actions/collaboration/ActivitySync-dbg.js +392 -0
  62. package/packages/sap.fe.core/src/sap/fe/core/actions/collaboration/ActivitySync.js +5 -0
  63. package/packages/sap.fe.core/src/sap/fe/core/actions/collaboration/ActivitySync.ts +355 -0
  64. package/packages/sap.fe.core/src/sap/fe/core/actions/collaboration/CollaborationCommon-dbg.js +136 -0
  65. package/packages/sap.fe.core/src/sap/fe/core/actions/collaboration/CollaborationCommon.js +5 -0
  66. package/packages/sap.fe.core/src/sap/fe/core/actions/collaboration/CollaborationCommon.ts +119 -0
  67. package/packages/sap.fe.core/src/sap/fe/core/actions/collaboration/Manage-dbg.js +262 -0
  68. package/packages/sap.fe.core/src/sap/fe/core/actions/collaboration/Manage.js +5 -0
  69. package/packages/sap.fe.core/src/sap/fe/core/actions/collaboration/Manage.ts +244 -0
  70. package/packages/sap.fe.core/src/sap/fe/core/actions/collaboration/ManageDialog.fragment.xml +103 -0
  71. package/packages/sap.fe.core/src/sap/fe/core/actions/collaboration/UserDetails.fragment.xml +13 -0
  72. package/packages/sap.fe.core/src/sap/fe/core/actions/draft-dbg.js +30 -68
  73. package/packages/sap.fe.core/src/sap/fe/core/actions/draft.js +1 -1
  74. package/packages/sap.fe.core/src/sap/fe/core/actions/draft.ts +44 -71
  75. package/packages/sap.fe.core/src/sap/fe/core/actions/messageHandling-dbg.js +55 -36
  76. package/packages/sap.fe.core/src/sap/fe/core/actions/messageHandling.js +1 -1
  77. package/packages/sap.fe.core/src/sap/fe/core/actions/messageHandling.ts +66 -46
  78. package/packages/sap.fe.core/src/sap/fe/core/actions/operations-dbg.js +34 -15
  79. package/packages/sap.fe.core/src/sap/fe/core/actions/operations.js +1 -1
  80. package/packages/sap.fe.core/src/sap/fe/core/actions/operations.ts +48 -18
  81. package/packages/sap.fe.core/src/sap/fe/core/actions/sticky-dbg.js +17 -4
  82. package/packages/sap.fe.core/src/sap/fe/core/actions/sticky.js +1 -1
  83. package/packages/sap.fe.core/src/sap/fe/core/actions/sticky.ts +21 -4
  84. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata-dbg.js +69 -66
  85. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata.js +2 -3
  86. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata.ts +65 -0
  87. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/EditFlow-dbg.js +1593 -1669
  88. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/EditFlow.js +2 -3
  89. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/EditFlow.ts +1672 -0
  90. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/IntentBasedNavigation-dbg.js +79 -54
  91. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +2 -3
  92. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +61 -0
  93. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalEditFlow-dbg.js +718 -779
  94. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalEditFlow.js +2 -3
  95. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +783 -0
  96. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation-dbg.js +796 -816
  97. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +2 -3
  98. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +803 -0
  99. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalRouting-dbg.js +1004 -1005
  100. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalRouting.js +2 -3
  101. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalRouting.ts +978 -0
  102. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/KPIManagement-dbg.js +487 -521
  103. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/KPIManagement.js +1 -1
  104. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/KPIManagement.ts +2 -2
  105. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MassEdit-dbg.js +141 -169
  106. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MassEdit.js +2 -3
  107. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MassEdit.ts +156 -0
  108. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MessageHandler-dbg.js +233 -244
  109. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MessageHandler.js +2 -3
  110. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MessageHandler.ts +225 -0
  111. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/PageReady-dbg.js +301 -336
  112. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/PageReady.js +1 -1
  113. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/PageReady.ts +12 -10
  114. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Paginator-dbg.js +188 -175
  115. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Paginator.js +2 -3
  116. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Paginator.ts +163 -0
  117. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Placeholder-dbg.js +157 -149
  118. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Placeholder.js +2 -3
  119. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Placeholder.ts +151 -0
  120. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Routing-dbg.js +144 -125
  121. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Routing.js +2 -3
  122. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Routing.ts +132 -0
  123. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/RoutingListener-dbg.js +7 -6
  124. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/RoutingListener.js +2 -3
  125. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/RoutingListener.ts +3 -0
  126. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Share-dbg.js +230 -268
  127. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Share.js +2 -3
  128. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Share.ts +231 -0
  129. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/SideEffects-dbg.js +592 -633
  130. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/SideEffects.js +1 -1
  131. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/SideEffects.ts +8 -7
  132. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/ViewState-dbg.js +788 -806
  133. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/ViewState.js +2 -3
  134. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/ViewState.ts +805 -0
  135. package/packages/sap.fe.core/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +2 -2
  136. package/packages/sap.fe.core/src/sap/fe/core/controls/ActionPartial.fragment.xml +2 -2
  137. package/packages/sap.fe.core/src/sap/fe/core/controls/CommandExecution-dbg.js +67 -66
  138. package/packages/sap.fe.core/src/sap/fe/core/controls/CommandExecution.js +2 -3
  139. package/packages/sap.fe.core/src/sap/fe/core/controls/CommandExecution.ts +72 -0
  140. package/packages/sap.fe.core/src/sap/fe/core/controls/ConditionalWrapper-dbg.js +90 -75
  141. package/packages/sap.fe.core/src/sap/fe/core/controls/ConditionalWrapper.js +2 -3
  142. package/packages/sap.fe.core/src/sap/fe/core/controls/ConditionalWrapper.ts +83 -0
  143. package/packages/sap.fe.core/src/sap/fe/core/controls/CustomQuickViewPage-dbg.js +130 -125
  144. package/packages/sap.fe.core/src/sap/fe/core/controls/CustomQuickViewPage.js +2 -3
  145. package/packages/sap.fe.core/src/sap/fe/core/controls/CustomQuickViewPage.ts +126 -0
  146. package/packages/sap.fe.core/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler-dbg.js +103 -112
  147. package/packages/sap.fe.core/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +2 -3
  148. package/packages/sap.fe.core/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +101 -0
  149. package/packages/sap.fe.core/src/sap/fe/core/controls/FieldWrapper-dbg.js +122 -135
  150. package/packages/sap.fe.core/src/sap/fe/core/controls/FieldWrapper.js +2 -3
  151. package/packages/sap.fe.core/src/sap/fe/core/controls/FieldWrapper.ts +115 -0
  152. package/packages/sap.fe.core/src/sap/fe/core/controls/FilterBar-dbg.js +162 -159
  153. package/packages/sap.fe.core/src/sap/fe/core/controls/FilterBar.js +2 -3
  154. package/packages/sap.fe.core/src/sap/fe/core/controls/FilterBar.ts +143 -0
  155. package/packages/sap.fe.core/src/sap/fe/core/controls/FormElementWrapper-dbg.js +45 -39
  156. package/packages/sap.fe.core/src/sap/fe/core/controls/FormElementWrapper.js +2 -3
  157. package/packages/sap.fe.core/src/sap/fe/core/controls/FormElementWrapper.ts +40 -0
  158. package/packages/sap.fe.core/src/sap/fe/core/controls/MultiValueParameterDelegate-dbg.js +37 -42
  159. package/packages/sap.fe.core/src/sap/fe/core/controls/MultiValueParameterDelegate.js +1 -2
  160. package/packages/sap.fe.core/src/sap/fe/core/controls/MultiValueParameterDelegate.ts +31 -0
  161. package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/FilterContainer-dbg.js +126 -116
  162. package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/FilterContainer.js +2 -3
  163. package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/FilterContainer.ts +98 -0
  164. package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/VisualFilter-dbg.js +241 -255
  165. package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/VisualFilter.js +2 -3
  166. package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/VisualFilter.ts +245 -0
  167. package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/VisualFilterContainer-dbg.js +150 -141
  168. package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +2 -3
  169. package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +125 -0
  170. package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils-dbg.js +335 -322
  171. package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +2 -3
  172. package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +337 -0
  173. package/packages/sap.fe.core/src/sap/fe/core/controls/massEdit/MassEditHandlers-dbg.js +74 -74
  174. package/packages/sap.fe.core/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +2 -3
  175. package/packages/sap.fe.core/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +70 -0
  176. package/packages/sap.fe.core/src/sap/fe/core/converters/ConverterContext-dbg.js +348 -379
  177. package/packages/sap.fe.core/src/sap/fe/core/converters/ConverterContext.js +1 -1
  178. package/packages/sap.fe.core/src/sap/fe/core/converters/ConverterContext.ts +19 -16
  179. package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings-dbg.js +12 -1
  180. package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings.js +1 -1
  181. package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings.ts +12 -1
  182. package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestWrapper-dbg.js +354 -378
  183. package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestWrapper.js +1 -1
  184. package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestWrapper.ts +10 -0
  185. package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter-dbg.js +6 -4
  186. package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter.js +1 -1
  187. package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter.ts +5 -2
  188. package/packages/sap.fe.core/src/sap/fe/core/converters/TemplateConverter-dbg.js +1 -1
  189. package/packages/sap.fe.core/src/sap/fe/core/converters/TemplateConverter.ts +2 -1
  190. package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField-dbg.js +26 -12
  191. package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField.js +1 -1
  192. package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField.ts +37 -13
  193. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form-dbg.js +2 -2
  194. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form.js +1 -1
  195. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form.ts +4 -2
  196. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/KPI-dbg.js +1 -1
  197. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/KPI.ts +3 -2
  198. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table-dbg.js +130 -23
  199. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table.js +1 -1
  200. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table.ts +134 -29
  201. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/table/StandardActions-dbg.js +118 -53
  202. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +1 -1
  203. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +156 -93
  204. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/FilterBar-dbg.js +161 -207
  205. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +1 -1
  206. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +148 -206
  207. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Aggregation-dbg.js +115 -133
  208. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Aggregation.js +1 -1
  209. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/BindingHelper-dbg.js +20 -6
  210. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/BindingHelper.js +1 -1
  211. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/BindingHelper.ts +16 -4
  212. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/ConfigurableObject-dbg.js +12 -1
  213. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +11 -0
  214. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Key-dbg.js +42 -57
  215. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Key.js +1 -1
  216. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Key.ts +1 -1
  217. package/packages/sap.fe.core/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction-dbg.js +25 -4
  218. package/packages/sap.fe.core/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +1 -1
  219. package/packages/sap.fe.core/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +20 -3
  220. package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ListReportConverter-dbg.js +10 -4
  221. package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ListReportConverter.js +1 -1
  222. package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ListReportConverter.ts +15 -4
  223. package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ObjectPageConverter-dbg.js +7 -5
  224. package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ObjectPageConverter.js +1 -1
  225. package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +5 -1
  226. package/packages/sap.fe.core/src/sap/fe/core/designtime/AppComponent-dbg.designtime.js +92 -98
  227. package/packages/sap.fe.core/src/sap/fe/core/designtime/AppComponent.designtime.js +2 -3
  228. package/packages/sap.fe.core/src/sap/fe/core/designtime/AppComponent.designtime.ts +91 -0
  229. package/packages/sap.fe.core/src/sap/fe/core/designtime/library-preload.designtime.js +2 -3
  230. package/packages/sap.fe.core/src/sap/fe/core/designtime/library-preload.designtime.js.map +3 -3
  231. package/packages/sap.fe.core/src/sap/fe/core/formatters/CollaborationFormatter-dbg.js +104 -0
  232. package/packages/sap.fe.core/src/sap/fe/core/formatters/CollaborationFormatter.js +5 -0
  233. package/packages/sap.fe.core/src/sap/fe/core/formatters/CollaborationFormatter.ts +60 -0
  234. package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatter-dbg.js +53 -2
  235. package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatter.js +1 -1
  236. package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatter.ts +51 -0
  237. package/packages/sap.fe.core/src/sap/fe/core/fpm/Component-dbg.js +50 -54
  238. package/packages/sap.fe.core/src/sap/fe/core/fpm/Component.js +2 -3
  239. package/packages/sap.fe.core/src/sap/fe/core/fpm/Component.ts +48 -0
  240. package/packages/sap.fe.core/src/sap/fe/core/fpm/manifest.json +2 -2
  241. package/packages/sap.fe.core/src/sap/fe/core/fpm/resources.json +7 -3
  242. package/packages/sap.fe.core/src/sap/fe/core/helpers/AppStartupHelper-dbg.js +323 -309
  243. package/packages/sap.fe.core/src/sap/fe/core/helpers/AppStartupHelper.js +1 -1
  244. package/packages/sap.fe.core/src/sap/fe/core/helpers/AppStartupHelper.ts +363 -337
  245. package/packages/sap.fe.core/src/sap/fe/core/helpers/BindingExpression-dbg.js +7 -7
  246. package/packages/sap.fe.core/src/sap/fe/core/helpers/BindingExpression.js +1 -1
  247. package/packages/sap.fe.core/src/sap/fe/core/helpers/BindingExpression.ts +7 -7
  248. package/packages/sap.fe.core/src/sap/fe/core/helpers/ClassSupport-dbg.js +186 -62
  249. package/packages/sap.fe.core/src/sap/fe/core/helpers/ClassSupport.js +1 -1
  250. package/packages/sap.fe.core/src/sap/fe/core/helpers/ClassSupport.ts +168 -52
  251. package/packages/sap.fe.core/src/sap/fe/core/helpers/DynamicAnnotationPathHelper-dbg.js +5 -4
  252. package/packages/sap.fe.core/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +1 -1
  253. package/packages/sap.fe.core/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.ts +1 -5
  254. package/packages/sap.fe.core/src/sap/fe/core/helpers/FPMHelper-dbg.js +1 -1
  255. package/packages/sap.fe.core/src/sap/fe/core/helpers/FPMHelper.ts +1 -1
  256. package/packages/sap.fe.core/src/sap/fe/core/helpers/MassEditHelper-dbg.js +601 -684
  257. package/packages/sap.fe.core/src/sap/fe/core/helpers/MassEditHelper.js +2 -3
  258. package/packages/sap.fe.core/src/sap/fe/core/helpers/MassEditHelper.ts +699 -0
  259. package/packages/sap.fe.core/src/sap/fe/core/helpers/ModelHelper-dbg.js +25 -1
  260. package/packages/sap.fe.core/src/sap/fe/core/helpers/ModelHelper.js +1 -1
  261. package/packages/sap.fe.core/src/sap/fe/core/helpers/ModelHelper.ts +23 -0
  262. package/packages/sap.fe.core/src/sap/fe/core/helpers/SemanticDateOperators-dbg.js +5 -1
  263. package/packages/sap.fe.core/src/sap/fe/core/helpers/SemanticDateOperators.js +1 -1
  264. package/packages/sap.fe.core/src/sap/fe/core/helpers/SemanticDateOperators.ts +4 -0
  265. package/packages/sap.fe.core/src/sap/fe/core/library-dbg.js +426 -451
  266. package/packages/sap.fe.core/src/sap/fe/core/library-h2-preload.js +36 -32
  267. package/packages/sap.fe.core/src/sap/fe/core/library-h2-preload.js.map +3 -3
  268. package/packages/sap.fe.core/src/sap/fe/core/library-preload.js +644 -738
  269. package/packages/sap.fe.core/src/sap/fe/core/library-preload.js.map +4 -4
  270. package/packages/sap.fe.core/src/sap/fe/core/library-preload.support.js +24 -35
  271. package/packages/sap.fe.core/src/sap/fe/core/library-preload.support.js.map +2 -2
  272. package/packages/sap.fe.core/src/sap/fe/core/library.js +2 -3
  273. package/packages/sap.fe.core/src/sap/fe/core/library.support.js +22 -33
  274. package/packages/sap.fe.core/src/sap/fe/core/library.support.ts +23 -0
  275. package/packages/sap.fe.core/src/sap/fe/core/library.ts +420 -0
  276. package/packages/sap.fe.core/src/sap/fe/core/manifest.json +10 -10
  277. package/packages/sap.fe.core/src/sap/fe/core/manifestMerger/ChangePageConfiguration-dbg.js +5 -3
  278. package/packages/sap.fe.core/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +1 -1
  279. package/packages/sap.fe.core/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +4 -1
  280. package/packages/sap.fe.core/src/sap/fe/core/messagebundle.properties +22 -5
  281. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ar.properties +27 -7
  282. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_bg.properties +27 -7
  283. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ca.properties +27 -7
  284. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_cs.properties +27 -7
  285. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_cy.properties +27 -7
  286. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_da.properties +27 -7
  287. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_de.properties +27 -7
  288. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_el.properties +27 -7
  289. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en.properties +27 -7
  290. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_GB.properties +27 -7
  291. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_sappsd.properties +27 -7
  292. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_saprigi.properties +27 -7
  293. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_saptrc.properties +27 -7
  294. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_es.properties +27 -7
  295. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_es_MX.properties +27 -7
  296. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_et.properties +27 -7
  297. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fi.properties +28 -8
  298. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fr.properties +28 -8
  299. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fr_CA.properties +29 -9
  300. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hi.properties +27 -7
  301. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hr.properties +27 -7
  302. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hu.properties +27 -7
  303. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_id.properties +27 -7
  304. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_it.properties +27 -7
  305. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_iw.properties +27 -7
  306. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ja.properties +26 -6
  307. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_kk.properties +27 -7
  308. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ko.properties +27 -7
  309. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_lt.properties +27 -7
  310. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_lv.properties +28 -8
  311. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ms.properties +27 -7
  312. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_nl.properties +27 -7
  313. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_no.properties +27 -7
  314. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pl.properties +27 -7
  315. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pt.properties +28 -8
  316. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pt_PT.properties +27 -7
  317. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ro.properties +27 -7
  318. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ru.properties +27 -7
  319. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sh.properties +27 -7
  320. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sk.properties +27 -7
  321. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sl.properties +27 -7
  322. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sv.properties +27 -7
  323. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_th.properties +26 -6
  324. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_tr.properties +30 -10
  325. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_uk.properties +27 -7
  326. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_vi.properties +27 -7
  327. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_zh_CN.properties +27 -7
  328. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_zh_TW.properties +27 -7
  329. package/packages/sap.fe.core/src/sap/fe/core/resources.json +745 -384
  330. package/packages/sap.fe.core/src/sap/fe/core/services/AsyncComponentServiceFactory-dbg.js +45 -71
  331. package/packages/sap.fe.core/src/sap/fe/core/services/AsyncComponentServiceFactory.js +1 -1
  332. package/packages/sap.fe.core/src/sap/fe/core/services/CacheHandlerServiceFactory-dbg.js +154 -192
  333. package/packages/sap.fe.core/src/sap/fe/core/services/CacheHandlerServiceFactory.js +1 -1
  334. package/packages/sap.fe.core/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +4 -4
  335. package/packages/sap.fe.core/src/sap/fe/core/services/EnvironmentServiceFactory-dbg.js +66 -92
  336. package/packages/sap.fe.core/src/sap/fe/core/services/EnvironmentServiceFactory.js +1 -1
  337. package/packages/sap.fe.core/src/sap/fe/core/services/EnvironmentServiceFactory.ts +1 -1
  338. package/packages/sap.fe.core/src/sap/fe/core/services/NavigationServiceFactory-dbg.js +284 -339
  339. package/packages/sap.fe.core/src/sap/fe/core/services/NavigationServiceFactory.js +1 -1
  340. package/packages/sap.fe.core/src/sap/fe/core/services/NavigationServiceFactory.ts +10 -13
  341. package/packages/sap.fe.core/src/sap/fe/core/services/ResourceModelServiceFactory-dbg.js +67 -102
  342. package/packages/sap.fe.core/src/sap/fe/core/services/ResourceModelServiceFactory.js +1 -1
  343. package/packages/sap.fe.core/src/sap/fe/core/services/ResourceModelServiceFactory.ts +5 -2
  344. package/packages/sap.fe.core/src/sap/fe/core/services/RoutingServiceFactory-dbg.js +754 -814
  345. package/packages/sap.fe.core/src/sap/fe/core/services/RoutingServiceFactory.js +1 -1
  346. package/packages/sap.fe.core/src/sap/fe/core/services/RoutingServiceFactory.ts +13 -13
  347. package/packages/sap.fe.core/src/sap/fe/core/services/ShellServicesFactory-dbg.js +649 -736
  348. package/packages/sap.fe.core/src/sap/fe/core/services/ShellServicesFactory.js +1 -1
  349. package/packages/sap.fe.core/src/sap/fe/core/services/ShellServicesFactory.ts +7 -4
  350. package/packages/sap.fe.core/src/sap/fe/core/services/SideEffectsServiceFactory-dbg.js +567 -592
  351. package/packages/sap.fe.core/src/sap/fe/core/services/SideEffectsServiceFactory.js +1 -1
  352. package/packages/sap.fe.core/src/sap/fe/core/services/SideEffectsServiceFactory.ts +22 -3
  353. package/packages/sap.fe.core/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +354 -386
  354. package/packages/sap.fe.core/src/sap/fe/core/services/TemplatedViewServiceFactory.js +1 -1
  355. package/packages/sap.fe.core/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +21 -14
  356. package/packages/sap.fe.core/src/sap/fe/core/services/view/TemplatingErrorPage-dbg.controller.js +1 -1
  357. package/packages/sap.fe.core/src/sap/fe/core/services/view/TemplatingErrorPage.controller.ts +1 -1
  358. package/packages/sap.fe.core/src/sap/fe/core/support/CommonHelper-dbg.js +1 -1
  359. package/packages/sap.fe.core/src/sap/fe/core/support/CommonHelper.ts +1 -1
  360. package/packages/sap.fe.core/src/sap/fe/core/support/Diagnostics-dbg.js +36 -48
  361. package/packages/sap.fe.core/src/sap/fe/core/support/Diagnostics.js +1 -1
  362. package/packages/sap.fe.core/src/sap/fe/core/templating/DataModelPathHelper-dbg.js +93 -85
  363. package/packages/sap.fe.core/src/sap/fe/core/templating/DataModelPathHelper.js +1 -1
  364. package/packages/sap.fe.core/src/sap/fe/core/templating/DataModelPathHelper.ts +104 -95
  365. package/packages/sap.fe.core/src/sap/fe/core/templating/FilterHelper-dbg.js +25 -32
  366. package/packages/sap.fe.core/src/sap/fe/core/templating/FilterHelper.js +1 -1
  367. package/packages/sap.fe.core/src/sap/fe/core/templating/FilterHelper.ts +36 -35
  368. package/packages/sap.fe.core/src/sap/fe/core/templating/PropertyHelper-dbg.js +2 -2
  369. package/packages/sap.fe.core/src/sap/fe/core/templating/PropertyHelper.js +1 -1
  370. package/packages/sap.fe.core/src/sap/fe/core/templating/PropertyHelper.ts +1 -1
  371. package/packages/sap.fe.core/src/sap/fe/core/templating/UIFormatters-dbg.js +32 -26
  372. package/packages/sap.fe.core/src/sap/fe/core/templating/UIFormatters.js +1 -1
  373. package/packages/sap.fe.core/src/sap/fe/core/templating/UIFormatters.ts +37 -24
  374. package/packages/sap.fe.core/test/sap/fe/core/designtime/api.json +1664 -1
  375. package/packages/sap.fe.core/test/sap/fe/core/designtime/apiref/api.json +1 -1
  376. package/packages/sap.fe.core/test/sap/fe/core/designtime/codeassistance/Library.jsmeta.json +1 -1
  377. package/packages/sap.fe.core/test/sap/fe/core/designtime/codeassistance/Library.jstemplates.json +1 -1
  378. package/packages/sap.fe.core/test/sap/fe/core/designtime/codeassistance/Library.xmlmeta.json +1 -1
  379. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/model/MacroNavigationModel.js +59 -0
  380. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldDisplay/localService/RootEntity.json +1 -1
  381. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldMessages/Component.js +33 -0
  382. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldMessages/FieldMessages.controller.js +34 -0
  383. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldMessages/FieldMessages.view.xml +18 -0
  384. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldMessages/localService/Entities.json +6 -0
  385. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldMessages/localService/service.cds +6 -0
  386. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldMessages/manifest.json +68 -0
  387. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/fieldMessages.html +37 -0
  388. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarSVandAnnotationDefaults/FilterBarSVandAnnotationDefaults.controller.js +1 -0
  389. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableCustoms/Page.controller.js +7 -2
  390. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableCustoms/Page.view.xml +9 -3
  391. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableCustoms/localService/RootEntity.js +23 -0
  392. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableCustoms/localService/RootEntity.ts +11 -0
  393. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableCustoms/localService/service.cds +11 -23
  394. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableMessages/Component.js +40 -0
  395. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableMessages/TableMessages.controller.js +35 -0
  396. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableMessages/TableMessages.view.xml +21 -0
  397. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableMessages/localService/RootEntity.json +82 -0
  398. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableMessages/localService/service.cds +82 -0
  399. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableMessages/manifest.json +78 -0
  400. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/tableMessages.html +37 -0
  401. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility/localService/ChildEntity.json +5 -4
  402. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/manifest.json +3 -0
  403. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/view/App.view.xml +1 -1
  404. package/packages/sap.fe.core/test/sap/fe/core/jest/AnnotationHelper.spec.js +1 -169
  405. package/packages/sap.fe.core/test/sap/fe/core/jest/AnnotationHelper.spec.ts +0 -212
  406. package/packages/sap.fe.core/test/sap/fe/core/jest/CommonUtils.spec.js +2305 -119
  407. package/packages/sap.fe.core/test/sap/fe/core/jest/CommonUtils.spec.ts +2206 -67
  408. package/packages/sap.fe.core/test/sap/fe/core/jest/FilterUtils.spec.js +40 -0
  409. package/packages/sap.fe.core/test/sap/fe/core/jest/FilterUtils.spec.ts +34 -0
  410. package/packages/sap.fe.core/test/sap/fe/core/jest/FlexibleColumnLayout.spec.js +114 -0
  411. package/packages/sap.fe.core/test/sap/fe/core/jest/FlexibleColumnLayout.spec.ts +114 -0
  412. package/packages/sap.fe.core/test/sap/fe/core/jest/Paginators.spec.js +113 -0
  413. package/packages/sap.fe.core/test/sap/fe/core/jest/Paginators.spec.ts +78 -0
  414. package/packages/sap.fe.core/test/sap/fe/core/jest/RouterProxy.spec.js +599 -1
  415. package/packages/sap.fe.core/test/sap/fe/core/jest/RouterProxy.spec.ts +614 -0
  416. package/packages/sap.fe.core/test/sap/fe/core/jest/TemplateConverter.spec.js +23 -5
  417. package/packages/sap.fe.core/test/sap/fe/core/jest/TemplateConverter.spec.ts +26 -14
  418. package/packages/sap.fe.core/test/sap/fe/core/jest/TransactionHelper.spec.js +87 -1
  419. package/packages/sap.fe.core/test/sap/fe/core/jest/TransactionHelper.spec.ts +82 -1
  420. package/packages/sap.fe.core/test/sap/fe/core/jest/VisualFilterUtils.spec.js +124 -0
  421. package/packages/sap.fe.core/test/sap/fe/core/jest/VisualFilterUtils.spec.ts +141 -0
  422. package/packages/sap.fe.core/test/sap/fe/core/jest/__snapshots__/TemplateConverter.spec.ts.snap +34768 -67
  423. package/packages/sap.fe.core/test/sap/fe/core/jest/actions/collaboration/ActivitySync.spec.js +170 -0
  424. package/packages/sap.fe.core/test/sap/fe/core/jest/actions/collaboration/ActivitySync.spec.ts +155 -0
  425. package/packages/sap.fe.core/test/sap/fe/core/jest/actions/collaboration/CollaborationCommon.spec.js +101 -0
  426. package/packages/sap.fe.core/test/sap/fe/core/jest/actions/collaboration/CollaborationCommon.spec.ts +94 -0
  427. package/packages/sap.fe.core/test/sap/fe/core/jest/actions/collaboration/Manage.spec.js +82 -0
  428. package/packages/sap.fe.core/test/sap/fe/core/jest/actions/collaboration/Manage.spec.ts +77 -0
  429. package/packages/sap.fe.core/test/sap/fe/core/jest/actions/draft.spec.js +2 -2
  430. package/packages/sap.fe.core/test/sap/fe/core/jest/actions/draft.spec.ts +1 -1
  431. package/packages/sap.fe.core/test/sap/fe/core/jest/actions/messageHandling.spec.js +7 -2
  432. package/packages/sap.fe.core/test/sap/fe/core/jest/actions/messageHandling.spec.ts +7 -0
  433. package/packages/sap.fe.core/test/sap/fe/core/jest/actions/operations.spec.js +104 -2
  434. package/packages/sap.fe.core/test/sap/fe/core/jest/actions/operations.spec.ts +96 -1
  435. package/packages/sap.fe.core/test/sap/fe/core/jest/actions/sticky.spec.js +83 -0
  436. package/packages/sap.fe.core/test/sap/fe/core/jest/actions/sticky.spec.ts +79 -0
  437. package/packages/sap.fe.core/test/sap/fe/core/jest/appcomponent.spec.js +72 -0
  438. package/packages/sap.fe.core/test/sap/fe/core/jest/appcomponent.spec.ts +64 -0
  439. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/EditFlow.spec.js +619 -3
  440. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/EditFlow.spec.ts +668 -5
  441. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/InternalEditFlow.spec.js +297 -1
  442. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/InternalEditFlow.spec.ts +276 -6
  443. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/InternalIntentBasedNavigation.spec.js +149 -0
  444. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/InternalIntentBasedNavigation.spec.ts +142 -0
  445. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/InternalRouting.spec.js +776 -182
  446. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/InternalRouting.spec.ts +181 -3
  447. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/KPIManagement.spec.js +19 -43
  448. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MassEdit.spec.js +2 -18
  449. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MassEdit.spec.ts +8 -6
  450. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MessageHandler.spec.js +5 -27
  451. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MessageHandler.spec.ts +1 -1
  452. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/Routing.spec.js +1 -1
  453. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/Routing.spec.ts +1 -1
  454. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/Share.spec.js +86 -0
  455. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/Share.spec.ts +80 -0
  456. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/SideEffects.spec.js +1 -1
  457. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/SideEffects.spec.ts +1 -1
  458. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/ViewState.spec.js +2 -18
  459. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/ViewState.spec.ts +1 -1
  460. package/packages/sap.fe.core/test/sap/fe/core/jest/controls/DataLossOrDraftDiscardHandler.spec.js +45 -0
  461. package/packages/sap.fe.core/test/sap/fe/core/jest/controls/DataLossOrDraftDiscardHandler.spec.ts +29 -0
  462. package/packages/sap.fe.core/test/sap/fe/core/jest/controls/FilterBar.spec.js +51 -1
  463. package/packages/sap.fe.core/test/sap/fe/core/jest/controls/FilterBar.spec.ts +47 -1
  464. package/packages/sap.fe.core/test/sap/fe/core/jest/controls/__snapshots__/FilterBar.spec.ts.snap +3 -0
  465. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ConverterContext.spec.js +2 -2
  466. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ConverterContext.spec.ts +1 -1
  467. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Filter.spec.js +25 -36
  468. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Filter.spec.ts +26 -36
  469. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ListReportConverter.spec.js +3 -3
  470. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ListReportConverter.spec.ts +2 -2
  471. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/MetaModelConverter.spec.js +1 -1
  472. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/MetaModelConverter.spec.ts +6 -5
  473. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Table.spec.js +133 -9
  474. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Table.spec.ts +171 -8
  475. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/TableStandardActions.spec.js +174 -210
  476. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/TableStandardActions.spec.ts +294 -230
  477. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/__snapshots__/Filter.spec.ts.snap +3 -1
  478. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/controls/Chart.spec.js +237 -0
  479. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/controls/Chart.spec.ts +246 -0
  480. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/controls/DataVisualization.spec.js +9993 -0
  481. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/controls/DataVisualization.spec.ts +11352 -0
  482. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/controls/Table.spec.js +460 -0
  483. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/controls/Table.spec.ts +543 -0
  484. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/controls/TableAnalytics.spec.js +616 -0
  485. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/controls/TableAnalytics.spec.ts +711 -0
  486. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/controls/manifest.json +887 -0
  487. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/objectPage/HeaderAndFooterAction.spec.js +393 -0
  488. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/objectPage/HeaderAndFooterAction.spec.ts +434 -0
  489. package/packages/sap.fe.core/test/sap/fe/core/jest/data/DataConverter.js +31 -0
  490. package/packages/sap.fe.core/test/sap/fe/core/jest/data/DataConverter.ts +12 -0
  491. package/packages/sap.fe.core/test/sap/fe/core/jest/data/Filter.cds +27 -0
  492. package/packages/sap.fe.core/test/sap/fe/core/jest/data/MassEditHelper.cds +12 -0
  493. package/packages/sap.fe.core/test/sap/fe/core/jest/data/OKRA/manifest.json +150 -0
  494. package/packages/sap.fe.core/test/sap/fe/core/jest/data/OKRA/metadata.xml +365 -0
  495. package/packages/sap.fe.core/test/sap/fe/core/jest/data/OKRA/metadata_groupable_options.xml +96 -0
  496. package/packages/sap.fe.core/test/sap/fe/core/jest/data/OKRA/metadata_textArrangement.xml +102 -0
  497. package/packages/sap.fe.core/test/sap/fe/core/jest/data/OKRA/metadata_withPV.xml +359 -0
  498. package/packages/sap.fe.core/test/sap/fe/core/jest/data/Table.cds +89 -27
  499. package/packages/sap.fe.core/test/sap/fe/core/jest/data/TemplatingTestData.js +421 -0
  500. package/packages/sap.fe.core/test/sap/fe/core/jest/data/TemplatingTestData.ts +413 -0
  501. package/packages/sap.fe.core/test/sap/fe/core/jest/data/aggregatedSD/metadata.xml +3767 -0
  502. package/packages/sap.fe.core/test/sap/fe/core/jest/data/dsr/manifest.json +185 -0
  503. package/packages/sap.fe.core/test/sap/fe/core/jest/data/dsr/metadata.xml +1534 -0
  504. package/packages/sap.fe.core/test/sap/fe/core/jest/data/manifest.json +887 -0
  505. package/packages/sap.fe.core/test/sap/fe/core/jest/data/salesOrderMetadata_qunit.xml +4995 -0
  506. package/packages/sap.fe.core/test/sap/fe/core/jest/formatters/CollaborationFormatters.spec.js +48 -0
  507. package/packages/sap.fe.core/test/sap/fe/core/jest/formatters/CollaborationFormatters.spec.ts +48 -0
  508. package/packages/sap.fe.core/test/sap/fe/core/jest/formatters/TableFormatters.spec.js +131 -51
  509. package/packages/sap.fe.core/test/sap/fe/core/jest/formatters/TableFormatters.spec.ts +81 -31
  510. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/AppStartupHelper.spec.js +13 -7
  511. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/AppStartupHelper.spec.ts +12 -6
  512. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/MassEditHelper.spec.js +17 -3
  513. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/MassEditHelper.spec.ts +24 -7
  514. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/ModelHelper.spec.js +61 -1
  515. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/ModelHelper.spec.ts +59 -0
  516. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/PasteHelper.spec.js +3 -3
  517. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/PasteHelper.spec.ts +1 -2
  518. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/SemanticDateOperators.spec.js +4 -4
  519. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/SemanticDateOperators.spec.ts +6 -3
  520. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/StableIdHelper.spec.js +1 -1
  521. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/StableIdHelper.spec.ts +1 -1
  522. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/__snapshots__/AppStartupHelper.spec.ts.snap +19 -0
  523. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/__snapshots__/MassEditHelper.spec.ts.snap +0 -73
  524. package/packages/sap.fe.core/test/sap/fe/core/jest/manifestmerger/ChangePageConfiguration.spec.js +11 -1
  525. package/packages/sap.fe.core/test/sap/fe/core/jest/manifestmerger/ChangePageConfiguration.spec.ts +15 -0
  526. package/packages/sap.fe.core/test/sap/fe/core/jest/manifestmerger/__snapshots__/ChangePageConfiguration.spec.ts.snap +30 -0
  527. package/packages/sap.fe.core/test/sap/fe/core/jest/services/SideEffectsService.spec.js +49 -5
  528. package/packages/sap.fe.core/test/sap/fe/core/jest/services/SideEffectsService.spec.ts +60 -5
  529. package/packages/sap.fe.core/test/sap/fe/core/jest/templating/DataModelPathHelper.spec.js +384 -0
  530. package/packages/sap.fe.core/test/sap/fe/core/jest/templating/DataModelPathHelper.spec.ts +427 -0
  531. package/packages/sap.fe.core/test/sap/fe/core/jest/templating/PropertyHelper.spec.js +132 -2
  532. package/packages/sap.fe.core/test/sap/fe/core/jest/templating/PropertyHelper.spec.ts +156 -2
  533. package/packages/sap.fe.core/test/sap/fe/core/jest/templating/UIFormatters.spec.js +273 -0
  534. package/packages/sap.fe.core/test/sap/fe/core/jest/templating/UIFormatters.spec.ts +402 -0
  535. package/packages/sap.fe.core/test/sap/fe/core/jest/templating/ValueHelpTemplating.spec.js +45 -0
  536. package/packages/sap.fe.core/test/sap/fe/core/jest/templating/ValueHelpTemplating.spec.ts +40 -0
  537. package/packages/sap.fe.core/test/sap/fe/core/qunit/TemplatingExpressions.qunit.js +2 -1
  538. package/packages/sap.fe.core/test/sap/fe/core/qunit/apps/generalTests.json +0 -102
  539. package/packages/sap.fe.core/test/sap/fe/core/relnotes/changes-1.100.json +326 -0
  540. package/packages/sap.fe.core/test/sap/fe/core/relnotes/changes-1.99.json +0 -22
  541. package/packages/sap.fe.macros/src/sap/fe/macros/.library +1 -1
  542. package/packages/sap.fe.macros/src/sap/fe/macros/.theming +1 -1
  543. package/packages/sap.fe.macros/src/sap/fe/macros/Chart.metadata-dbg.js +2 -2
  544. package/packages/sap.fe.macros/src/sap/fe/macros/Chart.metadata.js +1 -1
  545. package/packages/sap.fe.macros/src/sap/fe/macros/ChartAPI-dbg.js +22 -43
  546. package/packages/sap.fe.macros/src/sap/fe/macros/ChartAPI.js +1 -1
  547. package/packages/sap.fe.macros/src/sap/fe/macros/ChartAPI.ts +3 -3
  548. package/packages/sap.fe.macros/src/sap/fe/macros/ChartDelegate-dbg.js +14 -24
  549. package/packages/sap.fe.macros/src/sap/fe/macros/ChartDelegate.js +1 -1
  550. package/packages/sap.fe.macros/src/sap/fe/macros/CommonHelper-dbg.js +1 -1
  551. package/packages/sap.fe.macros/src/sap/fe/macros/DraftIndicator.fragment.xml +3 -2
  552. package/packages/sap.fe.macros/src/sap/fe/macros/Field.fragment.xml +16 -18
  553. package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI-dbg.js +162 -100
  554. package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI.js +1 -1
  555. package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI.ts +93 -16
  556. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBar.fragment.xml +2 -1
  557. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBar.metadata-dbg.js +16 -8
  558. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBar.metadata.js +1 -1
  559. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI-dbg.js +58 -83
  560. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI.js +1 -1
  561. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI.ts +16 -2
  562. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarDelegate-dbg.js +112 -192
  563. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarDelegate.js +1 -1
  564. package/packages/sap.fe.macros/src/sap/fe/macros/Form.metadata-dbg.js +1 -1
  565. package/packages/sap.fe.macros/src/sap/fe/macros/Form.metadata.js +1 -1
  566. package/packages/sap.fe.macros/src/sap/fe/macros/FormAPI-dbg.js +4 -20
  567. package/packages/sap.fe.macros/src/sap/fe/macros/FormAPI.js +1 -1
  568. package/packages/sap.fe.macros/src/sap/fe/macros/FormContainer.fragment.xml +1 -1
  569. package/packages/sap.fe.macros/src/sap/fe/macros/FormContainerAPI-dbg.js +10 -31
  570. package/packages/sap.fe.macros/src/sap/fe/macros/FormContainerAPI.js +1 -1
  571. package/packages/sap.fe.macros/src/sap/fe/macros/MacroAPI-dbg.js +147 -162
  572. package/packages/sap.fe.macros/src/sap/fe/macros/MacroAPI.js +1 -1
  573. package/packages/sap.fe.macros/src/sap/fe/macros/MacroAPI.ts +32 -8
  574. package/packages/sap.fe.macros/src/sap/fe/macros/MacroMetadata-dbg.js +5 -0
  575. package/packages/sap.fe.macros/src/sap/fe/macros/MacroMetadata.js +1 -1
  576. package/packages/sap.fe.macros/src/sap/fe/macros/PhantomUtil-dbg.js +56 -74
  577. package/packages/sap.fe.macros/src/sap/fe/macros/PhantomUtil.js +1 -1
  578. package/packages/sap.fe.macros/src/sap/fe/macros/Table.fragment.xml +1 -1
  579. package/packages/sap.fe.macros/src/sap/fe/macros/Table.metadata-dbg.js +90 -39
  580. package/packages/sap.fe.macros/src/sap/fe/macros/Table.metadata.js +1 -1
  581. package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI-dbg.js +284 -251
  582. package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI.js +1 -1
  583. package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI.ts +126 -14
  584. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldHelper-dbg.js +38 -101
  585. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldHelper.js +1 -1
  586. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldRuntime-dbg.js +68 -6
  587. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldRuntime.js +1 -1
  588. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating-dbg.js +72 -12
  589. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating.js +1 -1
  590. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating.ts +67 -10
  591. package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkDelegate-dbg.js +5 -12
  592. package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkDelegate.js +1 -1
  593. package/packages/sap.fe.macros/src/sap/fe/macros/filter/DraftEditState.fragment.xml +1 -1
  594. package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterFieldHelper-dbg.js +1 -3
  595. package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterFieldHelper.js +1 -1
  596. package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterUtils-dbg.js +62 -39
  597. package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterUtils.js +1 -1
  598. package/packages/sap.fe.macros/src/sap/fe/macros/filter/type/MultiValue-dbg.js +104 -50
  599. package/packages/sap.fe.macros/src/sap/fe/macros/filter/type/MultiValue.js +2 -3
  600. package/packages/sap.fe.macros/src/sap/fe/macros/filter/type/MultiValue.ts +68 -0
  601. package/packages/sap.fe.macros/src/sap/fe/macros/filter/type/Range-dbg.js +83 -35
  602. package/packages/sap.fe.macros/src/sap/fe/macros/filter/type/Range.js +2 -3
  603. package/packages/sap.fe.macros/src/sap/fe/macros/filter/type/Range.ts +66 -0
  604. package/packages/sap.fe.macros/src/sap/fe/macros/filter/type/Value-dbg.js +327 -216
  605. package/packages/sap.fe.macros/src/sap/fe/macros/filter/type/Value.js +2 -3
  606. package/packages/sap.fe.macros/src/sap/fe/macros/filter/type/Value.ts +303 -0
  607. package/packages/sap.fe.macros/src/sap/fe/macros/internal/CollaborationAvatar.fragment.xml +15 -0
  608. package/packages/sap.fe.macros/src/sap/fe/macros/internal/CollectionField.metadata-dbg.js +14 -2
  609. package/packages/sap.fe.macros/src/sap/fe/macros/internal/CollectionField.metadata.js +1 -1
  610. package/packages/sap.fe.macros/src/sap/fe/macros/internal/CollectionField.metadata.ts +18 -2
  611. package/packages/sap.fe.macros/src/sap/fe/macros/internal/DataPoint.fragment.xml +12 -29
  612. package/packages/sap.fe.macros/src/sap/fe/macros/internal/DataPoint.metadata-dbg.js +9 -0
  613. package/packages/sap.fe.macros/src/sap/fe/macros/internal/DataPoint.metadata.js +1 -1
  614. package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.fragment.xml +1 -0
  615. package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.metadata-dbg.js +529 -533
  616. package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.metadata.js +2 -3
  617. package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.metadata.ts +568 -0
  618. package/packages/sap.fe.macros/src/sap/fe/macros/internal/FilterField.fragment.xml +0 -1
  619. package/packages/sap.fe.macros/src/sap/fe/macros/internal/SituationsIndicator-dbg.js +3 -3
  620. package/packages/sap.fe.macros/src/sap/fe/macros/internal/SituationsIndicator.js +1 -1
  621. package/packages/sap.fe.macros/src/sap/fe/macros/internal/SituationsIndicator.ts +3 -2
  622. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/FieldContent.fragment.xml +3 -1
  623. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/FieldStructure.fragment.xml +13 -3
  624. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/DataPoint.fragment.xml +4 -1
  625. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/ExpandableText.fragment.xml +1 -0
  626. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/LabelSemanticKey.fragment.xml +1 -0
  627. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/Link.fragment.xml +38 -4
  628. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/LinkWithQuickViewForm.fragment.xml +2 -2
  629. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/LinkWrapper.fragment.xml +3 -3
  630. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/MdcFieldWithValueHelp.fragment.xml +1 -2
  631. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/ObjectIdentifier.fragment.xml +55 -11
  632. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/SemanticKeyWithDraftIndicator.fragment.xml +1 -1
  633. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/Text.fragment.xml +3 -3
  634. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/DatePicker.fragment.xml +9 -2
  635. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/DateTimePicker.fragment.xml +9 -2
  636. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/Input.fragment.xml +12 -3
  637. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/InputWithUnit.fragment.xml +26 -5
  638. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/InputWithValueHelp.fragment.xml +10 -2
  639. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/RatingIndicator.fragment.xml +9 -2
  640. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/TimePicker.fragment.xml +9 -2
  641. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/fragments/ObjectIdentifierContent.fragment.xml +4 -0
  642. package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating-dbg.js +31 -2
  643. package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating.js +1 -1
  644. package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating.ts +20 -0
  645. package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Runtime-dbg.js +2 -2
  646. package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Runtime.js +1 -1
  647. package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Runtime.ts +7 -9
  648. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListHelper-dbg.js +90 -118
  649. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListHelper.js +1 -1
  650. package/packages/sap.fe.macros/src/sap/fe/macros/library-dbg.js +1 -1
  651. package/packages/sap.fe.macros/src/sap/fe/macros/library-h2-preload.js +13 -12
  652. package/packages/sap.fe.macros/src/sap/fe/macros/library-h2-preload.js.map +2 -2
  653. package/packages/sap.fe.macros/src/sap/fe/macros/library-preload.js +185 -214
  654. package/packages/sap.fe.macros/src/sap/fe/macros/library-preload.js.map +4 -4
  655. package/packages/sap.fe.macros/src/sap/fe/macros/library.js +1 -1
  656. package/packages/sap.fe.macros/src/sap/fe/macros/manifest.json +9 -9
  657. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle.properties +4 -1
  658. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ar.properties +3 -1
  659. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_bg.properties +3 -1
  660. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ca.properties +3 -1
  661. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_cs.properties +3 -1
  662. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_cy.properties +3 -1
  663. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_da.properties +3 -1
  664. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_de.properties +4 -2
  665. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_el.properties +3 -1
  666. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en.properties +3 -1
  667. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_GB.properties +3 -1
  668. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_US_sappsd.properties +3 -1
  669. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_US_saprigi.properties +3 -1
  670. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_US_saptrc.properties +3 -1
  671. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_es.properties +3 -1
  672. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_es_MX.properties +3 -1
  673. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_et.properties +3 -1
  674. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fi.properties +3 -1
  675. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fr.properties +3 -1
  676. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fr_CA.properties +3 -1
  677. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hi.properties +3 -1
  678. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hr.properties +3 -1
  679. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hu.properties +4 -2
  680. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_id.properties +4 -2
  681. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_it.properties +3 -1
  682. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_iw.properties +3 -1
  683. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ja.properties +3 -1
  684. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_kk.properties +3 -1
  685. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ko.properties +3 -1
  686. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_lt.properties +3 -1
  687. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_lv.properties +3 -1
  688. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ms.properties +3 -1
  689. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_nl.properties +3 -1
  690. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_no.properties +3 -1
  691. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pl.properties +3 -1
  692. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pt.properties +3 -1
  693. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pt_PT.properties +3 -1
  694. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ro.properties +3 -1
  695. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ru.properties +3 -1
  696. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sh.properties +3 -1
  697. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sk.properties +3 -1
  698. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sl.properties +3 -1
  699. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sv.properties +3 -1
  700. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_th.properties +3 -1
  701. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_tr.properties +3 -1
  702. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_uk.properties +3 -1
  703. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_vi.properties +3 -1
  704. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_zh_CN.properties +3 -1
  705. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_zh_TW.properties +3 -1
  706. package/packages/sap.fe.macros/src/sap/fe/macros/resources.json +273 -199
  707. package/packages/sap.fe.macros/src/sap/fe/macros/table/Actions.fragment.xml +1 -1
  708. package/packages/sap.fe.macros/src/sap/fe/macros/table/Column.fragment.xml +1 -1
  709. package/packages/sap.fe.macros/src/sap/fe/macros/table/ColumnContent.fragment.xml +2 -0
  710. package/packages/sap.fe.macros/src/sap/fe/macros/table/CreationRow.fragment.xml +13 -20
  711. package/packages/sap.fe.macros/src/sap/fe/macros/table/CustomColumn.fragment.xml +1 -0
  712. package/packages/sap.fe.macros/src/sap/fe/macros/table/TableHelper-dbg.js +5 -110
  713. package/packages/sap.fe.macros/src/sap/fe/macros/table/TableHelper.js +1 -1
  714. package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/TableDelegate-dbg.js +98 -78
  715. package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/TableDelegate.js +1 -1
  716. package/packages/sap.fe.macros/src/sap/fe/macros/valuehelp/ValueHelpFilterBar.metadata-dbg.js +1 -1
  717. package/packages/sap.fe.macros/src/sap/fe/macros/valuehelp/ValueHelpFilterBar.metadata.js +1 -1
  718. package/packages/sap.fe.macros/test/sap/fe/macros/designtime/api.json +211 -10
  719. package/packages/sap.fe.macros/test/sap/fe/macros/designtime/apiref/api.json +1 -1
  720. package/packages/sap.fe.macros/test/sap/fe/macros/designtime/codeassistance/Library.jsmeta.json +1 -1
  721. package/packages/sap.fe.macros/test/sap/fe/macros/designtime/codeassistance/Library.xmlmeta.json +1 -1
  722. package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartDelegate.spec.js +1 -45
  723. package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartDelegate.spec.ts +0 -60
  724. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldAPI.spec.js +78 -0
  725. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldAPI.spec.ts +71 -0
  726. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroDataFieldTypes.spec.js +35 -1
  727. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroDataFieldTypes.spec.ts +44 -0
  728. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterBarDelegate.spec.js +0 -76
  729. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterBarMacro.spec.js +27 -1
  730. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterBarMacro.spec.ts +28 -0
  731. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterFieldHelper.spec.js +10 -12
  732. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterFieldHelper.spec.ts +10 -10
  733. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterUtils.spec.js +129 -15
  734. package/packages/sap.fe.macros/test/sap/fe/macros/jest/MacroAPI.spec.js +13 -39
  735. package/packages/sap.fe.macros/test/sap/fe/macros/jest/MacroAPI.spec.ts +2 -2
  736. package/packages/sap.fe.macros/test/sap/fe/macros/jest/RetrieveTextFromValueList.spec.js +119 -0
  737. package/packages/sap.fe.macros/test/sap/fe/macros/jest/RetrieveTextFromValueList.spec.ts +113 -0
  738. package/packages/sap.fe.macros/test/sap/fe/macros/jest/Table.spec.js +166 -2
  739. package/packages/sap.fe.macros/test/sap/fe/macros/jest/Table.spec.ts +190 -3
  740. package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableAPI.spec.js +457 -389
  741. package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableAPI.spec.ts +504 -425
  742. package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableMacro.spec.js +104 -2
  743. package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableMacro.spec.ts +158 -1
  744. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/ChartDelegate.spec.ts.snap +0 -6
  745. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/DatapointMacro.spec.ts.snap +5 -5
  746. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FieldMacroDataFieldTypes.spec.ts.snap +114 -25
  747. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FieldMacroWithSemanticKey.spec.ts.snap +40 -40
  748. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FieldMacroWithValueHelp.spec.ts.snap +4 -8
  749. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FilterBarMacro.spec.ts.snap +19 -19
  750. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FilterField.spec.ts.snap +3 -5
  751. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/QuickViewForm.spec.ts.snap +12 -0
  752. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/SimpleFieldMacro.spec.ts.snap +89 -90
  753. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/Table.spec.ts.snap +1314 -58
  754. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/TableMacro.spec.ts.snap +459 -0
  755. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FieldMacroDataFieldTypes.cds +18 -2
  756. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/QuickViewForm.cds +6 -1
  757. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/Table.cds +107 -106
  758. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/TableAPI.cds +197 -0
  759. package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldRuntime.spec.js +33 -4
  760. package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldRuntime.spec.ts +30 -4
  761. package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldTemplating.spec.js +72 -29
  762. package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldTemplating.spec.ts +86 -18
  763. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/__snapshots__/columnWidth.spec.ts.snap +51 -27
  764. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/columnWidth.spec.js +55 -9
  765. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/columnWidth.spec.ts +46 -6
  766. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/data/columnWidth.cds +28 -1
  767. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/TableDelegate.spec.js +170 -43
  768. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/TableDelegate.spec.ts +131 -15
  769. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/__snapshots__/TableDelegate.spec.ts.snap +90 -53
  770. package/packages/sap.fe.macros/test/sap/fe/macros/jest/tsx/TestTSX.spec.tsx +2 -1
  771. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/index.json +0 -5
  772. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FieldHelper.qunit.js +1 -99
  773. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FormElementTemplating.qunit.js +1 -1
  774. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/MacroMetadata.qunit.js +4 -4
  775. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/TableHelper.qunit.js +4 -4
  776. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/ValueHelpTemplating.qunit.js +15 -0
  777. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/ValueListHelper.qunit.js +265 -106
  778. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/metadata/simpleMetadata.js +38 -0
  779. package/packages/sap.fe.macros/test/sap/fe/macros/relnotes/changes-1.100.json +372 -0
  780. package/packages/sap.fe.macros/test/sap/fe/macros/relnotes/changes-1.99.json +0 -11
  781. package/packages/sap.fe.navigation/src/sap/fe/navigation/.library +1 -1
  782. package/packages/sap.fe.navigation/src/sap/fe/navigation/.theming +1 -1
  783. package/packages/sap.fe.navigation/src/sap/fe/navigation/library-dbg.js +1 -1
  784. package/packages/sap.fe.navigation/src/sap/fe/navigation/library-h2-preload.js +2 -2
  785. package/packages/sap.fe.navigation/src/sap/fe/navigation/library-h2-preload.js.map +2 -2
  786. package/packages/sap.fe.navigation/src/sap/fe/navigation/library-preload.js +2 -2
  787. package/packages/sap.fe.navigation/src/sap/fe/navigation/library-preload.js.map +2 -2
  788. package/packages/sap.fe.navigation/src/sap/fe/navigation/library.js +1 -1
  789. package/packages/sap.fe.navigation/src/sap/fe/navigation/manifest.json +3 -3
  790. package/packages/sap.fe.navigation/src/sap/fe/navigation/resources.json +8 -8
  791. package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/api.json +1 -1
  792. package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/apiref/api.json +1 -1
  793. package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/codeassistance/Library.xmlmeta.json +1 -1
  794. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/.library +1 -1
  795. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/.theming +1 -1
  796. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-dbg.js +1 -1
  797. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-h2-preload.js +2 -2
  798. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-h2-preload.js.map +2 -2
  799. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-preload.js +2 -2
  800. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-preload.js.map +2 -2
  801. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library.js +1 -1
  802. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/manifest.json +3 -3
  803. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/resources.json +27 -27
  804. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/css_variables.source.less +316 -15
  805. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/resources.json +1 -1
  806. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/css_variables.less +315 -14
  807. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/css_variables.source.less +315 -14
  808. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/resources.json +2 -2
  809. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/css_variables.less +316 -15
  810. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/css_variables.source.less +316 -15
  811. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/resources.json +2 -2
  812. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/css_variables.less +316 -15
  813. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/css_variables.source.less +316 -15
  814. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/resources.json +2 -2
  815. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/css_variables.less +315 -14
  816. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/css_variables.source.less +315 -14
  817. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/resources.json +2 -2
  818. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/css_variables.less +317 -16
  819. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/css_variables.source.less +317 -16
  820. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/resources.json +2 -2
  821. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/css_variables.less +317 -16
  822. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/css_variables.source.less +317 -16
  823. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/resources.json +2 -2
  824. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/css_variables.less +316 -15
  825. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/css_variables.source.less +316 -15
  826. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/resources.json +2 -2
  827. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/css_variables.less +316 -15
  828. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/css_variables.source.less +316 -15
  829. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/resources.json +2 -2
  830. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_horizon/css_variables.less +400 -99
  831. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_horizon/css_variables.source.less +400 -99
  832. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_horizon/resources.json +2 -2
  833. package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/api.json +1 -1
  834. package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/apiref/api.json +1 -1
  835. package/packages/sap.fe.templates/src/sap/fe/templates/.library +1 -1
  836. package/packages/sap.fe.templates/src/sap/fe/templates/.theming +1 -1
  837. package/packages/sap.fe.templates/src/sap/fe/templates/AnalyticalListPage/manifest.json +2 -2
  838. package/packages/sap.fe.templates/src/sap/fe/templates/AnalyticalListPage/resources.json +1 -1
  839. package/packages/sap.fe.templates/src/sap/fe/templates/ListComponent-dbg.js +1 -1
  840. package/packages/sap.fe.templates/src/sap/fe/templates/ListComponent.js +1 -1
  841. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/Component-dbg.js +7 -1
  842. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/Component.js +1 -1
  843. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReport.view.xml +22 -21
  844. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReportController-dbg.controller.js +13 -18
  845. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReportController.controller.js +1 -1
  846. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/manifest.json +2 -2
  847. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/resources.json +7 -7
  848. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.xml +3 -3
  849. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/AnnotationHelper-dbg.js +50 -9
  850. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/AnnotationHelper.js +1 -1
  851. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/Component-dbg.js +1 -12
  852. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/Component.js +1 -1
  853. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPage.view.xml +5 -1
  854. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPageController-dbg.controller.js +50 -17
  855. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +1 -1
  856. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/controls/StashableHBox-dbg.js +7 -1
  857. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/controls/StashableHBox.js +1 -1
  858. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/designtime/FlexBox-dbg.designtime.js +3 -0
  859. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/designtime/FlexBox.designtime.js +1 -1
  860. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/manifest.json +2 -2
  861. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/resources.json +19 -15
  862. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/CollaborationDraft.fragment.xml +36 -0
  863. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/EditableHeaderFacet.fragment.xml +1 -1
  864. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/HeaderFacet.fragment.xml +1 -0
  865. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/HeaderFacetCustomContainer.fragment.xml +1 -0
  866. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/Fcl-dbg.controller.js +3 -1
  867. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/Fcl.controller.js +1 -1
  868. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/NavContainer-dbg.controller.js +3 -1
  869. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/NavContainer.controller.js +1 -1
  870. package/packages/sap.fe.templates/src/sap/fe/templates/designtime/library-preload.designtime.js +1 -1
  871. package/packages/sap.fe.templates/src/sap/fe/templates/designtime/library-preload.designtime.js.map +2 -2
  872. package/packages/sap.fe.templates/src/sap/fe/templates/library-dbg.js +1 -1
  873. package/packages/sap.fe.templates/src/sap/fe/templates/library-h2-preload.js +4 -3
  874. package/packages/sap.fe.templates/src/sap/fe/templates/library-h2-preload.js.map +2 -2
  875. package/packages/sap.fe.templates/src/sap/fe/templates/library-preload.js +22 -21
  876. package/packages/sap.fe.templates/src/sap/fe/templates/library-preload.js.map +4 -4
  877. package/packages/sap.fe.templates/src/sap/fe/templates/library.js +1 -1
  878. package/packages/sap.fe.templates/src/sap/fe/templates/manifest.json +14 -14
  879. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ar.properties +0 -15
  880. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_bg.properties +0 -15
  881. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ca.properties +0 -15
  882. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_cs.properties +0 -15
  883. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_cy.properties +0 -15
  884. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_da.properties +0 -15
  885. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_de.properties +0 -15
  886. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_el.properties +0 -15
  887. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en.properties +0 -15
  888. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en_GB.properties +0 -15
  889. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en_US_sappsd.properties +0 -15
  890. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en_US_saprigi.properties +0 -15
  891. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en_US_saptrc.properties +0 -15
  892. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_es.properties +0 -15
  893. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_es_MX.properties +0 -15
  894. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_et.properties +0 -15
  895. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_fi.properties +0 -15
  896. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_fr.properties +0 -15
  897. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_fr_CA.properties +0 -15
  898. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_hi.properties +0 -15
  899. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_hr.properties +0 -15
  900. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_hu.properties +0 -15
  901. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_id.properties +0 -15
  902. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_it.properties +0 -15
  903. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_iw.properties +0 -15
  904. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ja.properties +0 -15
  905. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_kk.properties +0 -15
  906. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ko.properties +0 -15
  907. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_lt.properties +0 -15
  908. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_lv.properties +0 -15
  909. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ms.properties +0 -15
  910. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_nl.properties +0 -15
  911. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_no.properties +0 -15
  912. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_pl.properties +0 -15
  913. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_pt.properties +0 -15
  914. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_pt_PT.properties +0 -15
  915. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ro.properties +0 -15
  916. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ru.properties +0 -15
  917. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_sh.properties +0 -15
  918. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_sk.properties +0 -15
  919. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_sl.properties +0 -15
  920. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_sv.properties +0 -15
  921. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_th.properties +0 -15
  922. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_tr.properties +0 -15
  923. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_uk.properties +0 -15
  924. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_vi.properties +0 -15
  925. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_zh_CN.properties +0 -15
  926. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_zh_TW.properties +0 -15
  927. package/packages/sap.fe.templates/src/sap/fe/templates/resources.json +115 -89
  928. package/packages/sap.fe.templates/test/sap/fe/templates/demokit/apps/itelo/webapp/manifest.json +1 -1
  929. package/packages/sap.fe.templates/test/sap/fe/templates/designtime/api.json +353 -1
  930. package/packages/sap.fe.templates/test/sap/fe/templates/designtime/apiref/api.json +1 -1
  931. package/packages/sap.fe.templates/test/sap/fe/templates/designtime/codeassistance/Library.jsmeta.json +1 -1
  932. package/packages/sap.fe.templates/test/sap/fe/templates/designtime/codeassistance/Library.xmlmeta.json +1 -1
  933. package/packages/sap.fe.templates/test/sap/fe/templates/jest/ListReport/overrides/IntentBasedNavigation.spec.js +1 -1
  934. package/packages/sap.fe.templates/test/sap/fe/templates/jest/ListReport/overrides/IntentBasedNavigation.spec.ts +3 -3
  935. package/packages/sap.fe.templates/test/sap/fe/templates/jest/ListReport/overrides/Share.spec.js +1 -1
  936. package/packages/sap.fe.templates/test/sap/fe/templates/jest/ListReport/overrides/Share.spec.ts +4 -4
  937. package/packages/sap.fe.templates/test/sap/fe/templates/jest/ListReport/overrides/ViewState.spec.js +1 -1
  938. package/packages/sap.fe.templates/test/sap/fe/templates/jest/ListReport/overrides/ViewState.spec.ts +2 -2
  939. package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/ObjectPageHeaderForm.spec.js +2 -1
  940. package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/ObjectPageHeaderForm.spec.ts +2 -1
  941. package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/__snapshots__/HeaderFacet.spec.ts.snap +7 -7
  942. package/packages/sap.fe.templates/test/sap/fe/templates/jest/RootContainer/RootContainerBaseController.spec.js +30 -61
  943. package/packages/sap.fe.templates/test/sap/fe/templates/jest/RootContainer/RootContainerBaseController.spec.ts +1 -1
  944. package/packages/sap.fe.templates/test/sap/fe/templates/relnotes/changes-1.100.json +192 -0
  945. package/packages/sap.fe.templates/test/sap/fe/templates/relnotes/changes-1.99.json +0 -11
  946. package/packages/sap.fe.test/src/sap/fe/test/.library +1 -1
  947. package/packages/sap.fe.test/src/sap/fe/test/.theming +1 -1
  948. package/packages/sap.fe.test/src/sap/fe/test/FeMocks-dbg.js +1 -1
  949. package/packages/sap.fe.test/src/sap/fe/test/FeMocks.ts +8 -8
  950. package/packages/sap.fe.test/src/sap/fe/test/JestTemplatingHelper-dbg.js +6 -4
  951. package/packages/sap.fe.test/src/sap/fe/test/JestTemplatingHelper.js +1 -1
  952. package/packages/sap.fe.test/src/sap/fe/test/JestTemplatingHelper.ts +10 -6
  953. package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper-dbg.js +126 -203
  954. package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper.js +1 -1
  955. package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper.ts +17 -2
  956. package/packages/sap.fe.test/src/sap/fe/test/api/FilterBarAPI-dbg.js +9 -1
  957. package/packages/sap.fe.test/src/sap/fe/test/api/FilterBarAPI.js +1 -1
  958. package/packages/sap.fe.test/src/sap/fe/test/library-dbg.js +1 -1
  959. package/packages/sap.fe.test/src/sap/fe/test/library-h2-preload.js +2 -2
  960. package/packages/sap.fe.test/src/sap/fe/test/library-h2-preload.js.map +2 -2
  961. package/packages/sap.fe.test/src/sap/fe/test/library-preload.js +9 -18
  962. package/packages/sap.fe.test/src/sap/fe/test/library-preload.js.map +3 -3
  963. package/packages/sap.fe.test/src/sap/fe/test/library.js +1 -1
  964. package/packages/sap.fe.test/src/sap/fe/test/manifest.json +3 -3
  965. package/packages/sap.fe.test/src/sap/fe/test/resources.json +18 -18
  966. package/packages/sap.fe.test/test/sap/fe/test/designtime/api.json +1 -1
  967. package/packages/sap.fe.test/test/sap/fe/test/designtime/apiref/api.json +1 -1
  968. package/packages/sap.fe.test/test/sap/fe/test/designtime/codeassistance/Library.xmlmeta.json +1 -1
  969. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FormTemplatingTs.qunit.js +0 -271
@@ -6,7 +6,8 @@
6
6
  template:require="{
7
7
  ID: 'sap/fe/core/helpers/StableIdHelper',
8
8
  MODEL: 'sap/ui/model/odata/v4/AnnotationHelper',
9
- UI: 'sap/fe/core/templating/UIFormatters'
9
+ UI: 'sap/fe/core/templating/UIFormatters',
10
+ FE_MODEL: 'sap/fe/core/helpers/ModelHelper'
10
11
  }"
11
12
  >
12
13
  <RatingIndicator
@@ -19,5 +20,11 @@
19
20
  iconSize="1.375rem"
20
21
  class="sapUiTinyMarginTopBottom"
21
22
  editable="true"
22
- />
23
+ >
24
+ <template:if test="{this>collaborationEnabled}">
25
+ <layoutData>
26
+ <FlexItemData growFactor="9" />
27
+ </layoutData>
28
+ </template:if>
29
+ </RatingIndicator>
23
30
  </core:FragmentDefinition>
@@ -9,7 +9,8 @@
9
9
  COMMON: 'sap/fe/macros/CommonHelper',
10
10
  FIELD: 'sap/fe/macros/field/FieldHelper',
11
11
  ID: 'sap/fe/core/helpers/StableIdHelper',
12
- UI: 'sap/fe/core/templating/UIFormatters'
12
+ UI: 'sap/fe/core/templating/UIFormatters',
13
+ FE_MODEL: 'sap/fe/core/helpers/ModelHelper'
13
14
  }"
14
15
  >
15
16
 
@@ -28,6 +29,12 @@
28
29
  textAlign="{parts: [{path:'dataField>'}, {path:'this>formatOptions'}, {path:'property>@@FIELD.getPropertyCollection'}, {path:'this>editModeAsObject'}, {path:'property>@@UI.getConverterContext'}], formatter:'FIELD.getTypeAlignment'}"
29
30
  validateFieldGroup="FieldRuntime.onValidateFieldGroup($controller, $event)"
30
31
  ariaLabelledBy="{this>ariaLabelledBy}"
31
- />
32
+ >
33
+ <template:if test="{this>collaborationEnabled}">
34
+ <layoutData>
35
+ <FlexItemData growFactor="9" />
36
+ </layoutData>
37
+ </template:if>
38
+ </TimePicker>
32
39
 
33
40
  </core:FragmentDefinition>
@@ -30,6 +30,7 @@
30
30
  unittest:id="MacroDataFieldObjectIdentifier"
31
31
  ariaLabelledBy="{this>ariaLabelledBy}"
32
32
  modelContextChange="{= 'FieldRuntime.LinkModelContextChange($event, \'' + ${propertyPath>} + '\')'}"
33
+ emptyIndicatorMode="{this>emptyIndicatorMode}"
33
34
  >
34
35
  <customData>
35
36
  <template:if test="{= FIELD.hasSemanticObjectsWithPath(${semanticObjects>}) }">
@@ -47,6 +48,7 @@
47
48
  <ObjectIdentifier
48
49
  title="{= FIELD.getLabelTextForDataField(${entitySet>@}, ${propertyPath>@}, ${propertyPath>@@FIELD.buildExpressionForTextValue}, ${property>@@FIELD.semanticKeyFormat}, ${dataField>@sapui.name}, ${this>formatOptions/semanticKeyStyle}) }"
49
50
  text="{= FIELD.getObjectIdentifierText(${propertyPath>@com.sap.vocabularies.Common.v1.Text}, ${propertyPath>@com.sap.vocabularies.Common.v1.Text@com.sap.vocabularies.UI.v1.TextArrangement}, ${property>@@MODEL.value}, ${dataField>@sapui.name})}"
51
+ emptyIndicatorMode="{this>emptyIndicatorMode}"
50
52
  />
51
53
  </control:contentFalse>
52
54
  </control:ConditionalWrapper>
@@ -61,6 +63,7 @@
61
63
  titlePress="FieldRuntime.pressLink"
62
64
  unittest:id="MacroDataFieldObjectIdentifier"
63
65
  ariaLabelledBy="{this>ariaLabelledBy}"
66
+ emptyIndicatorMode="{this>emptyIndicatorMode}"
64
67
  >
65
68
  <dependents>
66
69
  <macro:QuickViewForm propertypath="{property>$Path}" dataField="{dataField>}" semanticObject="{this>semanticObject}" />
@@ -74,6 +77,7 @@
74
77
  visible="{this>displayVisible}"
75
78
  title="{= FIELD.getLabelTextForDataField(${entitySet>@}, ${propertyPath>@}, ${propertyPath>@@FIELD.buildExpressionForTextValue}, ${property>@@FIELD.semanticKeyFormat}, ${dataField>@sapui.name}, ${this>formatOptions/semanticKeyStyle}) }"
76
79
  text="{= FIELD.getObjectIdentifierText(${propertyPath>@com.sap.vocabularies.Common.v1.Text}, ${propertyPath>@com.sap.vocabularies.Common.v1.Text@com.sap.vocabularies.UI.v1.TextArrangement}, ${property>@@MODEL.value}, ${dataField>@sapui.name})}"
80
+ emptyIndicatorMode="{this>emptyIndicatorMode}"
77
81
  />
78
82
  </template:else>
79
83
  </template:if>
@@ -110,6 +110,24 @@ sap.ui.define(["sap/fe/core/formatters/ValueFormatter", "sap/fe/core/templating/
110
110
 
111
111
  _exports.buildExpressionForProgressIndicatorDisplayValue = buildExpressionForProgressIndicatorDisplayValue;
112
112
 
113
+ var buildUnitBindingExpression = function (dataPoint) {
114
+ var _dataPoint$targetObje, _dataPoint$targetObje2, _targetObject$annotat5, _targetObject$annotat6, _targetObject$annotat7, _targetObject$annotat8;
115
+
116
+ var relativeLocation = getPathRelativeLocation(dataPoint.contextLocation, dataPoint.navigationProperties).map(function (np) {
117
+ return np.name;
118
+ });
119
+ var targetObject = dataPoint === null || dataPoint === void 0 ? void 0 : (_dataPoint$targetObje = dataPoint.targetObject) === null || _dataPoint$targetObje === void 0 ? void 0 : (_dataPoint$targetObje2 = _dataPoint$targetObje.Value) === null || _dataPoint$targetObje2 === void 0 ? void 0 : _dataPoint$targetObje2.$target;
120
+
121
+ if (!isProperty(targetObject)) {
122
+ return "";
123
+ }
124
+
125
+ var unit = ((_targetObject$annotat5 = targetObject.annotations) === null || _targetObject$annotat5 === void 0 ? void 0 : (_targetObject$annotat6 = _targetObject$annotat5.Measures) === null || _targetObject$annotat6 === void 0 ? void 0 : _targetObject$annotat6.Unit) || ((_targetObject$annotat7 = targetObject.annotations) === null || _targetObject$annotat7 === void 0 ? void 0 : (_targetObject$annotat8 = _targetObject$annotat7.Measures) === null || _targetObject$annotat8 === void 0 ? void 0 : _targetObject$annotat8.ISOCurrency);
126
+ return unit ? compileBinding(annotationExpression(unit, relativeLocation)) : "";
127
+ };
128
+
129
+ _exports.buildUnitBindingExpression = buildUnitBindingExpression;
130
+
113
131
  var buildRatingIndicatorSubtitleExpression = function (oContext, mSampleSize) {
114
132
  if (mSampleSize) {
115
133
  return formatRatingIndicatorSubTitle(AnnotationHelper.value(mSampleSize, {
@@ -173,7 +191,18 @@ sap.ui.define(["sap/fe/core/formatters/ValueFormatter", "sap/fe/core/templating/
173
191
  outExpression.constraints = Object.assign(outExpression.constraints, {
174
192
  precision: fieldValue.$target.precision,
175
193
  scale: sNumberOfFractionalDigits ? sNumberOfFractionalDigits : fieldValue.$target.scale
176
- });
194
+ }); // sNumberOfFractionalDigits is only defined in getValueFormatted when NumberOfFractionalDigits is defined. In that case, we need to instance the preserveDecimals parameter because of a change MDC side
195
+
196
+ if (sNumberOfFractionalDigits) {
197
+ if (!outExpression.formatOptions) {
198
+ outExpression.formatOptions = {};
199
+ }
200
+
201
+ outExpression.formatOptions = Object.assign(outExpression.formatOptions, {
202
+ preserveDecimals: false
203
+ });
204
+ }
205
+
177
206
  return outExpression;
178
207
  };
179
208
 
@@ -290,4 +319,4 @@ sap.ui.define(["sap/fe/core/formatters/ValueFormatter", "sap/fe/core/templating/
290
319
  _exports.buildExpressionForProgressIndicatorPercentValue = buildExpressionForProgressIndicatorPercentValue;
291
320
  return _exports;
292
321
  }, false);
293
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkRhdGFQb2ludFRlbXBsYXRpbmcudHMiXSwibmFtZXMiOlsiZ2V0RGF0YVBvaW50VGFyZ2V0RXhwcmVzc2lvbiIsIm9EYXRhTW9kZWxQYXRoIiwiVGFyZ2V0VmFsdWUiLCJhbm5vdGF0aW9uRXhwcmVzc2lvbiIsInVucmVzb2x2ZWFibGVFeHByZXNzaW9uIiwib1Jlc291cmNlTW9kZWwiLCJzYXAiLCJ1aSIsImdldENvcmUiLCJnZXRMaWJyYXJ5UmVzb3VyY2VCdW5kbGUiLCJnZXRWaXN1YWxpemF0aW9uIiwiZGVmYXVsdFZpc3VhbGl6YXRpb24iLCJvRGF0YVBvaW50IiwidGFyZ2V0T2JqZWN0IiwiVmlzdWFsaXphdGlvbiIsIm9Qcm9wZXJ0eSIsIlZhbHVlIiwiJHRhcmdldCIsImlzVXNlZEluTmF2aWdhdGlvbldpdGhRdWlja1ZpZXdGYWNldHMiLCJhbm5vdGF0aW9ucyIsIkNvbW1vbiIsIlNlbWFudGljT2JqZWN0IiwiYnVpbGRFeHByZXNzaW9uRm9yUHJvZ3Jlc3NJbmRpY2F0b3JEaXNwbGF5VmFsdWUiLCJvUHJvcGVydHlEYXRhTW9kZWxPYmplY3RQYXRoIiwiZmllbGRWYWx1ZSIsInJlbGF0aXZlTG9jYXRpb24iLCJnZXRQYXRoUmVsYXRpdmVMb2NhdGlvbiIsImNvbnRleHRMb2NhdGlvbiIsIm5hdmlnYXRpb25Qcm9wZXJ0aWVzIiwibWFwIiwibnAiLCJuYW1lIiwiZmllbGRWYWx1ZUV4cHJlc3Npb24iLCJUYXJnZXRFeHByZXNzaW9uIiwiaXNQcm9wZXJ0eSIsInVuaXQiLCJNZWFzdXJlcyIsIlVuaXQiLCJJU09DdXJyZW5jeSIsImdldFRleHQiLCJjb21waWxlQmluZGluZyIsImdldEFzc29jaWF0ZWRVbml0UHJvcGVydHlQYXRoIiwic1VvTVBlcmNlbnQiLCJjaGFyQXQiLCJmb3JtYXRXaXRoVHlwZUluZm9ybWF0aW9uIiwidW5pdEJpbmRpbmdFeHByZXNzaW9uIiwiZm9ybWF0UmVzdWx0IiwidmFsdWVGb3JtYXR0ZXJzIiwiZm9ybWF0UHJvZ3Jlc3NJbmRpY2F0b3JUZXh0IiwidW5kZWZpbmVkIiwiYnVpbGRSYXRpbmdJbmRpY2F0b3JTdWJ0aXRsZUV4cHJlc3Npb24iLCJvQ29udGV4dCIsIm1TYW1wbGVTaXplIiwiZm9ybWF0UmF0aW5nSW5kaWNhdG9yU3ViVGl0bGUiLCJBbm5vdGF0aW9uSGVscGVyIiwidmFsdWUiLCJjb250ZXh0IiwiaVNhbXBsZVNpemVWYWx1ZSIsInNTdWJUaXRsZUxhYmVsIiwiU3RyaW5nIiwiZ2V0SGVhZGVyUmF0aW5nSW5kaWNhdG9yVGV4dCIsIlNhbXBsZVNpemUiLCJEZXNjcmlwdGlvbiIsInNNb2RlbFZhbHVlIiwicmVxdWlyZXNJQ29udGV4dCIsImJ1aWxkRXhwcmVzc2lvbkZvckRlc2NyaXB0aW9uIiwiVGV4dCIsIm9UZXh0RXhwcmVzc2lvbiIsInBhcmFtZXRlcnMiLCJnZXREZWNpbWFsRm9ybWF0Iiwib3V0RXhwcmVzc2lvbiIsInNOdW1iZXJPZkZyYWN0aW9uYWxEaWdpdHMiLCJjb25zdHJhaW50cyIsIk9iamVjdCIsImFzc2lnbiIsInByZWNpc2lvbiIsInNjYWxlIiwiZ2V0VmFsdWVGb3JtYXR0ZWQiLCJvUHJvcGVydHlEYXRhTW9kZWxQYXRoIiwic1Byb3BlcnR5VHlwZSIsInBhdGgiLCJpbmRleE9mIiwib1Byb3BlcnR5RGVmaW5pdGlvbiIsInR5cGUiLCJFRE1fVFlQRV9NQVBQSU5HIiwiYnVpbGRGaWVsZEJpbmRpbmdFeHByZXNzaW9uIiwiZGF0YVBvaW50Rm9ybWF0T3B0aW9ucyIsImJIaWRlTWVhc3VyZSIsIm9EYXRhUG9pbnRWYWx1ZSIsIm9EZXNjcmlwdGlvbiIsIlZhbHVlRm9ybWF0IiwiTnVtYmVyT2ZGcmFjdGlvbmFsRGlnaXRzIiwiZW5oYW5jZURhdGFNb2RlbFBhdGgiLCJvRm9ybWF0dGVkVmFsdWUiLCJzRGlzcGxheU1vZGUiLCJkaXNwbGF5TW9kZSIsImdldERpc3BsYXlNb2RlIiwib0JpbmRpbmdFeHByZXNzaW9uIiwiZm9ybWF0V2l0aEJyYWNrZXRzIiwiZ2V0QmluZGluZ1dpdGhVbml0T3JDdXJyZW5jeSIsIm1lYXN1cmVEaXNwbGF5TW9kZSIsImZvcm1hdE9wdGlvbnMiLCJzaG93TWVhc3VyZSIsImJ1aWxkRXhwcmVzc2lvbkZvclByb2dyZXNzSW5kaWNhdG9yUGVyY2VudFZhbHVlIiwiY29tcHV0ZVBlcmNlbnRhZ2UiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUErQkEsTUFBTUEsNEJBQTRCLEdBQUcsVUFBQ0MsY0FBRCxFQUE2QztBQUNqRixXQUFPQSxjQUFjLFNBQWQsSUFBQUEsY0FBYyxXQUFkLElBQUFBLGNBQWMsQ0FBRUMsV0FBaEIsR0FBOEJDLG9CQUFvQixDQUFDRixjQUFjLENBQUNDLFdBQWhCLENBQWxELEdBQWlGRSx1QkFBeEY7QUFDQSxHQUZEOztBQUlBLE1BQU1DLGNBQWMsR0FBR0MsR0FBRyxDQUFDQyxFQUFKLENBQU9DLE9BQVAsR0FBaUJDLHdCQUFqQixDQUEwQyxlQUExQyxDQUF2Qjs7QUFFTyxNQUFNQyxnQkFBZ0IsR0FBRyxVQUFTVCxjQUFULEVBQThDVSxvQkFBOUMsRUFBb0Y7QUFBQTs7QUFDbkgsUUFBTUMsVUFBVSxHQUFHWCxjQUFILGFBQUdBLGNBQUgsdUJBQUdBLGNBQWMsQ0FBRVksWUFBbkM7O0FBQ0EsUUFBSUQsVUFBVSxDQUFDRSxhQUFYLEtBQTZCLCtCQUFqQyxFQUFrRTtBQUNqRSxhQUFPLFVBQVA7QUFDQTs7QUFDRCxRQUFJRixVQUFVLENBQUNFLGFBQVgsS0FBNkIsNkJBQWpDLEVBQWdFO0FBQy9ELGFBQU8sUUFBUDtBQUNBOztBQUNELFFBQU1DLFNBQW1CLEdBQUdkLGNBQUgsYUFBR0EsY0FBSCxnREFBR0EsY0FBYyxDQUFFWSxZQUFuQixvRkFBRyxzQkFBOEJHLEtBQWpDLDJEQUFHLHVCQUFxQ0MsT0FBakU7O0FBQ0EsUUFBSUYsU0FBSixFQUFlO0FBQUE7O0FBQ2QsVUFBSUcscUNBQXFDLENBQUNqQixjQUFELEVBQWlCYyxTQUFqQixDQUF6QyxFQUFzRTtBQUNyRSxlQUFP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RSxjQUFjLENBQUNNLFlBQVksQ0FBQyxDQUFDZCxvQkFBRCxFQUF1QkMsZ0JBQXZCLEVBQXlDLEVBQXpDLENBQUQsRUFBK0NjLGVBQWUsQ0FBQ3lELGlCQUEvRCxDQUFiLENBQXJCO0FBQ0EsR0F0Qk0iLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB2YWx1ZUZvcm1hdHRlcnMgZnJvbSBcInNhcC9mZS9jb3JlL2Zvcm1hdHRlcnMvVmFsdWVGb3JtYXR0ZXJcIjtcbmltcG9ydCB7XG5cdGdldERpc3BsYXlNb2RlLFxuXHRFRE1fVFlQRV9NQVBQSU5HLFxuXHRnZXRCaW5kaW5nV2l0aFVuaXRPckN1cnJlbmN5LFxuXHRmb3JtYXRXaXRoVHlwZUluZm9ybWF0aW9uXG59IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL1VJRm9ybWF0dGVyc1wiO1xuXG5pbXBvcnQgeyBEYXRhTW9kZWxPYmplY3RQYXRoLCBlbmhhbmNlRGF0YU1vZGVsUGF0aCwgZ2V0UGF0aFJlbGF0aXZlTG9jYXRpb24gfSBmcm9tIFwic2FwL2ZlL2NvcmUvdGVtcGxhdGluZy9EYXRhTW9kZWxQYXRoSGVscGVyXCI7XG5pbXBvcnQge1xuXHRFeHByZXNzaW9uLFxuXHRhbm5vdGF0aW9uRXhwcmVzc2lvbixcblx0Zm9ybWF0UmVzdWx0LFxuXHRCaW5kaW5nRXhwcmVzc2lvbkV4cHJlc3Npb24sXG5cdEJpbmRpbmdFeHByZXNzaW9uLFxuXHRjb21waWxlQmluZGluZyxcblx0Q29tcGxleFR5cGVFeHByZXNzaW9uLFxuXHR1bnJlc29sdmVhYmxlRXhwcmVzc2lvblxufSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9CaW5kaW5nRXhwcmVzc2lvblwiO1xuXG5pbXBvcnQgeyBnZXRBc3NvY2lhdGVkVW5pdFByb3BlcnR5UGF0aCwgaXNQcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL1Byb3BlcnR5SGVscGVyXCI7XG5cbmltcG9ydCB7IFByb3BlcnR5IH0gZnJvbSBcIkBzYXAtdXgvYW5ub3RhdGlvbi1jb252ZXJ0ZXJcIjtcblxuaW1wb3J0IEFubm90YXRpb25IZWxwZXIgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9Bbm5vdGF0aW9uSGVscGVyXCI7XG5pbXBvcnQgeyBpc1VzZWRJbk5hdmlnYXRpb25XaXRoUXVpY2tWaWV3RmFjZXRzIH0gZnJvbSBcInNhcC9mZS9tYWNyb3MvZmllbGQvRmllbGRUZW1wbGF0aW5nXCI7XG5pbXBvcnQgUmVzb3VyY2VCdW5kbGUgZnJvbSBcInNhcC9iYXNlL2kxOG4vUmVzb3VyY2VCdW5kbGVcIjtcblxuZXhwb3J0IHR5cGUgRGF0YVBvaW50Rm9ybWF0T3B0aW9ucyA9IFBhcnRpYWw8e1xuXHRtZWFzdXJlRGlzcGxheU1vZGU6IFN0cmluZztcblx0ZGlzcGxheU1vZGU6IFN0cmluZztcbn0+O1xuXG5jb25zdCBnZXREYXRhUG9pbnRUYXJnZXRFeHByZXNzaW9uID0gKG9EYXRhTW9kZWxQYXRoOiBhbnkpOiBFeHByZXNzaW9uPHN0cmluZz4gPT4ge1xuXHRyZXR1cm4gb0RhdGFNb2RlbFBhdGg/LlRhcmdldFZhbHVlID8gYW5ub3RhdGlvbkV4cHJlc3Npb24ob0RhdGFNb2RlbFBhdGguVGFyZ2V0VmFsdWUpIDogdW5yZXNvbHZlYWJsZUV4cHJlc3Npb247XG59O1xuXG5jb25zdCBvUmVzb3VyY2VNb2RlbCA9IHNhcC51aS5nZXRDb3JlKCkuZ2V0TGlicmFyeVJlc291cmNlQnVuZGxlKFwic2FwLmZlLm1hY3Jvc1wiKSBhcyBSZXNvdXJjZUJ1bmRsZTtcblxuZXhwb3J0IGNvbnN0IGdldFZpc3VhbGl6YXRpb24gPSBmdW5jdGlvbihvRGF0YU1vZGVsUGF0aDogRGF0YU1vZGVsT2JqZWN0UGF0aCwgZGVmYXVsdFZpc3VhbGl6YXRpb246IHN0cmluZyk6IHN0cmluZyB7XG5cdGNvbnN0IG9EYXRhUG9pbnQgPSBvRGF0YU1vZGVsUGF0aD8udGFyZ2V0T2JqZWN0O1xuXHRpZiAob0RhdGFQb2ludC5WaXN1YWxpemF0aW9uID09PSBcIlVJLlZpc3VhbGl6YXRpb25UeXBlL1Byb2dyZXNzXCIpIHtcblx0XHRyZXR1cm4gXCJQcm9ncmVzc1wiO1xuXHR9XG5cdGlmIChvRGF0YVBvaW50LlZpc3VhbGl6YXRpb24gPT09IFwiVUkuVmlzdWFsaXphdGlvblR5cGUvUmF0aW5nXCIpIHtcblx0XHRyZXR1cm4gXCJSYXRpbmdcIjtcblx0fVxuXHRjb25zdCBvUHJvcGVydHk6IFByb3BlcnR5ID0gb0RhdGFNb2RlbFBhdGg/LnRhcmdldE9iamVjdD8uVmFsdWU/LiR0YXJnZXQ7XG5cdGlmIChvUHJvcGVydHkpIHtcblx0XHRpZiAoaXNVc2VkSW5OYXZpZ2F0aW9uV2l0aFF1aWNrVmlld0ZhY2V0cyhvRGF0YU1vZGVsUGF0aCwgb1Byb3BlcnR5KSkge1xuXHRcdFx0cmV0dXJuIFwiTGlua1dpdGhRdWlja1ZpZXdGb3JtXCI7XG5cdFx0fVxuXHRcdGlmIChvUHJvcGVydHkuYW5ub3RhdGlvbnM/LkNvbW1vbj8uU2VtYW50aWNPYmplY3QpIHtcblx0XHRcdHJldHVybiBcIkxpbmtXcmFwcGVyXCI7XG5cdFx0fVxuXHR9XG5cdHJldHVybiBkZWZhdWx0VmlzdWFsaXphdGlvbjtcbn07XG5cbmV4cG9ydCBjb25zdCBidWlsZEV4cHJlc3Npb25Gb3JQcm9ncmVzc0luZGljYXRvckRpc3BsYXlWYWx1ZSA9IChcblx0b1Byb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aDogRGF0YU1vZGVsT2JqZWN0UGF0aFxuKTogQmluZGluZ0V4cHJlc3Npb248c3RyaW5nPiA9PiB7XG5cdGNvbnN0IGZpZWxkVmFsdWUgPSBvUHJvcGVydHlEYXRhTW9kZWxPYmplY3RQYXRoPy50YXJnZXRPYmplY3Q/LlZhbHVlIHx8IFwiXCI7XG5cdGNvbnN0IHJlbGF0aXZlTG9jYXRpb24gPSBnZXRQYXRoUmVsYXRpdmVMb2NhdGlvbihcblx0XHRvUHJvcGVydHlEYXRhTW9kZWxPYmplY3RQYXRoLmNvbnRleHRMb2NhdGlvbixcblx0XHRvUHJvcGVydHlEYXRhTW9kZWxPYmplY3RQYXRoLm5hdmlnYXRpb25Qcm9wZXJ0aWVzXG5cdCkubWFwKG5wID0+IG5wLm5hbWUpO1xuXHRsZXQgZmllbGRWYWx1ZUV4cHJlc3Npb24gPSBhbm5vdGF0aW9uRXhwcmVzc2lvbihmaWVsZFZhbHVlLCByZWxhdGl2ZUxvY2F0aW9uKSBhcyBhbnk7XG5cdGNvbnN0IFRhcmdldEV4cHJlc3Npb24gPSBnZXREYXRhUG9pbnRUYXJnZXRFeHByZXNzaW9uKG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0KSBhcyBhbnk7XG5cblx0aWYgKGZpZWxkVmFsdWVFeHByZXNzaW9uICYmIFRhcmdldEV4cHJlc3Npb24pIHtcblx0XHRsZXQgdGFyZ2V0T2JqZWN0ID0gb1Byb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRPYmplY3QuVmFsdWU7XG5cdFx0aWYgKCFpc1Byb3BlcnR5KHRhcmdldE9iamVjdCkpIHtcblx0XHRcdHRhcmdldE9iamVjdCA9IG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0LlZhbHVlLiR0YXJnZXQ7XG5cdFx0fVxuXHRcdGNvbnN0IHVuaXQgPSB0YXJnZXRPYmplY3QuYW5ub3RhdGlvbnM/Lk1lYXN1cmVzPy5Vbml0IHx8IHRhcmdldE9iamVjdC5hbm5vdGF0aW9ucz8uTWVhc3VyZXM/LklTT0N1cnJlbmN5O1xuXG5cdFx0aWYgKCF1bml0KSB7XG5cdFx0XHRyZXR1cm4gb1Jlc291cmNlTW9kZWwuZ2V0VGV4dChcIlRfQ09NTU9OX1BST0dSRVNTX0lORElDQVRPUl9ESVNQTEFZX1ZBTFVFX05PX1VPTVwiLCBbXG5cdFx0XHRcdGNvbXBpbGVCaW5kaW5nKGZpZWxkVmFsdWVFeHByZXNzaW9uKSBhcyBzdHJpbmcsXG5cdFx0XHRcdGNvbXBpbGVCaW5kaW5nKFRhcmdldEV4cHJlc3Npb24pIGFzIHN0cmluZ1xuXHRcdFx0XSk7XG5cdFx0fVxuXHRcdC8vIElmIHRoZSB1bml0IGlzbid0IGEgcGF0aCwgd2UgY2hlY2sgZm9yIGEgJSBzaWduIGFzIGl0IGlzIGEgc3BlY2lhbCBjYXNlLlxuXHRcdGlmICghZ2V0QXNzb2NpYXRlZFVuaXRQcm9wZXJ0eVBhdGgoZmllbGRWYWx1ZT8uJHRhcmdldCkpIHtcblx0XHRcdGNvbnN0IHNVb01QZXJjZW50ID0gZmllbGRWYWx1ZS4kdGFyZ2V0Py5hbm5vdGF0aW9ucz8uTWVhc3VyZXM/LlVuaXQ/LmNoYXJBdCgwKTtcblx0XHRcdGlmIChzVW9NUGVyY2VudCA9PT0gXCIlXCIpIHtcblx0XHRcdFx0cmV0dXJuIChjb21waWxlQmluZGluZyhmaWVsZFZhbHVlRXhwcmVzc2lvbikgYXMgc3RyaW5nKSArIFwiICVcIjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRmaWVsZFZhbHVlRXhwcmVzc2lvbiA9IGZvcm1hdFdpdGhUeXBlSW5mb3JtYXRpb24odGFyZ2V0T2JqZWN0LCBmaWVsZFZhbHVlRXhwcmVzc2lvbikgYXMgQmluZGluZ0V4cHJlc3Npb25FeHByZXNzaW9uPHN0cmluZz47XG5cdFx0Y29uc3QgdW5pdEJpbmRpbmdFeHByZXNzaW9uID0gKHVuaXQgYXMgYW55KS4kdGFyZ2V0XG5cdFx0XHQ/IGZvcm1hdFdpdGhUeXBlSW5mb3JtYXRpb24oKHVuaXQgYXMgYW55KS4kdGFyZ2V0LCBhbm5vdGF0aW9uRXhwcmVzc2lvbih1bml0LCByZWxhdGl2ZUxvY2F0aW9uKSBhcyBFeHByZXNzaW9uPHN0cmluZz4pXG5cdFx0XHQ6IChhbm5vdGF0aW9uRXhwcmVzc2lvbih1bml0LCByZWxhdGl2ZUxvY2F0aW9uKSBhcyBFeHByZXNzaW9uPHN0cmluZz4pO1xuXG5cdFx0cmV0dXJuIGNvbXBpbGVCaW5kaW5nKFxuXHRcdFx0Zm9ybWF0UmVzdWx0KFtmaWVsZFZhbHVlRXhwcmVzc2lvbiwgVGFyZ2V0RXhwcmVzc2lvbiwgdW5pdEJpbmRpbmdFeHByZXNzaW9uXSwgdmFsdWVGb3JtYXR0ZXJzLmZvcm1hdFByb2dyZXNzSW5kaWNhdG9yVGV4dClcblx0XHQpO1xuXHR9XG5cdHJldHVybiB1bmRlZmluZWQ7XG59O1xuXG5jb25zdCBidWlsZFJhdGluZ0luZGljYXRvclN1YnRpdGxlRXhwcmVzc2lvbiA9IChvQ29udGV4dDogYW55LCBtU2FtcGxlU2l6ZTogYW55KTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcblx0aWYgKG1TYW1wbGVTaXplKSB7XG5cdFx0cmV0dXJuIGZvcm1hdFJhdGluZ0luZGljYXRvclN1YlRpdGxlKEFubm90YXRpb25IZWxwZXIudmFsdWUobVNhbXBsZVNpemUsIHsgY29udGV4dDogb0NvbnRleHQgfSkgYXMgYW55KTtcblx0fVxufTtcbi8vIHJldHVybnMgdGhlIHRleHQgZm9yIHRoZSBSYXRpbmcgSW5kaWNhdG9yIFN1YnRpdGxlIChlLmcuICc3IHJldmlld3MnKVxuY29uc3QgZm9ybWF0UmF0aW5nSW5kaWNhdG9yU3ViVGl0bGUgPSAoaVNhbXBsZVNpemVWYWx1ZTogbnVtYmVyKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcblx0aWYgKGlTYW1wbGVTaXplVmFsdWUpIHtcblx0XHRjb25zdCBzU3ViVGl0bGVMYWJlbCA9XG5cdFx0XHRpU2FtcGxlU2l6ZVZhbHVlID4gMVxuXHRcdFx0XHQ/IG9SZXNvdXJjZU1vZGVsLmdldFRleHQoXCJUX0FOTk9UQVRJT05fSEVMUEVSX1JBVElOR19JTkRJQ0FUT1JfU1VCVElUTEVfTEFCRUxfUExVUkFMXCIpXG5cdFx0XHRcdDogb1Jlc291cmNlTW9kZWwuZ2V0VGV4dChcIlRfQU5OT1RBVElPTl9IRUxQRVJfUkFUSU5HX0lORElDQVRPUl9TVUJUSVRMRV9MQUJFTFwiKTtcblx0XHRyZXR1cm4gb1Jlc291cmNlTW9kZWwuZ2V0VGV4dChcIlRfQU5OT1RBVElPTl9IRUxQRVJfUkFUSU5HX0lORElDQVRPUl9TVUJUSVRMRVwiLCBbU3RyaW5nKGlTYW1wbGVTaXplVmFsdWUpLCBzU3ViVGl0bGVMYWJlbF0pO1xuXHR9XG59O1xuXG4vKipcbiAqIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBnZXQgdGhlIGhlYWRlciB0ZXh0IG9mIHJhdGluZyBpbmRpY2F0b3IuXG4gKiBAcGFyYW0gb0NvbnRleHRcbiAqIEBwYXJhbSBvRGF0YVBvaW50XG4gKiBAZnVuY3Rpb24gcGFyYW0ge29iamVjdH0gb0NvbnRleHQgY29udGV4dCBvZiBpbnRlcmZhY2VcbiAqIHBhcmFtIHtvYmplY3R9IG9EYXRhUG9pbnQgZGF0YSBwb2ludCBvYmplY3RcbiAqIEByZXR1cm5zIHtzdHJpbmd9IEV4cHJlc3Npb24gYmluZGluZyBmb3IgcmF0aW5nIGluZGljYXRvciB0ZXh0XG4gKi9cbmV4cG9ydCBjb25zdCBnZXRIZWFkZXJSYXRpbmdJbmRpY2F0b3JUZXh0ID0gKG9Db250ZXh0OiBhbnksIG9EYXRhUG9pbnQ6IGFueSk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG5cdGlmIChvRGF0YVBvaW50ICYmIG9EYXRhUG9pbnQuU2FtcGxlU2l6ZSkge1xuXHRcdHJldHVybiBidWlsZFJhdGluZ0luZGljYXRvclN1YnRpdGxlRXhwcmVzc2lvbihvQ29udGV4dCwgb0RhdGFQb2ludC5TYW1wbGVTaXplKTtcblx0fSBlbHNlIGlmIChvRGF0YVBvaW50ICYmIG9EYXRhUG9pbnQuRGVzY3JpcHRpb24pIHtcblx0XHRjb25zdCBzTW9kZWxWYWx1ZSA9IEFubm90YXRpb25IZWxwZXIudmFsdWUob0RhdGFQb2ludC5EZXNjcmlwdGlvbiwgeyBjb250ZXh0OiBvQ29udGV4dCB9KTtcblx0XHRyZXR1cm4gXCIke3BhdGg6XCIgKyBzTW9kZWxWYWx1ZSArIFwifVwiO1xuXHR9XG59O1xuZ2V0SGVhZGVyUmF0aW5nSW5kaWNhdG9yVGV4dC5yZXF1aXJlc0lDb250ZXh0ID0gdHJ1ZTtcblxuY29uc3QgYnVpbGRFeHByZXNzaW9uRm9yRGVzY3JpcHRpb24gPSAoZmllbGRWYWx1ZTogYW55KTogRXhwcmVzc2lvbjxhbnk+IHwgdW5kZWZpbmVkID0+IHtcblx0aWYgKGZpZWxkVmFsdWU/LiR0YXJnZXQ/LmFubm90YXRpb25zPy5Db21tb24/LlRleHQpIHtcblx0XHRjb25zdCBvVGV4dEV4cHJlc3Npb24gPSBhbm5vdGF0aW9uRXhwcmVzc2lvbihmaWVsZFZhbHVlPy4kdGFyZ2V0Py5hbm5vdGF0aW9ucz8uQ29tbW9uPy5UZXh0KSBhcyBCaW5kaW5nRXhwcmVzc2lvbkV4cHJlc3Npb248YW55Pjtcblx0XHRvVGV4dEV4cHJlc3Npb24ucGFyYW1ldGVycyA9IHsgXCIkJG5vUGF0Y2hcIjogdHJ1ZSB9O1xuXHRcdHJldHVybiBvVGV4dEV4cHJlc3Npb247XG5cdH1cblx0cmV0dXJuIHVuZGVmaW5lZDtcbn07XG5cbmNvbnN0IGdldERlY2ltYWxGb3JtYXQgPSAoXG5cdG91dEV4cHJlc3Npb246IEJpbmRpbmdFeHByZXNzaW9uPGFueT4sXG5cdGZpZWxkVmFsdWU6IGFueSxcblx0c051bWJlck9mRnJhY3Rpb25hbERpZ2l0czogc3RyaW5nXG4pOiBCaW5kaW5nRXhwcmVzc2lvbjxhbnk+ID0+IHtcblx0aWYgKCFvdXRFeHByZXNzaW9uLmNvbnN0cmFpbnRzKSB7XG5cdFx0b3V0RXhwcmVzc2lvbi5jb25zdHJhaW50cyA9IHt9O1xuXHR9XG5cdG91dEV4cHJlc3Npb24uY29uc3RyYWludHMgPSBPYmplY3QuYXNzaWduKG91dEV4cHJlc3Npb24uY29uc3RyYWludHMsIHtcblx0XHRwcmVjaXNpb246IGZpZWxkVmFsdWUuJHRhcmdldC5wcmVjaXNpb24sXG5cdFx0c2NhbGU6IHNOdW1iZXJPZkZyYWN0aW9uYWxEaWdpdHMgPyBzTnVtYmVyT2ZGcmFjdGlvbmFsRGlnaXRzIDogZmllbGRWYWx1ZS4kdGFyZ2V0LnNjYWxlXG5cdH0pO1xuXHRyZXR1cm4gb3V0RXhwcmVzc2lvbjtcbn07XG5cbmNvbnN0IGdldFZhbHVlRm9ybWF0dGVkID0gKFxuXHRvUHJvcGVydHlEYXRhTW9kZWxQYXRoOiBEYXRhTW9kZWxPYmplY3RQYXRoLFxuXHRmaWVsZFZhbHVlOiBhbnksXG5cdHNQcm9wZXJ0eVR5cGU6IHN0cmluZyxcblx0c051bWJlck9mRnJhY3Rpb25hbERpZ2l0czogc3RyaW5nXG4pOiBCaW5kaW5nRXhwcmVzc2lvbkV4cHJlc3Npb248c3RyaW5nPiA9PiB7XG5cdGxldCBvdXRFeHByZXNzaW9uOiBCaW5kaW5nRXhwcmVzc2lvbjxhbnk+O1xuXHRjb25zdCByZWxhdGl2ZUxvY2F0aW9uID1cblx0XHRmaWVsZFZhbHVlPy5wYXRoPy5pbmRleE9mKFwiL1wiKSA9PT0gLTFcblx0XHRcdD8gZ2V0UGF0aFJlbGF0aXZlTG9jYXRpb24ob1Byb3BlcnR5RGF0YU1vZGVsUGF0aC5jb250ZXh0TG9jYXRpb24sIG9Qcm9wZXJ0eURhdGFNb2RlbFBhdGgubmF2aWdhdGlvblByb3BlcnRpZXMpLm1hcChcblx0XHRcdFx0XHRucCA9PiBucC5uYW1lXG5cdFx0XHQgIClcblx0XHRcdDogW107XG5cdG91dEV4cHJlc3Npb24gPSBhbm5vdGF0aW9uRXhwcmVzc2lvbihmaWVsZFZhbHVlLCByZWxhdGl2ZUxvY2F0aW9uKTtcblx0Y29uc3Qgb1Byb3BlcnR5RGVmaW5pdGlvbiA9IG9Qcm9wZXJ0eURhdGFNb2RlbFBhdGgudGFyZ2V0T2JqZWN0IGFzIFByb3BlcnR5O1xuXHRpZiAoc1Byb3BlcnR5VHlwZSkge1xuXHRcdGZvcm1hdFdpdGhUeXBlSW5mb3JtYXRpb24ob1Byb3BlcnR5RGVmaW5pdGlvbiwgb3V0RXhwcmVzc2lvbik7XG5cdFx0b3V0RXhwcmVzc2lvbi50eXBlID0gRURNX1RZUEVfTUFQUElOR1tzUHJvcGVydHlUeXBlXT8udHlwZTtcblx0fVxuXHRzd2l0Y2ggKHNQcm9wZXJ0eVR5cGUpIHtcblx0XHRjYXNlIFwiRWRtLkRlY2ltYWxcIjpcblx0XHRcdC8vIGZvciB0aGUgbGlzdFJlcG9ydCwgdGhlIGRlY2ltYWwgZmllbGRzIGFyZSBmb3JtYXR0ZWQgYnkgcmV0dXJuaW5nIGEgc3RyaW5nXG5cdFx0XHQvLyBmb3IgdGhlIGZhY2V0cyBvZiB0aGUgT1AsIHRoZSBkZWNpbWFsIGZpZWxkcyBhcmUgZm9ybWF0dGVkIGJ5IHJldHVybmluZyBhIHByb21pc2UsIHNvIHdlIG1hbmFnZSBhbGwgdGhlIGNhc2VzXG5cdFx0XHRvdXRFeHByZXNzaW9uID0gZ2V0RGVjaW1hbEZvcm1hdChvdXRFeHByZXNzaW9uLCBmaWVsZFZhbHVlLCBzTnVtYmVyT2ZGcmFjdGlvbmFsRGlnaXRzKTtcblx0XHRcdGJyZWFrO1xuXHRcdGRlZmF1bHQ6XG5cdH1cblx0cmV0dXJuIG91dEV4cHJlc3Npb24gYXMgQmluZGluZ0V4cHJlc3Npb25FeHByZXNzaW9uPHN0cmluZz47XG59O1xuXG5leHBvcnQgY29uc3QgYnVpbGRGaWVsZEJpbmRpbmdFeHByZXNzaW9uID0gKFxuXHRvRGF0YU1vZGVsUGF0aDogRGF0YU1vZGVsT2JqZWN0UGF0aCxcblx0ZGF0YVBvaW50Rm9ybWF0T3B0aW9uczogRGF0YVBvaW50Rm9ybWF0T3B0aW9ucyxcblx0YkhpZGVNZWFzdXJlOiBib29sZWFuXG4pOiBCaW5kaW5nRXhwcmVzc2lvbjxzdHJpbmc+ID0+IHtcblx0Y29uc3Qgb0RhdGFQb2ludCA9IG9EYXRhTW9kZWxQYXRoLnRhcmdldE9iamVjdDtcblx0Y29uc3Qgb0RhdGFQb2ludFZhbHVlID0gb0RhdGFQb2ludD8uVmFsdWUgfHwgXCJcIjtcblx0Y29uc3Qgb0Rlc2NyaXB0aW9uID0gYnVpbGRFeHByZXNzaW9uRm9yRGVzY3JpcHRpb24ob0RhdGFQb2ludFZhbHVlKTtcblx0Y29uc3Qgc1Byb3BlcnR5VHlwZSA9IG9EYXRhUG9pbnRWYWx1ZT8uJHRhcmdldD8udHlwZTtcblx0bGV0IHNOdW1iZXJPZkZyYWN0aW9uYWxEaWdpdHM7XG5cblx0aWYgKHNQcm9wZXJ0eVR5cGUgPT09IFwiRWRtLkRlY2ltYWxcIiAmJiBvRGF0YVBvaW50LlZhbHVlRm9ybWF0KSB7XG5cdFx0aWYgKG9EYXRhUG9pbnQuVmFsdWVGb3JtYXQuTnVtYmVyT2ZGcmFjdGlvbmFsRGlnaXRzKSB7XG5cdFx0XHRzTnVtYmVyT2ZGcmFjdGlvbmFsRGlnaXRzID0gb0RhdGFQb2ludC5WYWx1ZUZvcm1hdC5OdW1iZXJPZkZyYWN0aW9uYWxEaWdpdHM7XG5cdFx0fVxuXHR9XG5cdGNvbnN0IG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGggPSBlbmhhbmNlRGF0YU1vZGVsUGF0aChvRGF0YU1vZGVsUGF0aCwgb0RhdGFQb2ludFZhbHVlLnBhdGgpO1xuXHRjb25zdCBvRm9ybWF0dGVkVmFsdWUgPSBnZXRWYWx1ZUZvcm1hdHRlZChvUHJvcGVydHlEYXRhTW9kZWxPYmplY3RQYXRoLCBvRGF0YVBvaW50VmFsdWUsIHNQcm9wZXJ0eVR5cGUsIHNOdW1iZXJPZkZyYWN0aW9uYWxEaWdpdHMpO1xuXHRjb25zdCBzRGlzcGxheU1vZGUgPSBvRGVzY3JpcHRpb25cblx0XHQ/IGRhdGFQb2ludEZvcm1hdE9wdGlvbnMuZGlzcGxheU1vZGUgfHwgZ2V0RGlzcGxheU1vZGUob0RhdGFQb2ludFZhbHVlLCBvUHJvcGVydHlEYXRhTW9kZWxPYmplY3RQYXRoKVxuXHRcdDogXCJWYWx1ZVwiO1xuXHRsZXQgb0JpbmRpbmdFeHByZXNzaW9uOiBhbnk7XG5cdHN3aXRjaCAoc0Rpc3BsYXlNb2RlKSB7XG5cdFx0Y2FzZSBcIkRlc2NyaXB0aW9uXCI6XG5cdFx0XHRvQmluZGluZ0V4cHJlc3Npb24gPSBvRGVzY3JpcHRpb247XG5cdFx0XHRicmVhaztcblx0XHRjYXNlIFwiVmFsdWVEZXNjcmlwdGlvblwiOlxuXHRcdFx0b0JpbmRpbmdFeHByZXNzaW9uID0gZm9ybWF0UmVzdWx0KFtvRm9ybWF0dGVkVmFsdWUsIG9EZXNjcmlwdGlvbl0sIHZhbHVlRm9ybWF0dGVycy5mb3JtYXRXaXRoQnJhY2tldHMpO1xuXHRcdFx0YnJlYWs7XG5cdFx0Y2FzZSBcIkRlc2NyaXB0aW9uVmFsdWVcIjpcblx0XHRcdG9CaW5kaW5nRXhwcmVzc2lvbiA9IGZvcm1hdFJlc3VsdChbb0Rlc2NyaXB0aW9uLCBvRm9ybWF0dGVkVmFsdWVdLCB2YWx1ZUZvcm1hdHRlcnMuZm9ybWF0V2l0aEJyYWNrZXRzKTtcblx0XHRcdGJyZWFrO1xuXHRcdGRlZmF1bHQ6XG5cdFx0XHRpZiAoXG5cdFx0XHRcdG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0Py5hbm5vdGF0aW9ucz8uTWVhc3VyZXM/LlVuaXQgfHxcblx0XHRcdFx0b1Byb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRPYmplY3Q/LmFubm90YXRpb25zPy5NZWFzdXJlcz8uSVNPQ3VycmVuY3lcblx0XHRcdCkge1xuXHRcdFx0XHRvQmluZGluZ0V4cHJlc3Npb24gPSBnZXRCaW5kaW5nV2l0aFVuaXRPckN1cnJlbmN5KG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGgsIG9Gb3JtYXR0ZWRWYWx1ZSk7XG5cdFx0XHRcdGlmIChvQmluZGluZ0V4cHJlc3Npb24gJiYgKGJIaWRlTWVhc3VyZSB8fCBkYXRhUG9pbnRGb3JtYXRPcHRpb25zPy5tZWFzdXJlRGlzcGxheU1vZGUgPT09IFwiSGlkZGVuXCIpKSB7XG5cdFx0XHRcdFx0KG9CaW5kaW5nRXhwcmVzc2lvbiBhcyBDb21wbGV4VHlwZUV4cHJlc3Npb248U3RyaW5nPikuZm9ybWF0T3B0aW9ucyA9IHtcblx0XHRcdFx0XHRcdC4uLihvQmluZGluZ0V4cHJlc3Npb24gYXMgQ29tcGxleFR5cGVFeHByZXNzaW9uPFN0cmluZz4pLmZvcm1hdE9wdGlvbnMsXG5cdFx0XHRcdFx0XHRzaG93TWVhc3VyZTogZmFsc2Vcblx0XHRcdFx0XHR9O1xuXHRcdFx0XHR9XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRvQmluZGluZ0V4cHJlc3Npb24gPSBvRm9ybWF0dGVkVmFsdWU7XG5cdFx0XHR9XG5cdH1cblxuXHRyZXR1cm4gY29tcGlsZUJpbmRpbmcob0JpbmRpbmdFeHByZXNzaW9uKTtcbn07XG5cbi8qKlxuICogTWV0aG9kIHRvIGNhbGN1bGF0ZSB0aGUgcGVyY2VudGFnZSB2YWx1ZSBvZiBQcm9ncmVzcyBJbmRpY2F0b3IuIEJhc2ljIGZvcm11bGEgaXMgVmFsdWUvVGFyZ2V0ICogMTAwLlxuICpcbiAqIEBwYXJhbSB7Kn0gb1Byb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aFxuICogQHJldHVybnMge0JpbmRpbmd9IFRoZSBleHByZXNzaW9uIGJpbmRpbmcgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHBlcmNlbnRhZ2UgdmFsdWUsIHdoaWNoIGlzIHNob3duIGluIHRoZSBwcm9ncmVzcyBpbmRpY2F0b3IgYmFzZWQgb24gdGhlIGZvcm11bGEgZ2l2ZW4gYWJvdmUuXG4gKi9cbmV4cG9ydCBjb25zdCBidWlsZEV4cHJlc3Npb25Gb3JQcm9ncmVzc0luZGljYXRvclBlcmNlbnRWYWx1ZSA9IChvUHJvcGVydHlEYXRhTW9kZWxPYmplY3RQYXRoOiBEYXRhTW9kZWxPYmplY3RQYXRoKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcblx0Y29uc3QgZmllbGRWYWx1ZSA9IG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGg/LnRhcmdldE9iamVjdD8uVmFsdWUgfHwgXCJcIjtcblx0Y29uc3QgcmVsYXRpdmVMb2NhdGlvbiA9IGdldFBhdGhSZWxhdGl2ZUxvY2F0aW9uKFxuXHRcdG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGguY29udGV4dExvY2F0aW9uLFxuXHRcdG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGgubmF2aWdhdGlvblByb3BlcnRpZXNcblx0KS5tYXAobnAgPT4gbnAubmFtZSk7XG5cdGNvbnN0IGZpZWxkVmFsdWVFeHByZXNzaW9uID0gYW5ub3RhdGlvbkV4cHJlc3Npb24oZmllbGRWYWx1ZSwgcmVsYXRpdmVMb2NhdGlvbik7XG5cdGNvbnN0IFRhcmdldEV4cHJlc3Npb24gPSBnZXREYXRhUG9pbnRUYXJnZXRFeHByZXNzaW9uKG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0KTtcblxuXHRjb25zdCBvUHJvcGVydHlEZWZpbml0aW9uID0gZmllbGRWYWx1ZS4kdGFyZ2V0IGFzIFByb3BlcnR5O1xuXHRjb25zdCB1bml0ID0gb1Byb3BlcnR5RGVmaW5pdGlvbi5hbm5vdGF0aW9ucz8uTWVhc3VyZXM/LlVuaXQgfHwgb1Byb3BlcnR5RGVmaW5pdGlvbi5hbm5vdGF0aW9ucz8uTWVhc3VyZXM/LklTT0N1cnJlbmN5O1xuXHRpZiAodW5pdCkge1xuXHRcdGNvbnN0IHVuaXRCaW5kaW5nRXhwcmVzc2lvbiA9ICh1bml0IGFzIGFueSkuJHRhcmdldFxuXHRcdFx0PyBmb3JtYXRXaXRoVHlwZUluZm9ybWF0aW9uKCh1bml0IGFzIGFueSkuJHRhcmdldCwgYW5ub3RhdGlvbkV4cHJlc3Npb24odW5pdCwgcmVsYXRpdmVMb2NhdGlvbikgYXMgRXhwcmVzc2lvbjxzdHJpbmc+KVxuXHRcdFx0OiAoYW5ub3RhdGlvbkV4cHJlc3Npb24odW5pdCwgcmVsYXRpdmVMb2NhdGlvbikgYXMgRXhwcmVzc2lvbjxzdHJpbmc+KTtcblxuXHRcdHJldHVybiBjb21waWxlQmluZGluZyhcblx0XHRcdGZvcm1hdFJlc3VsdChbZmllbGRWYWx1ZUV4cHJlc3Npb24sIFRhcmdldEV4cHJlc3Npb24sIHVuaXRCaW5kaW5nRXhwcmVzc2lvbl0sIHZhbHVlRm9ybWF0dGVycy5jb21wdXRlUGVyY2VudGFnZSlcblx0XHQpO1xuXHR9XG5cblx0cmV0dXJuIGNvbXBpbGVCaW5kaW5nKGZvcm1hdFJlc3VsdChbZmllbGRWYWx1ZUV4cHJlc3Npb24sIFRhcmdldEV4cHJlc3Npb24sIFwiXCJdLCB2YWx1ZUZvcm1hdHRlcnMuY29tcHV0ZVBlcmNlbnRhZ2UpKTtcbn07XG4iXX0=
322
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkRhdGFQb2ludFRlbXBsYXRpbmcudHMiXSwibmFtZXMiOlsiZ2V0RGF0YVBvaW50VGFyZ2V0RXhwcmVzc2lvbiIsIm9EYXRhTW9kZWxQYXRoIiwiVGFyZ2V0VmFsdWUiLCJhbm5vdGF0aW9uRXhwcmVzc2lvbiIsInVucmVzb2x2ZWFibGVFeHByZXNzaW9uIiwib1Jlc291cmNlTW9kZWwiLCJzYXAiLCJ1aSIsImdldENvcmUiLCJnZXRMaWJyYXJ5UmVzb3VyY2VCdW5kbGUiLCJnZXRWaXN1YWxpemF0aW9uIiwiZGVmYXVsdFZpc3VhbGl6YXRpb24iLCJvRGF0YVBvaW50IiwidGFyZ2V0T2JqZWN0IiwiVmlzdWFsaXphdGlvbiIsIm9Qcm9wZXJ0eSIsIlZhbHVlIiwiJHRhcmdldCIsImlzVXNlZEluTmF2aWdhdGlvbldpdGhRdWlja1ZpZXdGYWNldHMiLCJhbm5vdGF0aW9ucyIsIkNvbW1vbiIsIlNlbWFudGljT2JqZWN0IiwiYnVpbGRFeHByZXNzaW9uRm9yUHJvZ3Jlc3NJbmRpY2F0b3JEaXNwbGF5VmFsdWUiLCJvUHJvcGVydHlEYXRhTW9kZWxPYmplY3RQYXRoIiwiZmllbGRWYWx1ZSIsInJlbGF0aXZlTG9jYXRpb24iLCJnZXRQYXRoUmVsYXRpdmVMb2NhdGlvbiIsImNvbnRleHRMb2NhdGlvbiIsIm5hdmlnYXRpb25Qcm9wZXJ0aWVzIiwibWFwIiwibnAiLCJuYW1lIiwiZmllbGRWYWx1ZUV4cHJlc3Npb24iLCJUYXJnZXRFeHByZXNzaW9uIiwiaXNQcm9wZXJ0eSIsInVuaXQiLCJNZWFzdXJlcyIsIlVuaXQiLCJJU09DdXJyZW5jeSIsImdldFRleHQiLCJjb21waWxlQmluZGluZyIsImdldEFzc29jaWF0ZWRVbml0UHJvcGVydHlQYXRoIiwic1VvTVBlcmNlbnQiLCJjaGFyQXQiLCJmb3JtYXRXaXRoVHlwZUluZm9ybWF0aW9uIiwidW5pdEJpbmRpbmdFeHByZXNzaW9uIiwiZm9ybWF0UmVzdWx0IiwidmFsdWVGb3JtYXR0ZXJzIiwiZm9ybWF0UHJvZ3Jlc3NJbmRpY2F0b3JUZXh0IiwidW5kZWZpbmVkIiwiYnVpbGRVbml0QmluZGluZ0V4cHJlc3Npb24iLCJkYXRhUG9pbnQiLCJidWlsZFJhdGluZ0luZGljYXRvclN1YnRpdGxlRXhwcmVzc2lvbiIsIm9Db250ZXh0IiwibVNhbXBsZVNpemUiLCJmb3JtYXRSYXRpbmdJbmRpY2F0b3JTdWJUaXRsZSIsIkFubm90YXRpb25IZWxwZXIiLCJ2YWx1ZSIsImNvbnRleHQiLCJpU2FtcGxlU2l6ZVZhbHVlIiwic1N1YlRpdGxlTGFiZWwiLCJTdHJpbmciLCJnZXRIZWFkZXJSYXRpbmdJbmRpY2F0b3JUZXh0IiwiU2FtcGxlU2l6ZSIsIkRlc2NyaXB0aW9uIiwic01vZGVsVmFsdWUiLCJyZXF1aXJlc0lDb250ZXh0IiwiYnVpbGRFeHByZXNzaW9uRm9yRGVzY3JpcHRpb24iLCJUZXh0Iiwib1RleHRFeHByZXNzaW9uIiwicGFyYW1ldGVycyIsImdldERlY2ltYWxGb3JtYXQiLCJvdXRFeHByZXNzaW9uIiwic051bWJlck9mRnJhY3Rpb25hbERpZ2l0cyIsImNvbnN0cmFpbnRzIiwiT2JqZWN0IiwiYXNzaWduIiwicHJlY2lzaW9uIiwic2NhbGUiLCJmb3JtYXRPcHRpb25zIiwicHJlc2VydmVEZWNpbWFscyIsImdldFZhbHVlRm9ybWF0dGVkIiwib1Byb3BlcnR5RGF0YU1vZGVsUGF0aCIsInNQcm9wZXJ0eVR5cGUiLCJwYXRoIiwiaW5kZXhPZiIsIm9Qcm9wZXJ0eURlZmluaXRpb24iLCJ0eXBlIiwiRURNX1RZUEVfTUFQUElORyIsImJ1aWxkRmllbGRCaW5kaW5nRXhwcmVzc2lvbiIsImRhdGFQb2ludEZvcm1hdE9wdGlvbnMiLCJiSGlkZU1lYXN1cmUiLCJvRGF0YVBvaW50VmFsdWUiLCJvRGVzY3JpcHRpb24iLCJWYWx1ZUZvcm1hdCIsIk51bWJlck9mRnJhY3Rpb25hbERpZ2l0cyIsImVuaGFuY2VEYXRhTW9kZWxQYXRoIiwib0Zvcm1hdHRlZFZhbHVlIiwic0Rpc3BsYXlNb2RlIiwiZGlzcGxheU1vZGUiLCJnZXREaXNwbGF5TW9kZSIsIm9CaW5kaW5nRXhwcmVzc2lvbiIsImZvcm1hdFdpdGhCcmFja2V0cyIsImdldEJpbmRpbmdXaXRoVW5pdE9yQ3VycmVuY3kiLCJtZWFzdXJlRGlzcGxheU1vZGUiLCJzaG93TWVhc3VyZSIsImJ1aWxkRXhwcmVzc2lvbkZvclByb2dyZXNzSW5kaWNhdG9yUGVyY2VudFZhbHVlIiwiY29tcHV0ZVBlcmNlbnRhZ2UiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUErQkEsTUFBTUEsNEJBQTRCLEdBQUcsVUFBQ0MsY0FBRCxFQUE2QztBQUNqRixXQUFPQSxjQUFjLFNBQWQsSUFBQUEsY0FBYyxXQUFkLElBQUFBLGNBQWMsQ0FBRUMsV0FBaEIsR0FBOEJDLG9CQUFvQixDQUFDRixjQUFjLENBQUNDLFdBQWhCLENBQWxELEdBQWlGRSx1QkFBeEY7QUFDQSxHQUZEOztBQUlBLE1BQU1DLGNBQWMsR0FBR0MsR0FBRyxDQUFDQyxFQUFKLENBQU9DLE9BQVAsR0FBaUJDLHdCQUFqQixDQUEwQyxlQUExQyxDQUF2Qjs7QUFFTyxNQUFNQyxnQkFBZ0IsR0FBRyxVQUFTVCxjQUFULEVBQThDVSxvQkFBOUMsRUFBb0Y7QUFBQTs7QUFDbkgsUUFBTUMsVUFBVSxHQUFHWCxjQUFILGFBQUdBLGNBQUgsdUJBQUdBLGNBQWMsQ0FBRVksWUFBbkM7O0FBQ0EsUUFBSUQsVUFBVSxDQUFDRSxhQUFYLEtBQTZCLCtCQUFqQyxFQUFrRTtBQUNqRSxhQUFPLFVBQVA7QUFDQTs7QUFDRCxRQUFJRixVQUFVLENBQUNFLGFBQVgsS0FBNkIsNkJBQWpDLEVBQWdFO0FBQy9ELGFBQU8sUUFBUDtBQUNBOztBQUNELFFBQU1DLFNBQW1CLEdBQUdkLGNBQUgsYUFBR0EsY0FBSCxnREFBR0EsY0FBYyxDQUFFWSxZQUFuQixvRkFBRyxzQkFBOEJHLEtBQWpDLDJEQUFHLHVCQUFxQ0MsT0FBakU7O0FBQ0EsUUFBSUYsU0FBSixFQUFlO0FBQUE7O0FBQ2Qs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RUFBa0VFLGVBQWUsQ0FBQzRELGlCQUFsRixDQURRLENBQXJCO0FBR0E7O0FBRUQsV0FBT25FLGNBQWMsQ0FBQ00sWUFBWSxDQUFDLENBQUNkLG9CQUFELEVBQXVCQyxnQkFBdkIsRUFBeUMsRUFBekMsQ0FBRCxFQUErQ2MsZUFBZSxDQUFDNEQsaUJBQS9ELENBQWIsQ0FBckI7QUFDQSxHQXRCTSIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHZhbHVlRm9ybWF0dGVycyBmcm9tIFwic2FwL2ZlL2NvcmUvZm9ybWF0dGVycy9WYWx1ZUZvcm1hdHRlclwiO1xuaW1wb3J0IHtcblx0Z2V0RGlzcGxheU1vZGUsXG5cdEVETV9UWVBFX01BUFBJTkcsXG5cdGdldEJpbmRpbmdXaXRoVW5pdE9yQ3VycmVuY3ksXG5cdGZvcm1hdFdpdGhUeXBlSW5mb3JtYXRpb25cbn0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvVUlGb3JtYXR0ZXJzXCI7XG5cbmltcG9ydCB7IERhdGFNb2RlbE9iamVjdFBhdGgsIGVuaGFuY2VEYXRhTW9kZWxQYXRoLCBnZXRQYXRoUmVsYXRpdmVMb2NhdGlvbiB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL0RhdGFNb2RlbFBhdGhIZWxwZXJcIjtcbmltcG9ydCB7XG5cdEV4cHJlc3Npb24sXG5cdGFubm90YXRpb25FeHByZXNzaW9uLFxuXHRmb3JtYXRSZXN1bHQsXG5cdEJpbmRpbmdFeHByZXNzaW9uRXhwcmVzc2lvbixcblx0QmluZGluZ0V4cHJlc3Npb24sXG5cdGNvbXBpbGVCaW5kaW5nLFxuXHRDb21wbGV4VHlwZUV4cHJlc3Npb24sXG5cdHVucmVzb2x2ZWFibGVFeHByZXNzaW9uXG59IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0JpbmRpbmdFeHByZXNzaW9uXCI7XG5cbmltcG9ydCB7IGdldEFzc29jaWF0ZWRVbml0UHJvcGVydHlQYXRoLCBpc1Byb3BlcnR5IH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvUHJvcGVydHlIZWxwZXJcIjtcblxuaW1wb3J0IHsgUHJvcGVydHkgfSBmcm9tIFwiQHNhcC11eC9hbm5vdGF0aW9uLWNvbnZlcnRlclwiO1xuXG5pbXBvcnQgQW5ub3RhdGlvbkhlbHBlciBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L0Fubm90YXRpb25IZWxwZXJcIjtcbmltcG9ydCB7IGlzVXNlZEluTmF2aWdhdGlvbldpdGhRdWlja1ZpZXdGYWNldHMgfSBmcm9tIFwic2FwL2ZlL21hY3Jvcy9maWVsZC9GaWVsZFRlbXBsYXRpbmdcIjtcbmltcG9ydCBSZXNvdXJjZUJ1bmRsZSBmcm9tIFwic2FwL2Jhc2UvaTE4bi9SZXNvdXJjZUJ1bmRsZVwiO1xuXG5leHBvcnQgdHlwZSBEYXRhUG9pbnRGb3JtYXRPcHRpb25zID0gUGFydGlhbDx7XG5cdG1lYXN1cmVEaXNwbGF5TW9kZTogU3RyaW5nO1xuXHRkaXNwbGF5TW9kZTogU3RyaW5nO1xufT47XG5cbmNvbnN0IGdldERhdGFQb2ludFRhcmdldEV4cHJlc3Npb24gPSAob0RhdGFNb2RlbFBhdGg6IGFueSk6IEV4cHJlc3Npb248c3RyaW5nPiA9PiB7XG5cdHJldHVybiBvRGF0YU1vZGVsUGF0aD8uVGFyZ2V0VmFsdWUgPyBhbm5vdGF0aW9uRXhwcmVzc2lvbihvRGF0YU1vZGVsUGF0aC5UYXJnZXRWYWx1ZSkgOiB1bnJlc29sdmVhYmxlRXhwcmVzc2lvbjtcbn07XG5cbmNvbnN0IG9SZXNvdXJjZU1vZGVsID0gc2FwLnVpLmdldENvcmUoKS5nZXRMaWJyYXJ5UmVzb3VyY2VCdW5kbGUoXCJzYXAuZmUubWFjcm9zXCIpIGFzIFJlc291cmNlQnVuZGxlO1xuXG5leHBvcnQgY29uc3QgZ2V0VmlzdWFsaXphdGlvbiA9IGZ1bmN0aW9uKG9EYXRhTW9kZWxQYXRoOiBEYXRhTW9kZWxPYmplY3RQYXRoLCBkZWZhdWx0VmlzdWFsaXphdGlvbjogc3RyaW5nKTogc3RyaW5nIHtcblx0Y29uc3Qgb0RhdGFQb2ludCA9IG9EYXRhTW9kZWxQYXRoPy50YXJnZXRPYmplY3Q7XG5cdGlmIChvRGF0YVBvaW50LlZpc3VhbGl6YXRpb24gPT09IFwiVUkuVmlzdWFsaXphdGlvblR5cGUvUHJvZ3Jlc3NcIikge1xuXHRcdHJldHVybiBcIlByb2dyZXNzXCI7XG5cdH1cblx0aWYgKG9EYXRhUG9pbnQuVmlzdWFsaXphdGlvbiA9PT0gXCJVSS5WaXN1YWxpemF0aW9uVHlwZS9SYXRpbmdcIikge1xuXHRcdHJldHVybiBcIlJhdGluZ1wiO1xuXHR9XG5cdGNvbnN0IG9Qcm9wZXJ0eTogUHJvcGVydHkgPSBvRGF0YU1vZGVsUGF0aD8udGFyZ2V0T2JqZWN0Py5WYWx1ZT8uJHRhcmdldDtcblx0aWYgKG9Qcm9wZXJ0eSkge1xuXHRcdGlmIChpc1VzZWRJbk5hdmlnYXRpb25XaXRoUXVpY2tWaWV3RmFjZXRzKG9EYXRhTW9kZWxQYXRoLCBvUHJvcGVydHkpKSB7XG5cdFx0XHRyZXR1cm4gXCJMaW5rV2l0aFF1aWNrVmlld0Zvcm1cIjtcblx0XHR9XG5cdFx0aWYgKG9Qcm9wZXJ0eS5hbm5vdGF0aW9ucz8uQ29tbW9uPy5TZW1hbnRpY09iamVjdCkge1xuXHRcdFx0cmV0dXJuIFwiTGlua1dyYXBwZXJcIjtcblx0XHR9XG5cdH1cblx0cmV0dXJuIGRlZmF1bHRWaXN1YWxpemF0aW9uO1xufTtcblxuZXhwb3J0IGNvbnN0IGJ1aWxkRXhwcmVzc2lvbkZvclByb2dyZXNzSW5kaWNhdG9yRGlzcGxheVZhbHVlID0gKFxuXHRvUHJvcGVydHlEYXRhTW9kZWxPYmplY3RQYXRoOiBEYXRhTW9kZWxPYmplY3RQYXRoXG4pOiBCaW5kaW5nRXhwcmVzc2lvbjxzdHJpbmc+ID0+IHtcblx0Y29uc3QgZmllbGRWYWx1ZSA9IG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGg/LnRhcmdldE9iamVjdD8uVmFsdWUgfHwgXCJcIjtcblx0Y29uc3QgcmVsYXRpdmVMb2NhdGlvbiA9IGdldFBhdGhSZWxhdGl2ZUxvY2F0aW9uKFxuXHRcdG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGguY29udGV4dExvY2F0aW9uLFxuXHRcdG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGgubmF2aWdhdGlvblByb3BlcnRpZXNcblx0KS5tYXAobnAgPT4gbnAubmFtZSk7XG5cdGxldCBmaWVsZFZhbHVlRXhwcmVzc2lvbiA9IGFubm90YXRpb25FeHByZXNzaW9uKGZpZWxkVmFsdWUsIHJlbGF0aXZlTG9jYXRpb24pIGFzIGFueTtcblx0Y29uc3QgVGFyZ2V0RXhwcmVzc2lvbiA9IGdldERhdGFQb2ludFRhcmdldEV4cHJlc3Npb24ob1Byb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRPYmplY3QpIGFzIGFueTtcblxuXHRpZiAoZmllbGRWYWx1ZUV4cHJlc3Npb24gJiYgVGFyZ2V0RXhwcmVzc2lvbikge1xuXHRcdGxldCB0YXJnZXRPYmplY3QgPSBvUHJvcGVydHlEYXRhTW9kZWxPYmplY3RQYXRoLnRhcmdldE9iamVjdC5WYWx1ZTtcblx0XHRpZiAoIWlzUHJvcGVydHkodGFyZ2V0T2JqZWN0KSkge1xuXHRcdFx0dGFyZ2V0T2JqZWN0ID0gb1Byb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRPYmplY3QuVmFsdWUuJHRhcmdldDtcblx0XHR9XG5cdFx0Y29uc3QgdW5pdCA9IHRhcmdldE9iamVjdC5hbm5vdGF0aW9ucz8uTWVhc3VyZXM/LlVuaXQgfHwgdGFyZ2V0T2JqZWN0LmFubm90YXRpb25zPy5NZWFzdXJlcz8uSVNPQ3VycmVuY3k7XG5cblx0XHRpZiAoIXVuaXQpIHtcblx0XHRcdHJldHVybiBvUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiVF9DT01NT05fUFJPR1JFU1NfSU5ESUNBVE9SX0RJU1BMQVlfVkFMVUVfTk9fVU9NXCIsIFtcblx0XHRcdFx0Y29tcGlsZUJpbmRpbmcoZmllbGRWYWx1ZUV4cHJlc3Npb24pIGFzIHN0cmluZyxcblx0XHRcdFx0Y29tcGlsZUJpbmRpbmcoVGFyZ2V0RXhwcmVzc2lvbikgYXMgc3RyaW5nXG5cdFx0XHRdKTtcblx0XHR9XG5cdFx0Ly8gSWYgdGhlIHVuaXQgaXNuJ3QgYSBwYXRoLCB3ZSBjaGVjayBmb3IgYSAlIHNpZ24gYXMgaXQgaXMgYSBzcGVjaWFsIGNhc2UuXG5cdFx0aWYgKCFnZXRBc3NvY2lhdGVkVW5pdFByb3BlcnR5UGF0aChmaWVsZFZhbHVlPy4kdGFyZ2V0KSkge1xuXHRcdFx0Y29uc3Qgc1VvTVBlcmNlbnQgPSBmaWVsZFZhbHVlLiR0YXJnZXQ/LmFubm90YXRpb25zPy5NZWFzdXJlcz8uVW5pdD8uY2hhckF0KDApO1xuXHRcdFx0aWYgKHNVb01QZXJjZW50ID09PSBcIiVcIikge1xuXHRcdFx0XHRyZXR1cm4gKGNvbXBpbGVCaW5kaW5nKGZpZWxkVmFsdWVFeHByZXNzaW9uKSBhcyBzdHJpbmcpICsgXCIgJVwiO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGZpZWxkVmFsdWVFeHByZXNzaW9uID0gZm9ybWF0V2l0aFR5cGVJbmZvcm1hdGlvbih0YXJnZXRPYmplY3QsIGZpZWxkVmFsdWVFeHByZXNzaW9uKSBhcyBCaW5kaW5nRXhwcmVzc2lvbkV4cHJlc3Npb248c3RyaW5nPjtcblx0XHRjb25zdCB1bml0QmluZGluZ0V4cHJlc3Npb24gPSAodW5pdCBhcyBhbnkpLiR0YXJnZXRcblx0XHRcdD8gZm9ybWF0V2l0aFR5cGVJbmZvcm1hdGlvbigodW5pdCBhcyBhbnkpLiR0YXJnZXQsIGFubm90YXRpb25FeHByZXNzaW9uKHVuaXQsIHJlbGF0aXZlTG9jYXRpb24pIGFzIEV4cHJlc3Npb248c3RyaW5nPilcblx0XHRcdDogKGFubm90YXRpb25FeHByZXNzaW9uKHVuaXQsIHJlbGF0aXZlTG9jYXRpb24pIGFzIEV4cHJlc3Npb248c3RyaW5nPik7XG5cblx0XHRyZXR1cm4gY29tcGlsZUJpbmRpbmcoXG5cdFx0XHRmb3JtYXRSZXN1bHQoW2ZpZWxkVmFsdWVFeHByZXNzaW9uLCBUYXJnZXRFeHByZXNzaW9uLCB1bml0QmluZGluZ0V4cHJlc3Npb25dLCB2YWx1ZUZvcm1hdHRlcnMuZm9ybWF0UHJvZ3Jlc3NJbmRpY2F0b3JUZXh0KVxuXHRcdCk7XG5cdH1cblx0cmV0dXJuIHVuZGVmaW5lZDtcbn07XG5cbmV4cG9ydCBjb25zdCBidWlsZFVuaXRCaW5kaW5nRXhwcmVzc2lvbiA9IChkYXRhUG9pbnQ6IERhdGFNb2RlbE9iamVjdFBhdGgpOiBCaW5kaW5nRXhwcmVzc2lvbjxzdHJpbmc+ID0+IHtcblx0Y29uc3QgcmVsYXRpdmVMb2NhdGlvbiA9IGdldFBhdGhSZWxhdGl2ZUxvY2F0aW9uKGRhdGFQb2ludC5jb250ZXh0TG9jYXRpb24sIGRhdGFQb2ludC5uYXZpZ2F0aW9uUHJvcGVydGllcykubWFwKG5wID0+IG5wLm5hbWUpO1xuXG5cdGNvbnN0IHRhcmdldE9iamVjdCA9IGRhdGFQb2ludD8udGFyZ2V0T2JqZWN0Py5WYWx1ZT8uJHRhcmdldDtcblx0aWYgKCFpc1Byb3BlcnR5KHRhcmdldE9iamVjdCkpIHtcblx0XHRyZXR1cm4gXCJcIjtcblx0fVxuXHRjb25zdCB1bml0ID0gdGFyZ2V0T2JqZWN0LmFubm90YXRpb25zPy5NZWFzdXJlcz8uVW5pdCB8fCB0YXJnZXRPYmplY3QuYW5ub3RhdGlvbnM/Lk1lYXN1cmVzPy5JU09DdXJyZW5jeTtcblx0cmV0dXJuIHVuaXQgPyBjb21waWxlQmluZGluZyhhbm5vdGF0aW9uRXhwcmVzc2lvbih1bml0LCByZWxhdGl2ZUxvY2F0aW9uKSkgOiBcIlwiO1xufTtcblxuY29uc3QgYnVpbGRSYXRpbmdJbmRpY2F0b3JTdWJ0aXRsZUV4cHJlc3Npb24gPSAob0NvbnRleHQ6IGFueSwgbVNhbXBsZVNpemU6IGFueSk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG5cdGlmIChtU2FtcGxlU2l6ZSkge1xuXHRcdHJldHVybiBmb3JtYXRSYXRpbmdJbmRpY2F0b3JTdWJUaXRsZShBbm5vdGF0aW9uSGVscGVyLnZhbHVlKG1TYW1wbGVTaXplLCB7IGNvbnRleHQ6IG9Db250ZXh0IH0pIGFzIGFueSk7XG5cdH1cbn07XG4vLyByZXR1cm5zIHRoZSB0ZXh0IGZvciB0aGUgUmF0aW5nIEluZGljYXRvciBTdWJ0aXRsZSAoZS5nLiAnNyByZXZpZXdzJylcbmNvbnN0IGZvcm1hdFJhdGluZ0luZGljYXRvclN1YlRpdGxlID0gKGlTYW1wbGVTaXplVmFsdWU6IG51bWJlcik6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG5cdGlmIChpU2FtcGxlU2l6ZVZhbHVlKSB7XG5cdFx0Y29uc3Qgc1N1YlRpdGxlTGFiZWwgPVxuXHRcdFx0aVNhbXBsZVNpemVWYWx1ZSA+IDFcblx0XHRcdFx0PyBvUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiVF9BTk5PVEFUSU9OX0hFTFBFUl9SQVRJTkdfSU5ESUNBVE9SX1NVQlRJVExFX0xBQkVMX1BMVVJBTFwiKVxuXHRcdFx0XHQ6IG9SZXNvdXJjZU1vZGVsLmdldFRleHQoXCJUX0FOTk9UQVRJT05fSEVMUEVSX1JBVElOR19JTkRJQ0FUT1JfU1VCVElUTEVfTEFCRUxcIik7XG5cdFx0cmV0dXJuIG9SZXNvdXJjZU1vZGVsLmdldFRleHQoXCJUX0FOTk9UQVRJT05fSEVMUEVSX1JBVElOR19JTkRJQ0FUT1JfU1VCVElUTEVcIiwgW1N0cmluZyhpU2FtcGxlU2l6ZVZhbHVlKSwgc1N1YlRpdGxlTGFiZWxdKTtcblx0fVxufTtcblxuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gZ2V0IHRoZSBoZWFkZXIgdGV4dCBvZiByYXRpbmcgaW5kaWNhdG9yLlxuICogQHBhcmFtIG9Db250ZXh0XG4gKiBAcGFyYW0gb0RhdGFQb2ludFxuICogQGZ1bmN0aW9uIHBhcmFtIHtvYmplY3R9IG9Db250ZXh0IGNvbnRleHQgb2YgaW50ZXJmYWNlXG4gKiBwYXJhbSB7b2JqZWN0fSBvRGF0YVBvaW50IGRhdGEgcG9pbnQgb2JqZWN0XG4gKiBAcmV0dXJucyB7c3RyaW5nfSBFeHByZXNzaW9uIGJpbmRpbmcgZm9yIHJhdGluZyBpbmRpY2F0b3IgdGV4dFxuICovXG5leHBvcnQgY29uc3QgZ2V0SGVhZGVyUmF0aW5nSW5kaWNhdG9yVGV4dCA9IChvQ29udGV4dDogYW55LCBvRGF0YVBvaW50OiBhbnkpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuXHRpZiAob0RhdGFQb2ludCAmJiBvRGF0YVBvaW50LlNhbXBsZVNpemUpIHtcblx0XHRyZXR1cm4gYnVpbGRSYXRpbmdJbmRpY2F0b3JTdWJ0aXRsZUV4cHJlc3Npb24ob0NvbnRleHQsIG9EYXRhUG9pbnQuU2FtcGxlU2l6ZSk7XG5cdH0gZWxzZSBpZiAob0RhdGFQb2ludCAmJiBvRGF0YVBvaW50LkRlc2NyaXB0aW9uKSB7XG5cdFx0Y29uc3Qgc01vZGVsVmFsdWUgPSBBbm5vdGF0aW9uSGVscGVyLnZhbHVlKG9EYXRhUG9pbnQuRGVzY3JpcHRpb24sIHsgY29udGV4dDogb0NvbnRleHQgfSk7XG5cdFx0cmV0dXJuIFwiJHtwYXRoOlwiICsgc01vZGVsVmFsdWUgKyBcIn1cIjtcblx0fVxufTtcbmdldEhlYWRlclJhdGluZ0luZGljYXRvclRleHQucmVxdWlyZXNJQ29udGV4dCA9IHRydWU7XG5cbmNvbnN0IGJ1aWxkRXhwcmVzc2lvbkZvckRlc2NyaXB0aW9uID0gKGZpZWxkVmFsdWU6IGFueSk6IEV4cHJlc3Npb248YW55PiB8IHVuZGVmaW5lZCA9PiB7XG5cdGlmIChmaWVsZFZhbHVlPy4kdGFyZ2V0Py5hbm5vdGF0aW9ucz8uQ29tbW9uPy5UZXh0KSB7XG5cdFx0Y29uc3Qgb1RleHRFeHByZXNzaW9uID0gYW5ub3RhdGlvbkV4cHJlc3Npb24oZmllbGRWYWx1ZT8uJHRhcmdldD8uYW5ub3RhdGlvbnM/LkNvbW1vbj8uVGV4dCkgYXMgQmluZGluZ0V4cHJlc3Npb25FeHByZXNzaW9uPGFueT47XG5cdFx0b1RleHRFeHByZXNzaW9uLnBhcmFtZXRlcnMgPSB7IFwiJCRub1BhdGNoXCI6IHRydWUgfTtcblx0XHRyZXR1cm4gb1RleHRFeHByZXNzaW9uO1xuXHR9XG5cdHJldHVybiB1bmRlZmluZWQ7XG59O1xuXG5jb25zdCBnZXREZWNpbWFsRm9ybWF0ID0gKFxuXHRvdXRFeHByZXNzaW9uOiBCaW5kaW5nRXhwcmVzc2lvbjxhbnk+LFxuXHRmaWVsZFZhbHVlOiBhbnksXG5cdHNOdW1iZXJPZkZyYWN0aW9uYWxEaWdpdHM6IHN0cmluZ1xuKTogQmluZGluZ0V4cHJlc3Npb248YW55PiA9PiB7XG5cdGlmICghb3V0RXhwcmVzc2lvbi5jb25zdHJhaW50cykge1xuXHRcdG91dEV4cHJlc3Npb24uY29uc3RyYWludHMgPSB7fTtcblx0fVxuXHRvdXRFeHByZXNzaW9uLmNvbnN0cmFpbnRzID0gT2JqZWN0LmFzc2lnbihvdXRFeHByZXNzaW9uLmNvbnN0cmFpbnRzLCB7XG5cdFx0cHJlY2lzaW9uOiBmaWVsZFZhbHVlLiR0YXJnZXQucHJlY2lzaW9uLFxuXHRcdHNjYWxlOiBzTnVtYmVyT2ZGcmFjdGlvbmFsRGlnaXRzID8gc051bWJlck9mRnJhY3Rpb25hbERpZ2l0cyA6IGZpZWxkVmFsdWUuJHRhcmdldC5zY2FsZVxuXHR9KTtcblx0Ly8gc051bWJlck9mRnJhY3Rpb25hbERpZ2l0cyBpcyBvbmx5IGRlZmluZWQgaW4gZ2V0VmFsdWVGb3JtYXR0ZWQgd2hlbiBOdW1iZXJPZkZyYWN0aW9uYWxEaWdpdHMgaXMgZGVmaW5lZC4gSW4gdGhhdCBjYXNlLCB3ZSBuZWVkIHRvIGluc3RhbmNlIHRoZSBwcmVzZXJ2ZURlY2ltYWxzIHBhcmFtZXRlciBiZWNhdXNlIG9mIGEgY2hhbmdlIE1EQyBzaWRlXG5cdGlmIChzTnVtYmVyT2ZGcmFjdGlvbmFsRGlnaXRzKSB7XG5cdFx0aWYgKCFvdXRFeHByZXNzaW9uLmZvcm1hdE9wdGlvbnMpIHtcblx0XHRcdG91dEV4cHJlc3Npb24uZm9ybWF0T3B0aW9ucyA9IHt9O1xuXHRcdH1cblx0XHRvdXRFeHByZXNzaW9uLmZvcm1hdE9wdGlvbnMgPSBPYmplY3QuYXNzaWduKG91dEV4cHJlc3Npb24uZm9ybWF0T3B0aW9ucywge1xuXHRcdFx0cHJlc2VydmVEZWNpbWFsczogZmFsc2Vcblx0XHR9KTtcblx0fVxuXHRyZXR1cm4gb3V0RXhwcmVzc2lvbjtcbn07XG5cbmNvbnN0IGdldFZhbHVlRm9ybWF0dGVkID0gKFxuXHRvUHJvcGVydHlEYXRhTW9kZWxQYXRoOiBEYXRhTW9kZWxPYmplY3RQYXRoLFxuXHRmaWVsZFZhbHVlOiBhbnksXG5cdHNQcm9wZXJ0eVR5cGU6IHN0cmluZyxcblx0c051bWJlck9mRnJhY3Rpb25hbERpZ2l0czogc3RyaW5nXG4pOiBCaW5kaW5nRXhwcmVzc2lvbkV4cHJlc3Npb248c3RyaW5nPiA9PiB7XG5cdGxldCBvdXRFeHByZXNzaW9uOiBCaW5kaW5nRXhwcmVzc2lvbjxhbnk+O1xuXHRjb25zdCByZWxhdGl2ZUxvY2F0aW9uID1cblx0XHRmaWVsZFZhbHVlPy5wYXRoPy5pbmRleE9mKFwiL1wiKSA9PT0gLTFcblx0XHRcdD8gZ2V0UGF0aFJlbGF0aXZlTG9jYXRpb24ob1Byb3BlcnR5RGF0YU1vZGVsUGF0aC5jb250ZXh0TG9jYXRpb24sIG9Qcm9wZXJ0eURhdGFNb2RlbFBhdGgubmF2aWdhdGlvblByb3BlcnRpZXMpLm1hcChcblx0XHRcdFx0XHRucCA9PiBucC5uYW1lXG5cdFx0XHQgIClcblx0XHRcdDogW107XG5cdG91dEV4cHJlc3Npb24gPSBhbm5vdGF0aW9uRXhwcmVzc2lvbihmaWVsZFZhbHVlLCByZWxhdGl2ZUxvY2F0aW9uKTtcblx0Y29uc3Qgb1Byb3BlcnR5RGVmaW5pdGlvbiA9IG9Qcm9wZXJ0eURhdGFNb2RlbFBhdGgudGFyZ2V0T2JqZWN0IGFzIFByb3BlcnR5O1xuXHRpZiAoc1Byb3BlcnR5VHlwZSkge1xuXHRcdGZvcm1hdFdpdGhUeXBlSW5mb3JtYXRpb24ob1Byb3BlcnR5RGVmaW5pdGlvbiwgb3V0RXhwcmVzc2lvbik7XG5cdFx0b3V0RXhwcmVzc2lvbi50eXBlID0gRURNX1RZUEVfTUFQUElOR1tzUHJvcGVydHlUeXBlXT8udHlwZTtcblx0fVxuXHRzd2l0Y2ggKHNQcm9wZXJ0eVR5cGUpIHtcblx0XHRjYXNlIFwiRWRtLkRlY2ltYWxcIjpcblx0XHRcdC8vIGZvciB0aGUgbGlzdFJlcG9ydCwgdGhlIGRlY2ltYWwgZmllbGRzIGFyZSBmb3JtYXR0ZWQgYnkgcmV0dXJuaW5nIGEgc3RyaW5nXG5cdFx0XHQvLyBmb3IgdGhlIGZhY2V0cyBvZiB0aGUgT1AsIHRoZSBkZWNpbWFsIGZpZWxkcyBhcmUgZm9ybWF0dGVkIGJ5IHJldHVybmluZyBhIHByb21pc2UsIHNvIHdlIG1hbmFnZSBhbGwgdGhlIGNhc2VzXG5cdFx0XHRvdXRFeHByZXNzaW9uID0gZ2V0RGVjaW1hbEZvcm1hdChvdXRFeHByZXNzaW9uLCBmaWVsZFZhbHVlLCBzTnVtYmVyT2ZGcmFjdGlvbmFsRGlnaXRzKTtcblx0XHRcdGJyZWFrO1xuXHRcdGRlZmF1bHQ6XG5cdH1cblx0cmV0dXJuIG91dEV4cHJlc3Npb24gYXMgQmluZGluZ0V4cHJlc3Npb25FeHByZXNzaW9uPHN0cmluZz47XG59O1xuXG5leHBvcnQgY29uc3QgYnVpbGRGaWVsZEJpbmRpbmdFeHByZXNzaW9uID0gKFxuXHRvRGF0YU1vZGVsUGF0aDogRGF0YU1vZGVsT2JqZWN0UGF0aCxcblx0ZGF0YVBvaW50Rm9ybWF0T3B0aW9uczogRGF0YVBvaW50Rm9ybWF0T3B0aW9ucyxcblx0YkhpZGVNZWFzdXJlOiBib29sZWFuXG4pOiBCaW5kaW5nRXhwcmVzc2lvbjxzdHJpbmc+ID0+IHtcblx0Y29uc3Qgb0RhdGFQb2ludCA9IG9EYXRhTW9kZWxQYXRoLnRhcmdldE9iamVjdDtcblx0Y29uc3Qgb0RhdGFQb2ludFZhbHVlID0gb0RhdGFQb2ludD8uVmFsdWUgfHwgXCJcIjtcblx0Y29uc3Qgb0Rlc2NyaXB0aW9uID0gYnVpbGRFeHByZXNzaW9uRm9yRGVzY3JpcHRpb24ob0RhdGFQb2ludFZhbHVlKTtcblx0Y29uc3Qgc1Byb3BlcnR5VHlwZSA9IG9EYXRhUG9pbnRWYWx1ZT8uJHRhcmdldD8udHlwZTtcblx0bGV0IHNOdW1iZXJPZkZyYWN0aW9uYWxEaWdpdHM7XG5cblx0aWYgKHNQcm9wZXJ0eVR5cGUgPT09IFwiRWRtLkRlY2ltYWxcIiAmJiBvRGF0YVBvaW50LlZhbHVlRm9ybWF0KSB7XG5cdFx0aWYgKG9EYXRhUG9pbnQuVmFsdWVGb3JtYXQuTnVtYmVyT2ZGcmFjdGlvbmFsRGlnaXRzKSB7XG5cdFx0XHRzTnVtYmVyT2ZGcmFjdGlvbmFsRGlnaXRzID0gb0RhdGFQb2ludC5WYWx1ZUZvcm1hdC5OdW1iZXJPZkZyYWN0aW9uYWxEaWdpdHM7XG5cdFx0fVxuXHR9XG5cdGNvbnN0IG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGggPSBlbmhhbmNlRGF0YU1vZGVsUGF0aChvRGF0YU1vZGVsUGF0aCwgb0RhdGFQb2ludFZhbHVlLnBhdGgpO1xuXHRjb25zdCBvRm9ybWF0dGVkVmFsdWUgPSBnZXRWYWx1ZUZvcm1hdHRlZChvUHJvcGVydHlEYXRhTW9kZWxPYmplY3RQYXRoLCBvRGF0YVBvaW50VmFsdWUsIHNQcm9wZXJ0eVR5cGUsIHNOdW1iZXJPZkZyYWN0aW9uYWxEaWdpdHMpO1xuXHRjb25zdCBzRGlzcGxheU1vZGUgPSBvRGVzY3JpcHRpb25cblx0XHQ/IGRhdGFQb2ludEZvcm1hdE9wdGlvbnMuZGlzcGxheU1vZGUgfHwgZ2V0RGlzcGxheU1vZGUob0RhdGFQb2ludFZhbHVlLCBvUHJvcGVydHlEYXRhTW9kZWxPYmplY3RQYXRoKVxuXHRcdDogXCJWYWx1ZVwiO1xuXHRsZXQgb0JpbmRpbmdFeHByZXNzaW9uOiBhbnk7XG5cdHN3aXRjaCAoc0Rpc3BsYXlNb2RlKSB7XG5cdFx0Y2FzZSBcIkRlc2NyaXB0aW9uXCI6XG5cdFx0XHRvQmluZGluZ0V4cHJlc3Npb24gPSBvRGVzY3JpcHRpb247XG5cdFx0XHRicmVhaztcblx0XHRjYXNlIFwiVmFsdWVEZXNjcmlwdGlvblwiOlxuXHRcdFx0b0JpbmRpbmdFeHByZXNzaW9uID0gZm9ybWF0UmVzdWx0KFtvRm9ybWF0dGVkVmFsdWUsIG9EZXNjcmlwdGlvbl0sIHZhbHVlRm9ybWF0dGVycy5mb3JtYXRXaXRoQnJhY2tldHMpO1xuXHRcdFx0YnJlYWs7XG5cdFx0Y2FzZSBcIkRlc2NyaXB0aW9uVmFsdWVcIjpcblx0XHRcdG9CaW5kaW5nRXhwcmVzc2lvbiA9IGZvcm1hdFJlc3VsdChbb0Rlc2NyaXB0aW9uLCBvRm9ybWF0dGVkVmFsdWVdLCB2YWx1ZUZvcm1hdHRlcnMuZm9ybWF0V2l0aEJyYWNrZXRzKTtcblx0XHRcdGJyZWFrO1xuXHRcdGRlZmF1bHQ6XG5cdFx0XHRpZiAoXG5cdFx0XHRcdG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0Py5hbm5vdGF0aW9ucz8uTWVhc3VyZXM/LlVuaXQgfHxcblx0XHRcdFx0b1Byb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRPYmplY3Q/LmFubm90YXRpb25zPy5NZWFzdXJlcz8uSVNPQ3VycmVuY3lcblx0XHRcdCkge1xuXHRcdFx0XHRvQmluZGluZ0V4cHJlc3Npb24gPSBnZXRCaW5kaW5nV2l0aFVuaXRPckN1cnJlbmN5KG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGgsIG9Gb3JtYXR0ZWRWYWx1ZSk7XG5cdFx0XHRcdGlmIChvQmluZGluZ0V4cHJlc3Npb24gJiYgKGJIaWRlTWVhc3VyZSB8fCBkYXRhUG9pbnRGb3JtYXRPcHRpb25zPy5tZWFzdXJlRGlzcGxheU1vZGUgPT09IFwiSGlkZGVuXCIpKSB7XG5cdFx0XHRcdFx0KG9CaW5kaW5nRXhwcmVzc2lvbiBhcyBDb21wbGV4VHlwZUV4cHJlc3Npb248U3RyaW5nPikuZm9ybWF0T3B0aW9ucyA9IHtcblx0XHRcdFx0XHRcdC4uLihvQmluZGluZ0V4cHJlc3Npb24gYXMgQ29tcGxleFR5cGVFeHByZXNzaW9uPFN0cmluZz4pLmZvcm1hdE9wdGlvbnMsXG5cdFx0XHRcdFx0XHRzaG93TWVhc3VyZTogZmFsc2Vcblx0XHRcdFx0XHR9O1xuXHRcdFx0XHR9XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRvQmluZGluZ0V4cHJlc3Npb24gPSBvRm9ybWF0dGVkVmFsdWU7XG5cdFx0XHR9XG5cdH1cblxuXHRyZXR1cm4gY29tcGlsZUJpbmRpbmcob0JpbmRpbmdFeHByZXNzaW9uKTtcbn07XG5cbi8qKlxuICogTWV0aG9kIHRvIGNhbGN1bGF0ZSB0aGUgcGVyY2VudGFnZSB2YWx1ZSBvZiBQcm9ncmVzcyBJbmRpY2F0b3IuIEJhc2ljIGZvcm11bGEgaXMgVmFsdWUvVGFyZ2V0ICogMTAwLlxuICpcbiAqIEBwYXJhbSB7Kn0gb1Byb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aFxuICogQHJldHVybnMge0JpbmRpbmd9IFRoZSBleHByZXNzaW9uIGJpbmRpbmcgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHBlcmNlbnRhZ2UgdmFsdWUsIHdoaWNoIGlzIHNob3duIGluIHRoZSBwcm9ncmVzcyBpbmRpY2F0b3IgYmFzZWQgb24gdGhlIGZvcm11bGEgZ2l2ZW4gYWJvdmUuXG4gKi9cbmV4cG9ydCBjb25zdCBidWlsZEV4cHJlc3Npb25Gb3JQcm9ncmVzc0luZGljYXRvclBlcmNlbnRWYWx1ZSA9IChvUHJvcGVydHlEYXRhTW9kZWxPYmplY3RQYXRoOiBEYXRhTW9kZWxPYmplY3RQYXRoKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcblx0Y29uc3QgZmllbGRWYWx1ZSA9IG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGg/LnRhcmdldE9iamVjdD8uVmFsdWUgfHwgXCJcIjtcblx0Y29uc3QgcmVsYXRpdmVMb2NhdGlvbiA9IGdldFBhdGhSZWxhdGl2ZUxvY2F0aW9uKFxuXHRcdG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGguY29udGV4dExvY2F0aW9uLFxuXHRcdG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGgubmF2aWdhdGlvblByb3BlcnRpZXNcblx0KS5tYXAobnAgPT4gbnAubmFtZSk7XG5cdGNvbnN0IGZpZWxkVmFsdWVFeHByZXNzaW9uID0gYW5ub3RhdGlvbkV4cHJlc3Npb24oZmllbGRWYWx1ZSwgcmVsYXRpdmVMb2NhdGlvbik7XG5cdGNvbnN0IFRhcmdldEV4cHJlc3Npb24gPSBnZXREYXRhUG9pbnRUYXJnZXRFeHByZXNzaW9uKG9Qcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0KTtcblxuXHRjb25zdCBvUHJvcGVydHlEZWZpbml0aW9uID0gZmllbGRWYWx1ZS4kdGFyZ2V0IGFzIFByb3BlcnR5O1xuXHRjb25zdCB1bml0ID0gb1Byb3BlcnR5RGVmaW5pdGlvbi5hbm5vdGF0aW9ucz8uTWVhc3VyZXM/LlVuaXQgfHwgb1Byb3BlcnR5RGVmaW5pdGlvbi5hbm5vdGF0aW9ucz8uTWVhc3VyZXM/LklTT0N1cnJlbmN5O1xuXHRpZiAodW5pdCkge1xuXHRcdGNvbnN0IHVuaXRCaW5kaW5nRXhwcmVzc2lvbiA9ICh1bml0IGFzIGFueSkuJHRhcmdldFxuXHRcdFx0PyBmb3JtYXRXaXRoVHlwZUluZm9ybWF0aW9uKCh1bml0IGFzIGFueSkuJHRhcmdldCwgYW5ub3RhdGlvbkV4cHJlc3Npb24odW5pdCwgcmVsYXRpdmVMb2NhdGlvbikgYXMgRXhwcmVzc2lvbjxzdHJpbmc+KVxuXHRcdFx0OiAoYW5ub3RhdGlvbkV4cHJlc3Npb24odW5pdCwgcmVsYXRpdmVMb2NhdGlvbikgYXMgRXhwcmVzc2lvbjxzdHJpbmc+KTtcblxuXHRcdHJldHVybiBjb21waWxlQmluZGluZyhcblx0XHRcdGZvcm1hdFJlc3VsdChbZmllbGRWYWx1ZUV4cHJlc3Npb24sIFRhcmdldEV4cHJlc3Npb24sIHVuaXRCaW5kaW5nRXhwcmVzc2lvbl0sIHZhbHVlRm9ybWF0dGVycy5jb21wdXRlUGVyY2VudGFnZSlcblx0XHQpO1xuXHR9XG5cblx0cmV0dXJuIGNvbXBpbGVCaW5kaW5nKGZvcm1hdFJlc3VsdChbZmllbGRWYWx1ZUV4cHJlc3Npb24sIFRhcmdldEV4cHJlc3Npb24sIFwiXCJdLCB2YWx1ZUZvcm1hdHRlcnMuY29tcHV0ZVBlcmNlbnRhZ2UpKTtcbn07XG4iXX0=
@@ -2,4 +2,4 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * (c) Copyright 2009-2021 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/fe/core/formatters/ValueFormatter","sap/fe/core/templating/UIFormatters","sap/fe/core/templating/DataModelPathHelper","sap/fe/core/helpers/BindingExpression","sap/fe/core/templating/PropertyHelper","sap/ui/model/odata/v4/AnnotationHelper","sap/fe/macros/field/FieldTemplating"],function(v,U,D,B,P,A,F){"use strict";var _={};var a=F.isUsedInNavigationWithQuickViewFacets;var b=P.isProperty;var g=P.getAssociatedUnitPropertyPath;var u=B.unresolveableExpression;var c=B.compileBinding;var f=B.formatResult;var d=B.annotationExpression;var e=D.getPathRelativeLocation;var h=D.enhanceDataModelPath;var j=U.formatWithTypeInformation;var k=U.getBindingWithUnitOrCurrency;var E=U.EDM_TYPE_MAPPING;var l=U.getDisplayMode;function o(i,I){var J=Object.keys(i);if(Object.getOwnPropertySymbols){var K=Object.getOwnPropertySymbols(i);if(I){K=K.filter(function(L){return Object.getOwnPropertyDescriptor(i,L).enumerable;});}J.push.apply(J,K);}return J;}function m(I){for(var i=1;i<arguments.length;i++){var J=arguments[i]!=null?arguments[i]:{};if(i%2){o(Object(J),true).forEach(function(K){n(I,K,J[K]);});}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(I,Object.getOwnPropertyDescriptors(J));}else{o(Object(J)).forEach(function(K){Object.defineProperty(I,K,Object.getOwnPropertyDescriptor(J,K));});}}return I;}function n(i,I,J){if(I in i){Object.defineProperty(i,I,{value:J,enumerable:true,configurable:true,writable:true});}else{i[I]=J;}return i;}var p=function(i){return i!==null&&i!==void 0&&i.TargetValue?d(i.TargetValue):u;};var r=sap.ui.getCore().getLibraryResourceBundle("sap.fe.macros");var q=function(i,I){var J,K;var L=i===null||i===void 0?void 0:i.targetObject;if(L.Visualization==="UI.VisualizationType/Progress"){return"Progress";}if(L.Visualization==="UI.VisualizationType/Rating"){return"Rating";}var M=i===null||i===void 0?void 0:(J=i.targetObject)===null||J===void 0?void 0:(K=J.Value)===null||K===void 0?void 0:K.$target;if(M){var N,O;if(a(i,M)){return"LinkWithQuickViewForm";}if((N=M.annotations)!==null&&N!==void 0&&(O=N.Common)!==null&&O!==void 0&&O.SemanticObject){return"LinkWrapper";}}return I;};_.getVisualization=q;var s=function(i){var I;var J=(i===null||i===void 0?void 0:(I=i.targetObject)===null||I===void 0?void 0:I.Value)||"";var K=e(i.contextLocation,i.navigationProperties).map(function(np){return np.name;});var L=d(J,K);var T=p(i.targetObject);if(L&&T){var M,N,O,Q;var R=i.targetObject.Value;if(!b(R)){R=i.targetObject.Value.$target;}var S=((M=R.annotations)===null||M===void 0?void 0:(N=M.Measures)===null||N===void 0?void 0:N.Unit)||((O=R.annotations)===null||O===void 0?void 0:(Q=O.Measures)===null||Q===void 0?void 0:Q.ISOCurrency);if(!S){return r.getText("T_COMMON_PROGRESS_INDICATOR_DISPLAY_VALUE_NO_UOM",[c(L),c(T)]);}if(!g(J===null||J===void 0?void 0:J.$target)){var V,W,X,Y;var Z=(V=J.$target)===null||V===void 0?void 0:(W=V.annotations)===null||W===void 0?void 0:(X=W.Measures)===null||X===void 0?void 0:(Y=X.Unit)===null||Y===void 0?void 0:Y.charAt(0);if(Z==="%"){return c(L)+" %";}}L=j(R,L);var $=S.$target?j(S.$target,d(S,K)):d(S,K);return c(f([L,T,$],v.formatProgressIndicatorText));}return undefined;};_.buildExpressionForProgressIndicatorDisplayValue=s;var t=function(i,S){if(S){return w(A.value(S,{context:i}));}};var w=function(S){if(S){var i=S>1?r.getText("T_ANNOTATION_HELPER_RATING_INDICATOR_SUBTITLE_LABEL_PLURAL"):r.getText("T_ANNOTATION_HELPER_RATING_INDICATOR_SUBTITLE_LABEL");return r.getText("T_ANNOTATION_HELPER_RATING_INDICATOR_SUBTITLE",[String(S),i]);}};var x=function(i,I){if(I&&I.SampleSize){return t(i,I.SampleSize);}else if(I&&I.Description){var M=A.value(I.Description,{context:i});return"${path:"+M+"}";}};x.requiresIContext=true;_.getHeaderRatingIndicatorText=x;var y=function(i){var I,J,K;if(i!==null&&i!==void 0&&(I=i.$target)!==null&&I!==void 0&&(J=I.annotations)!==null&&J!==void 0&&(K=J.Common)!==null&&K!==void 0&&K.Text){var L,M,N;var T=d(i===null||i===void 0?void 0:(L=i.$target)===null||L===void 0?void 0:(M=L.annotations)===null||M===void 0?void 0:(N=M.Common)===null||N===void 0?void 0:N.Text);T.parameters={"$$noPatch":true};return T;}return undefined;};var z=function(i,I,N){if(!i.constraints){i.constraints={};}i.constraints=Object.assign(i.constraints,{precision:I.$target.precision,scale:N?N:I.$target.scale});return i;};var C=function(i,I,J,N){var K;var L;var M=(I===null||I===void 0?void 0:(K=I.path)===null||K===void 0?void 0:K.indexOf("/"))===-1?e(i.contextLocation,i.navigationProperties).map(function(R){return R.name;}):[];L=d(I,M);var O=i.targetObject;if(J){var Q;j(O,L);L.type=(Q=E[J])===null||Q===void 0?void 0:Q.type;}switch(J){case"Edm.Decimal":L=z(L,I,N);break;default:}return L;};var G=function(i,I,J){var K,L,M,N,O,Q,R;var S=i.targetObject;var T=(S===null||S===void 0?void 0:S.Value)||"";var V=y(T);var W=T===null||T===void 0?void 0:(K=T.$target)===null||K===void 0?void 0:K.type;var X;if(W==="Edm.Decimal"&&S.ValueFormat){if(S.ValueFormat.NumberOfFractionalDigits){X=S.ValueFormat.NumberOfFractionalDigits;}}var Y=h(i,T.path);var Z=C(Y,T,W,X);var $=V?I.displayMode||l(T,Y):"Value";var a1;switch($){case"Description":a1=V;break;case"ValueDescription":a1=f([Z,V],v.formatWithBrackets);break;case"DescriptionValue":a1=f([V,Z],v.formatWithBrackets);break;default:if((L=Y.targetObject)!==null&&L!==void 0&&(M=L.annotations)!==null&&M!==void 0&&(N=M.Measures)!==null&&N!==void 0&&N.Unit||(O=Y.targetObject)!==null&&O!==void 0&&(Q=O.annotations)!==null&&Q!==void 0&&(R=Q.Measures)!==null&&R!==void 0&&R.ISOCurrency){a1=k(Y,Z);if(a1&&(J||(I===null||I===void 0?void 0:I.measureDisplayMode)==="Hidden")){a1.formatOptions=m(m({},a1.formatOptions),{},{showMeasure:false});}}else{a1=Z;}}return c(a1);};_.buildFieldBindingExpression=G;var H=function(i){var I,J,K,L,M;var N=(i===null||i===void 0?void 0:(I=i.targetObject)===null||I===void 0?void 0:I.Value)||"";var O=e(i.contextLocation,i.navigationProperties).map(function(W){return W.name;});var Q=d(N,O);var T=p(i.targetObject);var R=N.$target;var S=((J=R.annotations)===null||J===void 0?void 0:(K=J.Measures)===null||K===void 0?void 0:K.Unit)||((L=R.annotations)===null||L===void 0?void 0:(M=L.Measures)===null||M===void 0?void 0:M.ISOCurrency);if(S){var V=S.$target?j(S.$target,d(S,O)):d(S,O);return c(f([Q,T,V],v.computePercentage));}return c(f([Q,T,""],v.computePercentage));};_.buildExpressionForProgressIndicatorPercentValue=H;return _;},false);
5
+ sap.ui.define(["sap/fe/core/formatters/ValueFormatter","sap/fe/core/templating/UIFormatters","sap/fe/core/templating/DataModelPathHelper","sap/fe/core/helpers/BindingExpression","sap/fe/core/templating/PropertyHelper","sap/ui/model/odata/v4/AnnotationHelper","sap/fe/macros/field/FieldTemplating"],function(v,U,D,B,P,A,F){"use strict";var _={};var a=F.isUsedInNavigationWithQuickViewFacets;var b=P.isProperty;var g=P.getAssociatedUnitPropertyPath;var u=B.unresolveableExpression;var c=B.compileBinding;var f=B.formatResult;var d=B.annotationExpression;var e=D.getPathRelativeLocation;var h=D.enhanceDataModelPath;var j=U.formatWithTypeInformation;var k=U.getBindingWithUnitOrCurrency;var E=U.EDM_TYPE_MAPPING;var l=U.getDisplayMode;function o(i,J){var K=Object.keys(i);if(Object.getOwnPropertySymbols){var L=Object.getOwnPropertySymbols(i);if(J){L=L.filter(function(M){return Object.getOwnPropertyDescriptor(i,M).enumerable;});}K.push.apply(K,L);}return K;}function m(J){for(var i=1;i<arguments.length;i++){var K=arguments[i]!=null?arguments[i]:{};if(i%2){o(Object(K),true).forEach(function(L){n(J,L,K[L]);});}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(J,Object.getOwnPropertyDescriptors(K));}else{o(Object(K)).forEach(function(L){Object.defineProperty(J,L,Object.getOwnPropertyDescriptor(K,L));});}}return J;}function n(i,J,K){if(J in i){Object.defineProperty(i,J,{value:K,enumerable:true,configurable:true,writable:true});}else{i[J]=K;}return i;}var p=function(i){return i!==null&&i!==void 0&&i.TargetValue?d(i.TargetValue):u;};var r=sap.ui.getCore().getLibraryResourceBundle("sap.fe.macros");var q=function(i,J){var K,L;var M=i===null||i===void 0?void 0:i.targetObject;if(M.Visualization==="UI.VisualizationType/Progress"){return"Progress";}if(M.Visualization==="UI.VisualizationType/Rating"){return"Rating";}var N=i===null||i===void 0?void 0:(K=i.targetObject)===null||K===void 0?void 0:(L=K.Value)===null||L===void 0?void 0:L.$target;if(N){var O,Q;if(a(i,N)){return"LinkWithQuickViewForm";}if((O=N.annotations)!==null&&O!==void 0&&(Q=O.Common)!==null&&Q!==void 0&&Q.SemanticObject){return"LinkWrapper";}}return J;};_.getVisualization=q;var s=function(i){var J;var K=(i===null||i===void 0?void 0:(J=i.targetObject)===null||J===void 0?void 0:J.Value)||"";var L=e(i.contextLocation,i.navigationProperties).map(function(np){return np.name;});var M=d(K,L);var T=p(i.targetObject);if(M&&T){var N,O,Q,R;var S=i.targetObject.Value;if(!b(S)){S=i.targetObject.Value.$target;}var V=((N=S.annotations)===null||N===void 0?void 0:(O=N.Measures)===null||O===void 0?void 0:O.Unit)||((Q=S.annotations)===null||Q===void 0?void 0:(R=Q.Measures)===null||R===void 0?void 0:R.ISOCurrency);if(!V){return r.getText("T_COMMON_PROGRESS_INDICATOR_DISPLAY_VALUE_NO_UOM",[c(M),c(T)]);}if(!g(K===null||K===void 0?void 0:K.$target)){var W,X,Y,Z;var $=(W=K.$target)===null||W===void 0?void 0:(X=W.annotations)===null||X===void 0?void 0:(Y=X.Measures)===null||Y===void 0?void 0:(Z=Y.Unit)===null||Z===void 0?void 0:Z.charAt(0);if($==="%"){return c(M)+" %";}}M=j(S,M);var a1=V.$target?j(V.$target,d(V,L)):d(V,L);return c(f([M,T,a1],v.formatProgressIndicatorText));}return undefined;};_.buildExpressionForProgressIndicatorDisplayValue=s;var t=function(i){var J,K,L,M,N,O;var Q=e(i.contextLocation,i.navigationProperties).map(function(T){return T.name;});var R=i===null||i===void 0?void 0:(J=i.targetObject)===null||J===void 0?void 0:(K=J.Value)===null||K===void 0?void 0:K.$target;if(!b(R)){return"";}var S=((L=R.annotations)===null||L===void 0?void 0:(M=L.Measures)===null||M===void 0?void 0:M.Unit)||((N=R.annotations)===null||N===void 0?void 0:(O=N.Measures)===null||O===void 0?void 0:O.ISOCurrency);return S?c(d(S,Q)):"";};_.buildUnitBindingExpression=t;var w=function(i,S){if(S){return x(A.value(S,{context:i}));}};var x=function(S){if(S){var i=S>1?r.getText("T_ANNOTATION_HELPER_RATING_INDICATOR_SUBTITLE_LABEL_PLURAL"):r.getText("T_ANNOTATION_HELPER_RATING_INDICATOR_SUBTITLE_LABEL");return r.getText("T_ANNOTATION_HELPER_RATING_INDICATOR_SUBTITLE",[String(S),i]);}};var y=function(i,J){if(J&&J.SampleSize){return w(i,J.SampleSize);}else if(J&&J.Description){var M=A.value(J.Description,{context:i});return"${path:"+M+"}";}};y.requiresIContext=true;_.getHeaderRatingIndicatorText=y;var z=function(i){var J,K,L;if(i!==null&&i!==void 0&&(J=i.$target)!==null&&J!==void 0&&(K=J.annotations)!==null&&K!==void 0&&(L=K.Common)!==null&&L!==void 0&&L.Text){var M,N,O;var T=d(i===null||i===void 0?void 0:(M=i.$target)===null||M===void 0?void 0:(N=M.annotations)===null||N===void 0?void 0:(O=N.Common)===null||O===void 0?void 0:O.Text);T.parameters={"$$noPatch":true};return T;}return undefined;};var C=function(i,J,N){if(!i.constraints){i.constraints={};}i.constraints=Object.assign(i.constraints,{precision:J.$target.precision,scale:N?N:J.$target.scale});if(N){if(!i.formatOptions){i.formatOptions={};}i.formatOptions=Object.assign(i.formatOptions,{preserveDecimals:false});}return i;};var G=function(i,J,K,N){var L;var M;var O=(J===null||J===void 0?void 0:(L=J.path)===null||L===void 0?void 0:L.indexOf("/"))===-1?e(i.contextLocation,i.navigationProperties).map(function(S){return S.name;}):[];M=d(J,O);var Q=i.targetObject;if(K){var R;j(Q,M);M.type=(R=E[K])===null||R===void 0?void 0:R.type;}switch(K){case"Edm.Decimal":M=C(M,J,N);break;default:}return M;};var H=function(i,J,K){var L,M,N,O,Q,R,S;var T=i.targetObject;var V=(T===null||T===void 0?void 0:T.Value)||"";var W=z(V);var X=V===null||V===void 0?void 0:(L=V.$target)===null||L===void 0?void 0:L.type;var Y;if(X==="Edm.Decimal"&&T.ValueFormat){if(T.ValueFormat.NumberOfFractionalDigits){Y=T.ValueFormat.NumberOfFractionalDigits;}}var Z=h(i,V.path);var $=G(Z,V,X,Y);var a1=W?J.displayMode||l(V,Z):"Value";var b1;switch(a1){case"Description":b1=W;break;case"ValueDescription":b1=f([$,W],v.formatWithBrackets);break;case"DescriptionValue":b1=f([W,$],v.formatWithBrackets);break;default:if((M=Z.targetObject)!==null&&M!==void 0&&(N=M.annotations)!==null&&N!==void 0&&(O=N.Measures)!==null&&O!==void 0&&O.Unit||(Q=Z.targetObject)!==null&&Q!==void 0&&(R=Q.annotations)!==null&&R!==void 0&&(S=R.Measures)!==null&&S!==void 0&&S.ISOCurrency){b1=k(Z,$);if(b1&&(K||(J===null||J===void 0?void 0:J.measureDisplayMode)==="Hidden")){b1.formatOptions=m(m({},b1.formatOptions),{},{showMeasure:false});}}else{b1=$;}}return c(b1);};_.buildFieldBindingExpression=H;var I=function(i){var J,K,L,M,N;var O=(i===null||i===void 0?void 0:(J=i.targetObject)===null||J===void 0?void 0:J.Value)||"";var Q=e(i.contextLocation,i.navigationProperties).map(function(X){return X.name;});var R=d(O,Q);var T=p(i.targetObject);var S=O.$target;var V=((K=S.annotations)===null||K===void 0?void 0:(L=K.Measures)===null||L===void 0?void 0:L.Unit)||((M=S.annotations)===null||M===void 0?void 0:(N=M.Measures)===null||N===void 0?void 0:N.ISOCurrency);if(V){var W=V.$target?j(V.$target,d(V,Q)):d(V,Q);return c(f([R,T,W],v.computePercentage));}return c(f([R,T,""],v.computePercentage));};_.buildExpressionForProgressIndicatorPercentValue=I;return _;},false);
@@ -101,6 +101,17 @@ export const buildExpressionForProgressIndicatorDisplayValue = (
101
101
  return undefined;
102
102
  };
103
103
 
104
+ export const buildUnitBindingExpression = (dataPoint: DataModelObjectPath): BindingExpression<string> => {
105
+ const relativeLocation = getPathRelativeLocation(dataPoint.contextLocation, dataPoint.navigationProperties).map(np => np.name);
106
+
107
+ const targetObject = dataPoint?.targetObject?.Value?.$target;
108
+ if (!isProperty(targetObject)) {
109
+ return "";
110
+ }
111
+ const unit = targetObject.annotations?.Measures?.Unit || targetObject.annotations?.Measures?.ISOCurrency;
112
+ return unit ? compileBinding(annotationExpression(unit, relativeLocation)) : "";
113
+ };
114
+
104
115
  const buildRatingIndicatorSubtitleExpression = (oContext: any, mSampleSize: any): string | undefined => {
105
116
  if (mSampleSize) {
106
117
  return formatRatingIndicatorSubTitle(AnnotationHelper.value(mSampleSize, { context: oContext }) as any);
@@ -156,6 +167,15 @@ const getDecimalFormat = (
156
167
  precision: fieldValue.$target.precision,
157
168
  scale: sNumberOfFractionalDigits ? sNumberOfFractionalDigits : fieldValue.$target.scale
158
169
  });
170
+ // sNumberOfFractionalDigits is only defined in getValueFormatted when NumberOfFractionalDigits is defined. In that case, we need to instance the preserveDecimals parameter because of a change MDC side
171
+ if (sNumberOfFractionalDigits) {
172
+ if (!outExpression.formatOptions) {
173
+ outExpression.formatOptions = {};
174
+ }
175
+ outExpression.formatOptions = Object.assign(outExpression.formatOptions, {
176
+ preserveDecimals: false
177
+ });
178
+ }
159
179
  return outExpression;
160
180
  };
161
181
 
@@ -161,7 +161,7 @@ sap.ui.define(["sap/fe/macros/ResourceModel", "sap/m/Button", "sap/m/CustomListI
161
161
  }
162
162
  };
163
163
 
164
- if (situationKey) {
164
+ if (situationKey && oShellServices.crossAppNavService) {
165
165
  oShellServices.crossAppNavService.toExternal(oArgs);
166
166
  }
167
167
  }
@@ -200,4 +200,4 @@ sap.ui.define(["sap/fe/macros/ResourceModel", "sap/m/Button", "sap/m/CustomListI
200
200
  showPopover.__functionName = "rt.showPopover";
201
201
  return _exports;
202
202
  }, false);
203
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlJ1bnRpbWUudHMiXSwibmFtZXMiOlsiZ2V0TXVsdGlwbGVTaXR1YXRpb25zUG9wb3ZlciIsImV2ZW50IiwiY29udHJvbGxlciIsInNvdXJjZSIsImdldFNvdXJjZSIsImRldGFpbHNQb3BvdmVyIiwicG9wb3ZlciIsIlJlc3BvbnNpdmVQb3BvdmVyIiwic2hvd0hlYWRlciIsImNvbnRlbnRXaWR0aCIsInBsYWNlbWVudCIsImNvbnRlbnQiLCJMaXN0IiwiaXRlbXMiLCJwYXRoIiwidGVtcGxhdGUiLCJDdXN0b21MaXN0SXRlbSIsInR5cGUiLCJwcmVzcyIsInByZXNzZWRJdGVtIiwiY3JlYXRlUHJldmlld1BvcG92ZXIiLCJjbG9zZSIsIm9wZW5CeSIsInNldEJ1c3kiLCJiaW5kRWxlbWVudCIsImdldEJpbmRpbmdDb250ZXh0UGF0aCIsInBhcmFtZXRlcnMiLCIkZXhwYW5kIiwiZXZlbnRzIiwiZGF0YVJlY2VpdmVkIiwiZ2V0VmlldyIsImFkZERlcGVuZGVudCIsIkhCb3giLCJPYmplY3RTdGF0dXMiLCJpY29uIiwic3RhdGUiLCJ0b29sdGlwIiwiUmVzb3VyY2VNb2RlbCIsImdldFRleHQiLCJhZGRTdHlsZUNsYXNzIiwiT2JqZWN0SWRlbnRpZmllciIsInRpdGxlIiwicGFydHMiLCJmb3JtYXR0ZXIiLCJmb3JtYXR0ZXJzIiwic2l0dWF0aW9uVGV4dCIsInRleHQiLCJjb25zdHJhaW50cyIsInByZWNpc2lvbiIsImZvcm1hdE9wdGlvbnMiLCJyZWxhdGl2ZSIsInRlbXBsYXRlU2hhcmVhYmxlIiwic2hvd05vRGF0YSIsImJhY2siLCJwYXRoUHJlZml4Iiwib1NoZWxsU2VydmljZXMiLCJDb21tb25VdGlscyIsImdldFNoZWxsU2VydmljZXMiLCJ0b29sYmFyIiwiVG9vbGJhciIsImFkZENvbnRlbnQiLCJCdXR0b24iLCJ0aXRsZUFjdGl2ZSIsInZhbHVlIiwiY3VzdG9tSGVhZGVyIiwiTGFiZWwiLCJUZXh0IiwiZW5kQnV0dG9uIiwic2l0dWF0aW9uS2V5IiwiZ2V0QmluZGluZ0NvbnRleHQiLCJnZXRPYmplY3QiLCJvQXJncyIsImFwcFN0YXRla2V5IiwicGFyYW1zIiwidGFyZ2V0IiwiYWN0aW9uIiwic2VtYW50aWNPYmplY3QiLCJjcm9zc0FwcE5hdlNlcnZpY2UiLCJ0b0V4dGVybmFsIiwiZ2V0U2luZ2xlU2l0dWF0aW9uUG9wb3ZlciIsInNob3dQb3BvdmVyIiwic2l0dWF0aW9uc05hdmlnYXRpb25Qcm9wZXJ0eSIsInNpdHVhdGlvbkluZGljYXRvciIsImJpbmRpbmdDb250ZXh0IiwibnVtYmVyT2ZTaXR1YXRpb25zIiwiZ2V0UGF0aCIsIl9fZnVuY3Rpb25OYW1lIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7Ozs7QUFhQSxXQUFTQSw0QkFBVCxDQUFzQ0MsS0FBdEMsRUFBdURDLFVBQXZELEVBQStFO0FBQzlFLFFBQU1DLE1BQU0sR0FBR0YsS0FBSyxDQUFDRyxTQUFOLEVBQWY7QUFFQSxRQUFJQyxjQUFKO0FBRUEsUUFBTUMsT0FBMEIsR0FBRyxJQUFJQyxpQkFBSixDQUFzQjtBQUN4REMsTUFBQUEsVUFBVSxFQUFFLEtBRDRDO0FBRXhEQyxNQUFBQSxZQUFZLEVBQUUsTUFGMEM7QUFHeERDLE1BQUFBLFNBQVMsRUFBRSxZQUg2QztBQUl4REMsTUFBQUEsT0FBTyxFQUFFLENBQ1IsSUFBSUMsSUFBSixDQUFTO0FBQ1JDLFFBQUFBLEtBQUssRUFBRTtBQUNOQyxVQUFBQSxJQUFJLEVBQUUsV0FEQTtBQUVOQyxVQUFBQSxRQUFRLEVBQUUsSUFBSUMsY0FBSixDQUFtQjtBQUM1QkMsWUFBQUEsSUFBSSxFQUFFLFlBRHNCO0FBRzVCQyxZQUFBQSxLQUg0QixZQUd0QmpCLEtBSHNCLEVBR0w7QUFDdEIsa0JBQU1rQixXQUFXLEdBQUdsQixLQUFLLENBQUNHLFNBQU4sRUFBcEIsQ0FEc0IsQ0FHdEI7O0FBQ0Esa0JBQUksQ0FBQ0MsY0FBTCxFQUFxQjtBQUNwQkEsZ0JBQUFBLGNBQWMsR0FBR2Usb0JBQW9CLENBQUNsQixVQUFELEVBQWEsWUFBTTtBQUFBOztBQUN2RCxxQ0FBQUcsY0FBYyxVQUFkLDBEQUFnQmdCLEtBQWhCO0FBQ0FmLGtCQUFBQSxPQUFPLENBQUNnQixNQUFSLENBQWVuQixNQUFmO0FBQ0EsaUJBSG9DLENBQXJDO0FBSUE7O0FBRURnQixjQUFBQSxXQUFXLENBQUNJLE9BQVosQ0FBb0IsSUFBcEIsRUFYc0IsQ0FhdEI7O0FBQ0FsQixjQUFBQSxjQUFjLENBQUNtQixXQUFmLENBQTJCO0FBQzFCVixnQkFBQUEsSUFBSSxFQUFFYixLQUFLLENBQUNHLFNBQU4sR0FBa0JxQixxQkFBbEIsRUFEb0I7QUFFMUJDLGdCQUFBQSxVQUFVLEVBQUU7QUFBRUMsa0JBQUFBLE9BQU8sRUFBRTtBQUFYLGlCQUZjO0FBRzFCQyxnQkFBQUEsTUFBTSxFQUFFO0FBQ1BDLGtCQUFBQSxZQURPLGNBQ1E7QUFBQTs7QUFDZFYsb0JBQUFBLFdBQVcsQ0FBQ0ksT0FBWixDQUFvQixLQUFwQjtBQUNBakIsb0JBQUFBLE9BQU8sQ0FBQ2UsS0FBUjtBQUNBLHdDQUFBaEIsY0FBYyxVQUFkLDREQUFnQmlCLE1BQWhCLENBQXVCbkIsTUFBdkI7QUFDQTtBQUxNO0FBSGtCLGVBQTNCO0FBV0FELGNBQUFBLFVBQVUsQ0FBQzRCLE9BQVgsR0FBcUJDLFlBQXJCLENBQWtDMUIsY0FBbEM7QUFDQSxhQTdCMkI7QUErQjVCTSxZQUFBQSxPQUFPLEVBQUUsQ0FDUixJQUFJcUIsSUFBSixDQUFTO0FBQ1JuQixjQUFBQSxLQUFLLEVBQUUsQ0FDTixJQUFJb0IsWUFBSixDQUFpQjtBQUNoQkMsZ0JBQUFBLElBQUksRUFBRSxrQkFEVTtBQUVoQkMsZ0JBQUFBLEtBQUssRUFBRSxTQUZTO0FBR2hCQyxnQkFBQUEsT0FBTyxFQUFFQyxhQUFhLENBQUNDLE9BQWQsQ0FBc0IsV0FBdEI7QUFITyxlQUFqQixFQUlHQyxhQUpILENBSWlCLG9CQUpqQixDQURNLEVBTU4sSUFBSUMsZ0JBQUosQ0FBcUI7QUFDcEJDLGdCQUFBQSxLQUFLLEVBQUU7QUFDTkMsa0JBQUFBLEtBQUssRUFBRSxDQUFDO0FBQUU1QixvQkFBQUEsSUFBSSxFQUFFO0FBQVIsbUJBQUQsRUFBNEI7QUFBRUEsb0JBQUFBLElBQUksRUFBRTtBQUFSLG1CQUE1QixDQUREO0FBRU42QixrQkFBQUEsU0FBUyxFQUFFQyxVQUFVLENBQUNDO0FBRmhCLGlCQURhO0FBS3BCQyxnQkFBQUEsSUFBSSxFQUFFO0FBQ0xoQyxrQkFBQUEsSUFBSSxFQUFFLDhCQUREO0FBRUxHLGtCQUFBQSxJQUFJLEVBQUUsd0NBRkQ7QUFHTDhCLGtCQUFBQSxXQUFXLEVBQUU7QUFBRUMsb0JBQUFBLFNBQVMsRUFBRTtBQUFiLG1CQUhSO0FBSUxDLGtCQUFBQSxhQUFhLEVBQUU7QUFBRUMsb0JBQUFBLFFBQVEsRUFBRTtBQUFaO0FBSlY7QUFMYyxlQUFyQixDQU5NO0FBREMsYUFBVCxFQXFCRVgsYUFyQkYsQ0FxQmdCLDBCQXJCaEIsRUFzQkVBLGFBdEJGLENBc0JnQiwyQkF0QmhCLENBRFE7QUEvQm1CLFdBQW5CLENBRko7QUEyRE5ZLFVBQUFBLGlCQUFpQixFQUFFO0FBM0RiLFNBREM7QUE4RFJDLFFBQUFBLFVBQVUsRUFBRTtBQTlESixPQUFULENBRFE7QUFKK0MsS0FBdEIsQ0FBbkM7QUF3RUEsV0FBTzlDLE9BQVA7QUFDQTs7QUFFRCxXQUFTYyxvQkFBVCxDQUE4QmxCLFVBQTlCLEVBQXNEbUQsSUFBdEQsRUFBMkc7QUFDMUc7QUFDQTtBQUNBLFFBQU1DLFVBQVUsR0FBR0QsSUFBSSxHQUFHLEVBQUgsR0FBUSxjQUEvQjtBQUNBLFFBQU1FLGNBQWMsR0FBR0MsV0FBVyxDQUFDQyxnQkFBWixDQUE2QnZELFVBQVUsQ0FBQzRCLE9BQVgsRUFBN0IsQ0FBdkIsQ0FKMEcsQ0FNMUc7O0FBQ0EsUUFBTTRCLE9BQU8sR0FBRyxJQUFJQyxPQUFKLEVBQWhCOztBQUVBLFFBQUlOLElBQUosRUFBVTtBQUNUSyxNQUFBQSxPQUFPLENBQUNFLFVBQVIsQ0FDQyxJQUFJQyxNQUFKLENBQVc7QUFDVjVDLFFBQUFBLElBQUksRUFBRSxNQURJO0FBRVZtQixRQUFBQSxPQUFPLEVBQUVDLGFBQWEsQ0FBQ0MsT0FBZCxDQUFzQixNQUF0QixDQUZDO0FBR1ZwQixRQUFBQSxLQUFLLEVBQUVtQztBQUhHLE9BQVgsRUFJR2QsYUFKSCxDQUlpQixrQkFKakIsQ0FERDtBQU9BOztBQUVEbUIsSUFBQUEsT0FBTyxDQUNMRSxVQURGLENBRUUsSUFBSTNCLFlBQUosQ0FBaUI7QUFDaEJFLE1BQUFBLEtBQUssRUFBRSxTQURTO0FBRWhCRCxNQUFBQSxJQUFJLEVBQUUsa0JBRlU7QUFHaEJFLE1BQUFBLE9BQU8sRUFBRUMsYUFBYSxDQUFDQyxPQUFkLENBQXNCLHNCQUF0QjtBQUhPLEtBQWpCLEVBSUdDLGFBSkgsQ0FJaUIsdUJBSmpCLENBRkYsRUFRRXFCLFVBUkYsQ0FTRSxJQUFJcEIsZ0JBQUosQ0FBcUI7QUFDcEJzQixNQUFBQSxXQUFXLEVBQUUsS0FETztBQUVwQnJCLE1BQUFBLEtBQUssRUFBRTtBQUNOQyxRQUFBQSxLQUFLLEVBQUUsQ0FDTjtBQUFFNUIsVUFBQUEsSUFBSSxZQUFLd0MsVUFBTDtBQUFOLFNBRE0sRUFFTjtBQUFFeEMsVUFBQUEsSUFBSSxZQUFLd0MsVUFBTDtBQUFOLFNBRk0sRUFHTjtBQUFFUyxVQUFBQSxLQUFLLFlBQUtULFVBQUw7QUFBUCxTQUhNLENBREQ7QUFNTlgsUUFBQUEsU0FBUyxFQUFFQyxVQUFVLENBQUNDO0FBTmhCO0FBRmEsS0FBckIsRUFVR04sYUFWSCxDQVVpQixxQkFWakIsQ0FURixFQW5CMEcsQ0F5QzFHOztBQUNBLFFBQU1qQyxPQUFPLEdBQUcsSUFBSUMsaUJBQUosQ0FBc0I7QUFDckNFLE1BQUFBLFlBQVksRUFBRSxNQUR1QjtBQUVyQ0MsTUFBQUEsU0FBUyxFQUFFLFlBRjBCO0FBR3JDc0QsTUFBQUEsWUFBWSxFQUFFTixPQUh1QjtBQUlyQy9DLE1BQUFBLE9BQU8sRUFBRSxDQUNSLElBQUlzRCxLQUFKLENBQVU7QUFDVG5CLFFBQUFBLElBQUksRUFBRTtBQUNMaEMsVUFBQUEsSUFBSSxZQUFLd0MsVUFBTCxpQ0FEQztBQUVMckMsVUFBQUEsSUFBSSxFQUFFLHdDQUZEO0FBR0w4QixVQUFBQSxXQUFXLEVBQUU7QUFBRUMsWUFBQUEsU0FBUyxFQUFFO0FBQWIsV0FIUjtBQUlMQyxVQUFBQSxhQUFhLEVBQUU7QUFBRUMsWUFBQUEsUUFBUSxFQUFFO0FBQVo7QUFKVjtBQURHLE9BQVYsQ0FEUSxFQVNSLElBQUlnQixJQUFKLENBQVM7QUFDUnBCLFFBQUFBLElBQUksRUFBRTtBQUNMSixVQUFBQSxLQUFLLEVBQUUsQ0FDTjtBQUFFNUIsWUFBQUEsSUFBSSxZQUFLd0MsVUFBTDtBQUFOLFdBRE0sRUFFTjtBQUFFeEMsWUFBQUEsSUFBSSxZQUFLd0MsVUFBTDtBQUFOLFdBRk0sRUFHTjtBQUFFUyxZQUFBQSxLQUFLLFlBQUtULFVBQUw7QUFBUCxXQUhNLENBREY7QUFNTFgsVUFBQUEsU0FBUyxFQUFFQyxVQUFVLENBQUNDO0FBTmpCO0FBREUsT0FBVCxFQVNHTixhQVRILENBU2lCLG9CQVRqQixDQVRRLENBSjRCO0FBd0JyQzRCLE1BQUFBLFNBQVMsRUFBRSxJQUFJTixNQUFKLENBQVc7QUFDckJmLFFBQUFBLElBQUksRUFBRVQsYUFBYSxDQUFDQyxPQUFkLENBQXNCLGFBQXRCLENBRGU7QUFHckJwQixRQUFBQSxLQUFLLEVBQUUsVUFBQ2pCLEtBQUQsRUFBcUI7QUFDM0IsY0FBTW1FLFlBQVksR0FBR25FLEtBQUssQ0FDeEJHLFNBRG1CLEdBRW5CaUUsaUJBRm1CLEdBR25CQyxTQUhtQixXQUdOaEIsVUFITSxtQkFBckI7QUFLQSxjQUFNaUIsS0FBSyxHQUFHO0FBQ2JDLFlBQUFBLFdBQVcsRUFBRSxFQURBO0FBRWJDLFlBQUFBLE1BQU0sRUFBRTtBQUNQLCtCQUFpQkw7QUFEVixhQUZLO0FBS2JNLFlBQUFBLE1BQU0sRUFBRTtBQUNQQyxjQUFBQSxNQUFNLEVBQUUsaUJBREQ7QUFFUEMsY0FBQUEsY0FBYyxFQUFFO0FBRlQ7QUFMSyxXQUFkOztBQVVBLGNBQUlSLFlBQUosRUFBa0I7QUFDakJiLFlBQUFBLGNBQWMsQ0FBQ3NCLGtCQUFmLENBQWtDQyxVQUFsQyxDQUE2Q1AsS0FBN0M7QUFDQTtBQUNEO0FBdEJvQixPQUFYO0FBeEIwQixLQUF0QixFQWlEZGhDLGFBakRjLENBaURBLHVCQWpEQSxFQWtEZEEsYUFsRGMsQ0FrREEsZ0NBbERBLENBQWhCO0FBb0RBLFdBQU9qQyxPQUFQO0FBQ0E7O0FBRUQsV0FBU3lFLHlCQUFULENBQW1DOUUsS0FBbkMsRUFBb0RDLFVBQXBELEVBQTRFO0FBQzNFLFdBQU9rQixvQkFBb0IsQ0FBQ2xCLFVBQUQsQ0FBM0I7QUFDQTs7QUFFTSxXQUFTOEUsV0FBVCxDQUFxQjlFLFVBQXJCLEVBQTZDRCxLQUE3QyxFQUE4RGdGLDRCQUE5RCxFQUFvRztBQUMxRyxRQUFNQyxrQkFBa0IsR0FBR2pGLEtBQUssQ0FBQ0csU0FBTixFQUEzQjtBQUFBLFFBQ0MrRSxjQUFjLEdBQUdELGtCQUFrQixDQUFDYixpQkFBbkIsRUFEbEI7QUFBQSxRQUVDZSxrQkFBa0IsR0FBR0QsY0FBYyxDQUFDYixTQUFmLFdBQTRCVyw0QkFBNUIsNEJBRnRCO0FBSUEsUUFBTTNFLE9BQU8sR0FDWjhFLGtCQUFrQixJQUFJLENBQXRCLEdBQTBCTCx5QkFBeUIsQ0FBQzlFLEtBQUQsRUFBUUMsVUFBUixDQUFuRCxHQUF5RUYsNEJBQTRCLENBQUNDLEtBQUQsRUFBUUMsVUFBUixDQUR0RztBQUdBSSxJQUFBQSxPQUFPLENBQUNpQixPQUFSLENBQWdCLElBQWhCLEVBUjBHLENBVTFHOztBQUNBakIsSUFBQUEsT0FBTyxDQUFDa0IsV0FBUixDQUFvQjtBQUNuQlYsTUFBQUEsSUFBSSxFQUFFcUUsY0FBYyxDQUFDRSxPQUFmLENBQXVCSiw0QkFBdkIsQ0FEYTtBQUVuQnZELE1BQUFBLFVBQVUsRUFBRTtBQUNYQyxRQUFBQSxPQUFPLEVBQUU7QUFERSxPQUZPO0FBS25CQyxNQUFBQSxNQUFNLEVBQUU7QUFDUEMsUUFBQUEsWUFETyxjQUNRO0FBQ2R2QixVQUFBQSxPQUFPLENBQUNpQixPQUFSLENBQWdCLEtBQWhCO0FBQ0E7QUFITTtBQUxXLEtBQXBCO0FBV0FyQixJQUFBQSxVQUFVLENBQUM0QixPQUFYLEdBQXFCQyxZQUFyQixDQUFrQ3pCLE9BQWxDO0FBRUFBLElBQUFBLE9BQU8sQ0FBQ2dCLE1BQVIsQ0FBZTRELGtCQUFmO0FBQ0E7OztBQUNERixFQUFBQSxXQUFXLENBQUNNLGNBQVosR0FBNkIsZ0JBQTdCIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXNvdXJjZU1vZGVsIH0gZnJvbSBcInNhcC9mZS9tYWNyb3NcIjtcbmltcG9ydCBCdXR0b24gZnJvbSBcInNhcC9tL0J1dHRvblwiO1xuaW1wb3J0IEN1c3RvbUxpc3RJdGVtIGZyb20gXCJzYXAvbS9DdXN0b21MaXN0SXRlbVwiO1xuaW1wb3J0IEhCb3ggZnJvbSBcInNhcC9tL0hCb3hcIjtcbmltcG9ydCBMYWJlbCBmcm9tIFwic2FwL20vTGFiZWxcIjtcbmltcG9ydCBMaXN0IGZyb20gXCJzYXAvbS9MaXN0XCI7XG5pbXBvcnQgT2JqZWN0SWRlbnRpZmllciBmcm9tIFwic2FwL20vT2JqZWN0SWRlbnRpZmllclwiO1xuaW1wb3J0IE9iamVjdFN0YXR1cyBmcm9tIFwic2FwL20vT2JqZWN0U3RhdHVzXCI7XG5pbXBvcnQgUmVzcG9uc2l2ZVBvcG92ZXIgZnJvbSBcInNhcC9tL1Jlc3BvbnNpdmVQb3BvdmVyXCI7XG5pbXBvcnQgVGV4dCBmcm9tIFwic2FwL20vVGV4dFwiO1xuaW1wb3J0IFRvb2xiYXIgZnJvbSBcInNhcC9tL1Rvb2xiYXJcIjtcbmltcG9ydCBDb250cm9sbGVyIGZyb20gXCJzYXAvdWkvY29yZS9tdmMvQ29udHJvbGxlclwiO1xuaW1wb3J0IENvbW1vblV0aWxzIGZyb20gXCJzYXAvZmUvY29yZS9Db21tb25VdGlsc1wiO1xuaW1wb3J0IGZvcm1hdHRlcnMgZnJvbSBcInNhcC9mZS9tYWNyb3MvaW50ZXJuYWwvc2l0dWF0aW9ucy9Gb3JtYXR0ZXJcIjtcblxuZnVuY3Rpb24gZ2V0TXVsdGlwbGVTaXR1YXRpb25zUG9wb3ZlcihldmVudDogVUk1RXZlbnQsIGNvbnRyb2xsZXI6IENvbnRyb2xsZXIpIHtcblx0Y29uc3Qgc291cmNlID0gZXZlbnQuZ2V0U291cmNlKCk7XG5cblx0bGV0IGRldGFpbHNQb3BvdmVyOiBSZXNwb25zaXZlUG9wb3ZlciB8IG51bGw7XG5cblx0Y29uc3QgcG9wb3ZlcjogUmVzcG9uc2l2ZVBvcG92ZXIgPSBuZXcgUmVzcG9uc2l2ZVBvcG92ZXIoe1xuXHRcdHNob3dIZWFkZXI6IGZhbHNlLFxuXHRcdGNvbnRlbnRXaWR0aDogXCIyNWVtXCIsXG5cdFx0cGxhY2VtZW50OiBcIkhvcml6b250YWxcIixcblx0XHRjb250ZW50OiBbXG5cdFx0XHRuZXcgTGlzdCh7XG5cdFx0XHRcdGl0ZW1zOiB7XG5cdFx0XHRcdFx0cGF0aDogXCJfSW5zdGFuY2VcIixcblx0XHRcdFx0XHR0ZW1wbGF0ZTogbmV3IEN1c3RvbUxpc3RJdGVtKHtcblx0XHRcdFx0XHRcdHR5cGU6IFwiTmF2aWdhdGlvblwiLFxuXG5cdFx0XHRcdFx0XHRwcmVzcyhldmVudDogVUk1RXZlbnQpIHtcblx0XHRcdFx0XHRcdFx0Y29uc3QgcHJlc3NlZEl0ZW0gPSBldmVudC5nZXRTb3VyY2UoKTtcblxuXHRcdFx0XHRcdFx0XHQvLyBDcmVhdGUgdGhlIGRldGFpbHMgcG9wb3ZlciBpZiBuZWVkZWRcblx0XHRcdFx0XHRcdFx0aWYgKCFkZXRhaWxzUG9wb3Zlcikge1xuXHRcdFx0XHRcdFx0XHRcdGRldGFpbHNQb3BvdmVyID0gY3JlYXRlUHJldmlld1BvcG92ZXIoY29udHJvbGxlciwgKCkgPT4ge1xuXHRcdFx0XHRcdFx0XHRcdFx0ZGV0YWlsc1BvcG92ZXI/LmNsb3NlKCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRwb3BvdmVyLm9wZW5CeShzb3VyY2UpO1xuXHRcdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0cHJlc3NlZEl0ZW0uc2V0QnVzeSh0cnVlKTtcblxuXHRcdFx0XHRcdFx0XHQvLyBUT0RPOiAkb3JkZXJieSAvICR0b3A9MSBvbiAnX1RyaWdnZXInIGRvZXMgbm90IHdvcmtcblx0XHRcdFx0XHRcdFx0ZGV0YWlsc1BvcG92ZXIuYmluZEVsZW1lbnQoe1xuXHRcdFx0XHRcdFx0XHRcdHBhdGg6IGV2ZW50LmdldFNvdXJjZSgpLmdldEJpbmRpbmdDb250ZXh0UGF0aCgpLFxuXHRcdFx0XHRcdFx0XHRcdHBhcmFtZXRlcnM6IHsgJGV4cGFuZDogXCJfVHJpZ2dlcigkZXhwYW5kPV9BdHRyaWJ1dGUoJGV4cGFuZD1fQXR0cmlidXRlVmFsdWUpKVwiIH0sXG5cdFx0XHRcdFx0XHRcdFx0ZXZlbnRzOiB7XG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhUmVjZWl2ZWQoKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHByZXNzZWRJdGVtLnNldEJ1c3koZmFsc2UpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRwb3BvdmVyLmNsb3NlKCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGRldGFpbHNQb3BvdmVyPy5vcGVuQnkoc291cmNlKTtcblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0XHRjb250cm9sbGVyLmdldFZpZXcoKS5hZGREZXBlbmRlbnQoZGV0YWlsc1BvcG92ZXIpO1xuXHRcdFx0XHRcdFx0fSxcblxuXHRcdFx0XHRcdFx0Y29udGVudDogW1xuXHRcdFx0XHRcdFx0XHRuZXcgSEJveCh7XG5cdFx0XHRcdFx0XHRcdFx0aXRlbXM6IFtcblx0XHRcdFx0XHRcdFx0XHRcdG5ldyBPYmplY3RTdGF0dXMoe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRpY29uOiBcInNhcC1pY29uOi8vYWxlcnRcIixcblx0XHRcdFx0XHRcdFx0XHRcdFx0c3RhdGU6IFwiV2FybmluZ1wiLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHR0b29sdGlwOiBSZXNvdXJjZU1vZGVsLmdldFRleHQoXCJzaXR1YXRpb25cIilcblx0XHRcdFx0XHRcdFx0XHRcdH0pLmFkZFN0eWxlQ2xhc3MoXCJzYXBVaVRpbnlNYXJnaW5FbmRcIiksXG5cdFx0XHRcdFx0XHRcdFx0XHRuZXcgT2JqZWN0SWRlbnRpZmllcih7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRpdGxlOiB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cGFydHM6IFt7IHBhdGg6IFwiU2l0bkluc3RjZUtleVwiIH0sIHsgcGF0aDogXCJfVHJpZ2dlci8wL19JbnN0YW5jZVRleHQvU2l0dWF0aW9uVGl0bGVcIiB9XSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRmb3JtYXR0ZXI6IGZvcm1hdHRlcnMuc2l0dWF0aW9uVGV4dFxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHR0ZXh0OiB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cGF0aDogXCJTaXRuSW5zdGNlTGFzdENoZ2RBdERhdGVUaW1lXCIsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dHlwZTogXCJzYXAudWkubW9kZWwub2RhdGEudHlwZS5EYXRlVGltZU9mZnNldFwiLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNvbnN0cmFpbnRzOiB7IHByZWNpc2lvbjogNyB9LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGZvcm1hdE9wdGlvbnM6IHsgcmVsYXRpdmU6IHRydWUgfVxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0XHRcdF1cblx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0XHQuYWRkU3R5bGVDbGFzcyhcInNhcFVpU21hbGxNYXJnaW5CZWdpbkVuZFwiKVxuXHRcdFx0XHRcdFx0XHRcdC5hZGRTdHlsZUNsYXNzKFwic2FwVWlTbWFsbE1hcmdpblRvcEJvdHRvbVwiKVxuXHRcdFx0XHRcdFx0XVxuXHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdHRlbXBsYXRlU2hhcmVhYmxlOiBmYWxzZVxuXHRcdFx0XHR9LFxuXHRcdFx0XHRzaG93Tm9EYXRhOiBmYWxzZVxuXHRcdFx0fSlcblx0XHRdXG5cdH0pO1xuXG5cdHJldHVybiBwb3BvdmVyO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVQcmV2aWV3UG9wb3Zlcihjb250cm9sbGVyOiBDb250cm9sbGVyLCBiYWNrPzogKGV2ZW50OiBVSTVFdmVudCkgPT4gdm9pZCk6IFJlc3BvbnNpdmVQb3BvdmVyIHtcblx0Ly8gaWYgdGhlcmUgaXMgbm8gJ2JhY2snIGhhbmRsZXIsIHRoZSBwcmV2aWV3IHBvcG92ZXIgaXMgY29uc2lkZXJlZCB0byBiZSB1c2VkIGZvciBzaW5nbGUgc2l0dWF0aW9ucyxcblx0Ly8gc28gcHJlZml4IHRoZSBiaW5kaW5nIHBhdGhzIHdpdGggdGhlIGZpcnN0IGluc3RhbmNlXG5cdGNvbnN0IHBhdGhQcmVmaXggPSBiYWNrID8gXCJcIiA6IFwiX0luc3RhbmNlLzAvXCI7XG5cdGNvbnN0IG9TaGVsbFNlcnZpY2VzID0gQ29tbW9uVXRpbHMuZ2V0U2hlbGxTZXJ2aWNlcyhjb250cm9sbGVyLmdldFZpZXcoKSk7XG5cblx0Ly8gVG9vbGJhclxuXHRjb25zdCB0b29sYmFyID0gbmV3IFRvb2xiYXIoKTtcblxuXHRpZiAoYmFjaykge1xuXHRcdHRvb2xiYXIuYWRkQ29udGVudChcblx0XHRcdG5ldyBCdXR0b24oe1xuXHRcdFx0XHR0eXBlOiBcIkJhY2tcIixcblx0XHRcdFx0dG9vbHRpcDogUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiYmFja1wiKSxcblx0XHRcdFx0cHJlc3M6IGJhY2tcblx0XHRcdH0pLmFkZFN0eWxlQ2xhc3MoXCJzYXBVaU5vTWFyZ2luRW5kXCIpXG5cdFx0KTtcblx0fVxuXG5cdHRvb2xiYXJcblx0XHQuYWRkQ29udGVudChcblx0XHRcdG5ldyBPYmplY3RTdGF0dXMoe1xuXHRcdFx0XHRzdGF0ZTogXCJXYXJuaW5nXCIsXG5cdFx0XHRcdGljb246IFwic2FwLWljb246Ly9hbGVydFwiLFxuXHRcdFx0XHR0b29sdGlwOiBSZXNvdXJjZU1vZGVsLmdldFRleHQoXCJzaXR1YXRpb25JY29uVG9vbHRpcFwiKVxuXHRcdFx0fSkuYWRkU3R5bGVDbGFzcyhcInNhcFVpU21hbGxNYXJnaW5CZWdpblwiKVxuXHRcdClcblx0XHQuYWRkQ29udGVudChcblx0XHRcdG5ldyBPYmplY3RJZGVudGlmaWVyKHtcblx0XHRcdFx0dGl0bGVBY3RpdmU6IGZhbHNlLFxuXHRcdFx0XHR0aXRsZToge1xuXHRcdFx0XHRcdHBhcnRzOiBbXG5cdFx0XHRcdFx0XHR7IHBhdGg6IGAke3BhdGhQcmVmaXh9U2l0bkluc3RjZUtleWAgfSxcblx0XHRcdFx0XHRcdHsgcGF0aDogYCR7cGF0aFByZWZpeH1fVHJpZ2dlci8wL19JbnN0YW5jZVRleHQvU2l0dWF0aW9uVGl0bGVgIH0sXG5cdFx0XHRcdFx0XHR7IHZhbHVlOiBgJHtwYXRoUHJlZml4fV9UcmlnZ2VyLzAvX0F0dHJpYnV0ZWAgfVxuXHRcdFx0XHRcdF0sXG5cdFx0XHRcdFx0Zm9ybWF0dGVyOiBmb3JtYXR0ZXJzLnNpdHVhdGlvblRleHRcblx0XHRcdFx0fVxuXHRcdFx0fSkuYWRkU3R5bGVDbGFzcyhcInNhcFVpU21hbGxNYXJnaW5FbmRcIilcblx0XHQpO1xuXG5cdC8vIFBvcG92ZXJcblx0Y29uc3QgcG9wb3ZlciA9IG5ldyBSZXNwb25zaXZlUG9wb3Zlcih7XG5cdFx0Y29udGVudFdpZHRoOiBcIjI1ZW1cIixcblx0XHRwbGFjZW1lbnQ6IFwiSG9yaXpvbnRhbFwiLFxuXHRcdGN1c3RvbUhlYWRlcjogdG9vbGJhcixcblx0XHRjb250ZW50OiBbXG5cdFx0XHRuZXcgTGFiZWwoe1xuXHRcdFx0XHR0ZXh0OiB7XG5cdFx0XHRcdFx0cGF0aDogYCR7cGF0aFByZWZpeH1TaXRuSW5zdGNlTGFzdENoZ2RBdERhdGVUaW1lYCxcblx0XHRcdFx0XHR0eXBlOiBcInNhcC51aS5tb2RlbC5vZGF0YS50eXBlLkRhdGVUaW1lT2Zmc2V0XCIsXG5cdFx0XHRcdFx0Y29uc3RyYWludHM6IHsgcHJlY2lzaW9uOiA3IH0sXG5cdFx0XHRcdFx0Zm9ybWF0T3B0aW9uczogeyByZWxhdGl2ZTogdHJ1ZSB9XG5cdFx0XHRcdH1cblx0XHRcdH0pLFxuXHRcdFx0bmV3IFRleHQoe1xuXHRcdFx0XHR0ZXh0OiB7XG5cdFx0XHRcdFx0cGFydHM6IFtcblx0XHRcdFx0XHRcdHsgcGF0aDogYCR7cGF0aFByZWZpeH1TaXRuSW5zdGNlS2V5YCB9LFxuXHRcdFx0XHRcdFx0eyBwYXRoOiBgJHtwYXRoUHJlZml4fV9UcmlnZ2VyLzAvX0luc3RhbmNlVGV4dC9TaXR1YXRpb25UZXh0YCB9LFxuXHRcdFx0XHRcdFx0eyB2YWx1ZTogYCR7cGF0aFByZWZpeH1fVHJpZ2dlci8wL19BdHRyaWJ1dGVgIH1cblx0XHRcdFx0XHRdLFxuXHRcdFx0XHRcdGZvcm1hdHRlcjogZm9ybWF0dGVycy5zaXR1YXRpb25UZXh0XG5cdFx0XHRcdH1cblx0XHRcdH0pLmFkZFN0eWxlQ2xhc3MoXCJzYXBVaVRpbnlNYXJnaW5Ub3BcIilcblx0XHRdLFxuXHRcdGVuZEJ1dHRvbjogbmV3IEJ1dHRvbih7XG5cdFx0XHR0ZXh0OiBSZXNvdXJjZU1vZGVsLmdldFRleHQoXCJzaG93RGV0YWlsc1wiKSxcblxuXHRcdFx0cHJlc3M6IChldmVudDogVUk1RXZlbnQpID0+IHtcblx0XHRcdFx0Y29uc3Qgc2l0dWF0aW9uS2V5ID0gZXZlbnRcblx0XHRcdFx0XHQuZ2V0U291cmNlKClcblx0XHRcdFx0XHQuZ2V0QmluZGluZ0NvbnRleHQoKVxuXHRcdFx0XHRcdC5nZXRPYmplY3QoYCR7cGF0aFByZWZpeH1TaXRuSW5zdGNlS2V5YCk7XG5cblx0XHRcdFx0Y29uc3Qgb0FyZ3MgPSB7XG5cdFx0XHRcdFx0YXBwU3RhdGVrZXk6IFwiXCIsXG5cdFx0XHRcdFx0cGFyYW1zOiB7XG5cdFx0XHRcdFx0XHRcIlNpdG5JbnN0Y2VLZXlcIjogc2l0dWF0aW9uS2V5XG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHR0YXJnZXQ6IHtcblx0XHRcdFx0XHRcdGFjdGlvbjogXCJkaXNwbGF5RXh0ZW5kZWRcIixcblx0XHRcdFx0XHRcdHNlbWFudGljT2JqZWN0OiBcIlNpdHVhdGlvbkluc3RhbmNlXCJcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH07XG5cdFx0XHRcdGlmIChzaXR1YXRpb25LZXkpIHtcblx0XHRcdFx0XHRvU2hlbGxTZXJ2aWNlcy5jcm9zc0FwcE5hdlNlcnZpY2UudG9FeHRlcm5hbChvQXJncyk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9KVxuXHR9KVxuXHRcdC5hZGRTdHlsZUNsYXNzKFwic2FwVWlQb3B1cFdpdGhQYWRkaW5nXCIpXG5cdFx0LmFkZFN0eWxlQ2xhc3MoXCJzYXBVaVJlc3BvbnNpdmVQYWRkaW5nLS1oZWFkZXJcIik7XG5cblx0cmV0dXJuIHBvcG92ZXI7XG59XG5cbmZ1bmN0aW9uIGdldFNpbmdsZVNpdHVhdGlvblBvcG92ZXIoZXZlbnQ6IFVJNUV2ZW50LCBjb250cm9sbGVyOiBDb250cm9sbGVyKSB7XG5cdHJldHVybiBjcmVhdGVQcmV2aWV3UG9wb3Zlcihjb250cm9sbGVyKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNob3dQb3BvdmVyKGNvbnRyb2xsZXI6IENvbnRyb2xsZXIsIGV2ZW50OiBVSTVFdmVudCwgc2l0dWF0aW9uc05hdmlnYXRpb25Qcm9wZXJ0eTogc3RyaW5nKSB7XG5cdGNvbnN0IHNpdHVhdGlvbkluZGljYXRvciA9IGV2ZW50LmdldFNvdXJjZSgpLFxuXHRcdGJpbmRpbmdDb250ZXh0ID0gc2l0dWF0aW9uSW5kaWNhdG9yLmdldEJpbmRpbmdDb250ZXh0KCksXG5cdFx0bnVtYmVyT2ZTaXR1YXRpb25zID0gYmluZGluZ0NvbnRleHQuZ2V0T2JqZWN0KGAke3NpdHVhdGlvbnNOYXZpZ2F0aW9uUHJvcGVydHl9L1NpdG5OdW1iZXJPZkluc3RhbmNlc2ApO1xuXG5cdGNvbnN0IHBvcG92ZXIgPVxuXHRcdG51bWJlck9mU2l0dWF0aW9ucyA8PSAxID8gZ2V0U2luZ2xlU2l0dWF0aW9uUG9wb3ZlcihldmVudCwgY29udHJvbGxlcikgOiBnZXRNdWx0aXBsZVNpdHVhdGlvbnNQb3BvdmVyKGV2ZW50LCBjb250cm9sbGVyKTtcblxuXHRwb3BvdmVyLnNldEJ1c3kodHJ1ZSk7XG5cblx0Ly8gVE9ETzogJG9yZGVyYnkgLyAkdG9wPTEgb24gJ19UcmlnZ2VyJyBkb2VzIG5vdCB3b3JrXG5cdHBvcG92ZXIuYmluZEVsZW1lbnQoe1xuXHRcdHBhdGg6IGJpbmRpbmdDb250ZXh0LmdldFBhdGgoc2l0dWF0aW9uc05hdmlnYXRpb25Qcm9wZXJ0eSksXG5cdFx0cGFyYW1ldGVyczoge1xuXHRcdFx0JGV4cGFuZDogXCJfSW5zdGFuY2UoJGV4cGFuZD1fVHJpZ2dlcigkZXhwYW5kPV9BdHRyaWJ1dGUoJGV4cGFuZD1fQXR0cmlidXRlVmFsdWUpKSlcIlxuXHRcdH0sXG5cdFx0ZXZlbnRzOiB7XG5cdFx0XHRkYXRhUmVjZWl2ZWQoKSB7XG5cdFx0XHRcdHBvcG92ZXIuc2V0QnVzeShmYWxzZSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9KTtcblx0Y29udHJvbGxlci5nZXRWaWV3KCkuYWRkRGVwZW5kZW50KHBvcG92ZXIpO1xuXG5cdHBvcG92ZXIub3BlbkJ5KHNpdHVhdGlvbkluZGljYXRvcik7XG59XG5zaG93UG9wb3Zlci5fX2Z1bmN0aW9uTmFtZSA9IFwicnQuc2hvd1BvcG92ZXJcIjtcbiJdfQ==
203
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlJ1bnRpbWUudHMiXSwibmFtZXMiOlsiZ2V0TXVsdGlwbGVTaXR1YXRpb25zUG9wb3ZlciIsImV2ZW50IiwiY29udHJvbGxlciIsInNvdXJjZSIsImdldFNvdXJjZSIsImRldGFpbHNQb3BvdmVyIiwicG9wb3ZlciIsIlJlc3BvbnNpdmVQb3BvdmVyIiwic2hvd0hlYWRlciIsImNvbnRlbnRXaWR0aCIsInBsYWNlbWVudCIsImNvbnRlbnQiLCJMaXN0IiwiaXRlbXMiLCJwYXRoIiwidGVtcGxhdGUiLCJDdXN0b21MaXN0SXRlbSIsInR5cGUiLCJwcmVzcyIsInByZXNzZWRJdGVtIiwiY3JlYXRlUHJldmlld1BvcG92ZXIiLCJjbG9zZSIsIm9wZW5CeSIsInNldEJ1c3kiLCJiaW5kRWxlbWVudCIsImdldEJpbmRpbmdDb250ZXh0UGF0aCIsInBhcmFtZXRlcnMiLCIkZXhwYW5kIiwiZXZlbnRzIiwiZGF0YVJlY2VpdmVkIiwiZ2V0VmlldyIsImFkZERlcGVuZGVudCIsIkhCb3giLCJPYmplY3RTdGF0dXMiLCJpY29uIiwic3RhdGUiLCJ0b29sdGlwIiwiUmVzb3VyY2VNb2RlbCIsImdldFRleHQiLCJhZGRTdHlsZUNsYXNzIiwiT2JqZWN0SWRlbnRpZmllciIsInRpdGxlIiwicGFydHMiLCJmb3JtYXR0ZXIiLCJmb3JtYXR0ZXJzIiwic2l0dWF0aW9uVGV4dCIsInRleHQiLCJjb25zdHJhaW50cyIsInByZWNpc2lvbiIsImZvcm1hdE9wdGlvbnMiLCJyZWxhdGl2ZSIsInRlbXBsYXRlU2hhcmVhYmxlIiwic2hvd05vRGF0YSIsImJhY2siLCJwYXRoUHJlZml4Iiwib1NoZWxsU2VydmljZXMiLCJDb21tb25VdGlscyIsImdldFNoZWxsU2VydmljZXMiLCJ0b29sYmFyIiwiVG9vbGJhciIsImFkZENvbnRlbnQiLCJCdXR0b24iLCJ0aXRsZUFjdGl2ZSIsInZhbHVlIiwiY3VzdG9tSGVhZGVyIiwiTGFiZWwiLCJUZXh0IiwiZW5kQnV0dG9uIiwic2l0dWF0aW9uS2V5IiwiZ2V0QmluZGluZ0NvbnRleHQiLCJnZXRPYmplY3QiLCJvQXJncyIsImFwcFN0YXRla2V5IiwicGFyYW1zIiwidGFyZ2V0IiwiYWN0aW9uIiwic2VtYW50aWNPYmplY3QiLCJjcm9zc0FwcE5hdlNlcnZpY2UiLCJ0b0V4dGVybmFsIiwiZ2V0U2luZ2xlU2l0dWF0aW9uUG9wb3ZlciIsInNob3dQb3BvdmVyIiwic2l0dWF0aW9uc05hdmlnYXRpb25Qcm9wZXJ0eSIsInNpdHVhdGlvbkluZGljYXRvciIsImJpbmRpbmdDb250ZXh0IiwibnVtYmVyT2ZTaXR1YXRpb25zIiwiZ2V0UGF0aCIsIl9fZnVuY3Rpb25OYW1lIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7Ozs7QUFjQSxXQUFTQSw0QkFBVCxDQUFzQ0MsS0FBdEMsRUFBdURDLFVBQXZELEVBQStFO0FBQzlFLFFBQU1DLE1BQU0sR0FBR0YsS0FBSyxDQUFDRyxTQUFOLEVBQWY7QUFFQSxRQUFJQyxjQUFKO0FBRUEsUUFBTUMsT0FBMEIsR0FBRyxJQUFJQyxpQkFBSixDQUFzQjtBQUN4REMsTUFBQUEsVUFBVSxFQUFFLEtBRDRDO0FBRXhEQyxNQUFBQSxZQUFZLEVBQUUsTUFGMEM7QUFHeERDLE1BQUFBLFNBQVMsRUFBRSxZQUg2QztBQUl4REMsTUFBQUEsT0FBTyxFQUFFLENBQ1IsSUFBSUMsSUFBSixDQUFTO0FBQ1JDLFFBQUFBLEtBQUssRUFBRTtBQUNOQyxVQUFBQSxJQUFJLEVBQUUsV0FEQTtBQUVOQyxVQUFBQSxRQUFRLEVBQUUsSUFBSUMsY0FBSixDQUFtQjtBQUM1QkMsWUFBQUEsSUFBSSxFQUFFLFlBRHNCO0FBRzVCQyxZQUFBQSxLQUg0QixZQUd0QmpCLEtBSHNCLEVBR0w7QUFDdEIsa0JBQU1rQixXQUFXLEdBQUdsQixLQUFLLENBQUNHLFNBQU4sRUFBcEIsQ0FEc0IsQ0FHdEI7O0FBQ0Esa0JBQUksQ0FBQ0MsY0FBTCxFQUFxQjtBQUNwQkEsZ0JBQUFBLGNBQWMsR0FBR2Usb0JBQW9CLENBQUNsQixVQUFELEVB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QSxPQUFPLENBQUNpQixPQUFSLENBQWdCLEtBQWhCO0FBQ0E7QUFITTtBQUxXLEtBQXBCO0FBV0FyQixJQUFBQSxVQUFVLENBQUM0QixPQUFYLEdBQXFCQyxZQUFyQixDQUFrQ3pCLE9BQWxDO0FBRUFBLElBQUFBLE9BQU8sQ0FBQ2dCLE1BQVIsQ0FBZTRELGtCQUFmO0FBQ0E7OztBQUNERixFQUFBQSxXQUFXLENBQUNNLGNBQVosR0FBNkIsZ0JBQTdCIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVzb3VyY2VNb2RlbCBmcm9tIFwic2FwL2ZlL21hY3Jvcy9SZXNvdXJjZU1vZGVsXCI7XG5pbXBvcnQgQnV0dG9uIGZyb20gXCJzYXAvbS9CdXR0b25cIjtcbmltcG9ydCBDdXN0b21MaXN0SXRlbSBmcm9tIFwic2FwL20vQ3VzdG9tTGlzdEl0ZW1cIjtcbmltcG9ydCBIQm94IGZyb20gXCJzYXAvbS9IQm94XCI7XG5pbXBvcnQgTGFiZWwgZnJvbSBcInNhcC9tL0xhYmVsXCI7XG5pbXBvcnQgTGlzdCBmcm9tIFwic2FwL20vTGlzdFwiO1xuaW1wb3J0IE9iamVjdElkZW50aWZpZXIgZnJvbSBcInNhcC9tL09iamVjdElkZW50aWZpZXJcIjtcbmltcG9ydCBPYmplY3RTdGF0dXMgZnJvbSBcInNhcC9tL09iamVjdFN0YXR1c1wiO1xuaW1wb3J0IFJlc3BvbnNpdmVQb3BvdmVyIGZyb20gXCJzYXAvbS9SZXNwb25zaXZlUG9wb3ZlclwiO1xuaW1wb3J0IFRleHQgZnJvbSBcInNhcC9tL1RleHRcIjtcbmltcG9ydCBUb29sYmFyIGZyb20gXCJzYXAvbS9Ub29sYmFyXCI7XG5pbXBvcnQgQ29udHJvbGxlciBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL0NvbnRyb2xsZXJcIjtcbmltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCBmb3JtYXR0ZXJzIGZyb20gXCJzYXAvZmUvbWFjcm9zL2ludGVybmFsL3NpdHVhdGlvbnMvRm9ybWF0dGVyXCI7XG5pbXBvcnQgVUk1RXZlbnQgZnJvbSBcInNhcC91aS9iYXNlL0V2ZW50XCI7XG5cbmZ1bmN0aW9uIGdldE11bHRpcGxlU2l0dWF0aW9uc1BvcG92ZXIoZXZlbnQ6IFVJNUV2ZW50LCBjb250cm9sbGVyOiBDb250cm9sbGVyKSB7XG5cdGNvbnN0IHNvdXJjZSA9IGV2ZW50LmdldFNvdXJjZSgpO1xuXG5cdGxldCBkZXRhaWxzUG9wb3ZlcjogUmVzcG9uc2l2ZVBvcG92ZXIgfCBudWxsO1xuXG5cdGNvbnN0IHBvcG92ZXI6IFJlc3BvbnNpdmVQb3BvdmVyID0gbmV3IFJlc3BvbnNpdmVQb3BvdmVyKHtcblx0XHRzaG93SGVhZGVyOiBmYWxzZSxcblx0XHRjb250ZW50V2lkdGg6IFwiMjVlbVwiLFxuXHRcdHBsYWNlbWVudDogXCJIb3Jpem9udGFsXCIsXG5cdFx0Y29udGVudDogW1xuXHRcdFx0bmV3IExpc3Qoe1xuXHRcdFx0XHRpdGVtczoge1xuXHRcdFx0XHRcdHBhdGg6IFwiX0luc3RhbmNlXCIsXG5cdFx0XHRcdFx0dGVtcGxhdGU6IG5ldyBDdXN0b21MaXN0SXRlbSh7XG5cdFx0XHRcdFx0XHR0eXBlOiBcIk5hdmlnYXRpb25cIixcblxuXHRcdFx0XHRcdFx0cHJlc3MoZXZlbnQ6IFVJNUV2ZW50KSB7XG5cdFx0XHRcdFx0XHRcdGNvbnN0IHByZXNzZWRJdGVtID0gZXZlbnQuZ2V0U291cmNlKCkgYXMgQ3VzdG9tTGlzdEl0ZW07XG5cblx0XHRcdFx0XHRcdFx0Ly8gQ3JlYXRlIHRoZSBkZXRhaWxzIHBvcG92ZXIgaWYgbmVlZGVkXG5cdFx0XHRcdFx0XHRcdGlmICghZGV0YWlsc1BvcG92ZXIpIHtcblx0XHRcdFx0XHRcdFx0XHRkZXRhaWxzUG9wb3ZlciA9IGNyZWF0ZVByZXZpZXdQb3BvdmVyKGNvbnRyb2xsZXIsICgpID0+IHtcblx0XHRcdFx0XHRcdFx0XHRcdGRldGFpbHNQb3BvdmVyPy5jbG9zZSgpO1xuXHRcdFx0XHRcdFx0XHRcdFx0cG9wb3Zlci5vcGVuQnkoc291cmNlKTtcblx0XHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdHByZXNzZWRJdGVtLnNldEJ1c3kodHJ1ZSk7XG5cblx0XHRcdFx0XHRcdFx0Ly8gVE9ETzogJG9yZGVyYnkgLyAkdG9wPTEgb24gJ19UcmlnZ2VyJyBkb2VzIG5vdCB3b3JrXG5cdFx0XHRcdFx0XHRcdGRldGFpbHNQb3BvdmVyLmJpbmRFbGVtZW50KHtcblx0XHRcdFx0XHRcdFx0XHRwYXRoOiAoZXZlbnQuZ2V0U291cmNlKCkgYXMgYW55KS5nZXRCaW5kaW5nQ29udGV4dFBhdGgoKSxcblx0XHRcdFx0XHRcdFx0XHRwYXJhbWV0ZXJzOiB7ICRleHBhbmQ6IFwiX1RyaWdnZXIoJGV4cGFuZD1fQXR0cmlidXRlKCRleHBhbmQ9X0F0dHJpYnV0ZVZhbHVlKSlcIiB9LFxuXHRcdFx0XHRcdFx0XHRcdGV2ZW50czoge1xuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YVJlY2VpdmVkKCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRwcmVzc2VkSXRlbS5zZXRCdXN5KGZhbHNlKTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0cG9wb3Zlci5jbG9zZSgpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRkZXRhaWxzUG9wb3Zlcj8ub3BlbkJ5KHNvdXJjZSk7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdFx0Y29udHJvbGxlci5nZXRWaWV3KCkuYWRkRGVwZW5kZW50KGRldGFpbHNQb3BvdmVyKTtcblx0XHRcdFx0XHRcdH0sXG5cblx0XHRcdFx0XHRcdGNvbnRlbnQ6IFtcblx0XHRcdFx0XHRcdFx0bmV3IEhCb3goe1xuXHRcdFx0XHRcdFx0XHRcdGl0ZW1zOiBbXG5cdFx0XHRcdFx0XHRcdFx0XHRuZXcgT2JqZWN0U3RhdHVzKHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0aWNvbjogXCJzYXAtaWNvbjovL2FsZXJ0XCIsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHN0YXRlOiBcIldhcm5pbmdcIixcblx0XHRcdFx0XHRcdFx0XHRcdFx0dG9vbHRpcDogUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwic2l0dWF0aW9uXCIpXG5cdFx0XHRcdFx0XHRcdFx0XHR9KS5hZGRTdHlsZUNsYXNzKFwic2FwVWlUaW55TWFyZ2luRW5kXCIpLFxuXHRcdFx0XHRcdFx0XHRcdFx0bmV3IE9iamVjdElkZW50aWZpZXIoe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR0aXRsZToge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHBhcnRzOiBbeyBwYXRoOiBcIlNpdG5JbnN0Y2VLZXlcIiB9LCB7IHBhdGg6IFwiX1RyaWdnZXIvMC9fSW5zdGFuY2VUZXh0L1NpdHVhdGlvblRpdGxlXCIgfV0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Zm9ybWF0dGVyOiBmb3JtYXR0ZXJzLnNpdHVhdGlvblRleHRcblx0XHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0dGV4dDoge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHBhdGg6IFwiU2l0bkluc3RjZUxhc3RDaGdkQXREYXRlVGltZVwiLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHR5cGU6IFwic2FwLnVpLm1vZGVsLm9kYXRhLnR5cGUuRGF0ZVRpbWVPZmZzZXRcIixcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjb25zdHJhaW50czogeyBwcmVjaXNpb246IDcgfSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRmb3JtYXRPcHRpb25zOiB7IHJlbGF0aXZlOiB0cnVlIH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0XHRdXG5cdFx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHRcdFx0LmFkZFN0eWxlQ2xhc3MoXCJzYXBVaVNtYWxsTWFyZ2luQmVnaW5FbmRcIilcblx0XHRcdFx0XHRcdFx0XHQuYWRkU3R5bGVDbGFzcyhcInNhcFVpU21hbGxNYXJnaW5Ub3BCb3R0b21cIilcblx0XHRcdFx0XHRcdF1cblx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHR0ZW1wbGF0ZVNoYXJlYWJsZTogZmFsc2Vcblx0XHRcdFx0fSxcblx0XHRcdFx0c2hvd05vRGF0YTogZmFsc2Vcblx0XHRcdH0pXG5cdFx0XVxuXHR9KTtcblxuXHRyZXR1cm4gcG9wb3Zlcjtcbn1cblxuZnVuY3Rpb24gY3JlYXRlUHJldmlld1BvcG92ZXIoY29udHJvbGxlcjogQ29udHJvbGxlciwgYmFjaz86IChldmVudDogVUk1RXZlbnQpID0+IHZvaWQpOiBSZXNwb25zaXZlUG9wb3ZlciB7XG5cdC8vIGlmIHRoZXJlIGlzIG5vICdiYWNrJyBoYW5kbGVyLCB0aGUgcHJldmlldyBwb3BvdmVyIGlzIGNvbnNpZGVyZWQgdG8gYmUgdXNlZCBmb3Igc2luZ2xlIHNpdHVhdGlvbnMsXG5cdC8vIHNvIHByZWZpeCB0aGUgYmluZGluZyBwYXRocyB3aXRoIHRoZSBmaXJzdCBpbnN0YW5jZVxuXHRjb25zdCBwYXRoUHJlZml4ID0gYmFjayA/IFwiXCIgOiBcIl9JbnN0YW5jZS8wL1wiO1xuXHRjb25zdCBvU2hlbGxTZXJ2aWNlcyA9IENvbW1vblV0aWxzLmdldFNoZWxsU2VydmljZXMoY29udHJvbGxlci5nZXRWaWV3KCkpO1xuXG5cdC8vIFRvb2xiYXJcblx0Y29uc3QgdG9vbGJhciA9IG5ldyBUb29sYmFyKCk7XG5cblx0aWYgKGJhY2spIHtcblx0XHR0b29sYmFyLmFkZENvbnRlbnQoXG5cdFx0XHRuZXcgQnV0dG9uKHtcblx0XHRcdFx0dHlwZTogXCJCYWNrXCIsXG5cdFx0XHRcdHRvb2x0aXA6IFJlc291cmNlTW9kZWwuZ2V0VGV4dChcImJhY2tcIiksXG5cdFx0XHRcdHByZXNzOiBiYWNrXG5cdFx0XHR9KS5hZGRTdHlsZUNsYXNzKFwic2FwVWlOb01hcmdpbkVuZFwiKVxuXHRcdCk7XG5cdH1cblxuXHR0b29sYmFyXG5cdFx0LmFkZENvbnRlbnQoXG5cdFx0XHRuZXcgT2JqZWN0U3RhdHVzKHtcblx0XHRcdFx0c3RhdGU6IFwiV2FybmluZ1wiLFxuXHRcdFx0XHRpY29uOiBcInNhcC1pY29uOi8vYWxlcnRcIixcblx0XHRcdFx0dG9vbHRpcDogUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwic2l0dWF0aW9uSWNvblRvb2x0aXBcIilcblx0XHRcdH0pLmFkZFN0eWxlQ2xhc3MoXCJzYXBVaVNtYWxsTWFyZ2luQmVnaW5cIilcblx0XHQpXG5cdFx0LmFkZENvbnRlbnQoXG5cdFx0XHRuZXcgT2JqZWN0SWRlbnRpZmllcih7XG5cdFx0XHRcdHRpdGxlQWN0aXZlOiBmYWxzZSxcblx0XHRcdFx0dGl0bGU6IHtcblx0XHRcdFx0XHRwYXJ0czogW1xuXHRcdFx0XHRcdFx0eyBwYXRoOiBgJHtwYXRoUHJlZml4fVNpdG5JbnN0Y2VLZXlgIH0sXG5cdFx0XHRcdFx0XHR7IHBhdGg6IGAke3BhdGhQcmVmaXh9X1RyaWdnZXIvMC9fSW5zdGFuY2VUZXh0L1NpdHVhdGlvblRpdGxlYCB9LFxuXHRcdFx0XHRcdFx0eyB2YWx1ZTogYCR7cGF0aFByZWZpeH1fVHJpZ2dlci8wL19BdHRyaWJ1dGVgIH1cblx0XHRcdFx0XHRdLFxuXHRcdFx0XHRcdGZvcm1hdHRlcjogZm9ybWF0dGVycy5zaXR1YXRpb25UZXh0XG5cdFx0XHRcdH1cblx0XHRcdH0pLmFkZFN0eWxlQ2xhc3MoXCJzYXBVaVNtYWxsTWFyZ2luRW5kXCIpXG5cdFx0KTtcblxuXHQvLyBQb3BvdmVyXG5cdGNvbnN0IHBvcG92ZXIgPSBuZXcgUmVzcG9uc2l2ZVBvcG92ZXIoe1xuXHRcdGNvbnRlbnRXaWR0aDogXCIyNWVtXCIsXG5cdFx0cGxhY2VtZW50OiBcIkhvcml6b250YWxcIixcblx0XHRjdXN0b21IZWFkZXI6IHRvb2xiYXIsXG5cdFx0Y29udGVudDogW1xuXHRcdFx0bmV3IExhYmVsKHtcblx0XHRcdFx0dGV4dDoge1xuXHRcdFx0XHRcdHBhdGg6IGAke3BhdGhQcmVmaXh9U2l0bkluc3RjZUxhc3RDaGdkQXREYXRlVGltZWAsXG5cdFx0XHRcdFx0dHlwZTogXCJzYXAudWkubW9kZWwub2RhdGEudHlwZS5EYXRlVGltZU9mZnNldFwiLFxuXHRcdFx0XHRcdGNvbnN0cmFpbnRzOiB7IHByZWNpc2lvbjogNyB9LFxuXHRcdFx0XHRcdGZvcm1hdE9wdGlvbnM6IHsgcmVsYXRpdmU6IHRydWUgfVxuXHRcdFx0XHR9XG5cdFx0XHR9KSxcblx0XHRcdG5ldyBUZXh0KHtcblx0XHRcdFx0dGV4dDoge1xuXHRcdFx0XHRcdHBhcnRzOiBbXG5cdFx0XHRcdFx0XHR7IHBhdGg6IGAke3BhdGhQcmVmaXh9U2l0bkluc3RjZUtleWAgfSxcblx0XHRcdFx0XHRcdHsgcGF0aDogYCR7cGF0aFByZWZpeH1fVHJpZ2dlci8wL19JbnN0YW5jZVRleHQvU2l0dWF0aW9uVGV4dGAgfSxcblx0XHRcdFx0XHRcdHsgdmFsdWU6IGAke3BhdGhQcmVmaXh9X1RyaWdnZXIvMC9fQXR0cmlidXRlYCB9XG5cdFx0XHRcdFx0XSxcblx0XHRcdFx0XHRmb3JtYXR0ZXI6IGZvcm1hdHRlcnMuc2l0dWF0aW9uVGV4dFxuXHRcdFx0XHR9XG5cdFx0XHR9KS5hZGRTdHlsZUNsYXNzKFwic2FwVWlUaW55TWFyZ2luVG9wXCIpXG5cdFx0XSxcblx0XHRlbmRCdXR0b246IG5ldyBCdXR0b24oe1xuXHRcdFx0dGV4dDogUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwic2hvd0RldGFpbHNcIiksXG5cblx0XHRcdHByZXNzOiAoZXZlbnQ6IFVJNUV2ZW50KSA9PiB7XG5cdFx0XHRcdGNvbnN0IHNpdHVhdGlvbktleSA9IChldmVudC5nZXRTb3VyY2UoKSBhcyBhbnkpLmdldEJpbmRpbmdDb250ZXh0KCkuZ2V0T2JqZWN0KGAke3BhdGhQcmVmaXh9U2l0bkluc3RjZUtleWApO1xuXG5cdFx0XHRcdGNvbnN0IG9BcmdzID0ge1xuXHRcdFx0XHRcdGFwcFN0YXRla2V5OiBcIlwiLFxuXHRcdFx0XHRcdHBhcmFtczoge1xuXHRcdFx0XHRcdFx0XCJTaXRuSW5zdGNlS2V5XCI6IHNpdHVhdGlvbktleVxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0dGFyZ2V0OiB7XG5cdFx0XHRcdFx0XHRhY3Rpb246IFwiZGlzcGxheUV4dGVuZGVkXCIsXG5cdFx0XHRcdFx0XHRzZW1hbnRpY09iamVjdDogXCJTaXR1YXRpb25JbnN0YW5jZVwiXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9O1xuXHRcdFx0XHRpZiAoc2l0dWF0aW9uS2V5ICYmIG9TaGVsbFNlcnZpY2VzLmNyb3NzQXBwTmF2U2VydmljZSkge1xuXHRcdFx0XHRcdG9TaGVsbFNlcnZpY2VzLmNyb3NzQXBwTmF2U2VydmljZS50b0V4dGVybmFsKG9BcmdzKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0pXG5cdH0pXG5cdFx0LmFkZFN0eWxlQ2xhc3MoXCJzYXBVaVBvcHVwV2l0aFBhZGRpbmdcIilcblx0XHQuYWRkU3R5bGVDbGFzcyhcInNhcFVpUmVzcG9uc2l2ZVBhZGRpbmctLWhlYWRlclwiKTtcblxuXHRyZXR1cm4gcG9wb3Zlcjtcbn1cblxuZnVuY3Rpb24gZ2V0U2luZ2xlU2l0dWF0aW9uUG9wb3ZlcihldmVudDogVUk1RXZlbnQsIGNvbnRyb2xsZXI6IENvbnRyb2xsZXIpIHtcblx0cmV0dXJuIGNyZWF0ZVByZXZpZXdQb3BvdmVyKGNvbnRyb2xsZXIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2hvd1BvcG92ZXIoY29udHJvbGxlcjogQ29udHJvbGxlciwgZXZlbnQ6IFVJNUV2ZW50LCBzaXR1YXRpb25zTmF2aWdhdGlvblByb3BlcnR5OiBzdHJpbmcpIHtcblx0Y29uc3Qgc2l0dWF0aW9uSW5kaWNhdG9yID0gZXZlbnQuZ2V0U291cmNlKCkgYXMgYW55LFxuXHRcdGJpbmRpbmdDb250ZXh0ID0gc2l0dWF0aW9uSW5kaWNhdG9yLmdldEJpbmRpbmdDb250ZXh0KCksXG5cdFx0bnVtYmVyT2ZTaXR1YXRpb25zID0gYmluZGluZ0NvbnRleHQuZ2V0T2JqZWN0KGAke3NpdHVhdGlvbnNOYXZpZ2F0aW9uUHJvcGVydHl9L1NpdG5OdW1iZXJPZkluc3RhbmNlc2ApO1xuXG5cdGNvbnN0IHBvcG92ZXIgPVxuXHRcdG51bWJlck9mU2l0dWF0aW9ucyA8PSAxID8gZ2V0U2luZ2xlU2l0dWF0aW9uUG9wb3ZlcihldmVudCwgY29udHJvbGxlcikgOiBnZXRNdWx0aXBsZVNpdHVhdGlvbnNQb3BvdmVyKGV2ZW50LCBjb250cm9sbGVyKTtcblxuXHRwb3BvdmVyLnNldEJ1c3kodHJ1ZSk7XG5cblx0Ly8gVE9ETzogJG9yZGVyYnkgLyAkdG9wPTEgb24gJ19UcmlnZ2VyJyBkb2VzIG5vdCB3b3JrXG5cdHBvcG92ZXIuYmluZEVsZW1lbnQoe1xuXHRcdHBhdGg6IGJpbmRpbmdDb250ZXh0LmdldFBhdGgoc2l0dWF0aW9uc05hdmlnYXRpb25Qcm9wZXJ0eSksXG5cdFx0cGFyYW1ldGVyczoge1xuXHRcdFx0JGV4cGFuZDogXCJfSW5zdGFuY2UoJGV4cGFuZD1fVHJpZ2dlcigkZXhwYW5kPV9BdHRyaWJ1dGUoJGV4cGFuZD1fQXR0cmlidXRlVmFsdWUpKSlcIlxuXHRcdH0sXG5cdFx0ZXZlbnRzOiB7XG5cdFx0XHRkYXRhUmVjZWl2ZWQoKSB7XG5cdFx0XHRcdHBvcG92ZXIuc2V0QnVzeShmYWxzZSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9KTtcblx0Y29udHJvbGxlci5nZXRWaWV3KCkuYWRkRGVwZW5kZW50KHBvcG92ZXIpO1xuXG5cdHBvcG92ZXIub3BlbkJ5KHNpdHVhdGlvbkluZGljYXRvcik7XG59XG5zaG93UG9wb3Zlci5fX2Z1bmN0aW9uTmFtZSA9IFwicnQuc2hvd1BvcG92ZXJcIjtcbiJdfQ==
@@ -2,4 +2,4 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * (c) Copyright 2009-2021 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/fe/macros/ResourceModel","sap/m/Button","sap/m/CustomListItem","sap/m/HBox","sap/m/Label","sap/m/List","sap/m/ObjectIdentifier","sap/m/ObjectStatus","sap/m/ResponsivePopover","sap/m/Text","sap/m/Toolbar","sap/fe/core/CommonUtils","sap/fe/macros/internal/situations/Formatter"],function(R,B,C,H,L,a,O,b,c,T,d,e,f){"use strict";var _={};function g(j,k){var l=j.getSource();var m;var p=new c({showHeader:false,contentWidth:"25em",placement:"Horizontal",content:[new a({items:{path:"_Instance",template:new C({type:"Navigation",press:function(j){var n=j.getSource();if(!m){m=h(k,function(){var o;(o=m)===null||o===void 0?void 0:o.close();p.openBy(l);});}n.setBusy(true);m.bindElement({path:j.getSource().getBindingContextPath(),parameters:{$expand:"_Trigger($expand=_Attribute($expand=_AttributeValue))"},events:{dataReceived:function(){var o;n.setBusy(false);p.close();(o=m)===null||o===void 0?void 0:o.openBy(l);}}});k.getView().addDependent(m);},content:[new H({items:[new b({icon:"sap-icon://alert",state:"Warning",tooltip:R.getText("situation")}).addStyleClass("sapUiTinyMarginEnd"),new O({title:{parts:[{path:"SitnInstceKey"},{path:"_Trigger/0/_InstanceText/SituationTitle"}],formatter:f.situationText},text:{path:"SitnInstceLastChgdAtDateTime",type:"sap.ui.model.odata.type.DateTimeOffset",constraints:{precision:7},formatOptions:{relative:true}}})]}).addStyleClass("sapUiSmallMarginBeginEnd").addStyleClass("sapUiSmallMarginTopBottom")]}),templateShareable:false},showNoData:false})]});return p;}function h(j,k){var p=k?"":"_Instance/0/";var S=e.getShellServices(j.getView());var t=new d();if(k){t.addContent(new B({type:"Back",tooltip:R.getText("back"),press:k}).addStyleClass("sapUiNoMarginEnd"));}t.addContent(new b({state:"Warning",icon:"sap-icon://alert",tooltip:R.getText("situationIconTooltip")}).addStyleClass("sapUiSmallMarginBegin")).addContent(new O({titleActive:false,title:{parts:[{path:"".concat(p,"SitnInstceKey")},{path:"".concat(p,"_Trigger/0/_InstanceText/SituationTitle")},{value:"".concat(p,"_Trigger/0/_Attribute")}],formatter:f.situationText}}).addStyleClass("sapUiSmallMarginEnd"));var l=new c({contentWidth:"25em",placement:"Horizontal",customHeader:t,content:[new L({text:{path:"".concat(p,"SitnInstceLastChgdAtDateTime"),type:"sap.ui.model.odata.type.DateTimeOffset",constraints:{precision:7},formatOptions:{relative:true}}}),new T({text:{parts:[{path:"".concat(p,"SitnInstceKey")},{path:"".concat(p,"_Trigger/0/_InstanceText/SituationText")},{value:"".concat(p,"_Trigger/0/_Attribute")}],formatter:f.situationText}}).addStyleClass("sapUiTinyMarginTop")],endButton:new B({text:R.getText("showDetails"),press:function(m){var n=m.getSource().getBindingContext().getObject("".concat(p,"SitnInstceKey"));var A={appStatekey:"",params:{"SitnInstceKey":n},target:{action:"displayExtended",semanticObject:"SituationInstance"}};if(n){S.crossAppNavService.toExternal(A);}}})}).addStyleClass("sapUiPopupWithPadding").addStyleClass("sapUiResponsivePadding--header");return l;}function i(j,k){return h(k);}function s(j,k,l){var m=k.getSource(),n=m.getBindingContext(),o=n.getObject("".concat(l,"/SitnNumberOfInstances"));var p=o<=1?i(k,j):g(k,j);p.setBusy(true);p.bindElement({path:n.getPath(l),parameters:{$expand:"_Instance($expand=_Trigger($expand=_Attribute($expand=_AttributeValue)))"},events:{dataReceived:function(){p.setBusy(false);}}});j.getView().addDependent(p);p.openBy(m);}_.showPopover=s;s.__functionName="rt.showPopover";return _;},false);
5
+ sap.ui.define(["sap/fe/macros/ResourceModel","sap/m/Button","sap/m/CustomListItem","sap/m/HBox","sap/m/Label","sap/m/List","sap/m/ObjectIdentifier","sap/m/ObjectStatus","sap/m/ResponsivePopover","sap/m/Text","sap/m/Toolbar","sap/fe/core/CommonUtils","sap/fe/macros/internal/situations/Formatter"],function(R,B,C,H,L,a,O,b,c,T,d,e,f){"use strict";var _={};function g(j,k){var l=j.getSource();var m;var p=new c({showHeader:false,contentWidth:"25em",placement:"Horizontal",content:[new a({items:{path:"_Instance",template:new C({type:"Navigation",press:function(j){var n=j.getSource();if(!m){m=h(k,function(){var o;(o=m)===null||o===void 0?void 0:o.close();p.openBy(l);});}n.setBusy(true);m.bindElement({path:j.getSource().getBindingContextPath(),parameters:{$expand:"_Trigger($expand=_Attribute($expand=_AttributeValue))"},events:{dataReceived:function(){var o;n.setBusy(false);p.close();(o=m)===null||o===void 0?void 0:o.openBy(l);}}});k.getView().addDependent(m);},content:[new H({items:[new b({icon:"sap-icon://alert",state:"Warning",tooltip:R.getText("situation")}).addStyleClass("sapUiTinyMarginEnd"),new O({title:{parts:[{path:"SitnInstceKey"},{path:"_Trigger/0/_InstanceText/SituationTitle"}],formatter:f.situationText},text:{path:"SitnInstceLastChgdAtDateTime",type:"sap.ui.model.odata.type.DateTimeOffset",constraints:{precision:7},formatOptions:{relative:true}}})]}).addStyleClass("sapUiSmallMarginBeginEnd").addStyleClass("sapUiSmallMarginTopBottom")]}),templateShareable:false},showNoData:false})]});return p;}function h(j,k){var p=k?"":"_Instance/0/";var S=e.getShellServices(j.getView());var t=new d();if(k){t.addContent(new B({type:"Back",tooltip:R.getText("back"),press:k}).addStyleClass("sapUiNoMarginEnd"));}t.addContent(new b({state:"Warning",icon:"sap-icon://alert",tooltip:R.getText("situationIconTooltip")}).addStyleClass("sapUiSmallMarginBegin")).addContent(new O({titleActive:false,title:{parts:[{path:"".concat(p,"SitnInstceKey")},{path:"".concat(p,"_Trigger/0/_InstanceText/SituationTitle")},{value:"".concat(p,"_Trigger/0/_Attribute")}],formatter:f.situationText}}).addStyleClass("sapUiSmallMarginEnd"));var l=new c({contentWidth:"25em",placement:"Horizontal",customHeader:t,content:[new L({text:{path:"".concat(p,"SitnInstceLastChgdAtDateTime"),type:"sap.ui.model.odata.type.DateTimeOffset",constraints:{precision:7},formatOptions:{relative:true}}}),new T({text:{parts:[{path:"".concat(p,"SitnInstceKey")},{path:"".concat(p,"_Trigger/0/_InstanceText/SituationText")},{value:"".concat(p,"_Trigger/0/_Attribute")}],formatter:f.situationText}}).addStyleClass("sapUiTinyMarginTop")],endButton:new B({text:R.getText("showDetails"),press:function(m){var n=m.getSource().getBindingContext().getObject("".concat(p,"SitnInstceKey"));var A={appStatekey:"",params:{"SitnInstceKey":n},target:{action:"displayExtended",semanticObject:"SituationInstance"}};if(n&&S.crossAppNavService){S.crossAppNavService.toExternal(A);}}})}).addStyleClass("sapUiPopupWithPadding").addStyleClass("sapUiResponsivePadding--header");return l;}function i(j,k){return h(k);}function s(j,k,l){var m=k.getSource(),n=m.getBindingContext(),o=n.getObject("".concat(l,"/SitnNumberOfInstances"));var p=o<=1?i(k,j):g(k,j);p.setBusy(true);p.bindElement({path:n.getPath(l),parameters:{$expand:"_Instance($expand=_Trigger($expand=_Attribute($expand=_AttributeValue)))"},events:{dataReceived:function(){p.setBusy(false);}}});j.getView().addDependent(p);p.openBy(m);}_.showPopover=s;s.__functionName="rt.showPopover";return _;},false);
@@ -1,4 +1,4 @@
1
- import { ResourceModel } from "sap/fe/macros";
1
+ import ResourceModel from "sap/fe/macros/ResourceModel";
2
2
  import Button from "sap/m/Button";
3
3
  import CustomListItem from "sap/m/CustomListItem";
4
4
  import HBox from "sap/m/HBox";
@@ -12,6 +12,7 @@ import Toolbar from "sap/m/Toolbar";
12
12
  import Controller from "sap/ui/core/mvc/Controller";
13
13
  import CommonUtils from "sap/fe/core/CommonUtils";
14
14
  import formatters from "sap/fe/macros/internal/situations/Formatter";
15
+ import UI5Event from "sap/ui/base/Event";
15
16
 
16
17
  function getMultipleSituationsPopover(event: UI5Event, controller: Controller) {
17
18
  const source = event.getSource();
@@ -30,7 +31,7 @@ function getMultipleSituationsPopover(event: UI5Event, controller: Controller) {
30
31
  type: "Navigation",
31
32
 
32
33
  press(event: UI5Event) {
33
- const pressedItem = event.getSource();
34
+ const pressedItem = event.getSource() as CustomListItem;
34
35
 
35
36
  // Create the details popover if needed
36
37
  if (!detailsPopover) {
@@ -44,7 +45,7 @@ function getMultipleSituationsPopover(event: UI5Event, controller: Controller) {
44
45
 
45
46
  // TODO: $orderby / $top=1 on '_Trigger' does not work
46
47
  detailsPopover.bindElement({
47
- path: event.getSource().getBindingContextPath(),
48
+ path: (event.getSource() as any).getBindingContextPath(),
48
49
  parameters: { $expand: "_Trigger($expand=_Attribute($expand=_AttributeValue))" },
49
50
  events: {
50
51
  dataReceived() {
@@ -163,10 +164,7 @@ function createPreviewPopover(controller: Controller, back?: (event: UI5Event) =
163
164
  text: ResourceModel.getText("showDetails"),
164
165
 
165
166
  press: (event: UI5Event) => {
166
- const situationKey = event
167
- .getSource()
168
- .getBindingContext()
169
- .getObject(`${pathPrefix}SitnInstceKey`);
167
+ const situationKey = (event.getSource() as any).getBindingContext().getObject(`${pathPrefix}SitnInstceKey`);
170
168
 
171
169
  const oArgs = {
172
170
  appStatekey: "",
@@ -178,7 +176,7 @@ function createPreviewPopover(controller: Controller, back?: (event: UI5Event) =
178
176
  semanticObject: "SituationInstance"
179
177
  }
180
178
  };
181
- if (situationKey) {
179
+ if (situationKey && oShellServices.crossAppNavService) {
182
180
  oShellServices.crossAppNavService.toExternal(oArgs);
183
181
  }
184
182
  }
@@ -195,7 +193,7 @@ function getSingleSituationPopover(event: UI5Event, controller: Controller) {
195
193
  }
196
194
 
197
195
  export function showPopover(controller: Controller, event: UI5Event, situationsNavigationProperty: string) {
198
- const situationIndicator = event.getSource(),
196
+ const situationIndicator = event.getSource() as any,
199
197
  bindingContext = situationIndicator.getBindingContext(),
200
198
  numberOfSituations = bindingContext.getObject(`${situationsNavigationProperty}/SitnNumberOfInstances`);
201
199