@sapui5/sap.fe.core 1.100.0 → 1.102.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 (295) hide show
  1. package/package.json +4 -4
  2. package/src/sap/fe/core/.library +2 -3
  3. package/src/sap/fe/core/AppComponent.js +23 -30
  4. package/src/sap/fe/core/AppComponent.ts +35 -40
  5. package/src/sap/fe/core/AppStateHandler.js +8 -8
  6. package/src/sap/fe/core/AppStateHandler.ts +11 -11
  7. package/src/sap/fe/core/BaseController.js +9 -9
  8. package/src/sap/fe/core/BaseController.ts +3 -4
  9. package/src/sap/fe/core/CommonUtils.js +122 -101
  10. package/src/sap/fe/core/CommonUtils.ts +239 -193
  11. package/src/sap/fe/core/ExtensionAPI.js +12 -13
  12. package/src/sap/fe/core/ExtensionAPI.ts +21 -31
  13. package/src/sap/fe/core/PageController.js +19 -13
  14. package/src/sap/fe/core/PageController.ts +40 -34
  15. package/src/sap/fe/core/TemplateComponent.js +198 -123
  16. package/src/sap/fe/core/TemplateComponent.ts +109 -121
  17. package/src/sap/fe/core/TemplateModel.js +7 -9
  18. package/src/sap/fe/core/TemplateModel.ts +3 -3
  19. package/src/sap/fe/core/buildingBlocks/AttributeModel.js +60 -0
  20. package/src/sap/fe/core/buildingBlocks/AttributeModel.ts +37 -0
  21. package/src/sap/fe/core/buildingBlocks/BuildingBlock.js +165 -0
  22. package/src/sap/fe/core/buildingBlocks/BuildingBlock.ts +178 -0
  23. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +935 -0
  24. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.ts +837 -0
  25. package/src/sap/fe/core/buildingBlocks/TraceInfo.js +436 -0
  26. package/src/sap/fe/core/buildingBlocks/TraceInfo.ts +431 -0
  27. package/src/sap/fe/core/{BusyLocker.js → controllerextensions/BusyLocker.js} +1 -1
  28. package/src/sap/fe/core/{BusyLocker.ts → controllerextensions/BusyLocker.ts} +7 -7
  29. package/src/sap/fe/core/controllerextensions/EditFlow.js +660 -288
  30. package/src/sap/fe/core/controllerextensions/EditFlow.ts +513 -331
  31. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +11 -11
  32. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +6 -7
  33. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +43 -25
  34. package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +132 -103
  35. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +16 -16
  36. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +64 -55
  37. package/src/sap/fe/core/controllerextensions/InternalRouting.js +166 -99
  38. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +187 -149
  39. package/src/sap/fe/core/controllerextensions/KPIManagement.js +14 -14
  40. package/src/sap/fe/core/controllerextensions/KPIManagement.ts +12 -11
  41. package/src/sap/fe/core/controllerextensions/MassEdit.js +13 -12
  42. package/src/sap/fe/core/controllerextensions/MassEdit.ts +22 -22
  43. package/src/sap/fe/core/controllerextensions/MessageHandler.js +14 -26
  44. package/src/sap/fe/core/controllerextensions/MessageHandler.ts +20 -30
  45. package/src/sap/fe/core/controllerextensions/PageReady.js +25 -23
  46. package/src/sap/fe/core/controllerextensions/PageReady.ts +49 -47
  47. package/src/sap/fe/core/controllerextensions/Paginator.js +24 -15
  48. package/src/sap/fe/core/controllerextensions/Paginator.ts +35 -20
  49. package/src/sap/fe/core/controllerextensions/Placeholder.js +10 -10
  50. package/src/sap/fe/core/controllerextensions/Placeholder.ts +12 -14
  51. package/src/sap/fe/core/controllerextensions/Routing.js +11 -11
  52. package/src/sap/fe/core/controllerextensions/Routing.ts +12 -13
  53. package/src/sap/fe/core/controllerextensions/Share.js +34 -16
  54. package/src/sap/fe/core/controllerextensions/Share.ts +50 -32
  55. package/src/sap/fe/core/controllerextensions/SideEffects.js +15 -15
  56. package/src/sap/fe/core/controllerextensions/SideEffects.ts +64 -65
  57. package/src/sap/fe/core/controllerextensions/ViewState.js +27 -31
  58. package/src/sap/fe/core/controllerextensions/ViewState.ts +103 -102
  59. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +105 -0
  60. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.ts +98 -0
  61. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +360 -0
  62. package/src/sap/fe/core/{actions → controllerextensions}/collaboration/ActivitySync.ts +90 -132
  63. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +146 -0
  64. package/src/sap/fe/core/{actions → controllerextensions}/collaboration/CollaborationCommon.ts +18 -8
  65. package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +264 -0
  66. package/src/sap/fe/core/{actions → controllerextensions}/collaboration/Manage.ts +35 -33
  67. package/src/sap/fe/core/controllerextensions/collaboration/ManageDialog.fragment.xml +100 -0
  68. package/src/sap/fe/core/{actions → controllerextensions}/collaboration/UserDetails.fragment.xml +5 -7
  69. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +1584 -0
  70. package/src/sap/fe/core/{TransactionHelper.ts → controllerextensions/editFlow/TransactionHelper.ts} +190 -159
  71. package/src/sap/fe/core/controllerextensions/editFlow/draft.js +780 -0
  72. package/src/sap/fe/core/{actions → controllerextensions/editFlow}/draft.ts +329 -76
  73. package/src/sap/fe/core/controllerextensions/editFlow/operations.js +1149 -0
  74. package/src/sap/fe/core/{actions → controllerextensions/editFlow}/operations.ts +169 -97
  75. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +190 -0
  76. package/src/sap/fe/core/{actions → controllerextensions/editFlow}/sticky.ts +76 -12
  77. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +592 -0
  78. package/src/sap/fe/core/{actions → controllerextensions/messageHandler}/messageHandling.ts +83 -60
  79. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +940 -0
  80. package/src/sap/fe/core/{RouterProxy.ts → controllerextensions/routing/RouterProxy.ts} +52 -36
  81. package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +21 -18
  82. package/src/sap/fe/core/controls/Any.js +28 -0
  83. package/src/sap/fe/core/controls/Any.ts +30 -0
  84. package/src/sap/fe/core/controls/CommandExecution.js +50 -16
  85. package/src/sap/fe/core/controls/CommandExecution.ts +31 -22
  86. package/src/sap/fe/core/controls/ConditionalWrapper.js +136 -65
  87. package/src/sap/fe/core/controls/ConditionalWrapper.ts +49 -58
  88. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +371 -0
  89. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.ts +282 -0
  90. package/src/sap/fe/core/controls/CustomQuickViewPage.js +74 -36
  91. package/src/sap/fe/core/controls/CustomQuickViewPage.ts +23 -32
  92. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossDraft.fragment.xml +52 -5
  93. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +127 -67
  94. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +127 -67
  95. package/src/sap/fe/core/controls/FieldWrapper.js +171 -87
  96. package/src/sap/fe/core/controls/FieldWrapper.ts +69 -80
  97. package/src/sap/fe/core/controls/FileWrapper.js +360 -0
  98. package/src/sap/fe/core/controls/FileWrapper.ts +202 -0
  99. package/src/sap/fe/core/controls/FilterBar.js +154 -119
  100. package/src/sap/fe/core/controls/FilterBar.ts +128 -123
  101. package/src/sap/fe/core/controls/FormElementWrapper.js +102 -37
  102. package/src/sap/fe/core/controls/FormElementWrapper.ts +43 -35
  103. package/src/sap/fe/core/controls/MassEditSelect.js +33 -0
  104. package/src/sap/fe/core/controls/MassEditSelect.ts +45 -0
  105. package/src/sap/fe/core/controls/filterbar/FilterContainer.js +111 -89
  106. package/src/sap/fe/core/controls/filterbar/FilterContainer.ts +86 -82
  107. package/src/sap/fe/core/controls/filterbar/VisualFilter.js +242 -193
  108. package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +211 -204
  109. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +152 -116
  110. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +105 -105
  111. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +2 -2
  112. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +23 -28
  113. package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +41 -81
  114. package/src/sap/fe/core/controls/massEdit/MassEditField.fragment.xml +107 -0
  115. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +550 -35
  116. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +604 -35
  117. package/src/sap/fe/core/converters/ManifestSettings.js +3 -1
  118. package/src/sap/fe/core/converters/ManifestSettings.ts +9 -2
  119. package/src/sap/fe/core/converters/MetaModelConverter.js +11 -40
  120. package/src/sap/fe/core/converters/MetaModelConverter.ts +56 -84
  121. package/src/sap/fe/core/converters/annotations/DataField.js +20 -5
  122. package/src/sap/fe/core/converters/annotations/DataField.ts +27 -6
  123. package/src/sap/fe/core/converters/controls/Common/Action.js +14 -21
  124. package/src/sap/fe/core/converters/controls/Common/Action.ts +23 -28
  125. package/src/sap/fe/core/converters/controls/Common/Chart.js +17 -10
  126. package/src/sap/fe/core/converters/controls/Common/Chart.ts +20 -14
  127. package/src/sap/fe/core/converters/controls/Common/Form.js +16 -18
  128. package/src/sap/fe/core/converters/controls/Common/Form.ts +20 -20
  129. package/src/sap/fe/core/converters/controls/Common/KPI.js +1 -1
  130. package/src/sap/fe/core/converters/controls/Common/KPI.ts +2 -3
  131. package/src/sap/fe/core/converters/controls/Common/Table.js +389 -173
  132. package/src/sap/fe/core/converters/controls/Common/Table.ts +440 -244
  133. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +26 -16
  134. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +27 -19
  135. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +78 -47
  136. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +146 -107
  137. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +6 -6
  138. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +20 -18
  139. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +30 -25
  140. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +39 -34
  141. package/src/sap/fe/core/converters/helpers/Aggregation.js +10 -2
  142. package/src/sap/fe/core/converters/helpers/Aggregation.ts +18 -13
  143. package/src/sap/fe/core/converters/helpers/BindingHelper.js +3 -2
  144. package/src/sap/fe/core/converters/helpers/BindingHelper.ts +6 -5
  145. package/src/sap/fe/core/converters/objectPage/FormMenuActions.js +1 -1
  146. package/src/sap/fe/core/converters/objectPage/FormMenuActions.ts +0 -4
  147. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +27 -24
  148. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +49 -40
  149. package/src/sap/fe/core/converters/templates/ListReportConverter.js +33 -22
  150. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +77 -62
  151. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +28 -28
  152. package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +38 -45
  153. package/src/sap/fe/core/designtime/AppComponent.designtime.js +3 -3
  154. package/src/sap/fe/core/designtime/AppComponent.designtime.ts +8 -6
  155. package/src/sap/fe/core/formatters/KPIFormatter.js +3 -12
  156. package/src/sap/fe/core/formatters/KPIFormatter.ts +3 -2
  157. package/src/sap/fe/core/formatters/TableFormatter.js +74 -13
  158. package/src/sap/fe/core/formatters/TableFormatter.ts +71 -16
  159. package/src/sap/fe/core/formatters/ValueFormatter.js +4 -4
  160. package/src/sap/fe/core/formatters/ValueFormatter.ts +4 -7
  161. package/src/sap/fe/core/fpm/Component.js +46 -17
  162. package/src/sap/fe/core/fpm/Component.ts +11 -16
  163. package/src/sap/fe/core/helpers/AppStartupHelper.js +4 -4
  164. package/src/sap/fe/core/helpers/AppStartupHelper.ts +3 -3
  165. package/src/sap/fe/core/helpers/BindingExpression.js +10 -7
  166. package/src/sap/fe/core/helpers/BindingExpression.ts +37 -35
  167. package/src/sap/fe/core/helpers/ClassSupport.js +273 -256
  168. package/src/sap/fe/core/helpers/ClassSupport.ts +315 -237
  169. package/src/sap/fe/core/helpers/FPMHelper.js +3 -2
  170. package/src/sap/fe/core/helpers/FPMHelper.ts +9 -8
  171. package/src/sap/fe/core/helpers/MassEditHelper.js +522 -147
  172. package/src/sap/fe/core/helpers/MassEditHelper.ts +563 -236
  173. package/src/sap/fe/core/helpers/ModelHelper.js +29 -1
  174. package/src/sap/fe/core/helpers/ModelHelper.ts +39 -26
  175. package/src/sap/fe/core/helpers/PasteHelper.js +4 -4
  176. package/src/sap/fe/core/helpers/PasteHelper.ts +4 -3
  177. package/src/sap/fe/core/helpers/SemanticDateOperators.js +3 -3
  178. package/src/sap/fe/core/helpers/SemanticDateOperators.ts +3 -1
  179. package/src/sap/fe/core/helpers/SemanticKeyHelper.js +1 -1
  180. package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +1 -1
  181. package/src/sap/fe/core/helpers/StableIdHelper.js +5 -7
  182. package/src/sap/fe/core/helpers/StableIdHelper.ts +8 -8
  183. package/src/sap/fe/core/{Synchronization.js → helpers/Synchronization.js} +1 -1
  184. package/src/sap/fe/core/{Synchronization.ts → helpers/Synchronization.ts} +1 -1
  185. package/src/sap/fe/core/jsx-runtime/jsx.js +35 -5
  186. package/src/sap/fe/core/jsx-runtime/jsx.ts +22 -8
  187. package/src/sap/fe/core/library.js +13 -5
  188. package/src/sap/fe/core/library.ts +26 -17
  189. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +1 -1
  190. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +0 -3
  191. package/src/sap/fe/core/messagebundle.properties +135 -180
  192. package/src/sap/fe/core/messagebundle_ar.properties +31 -64
  193. package/src/sap/fe/core/messagebundle_bg.properties +31 -64
  194. package/src/sap/fe/core/messagebundle_ca.properties +31 -64
  195. package/src/sap/fe/core/messagebundle_cs.properties +31 -64
  196. package/src/sap/fe/core/messagebundle_cy.properties +32 -65
  197. package/src/sap/fe/core/messagebundle_da.properties +31 -64
  198. package/src/sap/fe/core/messagebundle_de.properties +29 -62
  199. package/src/sap/fe/core/messagebundle_el.properties +32 -65
  200. package/src/sap/fe/core/messagebundle_en.properties +32 -65
  201. package/src/sap/fe/core/messagebundle_en_GB.properties +29 -62
  202. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +41 -74
  203. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +32 -65
  204. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +20 -6
  205. package/src/sap/fe/core/messagebundle_es.properties +31 -64
  206. package/src/sap/fe/core/messagebundle_es_MX.properties +31 -64
  207. package/src/sap/fe/core/messagebundle_et.properties +31 -64
  208. package/src/sap/fe/core/messagebundle_fi.properties +29 -62
  209. package/src/sap/fe/core/messagebundle_fr.properties +36 -69
  210. package/src/sap/fe/core/messagebundle_fr_CA.properties +33 -66
  211. package/src/sap/fe/core/messagebundle_hi.properties +29 -62
  212. package/src/sap/fe/core/messagebundle_hr.properties +32 -65
  213. package/src/sap/fe/core/messagebundle_hu.properties +30 -63
  214. package/src/sap/fe/core/messagebundle_id.properties +32 -65
  215. package/src/sap/fe/core/messagebundle_it.properties +31 -64
  216. package/src/sap/fe/core/messagebundle_iw.properties +31 -64
  217. package/src/sap/fe/core/messagebundle_ja.properties +29 -62
  218. package/src/sap/fe/core/messagebundle_kk.properties +31 -64
  219. package/src/sap/fe/core/messagebundle_ko.properties +31 -64
  220. package/src/sap/fe/core/messagebundle_lt.properties +31 -64
  221. package/src/sap/fe/core/messagebundle_lv.properties +32 -65
  222. package/src/sap/fe/core/messagebundle_ms.properties +31 -64
  223. package/src/sap/fe/core/messagebundle_nl.properties +31 -64
  224. package/src/sap/fe/core/messagebundle_no.properties +31 -64
  225. package/src/sap/fe/core/messagebundle_pl.properties +34 -67
  226. package/src/sap/fe/core/messagebundle_pt.properties +32 -65
  227. package/src/sap/fe/core/messagebundle_pt_PT.properties +31 -64
  228. package/src/sap/fe/core/messagebundle_ro.properties +33 -66
  229. package/src/sap/fe/core/messagebundle_ru.properties +33 -66
  230. package/src/sap/fe/core/messagebundle_sh.properties +31 -64
  231. package/src/sap/fe/core/messagebundle_sk.properties +31 -64
  232. package/src/sap/fe/core/messagebundle_sl.properties +29 -62
  233. package/src/sap/fe/core/messagebundle_sv.properties +30 -63
  234. package/src/sap/fe/core/messagebundle_th.properties +31 -64
  235. package/src/sap/fe/core/messagebundle_tr.properties +31 -64
  236. package/src/sap/fe/core/messagebundle_uk.properties +32 -65
  237. package/src/sap/fe/core/messagebundle_vi.properties +31 -64
  238. package/src/sap/fe/core/messagebundle_zh_CN.properties +32 -65
  239. package/src/sap/fe/core/messagebundle_zh_TW.properties +34 -67
  240. package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +4 -4
  241. package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +1 -1
  242. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +5 -5
  243. package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +1 -2
  244. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +11 -8
  245. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +15 -13
  246. package/src/sap/fe/core/services/NavigationServiceFactory.js +5 -5
  247. package/src/sap/fe/core/services/NavigationServiceFactory.ts +9 -5
  248. package/src/sap/fe/core/services/ResourceModelServiceFactory.js +4 -4
  249. package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +1 -1
  250. package/src/sap/fe/core/services/RoutingServiceFactory.js +105 -66
  251. package/src/sap/fe/core/services/RoutingServiceFactory.ts +59 -49
  252. package/src/sap/fe/core/services/ShellServicesFactory.js +104 -29
  253. package/src/sap/fe/core/services/ShellServicesFactory.ts +64 -30
  254. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +4 -4
  255. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +1 -1
  256. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +11 -10
  257. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +38 -51
  258. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +43 -5
  259. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.ts +6 -3
  260. package/src/sap/fe/core/support/CommonHelper.js +1 -1
  261. package/src/sap/fe/core/support/CommonHelper.ts +0 -3
  262. package/src/sap/fe/core/templating/DataModelPathHelper.js +2 -9
  263. package/src/sap/fe/core/templating/DataModelPathHelper.ts +32 -38
  264. package/src/sap/fe/core/templating/DisplayModeFormatter.js +23 -3
  265. package/src/sap/fe/core/templating/DisplayModeFormatter.ts +27 -6
  266. package/src/sap/fe/core/templating/EntitySetHelper.js +1 -9
  267. package/src/sap/fe/core/templating/EntitySetHelper.ts +11 -13
  268. package/src/sap/fe/core/templating/FilterHelper.js +4 -4
  269. package/src/sap/fe/core/templating/FilterHelper.ts +6 -5
  270. package/src/sap/fe/core/templating/PropertyHelper.js +70 -33
  271. package/src/sap/fe/core/templating/PropertyHelper.ts +49 -27
  272. package/src/sap/fe/core/templating/UIFormatters.js +133 -22
  273. package/src/sap/fe/core/templating/UIFormatters.ts +144 -50
  274. package/src/sap/fe/core/type/DateTimeWithTimezone.js +47 -0
  275. package/src/sap/fe/core/type/DateTimeWithTimezone.ts +23 -0
  276. package/src/sap/fe/core/type/Email.js +26 -8
  277. package/src/sap/fe/core/type/Email.ts +8 -7
  278. package/src/sap/fe/core/AnnotationHelper.js +0 -312
  279. package/src/sap/fe/core/AnnotationHelper.ts +0 -315
  280. package/src/sap/fe/core/RouterProxy.js +0 -926
  281. package/src/sap/fe/core/TransactionHelper.js +0 -1562
  282. package/src/sap/fe/core/actions/collaboration/ActivitySync.js +0 -392
  283. package/src/sap/fe/core/actions/collaboration/CollaborationCommon.js +0 -136
  284. package/src/sap/fe/core/actions/collaboration/Manage.js +0 -262
  285. package/src/sap/fe/core/actions/collaboration/ManageDialog.fragment.xml +0 -103
  286. package/src/sap/fe/core/actions/draft.js +0 -523
  287. package/src/sap/fe/core/actions/messageHandling.js +0 -567
  288. package/src/sap/fe/core/actions/nonDraft.js +0 -20
  289. package/src/sap/fe/core/actions/nonDraft.ts +0 -12
  290. package/src/sap/fe/core/actions/operations.js +0 -1096
  291. package/src/sap/fe/core/actions/sticky.js +0 -130
  292. package/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata.js +0 -78
  293. package/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata.ts +0 -65
  294. package/src/sap/fe/core/formatters/CriticalityFormatter.js +0 -77
  295. package/src/sap/fe/core/formatters/CriticalityFormatter.ts +0 -58
@@ -2,19 +2,19 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * (c) Copyright 2009-2021 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/ui/core/mvc/ControllerExtension", "sap/ui/core/mvc/OverrideExecution", "sap/ui/model/json/JSONModel", "sap/fe/core/helpers/ClassSupport", "sap/fe/core/controllerextensions/ControllerExtensionMetadata"], function (ControllerExtension, OverrideExecution, JSONModel, ClassSupport, ControllerExtensionMetadata) {
5
+ sap.ui.define(["sap/fe/core/helpers/ClassSupport", "sap/ui/core/mvc/ControllerExtension", "sap/ui/core/mvc/OverrideExecution", "sap/ui/model/json/JSONModel"], function (ClassSupport, ControllerExtension, OverrideExecution, JSONModel) {
6
6
  "use strict";
7
7
 
8
- var _dec, _dec2, _dec3, _dec4, _class, _class2;
8
+ var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _class, _class2;
9
9
 
10
- var UI5Class = ClassSupport.UI5Class;
11
- var Public = ClassSupport.Public;
12
- var Private = ClassSupport.Private;
13
- var Override = ClassSupport.Override;
14
- var Final = ClassSupport.Final;
15
- var Extensible = ClassSupport.Extensible;
10
+ var publicExtension = ClassSupport.publicExtension;
11
+ var privateExtension = ClassSupport.privateExtension;
12
+ var methodOverride = ClassSupport.methodOverride;
13
+ var finalExtension = ClassSupport.finalExtension;
14
+ var extensible = ClassSupport.extensible;
15
+ var defineUI5Class = ClassSupport.defineUI5Class;
16
16
 
17
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
17
+ function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }
18
18
 
19
19
  function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
20
20
 
@@ -27,8 +27,8 @@ sap.ui.define(["sap/ui/core/mvc/ControllerExtension", "sap/ui/core/mvc/OverrideE
27
27
  * @public
28
28
  * @since 1.94.0
29
29
  */
30
- var Paginator = (_dec = UI5Class("sap.fe.core.controllerextensions.Paginator", ControllerExtensionMetadata), _dec2 = Override(), _dec3 = Extensible(OverrideExecution.After), _dec4 = Extensible(OverrideExecution.After), _dec(_class = (_class2 = /*#__PURE__*/function (_ControllerExtension) {
31
- _inherits(Paginator, _ControllerExtension);
30
+ var Paginator = (_dec = defineUI5Class("sap.fe.core.controllerextensions.Paginator"), _dec2 = methodOverride(), _dec3 = publicExtension(), _dec4 = finalExtension(), _dec5 = publicExtension(), _dec6 = finalExtension(), _dec7 = privateExtension(), _dec8 = extensible(OverrideExecution.After), _dec9 = privateExtension(), _dec10 = extensible(OverrideExecution.After), _dec(_class = (_class2 = /*#__PURE__*/function (_ControllerExtension) {
31
+ _inheritsLoose(Paginator, _ControllerExtension);
32
32
 
33
33
  function Paginator() {
34
34
  var _this;
@@ -102,13 +102,22 @@ sap.ui.define(["sap/ui/core/mvc/ControllerExtension", "sap/ui/core/mvc/OverrideE
102
102
  if (this._iCurrentIndex === this._oListBinding.getCurrentContexts().length - 1) {
103
103
  mButtonEnablementModel.setProperty("/navDownEnabled", false);
104
104
  } else {
105
- mButtonEnablementModel.setProperty("/navDownEnabled", true);
105
+ //check the next context is not an inactive context
106
+ if (this._oListBinding.getCurrentContexts()[this._iCurrentIndex + 1].isInactive()) {
107
+ mButtonEnablementModel.setProperty("/navDownEnabled", false);
108
+ } else {
109
+ mButtonEnablementModel.setProperty("/navDownEnabled", true);
110
+ }
106
111
  }
107
112
 
108
113
  if (this._iCurrentIndex === 0) {
109
114
  mButtonEnablementModel.setProperty("/navUpEnabled", false);
110
115
  } else {
111
- mButtonEnablementModel.setProperty("/navUpEnabled", true);
116
+ if (this._oListBinding.getCurrentContexts()[this._iCurrentIndex - 1].isInactive()) {
117
+ mButtonEnablementModel.setProperty("/navUpEnabled", false);
118
+ } else {
119
+ mButtonEnablementModel.setProperty("/navUpEnabled", true);
120
+ }
112
121
  }
113
122
  } else {
114
123
  // Don't show the paginator buttons
@@ -185,7 +194,7 @@ sap.ui.define(["sap/ui/core/mvc/ControllerExtension", "sap/ui/core/mvc/OverrideE
185
194
  };
186
195
 
187
196
  return Paginator;
188
- }(ControllerExtension), (_applyDecoratedDescriptor(_class2.prototype, "onInit", [_dec2], Object.getOwnPropertyDescriptor(_class2.prototype, "onInit"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "initialize", [Public, Final], Object.getOwnPropertyDescriptor(_class2.prototype, "initialize"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "updateCurrentContext", [Public, Final], Object.getOwnPropertyDescriptor(_class2.prototype, "updateCurrentContext"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "onBeforeContextUpdate", [Private, _dec3], Object.getOwnPropertyDescriptor(_class2.prototype, "onBeforeContextUpdate"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "onContextUpdate", [Private, _dec4], Object.getOwnPropertyDescriptor(_class2.prototype, "onContextUpdate"), _class2.prototype)), _class2)) || _class);
197
+ }(ControllerExtension), (_applyDecoratedDescriptor(_class2.prototype, "onInit", [_dec2], Object.getOwnPropertyDescriptor(_class2.prototype, "onInit"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "initialize", [_dec3, _dec4], Object.getOwnPropertyDescriptor(_class2.prototype, "initialize"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "updateCurrentContext", [_dec5, _dec6], Object.getOwnPropertyDescriptor(_class2.prototype, "updateCurrentContext"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "onBeforeContextUpdate", [_dec7, _dec8], Object.getOwnPropertyDescriptor(_class2.prototype, "onBeforeContextUpdate"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "onContextUpdate", [_dec9, _dec10], Object.getOwnPropertyDescriptor(_class2.prototype, "onContextUpdate"), _class2.prototype)), _class2)) || _class);
189
198
  return Paginator;
190
199
  }, false);
191
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlBhZ2luYXRvci50cyJdLCJuYW1lcyI6WyJQYWdpbmF0b3IiLCJVSTVDbGFzcyIsIkNvbnRyb2xsZXJFeHRlbnNpb25NZXRhZGF0YSIsIk92ZXJyaWRlIiwiRXh0ZW5zaWJsZSIsIk92ZXJyaWRlRXhlY3V0aW9uIiwiQWZ0ZXIiLCJfaUN1cnJlbnRJbmRleCIsIm9uSW5pdCIsIl9vVmlldyIsImJhc2UiLCJnZXRWaWV3Iiwic2V0TW9kZWwiLCJKU09OTW9kZWwiLCJuYXZVcEVuYWJsZWQiLCJuYXZEb3duRW5hYmxlZCIsImluaXRpYWxpemUiLCJvQmluZGluZyIsIm9Db250ZXh0IiwiZ2V0Q3VycmVudENvbnRleHRzIiwiX29MaXN0QmluZGluZyIsIl9vQ3VycmVudENvbnRleHQiLCJfdXBkYXRlQ3VycmVudEluZGV4QW5kQnV0dG9uRW5hYmxlbWVudCIsInNQYXRoIiwiZ2V0UGF0aCIsImZpbmRJbmRleCIsIm9DdXJyZW50SW5kZXhDb250ZXh0IiwiX3VwZGF0ZUN1cnJlbnRJbmRleCIsIl9oYW5kbGVCdXR0b25FbmFibGVtZW50IiwibUJ1dHRvbkVuYWJsZW1lbnRNb2RlbCIsImdldE1vZGVsIiwibGVuZ3RoIiwic2V0UHJvcGVydHkiLCJ1cGRhdGVDdXJyZW50Q29udGV4dCIsImlEZWx0YUluZGV4IiwiYUN1cnJlbnRDb250ZXh0cyIsImlOZXdJbmRleCIsIm9OZXdDb250ZXh0IiwiYlByZXZlbnRJZHhVcGRhdGUiLCJvbkJlZm9yZUNvbnRleHRVcGRhdGUiLCJvbkNvbnRleHRVcGRhdGUiLCJvTGlzdEJpbmRpbmciLCJpQ3VycmVudEluZGV4IiwiaUluZGV4VXBkYXRlIiwiQ29udHJvbGxlckV4dGVuc2lvbiIsIlB1YmxpYyIsIkZpbmFsIiwiUHJpdmF0ZSJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO01BRU1BLFMsV0FETEMsUUFBUSxDQUFDLDRD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QUNBOztBQUNELFdBQUtULHVCQUFMO0FBQ0E7QUFFRDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O1lBR0M7QUFDQVcsSUFBQUEscUIsR0FIQSwrQkFHc0JFLFlBSHRCLEVBR3NEQyxhQUh0RCxFQUc2RUMsWUFIN0UsRUFHbUc7QUFDbEcsYUFBTyxLQUFQO0FBQ0E7QUFFRDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7WUFHQztBQUNBSCxJQUFBQSxlLEdBSEEseUJBR2dCdEIsUUFIaEIsRUFHbUMsQ0FDbEM7QUFDQSxLOzs7SUE5SXNCMEIsbUIsa05BMEJ0QkMsTSxFQUNBQyxLLCtKQStEQUQsTSxFQUNBQyxLLDBLQStCQUMsTyw0S0FlQUEsTztTQU9hL0MsUyIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbnRyb2xsZXJFeHRlbnNpb24gZnJvbSBcInNhcC91aS9jb3JlL212Yy9Db250cm9sbGVyRXh0ZW5zaW9uXCI7XG5pbXBvcnQgT3ZlcnJpZGVFeGVjdXRpb24gZnJvbSBcInNhcC91aS9jb3JlL212Yy9PdmVycmlkZUV4ZWN1dGlvblwiO1xuaW1wb3J0IEpTT05Nb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL2pzb24vSlNPTk1vZGVsXCI7XG5pbXBvcnQgeyBFeHRlbnNpYmxlLCBGaW5hbCwgT3ZlcnJpZGUsIFByaXZhdGUsIFB1YmxpYywgVUk1Q2xhc3MgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBDb250cm9sbGVyRXh0ZW5zaW9uTWV0YWRhdGEgZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL0NvbnRyb2xsZXJFeHRlbnNpb25NZXRhZGF0YVwiO1xuaW1wb3J0IFZpZXcgZnJvbSBcInNhcC91aS9jb3JlL212Yy9WaWV3XCI7XG5pbXBvcnQgUGFnZUNvbnRyb2xsZXIgZnJvbSBcInNhcC9mZS9jb3JlL1BhZ2VDb250cm9sbGVyXCI7XG5pbXBvcnQgT0RhdGFMaXN0QmluZGluZyBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L09EYXRhTGlzdEJpbmRpbmdcIjtcbmltcG9ydCBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvQ29udGV4dFwiO1xuXG4vKipcbiAqIENvbnRyb2xsZXIgZXh0ZW5zaW9uIHByb3ZpZGluZyBob29rcyBmb3IgdGhlIG5hdmlnYXRpb24gdXNpbmcgcGFnaW5hdG9yc1xuICpcbiAqIEBoaWRlY29uc3RydWN0b3JcbiAqIEBwdWJsaWNcbiAqIEBzaW5jZSAxLjk0LjBcbiAqL1xuQFVJNUNsYXNzKFwic2FwLmZlLmNvcmUuY29udHJvbGxlcmV4dGVuc2lvbnMuUGFnaW5hdG9yXCIsIENvbnRyb2xsZXJFeHRlbnNpb25NZXRhZGF0YSlcbmNsYXNzIFBhZ2luYXRvciBleHRlbmRzIENvbnRyb2xsZXJFeHRlbnNpb24ge1xuXHRwcml2YXRlIF9vVmlldyE6IFZpZXc7XG5cdHByaXZhdGUgYmFzZSE6IFBhZ2VDb250cm9sbGVyO1xuXHRwcml2YXRlIF9vTGlzdEJpbmRpbmc6IGFueTtcblx0cHJpdmF0ZSBfb0N1cnJlbnRDb250ZXh0PzogQ29udGV4dDtcblx0cHJpdmF0ZSBfaUN1cnJlbnRJbmRleDogbnVtYmVyID0gLTE7XG5cdEBPdmVycmlkZSgpXG5cdG9uSW5pdCgpIHtcblx0XHR0aGlzLl9vVmlldyA9IHRoaXMuYmFzZS5nZXRWaWV3KCk7XG5cdFx0dGhpcy5fb1ZpZXcuc2V0TW9kZWwoXG5cdFx0XHRuZXcgSlNPTk1vZGVsKHtcblx0XHRcdFx0bmF2VXBFbmFibGVkOiBmYWxzZSxcblx0XHRcdFx0bmF2RG93bkVuYWJsZWQ6IGZhbHNlXG5cdFx0XHR9KSxcblx0XHRcdFwicGFnaW5hdG9yXCJcblx0XHQpO1xuXHR9XG5cdC8qKlxuXHQgKiBJbml0aWF0ZXMgdGhlIHBhZ2luYXRvciBjb250cm9sLlxuXHQgKiBAZnVuY3Rpb25cblx0ICogQHBhcmFtIHtzYXAudWkubW9kZWwub2RhdGEudjQuT0RhdGFMaXN0QmluZGluZ30gb0JpbmRpbmcgT0RhdGFMaXN0QmluZGluZyBvYmplY3Rcblx0ICogQHBhcmFtIHtzYXAudWkubW9kZWwub2RhdGEudjQuQ29udGV4dH0gb0NvbnRleHQgQ3VycmVudCBjb250ZXh0IHdoZXJlIHRoZSBuYXZpZ2F0aW9uIGlzIGluaXRpYXRlZFxuXHQgKiBAYWxpYXMgc2FwLmZlLmNvcmUuY29udHJvbGxlcmV4dGVuc2lvbnMuUGFnaW5hdG9yI2luaXRpYWxpemVcblx0ICogQHB1YmxpY1xuXHQgKiBAc2luY2UgMS45NC4wXG5cdCAqKi9cblx0QFB1YmxpY1xuXHRARmluYWxcblx0aW5pdGlhbGl6ZShvQmluZGluZzogT0RhdGFMaXN0QmluZGluZyB8IGFueSwgb0NvbnRleHQ6IENvbnRleHQpIHtcblx0XHRpZiAob0JpbmRpbmcgJiYgb0JpbmRpbmcuZ2V0Q3VycmVudENvbnRleHRzKSB7XG5cdFx0XHR0aGlzLl9vTGlzdEJpbmRpbmcgPSBvQmluZGluZztcblx0XHR9XG5cdFx0aWYgKG9Db250ZXh0KSB7XG5cdFx0XHR0aGlzLl9vQ3VycmVudENvbnRleHQgPSBvQ29udGV4dDtcblx0XHR9XG5cdFx0dGhpcy5fdXBkYXRlQ3VycmVudEluZGV4QW5kQnV0dG9uRW5hYmxlbWVudCgpO1xuXHR9XG5cblx0X3VwZGF0ZUN1cnJlbnRJbmRleEFuZEJ1dHRvbkVuYWJsZW1lbnQoKSB7XG5cdFx0aWYgKHRoaXMuX29DdXJyZW50Q29udGV4dCAmJiB0aGlzLl9vTGlzdEJpbmRpbmcpIHtcblx0XHRcdGNvbnN0IHNQYXRoID0gdGhpcy5fb0N1cnJlbnRDb250ZXh0LmdldFBhdGgoKTtcblx0XHRcdC8vIFN0b3JpbmcgdGhlIGN1cnJlbnRJbmRleCBpbiBnbG9iYWwgdmFyaWFibGVcblx0XHRcdHRoaXMuX2lDdXJyZW50SW5kZXggPSB0aGlzLl9vTGlzdEJpbmRpbmcuZ2V0Q3VycmVudENvbnRleHRzKCkuZmluZEluZGV4KGZ1bmN0aW9uKG9Db250ZXh0OiBhbnkpIHtcblx0XHRcdFx0cmV0dXJuIG9Db250ZXh0ICYmIG9Db250ZXh0LmdldFBhdGgoKSA9PT0gc1BhdGg7XG5cdFx0XHR9KTtcblx0XHRcdGNvbnN0IG9DdXJyZW50SW5kZXhDb250ZXh0ID0gdGhpcy5fb0xpc3RCaW5kaW5nLmdldEN1cnJlbnRDb250ZXh0cygpW3RoaXMuX2lDdXJyZW50SW5kZXhdO1xuXHRcdFx0aWYgKFxuXHRcdFx0XHQoIXRoaXMuX2lDdXJyZW50SW5kZXggJiYgdGhpcy5faUN1cnJlbnRJbmRleCAhPT0gMCkgfHxcblx0XHRcdFx0IW9DdXJyZW50SW5kZXhDb250ZXh0IHx8XG5cdFx0XHRcdHRoaXMuX29DdXJyZW50Q29udGV4dC5nZXRQYXRoKCkgIT09IG9DdXJyZW50SW5kZXhDb250ZXh0LmdldFBhdGgoKVxuXHRcdFx0KSB7XG5cdFx0XHRcdHRoaXMuX3VwZGF0ZUN1cnJlbnRJbmRleCgpO1xuXHRcdFx0fVxuXHRcdFx0dGhpcy5faGFuZGxlQnV0dG9uRW5hYmxlbWVudCgpO1xuXHRcdH1cblx0fVxuXG5cdF9oYW5kbGVCdXR0b25FbmFibGVtZW50KCkge1xuXHRcdC8vRW5hYmxpbmcgYW5kIERpc2FibGluZyB0aGUgQnV0dG9ucyBvbiBjaGFuZ2Ugb2YgdGhlIGNvbnRyb2wgY29udGV4dFxuXHRcdGNvbnN0IG1CdXR0b25FbmFibGVtZW50TW9kZWwgPSB0aGlzLmJhc2UuZ2V0VmlldygpLmdldE1vZGVsKFwicGFnaW5hdG9yXCIpIGFzIEpTT05Nb2RlbDtcblx0XHRpZiAodGhpcy5fb0xpc3RCaW5kaW5nICYmIHRoaXMuX29MaXN0QmluZGluZy5nZXRDdXJyZW50Q29udGV4dHMoKS5sZW5ndGggPiAxICYmIHRoaXMuX2lDdXJyZW50SW5kZXggPiAtMSkge1xuXHRcdFx0aWYgKHRoaXMuX2lDdXJyZW50SW5kZXggPT09IHRoaXMuX29MaXN0QmluZGluZy5nZXRDdXJyZW50Q29udGV4dHMoKS5sZW5ndGggLSAxKSB7XG5cdFx0XHRcdG1CdXR0b25FbmFibGVtZW50TW9kZWwuc2V0UHJvcGVydHkoXCIvbmF2RG93bkVuYWJsZWRcIiwgZmFsc2UpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0bUJ1dHRvbkVuYWJsZW1lbnRNb2RlbC5zZXRQcm9wZXJ0eShcIi9uYXZEb3duRW5hYmxlZFwiLCB0cnVlKTtcblx0XHRcdH1cblx0XHRcdGlmICh0aGlzLl9pQ3VycmVudEluZGV4ID09PSAwKSB7XG5cdFx0XHRcdG1CdXR0b25FbmFibGVtZW50TW9kZWwuc2V0UHJvcGVydHkoXCIvbmF2VXBFbmFibGVkXCIsIGZhbHNlKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdG1CdXR0b25FbmFibGVtZW50TW9kZWwuc2V0UHJvcGVydHkoXCIvbmF2VXBFbmFibGVkXCIsIHRydWUpO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHQvLyBEb24ndCBzaG93IHRoZSBwYWdpbmF0b3IgYnV0dG9uc1xuXHRcdFx0Ly8gMS4gV2hlbiBubyBsaXN0YmluZGluZyBpcyBhdmFpbGFibGVcblx0XHRcdC8vIDIuIE9ubHkgJzEnIG9yICcwJyBjb250ZXh0IGV4aXN0cyBpbiB0aGUgbGlzdEJpbmRpbmdcblx0XHRcdC8vIDMuIFRoZSBjdXJyZW50IGluZGV4IGlzIC12ZSwgaS5lIHRoZSBjdXJyZW50SW5kZXggaXMgaW52YWxpZC5cblx0XHRcdG1CdXR0b25FbmFibGVtZW50TW9kZWwuc2V0UHJvcGVydHkoXCIvbmF2VXBFbmFibGVkXCIsIGZhbHNlKTtcblx0XHRcdG1CdXR0b25FbmFibGVtZW50TW9kZWwuc2V0UHJvcGVydHkoXCIvbmF2RG93bkVuYWJsZWRcIiwgZmFsc2UpO1xuXHRcdH1cblx0fVxuXG5cdF91cGRhdGVDdXJyZW50SW5kZXgoKSB7XG5cdFx0aWYgKHRoaXMuX29DdXJyZW50Q29udGV4dCAmJiB0aGlzLl9vTGlzdEJpbmRpbmcpIHtcblx0XHRcdGNvbnN0IHNQYXRoID0gdGhpcy5fb0N1cnJlbnRDb250ZXh0LmdldFBhdGgoKTtcblx0XHRcdC8vIFN0b3JpbmcgdGhlIGN1cnJlbnRJbmRleCBpbiBnbG9iYWwgdmFyaWFibGVcblx0XHRcdHRoaXMuX2lDdXJyZW50SW5kZXggPSB0aGlzLl9vTGlzdEJpbmRpbmcuZ2V0Q3VycmVudENvbnRleHRzKCkuZmluZEluZGV4KGZ1bmN0aW9uKG9Db250ZXh0OiBhbnkpIHtcblx0XHRcdFx0cmV0dXJuIG9Db250ZXh0ICYmIG9Db250ZXh0LmdldFBhdGgoKSA9PT0gc1BhdGg7XG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cblx0QFB1YmxpY1xuXHRARmluYWxcblx0dXBkYXRlQ3VycmVudENvbnRleHQoaURlbHRhSW5kZXg6IGFueSkge1xuXHRcdGlmICghdGhpcy5fb0xpc3RCaW5kaW5nKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0Y29uc3QgYUN1cnJlbnRDb250ZXh0cyA9IHRoaXMuX29MaXN0QmluZGluZy5nZXRDdXJyZW50Q29udGV4dHMoKTtcblx0XHRjb25zdCBpTmV3SW5kZXggPSB0aGlzLl9pQ3VycmVudEluZGV4ICsgaURlbHRhSW5kZXg7XG5cdFx0Y29uc3Qgb05ld0NvbnRleHQgPSBhQ3VycmVudENvbnRleHRzW2lOZXdJbmRleF07XG5cblx0XHRpZiAob05ld0NvbnRleHQpIHtcblx0XHRcdGNvbnN0IGJQcmV2ZW50SWR4VXBkYXRlID0gdGhpcy5vbkJlZm9yZUNvbnRleHRVcGRhdGUodGhpcy5fb0xpc3RCaW5kaW5nLCB0aGlzLl9pQ3VycmVudEluZGV4LCBpRGVsdGFJbmRleCk7XG5cdFx0XHRpZiAoIWJQcmV2ZW50SWR4VXBkYXRlKSB7XG5cdFx0XHRcdHRoaXMuX2lDdXJyZW50SW5kZXggPSBpTmV3SW5kZXg7XG5cdFx0XHRcdHRoaXMuX29DdXJyZW50Q29udGV4dCA9IG9OZXdDb250ZXh0O1xuXHRcdFx0fVxuXHRcdFx0dGhpcy5vbkNvbnRleHRVcGRhdGUob05ld0NvbnRleHQpO1xuXHRcdH1cblx0XHR0aGlzLl9oYW5kbGVCdXR0b25FbmFibGVtZW50KCk7XG5cdH1cblxuXHQvKipcblx0ICogQ2FsbGVkIGJlZm9yZSBjb250ZXh0IHVwZGF0ZS5cblx0ICogQGZ1bmN0aW9uXG5cdCAqIEBwYXJhbSB7c2FwLnVpLm1vZGVsLm9kYXRhLnY0Lk9EYXRhTGlzdEJpbmRpbmd9IG9MaXN0QmluZGluZyBPRGF0YUxpc3RCaW5kaW5nIG9iamVjdFxuXHQgKiBAcGFyYW0ge251bWJlcn0gaUN1cnJlbnRJbmRleCBDdXJyZW50IGluZGV4IG9mIGNvbnRleHQgaW4gbGlzdEJpbmRpbmcgZnJvbSB3aGVyZSB0aGUgbmF2aWdhdGlvbiBpcyBpbml0aWF0ZWRcblx0ICogQHBhcmFtIHtudW1iZXJ9IGlJbmRleFVwZGF0ZSBUaGUgZGVsdGEgaW5kZXggZm9yIHVwZGF0ZVxuXHQgKiBAcmV0dXJucyB7Ym9vbGVhbn0gYHRydWVgIHRvIHByZXZlbnQgdGhlIHVwZGF0ZSBvZiBjdXJyZW50IGNvbnRleHQuXG5cdCAqIEBhbGlhcyBzYXAuZmUuY29yZS5jb250cm9sbGVyZXh0ZW5zaW9ucy5QYWdpbmF0b3Ijb25CZWZvcmVDb250ZXh0VXBkYXRlXG5cdCAqIEBwcml2YXRlXG5cdCAqKi9cblx0QFByaXZhdGVcblx0QEV4dGVuc2libGUoT3ZlcnJpZGVFeGVjdXRpb24uQWZ0ZXIpXG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcblx0b25CZWZvcmVDb250ZXh0VXBkYXRlKG9MaXN0QmluZGluZzogT0RhdGFMaXN0QmluZGluZywgaUN1cnJlbnRJbmRleDogbnVtYmVyLCBpSW5kZXhVcGRhdGU6IG51bWJlcikge1xuXHRcdHJldHVybiBmYWxzZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXR1cm5zIHRoZSB1cGRhdGVkIGNvbnRleHQgYWZ0ZXIgdGhlIHBhZ2luYXRvciBvcGVyYXRpb24uXG5cdCAqIEBmdW5jdGlvblxuXHQgKiBAcGFyYW0ge3NhcC51aS5tb2RlbC5vZGF0YS52NC5Db250ZXh0fSBvQ29udGV4dCBGaW5hbCBjb250ZXh0IHJldHVybmVkIGFmdGVyIHRoZSBwYWdpbmF0b3IgYWN0aW9uXG5cdCAqIEBhbGlhcyBzYXAuZmUuY29yZS5jb250cm9sbGVyZXh0ZW5zaW9ucy5QYWdpbmF0b3Ijb25Db250ZXh0VXBkYXRlXG5cdCAqIEBwdWJsaWNcblx0ICogQHNpbmNlIDEuOTQuMFxuXHQgKiovXG5cdEBQcml2YXRlXG5cdEBFeHRlbnNpYmxlKE92ZXJyaWRlRXhlY3V0aW9uLkFmdGVyKVxuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5cdG9uQ29udGV4dFVwZGF0ZShvQ29udGV4dDogQ29udGV4dCkge1xuXHRcdC8vVG8gYmUgb3ZlcnJpZGRlbiBieSB0aGUgYXBwbGljYXRpb25cblx0fVxufVxuZXhwb3J0IGRlZmF1bHQgUGFnaW5hdG9yO1xuIl19
200
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlBhZ2luYXRvci50cyJdLCJuYW1lcyI6WyJQYWdpbmF0b3IiLCJkZWZpbmVVSTVDbGFzcyIsIm1ldGhvZE92ZXJyaWRlIiwicHVibGljRXh0ZW5zaW9uIiwiZmluYWxFeHRlbnNpb24iLCJwcml2YXRlRXh0ZW5zaW9uIiwiZXh0ZW5zaWJsZSIsIk92ZXJyaWRlRXhlY3V0aW9uIiwiQWZ0ZXIiLCJfaUN1cnJlbnRJbmRleCIsIm9uSW5pdCIsIl9vVmlldyIsImJhc2UiLCJnZXRWaWV3Iiwic2V0TW9kZWwiLCJKU09OTW9kZWwiLCJuYXZVcEVuYWJsZWQiLCJuYXZEb3duRW5hYmxlZCIsImluaXRpYWxpemUiLCJvQmluZGluZyIsIm9Db250ZXh0IiwiZ2V0Q3VycmVudENvbnRleHRzIiwiX29MaXN0QmluZGluZyIsIl9vQ3VycmVudENvbnRleHQiLCJfdXBkYXRlQ3VycmVudEluZGV4QW5kQnV0dG9uRW5hYmxlbWVudCIsInNQYXRoIiwiZ2V0UGF0aCIsImZpbmRJbmRleCIsIm9DdXJyZW50SW5kZXhDb250ZXh0IiwiX3VwZGF0ZUN1cnJlbnRJbmRleCIsIl9oYW5kbGVCdXR0b25FbmFibGVtZW50IiwibUJ1dHRvbkVuYWJsZW1lbnRNb2RlbCIsImdldE1vZGVsIiwibGVuZ3RoIiwic2V0UHJvcGVydHkiLCJpc0luYWN0aXZlIiwidXBkYXRlQ3VycmVudENvbnRleHQiLCJpRGVsdGFJbmRleCIsImFDdXJyZW50Q29udGV4dHMiLCJpTmV3SW5kZXgiLCJvTmV3Q29udGV4dCIsImJQcmV2ZW50SWR4VXBkYXRlIiwib25CZWZvcmVDb250ZXh0VXBkYXRlIiwib25Db250ZXh0VXBkYXRlIiwib0xpc3RCaW5kaW5nIiwiaUN1cnJlbnRJbmRleCIsImlJbmRleFVwZGF0ZSIsIkNvbnRyb2xsZXJFeHRlbnNpb24iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFjQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtNQUVN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VUFBSSxDQUFDLEtBQUtmLGFBQVYsRUFBeUI7QUFDeEI7QUFDQTs7QUFFRCxVQUFNZ0IsZ0JBQWdCLEdBQUcsS0FBS2hCLGFBQUwsQ0FBbUJELGtCQUFuQixFQUF6Qjs7QUFDQSxVQUFNa0IsU0FBUyxHQUFHLEtBQUs5QixjQUFMLEdBQXNCNEIsV0FBeEM7QUFDQSxVQUFNRyxXQUFXLEdBQUdGLGdCQUFnQixDQUFDQyxTQUFELENBQXBDOztBQUVBLFVBQUlDLFdBQUosRUFBaUI7QUFDaEIsWUFBTUMsaUJBQWlCLEdBQUcsS0FBS0MscUJBQUwsQ0FBMkIsS0FBS3BCLGFBQWhDLEVBQStDLEtBQUtiLGNBQXBELEVBQW9FNEIsV0FBcEUsQ0FBMUI7O0FBQ0EsWUFBSSxDQUFDSSxpQkFBTCxFQUF3QjtBQUN2QixlQUFLaEMsY0FBTCxHQUFzQjhCLFNBQXRCO0FBQ0EsZUFBS2hCLGdCQUFMLEdBQXdCaUIsV0FBeEI7QUFDQTs7QUFDRCxhQUFLRyxlQUFMLENBQXFCSCxXQUFyQjtBQUNBOztBQUNELFdBQUtWLHVCQUFMO0FBQ0E7QUFFRDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O1lBR0M7QUFDQVksSUFBQUEscUIsR0FIQSwrQkFHc0JFLFlBSHRCLEVBR3NEQyxhQUh0RCxFQUc2RUMsWUFIN0UsRUFHbUc7QUFDbEcsYUFBTyxLQUFQO0FBQ0E7QUFFRDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7WUFHQztBQUNBSCxJQUFBQSxlLEdBSEEseUJBR2dCdkIsUUFIaEIsRUFHbUMsQ0FDbEM7QUFDQSxLOzs7SUF2SnNCMkIsbUI7U0F5SlQvQyxTIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRkZWZpbmVVSTVDbGFzcyxcblx0ZXh0ZW5zaWJsZSxcblx0ZmluYWxFeHRlbnNpb24sXG5cdG1ldGhvZE92ZXJyaWRlLFxuXHRwcml2YXRlRXh0ZW5zaW9uLFxuXHRwdWJsaWNFeHRlbnNpb25cbn0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgUGFnZUNvbnRyb2xsZXIgZnJvbSBcInNhcC9mZS9jb3JlL1BhZ2VDb250cm9sbGVyXCI7XG5pbXBvcnQgQ29udHJvbGxlckV4dGVuc2lvbiBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL0NvbnRyb2xsZXJFeHRlbnNpb25cIjtcbmltcG9ydCBPdmVycmlkZUV4ZWN1dGlvbiBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL092ZXJyaWRlRXhlY3V0aW9uXCI7XG5pbXBvcnQgVmlldyBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL1ZpZXdcIjtcbmltcG9ydCBKU09OTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9qc29uL0pTT05Nb2RlbFwiO1xuaW1wb3J0IENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9Db250ZXh0XCI7XG5pbXBvcnQgT0RhdGFMaXN0QmluZGluZyBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L09EYXRhTGlzdEJpbmRpbmdcIjtcblxuLyoqXG4gKiBDb250cm9sbGVyIGV4dGVuc2lvbiBwcm92aWRpbmcgaG9va3MgZm9yIHRoZSBuYXZpZ2F0aW9uIHVzaW5nIHBhZ2luYXRvcnNcbiAqXG4gKiBAaGlkZWNvbnN0cnVjdG9yXG4gKiBAcHVibGljXG4gKiBAc2luY2UgMS45NC4wXG4gKi9cbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS5jb3JlLmNvbnRyb2xsZXJleHRlbnNpb25zLlBhZ2luYXRvclwiKVxuY2xhc3MgUGFnaW5hdG9yIGV4dGVuZHMgQ29udHJvbGxlckV4dGVuc2lvbiB7XG5cdHByaXZhdGUgX29WaWV3ITogVmlldztcblx0cHJvdGVjdGVkIGJhc2UhOiBQYWdlQ29udHJvbGxlcjtcblx0cHJpdmF0ZSBfb0xpc3RCaW5kaW5nOiBhbnk7XG5cdHByaXZhdGUgX29DdXJyZW50Q29udGV4dD86IENvbnRleHQ7XG5cdHByaXZhdGUgX2lDdXJyZW50SW5kZXg6IG51bWJlciA9IC0xO1xuXHRAbWV0aG9kT3ZlcnJpZGUoKVxuXHRvbkluaXQoKSB7XG5cdFx0dGhpcy5fb1ZpZXcgPSB0aGlzLmJhc2UuZ2V0VmlldygpO1xuXHRcdHRoaXMuX29WaWV3LnNldE1vZGVsKFxuXHRcdFx0bmV3IEpTT05Nb2RlbCh7XG5cdFx0XHRcdG5hdlVwRW5hYmxlZDogZmFsc2UsXG5cdFx0XHRcdG5hdkRvd25FbmFibGVkOiBmYWxzZVxuXHRcdFx0fSksXG5cdFx0XHRcInBhZ2luYXRvclwiXG5cdFx0KTtcblx0fVxuXHQvKipcblx0ICogSW5pdGlhdGVzIHRoZSBwYWdpbmF0b3IgY29udHJvbC5cblx0ICogQGZ1bmN0aW9uXG5cdCAqIEBwYXJhbSB7c2FwLnVpLm1vZGVsLm9kYXRhLnY0Lk9EYXRhTGlzdEJpbmRpbmd9IG9CaW5kaW5nIE9EYXRhTGlzdEJpbmRpbmcgb2JqZWN0XG5cdCAqIEBwYXJhbSB7c2FwLnVpLm1vZGVsLm9kYXRhLnY0LkNvbnRleHR9IG9Db250ZXh0IEN1cnJlbnQgY29udGV4dCB3aGVyZSB0aGUgbmF2aWdhdGlvbiBpcyBpbml0aWF0ZWRcblx0ICogQGFsaWFzIHNhcC5mZS5jb3JlLmNvbnRyb2xsZXJleHRlbnNpb25zLlBhZ2luYXRvciNpbml0aWFsaXplXG5cdCAqIEBwdWJsaWNcblx0ICogQHNpbmNlIDEuOTQuMFxuXHQgKiovXG5cdEBwdWJsaWNFeHRlbnNpb24oKVxuXHRAZmluYWxFeHRlbnNpb24oKVxuXHRpbml0aWFsaXplKG9CaW5kaW5nOiBPRGF0YUxpc3RCaW5kaW5nIHwgYW55LCBvQ29udGV4dDogQ29udGV4dCkge1xuXHRcdGlmIChvQmluZGluZyAmJiBvQmluZGluZy5nZXRDdXJyZW50Q29udGV4dHMpIHtcblx0XHRcdHRoaXMuX29MaXN0QmluZGluZyA9IG9CaW5kaW5nO1xuXHRcdH1cblx0XHRpZiAob0NvbnRleHQpIHtcblx0XHRcdHRoaXMuX29DdXJyZW50Q29udGV4dCA9IG9Db250ZXh0O1xuXHRcdH1cblx0XHR0aGlzLl91cGRhdGVDdXJyZW50SW5kZXhBbmRCdXR0b25FbmFibGVtZW50KCk7XG5cdH1cblxuXHRfdXBkYXRlQ3VycmVudEluZGV4QW5kQnV0dG9uRW5hYmxlbWVudCgpIHtcblx0XHRpZiAodGhpcy5fb0N1cnJlbnRDb250ZXh0ICYmIHRoaXMuX29MaXN0QmluZGluZykge1xuXHRcdFx0Y29uc3Qgc1BhdGggPSB0aGlzLl9vQ3VycmVudENvbnRleHQuZ2V0UGF0aCgpO1xuXHRcdFx0Ly8gU3RvcmluZyB0aGUgY3VycmVudEluZGV4IGluIGdsb2JhbCB2YXJpYWJsZVxuXHRcdFx0dGhpcy5faUN1cnJlbnRJbmRleCA9IHRoaXMuX29MaXN0QmluZGluZy5nZXRDdXJyZW50Q29udGV4dHMoKS5maW5kSW5kZXgoZnVuY3Rpb24gKG9Db250ZXh0OiBhbnkpIHtcblx0XHRcdFx0cmV0dXJuIG9Db250ZXh0ICYmIG9Db250ZXh0LmdldFBhdGgoKSA9PT0gc1BhdGg7XG5cdFx0XHR9KTtcblx0XHRcdGNvbnN0IG9DdXJyZW50SW5kZXhDb250ZXh0ID0gdGhpcy5fb0xpc3RCaW5kaW5nLmdldEN1cnJlbnRDb250ZXh0cygpW3RoaXMuX2lDdXJyZW50SW5kZXhdO1xuXHRcdFx0aWYgKFxuXHRcdFx0XHQoIXRoaXMuX2lDdXJyZW50SW5kZXggJiYgdGhpcy5faUN1cnJlbnRJbmRleCAhPT0gMCkgfHxcblx0XHRcdFx0IW9DdXJyZW50SW5kZXhDb250ZXh0IHx8XG5cdFx0XHRcdHRoaXMuX29DdXJyZW50Q29udGV4dC5nZXRQYXRoKCkgIT09IG9DdXJyZW50SW5kZXhDb250ZXh0LmdldFBhdGgoKVxuXHRcdFx0KSB7XG5cdFx0XHRcdHRoaXMuX3VwZGF0ZUN1cnJlbnRJbmRleCgpO1xuXHRcdFx0fVxuXHRcdFx0dGhpcy5faGFuZGxlQnV0dG9uRW5hYmxlbWVudCgpO1xuXHRcdH1cblx0fVxuXG5cdF9oYW5kbGVCdXR0b25FbmFibGVtZW50KCkge1xuXHRcdC8vRW5hYmxpbmcgYW5kIERpc2FibGluZyB0aGUgQnV0dG9ucyBvbiBjaGFuZ2Ugb2YgdGhlIGNvbnRyb2wgY29udGV4dFxuXHRcdGNvbnN0IG1CdXR0b25FbmFibGVtZW50TW9kZWwgPSB0aGlzLmJhc2UuZ2V0VmlldygpLmdldE1vZGVsKFwicGFnaW5hdG9yXCIpIGFzIEpTT05Nb2RlbDtcblx0XHRpZiAodGhpcy5fb0xpc3RCaW5kaW5nICYmIHRoaXMuX29MaXN0QmluZGluZy5nZXRDdXJyZW50Q29udGV4dHMoKS5sZW5ndGggPiAxICYmIHRoaXMuX2lDdXJyZW50SW5kZXggPiAtMSkge1xuXHRcdFx0aWYgKHRoaXMuX2lDdXJyZW50SW5kZXggPT09IHRoaXMuX29MaXN0QmluZGluZy5nZXRDdXJyZW50Q29udGV4dHMoKS5sZW5ndGggLSAxKSB7XG5cdFx0XHRcdG1CdXR0b25FbmFibGVtZW50TW9kZWwuc2V0UHJvcGVydHkoXCIvbmF2RG93bkVuYWJsZWRcIiwgZmFsc2UpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0Ly9jaGVjayB0aGUgbmV4dCBjb250ZXh0IGlzIG5vdCBhbiBpbmFjdGl2ZSBjb250ZXh0XG5cdFx0XHRcdGlmICh0aGlzLl9vTGlzdEJpbmRpbmcuZ2V0Q3VycmVudENvbnRleHRzKClbdGhpcy5faUN1cnJlbnRJbmRleCArIDFdLmlzSW5hY3RpdmUoKSkge1xuXHRcdFx0XHRcdG1CdXR0b25FbmFibGVtZW50TW9kZWwuc2V0UHJvcGVydHkoXCIvbmF2RG93bkVuYWJsZWRcIiwgZmFsc2UpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdG1CdXR0b25FbmFibGVtZW50TW9kZWwuc2V0UHJvcGVydHkoXCIvbmF2RG93bkVuYWJsZWRcIiwgdHJ1ZSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdGlmICh0aGlzLl9pQ3VycmVudEluZGV4ID09PSAwKSB7XG5cdFx0XHRcdG1CdXR0b25FbmFibGVtZW50TW9kZWwuc2V0UHJvcGVydHkoXCIvbmF2VXBFbmFibGVkXCIsIGZhbHNlKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGlmICh0aGlzLl9vTGlzdEJpbmRpbmcuZ2V0Q3VycmVudENvbnRleHRzKClbdGhpcy5faUN1cnJlbnRJbmRleCAtIDFdLmlzSW5hY3RpdmUoKSkge1xuXHRcdFx0XHRcdG1CdXR0b25FbmFibGVtZW50TW9kZWwuc2V0UHJvcGVydHkoXCIvbmF2VXBFbmFibGVkXCIsIGZhbHNlKTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRtQnV0dG9uRW5hYmxlbWVudE1vZGVsLnNldFByb3BlcnR5KFwiL25hdlVwRW5hYmxlZFwiLCB0cnVlKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHQvLyBEb24ndCBzaG93IHRoZSBwYWdpbmF0b3IgYnV0dG9uc1xuXHRcdFx0Ly8gMS4gV2hlbiBubyBsaXN0YmluZGluZyBpcyBhdmFpbGFibGVcblx0XHRcdC8vIDIuIE9ubHkgJzEnIG9yICcwJyBjb250ZXh0IGV4aXN0cyBpbiB0aGUgbGlzdEJpbmRpbmdcblx0XHRcdC8vIDMuIFRoZSBjdXJyZW50IGluZGV4IGlzIC12ZSwgaS5lIHRoZSBjdXJyZW50SW5kZXggaXMgaW52YWxpZC5cblx0XHRcdG1CdXR0b25FbmFibGVtZW50TW9kZWwuc2V0UHJvcGVydHkoXCIvbmF2VXBFbmFibGVkXCIsIGZhbHNlKTtcblx0XHRcdG1CdXR0b25FbmFibGVtZW50TW9kZWwuc2V0UHJvcGVydHkoXCIvbmF2RG93bkVuYWJsZWRcIiwgZmFsc2UpO1xuXHRcdH1cblx0fVxuXG5cdF91cGRhdGVDdXJyZW50SW5kZXgoKSB7XG5cdFx0aWYgKHRoaXMuX29DdXJyZW50Q29udGV4dCAmJiB0aGlzLl9vTGlzdEJpbmRpbmcpIHtcblx0XHRcdGNvbnN0IHNQYXRoID0gdGhpcy5fb0N1cnJlbnRDb250ZXh0LmdldFBhdGgoKTtcblx0XHRcdC8vIFN0b3JpbmcgdGhlIGN1cnJlbnRJbmRleCBpbiBnbG9iYWwgdmFyaWFibGVcblx0XHRcdHRoaXMuX2lDdXJyZW50SW5kZXggPSB0aGlzLl9vTGlzdEJpbmRpbmcuZ2V0Q3VycmVudENvbnRleHRzKCkuZmluZEluZGV4KGZ1bmN0aW9uIChvQ29udGV4dDogYW55KSB7XG5cdFx0XHRcdHJldHVybiBvQ29udGV4dCAmJiBvQ29udGV4dC5nZXRQYXRoKCkgPT09IHNQYXRoO1xuXHRcdFx0fSk7XG5cdFx0fVxuXHR9XG5cdEBwdWJsaWNFeHRlbnNpb24oKVxuXHRAZmluYWxFeHRlbnNpb24oKVxuXHR1cGRhdGVDdXJyZW50Q29udGV4dChpRGVsdGFJbmRleDogYW55KSB7XG5cdFx0aWYgKCF0aGlzLl9vTGlzdEJpbmRpbmcpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRjb25zdCBhQ3VycmVudENvbnRleHRzID0gdGhpcy5fb0xpc3RCaW5kaW5nLmdldEN1cnJlbnRDb250ZXh0cygpO1xuXHRcdGNvbnN0IGlOZXdJbmRleCA9IHRoaXMuX2lDdXJyZW50SW5kZXggKyBpRGVsdGFJbmRleDtcblx0XHRjb25zdCBvTmV3Q29udGV4dCA9IGFDdXJyZW50Q29udGV4dHNbaU5ld0luZGV4XTtcblxuXHRcdGlmIChvTmV3Q29udGV4dCkge1xuXHRcdFx0Y29uc3QgYlByZXZlbnRJZHhVcGRhdGUgPSB0aGlzLm9uQmVmb3JlQ29udGV4dFVwZGF0ZSh0aGlzLl9vTGlzdEJpbmRpbmcsIHRoaXMuX2lDdXJyZW50SW5kZXgsIGlEZWx0YUluZGV4KTtcblx0XHRcdGlmICghYlByZXZlbnRJZHhVcGRhdGUpIHtcblx0XHRcdFx0dGhpcy5faUN1cnJlbnRJbmRleCA9IGlOZXdJbmRleDtcblx0XHRcdFx0dGhpcy5fb0N1cnJlbnRDb250ZXh0ID0gb05ld0NvbnRleHQ7XG5cdFx0XHR9XG5cdFx0XHR0aGlzLm9uQ29udGV4dFVwZGF0ZShvTmV3Q29udGV4dCk7XG5cdFx0fVxuXHRcdHRoaXMuX2hhbmRsZUJ1dHRvbkVuYWJsZW1lbnQoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDYWxsZWQgYmVmb3JlIGNvbnRleHQgdXBkYXRlLlxuXHQgKiBAZnVuY3Rpb25cblx0ICogQHBhcmFtIHtzYXAudWkubW9kZWwub2RhdGEudjQuT0RhdGFMaXN0QmluZGluZ30gb0xpc3RCaW5kaW5nIE9EYXRhTGlzdEJpbmRpbmcgb2JqZWN0XG5cdCAqIEBwYXJhbSB7bnVtYmVyfSBpQ3VycmVudEluZGV4IEN1cnJlbnQgaW5kZXggb2YgY29udGV4dCBpbiBsaXN0QmluZGluZyBmcm9tIHdoZXJlIHRoZSBuYXZpZ2F0aW9uIGlzIGluaXRpYXRlZFxuXHQgKiBAcGFyYW0ge251bWJlcn0gaUluZGV4VXBkYXRlIFRoZSBkZWx0YSBpbmRleCBmb3IgdXBkYXRlXG5cdCAqIEByZXR1cm5zIHtib29sZWFufSBgdHJ1ZWAgdG8gcHJldmVudCB0aGUgdXBkYXRlIG9mIGN1cnJlbnQgY29udGV4dC5cblx0ICogQGFsaWFzIHNhcC5mZS5jb3JlLmNvbnRyb2xsZXJleHRlbnNpb25zLlBhZ2luYXRvciNvbkJlZm9yZUNvbnRleHRVcGRhdGVcblx0ICogQHByaXZhdGVcblx0ICoqL1xuXHRAcHJpdmF0ZUV4dGVuc2lvbigpXG5cdEBleHRlbnNpYmxlKE92ZXJyaWRlRXhlY3V0aW9uLkFmdGVyKVxuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5cdG9uQmVmb3JlQ29udGV4dFVwZGF0ZShvTGlzdEJpbmRpbmc6IE9EYXRhTGlzdEJpbmRpbmcsIGlDdXJyZW50SW5kZXg6IG51bWJlciwgaUluZGV4VXBkYXRlOiBudW1iZXIpIHtcblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblxuXHQvKipcblx0ICogUmV0dXJucyB0aGUgdXBkYXRlZCBjb250ZXh0IGFmdGVyIHRoZSBwYWdpbmF0b3Igb3BlcmF0aW9uLlxuXHQgKiBAZnVuY3Rpb25cblx0ICogQHBhcmFtIHtzYXAudWkubW9kZWwub2RhdGEudjQuQ29udGV4dH0gb0NvbnRleHQgRmluYWwgY29udGV4dCByZXR1cm5lZCBhZnRlciB0aGUgcGFnaW5hdG9yIGFjdGlvblxuXHQgKiBAYWxpYXMgc2FwLmZlLmNvcmUuY29udHJvbGxlcmV4dGVuc2lvbnMuUGFnaW5hdG9yI29uQ29udGV4dFVwZGF0ZVxuXHQgKiBAcHVibGljXG5cdCAqIEBzaW5jZSAxLjk0LjBcblx0ICoqL1xuXHRAcHJpdmF0ZUV4dGVuc2lvbigpXG5cdEBleHRlbnNpYmxlKE92ZXJyaWRlRXhlY3V0aW9uLkFmdGVyKVxuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5cdG9uQ29udGV4dFVwZGF0ZShvQ29udGV4dDogQ29udGV4dCkge1xuXHRcdC8vVG8gYmUgb3ZlcnJpZGRlbiBieSB0aGUgYXBwbGljYXRpb25cblx0fVxufVxuZXhwb3J0IGRlZmF1bHQgUGFnaW5hdG9yO1xuIl19
@@ -1,12 +1,18 @@
1
+ import {
2
+ defineUI5Class,
3
+ extensible,
4
+ finalExtension,
5
+ methodOverride,
6
+ privateExtension,
7
+ publicExtension
8
+ } from "sap/fe/core/helpers/ClassSupport";
9
+ import PageController from "sap/fe/core/PageController";
1
10
  import ControllerExtension from "sap/ui/core/mvc/ControllerExtension";
2
11
  import OverrideExecution from "sap/ui/core/mvc/OverrideExecution";
3
- import JSONModel from "sap/ui/model/json/JSONModel";
4
- import { Extensible, Final, Override, Private, Public, UI5Class } from "sap/fe/core/helpers/ClassSupport";
5
- import ControllerExtensionMetadata from "sap/fe/core/controllerextensions/ControllerExtensionMetadata";
6
12
  import View from "sap/ui/core/mvc/View";
7
- import PageController from "sap/fe/core/PageController";
8
- import ODataListBinding from "sap/ui/model/odata/v4/ODataListBinding";
13
+ import JSONModel from "sap/ui/model/json/JSONModel";
9
14
  import Context from "sap/ui/model/odata/v4/Context";
15
+ import ODataListBinding from "sap/ui/model/odata/v4/ODataListBinding";
10
16
 
11
17
  /**
12
18
  * Controller extension providing hooks for the navigation using paginators
@@ -15,14 +21,14 @@ import Context from "sap/ui/model/odata/v4/Context";
15
21
  * @public
16
22
  * @since 1.94.0
17
23
  */
18
- @UI5Class("sap.fe.core.controllerextensions.Paginator", ControllerExtensionMetadata)
24
+ @defineUI5Class("sap.fe.core.controllerextensions.Paginator")
19
25
  class Paginator extends ControllerExtension {
20
26
  private _oView!: View;
21
- private base!: PageController;
27
+ protected base!: PageController;
22
28
  private _oListBinding: any;
23
29
  private _oCurrentContext?: Context;
24
30
  private _iCurrentIndex: number = -1;
25
- @Override()
31
+ @methodOverride()
26
32
  onInit() {
27
33
  this._oView = this.base.getView();
28
34
  this._oView.setModel(
@@ -42,8 +48,8 @@ class Paginator extends ControllerExtension {
42
48
  * @public
43
49
  * @since 1.94.0
44
50
  **/
45
- @Public
46
- @Final
51
+ @publicExtension()
52
+ @finalExtension()
47
53
  initialize(oBinding: ODataListBinding | any, oContext: Context) {
48
54
  if (oBinding && oBinding.getCurrentContexts) {
49
55
  this._oListBinding = oBinding;
@@ -58,7 +64,7 @@ class Paginator extends ControllerExtension {
58
64
  if (this._oCurrentContext && this._oListBinding) {
59
65
  const sPath = this._oCurrentContext.getPath();
60
66
  // Storing the currentIndex in global variable
61
- this._iCurrentIndex = this._oListBinding.getCurrentContexts().findIndex(function(oContext: any) {
67
+ this._iCurrentIndex = this._oListBinding.getCurrentContexts().findIndex(function (oContext: any) {
62
68
  return oContext && oContext.getPath() === sPath;
63
69
  });
64
70
  const oCurrentIndexContext = this._oListBinding.getCurrentContexts()[this._iCurrentIndex];
@@ -80,12 +86,21 @@ class Paginator extends ControllerExtension {
80
86
  if (this._iCurrentIndex === this._oListBinding.getCurrentContexts().length - 1) {
81
87
  mButtonEnablementModel.setProperty("/navDownEnabled", false);
82
88
  } else {
83
- mButtonEnablementModel.setProperty("/navDownEnabled", true);
89
+ //check the next context is not an inactive context
90
+ if (this._oListBinding.getCurrentContexts()[this._iCurrentIndex + 1].isInactive()) {
91
+ mButtonEnablementModel.setProperty("/navDownEnabled", false);
92
+ } else {
93
+ mButtonEnablementModel.setProperty("/navDownEnabled", true);
94
+ }
84
95
  }
85
96
  if (this._iCurrentIndex === 0) {
86
97
  mButtonEnablementModel.setProperty("/navUpEnabled", false);
87
98
  } else {
88
- mButtonEnablementModel.setProperty("/navUpEnabled", true);
99
+ if (this._oListBinding.getCurrentContexts()[this._iCurrentIndex - 1].isInactive()) {
100
+ mButtonEnablementModel.setProperty("/navUpEnabled", false);
101
+ } else {
102
+ mButtonEnablementModel.setProperty("/navUpEnabled", true);
103
+ }
89
104
  }
90
105
  } else {
91
106
  // Don't show the paginator buttons
@@ -101,13 +116,13 @@ class Paginator extends ControllerExtension {
101
116
  if (this._oCurrentContext && this._oListBinding) {
102
117
  const sPath = this._oCurrentContext.getPath();
103
118
  // Storing the currentIndex in global variable
104
- this._iCurrentIndex = this._oListBinding.getCurrentContexts().findIndex(function(oContext: any) {
119
+ this._iCurrentIndex = this._oListBinding.getCurrentContexts().findIndex(function (oContext: any) {
105
120
  return oContext && oContext.getPath() === sPath;
106
121
  });
107
122
  }
108
123
  }
109
- @Public
110
- @Final
124
+ @publicExtension()
125
+ @finalExtension()
111
126
  updateCurrentContext(iDeltaIndex: any) {
112
127
  if (!this._oListBinding) {
113
128
  return;
@@ -138,8 +153,8 @@ class Paginator extends ControllerExtension {
138
153
  * @alias sap.fe.core.controllerextensions.Paginator#onBeforeContextUpdate
139
154
  * @private
140
155
  **/
141
- @Private
142
- @Extensible(OverrideExecution.After)
156
+ @privateExtension()
157
+ @extensible(OverrideExecution.After)
143
158
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
144
159
  onBeforeContextUpdate(oListBinding: ODataListBinding, iCurrentIndex: number, iIndexUpdate: number) {
145
160
  return false;
@@ -153,8 +168,8 @@ class Paginator extends ControllerExtension {
153
168
  * @public
154
169
  * @since 1.94.0
155
170
  **/
156
- @Private
157
- @Extensible(OverrideExecution.After)
171
+ @privateExtension()
172
+ @extensible(OverrideExecution.After)
158
173
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
159
174
  onContextUpdate(oContext: Context) {
160
175
  //To be overridden by the application
@@ -2,15 +2,15 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * (c) Copyright 2009-2021 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/ui/core/mvc/ControllerExtension", "sap/base/util/UriParameters", "sap/base/util/ObjectPath", "sap/fe/placeholder/library", "sap/ui/core/Placeholder", "sap/fe/core/helpers/ClassSupport", "sap/fe/core/controllerextensions/ControllerExtensionMetadata"], function (ControllerExtension, UriParameters, ObjectPath, _library, Placeholder, ClassSupport, ControllerExtensionMetadata) {
5
+ sap.ui.define(["sap/ui/core/mvc/ControllerExtension", "sap/base/util/UriParameters", "sap/base/util/ObjectPath", "sap/fe/placeholder/library", "sap/ui/core/Placeholder", "sap/fe/core/helpers/ClassSupport", "sap/ui/core/Core"], function (ControllerExtension, UriParameters, ObjectPath, _library, Placeholder, ClassSupport, Core) {
6
6
  "use strict";
7
7
 
8
- var _dec, _class, _class2;
8
+ var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _class, _class2;
9
9
 
10
- var UI5Class = ClassSupport.UI5Class;
11
- var Public = ClassSupport.Public;
10
+ var defineUI5Class = ClassSupport.defineUI5Class;
11
+ var publicExtension = ClassSupport.publicExtension;
12
12
 
13
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
13
+ function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }
14
14
 
15
15
  function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
16
16
 
@@ -23,8 +23,8 @@ sap.ui.define(["sap/ui/core/mvc/ControllerExtension", "sap/base/util/UriParamete
23
23
  * @alias sap.fe.core.controllerextensions.Placeholder
24
24
  *
25
25
  **/
26
- var PlaceholderControllerExtension = (_dec = UI5Class("sap.fe.core.controllerextensions.Placeholder", ControllerExtensionMetadata), _dec(_class = (_class2 = /*#__PURE__*/function (_ControllerExtension) {
27
- _inherits(PlaceholderControllerExtension, _ControllerExtension);
26
+ var PlaceholderControllerExtension = (_dec = defineUI5Class("sap.fe.core.controllerextensions.Placeholder"), _dec2 = publicExtension(), _dec3 = publicExtension(), _dec4 = publicExtension(), _dec5 = publicExtension(), _dec6 = publicExtension(), _dec7 = publicExtension(), _dec8 = publicExtension(), _dec(_class = (_class2 = /*#__PURE__*/function (_ControllerExtension) {
27
+ _inheritsLoose(PlaceholderControllerExtension, _ControllerExtension);
28
28
 
29
29
  function PlaceholderControllerExtension() {
30
30
  return _ControllerExtension.apply(this, arguments) || this;
@@ -151,11 +151,11 @@ sap.ui.define(["sap/ui/core/mvc/ControllerExtension", "sap/base/util/UriParamete
151
151
  return false;
152
152
  }
153
153
 
154
- return sap.ui.getCore().getConfiguration().getPlaceholder();
154
+ return Core.getConfiguration().getPlaceholder();
155
155
  };
156
156
 
157
157
  return PlaceholderControllerExtension;
158
- }(ControllerExtension), (_applyDecoratedDescriptor(_class2.prototype, "attachHideCallback", [Public], Object.getOwnPropertyDescriptor(_class2.prototype, "attachHideCallback"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "attachRouteMatchers", [Public], Object.getOwnPropertyDescriptor(_class2.prototype, "attachRouteMatchers"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "initPlaceholderDebug", [Public], Object.getOwnPropertyDescriptor(_class2.prototype, "initPlaceholderDebug"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "isPlaceholderDebugEnabled", [Public], Object.getOwnPropertyDescriptor(_class2.prototype, "isPlaceholderDebugEnabled"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "resetPlaceholderDebugStats", [Public], Object.getOwnPropertyDescriptor(_class2.prototype, "resetPlaceholderDebugStats"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "getPlaceholderDebugStats", [Public], Object.getOwnPropertyDescriptor(_class2.prototype, "getPlaceholderDebugStats"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "isPlaceholderEnabled", [Public], Object.getOwnPropertyDescriptor(_class2.prototype, "isPlaceholderEnabled"), _class2.prototype)), _class2)) || _class);
158
+ }(ControllerExtension), (_applyDecoratedDescriptor(_class2.prototype, "attachHideCallback", [_dec2], Object.getOwnPropertyDescriptor(_class2.prototype, "attachHideCallback"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "attachRouteMatchers", [_dec3], Object.getOwnPropertyDescriptor(_class2.prototype, "attachRouteMatchers"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "initPlaceholderDebug", [_dec4], Object.getOwnPropertyDescriptor(_class2.prototype, "initPlaceholderDebug"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "isPlaceholderDebugEnabled", [_dec5], Object.getOwnPropertyDescriptor(_class2.prototype, "isPlaceholderDebugEnabled"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "resetPlaceholderDebugStats", [_dec6], Object.getOwnPropertyDescriptor(_class2.prototype, "resetPlaceholderDebugStats"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "getPlaceholderDebugStats", [_dec7], Object.getOwnPropertyDescriptor(_class2.prototype, "getPlaceholderDebugStats"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "isPlaceholderEnabled", [_dec8], Object.getOwnPropertyDescriptor(_class2.prototype, "isPlaceholderEnabled"), _class2.prototype)), _class2)) || _class);
159
159
  return PlaceholderControllerExtension;
160
160
  }, false);
161
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlBsYWNlaG9sZGVyLnRzIl0sIm5hbWVzIjpbIlBsYWNlaG9sZGVyQ29udHJvbGxlckV4dGVuc2lvbiIsIlVJNUNsYXNzIiwiQ29udHJvbGxlckV4dGVuc2lvbk1ldGFkYXRhIiwiYXR0YWNoSGlkZUNhbGxiYWNrIiwiaXNQbGFjZWhvbGRlckVuYWJsZWQiLCJvVmlldyIsImJhc2UiLCJnZXRWaWV3Iiwib1BhZ2UiLCJnZXRQYXJlbnQiLCJvQ29udGFpbmVyIiwib05hdkNvbnRhaW5lciIsIl9mbkNvbnRhaW5lckRlbGVnYXRlIiwib25BZnRlclNob3ciLCJvRXZlbnQiLCJpc0JhY2tUb1BhZ2UiLCJoaWRlUGxhY2Vob2xkZXIiLCJVcmlQYXJhbWV0ZXJzIiwiZnJvbVF1ZXJ5Iiwid2luZG93IiwibG9jYXRpb24iLCJoYXNoIiwicmVwbGFjZSIsImdldCIsImFkZEV2ZW50RGVsZWdhdGUiLCJvUGFnZVJlYWR5IiwiZ2V0Q29udHJvbGxlciIsInBhZ2VSZWFkeSIsImFBdHRhY2hFdmVudHMiLCJnZXRDb250cm9sbGVyTmFtZSIsInB1c2giLCJmb3JFYWNoIiwic0V2ZW50IiwiYXR0YWNoRXZlbnQiLCJhdHRhY2hSb3V0ZU1hdGNoZXJzIiwiX2luaXQiLCJvQXBwQ29tcG9uZW50IiwiZ2V0QXBwQ29tcG9uZW50Iiwib1Jvb3RDb250YWluZXIiLCJnZXRSb290Q29udGFpbmVyIiwib1BsYWNlaG9sZGVycyIsIlBsYWNlaG9sZGVyIiwicmVnaXN0ZXJQcm92aWRlciIsIm9Db25maWciLCJuYW1lIiwiaHRtbCIsImF1dG9DbG9zZSIsImlzUGxhY2Vob2xkZXJEZWJ1Z0VuYWJsZWQiLCJpbml0UGxhY2Vob2xkZXJEZWJ1ZyIsInJlc2V0UGxhY2Vob2xkZXJEZWJ1Z1N0YXRzIiwiaGFuZGxlciIsImFwcGx5IiwidGFyZ2V0IiwiX3BsYWNlaG9sZGVyIiwicGxhY2Vob2xkZXIiLCJkZWJ1Z1N0YXRzIiwiaUhpZGVQbGFjZWhvbGRlclRpbWVzdGFtcCIsIkRhdGUiLCJub3ciLCJiaW5kIiwicHJveHkxIiwiUHJveHkiLCJzZWFyY2giLCJpUGFnZVJlYWR5RXZlbnRUaW1lc3RhbXAiLCJpSGVyb2VzQmF0Y2hSZWNlaXZlZEV2ZW50VGltZXN0YW1wIiwiZ2V0UGxhY2Vob2xkZXJEZWJ1Z1N0YXRzIiwiYlBsYWNlaG9sZGVyRW5hYmxlZEluRkxQIiwiT2JqZWN0UGF0aCIsInNhcCIsInVpIiwiZ2V0Q29yZSIsImdldENvbmZpZ3VyYXRpb24iLCJnZXRQbGFjZWhvbGRlciIsIkNvbnRyb2xsZXJFeHRlbnNpb24iLCJQdWJsaWMiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7OztBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO01BRU1BLDhCLFdBRExDLFFBQVEsQ0FBQyw4Q0FBRCxFQUFpREMsMkJBQWpELEM7Ozs7Ozs7OztXQVNEQyxrQixHQURQLDhCQUM0QjtBQUMzQixVQUFJLEtBQUtDLG9CQUFMLEVBQUosRUFBaUM7QUFDaEMsWUFBTUMsS0FBSyxHQUFHLEtBQUtDLElBQUwsQ0FBVUMsT0FBVixFQUFkO0FBQ0EsWUFBTUMsS0FBSyxHQUFHSCxLQUFLLENBQUNJLFNBQU4sTUFBc0JKLEtBQUssQ0FBQ0ksU0FBTixFQUFELENBQTJCQyxVQUE5RDtBQUNBLFlBQU1DLGFBQWEsR0FBR0gsS0FBSyxJQUFJQSxLQUFLLENBQUNDLFNBQU4sRUFBL0I7O0FBRUEsWUFBSSxDQUFDRSxhQUFMLEVBQW9CO0FBQ25CO0FBQ0E7O0FBQ0QsWUFBTUMsb0JBQW9CLEdBQUc7QUFDNUJDLFVBQUFBLFdBQVcsRUFBRSxVQUFTQyxNQUFULEVBQXNCO0FBQ2xDLGdCQUFJQSxNQUFNLENBQUNDLFlBQVgsRUFBeUI7QUFDeEJKLGNBQUFBLGFBQWEsQ0FBQ0ssZUFBZDtBQUNBLGFBRkQsTUFFTyxJQUFJQyxhQUFhLENBQUNDLFNBQWQsQ0FBd0JDLE1BQU0sQ0FBQ0MsUUFBUCxDQUFnQkMsSUFBaEIsQ0FBcUJDLE9BQXJCLENBQTZCLE9BQTdCLEVBQXNDLEVB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QUFQO0FBQ0E7O0FBQ0QsYUFBTyxLQUFQO0FBQ0EsSzs7V0FHRDBCLDBCLEdBREEsc0NBQzZCO0FBQzVCLFdBQUtNLFVBQUwsR0FBa0I7QUFDakJDLFFBQUFBLHlCQUF5QixFQUFFLENBRFY7QUFFakJPLFFBQUFBLHdCQUF3QixFQUFFLENBRlQ7QUFHakJDLFFBQUFBLGtDQUFrQyxFQUFFO0FBSG5CLE9BQWxCO0FBS0EsSzs7V0FFREMsd0IsR0FEQSxvQ0FDMkI7QUFDMUIsYUFBTyxLQUFLVixVQUFaO0FBQ0EsSzs7V0FFRG5ELG9CLEdBREEsZ0NBQ3VCO0FBQ3RCLFVBQU04RCx3QkFBd0IsR0FBR0MsVUFBVSxDQUFDNUMsR0FBWCxDQUFlLDRDQUFmLENBQWpDOztBQUNBLFVBQUkyQyx3QkFBd0IsS0FBSyxLQUFqQyxFQUF3QztBQUN2QyxlQUFPLEtBQVA7QUFDQTs7QUFFRCxhQUFPRSxHQUFHLENBQUNDLEVBQUosQ0FDTEMsT0FESyxHQUVMQyxnQkFGSyxHQUdMQyxjQUhLLEVBQVA7QUFJQSxLOzs7SUFsSTJDQyxtQix3RUFPM0NDLE0sc0tBMkNBQSxNLHdLQWtDQUEsTSw4S0FlQUEsTSxvTEFRQUEsTSxtTEFRQUEsTSw2S0FJQUEsTTtTQWNhMUUsOEIiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb250cm9sbGVyRXh0ZW5zaW9uIGZyb20gXCJzYXAvdWkvY29yZS9tdmMvQ29udHJvbGxlckV4dGVuc2lvblwiO1xuaW1wb3J0IFVyaVBhcmFtZXRlcnMgZnJvbSBcInNhcC9iYXNlL3V0aWwvVXJpUGFyYW1ldGVyc1wiO1xuaW1wb3J0IE9iamVjdFBhdGggZnJvbSBcInNhcC9iYXNlL3V0aWwvT2JqZWN0UGF0aFwiO1xuaW1wb3J0IFwic2FwL2ZlL3BsYWNlaG9sZGVyL2xpYnJhcnlcIjtcbmltcG9ydCBQbGFjZWhvbGRlciBmcm9tIFwic2FwL3VpL2NvcmUvUGxhY2Vob2xkZXJcIjtcbmltcG9ydCB7IFB1YmxpYywgVUk1Q2xhc3MgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBDb250cm9sbGVyRXh0ZW5zaW9uTWV0YWRhdGEgZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL0NvbnRyb2xsZXJFeHRlbnNpb25NZXRhZGF0YVwiO1xuaW1wb3J0IFBhZ2VDb250cm9sbGVyIGZyb20gXCJzYXAvZmUvY29yZS9QYWdlQ29udHJvbGxlclwiO1xuaW1wb3J0IEFwcENvbXBvbmVudCBmcm9tIFwic2FwL2ZlL2NvcmUvQXBwQ29tcG9uZW50XCI7XG4vKipcbiAqIHtAbGluayBzYXAudWkuY29yZS5tdmMuQ29udHJvbGxlckV4dGVuc2lvbiBDb250cm9sbGVyIGV4dGVuc2lvbn0gZm9yIFBsYWNlaG9sZGVyXG4gKlxuICogQG5hbWVzcGFjZVxuICogQGFsaWFzIHNhcC5mZS5jb3JlLmNvbnRyb2xsZXJleHRlbnNpb25zLlBsYWNlaG9sZGVyXG4gKlxuICoqL1xuQFVJNUNsYXNzKFwic2FwLmZlLmNvcmUuY29udHJvbGxlcmV4dGVuc2lvbnMuUGxhY2Vob2xkZXJcIiwgQ29udHJvbGxlckV4dGVuc2lvbk1ldGFkYXRhKVxuY2xhc3MgUGxhY2Vob2xkZXJDb250cm9sbGVyRXh0ZW5zaW9uIGV4dGVuZHMgQ29udHJvbGxlckV4dGVuc2lvbiB7XG5cdHByaXZhdGUgYmFzZSE6IFBhZ2VDb250cm9sbGVyO1xuXHRwcml2YXRlIG9BcHBDb21wb25lbnQhOiBBcHBDb21wb25lbnQ7XG5cdHByaXZhdGUgb1Jvb3RDb250YWluZXI6IGFueTtcblx0cHJpdmF0ZSBvUGxhY2Vob2xkZXJzOiBhbnk7XG5cdHByaXZhdGUgZGVidWdTdGF0czogYW55O1xuXG5cdEBQdWJsaWNcblx0cHVibGljIGF0dGFjaEhpZGVDYWxsYmFjaygpIHtcblx0XHRpZiAodGhpcy5pc1BsYWNlaG9sZGVyRW5hYmxlZCgpKSB7XG5cdFx0XHRjb25zdCBvVmlldyA9IHRoaXMuYmFzZS5nZXRWaWV3KCk7XG5cdFx0XHRjb25zdCBvUGFnZSA9IG9WaWV3LmdldFBhcmVudCgpICYmIChvVmlldy5nZXRQYXJlbnQoKSBhcyBhbnkpLm9Db250YWluZXI7XG5cdFx0XHRjb25zdCBvTmF2Q29udGFpbmVyID0gb1BhZ2UgJiYgb1BhZ2UuZ2V0UGFyZW50KCk7XG5cblx0XHRcdGlmICghb05hdkNvbnRhaW5lcikge1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cdFx0XHRjb25zdCBfZm5Db250YWluZXJEZWxlZ2F0ZSA9IHtcblx0XHRcdFx0b25BZnRlclNob3c6IGZ1bmN0aW9uKG9FdmVudDogYW55KSB7XG5cdFx0XHRcdFx0aWYgKG9FdmVudC5pc0JhY2tUb1BhZ2UpIHtcblx0XHRcdFx0XHRcdG9OYXZDb250YWluZXIuaGlkZVBsYWNlaG9sZGVyKCk7XG5cdFx0XHRcdFx0fSBlbHNlIGlmIChVcmlQYXJhbWV0ZXJzLmZyb21RdWVyeSh3aW5kb3cubG9jYXRpb24uaGFzaC5yZXBsYWNlKC8jLipcXD8vLCBcIlwiKSkuZ2V0KFwicmVzdG9yZUhpc3RvcnlcIikgPT09IFwidHJ1ZVwiKSB7XG5cdFx0XHRcdFx0XHQvLyBpbiBjYXNlIHdlIG5hdmlnYXRlIHRvIHRoZSBsaXN0cmVwb3J0IHVzaW5nIHRoZSBzaGVsbFxuXHRcdFx0XHRcdFx0b05hdkNvbnRhaW5lci5oaWRlUGxhY2Vob2xkZXIoKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH07XG5cdFx0XHRvUGFnZS5hZGRFdmVudERlbGVnYXRlKF9mbkNvbnRhaW5lckRlbGVnYXRlKTtcblxuXHRcdFx0Y29uc3Qgb1BhZ2VSZWFkeSA9IChvVmlldy5nZXRDb250cm9sbGVyKCkgYXMgUGFnZUNvbnRyb2xsZXIpLnBhZ2VSZWFkeTtcblx0XHRcdC8vSW4gY2FzZSBvZiBvYmplY3RQYWdlLCB0aGUgcGxhY2Vob2xkZXIgc2hvdWxkIGJlIGhpZGRlbiB3aGVuIGhlcm9lcyByZXF1ZXN0cyBhcmUgcmVjZWl2ZWRcblx0XHRcdC8vIEJ1dCBmb3Igc29tZSBzY2VuYXJpbyBsaWtlIFwiQ3JlYXRlIGl0ZW1cIiwgaGVyb2VzIHJlcXVlc3RzIGFyZSBub3Qgc2VudCAuXG5cdFx0XHQvLyBUaGUgcGFnZVJlYWR5IGV2ZW50IGlzIHRoZW4gdXNlZCBhcyBmYWxsYmFja1xuXG5cdFx0XHRjb25zdCBhQXR0YWNoRXZlbnRzID0gW1wicGFnZVJlYWR5XCJdO1xuXHRcdFx0aWYgKG9WaWV3LmdldENvbnRyb2xsZXJOYW1lKCkgPT09IFwic2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLk9iamVjdFBhZ2VDb250cm9sbGVyXCIpIHtcblx0XHRcdFx0YUF0dGFjaEV2ZW50cy5wdXNoKFwiaGVyb2VzQmF0Y2hSZWNlaXZlZFwiKTtcblx0XHRcdH1cblx0XHRcdGFBdHRhY2hFdmVudHMuZm9yRWFjaChmdW5jdGlvbihzRXZlbnQ6IHN0cmluZykge1xuXHRcdFx0XHRvUGFnZVJlYWR5LmF0dGFjaEV2ZW50KFxuXHRcdFx0XHRcdHNFdmVudCxcblx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdGZ1bmN0aW9uKCkge1xuXHRcdFx0XHRcdFx0b05hdkNvbnRhaW5lci5oaWRlUGxhY2Vob2xkZXIoKTtcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdG51bGxcblx0XHRcdFx0KTtcblx0XHRcdH0pO1xuXHRcdH1cblx0fVxuXHRAUHVibGljXG5cdGF0dGFjaFJvdXRlTWF0Y2hlcnMoKSB7XG5cdFx0dGhpcy5faW5pdCgpO1xuXHR9XG5cblx0X2luaXQoKSB7XG5cdFx0dGhpcy5vQXBwQ29tcG9uZW50ID0gdGhpcy5iYXNlLmdldEFwcENvbXBvbmVudCgpO1xuXHRcdHRoaXMub1Jvb3RDb250YWluZXIgPSB0aGlzLm9BcHBDb21wb25lbnQuZ2V0Um9vdENvbnRhaW5lcigpO1xuXHRcdHRoaXMub1BsYWNlaG9sZGVycyA9IHt9O1xuXG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnN0YW50LWNvbmRpdGlvblxuXHRcdGlmICh0aGlzLmlzUGxhY2Vob2xkZXJFbmFibGVkKCkpIHtcblx0XHRcdFBsYWNlaG9sZGVyLnJlZ2lzdGVyUHJvdmlkZXIoZnVuY3Rpb24ob0NvbmZpZzogYW55KSB7XG5cdFx0XHRcdHN3aXRjaCAob0NvbmZpZy5uYW1lKSB7XG5cdFx0XHRcdFx0Y2FzZSBcInNhcC5mZS50ZW1wbGF0ZXMuTGlzdFJlcG9ydFwiOlxuXHRcdFx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHRcdFx0aHRtbDogXCJzYXAvZmUvcGxhY2Vob2xkZXIvdmlldy9QbGFjZWhvbGRlckxSLmZyYWdtZW50Lmh0bWxcIixcblx0XHRcdFx0XHRcdFx0YXV0b0Nsb3NlOiBmYWxzZVxuXHRcdFx0XHRcdFx0fTtcblx0XHRcdFx0XHRjYXNlIFwic2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlXCI6XG5cdFx0XHRcdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcdFx0XHRodG1sOiBcInNhcC9mZS9wbGFjZWhvbGRlci92aWV3L1BsYWNlaG9sZGVyT1AuZnJhZ21lbnQuaHRtbFwiLFxuXHRcdFx0XHRcdFx0XHRhdXRvQ2xvc2U6IGZhbHNlXG5cdFx0XHRcdFx0XHR9O1xuXHRcdFx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdH1cblx0XHRpZiAodGhpcy5pc1BsYWNlaG9sZGVyRGVidWdFbmFibGVkKCkpIHtcblx0XHRcdHRoaXMuaW5pdFBsYWNlaG9sZGVyRGVidWcoKTtcblx0XHR9XG5cdH1cblxuXHRAUHVibGljXG5cdGluaXRQbGFjZWhvbGRlckRlYnVnKCkge1xuXHRcdHRoaXMucmVzZXRQbGFjZWhvbGRlckRlYnVnU3RhdHMoKTtcblx0XHRjb25zdCBoYW5kbGVyID0ge1xuXHRcdFx0YXBwbHk6ICh0YXJnZXQ6IGFueSkgPT4ge1xuXHRcdFx0XHRpZiAodGhpcy5vUm9vdENvbnRhaW5lci5fcGxhY2Vob2xkZXIgJiYgdGhpcy5vUm9vdENvbnRhaW5lci5fcGxhY2Vob2xkZXIucGxhY2Vob2xkZXIpIHtcblx0XHRcdFx0XHR0aGlzLmRlYnVnU3RhdHMuaUhpZGVQbGFjZWhvbGRlclRpbWVzdGFtcCA9IERhdGUubm93KCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIHRhcmdldC5iaW5kKHRoaXMub1Jvb3RDb250YWluZXIpKCk7XG5cdFx0XHR9XG5cdFx0fTtcblx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZWZcblx0XHRjb25zdCBwcm94eTEgPSBuZXcgUHJveHkodGhpcy5vUm9vdENvbnRhaW5lci5oaWRlUGxhY2Vob2xkZXIsIGhhbmRsZXIpO1xuXHRcdHRoaXMub1Jvb3RDb250YWluZXIuaGlkZVBsYWNlaG9sZGVyID0gcHJveHkxO1xuXHR9XG5cdEBQdWJsaWNcblx0aXNQbGFjZWhvbGRlckRlYnVnRW5hYmxlZCgpIHtcblx0XHRpZiAoVXJpUGFyYW1ldGVycy5mcm9tUXVlcnkod2luZG93LmxvY2F0aW9uLnNlYXJjaCkuZ2V0KFwic2FwLXVpLXh4LXBsYWNlaG9sZGVyLWRlYnVnXCIpID09PSBcInRydWVcIikge1xuXHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0fVxuXHRcdHJldHVybiBmYWxzZTtcblx0fVxuXG5cdEBQdWJsaWNcblx0cmVzZXRQbGFjZWhvbGRlckRlYnVnU3RhdHMoKSB7XG5cdFx0dGhpcy5kZWJ1Z1N0YXRzID0ge1xuXHRcdFx0aUhpZGVQbGFjZWhvbGRlclRpbWVzdGFtcDogMCxcblx0XHRcdGlQYWdlUmVhZHlFdmVudFRpbWVzdGFtcDogMCxcblx0XHRcdGlIZXJvZXNCYXRjaFJlY2VpdmVkRXZlbnRUaW1lc3RhbXA6IDBcblx0XHR9O1xuXHR9XG5cdEBQdWJsaWNcblx0Z2V0UGxhY2Vob2xkZXJEZWJ1Z1N0YXRzKCkge1xuXHRcdHJldHVybiB0aGlzLmRlYnVnU3RhdHM7XG5cdH1cblx0QFB1YmxpY1xuXHRpc1BsYWNlaG9sZGVyRW5hYmxlZCgpIHtcblx0XHRjb25zdCBiUGxhY2Vob2xkZXJFbmFibGVkSW5GTFAgPSBPYmplY3RQYXRoLmdldChcInNhcC11c2hlbGwtY29uZmlnLmFwcHMucGxhY2Vob2xkZXIuZW5hYmxlZFwiKTtcblx0XHRpZiAoYlBsYWNlaG9sZGVyRW5hYmxlZEluRkxQID09PSBmYWxzZSkge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblxuXHRcdHJldHVybiBzYXAudWlcblx0XHRcdC5nZXRDb3JlKClcblx0XHRcdC5nZXRDb25maWd1cmF0aW9uKClcblx0XHRcdC5nZXRQbGFjZWhvbGRlcigpO1xuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IFBsYWNlaG9sZGVyQ29udHJvbGxlckV4dGVuc2lvbjtcbiJdfQ==
161
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlBsYWNlaG9sZGVyLnRzIl0sIm5hbWVzIjpbIlBsYWNlaG9sZGVyQ29udHJvbGxlckV4dGVuc2lvbiIsImRlZmluZVVJNUNsYXNzIiwicHVibGljRXh0ZW5zaW9uIiwiYXR0YWNoSGlkZUNhbGxiYWNrIiwiaXNQbGFjZWhvbGRlckVuYWJsZWQiLCJvVmlldyIsImJhc2UiLCJnZXRWaWV3Iiwib1BhZ2UiLCJnZXRQYXJlbnQiLCJvQ29udGFpbmVyIiwib05hdkNvbnRhaW5lciIsIl9mbkNvbnRhaW5lckRlbGVnYXRlIiwib25BZnRlclNob3ciLCJvRXZlbnQiLCJpc0JhY2tUb1BhZ2UiLCJoaWRlUGxhY2Vob2xkZXIiLCJVcmlQYXJhbWV0ZXJzIiwiZnJvbVF1ZXJ5Iiwid2luZG93IiwibG9jYXRpb24iLCJoYXNoIiwicmVwbGFjZSIsImdldCIsImFkZEV2ZW50RGVsZWdhdGUiLCJvUGFnZVJlYWR5IiwiZ2V0Q29udHJvbGxlciIsInBhZ2VSZWFkeSIsImFBdHRhY2hFdmVudHMiLCJnZXRDb250cm9sbGVyTmFtZSIsInB1c2giLCJmb3JFYWNoIiwic0V2ZW50IiwiYXR0YWNoRXZlbnQiLCJhdHRhY2hSb3V0ZU1hdGNoZXJzIiwiX2luaXQiLCJvQXBwQ29tcG9uZW50IiwiZ2V0QXBwQ29tcG9uZW50Iiwib1Jvb3RDb250YWluZXIiLCJnZXRSb290Q29udGFpbmVyIiwib1BsYWNlaG9sZGVycyIsIlBsYWNlaG9sZGVyIiwicmVnaXN0ZXJQcm92aWRlciIsIm9Db25maWciLCJuYW1lIiwiaHRtbCIsImF1dG9DbG9zZSIsImlzUGxhY2Vob2xkZXJEZWJ1Z0VuYWJsZWQiLCJpbml0UGxhY2Vob2xkZXJEZWJ1ZyIsInJlc2V0UGxhY2Vob2xkZXJEZWJ1Z1N0YXRzIiwiaGFuZGxlciIsImFwcGx5IiwidGFyZ2V0IiwiX3BsYWNlaG9sZGVyIiwicGxhY2Vob2xkZXIiLCJkZWJ1Z1N0YXRzIiwiaUhpZGVQbGFjZWhvbGRlclRpbWVzdGFtcCIsIkRhdGUiLCJub3ciLCJiaW5kIiwicHJveHkxIiwiUHJveHkiLCJzZWFyY2giLCJpUGFnZVJlYWR5RXZlbnRUaW1lc3RhbXAiLCJpSGVyb2VzQmF0Y2hSZWNlaXZlZEV2ZW50VGltZXN0YW1wIiwiZ2V0UGxhY2Vob2xkZXJEZWJ1Z1N0YXRzIiwiYlBsYWNlaG9sZGVyRW5hYmxlZEluRkxQIiwiT2JqZWN0UGF0aCIsIkNvcmUiLCJnZXRDb25maWd1cmF0aW9uIiwiZ2V0UGxhY2Vob2xkZXIiLCJDb250cm9sbGVyRXh0ZW5zaW9uIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7QUFRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtNQUVNQSw4QixXQURMQyxjQUFjLENBQUMsOENBQUQsQyxVQVFiQyxlQUFlLEUsVUEyQ2ZBLGVBQWUsRSxVQWtDZkEsZUFBZSxFLFVBZWZBLGVBQWUsRSxVQVFmQSxlQUFlLEUsVUFRZkEsZUFBZSxFLFVBSWZBLGVBQWUsRTs7Ozs7Ozs7O1dBL0dUQyxrQixHQURQLDhCQUM0QjtBQUMzQixVQUFJLEtBQUtDLG9CQUFMLEVBQUosRUFBaUM7QUFDaEMsWUFBTUMsS0FBSyxHQUFHLEtBQUtDLElBQUwsQ0FBVUMsT0FBVixFQUFkO0FBQ0EsWUFBTUMsS0FBSyxHQUFHSCxLQUFLLENBQUNJLFNBQU4sTUFBc0JKLEtBQUssQ0FBQ0ksU0FBTixFQUFELENBQTJCQyxVQUE5RDtBQUNBLFlBQU1DLGFBQWEsR0FBR0gsS0FBSyxJQUFJQSxLQUFLLENBQUNDLFNBQU4sRUFBL0I7O0FBRUEsWUFBSSxDQUFDRSxhQUFMLEVBQW9CO0FBQ25CO0FBQ0E7O0FBQ0QsWUFBTUMsb0JBQW9CLEdBQUc7QUFDNUJDLFVBQUFBLFdBQVcsRUFBRSxVQUFTQyxNQUFULEVBQXNCO0FBQ2xDLGdCQUFJQSxNQUFNLENBQUNDLFlBQVgsRUFBeUI7QUFDeEJKLGNBQUFBLGFBQWEsQ0FBQ0ssZUFBZDtBQUNBLGFBRkQsTUFFTyxJQUFJQyxhQUFhLENBQUNDLFNBQWQsQ0FBd0JDLE1BQU0sQ0FBQ0Ms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QyxHQUFoRCxDQUFvRCw2QkFBcEQsTUFBdUYsTUFBM0YsRUFBbUc7QUFDbEcsZUFBTyxJQUFQO0FBQ0E7O0FBQ0QsYUFBTyxLQUFQO0FBQ0EsSzs7V0FHRDBCLDBCLEdBREEsc0NBQzZCO0FBQzVCLFdBQUtNLFVBQUwsR0FBa0I7QUFDakJDLFFBQUFBLHlCQUF5QixFQUFFLENBRFY7QUFFakJPLFFBQUFBLHdCQUF3QixFQUFFLENBRlQ7QUFHakJDLFFBQUFBLGtDQUFrQyxFQUFFO0FBSG5CLE9BQWxCO0FBS0EsSzs7V0FFREMsd0IsR0FEQSxvQ0FDMkI7QUFDMUIsYUFBTyxLQUFLVixVQUFaO0FBQ0EsSzs7V0FFRG5ELG9CLEdBREEsZ0NBQ3VCO0FBQ3RCLFVBQU04RCx3QkFBd0IsR0FBR0MsVUFBVSxDQUFDNUMsR0FBWCxDQUFlLDRDQUFmLENBQWpDOztBQUNBLFVBQUkyQyx3QkFBd0IsS0FBSyxLQUFqQyxFQUF3QztBQUN2QyxlQUFPLEtBQVA7QUFDQTs7QUFFRCxhQUFRRSxJQUFELENBQWlCQyxnQkFBakIsR0FBb0NDLGNBQXBDLEVBQVA7QUFDQSxLOzs7SUEvSDJDQyxtQjtTQWtJOUJ2RSw4QiIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbnRyb2xsZXJFeHRlbnNpb24gZnJvbSBcInNhcC91aS9jb3JlL212Yy9Db250cm9sbGVyRXh0ZW5zaW9uXCI7XG5pbXBvcnQgVXJpUGFyYW1ldGVycyBmcm9tIFwic2FwL2Jhc2UvdXRpbC9VcmlQYXJhbWV0ZXJzXCI7XG5pbXBvcnQgT2JqZWN0UGF0aCBmcm9tIFwic2FwL2Jhc2UvdXRpbC9PYmplY3RQYXRoXCI7XG5pbXBvcnQgXCJzYXAvZmUvcGxhY2Vob2xkZXIvbGlicmFyeVwiO1xuaW1wb3J0IFBsYWNlaG9sZGVyIGZyb20gXCJzYXAvdWkvY29yZS9QbGFjZWhvbGRlclwiO1xuaW1wb3J0IHsgcHVibGljRXh0ZW5zaW9uLCBkZWZpbmVVSTVDbGFzcyB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IFBhZ2VDb250cm9sbGVyIGZyb20gXCJzYXAvZmUvY29yZS9QYWdlQ29udHJvbGxlclwiO1xuaW1wb3J0IEFwcENvbXBvbmVudCBmcm9tIFwic2FwL2ZlL2NvcmUvQXBwQ29tcG9uZW50XCI7XG5pbXBvcnQgQ29yZSBmcm9tIFwic2FwL3VpL2NvcmUvQ29yZVwiO1xuaW1wb3J0IHsgQ29yZUV4IH0gZnJvbSBcInR5cGVzL2V4dGVuc2lvbl90eXBlc1wiO1xuLyoqXG4gKiB7QGxpbmsgc2FwLnVpLmNvcmUubXZjLkNvbnRyb2xsZXJFeHRlbnNpb24gQ29udHJvbGxlciBleHRlbnNpb259IGZvciBQbGFjZWhvbGRlclxuICpcbiAqIEBuYW1lc3BhY2VcbiAqIEBhbGlhcyBzYXAuZmUuY29yZS5jb250cm9sbGVyZXh0ZW5zaW9ucy5QbGFjZWhvbGRlclxuICpcbiAqKi9cbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS5jb3JlLmNvbnRyb2xsZXJleHRlbnNpb25zLlBsYWNlaG9sZGVyXCIpXG5jbGFzcyBQbGFjZWhvbGRlckNvbnRyb2xsZXJFeHRlbnNpb24gZXh0ZW5kcyBDb250cm9sbGVyRXh0ZW5zaW9uIHtcblx0cHJpdmF0ZSBiYXNlITogUGFnZUNvbnRyb2xsZXI7XG5cdHByaXZhdGUgb0FwcENvbXBvbmVudCE6IEFwcENvbXBvbmVudDtcblx0cHJpdmF0ZSBvUm9vdENvbnRhaW5lcjogYW55O1xuXHRwcml2YXRlIG9QbGFjZWhvbGRlcnM6IGFueTtcblx0cHJpdmF0ZSBkZWJ1Z1N0YXRzOiBhbnk7XG5cblx0QHB1YmxpY0V4dGVuc2lvbigpXG5cdHB1YmxpYyBhdHRhY2hIaWRlQ2FsbGJhY2soKSB7XG5cdFx0aWYgKHRoaXMuaXNQbGFjZWhvbGRlckVuYWJsZWQoKSkge1xuXHRcdFx0Y29uc3Qgb1ZpZXcgPSB0aGlzLmJhc2UuZ2V0VmlldygpO1xuXHRcdFx0Y29uc3Qgb1BhZ2UgPSBvVmlldy5nZXRQYXJlbnQoKSAmJiAob1ZpZXcuZ2V0UGFyZW50KCkgYXMgYW55KS5vQ29udGFpbmVyO1xuXHRcdFx0Y29uc3Qgb05hdkNvbnRhaW5lciA9IG9QYWdlICYmIG9QYWdlLmdldFBhcmVudCgpO1xuXG5cdFx0XHRpZiAoIW9OYXZDb250YWluZXIpIHtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdFx0Y29uc3QgX2ZuQ29udGFpbmVyRGVsZWdhdGUgPSB7XG5cdFx0XHRcdG9uQWZ0ZXJTaG93OiBmdW5jdGlvbihvRXZlbnQ6IGFueSkge1xuXHRcdFx0XHRcdGlmIChvRXZlbnQuaXNCYWNrVG9QYWdlKSB7XG5cdFx0XHRcdFx0XHRvTmF2Q29udGFpbmVyLmhpZGVQbGFjZWhvbGRlcigpO1xuXHRcdFx0XHRcdH0gZWxzZSBpZiAoVXJpUGFyYW1ldGVycy5mcm9tUXVlcnkod2luZG93LmxvY2F0aW9uLmhhc2gucmVwbGFjZSgvIy4qXFw/LywgXCJcIikpLmdldChcInJlc3RvcmVIaXN0b3J5XCIpID09PSBcInRydWVcIikge1xuXHRcdFx0XHRcdFx0Ly8gaW4gY2FzZSB3ZSBuYXZpZ2F0ZSB0byB0aGUgbGlzdHJlcG9ydCB1c2luZyB0aGUgc2hlbGxcblx0XHRcdFx0XHRcdG9OYXZDb250YWluZXIuaGlkZVBsYWNlaG9sZGVyKCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9O1xuXHRcdFx0b1BhZ2UuYWRkRXZlbnREZWxlZ2F0ZShfZm5Db250YWluZXJEZWxlZ2F0ZSk7XG5cblx0XHRcdGNvbnN0IG9QYWdlUmVhZHkgPSAob1ZpZXcuZ2V0Q29udHJvbGxlcigpIGFzIFBhZ2VDb250cm9sbGVyKS5wYWdlUmVhZHk7XG5cdFx0XHQvL0luIGNhc2Ugb2Ygb2JqZWN0UGFnZSwgdGhlIHBsYWNlaG9sZGVyIHNob3VsZCBiZSBoaWRkZW4gd2hlbiBoZXJvZXMgcmVxdWVzdHMgYXJlIHJlY2VpdmVkXG5cdFx0XHQvLyBCdXQgZm9yIHNvbWUgc2NlbmFyaW8gbGlrZSBcIkNyZWF0ZSBpdGVtXCIsIGhlcm9lcyByZXF1ZXN0cyBhcmUgbm90IHNlbnQgLlxuXHRcdFx0Ly8gVGhlIHBhZ2VSZWFkeSBldmVudCBpcyB0aGVuIHVzZWQgYXMgZmFsbGJhY2tcblxuXHRcdFx0Y29uc3QgYUF0dGFjaEV2ZW50cyA9IFtcInBhZ2VSZWFkeVwiXTtcblx0XHRcdGlmIChvVmlldy5nZXRDb250cm9sbGVyTmFtZSgpID09PSBcInNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5PYmplY3RQYWdlQ29udHJvbGxlclwiKSB7XG5cdFx0XHRcdGFBdHRhY2hFdmVudHMucHVzaChcImhlcm9lc0JhdGNoUmVjZWl2ZWRcIik7XG5cdFx0XHR9XG5cdFx0XHRhQXR0YWNoRXZlbnRzLmZvckVhY2goZnVuY3Rpb24oc0V2ZW50OiBzdHJpbmcpIHtcblx0XHRcdFx0b1BhZ2VSZWFkeS5hdHRhY2hFdmVudChcblx0XHRcdFx0XHRzRXZlbnQsXG5cdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHRmdW5jdGlvbigpIHtcblx0XHRcdFx0XHRcdG9OYXZDb250YWluZXIuaGlkZVBsYWNlaG9sZGVyKCk7XG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRudWxsXG5cdFx0XHRcdCk7XG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cblx0QHB1YmxpY0V4dGVuc2lvbigpXG5cdGF0dGFjaFJvdXRlTWF0Y2hlcnMoKSB7XG5cdFx0dGhpcy5faW5pdCgpO1xuXHR9XG5cblx0X2luaXQoKSB7XG5cdFx0dGhpcy5vQXBwQ29tcG9uZW50ID0gdGhpcy5iYXNlLmdldEFwcENvbXBvbmVudCgpO1xuXHRcdHRoaXMub1Jvb3RDb250YWluZXIgPSB0aGlzLm9BcHBDb21wb25lbnQuZ2V0Um9vdENvbnRhaW5lcigpO1xuXHRcdHRoaXMub1BsYWNlaG9sZGVycyA9IHt9O1xuXG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnN0YW50LWNvbmRpdGlvblxuXHRcdGlmICh0aGlzLmlzUGxhY2Vob2xkZXJFbmFibGVkKCkpIHtcblx0XHRcdFBsYWNlaG9sZGVyLnJlZ2lzdGVyUHJvdmlkZXIoZnVuY3Rpb24ob0NvbmZpZzogYW55KSB7XG5cdFx0XHRcdHN3aXRjaCAob0NvbmZpZy5uYW1lKSB7XG5cdFx0XHRcdFx0Y2FzZSBcInNhcC5mZS50ZW1wbGF0ZXMuTGlzdFJlcG9ydFwiOlxuXHRcdFx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHRcdFx0aHRtbDogXCJzYXAvZmUvcGxhY2Vob2xkZXIvdmlldy9QbGFjZWhvbGRlckxSLmZyYWdtZW50Lmh0bWxcIixcblx0XHRcdFx0XHRcdFx0YXV0b0Nsb3NlOiBmYWxzZVxuXHRcdFx0XHRcdFx0fTtcblx0XHRcdFx0XHRjYXNlIFwic2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlXCI6XG5cdFx0XHRcdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcdFx0XHRodG1sOiBcInNhcC9mZS9wbGFjZWhvbGRlci92aWV3L1BsYWNlaG9sZGVyT1AuZnJhZ21lbnQuaHRtbFwiLFxuXHRcdFx0XHRcdFx0XHRhdXRvQ2xvc2U6IGZhbHNlXG5cdFx0XHRcdFx0XHR9O1xuXHRcdFx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdH1cblx0XHRpZiAodGhpcy5pc1BsYWNlaG9sZGVyRGVidWdFbmFibGVkKCkpIHtcblx0XHRcdHRoaXMuaW5pdFBsYWNlaG9sZGVyRGVidWcoKTtcblx0XHR9XG5cdH1cblxuXHRAcHVibGljRXh0ZW5zaW9uKClcblx0aW5pdFBsYWNlaG9sZGVyRGVidWcoKSB7XG5cdFx0dGhpcy5yZXNldFBsYWNlaG9sZGVyRGVidWdTdGF0cygpO1xuXHRcdGNvbnN0IGhhbmRsZXIgPSB7XG5cdFx0XHRhcHBseTogKHRhcmdldDogYW55KSA9PiB7XG5cdFx0XHRcdGlmICh0aGlzLm9Sb290Q29udGFpbmVyLl9wbGFjZWhvbGRlciAmJiB0aGlzLm9Sb290Q29udGFpbmVyLl9wbGFjZWhvbGRlci5wbGFjZWhvbGRlcikge1xuXHRcdFx0XHRcdHRoaXMuZGVidWdTdGF0cy5pSGlkZVBsYWNlaG9sZGVyVGltZXN0YW1wID0gRGF0ZS5ub3coKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gdGFyZ2V0LmJpbmQodGhpcy5vUm9vdENvbnRhaW5lcikoKTtcblx0XHRcdH1cblx0XHR9O1xuXHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlZlxuXHRcdGNvbnN0IHByb3h5MSA9IG5ldyBQcm94eSh0aGlzLm9Sb290Q29udGFpbmVyLmhpZGVQbGFjZWhvbGRlciwgaGFuZGxlcik7XG5cdFx0dGhpcy5vUm9vdENvbnRhaW5lci5oaWRlUGxhY2Vob2xkZXIgPSBwcm94eTE7XG5cdH1cblx0QHB1YmxpY0V4dGVuc2lvbigpXG5cdGlzUGxhY2Vob2xkZXJEZWJ1Z0VuYWJsZWQoKSB7XG5cdFx0aWYgKFVyaVBhcmFtZXRlcnMuZnJvbVF1ZXJ5KHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpLmdldChcInNhcC11aS14eC1wbGFjZWhvbGRlci1kZWJ1Z1wiKSA9PT0gXCJ0cnVlXCIpIHtcblx0XHRcdHJldHVybiB0cnVlO1xuXHRcdH1cblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblxuXHRAcHVibGljRXh0ZW5zaW9uKClcblx0cmVzZXRQbGFjZWhvbGRlckRlYnVnU3RhdHMoKSB7XG5cdFx0dGhpcy5kZWJ1Z1N0YXRzID0ge1xuXHRcdFx0aUhpZGVQbGFjZWhvbGRlclRpbWVzdGFtcDogMCxcblx0XHRcdGlQYWdlUmVhZHlFdmVudFRpbWVzdGFtcDogMCxcblx0XHRcdGlIZXJvZXNCYXRjaFJlY2VpdmVkRXZlbnRUaW1lc3RhbXA6IDBcblx0XHR9O1xuXHR9XG5cdEBwdWJsaWNFeHRlbnNpb24oKVxuXHRnZXRQbGFjZWhvbGRlckRlYnVnU3RhdHMoKSB7XG5cdFx0cmV0dXJuIHRoaXMuZGVidWdTdGF0cztcblx0fVxuXHRAcHVibGljRXh0ZW5zaW9uKClcblx0aXNQbGFjZWhvbGRlckVuYWJsZWQoKSB7XG5cdFx0Y29uc3QgYlBsYWNlaG9sZGVyRW5hYmxlZEluRkxQID0gT2JqZWN0UGF0aC5nZXQoXCJzYXAtdXNoZWxsLWNvbmZpZy5hcHBzLnBsYWNlaG9sZGVyLmVuYWJsZWRcIik7XG5cdFx0aWYgKGJQbGFjZWhvbGRlckVuYWJsZWRJbkZMUCA9PT0gZmFsc2UpIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cblx0XHRyZXR1cm4gKENvcmUgYXMgQ29yZUV4KS5nZXRDb25maWd1cmF0aW9uKCkuZ2V0UGxhY2Vob2xkZXIoKTtcblx0fVxufVxuXG5leHBvcnQgZGVmYXVsdCBQbGFjZWhvbGRlckNvbnRyb2xsZXJFeHRlbnNpb247XG4iXX0=
@@ -3,10 +3,11 @@ import UriParameters from "sap/base/util/UriParameters";
3
3
  import ObjectPath from "sap/base/util/ObjectPath";
4
4
  import "sap/fe/placeholder/library";
5
5
  import Placeholder from "sap/ui/core/Placeholder";
6
- import { Public, UI5Class } from "sap/fe/core/helpers/ClassSupport";
7
- import ControllerExtensionMetadata from "sap/fe/core/controllerextensions/ControllerExtensionMetadata";
6
+ import { publicExtension, defineUI5Class } from "sap/fe/core/helpers/ClassSupport";
8
7
  import PageController from "sap/fe/core/PageController";
9
8
  import AppComponent from "sap/fe/core/AppComponent";
9
+ import Core from "sap/ui/core/Core";
10
+ import { CoreEx } from "types/extension_types";
10
11
  /**
11
12
  * {@link sap.ui.core.mvc.ControllerExtension Controller extension} for Placeholder
12
13
  *
@@ -14,7 +15,7 @@ import AppComponent from "sap/fe/core/AppComponent";
14
15
  * @alias sap.fe.core.controllerextensions.Placeholder
15
16
  *
16
17
  **/
17
- @UI5Class("sap.fe.core.controllerextensions.Placeholder", ControllerExtensionMetadata)
18
+ @defineUI5Class("sap.fe.core.controllerextensions.Placeholder")
18
19
  class PlaceholderControllerExtension extends ControllerExtension {
19
20
  private base!: PageController;
20
21
  private oAppComponent!: AppComponent;
@@ -22,7 +23,7 @@ class PlaceholderControllerExtension extends ControllerExtension {
22
23
  private oPlaceholders: any;
23
24
  private debugStats: any;
24
25
 
25
- @Public
26
+ @publicExtension()
26
27
  public attachHideCallback() {
27
28
  if (this.isPlaceholderEnabled()) {
28
29
  const oView = this.base.getView();
@@ -65,7 +66,7 @@ class PlaceholderControllerExtension extends ControllerExtension {
65
66
  });
66
67
  }
67
68
  }
68
- @Public
69
+ @publicExtension()
69
70
  attachRouteMatchers() {
70
71
  this._init();
71
72
  }
@@ -99,7 +100,7 @@ class PlaceholderControllerExtension extends ControllerExtension {
99
100
  }
100
101
  }
101
102
 
102
- @Public
103
+ @publicExtension()
103
104
  initPlaceholderDebug() {
104
105
  this.resetPlaceholderDebugStats();
105
106
  const handler = {
@@ -114,7 +115,7 @@ class PlaceholderControllerExtension extends ControllerExtension {
114
115
  const proxy1 = new Proxy(this.oRootContainer.hidePlaceholder, handler);
115
116
  this.oRootContainer.hidePlaceholder = proxy1;
116
117
  }
117
- @Public
118
+ @publicExtension()
118
119
  isPlaceholderDebugEnabled() {
119
120
  if (UriParameters.fromQuery(window.location.search).get("sap-ui-xx-placeholder-debug") === "true") {
120
121
  return true;
@@ -122,7 +123,7 @@ class PlaceholderControllerExtension extends ControllerExtension {
122
123
  return false;
123
124
  }
124
125
 
125
- @Public
126
+ @publicExtension()
126
127
  resetPlaceholderDebugStats() {
127
128
  this.debugStats = {
128
129
  iHidePlaceholderTimestamp: 0,
@@ -130,21 +131,18 @@ class PlaceholderControllerExtension extends ControllerExtension {
130
131
  iHeroesBatchReceivedEventTimestamp: 0
131
132
  };
132
133
  }
133
- @Public
134
+ @publicExtension()
134
135
  getPlaceholderDebugStats() {
135
136
  return this.debugStats;
136
137
  }
137
- @Public
138
+ @publicExtension()
138
139
  isPlaceholderEnabled() {
139
140
  const bPlaceholderEnabledInFLP = ObjectPath.get("sap-ushell-config.apps.placeholder.enabled");
140
141
  if (bPlaceholderEnabledInFLP === false) {
141
142
  return false;
142
143
  }
143
144
 
144
- return sap.ui
145
- .getCore()
146
- .getConfiguration()
147
- .getPlaceholder();
145
+ return (Core as CoreEx).getConfiguration().getPlaceholder();
148
146
  }
149
147
  }
150
148
 
@@ -2,17 +2,17 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * (c) Copyright 2009-2021 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/ui/core/mvc/ControllerExtension", "sap/ui/core/mvc/OverrideExecution", "sap/fe/core/helpers/ModelHelper", "sap/fe/core/helpers/ClassSupport", "sap/fe/core/controllerextensions/ControllerExtensionMetadata"], function (ControllerExtension, OverrideExecution, ModelHelper, ClassSupport, ControllerExtensionMetadata) {
5
+ sap.ui.define(["sap/ui/core/mvc/ControllerExtension", "sap/ui/core/mvc/OverrideExecution", "sap/fe/core/helpers/ModelHelper", "sap/fe/core/helpers/ClassSupport"], function (ControllerExtension, OverrideExecution, ModelHelper, ClassSupport) {
6
6
  "use strict";
7
7
 
8
- var _dec, _dec2, _dec3, _dec4, _class, _class2;
8
+ var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _class, _class2;
9
9
 
10
- var UI5Class = ClassSupport.UI5Class;
11
- var Public = ClassSupport.Public;
12
- var Final = ClassSupport.Final;
13
- var Extensible = ClassSupport.Extensible;
10
+ var defineUI5Class = ClassSupport.defineUI5Class;
11
+ var publicExtension = ClassSupport.publicExtension;
12
+ var finalExtension = ClassSupport.finalExtension;
13
+ var extensible = ClassSupport.extensible;
14
14
 
15
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
15
+ function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }
16
16
 
17
17
  function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
18
18
 
@@ -25,8 +25,8 @@ sap.ui.define(["sap/ui/core/mvc/ControllerExtension", "sap/ui/core/mvc/OverrideE
25
25
  * @public
26
26
  * @since 1.86.0
27
27
  */
28
- var Routing = (_dec = UI5Class("sap.fe.core.controllerextensions.Routing", ControllerExtensionMetadata), _dec2 = Extensible(OverrideExecution.After), _dec3 = Extensible(OverrideExecution.After), _dec4 = Extensible(OverrideExecution.After), _dec(_class = (_class2 = /*#__PURE__*/function (_ControllerExtension) {
29
- _inherits(Routing, _ControllerExtension);
28
+ var Routing = (_dec = defineUI5Class("sap.fe.core.controllerextensions.Routing"), _dec2 = publicExtension(), _dec3 = extensible(OverrideExecution.After), _dec4 = publicExtension(), _dec5 = finalExtension(), _dec6 = publicExtension(), _dec7 = extensible(OverrideExecution.After), _dec8 = publicExtension(), _dec9 = extensible(OverrideExecution.After), _dec10 = publicExtension(), _dec11 = finalExtension(), _dec(_class = (_class2 = /*#__PURE__*/function (_ControllerExtension) {
29
+ _inheritsLoose(Routing, _ControllerExtension);
30
30
 
31
31
  function Routing() {
32
32
  return _ControllerExtension.apply(this, arguments) || this;
@@ -141,7 +141,7 @@ sap.ui.define(["sap/ui/core/mvc/ControllerExtension", "sap/ui/core/mvc/OverrideE
141
141
  };
142
142
 
143
143
  return Routing;
144
- }(ControllerExtension), (_applyDecoratedDescriptor(_class2.prototype, "onBeforeNavigation", [Public, _dec2], Object.getOwnPropertyDescriptor(_class2.prototype, "onBeforeNavigation"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "navigate", [Public, Final], Object.getOwnPropertyDescriptor(_class2.prototype, "navigate"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "onBeforeBinding", [Public, _dec3], Object.getOwnPropertyDescriptor(_class2.prototype, "onBeforeBinding"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "onAfterBinding", [Public, _dec4], Object.getOwnPropertyDescriptor(_class2.prototype, "onAfterBinding"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "navigateToRoute", [Public, Final], Object.getOwnPropertyDescriptor(_class2.prototype, "navigateToRoute"), _class2.prototype)), _class2)) || _class);
144
+ }(ControllerExtension), (_applyDecoratedDescriptor(_class2.prototype, "onBeforeNavigation", [_dec2, _dec3], Object.getOwnPropertyDescriptor(_class2.prototype, "onBeforeNavigation"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "navigate", [_dec4, _dec5], Object.getOwnPropertyDescriptor(_class2.prototype, "navigate"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "onBeforeBinding", [_dec6, _dec7], Object.getOwnPropertyDescriptor(_class2.prototype, "onBeforeBinding"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "onAfterBinding", [_dec8, _dec9], Object.getOwnPropertyDescriptor(_class2.prototype, "onAfterBinding"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "navigateToRoute", [_dec10, _dec11], Object.getOwnPropertyDescriptor(_class2.prototype, "navigateToRoute"), _class2.prototype)), _class2)) || _class);
145
145
  return Routing;
146
146
  }, false);
147
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlJvdXRpbmcudHMiXSwibmFtZXMiOlsiUm91dGluZyIsIlVJNUNsYXNzIiwiQ29udHJvbGxlckV4dGVuc2lvbk1ldGFkYXRhIiwiRXh0ZW5zaWJsZSIsIk92ZXJyaWRlRXhlY3V0aW9uIiwiQWZ0ZXIiLCJvbkJlZm9yZU5hdmlnYXRpb24iLCJtTmF2aWdhdGlvblBhcmFtZXRlcnMiLCJuYXZpZ2F0ZSIsIm9Db250ZXh0IiwiYmFzZSIsIl9yb3V0aW5nIiwibmF2aWdhdGVUb0NvbnRleHQiLCJvbkJlZm9yZUJpbmRpbmciLCJvbkFmdGVyQmluZGluZyIsIm5hdmlnYXRlVG9Sb3V0ZSIsInNUYXJnZXRSb3V0ZU5hbWUiLCJvUGFyYW1ldGVycyIsIm9NZXRhTW9kZWwiLCJnZXRNb2RlbCIsImdldE1ldGFNb2RlbCIsImJJc1N0aWNreU1vZGUiLCJNb2RlbEhlbHBlciIsImlzU3RpY2t5U2Vzc2lvblN1cHBvcnRlZCIsIkNvbnRyb2xsZXJFeHRlbnNpb24iLCJQdWJsaWMiLCJGaW5hbCJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtNQUVNQSxPLFdBRExDLFFBQVEsQ0FBQywwQ0FBRCxFQUE2Q0MsMkJBQTdDLEMsVUErQlBDLFVBQVUsQ0FBQ0MsaUJBQWlCLENBQUNDLEtBQW5CLEMsVUFtQ1ZGLFVBQVUsQ0FBQ0MsaUJBQWlCLENBQUNDLEtBQW5CLEMsVUFvQlZGLFVBQVUsQ0FBQ0MsaUJBQWlCLENBQUNDLEtBQW5CLEM7Ozs7Ozs7OztBQW5GWDtBQUNEO0FBQ0E7QUFDQTtBQUNBOztBQUNDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7WUFHQztBQUNBQyxJQUFBQSxrQixHQUhBLDRCQUdtQkMscUJBSG5CLEVBR3VFO0FBQ3RFO0FBQ0EsYUFBTyxLQUFQO0FBQ0E7QUFFRDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7V0FHQ0MsUSxHQUZBLGtCQUVTQyxRQUZULEVBRTRCO0FBQzNCLFdBQUtDLElBQUwsQ0FBVUMsUUFBVixDQUFtQkMsaUJBQW5CLENBQXFDSCxRQUFyQztBQUNBO0FBRUQ7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztZQUdDO0FBQ0FJLElBQUFBLGUsR0FIQSx5QkFHZ0JKLFFBSGhCLEVBR2tDLENBQ2pDO0FBQ0E7QUFFRDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O1lBR0M7QUFDQUssSUFBQUEsYyxHQUhBLHdCQUdlTCxRQUhmLEVBR2lDLENBQ2hDO0FBQ0E7QUFFRDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O1dBR0NNLGUsR0FGQSx5QkFFZ0JDLGdCQUZoQixFQUUwQ0MsV0FGMUMsRUFFNkQ7QUFDNUQsVUFBTUMsVUFBVSxHQUFHLEtBQUtSLElBQUwsQ0FBVVMsUUFBVixHQUFxQkMsWUFBckIsRUFBbkI7QUFDQSxVQUFNQyxhQUFhLEdBQUdDLFdBQVcsQ0FBQ0Msd0JBQVosQ0FBcUNMLFVBQXJDLENBQXRCOztBQUNBLFVBQUksQ0FBQ0QsV0FBTCxFQUFrQjtBQUNqQkEsUUFBQUEsV0FBVyxHQUFHLEVBQWQ7QUFDQTs7QUFDREEsTUFBQUEsV0FBVyxDQUFDSSxhQUFaLEdBQTRCQSxhQUE1QjtBQUNBLGFBQU8sS0FBS1gsSUFBTCxDQUFVQyxRQUFWLENBQW1CSSxlQUFuQixDQUFtQ0MsZ0JBQW5DLEVBQXFEQyxXQUFyRCxDQUFQO0FBQ0EsSzs7O0lBL0dvQk8sbUIsd0VBNkJwQkMsTSxrS0FnQkFBLE0sRUFDQUMsSyx3SkFrQkFELE0scUtBb0JBQSxNLHFLQWlCQUEsTSxFQUNBQyxLO1NBWWExQixPIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ29udHJvbGxlckV4dGVuc2lvbiBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL0NvbnRyb2xsZXJFeHRlbnNpb25cIjtcbmltcG9ydCBPdmVycmlkZUV4ZWN1dGlvbiBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL092ZXJyaWRlRXhlY3V0aW9uXCI7XG5pbXBvcnQgTW9kZWxIZWxwZXIgZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvTW9kZWxIZWxwZXJcIjtcbmltcG9ydCB7IEV4dGVuc2libGUsIEZpbmFsLCBQdWJsaWMsIFVJNUNsYXNzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgQ29udHJvbGxlckV4dGVuc2lvbk1ldGFkYXRhIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9Db250cm9sbGVyRXh0ZW5zaW9uTWV0YWRhdGFcIjtcbmltcG9ydCBQYWdlQ29udHJvbGxlciBmcm9tIFwic2FwL2ZlL2NvcmUvUGFnZUNvbnRyb2xsZXJcIjtcbmltcG9ydCBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvQ29udGV4dFwiO1xuaW1wb3J0IE9EYXRhTWV0YU1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvT0RhdGFNZXRhTW9kZWxcIjtcblxuLyoqXG4gKiBBIGNvbnRyb2xsZXIgZXh0ZW5zaW9uIG9mZmVyaW5nIGhvb2tzIGludG8gdGhlIHJvdXRpbmcgZmxvdyBvZiB0aGUgYXBwbGljYXRpb25cbiAqXG4gKiBAaGlkZWNvbnN0cnVjdG9yXG4gKiBAcHVibGljXG4gKiBAc2luY2UgMS44Ni4wXG4gKi9cbkBVSTVDbGFzcyhcInNhcC5mZS5jb3JlLmNvbnRyb2xsZXJleHRlbnNpb25zLlJvdXRpbmdcIiwgQ29udHJvbGxlckV4dGVuc2lvbk1ldGFkYXRhKVxuY2xhc3MgUm91dGluZyBleHRlbmRzIENvbnRyb2xsZXJFeHRlbnNpb24ge1xuXHRwcml2YXRlIGJhc2UhOiBQYWdlQ29udHJvbGxlcjtcblx0LyoqXG5cdCAqIEBwcml2YXRlXG5cdCAqIEBuYW1lIHNhcC5mZS5jb3JlLmNvbnRyb2xsZXJleHRlbnNpb25zLlJvdXRpbmcuZ2V0TWV0YWRhdGFcblx0ICogQGZ1bmN0aW9uXG5cdCAqL1xuXHQvKipcblx0ICogQHByaXZhdGVcblx0ICogQG5hbWUgc2FwLmZlLmNvcmUuY29udHJvbGxlcmV4dGVuc2lvbnMuUm91dGluZy5leHRlbmRcblx0ICogQGZ1bmN0aW9uXG5cdCAqL1xuXG5cdC8qKlxuXHQgKiBUaGlzIGZ1bmN0aW9uIGNhbiBiZSB1c2VkIHRvIGludGVyY2VwdCB0aGUgcm91dGluZyBldmVudCBoYXBwZW5pbmcgZHVyaW5nIHRoZSBub3JtYWwgcHJvY2VzcyBvZiBuYXZpZ2F0aW5nIGZyb20gb25lIHBhZ2UgdG8gYW5vdGhlci5cblx0ICpcblx0ICogSWYgZGVjbGFyZWQgYXMgYW4gZXh0ZW5zaW9uLCBpdCBhbGxvd3MgeW91IHRvIGludGVyY2VwdCBhbmQgY2hhbmdlIHRoZSBub3JtYWwgbmF2aWdhdGlvbiBmbG93LlxuXHQgKiBJZiB5b3UgZGVjaWRlIHRvIGRvIHlvdXIgb3duIG5hdmlnYXRpb24gcHJvY2Vzc2luZywgeW91IGNhbiByZXR1cm4gYHRydWVgIHRvIHByZXZlbnQgdGhlIGRlZmF1bHQgcm91dGluZyBiZWhhdmlvci5cblx0ICpcblx0ICogVGhpcyBmdW5jdGlvbiBpcyBtZWFudCB0byBiZSBpbmRpdmlkdWFsbHkgb3ZlcnJpZGRlbiBieSBjb25zdW1pbmcgY29udHJvbGxlcnMsIGJ1dCBub3QgdG8gYmUgY2FsbGVkIGRpcmVjdGx5LlxuXHQgKiBUaGUgb3ZlcnJpZGUgZXhlY3V0aW9uIGlzOiB7QGxpbmsgc2FwLnVpLmNvcmUubXZjLk92ZXJyaWRlRXhlY3V0aW9uLkFmdGVyfS5cblx0ICpcblx0ICogQHBhcmFtIHtvYmplY3R9IG1OYXZpZ2F0aW9uUGFyYW1ldGVycyBPYmplY3QgY29udGFpbmluZyByb3cgY29udGV4dCBhbmQgcGFnZSBjb250ZXh0XG5cdCAqIEBwYXJhbSB7c2FwLnVpLm1vZGVsLm9kYXRhLnY0LkNvbnRleHR9IG1OYXZpZ2F0aW9uUGFyYW1ldGVycy5iaW5kaW5nQ29udGV4dCBUaGUgY3VycmVudGx5IHNlbGVjdGVkIGNvbnRleHRcblx0ICogQHJldHVybnMge2Jvb2xlYW59IGB0cnVlYCB0byBwcmV2ZW50IHRoZSBkZWZhdWx0IGV4ZWN1dGlvbiwgZmFsc2UgdG8ga2VlcCB0aGUgc3RhbmRhcmQgYmVoYXZpb3Jcblx0ICogQGFsaWFzIHNhcC5mZS5jb3JlLmNvbnRyb2xsZXJleHRlbnNpb25zLlJvdXRpbmcjb25CZWZvcmVOYXZpZ2F0aW9uXG5cdCAqIEBwdWJsaWNcblx0ICogQHNpbmNlIDEuODYuMFxuXHQgKi9cblx0QFB1YmxpY1xuXHRARXh0ZW5zaWJsZShPdmVycmlkZUV4ZWN1dGlvbi5BZnRlcilcblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuXHRvbkJlZm9yZU5hdmlnYXRpb24obU5hdmlnYXRpb25QYXJhbWV0ZXJzOiB7IGJpbmRpbmdDb250ZXh0OiBDb250ZXh0IH0pIHtcblx0XHQvLyB0byBiZSBvdmVycmlkZW4gYnkgdGhlIGFwcGxpY2F0aW9uXG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG5cblx0LyoqXG5cdCAqIEFsbG93cyBuYXZpZ2F0aW9uIHRvIGEgc3BlY2lmaWMgY29udGV4dC5cblx0ICpcblx0ICogQHBhcmFtIHtzYXAudWkubW9kZWwub2RhdGEudjQuQ29udGV4dH0gb0NvbnRleHQgT2JqZWN0IGNvbnRhaW5pbmcgdGhlIGNvbnRleHQgdG8gYmUgbmF2aWdhdGVkXG5cdCAqIEBhbGlhcyBzYXAuZmUuY29yZS5jb250cm9sbGVyZXh0ZW5zaW9ucy5Sb3V0aW5nI25hdmlnYXRlXG5cdCAqIEBwdWJsaWNcblx0ICogQHNpbmNlIDEuOTAuMFxuXHQgKi9cblx0QFB1YmxpY1xuXHRARmluYWxcblx0bmF2aWdhdGUob0NvbnRleHQ6IENvbnRleHQpIHtcblx0XHR0aGlzLmJhc2UuX3JvdXRpbmcubmF2aWdhdGVUb0NvbnRleHQob0NvbnRleHQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBpbnRlcmNlcHQgdGhlIHJvdXRpbmcgZXZlbnQgYmVmb3JlIGJpbmRpbmcgYSBwYWdlLlxuXHQgKlxuXHQgKiBJZiBpdCBpcyBkZWNsYXJlZCBhcyBhbiBleHRlbnNpb24sIGl0IGFsbG93cyB5b3UgdG8gaW50ZXJjZXB0IGFuZCBjaGFuZ2UgdGhlIG5vcm1hbCBmbG93IG9mIGJpbmRpbmcuXG5cdCAqXG5cdCAqIFRoaXMgZnVuY3Rpb24gaXMgbm90IGNhbGxlZCBkaXJlY3RseSwgYnV0IG92ZXJyaWRkZW4gc2VwYXJhdGVseSBieSBjb25zdW1pbmcgY29udHJvbGxlcnMuXG5cdCAqIFRoZSBvdmVycmlkZSBleGVjdXRpb24gaXM6IHtAbGluayBzYXAudWkuY29yZS5tdmMuT3ZlcnJpZGVFeGVjdXRpb24uQWZ0ZXJ9LlxuXHQgKlxuXHQgKiBAcGFyYW0ge29iamVjdH0gb0NvbnRleHQgT2JqZWN0IGNvbnRhaW5pbmcgdGhlIGNvbnRleHQgZm9yIHRoZSBuYXZpZ2F0aW9uXG5cdCAqIEBhbGlhcyBzYXAuZmUuY29yZS5jb250cm9sbGVyZXh0ZW5zaW9ucy5Sb3V0aW5nI29uQmVmb3JlQmluZGluZ1xuXHQgKiBAcHVibGljXG5cdCAqIEBzaW5jZSAxLjkwLjBcblx0ICovXG5cdEBQdWJsaWNcblx0QEV4dGVuc2libGUoT3ZlcnJpZGVFeGVjdXRpb24uQWZ0ZXIpXG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcblx0b25CZWZvcmVCaW5kaW5nKG9Db250ZXh0OiBvYmplY3QpIHtcblx0XHQvLyB0byBiZSBvdmVycmlkZW4gYnkgdGhlIGFwcGxpY2F0aW9uXG5cdH1cblxuXHQvKipcblx0ICogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGludGVyY2VwdCB0aGUgcm91dGluZyBldmVudCBhZnRlciBiaW5kaW5nIGEgcGFnZS5cblx0ICpcblx0ICogSWYgaXQgaXMgZGVjbGFyZWQgYXMgYW4gZXh0ZW5zaW9uLCBpdCBhbGxvd3MgeW91IHRvIGludGVyY2VwdCBhbmQgY2hhbmdlIHRoZSBub3JtYWwgZmxvdyBvZiBiaW5kaW5nLlxuXHQgKlxuXHQgKiBUaGlzIGZ1bmN0aW9uIGlzIG5vdCBjYWxsZWQgZGlyZWN0bHksIGJ1dCBvdmVycmlkZGVuIHNlcGFyYXRlbHkgYnkgY29uc3VtaW5nIGNvbnRyb2xsZXJzLlxuXHQgKiBUaGUgb3ZlcnJpZGUgZXhlY3V0aW9uIGlzOiB7QGxpbmsgc2FwLnVpLmNvcmUubXZjLk92ZXJyaWRlRXhlY3V0aW9uLkFmdGVyfS5cblx0ICpcblx0ICogQHBhcmFtIHtvYmplY3R9IG9Db250ZXh0IE9iamVjdCBjb250YWluaW5nIHRoZSBjb250ZXh0IHRvIGJlIG5hdmlnYXRlZFxuXHQgKiBAYWxpYXMgc2FwLmZlLmNvcmUuY29udHJvbGxlcmV4dGVuc2lvbnMuUm91dGluZyNvbkFmdGVyQmluZGluZ1xuXHQgKiBAcHVibGljXG5cdCAqIEBzaW5jZSAxLjkwLjBcblx0ICovXG5cdEBQdWJsaWNcblx0QEV4dGVuc2libGUoT3ZlcnJpZGVFeGVjdXRpb24uQWZ0ZXIpXG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcblx0b25BZnRlckJpbmRpbmcob0NvbnRleHQ6IG9iamVjdCkge1xuXHRcdC8vIHRvIGJlIG92ZXJyaWRlbiBieSB0aGUgYXBwbGljYXRpb25cblx0fVxuXG5cdC8qKlxuXHQgKiBOYXZpZ2F0ZSB0byBhbm90aGVyIHRhcmdldC5cblx0ICpcblx0ICogQGFsaWFzIHNhcC5mZS5jb3JlLmNvbnRyb2xsZXJleHRlbnNpb25zLlJvdXRpbmcjbmF2aWdhdGVUb1JvdXRlXG5cdCAqIEBwYXJhbSBzVGFyZ2V0Um91dGVOYW1lIE5hbWUgb2YgdGhlIHRhcmdldCByb3V0ZVxuXHQgKiBAcGFyYW0gb1BhcmFtZXRlcnMgUGFyYW1ldGVycyB0byBiZSB1c2VkIHdpdGggcm91dGUgdG8gY3JlYXRlIHRoZSB0YXJnZXQgaGFzaFxuXHQgKiBAcmV0dXJucyB7UHJvbWlzZX0gUHJvbWlzZSB0aGF0IGlzIHJlc29sdmVkIHdoZW4gdGhlIG5hdmlnYXRpb24gaXMgZmluYWxpemVkXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBQdWJsaWNcblx0QEZpbmFsXG5cdG5hdmlnYXRlVG9Sb3V0ZShzVGFyZ2V0Um91dGVOYW1lOiBzdHJpbmcsIG9QYXJhbWV0ZXJzPzogYW55KSB7XG5cdFx0Y29uc3Qgb01ldGFNb2RlbCA9IHRoaXMuYmFzZS5nZXRNb2RlbCgpLmdldE1ldGFNb2RlbCgpIGFzIE9EYXRhTWV0YU1vZGVsO1xuXHRcdGNvbnN0IGJJc1N0aWNreU1vZGUgPSBNb2RlbEhlbHBlci5pc1N0aWNreVNlc3Npb25TdXBwb3J0ZWQob01ldGFNb2RlbCk7XG5cdFx0aWYgKCFvUGFyYW1ldGVycykge1xuXHRcdFx0b1BhcmFtZXRlcnMgPSB7fTtcblx0XHR9XG5cdFx0b1BhcmFtZXRlcnMuYklzU3RpY2t5TW9kZSA9IGJJc1N0aWNreU1vZGU7XG5cdFx0cmV0dXJuIHRoaXMuYmFzZS5fcm91dGluZy5uYXZpZ2F0ZVRvUm91dGUoc1RhcmdldFJvdXRlTmFtZSwgb1BhcmFtZXRlcnMpO1xuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IFJvdXRpbmc7XG4iXX0=
147
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlJvdXRpbmcudHMiXSwibmFtZXMiOlsiUm91dGluZyIsImRlZmluZVVJNUNsYXNzIiwicHVibGljRXh0ZW5zaW9uIiwiZXh0ZW5zaWJsZSIsIk92ZXJyaWRlRXhlY3V0aW9uIiwiQWZ0ZXIiLCJmaW5hbEV4dGVuc2lvbiIsIm9uQmVmb3JlTmF2aWdhdGlvbiIsIm1OYXZpZ2F0aW9uUGFyYW1ldGVycyIsIm5hdmlnYXRlIiwib0NvbnRleHQiLCJiYXNlIiwiX3JvdXRpbmciLCJuYXZpZ2F0ZVRvQ29udGV4dCIsIm9uQmVmb3JlQmluZGluZyIsIm9uQWZ0ZXJCaW5kaW5nIiwibmF2aWdhdGVUb1JvdXRlIiwic1RhcmdldFJvdXRlTmFtZSIsIm9QYXJhbWV0ZXJzIiwib01ldGFNb2RlbCIsImdldE1vZGVsIiwiZ2V0TWV0YU1vZGVsIiwiYklzU3RpY2t5TW9kZSIsIk1vZGVsSGVscGVyIiwiaXNTdGlja3lTZXNzaW9uU3VwcG9ydGVkIiwiQ29udHJvbGxlckV4dGVuc2lvbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtNQUVNQSxPLFdBRExDLGNBQWMsQ0FBQywwQ0FBRCxDLFVBOEJiQyxlQUFlLEUsVUFDZkMsVUFBVSxDQUFDQyxpQkFBaUIsQ0FBQ0MsS0FBbkIsQyxVQWVWSCxlQUFlLEUsVUFDZkksY0FBYyxFLFVBa0JkSixlQUFlLEUsVUFDZkMsVUFBVSxDQUFDQyxpQkFBaUIsQ0FBQ0MsS0FBbkIsQyxVQW1CVkgsZUFBZSxFLFVBQ2ZDLFVBQVUsQ0FBQ0MsaUJBQWlCLENBQUNDLEtBQW5CLEMsV0FnQlZILGVBQWUsRSxXQUNmSSxjQUFjLEU7Ozs7Ozs7OztBQXBHZjtBQUNEO0FBQ0E7QUFDQTtBQUNBOztBQUNDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7WUFHQztBQUNBQyxJQUFBQSxrQixHQUhBLDRCQUdtQkMscUJBSG5CLEVBR3VFO0FBQ3RFO0FBQ0EsYUFBTyxLQUFQO0FBQ0E7QUFFRDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7V0FHQ0MsUSxHQUZBLGtCQUVTQyxRQUZULEVBRTRCO0FBQzNCLFdBQUtDLElBQUwsQ0FBVUMsUUFBVixDQUFtQkMsaUJBQW5CLENBQXFDSCxRQUFyQztBQUNBO0FBRUQ7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztZQUdDO0FBQ0FJLElBQUFBLGUsR0FIQSx5QkFHZ0JKLFFBSGhCLEVBR2tDLENBQ2pDO0FBQ0E7QUFFRDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O1lBR0M7QUFDQUssSUFBQUEsYyxHQUhBLHdCQUdlTCxRQUhmLEVBR2lDLENBQ2hDO0FBQ0E7QUFFRDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O1dBR0NNLGUsR0FGQSx5QkFFZ0JDLGdCQUZoQixFQUUwQ0MsV0FGMUMsRUFFNkQ7QUFDNUQsVUFBTUMsVUFBVSxHQUFHLEtBQUtSLElBQUwsQ0FBVVMsUUFBVixHQUFxQkMsWUFBckIsRUFBbkI7QUFDQSxVQUFNQyxhQUFhLEdBQUdDLFdBQVcsQ0FBQ0Msd0JBQVosQ0FBcUNMLFVBQXJDLENBQXRCOztBQUNBLFVBQUksQ0FBQ0QsV0FBTCxFQUFrQjtBQUNqQkEsUUFBQUEsV0FBVyxHQUFHLEVBQWQ7QUFDQTs7QUFDREEsTUFBQUEsV0FBVyxDQUFDSSxhQUFaLEdBQTRCQSxhQUE1QjtBQUNBLGFBQU8sS0FBS1gsSUFBTCxDQUFVQyxRQUFWLENBQW1CSSxlQUFuQixDQUFtQ0MsZ0JBQW5DLEVBQXFEQyxXQUFyRCxDQUFQO0FBQ0EsSzs7O0lBL0dvQk8sbUI7U0FrSFB6QixPIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ29udHJvbGxlckV4dGVuc2lvbiBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL0NvbnRyb2xsZXJFeHRlbnNpb25cIjtcbmltcG9ydCBPdmVycmlkZUV4ZWN1dGlvbiBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL092ZXJyaWRlRXhlY3V0aW9uXCI7XG5pbXBvcnQgTW9kZWxIZWxwZXIgZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvTW9kZWxIZWxwZXJcIjtcbmltcG9ydCB7IGV4dGVuc2libGUsIGZpbmFsRXh0ZW5zaW9uLCBwdWJsaWNFeHRlbnNpb24sIGRlZmluZVVJNUNsYXNzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgUGFnZUNvbnRyb2xsZXIgZnJvbSBcInNhcC9mZS9jb3JlL1BhZ2VDb250cm9sbGVyXCI7XG5pbXBvcnQgQ29udGV4dCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L0NvbnRleHRcIjtcbmltcG9ydCBPRGF0YU1ldGFNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L09EYXRhTWV0YU1vZGVsXCI7XG5cbi8qKlxuICogQSBjb250cm9sbGVyIGV4dGVuc2lvbiBvZmZlcmluZyBob29rcyBpbnRvIHRoZSByb3V0aW5nIGZsb3cgb2YgdGhlIGFwcGxpY2F0aW9uXG4gKlxuICogQGhpZGVjb25zdHJ1Y3RvclxuICogQHB1YmxpY1xuICogQHNpbmNlIDEuODYuMFxuICovXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUuY29yZS5jb250cm9sbGVyZXh0ZW5zaW9ucy5Sb3V0aW5nXCIpXG5jbGFzcyBSb3V0aW5nIGV4dGVuZHMgQ29udHJvbGxlckV4dGVuc2lvbiB7XG5cdHByaXZhdGUgYmFzZSE6IFBhZ2VDb250cm9sbGVyO1xuXHQvKipcblx0ICogQHByaXZhdGVcblx0ICogQG5hbWUgc2FwLmZlLmNvcmUuY29udHJvbGxlcmV4dGVuc2lvbnMuUm91dGluZy5nZXRNZXRhZGF0YVxuXHQgKiBAZnVuY3Rpb25cblx0ICovXG5cdC8qKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKiBAbmFtZSBzYXAuZmUuY29yZS5jb250cm9sbGVyZXh0ZW5zaW9ucy5Sb3V0aW5nLmV4dGVuZFxuXHQgKiBAZnVuY3Rpb25cblx0ICovXG5cblx0LyoqXG5cdCAqIFRoaXMgZnVuY3Rpb24gY2FuIGJlIHVzZWQgdG8gaW50ZXJjZXB0IHRoZSByb3V0aW5nIGV2ZW50IGhhcHBlbmluZyBkdXJpbmcgdGhlIG5vcm1hbCBwcm9jZXNzIG9mIG5hdmlnYXRpbmcgZnJvbSBvbmUgcGFnZSB0byBhbm90aGVyLlxuXHQgKlxuXHQgKiBJZiBkZWNsYXJlZCBhcyBhbiBleHRlbnNpb24sIGl0IGFsbG93cyB5b3UgdG8gaW50ZXJjZXB0IGFuZCBjaGFuZ2UgdGhlIG5vcm1hbCBuYXZpZ2F0aW9uIGZsb3cuXG5cdCAqIElmIHlvdSBkZWNpZGUgdG8gZG8geW91ciBvd24gbmF2aWdhdGlvbiBwcm9jZXNzaW5nLCB5b3UgY2FuIHJldHVybiBgdHJ1ZWAgdG8gcHJldmVudCB0aGUgZGVmYXVsdCByb3V0aW5nIGJlaGF2aW9yLlxuXHQgKlxuXHQgKiBUaGlzIGZ1bmN0aW9uIGlzIG1lYW50IHRvIGJlIGluZGl2aWR1YWxseSBvdmVycmlkZGVuIGJ5IGNvbnN1bWluZyBjb250cm9sbGVycywgYnV0IG5vdCB0byBiZSBjYWxsZWQgZGlyZWN0bHkuXG5cdCAqIFRoZSBvdmVycmlkZSBleGVjdXRpb24gaXM6IHtAbGluayBzYXAudWkuY29yZS5tdmMuT3ZlcnJpZGVFeGVjdXRpb24uQWZ0ZXJ9LlxuXHQgKlxuXHQgKiBAcGFyYW0ge29iamVjdH0gbU5hdmlnYXRpb25QYXJhbWV0ZXJzIE9iamVjdCBjb250YWluaW5nIHJvdyBjb250ZXh0IGFuZCBwYWdlIGNvbnRleHRcblx0ICogQHBhcmFtIHtzYXAudWkubW9kZWwub2RhdGEudjQuQ29udGV4dH0gbU5hdmlnYXRpb25QYXJhbWV0ZXJzLmJpbmRpbmdDb250ZXh0IFRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgY29udGV4dFxuXHQgKiBAcmV0dXJucyB7Ym9vbGVhbn0gYHRydWVgIHRvIHByZXZlbnQgdGhlIGRlZmF1bHQgZXhlY3V0aW9uLCBmYWxzZSB0byBrZWVwIHRoZSBzdGFuZGFyZCBiZWhhdmlvclxuXHQgKiBAYWxpYXMgc2FwLmZlLmNvcmUuY29udHJvbGxlcmV4dGVuc2lvbnMuUm91dGluZyNvbkJlZm9yZU5hdmlnYXRpb25cblx0ICogQHB1YmxpY1xuXHQgKiBAc2luY2UgMS44Ni4wXG5cdCAqL1xuXHRAcHVibGljRXh0ZW5zaW9uKClcblx0QGV4dGVuc2libGUoT3ZlcnJpZGVFeGVjdXRpb24uQWZ0ZXIpXG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcblx0b25CZWZvcmVOYXZpZ2F0aW9uKG1OYXZpZ2F0aW9uUGFyYW1ldGVyczogeyBiaW5kaW5nQ29udGV4dDogQ29udGV4dCB9KSB7XG5cdFx0Ly8gdG8gYmUgb3ZlcnJpZGVuIGJ5IHRoZSBhcHBsaWNhdGlvblxuXHRcdHJldHVybiBmYWxzZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBBbGxvd3MgbmF2aWdhdGlvbiB0byBhIHNwZWNpZmljIGNvbnRleHQuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c2FwLnVpLm1vZGVsLm9kYXRhLnY0LkNvbnRleHR9IG9Db250ZXh0IE9iamVjdCBjb250YWluaW5nIHRoZSBjb250ZXh0IHRvIGJlIG5hdmlnYXRlZFxuXHQgKiBAYWxpYXMgc2FwLmZlLmNvcmUuY29udHJvbGxlcmV4dGVuc2lvbnMuUm91dGluZyNuYXZpZ2F0ZVxuXHQgKiBAcHVibGljXG5cdCAqIEBzaW5jZSAxLjkwLjBcblx0ICovXG5cdEBwdWJsaWNFeHRlbnNpb24oKVxuXHRAZmluYWxFeHRlbnNpb24oKVxuXHRuYXZpZ2F0ZShvQ29udGV4dDogQ29udGV4dCkge1xuXHRcdHRoaXMuYmFzZS5fcm91dGluZy5uYXZpZ2F0ZVRvQ29udGV4dChvQ29udGV4dCk7XG5cdH1cblxuXHQvKipcblx0ICogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGludGVyY2VwdCB0aGUgcm91dGluZyBldmVudCBiZWZvcmUgYmluZGluZyBhIHBhZ2UuXG5cdCAqXG5cdCAqIElmIGl0IGlzIGRlY2xhcmVkIGFzIGFuIGV4dGVuc2lvbiwgaXQgYWxsb3dzIHlvdSB0byBpbnRlcmNlcHQgYW5kIGNoYW5nZSB0aGUgbm9ybWFsIGZsb3cgb2YgYmluZGluZy5cblx0ICpcblx0ICogVGhpcyBmdW5jdGlvbiBpcyBub3QgY2FsbGVkIGRpcmVjdGx5LCBidXQgb3ZlcnJpZGRlbiBzZXBhcmF0ZWx5IGJ5IGNvbnN1bWluZyBjb250cm9sbGVycy5cblx0ICogVGhlIG92ZXJyaWRlIGV4ZWN1dGlvbiBpczoge0BsaW5rIHNhcC51aS5jb3JlLm12Yy5PdmVycmlkZUV4ZWN1dGlvbi5BZnRlcn0uXG5cdCAqXG5cdCAqIEBwYXJhbSB7b2JqZWN0fSBvQ29udGV4dCBPYmplY3QgY29udGFpbmluZyB0aGUgY29udGV4dCBmb3IgdGhlIG5hdmlnYXRpb25cblx0ICogQGFsaWFzIHNhcC5mZS5jb3JlLmNvbnRyb2xsZXJleHRlbnNpb25zLlJvdXRpbmcjb25CZWZvcmVCaW5kaW5nXG5cdCAqIEBwdWJsaWNcblx0ICogQHNpbmNlIDEuOTAuMFxuXHQgKi9cblx0QHB1YmxpY0V4dGVuc2lvbigpXG5cdEBleHRlbnNpYmxlKE92ZXJyaWRlRXhlY3V0aW9uLkFmdGVyKVxuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5cdG9uQmVmb3JlQmluZGluZyhvQ29udGV4dDogb2JqZWN0KSB7XG5cdFx0Ly8gdG8gYmUgb3ZlcnJpZGVuIGJ5IHRoZSBhcHBsaWNhdGlvblxuXHR9XG5cblx0LyoqXG5cdCAqIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBpbnRlcmNlcHQgdGhlIHJvdXRpbmcgZXZlbnQgYWZ0ZXIgYmluZGluZyBhIHBhZ2UuXG5cdCAqXG5cdCAqIElmIGl0IGlzIGRlY2xhcmVkIGFzIGFuIGV4dGVuc2lvbiwgaXQgYWxsb3dzIHlvdSB0byBpbnRlcmNlcHQgYW5kIGNoYW5nZSB0aGUgbm9ybWFsIGZsb3cgb2YgYmluZGluZy5cblx0ICpcblx0ICogVGhpcyBmdW5jdGlvbiBpcyBub3QgY2FsbGVkIGRpcmVjdGx5LCBidXQgb3ZlcnJpZGRlbiBzZXBhcmF0ZWx5IGJ5IGNvbnN1bWluZyBjb250cm9sbGVycy5cblx0ICogVGhlIG92ZXJyaWRlIGV4ZWN1dGlvbiBpczoge0BsaW5rIHNhcC51aS5jb3JlLm12Yy5PdmVycmlkZUV4ZWN1dGlvbi5BZnRlcn0uXG5cdCAqXG5cdCAqIEBwYXJhbSB7b2JqZWN0fSBvQ29udGV4dCBPYmplY3QgY29udGFpbmluZyB0aGUgY29udGV4dCB0byBiZSBuYXZpZ2F0ZWRcblx0ICogQGFsaWFzIHNhcC5mZS5jb3JlLmNvbnRyb2xsZXJleHRlbnNpb25zLlJvdXRpbmcjb25BZnRlckJpbmRpbmdcblx0ICogQHB1YmxpY1xuXHQgKiBAc2luY2UgMS45MC4wXG5cdCAqL1xuXHRAcHVibGljRXh0ZW5zaW9uKClcblx0QGV4dGVuc2libGUoT3ZlcnJpZGVFeGVjdXRpb24uQWZ0ZXIpXG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcblx0b25BZnRlckJpbmRpbmcob0NvbnRleHQ6IG9iamVjdCkge1xuXHRcdC8vIHRvIGJlIG92ZXJyaWRlbiBieSB0aGUgYXBwbGljYXRpb25cblx0fVxuXG5cdC8qKlxuXHQgKiBOYXZpZ2F0ZSB0byBhbm90aGVyIHRhcmdldC5cblx0ICpcblx0ICogQGFsaWFzIHNhcC5mZS5jb3JlLmNvbnRyb2xsZXJleHRlbnNpb25zLlJvdXRpbmcjbmF2aWdhdGVUb1JvdXRlXG5cdCAqIEBwYXJhbSBzVGFyZ2V0Um91dGVOYW1lIE5hbWUgb2YgdGhlIHRhcmdldCByb3V0ZVxuXHQgKiBAcGFyYW0gb1BhcmFtZXRlcnMgUGFyYW1ldGVycyB0byBiZSB1c2VkIHdpdGggcm91dGUgdG8gY3JlYXRlIHRoZSB0YXJnZXQgaGFzaFxuXHQgKiBAcmV0dXJucyB7UHJvbWlzZX0gUHJvbWlzZSB0aGF0IGlzIHJlc29sdmVkIHdoZW4gdGhlIG5hdmlnYXRpb24gaXMgZmluYWxpemVkXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBwdWJsaWNFeHRlbnNpb24oKVxuXHRAZmluYWxFeHRlbnNpb24oKVxuXHRuYXZpZ2F0ZVRvUm91dGUoc1RhcmdldFJvdXRlTmFtZTogc3RyaW5nLCBvUGFyYW1ldGVycz86IGFueSkge1xuXHRcdGNvbnN0IG9NZXRhTW9kZWwgPSB0aGlzLmJhc2UuZ2V0TW9kZWwoKS5nZXRNZXRhTW9kZWwoKSBhcyBPRGF0YU1ldGFNb2RlbDtcblx0XHRjb25zdCBiSXNTdGlja3lNb2RlID0gTW9kZWxIZWxwZXIuaXNTdGlja3lTZXNzaW9uU3VwcG9ydGVkKG9NZXRhTW9kZWwpO1xuXHRcdGlmICghb1BhcmFtZXRlcnMpIHtcblx0XHRcdG9QYXJhbWV0ZXJzID0ge307XG5cdFx0fVxuXHRcdG9QYXJhbWV0ZXJzLmJJc1N0aWNreU1vZGUgPSBiSXNTdGlja3lNb2RlO1xuXHRcdHJldHVybiB0aGlzLmJhc2UuX3JvdXRpbmcubmF2aWdhdGVUb1JvdXRlKHNUYXJnZXRSb3V0ZU5hbWUsIG9QYXJhbWV0ZXJzKTtcblx0fVxufVxuXG5leHBvcnQgZGVmYXVsdCBSb3V0aW5nO1xuIl19