@sapui5/sap.fe.core 1.103.0 → 1.106.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 (303) hide show
  1. package/package.json +5 -5
  2. package/src/sap/fe/core/.library +1 -1
  3. package/src/sap/fe/core/ActionRuntime.js +121 -0
  4. package/src/sap/fe/core/ActionRuntime.ts +122 -0
  5. package/src/sap/fe/core/AppComponent.js +24 -11
  6. package/src/sap/fe/core/AppComponent.ts +17 -5
  7. package/src/sap/fe/core/AppStateHandler.js +74 -62
  8. package/src/sap/fe/core/AppStateHandler.ts +24 -29
  9. package/src/sap/fe/core/BaseController.js +2 -2
  10. package/src/sap/fe/core/CommonUtils.js +147 -180
  11. package/src/sap/fe/core/CommonUtils.ts +166 -193
  12. package/src/sap/fe/core/ExtensionAPI.js +2 -2
  13. package/src/sap/fe/core/PageController.js +2 -2
  14. package/src/sap/fe/core/TemplateComponent.js +21 -10
  15. package/src/sap/fe/core/TemplateComponent.ts +3 -0
  16. package/src/sap/fe/core/TemplateModel.js +2 -2
  17. package/src/sap/fe/core/buildingBlocks/AttributeModel.js +11 -3
  18. package/src/sap/fe/core/buildingBlocks/AttributeModel.ts +7 -1
  19. package/src/sap/fe/core/buildingBlocks/BuildingBlock.js +194 -43
  20. package/src/sap/fe/core/buildingBlocks/BuildingBlock.ts +162 -24
  21. package/src/sap/fe/core/buildingBlocks/BuildingBlockFormatter.js +14 -0
  22. package/src/sap/fe/core/buildingBlocks/BuildingBlockFormatter.ts +5 -0
  23. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +609 -227
  24. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.ts +268 -119
  25. package/src/sap/fe/core/buildingBlocks/TraceInfo.js +111 -76
  26. package/src/sap/fe/core/buildingBlocks/TraceInfo.ts +96 -76
  27. package/src/sap/fe/core/controllerextensions/BusyLocker.js +1 -1
  28. package/src/sap/fe/core/controllerextensions/EditFlow.js +723 -637
  29. package/src/sap/fe/core/controllerextensions/EditFlow.ts +361 -398
  30. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +2 -2
  31. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +83 -55
  32. package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +42 -44
  33. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +29 -27
  34. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +35 -30
  35. package/src/sap/fe/core/controllerextensions/InternalRouting.js +171 -74
  36. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +167 -76
  37. package/src/sap/fe/core/controllerextensions/KPIManagement.js +5 -21
  38. package/src/sap/fe/core/controllerextensions/KPIManagement.ts +2 -17
  39. package/src/sap/fe/core/controllerextensions/MassEdit.js +3 -3
  40. package/src/sap/fe/core/controllerextensions/MassEdit.ts +1 -1
  41. package/src/sap/fe/core/controllerextensions/MessageHandler.js +2 -2
  42. package/src/sap/fe/core/controllerextensions/PageReady.js +3 -3
  43. package/src/sap/fe/core/controllerextensions/PageReady.ts +5 -1
  44. package/src/sap/fe/core/controllerextensions/Paginator.js +13 -13
  45. package/src/sap/fe/core/controllerextensions/Paginator.ts +11 -11
  46. package/src/sap/fe/core/controllerextensions/Placeholder.js +2 -2
  47. package/src/sap/fe/core/controllerextensions/Routing.js +2 -2
  48. package/src/sap/fe/core/controllerextensions/RoutingListener.js +1 -1
  49. package/src/sap/fe/core/controllerextensions/Share.js +154 -123
  50. package/src/sap/fe/core/controllerextensions/Share.ts +93 -95
  51. package/src/sap/fe/core/controllerextensions/SideEffects.js +157 -97
  52. package/src/sap/fe/core/controllerextensions/SideEffects.ts +151 -95
  53. package/src/sap/fe/core/controllerextensions/ViewState.js +151 -80
  54. package/src/sap/fe/core/controllerextensions/ViewState.ts +95 -93
  55. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +1 -1
  56. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +9 -9
  57. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.ts +6 -7
  58. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +26 -11
  59. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +30 -11
  60. package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +57 -40
  61. package/src/sap/fe/core/controllerextensions/collaboration/Manage.ts +55 -47
  62. package/src/sap/fe/core/controllerextensions/collaboration/ManageDialog.fragment.xml +31 -32
  63. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +1376 -914
  64. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +654 -714
  65. package/src/sap/fe/core/controllerextensions/editFlow/draft.js +372 -326
  66. package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +210 -276
  67. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js +309 -0
  68. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.ts +320 -0
  69. package/src/sap/fe/core/controllerextensions/editFlow/operations.js +670 -521
  70. package/src/sap/fe/core/controllerextensions/editFlow/operations.ts +537 -535
  71. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +85 -65
  72. package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +16 -21
  73. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +25 -13
  74. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +53 -43
  75. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +18 -27
  76. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.ts +9 -15
  77. package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +19 -3
  78. package/src/sap/fe/core/controls/ActionParameterDialogFieldValueHelp.fragment.xml +35 -0
  79. package/src/sap/fe/core/controls/ActionParameterDialogValueHelp.fragment.xml +26 -16
  80. package/src/sap/fe/core/controls/Any.js +1 -1
  81. package/src/sap/fe/core/controls/CommandExecution.js +2 -2
  82. package/src/sap/fe/core/controls/ConditionalWrapper.js +2 -2
  83. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +5 -5
  84. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.ts +0 -3
  85. package/src/sap/fe/core/controls/CustomQuickViewPage.js +2 -2
  86. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +1 -1
  87. package/src/sap/fe/core/controls/FieldWrapper.js +2 -2
  88. package/src/sap/fe/core/controls/FileWrapper.js +8 -3
  89. package/src/sap/fe/core/controls/FileWrapper.ts +5 -1
  90. package/src/sap/fe/core/controls/FilterBar.js +2 -2
  91. package/src/sap/fe/core/controls/FormElementWrapper.js +2 -2
  92. package/src/sap/fe/core/controls/MassEditSelect.js +1 -1
  93. package/src/sap/fe/core/controls/MultiValueParameterDelegate.js +1 -1
  94. package/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +48 -17
  95. package/src/sap/fe/core/controls/filterbar/FilterContainer.js +2 -2
  96. package/src/sap/fe/core/controls/filterbar/VisualFilter.js +2 -2
  97. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +2 -2
  98. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +3 -3
  99. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +2 -2
  100. package/src/sap/fe/core/controls/massEdit/MassEditField.fragment.xml +22 -35
  101. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +2 -2
  102. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +1 -1
  103. package/src/sap/fe/core/converters/ConverterContext.js +23 -2
  104. package/src/sap/fe/core/converters/ConverterContext.ts +34 -9
  105. package/src/sap/fe/core/converters/ManifestSettings.js +19 -18
  106. package/src/sap/fe/core/converters/ManifestSettings.ts +53 -47
  107. package/src/sap/fe/core/converters/ManifestWrapper.js +1 -1
  108. package/src/sap/fe/core/converters/MetaModelConverter.js +32 -10
  109. package/src/sap/fe/core/converters/MetaModelConverter.ts +42 -19
  110. package/src/sap/fe/core/converters/TemplateConverter.js +1 -1
  111. package/src/sap/fe/core/converters/annotations/DataField.js +5 -2
  112. package/src/sap/fe/core/converters/annotations/DataField.ts +5 -1
  113. package/src/sap/fe/core/converters/common/AnnotationConverter.js +69 -23
  114. package/src/sap/fe/core/converters/controls/Common/Action.js +98 -51
  115. package/src/sap/fe/core/converters/controls/Common/Action.ts +121 -44
  116. package/src/sap/fe/core/converters/controls/Common/Chart.js +31 -34
  117. package/src/sap/fe/core/converters/controls/Common/Chart.ts +26 -34
  118. package/src/sap/fe/core/converters/controls/Common/Criticality.js +1 -1
  119. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +43 -7
  120. package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +60 -33
  121. package/src/sap/fe/core/converters/controls/Common/Form.js +8 -6
  122. package/src/sap/fe/core/converters/controls/Common/Form.ts +11 -14
  123. package/src/sap/fe/core/converters/controls/Common/KPI.js +1 -1
  124. package/src/sap/fe/core/converters/controls/Common/KPI.ts +16 -15
  125. package/src/sap/fe/core/converters/controls/Common/Table.js +188 -157
  126. package/src/sap/fe/core/converters/controls/Common/Table.ts +279 -230
  127. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +1 -1
  128. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +4 -4
  129. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +57 -21
  130. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +71 -18
  131. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +30 -8
  132. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +24 -7
  133. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.js +1 -1
  134. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +43 -34
  135. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +37 -25
  136. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +85 -49
  137. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +74 -50
  138. package/src/sap/fe/core/converters/helpers/Aggregation.js +54 -4
  139. package/src/sap/fe/core/converters/helpers/Aggregation.ts +56 -8
  140. package/src/sap/fe/core/converters/helpers/BindingHelper.js +1 -1
  141. package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +6 -4
  142. package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +10 -2
  143. package/src/sap/fe/core/converters/helpers/DataFieldHelper.js +182 -0
  144. package/src/sap/fe/core/converters/helpers/DataFieldHelper.ts +167 -0
  145. package/src/sap/fe/core/converters/helpers/ID.js +3 -1
  146. package/src/sap/fe/core/converters/helpers/ID.ts +1 -0
  147. package/src/sap/fe/core/converters/helpers/IssueManager.js +1 -1
  148. package/src/sap/fe/core/converters/helpers/Key.js +1 -1
  149. package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.js +1 -1
  150. package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.ts +2 -3
  151. package/src/sap/fe/core/converters/objectPage/FormMenuActions.js +1 -1
  152. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +8 -14
  153. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +6 -9
  154. package/src/sap/fe/core/converters/templates/ListReportConverter.js +31 -31
  155. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +54 -47
  156. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +44 -15
  157. package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +64 -30
  158. package/src/sap/fe/core/designtime/AppComponent.designtime.js +1 -1
  159. package/src/sap/fe/core/formatters/CollaborationFormatter.js +1 -1
  160. package/src/sap/fe/core/formatters/FPMFormatter.js +1 -1
  161. package/src/sap/fe/core/formatters/KPIFormatter.js +1 -1
  162. package/src/sap/fe/core/formatters/StandardFormatter.js +13 -6
  163. package/src/sap/fe/core/formatters/StandardFormatter.ts +20 -14
  164. package/src/sap/fe/core/formatters/TableFormatter.js +1 -1
  165. package/src/sap/fe/core/formatters/TableFormatterTypes.js +1 -1
  166. package/src/sap/fe/core/formatters/ValueFormatter.js +1 -1
  167. package/src/sap/fe/core/fpm/Component.js +33 -7
  168. package/src/sap/fe/core/fpm/Component.ts +14 -0
  169. package/src/sap/fe/core/helpers/AnnotationEnum.js +1 -1
  170. package/src/sap/fe/core/helpers/AppStartupHelper.js +5 -4
  171. package/src/sap/fe/core/helpers/AppStartupHelper.ts +4 -3
  172. package/src/sap/fe/core/helpers/BindingToolkit.js +56 -24
  173. package/src/sap/fe/core/helpers/BindingToolkit.ts +67 -21
  174. package/src/sap/fe/core/helpers/ClassSupport.js +31 -3
  175. package/src/sap/fe/core/helpers/ClassSupport.ts +24 -1
  176. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +1 -1
  177. package/src/sap/fe/core/helpers/EditState.js +1 -1
  178. package/src/sap/fe/core/helpers/ExcelFormatHelper.js +1 -1
  179. package/src/sap/fe/core/helpers/FPMHelper.js +1 -1
  180. package/src/sap/fe/core/helpers/KeepAliveHelper.js +1 -1
  181. package/src/sap/fe/core/helpers/KeepAliveRefreshTypes.js +1 -1
  182. package/src/sap/fe/core/helpers/LoaderUtils.js +39 -0
  183. package/src/sap/fe/core/helpers/LoaderUtils.ts +14 -0
  184. package/src/sap/fe/core/helpers/MassEditHelper.js +475 -99
  185. package/src/sap/fe/core/helpers/MassEditHelper.ts +468 -155
  186. package/src/sap/fe/core/helpers/MessageStrip.js +81 -0
  187. package/src/sap/fe/core/helpers/MessageStrip.ts +79 -0
  188. package/src/sap/fe/core/helpers/ModelHelper.js +1 -1
  189. package/src/sap/fe/core/helpers/PasteHelper.js +1 -1
  190. package/src/sap/fe/core/helpers/SemanticDateOperators.js +82 -36
  191. package/src/sap/fe/core/helpers/SemanticDateOperators.ts +52 -36
  192. package/src/sap/fe/core/helpers/SemanticKeyHelper.js +1 -1
  193. package/src/sap/fe/core/helpers/SideEffectsHelper.js +146 -0
  194. package/src/sap/fe/core/helpers/SideEffectsHelper.ts +128 -0
  195. package/src/sap/fe/core/helpers/StableIdHelper.js +1 -1
  196. package/src/sap/fe/core/helpers/Synchronization.js +1 -1
  197. package/src/sap/fe/core/helpers/ToES6Promise.js +32 -0
  198. package/src/sap/fe/core/helpers/ToES6Promise.ts +19 -0
  199. package/src/sap/fe/core/jsx-runtime/Fragment.js +16 -0
  200. package/src/sap/fe/core/jsx-runtime/Fragment.ts +3 -0
  201. package/src/sap/fe/core/jsx-runtime/ViewLoader.js +109 -0
  202. package/src/sap/fe/core/jsx-runtime/ViewLoader.tsx +47 -0
  203. package/src/sap/fe/core/jsx-runtime/jsx-control.js +119 -0
  204. package/src/sap/fe/core/jsx-runtime/jsx-control.ts +98 -0
  205. package/src/sap/fe/core/jsx-runtime/jsx-xml.js +105 -0
  206. package/src/sap/fe/core/jsx-runtime/jsx-xml.ts +89 -0
  207. package/src/sap/fe/core/jsx-runtime/jsx.js +12 -90
  208. package/src/sap/fe/core/jsx-runtime/jsx.ts +24 -85
  209. package/src/sap/fe/core/jsx-runtime/jsxs.js +1 -1
  210. package/src/sap/fe/core/jsx-runtime/useMDXComponents.js +179 -0
  211. package/src/sap/fe/core/jsx-runtime/useMDXComponents.tsx +150 -0
  212. package/src/sap/fe/core/library.js +2 -2
  213. package/src/sap/fe/core/library.support.js +1 -1
  214. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +1 -1
  215. package/src/sap/fe/core/messagebundle.properties +4 -41
  216. package/src/sap/fe/core/messagebundle_ar.properties +22 -45
  217. package/src/sap/fe/core/messagebundle_bg.properties +22 -45
  218. package/src/sap/fe/core/messagebundle_ca.properties +22 -45
  219. package/src/sap/fe/core/messagebundle_cs.properties +22 -45
  220. package/src/sap/fe/core/messagebundle_cy.properties +21 -44
  221. package/src/sap/fe/core/messagebundle_da.properties +22 -45
  222. package/src/sap/fe/core/messagebundle_de.properties +22 -45
  223. package/src/sap/fe/core/messagebundle_el.properties +22 -45
  224. package/src/sap/fe/core/messagebundle_en.properties +21 -44
  225. package/src/sap/fe/core/messagebundle_en_GB.properties +21 -44
  226. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +21 -42
  227. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +20 -40
  228. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +21 -42
  229. package/src/sap/fe/core/messagebundle_es.properties +22 -45
  230. package/src/sap/fe/core/messagebundle_es_MX.properties +22 -45
  231. package/src/sap/fe/core/messagebundle_et.properties +22 -45
  232. package/src/sap/fe/core/messagebundle_fi.properties +22 -45
  233. package/src/sap/fe/core/messagebundle_fr.properties +21 -44
  234. package/src/sap/fe/core/messagebundle_fr_CA.properties +20 -43
  235. package/src/sap/fe/core/messagebundle_hi.properties +22 -45
  236. package/src/sap/fe/core/messagebundle_hr.properties +22 -45
  237. package/src/sap/fe/core/messagebundle_hu.properties +22 -45
  238. package/src/sap/fe/core/messagebundle_id.properties +22 -45
  239. package/src/sap/fe/core/messagebundle_it.properties +22 -45
  240. package/src/sap/fe/core/messagebundle_iw.properties +22 -45
  241. package/src/sap/fe/core/messagebundle_ja.properties +22 -45
  242. package/src/sap/fe/core/messagebundle_kk.properties +22 -45
  243. package/src/sap/fe/core/messagebundle_ko.properties +27 -50
  244. package/src/sap/fe/core/messagebundle_lt.properties +22 -45
  245. package/src/sap/fe/core/messagebundle_lv.properties +22 -45
  246. package/src/sap/fe/core/messagebundle_ms.properties +22 -45
  247. package/src/sap/fe/core/messagebundle_nl.properties +24 -47
  248. package/src/sap/fe/core/messagebundle_no.properties +22 -45
  249. package/src/sap/fe/core/messagebundle_pl.properties +23 -46
  250. package/src/sap/fe/core/messagebundle_pt.properties +23 -46
  251. package/src/sap/fe/core/messagebundle_pt_PT.properties +22 -45
  252. package/src/sap/fe/core/messagebundle_ro.properties +22 -45
  253. package/src/sap/fe/core/messagebundle_ru.properties +22 -45
  254. package/src/sap/fe/core/messagebundle_sh.properties +22 -45
  255. package/src/sap/fe/core/messagebundle_sk.properties +22 -45
  256. package/src/sap/fe/core/messagebundle_sl.properties +22 -45
  257. package/src/sap/fe/core/messagebundle_sv.properties +22 -45
  258. package/src/sap/fe/core/messagebundle_th.properties +20 -43
  259. package/src/sap/fe/core/messagebundle_tr.properties +22 -45
  260. package/src/sap/fe/core/messagebundle_uk.properties +22 -45
  261. package/src/sap/fe/core/messagebundle_vi.properties +22 -45
  262. package/src/sap/fe/core/messagebundle_zh_CN.properties +22 -45
  263. package/src/sap/fe/core/messagebundle_zh_TW.properties +22 -45
  264. package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +2 -2
  265. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +102 -74
  266. package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +62 -63
  267. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +2 -2
  268. package/src/sap/fe/core/services/NavigationServiceFactory.js +11 -8
  269. package/src/sap/fe/core/services/NavigationServiceFactory.ts +10 -7
  270. package/src/sap/fe/core/services/ResourceModelServiceFactory.js +2 -2
  271. package/src/sap/fe/core/services/RoutingServiceFactory.js +2 -2
  272. package/src/sap/fe/core/services/ShellServicesFactory.js +22 -2
  273. package/src/sap/fe/core/services/ShellServicesFactory.ts +19 -0
  274. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +4 -4
  275. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +2 -2
  276. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +251 -200
  277. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +160 -144
  278. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +2 -2
  279. package/src/sap/fe/core/support/AnnotationIssue.support.js +1 -1
  280. package/src/sap/fe/core/support/CollectionFacetMissingID.support.js +1 -1
  281. package/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.js +1 -1
  282. package/src/sap/fe/core/support/CommonHelper.js +1 -1
  283. package/src/sap/fe/core/support/Diagnostics.js +1 -1
  284. package/src/sap/fe/core/support/InvalidAnnotationColumnKey.support.js +1 -1
  285. package/src/sap/fe/core/templating/CommonFormatters.js +4 -3
  286. package/src/sap/fe/core/templating/CommonFormatters.ts +5 -1
  287. package/src/sap/fe/core/templating/CriticalityFormatters.js +1 -1
  288. package/src/sap/fe/core/templating/DataFieldFormatters.js +1 -1
  289. package/src/sap/fe/core/templating/DataModelPathHelper.js +8 -1
  290. package/src/sap/fe/core/templating/DataModelPathHelper.ts +5 -2
  291. package/src/sap/fe/core/templating/DisplayModeFormatter.js +1 -1
  292. package/src/sap/fe/core/templating/EntitySetHelper.js +4 -5
  293. package/src/sap/fe/core/templating/EntitySetHelper.ts +4 -3
  294. package/src/sap/fe/core/templating/FieldControlHelper.js +1 -1
  295. package/src/sap/fe/core/templating/FilterHelper.js +34 -15
  296. package/src/sap/fe/core/templating/FilterHelper.ts +28 -12
  297. package/src/sap/fe/core/templating/FilterTemplating.js +1 -1
  298. package/src/sap/fe/core/templating/PropertyFormatters.js +1 -1
  299. package/src/sap/fe/core/templating/PropertyHelper.js +1 -1
  300. package/src/sap/fe/core/templating/UIFormatters.js +5 -3
  301. package/src/sap/fe/core/templating/UIFormatters.ts +7 -5
  302. package/src/sap/fe/core/type/DateTimeWithTimezone.js +2 -2
  303. package/src/sap/fe/core/type/Email.js +2 -2
@@ -104,4 +104,4 @@ sap.ui.define(["sap/base/Log"], function (Log) {
104
104
  };
105
105
  return BusyLocker;
106
106
  }, false);
107
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJ1c3lMb2NrZXIudHMiXSwibmFtZXMiOlsiX2lUaW1lb3V0SW5TZWNvbmRzIiwiX21Mb2NrQ291bnRlcnMiLCJfb1JlZmVyZW5jZUR1bW15IiwiZ2V0SWQiLCJzZXRCdXN5IiwiYkJ1c3kiLCJMb2ciLCJpbmZvIiwiZ2V0TG9ja0NvdW50SWQiLCJvUmVmZXJlbmNlIiwic1BhdGgiLCJpc0xvY2tlZCIsImdldExvY2tDb3VudEVudHJ5Iiwid2FybmluZyIsInNJZCIsImlkIiwicGF0aCIsInJlZmVyZW5jZSIsImNvdW50IiwiZGVsZXRlTG9ja0NvdW50RW50cnkiLCJtTG9ja0NvdW50RW50cnkiLCJhcHBseUxvY2tTdGF0ZSIsImJJc01vZGVsIiwiaXNBIiwic2V0UHJvcGVydHkiLCJ1bmRlZmluZWQiLCJjbGVhclRpbWVvdXQiLCJ0aW1lb3V0Iiwic2V0VGltZW91dCIsImVycm9yIiwiY2hhbmdlTG9ja0NvdW50IiwiaURlbHRhIiwiQnVzeUxvY2tlciIsImxvY2siLCJvTW9kZWxPckNvbnRyb2wiLCJfdXBkYXRlTG9jayIsInVubG9jayJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7OztBQURBLE1BQU1BLGtCQUFrQixHQUFHLEVBQTNCO0FBQUEsTUFDQ0MsY0FBbUIsR0FBRyxFQUR2QjtBQUFBLE1BRUNDLGdCQUFnQixHQUFHO0FBQ2xCQyxJQUFBQSxLQUFLLEVBQUUsWUFBWTtBQUNsQixhQUFPLDJCQUFQO0FBQ0EsS0FIaUI7QUFJbEJDLElBQUFBLE9BQU8sRUFBRSxVQUFVQyxLQUFWLEVBQXNCO0FBQzlCQyxNQUFBQSxHQUFHLENBQUNDLElBQUosbUJBQW9CRixLQUFwQjtBQUNBO0FBTmlCLEdBRnBCOztBQVVBLFdBQVNHLGNBQVQsQ0FBd0JDLFVBQXhCLEVBQXlDQyxLQUF6QyxFQUFxRDtBQUNwRCxXQUFPRCxVQUFVLENBQUNOLEtBQVgsTUFBc0JPLEtBQUssSUFBSSxPQUEvQixDQUFQO0FBQ0E7O0FBQ0QsV0FBU0MsUUFBVCxDQUFrQkYs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ZSxDQUFDRixLQUF2RTtBQUNBO0FBQ0Q7O0FBRUQsTUFBTWMsVUFBVSxHQUFHO0FBQ2xCQyxJQUFBQSxJQUFJLEVBQUUsVUFBVUMsZUFBVixFQUFnQ3hCLEtBQWhDLEVBQWdEO0FBQ3JELGFBQU8sS0FBS3lCLFdBQUwsQ0FBaUJELGVBQWpCLEVBQWtDeEIsS0FBbEMsRUFBeUMsQ0FBekMsQ0FBUDtBQUNBLEtBSGlCO0FBS2xCMEIsSUFBQUEsTUFBTSxFQUFFLFVBQVVGLGVBQVYsRUFBZ0N4QixLQUFoQyxFQUFnRDtBQUN2RCxhQUFPLEtBQUt5QixXQUFMLENBQWlCRCxlQUFqQixFQUFrQ3hCLEtBQWxDLEVBQXlDLENBQUMsQ0FBMUMsQ0FBUDtBQUNBLEtBUGlCO0FBU2xCQyxJQUFBQSxRQUFRLEVBQUUsVUFBVXVCLGVBQVYsRUFBZ0N4QixLQUFoQyxFQUFnRDtBQUN6RCxhQUFPQyxRQUFRLENBQUN1QixlQUFELEVBQWtCeEIsS0FBbEIsQ0FBZjtBQUNBLEtBWGlCO0FBYWxCeUIsSUFBQUEsV0FBVyxFQUFFLFVBQVUxQixVQUFWLEVBQTJCQyxLQUEzQixFQUF1Q3FCLE1BQXZDLEVBQW9EO0FBQ2hFLFVBQU1YLGVBQWUsR0FBR1IsaUJBQWlCLENBQUNILFVBQUQsRUFBYUMsS0FBYixDQUF6QztBQUNBb0IsTUFBQUEsZUFBZSxDQUFDVixlQUFELEVBQWtCVyxNQUFsQixDQUFmO0FBQ0EsYUFBT1YsY0FBYyxDQUFDRCxlQUFELENBQXJCO0FBQ0E7QUFqQmlCLEdBQW5CO1NBb0JlWSxVIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcbmNvbnN0IF9pVGltZW91dEluU2Vjb25kcyA9IDMwLFxuXHRfbUxvY2tDb3VudGVyczogYW55ID0ge30sXG5cdF9vUmVmZXJlbmNlRHVtbXkgPSB7XG5cdFx0Z2V0SWQ6IGZ1bmN0aW9uICgpIHtcblx0XHRcdHJldHVybiBcIkJ1c3lMb2NrZXIuUmVmZXJlbmNlRHVtbXlcIjtcblx0XHR9LFxuXHRcdHNldEJ1c3k6IGZ1bmN0aW9uIChiQnVzeTogYW55KSB7XG5cdFx0XHRMb2cuaW5mbyhgc2V0QnVzeSgke2JCdXN5fSkgdHJpZ2dlcmVkIG9uIGR1bW15IHJlZmVyZW5jZWApO1xuXHRcdH1cblx0fTtcbmZ1bmN0aW9uIGdldExvY2tDb3VudElkKG9SZWZlcmVuY2U6IGFueSwgc1BhdGg6IGFueSkge1xuXHRyZXR1cm4gb1JlZmVyZW5jZS5nZXRJZCgpICsgKHNQYXRoIHx8IFwiL2J1c3lcIik7XG59XG5mdW5jdGlvbiBpc0xvY2tlZChvUmVmZXJlbmNlOiBhbnksIHNQYXRoOiBhbnkpIHtcblx0cmV0dXJuIGdldExvY2tDb3VudElkKG9SZWZlcmVuY2UsIHNQYXRoKSBpbiBfbUxvY2tDb3VudGVycztcbn1cbmZ1bmN0aW9uIGdldExvY2tDb3VudEVudHJ5KG9SZWZlcmVuY2U6IGFueSwgc1BhdGg6IGFueSkge1xuXHRpZiAoIW9SZWZlcmVuY2UgfHwgIW9SZWZlcmVuY2UuZ2V0SWQpIHtcblx0XHRMb2cud2FybmluZyhcIk5vIHJlZmVyZW5jZSBmb3IgQnVzeUxvY2tlciwgdXNpbmcgZHVtbXkgcmVmZXJlbmNlXCIpO1xuXHRcdG9SZWZlcmVuY2UgPSBfb1JlZmVyZW5jZUR1bW15O1xuXHR9XG5cblx0c1BhdGggPSBzUGF0aCB8fCBcIi9idXN5XCI7XG5cdGNvbnN0IHNJZCA9IGdldExvY2tDb3VudElkKG9SZWZlcmVuY2UsIHNQYXRoKTtcblxuXHRpZiAoIShzSWQgaW4gX21Mb2NrQ291bnRlcnMpKSB7XG5cdFx0X21Mb2NrQ291bnRlcnNbc0lkXSA9IHtcblx0XHRcdGlkOiBzSWQsXG5cdFx0XHRwYXRoOiBzUGF0aCxcblx0XHRcdHJlZmVyZW5jZTogb1JlZmVyZW5jZSxcblx0XHRcdGNvdW50OiAwXG5cdFx0fTtcblx0fVxuXHRyZXR1cm4gX21Mb2NrQ291bnRlcnNbc0lkXTtcbn1cbi8qKlxuICogQHBhcmFtIG1Mb2NrQ291bnRFbnRyeVxuICovXG5mdW5jdGlvbiBkZWxldGVMb2NrQ291bnRFbnRyeShtTG9ja0NvdW50RW50cnk6IGFueSkge1xuXHRkZWxldGUgX21Mb2NrQ291bnRlcnNbbUxvY2tDb3VudEVudHJ5LmlkXTtcbn1cblxuZnVuY3Rpb24gYXBwbHlMb2NrU3RhdGUobUxvY2tDb3VudEVudHJ5OiBhbnkpIHtcblx0Y29uc3QgYklzTW9kZWwgPSBtTG9ja0NvdW50RW50cnkucmVmZXJlbmNlLmlzQSAmJiBtTG9ja0NvdW50RW50cnkucmVmZXJlbmNlLmlzQShcInNhcC51aS5tb2RlbC5Nb2RlbFwiKSxcblx0XHRiQnVzeSA9IG1Mb2NrQ291bnRFbnRyeS5jb3VudCAhPT0gMDtcblxuXHRpZiAoYklzTW9kZWwpIHtcblx0XHRtTG9ja0NvdW50RW50cnkucmVmZXJlbmNlLnNldFByb3BlcnR5KG1Mb2NrQ291bnRFbnRyeS5wYXRoLCBiQnVzeSwgdW5kZWZpbmVkLCB0cnVlKTtcblx0fSBlbHNlIGlmIChtTG9ja0NvdW50RW50cnkucmVmZXJlbmNlLnNldEJ1c3kpIHtcblx0XHRtTG9ja0NvdW50RW50cnkucmVmZXJlbmNlLnNldEJ1c3koYkJ1c3kpO1xuXHR9XG5cblx0Y2xlYXJUaW1lb3V0KG1Mb2NrQ291bnRFbnRyeS50aW1lb3V0KTtcblx0aWYgKGJCdXN5KSB7XG5cdFx0bUxvY2tDb3VudEVudHJ5LnRpbWVvdXQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcblx0XHRcdExvZy5lcnJvcihcblx0XHRcdFx0YGJ1c3kgbG9jayBmb3IgJHttTG9ja0NvdW50RW50cnkuaWR9IHdpdGggdmFsdWUgJHttTG9ja0NvdW50RW50cnkuY291bnR9IHRpbWVkIG91dCBhZnRlciAke19pVGltZW91dEluU2Vjb25kc30gc2Vjb25kcyFgXG5cdFx0XHQpO1xuXHRcdH0sIF9pVGltZW91dEluU2Vjb25kcyAqIDEwMDApO1xuXHR9IGVsc2Uge1xuXHRcdGRlbGV0ZUxvY2tDb3VudEVudHJ5KG1Mb2NrQ291bnRFbnRyeSk7XG5cdH1cblxuXHRyZXR1cm4gYkJ1c3k7XG59XG5cbmZ1bmN0aW9uIGNoYW5nZUxvY2tDb3VudChtTG9ja0NvdW50RW50cnk6IGFueSwgaURlbHRhOiBhbnkpIHtcblx0aWYgKGlEZWx0YSA9PT0gMCkge1xuXHRcdG1Mb2NrQ291bnRFbnRyeS5jb3VudCA9IDA7XG5cdFx0TG9nLmluZm8oYGJ1c3kgbG9jayBjb3VudCAnJHttTG9ja0NvdW50RW50cnkuaWR9JyB3YXMgcmVzZXQgdG8gMGApO1xuXHR9IGVsc2Uge1xuXHRcdG1Mb2NrQ291bnRFbnRyeS5jb3VudCArPSBpRGVsdGE7XG5cdFx0TG9nLmluZm8oYGJ1c3kgbG9jayBjb3VudCAnJHttTG9ja0NvdW50RW50cnkuaWR9JyBpcyAke21Mb2NrQ291bnRFbnRyeS5jb3VudH1gKTtcblx0fVxufVxuXG5jb25zdCBCdXN5TG9ja2VyID0ge1xuXHRsb2NrOiBmdW5jdGlvbiAob01vZGVsT3JDb250cm9sOiBhbnksIHNQYXRoPzogc3RyaW5nKSB7XG5cdFx0cmV0dXJuIHRoaXMuX3VwZGF0ZUxvY2sob01vZGVsT3JDb250cm9sLCBzUGF0aCwgMSk7XG5cdH0sXG5cblx0dW5sb2NrOiBmdW5jdGlvbiAob01vZGVsT3JDb250cm9sOiBhbnksIHNQYXRoPzogc3RyaW5nKSB7XG5cdFx0cmV0dXJuIHRoaXMuX3VwZGF0ZUxvY2sob01vZGVsT3JDb250cm9sLCBzUGF0aCwgLTEpO1xuXHR9LFxuXG5cdGlzTG9ja2VkOiBmdW5jdGlvbiAob01vZGVsT3JDb250cm9sOiBhbnksIHNQYXRoPzogc3RyaW5nKSB7XG5cdFx0cmV0dXJuIGlzTG9ja2VkKG9Nb2RlbE9yQ29udHJvbCwgc1BhdGgpO1xuXHR9LFxuXG5cdF91cGRhdGVMb2NrOiBmdW5jdGlvbiAob1JlZmVyZW5jZTogYW55LCBzUGF0aDogYW55LCBpRGVsdGE6IGFueSkge1xuXHRcdGNvbnN0IG1Mb2NrQ291bnRFbnRyeSA9IGdldExvY2tDb3VudEVudHJ5KG9SZWZlcmVuY2UsIHNQYXRoKTtcblx0XHRjaGFuZ2VMb2NrQ291bnQobUxvY2tDb3VudEVudHJ5LCBpRGVsdGEpO1xuXHRcdHJldHVybiBhcHBseUxvY2tTdGF0ZShtTG9ja0NvdW50RW50cnkpO1xuXHR9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBCdXN5TG9ja2VyO1xuIl19
107
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaVRpbWVvdXRJblNlY29uZHMiLCJfbUxvY2tDb3VudGVycyIsIl9vUmVmZXJlbmNlRHVtbXkiLCJnZXRJZCIsInNldEJ1c3kiLCJiQnVzeSIsIkxvZyIsImluZm8iLCJnZXRMb2NrQ291bnRJZCIsIm9SZWZlcmVuY2UiLCJzUGF0aCIsImlzTG9ja2VkIiwiZ2V0TG9ja0NvdW50RW50cnkiLCJ3YXJuaW5nIiwic0lkIiwiaWQiLCJwYXRoIiwicmVmZXJlbmNlIiwiY291bnQiLCJkZWxldGVMb2NrQ291bnRFbnRyeSIsIm1Mb2NrQ291bnRFbnRyeSIsImFwcGx5TG9ja1N0YXRlIiwiYklzTW9kZWwiLCJpc0EiLCJzZXRQcm9wZXJ0eSIsInVuZGVmaW5lZCIsImNsZWFyVGltZW91dCIsInRpbWVvdXQiLCJzZXRUaW1lb3V0IiwiZXJyb3IiLCJjaGFuZ2VMb2NrQ291bnQiLCJpRGVsdGEiLCJCdXN5TG9ja2VyIiwibG9jayIsIm9Nb2RlbE9yQ29udHJvbCIsIl91cGRhdGVMb2NrIiwidW5sb2NrIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJCdXN5TG9ja2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuY29uc3QgX2lUaW1lb3V0SW5TZWNvbmRzID0gMzAsXG5cdF9tTG9ja0NvdW50ZXJzOiBhbnkgPSB7fSxcblx0X29SZWZlcmVuY2VEdW1teSA9IHtcblx0XHRnZXRJZDogZnVuY3Rpb24gKCkge1xuXHRcdFx0cmV0dXJuIFwiQnVzeUxvY2tlci5SZWZlcmVuY2VEdW1teVwiO1xuXHRcdH0sXG5cdFx0c2V0QnVzeTogZnVuY3Rpb24gKGJCdXN5OiBhbnkpIHtcblx0XHRcdExvZy5pbmZvKGBzZXRCdXN5KCR7YkJ1c3l9KSB0cmlnZ2VyZWQgb24gZHVtbXkgcmVmZXJlbmNlYCk7XG5cdFx0fVxuXHR9O1xuZnVuY3Rpb24gZ2V0TG9ja0NvdW50SWQob1JlZmVyZW5jZTogYW55LCBzUGF0aDogYW55KSB7XG5cdHJldHVybiBvUmVmZXJlbmNlLmdldElkKCkgKyAoc1BhdGggfHwgXCIvYnVzeVwiKTtcbn1cbmZ1bmN0aW9uIGlzTG9ja2VkKG9SZWZlcmVuY2U6IGFueSwgc1BhdGg6IGFueSkge1xuXHRyZXR1cm4gZ2V0TG9ja0NvdW50SWQob1JlZmVyZW5jZSwgc1BhdGgpIGluIF9tTG9ja0NvdW50ZXJzO1xufVxuZnVuY3Rpb24gZ2V0TG9ja0NvdW50RW50cnkob1JlZmVyZW5jZTogYW55LCBzUGF0aDogYW55KSB7XG5cdGlmICghb1JlZmVyZW5jZSB8fCAhb1JlZmVyZW5jZS5nZXRJZCkge1xuXHRcdExvZy53YXJuaW5nKFwiTm8gcmVmZXJlbmNlIGZvciBCdXN5TG9ja2VyLCB1c2luZyBkdW1teSByZWZlcmVuY2VcIik7XG5cdFx0b1JlZmVyZW5jZSA9IF9vUmVmZXJlbmNlRHVtbXk7XG5cdH1cblxuXHRzUGF0aCA9IHNQYXRoIHx8IFwiL2J1c3lcIjtcblx0Y29uc3Qgc0lkID0gZ2V0TG9ja0NvdW50SWQob1JlZmVyZW5jZSwgc1BhdGgpO1xuXG5cdGlmICghKHNJZCBpbiBfbUxvY2tDb3VudGVycykpIHtcblx0XHRfbUxvY2tDb3VudGVyc1tzSWRdID0ge1xuXHRcdFx0aWQ6IHNJZCxcblx0XHRcdHBhdGg6IHNQYXRoLFxuXHRcdFx0cmVmZXJlbmNlOiBvUmVmZXJlbmNlLFxuXHRcdFx0Y291bnQ6IDBcblx0XHR9O1xuXHR9XG5cdHJldHVybiBfbUxvY2tDb3VudGVyc1tzSWRdO1xufVxuLyoqXG4gKiBAcGFyYW0gbUxvY2tDb3VudEVudHJ5XG4gKi9cbmZ1bmN0aW9uIGRlbGV0ZUxvY2tDb3VudEVudHJ5KG1Mb2NrQ291bnRFbnRyeTogYW55KSB7XG5cdGRlbGV0ZSBfbUxvY2tDb3VudGVyc1ttTG9ja0NvdW50RW50cnkuaWRdO1xufVxuXG5mdW5jdGlvbiBhcHBseUxvY2tTdGF0ZShtTG9ja0NvdW50RW50cnk6IGFueSkge1xuXHRjb25zdCBiSXNNb2RlbCA9IG1Mb2NrQ291bnRFbnRyeS5yZWZlcmVuY2UuaXNBICYmIG1Mb2NrQ291bnRFbnRyeS5yZWZlcmVuY2UuaXNBKFwic2FwLnVpLm1vZGVsLk1vZGVsXCIpLFxuXHRcdGJCdXN5ID0gbUxvY2tDb3VudEVudHJ5LmNvdW50ICE9PSAwO1xuXG5cdGlmIChiSXNNb2RlbCkge1xuXHRcdG1Mb2NrQ291bnRFbnRyeS5yZWZlcmVuY2Uuc2V0UHJvcGVydHkobUxvY2tDb3VudEVudHJ5LnBhdGgsIGJCdXN5LCB1bmRlZmluZWQsIHRydWUpO1xuXHR9IGVsc2UgaWYgKG1Mb2NrQ291bnRFbnRyeS5yZWZlcmVuY2Uuc2V0QnVzeSkge1xuXHRcdG1Mb2NrQ291bnRFbnRyeS5yZWZlcmVuY2Uuc2V0QnVzeShiQnVzeSk7XG5cdH1cblxuXHRjbGVhclRpbWVvdXQobUxvY2tDb3VudEVudHJ5LnRpbWVvdXQpO1xuXHRpZiAoYkJ1c3kpIHtcblx0XHRtTG9ja0NvdW50RW50cnkudGltZW91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuXHRcdFx0TG9nLmVycm9yKFxuXHRcdFx0XHRgYnVzeSBsb2NrIGZvciAke21Mb2NrQ291bnRFbnRyeS5pZH0gd2l0aCB2YWx1ZSAke21Mb2NrQ291bnRFbnRyeS5jb3VudH0gdGltZWQgb3V0IGFmdGVyICR7X2lUaW1lb3V0SW5TZWNvbmRzfSBzZWNvbmRzIWBcblx0XHRcdCk7XG5cdFx0fSwgX2lUaW1lb3V0SW5TZWNvbmRzICogMTAwMCk7XG5cdH0gZWxzZSB7XG5cdFx0ZGVsZXRlTG9ja0NvdW50RW50cnkobUxvY2tDb3VudEVudHJ5KTtcblx0fVxuXG5cdHJldHVybiBiQnVzeTtcbn1cblxuZnVuY3Rpb24gY2hhbmdlTG9ja0NvdW50KG1Mb2NrQ291bnRFbnRyeTogYW55LCBpRGVsdGE6IGFueSkge1xuXHRpZiAoaURlbHRhID09PSAwKSB7XG5cdFx0bUxvY2tDb3VudEVudHJ5LmNvdW50ID0gMDtcblx0XHRMb2cuaW5mbyhgYnVzeSBsb2NrIGNvdW50ICcke21Mb2NrQ291bnRFbnRyeS5pZH0nIHdhcyByZXNldCB0byAwYCk7XG5cdH0gZWxzZSB7XG5cdFx0bUxvY2tDb3VudEVudHJ5LmNvdW50ICs9IGlEZWx0YTtcblx0XHRMb2cuaW5mbyhgYnVzeSBsb2NrIGNvdW50ICcke21Mb2NrQ291bnRFbnRyeS5pZH0nIGlzICR7bUxvY2tDb3VudEVudHJ5LmNvdW50fWApO1xuXHR9XG59XG5cbmNvbnN0IEJ1c3lMb2NrZXIgPSB7XG5cdGxvY2s6IGZ1bmN0aW9uIChvTW9kZWxPckNvbnRyb2w6IGFueSwgc1BhdGg/OiBzdHJpbmcpIHtcblx0XHRyZXR1cm4gdGhpcy5fdXBkYXRlTG9jayhvTW9kZWxPckNvbnRyb2wsIHNQYXRoLCAxKTtcblx0fSxcblxuXHR1bmxvY2s6IGZ1bmN0aW9uIChvTW9kZWxPckNvbnRyb2w6IGFueSwgc1BhdGg/OiBzdHJpbmcpIHtcblx0XHRyZXR1cm4gdGhpcy5fdXBkYXRlTG9jayhvTW9kZWxPckNvbnRyb2wsIHNQYXRoLCAtMSk7XG5cdH0sXG5cblx0aXNMb2NrZWQ6IGZ1bmN0aW9uIChvTW9kZWxPckNvbnRyb2w6IGFueSwgc1BhdGg/OiBzdHJpbmcpIHtcblx0XHRyZXR1cm4gaXNMb2NrZWQob01vZGVsT3JDb250cm9sLCBzUGF0aCk7XG5cdH0sXG5cblx0X3VwZGF0ZUxvY2s6IGZ1bmN0aW9uIChvUmVmZXJlbmNlOiBhbnksIHNQYXRoOiBhbnksIGlEZWx0YTogYW55KSB7XG5cdFx0Y29uc3QgbUxvY2tDb3VudEVudHJ5ID0gZ2V0TG9ja0NvdW50RW50cnkob1JlZmVyZW5jZSwgc1BhdGgpO1xuXHRcdGNoYW5nZUxvY2tDb3VudChtTG9ja0NvdW50RW50cnksIGlEZWx0YSk7XG5cdFx0cmV0dXJuIGFwcGx5TG9ja1N0YXRlKG1Mb2NrQ291bnRFbnRyeSk7XG5cdH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IEJ1c3lMb2NrZXI7XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7RUFDQSxJQUFNQSxrQkFBa0IsR0FBRyxFQUEzQjtFQUFBLElBQ0NDLGNBQW1C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