@sapui5/sap.fe.core 1.102.2 → 1.104.1

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 (324) hide show
  1. package/package.json +6 -6
  2. package/src/sap/fe/core/.library +1 -1
  3. package/src/sap/fe/core/AppComponent.js +73 -30
  4. package/src/sap/fe/core/AppComponent.ts +65 -43
  5. package/src/sap/fe/core/AppStateHandler.js +82 -70
  6. package/src/sap/fe/core/AppStateHandler.ts +32 -37
  7. package/src/sap/fe/core/BaseController.js +11 -9
  8. package/src/sap/fe/core/BaseController.ts +15 -13
  9. package/src/sap/fe/core/CommonUtils.js +227 -126
  10. package/src/sap/fe/core/CommonUtils.ts +240 -163
  11. package/src/sap/fe/core/ExtensionAPI.js +24 -27
  12. package/src/sap/fe/core/ExtensionAPI.ts +36 -38
  13. package/src/sap/fe/core/PageController.js +4 -4
  14. package/src/sap/fe/core/PageController.ts +4 -5
  15. package/src/sap/fe/core/TemplateComponent.js +1 -1
  16. package/src/sap/fe/core/TemplateComponent.ts +6 -6
  17. package/src/sap/fe/core/TemplateModel.js +1 -1
  18. package/src/sap/fe/core/TemplateModel.ts +1 -1
  19. package/src/sap/fe/core/buildingBlocks/AttributeModel.js +1 -1
  20. package/src/sap/fe/core/buildingBlocks/AttributeModel.ts +1 -1
  21. package/src/sap/fe/core/buildingBlocks/BuildingBlock.js +181 -43
  22. package/src/sap/fe/core/buildingBlocks/BuildingBlock.ts +150 -24
  23. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +585 -210
  24. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.ts +246 -96
  25. package/src/sap/fe/core/buildingBlocks/TraceInfo.js +30 -30
  26. package/src/sap/fe/core/buildingBlocks/TraceInfo.ts +32 -29
  27. package/src/sap/fe/core/controllerextensions/EditFlow.js +379 -330
  28. package/src/sap/fe/core/controllerextensions/EditFlow.ts +253 -245
  29. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +9 -9
  30. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +10 -10
  31. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +101 -74
  32. package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +69 -79
  33. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +67 -67
  34. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +76 -76
  35. package/src/sap/fe/core/controllerextensions/InternalRouting.js +85 -77
  36. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +103 -99
  37. package/src/sap/fe/core/controllerextensions/KPIManagement.js +66 -68
  38. package/src/sap/fe/core/controllerextensions/KPIManagement.ts +106 -123
  39. package/src/sap/fe/core/controllerextensions/MassEdit.js +9 -9
  40. package/src/sap/fe/core/controllerextensions/MassEdit.ts +20 -27
  41. package/src/sap/fe/core/controllerextensions/MessageHandler.js +20 -12
  42. package/src/sap/fe/core/controllerextensions/MessageHandler.ts +21 -14
  43. package/src/sap/fe/core/controllerextensions/PageReady.js +97 -25
  44. package/src/sap/fe/core/controllerextensions/PageReady.ts +98 -34
  45. package/src/sap/fe/core/controllerextensions/Paginator.js +21 -22
  46. package/src/sap/fe/core/controllerextensions/Paginator.ts +24 -25
  47. package/src/sap/fe/core/controllerextensions/Placeholder.js +4 -6
  48. package/src/sap/fe/core/controllerextensions/Placeholder.ts +12 -14
  49. package/src/sap/fe/core/controllerextensions/Routing.js +10 -11
  50. package/src/sap/fe/core/controllerextensions/Routing.ts +12 -13
  51. package/src/sap/fe/core/controllerextensions/Share.js +170 -139
  52. package/src/sap/fe/core/controllerextensions/Share.ts +117 -118
  53. package/src/sap/fe/core/controllerextensions/SideEffects.js +46 -50
  54. package/src/sap/fe/core/controllerextensions/SideEffects.ts +56 -60
  55. package/src/sap/fe/core/controllerextensions/ViewState.js +200 -131
  56. package/src/sap/fe/core/controllerextensions/ViewState.ts +141 -148
  57. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +5 -5
  58. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.ts +8 -7
  59. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +11 -10
  60. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.ts +17 -20
  61. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +2 -2
  62. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +4 -4
  63. package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +7 -9
  64. package/src/sap/fe/core/controllerextensions/collaboration/Manage.ts +18 -19
  65. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +190 -141
  66. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +258 -210
  67. package/src/sap/fe/core/controllerextensions/editFlow/draft.js +183 -125
  68. package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +213 -156
  69. package/src/sap/fe/core/controllerextensions/editFlow/operations.js +164 -140
  70. package/src/sap/fe/core/controllerextensions/editFlow/operations.ts +180 -150
  71. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +24 -26
  72. package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +35 -33
  73. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +71 -41
  74. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +102 -82
  75. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +61 -71
  76. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.ts +56 -64
  77. package/src/sap/fe/core/controls/Any.js +9 -5
  78. package/src/sap/fe/core/controls/Any.ts +10 -4
  79. package/src/sap/fe/core/controls/CommandExecution.js +11 -25
  80. package/src/sap/fe/core/controls/CommandExecution.ts +11 -25
  81. package/src/sap/fe/core/controls/ConditionalWrapper.js +2 -2
  82. package/src/sap/fe/core/controls/ConditionalWrapper.ts +3 -3
  83. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +22 -22
  84. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.ts +25 -24
  85. package/src/sap/fe/core/controls/CustomQuickViewPage.js +2 -2
  86. package/src/sap/fe/core/controls/CustomQuickViewPage.ts +2 -2
  87. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +3 -3
  88. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +5 -5
  89. package/src/sap/fe/core/controls/FieldWrapper.js +2 -2
  90. package/src/sap/fe/core/controls/FieldWrapper.ts +3 -3
  91. package/src/sap/fe/core/controls/FileWrapper.js +7 -2
  92. package/src/sap/fe/core/controls/FileWrapper.ts +15 -11
  93. package/src/sap/fe/core/controls/FilterBar.js +6 -2
  94. package/src/sap/fe/core/controls/FilterBar.ts +13 -9
  95. package/src/sap/fe/core/controls/FormElementWrapper.js +1 -1
  96. package/src/sap/fe/core/controls/FormElementWrapper.ts +2 -2
  97. package/src/sap/fe/core/controls/MassEditSelect.js +1 -1
  98. package/src/sap/fe/core/controls/MassEditSelect.ts +0 -4
  99. package/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +3 -3
  100. package/src/sap/fe/core/controls/filterbar/VisualFilter.js +16 -12
  101. package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +20 -22
  102. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +3 -3
  103. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +8 -8
  104. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +49 -49
  105. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +54 -54
  106. package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +8 -2
  107. package/src/sap/fe/core/controls/massEdit/MassEditField.fragment.xml +22 -35
  108. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +89 -88
  109. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +107 -106
  110. package/src/sap/fe/core/converters/ConverterContext.js +26 -33
  111. package/src/sap/fe/core/converters/ConverterContext.ts +52 -61
  112. package/src/sap/fe/core/converters/ManifestSettings.js +1 -1
  113. package/src/sap/fe/core/converters/ManifestSettings.ts +17 -15
  114. package/src/sap/fe/core/converters/ManifestWrapper.js +59 -45
  115. package/src/sap/fe/core/converters/ManifestWrapper.ts +55 -45
  116. package/src/sap/fe/core/converters/MetaModelConverter.js +64 -35
  117. package/src/sap/fe/core/converters/MetaModelConverter.ts +154 -129
  118. package/src/sap/fe/core/converters/TemplateConverter.js +21 -20
  119. package/src/sap/fe/core/converters/TemplateConverter.ts +27 -24
  120. package/src/sap/fe/core/converters/annotations/DataField.js +58 -35
  121. package/src/sap/fe/core/converters/annotations/DataField.ts +102 -76
  122. package/src/sap/fe/core/converters/common/AnnotationConverter.js +1911 -1495
  123. package/src/sap/fe/core/converters/controls/Common/Action.js +50 -41
  124. package/src/sap/fe/core/converters/controls/Common/Action.ts +56 -46
  125. package/src/sap/fe/core/converters/controls/Common/Chart.js +14 -14
  126. package/src/sap/fe/core/converters/controls/Common/Chart.ts +26 -33
  127. package/src/sap/fe/core/converters/controls/Common/Criticality.js +3 -3
  128. package/src/sap/fe/core/converters/controls/Common/Criticality.ts +4 -4
  129. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +30 -28
  130. package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +60 -61
  131. package/src/sap/fe/core/converters/controls/Common/Form.js +27 -28
  132. package/src/sap/fe/core/converters/controls/Common/Form.ts +44 -57
  133. package/src/sap/fe/core/converters/controls/Common/KPI.js +11 -11
  134. package/src/sap/fe/core/converters/controls/Common/KPI.ts +49 -52
  135. package/src/sap/fe/core/converters/controls/Common/Table.js +181 -197
  136. package/src/sap/fe/core/converters/controls/Common/Table.ts +251 -280
  137. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +119 -119
  138. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +144 -141
  139. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +45 -41
  140. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +65 -59
  141. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +28 -26
  142. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +46 -43
  143. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.js +9 -9
  144. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.ts +14 -13
  145. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +67 -64
  146. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +69 -66
  147. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +77 -73
  148. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +101 -97
  149. package/src/sap/fe/core/converters/helpers/Aggregation.js +2 -4
  150. package/src/sap/fe/core/converters/helpers/Aggregation.ts +12 -15
  151. package/src/sap/fe/core/converters/helpers/BindingHelper.js +31 -31
  152. package/src/sap/fe/core/converters/helpers/BindingHelper.ts +30 -29
  153. package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +4 -4
  154. package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +9 -9
  155. package/src/sap/fe/core/converters/helpers/ID.js +48 -46
  156. package/src/sap/fe/core/converters/helpers/ID.ts +26 -25
  157. package/src/sap/fe/core/converters/helpers/Key.js +7 -7
  158. package/src/sap/fe/core/converters/helpers/Key.ts +7 -7
  159. package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.js +1 -1
  160. package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.ts +4 -5
  161. package/src/sap/fe/core/converters/objectPage/FormMenuActions.js +6 -6
  162. package/src/sap/fe/core/converters/objectPage/FormMenuActions.ts +10 -10
  163. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +46 -62
  164. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +54 -82
  165. package/src/sap/fe/core/converters/templates/ListReportConverter.js +55 -42
  166. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +81 -66
  167. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +39 -38
  168. package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +52 -61
  169. package/src/sap/fe/core/designtime/AppComponent.designtime.js +4 -4
  170. package/src/sap/fe/core/designtime/AppComponent.designtime.ts +4 -4
  171. package/src/sap/fe/core/formatters/CollaborationFormatter.js +2 -2
  172. package/src/sap/fe/core/formatters/CollaborationFormatter.ts +3 -3
  173. package/src/sap/fe/core/formatters/FPMFormatter.js +5 -5
  174. package/src/sap/fe/core/formatters/FPMFormatter.ts +10 -10
  175. package/src/sap/fe/core/formatters/KPIFormatter.js +7 -7
  176. package/src/sap/fe/core/formatters/KPIFormatter.ts +10 -10
  177. package/src/sap/fe/core/formatters/StandardFormatter.js +96 -0
  178. package/src/sap/fe/core/formatters/StandardFormatter.ts +70 -0
  179. package/src/sap/fe/core/formatters/TableFormatter.js +11 -11
  180. package/src/sap/fe/core/formatters/TableFormatter.ts +12 -12
  181. package/src/sap/fe/core/formatters/ValueFormatter.js +8 -8
  182. package/src/sap/fe/core/formatters/ValueFormatter.ts +9 -9
  183. package/src/sap/fe/core/helpers/AppStartupHelper.js +15 -15
  184. package/src/sap/fe/core/helpers/AppStartupHelper.ts +37 -40
  185. package/src/sap/fe/core/helpers/BindingToolkit.js +1832 -0
  186. package/src/sap/fe/core/helpers/{BindingExpression.ts → BindingToolkit.ts} +396 -269
  187. package/src/sap/fe/core/helpers/ClassSupport.js +49 -12
  188. package/src/sap/fe/core/helpers/ClassSupport.ts +37 -10
  189. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +2 -2
  190. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.ts +1 -1
  191. package/src/sap/fe/core/helpers/EditState.js +1 -6
  192. package/src/sap/fe/core/helpers/EditState.ts +5 -10
  193. package/src/sap/fe/core/helpers/ExcelFormatHelper.js +2 -2
  194. package/src/sap/fe/core/helpers/ExcelFormatHelper.ts +4 -4
  195. package/src/sap/fe/core/helpers/FPMHelper.js +1 -1
  196. package/src/sap/fe/core/helpers/FPMHelper.ts +2 -2
  197. package/src/sap/fe/core/helpers/KeepAliveHelper.js +31 -31
  198. package/src/sap/fe/core/helpers/KeepAliveHelper.ts +52 -56
  199. package/src/sap/fe/core/helpers/MassEditHelper.js +306 -280
  200. package/src/sap/fe/core/helpers/MassEditHelper.ts +380 -360
  201. package/src/sap/fe/core/helpers/MessageStrip.js +81 -0
  202. package/src/sap/fe/core/helpers/MessageStrip.ts +79 -0
  203. package/src/sap/fe/core/helpers/ModelHelper.js +25 -25
  204. package/src/sap/fe/core/helpers/ModelHelper.ts +34 -32
  205. package/src/sap/fe/core/helpers/PasteHelper.js +3 -10
  206. package/src/sap/fe/core/helpers/PasteHelper.ts +20 -25
  207. package/src/sap/fe/core/helpers/SemanticDateOperators.js +1 -1
  208. package/src/sap/fe/core/helpers/SemanticDateOperators.ts +11 -11
  209. package/src/sap/fe/core/helpers/SemanticKeyHelper.js +3 -3
  210. package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +8 -8
  211. package/src/sap/fe/core/helpers/StableIdHelper.js +12 -12
  212. package/src/sap/fe/core/helpers/StableIdHelper.ts +12 -12
  213. package/src/sap/fe/core/helpers/ToES6Promise.js +32 -0
  214. package/src/sap/fe/core/helpers/ToES6Promise.ts +19 -0
  215. package/src/sap/fe/core/jsx-runtime/Fragment.js +16 -0
  216. package/src/sap/fe/core/jsx-runtime/Fragment.ts +3 -0
  217. package/src/sap/fe/core/jsx-runtime/jsx-control.js +99 -0
  218. package/src/sap/fe/core/jsx-runtime/jsx-control.ts +82 -0
  219. package/src/sap/fe/core/jsx-runtime/jsx-xml.js +105 -0
  220. package/src/sap/fe/core/jsx-runtime/jsx-xml.ts +89 -0
  221. package/src/sap/fe/core/jsx-runtime/jsx.js +12 -90
  222. package/src/sap/fe/core/jsx-runtime/jsx.ts +24 -85
  223. package/src/sap/fe/core/library.js +42 -3
  224. package/src/sap/fe/core/library.ts +38 -0
  225. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +3 -3
  226. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +2 -2
  227. package/src/sap/fe/core/messagebundle.properties +39 -63
  228. package/src/sap/fe/core/messagebundle_ar.properties +25 -39
  229. package/src/sap/fe/core/messagebundle_bg.properties +25 -39
  230. package/src/sap/fe/core/messagebundle_ca.properties +25 -39
  231. package/src/sap/fe/core/messagebundle_cs.properties +25 -39
  232. package/src/sap/fe/core/messagebundle_cy.properties +25 -39
  233. package/src/sap/fe/core/messagebundle_da.properties +25 -39
  234. package/src/sap/fe/core/messagebundle_de.properties +25 -39
  235. package/src/sap/fe/core/messagebundle_el.properties +26 -40
  236. package/src/sap/fe/core/messagebundle_en.properties +25 -39
  237. package/src/sap/fe/core/messagebundle_en_GB.properties +25 -39
  238. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +25 -39
  239. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +25 -39
  240. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +26 -18
  241. package/src/sap/fe/core/messagebundle_es.properties +27 -41
  242. package/src/sap/fe/core/messagebundle_es_MX.properties +25 -39
  243. package/src/sap/fe/core/messagebundle_et.properties +25 -39
  244. package/src/sap/fe/core/messagebundle_fi.properties +25 -39
  245. package/src/sap/fe/core/messagebundle_fr.properties +26 -40
  246. package/src/sap/fe/core/messagebundle_fr_CA.properties +25 -39
  247. package/src/sap/fe/core/messagebundle_hi.properties +25 -39
  248. package/src/sap/fe/core/messagebundle_hr.properties +25 -39
  249. package/src/sap/fe/core/messagebundle_hu.properties +25 -39
  250. package/src/sap/fe/core/messagebundle_id.properties +25 -39
  251. package/src/sap/fe/core/messagebundle_it.properties +41 -55
  252. package/src/sap/fe/core/messagebundle_iw.properties +25 -39
  253. package/src/sap/fe/core/messagebundle_ja.properties +25 -39
  254. package/src/sap/fe/core/messagebundle_kk.properties +25 -39
  255. package/src/sap/fe/core/messagebundle_ko.properties +30 -44
  256. package/src/sap/fe/core/messagebundle_lt.properties +25 -39
  257. package/src/sap/fe/core/messagebundle_lv.properties +25 -39
  258. package/src/sap/fe/core/messagebundle_ms.properties +25 -39
  259. package/src/sap/fe/core/messagebundle_nl.properties +27 -41
  260. package/src/sap/fe/core/messagebundle_no.properties +25 -39
  261. package/src/sap/fe/core/messagebundle_pl.properties +26 -40
  262. package/src/sap/fe/core/messagebundle_pt.properties +26 -40
  263. package/src/sap/fe/core/messagebundle_pt_PT.properties +25 -39
  264. package/src/sap/fe/core/messagebundle_ro.properties +25 -39
  265. package/src/sap/fe/core/messagebundle_ru.properties +25 -39
  266. package/src/sap/fe/core/messagebundle_sh.properties +25 -39
  267. package/src/sap/fe/core/messagebundle_sk.properties +25 -39
  268. package/src/sap/fe/core/messagebundle_sl.properties +25 -39
  269. package/src/sap/fe/core/messagebundle_sv.properties +25 -39
  270. package/src/sap/fe/core/messagebundle_th.properties +25 -39
  271. package/src/sap/fe/core/messagebundle_tr.properties +25 -39
  272. package/src/sap/fe/core/messagebundle_uk.properties +25 -39
  273. package/src/sap/fe/core/messagebundle_vi.properties +25 -39
  274. package/src/sap/fe/core/messagebundle_zh_CN.properties +25 -39
  275. package/src/sap/fe/core/messagebundle_zh_TW.properties +25 -39
  276. package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +2 -2
  277. package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +5 -5
  278. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +97 -69
  279. package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +68 -69
  280. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +1 -1
  281. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +3 -2
  282. package/src/sap/fe/core/services/NavigationServiceFactory.js +61 -49
  283. package/src/sap/fe/core/services/NavigationServiceFactory.ts +63 -52
  284. package/src/sap/fe/core/services/ResourceModelServiceFactory.js +2 -2
  285. package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +4 -4
  286. package/src/sap/fe/core/services/RoutingServiceFactory.js +55 -55
  287. package/src/sap/fe/core/services/RoutingServiceFactory.ts +67 -65
  288. package/src/sap/fe/core/services/ShellServicesFactory.js +92 -76
  289. package/src/sap/fe/core/services/ShellServicesFactory.ts +95 -82
  290. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +61 -61
  291. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +102 -92
  292. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +224 -198
  293. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +138 -139
  294. package/src/sap/fe/core/support/CommonHelper.js +3 -2
  295. package/src/sap/fe/core/support/CommonHelper.ts +9 -13
  296. package/src/sap/fe/core/support/Diagnostics.js +1 -1
  297. package/src/sap/fe/core/support/Diagnostics.ts +5 -5
  298. package/src/sap/fe/core/templating/CommonFormatters.js +84 -0
  299. package/src/sap/fe/core/templating/CommonFormatters.ts +86 -0
  300. package/src/sap/fe/core/templating/CriticalityFormatters.js +31 -31
  301. package/src/sap/fe/core/templating/CriticalityFormatters.ts +42 -40
  302. package/src/sap/fe/core/templating/DataFieldFormatters.js +8 -8
  303. package/src/sap/fe/core/templating/DataFieldFormatters.ts +13 -10
  304. package/src/sap/fe/core/templating/DataModelPathHelper.js +16 -15
  305. package/src/sap/fe/core/templating/DataModelPathHelper.ts +42 -32
  306. package/src/sap/fe/core/templating/DisplayModeFormatter.js +1 -1
  307. package/src/sap/fe/core/templating/DisplayModeFormatter.ts +2 -3
  308. package/src/sap/fe/core/templating/EntitySetHelper.js +7 -7
  309. package/src/sap/fe/core/templating/EntitySetHelper.ts +6 -8
  310. package/src/sap/fe/core/templating/FieldControlHelper.js +35 -34
  311. package/src/sap/fe/core/templating/FieldControlHelper.ts +29 -46
  312. package/src/sap/fe/core/templating/FilterHelper.js +16 -15
  313. package/src/sap/fe/core/templating/FilterHelper.ts +18 -18
  314. package/src/sap/fe/core/templating/FilterTemplating.js +1 -1
  315. package/src/sap/fe/core/templating/FilterTemplating.ts +3 -3
  316. package/src/sap/fe/core/templating/PropertyFormatters.js +7 -7
  317. package/src/sap/fe/core/templating/PropertyFormatters.ts +21 -19
  318. package/src/sap/fe/core/templating/PropertyHelper.js +25 -25
  319. package/src/sap/fe/core/templating/PropertyHelper.ts +25 -26
  320. package/src/sap/fe/core/templating/UIFormatters.js +152 -95
  321. package/src/sap/fe/core/templating/UIFormatters.ts +202 -128
  322. package/src/sap/fe/core/type/Email.js +2 -2
  323. package/src/sap/fe/core/type/Email.ts +2 -2
  324. package/src/sap/fe/core/helpers/BindingExpression.js +0 -1732
@@ -13,9 +13,9 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/library",
13
13
  * @name sap.fe.core.actions.sticky#editDocumentInStickySession
14
14
  * @memberof sap.fe.core.actions.sticky
15
15
  * @static
16
- * @param {sap.ui.model.odata.v4.Context} oContext Context of the document to be edited
17
- * @param {AppComponent} oAppComponent The AppComponent
18
- * @returns {Promise}
16
+ * @param oContext Context of the document to be edited
17
+ * @param oAppComponent The AppComponent
18
+ * @returns A Promise resolved when the sticky session is in edit mode
19
19
  * @private
20
20
  * @ui5-restricted
21
21
  */
@@ -24,15 +24,15 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/library",
24
24
  var oModel = oContext.getModel(),
25
25
  oMetaModel = oModel.getMetaModel(),
26
26
  sMetaPath = oMetaModel.getMetaPath(oContext.getPath()),
27
- sEditAction = oMetaModel.getObject(sMetaPath + "@com.sap.vocabularies.Session.v1.StickySessionSupported/EditAction");
27
+ sEditAction = oMetaModel.getObject("".concat(sMetaPath, "@com.sap.vocabularies.Session.v1.StickySessionSupported/EditAction"));
28
28
 
29
29
  if (!sEditAction) {
30
- throw new Error("Edit Action for Sticky Session not found for " + sMetaPath);
30
+ throw new Error("Edit Action for Sticky Session not found for ".concat(sMetaPath));
31
31
  }
32
32
 
33
33
  var localI18nRef = Core.getLibraryResourceBundle("sap.fe.core");
34
34
  var sActionName = localI18nRef.getText("C_COMMON_OBJECT_PAGE_EDIT");
35
- var oEditAction = oModel.bindContext(sEditAction + "(...)", oContext, {
35
+ var oEditAction = oModel.bindContext("".concat(sEditAction, "(...)"), oContext, {
36
36
  $$inheritExpandSelect: true
37
37
  });
38
38
  var sGroupId = "direct";
@@ -59,32 +59,30 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/library",
59
59
  * @name sap.fe.core.actions.sticky#activateDocument
60
60
  * @memberof sap.fe.core.actions.sticky
61
61
  * @static
62
- * @param {sap.ui.model.odata.v4.Context} oContext Context of the document to be activated
63
- * @param {boolean} bEnableStrictHandling
64
- * @returns {Promise}
62
+ * @param oContext Context of the document to be activated
63
+ * @returns A promise resolve when the sticky session is activated
65
64
  * @private
66
65
  * @ui5-restricted
67
66
  */
68
67
 
69
68
 
70
- function activateDocument(oContext, bEnableStrictHandling) {
69
+ function activateDocument(oContext) {
71
70
  var oModel = oContext.getModel(),
72
71
  oMetaModel = oModel.getMetaModel(),
73
72
  sMetaPath = oMetaModel.getMetaPath(oContext.getPath()),
74
- sSaveAction = oMetaModel.getObject(sMetaPath + "@com.sap.vocabularies.Session.v1.StickySessionSupported/SaveAction");
73
+ sSaveAction = oMetaModel.getObject("".concat(sMetaPath, "@com.sap.vocabularies.Session.v1.StickySessionSupported/SaveAction"));
75
74
 
76
75
  if (!sSaveAction) {
77
- throw new Error("Save Action for Sticky Session not found for " + sMetaPath);
76
+ throw new Error("Save Action for Sticky Session not found for ".concat(sMetaPath));
78
77
  }
79
78
 
80
79
  var localI18nRef = Core.getLibraryResourceBundle("sap.fe.core");
81
80
  var sActionName = localI18nRef.getText("C_OP_OBJECT_PAGE_SAVE");
82
- var oSaveAction = oModel.bindContext(sSaveAction + "(...)", oContext, {
81
+ var oSaveAction = oModel.bindContext("".concat(sSaveAction, "(...)"), oContext, {
83
82
  $$inheritExpandSelect: true
84
83
  });
85
- var sGroupId = "direct"; //Triggering of 412 in case of save in sticky apps only when URL parameter is present
86
-
87
- var oSavePromise = bEnableStrictHandling ? oSaveAction.execute(sGroupId, undefined, CommonUtils.fnOnStrictHandlingFailed.bind(sticky, sGroupId, sActionName, oModel)) : oSaveAction.execute(sGroupId);
84
+ var sGroupId = "direct";
85
+ var oSavePromise = oSaveAction.execute(sGroupId, undefined, CommonUtils.fnOnStrictHandlingFailed.bind(sticky, sGroupId, sActionName, oModel));
88
86
  oModel.submitBatch(sGroupId);
89
87
  return oSavePromise;
90
88
  }
@@ -95,8 +93,8 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/library",
95
93
  * @name sap.fe.core.actions.sticky#discardDocument
96
94
  * @memberof sap.fe.core.actions.sticky
97
95
  * @static
98
- * @param {sap.ui.model.odata.v4.Context} oContext Context of the document to be discarded
99
- * @returns {Promise}
96
+ * @param oContext Context of the document to be discarded
97
+ * @returns A promise resolved when the document is dicarded
100
98
  * @private
101
99
  * @ui5-restricted
102
100
  */
@@ -106,13 +104,13 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/library",
106
104
  var oModel = oContext.getModel(),
107
105
  oMetaModel = oModel.getMetaModel(),
108
106
  sMetaPath = oMetaModel.getMetaPath(oContext.getPath()),
109
- sDiscardAction = oMetaModel.getObject(sMetaPath + "@com.sap.vocabularies.Session.v1.StickySessionSupported/DiscardAction");
107
+ sDiscardAction = oMetaModel.getObject("".concat(sMetaPath, "@com.sap.vocabularies.Session.v1.StickySessionSupported/DiscardAction"));
110
108
 
111
109
  if (!sDiscardAction) {
112
- throw new Error("Discard Action for Sticky Session not found for " + sMetaPath);
110
+ throw new Error("Discard Action for Sticky Session not found for ".concat(sMetaPath));
113
111
  }
114
112
 
115
- var oDiscardAction = oModel.bindContext("/" + sDiscardAction + "(...)");
113
+ var oDiscardAction = oModel.bindContext("/".concat(sDiscardAction, "(...)"));
116
114
  var oDiscardPromise = oDiscardAction.execute("direct").then(function () {
117
115
  return oContext;
118
116
  });
@@ -126,10 +124,10 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/library",
126
124
  * @name sap.fe.core.actions.sticky#discardDocument
127
125
  * @memberof sap.fe.core.actions.sticky
128
126
  * @static
129
- * @param {Function} fnProcess Function to execute after confirmation
130
- * @param {sap.ui.core.mvc.XMLView} oView Current view
131
- * @param {string} programmingModel Programming Model of the current page
132
- * @returns {void}
127
+ * @param fnProcess Function to execute after confirmation
128
+ * @param oView Current view
129
+ * @param programmingModel Programming Model of the current page
130
+ * @returns `void` i think
133
131
  * @private
134
132
  * @ui5-restricted
135
133
  */
@@ -187,4 +185,4 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/library",
187
185
  };
188
186
  return sticky;
189
187
  }, false);
190
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0aWNreS50cyJdLCJuYW1lcyI6WyJQcm9ncmFtbWluZ01vZGVsIiwiRkVMaWJyYXJ5IiwiZWRpdERvY3VtZW50SW5TdGlja3lTZXNzaW9uIiwib0NvbnRleHQiLCJvQXBwQ29tcG9uZW50Iiwib01vZGVsIiwiZ2V0TW9kZWwiLCJvTWV0YU1vZGVsIiwiZ2V0TWV0YU1vZGVsIiwic01ldGFQYXRoIiwiZ2V0TWV0YVBhdGgiLCJnZXRQYXRoIiwic0VkaXRBY3Rpb24iLCJnZXRPYmplY3QiLCJFcnJvciIsImxvY2FsSTE4blJlZiIsIkNvcmUiLCJnZXRMaWJyYXJ5UmVzb3VyY2VCdW5kbGUiLCJzQWN0aW9uTmFtZSIsImdldFRleHQiLCJvRWRpdEFjdGlvbiIsImJpbmRDb250ZXh0IiwiJCRpbmhlcml0RXhwYW5kU2VsZWN0Iiwic0dyb3VwSWQiLCJvRWRpdFByb21pc2UiLCJleGVjdXRlIiwidW5kZWZpbmVkIiwiQ29tbW9uVXRpbHMiLCJmbk9uU3RyaWN0SGFuZGxpbmdGYWlsZWQiLCJiaW5kIiwic3RpY2t5Iiwic3VibWl0QmF0Y2giLCJ0aGVuIiwib05ld0NvbnRleHQiLCJvU2lkZUVmZmVjdHMiLCJnZXRTaWRlRWZmZWN0c1NlcnZpY2UiLCJnZXRPRGF0YUFjdGlvblNpZGVFZmZlY3RzIiwidHJpZ2dlckFjdGlvbnMiLCJsZW5ndGgiLCJyZXF1ZXN0U2lkZUVmZmVjdHNGb3JPRGF0YUFjdGlvbiIsImFjdGl2YXRlRG9jdW1lbnQiLCJiRW5hYmxlU3RyaWN0SGFuZGxpbmciLCJzU2F2ZUFjdGlvbiIsIm9TYXZlQWN0aW9uIiwib1NhdmVQcm9taXNlIiwiZGlzY2FyZERvY3VtZW50Iiwic0Rpc2NhcmRBY3Rpb24iLCJvRGlzY2FyZEFjdGlvbiIsIm9EaXNjYXJkUHJvbWlzZSIsInByb2Nlc3NEYXRhTG9zc0NvbmZpcm1hdGlvbiIsImZuUHJvY2VzcyIsIm9WaWV3IiwicHJvZ3JhbW1pbmdNb2RlbCIsImJVSUVkaXRhYmxlIiwiZ2V0UHJvcGVydHkiLCJvUmVzb3VyY2VCdW5kbGUiLCJzV2FybmluZ01zZyIsInNDb25maXJtQnV0dG9uVHh0Iiwic0NhbmNlbEJ1dHRvblR4dCIsIlN0aWNreSIsIk1lc3NhZ2VCb3giLCJ3YXJuaW5nIiwiYWN0aW9ucyIsImVtcGhhc2l6ZWRBY3Rpb24iLCJvbkNsb3NlIiwic0FjdGlvbiIsIm9JbnRlcm5hbE1vZGVsIiwiTG9nIiwiaW5mbyIsInNldFByb3BlcnR5Il0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7O0FBUUEsTUFBTUEsZ0JBQWdCLEdBQUdDLFNBQVMsQ0FBQ0QsZ0JBQW5DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0EsV0FBU0UsMkJBQVQsQ0FBcUNDLFFBQXJDLEVBQXdEQyxhQUF4RCxFQUFxRjtBQUNwRixRQUFNQyxNQUFNLEdBQUdGLFFBQVEsQ0FBQ0csUUFBVCxFQUFmO0FBQUEsUUFDQ0MsVUFBVSxHQUFHRixNQUFNLENBQUNHLFlBQVAsRUFEZDtBQUFBLFFBRUNDLFNBQVMsR0FBR0YsVUFBVSxDQUFDRyxXQUFYLENBQXVCUCxRQUFRLENBQUNRLE9BQVQsRUFBdkIsQ0FGYjtBQUFBLFFBR0NDLFdBQVcsR0FBR0wsVUFBVSxDQUFDTSxTQUFYLENBQXFCSixTQUFTLEdBQUcsb0VBQWpDLENBSGY7O0FBS0EsUUFBSSxDQUFDRyxXQUFMLEVBQWtCO0FBQ2pCLFlBQU0sSUFBSUUsS0FBSixDQUFVLGtEQUFrREwsU0FBNUQsQ0FBTjtBQUNBOztBQUNELFFBQU1NLFlBQVksR0FBSUMsSUFBRCxDQUFpQkMsd0JBQWpCLENBQTBDLGFBQTFDLENBQXJCO0FBQ0EsUUFBTUMsV0FBVyxHQUFHSCxZQUFZLENBQUNJLE9BQWIsQ0FBcUIsMkJBQXJCLENBQXBCO0FBQ0EsUUFBTUMsV0FBVyxHQUFHZixNQUFNLENBQUNnQixXQUFQLENBQW1CVCxXQUFXLEdBQUcsT0FBakMsRUFBMENULFFBQTFDLEVBQW9EO0FBQUVtQixNQUFBQSxx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R0FBRztBQUNkNUIsSUFBQUEsMkJBQTJCLEVBQUVBLDJCQURmO0FBRWRzQyxJQUFBQSxnQkFBZ0IsRUFBRUEsZ0JBRko7QUFHZEssSUFBQUEsZUFBZSxFQUFFQSxlQUhIO0FBSWRJLElBQUFBLDJCQUEyQixFQUFFQTtBQUpmLEdBQWY7U0FPZW5CLE0iLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IEFwcENvbXBvbmVudCBmcm9tIFwic2FwL2ZlL2NvcmUvQXBwQ29tcG9uZW50XCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgRkVMaWJyYXJ5IGZyb20gXCJzYXAvZmUvY29yZS9saWJyYXJ5XCI7XG5pbXBvcnQgTWVzc2FnZUJveCBmcm9tIFwic2FwL20vTWVzc2FnZUJveFwiO1xuaW1wb3J0IENvcmUgZnJvbSBcInNhcC91aS9jb3JlL0NvcmVcIjtcbmltcG9ydCBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvQ29udGV4dFwiO1xuaW1wb3J0IE9EYXRhTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9PRGF0YU1vZGVsXCI7XG5pbXBvcnQgeyBDb3JlRXggfSBmcm9tIFwidHlwZXMvZXh0ZW5zaW9uX3R5cGVzXCI7XG5cbmNvbnN0IFByb2dyYW1taW5nTW9kZWwgPSBGRUxpYnJhcnkuUHJvZ3JhbW1pbmdNb2RlbDtcbi8qKlxuICogT3BlbnMgYSBzdGlja3kgc2Vzc2lvbiB0byBlZGl0IGEgZG9jdW1lbnQuXG4gKlxuICogQGZ1bmN0aW9uXG4gKiBAbmFtZSBzYXAuZmUuY29yZS5hY3Rpb25zLnN0aWNreSNlZGl0RG9jdW1lbnRJblN0aWNreVNlc3Npb25cbiAqIEBtZW1iZXJvZiBzYXAuZmUuY29yZS5hY3Rpb25zLnN0aWNreVxuICogQHN0YXRpY1xuICogQHBhcmFtIHtzYXAudWkubW9kZWwub2RhdGEudjQuQ29udGV4dH0gb0NvbnRleHQgQ29udGV4dCBvZiB0aGUgZG9jdW1lbnQgdG8gYmUgZWRpdGVkXG4gKiBAcGFyYW0ge0FwcENvbXBvbmVudH0gb0FwcENvbXBvbmVudCBUaGUgQXBwQ29tcG9uZW50XG4gKiBAcmV0dXJucyB7UHJvbWlzZX1cbiAqIEBwcml2YXRlXG4gKiBAdWk1LXJlc3RyaWN0ZWRcbiAqL1xuZnVuY3Rpb24gZWRpdERvY3VtZW50SW5TdGlja3lTZXNzaW9uKG9Db250ZXh0OiBDb250ZXh0LCBvQXBwQ29tcG9uZW50OiBBcHBDb21wb25lbnQpIHtcblx0Y29uc3Qgb01vZGVsID0gb0NvbnRleHQuZ2V0TW9kZWwoKSBhcyBPRGF0YU1vZGVsLFxuXHRcdG9NZXRhTW9kZWwgPSBvTW9kZWwuZ2V0TWV0YU1vZGVsKCksXG5cdFx0c01ldGFQYXRoID0gb01ldGFNb2RlbC5nZXRNZXRhUGF0aChvQ29udGV4dC5nZXRQYXRoKCkpLFxuXHRcdHNFZGl0QWN0aW9uID0gb01ldGFNb2RlbC5nZXRPYmplY3Qoc01ldGFQYXRoICsgXCJAY29tLnNhcC52b2NhYnVsYXJpZXMuU2Vzc2lvbi52MS5TdGlja3lTZXNzaW9uU3VwcG9ydGVkL0VkaXRBY3Rpb25cIik7XG5cblx0aWYgKCFzRWRpdEFjdGlvbikge1xuXHRcdHRocm93IG5ldyBFcnJvcihcIkVkaXQgQWN0aW9uIGZvciBTdGlja3kgU2Vzc2lvbiBub3QgZm91bmQgZm9yIFwiICsgc01ldGFQYXRoKTtcblx0fVxuXHRjb25zdCBsb2NhbEkxOG5SZWYgPSAoQ29yZSBhcyBDb3JlRXgpLmdldExpYnJhcnlSZXNvdXJjZUJ1bmRsZShcInNhcC5mZS5jb3JlXCIpO1xuXHRjb25zdCBzQWN0aW9uTmFtZSA9IGxvY2FsSTE4blJlZi5nZXRUZXh0KFwiQ19DT01NT05fT0JKRUNUX1BBR0VfRURJVFwiKTtcblx0Y29uc3Qgb0VkaXRBY3Rpb24gPSBvTW9kZWwuYmluZENvbnRleHQoc0VkaXRBY3Rpb24gKyBcIiguLi4pXCIsIG9Db250ZXh0LCB7ICQkaW5oZXJpdEV4cGFuZFNlbGVjdDogdHJ1ZSB9KTtcblx0Y29uc3Qgc0dyb3VwSWQgPSBcImRpcmVjdFwiO1xuXHRjb25zdCBvRWRpdFByb21pc2UgPSBvRWRpdEFjdGlvbi5leGVjdXRlKFxuXHRcdHNHcm91cElkLFxuXHRcdHVuZGVmaW5lZCxcblx0XHRDb21tb25VdGlscy5mbk9uU3RyaWN0SGFuZGxpbmdGYWlsZWQuYmluZChzdGlja3ksIHNHcm91cElkLCBzQWN0aW9uTmFtZSwgb01vZGVsKVxuXHQpO1xuXHRvTW9kZWwuc3VibWl0QmF0Y2goc0dyb3VwSWQpO1xuXHRyZXR1cm4gb0VkaXRQcm9taXNlLnRoZW4oKG9OZXdDb250ZXh0OiBDb250ZXh0KSA9PiB7XG5cdFx0Y29uc3Qgb1NpZGVFZmZlY3RzID0gb0FwcENvbXBvbmVudC5nZXRTaWRlRWZmZWN0c1NlcnZpY2UoKS5nZXRPRGF0YUFjdGlvblNpZGVFZmZlY3RzKHNFZGl0QWN0aW9uLCBvTmV3Q29udGV4dCk7XG5cdFx0aWYgKG9TaWRlRWZmZWN0cz8udHJpZ2dlckFjdGlvbnM/Lmxlbmd0aCkge1xuXHRcdFx0cmV0dXJuIG9BcHBDb21wb25lbnRcblx0XHRcdFx0LmdldFNpZGVFZmZlY3RzU2VydmljZSgpXG5cdFx0XHRcdC5yZXF1ZXN0U2lkZUVmZmVjdHNGb3JPRGF0YUFjdGlvbihvU2lkZUVmZmVjdHMsIG9OZXdDb250ZXh0KVxuXHRcdFx0XHQudGhlbigoKSA9PiB7XG5cdFx0XHRcdFx0cmV0dXJuIG9OZXdDb250ZXh0O1xuXHRcdFx0XHR9KTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIG9OZXdDb250ZXh0O1xuXHRcdH1cblx0fSk7XG59XG4vKipcbiAqIEFjdGl2YXRlcyBhIGRvY3VtZW50IGFuZCBjbG9zZXMgdGhlIHN0aWNreSBzZXNzaW9uLlxuICpcbiAqIEBmdW5jdGlvblxuICogQG5hbWUgc2FwLmZlLmNvcmUuYWN0aW9ucy5zdGlja3kjYWN0aXZhdGVEb2N1bWVudFxuICogQG1lbWJlcm9mIHNhcC5mZS5jb3JlLmFjdGlvbnMuc3RpY2t5XG4gKiBAc3RhdGljXG4gKiBAcGFyYW0ge3NhcC51aS5tb2RlbC5vZGF0YS52NC5Db250ZXh0fSBvQ29udGV4dCBDb250ZXh0IG9mIHRoZSBkb2N1bWVudCB0byBiZSBhY3RpdmF0ZWRcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gYkVuYWJsZVN0cmljdEhhbmRsaW5nXG4gKiBAcmV0dXJucyB7UHJvbWlzZX1cbiAqIEBwcml2YXRlXG4gKiBAdWk1LXJlc3RyaWN0ZWRcbiAqL1xuZnVuY3Rpb24gYWN0aXZhdGVEb2N1bWVudChvQ29udGV4dDogYW55LCBiRW5hYmxlU3RyaWN0SGFuZGxpbmc6IGJvb2xlYW4pIHtcblx0Y29uc3Qgb01vZGVsID0gb0NvbnRleHQuZ2V0TW9kZWwoKSxcblx0XHRvTWV0YU1vZGVsID0gb01vZGVsLmdldE1ldGFNb2RlbCgpLFxuXHRcdHNNZXRhUGF0aCA9IG9NZXRhTW9kZWwuZ2V0TWV0YVBhdGgob0NvbnRleHQuZ2V0UGF0aCgpKSxcblx0XHRzU2F2ZUFjdGlvbiA9IG9NZXRhTW9kZWwuZ2V0T2JqZWN0KHNNZXRhUGF0aCArIFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlNlc3Npb24udjEuU3RpY2t5U2Vzc2lvblN1cHBvcnRlZC9TYXZlQWN0aW9uXCIpO1xuXG5cdGlmICghc1NhdmVBY3Rpb24pIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoXCJTYXZlIEFjdGlvbiBmb3IgU3RpY2t5IFNlc3Npb24gbm90IGZvdW5kIGZvciBcIiArIHNNZXRhUGF0aCk7XG5cdH1cblx0Y29uc3QgbG9jYWxJMThuUmVmID0gKENvcmUgYXMgQ29yZUV4KS5nZXRMaWJyYXJ5UmVzb3VyY2VCdW5kbGUoXCJzYXAuZmUuY29yZVwiKTtcblx0Y29uc3Qgc0FjdGlvbk5hbWUgPSBsb2NhbEkxOG5SZWYuZ2V0VGV4dChcIkNfT1BfT0JKRUNUX1BBR0VfU0FWRVwiKTtcblx0Y29uc3Qgb1NhdmVBY3Rpb24gPSBvTW9kZWwuYmluZENvbnRleHQoc1NhdmVBY3Rpb24gKyBcIiguLi4pXCIsIG9Db250ZXh0LCB7ICQkaW5oZXJpdEV4cGFuZFNlbGVjdDogdHJ1ZSB9KTtcblx0Y29uc3Qgc0dyb3VwSWQgPSBcImRpcmVjdFwiO1xuXHQvL1RyaWdnZXJpbmcgb2YgNDEyIGluIGNhc2Ugb2Ygc2F2ZSBpbiBzdGlja3kgYXBwcyBvbmx5IHdoZW4gVVJMIHBhcmFtZXRlciBpcyBwcmVzZW50XG5cdGNvbnN0IG9TYXZlUHJvbWlzZSA9IGJFbmFibGVTdHJpY3RIYW5kbGluZ1xuXHRcdD8gb1NhdmVBY3Rpb24uZXhlY3V0ZShzR3JvdXBJZCwgdW5kZWZpbmVkLCBDb21tb25VdGlscy5mbk9uU3RyaWN0SGFuZGxpbmdGYWlsZWQuYmluZChzdGlja3ksIHNHcm91cElkLCBzQWN0aW9uTmFtZSwgb01vZGVsKSlcblx0XHQ6IG9TYXZlQWN0aW9uLmV4ZWN1dGUoc0dyb3VwSWQpO1xuXHRvTW9kZWwuc3VibWl0QmF0Y2goc0dyb3VwSWQpO1xuXHRyZXR1cm4gb1NhdmVQcm9taXNlO1xufVxuLyoqXG4gKiBEaXNjYXJkcyBhIGRvY3VtZW50IGFuZCBjbG9zZXMgc3RpY2t5IHNlc3Npb24uXG4gKlxuICogQGZ1bmN0aW9uXG4gKiBAbmFtZSBzYXAuZmUuY29yZS5hY3Rpb25zLnN0aWNreSNkaXNjYXJkRG9jdW1lbnRcbiAqIEBtZW1iZXJvZiBzYXAuZmUuY29yZS5hY3Rpb25zLnN0aWNreVxuICogQHN0YXRpY1xuICogQHBhcmFtIHtzYXAudWkubW9kZWwub2RhdGEudjQuQ29udGV4dH0gb0NvbnRleHQgQ29udGV4dCBvZiB0aGUgZG9jdW1lbnQgdG8gYmUgZGlzY2FyZGVkXG4gKiBAcmV0dXJucyB7UHJvbWlzZX1cbiAqIEBwcml2YXRlXG4gKiBAdWk1LXJlc3RyaWN0ZWRcbiAqL1xuZnVuY3Rpb24gZGlzY2FyZERvY3VtZW50KG9Db250ZXh0OiBhbnkpIHtcblx0Y29uc3Qgb01vZGVsID0gb0NvbnRleHQuZ2V0TW9kZWwoKSxcblx0XHRvTWV0YU1vZGVsID0gb01vZGVsLmdldE1ldGFNb2RlbCgpLFxuXHRcdHNNZXRhUGF0aCA9IG9NZXRhTW9kZWwuZ2V0TWV0YVBhdGgob0NvbnRleHQuZ2V0UGF0aCgpKSxcblx0XHRzRGlzY2FyZEFjdGlvbiA9IG9NZXRhTW9kZWwuZ2V0T2JqZWN0KHNNZXRhUGF0aCArIFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlNlc3Npb24udjEuU3RpY2t5U2Vzc2lvblN1cHBvcnRlZC9EaXNjYXJkQWN0aW9uXCIpO1xuXG5cdGlmICghc0Rpc2NhcmRBY3Rpb24pIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoXCJEaXNjYXJkIEFjdGlvbiBmb3IgU3RpY2t5IFNlc3Npb24gbm90IGZvdW5kIGZvciBcIiArIHNNZXRhUGF0aCk7XG5cdH1cblxuXHRjb25zdCBvRGlzY2FyZEFjdGlvbiA9IG9Nb2RlbC5iaW5kQ29udGV4dChcIi9cIiArIHNEaXNjYXJkQWN0aW9uICsgXCIoLi4uKVwiKTtcblx0Y29uc3Qgb0Rpc2NhcmRQcm9taXNlID0gb0Rpc2NhcmRBY3Rpb24uZXhlY3V0ZShcImRpcmVjdFwiKS50aGVuKGZ1bmN0aW9uICgpIHtcblx0XHRyZXR1cm4gb0NvbnRleHQ7XG5cdH0pO1xuXHRvTW9kZWwuc3VibWl0QmF0Y2goXCJkaXJlY3RcIik7XG5cdHJldHVybiBvRGlzY2FyZFByb21pc2U7XG59XG5cbi8qKlxuICogUHJvY2VzcyB0aGUgRGF0YSBsb3NzIGNvbmZpcm1hdGlvbi5cbiAqXG4gKiBAZnVuY3Rpb25cbiAqIEBuYW1lIHNhcC5mZS5jb3JlLmFjdGlvbnMuc3RpY2t5I2Rpc2NhcmREb2N1bWVudFxuICogQG1lbWJlcm9mIHNhcC5mZS5jb3JlLmFjdGlvbnMuc3RpY2t5XG4gKiBAc3RhdGljXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmblByb2Nlc3MgRnVuY3Rpb24gdG8gZXhlY3V0ZSBhZnRlciBjb25maXJtYXRpb25cbiAqIEBwYXJhbSB7c2FwLnVpLmNvcmUubXZjLlhNTFZpZXd9IG9WaWV3IEN1cnJlbnQgdmlld1xuICogQHBhcmFtIHtzdHJpbmd9IHByb2dyYW1taW5nTW9kZWwgUHJvZ3JhbW1pbmcgTW9kZWwgb2YgdGhlIGN1cnJlbnQgcGFnZVxuICogQHJldHVybnMge3ZvaWR9XG4gKiBAcHJpdmF0ZVxuICogQHVpNS1yZXN0cmljdGVkXG4gKi9cbmZ1bmN0aW9uIHByb2Nlc3NEYXRhTG9zc0NvbmZpcm1hdGlvbihmblByb2Nlc3M6IEZ1bmN0aW9uLCBvVmlldzogYW55LCBwcm9ncmFtbWluZ01vZGVsOiBzdHJpbmcpIHtcblx0Y29uc3QgYlVJRWRpdGFibGUgPSBvVmlldy5nZXRNb2RlbChcInVpXCIpLmdldFByb3BlcnR5KFwiL2lzRWRpdGFibGVcIiksXG5cdFx0b1Jlc291cmNlQnVuZGxlID0gKENvcmUgYXMgQ29yZUV4KS5nZXRMaWJyYXJ5UmVzb3VyY2VCdW5kbGUoXCJzYXAuZmUudGVtcGxhdGVzXCIpLFxuXHRcdHNXYXJuaW5nTXNnID0gb1Jlc291cmNlQnVuZGxlICYmIG9SZXNvdXJjZUJ1bmRsZS5nZXRUZXh0KFwiVF9DT01NT05fVVRJTFNfTkFWSUdBVElPTl9BV0FZX01TR1wiKSxcblx0XHRzQ29uZmlybUJ1dHRvblR4dCA9IG9SZXNvdXJjZUJ1bmRsZSAmJiBvUmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChcIlRfQ09NTU9OX1VUSUxTX05BVklHQVRJT05fQVdBWV9DT05GSVJNX0JVVFRPTlwiKSxcblx0XHRzQ2FuY2VsQnV0dG9uVHh0ID0gb1Jlc291cmNlQnVuZGxlICYmIG9SZXNvdXJjZUJ1bmRsZS5nZXRUZXh0KFwiVF9DT01NT05fVVRJTFNfTkFWSUdBVElPTl9BV0FZX0NBTkNFTF9CVVRUT05cIik7XG5cblx0aWYgKHByb2dyYW1taW5nTW9kZWwgPT09IFByb2dyYW1taW5nTW9kZWwuU3RpY2t5ICYmIGJVSUVkaXRhYmxlKSB7XG5cdFx0cmV0dXJuIE1lc3NhZ2VCb3gud2FybmluZyhzV2FybmluZ01zZywge1xuXHRcdFx0YWN0aW9uczogW3NDb25maXJtQnV0dG9uVHh0LCBzQ2FuY2VsQnV0dG9uVHh0XSxcblx0XHRcdGVtcGhhc2l6ZWRBY3Rpb246IHNDb25maXJtQnV0dG9uVHh0LFxuXHRcdFx0b25DbG9zZTogZnVuY3Rpb24gKHNBY3Rpb246IGFueSkge1xuXHRcdFx0XHRpZiAoc0FjdGlvbiA9PT0gc0NvbmZpcm1CdXR0b25UeHQpIHtcblx0XHRcdFx0XHRjb25zdCBvSW50ZXJuYWxNb2RlbCA9IG9WaWV3ICYmIG9WaWV3LmdldE1vZGVsKFwiaW50ZXJuYWxcIik7XG5cblx0XHRcdFx0XHRMb2cuaW5mbyhcIk5hdmlnYXRpb24gY29uZmlybWVkLlwiKTtcblx0XHRcdFx0XHRpZiAob0ludGVybmFsTW9kZWwpIHtcblx0XHRcdFx0XHRcdG9JbnRlcm5hbE1vZGVsLnNldFByb3BlcnR5KFwiL3Nlc3Npb25PblwiLCBmYWxzZSk7XG5cdFx0XHRcdFx0XHRvSW50ZXJuYWxNb2RlbC5zZXRQcm9wZXJ0eShcIi9zdGlja3lTZXNzaW9uVG9rZW5cIiwgdW5kZWZpbmVkKTtcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0TG9nLndhcm5pbmcoXCJMb2NhbCBVSU1vZGVsIGNvdWxkbid0IGJlIGZvdW5kLlwiKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Zm5Qcm9jZXNzKCk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0TG9nLmluZm8oXCJOYXZpZ2F0aW9uIHJlamVjdGVkLlwiKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cdHJldHVybiBmblByb2Nlc3MoKTtcbn1cblxuLyoqXG4gKiBTdGF0aWMgZnVuY3Rpb25zIGZvciB0aGUgc3RpY2t5IHNlc3Npb24gcHJvZ3JhbW1pbmcgbW9kZWxcbiAqXG4gKiBAbmFtZXNwYWNlXG4gKiBAYWxpYXMgc2FwLmZlLmNvcmUuYWN0aW9ucy5zdGlja3lcbiAqIEBwcml2YXRlXG4gKiBAZXhwZXJpbWVudGFsIFRoaXMgbW9kdWxlIGlzIG9ubHkgZm9yIGV4cGVyaW1lbnRhbCB1c2UhIDxici8+PGI+VGhpcyBpcyBvbmx5IGEgUE9DIGFuZCBtYXliZSBkZWxldGVkPC9iPlxuICogQHNpbmNlIDEuNTQuMFxuICovXG5jb25zdCBzdGlja3kgPSB7XG5cdGVkaXREb2N1bWVudEluU3RpY2t5U2Vzc2lvbjogZWRpdERvY3VtZW50SW5TdGlja3lTZXNzaW9uLFxuXHRhY3RpdmF0ZURvY3VtZW50OiBhY3RpdmF0ZURvY3VtZW50LFxuXHRkaXNjYXJkRG9jdW1lbnQ6IGRpc2NhcmREb2N1bWVudCxcblx0cHJvY2Vzc0RhdGFMb3NzQ29uZmlybWF0aW9uOiBwcm9jZXNzRGF0YUxvc3NDb25maXJtYXRpb25cbn07XG5cbmV4cG9ydCBkZWZhdWx0IHN0aWNreTtcbiJdfQ==
188
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0aWNreS50cyJdLCJuYW1lcyI6WyJQcm9ncmFtbWluZ01vZGVsIiwiRkVMaWJyYXJ5IiwiZWRpdERvY3VtZW50SW5TdGlja3lTZXNzaW9uIiwib0NvbnRleHQiLCJvQXBwQ29tcG9uZW50Iiwib01vZGVsIiwiZ2V0TW9kZWwiLCJvTWV0YU1vZGVsIiwiZ2V0TWV0YU1vZGVsIiwic01ldGFQYXRoIiwiZ2V0TWV0YVBhdGgiLCJnZXRQYXRoIiwic0VkaXRBY3Rpb24iLCJnZXRPYmplY3QiLCJFcnJvciIsImxvY2FsSTE4blJlZiIsIkNvcmUiLCJnZXRMaWJyYXJ5UmVzb3VyY2VCdW5kbGUiLCJzQWN0aW9uTmFtZSIsImdldFRleHQiLCJvRWRpdEFjdGlvbiIsImJpbmRDb250ZXh0IiwiJCRpbmhlcml0RXhwYW5kU2VsZWN0Iiwic0dyb3VwSWQiLCJvRWRpdFByb21pc2UiLCJleGVjdXRlIiwidW5kZWZpbmVkIiwiQ29tbW9uVXRpbHMiLCJmbk9uU3RyaWN0SGFuZGxpbmdGYWlsZWQiLCJiaW5kIiwic3RpY2t5Iiwic3VibWl0QmF0Y2giLCJ0aGVuIiwib05ld0NvbnRleHQiLCJvU2lkZUVmZmVjdHMiLCJnZXRTaWRlRWZmZWN0c1NlcnZpY2UiLCJnZXRPRGF0YUFjdGlvblNpZGVFZmZlY3RzIiwidHJpZ2dlckFjdGlvbnMiLCJsZW5ndGgiLCJyZXF1ZXN0U2lkZUVmZmVjdHNGb3JPRGF0YUFjdGlvbiIsImFjdGl2YXRlRG9jdW1lbnQiLCJzU2F2ZUFjdGlvbiIsIm9TYXZlQWN0aW9uIiwib1NhdmVQcm9taXNlIiwiZGlzY2FyZERvY3VtZW50Iiwic0Rpc2NhcmRBY3Rpb24iLCJvRGlzY2FyZEFjdGlvbiIsIm9EaXNjYXJkUHJvbWlzZSIsInByb2Nlc3NEYXRhTG9zc0NvbmZpcm1hdGlvbiIsImZuUHJvY2VzcyIsIm9WaWV3IiwicHJvZ3JhbW1pbmdNb2RlbCIsImJVSUVkaXRhYmxlIiwiZ2V0UHJvcGVydHkiLCJvUmVzb3VyY2VCdW5kbGUiLCJzV2FybmluZ01zZyIsInNDb25maXJtQnV0dG9uVHh0Iiwic0NhbmNlbEJ1dHRvblR4dCIsIlN0aWNreSIsIk1lc3NhZ2VCb3giLCJ3YXJuaW5nIiwiYWN0aW9ucyIsImVtcGhhc2l6ZWRBY3Rpb24iLCJvbkNsb3NlIiwic0FjdGlvbiIsIm9JbnRlcm5hbE1vZGVsIiwiTG9nIiwiaW5mbyIsInNldFByb3BlcnR5Il0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7O0FBVUEsTUFBTUEsZ0JBQWdCLEdBQUdDLFNBQVMsQ0FBQ0QsZ0JBQW5DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0EsV0FBU0UsMkJBQVQsQ0FBcUNDLFFBQXJDLEVBQXdEQyxhQUF4RCxFQUFxRjtBQUNwRixRQUFNQyxNQUFNLEdBQUdGLFFBQVEsQ0FBQ0csUUFBVCxFQUFmO0FBQUEsUUFDQ0MsVUFBVSxHQUFHRixNQUFNLENBQUNHLFlBQVAsRUFEZDtBQUFBLFFBRUNDLFNBQVMsR0FBR0YsVUFBVSxDQUFDRyxXQUFYLENBQXVCUCxRQUFRLENBQUNRLE9BQVQsRUFBdkIsQ0FGYjtBQUFBLFFBR0NDLFdBQVcsR0FBR0wsVUFBVSxDQUFDTSxTQUFYLFdBQXdCSixTQUF4Qix3RUFIZjs7QUFLQSxRQUFJLENBQUNHLFdBQUwsRUFBa0I7QUFDakIsWUFBTSxJQUFJRSxLQUFKLHdEQUEwREwsU0FBMUQsRUFBTjtBQUNBOztBQUNELFFBQU1NLFlBQVksR0FBSUMsSUFBRCxDQUFpQkMsd0JBQWpCLENBQTBDLGFBQTFDLENBQXJCO0FBQ0EsUUFBTUMsV0FBVyxHQUFHSCxZQUFZLENBQUNJLE9BQWIsQ0FBcUIsMkJBQXJCLENBQXBCO0FBQ0EsUUFBTUMsV0FBVyxHQUFHZixNQUFNLENBQUNnQixXQUFQLFdBQXNCVCxXQUF0QixZQUEwQ1QsUUFBMUMsRUFBb0Q7QUFBRW1CLE1BQUFBLHFCQUFxQixFQUFFO0FBQXpCLEtBQXBELENBQXBCO0FBQ0EsUUFBTUMsUUFBUSxHQUFHLFFBQWpCO0FBQ0EsUUFBTUMsWUFBWSxHQUFHSixXQUFXLENBQUNLLE9BQVosQ0FDcEJGLFFBRG9CLEVBRXBCRyxTQUZvQixFQUdwQkMsV0FBVyxDQUFDQyx3QkFBWixDQUFxQ0MsSUFBckMsQ0FBMENDLE1BQTFDLEVBQWtEUCxRQUFsRCxFQUE0REwsV0FBNUQsRUFBeUViLE1BQXpFLENBSG9CLENBQXJCO0FBS0FBLElBQUFBLE1BQU0sQ0FBQzBCLFdBQVAsQ0FBbUJSLFFBQW5CO0FBQ0EsV0FBT0MsWUFBWSxDQUFDUSxJQUFiLENBQWtCLFVBQUNDLFdBQUQsRUFBMEI7QUFBQTs7QUFDbEQsVUFBTUMsWUFBWSxHQUFHOUIsYUFBYSxDQUFDK0IscUJBQWQsR0FBc0NDLHlCQUF0QyxDQUFnRXhCLFdBQWhFLEVBQTZFcUIsV0FBN0UsQ0FBckI7O0FBQ0EsVUFBSUMsWUFBSixhQUFJQSxZQUFKLHdDQUFJQSxZQUFZLENBQUVHLGNBQWxCLGtEQUFJLHNCQUE4QkMsTUFBbEMsRUFBMEM7QUFDekMsZUFBT2xDLGFBQWEsQ0FDbEIrQixxQkFESyxHQUVMSSxnQ0FGSyxDQUU0QkwsWUFGNUIsRUFFMENELFdBRjFDLEVBR0xELElBSEssQ0FHQSxZQUFNO0FBQ1gsaUJBQU9DLFdBQVA7QUFDQSxTQUxLLENBQVA7QUFNQSxPQVBELE1BT087QUFDTixlQUFPQSxXQUFQO0FBQ0E7QUFDRCxLQVpNLENBQVA7QUFhQTtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ0EsV0FBU08sZ0JBQVQsQ0FBMEJyQyxRQUExQixFQUErQztBQUM5QyxRQUFNRSxNQUFNLEdBQUdGLFFBQVEsQ0FBQ0csUUFBVCxFQUFmO0FBQUEsUUFDQ0MsVUFBVSxHQUFHRixNQUFNLENBQUNHLFlBQVAsRUFEZDtBQUFBLFFBRUNDLFNBQVMsR0FBR0YsVUFBVSxDQUFDRyxXQUFYLENBQXVCUCxRQUFRLENBQUNRLE9BQVQsRUFBdkIsQ0FGYjtBQUFBLFFBR0M4QixXQUFXLEdBQUdsQyxVQUFVLENBQUNNLFNBQVgsV0FBd0JKLFNBQXhCLHdFQUhmOztBQUtBLFFBQUksQ0FBQ2dDLFdBQUwsRUFBa0I7QUFDakIsWUFBTSxJQUFJM0IsS0FBSix3REFBMERMLFNBQTFELEVBQU47QUFDQTs7QUFDRCxRQUFNTSxZQUFZLEdBQUlDLElBQUQsQ0FBaUJDLHdCQUFqQixDQUEwQyxhQUExQyxDQUFyQjtBQUNBLFFBQU1DLFdBQVcsR0FBR0gsWUFBWSxDQUFDSSxPQUFiLENBQXFCLHVCQUFyQixDQUFwQjtBQUNBLFFBQU11QixXQUFXLEdBQUdyQyxNQUFNLENBQUNnQixXQUFQLFdBQXNCb0IsV0FBdEIsWUFBMEN0QyxRQUExQyxFQUFvRDtBQUFFbUIsTUFBQUEscUJBQXFCLEVBQUU7QUFBekIsS0FBcEQsQ0FBcEI7QUFDQSxRQUFNQyxRQUFRLEdBQUcsUUFBakI7QUFDQSxRQUFNb0IsWUFBWSxHQUFHRCxXQUFXLENBQUNqQixPQUFaLENBQ3BCRixRQURvQixFQUVwQkcsU0FGb0IsRUFHcEJDLFdBQVcsQ0FBQ0Msd0JBQVosQ0FBcUNDLElBQXJDLENBQTBDQyxNQUExQyxFQUFrRFAsUUFBbEQsRUFBNERMLFdBQTVELEVBQXlFYixNQUF6RSxDQUhvQixDQUFyQjtBQUtBQSxJQUFBQSxNQUFNLENBQUMwQixXQUFQLENBQW1CUixRQUFuQjtBQUNBLFdBQU9vQixZQUFQO0FBQ0E7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNBLFdBQVNDLGVBQVQsQ0FBeUJ6QyxRQUF6QixFQUE4QztBQUM3QyxRQUFNRSxNQUFNLEdBQUdGLFFBQVEsQ0FBQ0csUUFBVCxFQUFmO0FBQUEsUUFDQ0MsVUFBVSxHQUFHRixNQUFNLENBQUNHLFlBQVAsRUFEZDtBQUFBLFFBRUNDLFNBQVMsR0FBR0YsVUFBVSxDQUFDRyxXQUFYLENBQXVCUCxRQUFRLENBQUNRLE9BQVQsRUFBdkIsQ0FGYjtBQUFBLFFBR0NrQyxjQUFjLEdBQUd0QyxVQUFVLENBQUNNLFNBQVgsV0FBd0JKLFNBQXhCLDJFQUhsQjs7QUFLQSxRQUFJLENBQUNvQyxjQUFMLEVBQXFCO0FBQ3BCLFlBQU0sSUFBSS9CLEtBQUosMkRBQTZETCxTQUE3RCxFQUFOO0FBQ0E7O0FBRUQsUUFBTXFDLGNBQWMsR0FBR3pDLE1BQU0sQ0FBQ2dCLFdBQVAsWUFBdUJ3QixjQUF2QixXQUF2QjtBQUNBLFFBQU1FLGVBQWUsR0FBR0QsY0FBYyxDQUFDckIsT0FBZixDQUF1QixRQUF2QixFQUFpQ08sSUFBakMsQ0FBc0MsWUFBWTtBQUN6RSxhQUFPN0IsUUFBUDtBQUNBLEtBRnVCLENBQXhCO0FBR0FFLElBQUFBLE1BQU0sQ0FBQzBCLFdBQVAsQ0FBbUIsUUFBbkI7QUFDQSxXQUFPZ0IsZUFBUDtBQUNBO0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ0EsV0FBU0MsMkJBQVQsQ0FBcUNDLFNBQXJDLEVBQTBEQyxLQUExRCxFQUF1RUMsZ0JBQXZFLEVBQWlHO0FBQ2hHLFFBQU1DLFdBQVcsR0FBR0YsS0FBSyxDQUFDNUMsUUFBTixDQUFlLElBQWYsRUFBcUIrQyxXQUFyQixDQUFpQyxhQUFqQyxDQUFwQjtBQUFBLFFBQ0NDLGVBQWUsR0FBSXRDLElBQUQsQ0FBaUJDLHdCQUFqQixDQUEwQyxrQkFBMUMsQ0FEbkI7QUFBQSxRQUVDc0MsV0FBVyxHQUFHRCxlQUFlLElBQUlBLGVBQWUsQ0FBQ25DLE9BQWhCLENBQXdCLG9DQUF4QixDQUZsQztBQUFBLFFBR0NxQyxpQkFBaUIsR0FBR0YsZUFBZSxJQUFJQSxlQUFlLENBQUNuQyxPQUFoQixDQUF3QiwrQ0FBeEIsQ0FIeEM7QUFBQSxRQUlDc0MsZ0JBQWdCLEdBQUdILGVBQWUsSUFBSUEsZUFBZSxDQUFDbkMsT0FBaEIsQ0FBd0IsOENBQXhCLENBSnZDOztBQU1BLFFBQUlnQyxnQkFBZ0IsS0FBS25ELGdCQUFnQixDQUFDMEQsTUFBdEMsSUFBZ0ROLFdBQXBELEVBQWlFO0FBQ2hFLGFBQU9PLFVBQVUsQ0FBQ0MsT0FBWCxDQUFtQkwsV0FBbkIsRUFBZ0M7QUFDdENNLFFBQUFBLE9BQU8sRUFBRSxDQUFDTCxpQkFBRCxFQUFvQkMsZ0JBQXBCLENBRDZCO0FBRXRDSyxRQUFBQSxnQkFBZ0IsRUFBRU4saUJBRm9CO0FBR3RDTyxRQUFBQSxPQUFPLEVBQUUsVUFBVUMsT0FBVixFQUF3QjtBQUNoQyxjQUFJQSxPQUFPLEtBQUtSLGlCQUFoQixFQUFtQztBQUNsQyxnQkFBTVMsY0FBYyxHQUFHZixLQUFLLElBQUtBLEtBQUssQ0FBQzVDLFFBQU4sQ0FBZSxVQUFmLENBQWpDO0FBRUE0RCxZQUFBQSxHQUFHLENBQUNDLElBQUosQ0FBUyx1QkFBVDs7QUFDQSxnQkFBSUYsY0FBSixFQUFvQjtBQUNuQkEsY0FBQUEsY0FBYyxDQUFDRyxXQUFmLENBQTJCLFlBQTNCLEVBQXlDLEtBQXpDO0FBQ0FILGNBQUFBLGNBQWMsQ0FBQ0csV0FBZixDQUEyQixxQkFBM0IsRUFBa0QxQyxTQUFsRDtBQUNBLGFBSEQsTUFHTztBQUNOd0MsY0FBQUEsR0FBRyxDQUFDTixPQUFKLENBQVksa0NBQVo7QUFDQTs7QUFDRFgsWUFBQUEsU0FBUztBQUNULFdBWEQsTUFXTztBQUNOaUIsWUFBQUEsR0FBRyxDQUFDQyxJQUFKLENBQVMsc0JBQVQ7QUFDQTtBQUNEO0FBbEJxQyxPQUFoQyxDQUFQO0FBb0JBOztBQUNELFdBQU9sQixTQUFTLEVBQWhCO0FBQ0E7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNBLE1BQU1uQixNQUFNLEdBQUc7QUFDZDVCLElBQUFBLDJCQUEyQixFQUFFQSwyQkFEZjtBQUVkc0MsSUFBQUEsZ0JBQWdCLEVBQUVBLGdCQUZKO0FBR2RJLElBQUFBLGVBQWUsRUFBRUEsZUFISDtBQUlkSSxJQUFBQSwyQkFBMkIsRUFBRUE7QUFKZixHQUFmO1NBT2VsQixNIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcbmltcG9ydCB0eXBlIEFwcENvbXBvbmVudCBmcm9tIFwic2FwL2ZlL2NvcmUvQXBwQ29tcG9uZW50XCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgRkVMaWJyYXJ5IGZyb20gXCJzYXAvZmUvY29yZS9saWJyYXJ5XCI7XG5pbXBvcnQgTWVzc2FnZUJveCBmcm9tIFwic2FwL20vTWVzc2FnZUJveFwiO1xuaW1wb3J0IENvcmUgZnJvbSBcInNhcC91aS9jb3JlL0NvcmVcIjtcbmltcG9ydCB0eXBlIFZpZXcgZnJvbSBcInNhcC91aS9jb3JlL212Yy9WaWV3XCI7XG5pbXBvcnQgdHlwZSBKU09OTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9qc29uL0pTT05Nb2RlbFwiO1xuaW1wb3J0IHR5cGUgQ29udGV4dCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L0NvbnRleHRcIjtcbmltcG9ydCB0eXBlIE9EYXRhTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9PRGF0YU1vZGVsXCI7XG5pbXBvcnQgdHlwZSB7IENvcmVFeCwgVjRDb250ZXh0IH0gZnJvbSBcInR5cGVzL2V4dGVuc2lvbl90eXBlc1wiO1xuXG5jb25zdCBQcm9ncmFtbWluZ01vZGVsID0gRkVMaWJyYXJ5LlByb2dyYW1taW5nTW9kZWw7XG4vKipcbiAqIE9wZW5zIGEgc3RpY2t5IHNlc3Npb24gdG8gZWRpdCBhIGRvY3VtZW50LlxuICpcbiAqIEBmdW5jdGlvblxuICogQG5hbWUgc2FwLmZlLmNvcmUuYWN0aW9ucy5zdGlja3kjZWRpdERvY3VtZW50SW5TdGlja3lTZXNzaW9uXG4gKiBAbWVtYmVyb2Ygc2FwLmZlLmNvcmUuYWN0aW9ucy5zdGlja3lcbiAqIEBzdGF0aWNcbiAqIEBwYXJhbSBvQ29udGV4dCBDb250ZXh0IG9mIHRoZSBkb2N1bWVudCB0byBiZSBlZGl0ZWRcbiAqIEBwYXJhbSBvQXBwQ29tcG9uZW50IFRoZSBBcHBDb21wb25lbnRcbiAqIEByZXR1cm5zIEEgUHJvbWlzZSByZXNvbHZlZCB3aGVuIHRoZSBzdGlja3kgc2Vzc2lvbiBpcyBpbiBlZGl0IG1vZGVcbiAqIEBwcml2YXRlXG4gKiBAdWk1LXJlc3RyaWN0ZWRcbiAqL1xuZnVuY3Rpb24gZWRpdERvY3VtZW50SW5TdGlja3lTZXNzaW9uKG9Db250ZXh0OiBDb250ZXh0LCBvQXBwQ29tcG9uZW50OiBBcHBDb21wb25lbnQpIHtcblx0Y29uc3Qgb01vZGVsID0gb0NvbnRleHQuZ2V0TW9kZWwoKSBhcyBPRGF0YU1vZGVsLFxuXHRcdG9NZXRhTW9kZWwgPSBvTW9kZWwuZ2V0TWV0YU1vZGVsKCksXG5cdFx0c01ldGFQYXRoID0gb01ldGFNb2RlbC5nZXRNZXRhUGF0aChvQ29udGV4dC5nZXRQYXRoKCkpLFxuXHRcdHNFZGl0QWN0aW9uID0gb01ldGFNb2RlbC5nZXRPYmplY3QoYCR7c01ldGFQYXRofUBjb20uc2FwLnZvY2FidWxhcmllcy5TZXNzaW9uLnYxLlN0aWNreVNlc3Npb25TdXBwb3J0ZWQvRWRpdEFjdGlvbmApO1xuXG5cdGlmICghc0VkaXRBY3Rpb24pIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoYEVkaXQgQWN0aW9uIGZvciBTdGlja3kgU2Vzc2lvbiBub3QgZm91bmQgZm9yICR7c01ldGFQYXRofWApO1xuXHR9XG5cdGNvbnN0IGxvY2FsSTE4blJlZiA9IChDb3JlIGFzIENvcmVFeCkuZ2V0TGlicmFyeVJlc291cmNlQnVuZGxlKFwic2FwLmZlLmNvcmVcIik7XG5cdGNvbnN0IHNBY3Rpb25OYW1lID0gbG9jYWxJMThuUmVmLmdldFRleHQoXCJDX0NPTU1PTl9PQkpFQ1RfUEFHRV9FRElUXCIpO1xuXHRjb25zdCBvRWRpdEFjdGlvbiA9IG9Nb2RlbC5iaW5kQ29udGV4dChgJHtzRWRpdEFjdGlvbn0oLi4uKWAsIG9Db250ZXh0LCB7ICQkaW5oZXJpdEV4cGFuZFNlbGVjdDogdHJ1ZSB9KTtcblx0Y29uc3Qgc0dyb3VwSWQgPSBcImRpcmVjdFwiO1xuXHRjb25zdCBvRWRpdFByb21pc2UgPSBvRWRpdEFjdGlvbi5leGVjdXRlKFxuXHRcdHNHcm91cElkLFxuXHRcdHVuZGVmaW5lZCxcblx0XHRDb21tb25VdGlscy5mbk9uU3RyaWN0SGFuZGxpbmdGYWlsZWQuYmluZChzdGlja3ksIHNHcm91cElkLCBzQWN0aW9uTmFtZSwgb01vZGVsKVxuXHQpO1xuXHRvTW9kZWwuc3VibWl0QmF0Y2goc0dyb3VwSWQpO1xuXHRyZXR1cm4gb0VkaXRQcm9taXNlLnRoZW4oKG9OZXdDb250ZXh0OiBDb250ZXh0KSA9PiB7XG5cdFx0Y29uc3Qgb1NpZGVFZmZlY3RzID0gb0FwcENvbXBvbmVudC5nZXRTaWRlRWZmZWN0c1NlcnZpY2UoKS5nZXRPRGF0YUFjdGlvblNpZGVFZmZlY3RzKHNFZGl0QWN0aW9uLCBvTmV3Q29udGV4dCk7XG5cdFx0aWYgKG9TaWRlRWZmZWN0cz8udHJpZ2dlckFjdGlvbnM/Lmxlbmd0aCkge1xuXHRcdFx0cmV0dXJuIG9BcHBDb21wb25lbnRcblx0XHRcdFx0LmdldFNpZGVFZmZlY3RzU2VydmljZSgpXG5cdFx0XHRcdC5yZXF1ZXN0U2lkZUVmZmVjdHNGb3JPRGF0YUFjdGlvbihvU2lkZUVmZmVjdHMsIG9OZXdDb250ZXh0KVxuXHRcdFx0XHQudGhlbigoKSA9PiB7XG5cdFx0XHRcdFx0cmV0dXJuIG9OZXdDb250ZXh0O1xuXHRcdFx0XHR9KTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIG9OZXdDb250ZXh0O1xuXHRcdH1cblx0fSk7XG59XG4vKipcbiAqIEFjdGl2YXRlcyBhIGRvY3VtZW50IGFuZCBjbG9zZXMgdGhlIHN0aWNreSBzZXNzaW9uLlxuICpcbiAqIEBmdW5jdGlvblxuICogQG5hbWUgc2FwLmZlLmNvcmUuYWN0aW9ucy5zdGlja3kjYWN0aXZhdGVEb2N1bWVudFxuICogQG1lbWJlcm9mIHNhcC5mZS5jb3JlLmFjdGlvbnMuc3RpY2t5XG4gKiBAc3RhdGljXG4gKiBAcGFyYW0gb0NvbnRleHQgQ29udGV4dCBvZiB0aGUgZG9jdW1lbnQgdG8gYmUgYWN0aXZhdGVkXG4gKiBAcmV0dXJucyBBIHByb21pc2UgcmVzb2x2ZSB3aGVuIHRoZSBzdGlja3kgc2Vzc2lvbiBpcyBhY3RpdmF0ZWRcbiAqIEBwcml2YXRlXG4gKiBAdWk1LXJlc3RyaWN0ZWRcbiAqL1xuZnVuY3Rpb24gYWN0aXZhdGVEb2N1bWVudChvQ29udGV4dDogVjRDb250ZXh0KSB7XG5cdGNvbnN0IG9Nb2RlbCA9IG9Db250ZXh0LmdldE1vZGVsKCksXG5cdFx0b01ldGFNb2RlbCA9IG9Nb2RlbC5nZXRNZXRhTW9kZWwoKSxcblx0XHRzTWV0YVBhdGggPSBvTWV0YU1vZGVsLmdldE1ldGFQYXRoKG9Db250ZXh0LmdldFBhdGgoKSksXG5cdFx0c1NhdmVBY3Rpb24gPSBvTWV0YU1vZGVsLmdldE9iamVjdChgJHtzTWV0YVBhdGh9QGNvbS5zYXAudm9jYWJ1bGFyaWVzLlNlc3Npb24udjEuU3RpY2t5U2Vzc2lvblN1cHBvcnRlZC9TYXZlQWN0aW9uYCk7XG5cblx0aWYgKCFzU2F2ZUFjdGlvbikge1xuXHRcdHRocm93IG5ldyBFcnJvcihgU2F2ZSBBY3Rpb24gZm9yIFN0aWNreSBTZXNzaW9uIG5vdCBmb3VuZCBmb3IgJHtzTWV0YVBhdGh9YCk7XG5cdH1cblx0Y29uc3QgbG9jYWxJMThuUmVmID0gKENvcmUgYXMgQ29yZUV4KS5nZXRMaWJyYXJ5UmVzb3VyY2VCdW5kbGUoXCJzYXAuZmUuY29yZVwiKTtcblx0Y29uc3Qgc0FjdGlvbk5hbWUgPSBsb2NhbEkxOG5SZWYuZ2V0VGV4dChcIkNfT1BfT0JKRUNUX1BBR0VfU0FWRVwiKTtcblx0Y29uc3Qgb1NhdmVBY3Rpb24gPSBvTW9kZWwuYmluZENvbnRleHQoYCR7c1NhdmVBY3Rpb259KC4uLilgLCBvQ29udGV4dCwgeyAkJGluaGVyaXRFeHBhbmRTZWxlY3Q6IHRydWUgfSk7XG5cdGNvbnN0IHNHcm91cElkID0gXCJkaXJlY3RcIjtcblx0Y29uc3Qgb1NhdmVQcm9taXNlID0gb1NhdmVBY3Rpb24uZXhlY3V0ZShcblx0XHRzR3JvdXBJZCxcblx0XHR1bmRlZmluZWQsXG5cdFx0Q29tbW9uVXRpbHMuZm5PblN0cmljdEhhbmRsaW5nRmFpbGVkLmJpbmQoc3RpY2t5LCBzR3JvdXBJZCwgc0FjdGlvbk5hbWUsIG9Nb2RlbClcblx0KTtcblx0b01vZGVsLnN1Ym1pdEJhdGNoKHNHcm91cElkKTtcblx0cmV0dXJuIG9TYXZlUHJvbWlzZTtcbn1cbi8qKlxuICogRGlzY2FyZHMgYSBkb2N1bWVudCBhbmQgY2xvc2VzIHN0aWNreSBzZXNzaW9uLlxuICpcbiAqIEBmdW5jdGlvblxuICogQG5hbWUgc2FwLmZlLmNvcmUuYWN0aW9ucy5zdGlja3kjZGlzY2FyZERvY3VtZW50XG4gKiBAbWVtYmVyb2Ygc2FwLmZlLmNvcmUuYWN0aW9ucy5zdGlja3lcbiAqIEBzdGF0aWNcbiAqIEBwYXJhbSBvQ29udGV4dCBDb250ZXh0IG9mIHRoZSBkb2N1bWVudCB0byBiZSBkaXNjYXJkZWRcbiAqIEByZXR1cm5zIEEgcHJvbWlzZSByZXNvbHZlZCB3aGVuIHRoZSBkb2N1bWVudCBpcyBkaWNhcmRlZFxuICogQHByaXZhdGVcbiAqIEB1aTUtcmVzdHJpY3RlZFxuICovXG5mdW5jdGlvbiBkaXNjYXJkRG9jdW1lbnQob0NvbnRleHQ6IFY0Q29udGV4dCkge1xuXHRjb25zdCBvTW9kZWwgPSBvQ29udGV4dC5nZXRNb2RlbCgpLFxuXHRcdG9NZXRhTW9kZWwgPSBvTW9kZWwuZ2V0TWV0YU1vZGVsKCksXG5cdFx0c01ldGFQYXRoID0gb01ldGFNb2RlbC5nZXRNZXRhUGF0aChvQ29udGV4dC5nZXRQYXRoKCkpLFxuXHRcdHNEaXNjYXJkQWN0aW9uID0gb01ldGFNb2RlbC5nZXRPYmplY3QoYCR7c01ldGFQYXRofUBjb20uc2FwLnZvY2FidWxhcmllcy5TZXNzaW9uLnYxLlN0aWNreVNlc3Npb25TdXBwb3J0ZWQvRGlzY2FyZEFjdGlvbmApO1xuXG5cdGlmICghc0Rpc2NhcmRBY3Rpb24pIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoYERpc2NhcmQgQWN0aW9uIGZvciBTdGlja3kgU2Vzc2lvbiBub3QgZm91bmQgZm9yICR7c01ldGFQYXRofWApO1xuXHR9XG5cblx0Y29uc3Qgb0Rpc2NhcmRBY3Rpb24gPSBvTW9kZWwuYmluZENvbnRleHQoYC8ke3NEaXNjYXJkQWN0aW9ufSguLi4pYCk7XG5cdGNvbnN0IG9EaXNjYXJkUHJvbWlzZSA9IG9EaXNjYXJkQWN0aW9uLmV4ZWN1dGUoXCJkaXJlY3RcIikudGhlbihmdW5jdGlvbiAoKSB7XG5cdFx0cmV0dXJuIG9Db250ZXh0O1xuXHR9KTtcblx0b01vZGVsLnN1Ym1pdEJhdGNoKFwiZGlyZWN0XCIpO1xuXHRyZXR1cm4gb0Rpc2NhcmRQcm9taXNlO1xufVxuXG4vKipcbiAqIFByb2Nlc3MgdGhlIERhdGEgbG9zcyBjb25maXJtYXRpb24uXG4gKlxuICogQGZ1bmN0aW9uXG4gKiBAbmFtZSBzYXAuZmUuY29yZS5hY3Rpb25zLnN0aWNreSNkaXNjYXJkRG9jdW1lbnRcbiAqIEBtZW1iZXJvZiBzYXAuZmUuY29yZS5hY3Rpb25zLnN0aWNreVxuICogQHN0YXRpY1xuICogQHBhcmFtIGZuUHJvY2VzcyBGdW5jdGlvbiB0byBleGVjdXRlIGFmdGVyIGNvbmZpcm1hdGlvblxuICogQHBhcmFtIG9WaWV3IEN1cnJlbnQgdmlld1xuICogQHBhcmFtIHByb2dyYW1taW5nTW9kZWwgUHJvZ3JhbW1pbmcgTW9kZWwgb2YgdGhlIGN1cnJlbnQgcGFnZVxuICogQHJldHVybnMgYHZvaWRgIGkgdGhpbmtcbiAqIEBwcml2YXRlXG4gKiBAdWk1LXJlc3RyaWN0ZWRcbiAqL1xuZnVuY3Rpb24gcHJvY2Vzc0RhdGFMb3NzQ29uZmlybWF0aW9uKGZuUHJvY2VzczogRnVuY3Rpb24sIG9WaWV3OiBWaWV3LCBwcm9ncmFtbWluZ01vZGVsOiBzdHJpbmcpIHtcblx0Y29uc3QgYlVJRWRpdGFibGUgPSBvVmlldy5nZXRNb2RlbChcInVpXCIpLmdldFByb3BlcnR5KFwiL2lzRWRpdGFibGVcIiksXG5cdFx0b1Jlc291cmNlQnVuZGxlID0gKENvcmUgYXMgQ29yZUV4KS5nZXRMaWJyYXJ5UmVzb3VyY2VCdW5kbGUoXCJzYXAuZmUudGVtcGxhdGVzXCIpLFxuXHRcdHNXYXJuaW5nTXNnID0gb1Jlc291cmNlQnVuZGxlICYmIG9SZXNvdXJjZUJ1bmRsZS5nZXRUZXh0KFwiVF9DT01NT05fVVRJTFNfTkFWSUdBVElPTl9BV0FZX01TR1wiKSxcblx0XHRzQ29uZmlybUJ1dHRvblR4dCA9IG9SZXNvdXJjZUJ1bmRsZSAmJiBvUmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChcIlRfQ09NTU9OX1VUSUxTX05BVklHQVRJT05fQVdBWV9DT05GSVJNX0JVVFRPTlwiKSxcblx0XHRzQ2FuY2VsQnV0dG9uVHh0ID0gb1Jlc291cmNlQnVuZGxlICYmIG9SZXNvdXJjZUJ1bmRsZS5nZXRUZXh0KFwiVF9DT01NT05fVVRJTFNfTkFWSUdBVElPTl9BV0FZX0NBTkNFTF9CVVRUT05cIik7XG5cblx0aWYgKHByb2dyYW1taW5nTW9kZWwgPT09IFByb2dyYW1taW5nTW9kZWwuU3RpY2t5ICYmIGJVSUVkaXRhYmxlKSB7XG5cdFx0cmV0dXJuIE1lc3NhZ2VCb3gud2FybmluZyhzV2FybmluZ01zZywge1xuXHRcdFx0YWN0aW9uczogW3NDb25maXJtQnV0dG9uVHh0LCBzQ2FuY2VsQnV0dG9uVHh0XSxcblx0XHRcdGVtcGhhc2l6ZWRBY3Rpb246IHNDb25maXJtQnV0dG9uVHh0LFxuXHRcdFx0b25DbG9zZTogZnVuY3Rpb24gKHNBY3Rpb246IGFueSkge1xuXHRcdFx0XHRpZiAoc0FjdGlvbiA9PT0gc0NvbmZpcm1CdXR0b25UeHQpIHtcblx0XHRcdFx0XHRjb25zdCBvSW50ZXJuYWxNb2RlbCA9IG9WaWV3ICYmIChvVmlldy5nZXRNb2RlbChcImludGVybmFsXCIpIGFzIEpTT05Nb2RlbCk7XG5cblx0XHRcdFx0XHRMb2cuaW5mbyhcIk5hdmlnYXRpb24gY29uZmlybWVkLlwiKTtcblx0XHRcdFx0XHRpZiAob0ludGVybmFsTW9kZWwpIHtcblx0XHRcdFx0XHRcdG9JbnRlcm5hbE1vZGVsLnNldFByb3BlcnR5KFwiL3Nlc3Npb25PblwiLCBmYWxzZSk7XG5cdFx0XHRcdFx0XHRvSW50ZXJuYWxNb2RlbC5zZXRQcm9wZXJ0eShcIi9zdGlja3lTZXNzaW9uVG9rZW5cIiwgdW5kZWZpbmVkKTtcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0TG9nLndhcm5pbmcoXCJMb2NhbCBVSU1vZGVsIGNvdWxkbid0IGJlIGZvdW5kLlwiKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Zm5Qcm9jZXNzKCk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0TG9nLmluZm8oXCJOYXZpZ2F0aW9uIHJlamVjdGVkLlwiKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cdHJldHVybiBmblByb2Nlc3MoKTtcbn1cblxuLyoqXG4gKiBTdGF0aWMgZnVuY3Rpb25zIGZvciB0aGUgc3RpY2t5IHNlc3Npb24gcHJvZ3JhbW1pbmcgbW9kZWxcbiAqXG4gKiBAbmFtZXNwYWNlXG4gKiBAYWxpYXMgc2FwLmZlLmNvcmUuYWN0aW9ucy5zdGlja3lcbiAqIEBwcml2YXRlXG4gKiBAZXhwZXJpbWVudGFsIFRoaXMgbW9kdWxlIGlzIG9ubHkgZm9yIGV4cGVyaW1lbnRhbCB1c2UhIDxici8+PGI+VGhpcyBpcyBvbmx5IGEgUE9DIGFuZCBtYXliZSBkZWxldGVkPC9iPlxuICogQHNpbmNlIDEuNTQuMFxuICovXG5jb25zdCBzdGlja3kgPSB7XG5cdGVkaXREb2N1bWVudEluU3RpY2t5U2Vzc2lvbjogZWRpdERvY3VtZW50SW5TdGlja3lTZXNzaW9uLFxuXHRhY3RpdmF0ZURvY3VtZW50OiBhY3RpdmF0ZURvY3VtZW50LFxuXHRkaXNjYXJkRG9jdW1lbnQ6IGRpc2NhcmREb2N1bWVudCxcblx0cHJvY2Vzc0RhdGFMb3NzQ29uZmlybWF0aW9uOiBwcm9jZXNzRGF0YUxvc3NDb25maXJtYXRpb25cbn07XG5cbmV4cG9ydCBkZWZhdWx0IHN0aWNreTtcbiJdfQ==
@@ -1,12 +1,14 @@
1
1
  import Log from "sap/base/Log";
2
- import AppComponent from "sap/fe/core/AppComponent";
2
+ import type AppComponent from "sap/fe/core/AppComponent";
3
3
  import CommonUtils from "sap/fe/core/CommonUtils";
4
4
  import FELibrary from "sap/fe/core/library";
5
5
  import MessageBox from "sap/m/MessageBox";
6
6
  import Core from "sap/ui/core/Core";
7
- import Context from "sap/ui/model/odata/v4/Context";
8
- import ODataModel from "sap/ui/model/odata/v4/ODataModel";
9
- import { CoreEx } from "types/extension_types";
7
+ import type View from "sap/ui/core/mvc/View";
8
+ import type JSONModel from "sap/ui/model/json/JSONModel";
9
+ import type Context from "sap/ui/model/odata/v4/Context";
10
+ import type ODataModel from "sap/ui/model/odata/v4/ODataModel";
11
+ import type { CoreEx, V4Context } from "types/extension_types";
10
12
 
11
13
  const ProgrammingModel = FELibrary.ProgrammingModel;
12
14
  /**
@@ -16,9 +18,9 @@ const ProgrammingModel = FELibrary.ProgrammingModel;
16
18
  * @name sap.fe.core.actions.sticky#editDocumentInStickySession
17
19
  * @memberof sap.fe.core.actions.sticky
18
20
  * @static
19
- * @param {sap.ui.model.odata.v4.Context} oContext Context of the document to be edited
20
- * @param {AppComponent} oAppComponent The AppComponent
21
- * @returns {Promise}
21
+ * @param oContext Context of the document to be edited
22
+ * @param oAppComponent The AppComponent
23
+ * @returns A Promise resolved when the sticky session is in edit mode
22
24
  * @private
23
25
  * @ui5-restricted
24
26
  */
@@ -26,14 +28,14 @@ function editDocumentInStickySession(oContext: Context, oAppComponent: AppCompon
26
28
  const oModel = oContext.getModel() as ODataModel,
27
29
  oMetaModel = oModel.getMetaModel(),
28
30
  sMetaPath = oMetaModel.getMetaPath(oContext.getPath()),
29
- sEditAction = oMetaModel.getObject(sMetaPath + "@com.sap.vocabularies.Session.v1.StickySessionSupported/EditAction");
31
+ sEditAction = oMetaModel.getObject(`${sMetaPath}@com.sap.vocabularies.Session.v1.StickySessionSupported/EditAction`);
30
32
 
31
33
  if (!sEditAction) {
32
- throw new Error("Edit Action for Sticky Session not found for " + sMetaPath);
34
+ throw new Error(`Edit Action for Sticky Session not found for ${sMetaPath}`);
33
35
  }
34
36
  const localI18nRef = (Core as CoreEx).getLibraryResourceBundle("sap.fe.core");
35
37
  const sActionName = localI18nRef.getText("C_COMMON_OBJECT_PAGE_EDIT");
36
- const oEditAction = oModel.bindContext(sEditAction + "(...)", oContext, { $$inheritExpandSelect: true });
38
+ const oEditAction = oModel.bindContext(`${sEditAction}(...)`, oContext, { $$inheritExpandSelect: true });
37
39
  const sGroupId = "direct";
38
40
  const oEditPromise = oEditAction.execute(
39
41
  sGroupId,
@@ -62,29 +64,29 @@ function editDocumentInStickySession(oContext: Context, oAppComponent: AppCompon
62
64
  * @name sap.fe.core.actions.sticky#activateDocument
63
65
  * @memberof sap.fe.core.actions.sticky
64
66
  * @static
65
- * @param {sap.ui.model.odata.v4.Context} oContext Context of the document to be activated
66
- * @param {boolean} bEnableStrictHandling
67
- * @returns {Promise}
67
+ * @param oContext Context of the document to be activated
68
+ * @returns A promise resolve when the sticky session is activated
68
69
  * @private
69
70
  * @ui5-restricted
70
71
  */
71
- function activateDocument(oContext: any, bEnableStrictHandling: boolean) {
72
+ function activateDocument(oContext: V4Context) {
72
73
  const oModel = oContext.getModel(),
73
74
  oMetaModel = oModel.getMetaModel(),
74
75
  sMetaPath = oMetaModel.getMetaPath(oContext.getPath()),
75
- sSaveAction = oMetaModel.getObject(sMetaPath + "@com.sap.vocabularies.Session.v1.StickySessionSupported/SaveAction");
76
+ sSaveAction = oMetaModel.getObject(`${sMetaPath}@com.sap.vocabularies.Session.v1.StickySessionSupported/SaveAction`);
76
77
 
77
78
  if (!sSaveAction) {
78
- throw new Error("Save Action for Sticky Session not found for " + sMetaPath);
79
+ throw new Error(`Save Action for Sticky Session not found for ${sMetaPath}`);
79
80
  }
80
81
  const localI18nRef = (Core as CoreEx).getLibraryResourceBundle("sap.fe.core");
81
82
  const sActionName = localI18nRef.getText("C_OP_OBJECT_PAGE_SAVE");
82
- const oSaveAction = oModel.bindContext(sSaveAction + "(...)", oContext, { $$inheritExpandSelect: true });
83
+ const oSaveAction = oModel.bindContext(`${sSaveAction}(...)`, oContext, { $$inheritExpandSelect: true });
83
84
  const sGroupId = "direct";
84
- //Triggering of 412 in case of save in sticky apps only when URL parameter is present
85
- const oSavePromise = bEnableStrictHandling
86
- ? oSaveAction.execute(sGroupId, undefined, CommonUtils.fnOnStrictHandlingFailed.bind(sticky, sGroupId, sActionName, oModel))
87
- : oSaveAction.execute(sGroupId);
85
+ const oSavePromise = oSaveAction.execute(
86
+ sGroupId,
87
+ undefined,
88
+ CommonUtils.fnOnStrictHandlingFailed.bind(sticky, sGroupId, sActionName, oModel)
89
+ );
88
90
  oModel.submitBatch(sGroupId);
89
91
  return oSavePromise;
90
92
  }
@@ -95,22 +97,22 @@ function activateDocument(oContext: any, bEnableStrictHandling: boolean) {
95
97
  * @name sap.fe.core.actions.sticky#discardDocument
96
98
  * @memberof sap.fe.core.actions.sticky
97
99
  * @static
98
- * @param {sap.ui.model.odata.v4.Context} oContext Context of the document to be discarded
99
- * @returns {Promise}
100
+ * @param oContext Context of the document to be discarded
101
+ * @returns A promise resolved when the document is dicarded
100
102
  * @private
101
103
  * @ui5-restricted
102
104
  */
103
- function discardDocument(oContext: any) {
105
+ function discardDocument(oContext: V4Context) {
104
106
  const oModel = oContext.getModel(),
105
107
  oMetaModel = oModel.getMetaModel(),
106
108
  sMetaPath = oMetaModel.getMetaPath(oContext.getPath()),
107
- sDiscardAction = oMetaModel.getObject(sMetaPath + "@com.sap.vocabularies.Session.v1.StickySessionSupported/DiscardAction");
109
+ sDiscardAction = oMetaModel.getObject(`${sMetaPath}@com.sap.vocabularies.Session.v1.StickySessionSupported/DiscardAction`);
108
110
 
109
111
  if (!sDiscardAction) {
110
- throw new Error("Discard Action for Sticky Session not found for " + sMetaPath);
112
+ throw new Error(`Discard Action for Sticky Session not found for ${sMetaPath}`);
111
113
  }
112
114
 
113
- const oDiscardAction = oModel.bindContext("/" + sDiscardAction + "(...)");
115
+ const oDiscardAction = oModel.bindContext(`/${sDiscardAction}(...)`);
114
116
  const oDiscardPromise = oDiscardAction.execute("direct").then(function () {
115
117
  return oContext;
116
118
  });
@@ -125,14 +127,14 @@ function discardDocument(oContext: any) {
125
127
  * @name sap.fe.core.actions.sticky#discardDocument
126
128
  * @memberof sap.fe.core.actions.sticky
127
129
  * @static
128
- * @param {Function} fnProcess Function to execute after confirmation
129
- * @param {sap.ui.core.mvc.XMLView} oView Current view
130
- * @param {string} programmingModel Programming Model of the current page
131
- * @returns {void}
130
+ * @param fnProcess Function to execute after confirmation
131
+ * @param oView Current view
132
+ * @param programmingModel Programming Model of the current page
133
+ * @returns `void` i think
132
134
  * @private
133
135
  * @ui5-restricted
134
136
  */
135
- function processDataLossConfirmation(fnProcess: Function, oView: any, programmingModel: string) {
137
+ function processDataLossConfirmation(fnProcess: Function, oView: View, programmingModel: string) {
136
138
  const bUIEditable = oView.getModel("ui").getProperty("/isEditable"),
137
139
  oResourceBundle = (Core as CoreEx).getLibraryResourceBundle("sap.fe.templates"),
138
140
  sWarningMsg = oResourceBundle && oResourceBundle.getText("T_COMMON_UTILS_NAVIGATION_AWAY_MSG"),
@@ -145,7 +147,7 @@ function processDataLossConfirmation(fnProcess: Function, oView: any, programmin
145
147
  emphasizedAction: sConfirmButtonTxt,
146
148
  onClose: function (sAction: any) {
147
149
  if (sAction === sConfirmButtonTxt) {
148
- const oInternalModel = oView && oView.getModel("internal");
150
+ const oInternalModel = oView && (oView.getModel("internal") as JSONModel);
149
151
 
150
152
  Log.info("Navigation confirmed.");
151
153
  if (oInternalModel) {