@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
@@ -1,5 +1,5 @@
1
- import { EntitySet, EntityType, NavigationProperty, Property } from "@sap-ux/annotation-converter";
2
- import { annotationExpression, constant, equal, Expression } from "sap/fe/core/helpers/BindingExpression";
1
+ import { ConverterOutput, EntitySet, EntityType, NavigationProperty, Property } from "@sap-ux/annotation-converter";
2
+ import { annotationExpression, constant, equal, Expression, unresolveableExpression } from "sap/fe/core/helpers/BindingExpression";
3
3
  import { NavigationPropertyRestrictionTypes } from "@sap-ux/vocabularies-types/dist/generated/Capabilities";
4
4
  import { PropertyOrPath } from "sap/fe/core/templating/DisplayModeFormatter";
5
5
  import { isAnnotationPathExpression, isPathExpression } from "sap/fe/core/templating/PropertyHelper";
@@ -20,6 +20,14 @@ export type DataModelObjectPath = {
20
20
  targetEntitySet?: EntitySet;
21
21
  targetEntityType: EntityType;
22
22
  targetObject: any;
23
+ convertedTypes: ConverterOutput;
24
+ };
25
+
26
+ type ExtractionParametersOnPath = {
27
+ propertyPath?: PropertyOrPath<Property>;
28
+ pathVisitor?: Function;
29
+ ignoreTargetCollection?: boolean;
30
+ authorizeUnresolvable?: boolean;
23
31
  };
24
32
 
25
33
  export const getPathRelativeLocation = function(
@@ -28,51 +36,49 @@ export const getPathRelativeLocation = function(
28
36
  ): NavigationProperty[] {
29
37
  if (!contextPath) {
30
38
  return visitedNavProps;
39
+ } else if (visitedNavProps.length >= contextPath.navigationProperties.length) {
40
+ let remainingNavProps: NavigationProperty[] = [];
41
+ contextPath.navigationProperties.forEach((navProp, navIndex) => {
42
+ if (visitedNavProps[navIndex] !== navProp) {
43
+ remainingNavProps.push(visitedNavProps[navIndex]);
44
+ }
45
+ });
46
+ remainingNavProps = remainingNavProps.concat(visitedNavProps.slice(contextPath.navigationProperties.length));
47
+ // Clean up NavProp -> Owner
48
+ let currentIdx = 0;
49
+ while (remainingNavProps.length > 1 && currentIdx != remainingNavProps.length - 1) {
50
+ const currentNav = remainingNavProps[currentIdx];
51
+ const nextNavProp = remainingNavProps[currentIdx + 1];
52
+ if (currentNav.partner === nextNavProp.name) {
53
+ remainingNavProps.splice(0, 2);
54
+ } else {
55
+ currentIdx++;
56
+ }
57
+ }
58
+ return remainingNavProps;
31
59
  } else {
32
- if (visitedNavProps.length >= contextPath.navigationProperties.length) {
33
- let remainingNavProps: NavigationProperty[] = [];
34
- contextPath.navigationProperties.forEach((navProp, navIndex) => {
35
- if (visitedNavProps[navIndex] !== navProp) {
36
- remainingNavProps.push(visitedNavProps[navIndex]);
37
- }
38
- });
39
- remainingNavProps = remainingNavProps.concat(visitedNavProps.slice(contextPath.navigationProperties.length));
40
- // Clean up NavProp -> Owner
41
- let currentIdx = 0;
42
- while (remainingNavProps.length > 1 && currentIdx != remainingNavProps.length - 1) {
43
- const currentNav = remainingNavProps[currentIdx];
44
- const nextNavProp = remainingNavProps[currentIdx + 1];
45
- if (currentNav.partner === nextNavProp.name) {
46
- remainingNavProps.splice(0, 2);
47
- } else {
48
- currentIdx++;
49
- }
60
+ let extraNavProp: NavigationProperty[] = [];
61
+ visitedNavProps.forEach((navProp, navIndex) => {
62
+ if (contextPath.navigationProperties[navIndex] !== navProp) {
63
+ extraNavProp.push(visitedNavProps[navIndex]);
50
64
  }
51
- return remainingNavProps;
52
- } else {
53
- let extraNavProp: NavigationProperty[] = [];
54
- visitedNavProps.forEach((navProp, navIndex) => {
55
- if (contextPath.navigationProperties[navIndex] !== navProp) {
56
- extraNavProp.push(visitedNavProps[navIndex]);
57
- }
58
- });
59
- extraNavProp = extraNavProp.concat(contextPath.navigationProperties.slice(visitedNavProps.length));
60
- // Clean up NavProp -> Owner
61
- let currentIdx = 0;
62
- while (extraNavProp.length > 1 && currentIdx != extraNavProp.length - 1) {
63
- const currentNav = extraNavProp[currentIdx];
64
- const nextNavProp = extraNavProp[currentIdx + 1];
65
- if (currentNav.partner === nextNavProp.name) {
66
- extraNavProp.splice(0, 2);
67
- } else {
68
- currentIdx++;
69
- }
65
+ });
66
+ extraNavProp = extraNavProp.concat(contextPath.navigationProperties.slice(visitedNavProps.length));
67
+ // Clean up NavProp -> Owner
68
+ let currentIdx = 0;
69
+ while (extraNavProp.length > 1 && currentIdx != extraNavProp.length - 1) {
70
+ const currentNav = extraNavProp[currentIdx];
71
+ const nextNavProp = extraNavProp[currentIdx + 1];
72
+ if (currentNav.partner === nextNavProp.name) {
73
+ extraNavProp.splice(0, 2);
74
+ } else {
75
+ currentIdx++;
70
76
  }
71
- extraNavProp = extraNavProp.map(navProp => {
72
- return navProp.targetType.navigationProperties.find(np => np.name === navProp.partner) as NavigationProperty;
73
- });
74
- return extraNavProp;
75
77
  }
78
+ extraNavProp = extraNavProp.map(navProp => {
79
+ return navProp.targetType.navigationProperties.find(np => np.name === navProp.partner) as NavigationProperty;
80
+ });
81
+ return extraNavProp;
76
82
  }
77
83
  };
78
84
 
@@ -122,7 +128,8 @@ export const enhanceDataModelPath = function(
122
128
  contextLocation: dataModelObjectPath.contextLocation,
123
129
  targetEntitySet: currentEntitySet,
124
130
  targetEntityType: currentEntityType,
125
- targetObject: oTarget
131
+ targetObject: oTarget,
132
+ convertedTypes: dataModelObjectPath.convertedTypes
126
133
  };
127
134
  };
128
135
 
@@ -217,61 +224,53 @@ export const getContextRelativeTargetObjectPath = function(
217
224
 
218
225
  export const isPathUpdatable = function(
219
226
  dataModelObjectPath: DataModelObjectPath | undefined,
220
- propertyPath?: PropertyOrPath<Property>,
221
- bTableCase?: boolean
227
+ extractionParametersOnPath?: ExtractionParametersOnPath
222
228
  ): Expression<boolean> {
223
229
  return checkOnPath(
224
230
  dataModelObjectPath,
225
231
  (annotationObject: NavigationPropertyRestriction | EntitySetAnnotations_Capabilities) => {
226
232
  return annotationObject?.UpdateRestrictions?.Updatable;
227
233
  },
228
- propertyPath,
229
- bTableCase
234
+ extractionParametersOnPath
230
235
  );
231
236
  };
232
237
 
233
238
  export const isPathSearchable = function(
234
239
  dataModelObjectPath: DataModelObjectPath | undefined,
235
- propertyPath?: PropertyOrPath<Property>,
236
- bTableCase?: boolean
240
+ extractionParametersOnPath?: ExtractionParametersOnPath
237
241
  ): Expression<boolean> {
238
242
  return checkOnPath(
239
243
  dataModelObjectPath,
240
244
  (annotationObject: NavigationPropertyRestriction | EntitySetAnnotations_Capabilities) => {
241
245
  return annotationObject?.SearchRestrictions?.Searchable;
242
246
  },
243
- propertyPath,
244
- bTableCase
247
+ extractionParametersOnPath
245
248
  );
246
249
  };
247
250
 
248
251
  export const isPathDeletable = function(
249
252
  dataModelObjectPath: DataModelObjectPath | undefined,
250
- propertyPath?: PropertyOrPath<Property>,
251
- bTableCase?: boolean
253
+ extractionParametersOnPath?: ExtractionParametersOnPath
252
254
  ): Expression<boolean> {
253
255
  return checkOnPath(
254
256
  dataModelObjectPath,
255
257
  (annotationObject: NavigationPropertyRestriction | EntitySetAnnotations_Capabilities) => {
256
258
  return annotationObject?.DeleteRestrictions?.Deletable;
257
259
  },
258
- propertyPath,
259
- bTableCase
260
+ extractionParametersOnPath
260
261
  );
261
262
  };
262
263
 
263
264
  export const isPathInsertable = function(
264
265
  dataModelObjectPath: DataModelObjectPath | undefined,
265
- propertyPath?: PropertyOrPath<Property>,
266
- bTableCase?: boolean
266
+ extractionParametersOnPath?: ExtractionParametersOnPath
267
267
  ): Expression<boolean> {
268
268
  return checkOnPath(
269
269
  dataModelObjectPath,
270
270
  (annotationObject: NavigationPropertyRestriction | EntitySetAnnotations_Capabilities) => {
271
271
  return annotationObject?.InsertRestrictions?.Insertable;
272
272
  },
273
- propertyPath,
274
- bTableCase
273
+ extractionParametersOnPath
275
274
  );
276
275
  };
277
276
 
@@ -303,13 +302,13 @@ export const checkFilterExpressionRestrictions = function(
303
302
  export const checkOnPath = function(
304
303
  dataModelObjectPath: DataModelObjectPath | undefined,
305
304
  checkFunction: Function,
306
- propertyPath?: PropertyOrPath<Property>,
307
- bTableCase?: boolean
305
+ extractionParametersOnPath?: ExtractionParametersOnPath
308
306
  ): Expression<boolean> {
309
307
  if (!dataModelObjectPath || !dataModelObjectPath.startingEntitySet) {
310
308
  return constant(true);
311
309
  }
312
- dataModelObjectPath = enhanceDataModelPath(dataModelObjectPath, propertyPath);
310
+
311
+ dataModelObjectPath = enhanceDataModelPath(dataModelObjectPath, extractionParametersOnPath?.propertyPath);
313
312
 
314
313
  let currentEntitySet: EntitySet | null = dataModelObjectPath.startingEntitySet;
315
314
  let parentEntitySet: EntitySet | null = null;
@@ -347,11 +346,11 @@ export const checkOnPath = function(
347
346
  });
348
347
 
349
348
  // At this point we have navigated down all the nav prop and we should have
350
- // The target entityset pointing to either null (in case of containment navprop a last part), or the actual target (non containment as target)
351
- // The parent entitySet pointing to the previous entityset used in the path
349
+ // The target entitySet pointing to either null (in case of containment navprop a last part), or the actual target (non containment as target)
350
+ // The parent entitySet pointing to the previous entitySet used in the path
352
351
  // VisitedNavigationPath should contain the path up to this property
353
352
 
354
- // Restrictions should then be evaluated as ParentEntitySet.NavRestrictions[NavpropertyPath] || TargetEntitySet.Restrictions
353
+ // Restrictions should then be evaluated as ParentEntitySet.NavRestrictions[NavPropertyPath] || TargetEntitySet.Restrictions
355
354
  const fullNavigationPath = visitedNavigationPropsName.join("/");
356
355
  let restrictions, visitedNavProps;
357
356
  if (parentEntitySet !== null) {
@@ -364,18 +363,19 @@ export const checkOnPath = function(
364
363
  const _allVisitedNavigationProps = allVisitedNavigationProps.slice(0, -1);
365
364
  if (targetEntitySet !== null) {
366
365
  visitedNavProps = _allVisitedNavigationProps;
366
+ } else if (_allVisitedNavigationProps.length === 0) {
367
+ visitedNavProps = allVisitedNavigationProps.slice(0);
367
368
  } else {
368
- if (_allVisitedNavigationProps.length === 0) {
369
- visitedNavProps = allVisitedNavigationProps.slice(0);
370
- } else {
371
- visitedNavProps = _allVisitedNavigationProps;
372
- }
369
+ visitedNavProps = _allVisitedNavigationProps;
373
370
  }
371
+ const pathRelativeLocation = getPathRelativeLocation(dataModelObjectPath?.contextLocation, visitedNavProps).map(
372
+ np => np.name
373
+ );
374
+ const pathVisitorFunction = extractionParametersOnPath?.pathVisitor
375
+ ? getPathVisitorForSingleton(extractionParametersOnPath.pathVisitor, pathRelativeLocation)
376
+ : undefined; // send pathVisitor function only when it is defined and only send function or defined as a parameter
374
377
  restrictions = equal(
375
- annotationExpression(
376
- restrictionDefinition,
377
- getPathRelativeLocation(dataModelObjectPath?.contextLocation, visitedNavProps).map(np => np.name)
378
- ),
378
+ annotationExpression(restrictionDefinition, pathRelativeLocation, undefined, pathVisitorFunction),
379
379
  true
380
380
  );
381
381
  }
@@ -384,25 +384,34 @@ export const checkOnPath = function(
384
384
  );
385
385
  }
386
386
  let targetRestrictions;
387
- let restrictionDefinition = checkFunction(targetEntitySet?.annotations?.Capabilities);
388
- if (targetEntitySet === null && restrictionDefinition === undefined) {
389
- restrictionDefinition = checkFunction(targetEntityType?.annotations?.Capabilities);
390
- }
391
- if (restrictionDefinition !== undefined) {
392
- targetRestrictions = equal(
393
- annotationExpression(
394
- restrictionDefinition,
395
- getPathRelativeLocation(dataModelObjectPath.contextLocation, allVisitedNavigationProps).map(np => np.name)
396
- ),
397
- true
398
- );
399
- }
400
- // On table case we need to know if restrictions are only set on targetEntity
401
- if (bTableCase && !restrictions && targetRestrictions) {
402
- const oResult: any = {
403
- "currentEntityRestriction": targetRestrictions
404
- };
405
- return oResult;
387
+ if (!extractionParametersOnPath?.ignoreTargetCollection) {
388
+ let restrictionDefinition = checkFunction(targetEntitySet?.annotations?.Capabilities);
389
+ if (targetEntitySet === null && restrictionDefinition === undefined) {
390
+ restrictionDefinition = checkFunction(targetEntityType?.annotations?.Capabilities);
391
+ }
392
+ if (restrictionDefinition !== undefined) {
393
+ const pathRelativeLocation = getPathRelativeLocation(dataModelObjectPath.contextLocation, allVisitedNavigationProps).map(
394
+ np => np.name
395
+ );
396
+ const pathVisitorFunction = extractionParametersOnPath?.pathVisitor
397
+ ? getPathVisitorForSingleton(extractionParametersOnPath.pathVisitor, pathRelativeLocation)
398
+ : undefined;
399
+ targetRestrictions = equal(
400
+ annotationExpression(restrictionDefinition, pathRelativeLocation, undefined, pathVisitorFunction),
401
+ true
402
+ );
403
+ }
406
404
  }
407
- return restrictions || targetRestrictions || constant(true);
405
+
406
+ return (
407
+ restrictions || targetRestrictions || (extractionParametersOnPath?.authorizeUnresolvable ? unresolveableExpression : constant(true))
408
+ );
409
+ };
410
+ // This helper method is used to add relative path location argument to singletonPathVisitorFunction i.e. pathVisitor
411
+ // pathVisitor method is used later to get the correct bindings for singleton entity
412
+ // method is invoked later in bindingExpression() method to get the correct binding.
413
+ const getPathVisitorForSingleton = function(pathVisitor: Function, pathRelativeLocation: string[]) {
414
+ return function(path: string) {
415
+ return pathVisitor(path, pathRelativeLocation);
416
+ };
408
417
  };
@@ -6,7 +6,6 @@ sap.ui.define(["sap/ui/mdc/condition/Condition", "sap/ui/mdc/enum/ConditionValid
6
6
  "use strict";
7
7
 
8
8
  var _exports = {};
9
- var createCondition = Condition.createCondition;
10
9
 
11
10
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
12
11
 
@@ -225,36 +224,30 @@ sap.ui.define(["sap/ui/mdc/condition/Condition", "sap/ui/mdc/enum/ConditionValid
225
224
  return aConditions;
226
225
  }
227
226
 
228
- function _buildFiltersConditionsFromSelectOption(oSelectOption, oMetaModel, sEntitySetPath, getCustomConditions) {
229
- var propertyName = oSelectOption.PropertyName,
230
- oFilterConditions = {},
231
- sPropertyName = propertyName.value || propertyName.$PropertyPath,
232
- Ranges = oSelectOption.Ranges;
233
- var sNavigationPropertyName, sTargetPropertyName, aValidProperties;
234
-
235
- if (sPropertyName && sPropertyName.lastIndexOf("/") > -1) {
236
- sNavigationPropertyName = sPropertyName.substring(0, sPropertyName.lastIndexOf("/") + 1);
237
- sTargetPropertyName = sPropertyName.replace(sNavigationPropertyName, "");
238
- aValidProperties = oMetaModel.getObject(sEntitySetPath + "/" + sNavigationPropertyName);
239
- } else {
240
- aValidProperties = oMetaModel.getObject(sEntitySetPath + "/");
241
- sTargetPropertyName = sPropertyName;
242
- }
227
+ function _getProperty(propertyName, metaModel, entitySetPath) {
228
+ var lastSlashIndex = propertyName.lastIndexOf("/");
229
+ var navigationPath = lastSlashIndex > -1 ? propertyName.substring(0, propertyName.lastIndexOf("/") + 1) : "";
230
+ var collection = metaModel.getObject(entitySetPath + "/" + navigationPath);
231
+ return collection === null || collection === void 0 ? void 0 : collection[propertyName.replace(navigationPath, "")];
232
+ }
243
233
 
244
- for (var key in aValidProperties) {
245
- var aConditions = [];
234
+ function _buildFiltersConditionsFromSelectOption(selectOption, metaModel, entitySetPath, getCustomConditions) {
235
+ var propertyName = selectOption.PropertyName,
236
+ filterConditions = {},
237
+ propertyPath = propertyName.value || propertyName.$PropertyPath,
238
+ Ranges = selectOption.Ranges;
246
239
 
247
- if (sTargetPropertyName === key) {
248
- var oValidProperty = aValidProperties[key];
249
- aConditions = (aConditions || []).concat(_buildConditionsFromSelectionRanges(Ranges, oValidProperty, sPropertyName, getCustomConditions));
240
+ var targetProperty = _getProperty(propertyPath, metaModel, entitySetPath);
250
241
 
251
- if (aConditions.length) {
252
- oFilterConditions[sPropertyName] = (oFilterConditions[sPropertyName] || []).concat(aConditions);
253
- }
242
+ if (targetProperty) {
243
+ var conditions = _buildConditionsFromSelectionRanges(Ranges, targetProperty, propertyPath, getCustomConditions);
244
+
245
+ if (conditions.length) {
246
+ filterConditions[propertyPath] = (filterConditions[propertyPath] || []).concat(conditions);
254
247
  }
255
248
  }
256
249
 
257
- return oFilterConditions;
250
+ return filterConditions;
258
251
  }
259
252
 
260
253
  function getFiltersConditionsFromSelectionVariant(sEntitySetPath, oMetaModel, selectionVariant, getCustomConditions) {
@@ -302,12 +295,12 @@ sap.ui.define(["sap/ui/mdc/condition/Condition", "sap/ui/mdc/enum/ConditionValid
302
295
  var oCondition;
303
296
  var sign = Range.Sign;
304
297
  var sOption = Range.Option ? getOperator(Range.Option) : undefined;
305
- var oValue1 = getTypeCompliantValue(Range.Low, oValidProperty.$Type);
306
- var oValue2 = Range.High ? getTypeCompliantValue(Range.High, oValidProperty.$Type) : undefined;
298
+ var oValue1 = getTypeCompliantValue(Range.Low, oValidProperty.$Type || oValidProperty.type);
299
+ var oValue2 = Range.High ? getTypeCompliantValue(Range.High, oValidProperty.$Type || oValidProperty.type) : undefined;
307
300
  var oConditionValues = resolveConditionValues(sOption, oValue1, oValue2, sign);
308
301
 
309
302
  if (oConditionValues) {
310
- oCondition = createCondition(oConditionValues.operator, oConditionValues.values, null, null, ConditionValidated.Validated);
303
+ oCondition = Condition.createCondition(oConditionValues.operator, oConditionValues.values, null, null, ConditionValidated.Validated);
311
304
  }
312
305
 
313
306
  return oCondition;
@@ -326,7 +319,7 @@ sap.ui.define(["sap/ui/mdc/condition/Condition", "sap/ui/mdc/enum/ConditionValid
326
319
 
327
320
  if (defaultFilterValue !== undefined) {
328
321
  var PropertyName = key;
329
- filterConditions[PropertyName] = [createCondition("EQ", [defaultFilterValue], null, null, ConditionValidated.Validated)];
322
+ filterConditions[PropertyName] = [Condition.createCondition("EQ", [defaultFilterValue], null, null, ConditionValidated.Validated)];
330
323
  }
331
324
  }
332
325
  }
@@ -341,7 +334,7 @@ sap.ui.define(["sap/ui/mdc/condition/Condition", "sap/ui/mdc/enum/ConditionValid
341
334
  for (var key in properties) {
342
335
  // currently defaultSemanticDates can support only one entry, we pick the first one directly using 0 index
343
336
  if (defaultSemanticDates[key] && defaultSemanticDates[key][0]) {
344
- filterConditions[key] = [createCondition(defaultSemanticDates[key][0].operator, [], null, null, null)];
337
+ filterConditions[key] = [Condition.createCondition(defaultSemanticDates[key][0].operator, [], null, null, null)];
345
338
  }
346
339
  }
347
340
  }
@@ -351,7 +344,7 @@ sap.ui.define(["sap/ui/mdc/condition/Condition", "sap/ui/mdc/enum/ConditionValid
351
344
 
352
345
  function getEditStatusFilter() {
353
346
  var ofilterConditions = {};
354
- ofilterConditions["$editState"] = [createCondition("DRAFT_EDIT_STATE", ["ALL"], null, null, ConditionValidated.Validated)];
347
+ ofilterConditions["$editState"] = [Condition.createCondition("DRAFT_EDIT_STATE", ["ALL"], null, null, ConditionValidated.Validated)];
355
348
  return ofilterConditions;
356
349
  }
357
350
 
@@ -397,4 +390,4 @@ sap.ui.define(["sap/ui/mdc/condition/Condition", "sap/ui/mdc/enum/ConditionValid
397
390
  getFilterConditions.requiresIContext = true;
398
391
  return _exports;
399
392
  }, false);
400
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZpbHRlckhlbHBlci50cyJdLCJuYW1lcyI6WyJhVmFsaWRUeXBlcyIsIm9FeGNsdWRlTWFwIiwiX2dldERhdGVUaW1lT2Zmc2V0Q29tcGxpYW50VmFsdWUiLCJzVmFsdWUiLCJvVmFsdWUiLCJtYXRjaCIsImluZGV4T2YiLCJsZW5ndGgiLCJzcGxpdCIsInVuZGVmaW5lZCIsIl9nZXREYXRlQ29tcGxpYW50VmFsdWUiLCJnZXRUeXBlQ29tcGxpYW50VmFsdWUiLCJzVHlwZSIsImlzTmFOIiwicGFyc2VGbG9hdCIsInBhcnNlSW50IiwicmVzb2x2ZUNvbmRpdGlvblZhbHVlcyIsInNPcHRpb24iLCJvVjEiLCJvVjIiLCJzU2lnbiIsIm9WYWx1ZTIiLCJzSW50ZXJuYWxPcGVyYXRpb24iLCJvQ29uZGl0aW9uIiwidmFsdWVzIiwiaXNFbXB0eSIsIm5JbmRleE9mIiwibkxhc3RJbmRleCIsImxhc3RJbmRleE9mIiwic3Vic3RyaW5nIiwib3BlcmF0b3IiLCJwdXNoIiwiZ2V0T3BlcmF0b3IiLCJzT3BlcmF0b3IiLCJfYnVpbGRDb25kaXRpb25zRnJvbVNlbGVjdGlvblJhbmdlcyIsIlJhbmdlcyIsIm9Qcm9wZXJ0eSIsInNQcm9wZXJ0eU5hbWUiLCJnZXRDdXN0b21Db25kaXRpb25zIiwiYUNvbmRpdGlvbnMiLCJmb3JFYWNoIiwiUmFuZ2UiLCJnZXRDb25kaXRpb25zIiwiX2J1aWxkRmlsdGVyc0NvbmRpdGlvbnNGcm9tU2VsZWN0T3B0aW9uIiwib1NlbGVjdE9wdGlvbiIsIm9NZXRhTW9kZWwiLCJzRW50aXR5U2V0UGF0aCIsInByb3BlcnR5TmFtZSIsIlByb3BlcnR5TmFtZSIsIm9GaWx0ZXJDb25kaXRpb25zIiwidmFsdWUiLCIkUHJvcGVydHlQYXRoIiwic05hdmlnYXRpb25Qcm9wZXJ0eU5hbWUiLCJzVGFyZ2V0UHJvcGVydHlOYW1lIiwiYVZhbGlkUHJvcGVydGllcyIsInJlcGxhY2UiLCJnZXRPYmplY3QiLCJrZXkiLCJvVmFsaWRQcm9wZXJ0eSIsImNvbmNhdCIsImdldEZpbHRlcnNDb25kaXRpb25zRnJvbVNlbGVjdGlvblZhcmlhbnQiLCJzZWxlY3Rpb25WYXJpYW50IiwiYVNlbGVjdE9wdGlvbnMiLCJTZWxlY3RPcHRpb25zIiwiYVBhcmFtZXRlcnMiLCJQYXJhbWV0ZXJzIiwic2VsZWN0T3B0aW9uIiwiT2JqZWN0Iiwia2V5cyIsImluY2x1ZGVzIiwicGFyYW1ldGVyIiwic1Byb3BlcnR5UGF0aCIsInZhbHVlMSIsIlByb3BlcnR5VmFsdWUiLCJ2YWx1ZTIiLCJwYXRoIiwiaXNQYXJhbWV0ZXIiLCJ2YWxpZGF0ZWQiLCJDb25kaXRpb25WYWxpZGF0ZWQiLCJWYWxpZGF0ZWQiLCJzaWduIiwiU2lnbiIsIk9wdGlvbiIsIm9WYWx1ZTEiLCJMb3ciLCIkVHlwZSIsIkhpZ2giLCJvQ29uZGl0aW9uVmFsdWVzIiwiY3JlYXRlQ29uZGl0aW9uIiwiZ2V0RGVmYXVsdFZhbHVlRmlsdGVycyIsIm9Db250ZXh0IiwicHJvcGVydGllcyIsImZpbHRlckNvbmRpdGlvbnMiLCJlbnRpdHlTZXRQYXRoIiwiZ2V0SW50ZXJmYWNlIiwiZ2V0UGF0aCIsImdldE1vZGVsIiwiZGVmYXVsdEZpbHRlclZhbHVlIiwiZ2V0RGVmYXVsdFNlbWFudGljRGF0ZUZpbHRlcnMiLCJkZWZhdWx0U2VtYW50aWNEYXRlcyIsImdldEVkaXRTdGF0dXNGaWx0ZXIiLCJvZmlsdGVyQ29uZGl0aW9ucyIsImdldEZpbHRlckNvbmRpdGlvbnMiLCJlZGl0U3RhdGVGaWx0ZXIiLCJlbnRpdHlUeXBlQW5ub3RhdGlvbnMiLCJlbnRpdHlUeXBlUHJvcGVydGllcyIsImRlZmF1bHRGaWx0ZXJzIiwiZGVmYXVsdFNlbWFudGljRGF0ZUZpbHRlcnMiLCJKU09OIiwic3RyaW5naWZ5IiwicmVxdWlyZXNJQ29udGV4dCJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7OztBQVNBLE1BQU1BLFdBQVcsR0FBRyxDQUNuQixhQURtQixFQUVuQixVQUZtQixFQUduQixVQUhtQixF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RUFBc0QsTUFBdEQsQ0FBM0MsR0FBMkc5QyxTQUFuSDtBQUNBOzs7QUFFRDZGLEVBQUFBLG1CQUFtQixDQUFDUSxnQkFBcEIsR0FBdUMsSUFBdkMiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlbGVjdE9wdGlvblR5cGUsIFNlbGVjdGlvblZhcmlhbnRUeXBlVHlwZXMsIFNlbGVjdGlvblJhbmdlVHlwZVR5cGVzIH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzL2Rpc3QvZ2VuZXJhdGVkL1VJXCI7XG5pbXBvcnQgeyBjcmVhdGVDb25kaXRpb24gfSBmcm9tIFwic2FwL3VpL21kYy9jb25kaXRpb24vQ29uZGl0aW9uXCI7XG5pbXBvcnQgQ29uZGl0aW9uVmFsaWRhdGVkIGZyb20gXCJzYXAvdWkvbWRjL2VudW0vQ29uZGl0aW9uVmFsaWRhdGVkXCI7XG5pbXBvcnQgT0RhdGFNZXRhTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9PRGF0YU1ldGFNb2RlbFwiO1xuZXhwb3J0IHR5cGUgRmlsdGVyQ29uZGl0aW9ucyA9IHtcblx0b3BlcmF0b3I6IHN0cmluZztcblx0dmFsdWVzOiBBcnJheTxzdHJpbmc+O1xuXHRpc0VtcHR5PzogYm9vbGVhbiB8IG51bGw7XG5cdHZhbGlkYXRlZD86IHN0cmluZztcbn07XG5cbmNvbnN0IGFWYWxpZFR5cGVzID0gW1xuXHRcIkVkbS5Cb29sZWFuXCIsXG5cdFwiRWRtLkJ5dGVcIixcblx0XCJFZG0uRGF0ZVwiLFxuXHRcIkVkbS5EYXRlVGltZVwiLFxuXHRcIkVkbS5EYXRlVGltZU9mZnNldFwiLFxuXHRcIkVkbS5EZWNpbWFsXCIsXG5cdFwiRWRtLkRvdWJsZVwiLFxuXHRcIkVkbS5GbG9hdFwiLFxuXHRcIkVkbS5HdWlkXCIsXG5cdFwiRWRtLkludDE2XCIsXG5cdFwiRWRtLkludDMyXCIsXG5cdFwiRWRtLkludDY0XCIsXG5cdFwiRWRtLlNCeXRlXCIsXG5cdFwiRWRtLlNpbmdsZVwiLFxuXHRcIkVkbS5TdHJpbmdcIixcblx0XCJFZG0uVGltZVwiLFxuXHRcIkVkbS5UaW1lT2ZEYXlcIlxuXTtcblxuY29uc3Qgb0V4Y2x1ZGVNYXA6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7XG5cdFwiQ29udGFpbnNcIjogXCJOb3RDb250YWluc1wiLFxuXHRcIlN0YXJ0c1dpdGhcIjogXCJOb3RTdGFydHNXaXRoXCIsXG5cdFwiRW5kc1dpdGhcIjogXCJOb3RFbmRzV2l0aFwiLFxuXHRcIkVtcHR5XCI6IFwiTm90RW1wdHlcIixcblx0XCJOb3RFbXB0eVwiOiBcIkVtcHR5XCIsXG5cdFwiTEVcIjogXCJOT1RMRVwiLFxuXHRcIkdFXCI6IFwiTk9UR0VcIixcblx0XCJMVFwiOiBcIk5PVExUXCIsXG5cdFwiR1RcIjogXCJOT1RHVFwiLFxuXHRcIkJUXCI6IFwiTk9UQlRcIixcblx0XCJORVwiOiBcIkVRXCIsXG5cdFwiRVFcIjogXCJORVwiXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gX2dldERhdGVUaW1lT2Zmc2V0Q29tcGxpYW50VmFsdWUoc1ZhbHVlOiBhbnkpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuXHRsZXQgb1ZhbHVlO1xuXHRpZiAoc1ZhbHVlLm1hdGNoKC9eKFxcZHs0fSktKFxcZHsxLDJ9KS0oXFxkezEsMn0pVChcXGR7MSwyfSk6KFxcZHsxLDJ9KTooXFxkezEsMn0pXFwrKFxcZHsxLDR9KS8pKSB7XG5cdFx0b1ZhbHVlID0gc1ZhbHVlLm1hdGNoKC9eKFxcZHs0fSktKFxcZHsxLDJ9KS0oXFxkezEsMn0pVChcXGR7MSwyfSk6KFxcZHsxLDJ9KTooXFxkezEsMn0pXFwrKFxcZHsxLDR9KS8pWzBdO1xuXHR9IGVsc2UgaWYgKHNWYWx1ZS5tYXRjaCgvXihcXGR7NH0pLShcXGR7MSwyfSktKFxcZHsxLDJ9KVQoXFxkezEsMn0pOihcXGR7MSwyfSk6KFxcZHsxLDJ9KS8pKSB7XG5cdFx0b1ZhbHVlID0gc1ZhbHVlLm1hdGNoKC9eKFxcZHs0fSktKFxcZHsxLDJ9KS0oXFxkezEsMn0pVChcXGR7MSwyfSk6KFxcZHsxLDJ9KTooXFxkezEsMn0pLylbMF0gKyBcIiswMDAwXCI7XG5cdH0gZWxzZSBpZiAoc1ZhbHVlLm1hdGNoKC9eKFxcZHs0fSktKFxcZHsxLDJ9KS0oXFxkezEsMn0pLykpIHtcblx0XHRvVmFsdWUgPSBzVmFsdWUubWF0Y2goL14oXFxkezR9KS0oXFxkezEsMn0pLShcXGR7MSwyfSkvKVswXSArIFwiVDAwOjAwOjAwKzAwMDBcIjtcblx0fSBlbHNlIGlmIChzVmFsdWUuaW5kZXhPZihcIlpcIikgPT09IHNWYWx1ZS5sZW5ndGggLSAxKSB7XG5cdFx0b1ZhbHVlID0gc1ZhbHVlLnNwbGl0KFwiWlwiKVswXSArIFwiKzAxMDBcIjtcblx0fSBlbHNlIHtcblx0XHRvVmFsdWUgPSB1bmRlZmluZWQ7XG5cdH1cblx0cmV0dXJuIG9WYWx1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9nZXREYXRlQ29tcGxpYW50VmFsdWUoc1ZhbHVlOiBhbnkpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuXHRyZXR1cm4gc1ZhbHVlLm1hdGNoKC9eKFxcZHs0fSktKFxcZHsxLDJ9KS0oXFxkezEsMn0pLylcblx0XHQ/IHNWYWx1ZS5tYXRjaCgvXihcXGR7NH0pLShcXGR7MSwyfSktKFxcZHsxLDJ9KS8pWzBdXG5cdFx0OiBzVmFsdWUubWF0Y2goL14oXFxkezh9KS8pICYmIHNWYWx1ZS5tYXRjaCgvXihcXGR7OH0pLylbMF07XG59XG5cbi8qKlxuICogTWV0aG9kIHRvIGdldCB0aGUgY29tcGxpYW50IHZhbHVlIHR5cGUgYmFzZWQgb24gdGhlIGRhdGEgdHlwZS5cbiAqXG4gKiBAcGFyYW0gIHNWYWx1ZSBSYXcgdmFsdWVcbiAqIEBwYXJhbSAgc1R5cGUgVGhlIHByb3BlcnR5IHR5cGVcbiAqIEByZXR1cm5zIFZhbHVlIHRvIGJlIHByb3BhZ2F0ZWQgdG8gdGhlIGNvbmRpdGlvbi5cbiAqL1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VHlwZUNvbXBsaWFudFZhbHVlKHNWYWx1ZTogYW55LCBzVHlwZTogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0bGV0IG9WYWx1ZTtcblx0aWYgKGFWYWxpZFR5cGVzLmluZGV4T2Yoc1R5cGUpID09PSAtMSkge1xuXHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdH1cblx0b1ZhbHVlID0gc1ZhbHVlO1xuXHRzd2l0Y2ggKHNUeXBlKSB7XG5cdFx0Y2FzZSBcIkVkbS5Cb29sZWFuXCI6XG5cdFx0XHRvVmFsdWUgPSBzVmFsdWUgPT09IFwidHJ1ZVwiIHx8IChzVmFsdWUgPT09IFwiZmFsc2VcIiA/IGZhbHNlIDogdW5kZWZpbmVkKTtcblx0XHRcdGJyZWFrO1xuXHRcdGNhc2UgXCJFZG0uRG91YmxlXCI6XG5cdFx0Y2FzZSBcIkVkbS5TaW5nbGVcIjpcblx0XHRcdG9WYWx1ZSA9IGlzTmFOKHNWYWx1ZSkgPyB1bmRlZmluZWQgOiBwYXJzZUZsb2F0KHNWYWx1ZSk7XG5cdFx0XHRicmVhaztcblx0XHRjYXNlIFwiRWRtLkJ5dGVcIjpcblx0XHRjYXNlIFwiRWRtLkludDE2XCI6XG5cdFx0Y2FzZSBcIkVkbS5JbnQzMlwiOlxuXHRcdGNhc2UgXCJFZG0uU0J5dGVcIjpcblx0XHRcdG9WYWx1ZSA9IGlzTmFOKHNWYWx1ZSkgPyB1bmRlZmluZWQgOiBwYXJzZUludChzVmFsdWUsIDEwKTtcblx0XHRcdGJyZWFrO1xuXHRcdGNhc2UgXCJFZG0uRGF0ZVwiOlxuXHRcdFx0b1ZhbHVlID0gX2dldERhdGVDb21wbGlhbnRWYWx1ZShzVmFsdWUpO1xuXHRcdFx0YnJlYWs7XG5cdFx0Y2FzZSBcIkVkbS5EYXRlVGltZU9mZnNldFwiOlxuXHRcdFx0b1ZhbHVlID0gX2dldERhdGVUaW1lT2Zmc2V0Q29tcGxpYW50VmFsdWUoc1ZhbHVlKTtcblx0XHRcdGJyZWFrO1xuXHRcdGNhc2UgXCJFZG0uVGltZU9mRGF5XCI6XG5cdFx0XHRvVmFsdWUgPSBzVmFsdWUubWF0Y2goLyhcXGR7MSwyfSk6KFxcZHsxLDJ9KTooXFxkezEsMn0pLykgPyBzVmFsdWUubWF0Y2goLyhcXGR7MSwyfSk6KFxcZHsxLDJ9KTooXFxkezEsMn0pLylbMF0gOiB1bmRlZmluZWQ7XG5cdFx0XHRicmVhaztcblx0XHRkZWZhdWx0OlxuXHR9XG5cblx0cmV0dXJuIG9WYWx1ZSA9PT0gbnVsbCA/IHVuZGVmaW5lZCA6IG9WYWx1ZTtcbn1cblxuLyoqXG4gKiBNZXRob2QgdG8gY3JlYXRlIGEgY29uZGl0aW9uLlxuICogQHBhcmFtICBzT3B0aW9uIE9wZXJhdG9yIHRvIGJlIHVzZWQuXG4gKiBAcGFyYW0gIG9WMSBMb3dlciB2YWx1ZVxuICogQHBhcmFtICBvVjIgSGlnaGVyIHZhbHVlXG4gKiBAcGFyYW0gc1NpZ25cbiAqIEByZXR1cm5zIENvbmRpdGlvbiB0byBiZSBjcmVhdGVkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlQ29uZGl0aW9uVmFsdWVzKHNPcHRpb246IHN0cmluZyB8IHVuZGVmaW5lZCwgb1YxOiBhbnksIG9WMjogYW55LCBzU2lnbjogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG5cdGxldCBvVmFsdWUgPSBvVjEsXG5cdFx0b1ZhbHVlMixcblx0XHRzSW50ZXJuYWxPcGVyYXRpb246IGFueTtcblx0Y29uc3Qgb0NvbmRpdGlvbjogUmVjb3JkPHN0cmluZywgRmlsdGVyQ29uZGl0aW9uc1tdPiA9IHt9O1xuXHRvQ29uZGl0aW9uLnZhbHVlcyA9IFtdO1xuXHRvQ29uZGl0aW9uLmlzRW1wdHkgPSBudWxsIGFzIGFueTtcblx0aWYgKG9WMSA9PT0gdW5kZWZpbmVkIHx8IG9WMSA9PT0gbnVsbCkge1xuXHRcdHJldHVybjtcblx0fVxuXG5cdHN3aXRjaCAoc09wdGlvbikge1xuXHRcdGNhc2UgXCJDUFwiOlxuXHRcdFx0c0ludGVybmFsT3BlcmF0aW9uID0gXCJDb250YWluc1wiO1xuXHRcdFx0aWYgKG9WYWx1ZSkge1xuXHRcdFx0XHRjb25zdCBuSW5kZXhPZiA9IG9WYWx1ZS5pbmRleE9mKFwiKlwiKTtcblx0XHRcdFx0Y29uc3Qgbkxhc3RJbmRleCA9IG9WYWx1ZS5sYXN0SW5kZXhPZihcIipcIik7XG5cblx0XHRcdFx0Ly8gb25seSB3aGVuIHRoZXJlIGFyZSAnKicgYXQgYWxsXG5cdFx0XHRcdGlmIChuSW5kZXhPZiA+IC0xKSB7XG5cdFx0XHRcdFx0aWYgKG5JbmRleE9mID09PSAwICYmIG5MYXN0SW5kZXggIT09IG9WYWx1ZS5sZW5ndGggLSAxKSB7XG5cdFx0XHRcdFx0XHRzSW50ZXJuYWxPcGVyYXRpb24gPSBcIkVuZHNXaXRoXCI7XG5cdFx0XHRcdFx0XHRvVmFsdWUgPSBvVmFsdWUuc3Vic3RyaW5nKDEsIG9WYWx1ZS5sZW5ndGgpO1xuXHRcdFx0XHRcdH0gZWxzZSBpZiAobkluZGV4T2YgIT09IDAgJiYgbkxhc3RJbmRleCA9PT0gb1ZhbHVlLmxlbmd0aCAtIDEpIHtcblx0XHRcdFx0XHRcdHNJbnRlcm5hbE9wZXJhdGlvbiA9IFwiU3RhcnRzV2l0aFwiO1xuXHRcdFx0XHRcdFx0b1ZhbHVlID0gb1ZhbHVlLnN1YnN0cmluZygwLCBvVmFsdWUubGVuZ3RoIC0gMSk7XG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdG9WYWx1ZSA9IG9WYWx1ZS5zdWJzdHJpbmcoMSwgb1ZhbHVlLmxlbmd0aCAtIDEpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHQvKiBUT0RPIEFkZCBkaWFnb25vc3RpY3MgTG9nLndhcm5pbmcoXCJDb250YWlucyBPcHRpb24gY2Fubm90IGJlIHVzZWQgd2l0aG91dCAnKicuXCIpICovXG5cdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRicmVhaztcblx0XHRjYXNlIFwiRVFcIjpcblx0XHRcdHNJbnRlcm5hbE9wZXJhdGlvbiA9IG9WMSA9PT0gXCJcIiA/IFwiRW1wdHlcIiA6IHNPcHRpb247XG5cdFx0XHRicmVhaztcblx0XHRjYXNlIFwiTkVcIjpcblx0XHRcdHNJbnRlcm5hbE9wZXJhdGlvbiA9IG9WMSA9PT0gXCJcIiA/IFwiTm90RW1wdHlcIiA6IHNPcHRpb247XG5cdFx0XHRicmVhaztcblx0XHRjYXNlIFwiQlRcIjpcblx0XHRcdGlmIChvVjIgPT09IHVuZGVmaW5lZCB8fCBvVjIgPT09IG51bGwpIHtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdFx0b1ZhbHVlMiA9IG9WMjtcblx0XHRcdHNJbnRlcm5hbE9wZXJhdGlvbiA9IHNPcHRpb247XG5cdFx0XHRicmVhaztcblx0XHRjYXNlIFwiTEVcIjpcblx0XHRjYXNlIFwiR0VcIjpcblx0XHRjYXNlIFwiR1RcIjpcblx0XHRjYXNlIFwiTFRcIjpcblx0XHRcdHNJbnRlcm5hbE9wZXJhdGlvbiA9IHNPcHRpb247XG5cdFx0XHRicmVhaztcblx0XHRkZWZhdWx0OlxuXHRcdFx0LyogVE9ETyBBZGQgZGlhZ29ub3N0aWNzIExvZy53YXJuaW5nKFwiU2VsZWN0aW9uIE9wdGlvbiBpcyBub3Qgc3VwcG9ydGVkIDogJ1wiICsgc09wdGlvbiArIFwiJ1wiKTsgKi9cblx0XHRcdHJldHVybjtcblx0fVxuXHRpZiAoc1NpZ24gPT09IFwiRVwiKSB7XG5cdFx0c0ludGVybmFsT3BlcmF0aW9uID0gb0V4Y2x1ZGVNYXBbc0ludGVybmFsT3BlcmF0aW9uXTtcblx0fVxuXHRvQ29uZGl0aW9uLm9wZXJhdG9yID0gc0ludGVybmFsT3BlcmF0aW9uO1xuXHRpZiAoc0ludGVybmFsT3BlcmF0aW9uICE9PSBcIkVtcHR5XCIpIHtcblx0XHRvQ29uZGl0aW9uLnZhbHVlcy5wdXNoKG9WYWx1ZSk7XG5cdFx0aWYgKG9WYWx1ZTIpIHtcblx0XHRcdG9Db25kaXRpb24udmFsdWVzLnB1c2gob1ZhbHVlMik7XG5cdFx0fVxuXHR9XG5cdHJldHVybiBvQ29uZGl0aW9uO1xufVxuXG4vKiBNZXRob2QgdG8gZ2V0IHRoZSBvcGVyYXRvciBmcm9tIHRoZSBTZWxlY3Rpb24gT3B0aW9uICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0T3BlcmF0b3Ioc09wZXJhdG9yOiBzdHJpbmcpOiBzdHJpbmcge1xuXHRyZXR1cm4gc09wZXJhdG9yLmluZGV4T2YoXCIvXCIpID4gMCA/IHNPcGVyYXRvci5zcGxpdChcIi9cIilbMV0gOiBzT3BlcmF0b3I7XG59XG5cbmZ1bmN0aW9uIF9idWlsZENvbmRpdGlvbnNGcm9tU2VsZWN0aW9uUmFuZ2VzKFxuXHRSYW5nZXM6IFNlbGVjdGlvblJhbmdlVHlwZVR5cGVzW10sXG5cdG9Qcm9wZXJ0eTogUmVjb3JkPHN0cmluZywgb2JqZWN0Pixcblx0c1Byb3BlcnR5TmFtZTogc3RyaW5nLFxuXHRnZXRDdXN0b21Db25kaXRpb25zPzogRnVuY3Rpb25cbik6IGFueVtdIHtcblx0Y29uc3QgYUNvbmRpdGlvbnM6IGFueVtdID0gW107XG5cdFJhbmdlcz8uZm9yRWFjaCgoUmFuZ2U6IGFueSkgPT4ge1xuXHRcdGNvbnN0IG9Db25kaXRpb24gPSBnZXRDdXN0b21Db25kaXRpb25zID8gZ2V0Q3VzdG9tQ29uZGl0aW9ucyhSYW5nZSwgb1Byb3BlcnR5LCBzUHJvcGVydHlOYW1lKSA6IGdldENvbmRpdGlvbnMoUmFuZ2UsIG9Qcm9wZXJ0eSk7XG5cdFx0aWYgKG9Db25kaXRpb24pIHtcblx0XHRcdGFDb25kaXRpb25zLnB1c2gob0NvbmRpdGlvbik7XG5cdFx0fVxuXHR9KTtcblx0cmV0dXJuIGFDb25kaXRpb25zO1xufVxuXG5mdW5jdGlvbiBfYnVpbGRGaWx0ZXJzQ29uZGl0aW9uc0Zyb21TZWxlY3RPcHRpb24oXG5cdG9TZWxlY3RPcHRpb246IFNlbGVjdE9wdGlvblR5cGUsXG5cdG9NZXRhTW9kZWw6IE9EYXRhTWV0YU1vZGVsLFxuXHRzRW50aXR5U2V0UGF0aDogc3RyaW5nLFxuXHRnZXRDdXN0b21Db25kaXRpb25zPzogRnVuY3Rpb25cbik6IFJlY29yZDxzdHJpbmcsIEZpbHRlckNvbmRpdGlvbnNbXT4ge1xuXHRjb25zdCBwcm9wZXJ0eU5hbWU6IGFueSA9IG9TZWxlY3RPcHRpb24uUHJvcGVydHlOYW1lLFxuXHRcdG9GaWx0ZXJDb25kaXRpb25zOiBSZWNvcmQ8c3RyaW5nLCBGaWx0ZXJDb25kaXRpb25zW10+ID0ge30sXG5cdFx0c1Byb3BlcnR5TmFtZTogc3RyaW5nID0gcHJvcGVydHlOYW1lLnZhbHVlIHx8IHByb3BlcnR5TmFtZS4kUHJvcGVydHlQYXRoLFxuXHRcdFJhbmdlczogU2VsZWN0aW9uUmFuZ2VUeXBlVHlwZXNbXSA9IG9TZWxlY3RPcHRpb24uUmFuZ2VzO1xuXHRsZXQgc05hdmlnYXRpb25Qcm9wZXJ0eU5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCwgc1RhcmdldFByb3BlcnR5TmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkLCBhVmFsaWRQcm9wZXJ0aWVzOiBSZWNvcmQ8c3RyaW5nLCBvYmplY3Q+O1xuXHRpZiAoc1Byb3BlcnR5TmFtZSAmJiBzUHJvcGVydHlOYW1lLmxhc3RJbmRleE9mKFwiL1wiKSA+IC0xKSB7XG5cdFx0c05hdmlnYXRpb25Qcm9wZXJ0eU5hbWUgPSBzUHJvcGVydHlOYW1lLnN1YnN0cmluZygwLCBzUHJvcGVydHlOYW1lLmxhc3RJbmRleE9mKFwiL1wiKSArIDEpO1xuXHRcdHNUYXJnZXRQcm9wZXJ0eU5hbWUgPSBzUHJvcGVydHlOYW1lLnJlcGxhY2Uoc05hdmlnYXRpb25Qcm9wZXJ0eU5hbWUsIFwiXCIpO1xuXHRcdGFWYWxpZFByb3BlcnRpZXMgPSBvTWV0YU1vZGVsLmdldE9iamVjdChzRW50aXR5U2V0UGF0aCArIFwiL1wiICsgc05hdmlnYXRpb25Qcm9wZXJ0eU5hbWUpO1xuXHR9IGVsc2Uge1xuXHRcdGFWYWxpZFByb3BlcnRpZXMgPSBvTWV0YU1vZGVsLmdldE9iamVjdChzRW50aXR5U2V0UGF0aCArIFwiL1wiKTtcblx0XHRzVGFyZ2V0UHJvcGVydHlOYW1lID0gc1Byb3BlcnR5TmFtZTtcblx0fVxuXHRmb3IgKGNvbnN0IGtleSBpbiBhVmFsaWRQcm9wZXJ0aWVzKSB7XG5cdFx0bGV0IGFDb25kaXRpb25zOiBhbnlbXSA9IFtdO1xuXHRcdGlmIChzVGFyZ2V0UHJvcGVydHlOYW1lID09PSBrZXkpIHtcblx0XHRcdGNvbnN0IG9WYWxpZFByb3BlcnR5ID0gYVZhbGlkUHJvcGVydGllc1trZXldIGFzIGFueTtcblx0XHRcdGFDb25kaXRpb25zID0gKGFDb25kaXRpb25zIHx8IFtdKS5jb25jYXQoXG5cdFx0XHRcdF9idWlsZENvbmRpdGlvbnNGcm9tU2VsZWN0aW9uUmFuZ2VzKFJhbmdlcywgb1ZhbGlkUHJvcGVydHksIHNQcm9wZXJ0eU5hbWUsIGdldEN1c3RvbUNvbmRpdGlvbnMpXG5cdFx0XHQpO1xuXHRcdFx0aWYgKGFDb25kaXRpb25zLmxlbmd0aCkge1xuXHRcdFx0XHRvRmlsdGVyQ29uZGl0aW9uc1tzUHJvcGVydHlOYW1lXSA9IChvRmlsdGVyQ29uZGl0aW9uc1tzUHJvcGVydHlOYW1lXSB8fCBbXSkuY29uY2F0KGFDb25kaXRpb25zKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0cmV0dXJuIG9GaWx0ZXJDb25kaXRpb25zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RmlsdGVyc0NvbmRpdGlvbnNGcm9tU2VsZWN0aW9uVmFyaWFudChcblx0c0VudGl0eVNldFBhdGg6IHN0cmluZyxcblx0b01ldGFNb2RlbDogT0RhdGFNZXRhTW9kZWwsXG5cdHNlbGVjdGlvblZhcmlhbnQ6IFNlbGVjdGlvblZhcmlhbnRUeXBlVHlwZXMsXG5cdGdldEN1c3RvbUNvbmRpdGlvbnM/OiBGdW5jdGlvblxuKTogUmVjb3JkPHN0cmluZywgRmlsdGVyQ29uZGl0aW9uc1tdPiB7XG5cdGxldCBvRmlsdGVyQ29uZGl0aW9uczogUmVjb3JkPHN0cmluZywgRmlsdGVyQ29uZGl0aW9uc1tdPiA9IHt9O1xuXHRpZiAoIXNlbGVjdGlvblZhcmlhbnQpIHtcblx0XHRyZXR1cm4gb0ZpbHRlckNvbmRpdGlvbnM7XG5cdH1cblx0Y29uc3QgYVNlbGVjdE9wdGlvbnMgPSBzZWxlY3Rpb25WYXJpYW50LlNlbGVjdE9wdGlvbnMsXG5cdFx0YVBhcmFtZXRlcnMgPSBzZWxlY3Rpb25WYXJpYW50LlBhcmFtZXRlcnM7XG5cdGFTZWxlY3RPcHRpb25zPy5mb3JFYWNoKChzZWxlY3RPcHRpb246IFNlbGVjdE9wdGlvblR5cGUpID0+IHtcblx0XHRjb25zdCBwcm9wZXJ0eU5hbWU6IGFueSA9IHNlbGVjdE9wdGlvbi5Qcm9wZXJ0eU5hbWUsXG5cdFx0XHRzUHJvcGVydHlOYW1lOiBzdHJpbmcgPSBwcm9wZXJ0eU5hbWUudmFsdWUgfHwgcHJvcGVydHlOYW1lLiRQcm9wZXJ0eVBhdGg7XG5cdFx0aWYgKE9iamVjdC5rZXlzKG9GaWx0ZXJDb25kaXRpb25zKS5pbmNsdWRlcyhzUHJvcGVydHlOYW1lKSkge1xuXHRcdFx0b0ZpbHRlckNvbmRpdGlvbnNbc1Byb3BlcnR5TmFtZV0gPSBvRmlsdGVyQ29uZGl0aW9uc1tzUHJvcGVydHlOYW1lXS5jb25jYXQoXG5cdFx0XHRcdF9idWlsZEZpbHRlcnNDb25kaXRpb25zRnJvbVNlbGVjdE9wdGlvbihzZWxlY3RPcHRpb24sIG9NZXRhTW9kZWwsIHNFbnRpdHlTZXRQYXRoLCBnZXRDdXN0b21Db25kaXRpb25zKVtzUHJvcGVydHlOYW1lXVxuXHRcdFx0KTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0b0ZpbHRlckNvbmRpdGlvbnMgPSB7XG5cdFx0XHRcdC4uLm9GaWx0ZXJDb25kaXRpb25zLFxuXHRcdFx0XHQuLi5fYnVpbGRGaWx0ZXJzQ29uZGl0aW9uc0Zyb21TZWxlY3RPcHRpb24oc2VsZWN0T3B0aW9uLCBvTWV0YU1vZGVsLCBzRW50aXR5U2V0UGF0aCwgZ2V0Q3VzdG9tQ29uZGl0aW9ucylcblx0XHRcdH07XG5cdFx0fVxuXHR9KTtcblx0YVBhcmFtZXRlcnM/LmZvckVhY2goKHBhcmFtZXRlcjogYW55KSA9PiB7XG5cdFx0Y29uc3Qgc1Byb3BlcnR5UGF0aCA9IHBhcmFtZXRlci5Qcm9wZXJ0eU5hbWUudmFsdWUgfHwgcGFyYW1ldGVyLlByb3BlcnR5TmFtZS4kUHJvcGVydHlQYXRoO1xuXHRcdGNvbnN0IG9Db25kaXRpb246IGFueSA9IGdldEN1c3RvbUNvbmRpdGlvbnNcblx0XHRcdD8geyBvcGVyYXRvcjogXCJFUVwiLCB2YWx1ZTE6IHBhcmFtZXRlci5Qcm9wZXJ0eVZhbHVlLCB2YWx1ZTI6IG51bGwsIHBhdGg6IHNQcm9wZXJ0eVBhdGgsIGlzUGFyYW1ldGVyOiB0cnVlIH1cblx0XHRcdDoge1xuXHRcdFx0XHRcdG9wZXJhdG9yOiBcIkVRXCIsXG5cdFx0XHRcdFx0dmFsdWVzOiBbcGFyYW1ldGVyLlByb3BlcnR5VmFsdWVdLFxuXHRcdFx0XHRcdGlzRW1wdHk6IG51bGwsXG5cdFx0XHRcdFx0dmFsaWRhdGVkOiBDb25kaXRpb25WYWxpZGF0ZWQuVmFsaWRhdGVkLFxuXHRcdFx0XHRcdGlzUGFyYW1ldGVyOiB0cnVlXG5cdFx0XHQgIH07XG5cdFx0b0ZpbHRlckNvbmRpdGlvbnNbc1Byb3BlcnR5UGF0aF0gPSBbb0NvbmRpdGlvbl07XG5cdH0pO1xuXG5cdHJldHVybiBvRmlsdGVyQ29uZGl0aW9ucztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldENvbmRpdGlvbnMoUmFuZ2U6IGFueSwgb1ZhbGlkUHJvcGVydHk6IGFueSkge1xuXHRsZXQgb0NvbmRpdGlvbjtcblx0Y29uc3Qgc2lnbjogc3RyaW5nIHwgdW5kZWZpbmVkID0gUmFuZ2UuU2lnbjtcblx0Y29uc3Qgc09wdGlvbjogc3RyaW5nIHwgdW5kZWZpbmVkID0gUmFuZ2UuT3B0aW9uID8gZ2V0T3BlcmF0b3IoUmFuZ2UuT3B0aW9uKSA6IHVuZGVmaW5lZDtcblx0Y29uc3Qgb1ZhbHVlMTogYW55ID0gZ2V0VHlwZUNvbXBsaWFudFZhbHVlKFJhbmdlLkxvdywgb1ZhbGlkUHJvcGVydHkuJFR5cGUpO1xuXHRjb25zdCBvVmFsdWUyOiBhbnkgPSBSYW5nZS5IaWdoID8gZ2V0VHlwZUNvbXBsaWFudFZhbHVlKFJhbmdlLkhpZ2gsIG9WYWxpZFByb3BlcnR5LiRUeXBlKSA6IHVuZGVmaW5lZDtcblx0Y29uc3Qgb0NvbmRpdGlvblZhbHVlcyA9IHJlc29sdmVDb25kaXRpb25WYWx1ZXMoc09wdGlvbiwgb1ZhbHVlMSwgb1ZhbHVlMiwgc2lnbikgYXMgYW55O1xuXHRpZiAob0NvbmRpdGlvblZhbHVlcykge1xuXHRcdG9Db25kaXRpb24gPSBjcmVhdGVDb25kaXRpb24ob0NvbmRpdGlvblZhbHVlcy5vcGVyYXRvciwgb0NvbmRpdGlvblZhbHVlcy52YWx1ZXMsIG51bGwsIG51bGwsIENvbmRpdGlvblZhbGlkYXRlZC5WYWxpZGF0ZWQpO1xuXHR9XG5cdHJldHVybiBvQ29uZGl0aW9uO1xufVxuXG5jb25zdCBnZXREZWZhdWx0VmFsdWVGaWx0ZXJzID0gZnVuY3Rpb24ob0NvbnRleHQ6IGFueSwgcHJvcGVydGllczogYW55KTogUmVjb3JkPHN0cmluZywgRmlsdGVyQ29uZGl0aW9uc1tdPiB7XG5cdGNvbnN0IGZpbHRlckNvbmRpdGlvbnM6IFJlY29yZDxzdHJpbmcsIEZpbHRlckNvbmRpdGlvbnNbXT4gPSB7fTtcblx0Y29uc3QgZW50aXR5U2V0UGF0aCA9IG9Db250ZXh0LmdldEludGVyZmFjZSgxKS5nZXRQYXRoKCksXG5cdFx0b01ldGFNb2RlbCA9IG9Db250ZXh0LmdldEludGVyZmFjZSgxKS5nZXRNb2RlbCgpO1xuXHRpZiAocHJvcGVydGllcykge1xuXHRcdGZvciAoY29uc3Qga2V5IGluIHByb3BlcnRpZXMpIHtcblx0XHRcdGNvbnN0IGRlZmF1bHRGaWx0ZXJWYWx1ZSA9IG9NZXRhTW9kZWwuZ2V0T2JqZWN0KFxuXHRcdFx0XHRlbnRpdHlTZXRQYXRoICsgXCIvXCIgKyBrZXkgKyBcIkBjb20uc2FwLnZvY2FidWxhcmllcy5Db21tb24udjEuRmlsdGVyRGVmYXVsdFZhbHVlXCJcblx0XHRcdCk7XG5cdFx0XHRpZiAoZGVmYXVsdEZpbHRlclZhbHVlICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0Y29uc3QgUHJvcGVydHlOYW1lID0ga2V5O1xuXHRcdFx0XHRmaWx0ZXJDb25kaXRpb25zW1Byb3BlcnR5TmFtZV0gPSBbXG5cdFx0XHRcdFx0Y3JlYXRlQ29uZGl0aW9uKFwiRVFcIiwgW2RlZmF1bHRGaWx0ZXJWYWx1ZV0sIG51bGwsIG51bGwsIENvbmRpdGlvblZhbGlkYXRlZC5WYWxpZGF0ZWQpIGFzIEZpbHRlckNvbmRpdGlvbnNcblx0XHRcdFx0XTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0cmV0dXJuIGZpbHRlckNvbmRpdGlvbnM7XG59O1xuXG5jb25zdCBnZXREZWZhdWx0U2VtYW50aWNEYXRlRmlsdGVycyA9IGZ1bmN0aW9uKFxuXHRvQ29udGV4dDogYW55LFxuXHRwcm9wZXJ0aWVzOiBhbnksXG5cdGRlZmF1bHRTZW1hbnRpY0RhdGVzOiBhbnlcbik6IFJlY29yZDxzdHJpbmcsIEZpbHRlckNvbmRpdGlvbnNbXT4ge1xuXHRjb25zdCBmaWx0ZXJDb25kaXRpb25zOiBSZWNvcmQ8c3RyaW5nLCBGaWx0ZXJDb25kaXRpb25zW10+ID0ge307XG5cdGlmIChwcm9wZXJ0aWVzKSB7XG5cdFx0Zm9yIChjb25zdCBrZXkgaW4gcHJvcGVydGllcykge1xuXHRcdFx0Ly8gY3VycmVudGx5IGRlZmF1bHRTZW1hbnRpY0RhdGVzIGNhbiBzdXBwb3J0IG9ubHkgb25lIGVudHJ5LCB3ZSBwaWNrIHRoZSBmaXJzdCBvbmUgZGlyZWN0bHkgdXNpbmcgMCBpbmRleFxuXHRcdFx0aWYgKGRlZmF1bHRTZW1hbnRpY0RhdGVzW2tleV0gJiYgZGVmYXVsdFNlbWFudGljRGF0ZXNba2V5XVswXSkge1xuXHRcdFx0XHRmaWx0ZXJDb25kaXRpb25zW2tleV0gPSBbY3JlYXRlQ29uZGl0aW9uKGRlZmF1bHRTZW1hbnRpY0RhdGVzW2tleV1bMF0ub3BlcmF0b3IsIFtdLCBudWxsLCBudWxsLCBudWxsKSBhcyBGaWx0ZXJDb25kaXRpb25zXTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0cmV0dXJuIGZpbHRlckNvbmRpdGlvbnM7XG59O1xuXG5mdW5jdGlvbiBnZXRFZGl0U3RhdHVzRmlsdGVyKCk6IFJlY29yZDxzdHJpbmcsIEZpbHRlckNvbmRpdGlvbnNbXT4ge1xuXHRjb25zdCBvZmlsdGVyQ29uZGl0aW9uczogUmVjb3JkPHN0cmluZywgRmlsdGVyQ29uZGl0aW9uc1tdPiA9IHt9O1xuXHRvZmlsdGVyQ29uZGl0aW9uc1tcIiRlZGl0U3RhdGVcIl0gPSBbXG5cdFx0Y3JlYXRlQ29uZGl0aW9uKFwiRFJBRlRfRURJVF9TVEFURVwiLCBbXCJBTExcIl0sIG51bGwsIG51bGwsIENvbmRpdGlvblZhbGlkYXRlZC5WYWxpZGF0ZWQpIGFzIEZpbHRlckNvbmRpdGlvbnNcblx0XTtcblx0cmV0dXJuIG9maWx0ZXJDb25kaXRpb25zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RmlsdGVyQ29uZGl0aW9ucyhvQ29udGV4dDogYW55LCBmaWx0ZXJDb25kaXRpb25zOiBhbnkpOiBSZWNvcmQ8c3RyaW5nLCBGaWx0ZXJDb25kaXRpb25zW10+IHtcblx0bGV0IGVkaXRTdGF0ZUZpbHRlcjtcblx0Y29uc3QgZW50aXR5U2V0UGF0aCA9IG9Db250ZXh0LmdldEludGVyZmFjZSgxKS5nZXRQYXRoKCksXG5cdFx0b01ldGFNb2RlbCA9IG9Db250ZXh0LmdldEludGVyZmFjZSgxKS5nZXRNb2RlbCgpLFxuXHRcdGVudGl0eVR5cGVBbm5vdGF0aW9ucyA9IG9NZXRhTW9kZWwuZ2V0T2JqZWN0KGVudGl0eVNldFBhdGggKyBcIkBcIiksXG5cdFx0ZW50aXR5VHlwZVByb3BlcnRpZXMgPSBvTWV0YU1vZGVsLmdldE9iamVjdChlbnRpdHlTZXRQYXRoICsgXCIvXCIpO1xuXHRpZiAoXG5cdFx0ZW50aXR5VHlwZUFubm90YXRpb25zW1wiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLkNvbW1vbi52MS5EcmFmdFJvb3RcIl0gfHxcblx0XHRlbnRpdHlUeXBlQW5ub3RhdGlvbnNbXCJAY29tLnNhcC52b2NhYnVsYXJpZXMuQ29tbW9uLnYxLkRyYWZ0Tm9kZVwiXVxuXHQpIHtcblx0XHRlZGl0U3RhdGVGaWx0ZXIgPSBnZXRFZGl0U3RhdHVzRmlsdGVyKCk7XG5cdH1cblx0Y29uc3Qgc2VsZWN0aW9uVmFyaWFudCA9IGZpbHRlckNvbmRpdGlvbnM/LnNlbGVjdGlvblZhcmlhbnQ7XG5cdGNvbnN0IGRlZmF1bHRTZW1hbnRpY0RhdGVzID0gZmlsdGVyQ29uZGl0aW9ucz8uZGVmYXVsdFNlbWFudGljRGF0ZXMgfHwge307XG5cdGNvbnN0IGRlZmF1bHRGaWx0ZXJzID0gZ2V0RGVmYXVsdFZhbHVlRmlsdGVycyhvQ29udGV4dCwgZW50aXR5VHlwZVByb3BlcnRpZXMpO1xuXHRjb25zdCBkZWZhdWx0U2VtYW50aWNEYXRlRmlsdGVycyA9IGdldERlZmF1bHRTZW1hbnRpY0RhdGVGaWx0ZXJzKG9Db250ZXh0LCBlbnRpdHlUeXBlUHJvcGVydGllcywgZGVmYXVsdFNlbWFudGljRGF0ZXMpO1xuXHRpZiAoc2VsZWN0aW9uVmFyaWFudCkge1xuXHRcdGZpbHRlckNvbmRpdGlvbnMgPSBnZXRGaWx0ZXJzQ29uZGl0aW9uc0Zyb21TZWxlY3Rpb25WYXJpYW50KGVudGl0eVNldFBhdGgsIG9NZXRhTW9kZWwsIHNlbGVjdGlvblZhcmlhbnQpO1xuXHR9IGVsc2UgaWYgKGRlZmF1bHRGaWx0ZXJzKSB7XG5cdFx0ZmlsdGVyQ29uZGl0aW9ucyA9IGRlZmF1bHRGaWx0ZXJzO1xuXHR9XG5cdGlmIChkZWZhdWx0U2VtYW50aWNEYXRlRmlsdGVycykge1xuXHRcdC8vIG9ubHkgZm9yIHNlbWFudGljIGRhdGU6XG5cdFx0Ly8gMS4gdmFsdWUgZnJvbSBtYW5pZmVzdCBnZXQgbWVyZ2VkIHdpdGggU1Zcblx0XHQvLyAyLiBtYW5pZmVzdCB2YWx1ZSBpcyBnaXZlbiBwcmVmZXJlbmNlIHdoZW4gdGhlcmUgaXMgc2FtZSBzZW1hbnRpYyBkYXRlIHByb3BlcnR5IGluIFNWIGFuZCBtYW5pZmVzdFxuXHRcdGZpbHRlckNvbmRpdGlvbnMgPSB7IC4uLmZpbHRlckNvbmRpdGlvbnMsIC4uLmRlZmF1bHRTZW1hbnRpY0RhdGVGaWx0ZXJzIH07XG5cdH1cblx0aWYgKGVkaXRTdGF0ZUZpbHRlcikge1xuXHRcdGZpbHRlckNvbmRpdGlvbnMgPSB7IC4uLmZpbHRlckNvbmRpdGlvbnMsIC4uLmVkaXRTdGF0ZUZpbHRlciB9O1xuXHR9XG5cdHJldHVybiAoT2JqZWN0LmtleXMoZmlsdGVyQ29uZGl0aW9ucykubGVuZ3RoID4gMCA/IEpTT04uc3RyaW5naWZ5KGZpbHRlckNvbmRpdGlvbnMpLnJlcGxhY2UoLyhbXFx7XFx9XSkvZywgXCJcXFxcJDFcIikgOiB1bmRlZmluZWQpIGFzIGFueTtcbn1cblxuZ2V0RmlsdGVyQ29uZGl0aW9ucy5yZXF1aXJlc0lDb250ZXh0ID0gdHJ1ZTtcbiJdfQ==
393
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZpbHRlckhlbHBlci50cyJdLCJuYW1lcyI6WyJhVmFsaWRUeXBlcyIsIm9FeGNsdWRlTWFwIiwiX2dldERhdGVUaW1lT2Zmc2V0Q29tcGxpYW50VmFsdWUiLCJzVmFsdWUiLCJvVmFsdWUiLCJtYXRjaCIsImluZGV4T2YiLCJsZW5ndGgiLCJzcGxpdCIsInVuZGVmaW5lZCIsIl9nZXREYXRlQ29tcGxpYW50VmFsdWUiLCJnZXRUeXBlQ29tcGxpYW50VmFsdWUiLCJzVHlwZSIsImlzTmFOIiwicGFyc2VGbG9hdCIsInBhcnNlSW50IiwicmVzb2x2ZUNvbmRpdGlvblZhbHVlcyIsInNPcHRpb24iLCJvVjEiLCJvVjIiLCJzU2lnbiIsIm9WYWx1ZTIiLCJzSW50ZXJuYWxPcGVyYXRpb24iLCJvQ29uZGl0aW9uIiwidmFsdWVzIiwiaXNFbXB0eSIsIm5JbmRleE9mIiwibkxhc3RJbmRleCIsImxhc3RJbmRleE9mIiwic3Vic3RyaW5nIiwib3BlcmF0b3IiLCJwdXNoIiwiZ2V0T3BlcmF0b3IiLCJzT3BlcmF0b3IiLCJfYnVpbGRDb25kaXRpb25zRnJvbVNlbGVjdGlvblJhbmdlcyIsIlJhbmdlcyIsIm9Qcm9wZXJ0eSIsInNQcm9wZXJ0eU5hbWUiLCJnZXRDdXN0b21Db25kaXRpb25zIiwiYUNvbmRpdGlvbnMiLCJmb3JFYWNoIiwiUmFuZ2UiLCJnZXRDb25kaXRpb25zIiwiX2dldFByb3BlcnR5IiwicHJvcGVydHlOYW1lIiwibWV0YU1vZGVsIiwiZW50aXR5U2V0UGF0aCIsImxhc3RTbGFzaEluZGV4IiwibmF2aWdhdGlvblBhdGgiLCJjb2xsZWN0aW9uIiwiZ2V0T2JqZWN0IiwicmVwbGFjZSIsIl9idWlsZEZpbHRlcnNDb25kaXRpb25zRnJvbVNlbGVjdE9wdGlvbiIsInNlbGVjdE9wdGlvbiIsIlByb3BlcnR5TmFtZSIsImZpbHRlckNvbmRpdGlvbnMiLCJwcm9wZXJ0eVBhdGgiLCJ2YWx1ZSIsIiRQcm9wZXJ0eVBhdGgiLCJ0YXJnZXRQcm9wZXJ0eSIsImNvbmRpdGlvbnMiLCJjb25jYXQiLCJnZXRGaWx0ZXJzQ29uZGl0aW9uc0Zyb21TZWxlY3Rpb25WYXJpYW50Iiwic0VudGl0eVNldFBhdGgiLCJvTWV0YU1vZGVsIiwic2VsZWN0aW9uVmFyaWFudCIsIm9GaWx0ZXJDb25kaXRpb25zIiwiYVNlbGVjdE9wdGlvbnMiLCJTZWxlY3RPcHRpb25zIiwiYVBhcmFtZXRlcnMiLCJQYXJhbWV0ZXJzIiwiT2JqZWN0Iiwia2V5cyIsImluY2x1ZGVzIiwicGFyYW1ldGVyIiwic1Byb3BlcnR5UGF0aCIsInZhbHVlMSIsIlByb3BlcnR5VmFsdWUiLCJ2YWx1ZTIiLCJwYXRoIiwiaXNQYXJhbWV0ZXIiLCJ2YWxpZGF0ZWQiLCJDb25kaXRpb25WYWxpZGF0ZWQiLCJWYWxpZGF0ZWQiLCJvVmFsaWRQcm9wZXJ0eSIsInNpZ24iLCJTaWduIiwiT3B0aW9uIiwib1ZhbHVlMSIsIkxvdyIsIiRUeXBlIiwidHlwZSIsIkhpZ2giLCJvQ29uZGl0aW9uVmFsdWVzIiwiQ29uZGl0aW9uIiwiY3JlYXRlQ29uZGl0aW9uIiwiZ2V0RGVmYXVsdFZhbHVlRmlsdGVycyIsIm9Db250ZXh0IiwicHJvcGVydGllcyIsImdldEludGVyZmFjZSIsImdldFBhdGgiLCJnZXRNb2RlbCIsImtleSIsImRlZmF1bHRGaWx0ZXJWYWx1ZSIsImdldERlZmF1bHRTZW1hbnRpY0RhdGVGaWx0ZXJzIiwiZGVmYXVsdFNlbWFudGljRGF0ZXMiLCJnZXRFZGl0U3RhdHVzRmlsdGVyIiwib2ZpbHRlckNvbmRpdGlvbnMiLCJnZXRGaWx0ZXJDb25kaXRpb25zIiwiZWRpdFN0YXRlRmlsdGVyIiwiZW50aXR5VHlwZUFubm90YXRpb25zIiwiZW50aXR5VHlwZVByb3BlcnRpZXMiLCJkZWZhdWx0RmlsdGVycyIsImRlZmF1bHRTZW1hbnRpY0RhdGVGaWx0ZXJzIiwiSlNPTiIsInN0cmluZ2lmeSIsInJlcXVpcmVzSUNvbnRleHQiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7OztBQVNB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QUVEbUcsRUFBQUEsbUJBQW1CLENBQUNRLGdCQUFwQixHQUF1QyxJQUF2QyIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VsZWN0T3B0aW9uVHlwZSwgU2VsZWN0aW9uVmFyaWFudFR5cGVUeXBlcywgU2VsZWN0aW9uUmFuZ2VUeXBlVHlwZXMgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXMvZGlzdC9nZW5lcmF0ZWQvVUlcIjtcbmltcG9ydCBDb25kaXRpb24sIHsgQ29uZGl0aW9uT2JqZWN0IH0gZnJvbSBcInNhcC91aS9tZGMvY29uZGl0aW9uL0NvbmRpdGlvblwiO1xuaW1wb3J0IENvbmRpdGlvblZhbGlkYXRlZCBmcm9tIFwic2FwL3VpL21kYy9lbnVtL0NvbmRpdGlvblZhbGlkYXRlZFwiO1xuaW1wb3J0IE9EYXRhTWV0YU1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvT0RhdGFNZXRhTW9kZWxcIjtcbmV4cG9ydCB0eXBlIEZpbHRlckNvbmRpdGlvbnMgPSB7XG5cdG9wZXJhdG9yOiBzdHJpbmc7XG5cdHZhbHVlczogQXJyYXk8c3RyaW5nPjtcblx0aXNFbXB0eT86IGJvb2xlYW4gfCBudWxsO1xuXHR2YWxpZGF0ZWQ/OiBzdHJpbmc7XG59O1xuXG5jb25zdCBhVmFsaWRUeXBlcyA9IFtcblx0XCJFZG0uQm9vbGVhblwiLFxuXHRcIkVkbS5CeXRlXCIsXG5cdFwiRWRtLkRhdGVcIixcblx0XCJFZG0uRGF0ZVRpbWVcIixcblx0XCJFZG0uRGF0ZVRpbWVPZmZzZXRcIixcblx0XCJFZG0uRGVjaW1hbFwiLFxuXHRcIkVkbS5Eb3VibGVcIixcblx0XCJFZG0uRmxvYXRcIixcblx0XCJFZG0uR3VpZFwiLFxuXHRcIkVkbS5JbnQxNlwiLFxuXHRcIkVkbS5JbnQzMlwiLFxuXHRcIkVkbS5JbnQ2NFwiLFxuXHRcIkVkbS5TQnl0ZVwiLFxuXHRcIkVkbS5TaW5nbGVcIixcblx0XCJFZG0uU3RyaW5nXCIsXG5cdFwiRWRtLlRpbWVcIixcblx0XCJFZG0uVGltZU9mRGF5XCJcbl07XG5cbmNvbnN0IG9FeGNsdWRlTWFwOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge1xuXHRcIkNvbnRhaW5zXCI6IFwiTm90Q29udGFpbnNcIixcblx0XCJTdGFydHNXaXRoXCI6IFwiTm90U3RhcnRzV2l0aFwiLFxuXHRcIkVuZHNXaXRoXCI6IFwiTm90RW5kc1dpdGhcIixcblx0XCJFbXB0eVwiOiBcIk5vdEVtcHR5XCIsXG5cdFwiTm90RW1wdHlcIjogXCJFbXB0eVwiLFxuXHRcIkxFXCI6IFwiTk9UTEVcIixcblx0XCJHRVwiOiBcIk5PVEdFXCIsXG5cdFwiTFRcIjogXCJOT1RMVFwiLFxuXHRcIkdUXCI6IFwiTk9UR1RcIixcblx0XCJCVFwiOiBcIk5PVEJUXCIsXG5cdFwiTkVcIjogXCJFUVwiLFxuXHRcIkVRXCI6IFwiTkVcIlxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIF9nZXREYXRlVGltZU9mZnNldENvbXBsaWFudFZhbHVlKHNWYWx1ZTogYW55KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0bGV0IG9WYWx1ZTtcblx0aWYgKHNWYWx1ZS5tYXRjaCgvXihcXGR7NH0pLShcXGR7MSwyfSktKFxcZHsxLDJ9KVQoXFxkezEsMn0pOihcXGR7MSwyfSk6KFxcZHsxLDJ9KVxcKyhcXGR7MSw0fSkvKSkge1xuXHRcdG9WYWx1ZSA9IHNWYWx1ZS5tYXRjaCgvXihcXGR7NH0pLShcXGR7MSwyfSktKFxcZHsxLDJ9KVQoXFxkezEsMn0pOihcXGR7MSwyfSk6KFxcZHsxLDJ9KVxcKyhcXGR7MSw0fSkvKVswXTtcblx0fSBlbHNlIGlmIChzVmFsdWUubWF0Y2goL14oXFxkezR9KS0oXFxkezEsMn0pLShcXGR7MSwyfSlUKFxcZHsxLDJ9KTooXFxkezEsMn0pOihcXGR7MSwyfSkvKSkge1xuXHRcdG9WYWx1ZSA9IHNWYWx1ZS5tYXRjaCgvXihcXGR7NH0pLShcXGR7MSwyfSktKFxcZHsxLDJ9KVQoXFxkezEsMn0pOihcXGR7MSwyfSk6KFxcZHsxLDJ9KS8pWzBdICsgXCIrMDAwMFwiO1xuXHR9IGVsc2UgaWYgKHNWYWx1ZS5tYXRjaCgvXihcXGR7NH0pLShcXGR7MSwyfSktKFxcZHsxLDJ9KS8pKSB7XG5cdFx0b1ZhbHVlID0gc1ZhbHVlLm1hdGNoKC9eKFxcZHs0fSktKFxcZHsxLDJ9KS0oXFxkezEsMn0pLylbMF0gKyBcIlQwMDowMDowMCswMDAwXCI7XG5cdH0gZWxzZSBpZiAoc1ZhbHVlLmluZGV4T2YoXCJaXCIpID09PSBzVmFsdWUubGVuZ3RoIC0gMSkge1xuXHRcdG9WYWx1ZSA9IHNWYWx1ZS5zcGxpdChcIlpcIilbMF0gKyBcIiswMTAwXCI7XG5cdH0gZWxzZSB7XG5cdFx0b1ZhbHVlID0gdW5kZWZpbmVkO1xuXHR9XG5cdHJldHVybiBvVmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBfZ2V0RGF0ZUNvbXBsaWFudFZhbHVlKHNWYWx1ZTogYW55KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0cmV0dXJuIHNWYWx1ZS5tYXRjaCgvXihcXGR7NH0pLShcXGR7MSwyfSktKFxcZHsxLDJ9KS8pXG5cdFx0PyBzVmFsdWUubWF0Y2goL14oXFxkezR9KS0oXFxkezEsMn0pLShcXGR7MSwyfSkvKVswXVxuXHRcdDogc1ZhbHVlLm1hdGNoKC9eKFxcZHs4fSkvKSAmJiBzVmFsdWUubWF0Y2goL14oXFxkezh9KS8pWzBdO1xufVxuXG4vKipcbiAqIE1ldGhvZCB0byBnZXQgdGhlIGNvbXBsaWFudCB2YWx1ZSB0eXBlIGJhc2VkIG9uIHRoZSBkYXRhIHR5cGUuXG4gKlxuICogQHBhcmFtICBzVmFsdWUgUmF3IHZhbHVlXG4gKiBAcGFyYW0gIHNUeXBlIFRoZSBwcm9wZXJ0eSB0eXBlXG4gKiBAcmV0dXJucyBWYWx1ZSB0byBiZSBwcm9wYWdhdGVkIHRvIHRoZSBjb25kaXRpb24uXG4gKi9cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFR5cGVDb21wbGlhbnRWYWx1ZShzVmFsdWU6IGFueSwgc1R5cGU6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG5cdGxldCBvVmFsdWU7XG5cdGlmIChhVmFsaWRUeXBlcy5pbmRleE9mKHNUeXBlKSA9PT0gLTEpIHtcblx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHR9XG5cdG9WYWx1ZSA9IHNWYWx1ZTtcblx0c3dpdGNoIChzVHlwZSkge1xuXHRcdGNhc2UgXCJFZG0uQm9vbGVhblwiOlxuXHRcdFx0b1ZhbHVlID0gc1ZhbHVlID09PSBcInRydWVcIiB8fCAoc1ZhbHVlID09PSBcImZhbHNlXCIgPyBmYWxzZSA6IHVuZGVmaW5lZCk7XG5cdFx0XHRicmVhaztcblx0XHRjYXNlIFwiRWRtLkRvdWJsZVwiOlxuXHRcdGNhc2UgXCJFZG0uU2luZ2xlXCI6XG5cdFx0XHRvVmFsdWUgPSBpc05hTihzVmFsdWUpID8gdW5kZWZpbmVkIDogcGFyc2VGbG9hdChzVmFsdWUpO1xuXHRcdFx0YnJlYWs7XG5cdFx0Y2FzZSBcIkVkbS5CeXRlXCI6XG5cdFx0Y2FzZSBcIkVkbS5JbnQxNlwiOlxuXHRcdGNhc2UgXCJFZG0uSW50MzJcIjpcblx0XHRjYXNlIFwiRWRtLlNCeXRlXCI6XG5cdFx0XHRvVmFsdWUgPSBpc05hTihzVmFsdWUpID8gdW5kZWZpbmVkIDogcGFyc2VJbnQoc1ZhbHVlLCAxMCk7XG5cdFx0XHRicmVhaztcblx0XHRjYXNlIFwiRWRtLkRhdGVcIjpcblx0XHRcdG9WYWx1ZSA9IF9nZXREYXRlQ29tcGxpYW50VmFsdWUoc1ZhbHVlKTtcblx0XHRcdGJyZWFrO1xuXHRcdGNhc2UgXCJFZG0uRGF0ZVRpbWVPZmZzZXRcIjpcblx0XHRcdG9WYWx1ZSA9IF9nZXREYXRlVGltZU9mZnNldENvbXBsaWFudFZhbHVlKHNWYWx1ZSk7XG5cdFx0XHRicmVhaztcblx0XHRjYXNlIFwiRWRtLlRpbWVPZkRheVwiOlxuXHRcdFx0b1ZhbHVlID0gc1ZhbHVlLm1hdGNoKC8oXFxkezEsMn0pOihcXGR7MSwyfSk6KFxcZHsxLDJ9KS8pID8gc1ZhbHVlLm1hdGNoKC8oXFxkezEsMn0pOihcXGR7MSwyfSk6KFxcZHsxLDJ9KS8pWzBdIDogdW5kZWZpbmVkO1xuXHRcdFx0YnJlYWs7XG5cdFx0ZGVmYXVsdDpcblx0fVxuXG5cdHJldHVybiBvVmFsdWUgPT09IG51bGwgPyB1bmRlZmluZWQgOiBvVmFsdWU7XG59XG5cbi8qKlxuICogTWV0aG9kIHRvIGNyZWF0ZSBhIGNvbmRpdGlvbi5cbiAqIEBwYXJhbSAgc09wdGlvbiBPcGVyYXRvciB0byBiZSB1c2VkLlxuICogQHBhcmFtICBvVjEgTG93ZXIgdmFsdWVcbiAqIEBwYXJhbSAgb1YyIEhpZ2hlciB2YWx1ZVxuICogQHBhcmFtIHNTaWduXG4gKiBAcmV0dXJucyBDb25kaXRpb24gdG8gYmUgY3JlYXRlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZUNvbmRpdGlvblZhbHVlcyhzT3B0aW9uOiBzdHJpbmcgfCB1bmRlZmluZWQsIG9WMTogYW55LCBvVjI6IGFueSwgc1NpZ246IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuXHRsZXQgb1ZhbHVlID0gb1YxLFxuXHRcdG9WYWx1ZTIsXG5cdFx0c0ludGVybmFsT3BlcmF0aW9uOiBhbnk7XG5cdGNvbnN0IG9Db25kaXRpb246IFJlY29yZDxzdHJpbmcsIEZpbHRlckNvbmRpdGlvbnNbXT4gPSB7fTtcblx0b0NvbmRpdGlvbi52YWx1ZXMgPSBbXTtcblx0b0NvbmRpdGlvbi5pc0VtcHR5ID0gbnVsbCBhcyBhbnk7XG5cdGlmIChvVjEgPT09IHVuZGVmaW5lZCB8fCBvVjEgPT09IG51bGwpIHtcblx0XHRyZXR1cm47XG5cdH1cblxuXHRzd2l0Y2ggKHNPcHRpb24pIHtcblx0XHRjYXNlIFwiQ1BcIjpcblx0XHRcdHNJbnRlcm5hbE9wZXJhdGlvbiA9IFwiQ29udGFpbnNcIjtcblx0XHRcdGlmIChvVmFsdWUpIHtcblx0XHRcdFx0Y29uc3QgbkluZGV4T2YgPSBvVmFsdWUuaW5kZXhPZihcIipcIik7XG5cdFx0XHRcdGNvbnN0IG5MYXN0SW5kZXggPSBvVmFsdWUubGFzdEluZGV4T2YoXCIqXCIpO1xuXG5cdFx0XHRcdC8vIG9ubHkgd2hlbiB0aGVyZSBhcmUgJyonIGF0IGFsbFxuXHRcdFx0XHRpZiAobkluZGV4T2YgPiAtMSkge1xuXHRcdFx0XHRcdGlmIChuSW5kZXhPZiA9PT0gMCAmJiBuTGFzdEluZGV4ICE9PSBvVmFsdWUubGVuZ3RoIC0gMSkge1xuXHRcdFx0XHRcdFx0c0ludGVybmFsT3BlcmF0aW9uID0gXCJFbmRzV2l0aFwiO1xuXHRcdFx0XHRcdFx0b1ZhbHVlID0gb1ZhbHVlLnN1YnN0cmluZygxLCBvVmFsdWUubGVuZ3RoKTtcblx0XHRcdFx0XHR9IGVsc2UgaWYgKG5JbmRleE9mICE9PSAwICYmIG5MYXN0SW5kZXggPT09IG9WYWx1ZS5sZW5ndGggLSAxKSB7XG5cdFx0XHRcdFx0XHRzSW50ZXJuYWxPcGVyYXRpb24gPSBcIlN0YXJ0c1dpdGhcIjtcblx0XHRcdFx0XHRcdG9WYWx1ZSA9IG9WYWx1ZS5zdWJzdHJpbmcoMCwgb1ZhbHVlLmxlbmd0aCAtIDEpO1xuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRvVmFsdWUgPSBvVmFsdWUuc3Vic3RyaW5nKDEsIG9WYWx1ZS5sZW5ndGggLSAxKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0LyogVE9ETyBBZGQgZGlhZ29ub3N0aWNzIExvZy53YXJuaW5nKFwiQ29udGFpbnMgT3B0aW9uIGNhbm5vdCBiZSB1c2VkIHdpdGhvdXQgJyonLlwiKSAqL1xuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0YnJlYWs7XG5cdFx0Y2FzZSBcIkVRXCI6XG5cdFx0XHRzSW50ZXJuYWxPcGVyYXRpb24gPSBvVjEgPT09IFwiXCIgPyBcIkVtcHR5XCIgOiBzT3B0aW9uO1xuXHRcdFx0YnJlYWs7XG5cdFx0Y2FzZSBcIk5FXCI6XG5cdFx0XHRzSW50ZXJuYWxPcGVyYXRpb24gPSBvVjEgPT09IFwiXCIgPyBcIk5vdEVtcHR5XCIgOiBzT3B0aW9uO1xuXHRcdFx0YnJlYWs7XG5cdFx0Y2FzZSBcIkJUXCI6XG5cdFx0XHRpZiAob1YyID09PSB1bmRlZmluZWQgfHwgb1YyID09PSBudWxsKSB7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblx0XHRcdG9WYWx1ZTIgPSBvVjI7XG5cdFx0XHRzSW50ZXJuYWxPcGVyYXRpb24gPSBzT3B0aW9uO1xuXHRcdFx0YnJlYWs7XG5cdFx0Y2FzZSBcIkxFXCI6XG5cdFx0Y2FzZSBcIkdFXCI6XG5cdFx0Y2FzZSBcIkdUXCI6XG5cdFx0Y2FzZSBcIkxUXCI6XG5cdFx0XHRzSW50ZXJuYWxPcGVyYXRpb24gPSBzT3B0aW9uO1xuXHRcdFx0YnJlYWs7XG5cdFx0ZGVmYXVsdDpcblx0XHRcdC8qIFRPRE8gQWRkIGRpYWdvbm9zdGljcyBMb2cud2FybmluZyhcIlNlbGVjdGlvbiBPcHRpb24gaXMgbm90IHN1cHBvcnRlZCA6ICdcIiArIHNPcHRpb24gKyBcIidcIik7ICovXG5cdFx0XHRyZXR1cm47XG5cdH1cblx0aWYgKHNTaWduID09PSBcIkVcIikge1xuXHRcdHNJbnRlcm5hbE9wZXJhdGlvbiA9IG9FeGNsdWRlTWFwW3NJbnRlcm5hbE9wZXJhdGlvbl07XG5cdH1cblx0b0NvbmRpdGlvbi5vcGVyYXRvciA9IHNJbnRlcm5hbE9wZXJhdGlvbjtcblx0aWYgKHNJbnRlcm5hbE9wZXJhdGlvbiAhPT0gXCJFbXB0eVwiKSB7XG5cdFx0b0NvbmRpdGlvbi52YWx1ZXMucHVzaChvVmFsdWUpO1xuXHRcdGlmIChvVmFsdWUyKSB7XG5cdFx0XHRvQ29uZGl0aW9uLnZhbHVlcy5wdXNoKG9WYWx1ZTIpO1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gb0NvbmRpdGlvbjtcbn1cblxuLyogTWV0aG9kIHRvIGdldCB0aGUgb3BlcmF0b3IgZnJvbSB0aGUgU2VsZWN0aW9uIE9wdGlvbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE9wZXJhdG9yKHNPcGVyYXRvcjogc3RyaW5nKTogc3RyaW5nIHtcblx0cmV0dXJuIHNPcGVyYXRvci5pbmRleE9mKFwiL1wiKSA+IDAgPyBzT3BlcmF0b3Iuc3BsaXQoXCIvXCIpWzFdIDogc09wZXJhdG9yO1xufVxuXG5mdW5jdGlvbiBfYnVpbGRDb25kaXRpb25zRnJvbVNlbGVjdGlvblJhbmdlcyhcblx0UmFuZ2VzOiBTZWxlY3Rpb25SYW5nZVR5cGVUeXBlc1tdLFxuXHRvUHJvcGVydHk6IFJlY29yZDxzdHJpbmcsIG9iamVjdD4sXG5cdHNQcm9wZXJ0eU5hbWU6IHN0cmluZyxcblx0Z2V0Q3VzdG9tQ29uZGl0aW9ucz86IEZ1bmN0aW9uXG4pOiBhbnlbXSB7XG5cdGNvbnN0IGFDb25kaXRpb25zOiBhbnlbXSA9IFtdO1xuXHRSYW5nZXM/LmZvckVhY2goKFJhbmdlOiBhbnkpID0+IHtcblx0XHRjb25zdCBvQ29uZGl0aW9uID0gZ2V0Q3VzdG9tQ29uZGl0aW9ucyA/IGdldEN1c3RvbUNvbmRpdGlvbnMoUmFuZ2UsIG9Qcm9wZXJ0eSwgc1Byb3BlcnR5TmFtZSkgOiBnZXRDb25kaXRpb25zKFJhbmdlLCBvUHJvcGVydHkpO1xuXHRcdGlmIChvQ29uZGl0aW9uKSB7XG5cdFx0XHRhQ29uZGl0aW9ucy5wdXNoKG9Db25kaXRpb24pO1xuXHRcdH1cblx0fSk7XG5cdHJldHVybiBhQ29uZGl0aW9ucztcbn1cblxuZnVuY3Rpb24gX2dldFByb3BlcnR5KHByb3BlcnR5TmFtZTogc3RyaW5nLCBtZXRhTW9kZWw6IE9EYXRhTWV0YU1vZGVsLCBlbnRpdHlTZXRQYXRoOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBvYmplY3Q+IHtcblx0Y29uc3QgbGFzdFNsYXNoSW5kZXggPSBwcm9wZXJ0eU5hbWUubGFzdEluZGV4T2YoXCIvXCIpO1xuXHRjb25zdCBuYXZpZ2F0aW9uUGF0aCA9IGxhc3RTbGFzaEluZGV4ID4gLTEgPyBwcm9wZXJ0eU5hbWUuc3Vic3RyaW5nKDAsIHByb3BlcnR5TmFtZS5sYXN0SW5kZXhPZihcIi9cIikgKyAxKSA6IFwiXCI7XG5cdGNvbnN0IGNvbGxlY3Rpb24gPSBtZXRhTW9kZWwuZ2V0T2JqZWN0KGVudGl0eVNldFBhdGggKyBcIi9cIiArIG5hdmlnYXRpb25QYXRoKTtcblx0cmV0dXJuIGNvbGxlY3Rpb24/Lltwcm9wZXJ0eU5hbWUucmVwbGFjZShuYXZpZ2F0aW9uUGF0aCwgXCJcIildO1xufVxuXG5mdW5jdGlvbiBfYnVpbGRGaWx0ZXJzQ29uZGl0aW9uc0Zyb21TZWxlY3RPcHRpb24oXG5cdHNlbGVjdE9wdGlvbjogU2VsZWN0T3B0aW9uVHlwZSxcblx0bWV0YU1vZGVsOiBPRGF0YU1ldGFNb2RlbCxcblx0ZW50aXR5U2V0UGF0aDogc3RyaW5nLFxuXHRnZXRDdXN0b21Db25kaXRpb25zPzogRnVuY3Rpb25cbik6IFJlY29yZDxzdHJpbmcsIEZpbHRlckNvbmRpdGlvbnNbXT4ge1xuXHRjb25zdCBwcm9wZXJ0eU5hbWU6IGFueSA9IHNlbGVjdE9wdGlvbi5Qcm9wZXJ0eU5hbWUsXG5cdFx0ZmlsdGVyQ29uZGl0aW9uczogUmVjb3JkPHN0cmluZywgRmlsdGVyQ29uZGl0aW9uc1tdPiA9IHt9LFxuXHRcdHByb3BlcnR5UGF0aDogc3RyaW5nID0gcHJvcGVydHlOYW1lLnZhbHVlIHx8IHByb3BlcnR5TmFtZS4kUHJvcGVydHlQYXRoLFxuXHRcdFJhbmdlczogU2VsZWN0aW9uUmFuZ2VUeXBlVHlwZXNbXSA9IHNlbGVjdE9wdGlvbi5SYW5nZXM7XG5cdGNvbnN0IHRhcmdldFByb3BlcnR5ID0gX2dldFByb3BlcnR5KHByb3BlcnR5UGF0aCwgbWV0YU1vZGVsLCBlbnRpdHlTZXRQYXRoKTtcblx0aWYgKHRhcmdldFByb3BlcnR5KSB7XG5cdFx0Y29uc3QgY29uZGl0aW9uczogYW55W10gPSBfYnVpbGRDb25kaXRpb25zRnJvbVNlbGVjdGlvblJhbmdlcyhSYW5nZXMsIHRhcmdldFByb3BlcnR5LCBwcm9wZXJ0eVBhdGgsIGdldEN1c3RvbUNvbmRpdGlvbnMpO1xuXHRcdGlmIChjb25kaXRpb25zLmxlbmd0aCkge1xuXHRcdFx0ZmlsdGVyQ29uZGl0aW9uc1twcm9wZXJ0eVBhdGhdID0gKGZpbHRlckNvbmRpdGlvbnNbcHJvcGVydHlQYXRoXSB8fCBbXSkuY29uY2F0KGNvbmRpdGlvbnMpO1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gZmlsdGVyQ29uZGl0aW9ucztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbHRlcnNDb25kaXRpb25zRnJvbVNlbGVjdGlvblZhcmlhbnQoXG5cdHNFbnRpdHlTZXRQYXRoOiBzdHJpbmcsXG5cdG9NZXRhTW9kZWw6IE9EYXRhTWV0YU1vZGVsLFxuXHRzZWxlY3Rpb25WYXJpYW50OiBTZWxlY3Rpb25WYXJpYW50VHlwZVR5cGVzLFxuXHRnZXRDdXN0b21Db25kaXRpb25zPzogRnVuY3Rpb25cbik6IFJlY29yZDxzdHJpbmcsIEZpbHRlckNvbmRpdGlvbnNbXT4ge1xuXHRsZXQgb0ZpbHRlckNvbmRpdGlvbnM6IFJlY29yZDxzdHJpbmcsIEZpbHRlckNvbmRpdGlvbnNbXT4gPSB7fTtcblx0aWYgKCFzZWxlY3Rpb25WYXJpYW50KSB7XG5cdFx0cmV0dXJuIG9GaWx0ZXJDb25kaXRpb25zO1xuXHR9XG5cdGNvbnN0IGFTZWxlY3RPcHRpb25zID0gc2VsZWN0aW9uVmFyaWFudC5TZWxlY3RPcHRpb25zLFxuXHRcdGFQYXJhbWV0ZXJzID0gc2VsZWN0aW9uVmFyaWFudC5QYXJhbWV0ZXJzO1xuXHRhU2VsZWN0T3B0aW9ucz8uZm9yRWFjaCgoc2VsZWN0T3B0aW9uOiBTZWxlY3RPcHRpb25UeXBlKSA9PiB7XG5cdFx0Y29uc3QgcHJvcGVydHlOYW1lOiBhbnkgPSBzZWxlY3RPcHRpb24uUHJvcGVydHlOYW1lLFxuXHRcdFx0c1Byb3BlcnR5TmFtZTogc3RyaW5nID0gcHJvcGVydHlOYW1lLnZhbHVlIHx8IHByb3BlcnR5TmFtZS4kUHJvcGVydHlQYXRoO1xuXHRcdGlmIChPYmplY3Qua2V5cyhvRmlsdGVyQ29uZGl0aW9ucykuaW5jbHVkZXMoc1Byb3BlcnR5TmFtZSkpIHtcblx0XHRcdG9GaWx0ZXJDb25kaXRpb25zW3NQcm9wZXJ0eU5hbWVdID0gb0ZpbHRlckNvbmRpdGlvbnNbc1Byb3BlcnR5TmFtZV0uY29uY2F0KFxuXHRcdFx0XHRfYnVpbGRGaWx0ZXJzQ29uZGl0aW9uc0Zyb21TZWxlY3RPcHRpb24oc2VsZWN0T3B0aW9uLCBvTWV0YU1vZGVsLCBzRW50aXR5U2V0UGF0aCwgZ2V0Q3VzdG9tQ29uZGl0aW9ucylbc1Byb3BlcnR5TmFtZV1cblx0XHRcdCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdG9GaWx0ZXJDb25kaXRpb25zID0ge1xuXHRcdFx0XHQuLi5vRmlsdGVyQ29uZGl0aW9ucyxcblx0XHRcdFx0Li4uX2J1aWxkRmlsdGVyc0NvbmRpdGlvbnNGcm9tU2VsZWN0T3B0aW9uKHNlbGVjdE9wdGlvbiwgb01ldGFNb2RlbCwgc0VudGl0eVNldFBhdGgsIGdldEN1c3RvbUNvbmRpdGlvbnMpXG5cdFx0XHR9O1xuXHRcdH1cblx0fSk7XG5cdGFQYXJhbWV0ZXJzPy5mb3JFYWNoKChwYXJhbWV0ZXI6IGFueSkgPT4ge1xuXHRcdGNvbnN0IHNQcm9wZXJ0eVBhdGggPSBwYXJhbWV0ZXIuUHJvcGVydHlOYW1lLnZhbHVlIHx8IHBhcmFtZXRlci5Qcm9wZXJ0eU5hbWUuJFByb3BlcnR5UGF0aDtcblx0XHRjb25zdCBvQ29uZGl0aW9uOiBhbnkgPSBnZXRDdXN0b21Db25kaXRpb25zXG5cdFx0XHQ/IHsgb3BlcmF0b3I6IFwiRVFcIiwgdmFsdWUxOiBwYXJhbWV0ZXIuUHJvcGVydHlWYWx1ZSwgdmFsdWUyOiBudWxsLCBwYXRoOiBzUHJvcGVydHlQYXRoLCBpc1BhcmFtZXRlcjogdHJ1ZSB9XG5cdFx0XHQ6IHtcblx0XHRcdFx0XHRvcGVyYXRvcjogXCJFUVwiLFxuXHRcdFx0XHRcdHZhbHVlczogW3BhcmFtZXRlci5Qcm9wZXJ0eVZhbHVlXSxcblx0XHRcdFx0XHRpc0VtcHR5OiBudWxsLFxuXHRcdFx0XHRcdHZhbGlkYXRlZDogQ29uZGl0aW9uVmFsaWRhdGVkLlZhbGlkYXRlZCxcblx0XHRcdFx0XHRpc1BhcmFtZXRlcjogdHJ1ZVxuXHRcdFx0ICB9O1xuXHRcdG9GaWx0ZXJDb25kaXRpb25zW3NQcm9wZXJ0eVBhdGhdID0gW29Db25kaXRpb25dO1xuXHR9KTtcblxuXHRyZXR1cm4gb0ZpbHRlckNvbmRpdGlvbnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb25kaXRpb25zKFJhbmdlOiBhbnksIG9WYWxpZFByb3BlcnR5OiBhbnkpOiBDb25kaXRpb25PYmplY3QgfCB1bmRlZmluZWQge1xuXHRsZXQgb0NvbmRpdGlvbjtcblx0Y29uc3Qgc2lnbjogc3RyaW5nIHwgdW5kZWZpbmVkID0gUmFuZ2UuU2lnbjtcblx0Y29uc3Qgc09wdGlvbjogc3RyaW5nIHwgdW5kZWZpbmVkID0gUmFuZ2UuT3B0aW9uID8gZ2V0T3BlcmF0b3IoUmFuZ2UuT3B0aW9uKSA6IHVuZGVmaW5lZDtcblx0Y29uc3Qgb1ZhbHVlMTogYW55ID0gZ2V0VHlwZUNvbXBsaWFudFZhbHVlKFJhbmdlLkxvdywgb1ZhbGlkUHJvcGVydHkuJFR5cGUgfHwgb1ZhbGlkUHJvcGVydHkudHlwZSk7XG5cdGNvbnN0IG9WYWx1ZTI6IGFueSA9IFJhbmdlLkhpZ2ggPyBnZXRUeXBlQ29tcGxpYW50VmFsdWUoUmFuZ2UuSGlnaCwgb1ZhbGlkUHJvcGVydHkuJFR5cGUgfHwgb1ZhbGlkUHJvcGVydHkudHlwZSkgOiB1bmRlZmluZWQ7XG5cdGNvbnN0IG9Db25kaXRpb25WYWx1ZXMgPSByZXNvbHZlQ29uZGl0aW9uVmFsdWVzKHNPcHRpb24sIG9WYWx1ZTEsIG9WYWx1ZTIsIHNpZ24pIGFzIGFueTtcblx0aWYgKG9Db25kaXRpb25WYWx1ZXMpIHtcblx0XHRvQ29uZGl0aW9uID0gQ29uZGl0aW9uLmNyZWF0ZUNvbmRpdGlvbihcblx0XHRcdG9Db25kaXRpb25WYWx1ZXMub3BlcmF0b3IsXG5cdFx0XHRvQ29uZGl0aW9uVmFsdWVzLnZhbHVlcyxcblx0XHRcdG51bGwsXG5cdFx0XHRudWxsLFxuXHRcdFx0Q29uZGl0aW9uVmFsaWRhdGVkLlZhbGlkYXRlZFxuXHRcdCk7XG5cdH1cblx0cmV0dXJuIG9Db25kaXRpb247XG59XG5cbmNvbnN0IGdldERlZmF1bHRWYWx1ZUZpbHRlcnMgPSBmdW5jdGlvbihvQ29udGV4dDogYW55LCBwcm9wZXJ0aWVzOiBhbnkpOiBSZWNvcmQ8c3RyaW5nLCBGaWx0ZXJDb25kaXRpb25zW10+IHtcblx0Y29uc3QgZmlsdGVyQ29uZGl0aW9uczogUmVjb3JkPHN0cmluZywgRmlsdGVyQ29uZGl0aW9uc1tdPiA9IHt9O1xuXHRjb25zdCBlbnRpdHlTZXRQYXRoID0gb0NvbnRleHQuZ2V0SW50ZXJmYWNlKDEpLmdldFBhdGgoKSxcblx0XHRvTWV0YU1vZGVsID0gb0NvbnRleHQuZ2V0SW50ZXJmYWNlKDEpLmdldE1vZGVsKCk7XG5cdGlmIChwcm9wZXJ0aWVzKSB7XG5cdFx0Zm9yIChjb25zdCBrZXkgaW4gcHJvcGVydGllcykge1xuXHRcdFx0Y29uc3QgZGVmYXVsdEZpbHRlclZhbHVlID0gb01ldGFNb2RlbC5nZXRPYmplY3QoXG5cdFx0XHRcdGVudGl0eVNldFBhdGggKyBcIi9cIiArIGtleSArIFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLkNvbW1vbi52MS5GaWx0ZXJEZWZhdWx0VmFsdWVcIlxuXHRcdFx0KTtcblx0XHRcdGlmIChkZWZhdWx0RmlsdGVyVmFsdWUgIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRjb25zdCBQcm9wZXJ0eU5hbWUgPSBrZXk7XG5cdFx0XHRcdGZpbHRlckNvbmRpdGlvbnNbUHJvcGVydHlOYW1lXSA9IFtcblx0XHRcdFx0XHRDb25kaXRpb24uY3JlYXRlQ29uZGl0aW9uKFwiRVFcIiwgW2RlZmF1bHRGaWx0ZXJWYWx1ZV0sIG51bGwsIG51bGwsIENvbmRpdGlvblZhbGlkYXRlZC5WYWxpZGF0ZWQpIGFzIEZpbHRlckNvbmRpdGlvbnNcblx0XHRcdFx0XTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0cmV0dXJuIGZpbHRlckNvbmRpdGlvbnM7XG59O1xuXG5jb25zdCBnZXREZWZhdWx0U2VtYW50aWNEYXRlRmlsdGVycyA9IGZ1bmN0aW9uKFxuXHRvQ29udGV4dDogYW55LFxuXHRwcm9wZXJ0aWVzOiBhbnksXG5cdGRlZmF1bHRTZW1hbnRpY0RhdGVzOiBhbnlcbik6IFJlY29yZDxzdHJpbmcsIEZpbHRlckNvbmRpdGlvbnNbXT4ge1xuXHRjb25zdCBmaWx0ZXJDb25kaXRpb25zOiBSZWNvcmQ8c3RyaW5nLCBGaWx0ZXJDb25kaXRpb25zW10+ID0ge307XG5cdGlmIChwcm9wZXJ0aWVzKSB7XG5cdFx0Zm9yIChjb25zdCBrZXkgaW4gcHJvcGVydGllcykge1xuXHRcdFx0Ly8gY3VycmVudGx5IGRlZmF1bHRTZW1hbnRpY0RhdGVzIGNhbiBzdXBwb3J0IG9ubHkgb25lIGVudHJ5LCB3ZSBwaWNrIHRoZSBmaXJzdCBvbmUgZGlyZWN0bHkgdXNpbmcgMCBpbmRleFxuXHRcdFx0aWYgKGRlZmF1bHRTZW1hbnRpY0RhdGVzW2tleV0gJiYgZGVmYXVsdFNlbWFudGljRGF0ZXNba2V5XVswXSkge1xuXHRcdFx0XHRmaWx0ZXJDb25kaXRpb25zW2tleV0gPSBbXG5cdFx0XHRcdFx0Q29uZGl0aW9uLmNyZWF0ZUNvbmRpdGlvbihkZWZhdWx0U2VtYW50aWNEYXRlc1trZXldWzBdLm9wZXJhdG9yLCBbXSwgbnVsbCwgbnVsbCwgbnVsbCkgYXMgRmlsdGVyQ29uZGl0aW9uc1xuXHRcdFx0XHRdO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRyZXR1cm4gZmlsdGVyQ29uZGl0aW9ucztcbn07XG5cbmZ1bmN0aW9uIGdldEVkaXRTdGF0dXNGaWx0ZXIoKTogUmVjb3JkPHN0cmluZywgRmlsdGVyQ29uZGl0aW9uc1tdPiB7XG5cdGNvbnN0IG9maWx0ZXJDb25kaXRpb25zOiBSZWNvcmQ8c3RyaW5nLCBGaWx0ZXJDb25kaXRpb25zW10+ID0ge307XG5cdG9maWx0ZXJDb25kaXRpb25zW1wiJGVkaXRTdGF0ZVwiXSA9IFtcblx0XHRDb25kaXRpb24uY3JlYXRlQ29uZGl0aW9uKFwiRFJBRlRfRURJVF9TVEFURVwiLCBbXCJBTExcIl0sIG51bGwsIG51bGwsIENvbmRpdGlvblZhbGlkYXRlZC5WYWxpZGF0ZWQpIGFzIEZpbHRlckNvbmRpdGlvbnNcblx0XTtcblx0cmV0dXJuIG9maWx0ZXJDb25kaXRpb25zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RmlsdGVyQ29uZGl0aW9ucyhvQ29udGV4dDogYW55LCBmaWx0ZXJDb25kaXRpb25zOiBhbnkpOiBSZWNvcmQ8c3RyaW5nLCBGaWx0ZXJDb25kaXRpb25zW10+IHtcblx0bGV0IGVkaXRTdGF0ZUZpbHRlcjtcblx0Y29uc3QgZW50aXR5U2V0UGF0aCA9IG9Db250ZXh0LmdldEludGVyZmFjZSgxKS5nZXRQYXRoKCksXG5cdFx0b01ldGFNb2RlbCA9IG9Db250ZXh0LmdldEludGVyZmFjZSgxKS5nZXRNb2RlbCgpLFxuXHRcdGVudGl0eVR5cGVBbm5vdGF0aW9ucyA9IG9NZXRhTW9kZWwuZ2V0T2JqZWN0KGVudGl0eVNldFBhdGggKyBcIkBcIiksXG5cdFx0ZW50aXR5VHlwZVByb3BlcnRpZXMgPSBvTWV0YU1vZGVsLmdldE9iamVjdChlbnRpdHlTZXRQYXRoICsgXCIvXCIpO1xuXHRpZiAoXG5cdFx0ZW50aXR5VHlwZUFubm90YXRpb25zW1wiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLkNvbW1vbi52MS5EcmFmdFJvb3RcIl0gfHxcblx0XHRlbnRpdHlUeXBlQW5ub3RhdGlvbnNbXCJAY29tLnNhcC52b2NhYnVsYXJpZXMuQ29tbW9uLnYxLkRyYWZ0Tm9kZVwiXVxuXHQpIHtcblx0XHRlZGl0U3RhdGVGaWx0ZXIgPSBnZXRFZGl0U3RhdHVzRmlsdGVyKCk7XG5cdH1cblx0Y29uc3Qgc2VsZWN0aW9uVmFyaWFudCA9IGZpbHRlckNvbmRpdGlvbnM/LnNlbGVjdGlvblZhcmlhbnQ7XG5cdGNvbnN0IGRlZmF1bHRTZW1hbnRpY0RhdGVzID0gZmlsdGVyQ29uZGl0aW9ucz8uZGVmYXVsdFNlbWFudGljRGF0ZXMgfHwge307XG5cdGNvbnN0IGRlZmF1bHRGaWx0ZXJzID0gZ2V0RGVmYXVsdFZhbHVlRmlsdGVycyhvQ29udGV4dCwgZW50aXR5VHlwZVByb3BlcnRpZXMpO1xuXHRjb25zdCBkZWZhdWx0U2VtYW50aWNEYXRlRmlsdGVycyA9IGdldERlZmF1bHRTZW1hbnRpY0RhdGVGaWx0ZXJzKG9Db250ZXh0LCBlbnRpdHlUeXBlUHJvcGVydGllcywgZGVmYXVsdFNlbWFudGljRGF0ZXMpO1xuXHRpZiAoc2VsZWN0aW9uVmFyaWFudCkge1xuXHRcdGZpbHRlckNvbmRpdGlvbnMgPSBnZXRGaWx0ZXJzQ29uZGl0aW9uc0Zyb21TZWxlY3Rpb25WYXJpYW50KGVudGl0eVNldFBhdGgsIG9NZXRhTW9kZWwsIHNlbGVjdGlvblZhcmlhbnQpO1xuXHR9IGVsc2UgaWYgKGRlZmF1bHRGaWx0ZXJzKSB7XG5cdFx0ZmlsdGVyQ29uZGl0aW9ucyA9IGRlZmF1bHRGaWx0ZXJzO1xuXHR9XG5cdGlmIChkZWZhdWx0U2VtYW50aWNEYXRlRmlsdGVycykge1xuXHRcdC8vIG9ubHkgZm9yIHNlbWFudGljIGRhdGU6XG5cdFx0Ly8gMS4gdmFsdWUgZnJvbSBtYW5pZmVzdCBnZXQgbWVyZ2VkIHdpdGggU1Zcblx0XHQvLyAyLiBtYW5pZmVzdCB2YWx1ZSBpcyBnaXZlbiBwcmVmZXJlbmNlIHdoZW4gdGhlcmUgaXMgc2FtZSBzZW1hbnRpYyBkYXRlIHByb3BlcnR5IGluIFNWIGFuZCBtYW5pZmVzdFxuXHRcdGZpbHRlckNvbmRpdGlvbnMgPSB7IC4uLmZpbHRlckNvbmRpdGlvbnMsIC4uLmRlZmF1bHRTZW1hbnRpY0RhdGVGaWx0ZXJzIH07XG5cdH1cblx0aWYgKGVkaXRTdGF0ZUZpbHRlcikge1xuXHRcdGZpbHRlckNvbmRpdGlvbnMgPSB7IC4uLmZpbHRlckNvbmRpdGlvbnMsIC4uLmVkaXRTdGF0ZUZpbHRlciB9O1xuXHR9XG5cdHJldHVybiAoT2JqZWN0LmtleXMoZmlsdGVyQ29uZGl0aW9ucykubGVuZ3RoID4gMCA/IEpTT04uc3RyaW5naWZ5KGZpbHRlckNvbmRpdGlvbnMpLnJlcGxhY2UoLyhbXFx7XFx9XSkvZywgXCJcXFxcJDFcIikgOiB1bmRlZmluZWQpIGFzIGFueTtcbn1cblxuZ2V0RmlsdGVyQ29uZGl0aW9ucy5yZXF1aXJlc0lDb250ZXh0ID0gdHJ1ZTtcbiJdfQ==
@@ -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/ui/mdc/condition/Condition","sap/ui/mdc/enum/ConditionValidated"],function(C,a){"use strict";var _={};var c=C.createCondition;function o(i,u){var w=Object.keys(i);if(Object.getOwnPropertySymbols){var x=Object.getOwnPropertySymbols(i);if(u){x=x.filter(function(y){return Object.getOwnPropertyDescriptor(i,y).enumerable;});}w.push.apply(w,x);}return w;}function b(u){for(var i=1;i<arguments.length;i++){var w=arguments[i]!=null?arguments[i]:{};if(i%2){o(Object(w),true).forEach(function(x){d(u,x,w[x]);});}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(u,Object.getOwnPropertyDescriptors(w));}else{o(Object(w)).forEach(function(x){Object.defineProperty(u,x,Object.getOwnPropertyDescriptor(w,x));});}}return u;}function d(i,u,w){if(u in i){Object.defineProperty(i,u,{value:w,enumerable:true,configurable:true,writable:true});}else{i[u]=w;}return i;}var v=["Edm.Boolean","Edm.Byte","Edm.Date","Edm.DateTime","Edm.DateTimeOffset","Edm.Decimal","Edm.Double","Edm.Float","Edm.Guid","Edm.Int16","Edm.Int32","Edm.Int64","Edm.SByte","Edm.Single","Edm.String","Edm.Time","Edm.TimeOfDay"];var e={"Contains":"NotContains","StartsWith":"NotStartsWith","EndsWith":"NotEndsWith","Empty":"NotEmpty","NotEmpty":"Empty","LE":"NOTLE","GE":"NOTGE","LT":"NOTLT","GT":"NOTGT","BT":"NOTBT","NE":"EQ","EQ":"NE"};function f(V){var i;if(V.match(/^(\d{4})-(\d{1,2})-(\d{1,2})T(\d{1,2}):(\d{1,2}):(\d{1,2})\+(\d{1,4})/)){i=V.match(/^(\d{4})-(\d{1,2})-(\d{1,2})T(\d{1,2}):(\d{1,2}):(\d{1,2})\+(\d{1,4})/)[0];}else if(V.match(/^(\d{4})-(\d{1,2})-(\d{1,2})T(\d{1,2}):(\d{1,2}):(\d{1,2})/)){i=V.match(/^(\d{4})-(\d{1,2})-(\d{1,2})T(\d{1,2}):(\d{1,2}):(\d{1,2})/)[0]+"+0000";}else if(V.match(/^(\d{4})-(\d{1,2})-(\d{1,2})/)){i=V.match(/^(\d{4})-(\d{1,2})-(\d{1,2})/)[0]+"T00:00:00+0000";}else if(V.indexOf("Z")===V.length-1){i=V.split("Z")[0]+"+0100";}else{i=undefined;}return i;}_._getDateTimeOffsetCompliantValue=f;function g(V){return V.match(/^(\d{4})-(\d{1,2})-(\d{1,2})/)?V.match(/^(\d{4})-(\d{1,2})-(\d{1,2})/)[0]:V.match(/^(\d{8})/)&&V.match(/^(\d{8})/)[0];}_._getDateCompliantValue=g;function h(V,T){var i;if(v.indexOf(T)===-1){return undefined;}i=V;switch(T){case"Edm.Boolean":i=V==="true"||(V==="false"?false:undefined);break;case"Edm.Double":case"Edm.Single":i=isNaN(V)?undefined:parseFloat(V);break;case"Edm.Byte":case"Edm.Int16":case"Edm.Int32":case"Edm.SByte":i=isNaN(V)?undefined:parseInt(V,10);break;case"Edm.Date":i=g(V);break;case"Edm.DateTimeOffset":i=f(V);break;case"Edm.TimeOfDay":i=V.match(/(\d{1,2}):(\d{1,2}):(\d{1,2})/)?V.match(/(\d{1,2}):(\d{1,2}):(\d{1,2})/)[0]:undefined;break;default:}return i===null?undefined:i;}_.getTypeCompliantValue=h;function r(O,V,i,S){var u=V,w,I;var x={};x.values=[];x.isEmpty=null;if(V===undefined||V===null){return;}switch(O){case"CP":I="Contains";if(u){var y=u.indexOf("*");var z=u.lastIndexOf("*");if(y>-1){if(y===0&&z!==u.length-1){I="EndsWith";u=u.substring(1,u.length);}else if(y!==0&&z===u.length-1){I="StartsWith";u=u.substring(0,u.length-1);}else{u=u.substring(1,u.length-1);}}else{return;}}break;case"EQ":I=V===""?"Empty":O;break;case"NE":I=V===""?"NotEmpty":O;break;case"BT":if(i===undefined||i===null){return;}w=i;I=O;break;case"LE":case"GE":case"GT":case"LT":I=O;break;default:return;}if(S==="E"){I=e[I];}x.operator=I;if(I!=="Empty"){x.values.push(u);if(w){x.values.push(w);}}return x;}_.resolveConditionValues=r;function j(O){return O.indexOf("/")>0?O.split("/")[1]:O;}_.getOperator=j;function k(R,P,i,u){var w=[];R===null||R===void 0?void 0:R.forEach(function(x){var y=u?u(x,P,i):n(x,P);if(y){w.push(y);}});return w;}function l(S,M,E,i){var u=S.PropertyName,F={},P=u.value||u.$PropertyPath,R=S.Ranges;var N,T,V;if(P&&P.lastIndexOf("/")>-1){N=P.substring(0,P.lastIndexOf("/")+1);T=P.replace(N,"");V=M.getObject(E+"/"+N);}else{V=M.getObject(E+"/");T=P;}for(var w in V){var x=[];if(T===w){var y=V[w];x=(x||[]).concat(k(R,y,P,i));if(x.length){F[P]=(F[P]||[]).concat(x);}}}return F;}function m(E,M,i,u){var F={};if(!i){return F;}var S=i.SelectOptions,P=i.Parameters;S===null||S===void 0?void 0:S.forEach(function(w){var x=w.PropertyName,y=x.value||x.$PropertyPath;if(Object.keys(F).includes(y)){F[y]=F[y].concat(l(w,M,E,u)[y]);}else{F=b(b({},F),l(w,M,E,u));}});P===null||P===void 0?void 0:P.forEach(function(w){var x=w.PropertyName.value||w.PropertyName.$PropertyPath;var y=u?{operator:"EQ",value1:w.PropertyValue,value2:null,path:x,isParameter:true}:{operator:"EQ",values:[w.PropertyValue],isEmpty:null,validated:a.Validated,isParameter:true};F[x]=[y];});return F;}_.getFiltersConditionsFromSelectionVariant=m;function n(R,V){var i;var u=R.Sign;var O=R.Option?j(R.Option):undefined;var w=h(R.Low,V.$Type);var x=R.High?h(R.High,V.$Type):undefined;var y=r(O,w,x,u);if(y){i=c(y.operator,y.values,null,null,a.Validated);}return i;}_.getConditions=n;var p=function(i,u){var w={};var x=i.getInterface(1).getPath(),M=i.getInterface(1).getModel();if(u){for(var y in u){var z=M.getObject(x+"/"+y+"@com.sap.vocabularies.Common.v1.FilterDefaultValue");if(z!==undefined){var P=y;w[P]=[c("EQ",[z],null,null,a.Validated)];}}}return w;};var q=function(i,u,w){var x={};if(u){for(var y in u){if(w[y]&&w[y][0]){x[y]=[c(w[y][0].operator,[],null,null,null)];}}}return x;};function s(){var i={};i["$editState"]=[c("DRAFT_EDIT_STATE",["ALL"],null,null,a.Validated)];return i;}function t(i,u){var w,x;var y;var z=i.getInterface(1).getPath(),M=i.getInterface(1).getModel(),A=M.getObject(z+"@"),B=M.getObject(z+"/");if(A["@com.sap.vocabularies.Common.v1.DraftRoot"]||A["@com.sap.vocabularies.Common.v1.DraftNode"]){y=s();}var D=(w=u)===null||w===void 0?void 0:w.selectionVariant;var E=((x=u)===null||x===void 0?void 0:x.defaultSemanticDates)||{};var F=p(i,B);var G=q(i,B,E);if(D){u=m(z,M,D);}else if(F){u=F;}if(G){u=b(b({},u),G);}if(y){u=b(b({},u),y);}return Object.keys(u).length>0?JSON.stringify(u).replace(/([\{\}])/g,"\\$1"):undefined;}_.getFilterConditions=t;t.requiresIContext=true;return _;},false);
5
+ sap.ui.define(["sap/ui/mdc/condition/Condition","sap/ui/mdc/enum/ConditionValidated"],function(C,a){"use strict";var _={};function o(i,u){var w=Object.keys(i);if(Object.getOwnPropertySymbols){var x=Object.getOwnPropertySymbols(i);if(u){x=x.filter(function(y){return Object.getOwnPropertyDescriptor(i,y).enumerable;});}w.push.apply(w,x);}return w;}function b(u){for(var i=1;i<arguments.length;i++){var w=arguments[i]!=null?arguments[i]:{};if(i%2){o(Object(w),true).forEach(function(x){c(u,x,w[x]);});}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(u,Object.getOwnPropertyDescriptors(w));}else{o(Object(w)).forEach(function(x){Object.defineProperty(u,x,Object.getOwnPropertyDescriptor(w,x));});}}return u;}function c(i,u,w){if(u in i){Object.defineProperty(i,u,{value:w,enumerable:true,configurable:true,writable:true});}else{i[u]=w;}return i;}var v=["Edm.Boolean","Edm.Byte","Edm.Date","Edm.DateTime","Edm.DateTimeOffset","Edm.Decimal","Edm.Double","Edm.Float","Edm.Guid","Edm.Int16","Edm.Int32","Edm.Int64","Edm.SByte","Edm.Single","Edm.String","Edm.Time","Edm.TimeOfDay"];var e={"Contains":"NotContains","StartsWith":"NotStartsWith","EndsWith":"NotEndsWith","Empty":"NotEmpty","NotEmpty":"Empty","LE":"NOTLE","GE":"NOTGE","LT":"NOTLT","GT":"NOTGT","BT":"NOTBT","NE":"EQ","EQ":"NE"};function d(V){var i;if(V.match(/^(\d{4})-(\d{1,2})-(\d{1,2})T(\d{1,2}):(\d{1,2}):(\d{1,2})\+(\d{1,4})/)){i=V.match(/^(\d{4})-(\d{1,2})-(\d{1,2})T(\d{1,2}):(\d{1,2}):(\d{1,2})\+(\d{1,4})/)[0];}else if(V.match(/^(\d{4})-(\d{1,2})-(\d{1,2})T(\d{1,2}):(\d{1,2}):(\d{1,2})/)){i=V.match(/^(\d{4})-(\d{1,2})-(\d{1,2})T(\d{1,2}):(\d{1,2}):(\d{1,2})/)[0]+"+0000";}else if(V.match(/^(\d{4})-(\d{1,2})-(\d{1,2})/)){i=V.match(/^(\d{4})-(\d{1,2})-(\d{1,2})/)[0]+"T00:00:00+0000";}else if(V.indexOf("Z")===V.length-1){i=V.split("Z")[0]+"+0100";}else{i=undefined;}return i;}_._getDateTimeOffsetCompliantValue=d;function f(V){return V.match(/^(\d{4})-(\d{1,2})-(\d{1,2})/)?V.match(/^(\d{4})-(\d{1,2})-(\d{1,2})/)[0]:V.match(/^(\d{8})/)&&V.match(/^(\d{8})/)[0];}_._getDateCompliantValue=f;function g(V,T){var i;if(v.indexOf(T)===-1){return undefined;}i=V;switch(T){case"Edm.Boolean":i=V==="true"||(V==="false"?false:undefined);break;case"Edm.Double":case"Edm.Single":i=isNaN(V)?undefined:parseFloat(V);break;case"Edm.Byte":case"Edm.Int16":case"Edm.Int32":case"Edm.SByte":i=isNaN(V)?undefined:parseInt(V,10);break;case"Edm.Date":i=f(V);break;case"Edm.DateTimeOffset":i=d(V);break;case"Edm.TimeOfDay":i=V.match(/(\d{1,2}):(\d{1,2}):(\d{1,2})/)?V.match(/(\d{1,2}):(\d{1,2}):(\d{1,2})/)[0]:undefined;break;default:}return i===null?undefined:i;}_.getTypeCompliantValue=g;function r(O,V,i,S){var u=V,w,I;var x={};x.values=[];x.isEmpty=null;if(V===undefined||V===null){return;}switch(O){case"CP":I="Contains";if(u){var y=u.indexOf("*");var z=u.lastIndexOf("*");if(y>-1){if(y===0&&z!==u.length-1){I="EndsWith";u=u.substring(1,u.length);}else if(y!==0&&z===u.length-1){I="StartsWith";u=u.substring(0,u.length-1);}else{u=u.substring(1,u.length-1);}}else{return;}}break;case"EQ":I=V===""?"Empty":O;break;case"NE":I=V===""?"NotEmpty":O;break;case"BT":if(i===undefined||i===null){return;}w=i;I=O;break;case"LE":case"GE":case"GT":case"LT":I=O;break;default:return;}if(S==="E"){I=e[I];}x.operator=I;if(I!=="Empty"){x.values.push(u);if(w){x.values.push(w);}}return x;}_.resolveConditionValues=r;function h(O){return O.indexOf("/")>0?O.split("/")[1]:O;}_.getOperator=h;function j(R,P,i,u){var w=[];R===null||R===void 0?void 0:R.forEach(function(x){var y=u?u(x,P,i):n(x,P);if(y){w.push(y);}});return w;}function k(i,u,w){var x=i.lastIndexOf("/");var y=x>-1?i.substring(0,i.lastIndexOf("/")+1):"";var z=u.getObject(w+"/"+y);return z===null||z===void 0?void 0:z[i.replace(y,"")];}function l(i,u,w,x){var y=i.PropertyName,z={},A=y.value||y.$PropertyPath,R=i.Ranges;var B=k(A,u,w);if(B){var D=j(R,B,A,x);if(D.length){z[A]=(z[A]||[]).concat(D);}}return z;}function m(E,M,i,u){var F={};if(!i){return F;}var S=i.SelectOptions,P=i.Parameters;S===null||S===void 0?void 0:S.forEach(function(w){var x=w.PropertyName,y=x.value||x.$PropertyPath;if(Object.keys(F).includes(y)){F[y]=F[y].concat(l(w,M,E,u)[y]);}else{F=b(b({},F),l(w,M,E,u));}});P===null||P===void 0?void 0:P.forEach(function(w){var x=w.PropertyName.value||w.PropertyName.$PropertyPath;var y=u?{operator:"EQ",value1:w.PropertyValue,value2:null,path:x,isParameter:true}:{operator:"EQ",values:[w.PropertyValue],isEmpty:null,validated:a.Validated,isParameter:true};F[x]=[y];});return F;}_.getFiltersConditionsFromSelectionVariant=m;function n(R,V){var i;var u=R.Sign;var O=R.Option?h(R.Option):undefined;var w=g(R.Low,V.$Type||V.type);var x=R.High?g(R.High,V.$Type||V.type):undefined;var y=r(O,w,x,u);if(y){i=C.createCondition(y.operator,y.values,null,null,a.Validated);}return i;}_.getConditions=n;var p=function(i,u){var w={};var x=i.getInterface(1).getPath(),M=i.getInterface(1).getModel();if(u){for(var y in u){var z=M.getObject(x+"/"+y+"@com.sap.vocabularies.Common.v1.FilterDefaultValue");if(z!==undefined){var P=y;w[P]=[C.createCondition("EQ",[z],null,null,a.Validated)];}}}return w;};var q=function(i,u,w){var x={};if(u){for(var y in u){if(w[y]&&w[y][0]){x[y]=[C.createCondition(w[y][0].operator,[],null,null,null)];}}}return x;};function s(){var i={};i["$editState"]=[C.createCondition("DRAFT_EDIT_STATE",["ALL"],null,null,a.Validated)];return i;}function t(i,u){var w,x;var y;var z=i.getInterface(1).getPath(),M=i.getInterface(1).getModel(),A=M.getObject(z+"@"),B=M.getObject(z+"/");if(A["@com.sap.vocabularies.Common.v1.DraftRoot"]||A["@com.sap.vocabularies.Common.v1.DraftNode"]){y=s();}var D=(w=u)===null||w===void 0?void 0:w.selectionVariant;var E=((x=u)===null||x===void 0?void 0:x.defaultSemanticDates)||{};var F=p(i,B);var G=q(i,B,E);if(D){u=m(z,M,D);}else if(F){u=F;}if(G){u=b(b({},u),G);}if(y){u=b(b({},u),y);}return Object.keys(u).length>0?JSON.stringify(u).replace(/([\{\}])/g,"\\$1"):undefined;}_.getFilterConditions=t;t.requiresIContext=true;return _;},false);