@sapui5/sap.cux.home 1.136.3 → 1.139.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 (446) hide show
  1. package/package.json +1 -1
  2. package/src/sap/cux/home/.library +1 -1
  3. package/src/sap/cux/home/AdvancedSettingsPanel.d.ts +0 -3
  4. package/src/sap/cux/home/AdvancedSettingsPanel.d.ts.map +1 -1
  5. package/src/sap/cux/home/AdvancedSettingsPanel.js +11 -7
  6. package/src/sap/cux/home/AdvancedSettingsPanel.js.map +1 -1
  7. package/src/sap/cux/home/AdvancedSettingsPanel.ts +13 -7
  8. package/src/sap/cux/home/App.d.ts +1 -2
  9. package/src/sap/cux/home/App.d.ts.map +1 -1
  10. package/src/sap/cux/home/App.js +7 -2
  11. package/src/sap/cux/home/App.js.map +1 -1
  12. package/src/sap/cux/home/App.ts +8 -3
  13. package/src/sap/cux/home/AppsAdditionPanel.d.ts +0 -2
  14. package/src/sap/cux/home/AppsAdditionPanel.d.ts.map +1 -1
  15. package/src/sap/cux/home/AppsAdditionPanel.js +31 -15
  16. package/src/sap/cux/home/AppsAdditionPanel.js.map +1 -1
  17. package/src/sap/cux/home/AppsAdditionPanel.ts +36 -16
  18. package/src/sap/cux/home/AppsContainer.d.ts +0 -2
  19. package/src/sap/cux/home/AppsContainer.d.ts.map +1 -1
  20. package/src/sap/cux/home/AppsContainer.js +5 -8
  21. package/src/sap/cux/home/AppsContainer.js.map +1 -1
  22. package/src/sap/cux/home/AppsContainer.ts +3 -8
  23. package/src/sap/cux/home/BaseApp.d.ts +2 -2
  24. package/src/sap/cux/home/BaseApp.d.ts.map +1 -1
  25. package/src/sap/cux/home/BaseApp.js +10 -3
  26. package/src/sap/cux/home/BaseApp.js.map +1 -1
  27. package/src/sap/cux/home/BaseApp.ts +11 -4
  28. package/src/sap/cux/home/BaseAppPanel.d.ts +0 -2
  29. package/src/sap/cux/home/BaseAppPanel.d.ts.map +1 -1
  30. package/src/sap/cux/home/BaseAppPanel.js +5 -6
  31. package/src/sap/cux/home/BaseAppPanel.js.map +1 -1
  32. package/src/sap/cux/home/BaseAppPanel.ts +3 -5
  33. package/src/sap/cux/home/BaseAppPersPanel.d.ts +0 -2
  34. package/src/sap/cux/home/BaseAppPersPanel.d.ts.map +1 -1
  35. package/src/sap/cux/home/BaseAppPersPanel.js +6 -6
  36. package/src/sap/cux/home/BaseAppPersPanel.js.map +1 -1
  37. package/src/sap/cux/home/BaseAppPersPanel.ts +9 -7
  38. package/src/sap/cux/home/BaseContainer.d.ts +0 -1
  39. package/src/sap/cux/home/BaseContainer.d.ts.map +1 -1
  40. package/src/sap/cux/home/BaseContainer.js +10 -5
  41. package/src/sap/cux/home/BaseContainer.js.map +1 -1
  42. package/src/sap/cux/home/BaseContainer.ts +10 -5
  43. package/src/sap/cux/home/BaseContainerRenderer.d.ts +4 -4
  44. package/src/sap/cux/home/BaseContainerRenderer.d.ts.map +1 -1
  45. package/src/sap/cux/home/BaseContainerRenderer.js +17 -19
  46. package/src/sap/cux/home/BaseContainerRenderer.js.map +1 -1
  47. package/src/sap/cux/home/BaseContainerRenderer.ts +21 -25
  48. package/src/sap/cux/home/BaseLayout.d.ts +0 -1
  49. package/src/sap/cux/home/BaseLayout.d.ts.map +1 -1
  50. package/src/sap/cux/home/BaseLayout.js +1 -2
  51. package/src/sap/cux/home/BaseLayout.js.map +1 -1
  52. package/src/sap/cux/home/BaseLayout.ts +1 -2
  53. package/src/sap/cux/home/BaseNewsItem.d.ts +1 -2
  54. package/src/sap/cux/home/BaseNewsItem.d.ts.map +1 -1
  55. package/src/sap/cux/home/BaseNewsItem.js +7 -2
  56. package/src/sap/cux/home/BaseNewsItem.js.map +1 -1
  57. package/src/sap/cux/home/BaseNewsItem.ts +8 -3
  58. package/src/sap/cux/home/BaseNewsPanel.d.ts +1 -2
  59. package/src/sap/cux/home/BaseNewsPanel.d.ts.map +1 -1
  60. package/src/sap/cux/home/BaseNewsPanel.js +7 -2
  61. package/src/sap/cux/home/BaseNewsPanel.js.map +1 -1
  62. package/src/sap/cux/home/BaseNewsPanel.ts +8 -3
  63. package/src/sap/cux/home/BasePagePanel.d.ts +1 -2
  64. package/src/sap/cux/home/BasePagePanel.d.ts.map +1 -1
  65. package/src/sap/cux/home/BasePagePanel.gen.d.ts +34 -0
  66. package/src/sap/cux/home/BasePagePanel.js +16 -2
  67. package/src/sap/cux/home/BasePagePanel.js.map +1 -1
  68. package/src/sap/cux/home/BasePagePanel.ts +17 -3
  69. package/src/sap/cux/home/BasePanel.d.ts +0 -1
  70. package/src/sap/cux/home/BasePanel.d.ts.map +1 -1
  71. package/src/sap/cux/home/BasePanel.js +0 -1
  72. package/src/sap/cux/home/BasePanel.js.map +1 -1
  73. package/src/sap/cux/home/BasePanel.ts +0 -1
  74. package/src/sap/cux/home/BaseSettingsDialog.d.ts +0 -1
  75. package/src/sap/cux/home/BaseSettingsDialog.d.ts.map +1 -1
  76. package/src/sap/cux/home/BaseSettingsDialog.js +0 -1
  77. package/src/sap/cux/home/BaseSettingsDialog.js.map +1 -1
  78. package/src/sap/cux/home/BaseSettingsDialog.ts +0 -1
  79. package/src/sap/cux/home/BaseSettingsPanel.d.ts +0 -1
  80. package/src/sap/cux/home/BaseSettingsPanel.d.ts.map +1 -1
  81. package/src/sap/cux/home/BaseSettingsPanel.js +2 -2
  82. package/src/sap/cux/home/BaseSettingsPanel.js.map +1 -1
  83. package/src/sap/cux/home/BaseSettingsPanel.ts +3 -2
  84. package/src/sap/cux/home/CardsPanel.d.ts +0 -1
  85. package/src/sap/cux/home/CardsPanel.d.ts.map +1 -1
  86. package/src/sap/cux/home/CardsPanel.js +3 -4
  87. package/src/sap/cux/home/CardsPanel.js.map +1 -1
  88. package/src/sap/cux/home/CardsPanel.ts +3 -7
  89. package/src/sap/cux/home/ContentAdditionDialog.d.ts +0 -3
  90. package/src/sap/cux/home/ContentAdditionDialog.d.ts.map +1 -1
  91. package/src/sap/cux/home/ContentAdditionDialog.js +4 -8
  92. package/src/sap/cux/home/ContentAdditionDialog.js.map +1 -1
  93. package/src/sap/cux/home/ContentAdditionDialog.ts +4 -8
  94. package/src/sap/cux/home/ErrorPanel.d.ts +1 -2
  95. package/src/sap/cux/home/ErrorPanel.d.ts.map +1 -1
  96. package/src/sap/cux/home/ErrorPanel.gen.d.ts +24 -0
  97. package/src/sap/cux/home/ErrorPanel.js +16 -2
  98. package/src/sap/cux/home/ErrorPanel.js.map +1 -1
  99. package/src/sap/cux/home/ErrorPanel.ts +17 -3
  100. package/src/sap/cux/home/FavAppPanel.d.ts +0 -1
  101. package/src/sap/cux/home/FavAppPanel.d.ts.map +1 -1
  102. package/src/sap/cux/home/FavAppPanel.js +15 -12
  103. package/src/sap/cux/home/FavAppPanel.js.map +1 -1
  104. package/src/sap/cux/home/FavAppPanel.ts +20 -15
  105. package/src/sap/cux/home/FrequentAppPanel.d.ts +0 -1
  106. package/src/sap/cux/home/FrequentAppPanel.d.ts.map +1 -1
  107. package/src/sap/cux/home/FrequentAppPanel.js +0 -1
  108. package/src/sap/cux/home/FrequentAppPanel.js.map +1 -1
  109. package/src/sap/cux/home/FrequentAppPanel.ts +0 -1
  110. package/src/sap/cux/home/Group.d.ts +2 -2
  111. package/src/sap/cux/home/Group.d.ts.map +1 -1
  112. package/src/sap/cux/home/Group.gen.d.ts +47 -1
  113. package/src/sap/cux/home/Group.js +30 -3
  114. package/src/sap/cux/home/Group.js.map +1 -1
  115. package/src/sap/cux/home/Group.ts +26 -6
  116. package/src/sap/cux/home/IToDoPanel.d.ts +1 -2
  117. package/src/sap/cux/home/IToDoPanel.d.ts.map +1 -1
  118. package/src/sap/cux/home/IToDoPanel.js.map +1 -1
  119. package/src/sap/cux/home/IToDoPanel.ts +1 -2
  120. package/src/sap/cux/home/InsightsAdditionPanel.d.ts +0 -4
  121. package/src/sap/cux/home/InsightsAdditionPanel.d.ts.map +1 -1
  122. package/src/sap/cux/home/InsightsAdditionPanel.js +5 -14
  123. package/src/sap/cux/home/InsightsAdditionPanel.js.map +1 -1
  124. package/src/sap/cux/home/InsightsAdditionPanel.ts +5 -16
  125. package/src/sap/cux/home/InsightsCardsSettingsPanel.d.ts +0 -3
  126. package/src/sap/cux/home/InsightsCardsSettingsPanel.d.ts.map +1 -1
  127. package/src/sap/cux/home/InsightsCardsSettingsPanel.js +0 -3
  128. package/src/sap/cux/home/InsightsCardsSettingsPanel.js.map +1 -1
  129. package/src/sap/cux/home/InsightsCardsSettingsPanel.ts +0 -3
  130. package/src/sap/cux/home/InsightsContainer.d.ts +1 -2
  131. package/src/sap/cux/home/InsightsContainer.d.ts.map +1 -1
  132. package/src/sap/cux/home/InsightsContainer.js +21 -5
  133. package/src/sap/cux/home/InsightsContainer.js.map +1 -1
  134. package/src/sap/cux/home/InsightsContainer.ts +24 -5
  135. package/src/sap/cux/home/InsightsTilesSettingsPanel.d.ts +0 -3
  136. package/src/sap/cux/home/InsightsTilesSettingsPanel.d.ts.map +1 -1
  137. package/src/sap/cux/home/InsightsTilesSettingsPanel.js +5 -5
  138. package/src/sap/cux/home/InsightsTilesSettingsPanel.js.map +1 -1
  139. package/src/sap/cux/home/InsightsTilesSettingsPanel.ts +5 -5
  140. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.d.ts +0 -3
  141. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.d.ts.map +1 -1
  142. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.js +0 -3
  143. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.js.map +1 -1
  144. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.ts +0 -3
  145. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.d.ts +0 -3
  146. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.d.ts.map +1 -1
  147. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js +0 -3
  148. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js.map +1 -1
  149. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.ts +0 -3
  150. package/src/sap/cux/home/KeyUserNewsSettingsPanel.d.ts +0 -3
  151. package/src/sap/cux/home/KeyUserNewsSettingsPanel.d.ts.map +1 -1
  152. package/src/sap/cux/home/KeyUserNewsSettingsPanel.js +4 -6
  153. package/src/sap/cux/home/KeyUserNewsSettingsPanel.js.map +1 -1
  154. package/src/sap/cux/home/KeyUserNewsSettingsPanel.ts +13 -8
  155. package/src/sap/cux/home/KeyUserPagesSettingsPanel.d.ts +0 -3
  156. package/src/sap/cux/home/KeyUserPagesSettingsPanel.d.ts.map +1 -1
  157. package/src/sap/cux/home/KeyUserPagesSettingsPanel.js +0 -3
  158. package/src/sap/cux/home/KeyUserPagesSettingsPanel.js.map +1 -1
  159. package/src/sap/cux/home/KeyUserPagesSettingsPanel.ts +0 -3
  160. package/src/sap/cux/home/KeyUserSettingsDialog.d.ts +0 -3
  161. package/src/sap/cux/home/KeyUserSettingsDialog.d.ts.map +1 -1
  162. package/src/sap/cux/home/KeyUserSettingsDialog.js +0 -3
  163. package/src/sap/cux/home/KeyUserSettingsDialog.js.map +1 -1
  164. package/src/sap/cux/home/KeyUserSettingsDialog.ts +0 -3
  165. package/src/sap/cux/home/Layout.d.ts +0 -2
  166. package/src/sap/cux/home/Layout.d.ts.map +1 -1
  167. package/src/sap/cux/home/Layout.js +0 -2
  168. package/src/sap/cux/home/Layout.js.map +1 -1
  169. package/src/sap/cux/home/Layout.ts +0 -3
  170. package/src/sap/cux/home/LayoutSettingsPanel.d.ts +0 -3
  171. package/src/sap/cux/home/LayoutSettingsPanel.d.ts.map +1 -1
  172. package/src/sap/cux/home/LayoutSettingsPanel.js +0 -3
  173. package/src/sap/cux/home/LayoutSettingsPanel.js.map +1 -1
  174. package/src/sap/cux/home/LayoutSettingsPanel.ts +0 -3
  175. package/src/sap/cux/home/MenuItem.d.ts +0 -1
  176. package/src/sap/cux/home/MenuItem.d.ts.map +1 -1
  177. package/src/sap/cux/home/MenuItem.js +0 -1
  178. package/src/sap/cux/home/MenuItem.js.map +1 -1
  179. package/src/sap/cux/home/MenuItem.ts +0 -1
  180. package/src/sap/cux/home/NewsAndPagesContainer.d.ts +12 -14
  181. package/src/sap/cux/home/NewsAndPagesContainer.d.ts.map +1 -1
  182. package/src/sap/cux/home/NewsAndPagesContainer.js +10 -12
  183. package/src/sap/cux/home/NewsAndPagesContainer.js.map +1 -1
  184. package/src/sap/cux/home/NewsAndPagesContainer.ts +20 -18
  185. package/src/sap/cux/home/NewsGroup.d.ts +0 -3
  186. package/src/sap/cux/home/NewsGroup.d.ts.map +1 -1
  187. package/src/sap/cux/home/NewsGroup.js +0 -3
  188. package/src/sap/cux/home/NewsGroup.js.map +1 -1
  189. package/src/sap/cux/home/NewsGroup.ts +0 -3
  190. package/src/sap/cux/home/NewsItem.d.ts +0 -3
  191. package/src/sap/cux/home/NewsItem.d.ts.map +1 -1
  192. package/src/sap/cux/home/NewsItem.js +0 -3
  193. package/src/sap/cux/home/NewsItem.js.map +1 -1
  194. package/src/sap/cux/home/NewsItem.ts +0 -3
  195. package/src/sap/cux/home/NewsPanel.d.ts +7 -10
  196. package/src/sap/cux/home/NewsPanel.d.ts.map +1 -1
  197. package/src/sap/cux/home/NewsPanel.js +13 -14
  198. package/src/sap/cux/home/NewsPanel.js.map +1 -1
  199. package/src/sap/cux/home/NewsPanel.ts +15 -14
  200. package/src/sap/cux/home/NewsSettingsPanel.d.ts +0 -3
  201. package/src/sap/cux/home/NewsSettingsPanel.d.ts.map +1 -1
  202. package/src/sap/cux/home/NewsSettingsPanel.js +1 -4
  203. package/src/sap/cux/home/NewsSettingsPanel.js.map +1 -1
  204. package/src/sap/cux/home/NewsSettingsPanel.ts +1 -4
  205. package/src/sap/cux/home/NoDataContainer.d.ts +0 -2
  206. package/src/sap/cux/home/NoDataContainer.d.ts.map +1 -1
  207. package/src/sap/cux/home/NoDataContainer.js +0 -1
  208. package/src/sap/cux/home/NoDataContainer.js.map +1 -1
  209. package/src/sap/cux/home/NoDataContainer.ts +0 -1
  210. package/src/sap/cux/home/Page.d.ts +0 -3
  211. package/src/sap/cux/home/Page.d.ts.map +1 -1
  212. package/src/sap/cux/home/Page.gen.d.ts +0 -12
  213. package/src/sap/cux/home/Page.js +0 -7
  214. package/src/sap/cux/home/Page.js.map +1 -1
  215. package/src/sap/cux/home/Page.ts +0 -7
  216. package/src/sap/cux/home/PagePanel.d.ts +0 -4
  217. package/src/sap/cux/home/PagePanel.d.ts.map +1 -1
  218. package/src/sap/cux/home/PagePanel.js +0 -4
  219. package/src/sap/cux/home/PagePanel.js.map +1 -1
  220. package/src/sap/cux/home/PagePanel.ts +0 -4
  221. package/src/sap/cux/home/PageSettingsPanel.d.ts +0 -3
  222. package/src/sap/cux/home/PageSettingsPanel.d.ts.map +1 -1
  223. package/src/sap/cux/home/PageSettingsPanel.js +3 -5
  224. package/src/sap/cux/home/PageSettingsPanel.js.map +1 -1
  225. package/src/sap/cux/home/PageSettingsPanel.ts +3 -5
  226. package/src/sap/cux/home/RecentAppPanel.d.ts +0 -1
  227. package/src/sap/cux/home/RecentAppPanel.d.ts.map +1 -1
  228. package/src/sap/cux/home/RecentAppPanel.js +0 -1
  229. package/src/sap/cux/home/RecentAppPanel.js.map +1 -1
  230. package/src/sap/cux/home/RecentAppPanel.ts +0 -1
  231. package/src/sap/cux/home/RecommendedAppPanel.d.ts +0 -1
  232. package/src/sap/cux/home/RecommendedAppPanel.d.ts.map +1 -1
  233. package/src/sap/cux/home/RecommendedAppPanel.js +0 -1
  234. package/src/sap/cux/home/RecommendedAppPanel.js.map +1 -1
  235. package/src/sap/cux/home/RecommendedAppPanel.ts +0 -1
  236. package/src/sap/cux/home/SettingsDialog.d.ts +0 -3
  237. package/src/sap/cux/home/SettingsDialog.d.ts.map +1 -1
  238. package/src/sap/cux/home/SettingsDialog.js +2 -4
  239. package/src/sap/cux/home/SettingsDialog.js.map +1 -1
  240. package/src/sap/cux/home/SettingsDialog.ts +2 -4
  241. package/src/sap/cux/home/SituationPanel.d.ts +0 -1
  242. package/src/sap/cux/home/SituationPanel.d.ts.map +1 -1
  243. package/src/sap/cux/home/SituationPanel.js +0 -1
  244. package/src/sap/cux/home/SituationPanel.js.map +1 -1
  245. package/src/sap/cux/home/SituationPanel.ts +0 -1
  246. package/src/sap/cux/home/SpaceInsightsPanel.d.ts +207 -0
  247. package/src/sap/cux/home/SpaceInsightsPanel.d.ts.map +1 -0
  248. package/src/sap/cux/home/SpaceInsightsPanel.gen.d.ts +200 -0
  249. package/src/sap/cux/home/SpaceInsightsPanel.js +789 -0
  250. package/src/sap/cux/home/SpaceInsightsPanel.js.map +1 -0
  251. package/src/sap/cux/home/SpaceInsightsPanel.ts +631 -0
  252. package/src/sap/cux/home/SpacePanel.d.ts +117 -0
  253. package/src/sap/cux/home/SpacePanel.d.ts.map +1 -0
  254. package/src/sap/cux/home/SpacePanel.gen.d.ts +77 -0
  255. package/src/sap/cux/home/SpacePanel.js +599 -0
  256. package/src/sap/cux/home/SpacePanel.js.map +1 -0
  257. package/src/sap/cux/home/SpacePanel.ts +461 -0
  258. package/src/sap/cux/home/TaskPanel.d.ts +0 -1
  259. package/src/sap/cux/home/TaskPanel.d.ts.map +1 -1
  260. package/src/sap/cux/home/TaskPanel.js +8 -20
  261. package/src/sap/cux/home/TaskPanel.js.map +1 -1
  262. package/src/sap/cux/home/TaskPanel.ts +9 -20
  263. package/src/sap/cux/home/TilesPanel.d.ts +0 -1
  264. package/src/sap/cux/home/TilesPanel.d.ts.map +1 -1
  265. package/src/sap/cux/home/TilesPanel.js +5 -6
  266. package/src/sap/cux/home/TilesPanel.js.map +1 -1
  267. package/src/sap/cux/home/TilesPanel.ts +5 -12
  268. package/src/sap/cux/home/ToDoPanel.d.ts +11 -1
  269. package/src/sap/cux/home/ToDoPanel.d.ts.map +1 -1
  270. package/src/sap/cux/home/ToDoPanel.js +59 -22
  271. package/src/sap/cux/home/ToDoPanel.js.map +1 -1
  272. package/src/sap/cux/home/ToDoPanel.ts +63 -22
  273. package/src/sap/cux/home/ToDosContainer.d.ts +0 -2
  274. package/src/sap/cux/home/ToDosContainer.d.ts.map +1 -1
  275. package/src/sap/cux/home/ToDosContainer.js +2 -3
  276. package/src/sap/cux/home/ToDosContainer.js.map +1 -1
  277. package/src/sap/cux/home/ToDosContainer.ts +1 -2
  278. package/src/sap/cux/home/i18n/messagebundle.properties +22 -13
  279. package/src/sap/cux/home/i18n/messagebundle_ar.properties +6 -3
  280. package/src/sap/cux/home/i18n/messagebundle_bg.properties +6 -3
  281. package/src/sap/cux/home/i18n/messagebundle_ca.properties +6 -3
  282. package/src/sap/cux/home/i18n/messagebundle_cnr.properties +6 -3
  283. package/src/sap/cux/home/i18n/messagebundle_cs.properties +6 -3
  284. package/src/sap/cux/home/i18n/messagebundle_cy.properties +6 -3
  285. package/src/sap/cux/home/i18n/messagebundle_da.properties +6 -3
  286. package/src/sap/cux/home/i18n/messagebundle_de.properties +6 -3
  287. package/src/sap/cux/home/i18n/messagebundle_el.properties +6 -3
  288. package/src/sap/cux/home/i18n/messagebundle_en.properties +6 -3
  289. package/src/sap/cux/home/i18n/messagebundle_en_GB.properties +6 -3
  290. package/src/sap/cux/home/i18n/messagebundle_en_US_sappsd.properties +65 -13
  291. package/src/sap/cux/home/i18n/messagebundle_en_US_saprigi.properties +19 -9
  292. package/src/sap/cux/home/i18n/messagebundle_en_US_saptrc.properties +57 -11
  293. package/src/sap/cux/home/i18n/messagebundle_es.properties +6 -3
  294. package/src/sap/cux/home/i18n/messagebundle_es_MX.properties +6 -3
  295. package/src/sap/cux/home/i18n/messagebundle_et.properties +6 -3
  296. package/src/sap/cux/home/i18n/messagebundle_fi.properties +6 -3
  297. package/src/sap/cux/home/i18n/messagebundle_fr.properties +6 -3
  298. package/src/sap/cux/home/i18n/messagebundle_fr_CA.properties +6 -3
  299. package/src/sap/cux/home/i18n/messagebundle_hi.properties +6 -3
  300. package/src/sap/cux/home/i18n/messagebundle_hr.properties +6 -3
  301. package/src/sap/cux/home/i18n/messagebundle_hu.properties +6 -3
  302. package/src/sap/cux/home/i18n/messagebundle_id.properties +6 -3
  303. package/src/sap/cux/home/i18n/messagebundle_it.properties +6 -3
  304. package/src/sap/cux/home/i18n/messagebundle_iw.properties +6 -3
  305. package/src/sap/cux/home/i18n/messagebundle_ja.properties +6 -3
  306. package/src/sap/cux/home/i18n/messagebundle_kk.properties +6 -3
  307. package/src/sap/cux/home/i18n/messagebundle_ko.properties +6 -3
  308. package/src/sap/cux/home/i18n/messagebundle_lt.properties +6 -3
  309. package/src/sap/cux/home/i18n/messagebundle_lv.properties +6 -3
  310. package/src/sap/cux/home/i18n/messagebundle_mk.properties +6 -3
  311. package/src/sap/cux/home/i18n/messagebundle_ms.properties +6 -3
  312. package/src/sap/cux/home/i18n/messagebundle_nl.properties +6 -3
  313. package/src/sap/cux/home/i18n/messagebundle_no.properties +6 -3
  314. package/src/sap/cux/home/i18n/messagebundle_pl.properties +6 -3
  315. package/src/sap/cux/home/i18n/messagebundle_pt.properties +6 -3
  316. package/src/sap/cux/home/i18n/messagebundle_pt_PT.properties +6 -3
  317. package/src/sap/cux/home/i18n/messagebundle_ro.properties +6 -3
  318. package/src/sap/cux/home/i18n/messagebundle_ru.properties +6 -3
  319. package/src/sap/cux/home/i18n/messagebundle_sh.properties +6 -3
  320. package/src/sap/cux/home/i18n/messagebundle_sk.properties +6 -3
  321. package/src/sap/cux/home/i18n/messagebundle_sl.properties +6 -3
  322. package/src/sap/cux/home/i18n/messagebundle_sr.properties +6 -3
  323. package/src/sap/cux/home/i18n/messagebundle_sv.properties +6 -3
  324. package/src/sap/cux/home/i18n/messagebundle_th.properties +6 -3
  325. package/src/sap/cux/home/i18n/messagebundle_tr.properties +6 -3
  326. package/src/sap/cux/home/i18n/messagebundle_uk.properties +6 -3
  327. package/src/sap/cux/home/i18n/messagebundle_vi.properties +6 -3
  328. package/src/sap/cux/home/i18n/messagebundle_zh_CN.properties +6 -3
  329. package/src/sap/cux/home/i18n/messagebundle_zh_TW.properties +6 -3
  330. package/src/sap/cux/home/interface/AppsInterface.d.ts +1 -0
  331. package/src/sap/cux/home/interface/AppsInterface.d.ts.map +1 -1
  332. package/src/sap/cux/home/interface/AppsInterface.js.map +1 -1
  333. package/src/sap/cux/home/interface/AppsInterface.ts +1 -0
  334. package/src/sap/cux/home/interface/CardsInterface.d.ts +1 -5
  335. package/src/sap/cux/home/interface/CardsInterface.d.ts.map +1 -1
  336. package/src/sap/cux/home/interface/CardsInterface.js.map +1 -1
  337. package/src/sap/cux/home/interface/CardsInterface.ts +1 -1
  338. package/src/sap/cux/home/library.d.ts +3 -4
  339. package/src/sap/cux/home/library.d.ts.map +1 -1
  340. package/src/sap/cux/home/library.js +3 -4
  341. package/src/sap/cux/home/library.js.map +1 -1
  342. package/src/sap/cux/home/library.ts +3 -4
  343. package/src/sap/cux/home/themes/base/ContentAdditionDialog.less +1 -9
  344. package/src/sap/cux/home/themes/base/InsightsContainer.less +4 -0
  345. package/src/sap/cux/home/themes/base/KeyUserSettingsDialog.less +0 -5
  346. package/src/sap/cux/home/themes/base/ToDosContainer.less +2 -1
  347. package/src/sap/cux/home/utils/Accessibility.js +2 -2
  348. package/src/sap/cux/home/utils/Accessibility.js.map +1 -1
  349. package/src/sap/cux/home/utils/Accessibility.ts +2 -2
  350. package/src/sap/cux/home/utils/AnalyticalCardSkeleton.d.ts +0 -1
  351. package/src/sap/cux/home/utils/AnalyticalCardSkeleton.d.ts.map +1 -1
  352. package/src/sap/cux/home/utils/AnalyticalCardSkeleton.js +0 -1
  353. package/src/sap/cux/home/utils/AnalyticalCardSkeleton.js.map +1 -1
  354. package/src/sap/cux/home/utils/AnalyticalCardSkeleton.ts +0 -1
  355. package/src/sap/cux/home/utils/AppManager.d.ts +4 -7
  356. package/src/sap/cux/home/utils/AppManager.d.ts.map +1 -1
  357. package/src/sap/cux/home/utils/AppManager.js +12 -13
  358. package/src/sap/cux/home/utils/AppManager.js.map +1 -1
  359. package/src/sap/cux/home/utils/AppManager.ts +20 -13
  360. package/src/sap/cux/home/utils/BatchHelper.d.ts +0 -3
  361. package/src/sap/cux/home/utils/BatchHelper.d.ts.map +1 -1
  362. package/src/sap/cux/home/utils/BatchHelper.js +0 -3
  363. package/src/sap/cux/home/utils/BatchHelper.js.map +1 -1
  364. package/src/sap/cux/home/utils/BatchHelper.ts +0 -3
  365. package/src/sap/cux/home/utils/CommonUtils.d.ts +9 -0
  366. package/src/sap/cux/home/utils/CommonUtils.d.ts.map +1 -1
  367. package/src/sap/cux/home/utils/CommonUtils.js +23 -2
  368. package/src/sap/cux/home/utils/CommonUtils.js.map +1 -1
  369. package/src/sap/cux/home/utils/CommonUtils.ts +28 -1
  370. package/src/sap/cux/home/utils/Constants.d.ts +4 -5
  371. package/src/sap/cux/home/utils/Constants.d.ts.map +1 -1
  372. package/src/sap/cux/home/utils/Constants.js +5 -5
  373. package/src/sap/cux/home/utils/Constants.js.map +1 -1
  374. package/src/sap/cux/home/utils/Constants.ts +4 -5
  375. package/src/sap/cux/home/utils/DecisionDialog.d.ts +0 -3
  376. package/src/sap/cux/home/utils/DecisionDialog.d.ts.map +1 -1
  377. package/src/sap/cux/home/utils/DecisionDialog.js +0 -3
  378. package/src/sap/cux/home/utils/DecisionDialog.js.map +1 -1
  379. package/src/sap/cux/home/utils/DecisionDialog.ts +0 -3
  380. package/src/sap/cux/home/utils/FESRUtil.js +1 -1
  381. package/src/sap/cux/home/utils/FESRUtil.js.map +1 -1
  382. package/src/sap/cux/home/utils/FESRUtil.ts +1 -1
  383. package/src/sap/cux/home/utils/FeatureUtils.d.ts +20 -13
  384. package/src/sap/cux/home/utils/FeatureUtils.d.ts.map +1 -1
  385. package/src/sap/cux/home/utils/FeatureUtils.js +33 -29
  386. package/src/sap/cux/home/utils/FeatureUtils.js.map +1 -1
  387. package/src/sap/cux/home/utils/FeatureUtils.ts +38 -31
  388. package/src/sap/cux/home/utils/HttpHelper.d.ts +7 -3
  389. package/src/sap/cux/home/utils/HttpHelper.d.ts.map +1 -1
  390. package/src/sap/cux/home/utils/HttpHelper.js +43 -3
  391. package/src/sap/cux/home/utils/HttpHelper.js.map +1 -1
  392. package/src/sap/cux/home/utils/HttpHelper.ts +25 -3
  393. package/src/sap/cux/home/utils/KeyUserPersonalization.d.ts.map +1 -1
  394. package/src/sap/cux/home/utils/KeyUserPersonalization.js +32 -13
  395. package/src/sap/cux/home/utils/KeyUserPersonalization.js.map +1 -1
  396. package/src/sap/cux/home/utils/KeyUserPersonalization.ts +2 -3
  397. package/src/sap/cux/home/utils/PageManager.d.ts +0 -3
  398. package/src/sap/cux/home/utils/PageManager.d.ts.map +1 -1
  399. package/src/sap/cux/home/utils/PageManager.js +0 -3
  400. package/src/sap/cux/home/utils/PageManager.js.map +1 -1
  401. package/src/sap/cux/home/utils/PageManager.ts +0 -3
  402. package/src/sap/cux/home/utils/PersonalisationUtils.d.ts +0 -3
  403. package/src/sap/cux/home/utils/PersonalisationUtils.d.ts.map +1 -1
  404. package/src/sap/cux/home/utils/PersonalisationUtils.js +0 -3
  405. package/src/sap/cux/home/utils/PersonalisationUtils.js.map +1 -1
  406. package/src/sap/cux/home/utils/PersonalisationUtils.ts +0 -3
  407. package/src/sap/cux/home/utils/UshellPersonalizer.d.ts +0 -3
  408. package/src/sap/cux/home/utils/UshellPersonalizer.d.ts.map +1 -1
  409. package/src/sap/cux/home/utils/UshellPersonalizer.js +0 -3
  410. package/src/sap/cux/home/utils/UshellPersonalizer.js.map +1 -1
  411. package/src/sap/cux/home/utils/UshellPersonalizer.ts +0 -3
  412. package/src/sap/cux/home/utils/fragment/appsAdditionContent.fragment.xml +20 -16
  413. package/src/sap/cux/home/{AppsContainerGenericPlaceholder.d.ts → utils/placeholder/AppsPlaceholder.d.ts} +2 -2
  414. package/src/sap/cux/home/utils/placeholder/AppsPlaceholder.d.ts.map +1 -0
  415. package/src/sap/cux/home/{AppsContainerGenericPlaceholder.js → utils/placeholder/AppsPlaceholder.js} +1 -1
  416. package/src/sap/cux/home/utils/placeholder/AppsPlaceholder.js.map +1 -0
  417. package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.d.ts +8 -0
  418. package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.d.ts.map +1 -0
  419. package/src/sap/cux/home/{InsightsContainerGenericPlaceholder.js → utils/placeholder/InsightsPlaceholder.js} +1 -1
  420. package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.js.map +1 -0
  421. package/src/sap/cux/home/{InsightsContainerGenericPlaceholder.d.ts → utils/placeholder/NewsAndPagesPlaceholder.d.ts} +3 -3
  422. package/src/sap/cux/home/utils/placeholder/NewsAndPagesPlaceholder.d.ts.map +1 -0
  423. package/src/sap/cux/home/{NewsAndPagesContainerGenericPlaceholder.js → utils/placeholder/NewsAndPagesPlaceholder.js} +1 -1
  424. package/src/sap/cux/home/utils/placeholder/NewsAndPagesPlaceholder.js.map +1 -0
  425. package/src/sap/cux/home/{ToDosContainerGenericPlaceholder.d.ts → utils/placeholder/ToDosPlaceholder.d.ts} +2 -2
  426. package/src/sap/cux/home/utils/placeholder/ToDosPlaceholder.d.ts.map +1 -0
  427. package/src/sap/cux/home/{ToDosContainerGenericPlaceholder.js → utils/placeholder/ToDosPlaceholder.js} +1 -1
  428. package/src/sap/cux/home/utils/placeholder/ToDosPlaceholder.js.map +1 -0
  429. package/src/sap/cux/home/AppsContainerGenericPlaceholder.d.ts.map +0 -1
  430. package/src/sap/cux/home/AppsContainerGenericPlaceholder.js.map +0 -1
  431. package/src/sap/cux/home/InsightsContainerGenericPlaceholder.d.ts.map +0 -1
  432. package/src/sap/cux/home/InsightsContainerGenericPlaceholder.js.map +0 -1
  433. package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder.d.ts +0 -8
  434. package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder.d.ts.map +0 -1
  435. package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder.js.map +0 -1
  436. package/src/sap/cux/home/ToDosContainerGenericPlaceholder.d.ts.map +0 -1
  437. package/src/sap/cux/home/ToDosContainerGenericPlaceholder.js.map +0 -1
  438. package/src/sap/cux/home/utils/CardSkeleton.d.ts +0 -54
  439. package/src/sap/cux/home/utils/CardSkeleton.d.ts.map +0 -1
  440. package/src/sap/cux/home/utils/CardSkeleton.js +0 -61
  441. package/src/sap/cux/home/utils/CardSkeleton.js.map +0 -1
  442. package/src/sap/cux/home/utils/CardSkeleton.ts +0 -53
  443. /package/src/sap/cux/home/{AppsContainerGenericPlaceholder.ts → utils/placeholder/AppsPlaceholder.ts} +0 -0
  444. /package/src/sap/cux/home/{InsightsContainerGenericPlaceholder.ts → utils/placeholder/InsightsPlaceholder.ts} +0 -0
  445. /package/src/sap/cux/home/{NewsAndPagesContainerGenericPlaceholder.ts → utils/placeholder/NewsAndPagesPlaceholder.ts} +0 -0
  446. /package/src/sap/cux/home/{ToDosContainerGenericPlaceholder.ts → utils/placeholder/ToDosPlaceholder.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"AppManager.js","names":["sap","ui","define","Log","ResourceBundle","VersionInfo","BaseObject","ODataModelV2","Config","Container","___AnalyticalCardSkeleton","___Constants","___DataFormatUtils","__HttpHelper","__RecommendedCardUtil","_interopRequireDefault","obj","__esModule","default","_iteratorSymbol","Symbol","iterator","_settle","pact","state","value","s","_Pact","v","o","bind","then","observer","prototype","onFulfilled","onRejected","result","callback","e","_this","_isSettledPact","thenable","_forTo","array","body","check","i","reject","_cycle","length","AnalyticalCardSkeleton","_forOf","target","step","next","done","return","_fixup","TypeError","values","push","COLUMN_LENGTH","_catch","recover","DEFAULT_BG_COLOR","FALLBACK_ICON","MYHOME_PAGE_ID","MYHOME_SPACE_ID","MYINSIGHT_SECTION_ID","RECOMMENDATION_SRVC_URL","RECOMMENDED_CARD_LIMIT","createBookMarkData","getLeanURL","HttpHelper","RecommendedCardUtil","CONSTANTS","MUST_INCLUDE_RECOMMEDED_APPS","_parseSBParameters","oParam","oParsedParams","JSON","parse","oError","error","Error","message","String","undefined","_getTileProperties","vizConfigFLP","oTileProperties","_instantiationData","chip","configuration","oConfig","tileConfiguration","oTileConfig","TILE_PROPERTIES","_getAppId","sAppId","semanticObject","action","semanticAction","_getTargetUrl","sTargetURL","evaluationId","_isSmartBusinessTile","oVisualization","vizType","startsWith","_getAppTitleSubTitle","oApp","oAppTileInfo","bags","sb_tileProperties","texts","title","subtitle","description","_linkDuplicateVizs","aVizs","forEach","oDuplicateViz","filter","oViz","appId","visualization","id","persConfig","sectionIndex","duplicateApps","_isGUIVisualization","parameters","_isMustIncludeRecommendation","recViz","fioriId","includes","_isVisualizationAlreadyAdded","favoriteVisualizations","some","favViz","AppManager","aRequestQueue","bInsightsSectionPresent","vizDataModified","_oVizCacheData","_favPageVisualizations","componentData","fioriAppData","constructor","recommendedUtilInstance","getInstance","Instance","_fetchRequestFromQueue","bForceRefresh","pageId","Promise","resolve","getServiceAsync","oSpaceContentService","oPageLoadPromise","oRequestedPage","find","oRequest","getPage","pageLoadPromise","_fetchDynamicVizs","fetchFavVizs","aFavApps","oDynApp","isCount","isSmartBusinessTile","_getSections","_this2","oPage","aSections","sections","iRecentAppSectionIndex","findIndex","oSection","_temp2","_temp","_oMoveAppsPromise","moveSection","_fetchMyHomeVizs","_this3","oVizInstantiationService","iSectionIndex","visualizations","iVisualizationIndex","vizConfig","oVizInfo","oldAppId","targetURL","url","leanURL","BGColor","key","isFav","isSection","icon","icons","indicatorDataSource","path","contentProviderId","instantiateVisualization","setActive","vizInstance","sectionTitle","sectionId","visualizationIndex","isDefaultSection","isPresetSection","preset","_copyDynamicVizs","_this4","aDynamicVizs","all","map","oDynViz","addVisualization","vizId","bPreventGrouping","_this5","aMyHomeVizs","aVisibleFavVizs","_filterDuplicateVizs","_addGroupInformation","fetchInsightApps","sSectionTitle","_this6","_temp5","fnFetchInsightsApps","_temp4","insightsSectionIndex","_temp3","last","addSection","sectionProperties","visualizationId","spaceContentService","removeVisualizations","vizIds","_this7","_temp7","targetSection","_temp6","deleteVisualization","updateVisualizations","sourceSectionIndex","sourceVisualizationIndex","oVisualizationData","updateVisualization","createInsightSection","_exit","_this8","_temp9","_result","_temp8","iMyInsightSectionIndex","_this8$addSection","visible","mProperties","getSectionVisualizations","forceRefresh","_this9","aApps","apps","addBookMark","bookmark","moveConfig","_this0","oBookmarkService","getContentNodes","aContentNodes","oMyHomeSpace","contentNode","children","addBookmark","moveVisualization","getVisualization","_this1","sectionVisualizations","sectionVisualization","_this10","targetSectionIndex","targetVisualizationIndex","aVisibleFavoriteVizs","bReturnDuplicateVizs","iVizIndex","iFirstIndex","oTempApp","aFavoriteVizs","aRecentVizs","oExistingSection","index","badge","toString","oPagesService","iPageIndex","getPageIndex","isURLParamEnabled","param","urlParams","URLSearchParams","window","location","search","get","toLowerCase","_getRecommenedFioriIds","_exit2","_this11","_temp1","_result3","recommendedFioriIds","_temp0","GetJSON","_HttpHelper$GetJSON","response","app_id","_Promise$resolve","_getCatalogApps","_exit3","_this12","_temp12","_result4","catalogAppData","_temp11","SearchableContent","getApps","includeAppsWithoutVisualizations","_this12$catalogAppDat","_temp10","isAddCardToInsightsHidden","page","component","settings","tableSettings","addCardtoInsightsHidden","_checkValidManifests","manifest","dataSources","hasRequiredDataSource","mainService","pages","Array","isArray","_isListReport","pageValues","Object","_getOdataModel","oManifest","datasource","annotationUrls","annotations","name","uri","Boolean","oDataModel","annotationURI","loadAnnotationsJoined","attachMetadataLoaded","attachMetadataFailed","_getEntitySet","entitySet","loadI18n","manifestUrl","_this13","_temp14","_RBManifestMap","absoluteUrl","i18nBundleUrl","URL","href","_temp13","create","bundleUrl","async","terminologies","oResourceBundle","getI18nValueOrDefaultString","sValue","oRB","sPath","substring","getText","_getAnalyticalCardManifest","stringify","getProcessedManifest","metaModel","manifestObj","parentApp","versionInfo","_this14","_temp17","_createCardManifest","cardInput","suppressRowNavigation","mainEntitySetName","mainEntitySet","getODataEntitySet","lineItemDetails","getLineItemDetails","lineItem","entitySetName","entityType","getODataEntityType","lrSettings","hasMandatoryProperties","property","parameterDetails","_getParametersisedEntitySetParams","paramEntitySet","_getManifestCardData","columns","headerInfo","cardTitle","TypeNamePlural","_temp16","i18n","appTitle","_temp15","i18nResourceBundle","fetchMetaModels","validManifests","_this15","odataPromises","_this15$_getOdataMode","getMetaModel","combineManifestsAndMetaModels","aMetaModel","reduce","combined","processManifests","combinedDetails","aCSTR","_this16","item","resolutionResult","ui5ComponentName","processAppList","aList","aAppComponentIds","aComponent","list","oComponent","oData","matchingData","entry","_getCardManifest","_this17","getFioriAppData","aCatalog","aFioriData","load","_VersionInfo$load","flat","processedList","fetchManifests","manifests","cards","card","appIdList","fioriData","catalogData","appPromises","_exit4","aApp","_temp18","catalog","applicationDependencies","fetch","json","_response$json","_url$manifest","_result6","results","_removeDuplicateCards","aCards","oCardDict","aResult","oCard","sCardTitle","descriptorContent","header","getRecommenedCards","_this18","aAppIds","aManifests","aRecManifests","slice","aRecommendedCards","rec","getRecommendedVisualizations","_this19","_temp21","_recommendedVisualizations","_temp20","_temp19","finalRecommendations","mustIncludeRecommendations","_getVisualizationsByFioriIds","recommendedVisualizations","concat","_getInboundApps","service","_oAdapter","_aInbounds","_this20","_temp23","_temp22","keys","inbounds","oItem","signature","defaultValue","componentId","semanticData","combinedData","fioriIds","_this21","visitedVisualizations","Map","catalogApps","authorizedApps","inbound","app","matchingVizualizations","catalogApp","guiVisualizations","matchingVizualization","nonGuiVisualizations","recommendedVisualization","has","set","_getAllFavPageApps","shouldReload","_exit5","_this22","_temp25","_result7","_temp24","loadedPages","pageIDs","pageIds","shouldLoadMissingApps","every","_this22$_favPageVisua","_loadAllPageVisualizations","_this22$_loadAllPageV","_this22$_favPageVisua2","shouldFetchDistinctApps","_this23","getBgColor","favPageVisualizations","loadPages","aPages","section","oVizApp","_this24"],"sources":["AppManager.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Log from \"sap/base/Log\";\nimport ResourceBundle from \"sap/base/i18n/ResourceBundle\";\nimport VersionInfo from \"sap/ui/VersionInfo\";\nimport BaseObject from \"sap/ui/base/Object\";\nimport ODataMetaModel, { Property } from \"sap/ui/model/odata/ODataMetaModel\";\nimport ODataModelV2 from \"sap/ui/model/odata/v2/ODataModel\";\nimport Config from \"sap/ushell/Config\";\nimport Container from \"sap/ushell/Container\";\nimport Bookmark from \"sap/ushell/services/BookmarkV2\";\nimport ClientSideTargetResolution from \"sap/ushell/services/ClientSideTargetResolution\";\nimport SearchableContent, { AppData } from \"sap/ushell/services/SearchableContent\";\nimport SpaceContent from \"sap/ushell/services/SpaceContent\";\nimport VisualizationInstantiation from \"sap/ushell/services/VisualizationInstantiation\";\nimport {\n\tICustomVisualization,\n\tICustomVizInstance,\n\tIParseSBParameters,\n\tISection,\n\tISectionAndVisualization,\n\tIVisualization\n} from \"../interface/AppsInterface\";\nimport {\n\tIAppInfo,\n\tIAppInfoData,\n\tIAppManifest,\n\tICard,\n\tICardDetails,\n\tICardManifest,\n\tIEntitySet,\n\tIEntityType,\n\tIHeaderInfo,\n\tIPageType,\n\tIVersionInfo,\n\tPageRecord\n} from \"../interface/CardsInterface\";\nimport { IPage } from \"../interface/PageSpaceInterface\";\nimport { AnalyticalCardSkeleton } from \"./AnalyticalCardSkeleton\";\nimport {\n\tCOLUMN_LENGTH,\n\tDEFAULT_BG_COLOR,\n\tFALLBACK_ICON,\n\tMYHOME_PAGE_ID,\n\tMYHOME_SPACE_ID,\n\tMYINSIGHT_SECTION_ID,\n\tRECOMMENDATION_SRVC_URL,\n\tRECOMMENDED_CARD_LIMIT\n} from \"./Constants\";\nimport { createBookMarkData, getLeanURL } from \"./DataFormatUtils\";\nimport HttpHelper from \"./HttpHelper\";\nimport RecommendedCardUtil from \"./RecommendedCardUtil\";\n\nconst CONSTANTS = {\n\tMUST_INCLUDE_RECOMMEDED_APPS: [\"F0862\", \"F1823\"] //My Inbox and Manage Timesheet apps\n};\n\ninterface ICombinedManifestDetails {\n\tmanifest: IValidManifest;\n\tmetaModel: ODataMetaModel;\n}\n\ninterface IValidManifest {\n\turl: string;\n\tmanifest: IAppManifest;\n}\n\nconst _parseSBParameters = (oParam: object | string | undefined): IParseSBParameters | undefined => {\n\tlet oParsedParams: IParseSBParameters | undefined = {};\n\tif (oParam) {\n\t\tif (typeof oParam === \"object\") {\n\t\t\toParsedParams = oParam;\n\t\t} else {\n\t\t\ttry {\n\t\t\t\toParsedParams = JSON.parse(oParam) as object;\n\t\t\t} catch (oError) {\n\t\t\t\tLog.error(oError instanceof Error ? oError.message : String(oError));\n\t\t\t\toParsedParams = undefined;\n\t\t\t}\n\t\t}\n\t}\n\treturn oParsedParams;\n};\n\nconst _getTileProperties = (vizConfigFLP?: IVisualization): IParseSBParameters | undefined => {\n\tlet oTileProperties: IParseSBParameters | undefined = {};\n\tif (vizConfigFLP?._instantiationData?.chip?.configuration) {\n\t\tconst oConfig: IParseSBParameters | undefined = _parseSBParameters(vizConfigFLP._instantiationData.chip.configuration);\n\t\tif (oConfig?.tileConfiguration) {\n\t\t\tconst oTileConfig: IParseSBParameters | undefined = _parseSBParameters(oConfig.tileConfiguration);\n\t\t\tif (oTileConfig) {\n\t\t\t\toTileProperties = _parseSBParameters(oTileConfig.TILE_PROPERTIES);\n\t\t\t}\n\t\t}\n\t}\n\treturn oTileProperties;\n};\n\nconst _getAppId = (vizConfigFLP: IVisualization | undefined): string => {\n\tlet sAppId = \"\";\n\tlet oTileProperties: IParseSBParameters | undefined = {};\n\tif (vizConfigFLP?.target?.semanticObject && vizConfigFLP?.target?.action) {\n\t\tsAppId = `#${vizConfigFLP.target.semanticObject}-${vizConfigFLP.target.action}`;\n\t} else if (vizConfigFLP?._instantiationData?.chip?.configuration) {\n\t\toTileProperties = _getTileProperties(vizConfigFLP);\n\t\tif (oTileProperties?.semanticObject && oTileProperties?.semanticAction) {\n\t\t\tsAppId = `#${oTileProperties?.semanticObject}-${oTileProperties?.semanticAction}`;\n\t\t}\n\t}\n\treturn sAppId;\n};\n\nconst _getTargetUrl = (vizConfigFLP: IVisualization | undefined) => {\n\tlet sTargetURL = _getAppId(vizConfigFLP) || \"\";\n\tconst oTileProperties = _getTileProperties(vizConfigFLP);\n\tif (oTileProperties?.evaluationId) {\n\t\tsTargetURL += \"?EvaluationId=\" + oTileProperties.evaluationId;\n\t}\n\treturn sTargetURL;\n};\n\nconst _isSmartBusinessTile = (oVisualization: IVisualization): boolean => {\n\treturn oVisualization.vizType?.startsWith(\"X-SAP-UI2-CHIP:SSB\");\n};\n\n// get App Title in case of value not present at root level\nconst _getAppTitleSubTitle = (oApp: IVisualization, vizConfigFLP: IVisualization): { title: string; subtitle: string } => {\n\tconst oAppTileInfo = vizConfigFLP?._instantiationData?.chip?.bags?.sb_tileProperties?.texts;\n\treturn {\n\t\ttitle: oApp.title ? oApp.title : oAppTileInfo?.title || \"\",\n\t\tsubtitle: oApp.subtitle ? oApp.subtitle : oAppTileInfo?.description || \"\"\n\t};\n};\n\n/**\n * Link Duplicate Visualizations to a single visualization\n *\n * @param {object[]} aVizs - array of visualizations\n * @returns {object[]} arry of visualizations after linking duplicate visualizations\n * @private\n */\nconst _linkDuplicateVizs = (aVizs: ICustomVisualization[]) => {\n\taVizs.forEach((oDuplicateViz) => {\n\t\taVizs\n\t\t\t.filter(\n\t\t\t\t(oViz) =>\n\t\t\t\t\toViz.appId === oDuplicateViz.appId &&\n\t\t\t\t\toViz?.visualization?.id !== oDuplicateViz?.visualization?.id &&\n\t\t\t\t\toViz.persConfig?.sectionIndex === oDuplicateViz.persConfig?.sectionIndex\n\t\t\t)\n\t\t\t.forEach((oViz) => {\n\t\t\t\toViz?.persConfig?.duplicateApps?.push(oDuplicateViz);\n\t\t\t});\n\t});\n\n\treturn aVizs;\n};\n\nconst _isGUIVisualization = (visualization: AppData) => {\n\treturn visualization?.target?.parameters?.[\"sap-ui-tech-hint\"]?.value?.value === \"GUI\";\n};\n\nconst _isMustIncludeRecommendation = (recViz: ICustomVisualization) => {\n\treturn recViz.fioriId && CONSTANTS.MUST_INCLUDE_RECOMMEDED_APPS.includes(recViz.fioriId);\n};\n\nconst _isVisualizationAlreadyAdded = (visualization: ICustomVisualization, favoriteVisualizations: ICustomVisualization[]) => {\n\treturn !favoriteVisualizations.some(\n\t\t(favViz) =>\n\t\t\tfavViz.visualization?.target?.semanticObject === visualization.visualization?.target?.semanticObject &&\n\t\t\tfavViz.visualization?.target?.action === visualization.visualization?.target?.action\n\t);\n};\n\n/**\n *\n * @class Provides the AppManager Class used for fetch and process user apps.\n *\n * @extends sap.ui.BaseObject\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121.0\n *\n * @private\n * @experimental Since 1.121\n * @hidden\n *\n * @alias sap.cux.home.util.AppManager\n */\n\nexport default class AppManager extends BaseObject {\n\tprivate aRequestQueue: { pageId: string; pageLoadPromise: Promise<IPage> }[] = [];\n\tprivate _oMoveAppsPromise!: Promise<void>;\n\tprivate bInsightsSectionPresent: boolean = false;\n\tpublic insightsSectionIndex!: number;\n\tstatic Instance: AppManager;\n\tprivate recommendedFioriIds!: string[];\n\tprivate versionInfo!: IVersionInfo;\n\tprivate _RBManifestMap!: Record<string, ResourceBundle>;\n\tprivate _recommendedVisualizations!: ICustomVisualization[];\n\tprivate vizDataModified: boolean = false;\n\tprivate _oVizCacheData: { [key: string]: ICustomVizInstance } = {};\n\tprivate _favPageVisualizations: ICustomVisualization[] = [];\n\tprivate componentData: IAppInfo = {};\n\tprivate fioriAppData: IAppInfo = {};\n\tprivate recommendedUtilInstance: RecommendedCardUtil;\n\tprivate catalogAppData!: Promise<AppData[]> | undefined;\n\n\tprivate constructor() {\n\t\tsuper();\n\t\tthis.recommendedUtilInstance = RecommendedCardUtil.getInstance();\n\t}\n\n\tstatic getInstance() {\n\t\tif (!AppManager.Instance) {\n\t\t\tAppManager.Instance = new AppManager();\n\t\t}\n\t\treturn AppManager.Instance;\n\t}\n\t/**\n\t * Returns page load promise from the request queue if it exists, adds it to the queue if it doesn't\n\t *\n\t * @param {string} sPageId - page id\n\t * @param {boolean} bForceRefresh - force reload of data if true\n\t * @returns {Promise} - returns a promise which resolves with the requested page data\n\t * @private\n\t */\n\tprivate async _fetchRequestFromQueue(bForceRefresh: boolean, pageId: string = MYHOME_PAGE_ID): Promise<IPage> {\n\t\tconst oSpaceContentService = await Container.getServiceAsync<SpaceContent>(\"SpaceContent\");\n\t\tlet oPageLoadPromise: Promise<IPage>;\n\t\tthis.aRequestQueue = this.aRequestQueue || [];\n\n\t\t//Check if request already exists in the queue, if not add it\n\t\tconst oRequestedPage = this.aRequestQueue.find((oRequest) => oRequest.pageId === pageId);\n\t\tif (!oRequestedPage || bForceRefresh === true || this.vizDataModified === true) {\n\t\t\tthis.vizDataModified = false;\n\t\t\toPageLoadPromise = oSpaceContentService.getPage(pageId);\n\t\t\tif (oRequestedPage) {\n\t\t\t\toRequestedPage.pageLoadPromise = oPageLoadPromise;\n\t\t\t} else {\n\t\t\t\tthis.aRequestQueue.push({\n\t\t\t\t\tpageId: pageId,\n\t\t\t\t\tpageLoadPromise: oPageLoadPromise\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\toPageLoadPromise = oRequestedPage.pageLoadPromise;\n\t\t}\n\n\t\treturn oPageLoadPromise;\n\t}\n\t/**\n\t * Returns all dynamic visualizations present in MyHome page\n\t *\n\t * @param {boolean} bForceRefresh - force reload of visualizations data\n\t * @returns {Promise} - resolves to array of all dynamic visualizations in MyHome page\n\t * @private\n\t */\n\tprivate _fetchDynamicVizs(bForceRefresh: boolean) {\n\t\treturn this.fetchFavVizs(bForceRefresh, true).then((aFavApps: ICustomVisualization[]) =>\n\t\t\taFavApps.filter((oDynApp) => oDynApp.isCount || oDynApp.isSmartBusinessTile)\n\t\t);\n\t}\n\t/**\n\t * Returns all the sections that are available in the MyHome page\n\t *\n\t * @param {boolean} bForceRefresh - force reload of visualizations data\n\t * @returns {Promise} - resolves to array of all sections available in MyHome page\n\t * @private\n\t */\n\tpublic async _getSections(bForceRefresh: boolean = false): Promise<ISection[]> {\n\t\tconst oPage: IPage = await this._fetchRequestFromQueue(bForceRefresh);\n\t\tconst aSections = (oPage && oPage.sections) || [],\n\t\t\tiRecentAppSectionIndex: number = aSections.findIndex((oSection) => oSection.default);\n\t\tif (iRecentAppSectionIndex > 0) {\n\t\t\tif (this._oMoveAppsPromise !== undefined) {\n\t\t\t\tthis._oMoveAppsPromise = this.moveSection(iRecentAppSectionIndex, 0);\n\t\t\t\tawait this._oMoveAppsPromise;\n\t\t\t}\n\t\t\treturn this._getSections(true);\n\t\t} else {\n\t\t\treturn aSections;\n\t\t}\n\t}\n\t/**\n\t * Models and returns all visualizations available in MyHome page\n\t *\n\t * @param {bool} bForceRefresh - force reload of visualizations data\n\t * @returns {Promise} - resolves to array of all apps available in MyHome page\n\t * @private\n\t */\n\tprivate async _fetchMyHomeVizs(bForceRefresh: boolean): Promise<ICustomVisualization[]> {\n\t\tconst aVizs: ICustomVisualization[] = [];\n\t\tthis._oVizCacheData = this._oVizCacheData || {};\n\t\tconst aSections = await this._getSections(bForceRefresh);\n\t\tconst oVizInstantiationService = await Container.getServiceAsync<VisualizationInstantiation>(\"VisualizationInstantiation\");\n\t\taSections.forEach((oSection: ISection, iSectionIndex: number) => {\n\t\t\toSection?.visualizations?.forEach((oVisualization: IVisualization, iVisualizationIndex: number) => {\n\t\t\t\tconst vizConfig = oVisualization.vizConfig,\n\t\t\t\t\toVizInfo = vizConfig?.[\"sap.app\"] || ({ title: \"?\" } as IVisualization),\n\t\t\t\t\toViz = {} as ICustomVisualization;\n\n\t\t\t\toViz.oldAppId = _getAppId(vizConfig?.[\"sap.flp\"]);\n\t\t\t\toViz.appId = oVisualization?.targetURL; // Using targetURL as unique identifier as in certian scenario vizConfig can be empty.\n\t\t\t\toViz.url = oVisualization?.targetURL;\n\t\t\t\tif (!oViz.url && _isSmartBusinessTile(oVisualization)) {\n\t\t\t\t\toViz.url = _getTargetUrl(vizConfig?.[\"sap.flp\"]);\n\t\t\t\t}\n\t\t\t\toViz.leanURL = getLeanURL(oViz.url);\n\t\t\t\toViz.title = oVisualization?.title || _getAppTitleSubTitle(oVizInfo, oVisualization)?.title;\n\t\t\t\toViz.subtitle = oVisualization.subtitle || _getAppTitleSubTitle(oVizInfo, oVisualization).subtitle;\n\t\t\t\toViz.BGColor = DEFAULT_BG_COLOR().key;\n\t\t\t\toViz.isFav = true;\n\t\t\t\toViz.isSection = false;\n\t\t\t\toViz.icon = vizConfig?.[\"sap.ui\"]?.icons?.icon || FALLBACK_ICON;\n\t\t\t\tif (oVisualization?.indicatorDataSource) {\n\t\t\t\t\toViz.isCount = true;\n\t\t\t\t\toViz.indicatorDataSource = oVisualization.indicatorDataSource.path;\n\t\t\t\t\toViz.contentProviderId = oVisualization.contentProviderId;\n\t\t\t\t}\n\t\t\t\toViz.isSmartBusinessTile = _isSmartBusinessTile(oVisualization);\n\t\t\t\tif (oViz.isSmartBusinessTile) {\n\t\t\t\t\tif (!this._oVizCacheData[oViz.appId]) {\n\t\t\t\t\t\tthis._oVizCacheData[oViz.appId] = oVizInstantiationService.instantiateVisualization(\n\t\t\t\t\t\t\toVisualization\n\t\t\t\t\t\t) as ICustomVizInstance;\n\t\t\t\t\t\tthis._oVizCacheData[oViz.appId].setActive(true);\n\t\t\t\t\t}\n\t\t\t\t\toViz.vizInstance = this._oVizCacheData[oViz.appId];\n\t\t\t\t}\n\t\t\t\t// Add FLP Personalization Config\n\t\t\t\toViz.persConfig = {\n\t\t\t\t\tpageId: MYHOME_PAGE_ID,\n\t\t\t\t\tsectionTitle: oSection.title,\n\t\t\t\t\tsectionId: oSection.id,\n\t\t\t\t\tsectionIndex: iSectionIndex,\n\t\t\t\t\tvisualizationIndex: iVisualizationIndex,\n\t\t\t\t\tisDefaultSection: oSection.default,\n\t\t\t\t\tisPresetSection: oSection.preset,\n\t\t\t\t\tduplicateApps: []\n\t\t\t\t};\n\t\t\t\toViz.visualization = oVisualization;\n\t\t\t\t// Title and Subtitle in visualization are required in Insights Dialog.\n\t\t\t\toViz.visualization.title = oViz.title;\n\t\t\t\toViz.visualization.subtitle = oViz.subtitle;\n\t\t\t\taVizs.push(oViz);\n\t\t\t});\n\t\t});\n\t\treturn aVizs;\n\t}\n\t/**\n\t * Copies all Dynamic visualizations to Insights section\n\t *\n\t * @returns {Promise} - resolves to void and copy all the visualizations\n\t * @private\n\t */\n\tprivate async _copyDynamicVizs() {\n\t\tconst aDynamicVizs: ICustomVisualization[] = await this._fetchDynamicVizs(true);\n\t\treturn Promise.all(\n\t\t\taDynamicVizs.map((oDynViz: ICustomVisualization) => {\n\t\t\t\treturn this.addVisualization(oDynViz.visualization!.vizId, MYINSIGHT_SECTION_ID);\n\t\t\t})\n\t\t);\n\t}\n\t/**\n\t * Returns a list of all favorite vizualizations in MyHome page\n\t *\n\t * @param {boolean} bForceRefresh - force reload of vizualizations data\n\t * @param {boolean} bPreventGrouping - prevent vizualizations grouping\n\t * @returns {Promise} - resolves to array of favourite vizualizations in MyHome page\n\t * @private\n\t */\n\tpublic async fetchFavVizs(bForceRefresh: boolean, bPreventGrouping?: boolean): Promise<ISectionAndVisualization[]> {\n\t\tconst aMyHomeVizs = await this._fetchMyHomeVizs(bForceRefresh);\n\t\tconst aVisibleFavVizs = aMyHomeVizs.filter(\n\t\t\t(oViz) => oViz.persConfig && oViz.persConfig.sectionId !== MYINSIGHT_SECTION_ID && oViz.url && oViz.title\n\t\t);\n\n\t\tif (bPreventGrouping) {\n\t\t\treturn this._filterDuplicateVizs(_linkDuplicateVizs(aVisibleFavVizs), false);\n\t\t} else {\n\t\t\treturn this._addGroupInformation(aVisibleFavVizs);\n\t\t}\n\t}\n\t/**\n\t * Returns all vizualizations present in the Insights Section\n\t *\n\t * @param {boolean} bForceRefresh - force reload insights vizualizations data\n\t * @param {string} sSectionTitle - optional, title of insights section to be used while creating insights section\n\t * @returns {Promise} - resolves to an array with all vizualizations in Insights section\n\t */\n\tpublic async fetchInsightApps(bForceRefresh: boolean, sSectionTitle: string) {\n\t\tconst fnFetchInsightsApps = async () => {\n\t\t\tconst aVizs = await this._fetchMyHomeVizs(bForceRefresh);\n\t\t\treturn aVizs.filter((oViz) => oViz.persConfig?.sectionId === MYINSIGHT_SECTION_ID && oViz.url && oViz.title);\n\t\t};\n\n\t\tif (!this.bInsightsSectionPresent) {\n\t\t\tconst aSections: ISection[] = await this._getSections(bForceRefresh);\n\t\t\tthis.insightsSectionIndex = aSections.findIndex(function (oSection) {\n\t\t\t\treturn oSection.id === MYINSIGHT_SECTION_ID;\n\t\t\t});\n\n\t\t\tif (\n\t\t\t\tthis.insightsSectionIndex === -1 &&\n\t\t\t\t(Config.last(\"/core/shell/enablePersonalization\") || Config.last(\"/core/catalog/enabled\")) &&\n\t\t\t\tthis.bInsightsSectionPresent === false\n\t\t\t) {\n\t\t\t\tthis.bInsightsSectionPresent = true;\n\t\t\t\tawait this.addSection({\n\t\t\t\t\tsectionIndex: aSections?.length,\n\t\t\t\t\tsectionProperties: {\n\t\t\t\t\t\tid: MYINSIGHT_SECTION_ID,\n\t\t\t\t\t\ttitle: sSectionTitle\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tawait this._copyDynamicVizs();\n\t\t\t} else {\n\t\t\t\tthis.bInsightsSectionPresent = true;\n\t\t\t}\n\t\t}\n\n\t\treturn await fnFetchInsightsApps();\n\t}\n\n\t/**\n\t * Add visualization to a particular section\n\t *\n\t * @param {string} visualizationId - The id of the visualization to add.\n\t * @param {string} sectionId - The id of the section the visualization should be added to (optional parameter)\n\t * @returns {Promise} resolves to void after adding app to a section\n\t * @private\n\t */\n\tpublic async addVisualization(visualizationId: string, sectionId: string | undefined = undefined): Promise<void> {\n\t\tconst spaceContentService = await Container.getServiceAsync<SpaceContent>(\"SpaceContent\");\n\t\tawait spaceContentService.addVisualization(MYHOME_PAGE_ID, sectionId, visualizationId);\n\t}\n\n\t/**\n\t * @param {object} mProperties - map of properties\n\t * @param {string} mProperties.sectionId - section id from which visualizations should be removed\n\t * @param {object[]} mProperties.appIds - array of url of visualizations that has to be deleted\n\t * @param {boolean} mProperties.ignoreDuplicateApps - if true doesn't remove the duplicate apps, else removes the duplicate apps as well\n\t * @private\n\t * @returns {Promise} resolves after all visualizations are deleted\n\t */\n\tpublic async removeVisualizations({ sectionId, vizIds }: { sectionId: string; vizIds: string[] }) {\n\t\tconst spaceContentService = await Container.getServiceAsync<SpaceContent>(\"SpaceContent\");\n\t\tfor (const vizId of vizIds) {\n\t\t\tconst sections = await this._getSections(true);\n\t\t\tconst sectionIndex = sections.findIndex((oSection) => oSection.id === sectionId);\n\t\t\tconst targetSection = sectionIndex > -1 ? sections[sectionIndex] : null;\n\t\t\tconst visualizationIndex = targetSection?.visualizations?.findIndex((oVisualization) => oVisualization.id === vizId) ?? -1;\n\t\t\tif (visualizationIndex > -1) {\n\t\t\t\tawait spaceContentService.deleteVisualization(MYHOME_PAGE_ID, sectionIndex, visualizationIndex);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @param {object} mProperties - map of properties\n\t * @param {string} mProperties.pageId - page id from which visualizations should be updated\n\t * @param {object[]} mProperties.sourceSectionIndex - section index in which visualization that has to be updated\n\t * @param {boolean} mProperties.sourceVisualizationIndex - visualization index in the which should be updated\n\t * @param {boolean} mProperties.oVisualizationData - visualization data which will be updated for the vizualisation\n\t * @private\n\t * @returns {Promise} resolves to void\n\t */\n\tpublic async updateVisualizations({\n\t\tpageId,\n\t\tsourceSectionIndex,\n\t\tsourceVisualizationIndex,\n\t\toVisualizationData\n\t}: {\n\t\tpageId: string;\n\t\tsourceSectionIndex: number;\n\t\tsourceVisualizationIndex: number;\n\t\toVisualizationData: { displayFormatHint: string };\n\t}) {\n\t\tconst spaceContentService = await Container.getServiceAsync<SpaceContent>(\"SpaceContent\");\n\t\treturn spaceContentService.updateVisualization(pageId, sourceSectionIndex, sourceVisualizationIndex, oVisualizationData);\n\t}\n\n\t/**\n\t * Create Insight Section if not already present\n\t *\n\t * @param {string} sSectionTitle - optional, section title\n\t * @returns {Promise} - resolves to insight section created\n\t */\n\tpublic async createInsightSection(sSectionTitle: string) {\n\t\tif (!this.bInsightsSectionPresent) {\n\t\t\tconst aSections = await this._getSections();\n\t\t\tconst iMyInsightSectionIndex = aSections.findIndex(function (oSection) {\n\t\t\t\treturn oSection.id === MYINSIGHT_SECTION_ID;\n\t\t\t});\n\n\t\t\t//check if myinsight section exists, if not create one\n\t\t\tif (\n\t\t\t\tiMyInsightSectionIndex === -1 &&\n\t\t\t\t(Config.last(\"/core/shell/enablePersonalization\") || Config.last(\"/core/catalog/enabled\"))\n\t\t\t) {\n\t\t\t\treturn this.addSection({\n\t\t\t\t\tsectionIndex: aSections.length,\n\t\t\t\t\tsectionProperties: {\n\t\t\t\t\t\tid: MYINSIGHT_SECTION_ID,\n\t\t\t\t\t\ttitle: sSectionTitle,\n\t\t\t\t\t\tvisible: true\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn Promise.resolve();\n\t}\n\n\t/**\n\t * Adds a section\n\t *\n\t * @param {object} mProperties - map of properties\n\t * @param {string} mProperties.sectionIndex - section index\n\t * @param {object} mProperties.sectionProperties - section properties\n\t * @returns {Promise} resolves to void and creates the section\n\t * @private\n\t */\n\tpublic async addSection(mProperties: ISection) {\n\t\tconst { sectionIndex, sectionProperties } = mProperties;\n\t\tconst oSpaceContentService = await Container.getServiceAsync<SpaceContent>(\"SpaceContent\");\n\t\tawait oSpaceContentService.addSection(MYHOME_PAGE_ID, sectionIndex, {\n\t\t\t...sectionProperties,\n\t\t\tvisible: true\n\t\t});\n\t}\n\n\t/**\n\t * Returns visualizations for a given section\n\t * @param {string} sectionId - section id\n\t * @param {boolean} [forceRefresh=false] - force reload of data if true\n\t * @returns {Promise} resolves to array of visualizations\n\t * @private\n\t */\n\tpublic async getSectionVisualizations(sectionId?: string, forceRefresh = false): Promise<ICustomVisualization[]> {\n\t\tconst aApps: ISectionAndVisualization[] = await this.fetchFavVizs(forceRefresh);\n\t\tif (sectionId) {\n\t\t\treturn aApps.find((oViz) => oViz.isSection && oViz.id === sectionId)?.apps || [];\n\t\t} else {\n\t\t\treturn aApps.filter((oViz) => !oViz.isSection); //return recently added apps\n\t\t}\n\t}\n\n\t/**\n\t * Adds a bookmark.\n\t * @private\n\t * @param {Object} bookmark - The bookmark data object.\n\t * @returns {Promise<void>} - A Promise that resolves once the bookmark is added.\n\t */\n\tpublic async addBookMark(\n\t\tbookmark: IVisualization,\n\t\tmoveConfig?: {\n\t\t\tsourceSectionIndex: number;\n\t\t\tsourceVisualizationIndex: number;\n\t\t\ttargetSectionIndex: number;\n\t\t\ttargetVisualizationIndex: number;\n\t\t}\n\t) {\n\t\tconst oBookmarkService: Bookmark = await Container.getServiceAsync(\"BookmarkV2\");\n\t\tconst aContentNodes = await oBookmarkService.getContentNodes();\n\t\tconst oMyHomeSpace = aContentNodes.find((contentNode) => contentNode.id === MYHOME_SPACE_ID);\n\t\tconst contentNode = oMyHomeSpace?.children?.find((contentNode) => contentNode.id === MYHOME_PAGE_ID);\n\t\tawait oBookmarkService.addBookmark(createBookMarkData(bookmark), contentNode);\n\t\tif (moveConfig) {\n\t\t\treturn this.moveVisualization(moveConfig);\n\t\t}\n\t\treturn Promise.resolve();\n\t}\n\n\t/**\n\t * Retrieves the visualization with the specified appId within the specified section.\n\t * @param {string} appId - appId of the visualization for.\n\t * @param {string} sectionId - The ID of the section containing the visualization.\n\t * @param {boolean} [forceRefresh=false] - Whether to force a refresh of the section's cache.\n\t * @returns {Promise<object|null>} A promise that resolves with the visualization object if found, or null if not found.\n\t * @private\n\t */\n\tpublic async getVisualization(appId: string, sectionId?: string, forceRefresh = false) {\n\t\tconst sectionVisualizations = await this.getSectionVisualizations(sectionId, forceRefresh);\n\t\treturn sectionVisualizations.find((sectionVisualization) => sectionVisualization.appId === appId);\n\t}\n\n\t/**\n\t * Moves a visualization from source section to target section.\n\t * @param {object} moveConfig - Configuration object containing details for moving the visualization.\n\t * @param {number} moveConfig.sourceSectionIndex - Index of the source section.\n\t * @param {number} moveConfig.sourceVisualizationIndex - Index of the visualization within the source section.\n\t * @param {number} moveConfig.targetSectionIndex - Index of the target section.\n\t * @param {number} moveConfig.targetVisualizationIndex - Index at which the visualization will be placed within the target section.\n\t * @returns {Promise<void>} A promise that resolves to void after the move operation.\n\t * @private\n\t */\n\tpublic async moveVisualization(moveConfig: {\n\t\tsourceSectionIndex: number;\n\t\tsourceVisualizationIndex: number;\n\t\ttargetSectionIndex: number;\n\t\ttargetVisualizationIndex: number;\n\t}) {\n\t\tconst spaceContentService = await Container.getServiceAsync<SpaceContent>(\"SpaceContent\");\n\t\tthis.vizDataModified = true;\n\t\treturn spaceContentService.moveVisualization(\n\t\t\tMYHOME_PAGE_ID,\n\t\t\tmoveConfig.sourceSectionIndex,\n\t\t\tmoveConfig.sourceVisualizationIndex,\n\t\t\tmoveConfig.targetSectionIndex,\n\t\t\tmoveConfig.targetVisualizationIndex\n\t\t);\n\t}\n\n\t/**\n\t * Filters out duplicate visualizations from a list of all visualizations\n\t *\n\t * @param {object[]} aVisibleFavoriteVizs - array containing list of all visualizations\n\t * @param {boolean} bReturnDuplicateVizs - flag when set to true, returns only the duplicate apps\n\t * @returns {object[]} filtered array of vizualisations\n\t * @private\n\t */\n\tpublic _filterDuplicateVizs(aVisibleFavoriteVizs: ICustomVisualization[], bReturnDuplicateVizs: boolean) {\n\t\treturn aVisibleFavoriteVizs.filter((oViz, iVizIndex, aVizs) => {\n\t\t\tconst iFirstIndex = aVizs.findIndex((oTempApp) => oTempApp.appId === oViz.appId);\n\t\t\treturn bReturnDuplicateVizs ? iFirstIndex !== iVizIndex : iFirstIndex === iVizIndex;\n\t\t});\n\t}\n\n\t/**\n\t * Add Grouping Information to visualizations list, and return concatenated list.\n\t *\n\t * @param {object[]} aFavoriteVizs - list of all favorite visualizations\n\t * @returns {object[]} - concatenated list contaning grouping information as well\n\t * @private\n\t */\n\tprivate _addGroupInformation(aFavoriteVizs: ICustomVisualization[]) {\n\t\tconst aRecentVizs: ICustomVisualization[] = [],\n\t\t\taSections: ISection[] = [];\n\t\tlet oExistingSection: ISection | undefined;\n\n\t\t_linkDuplicateVizs(aFavoriteVizs).forEach((oViz) => {\n\t\t\tif (oViz.persConfig?.isDefaultSection) {\n\t\t\t\taRecentVizs.push(oViz);\n\t\t\t} else {\n\t\t\t\toExistingSection = aSections.find((oSection) => oSection.isSection && oSection.id === oViz.persConfig?.sectionId);\n\n\t\t\t\tif (!oExistingSection) {\n\t\t\t\t\taSections.push({\n\t\t\t\t\t\tid: oViz.persConfig?.sectionId,\n\t\t\t\t\t\tindex: oViz.persConfig?.sectionIndex,\n\t\t\t\t\t\ttitle: oViz.persConfig?.sectionTitle || \"\",\n\t\t\t\t\t\tbadge: \"1\",\n\t\t\t\t\t\tBGColor: DEFAULT_BG_COLOR().key,\n\t\t\t\t\t\ticon: \"sap-icon://folder-full\",\n\t\t\t\t\t\tisSection: true,\n\t\t\t\t\t\tisPresetSection: oViz.persConfig?.isPresetSection,\n\t\t\t\t\t\tapps: [oViz]\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\toExistingSection.apps?.push(oViz);\n\t\t\t\t\toExistingSection.badge = oExistingSection.apps?.length.toString();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t//filter out duplicate apps only from recent apps list\n\t\treturn [...aSections, ...this._filterDuplicateVizs(aRecentVizs, false)];\n\t}\n\n\t/**\n\t * Move a section within a page\n\t *\n\t * @param {number} sourceSectionIndex - source index (previous index of the section in the page before move)\n\t * @param {number} targetSectionIndex - target index (desired index of the section in the page after move)\n\t * @returns {Promise} resolves to void and moves the section to desired index within the page\n\t * @private\n\t */\n\tpublic async moveSection(sourceSectionIndex: number, targetSectionIndex: number): Promise<void> {\n\t\treturn Container.getServiceAsync(\"Pages\").then(function (oPagesService: {\n\t\t\tgetPageIndex: (id: string) => number;\n\t\t\tmoveSection: (index: number, sourceIndex: number, targetIndex: number) => void;\n\t\t}) {\n\t\t\tconst iPageIndex: number = oPagesService.getPageIndex(MYHOME_PAGE_ID);\n\t\t\treturn oPagesService.moveSection(iPageIndex, sourceSectionIndex, targetSectionIndex);\n\t\t} as () => void);\n\t}\n\n\t/**\n\t * Checks if a specific URL parameter is enabled (set to \"true\").\n\t *\n\t * @param {string} param - The name of the URL parameter to check.\n\t * @returns {boolean} `true` if the URL parameter exists and is set to \"true\" (case-insensitive), otherwise `false`.\n\t */\n\tpublic isURLParamEnabled(param: string): boolean {\n\t\tconst urlParams = new URLSearchParams(window.location.search);\n\t\treturn urlParams?.get(param)?.toLowerCase() === \"true\" || false;\n\t}\n\n\t/**\n\t * Fetch Recommended Fiori IDs\n\t *\n\t * @returns {Promise} resolves to array of recommended fiori ids\n\t * @private\n\t */\n\tprivate async _getRecommenedFioriIds(bForceRefresh: boolean = false): Promise<string[]> {\n\t\tif (!this.recommendedFioriIds || bForceRefresh) {\n\t\t\ttry {\n\t\t\t\tconst response = (await HttpHelper.GetJSON(RECOMMENDATION_SRVC_URL)) as {\n\t\t\t\t\terror: { message: string };\n\t\t\t\t\tvalue: Array<{ app_id: string }>;\n\t\t\t\t};\n\t\t\t\tthis.recommendedFioriIds =\n\t\t\t\t\tresponse?.value?.map((oApp) => {\n\t\t\t\t\t\treturn oApp.app_id;\n\t\t\t\t\t}) || [];\n\t\t\t} catch (error) {\n\t\t\t\tLog.error(\"Unable to load recommendations: \" + (error as Error).message);\n\t\t\t\treturn Promise.resolve([]);\n\t\t\t}\n\t\t}\n\t\treturn this.recommendedFioriIds;\n\t}\n\n\t/**\n\t * Fetch Catalog Apps\n\t *\n\t * @returns {Promise} resolves to array of Catalog Apps\n\t * @private\n\t */\n\tpublic async _getCatalogApps() {\n\t\tif (!this.catalogAppData) {\n\t\t\ttry {\n\t\t\t\tconst SearchableContent = await Container.getServiceAsync<SearchableContent>(\"SearchableContent\");\n\t\t\t\tthis.catalogAppData = SearchableContent.getApps({ includeAppsWithoutVisualizations: false });\n\t\t\t\treturn this.catalogAppData;\n\t\t\t} catch (error) {\n\t\t\t\tthis.catalogAppData = undefined;\n\t\t\t\tLog.error(error instanceof Error ? \"Error while fetching catalog apps:\" + error.message : String(error));\n\t\t\t\treturn [];\n\t\t\t}\n\t\t}\n\t\treturn Promise.resolve(this.catalogAppData);\n\t}\n\n\t/**\n\t * Checks whether page settings contains addCardtoInsightsHidden\n\t * @param {object} page - page object\n\t * @returns {boolean} returns boolean\n\t * @private\n\t */\n\tprivate isAddCardToInsightsHidden(page?: IPageType) {\n\t\treturn page?.component?.settings?.tableSettings?.addCardtoInsightsHidden;\n\t}\n\n\t/**\n\t * check Valid Manifests\n\t *\n\t * @returns {boolean} returns boolean\n\t * @private\n\t */\n\n\tprivate _checkValidManifests(manifest: IAppManifest): boolean {\n\t\tconst dataSources = manifest[\"sap.app\"]?.dataSources;\n\n\t\t// Ensure dataSources has the correct structure for `mainService`\n\t\tconst hasRequiredDataSource = manifest[\"sap.ui.generic.app\"] && dataSources?.mainService;\n\n\t\tif (!hasRequiredDataSource) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst pages = manifest[\"sap.ui.generic.app\"]?.pages;\n\t\t// if its not list report component or if listreport page settings has\n\t\t// isAddCardToInsightsHidden as true, then do not recommend the card\n\t\tif (Array.isArray(pages)) {\n\t\t\treturn this.recommendedUtilInstance._isListReport(pages[0]) && !this.isAddCardToInsightsHidden(pages[0]);\n\t\t}\n\n\t\tconst pageValues = Object.values(pages as PageRecord);\n\t\tif (pageValues.length > 0) {\n\t\t\treturn pageValues.some((page) => {\n\t\t\t\treturn (\n\t\t\t\t\ttypeof page === \"object\" && this.recommendedUtilInstance._isListReport(page) && !this.isAddCardToInsightsHidden(page)\n\t\t\t\t);\n\t\t\t});\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Get OData Model\n\t *\n\t * @param {object} manifest - manifest object\n\t * @returns {ODataModelV2} returns OData Model\n\t * @private\n\t */\n\tprivate _getOdataModel(oManifest: IAppManifest): Promise<ODataModelV2> {\n\t\treturn new Promise(function (resolve) {\n\t\t\tconst datasource = oManifest?.[\"sap.app\"]?.dataSources;\n\t\t\tconst mainService = datasource?.mainService;\n\t\t\tlet annotationUrls: string[] = (mainService?.settings?.annotations || [])\n\t\t\t\t.map((name: string) => datasource?.[name]?.uri || \"\")\n\t\t\t\t.filter(Boolean);\n\n\t\t\tconst oDataModel = new ODataModelV2(mainService?.uri as string, {\n\t\t\t\tannotationURI: annotationUrls,\n\t\t\t\tloadAnnotationsJoined: true\n\t\t\t});\n\t\t\toDataModel.attachMetadataLoaded(() => {\n\t\t\t\tresolve(oDataModel);\n\t\t\t});\n\t\t\toDataModel.attachMetadataFailed(() => {\n\t\t\t\tresolve(oDataModel);\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Get Entity Set\n\t *\n\t * @param {object} manifest - manifest object\n\t * @returns {string} returns entity set\n\t * @private\n\t */\n\tprivate _getEntitySet(manifest: IAppManifest): string | undefined {\n\t\tconst pages = manifest[\"sap.ui.generic.app\"]?.pages;\n\t\tif (Array.isArray(pages)) {\n\t\t\treturn pages[0].entitySet;\n\t\t} else if (pages) {\n\t\t\tfor (const key in pages) {\n\t\t\t\tconst oApp = pages[key] as IPageType;\n\t\t\t\tif (this.recommendedUtilInstance._isListReport(oApp)) {\n\t\t\t\t\treturn oApp.entitySet;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn undefined;\n\t}\n\n\t/**\n\t * Load I18n\n\t *\n\t * @param {object} manifest - manifest object\n\t * @param {string} manifestUrl - manifest url\n\t * @returns {object} returns resource bundle\n\t * @private\n\t */\n\tprivate async loadI18n(manifest: IAppManifest, manifestUrl: string) {\n\t\t// construct abslute url for properties file relative to manifest url\n\t\tconst i18nBundleUrl = manifest?.[\"sap.app\"]?.[\"i18n\"]?.[\"bundleUrl\"] as string;\n\t\tconst absoluteUrl = new URL(i18nBundleUrl, manifestUrl).href;\n\t\tthis._RBManifestMap = this._RBManifestMap || {};\n\t\tif (!this._RBManifestMap[absoluteUrl]) {\n\t\t\tconst oResourceBundle = await ResourceBundle.create({\n\t\t\t\t// specify url of the base .properties file\n\t\t\t\tbundleUrl: absoluteUrl,\n\t\t\t\tasync: true,\n\t\t\t\tterminologies: manifest[\"sap.app\"]?.[\"i18n\"]?.[\"terminologies\"]\n\t\t\t});\n\t\t\tthis._RBManifestMap[absoluteUrl] = oResourceBundle;\n\t\t}\n\t\treturn this._RBManifestMap[absoluteUrl];\n\t}\n\n\t/**\n\t * Get I18n Value Or Default String\n\t *\n\t * @param {string} sValue - value\n\t * @param {object} oResourceBundle - resource bundle object\n\t * @returns {string} returns string\n\t * @private\n\t */\n\tprivate getI18nValueOrDefaultString(sValue: string, oRB: ResourceBundle) {\n\t\tlet sPath = \"\";\n\t\tif (sValue && sValue.startsWith(\"{{\")) {\n\t\t\tsPath = sValue.substring(2, sValue.length - 2);\n\t\t} else if (sValue && sValue.startsWith(\"{\")) {\n\t\t\tsPath = sValue.substring(1, sValue.length - 1);\n\t\t}\n\t\treturn sPath ? oRB.getText(sPath) : sValue;\n\t}\n\n\t/**\n\t * Retrieves a copy of the analytical card manifest.\n\t *\n\t *\n\t * @private\n\t * @returns {ICardManifest} A copy of the analytical card manifest.\n\t */\n\tpublic _getAnalyticalCardManifest() {\n\t\treturn JSON.parse(JSON.stringify(AnalyticalCardSkeleton)) as ICardManifest;\n\t}\n\n\t/**\n\t * Processes the app manifest and generates a recommended card manifest if the app meets the required conditions.\n\t *\n\t * @param {ODataMetaModel} metaModel - The OData meta model containing metadata about entities and properties.\n\t * @param {IValidManifest} manifestObj - An object containing the app manifest and its URL.\n\t * @param {AppInfoData | undefined} parentApp - The parent app information, if available.\n\t * @param {IVersionInfo} versionInfo - The version and build timestamp of the app.\n\t * @returns {Promise<ICardManifest | undefined>} A promise that resolves to the generated card manifest if the app is eligible,\n\t * or `undefined` if the app does not meet the required conditions.\n\t * @private\n\t */\n\tprivate async getProcessedManifest(\n\t\tmetaModel: ODataMetaModel,\n\t\tmanifestObj: IValidManifest,\n\t\tparentApp: IAppInfoData | undefined,\n\t\tversionInfo: IVersionInfo\n\t): Promise<ICardManifest | undefined> {\n\t\ttry {\n\t\t\tconst manifest = manifestObj.manifest;\n\t\t\tconst mainEntitySetName = this._getEntitySet(manifest);\n\t\t\tif (!mainEntitySetName) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\tconst mainEntitySet = metaModel.getODataEntitySet(mainEntitySetName) as IEntitySet;\n\t\t\tconst lineItemDetails = this.recommendedUtilInstance.getLineItemDetails(metaModel, manifest, mainEntitySetName);\n\n\t\t\tif (!lineItemDetails?.lineItem) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\tconst entitySetName = lineItemDetails.entitySet || mainEntitySetName;\n\t\t\tconst entitySet = (\n\t\t\t\tentitySetName === mainEntitySetName ? mainEntitySet : metaModel.getODataEntitySet(entitySetName)\n\t\t\t) as IEntitySet;\n\t\t\tconst entityType = metaModel.getODataEntityType(entitySet.entityType) as IEntityType;\n\t\t\tconst suppressRowNavigation = lineItemDetails?.lrSettings?.[\"bSupressCardRowNavigation\"];\n\n\t\t\t// Check for mandatory properties\n\t\t\tif (this.recommendedUtilInstance.hasMandatoryProperties(entitySet, entityType?.property)) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\t// Check for parameterized entity sets\n\t\t\tconst parameterDetails = this.recommendedUtilInstance._getParametersisedEntitySetParams(metaModel, entitySetName, true);\n\t\t\tif (parameterDetails?.entitySetName && parameterDetails?.parameters?.length) {\n\t\t\t\tconst paramEntitySet = metaModel.getODataEntitySet(parameterDetails.entitySetName) as IEntitySet;\n\t\t\t\tif (this.recommendedUtilInstance.hasMandatoryProperties(paramEntitySet, parameterDetails.parameters as Property[])) {\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst cardInput = this.recommendedUtilInstance._getManifestCardData(manifest, lineItemDetails, parentApp!, metaModel);\n\n\t\t\t// Ensure the card has at least 3 columns\n\t\t\tif (cardInput.columns.length < COLUMN_LENGTH) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\t// Resolve card title\n\t\t\tconst headerInfo = lineItemDetails?.headerInfo as IHeaderInfo;\n\t\t\tconst cardTitle = headerInfo.TypeNamePlural?.String || \"\";\n\t\t\tcardInput.cardTitle = cardTitle || cardInput.cardTitle;\n\n\t\t\t// Resolve i18n title if necessary\n\t\t\tif (!cardTitle && manifest[\"sap.app\"]?.i18n) {\n\t\t\t\tconst i18nBundleUrl = manifest[\"sap.app\"].i18n.bundleUrl;\n\t\t\t\tconst appTitle = manifest[\"sap.app\"].title;\n\t\t\t\tif (i18nBundleUrl && (appTitle.startsWith(\"i18n>\") || appTitle.startsWith(\"{\"))) {\n\t\t\t\t\tconst i18nResourceBundle = await this.loadI18n(manifest, manifestObj.url);\n\t\t\t\t\tcardInput.cardTitle = this.getI18nValueOrDefaultString(cardInput.cardTitle!, i18nResourceBundle);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn this.recommendedUtilInstance._createCardManifest(cardInput, versionInfo, manifest, suppressRowNavigation);\n\t\t} catch (oError: unknown) {\n\t\t\tLog.error(\"Error while processing manifest\", oError instanceof Error ? oError.message : String(oError));\n\t\t\treturn undefined;\n\t\t}\n\t}\n\n\t/**\n\t * Fetches the OData meta models for a given list of valid manifests.\n\t * @param {IValidManifest[]} validManifests - An array of valid manifest objects\n\t * @returns {Promise<(ODataMetaModel | undefined)[]>} A promise that resolves to an array of OData meta models.\n\t * Each element corresponds to a manifest in the input array, and may be `undefined` if the meta model could not be fetched.\n\t * @private\n\t */\n\tprivate async fetchMetaModels(validManifests: IValidManifest[]): Promise<(ODataMetaModel | undefined)[]> {\n\t\tconst odataPromises = validManifests.map(async (manifestObj) => {\n\t\t\ttry {\n\t\t\t\treturn (await this._getOdataModel(manifestObj.manifest))?.getMetaModel();\n\t\t\t} catch (oError: unknown) {\n\t\t\t\tLog.error(\"Error while fetching metamodel\", oError instanceof Error ? oError.message : String(oError));\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t});\n\n\t\treturn await Promise.all(odataPromises);\n\t}\n\n\t/**\n\t * Combines the valid manifests with their corresponding OData meta models.\n\t * @param {IValidManifest[]} validManifests - An array of valid manifest objects\n\t * @param {ODataMetaModel[]} aMetaModel - An array of OData meta models\n\t * @returns {ICombinedManifestDetails[]} An array of objects containing the manifest and the corresponding meta model.\n\t * @private\n\t */\n\tprivate combineManifestsAndMetaModels(\n\t\tvalidManifests: IValidManifest[],\n\t\taMetaModel: (ODataMetaModel | undefined)[]\n\t): ICombinedManifestDetails[] {\n\t\treturn validManifests.reduce<ICombinedManifestDetails[]>((combined, manifestObj, index) => {\n\t\t\tconst metaModel = aMetaModel[index];\n\t\t\tif (metaModel) {\n\t\t\t\tcombined.push({ manifest: manifestObj, metaModel });\n\t\t\t}\n\t\t\treturn combined;\n\t\t}, []);\n\t}\n\n\t/**\n\t * Process the manifest and meta model to get the card manifest\n\t * @param {ICombinedManifestDetails[]} combinedDetails - An array of objects containing the manifest and the corresponding meta model.\n\t * @param {IAppInfoData[]} aCSTR - An array of app info data\n\t * @returns {Promise<(ICardManifest | undefined)[]>} A promise that resolves to an array of recommended card manifests.\n\t * @private\n\t */\n\tprivate async processManifests(\n\t\tcombinedDetails: ICombinedManifestDetails[],\n\t\taCSTR: IAppInfoData[]\n\t): Promise<(ICardManifest | undefined)[]> {\n\t\treturn Promise.all(\n\t\t\tcombinedDetails.map((item) => {\n\t\t\t\tconst parentApp = aCSTR.find((oApp) => oApp.resolutionResult?.ui5ComponentName === item.manifest.manifest?.[\"sap.app\"]?.id);\n\t\t\t\treturn this.getProcessedManifest(item.metaModel, item.manifest, parentApp, this.versionInfo);\n\t\t\t})\n\t\t);\n\t}\n\n\t/**\n\t * Processes the app list to generate a list of Fiori IDs.\n\t *\n\t * If `aList` is not provided, it uses `aAppComponentIds` and `aComponent` to generate the list of Fiori IDs.\n\t * It matches the `semanticObject` and `action` of each component in `aAppComponentIds` with the entries in `aComponent`.\n\t * If a match is found, the corresponding `fioriId` is added to the list.\n\t *\n\t * @param {string[]} [aList] - An optional array of Fiori IDs to return directly.\n\t * @param {ICardDetails[]} [aAppComponentIds] - An array of app component details to process.\n\t * @param {IAppInfo} [aComponent] - A mapping of component IDs to their corresponding data entries.\n\t * @returns {string[]} - A list of Fiori IDs.\n\t */\n\tprivate processAppList(aList?: string[], aAppComponentIds?: ICardDetails[], aComponent?: IAppInfo): string[] {\n\t\tif (!aList && aAppComponentIds && aAppComponentIds.length) {\n\t\t\treturn aAppComponentIds.reduce((list, oComponent) => {\n\t\t\t\tconst oData: IAppInfoData[] = aComponent?.[oComponent.id] || [];\n\t\t\t\tconst matchingData = oData.find(\n\t\t\t\t\t(entry) => entry.semanticObject === oComponent.target?.semanticObject && entry.action === oComponent.target?.action\n\t\t\t\t);\n\n\t\t\t\treturn matchingData ? [...list, matchingData.fioriId!] : list;\n\t\t\t}, [] as string[]);\n\t\t}\n\t\treturn aList || [];\n\t}\n\n\t/**\n\t * Fetch Card Mainfest\n\t *\n\t * @param {string[]} aAppIds - array of app ids\n\t * @returns {Promise} resolves to array of card manifest\n\t * @private\n\t */\n\tpublic async _getCardManifest(aList?: string[], aAppComponentIds?: ICardDetails[]): Promise<ICardManifest[]> {\n\t\ttry {\n\t\t\tconst [aCatalog, aFioriData] = await Promise.all([this._getCatalogApps(), this.getFioriAppData()]);\n\t\t\tthis.versionInfo = (await VersionInfo.load()) as IVersionInfo;\n\n\t\t\tconst aCSTR: IAppInfoData[] = Object.values(aFioriData).flat();\n\t\t\tconst aComponent = this.componentData;\n\t\t\t// in case of replacing old recommended cards fioriIds are not available hence make use of componnetname\n\t\t\t// and semanticobject and action to find fioriId, and populate aList to recreate recommended card again\n\t\t\tconst processedList = this.processAppList(aList, aAppComponentIds, aComponent);\n\n\t\t\tconst manifests = await this.fetchManifests(processedList, aFioriData, aCatalog);\n\t\t\tconst validManifests = manifests.filter((manifestObj) => this._checkValidManifests(manifestObj.manifest));\n\n\t\t\tconst aMetaModel = await this.fetchMetaModels(validManifests);\n\t\t\tconst combinedDetails = this.combineManifestsAndMetaModels(validManifests, aMetaModel);\n\n\t\t\tconst cards = await this.processManifests(combinedDetails, aCSTR);\n\t\t\treturn cards.filter((card) => card !== undefined);\n\t\t} catch (oError: unknown) {\n\t\t\tLog.error(\"Error while fetching card manifest\", oError instanceof Error ? oError.message : String(oError));\n\t\t\treturn [];\n\t\t}\n\t}\n\n\t/**\n\t * Fetch the app manifest for the given app ids\n\t * @param {string[]} appIdList - array of app ids\n\t * @param {AppInfo} fioriData - fiori data\n\t * @param {AppData[]} catalogData - catalog data\n\t * @returns {Promise} resolves to array of manifests\n\t * @private\n\t */\n\tprivate async fetchManifests(appIdList: string[], fioriData: IAppInfo, catalogData: AppData[]): Promise<IValidManifest[]> {\n\t\ttry {\n\t\t\tconst appPromises = appIdList.map(async (appId) => {\n\t\t\t\tconst aApp: IAppInfoData[] = fioriData[appId] || [];\n\t\t\t\tfor (const oApp of aApp) {\n\t\t\t\t\tconst oViz = catalogData.find(\n\t\t\t\t\t\t(catalog) => oApp.semanticObject === catalog.target?.semanticObject && oApp.action === catalog.target?.action\n\t\t\t\t\t);\n\t\t\t\t\tconst manifestUrl = oApp?.resolutionResult?.applicationDependencies?.manifest;\n\t\t\t\t\tif (oViz && manifestUrl) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst response = await fetch(manifestUrl);\n\t\t\t\t\t\t\tconst manifest = (await response.json()) as IAppManifest;\n\t\t\t\t\t\t\treturn { url: response.url, manifest };\n\t\t\t\t\t\t} catch (error: unknown) {\n\t\t\t\t\t\t\tLog.error(\"Error while fetching manifest\", error instanceof Error ? error.message : String(error));\n\t\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// No valid manifest found in this appId's entries\n\t\t\t\treturn undefined;\n\t\t\t});\n\t\t\tconst results = await Promise.all(appPromises);\n\t\t\treturn results.filter((manifest): manifest is IValidManifest => manifest !== undefined);\n\t\t} catch (oError) {\n\t\t\tLog.error(\"Error while processing manifests\", oError instanceof Error ? oError.message : String(oError));\n\t\t\treturn [];\n\t\t}\n\t}\n\n\t/**\n\t * Remove Duplicate Cards\n\t *\n\t * @param {object[]} aCards - array of cards\n\t * @returns {object[]} returns array of cards\n\t * @private\n\t */\n\tprivate _removeDuplicateCards(aCards: ICard[]): ICard[] {\n\t\tconst oCardDict: Record<string, boolean> = {};\n\t\tconst aResult: ICard[] = [];\n\t\taCards.forEach((oCard) => {\n\t\t\tconst sCardTitle = oCard?.descriptorContent?.[\"sap.card\"]?.header?.title || \"\";\n\t\t\tif (!oCardDict[sCardTitle]) {\n\t\t\t\taResult.push(oCard);\n\t\t\t\toCardDict[sCardTitle] = true;\n\t\t\t}\n\t\t});\n\t\treturn aResult;\n\t}\n\n\t/**\n\t * Fetch Recommended Cards\n\t *\n\t * @returns {Promise<ICard[] | []> } resolves to array of recommended cards\n\t * @private\n\t */\n\tpublic async getRecommenedCards(): Promise<ICard[] | []> {\n\t\ttry {\n\t\t\tconst aAppIds = await this._getRecommenedFioriIds();\n\t\t\tconst aManifests = await this._getCardManifest(aAppIds);\n\t\t\tconst aRecManifests = aManifests?.slice(0, RECOMMENDED_CARD_LIMIT);\n\t\t\tconst aRecommendedCards = aRecManifests?.map((manifest) => {\n\t\t\t\tlet id;\n\t\t\t\tif (manifest?.[\"sap.card\"]) {\n\t\t\t\t\tmanifest[\"sap.card\"].rec = true;\n\t\t\t\t\tid = manifest[\"sap.app\"]?.id;\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tid,\n\t\t\t\t\tdescriptorContent: manifest\n\t\t\t\t};\n\t\t\t});\n\t\t\treturn this._removeDuplicateCards(aRecommendedCards as ICard[]);\n\t\t} catch (error) {\n\t\t\tLog.error(\"Error while fetching recommended cards:\", error instanceof Error ? error.message : String(error));\n\t\t\treturn [];\n\t\t}\n\t}\n\n\t/**\n\t * Retrieves a list of recommended visualizations for the user.\n\t *\n\t * The final list is composed of up to 10 recommendations, with must-include visualizations prioritized.\n\t * If no recommended visualizations are available or if an error occurs, it returns an empty array.\n\t *\n\t * @private\n\t * @async\n\t * @param {boolean} [forceRefresh=false] - If `true`, forces a refresh of the recommended visualizations\n\t * regardless of whether they are cached.\n\t * @returns {Promise<ICustomVisualization[]>} A promise that resolves to an array of recommended visualizations.\n\t * The array is limited to 10 visualizations, including must-include recommendations.\n\t */\n\tpublic async getRecommendedVisualizations(forceRefresh: boolean = false) {\n\t\tif (!this._recommendedVisualizations || forceRefresh) {\n\t\t\tconst recommendedFioriIds = await this._getRecommenedFioriIds(forceRefresh);\n\t\t\tif (recommendedFioriIds.length) {\n\t\t\t\tlet finalRecommendations: ICustomVisualization[] = [];\n\t\t\t\tlet mustIncludeRecommendations: ICustomVisualization[] = [];\n\t\t\t\tlet [recommendedVisualizations, favoriteVisualizations] = await Promise.all([\n\t\t\t\t\tthis._getVisualizationsByFioriIds(recommendedFioriIds),\n\t\t\t\t\tthis._fetchMyHomeVizs(forceRefresh)\n\t\t\t\t]);\n\t\t\t\t//filter out recommendations that are already added\n\t\t\t\trecommendedVisualizations = recommendedVisualizations.filter((recViz) =>\n\t\t\t\t\t_isVisualizationAlreadyAdded(recViz, favoriteVisualizations)\n\t\t\t\t);\n\t\t\t\trecommendedVisualizations.forEach((recViz) => {\n\t\t\t\t\tif (_isMustIncludeRecommendation(recViz)) {\n\t\t\t\t\t\tmustIncludeRecommendations.push(recViz);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfinalRecommendations.push(recViz);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\t//return only 10 recommended apps along with 'MyInbox' and 'Manage My Timesheet' if user has access to these apps.\n\t\t\t\tthis._recommendedVisualizations = finalRecommendations\n\t\t\t\t\t.slice(0, 10 - mustIncludeRecommendations.length)\n\t\t\t\t\t.concat(mustIncludeRecommendations);\n\t\t\t} else {\n\t\t\t\tthis._recommendedVisualizations = [];\n\t\t\t}\n\t\t}\n\t\treturn this._recommendedVisualizations;\n\t}\n\n\t/**\n\t * Asynchronously retrieves the list of inbound applications from the SAP Fiori client-side target resolution service.\n\t *\n\t * @private\n\t * @async\n\t * @returns {Promise<Array>} A promise that resolves to an array of inbound applications.\n\t * If an error occurs or the inbound applications are not available, it resolves to an empty array.\n\t */\n\tprivate async _getInboundApps() {\n\t\ttry {\n\t\t\tconst service = await Container.getServiceAsync<ClientSideTargetResolution>(\"ClientSideTargetResolution\");\n\t\t\treturn service?._oAdapter?._aInbounds || [];\n\t\t} catch (error) {\n\t\t\tLog.error(\"Error while fetching inbound apps: \" + (error as Error).message);\n\t\t\treturn [];\n\t\t}\n\t}\n\n\t/**\n\t * Retrieves Fiori app data and stores it in the `fioriAppData` and `componentData` properties.\n\t *\n\t * This method fetches inbound applications using the `_getInboundApps` method and processes them to extract\n\t * Fiori app IDs (`sap-fiori-id`) and their associated semantic data. It also maps UI5 component names to their\n\t * corresponding Fiori app IDs for later use.\n\t *\n\t * @returns {Promise<IAppInfo>} A promise that resolves to an object containing Fiori app data\n\t * @private\n\t */\n\tprivate async getFioriAppData(): Promise<IAppInfo> {\n\t\ttry {\n\t\t\tif (!Object.keys(this.componentData).length) {\n\t\t\t\tthis.componentData = {};\n\t\t\t\tthis.fioriAppData = {};\n\t\t\t\tconst inbounds = await this._getInboundApps();\n\t\t\t\tinbounds.forEach((oItem) => {\n\t\t\t\t\tconst fioriId = oItem?.signature?.parameters?.[\"sap-fiori-id\"]?.defaultValue?.value;\n\t\t\t\t\tconst componentId = oItem?.resolutionResult?.ui5ComponentName;\n\t\t\t\t\tif (fioriId) {\n\t\t\t\t\t\tconst semanticData: IAppInfoData = {\n\t\t\t\t\t\t\taction: oItem.action,\n\t\t\t\t\t\t\tsemanticObject: oItem.semanticObject,\n\t\t\t\t\t\t\tresolutionResult: oItem.resolutionResult\n\t\t\t\t\t\t};\n\t\t\t\t\t\tthis.fioriAppData[fioriId] = this.fioriAppData[fioriId] || [];\n\t\t\t\t\t\tthis.fioriAppData[fioriId].push(semanticData);\n\n\t\t\t\t\t\t// store data along with fioriId in componentData, this can be used later to find the\n\t\t\t\t\t\t// fioriId for those apps when only ui5ComponentName is known\n\t\t\t\t\t\tif (componentId) {\n\t\t\t\t\t\t\tconst combinedData: IAppInfoData = { ...semanticData, fioriId };\n\n\t\t\t\t\t\t\tthis.componentData[componentId] = this.componentData[componentId] || [];\n\t\t\t\t\t\t\tthis.componentData[componentId].push(combinedData);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn this.fioriAppData;\n\t\t} catch (oError) {\n\t\t\tLog.error(oError instanceof Error ? oError.message : String(oError));\n\t\t\treturn {};\n\t\t}\n\t}\n\n\t/**\n\t * Retrieves visualizations based on a list of Fiori IDs.\n\t *\n\t * This function processes the given Fiori IDs to find associated visualizations. It does so by fetching\n\t * inbound applications and catalog apps, then matching the Fiori IDs to filter out and gather relevant visualizations.\n\t * The function distinguishes between GUI and non-GUI visualizations, prioritizing non-GUI visualizations if both types are found.\n\t * It also ensures that each visualization is unique based on its URL and title, avoiding duplicates.\n\t *\n\t * @private\n\t * @async\n\t * @param {string[]} fioriIds - An array of Fiori IDs to search for visualizations.\n\t * @returns {Promise<ICustomVisualization[]>} A promise that resolves to an array of unique visualizations associated with the provided Fiori IDs.\n\t */\n\tprivate async _getVisualizationsByFioriIds(fioriIds: string[]) {\n\t\tconst visualizations: ICustomVisualization[] = [];\n\t\tconst visitedVisualizations: Map<string, boolean> = new Map<string, boolean>();\n\t\tconst [inbounds, catalogApps] = await Promise.all([this._getInboundApps(), this._getCatalogApps()]);\n\t\tfioriIds.forEach((fioriId) => {\n\t\t\t// get all inbounds with the fiori id\n\t\t\tconst authorizedApps = inbounds.filter(function (inbound) {\n\t\t\t\treturn inbound?.signature.parameters[\"sap-fiori-id\"]?.defaultValue?.value === fioriId;\n\t\t\t});\n\t\t\tauthorizedApps.forEach((app) => {\n\t\t\t\t//filter apps that matched semantic object action\n\t\t\t\tlet matchingVizualizations = catalogApps.filter((catalogApp) => {\n\t\t\t\t\treturn catalogApp?.target?.semanticObject === app.semanticObject && catalogApp.target.action === app.action;\n\t\t\t\t});\n\n\t\t\t\tconst guiVisualizations = matchingVizualizations.filter((matchingVizualization) =>\n\t\t\t\t\t_isGUIVisualization(matchingVizualization)\n\t\t\t\t);\n\t\t\t\tconst nonGuiVisualizations = matchingVizualizations.filter(\n\t\t\t\t\t(matchingVizualization) => !_isGUIVisualization(matchingVizualization)\n\t\t\t\t);\n\t\t\t\t//if both gui and non-gui visualizations exists, then consider only non-gui visualizations for recommendation.\n\t\t\t\tif (guiVisualizations.length > 0 && nonGuiVisualizations.length > 0) {\n\t\t\t\t\tmatchingVizualizations = [...nonGuiVisualizations];\n\t\t\t\t}\n\n\t\t\t\tmatchingVizualizations.forEach((matchingVizualization) => {\n\t\t\t\t\tlet visualization = matchingVizualization.visualizations[0];\n\t\t\t\t\tlet recommendedVisualization: ICustomVisualization = {\n\t\t\t\t\t\ttitle: visualization.title,\n\t\t\t\t\t\tsubtitle: visualization.subtitle,\n\t\t\t\t\t\ticon: visualization.icon,\n\t\t\t\t\t\turl: visualization.targetURL,\n\t\t\t\t\t\tvizId: visualization.vizId,\n\t\t\t\t\t\tfioriId: fioriId,\n\t\t\t\t\t\tvisualization: visualization\n\t\t\t\t\t};\n\t\t\t\t\t//if app with same url or title already recommended, then don't consider it.\n\t\t\t\t\tif (\n\t\t\t\t\t\t!visitedVisualizations.has(recommendedVisualization.url!) ||\n\t\t\t\t\t\t!visitedVisualizations.has(recommendedVisualization.title!)\n\t\t\t\t\t) {\n\t\t\t\t\t\tvisitedVisualizations.set(recommendedVisualization.url!, true);\n\t\t\t\t\t\tvisitedVisualizations.set(recommendedVisualization.title!, true);\n\t\t\t\t\t\tvisualizations.push(recommendedVisualization);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t\treturn visualizations;\n\t}\n\n\t/**\n\t * Retrieves visualizations for all favorite pages based on the provided parameters.\n\t * @param {Array} pages - An array of favorite pages.\n\t * @param {boolean} shouldReload - A flag indicating whether to reload page visualizations.\n\t * @returns {Promise<ICustomVisualization[]>} A promise that resolves with an array of favorite page visualizations.\n\t * @private\n\t */\n\tpublic async _getAllFavPageApps(pages: IPage[], shouldReload?: boolean): Promise<ICustomVisualization[]> {\n\t\ttry {\n\t\t\tif (pages) {\n\t\t\t\tthis._favPageVisualizations = this._favPageVisualizations || [];\n\t\t\t\t//Check to ensure that missing visualization data is loaded, if any\n\t\t\t\tconst loadedPages = this._favPageVisualizations.reduce((pageIDs: string[], visualization) => {\n\t\t\t\t\tif (visualization.pageId && !pageIDs.includes(visualization.pageId)) {\n\t\t\t\t\t\tpageIDs.push(visualization.pageId);\n\t\t\t\t\t}\n\t\t\t\t\treturn pageIDs;\n\t\t\t\t}, []);\n\t\t\t\tconst pageIds = pages.map((page) => page.pageId);\n\t\t\t\tconst shouldLoadMissingApps = loadedPages.length === 0 || !loadedPages.every((pageId) => pageIds.includes(pageId));\n\t\t\t\tif (!shouldReload && !shouldLoadMissingApps) {\n\t\t\t\t\treturn this._favPageVisualizations;\n\t\t\t\t} else {\n\t\t\t\t\tthis._favPageVisualizations = await this._loadAllPageVisualizations(pages, shouldReload);\n\t\t\t\t\treturn this._favPageVisualizations;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn [];\n\t\t} catch (error) {\n\t\t\tLog.error(error as string);\n\t\t\treturn [];\n\t\t}\n\t}\n\n\t/**\n\t * Loads visualizations for all specified pages.\n\t * @param {Array} pages - An array of pages.\n\t * @param {boolean} [shouldFetchDistinctApps=false] - A flag indicating whether to fetch distinct pages.\n\t * @returns {Promise<ICustomVisualization[]>} A promise that resolves with an array of page visualizations.\n\t * @private\n\t */\n\tprivate async _loadAllPageVisualizations(\n\t\tpages: IPage[],\n\t\tforceRefresh = false,\n\t\tshouldFetchDistinctApps = false\n\t): Promise<ICustomVisualization[]> {\n\t\tconst getBgColor = (pageId: string | undefined) => {\n\t\t\treturn pages.find((page) => page.pageId === pageId)?.BGColor ?? DEFAULT_BG_COLOR().key;\n\t\t};\n\n\t\ttry {\n\t\t\tconst favPageVisualizations: ICustomVisualization[] = [];\n\t\t\tconst aPages = await this.loadPages(pages, forceRefresh);\n\n\t\t\tfor (const page of aPages) {\n\t\t\t\tconst sections = page?.sections || [];\n\t\t\t\tfor (const section of sections) {\n\t\t\t\t\tconst visualizations = section.visualizations || [];\n\t\t\t\t\tfor (const visualization of visualizations) {\n\t\t\t\t\t\tconst app = {\n\t\t\t\t\t\t\tappId: visualization.targetURL,\n\t\t\t\t\t\t\tvizId: visualization.vizId,\n\t\t\t\t\t\t\ticon: visualization.icon,\n\t\t\t\t\t\t\tBGColor: getBgColor(page.id) as string,\n\t\t\t\t\t\t\tpageId: page.id\n\t\t\t\t\t\t};\n\t\t\t\t\t\tif (!shouldFetchDistinctApps || !favPageVisualizations.some((oVizApp) => oVizApp.appId === app.appId)) {\n\t\t\t\t\t\t\tfavPageVisualizations.push(app);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn favPageVisualizations;\n\t\t} catch (error) {\n\t\t\tLog.error(error as string);\n\t\t\treturn [];\n\t\t}\n\t}\n\t/**\n\t * Fetches page data for the specified pages.\n\t * @param {Array} pages - An array of pages.\n\t * @param {boolean} forceRefresh - If true, forces a refresh of the page data.\n\t * @returns {Promise<IPage>} A promise that resolves to the fetched page data.\n\t * @private\n\t */\n\tprivate async loadPages(pages: IPage[], forceRefresh: boolean = false): Promise<IPage[]> {\n\t\treturn await Promise.all(pages.map((page) => this._fetchRequestFromQueue(forceRefresh, page.pageId)));\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"AppManager.js","names":["sap","ui","define","Log","ResourceBundle","VersionInfo","BaseObject","ODataModelV2","Config","Container","___AnalyticalCardSkeleton","___Constants","___DataFormatUtils","__HttpHelper","__RecommendedCardUtil","_interopRequireDefault","obj","__esModule","default","_iteratorSymbol","Symbol","iterator","_settle","pact","state","value","s","_Pact","v","o","bind","then","observer","prototype","onFulfilled","onRejected","result","callback","e","_this","_isSettledPact","thenable","_forTo","array","body","check","i","reject","_cycle","length","AnalyticalCardSkeleton","_forOf","target","step","next","done","return","_fixup","TypeError","values","push","COLUMN_LENGTH","_catch","recover","DEFAULT_BG_COLOR","FALLBACK_ICON","MYHOME_PAGE_ID","MYHOME_SPACE_ID","MYINSIGHT_SECTION_ID","RECOMMENDATION_SRVC_URL","RECOMMENDED_CARD_LIMIT","createBookMarkData","getLeanURL","HttpHelper","RecommendedCardUtil","CONSTANTS","MUST_INCLUDE_RECOMMEDED_APPS","_parseSBParameters","oParam","oParsedParams","JSON","parse","oError","error","Error","message","String","undefined","_getTileProperties","vizConfigFLP","oTileProperties","_instantiationData","chip","configuration","oConfig","tileConfiguration","oTileConfig","TILE_PROPERTIES","_getAppId","sAppId","semanticObject","action","semanticAction","_getTargetUrl","sTargetURL","evaluationId","_isSmartBusinessTile","oVisualization","vizType","startsWith","_getAppTitleSubTitle","oApp","oAppTileInfo","bags","sb_tileProperties","texts","title","subtitle","description","_linkDuplicateVizs","aVizs","forEach","oDuplicateViz","filter","oViz","appId","visualization","id","persConfig","sectionIndex","duplicateApps","_isGUIVisualization","parameters","_isMustIncludeRecommendation","recViz","fioriId","includes","_isVisualizationAlreadyAdded","favoriteVisualizations","some","favViz","AppManager","aRequestQueue","bInsightsSectionPresent","vizDataModified","_oVizCacheData","_favPageVisualizations","componentData","fioriAppData","constructor","recommendedUtilInstance","getInstance","Instance","_fetchRequestFromQueue","bForceRefresh","pageId","Promise","resolve","getServiceAsync","oSpaceContentService","oPageLoadPromise","oRequestedPage","find","oRequest","getPage","pageLoadPromise","_fetchDynamicVizs","fetchFavVizs","aFavApps","oDynApp","isCount","isSmartBusinessTile","_getSections","_this2","oPage","aSections","sections","iRecentAppSectionIndex","findIndex","oSection","_temp2","_temp","_oMoveAppsPromise","moveSection","_fetchPageVizs","_this3","oVizInstantiationService","iSectionIndex","visualizations","iVisualizationIndex","vizConfig","oVizInfo","oldAppId","targetURL","url","leanURL","BGColor","key","isFav","isSection","icon","icons","indicatorDataSource","path","contentProviderId","instantiateVisualization","setActive","vizInstance","sectionTitle","sectionId","visualizationIndex","isDefaultSection","isPresetSection","preset","_copyDynamicVizs","_this4","aDynamicVizs","all","map","oDynViz","addVisualization","vizId","bPreventGrouping","_this5","aMyHomeVizs","aVisibleFavVizs","_filterDuplicateVizs","_addGroupInformation","fetchInsightApps","sSectionTitle","_this6","_temp5","fnFetchInsightsApps","_temp4","insightsSectionIndex","_temp3","last","addSection","sectionProperties","visualizationId","spaceContentService","removeVisualizations","vizIds","_this7","_temp7","targetSection","_temp6","deleteVisualization","updateVisualizations","sourceSectionIndex","sourceVisualizationIndex","oVisualizationData","updateVisualization","createInsightSection","_exit","_this8","_temp9","_result","_temp8","iMyInsightSectionIndex","_this8$addSection","visible","mProperties","getSectionVisualizations","forceRefresh","_this9","aApps","apps","addBookMark","bookmark","moveConfig","_this0","oBookmarkService","getContentNodes","aContentNodes","oMyHomeSpace","contentNode","children","addBookmark","moveVisualization","getVisualization","_this1","sectionVisualizations","sectionVisualization","_this10","targetSectionIndex","targetVisualizationIndex","aVisibleFavoriteVizs","bReturnDuplicateVizs","iVizIndex","iFirstIndex","oTempApp","aFavoriteVizs","aRecentVizs","oExistingSection","index","badge","toString","oPagesService","iPageIndex","getPageIndex","isURLParamEnabled","param","urlParams","URLSearchParams","window","location","search","get","toLowerCase","_getRecommenedFioriIds","_exit2","_this11","_temp1","_result3","recommendedFioriIds","_temp0","GetJSON","_HttpHelper$GetJSON","response","app_id","_Promise$resolve","_getCatalogApps","_exit3","_this12","_temp12","_result4","catalogAppData","_temp11","SearchableContent","getApps","includeAppsWithoutVisualizations","_this12$catalogAppDat","_temp10","isAddCardToInsightsHidden","page","component","settings","tableSettings","addCardtoInsightsHidden","_checkValidManifests","manifest","dataSources","hasRequiredDataSource","mainService","pages","Array","isArray","_isListReport","pageValues","Object","_getOdataModel","oManifest","datasource","annotationUrls","annotations","name","uri","Boolean","oDataModel","annotationURI","loadAnnotationsJoined","attachMetadataLoaded","attachMetadataFailed","_getEntitySet","entitySet","loadI18n","manifestUrl","_this13","_temp14","_RBManifestMap","absoluteUrl","i18nBundleUrl","URL","href","_temp13","create","bundleUrl","async","terminologies","oResourceBundle","getI18nValueOrDefaultString","sValue","oRB","sPath","substring","getText","_getAnalyticalCardManifest","stringify","getProcessedManifest","metaModel","manifestObj","parentApp","versionInfo","_this14","_temp17","_createCardManifest","cardInput","suppressRowNavigation","mainEntitySetName","mainEntitySet","getODataEntitySet","lineItemDetails","getLineItemDetails","lineItem","entitySetName","entityType","getODataEntityType","lrSettings","hasMandatoryProperties","property","parameterDetails","_getParametersisedEntitySetParams","paramEntitySet","_getManifestCardData","columns","headerInfo","cardTitle","TypeNamePlural","_temp16","i18n","appTitle","_temp15","i18nResourceBundle","fetchMetaModels","validManifests","_this15","odataPromises","_this15$_getOdataMode","getMetaModel","combineManifestsAndMetaModels","aMetaModel","reduce","combined","processManifests","combinedDetails","aCSTR","_this16","item","resolutionResult","ui5ComponentName","processAppList","aList","aAppComponentIds","aComponent","list","oComponent","oData","matchingData","entry","_getCardManifest","_this17","getFioriAppData","aCatalog","aFioriData","load","_VersionInfo$load","flat","processedList","fetchManifests","manifests","cards","card","appIdList","fioriData","catalogData","appPromises","_exit4","aApp","_temp18","catalog","applicationDependencies","fetch","json","_response$json","_url$manifest","_result6","results","_removeDuplicateCards","aCards","oCardDict","aResult","oCard","sCardTitle","descriptorContent","header","getRecommenedCards","_this18","aAppIds","aManifests","aRecManifests","slice","aRecommendedCards","rec","getRecommendedVisualizations","_this19","_temp21","_recommendedVisualizations","_temp20","_temp19","finalRecommendations","mustIncludeRecommendations","_getVisualizationsByFioriIds","recommendedVisualizations","concat","_getInboundApps","service","_oAdapter","_aInbounds","_this20","_temp23","_temp22","keys","inbounds","oItem","signature","defaultValue","componentId","semanticData","combinedData","fioriIds","_this21","visitedVisualizations","Map","catalogApps","authorizedApps","inbound","app","matchingVizualizations","catalogApp","guiVisualizations","matchingVizualization","nonGuiVisualizations","recommendedVisualization","has","set","_getAllFavPageApps","shouldReload","_exit5","_this22","_temp25","_result7","_temp24","loadedPages","pageIDs","pageIds","shouldLoadMissingApps","every","_this22$_favPageVisua","_loadAllPageVisualizations","_this22$_loadAllPageV","_this22$_favPageVisua2","shouldFetchDistinctApps","_this23","getBgColor","favPageVisualizations","loadPages","aPages","section","oVizApp","_this24"],"sources":["AppManager.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Log from \"sap/base/Log\";\nimport ResourceBundle from \"sap/base/i18n/ResourceBundle\";\nimport VersionInfo from \"sap/ui/VersionInfo\";\nimport BaseObject from \"sap/ui/base/Object\";\nimport ODataMetaModel, { Property } from \"sap/ui/model/odata/ODataMetaModel\";\nimport ODataModelV2 from \"sap/ui/model/odata/v2/ODataModel\";\nimport Config from \"sap/ushell/Config\";\nimport Container from \"sap/ushell/Container\";\nimport Bookmark from \"sap/ushell/services/BookmarkV2\";\nimport ClientSideTargetResolution from \"sap/ushell/services/ClientSideTargetResolution\";\nimport SearchableContent, { AppData } from \"sap/ushell/services/SearchableContent\";\nimport SpaceContent from \"sap/ushell/services/SpaceContent\";\nimport VisualizationInstantiation from \"sap/ushell/services/VisualizationInstantiation\";\nimport {\n\tICustomVisualization,\n\tICustomVizInstance,\n\tIParseSBParameters,\n\tISection,\n\tISectionAndVisualization,\n\tIVisualization\n} from \"../interface/AppsInterface\";\nimport {\n\tIAppInfo,\n\tIAppInfoData,\n\tIAppManifest,\n\tICard,\n\tICardDetails,\n\tICardManifest,\n\tIEntitySet,\n\tIEntityType,\n\tIHeaderInfo,\n\tIPageType,\n\tIVersionInfo,\n\tPageRecord\n} from \"../interface/CardsInterface\";\nimport { IPage } from \"../interface/PageSpaceInterface\";\nimport { AnalyticalCardSkeleton } from \"./AnalyticalCardSkeleton\";\nimport {\n\tCOLUMN_LENGTH,\n\tDEFAULT_BG_COLOR,\n\tFALLBACK_ICON,\n\tMYHOME_PAGE_ID,\n\tMYHOME_SPACE_ID,\n\tMYINSIGHT_SECTION_ID,\n\tRECOMMENDATION_SRVC_URL,\n\tRECOMMENDED_CARD_LIMIT\n} from \"./Constants\";\nimport { createBookMarkData, getLeanURL } from \"./DataFormatUtils\";\nimport HttpHelper from \"./HttpHelper\";\nimport RecommendedCardUtil from \"./RecommendedCardUtil\";\n\nconst CONSTANTS = {\n\tMUST_INCLUDE_RECOMMEDED_APPS: [\"F0862\", \"F1823\"] //My Inbox and Manage Timesheet apps\n};\n\ninterface ICombinedManifestDetails {\n\tmanifest: IValidManifest;\n\tmetaModel: ODataMetaModel;\n}\n\ninterface IValidManifest {\n\turl: string;\n\tmanifest: IAppManifest;\n}\n\nconst _parseSBParameters = (oParam: object | string | undefined): IParseSBParameters | undefined => {\n\tlet oParsedParams: IParseSBParameters | undefined = {};\n\tif (oParam) {\n\t\tif (typeof oParam === \"object\") {\n\t\t\toParsedParams = oParam;\n\t\t} else {\n\t\t\ttry {\n\t\t\t\toParsedParams = JSON.parse(oParam) as object;\n\t\t\t} catch (oError) {\n\t\t\t\tLog.error(oError instanceof Error ? oError.message : String(oError));\n\t\t\t\toParsedParams = undefined;\n\t\t\t}\n\t\t}\n\t}\n\treturn oParsedParams;\n};\n\nconst _getTileProperties = (vizConfigFLP?: IVisualization): IParseSBParameters | undefined => {\n\tlet oTileProperties: IParseSBParameters | undefined = {};\n\tif (vizConfigFLP?._instantiationData?.chip?.configuration) {\n\t\tconst oConfig: IParseSBParameters | undefined = _parseSBParameters(vizConfigFLP._instantiationData.chip.configuration);\n\t\tif (oConfig?.tileConfiguration) {\n\t\t\tconst oTileConfig: IParseSBParameters | undefined = _parseSBParameters(oConfig.tileConfiguration);\n\t\t\tif (oTileConfig) {\n\t\t\t\toTileProperties = _parseSBParameters(oTileConfig.TILE_PROPERTIES);\n\t\t\t}\n\t\t}\n\t}\n\treturn oTileProperties;\n};\n\nconst _getAppId = (vizConfigFLP: IVisualization | undefined): string => {\n\tlet sAppId = \"\";\n\tlet oTileProperties: IParseSBParameters | undefined = {};\n\tif (vizConfigFLP?.target?.semanticObject && vizConfigFLP?.target?.action) {\n\t\tsAppId = `#${vizConfigFLP.target.semanticObject}-${vizConfigFLP.target.action}`;\n\t} else if (vizConfigFLP?._instantiationData?.chip?.configuration) {\n\t\toTileProperties = _getTileProperties(vizConfigFLP);\n\t\tif (oTileProperties?.semanticObject && oTileProperties?.semanticAction) {\n\t\t\tsAppId = `#${oTileProperties?.semanticObject}-${oTileProperties?.semanticAction}`;\n\t\t}\n\t}\n\treturn sAppId;\n};\n\nconst _getTargetUrl = (vizConfigFLP: IVisualization | undefined) => {\n\tlet sTargetURL = _getAppId(vizConfigFLP) || \"\";\n\tconst oTileProperties = _getTileProperties(vizConfigFLP);\n\tif (oTileProperties?.evaluationId) {\n\t\tsTargetURL += \"?EvaluationId=\" + oTileProperties.evaluationId;\n\t}\n\treturn sTargetURL;\n};\n\nconst _isSmartBusinessTile = (oVisualization: IVisualization): boolean => {\n\treturn oVisualization.vizType?.startsWith(\"X-SAP-UI2-CHIP:SSB\");\n};\n\n// get App Title in case of value not present at root level\nconst _getAppTitleSubTitle = (oApp: IVisualization, vizConfigFLP: IVisualization): { title: string; subtitle: string } => {\n\tconst oAppTileInfo = vizConfigFLP?._instantiationData?.chip?.bags?.sb_tileProperties?.texts;\n\treturn {\n\t\ttitle: oApp.title ? oApp.title : oAppTileInfo?.title || \"\",\n\t\tsubtitle: oApp.subtitle ? oApp.subtitle : oAppTileInfo?.description || \"\"\n\t};\n};\n\n/**\n * Link Duplicate Visualizations to a single visualization\n *\n * @param {object[]} aVizs - array of visualizations\n * @returns {object[]} arry of visualizations after linking duplicate visualizations\n * @private\n */\nconst _linkDuplicateVizs = (aVizs: ICustomVisualization[]) => {\n\taVizs.forEach((oDuplicateViz) => {\n\t\taVizs\n\t\t\t.filter(\n\t\t\t\t(oViz) =>\n\t\t\t\t\toViz.appId === oDuplicateViz.appId &&\n\t\t\t\t\toViz?.visualization?.id !== oDuplicateViz?.visualization?.id &&\n\t\t\t\t\toViz.persConfig?.sectionIndex === oDuplicateViz.persConfig?.sectionIndex\n\t\t\t)\n\t\t\t.forEach((oViz) => {\n\t\t\t\toViz?.persConfig?.duplicateApps?.push(oDuplicateViz);\n\t\t\t});\n\t});\n\n\treturn aVizs;\n};\n\nconst _isGUIVisualization = (visualization: AppData) => {\n\treturn visualization?.target?.parameters?.[\"sap-ui-tech-hint\"]?.value?.value === \"GUI\";\n};\n\nconst _isMustIncludeRecommendation = (recViz: ICustomVisualization) => {\n\treturn recViz.fioriId && CONSTANTS.MUST_INCLUDE_RECOMMEDED_APPS.includes(recViz.fioriId);\n};\n\nconst _isVisualizationAlreadyAdded = (visualization: ICustomVisualization, favoriteVisualizations: ICustomVisualization[]) => {\n\treturn !favoriteVisualizations.some(\n\t\t(favViz) =>\n\t\t\tfavViz.visualization?.target?.semanticObject === visualization.visualization?.target?.semanticObject &&\n\t\t\tfavViz.visualization?.target?.action === visualization.visualization?.target?.action\n\t);\n};\n\n/**\n *\n * @class Provides the AppManager Class used for fetch and process user apps.\n *\n * @extends sap.ui.BaseObject\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121.0\n * @private\n *\n * @alias sap.cux.home.util.AppManager\n */\n\nexport default class AppManager extends BaseObject {\n\tprivate aRequestQueue: { pageId: string; pageLoadPromise: Promise<IPage> }[] = [];\n\tprivate _oMoveAppsPromise!: Promise<void>;\n\tprivate bInsightsSectionPresent: boolean = false;\n\tpublic insightsSectionIndex!: number;\n\tstatic Instance: AppManager;\n\tprivate recommendedFioriIds!: string[];\n\tprivate versionInfo!: IVersionInfo;\n\tprivate _RBManifestMap!: Record<string, ResourceBundle>;\n\tprivate _recommendedVisualizations!: ICustomVisualization[];\n\tprivate vizDataModified: boolean = false;\n\tprivate _oVizCacheData: { [key: string]: ICustomVizInstance } = {};\n\tprivate _favPageVisualizations: ICustomVisualization[] = [];\n\tprivate componentData: IAppInfo = {};\n\tprivate fioriAppData: IAppInfo = {};\n\tprivate recommendedUtilInstance: RecommendedCardUtil;\n\tprivate catalogAppData!: Promise<AppData[]> | undefined;\n\n\tprivate constructor() {\n\t\tsuper();\n\t\tthis.recommendedUtilInstance = RecommendedCardUtil.getInstance();\n\t}\n\n\tstatic getInstance() {\n\t\tif (!AppManager.Instance) {\n\t\t\tAppManager.Instance = new AppManager();\n\t\t}\n\t\treturn AppManager.Instance;\n\t}\n\t/**\n\t * Returns page load promise from the request queue if it exists, adds it to the queue if it doesn't\n\t *\n\t * @param {string} sPageId - page id\n\t * @param {boolean} bForceRefresh - force reload of data if true\n\t * @returns {Promise} - returns a promise which resolves with the requested page data\n\t * @private\n\t */\n\tprivate async _fetchRequestFromQueue(bForceRefresh: boolean, pageId: string = MYHOME_PAGE_ID): Promise<IPage> {\n\t\tconst oSpaceContentService = await Container.getServiceAsync<SpaceContent>(\"SpaceContent\");\n\t\tlet oPageLoadPromise: Promise<IPage>;\n\t\tthis.aRequestQueue = this.aRequestQueue || [];\n\n\t\t//Check if request already exists in the queue, if not add it\n\t\tconst oRequestedPage = this.aRequestQueue.find((oRequest) => oRequest.pageId === pageId);\n\t\tif (!oRequestedPage || bForceRefresh === true || this.vizDataModified === true) {\n\t\t\tthis.vizDataModified = false;\n\t\t\toPageLoadPromise = oSpaceContentService.getPage(pageId);\n\t\t\tif (oRequestedPage) {\n\t\t\t\toRequestedPage.pageLoadPromise = oPageLoadPromise;\n\t\t\t} else {\n\t\t\t\tthis.aRequestQueue.push({\n\t\t\t\t\tpageId: pageId,\n\t\t\t\t\tpageLoadPromise: oPageLoadPromise\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\toPageLoadPromise = oRequestedPage.pageLoadPromise;\n\t\t}\n\n\t\treturn oPageLoadPromise;\n\t}\n\t/**\n\t * Returns all dynamic visualizations present in MyHome page\n\t *\n\t * @param {boolean} bForceRefresh - force reload of visualizations data\n\t * @returns {Promise} - resolves to array of all dynamic visualizations in MyHome page\n\t * @private\n\t */\n\tprivate _fetchDynamicVizs(bForceRefresh: boolean) {\n\t\treturn this.fetchFavVizs(bForceRefresh, true).then((aFavApps: ICustomVisualization[]) =>\n\t\t\taFavApps.filter((oDynApp) => oDynApp.isCount || oDynApp.isSmartBusinessTile)\n\t\t);\n\t}\n\t/**\n\t * Returns all the sections that are available in the MyHome page\n\t *\n\t * @param {boolean} bForceRefresh - force reload of visualizations data\n\t * @returns {Promise} - resolves to array of all sections available in MyHome page\n\t * @private\n\t */\n\tpublic async _getSections(bForceRefresh: boolean = false, pageId: string = MYHOME_PAGE_ID): Promise<ISection[]> {\n\t\tconst oPage: IPage = await this._fetchRequestFromQueue(bForceRefresh, pageId);\n\t\tconst aSections = (oPage && oPage.sections) || [],\n\t\t\tiRecentAppSectionIndex: number = aSections.findIndex((oSection) => oSection.default);\n\t\tif (iRecentAppSectionIndex > 0) {\n\t\t\tif (this._oMoveAppsPromise !== undefined) {\n\t\t\t\tthis._oMoveAppsPromise = this.moveSection(iRecentAppSectionIndex, 0);\n\t\t\t\tawait this._oMoveAppsPromise;\n\t\t\t}\n\t\t\treturn this._getSections(true);\n\t\t} else {\n\t\t\treturn aSections;\n\t\t}\n\t}\n\t/**\n\t * Models and returns all visualizations available in MyHome page\n\t *\n\t * @param {bool} bForceRefresh - force reload of visualizations data\n\t * @returns {Promise} - resolves to array of all apps available in MyHome page\n\t * @private\n\t */\n\tprivate async _fetchPageVizs(bForceRefresh: boolean, pageId: string = MYHOME_PAGE_ID): Promise<ICustomVisualization[]> {\n\t\tconst aVizs: ICustomVisualization[] = [];\n\t\tthis._oVizCacheData = this._oVizCacheData || {};\n\t\tconst aSections = await this._getSections(bForceRefresh, pageId);\n\t\tconst oVizInstantiationService = await Container.getServiceAsync<VisualizationInstantiation>(\"VisualizationInstantiation\");\n\t\taSections.forEach((oSection: ISection, iSectionIndex: number) => {\n\t\t\toSection?.visualizations?.forEach((oVisualization: IVisualization, iVisualizationIndex: number) => {\n\t\t\t\tconst vizConfig = oVisualization.vizConfig,\n\t\t\t\t\toVizInfo = vizConfig?.[\"sap.app\"] || ({ title: \"?\" } as IVisualization),\n\t\t\t\t\toViz = {} as ICustomVisualization;\n\n\t\t\t\toViz.oldAppId = _getAppId(vizConfig?.[\"sap.flp\"]);\n\t\t\t\toViz.appId = oVisualization?.targetURL; // Using targetURL as unique identifier as in certian scenario vizConfig can be empty.\n\t\t\t\toViz.url = oVisualization?.targetURL;\n\t\t\t\tif (!oViz.url && _isSmartBusinessTile(oVisualization)) {\n\t\t\t\t\toViz.url = _getTargetUrl(vizConfig?.[\"sap.flp\"]);\n\t\t\t\t}\n\t\t\t\toViz.leanURL = getLeanURL(oViz.url);\n\t\t\t\toViz.title = oVisualization?.title || _getAppTitleSubTitle(oVizInfo, oVisualization)?.title;\n\t\t\t\toViz.subtitle = oVisualization.subtitle || _getAppTitleSubTitle(oVizInfo, oVisualization).subtitle;\n\t\t\t\toViz.BGColor = DEFAULT_BG_COLOR().key;\n\t\t\t\toViz.isFav = true;\n\t\t\t\toViz.isSection = false;\n\t\t\t\toViz.pageId = pageId;\n\t\t\t\toViz.icon = vizConfig?.[\"sap.ui\"]?.icons?.icon || FALLBACK_ICON;\n\t\t\t\tif (oVisualization?.indicatorDataSource) {\n\t\t\t\t\toViz.isCount = true;\n\t\t\t\t\toViz.indicatorDataSource = oVisualization.indicatorDataSource.path;\n\t\t\t\t\toViz.contentProviderId = oVisualization.contentProviderId;\n\t\t\t\t}\n\t\t\t\toViz.isSmartBusinessTile = _isSmartBusinessTile(oVisualization);\n\t\t\t\tif (oViz.isSmartBusinessTile) {\n\t\t\t\t\tif (!this._oVizCacheData[oViz.appId]) {\n\t\t\t\t\t\tthis._oVizCacheData[oViz.appId] = oVizInstantiationService.instantiateVisualization(\n\t\t\t\t\t\t\toVisualization\n\t\t\t\t\t\t) as ICustomVizInstance;\n\t\t\t\t\t\tthis._oVizCacheData[oViz.appId].setActive(true);\n\t\t\t\t\t}\n\t\t\t\t\toViz.vizInstance = this._oVizCacheData[oViz.appId];\n\t\t\t\t}\n\t\t\t\t// Add FLP Personalization Config\n\t\t\t\toViz.persConfig = {\n\t\t\t\t\tpageId: MYHOME_PAGE_ID,\n\t\t\t\t\tsectionTitle: oSection.title,\n\t\t\t\t\tsectionId: oSection.id,\n\t\t\t\t\tsectionIndex: iSectionIndex,\n\t\t\t\t\tvisualizationIndex: iVisualizationIndex,\n\t\t\t\t\tisDefaultSection: oSection.default,\n\t\t\t\t\tisPresetSection: oSection.preset,\n\t\t\t\t\tduplicateApps: []\n\t\t\t\t};\n\t\t\t\toViz.visualization = oVisualization;\n\t\t\t\t// Title and Subtitle in visualization are required in Insights Dialog.\n\t\t\t\toViz.visualization.title = oViz.title;\n\t\t\t\toViz.visualization.subtitle = oViz.subtitle;\n\t\t\t\taVizs.push(oViz);\n\t\t\t});\n\t\t});\n\t\treturn aVizs;\n\t}\n\t/**\n\t * Copies all Dynamic visualizations to Insights section\n\t *\n\t * @returns {Promise} - resolves to void and copy all the visualizations\n\t * @private\n\t */\n\tprivate async _copyDynamicVizs() {\n\t\tconst aDynamicVizs: ICustomVisualization[] = await this._fetchDynamicVizs(true);\n\t\treturn Promise.all(\n\t\t\taDynamicVizs.map((oDynViz: ICustomVisualization) => {\n\t\t\t\treturn this.addVisualization(oDynViz.visualization!.vizId, MYINSIGHT_SECTION_ID);\n\t\t\t})\n\t\t);\n\t}\n\t/**\n\t * Returns a list of all favorite vizualizations in MyHome page\n\t *\n\t * @param {boolean} bForceRefresh - force reload of vizualizations data\n\t * @param {boolean} bPreventGrouping - prevent vizualizations grouping\n\t * @returns {Promise} - resolves to array of favourite vizualizations in MyHome page\n\t * @private\n\t */\n\tpublic async fetchFavVizs(\n\t\tbForceRefresh: boolean,\n\t\tbPreventGrouping?: boolean,\n\t\tpageId: string = MYHOME_PAGE_ID\n\t): Promise<ISectionAndVisualization[]> {\n\t\tconst aMyHomeVizs = await this._fetchPageVizs(bForceRefresh, pageId);\n\t\tconst aVisibleFavVizs = aMyHomeVizs.filter(\n\t\t\t(oViz) => oViz.persConfig && oViz.persConfig.sectionId !== MYINSIGHT_SECTION_ID && oViz.url && oViz.title\n\t\t);\n\n\t\tif (bPreventGrouping) {\n\t\t\treturn this._filterDuplicateVizs(_linkDuplicateVizs(aVisibleFavVizs), false);\n\t\t} else {\n\t\t\treturn this._addGroupInformation(aVisibleFavVizs);\n\t\t}\n\t}\n\t/**\n\t * Returns all vizualizations present in the Insights Section\n\t *\n\t * @param {boolean} bForceRefresh - force reload insights vizualizations data\n\t * @param {string} sSectionTitle - optional, title of insights section to be used while creating insights section\n\t * @returns {Promise} - resolves to an array with all vizualizations in Insights section\n\t */\n\tpublic async fetchInsightApps(bForceRefresh: boolean, sSectionTitle: string) {\n\t\tconst fnFetchInsightsApps = async () => {\n\t\t\tconst aVizs = await this._fetchPageVizs(bForceRefresh);\n\t\t\treturn aVizs.filter((oViz) => oViz.persConfig?.sectionId === MYINSIGHT_SECTION_ID && oViz.url && oViz.title);\n\t\t};\n\n\t\tif (!this.bInsightsSectionPresent) {\n\t\t\tconst aSections: ISection[] = await this._getSections(bForceRefresh);\n\t\t\tthis.insightsSectionIndex = aSections.findIndex(function (oSection) {\n\t\t\t\treturn oSection.id === MYINSIGHT_SECTION_ID;\n\t\t\t});\n\n\t\t\tif (\n\t\t\t\tthis.insightsSectionIndex === -1 &&\n\t\t\t\t(Config.last(\"/core/shell/enablePersonalization\") || Config.last(\"/core/catalog/enabled\")) &&\n\t\t\t\tthis.bInsightsSectionPresent === false\n\t\t\t) {\n\t\t\t\tthis.bInsightsSectionPresent = true;\n\t\t\t\tawait this.addSection({\n\t\t\t\t\tsectionIndex: aSections?.length,\n\t\t\t\t\tsectionProperties: {\n\t\t\t\t\t\tid: MYINSIGHT_SECTION_ID,\n\t\t\t\t\t\ttitle: sSectionTitle\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tawait this._copyDynamicVizs();\n\t\t\t} else {\n\t\t\t\tthis.bInsightsSectionPresent = true;\n\t\t\t}\n\t\t}\n\n\t\treturn await fnFetchInsightsApps();\n\t}\n\n\t/**\n\t * Add visualization to a particular section\n\t *\n\t * @param {string} visualizationId - The id of the visualization to add.\n\t * @param {string} sectionId - The id of the section the visualization should be added to (optional parameter)\n\t * @returns {Promise} resolves to void after adding app to a section\n\t * @private\n\t */\n\tpublic async addVisualization(visualizationId: string, sectionId: string | undefined = undefined): Promise<void> {\n\t\tconst spaceContentService = await Container.getServiceAsync<SpaceContent>(\"SpaceContent\");\n\t\tawait spaceContentService.addVisualization(MYHOME_PAGE_ID, sectionId, visualizationId);\n\t}\n\n\t/**\n\t * @param {object} mProperties - map of properties\n\t * @param {string} mProperties.sectionId - section id from which visualizations should be removed\n\t * @param {object[]} mProperties.appIds - array of url of visualizations that has to be deleted\n\t * @param {boolean} mProperties.ignoreDuplicateApps - if true doesn't remove the duplicate apps, else removes the duplicate apps as well\n\t * @private\n\t * @returns {Promise} resolves after all visualizations are deleted\n\t */\n\tpublic async removeVisualizations({ sectionId, vizIds }: { sectionId: string; vizIds: string[] }) {\n\t\tconst spaceContentService = await Container.getServiceAsync<SpaceContent>(\"SpaceContent\");\n\t\tfor (const vizId of vizIds) {\n\t\t\tconst sections = await this._getSections(true);\n\t\t\tconst sectionIndex = sections.findIndex((oSection) => oSection.id === sectionId);\n\t\t\tconst targetSection = sectionIndex > -1 ? sections[sectionIndex] : null;\n\t\t\tconst visualizationIndex = targetSection?.visualizations?.findIndex((oVisualization) => oVisualization.id === vizId) ?? -1;\n\t\t\tif (visualizationIndex > -1) {\n\t\t\t\tawait spaceContentService.deleteVisualization(MYHOME_PAGE_ID, sectionIndex, visualizationIndex);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @param {object} mProperties - map of properties\n\t * @param {string} mProperties.pageId - page id from which visualizations should be updated\n\t * @param {object[]} mProperties.sourceSectionIndex - section index in which visualization that has to be updated\n\t * @param {boolean} mProperties.sourceVisualizationIndex - visualization index in the which should be updated\n\t * @param {boolean} mProperties.oVisualizationData - visualization data which will be updated for the vizualisation\n\t * @private\n\t * @returns {Promise} resolves to void\n\t */\n\tpublic async updateVisualizations({\n\t\tpageId,\n\t\tsourceSectionIndex,\n\t\tsourceVisualizationIndex,\n\t\toVisualizationData\n\t}: {\n\t\tpageId: string;\n\t\tsourceSectionIndex: number;\n\t\tsourceVisualizationIndex: number;\n\t\toVisualizationData: { displayFormatHint: string };\n\t}) {\n\t\tconst spaceContentService = await Container.getServiceAsync<SpaceContent>(\"SpaceContent\");\n\t\treturn spaceContentService.updateVisualization(pageId, sourceSectionIndex, sourceVisualizationIndex, oVisualizationData);\n\t}\n\n\t/**\n\t * Create Insight Section if not already present\n\t *\n\t * @param {string} sSectionTitle - optional, section title\n\t * @returns {Promise} - resolves to insight section created\n\t */\n\tpublic async createInsightSection(sSectionTitle: string) {\n\t\tif (!this.bInsightsSectionPresent) {\n\t\t\tconst aSections = await this._getSections();\n\t\t\tconst iMyInsightSectionIndex = aSections.findIndex(function (oSection) {\n\t\t\t\treturn oSection.id === MYINSIGHT_SECTION_ID;\n\t\t\t});\n\n\t\t\t//check if myinsight section exists, if not create one\n\t\t\tif (\n\t\t\t\tiMyInsightSectionIndex === -1 &&\n\t\t\t\t(Config.last(\"/core/shell/enablePersonalization\") || Config.last(\"/core/catalog/enabled\"))\n\t\t\t) {\n\t\t\t\treturn this.addSection({\n\t\t\t\t\tsectionIndex: aSections.length,\n\t\t\t\t\tsectionProperties: {\n\t\t\t\t\t\tid: MYINSIGHT_SECTION_ID,\n\t\t\t\t\t\ttitle: sSectionTitle,\n\t\t\t\t\t\tvisible: true\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn Promise.resolve();\n\t}\n\n\t/**\n\t * Adds a section\n\t *\n\t * @param {object} mProperties - map of properties\n\t * @param {string} mProperties.sectionIndex - section index\n\t * @param {object} mProperties.sectionProperties - section properties\n\t * @returns {Promise} resolves to void and creates the section\n\t * @private\n\t */\n\tpublic async addSection(mProperties: ISection) {\n\t\tconst { sectionIndex, sectionProperties } = mProperties;\n\t\tconst oSpaceContentService = await Container.getServiceAsync<SpaceContent>(\"SpaceContent\");\n\t\tawait oSpaceContentService.addSection(MYHOME_PAGE_ID, sectionIndex, {\n\t\t\t...sectionProperties,\n\t\t\tvisible: true\n\t\t});\n\t}\n\n\t/**\n\t * Returns visualizations for a given section\n\t * @param {string} sectionId - section id\n\t * @param {boolean} [forceRefresh=false] - force reload of data if true\n\t * @returns {Promise} resolves to array of visualizations\n\t * @private\n\t */\n\tpublic async getSectionVisualizations(\n\t\tsectionId?: string,\n\t\tforceRefresh = false,\n\t\tpageId: string = MYHOME_PAGE_ID\n\t): Promise<ICustomVisualization[]> {\n\t\tconst aApps: ISectionAndVisualization[] = await this.fetchFavVizs(forceRefresh, false, pageId);\n\t\tif (sectionId) {\n\t\t\treturn aApps.find((oViz) => oViz.isSection && oViz.id === sectionId)?.apps || [];\n\t\t} else {\n\t\t\treturn aApps.filter((oViz) => !oViz.isSection); //return recently added apps\n\t\t}\n\t}\n\n\t/**\n\t * Adds a bookmark.\n\t * @private\n\t * @param {Object} bookmark - The bookmark data object.\n\t * @returns {Promise<void>} - A Promise that resolves once the bookmark is added.\n\t */\n\tpublic async addBookMark(\n\t\tbookmark: IVisualization,\n\t\tmoveConfig?: {\n\t\t\tsourceSectionIndex: number;\n\t\t\tsourceVisualizationIndex: number;\n\t\t\ttargetSectionIndex: number;\n\t\t\ttargetVisualizationIndex: number;\n\t\t}\n\t) {\n\t\tconst oBookmarkService: Bookmark = await Container.getServiceAsync(\"BookmarkV2\");\n\t\tconst aContentNodes = await oBookmarkService.getContentNodes();\n\t\tconst oMyHomeSpace = aContentNodes.find((contentNode) => contentNode.id === MYHOME_SPACE_ID);\n\t\tconst contentNode = oMyHomeSpace?.children?.find((contentNode) => contentNode.id === MYHOME_PAGE_ID);\n\t\tawait oBookmarkService.addBookmark(createBookMarkData(bookmark), contentNode);\n\t\tif (moveConfig) {\n\t\t\treturn this.moveVisualization(moveConfig);\n\t\t}\n\t\treturn Promise.resolve();\n\t}\n\n\t/**\n\t * Retrieves the visualization with the specified appId within the specified section.\n\t * @param {string} appId - appId of the visualization for.\n\t * @param {string} sectionId - The ID of the section containing the visualization.\n\t * @param {boolean} [forceRefresh=false] - Whether to force a refresh of the section's cache.\n\t * @returns {Promise<object|null>} A promise that resolves with the visualization object if found, or null if not found.\n\t * @private\n\t */\n\tpublic async getVisualization(appId: string, sectionId?: string, forceRefresh = false) {\n\t\tconst sectionVisualizations = await this.getSectionVisualizations(sectionId, forceRefresh);\n\t\treturn sectionVisualizations.find((sectionVisualization) => sectionVisualization.appId === appId);\n\t}\n\n\t/**\n\t * Moves a visualization from source section to target section.\n\t * @param {object} moveConfig - Configuration object containing details for moving the visualization.\n\t * @param {number} moveConfig.sourceSectionIndex - Index of the source section.\n\t * @param {number} moveConfig.sourceVisualizationIndex - Index of the visualization within the source section.\n\t * @param {number} moveConfig.targetSectionIndex - Index of the target section.\n\t * @param {number} moveConfig.targetVisualizationIndex - Index at which the visualization will be placed within the target section.\n\t * @returns {Promise<void>} A promise that resolves to void after the move operation.\n\t * @private\n\t */\n\tpublic async moveVisualization(moveConfig: {\n\t\tsourceSectionIndex: number;\n\t\tsourceVisualizationIndex: number;\n\t\ttargetSectionIndex: number;\n\t\ttargetVisualizationIndex: number;\n\t}) {\n\t\tconst spaceContentService = await Container.getServiceAsync<SpaceContent>(\"SpaceContent\");\n\t\tthis.vizDataModified = true;\n\t\treturn spaceContentService.moveVisualization(\n\t\t\tMYHOME_PAGE_ID,\n\t\t\tmoveConfig.sourceSectionIndex,\n\t\t\tmoveConfig.sourceVisualizationIndex,\n\t\t\tmoveConfig.targetSectionIndex,\n\t\t\tmoveConfig.targetVisualizationIndex\n\t\t);\n\t}\n\n\t/**\n\t * Filters out duplicate visualizations from a list of all visualizations\n\t *\n\t * @param {object[]} aVisibleFavoriteVizs - array containing list of all visualizations\n\t * @param {boolean} bReturnDuplicateVizs - flag when set to true, returns only the duplicate apps\n\t * @returns {object[]} filtered array of vizualisations\n\t * @private\n\t */\n\tpublic _filterDuplicateVizs(aVisibleFavoriteVizs: ICustomVisualization[], bReturnDuplicateVizs: boolean) {\n\t\treturn aVisibleFavoriteVizs.filter((oViz, iVizIndex, aVizs) => {\n\t\t\tconst iFirstIndex = aVizs.findIndex((oTempApp) => oTempApp.appId === oViz.appId);\n\t\t\treturn bReturnDuplicateVizs ? iFirstIndex !== iVizIndex : iFirstIndex === iVizIndex;\n\t\t});\n\t}\n\n\t/**\n\t * Add Grouping Information to visualizations list, and return concatenated list.\n\t *\n\t * @param {object[]} aFavoriteVizs - list of all favorite visualizations\n\t * @returns {object[]} - concatenated list contaning grouping information as well\n\t * @private\n\t */\n\tprivate _addGroupInformation(aFavoriteVizs: ICustomVisualization[]) {\n\t\tconst aRecentVizs: ICustomVisualization[] = [],\n\t\t\taSections: ISection[] = [];\n\t\tlet oExistingSection: ISection | undefined;\n\n\t\t_linkDuplicateVizs(aFavoriteVizs).forEach((oViz) => {\n\t\t\tif (oViz.persConfig?.isDefaultSection) {\n\t\t\t\taRecentVizs.push(oViz);\n\t\t\t} else {\n\t\t\t\toExistingSection = aSections.find((oSection) => oSection.isSection && oSection.id === oViz.persConfig?.sectionId);\n\n\t\t\t\tif (!oExistingSection) {\n\t\t\t\t\taSections.push({\n\t\t\t\t\t\tid: oViz.persConfig?.sectionId,\n\t\t\t\t\t\tindex: oViz.persConfig?.sectionIndex,\n\t\t\t\t\t\ttitle: oViz.persConfig?.sectionTitle || \"\",\n\t\t\t\t\t\tbadge: \"1\",\n\t\t\t\t\t\tBGColor: DEFAULT_BG_COLOR().key,\n\t\t\t\t\t\ticon: \"sap-icon://folder-full\",\n\t\t\t\t\t\tisSection: true,\n\t\t\t\t\t\tpageId: oViz.pageId,\n\t\t\t\t\t\tisPresetSection: oViz.persConfig?.isPresetSection,\n\t\t\t\t\t\tapps: [oViz]\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\toExistingSection.apps?.push(oViz);\n\t\t\t\t\toExistingSection.badge = oExistingSection.apps?.length.toString();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t//filter out duplicate apps only from recent apps list\n\t\treturn [...aSections, ...this._filterDuplicateVizs(aRecentVizs, false)];\n\t}\n\n\t/**\n\t * Move a section within a page\n\t *\n\t * @param {number} sourceSectionIndex - source index (previous index of the section in the page before move)\n\t * @param {number} targetSectionIndex - target index (desired index of the section in the page after move)\n\t * @returns {Promise} resolves to void and moves the section to desired index within the page\n\t * @private\n\t */\n\tpublic async moveSection(sourceSectionIndex: number, targetSectionIndex: number): Promise<void> {\n\t\treturn Container.getServiceAsync(\"Pages\").then(function (oPagesService: {\n\t\t\tgetPageIndex: (id: string) => number;\n\t\t\tmoveSection: (index: number, sourceIndex: number, targetIndex: number) => void;\n\t\t}) {\n\t\t\tconst iPageIndex: number = oPagesService.getPageIndex(MYHOME_PAGE_ID);\n\t\t\treturn oPagesService.moveSection(iPageIndex, sourceSectionIndex, targetSectionIndex);\n\t\t} as () => void);\n\t}\n\n\t/**\n\t * Checks if a specific URL parameter is enabled (set to \"true\").\n\t *\n\t * @param {string} param - The name of the URL parameter to check.\n\t * @returns {boolean} `true` if the URL parameter exists and is set to \"true\" (case-insensitive), otherwise `false`.\n\t */\n\tpublic isURLParamEnabled(param: string): boolean {\n\t\tconst urlParams = new URLSearchParams(window.location.search);\n\t\treturn urlParams?.get(param)?.toLowerCase() === \"true\" || false;\n\t}\n\n\t/**\n\t * Fetch Recommended Fiori IDs\n\t *\n\t * @returns {Promise} resolves to array of recommended fiori ids\n\t * @private\n\t */\n\tprivate async _getRecommenedFioriIds(bForceRefresh: boolean = false): Promise<string[]> {\n\t\tif (!this.recommendedFioriIds || bForceRefresh) {\n\t\t\ttry {\n\t\t\t\tconst response = (await HttpHelper.GetJSON(RECOMMENDATION_SRVC_URL)) as {\n\t\t\t\t\terror: { message: string };\n\t\t\t\t\tvalue: Array<{ app_id: string }>;\n\t\t\t\t};\n\t\t\t\tthis.recommendedFioriIds =\n\t\t\t\t\tresponse?.value?.map((oApp) => {\n\t\t\t\t\t\treturn oApp.app_id;\n\t\t\t\t\t}) || [];\n\t\t\t} catch (error) {\n\t\t\t\tLog.error(\"Unable to load recommendations: \" + (error as Error).message);\n\t\t\t\treturn Promise.resolve([]);\n\t\t\t}\n\t\t}\n\t\treturn this.recommendedFioriIds;\n\t}\n\n\t/**\n\t * Fetch Catalog Apps\n\t *\n\t * @returns {Promise} resolves to array of Catalog Apps\n\t * @private\n\t */\n\tpublic async _getCatalogApps() {\n\t\tif (!this.catalogAppData) {\n\t\t\ttry {\n\t\t\t\tconst SearchableContent = await Container.getServiceAsync<SearchableContent>(\"SearchableContent\");\n\t\t\t\tthis.catalogAppData = SearchableContent.getApps({ includeAppsWithoutVisualizations: false });\n\t\t\t\treturn this.catalogAppData;\n\t\t\t} catch (error) {\n\t\t\t\tthis.catalogAppData = undefined;\n\t\t\t\tLog.error(error instanceof Error ? \"Error while fetching catalog apps:\" + error.message : String(error));\n\t\t\t\treturn [];\n\t\t\t}\n\t\t}\n\t\treturn Promise.resolve(this.catalogAppData);\n\t}\n\n\t/**\n\t * Checks whether page settings contains addCardtoInsightsHidden\n\t * @param {object} page - page object\n\t * @returns {boolean} returns boolean\n\t * @private\n\t */\n\tprivate isAddCardToInsightsHidden(page?: IPageType) {\n\t\treturn page?.component?.settings?.tableSettings?.addCardtoInsightsHidden;\n\t}\n\n\t/**\n\t * check Valid Manifests\n\t *\n\t * @returns {boolean} returns boolean\n\t * @private\n\t */\n\n\tprivate _checkValidManifests(manifest: IAppManifest): boolean {\n\t\tconst dataSources = manifest[\"sap.app\"]?.dataSources;\n\n\t\t// Ensure dataSources has the correct structure for `mainService`\n\t\tconst hasRequiredDataSource = manifest[\"sap.ui.generic.app\"] && dataSources?.mainService;\n\n\t\tif (!hasRequiredDataSource) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst pages = manifest[\"sap.ui.generic.app\"]?.pages;\n\t\t// if its not list report component or if listreport page settings has\n\t\t// isAddCardToInsightsHidden as true, then do not recommend the card\n\t\tif (Array.isArray(pages)) {\n\t\t\treturn this.recommendedUtilInstance._isListReport(pages[0]) && !this.isAddCardToInsightsHidden(pages[0]);\n\t\t}\n\n\t\tconst pageValues = Object.values(pages as PageRecord);\n\t\tif (pageValues.length > 0) {\n\t\t\treturn pageValues.some((page) => {\n\t\t\t\treturn (\n\t\t\t\t\ttypeof page === \"object\" && this.recommendedUtilInstance._isListReport(page) && !this.isAddCardToInsightsHidden(page)\n\t\t\t\t);\n\t\t\t});\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Get OData Model\n\t *\n\t * @param {object} manifest - manifest object\n\t * @returns {ODataModelV2} returns OData Model\n\t * @private\n\t */\n\tprivate _getOdataModel(oManifest: IAppManifest): Promise<ODataModelV2> {\n\t\treturn new Promise(function (resolve) {\n\t\t\tconst datasource = oManifest?.[\"sap.app\"]?.dataSources;\n\t\t\tconst mainService = datasource?.mainService;\n\t\t\tlet annotationUrls: string[] = (mainService?.settings?.annotations || [])\n\t\t\t\t.map((name: string) => datasource?.[name]?.uri || \"\")\n\t\t\t\t.filter(Boolean);\n\n\t\t\tconst oDataModel = new ODataModelV2(mainService?.uri as string, {\n\t\t\t\tannotationURI: annotationUrls,\n\t\t\t\tloadAnnotationsJoined: true\n\t\t\t});\n\t\t\toDataModel.attachMetadataLoaded(() => {\n\t\t\t\tresolve(oDataModel);\n\t\t\t});\n\t\t\toDataModel.attachMetadataFailed(() => {\n\t\t\t\tresolve(oDataModel);\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Get Entity Set\n\t *\n\t * @param {object} manifest - manifest object\n\t * @returns {string} returns entity set\n\t * @private\n\t */\n\tprivate _getEntitySet(manifest: IAppManifest): string | undefined {\n\t\tconst pages = manifest[\"sap.ui.generic.app\"]?.pages;\n\t\tif (Array.isArray(pages)) {\n\t\t\treturn pages[0].entitySet;\n\t\t} else if (pages) {\n\t\t\tfor (const key in pages) {\n\t\t\t\tconst oApp = pages[key] as IPageType;\n\t\t\t\tif (this.recommendedUtilInstance._isListReport(oApp)) {\n\t\t\t\t\treturn oApp.entitySet;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn undefined;\n\t}\n\n\t/**\n\t * Load I18n\n\t *\n\t * @param {object} manifest - manifest object\n\t * @param {string} manifestUrl - manifest url\n\t * @returns {object} returns resource bundle\n\t * @private\n\t */\n\tprivate async loadI18n(manifest: IAppManifest, manifestUrl: string) {\n\t\t// construct abslute url for properties file relative to manifest url\n\t\tconst i18nBundleUrl = manifest?.[\"sap.app\"]?.[\"i18n\"]?.[\"bundleUrl\"] as string;\n\t\tconst absoluteUrl = new URL(i18nBundleUrl, manifestUrl).href;\n\t\tthis._RBManifestMap = this._RBManifestMap || {};\n\t\tif (!this._RBManifestMap[absoluteUrl]) {\n\t\t\tconst oResourceBundle = await ResourceBundle.create({\n\t\t\t\t// specify url of the base .properties file\n\t\t\t\tbundleUrl: absoluteUrl,\n\t\t\t\tasync: true,\n\t\t\t\tterminologies: manifest[\"sap.app\"]?.[\"i18n\"]?.[\"terminologies\"]\n\t\t\t});\n\t\t\tthis._RBManifestMap[absoluteUrl] = oResourceBundle;\n\t\t}\n\t\treturn this._RBManifestMap[absoluteUrl];\n\t}\n\n\t/**\n\t * Get I18n Value Or Default String\n\t *\n\t * @param {string} sValue - value\n\t * @param {object} oResourceBundle - resource bundle object\n\t * @returns {string} returns string\n\t * @private\n\t */\n\tprivate getI18nValueOrDefaultString(sValue: string, oRB: ResourceBundle) {\n\t\tlet sPath = \"\";\n\t\tif (sValue && sValue.startsWith(\"{{\")) {\n\t\t\tsPath = sValue.substring(2, sValue.length - 2);\n\t\t} else if (sValue && sValue.startsWith(\"{\")) {\n\t\t\tsPath = sValue.substring(1, sValue.length - 1);\n\t\t}\n\t\treturn sPath ? oRB.getText(sPath) : sValue;\n\t}\n\n\t/**\n\t * Retrieves a copy of the analytical card manifest.\n\t *\n\t *\n\t * @private\n\t * @returns {ICardManifest} A copy of the analytical card manifest.\n\t */\n\tpublic _getAnalyticalCardManifest() {\n\t\treturn JSON.parse(JSON.stringify(AnalyticalCardSkeleton)) as ICardManifest;\n\t}\n\n\t/**\n\t * Processes the app manifest and generates a recommended card manifest if the app meets the required conditions.\n\t *\n\t * @param {ODataMetaModel} metaModel - The OData meta model containing metadata about entities and properties.\n\t * @param {IValidManifest} manifestObj - An object containing the app manifest and its URL.\n\t * @param {AppInfoData | undefined} parentApp - The parent app information, if available.\n\t * @param {IVersionInfo} versionInfo - The version and build timestamp of the app.\n\t * @returns {Promise<ICardManifest | undefined>} A promise that resolves to the generated card manifest if the app is eligible,\n\t * or `undefined` if the app does not meet the required conditions.\n\t * @private\n\t */\n\tprivate async getProcessedManifest(\n\t\tmetaModel: ODataMetaModel,\n\t\tmanifestObj: IValidManifest,\n\t\tparentApp: IAppInfoData | undefined,\n\t\tversionInfo: IVersionInfo\n\t): Promise<ICardManifest | undefined> {\n\t\ttry {\n\t\t\tconst manifest = manifestObj.manifest;\n\t\t\tconst mainEntitySetName = this._getEntitySet(manifest);\n\t\t\tif (!mainEntitySetName) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\tconst mainEntitySet = metaModel.getODataEntitySet(mainEntitySetName) as IEntitySet;\n\t\t\tconst lineItemDetails = this.recommendedUtilInstance.getLineItemDetails(metaModel, manifest, mainEntitySetName);\n\n\t\t\tif (!lineItemDetails?.lineItem) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\tconst entitySetName = lineItemDetails.entitySet || mainEntitySetName;\n\t\t\tconst entitySet = (\n\t\t\t\tentitySetName === mainEntitySetName ? mainEntitySet : metaModel.getODataEntitySet(entitySetName)\n\t\t\t) as IEntitySet;\n\t\t\tconst entityType = metaModel.getODataEntityType(entitySet.entityType) as IEntityType;\n\t\t\tconst suppressRowNavigation = lineItemDetails?.lrSettings?.[\"bSupressCardRowNavigation\"];\n\n\t\t\t// Check for mandatory properties\n\t\t\tif (this.recommendedUtilInstance.hasMandatoryProperties(entitySet, entityType?.property)) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\t// Check for parameterized entity sets\n\t\t\tconst parameterDetails = this.recommendedUtilInstance._getParametersisedEntitySetParams(metaModel, entitySetName, true);\n\t\t\tif (parameterDetails?.entitySetName && parameterDetails?.parameters?.length) {\n\t\t\t\tconst paramEntitySet = metaModel.getODataEntitySet(parameterDetails.entitySetName) as IEntitySet;\n\t\t\t\tif (this.recommendedUtilInstance.hasMandatoryProperties(paramEntitySet, parameterDetails.parameters as Property[])) {\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst cardInput = this.recommendedUtilInstance._getManifestCardData(manifest, lineItemDetails, parentApp!, metaModel);\n\n\t\t\t// Ensure the card has at least 3 columns\n\t\t\tif (cardInput.columns.length < COLUMN_LENGTH) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\t// Resolve card title\n\t\t\tconst headerInfo = lineItemDetails?.headerInfo as IHeaderInfo;\n\t\t\tconst cardTitle = headerInfo.TypeNamePlural?.String || \"\";\n\t\t\tcardInput.cardTitle = cardTitle || cardInput.cardTitle;\n\n\t\t\t// Resolve i18n title if necessary\n\t\t\tif (!cardTitle && manifest[\"sap.app\"]?.i18n) {\n\t\t\t\tconst i18nBundleUrl = manifest[\"sap.app\"].i18n.bundleUrl;\n\t\t\t\tconst appTitle = manifest[\"sap.app\"].title;\n\t\t\t\tif (i18nBundleUrl && (appTitle.startsWith(\"i18n>\") || appTitle.startsWith(\"{\"))) {\n\t\t\t\t\tconst i18nResourceBundle = await this.loadI18n(manifest, manifestObj.url);\n\t\t\t\t\tcardInput.cardTitle = this.getI18nValueOrDefaultString(cardInput.cardTitle!, i18nResourceBundle);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn this.recommendedUtilInstance._createCardManifest(cardInput, versionInfo, manifest, suppressRowNavigation);\n\t\t} catch (oError: unknown) {\n\t\t\tLog.error(\"Error while processing manifest\", oError instanceof Error ? oError.message : String(oError));\n\t\t\treturn undefined;\n\t\t}\n\t}\n\n\t/**\n\t * Fetches the OData meta models for a given list of valid manifests.\n\t * @param {IValidManifest[]} validManifests - An array of valid manifest objects\n\t * @returns {Promise<(ODataMetaModel | undefined)[]>} A promise that resolves to an array of OData meta models.\n\t * Each element corresponds to a manifest in the input array, and may be `undefined` if the meta model could not be fetched.\n\t * @private\n\t */\n\tprivate async fetchMetaModels(validManifests: IValidManifest[]): Promise<(ODataMetaModel | undefined)[]> {\n\t\tconst odataPromises = validManifests.map(async (manifestObj) => {\n\t\t\ttry {\n\t\t\t\treturn (await this._getOdataModel(manifestObj.manifest))?.getMetaModel();\n\t\t\t} catch (oError: unknown) {\n\t\t\t\tLog.error(\"Error while fetching metamodel\", oError instanceof Error ? oError.message : String(oError));\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t});\n\n\t\treturn await Promise.all(odataPromises);\n\t}\n\n\t/**\n\t * Combines the valid manifests with their corresponding OData meta models.\n\t * @param {IValidManifest[]} validManifests - An array of valid manifest objects\n\t * @param {ODataMetaModel[]} aMetaModel - An array of OData meta models\n\t * @returns {ICombinedManifestDetails[]} An array of objects containing the manifest and the corresponding meta model.\n\t * @private\n\t */\n\tprivate combineManifestsAndMetaModels(\n\t\tvalidManifests: IValidManifest[],\n\t\taMetaModel: (ODataMetaModel | undefined)[]\n\t): ICombinedManifestDetails[] {\n\t\treturn validManifests.reduce<ICombinedManifestDetails[]>((combined, manifestObj, index) => {\n\t\t\tconst metaModel = aMetaModel[index];\n\t\t\tif (metaModel) {\n\t\t\t\tcombined.push({ manifest: manifestObj, metaModel });\n\t\t\t}\n\t\t\treturn combined;\n\t\t}, []);\n\t}\n\n\t/**\n\t * Process the manifest and meta model to get the card manifest\n\t * @param {ICombinedManifestDetails[]} combinedDetails - An array of objects containing the manifest and the corresponding meta model.\n\t * @param {IAppInfoData[]} aCSTR - An array of app info data\n\t * @returns {Promise<(ICardManifest | undefined)[]>} A promise that resolves to an array of recommended card manifests.\n\t * @private\n\t */\n\tprivate async processManifests(\n\t\tcombinedDetails: ICombinedManifestDetails[],\n\t\taCSTR: IAppInfoData[]\n\t): Promise<(ICardManifest | undefined)[]> {\n\t\treturn Promise.all(\n\t\t\tcombinedDetails.map((item) => {\n\t\t\t\tconst parentApp = aCSTR.find((oApp) => oApp.resolutionResult?.ui5ComponentName === item.manifest.manifest?.[\"sap.app\"]?.id);\n\t\t\t\treturn this.getProcessedManifest(item.metaModel, item.manifest, parentApp, this.versionInfo);\n\t\t\t})\n\t\t);\n\t}\n\n\t/**\n\t * Processes the app list to generate a list of Fiori IDs.\n\t *\n\t * If `aList` is not provided, it uses `aAppComponentIds` and `aComponent` to generate the list of Fiori IDs.\n\t * It matches the `semanticObject` and `action` of each component in `aAppComponentIds` with the entries in `aComponent`.\n\t * If a match is found, the corresponding `fioriId` is added to the list.\n\t *\n\t * @param {string[]} [aList] - An optional array of Fiori IDs to return directly.\n\t * @param {ICardDetails[]} [aAppComponentIds] - An array of app component details to process.\n\t * @param {IAppInfo} [aComponent] - A mapping of component IDs to their corresponding data entries.\n\t * @returns {string[]} - A list of Fiori IDs.\n\t */\n\tprivate processAppList(aList?: string[], aAppComponentIds?: ICardDetails[], aComponent?: IAppInfo): string[] {\n\t\tif (!aList && aAppComponentIds && aAppComponentIds.length) {\n\t\t\treturn aAppComponentIds.reduce((list, oComponent) => {\n\t\t\t\tconst oData: IAppInfoData[] = aComponent?.[oComponent.id] || [];\n\t\t\t\tconst matchingData = oData.find(\n\t\t\t\t\t(entry) => entry.semanticObject === oComponent.target?.semanticObject && entry.action === oComponent.target?.action\n\t\t\t\t);\n\n\t\t\t\treturn matchingData ? [...list, matchingData.fioriId!] : list;\n\t\t\t}, [] as string[]);\n\t\t}\n\t\treturn aList || [];\n\t}\n\n\t/**\n\t * Fetch Card Mainfest\n\t *\n\t * @param {string[]} aAppIds - array of app ids\n\t * @returns {Promise} resolves to array of card manifest\n\t * @private\n\t */\n\tpublic async _getCardManifest(aList?: string[], aAppComponentIds?: ICardDetails[]): Promise<ICardManifest[]> {\n\t\ttry {\n\t\t\tconst [aCatalog, aFioriData] = await Promise.all([this._getCatalogApps(), this.getFioriAppData()]);\n\t\t\tthis.versionInfo = (await VersionInfo.load()) as IVersionInfo;\n\n\t\t\tconst aCSTR: IAppInfoData[] = Object.values(aFioriData).flat();\n\t\t\tconst aComponent = this.componentData;\n\t\t\t// in case of replacing old recommended cards fioriIds are not available hence make use of componnetname\n\t\t\t// and semanticobject and action to find fioriId, and populate aList to recreate recommended card again\n\t\t\tconst processedList = this.processAppList(aList, aAppComponentIds, aComponent);\n\n\t\t\tconst manifests = await this.fetchManifests(processedList, aFioriData, aCatalog);\n\t\t\tconst validManifests = manifests.filter((manifestObj) => this._checkValidManifests(manifestObj.manifest));\n\n\t\t\tconst aMetaModel = await this.fetchMetaModels(validManifests);\n\t\t\tconst combinedDetails = this.combineManifestsAndMetaModels(validManifests, aMetaModel);\n\n\t\t\tconst cards = await this.processManifests(combinedDetails, aCSTR);\n\t\t\treturn cards.filter((card) => card !== undefined);\n\t\t} catch (oError: unknown) {\n\t\t\tLog.error(\"Error while fetching card manifest\", oError instanceof Error ? oError.message : String(oError));\n\t\t\treturn [];\n\t\t}\n\t}\n\n\t/**\n\t * Fetch the app manifest for the given app ids\n\t * @param {string[]} appIdList - array of app ids\n\t * @param {AppInfo} fioriData - fiori data\n\t * @param {AppData[]} catalogData - catalog data\n\t * @returns {Promise} resolves to array of manifests\n\t * @private\n\t */\n\tprivate async fetchManifests(appIdList: string[], fioriData: IAppInfo, catalogData: AppData[]): Promise<IValidManifest[]> {\n\t\ttry {\n\t\t\tconst appPromises = appIdList.map(async (appId) => {\n\t\t\t\tconst aApp: IAppInfoData[] = fioriData[appId] || [];\n\t\t\t\tfor (const oApp of aApp) {\n\t\t\t\t\tconst oViz = catalogData.find(\n\t\t\t\t\t\t(catalog) => oApp.semanticObject === catalog.target?.semanticObject && oApp.action === catalog.target?.action\n\t\t\t\t\t);\n\t\t\t\t\tconst manifestUrl = oApp?.resolutionResult?.applicationDependencies?.manifest;\n\t\t\t\t\tif (oViz && manifestUrl) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst response = await fetch(manifestUrl);\n\t\t\t\t\t\t\tconst manifest = (await response.json()) as IAppManifest;\n\t\t\t\t\t\t\treturn { url: response.url, manifest };\n\t\t\t\t\t\t} catch (error: unknown) {\n\t\t\t\t\t\t\tLog.error(\"Error while fetching manifest\", error instanceof Error ? error.message : String(error));\n\t\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// No valid manifest found in this appId's entries\n\t\t\t\treturn undefined;\n\t\t\t});\n\t\t\tconst results = await Promise.all(appPromises);\n\t\t\treturn results.filter((manifest): manifest is IValidManifest => manifest !== undefined);\n\t\t} catch (oError) {\n\t\t\tLog.error(\"Error while processing manifests\", oError instanceof Error ? oError.message : String(oError));\n\t\t\treturn [];\n\t\t}\n\t}\n\n\t/**\n\t * Remove Duplicate Cards\n\t *\n\t * @param {object[]} aCards - array of cards\n\t * @returns {object[]} returns array of cards\n\t * @private\n\t */\n\tprivate _removeDuplicateCards(aCards: ICard[]): ICard[] {\n\t\tconst oCardDict: Record<string, boolean> = {};\n\t\tconst aResult: ICard[] = [];\n\t\taCards.forEach((oCard) => {\n\t\t\tconst sCardTitle = oCard?.descriptorContent?.[\"sap.card\"]?.header?.title || \"\";\n\t\t\tif (!oCardDict[sCardTitle]) {\n\t\t\t\taResult.push(oCard);\n\t\t\t\toCardDict[sCardTitle] = true;\n\t\t\t}\n\t\t});\n\t\treturn aResult;\n\t}\n\n\t/**\n\t * Fetch Recommended Cards\n\t *\n\t * @returns {Promise<ICard[] | []> } resolves to array of recommended cards\n\t * @private\n\t */\n\tpublic async getRecommenedCards(): Promise<ICard[] | []> {\n\t\ttry {\n\t\t\tconst aAppIds = await this._getRecommenedFioriIds();\n\t\t\tconst aManifests = await this._getCardManifest(aAppIds);\n\t\t\tconst aRecManifests = aManifests?.slice(0, RECOMMENDED_CARD_LIMIT);\n\t\t\tconst aRecommendedCards = aRecManifests?.map((manifest) => {\n\t\t\t\tlet id;\n\t\t\t\tif (manifest?.[\"sap.card\"]) {\n\t\t\t\t\tmanifest[\"sap.card\"].rec = true;\n\t\t\t\t\tid = manifest[\"sap.app\"]?.id;\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tid,\n\t\t\t\t\tdescriptorContent: manifest\n\t\t\t\t};\n\t\t\t});\n\t\t\treturn this._removeDuplicateCards(aRecommendedCards as ICard[]);\n\t\t} catch (error) {\n\t\t\tLog.error(\"Error while fetching recommended cards:\", error instanceof Error ? error.message : String(error));\n\t\t\treturn [];\n\t\t}\n\t}\n\n\t/**\n\t * Retrieves a list of recommended visualizations for the user.\n\t *\n\t * The final list is composed of up to 10 recommendations, with must-include visualizations prioritized.\n\t * If no recommended visualizations are available or if an error occurs, it returns an empty array.\n\t *\n\t * @private\n\t * @async\n\t * @param {boolean} [forceRefresh=false] - If `true`, forces a refresh of the recommended visualizations\n\t * regardless of whether they are cached.\n\t * @returns {Promise<ICustomVisualization[]>} A promise that resolves to an array of recommended visualizations.\n\t * The array is limited to 10 visualizations, including must-include recommendations.\n\t */\n\tpublic async getRecommendedVisualizations(forceRefresh: boolean = false) {\n\t\tif (!this._recommendedVisualizations || forceRefresh) {\n\t\t\tconst recommendedFioriIds = await this._getRecommenedFioriIds(forceRefresh);\n\t\t\tif (recommendedFioriIds.length) {\n\t\t\t\tlet finalRecommendations: ICustomVisualization[] = [];\n\t\t\t\tlet mustIncludeRecommendations: ICustomVisualization[] = [];\n\t\t\t\tlet [recommendedVisualizations, favoriteVisualizations] = await Promise.all([\n\t\t\t\t\tthis._getVisualizationsByFioriIds(recommendedFioriIds),\n\t\t\t\t\tthis._fetchPageVizs(forceRefresh)\n\t\t\t\t]);\n\t\t\t\t//filter out recommendations that are already added\n\t\t\t\trecommendedVisualizations = recommendedVisualizations.filter((recViz) =>\n\t\t\t\t\t_isVisualizationAlreadyAdded(recViz, favoriteVisualizations)\n\t\t\t\t);\n\t\t\t\trecommendedVisualizations.forEach((recViz) => {\n\t\t\t\t\tif (_isMustIncludeRecommendation(recViz)) {\n\t\t\t\t\t\tmustIncludeRecommendations.push(recViz);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfinalRecommendations.push(recViz);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\t//return only 10 recommended apps along with 'MyInbox' and 'Manage My Timesheet' if user has access to these apps.\n\t\t\t\tthis._recommendedVisualizations = finalRecommendations\n\t\t\t\t\t.slice(0, 10 - mustIncludeRecommendations.length)\n\t\t\t\t\t.concat(mustIncludeRecommendations);\n\t\t\t} else {\n\t\t\t\tthis._recommendedVisualizations = [];\n\t\t\t}\n\t\t}\n\t\treturn this._recommendedVisualizations;\n\t}\n\n\t/**\n\t * Asynchronously retrieves the list of inbound applications from the SAP Fiori client-side target resolution service.\n\t *\n\t * @private\n\t * @async\n\t * @returns {Promise<Array>} A promise that resolves to an array of inbound applications.\n\t * If an error occurs or the inbound applications are not available, it resolves to an empty array.\n\t */\n\tprivate async _getInboundApps() {\n\t\ttry {\n\t\t\tconst service = await Container.getServiceAsync<ClientSideTargetResolution>(\"ClientSideTargetResolution\");\n\t\t\treturn service?._oAdapter?._aInbounds || [];\n\t\t} catch (error) {\n\t\t\tLog.error(\"Error while fetching inbound apps: \" + (error as Error).message);\n\t\t\treturn [];\n\t\t}\n\t}\n\n\t/**\n\t * Retrieves Fiori app data and stores it in the `fioriAppData` and `componentData` properties.\n\t *\n\t * This method fetches inbound applications using the `_getInboundApps` method and processes them to extract\n\t * Fiori app IDs (`sap-fiori-id`) and their associated semantic data. It also maps UI5 component names to their\n\t * corresponding Fiori app IDs for later use.\n\t *\n\t * @returns {Promise<IAppInfo>} A promise that resolves to an object containing Fiori app data\n\t * @private\n\t */\n\tprivate async getFioriAppData(): Promise<IAppInfo> {\n\t\ttry {\n\t\t\tif (!Object.keys(this.componentData).length) {\n\t\t\t\tthis.componentData = {};\n\t\t\t\tthis.fioriAppData = {};\n\t\t\t\tconst inbounds = await this._getInboundApps();\n\t\t\t\tinbounds.forEach((oItem) => {\n\t\t\t\t\tconst fioriId = oItem?.signature?.parameters?.[\"sap-fiori-id\"]?.defaultValue?.value;\n\t\t\t\t\tconst componentId = oItem?.resolutionResult?.ui5ComponentName;\n\t\t\t\t\tif (fioriId) {\n\t\t\t\t\t\tconst semanticData: IAppInfoData = {\n\t\t\t\t\t\t\taction: oItem.action,\n\t\t\t\t\t\t\tsemanticObject: oItem.semanticObject,\n\t\t\t\t\t\t\tresolutionResult: oItem.resolutionResult\n\t\t\t\t\t\t};\n\t\t\t\t\t\tthis.fioriAppData[fioriId] = this.fioriAppData[fioriId] || [];\n\t\t\t\t\t\tthis.fioriAppData[fioriId].push(semanticData);\n\n\t\t\t\t\t\t// store data along with fioriId in componentData, this can be used later to find the\n\t\t\t\t\t\t// fioriId for those apps when only ui5ComponentName is known\n\t\t\t\t\t\tif (componentId) {\n\t\t\t\t\t\t\tconst combinedData: IAppInfoData = { ...semanticData, fioriId };\n\n\t\t\t\t\t\t\tthis.componentData[componentId] = this.componentData[componentId] || [];\n\t\t\t\t\t\t\tthis.componentData[componentId].push(combinedData);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn this.fioriAppData;\n\t\t} catch (oError) {\n\t\t\tLog.error(oError instanceof Error ? oError.message : String(oError));\n\t\t\treturn {};\n\t\t}\n\t}\n\n\t/**\n\t * Retrieves visualizations based on a list of Fiori IDs.\n\t *\n\t * This function processes the given Fiori IDs to find associated visualizations. It does so by fetching\n\t * inbound applications and catalog apps, then matching the Fiori IDs to filter out and gather relevant visualizations.\n\t * The function distinguishes between GUI and non-GUI visualizations, prioritizing non-GUI visualizations if both types are found.\n\t * It also ensures that each visualization is unique based on its URL and title, avoiding duplicates.\n\t *\n\t * @private\n\t * @async\n\t * @param {string[]} fioriIds - An array of Fiori IDs to search for visualizations.\n\t * @returns {Promise<ICustomVisualization[]>} A promise that resolves to an array of unique visualizations associated with the provided Fiori IDs.\n\t */\n\tprivate async _getVisualizationsByFioriIds(fioriIds: string[]) {\n\t\tconst visualizations: ICustomVisualization[] = [];\n\t\tconst visitedVisualizations: Map<string, boolean> = new Map<string, boolean>();\n\t\tconst [inbounds, catalogApps] = await Promise.all([this._getInboundApps(), this._getCatalogApps()]);\n\t\tfioriIds.forEach((fioriId) => {\n\t\t\t// get all inbounds with the fiori id\n\t\t\tconst authorizedApps = inbounds.filter(function (inbound) {\n\t\t\t\treturn inbound?.signature.parameters[\"sap-fiori-id\"]?.defaultValue?.value === fioriId;\n\t\t\t});\n\t\t\tauthorizedApps.forEach((app) => {\n\t\t\t\t//filter apps that matched semantic object action\n\t\t\t\tlet matchingVizualizations = catalogApps.filter((catalogApp) => {\n\t\t\t\t\treturn catalogApp?.target?.semanticObject === app.semanticObject && catalogApp.target.action === app.action;\n\t\t\t\t});\n\n\t\t\t\tconst guiVisualizations = matchingVizualizations.filter((matchingVizualization) =>\n\t\t\t\t\t_isGUIVisualization(matchingVizualization)\n\t\t\t\t);\n\t\t\t\tconst nonGuiVisualizations = matchingVizualizations.filter(\n\t\t\t\t\t(matchingVizualization) => !_isGUIVisualization(matchingVizualization)\n\t\t\t\t);\n\t\t\t\t//if both gui and non-gui visualizations exists, then consider only non-gui visualizations for recommendation.\n\t\t\t\tif (guiVisualizations.length > 0 && nonGuiVisualizations.length > 0) {\n\t\t\t\t\tmatchingVizualizations = [...nonGuiVisualizations];\n\t\t\t\t}\n\n\t\t\t\tmatchingVizualizations.forEach((matchingVizualization) => {\n\t\t\t\t\tlet visualization = matchingVizualization.visualizations[0];\n\t\t\t\t\tlet recommendedVisualization: ICustomVisualization = {\n\t\t\t\t\t\ttitle: visualization.title,\n\t\t\t\t\t\tsubtitle: visualization.subtitle,\n\t\t\t\t\t\ticon: visualization.icon,\n\t\t\t\t\t\turl: visualization.targetURL,\n\t\t\t\t\t\tvizId: visualization.vizId,\n\t\t\t\t\t\tfioriId: fioriId,\n\t\t\t\t\t\tvisualization: visualization\n\t\t\t\t\t};\n\t\t\t\t\t//if app with same url or title already recommended, then don't consider it.\n\t\t\t\t\tif (\n\t\t\t\t\t\t!visitedVisualizations.has(recommendedVisualization.url!) ||\n\t\t\t\t\t\t!visitedVisualizations.has(recommendedVisualization.title!)\n\t\t\t\t\t) {\n\t\t\t\t\t\tvisitedVisualizations.set(recommendedVisualization.url!, true);\n\t\t\t\t\t\tvisitedVisualizations.set(recommendedVisualization.title!, true);\n\t\t\t\t\t\tvisualizations.push(recommendedVisualization);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t\treturn visualizations;\n\t}\n\n\t/**\n\t * Retrieves visualizations for all favorite pages based on the provided parameters.\n\t * @param {Array} pages - An array of favorite pages.\n\t * @param {boolean} shouldReload - A flag indicating whether to reload page visualizations.\n\t * @returns {Promise<ICustomVisualization[]>} A promise that resolves with an array of favorite page visualizations.\n\t * @private\n\t */\n\tpublic async _getAllFavPageApps(pages: IPage[], shouldReload?: boolean): Promise<ICustomVisualization[]> {\n\t\ttry {\n\t\t\tif (pages) {\n\t\t\t\tthis._favPageVisualizations = this._favPageVisualizations || [];\n\t\t\t\t//Check to ensure that missing visualization data is loaded, if any\n\t\t\t\tconst loadedPages = this._favPageVisualizations.reduce((pageIDs: string[], visualization) => {\n\t\t\t\t\tif (visualization.pageId && !pageIDs.includes(visualization.pageId)) {\n\t\t\t\t\t\tpageIDs.push(visualization.pageId);\n\t\t\t\t\t}\n\t\t\t\t\treturn pageIDs;\n\t\t\t\t}, []);\n\t\t\t\tconst pageIds = pages.map((page) => page.pageId);\n\t\t\t\tconst shouldLoadMissingApps = loadedPages.length === 0 || !loadedPages.every((pageId) => pageIds.includes(pageId));\n\t\t\t\tif (!shouldReload && !shouldLoadMissingApps) {\n\t\t\t\t\treturn this._favPageVisualizations;\n\t\t\t\t} else {\n\t\t\t\t\tthis._favPageVisualizations = await this._loadAllPageVisualizations(pages, shouldReload);\n\t\t\t\t\treturn this._favPageVisualizations;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn [];\n\t\t} catch (error) {\n\t\t\tLog.error(error as string);\n\t\t\treturn [];\n\t\t}\n\t}\n\n\t/**\n\t * Loads visualizations for all specified pages.\n\t * @param {Array} pages - An array of pages.\n\t * @param {boolean} [shouldFetchDistinctApps=false] - A flag indicating whether to fetch distinct pages.\n\t * @returns {Promise<ICustomVisualization[]>} A promise that resolves with an array of page visualizations.\n\t * @private\n\t */\n\tprivate async _loadAllPageVisualizations(\n\t\tpages: IPage[],\n\t\tforceRefresh = false,\n\t\tshouldFetchDistinctApps = false\n\t): Promise<ICustomVisualization[]> {\n\t\tconst getBgColor = (pageId: string | undefined) => {\n\t\t\treturn pages.find((page) => page.pageId === pageId)?.BGColor ?? DEFAULT_BG_COLOR().key;\n\t\t};\n\n\t\ttry {\n\t\t\tconst favPageVisualizations: ICustomVisualization[] = [];\n\t\t\tconst aPages = await this.loadPages(pages, forceRefresh);\n\n\t\t\tfor (const page of aPages) {\n\t\t\t\tconst sections = page?.sections || [];\n\t\t\t\tfor (const section of sections) {\n\t\t\t\t\tconst visualizations = section.visualizations || [];\n\t\t\t\t\tfor (const visualization of visualizations) {\n\t\t\t\t\t\tconst app = {\n\t\t\t\t\t\t\tappId: visualization.targetURL,\n\t\t\t\t\t\t\tvizId: visualization.vizId,\n\t\t\t\t\t\t\ticon: visualization.icon,\n\t\t\t\t\t\t\tBGColor: getBgColor(page.id) as string,\n\t\t\t\t\t\t\tpageId: page.id\n\t\t\t\t\t\t};\n\t\t\t\t\t\tif (!shouldFetchDistinctApps || !favPageVisualizations.some((oVizApp) => oVizApp.appId === app.appId)) {\n\t\t\t\t\t\t\tfavPageVisualizations.push(app);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn favPageVisualizations;\n\t\t} catch (error) {\n\t\t\tLog.error(error as string);\n\t\t\treturn [];\n\t\t}\n\t}\n\t/**\n\t * Fetches page data for the specified pages.\n\t * @param {Array} pages - An array of pages.\n\t * @param {boolean} forceRefresh - If true, forces a refresh of the page data.\n\t * @returns {Promise<IPage>} A promise that resolves to the fetched page data.\n\t * @private\n\t */\n\tprivate async loadPages(pages: IPage[], forceRefresh: boolean = false): Promise<IPage[]> {\n\t\treturn await Promise.all(pages.map((page) => this._fetchRequestFromQueue(forceRefresh, page.pageId)));\n\t}\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AAHAA,GAAA,CAAAC,EAAA,CAAAC,MAAA,mSAAAC,GAAA,EAAAC,cAAA,EAAAC,WAAA,EAAAC,UAAA,EAAAC,YAAA,EAAAC,MAAA,EAAAC,SAAA,EAAAC,yBAAA,EAAAC,YAAA,EAAAC,kBAAA,EAAAC,YAAA,EAAAC,qBAAA;EAAA;;EAAA,SAAAC,uBAAAC,GAAA;IAAA,OAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,CAAAE,OAAA,mBAAAF,GAAA,CAAAE,OAAA,GAAAF,GAAA;EAAA;EAAA,MAoKaG,eAAA,GAAkB,aAAc,OAAOC,MAAM,KAAK,WAAW,GAAIA,MAAM,CAACC,QAAQ,KAAKD,MAAM,CAACC,QAAQ,GAAGD,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAI,YAAY;EA7HvJ,SAASE,OAAOA,CAACC,IAAI,EAAEC,KAAK,EAAEC,KAAK,EAAE;IAC3C,IAAI,CAACF,IAAI,CAACG,CAAC,EAAE;MACZ,IAAID,KAAK,YAAYE,KAAK,EAAE;QAC3B,IAAIF,KAAK,CAACC,CAAC,EAAE;UACZ,IAAIF,KAAK,GAAG,CAAC,EAAE;YACdA,KAAK,GAAGC,KAAK,CAACC,CAAC;UAChB;UACAD,KAAK,GAAGA,KAAK,CAACG,CAAC;QAChB,CAAC,MAAM;UACNH,KAAK,CAACI,CAAC,GAAGP,OAAO,CAACQ,IAAI,CAAC,IAAI,EAAEP,IAAI,EAAEC,KAAK,CAAC;UACzC;QACD;MACD;MACA,IAAIC,KAAK,IAAIA,KAAK,CAACM,IAAI,EAAE;QACxBN,KAAK,CAACM,IAAI,CAACT,OAAO,CAACQ,IAAI,CAAC,IAAI,EAAEP,IAAI,EAAEC,KAAK,CAAC,EAAEF,OAAO,CAACQ,IAAI,CAAC,IAAI,EAAEP,IAAI,EAAE,CAAC,CAAC,CAAC;QACxE;MACD;MACAA,IAAI,CAACG,CAAC,GAAGF,KAAK;MACdD,IAAI,CAACK,CAAC,GAAGH,KAAK;MACd,MAAMO,QAAQ,GAAGT,IAAI,CAACM,CAAC;MACvB,IAAIG,QAAQ,EAAE;QACbA,QAAQ,CAACT,IAAI,CAAC;MACf;IACD;EACD;EAAC,MA9DYI,KAAA,GAAQ,aAAc,YAAW;IAC7C,SAAAA,MAAA,EAAiB,CAAC;IAClBA,KAAA,CAAMM,SAAS,CAACF,IAAI,GAAG,UAASG,WAAW,EAAEC,UAAU,EAAE;MACxD,MAAMC,MAAM,GAAG,IAAAT,KAAA,CAAU,CAAC;MAC1B,MAAMH,KAAK,GAAG,IAAI,CAACE,CAAC;MACpB,IAAIF,KAAK,EAAE;QACV,MAAMa,QAAQ,GAAGb,KAAK,GAAG,CAAC,GAAGU,WAAW,GAAGC,UAAU;QACrD,IAAIE,QAAQ,EAAE;UACb,IAAI;YACHf,OAAA,CAAQc,MAAM,EAAE,CAAC,EAAEC,QAAQ,CAAC,IAAI,CAACT,CAAC,CAAC,CAAC;UACrC,CAAC,CAAC,OAAOU,CAAC,EAAE;YACXhB,OAAA,CAAQc,MAAM,EAAE,CAAC,EAAEE,CAAC,CAAC;UACtB;UACA,OAAOF,MAAM;QACd,CAAC,MAAM;UACN,OAAO,IAAI;QACZ;MACD;MACA,IAAI,CAACP,CAAC,GAAG,UAASU,KAAK,EAAE;QACxB,IAAI;UACH,MAAMd,KAAK,GAAGc,KAAK,CAACX,CAAC;UACrB,IAAIW,KAAK,CAACb,CAAC,GAAG,CAAC,EAAE;YAChBJ,OAAA,CAAQc,MAAM,EAAE,CAAC,EAAEF,WAAW,GAAGA,WAAW,CAACT,KAAK,CAAC,GAAGA,KAAK,CAAC;UAC7D,CAAC,MAAM,IAAIU,UAAU,EAAE;YACtBb,OAAA,CAAQc,MAAM,EAAE,CAAC,EAAED,UAAU,CAACV,KAAK,CAAC,CAAC;UACtC,CAAC,MAAM;YACNH,OAAA,CAAQc,MAAM,EAAE,CAAC,EAAEX,KAAK,CAAC;UAC1B;QACD,CAAC,CAAC,OAAOa,CAAC,EAAE;UACXhB,OAAA,CAAQc,MAAM,EAAE,CAAC,EAAEE,CAAC,CAAC;QACtB;MACD,CAAC;MACD,OAAOF,MAAM;IACd,CAAC;IACD,OAAAT,KAAA;EACD,CAAC,CAAE,CAAC;EA6BG,SAASa,cAAcA,CAACC,QAAQ,EAAE;IACxC,OAAOA,QAAQ,YAAYd,KAAK,IAAIc,QAAQ,CAACf,CAAC,GAAG,CAAC;EACnD;EA+CO,SAASgB,MAAMA,CAACC,KAAK,EAAEC,IAAI,EAAEC,KAAK,EAAE;IAC1C,IAAIC,CAAC,GAAG,CAAC,CAAC;MAAEvB,IAAI;MAAEwB,MAAM;IACxB,SAASC,MAAMA,CAACZ,MAAM,EAAE;MACvB,IAAI;QACH,OAAO,EAAEU,CAAC,GAAGH,KAAK,CAACM,MAAM,KAAK,CAACJ,KAAK,IAAI,CAACA,KAAK,CAAC,CAAC,CAAC,EAAE;UAClDT,MAAM,GAAGQ,IAAI,CAACE,CAAC,CAAC;UAChB,IAAIV,MAAM,IAAIA,MAAM,CAACL,IAAI,EAAE;YAC1B,IAAIS,cAAc,CAACJ,MAAM,CAAC,EAAE;cAC3BA,MAAM,GAAGA,MAAM,CAACR,CAAC;YAClB,CAAC,MAAM;cACNQ,MAAM,CAACL,IAAI,CAACiB,MAAM,EAAED,MAAM,KAAKA,MAAM,GAAGzB,OAAO,CAACQ,IAAI,CAAC,IAAI,EAAEP,IAAI,GAAG,IAAII,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;cACnF;YACD;UACD;QACD;QACA,IAAIJ,IAAI,EAAE;UACTD,OAAO,CAACC,IAAI,EAAE,CAAC,EAAEa,MAAM,CAAC;QACzB,CAAC,MAAM;UACNb,IAAI,GAAGa,MAAM;QACd;MACD,CAAC,CAAC,OAAOE,CAAC,EAAE;QACXhB,OAAO,CAACC,IAAI,KAAKA,IAAI,GAAG,IAAII,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAEW,CAAC,CAAC;MAC5C;IACD;IACAU,MAAM,CAAC,CAAC;IACR,OAAOzB,IAAI;EACZ;EAAC,MAnGQ2B,sBAAsB,GAAAxC,yBAAA;EA+HxB,SAASyC,MAAMA,CAACC,MAAM,EAAER,IAAI,EAAEC,KAAK,EAAE;IAC3C,IAAI,OAAOO,MAAM,CAACjC,eAAe,CAAC,KAAK,UAAU,EAAE;MAClD,IAAIE,QAAQ,GAAG+B,MAAM,CAACjC,eAAe,CAAC,CAAC,CAAC;QAAEkC,IAAI;QAAE9B,IAAI;QAAEwB,MAAM;MAC5D,SAASC,MAAMA,CAACZ,MAAM,EAAE;QACvB,IAAI;UACH,OAAO,CAAC,CAACiB,IAAI,GAAGhC,QAAQ,CAACiC,IAAI,CAAC,CAAC,EAAEC,IAAI,KAAK,CAACV,KAAK,IAAI,CAACA,KAAK,CAAC,CAAC,CAAC,EAAE;YAC9DT,MAAM,GAAGQ,IAAI,CAACS,IAAI,CAAC5B,KAAK,CAAC;YACzB,IAAIW,MAAM,IAAIA,MAAM,CAACL,IAAI,EAAE;cAC1B,IAAIS,cAAc,CAACJ,MAAM,CAAC,EAAE;gBAC3BA,MAAM,GAAGA,MAAM,CAACR,CAAC;cAClB,CAAC,MAAM;gBACNQ,MAAM,CAACL,IAAI,CAACiB,MAAM,EAAED,MAAM,KAAKA,MAAM,GAAGzB,OAAO,CAACQ,IAAI,CAAC,IAAI,EAAEP,IAAI,GAAG,IAAII,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACnF;cACD;YACD;UACD;UACA,IAAIJ,IAAI,EAAE;YACTD,OAAO,CAACC,IAAI,EAAE,CAAC,EAAEa,MAAM,CAAC;UACzB,CAAC,MAAM;YACNb,IAAI,GAAGa,MAAM;UACd;QACD,CAAC,CAAC,OAAOE,CAAC,EAAE;UACXhB,OAAO,CAACC,IAAI,KAAKA,IAAI,GAAG,IAAII,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAEW,CAAC,CAAC;QAC5C;MACD;MACAU,MAAM,CAAC,CAAC;MACR,IAAI3B,QAAQ,CAACmC,MAAM,EAAE;QACpB,IAAIC,MAAM,GAAG,SAAAA,CAAShC,KAAK,EAAE;UAC5B,IAAI;YACH,IAAI,CAAC4B,IAAI,CAACE,IAAI,EAAE;cACflC,QAAQ,CAACmC,MAAM,CAAC,CAAC;YAClB;UACD,CAAC,CAAC,OAAMlB,CAAC,EAAE,CACX;UACA,OAAOb,KAAK;QACb,CAAC;QACD,IAAIF,IAAI,IAAIA,IAAI,CAACQ,IAAI,EAAE;UACtB,OAAOR,IAAI,CAACQ,IAAI,CAAC0B,MAAM,EAAE,UAASnB,CAAC,EAAE;YACpC,MAAMmB,MAAM,CAACnB,CAAC,CAAC;UAChB,CAAC,CAAC;QACH;QACAmB,MAAM,CAAC,CAAC;MACT;MACA,OAAOlC,IAAI;IACZ;IACA;IACA,IAAI,EAAE,QAAQ,IAAI6B,MAAM,CAAC,EAAE;MAC1B,MAAM,IAAIM,SAAS,CAAC,wBAAwB,CAAC;IAC9C;IACA;IACA,IAAIC,MAAM,GAAG,EAAE;IACf,KAAK,IAAIb,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGM,MAAM,CAACH,MAAM,EAAEH,CAAC,EAAE,EAAE;MACvCa,MAAM,CAACC,IAAI,CAACR,MAAM,CAACN,CAAC,CAAC,CAAC;IACvB;IACA,OAAOJ,MAAM,CAACiB,MAAM,EAAE,UAASb,CAAC,EAAE;MAAE,OAAOF,IAAI,CAACe,MAAM,CAACb,CAAC,CAAC,CAAC;IAAE,CAAC,EAAED,KAAK,CAAC;EACtE;EAAC,MApLAgB,aAAa,GAAAlD,YAAA;EAugBP,SAASmD,MAAMA,CAAClB,IAAI,EAAEmB,OAAO,EAAE;IACrC,IAAI;MACH,IAAI3B,MAAM,GAAGQ,IAAI,CAAC,CAAC;IACpB,CAAC,CAAC,OAAMN,CAAC,EAAE;MACV,OAAOyB,OAAO,CAACzB,CAAC,CAAC;IAClB;IACA,IAAIF,MAAM,IAAIA,MAAM,CAACL,IAAI,EAAE;MAC1B,OAAOK,MAAM,CAACL,IAAI,CAAC,KAAK,CAAC,EAAEgC,OAAO,CAAC;IACpC;IACA,OAAO3B,MAAM;EACd;EAAC,MAhhBA4B,gBAAgB,GAAArD,YAAA;EAAA,MAChBsD,aAAa,GAAAtD,YAAA;EAAA,MACbuD,cAAc,GAAAvD,YAAA;EAAA,MACdwD,eAAe,GAAAxD,YAAA;EAAA,MACfyD,oBAAoB,GAAAzD,YAAA;EAAA,MACpB0D,uBAAuB,GAAA1D,YAAA;EAAA,MACvB2D,sBAAsB,GAAA3D,YAAA;EAAA,MAEd4D,kBAAkB,GAAA3D,kBAAA;EAAA,MAAE4D,UAAU,GAAA5D,kBAAA;EAAA,MAChC6D,UAAU,GAAA1D,sBAAA,CAAAF,YAAA;EAAA,MACV6D,mBAAmB,GAAA3D,sBAAA,CAAAD,qBAAA;EAE1B,MAAM6D,SAAS,GAAG;IACjBC,4BAA4B,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;EAClD,CAAC;EAYD,MAAMC,kBAAkB,GAAIC,MAAmC,IAAqC;IACnG,IAAIC,aAA6C,GAAG,CAAC,CAAC;IACtD,IAAID,MAAM,EAAE;MACX,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;QAC/BC,aAAa,GAAGD,MAAM;MACvB,CAAC,MAAM;QACN,IAAI;UACHC,aAAa,GAAGC,IAAI,CAACC,KAAK,CAACH,MAAM,CAAW;QAC7C,CAAC,CAAC,OAAOI,MAAM,EAAE;UAChB/E,GAAG,CAACgF,KAAK,CAACD,MAAM,YAAYE,KAAK,GAAGF,MAAM,CAACG,OAAO,GAAGC,MAAM,CAACJ,MAAM,CAAC,CAAC;UACpEH,aAAa,GAAGQ,SAAS;QAC1B;MACD;IACD;IACA,OAAOR,aAAa;EACrB,CAAC;EAED,MAAMS,kBAAkB,GAAIC,YAA6B,IAAqC;IAC7F,IAAIC,eAA+C,GAAG,CAAC,CAAC;IACxD,IAAID,YAAY,EAAEE,kBAAkB,EAAEC,IAAI,EAAEC,aAAa,EAAE;MAC1D,MAAMC,OAAuC,GAAGjB,kBAAkB,CAACY,YAAY,CAACE,kBAAkB,CAACC,IAAI,CAACC,aAAa,CAAC;MACtH,IAAIC,OAAO,EAAEC,iBAAiB,EAAE;QAC/B,MAAMC,WAA2C,GAAGnB,kBAAkB,CAACiB,OAAO,CAACC,iBAAiB,CAAC;QACjG,IAAIC,WAAW,EAAE;UAChBN,eAAe,GAAGb,kBAAkB,CAACmB,WAAW,CAACC,eAAe,CAAC;QAClE;MACD;IACD;IACA,OAAOP,eAAe;EACvB,CAAC;EAED,MAAMQ,SAAS,GAAIT,YAAwC,IAAa;IACvE,IAAIU,MAAM,GAAG,EAAE;IACf,IAAIT,eAA+C,GAAG,CAAC,CAAC;IACxD,IAAID,YAAY,EAAErC,MAAM,EAAEgD,cAAc,IAAIX,YAAY,EAAErC,MAAM,EAAEiD,MAAM,EAAE;MACzEF,MAAM,GAAG,IAAIV,YAAY,CAACrC,MAAM,CAACgD,cAAc,IAAIX,YAAY,CAACrC,MAAM,CAACiD,MAAM,EAAE;IAChF,CAAC,MAAM,IAAIZ,YAAY,EAAEE,kBAAkB,EAAEC,IAAI,EAAEC,aAAa,EAAE;MACjEH,eAAe,GAAGF,kBAAkB,CAACC,YAAY,CAAC;MAClD,IAAIC,eAAe,EAAEU,cAAc,IAAIV,eAAe,EAAEY,cAAc,EAAE;QACvEH,MAAM,GAAG,IAAIT,eAAe,EAAEU,cAAc,IAAIV,eAAe,EAAEY,cAAc,EAAE;MAClF;IACD;IACA,OAAOH,MAAM;EACd,CAAC;EAED,MAAMI,aAAa,GAAId,YAAwC,IAAK;IACnE,IAAIe,UAAU,GAAGN,SAAS,CAACT,YAAY,CAAC,IAAI,EAAE;IAC9C,MAAMC,eAAe,GAAGF,kBAAkB,CAACC,YAAY,CAAC;IACxD,IAAIC,eAAe,EAAEe,YAAY,EAAE;MAClCD,UAAU,IAAI,gBAAgB,GAAGd,eAAe,CAACe,YAAY;IAC9D;IACA,OAAOD,UAAU;EAClB,CAAC;EAED,MAAME,oBAAoB,GAAIC,cAA8B,IAAc;IACzE,OAAOA,cAAc,CAACC,OAAO,EAAEC,UAAU,CAAC,oBAAoB,CAAC;EAChE,CAAC;;EAED;EACA,MAAMC,oBAAoB,GAAGA,CAACC,IAAoB,EAAEtB,YAA4B,KAA0C;IACzH,MAAMuB,YAAY,GAAGvB,YAAY,EAAEE,kBAAkB,EAAEC,IAAI,EAAEqB,IAAI,EAAEC,iBAAiB,EAAEC,KAAK;IAC3F,OAAO;MACNC,KAAK,EAAEL,IAAI,CAACK,KAAK,GAAGL,IAAI,CAACK,KAAK,GAAGJ,YAAY,EAAEI,KAAK,IAAI,EAAE;MAC1DC,QAAQ,EAAEN,IAAI,CAACM,QAAQ,GAAGN,IAAI,CAACM,QAAQ,GAAGL,YAAY,EAAEM,WAAW,IAAI;IACxE,CAAC;EACF,CAAC;;EAED;AACA;AACA;AACA;AACA;AACA;AACA;EACA,MAAMC,kBAAkB,GAAIC,KAA6B,IAAK;IAC7DA,KAAK,CAACC,OAAO,CAAEC,aAAa,IAAK;MAChCF,KAAK,CACHG,MAAM,CACLC,IAAI,IACJA,IAAI,CAACC,KAAK,KAAKH,aAAa,CAACG,KAAK,IAClCD,IAAI,EAAEE,aAAa,EAAEC,EAAE,KAAKL,aAAa,EAAEI,aAAa,EAAEC,EAAE,IAC5DH,IAAI,CAACI,UAAU,EAAEC,YAAY,KAAKP,aAAa,CAACM,UAAU,EAAEC,YAC9D,CAAC,CACAR,OAAO,CAAEG,IAAI,IAAK;QAClBA,IAAI,EAAEI,UAAU,EAAEE,aAAa,EAAEtE,IAAI,CAAC8D,aAAa,CAAC;MACrD,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,OAAOF,KAAK;EACb,CAAC;EAED,MAAMW,mBAAmB,GAAIL,aAAsB,IAAK;IACvD,OAAOA,aAAa,EAAE1E,MAAM,EAAEgF,UAAU,GAAG,kBAAkB,CAAC,EAAE3G,KAAK,EAAEA,KAAK,KAAK,KAAK;EACvF,CAAC;EAED,MAAM4G,4BAA4B,GAAIC,MAA4B,IAAK;IACtE,OAAOA,MAAM,CAACC,OAAO,IAAI5D,SAAS,CAACC,4BAA4B,CAAC4D,QAAQ,CAACF,MAAM,CAACC,OAAO,CAAC;EACzF,CAAC;EAED,MAAME,4BAA4B,GAAGA,CAACX,aAAmC,EAAEY,sBAA8C,KAAK;IAC7H,OAAO,CAACA,sBAAsB,CAACC,IAAI,CACjCC,MAAM,IACNA,MAAM,CAACd,aAAa,EAAE1E,MAAM,EAAEgD,cAAc,KAAK0B,aAAa,CAACA,aAAa,EAAE1E,MAAM,EAAEgD,cAAc,IACpGwC,MAAM,CAACd,aAAa,EAAE1E,MAAM,EAAEiD,MAAM,KAAKyB,aAAa,CAACA,aAAa,EAAE1E,MAAM,EAAEiD,MAChF,CAAC;EACF,CAAC;;EAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAEe,MAAMwC,UAAU,SAASvI,UAAU,CAAC;IAC1CwI,aAAa,GAA0D,EAAE;IAEzEC,uBAAuB,GAAY,KAAK;IAOxCC,eAAe,GAAY,KAAK;IAChCC,cAAc,GAA0C,CAAC,CAAC;IAC1DC,sBAAsB,GAA2B,EAAE;IACnDC,aAAa,GAAa,CAAC,CAAC;IAC5BC,YAAY,GAAa,CAAC,CAAC;IAI3BC,WAAWA,CAAA,EAAG;MACrB,KAAK,CAAC,CAAC;MACP,IAAI,CAACC,uBAAuB,GAAG5E,mBAAmB,CAAC6E,WAAW,CAAC,CAAC;IACjE;IAEA,OAAOA,WAAWA,CAAA,EAAG;MACpB,IAAI,CAACV,UAAU,CAACW,QAAQ,EAAE;QACzBX,UAAU,CAACW,QAAQ,GAAG,IAAIX,UAAU,CAAC,CAAC;MACvC;MACA,OAAOA,UAAU,CAACW,QAAQ;IAC3B;IACA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;IACeC,sBAAsBA,CAACC,aAAsB,EAAEC,MAAc,GAAGzF,cAAc;MAAA,IAAkB;QAAA,MAAA3B,KAAA,GAG7G,IAAI;QAAA,OAAAqH,OAAA,CAAAC,OAAA,CAF+BpJ,SAAS,CAACqJ,eAAe,CAAe,cAAc,CAAC,EAAA/H,IAAA,WAApFgI,oBAAoB;UAC1B,IAAIC,gBAAgC;UACpCzH,KAAA,CAAKuG,aAAa,GAAGvG,KAAA,CAAKuG,aAAa,IAAI,EAAE;;UAE7C;UACA,MAAMmB,cAAc,GAAG1H,KAAA,CAAKuG,aAAa,CAACoB,IAAI,CAAEC,QAAQ,IAAKA,QAAQ,CAACR,MAAM,KAAKA,MAAM,CAAC;UACxF,IAAI,CAACM,cAAc,IAAIP,aAAa,KAAK,IAAI,IAAInH,KAAA,CAAKyG,eAAe,KAAK,IAAI,EAAE;YAC/EzG,KAAA,CAAKyG,eAAe,GAAG,KAAK;YAC5BgB,gBAAgB,GAAGD,oBAAoB,CAACK,OAAO,CAACT,MAAM,CAAC;YACvD,IAAIM,cAAc,EAAE;cACnBA,cAAc,CAACI,eAAe,GAAGL,gBAAgB;YAClD,CAAC,MAAM;cACNzH,KAAA,CAAKuG,aAAa,CAAClF,IAAI,CAAC;gBACvB+F,MAAM,EAAEA,MAAM;gBACdU,eAAe,EAAEL;cAClB,CAAC,CAAC;YACH;UACD,CAAC,MAAM;YACNA,gBAAgB,GAAGC,cAAc,CAACI,eAAe;UAClD;UAEA,OAAOL,gBAAgB;QAAC;MACzB,CAAC,QAAA1H,CAAA;QAAA,OAAAsH,OAAA,CAAA7G,MAAA,CAAAT,CAAA;MAAA;IAAA;IACD;AACD;AACA;AACA;AACA;AACA;AACA;IACSgI,iBAAiBA,CAACZ,aAAsB,EAAE;MACjD,OAAO,IAAI,CAACa,YAAY,CAACb,aAAa,EAAE,IAAI,CAAC,CAAC3H,IAAI,CAAEyI,QAAgC,IACnFA,QAAQ,CAAC7C,MAAM,CAAE8C,OAAO,IAAKA,OAAO,CAACC,OAAO,IAAID,OAAO,CAACE,mBAAmB,CAC5E,CAAC;IACF;IACA;AACD;AACA;AACA;AACA;AACA;AACA;IACcC,YAAYA,CAAClB,aAAsB,GAAG,KAAK,EAAEC,MAAc,GAAGzF,cAAc;MAAA,IAAuB;QAAA,MAAA2G,MAAA,GACpF,IAAI;QAAA,OAAAjB,OAAA,CAAAC,OAAA,CAAJgB,MAAA,CAAKpB,sBAAsB,CAACC,aAAa,EAAEC,MAAM,CAAC,EAAA5H,IAAA,WAAvE+I,KAAY;UAClB,MAAMC,SAAS,GAAID,KAAK,IAAIA,KAAK,CAACE,QAAQ,IAAK,EAAE;YAChDC,sBAA8B,GAAGF,SAAS,CAACG,SAAS,CAAEC,QAAQ,IAAKA,QAAQ,CAACjK,OAAO,CAAC;UAAC,IAClF+J,sBAAsB,GAAG,CAAC;YAAA,SAAAG,OAAA;cAK7B,OAAOP,MAAA,CAAKD,YAAY,CAAC,IAAI,CAAC;YAAC;YAAA,MAAAS,KAAA;cAAA,IAJ3BR,MAAA,CAAKS,iBAAiB,KAAK/F,SAAS;gBACvCsF,MAAA,CAAKS,iBAAiB,GAAGT,MAAA,CAAKU,WAAW,CAACN,sBAAsB,EAAE,CAAC,CAAC;gBAAC,OAAArB,OAAA,CAAAC,OAAA,CAC/DgB,MAAA,CAAKS,iBAAiB,EAAAvJ,IAAA;cAAA;YAAA;YAAA,OAAAsJ,KAAA,IAAAA,KAAA,CAAAtJ,IAAA,GAAAsJ,KAAA,CAAAtJ,IAAA,CAAAqJ,MAAA,IAAAA,MAAA,CAAAC,KAAA;UAAA;YAI7B,OAAON,SAAS;UAAC;QAAA;MAEnB,CAAC,QAAAzI,CAAA;QAAA,OAAAsH,OAAA,CAAA7G,MAAA,CAAAT,CAAA;MAAA;IAAA;IACD;AACD;AACA;AACA;AACA;AACA;AACA;IACekJ,cAAcA,CAAC9B,aAAsB,EAAEC,MAAc,GAAGzF,cAAc;MAAA,IAAmC;QAAA,MAAAuH,MAAA,GAEtH,IAAI;QADJ,MAAMjE,KAA6B,GAAG,EAAE;QACxCiE,MAAA,CAAKxC,cAAc,GAAGwC,MAAA,CAAKxC,cAAc,IAAI,CAAC,CAAC;QAAC,OAAAW,OAAA,CAAAC,OAAA,CACxB4B,MAAA,CAAKb,YAAY,CAAClB,aAAa,EAAEC,MAAM,CAAC,EAAA5H,IAAA,WAA1DgJ,SAAS;UAAA,OAAAnB,OAAA,CAAAC,OAAA,CACwBpJ,SAAS,CAACqJ,eAAe,CAA6B,4BAA4B,CAAC,EAAA/H,IAAA,WAApH2J,wBAAwB;YAC9BX,SAAS,CAACtD,OAAO,CAAC,CAAC0D,QAAkB,EAAEQ,aAAqB,KAAK;cAChER,QAAQ,EAAES,cAAc,EAAEnE,OAAO,CAAC,CAACd,cAA8B,EAAEkF,mBAA2B,KAAK;gBAClG,MAAMC,SAAS,GAAGnF,cAAc,CAACmF,SAAS;kBACzCC,QAAQ,GAAGD,SAAS,GAAG,SAAS,CAAC,IAAK;oBAAE1E,KAAK,EAAE;kBAAI,CAAoB;kBACvEQ,IAAI,GAAG,CAAC,CAAyB;gBAElCA,IAAI,CAACoE,QAAQ,GAAG9F,SAAS,CAAC4F,SAAS,GAAG,SAAS,CAAC,CAAC;gBACjDlE,IAAI,CAACC,KAAK,GAAGlB,cAAc,EAAEsF,SAAS,CAAC,CAAC;gBACxCrE,IAAI,CAACsE,GAAG,GAAGvF,cAAc,EAAEsF,SAAS;gBACpC,IAAI,CAACrE,IAAI,CAACsE,GAAG,IAAIxF,oBAAoB,CAACC,cAAc,CAAC,EAAE;kBACtDiB,IAAI,CAACsE,GAAG,GAAG3F,aAAa,CAACuF,SAAS,GAAG,SAAS,CAAC,CAAC;gBACjD;gBACAlE,IAAI,CAACuE,OAAO,GAAG3H,UAAU,CAACoD,IAAI,CAACsE,GAAG,CAAC;gBACnCtE,IAAI,CAACR,KAAK,GAAGT,cAAc,EAAES,KAAK,IAAIN,oBAAoB,CAACiF,QAAQ,EAAEpF,cAAc,CAAC,EAAES,KAAK;gBAC3FQ,IAAI,CAACP,QAAQ,GAAGV,cAAc,CAACU,QAAQ,IAAIP,oBAAoB,CAACiF,QAAQ,EAAEpF,cAAc,CAAC,CAACU,QAAQ;gBAClGO,IAAI,CAACwE,OAAO,GAAGpI,gBAAgB,CAAC,CAAC,CAACqI,GAAG;gBACrCzE,IAAI,CAAC0E,KAAK,GAAG,IAAI;gBACjB1E,IAAI,CAAC2E,SAAS,GAAG,KAAK;gBACtB3E,IAAI,CAAC+B,MAAM,GAAGA,MAAM;gBACpB/B,IAAI,CAAC4E,IAAI,GAAGV,SAAS,GAAG,QAAQ,CAAC,EAAEW,KAAK,EAAED,IAAI,IAAIvI,aAAa;gBAC/D,IAAI0C,cAAc,EAAE+F,mBAAmB,EAAE;kBACxC9E,IAAI,CAAC8C,OAAO,GAAG,IAAI;kBACnB9C,IAAI,CAAC8E,mBAAmB,GAAG/F,cAAc,CAAC+F,mBAAmB,CAACC,IAAI;kBAClE/E,IAAI,CAACgF,iBAAiB,GAAGjG,cAAc,CAACiG,iBAAiB;gBAC1D;gBACAhF,IAAI,CAAC+C,mBAAmB,GAAGjE,oBAAoB,CAACC,cAAc,CAAC;gBAC/D,IAAIiB,IAAI,CAAC+C,mBAAmB,EAAE;kBAC7B,IAAI,CAACc,MAAA,CAAKxC,cAAc,CAACrB,IAAI,CAACC,KAAK,CAAC,EAAE;oBACrC4D,MAAA,CAAKxC,cAAc,CAACrB,IAAI,CAACC,KAAK,CAAC,GAAG6D,wBAAwB,CAACmB,wBAAwB,CAClFlG,cACD,CAAuB;oBACvB8E,MAAA,CAAKxC,cAAc,CAACrB,IAAI,CAACC,KAAK,CAAC,CAACiF,SAAS,CAAC,IAAI,CAAC;kBAChD;kBACAlF,IAAI,CAACmF,WAAW,GAAGtB,MAAA,CAAKxC,cAAc,CAACrB,IAAI,CAACC,KAAK,CAAC;gBACnD;gBACA;gBACAD,IAAI,CAACI,UAAU,GAAG;kBACjB2B,MAAM,EAAEzF,cAAc;kBACtB8I,YAAY,EAAE7B,QAAQ,CAAC/D,KAAK;kBAC5B6F,SAAS,EAAE9B,QAAQ,CAACpD,EAAE;kBACtBE,YAAY,EAAE0D,aAAa;kBAC3BuB,kBAAkB,EAAErB,mBAAmB;kBACvCsB,gBAAgB,EAAEhC,QAAQ,CAACjK,OAAO;kBAClCkM,eAAe,EAAEjC,QAAQ,CAACkC,MAAM;kBAChCnF,aAAa,EAAE;gBAChB,CAAC;gBACDN,IAAI,CAACE,aAAa,GAAGnB,cAAc;gBACnC;gBACAiB,IAAI,CAACE,aAAa,CAACV,KAAK,GAAGQ,IAAI,CAACR,KAAK;gBACrCQ,IAAI,CAACE,aAAa,CAACT,QAAQ,GAAGO,IAAI,CAACP,QAAQ;gBAC3CG,KAAK,CAAC5D,IAAI,CAACgE,IAAI,CAAC;cACjB,CAAC,CAAC;YACH,CAAC,CAAC;YACF,OAAOJ,KAAK;UAAC;QAAA;MACd,CAAC,QAAAlF,CAAA;QAAA,OAAAsH,OAAA,CAAA7G,MAAA,CAAAT,CAAA;MAAA;IAAA;IACD;AACD;AACA;AACA;AACA;AACA;IACegL,gBAAgBA,CAAA;MAAA,IAAG;QAAA,MAAAC,MAAA,GACmB,IAAI;QAAA,OAAA3D,OAAA,CAAAC,OAAA,CAAJ0D,MAAA,CAAKjD,iBAAiB,CAAC,IAAI,CAAC,EAAAvI,IAAA,WAAzEyL,YAAoC;UAC1C,OAAO5D,OAAO,CAAC6D,GAAG,CACjBD,YAAY,CAACE,GAAG,CAAEC,OAA6B,IAAK;YACnD,OAAOJ,MAAA,CAAKK,gBAAgB,CAACD,OAAO,CAAC7F,aAAa,CAAE+F,KAAK,EAAEzJ,oBAAoB,CAAC;UACjF,CAAC,CACF,CAAC;QAAC;MACH,CAAC,QAAA9B,CAAA;QAAA,OAAAsH,OAAA,CAAA7G,MAAA,CAAAT,CAAA;MAAA;IAAA;IACD;AACD;AACA;AACA;AACA;AACA;AACA;AACA;IACciI,YAAYA,CACxBb,aAAsB,EACtBoE,gBAA0B,EAC1BnE,MAAc,GAAGzF,cAAc;MAAA,IACO;QAAA,MAAA6J,MAAA,GACZ,IAAI;QAAA,OAAAnE,OAAA,CAAAC,OAAA,CAAJkE,MAAA,CAAKvC,cAAc,CAAC9B,aAAa,EAAEC,MAAM,CAAC,EAAA5H,IAAA,WAA9DiM,WAAW;UACjB,MAAMC,eAAe,GAAGD,WAAW,CAACrG,MAAM,CACxCC,IAAI,IAAKA,IAAI,CAACI,UAAU,IAAIJ,IAAI,CAACI,UAAU,CAACiF,SAAS,KAAK7I,oBAAoB,IAAIwD,IAAI,CAACsE,GAAG,IAAItE,IAAI,CAACR,KACrG,CAAC;UAAC,IAEE0G,gBAAgB;YACnB,OAAOC,MAAA,CAAKG,oBAAoB,CAAC3G,kBAAkB,CAAC0G,eAAe,CAAC,EAAE,KAAK,CAAC;UAAC;YAE7E,OAAOF,MAAA,CAAKI,oBAAoB,CAACF,eAAe,CAAC;UAAC;QAAA;MAEpD,CAAC,QAAA3L,CAAA;QAAA,OAAAsH,OAAA,CAAA7G,MAAA,CAAAT,CAAA;MAAA;IAAA;IACD;AACD;AACA;AACA;AACA;AACA;AACA;IACc8L,gBAAgBA,CAAC1E,aAAsB,EAAE2E,aAAqB;MAAA,IAAE;QAAA,MAAAC,MAAA,GAEvD,IAAI;QAAA,SAAAC,OAAA;UAAA,OAAA3E,OAAA,CAAAC,OAAA,CA6BZ2E,mBAAmB,CAAC,CAAC;QAAA;QA9BlC,MAAMA,mBAAmB,YAAAA,CAAA;UAAA,IAAe;YAAA,OAAA5E,OAAA,CAAAC,OAAA,CACnByE,MAAA,CAAK9C,cAAc,CAAC9B,aAAa,CAAC,EAAA3H,IAAA,WAAhDyF,KAAK;cACX,OAAOA,KAAK,CAACG,MAAM,CAAEC,IAAI,IAAKA,IAAI,CAACI,UAAU,EAAEiF,SAAS,KAAK7I,oBAAoB,IAAIwD,IAAI,CAACsE,GAAG,IAAItE,IAAI,CAACR,KAAK,CAAC;YAAC;UAC9G,CAAC,QAAA9E,CAAA;YAAA,OAAAsH,OAAA,CAAA7G,MAAA,CAAAT,CAAA;UAAA;QAAA;QAAC,MAAAmM,MAAA;UAAA,IAEE,CAACH,MAAA,CAAKvF,uBAAuB;YAAA,OAAAa,OAAA,CAAAC,OAAA,CACIyE,MAAA,CAAK1D,YAAY,CAAClB,aAAa,CAAC,EAAA3H,IAAA,WAA9DgJ,SAAqB;cAC3BuD,MAAA,CAAKI,oBAAoB,GAAG3D,SAAS,CAACG,SAAS,CAAC,UAAUC,QAAQ,EAAE;gBACnE,OAAOA,QAAQ,CAACpD,EAAE,KAAK3D,oBAAoB;cAC5C,CAAC,CAAC;cAAC,MAAAuK,MAAA;gBAAA,IAGFL,MAAA,CAAKI,oBAAoB,KAAK,CAAC,CAAC,KAC/BlO,MAAM,CAACoO,IAAI,CAAC,mCAAmC,CAAC,IAAIpO,MAAM,CAACoO,IAAI,CAAC,uBAAuB,CAAC,CAAC,IAC1FN,MAAA,CAAKvF,uBAAuB,KAAK,KAAK;kBAEtCuF,MAAA,CAAKvF,uBAAuB,GAAG,IAAI;kBAAC,OAAAa,OAAA,CAAAC,OAAA,CAC9ByE,MAAA,CAAKO,UAAU,CAAC;oBACrB5G,YAAY,EAAE8C,SAAS,EAAE9H,MAAM;oBAC/B6L,iBAAiB,EAAE;sBAClB/G,EAAE,EAAE3D,oBAAoB;sBACxBgD,KAAK,EAAEiH;oBACR;kBACD,CAAC,CAAC,EAAAtM,IAAA;oBAAA,OAAA6H,OAAA,CAAAC,OAAA,CACIyE,MAAA,CAAKhB,gBAAgB,CAAC,CAAC,EAAAvL,IAAA;kBAAA;gBAAA;kBAE7BuM,MAAA,CAAKvF,uBAAuB,GAAG,IAAI;gBAAC;cAAA;cAAA,IAAA4F,MAAA,IAAAA,MAAA,CAAA5M,IAAA,SAAA4M,MAAA,CAAA5M,IAAA;YAAA;UAAA;QAAA;QAAA,OAAA6H,OAAA,CAAAC,OAAA,CAAA4E,MAAA,IAAAA,MAAA,CAAA1M,IAAA,GAAA0M,MAAA,CAAA1M,IAAA,CAAAwM,MAAA,IAAAA,MAAA,CAAAE,MAAA;MAKvC,CAAC,QAAAnM,CAAA;QAAA,OAAAsH,OAAA,CAAA7G,MAAA,CAAAT,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;IACcsL,gBAAgBA,CAACmB,eAAuB,EAAE9B,SAA6B,GAAG1H,SAAS;MAAA,IAAiB;QAAA,OAAAqE,OAAA,CAAAC,OAAA,CAC9EpJ,SAAS,CAACqJ,eAAe,CAAe,cAAc,CAAC,EAAA/H,IAAA,WAAnFiN,mBAAmB;UAAA,OAAApF,OAAA,CAAAC,OAAA,CACnBmF,mBAAmB,CAACpB,gBAAgB,CAAC1J,cAAc,EAAE+I,SAAS,EAAE8B,eAAe,CAAC,EAAAhN,IAAA;QAAA;MACvF,CAAC,QAAAO,CAAA;QAAA,OAAAsH,OAAA,CAAA7G,MAAA,CAAAT,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;IACc2M,oBAAoBA,CAAC;MAAEhC,SAAS;MAAEiC;IAAgD,CAAC;MAAA,IAAE;QAAA,MAAAC,MAAA,GAGzE,IAAI;QAAA,OAAAvF,OAAA,CAAAC,OAAA,CAFMpJ,SAAS,CAACqJ,eAAe,CAAe,cAAc,CAAC,EAAA/H,IAAA,WAAnFiN,mBAAmB;UAAA,MAAAI,MAAA,GAAAjM,MAAA,CACL+L,MAAM,YAAfrB,KAAK,EAAY;YAAA,OAAAjE,OAAA,CAAAC,OAAA,CACJsF,MAAA,CAAKvE,YAAY,CAAC,IAAI,CAAC,EAAA7I,IAAA,WAAxCiJ,QAAQ;cACd,MAAM/C,YAAY,GAAG+C,QAAQ,CAACE,SAAS,CAAEC,QAAQ,IAAKA,QAAQ,CAACpD,EAAE,KAAKkF,SAAS,CAAC;cAChF,MAAMoC,aAAa,GAAGpH,YAAY,GAAG,CAAC,CAAC,GAAG+C,QAAQ,CAAC/C,YAAY,CAAC,GAAG,IAAI;cACvE,MAAMiF,kBAAkB,GAAGmC,aAAa,EAAEzD,cAAc,EAAEV,SAAS,CAAEvE,cAAc,IAAKA,cAAc,CAACoB,EAAE,KAAK8F,KAAK,CAAC,IAAI,CAAC,CAAC;cAAC,MAAAyB,MAAA;gBAAA,IACvHpC,kBAAkB,GAAG,CAAC,CAAC;kBAAA,OAAAtD,OAAA,CAAAC,OAAA,CACpBmF,mBAAmB,CAACO,mBAAmB,CAACrL,cAAc,EAAE+D,YAAY,EAAEiF,kBAAkB,CAAC,EAAAnL,IAAA;gBAAA;cAAA;cAAA,IAAAuN,MAAA,IAAAA,MAAA,CAAAvN,IAAA,SAAAuN,MAAA,CAAAvN,IAAA;YAAA;UAEjG,CAAC;UAAA,IAAAqN,MAAA,IAAAA,MAAA,CAAArN,IAAA,SAAAqN,MAAA,CAAArN,IAAA;QAAA;MACF,CAAC,QAAAO,CAAA;QAAA,OAAAsH,OAAA,CAAA7G,MAAA,CAAAT,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACckN,oBAAoBA,CAAC;MACjC7F,MAAM;MACN8F,kBAAkB;MAClBC,wBAAwB;MACxBC;IAMD,CAAC;MAAA,IAAE;QAAA,OAAA/F,OAAA,CAAAC,OAAA,CACgCpJ,SAAS,CAACqJ,eAAe,CAAe,cAAc,CAAC,EAAA/H,IAAA,WAAnFiN,mBAAmB;UACzB,OAAOA,mBAAmB,CAACY,mBAAmB,CAACjG,MAAM,EAAE8F,kBAAkB,EAAEC,wBAAwB,EAAEC,kBAAkB,CAAC;QAAC;MAC1H,CAAC,QAAArN,CAAA;QAAA,OAAAsH,OAAA,CAAA7G,MAAA,CAAAT,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;IACcuN,oBAAoBA,CAACxB,aAAqB;MAAA,IAAE;QAAA,IAAAyB,KAAA;QAAA,MAAAC,MAAA,GACnD,IAAI;QAAA,SAAAC,OAAAC,OAAA;UAAA,OAAAH,KAAA,GAAAG,OAAA,GAsBFrG,OAAO,CAACC,OAAO,CAAC,CAAC;QAAA;QAAA,MAAAqG,MAAA;UAAA,IAtBpB,CAACH,MAAA,CAAKhH,uBAAuB;YAAA,OAAAa,OAAA,CAAAC,OAAA,CACRkG,MAAA,CAAKnF,YAAY,CAAC,CAAC,EAAA7I,IAAA,WAArCgJ,SAAS;cACf,MAAMoF,sBAAsB,GAAGpF,SAAS,CAACG,SAAS,CAAC,UAAUC,QAAQ,EAAE;gBACtE,OAAOA,QAAQ,CAACpD,EAAE,KAAK3D,oBAAoB;cAC5C,CAAC,CAAC;;cAEF;cAAA,IAEC+L,sBAAsB,KAAK,CAAC,CAAC,KAC5B3P,MAAM,CAACoO,IAAI,CAAC,mCAAmC,CAAC,IAAIpO,MAAM,CAACoO,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBAAA,MAAAwB,iBAAA,GAEnFL,MAAA,CAAKlB,UAAU,CAAC;kBACtB5G,YAAY,EAAE8C,SAAS,CAAC9H,MAAM;kBAC9B6L,iBAAiB,EAAE;oBAClB/G,EAAE,EAAE3D,oBAAoB;oBACxBgD,KAAK,EAAEiH,aAAa;oBACpBgC,OAAO,EAAE;kBACV;gBACD,CAAC,CAAC;gBAAAP,KAAA;gBAAA,OAAAM,iBAAA;cAAA;YAAA;UAAA;QAAA;QAAA,OAAAxG,OAAA,CAAAC,OAAA,CAAAqG,MAAA,IAAAA,MAAA,CAAAnO,IAAA,GAAAmO,MAAA,CAAAnO,IAAA,CAAAiO,MAAA,IAAAA,MAAA,CAAAE,MAAA;MAKL,CAAC,QAAA5N,CAAA;QAAA,OAAAsH,OAAA,CAAA7G,MAAA,CAAAT,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACcuM,UAAUA,CAACyB,WAAqB;MAAA,IAAE;QAC9C,MAAM;UAAErI,YAAY;UAAE6G;QAAkB,CAAC,GAAGwB,WAAW;QAAC,OAAA1G,OAAA,CAAAC,OAAA,CACrBpJ,SAAS,CAACqJ,eAAe,CAAe,cAAc,CAAC,EAAA/H,IAAA,WAApFgI,oBAAoB;UAAA,OAAAH,OAAA,CAAAC,OAAA,CACpBE,oBAAoB,CAAC8E,UAAU,CAAC3K,cAAc,EAAE+D,YAAY,EAAE;YACnE,GAAG6G,iBAAiB;YACpBuB,OAAO,EAAE;UACV,CAAC,CAAC,EAAAtO,IAAA;QAAA;MACH,CAAC,QAAAO,CAAA;QAAA,OAAAsH,OAAA,CAAA7G,MAAA,CAAAT,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;AACA;IACciO,wBAAwBA,CACpCtD,SAAkB,EAClBuD,YAAY,GAAG,KAAK,EACpB7G,MAAc,GAAGzF,cAAc;MAAA,IACG;QAAA,MAAAuM,MAAA,GACc,IAAI;QAAA,OAAA7G,OAAA,CAAAC,OAAA,CAAJ4G,MAAA,CAAKlG,YAAY,CAACiG,YAAY,EAAE,KAAK,EAAE7G,MAAM,CAAC,EAAA5H,IAAA,WAAxF2O,KAAiC;UAAA,IACnCzD,SAAS;YACZ,OAAOyD,KAAK,CAACxG,IAAI,CAAEtC,IAAI,IAAKA,IAAI,CAAC2E,SAAS,IAAI3E,IAAI,CAACG,EAAE,KAAKkF,SAAS,CAAC,EAAE0D,IAAI,IAAI,EAAE;UAAC;YAEjF,OAAOD,KAAK,CAAC/I,MAAM,CAAEC,IAAI,IAAK,CAACA,IAAI,CAAC2E,SAAS,CAAC,CAAC,CAAC;UAAA;QAAA;MAElD,CAAC,QAAAjK,CAAA;QAAA,OAAAsH,OAAA,CAAA7G,MAAA,CAAAT,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;IACcsO,WAAWA,CACvBC,QAAwB,EACxBC,UAKC;MAAA,IACA;QAAA,MAAAC,MAAA,GAOO,IAAI;QAAA,OAAAnH,OAAA,CAAAC,OAAA,CAN6BpJ,SAAS,CAACqJ,eAAe,CAAC,YAAY,CAAC,EAAA/H,IAAA,WAA1EiP,gBAA0B;UAAA,OAAApH,OAAA,CAAAC,OAAA,CACJmH,gBAAgB,CAACC,eAAe,CAAC,CAAC,EAAAlP,IAAA,WAAxDmP,aAAa;YACnB,MAAMC,YAAY,GAAGD,aAAa,CAAChH,IAAI,CAAEkH,WAAW,IAAKA,WAAW,CAACrJ,EAAE,KAAK5D,eAAe,CAAC;YAC5F,MAAMiN,WAAW,GAAGD,YAAY,EAAEE,QAAQ,EAAEnH,IAAI,CAAEkH,WAAW,IAAKA,WAAW,CAACrJ,EAAE,KAAK7D,cAAc,CAAC;YAAC,OAAA0F,OAAA,CAAAC,OAAA,CAC/FmH,gBAAgB,CAACM,WAAW,CAAC/M,kBAAkB,CAACsM,QAAQ,CAAC,EAAEO,WAAW,CAAC,EAAArP,IAAA;cAAA,OACzE+O,UAAU,GACNC,MAAA,CAAKQ,iBAAiB,CAACT,UAAU,CAAC,GAEnClH,OAAO,CAACC,OAAO,CAAC,CAAC;YAAA;UAAA;QAAA;MACzB,CAAC,QAAAvH,CAAA;QAAA,OAAAsH,OAAA,CAAA7G,MAAA,CAAAT,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;IACckP,gBAAgBA,CAAC3J,KAAa,EAAEoF,SAAkB,EAAEuD,YAAY,GAAG,KAAK;MAAA,IAAE;QAAA,MAAAiB,MAAA,GAClD,IAAI;QAAA,OAAA7H,OAAA,CAAAC,OAAA,CAAJ4H,MAAA,CAAKlB,wBAAwB,CAACtD,SAAS,EAAEuD,YAAY,CAAC,EAAAzO,IAAA,WAApF2P,qBAAqB;UAC3B,OAAOA,qBAAqB,CAACxH,IAAI,CAAEyH,oBAAoB,IAAKA,oBAAoB,CAAC9J,KAAK,KAAKA,KAAK,CAAC;QAAC;MACnG,CAAC,QAAAvF,CAAA;QAAA,OAAAsH,OAAA,CAAA7G,MAAA,CAAAT,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACciP,iBAAiBA,CAACT,UAK9B;MAAA,IAAE;QAAA,MAAAc,OAAA,GAEF,IAAI;QAAA,OAAAhI,OAAA,CAAAC,OAAA,CAD8BpJ,SAAS,CAACqJ,eAAe,CAAe,cAAc,CAAC,EAAA/H,IAAA,WAAnFiN,mBAAmB;UACzB4C,OAAA,CAAK5I,eAAe,GAAG,IAAI;UAC3B,OAAOgG,mBAAmB,CAACuC,iBAAiB,CAC3CrN,cAAc,EACd4M,UAAU,CAACrB,kBAAkB,EAC7BqB,UAAU,CAACpB,wBAAwB,EACnCoB,UAAU,CAACe,kBAAkB,EAC7Bf,UAAU,CAACgB,wBACZ,CAAC;QAAC;MACH,CAAC,QAAAxP,CAAA;QAAA,OAAAsH,OAAA,CAAA7G,MAAA,CAAAT,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;IACQ4L,oBAAoBA,CAAC6D,oBAA4C,EAAEC,oBAA6B,EAAE;MACxG,OAAOD,oBAAoB,CAACpK,MAAM,CAAC,CAACC,IAAI,EAAEqK,SAAS,EAAEzK,KAAK,KAAK;QAC9D,MAAM0K,WAAW,GAAG1K,KAAK,CAAC0D,SAAS,CAAEiH,QAAQ,IAAKA,QAAQ,CAACtK,KAAK,KAAKD,IAAI,CAACC,KAAK,CAAC;QAChF,OAAOmK,oBAAoB,GAAGE,WAAW,KAAKD,SAAS,GAAGC,WAAW,KAAKD,SAAS;MACpF,CAAC,CAAC;IACH;;IAEA;AACD;AACA;AACA;AACA;AACA;AACA;IACS9D,oBAAoBA,CAACiE,aAAqC,EAAE;MACnE,MAAMC,WAAmC,GAAG,EAAE;QAC7CtH,SAAqB,GAAG,EAAE;MAC3B,IAAIuH,gBAAsC;MAE1C/K,kBAAkB,CAAC6K,aAAa,CAAC,CAAC3K,OAAO,CAAEG,IAAI,IAAK;QACnD,IAAIA,IAAI,CAACI,UAAU,EAAEmF,gBAAgB,EAAE;UACtCkF,WAAW,CAACzO,IAAI,CAACgE,IAAI,CAAC;QACvB,CAAC,MAAM;UACN0K,gBAAgB,GAAGvH,SAAS,CAACb,IAAI,CAAEiB,QAAQ,IAAKA,QAAQ,CAACoB,SAAS,IAAIpB,QAAQ,CAACpD,EAAE,KAAKH,IAAI,CAACI,UAAU,EAAEiF,SAAS,CAAC;UAEjH,IAAI,CAACqF,gBAAgB,EAAE;YACtBvH,SAAS,CAACnH,IAAI,CAAC;cACdmE,EAAE,EAAEH,IAAI,CAACI,UAAU,EAAEiF,SAAS;cAC9BsF,KAAK,EAAE3K,IAAI,CAACI,UAAU,EAAEC,YAAY;cACpCb,KAAK,EAAEQ,IAAI,CAACI,UAAU,EAAEgF,YAAY,IAAI,EAAE;cAC1CwF,KAAK,EAAE,GAAG;cACVpG,OAAO,EAAEpI,gBAAgB,CAAC,CAAC,CAACqI,GAAG;cAC/BG,IAAI,EAAE,wBAAwB;cAC9BD,SAAS,EAAE,IAAI;cACf5C,MAAM,EAAE/B,IAAI,CAAC+B,MAAM;cACnByD,eAAe,EAAExF,IAAI,CAACI,UAAU,EAAEoF,eAAe;cACjDuD,IAAI,EAAE,CAAC/I,IAAI;YACZ,CAAC,CAAC;UACH,CAAC,MAAM;YACN0K,gBAAgB,CAAC3B,IAAI,EAAE/M,IAAI,CAACgE,IAAI,CAAC;YACjC0K,gBAAgB,CAACE,KAAK,GAAGF,gBAAgB,CAAC3B,IAAI,EAAE1N,MAAM,CAACwP,QAAQ,CAAC,CAAC;UAClE;QACD;MACD,CAAC,CAAC;;MAEF;MACA,OAAO,CAAC,GAAG1H,SAAS,EAAE,GAAG,IAAI,CAACmD,oBAAoB,CAACmE,WAAW,EAAE,KAAK,CAAC,CAAC;IACxE;;IAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;IACc9G,WAAWA,CAACkE,kBAA0B,EAAEoC,kBAA0B;MAAA,IAAiB;QAC/F,OAAAjI,OAAA,CAAAC,OAAA,CAAOpJ,SAAS,CAACqJ,eAAe,CAAC,OAAO,CAAC,CAAC/H,IAAI,CAAC,UAAU2Q,aAGxD,EAAE;UACF,MAAMC,UAAkB,GAAGD,aAAa,CAACE,YAAY,CAAC1O,cAAc,CAAC;UACrE,OAAOwO,aAAa,CAACnH,WAAW,CAACoH,UAAU,EAAElD,kBAAkB,EAAEoC,kBAAkB,CAAC;QACrF,CAAe,CAAC;MACjB,CAAC,QAAAvP,CAAA;QAAA,OAAAsH,OAAA,CAAA7G,MAAA,CAAAT,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;IACQuQ,iBAAiBA,CAACC,KAAa,EAAW;MAChD,MAAMC,SAAS,GAAG,IAAIC,eAAe,CAACC,MAAM,CAACC,QAAQ,CAACC,MAAM,CAAC;MAC7D,OAAOJ,SAAS,EAAEK,GAAG,CAACN,KAAK,CAAC,EAAEO,WAAW,CAAC,CAAC,KAAK,MAAM,IAAI,KAAK;IAChE;;IAEA;AACD;AACA;AACA;AACA;AACA;IACeC,sBAAsBA,CAAC5J,aAAsB,GAAG,KAAK;MAAA,IAAqB;QAAA,IAAA6J,MAAA;QAAA,MAAAC,OAAA,GAClF,IAAI;QAAA,SAAAC,OAAAC,QAAA;UAAA,OAAAH,MAAA,GAAAG,QAAA,GAeFF,OAAA,CAAKG,mBAAmB;QAAA;QAAA,MAAAC,MAAA;UAAA,IAf3B,CAACJ,OAAA,CAAKG,mBAAmB,IAAIjK,aAAa;YAAA,OAAA5F,MAAA,aACzC;cAAA,OAAA8F,OAAA,CAAAC,OAAA,CACqBpF,UAAU,CAACoP,OAAO,CAACxP,uBAAuB,CAAC,EAAAtC,IAAA,WAAA+R,mBAAA;gBAAnE,MAAMC,QAAQ,GAAAD,mBAGb;gBACDN,OAAA,CAAKG,mBAAmB,GACvBI,QAAQ,EAAEtS,KAAK,EAAEiM,GAAG,CAAE3G,IAAI,IAAK;kBAC9B,OAAOA,IAAI,CAACiN,MAAM;gBACnB,CAAC,CAAC,IAAI,EAAE;cAAC;YACX,CAAC,YAAQ7O,KAAK,EAAE;cACfhF,GAAG,CAACgF,KAAK,CAAC,kCAAkC,GAAIA,KAAK,CAAWE,OAAO,CAAC;cAAC,MAAA4O,gBAAA,GAClErK,OAAO,CAACC,OAAO,CAAC,EAAE,CAAC;cAAA0J,MAAA;cAAA,OAAAU,gBAAA;YAC3B,CAAC;UAAA;QAAA;QAAA,OAAArK,OAAA,CAAAC,OAAA,CAAA+J,MAAA,IAAAA,MAAA,CAAA7R,IAAA,GAAA6R,MAAA,CAAA7R,IAAA,CAAA0R,MAAA,IAAAA,MAAA,CAAAG,MAAA;MAGH,CAAC,QAAAtR,CAAA;QAAA,OAAAsH,OAAA,CAAA7G,MAAA,CAAAT,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;IACc4R,eAAeA,CAAA;MAAA,IAAG;QAAA,IAAAC,MAAA;QAAA,MAAAC,OAAA,GACzB,IAAI;QAAA,SAAAC,QAAAC,QAAA;UAAA,OAAAH,MAAA,GAAAG,QAAA,GAWF1K,OAAO,CAACC,OAAO,CAACuK,OAAA,CAAKG,cAAc,CAAC;QAAA;QAAA,MAAAC,OAAA;UAAA,IAXvC,CAACJ,OAAA,CAAKG,cAAc;YAAA,OAAAzQ,MAAA,aACnB;cAAA,OAAA8F,OAAA,CAAAC,OAAA,CAC6BpJ,SAAS,CAACqJ,eAAe,CAAoB,mBAAmB,CAAC,EAAA/H,IAAA,WAA3F0S,iBAAiB;gBACvBL,OAAA,CAAKG,cAAc,GAAGE,iBAAiB,CAACC,OAAO,CAAC;kBAAEC,gCAAgC,EAAE;gBAAM,CAAC,CAAC;gBAAC,MAAAC,qBAAA,GACtFR,OAAA,CAAKG,cAAc;gBAAAJ,MAAA;gBAAA,OAAAS,qBAAA;cAAA;YAC3B,CAAC,YAAQzP,KAAK,EAAE;cACfiP,OAAA,CAAKG,cAAc,GAAGhP,SAAS;cAC/BpF,GAAG,CAACgF,KAAK,CAACA,KAAK,YAAYC,KAAK,GAAG,oCAAoC,GAAGD,KAAK,CAACE,OAAO,GAAGC,MAAM,CAACH,KAAK,CAAC,CAAC;cAAC,MAAA0P,OAAA,GAClG,EAAE;cAAAV,MAAA;cAAA,OAAAU,OAAA;YACV,CAAC;UAAA;QAAA;QAAA,OAAAjL,OAAA,CAAAC,OAAA,CAAA2K,OAAA,IAAAA,OAAA,CAAAzS,IAAA,GAAAyS,OAAA,CAAAzS,IAAA,CAAAsS,OAAA,IAAAA,OAAA,CAAAG,OAAA;MAGH,CAAC,QAAAlS,CAAA;QAAA,OAAAsH,OAAA,CAAA7G,MAAA,CAAAT,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;IACSwS,yBAAyBA,CAACC,IAAgB,EAAE;MACnD,OAAOA,IAAI,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,aAAa,EAAEC,uBAAuB;IACzE;;IAEA;AACD;AACA;AACA;AACA;AACA;;IAESC,oBAAoBA,CAACC,QAAsB,EAAW;MAC7D,MAAMC,WAAW,GAAGD,QAAQ,CAAC,SAAS,CAAC,EAAEC,WAAW;;MAEpD;MACA,MAAMC,qBAAqB,GAAGF,QAAQ,CAAC,oBAAoB,CAAC,IAAIC,WAAW,EAAEE,WAAW;MAExF,IAAI,CAACD,qBAAqB,EAAE;QAC3B,OAAO,KAAK;MACb;MAEA,MAAME,KAAK,GAAGJ,QAAQ,CAAC,oBAAoB,CAAC,EAAEI,KAAK;MACnD;MACA;MACA,IAAIC,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,EAAE;QACzB,OAAO,IAAI,CAACnM,uBAAuB,CAACsM,aAAa,CAACH,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAACX,yBAAyB,CAACW,KAAK,CAAC,CAAC,CAAC,CAAC;MACzG;MAEA,MAAMI,UAAU,GAAGC,MAAM,CAACnS,MAAM,CAAC8R,KAAmB,CAAC;MACrD,IAAII,UAAU,CAAC5S,MAAM,GAAG,CAAC,EAAE;QAC1B,OAAO4S,UAAU,CAAClN,IAAI,CAAEoM,IAAI,IAAK;UAChC,OACC,OAAOA,IAAI,KAAK,QAAQ,IAAI,IAAI,CAACzL,uBAAuB,CAACsM,aAAa,CAACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAACD,yBAAyB,CAACC,IAAI,CAAC;QAEvH,CAAC,CAAC;MACH;MACA,OAAO,KAAK;IACb;;IAEA;AACD;AACA;AACA;AACA;AACA;AACA;IACSgB,cAAcA,CAACC,SAAuB,EAAyB;MACtE,OAAO,IAAIpM,OAAO,CAAC,UAAUC,OAAO,EAAE;QACrC,MAAMoM,UAAU,GAAGD,SAAS,GAAG,SAAS,CAAC,EAAEV,WAAW;QACtD,MAAME,WAAW,GAAGS,UAAU,EAAET,WAAW;QAC3C,IAAIU,cAAwB,GAAG,CAACV,WAAW,EAAEP,QAAQ,EAAEkB,WAAW,IAAI,EAAE,EACtEzI,GAAG,CAAE0I,IAAY,IAAKH,UAAU,GAAGG,IAAI,CAAC,EAAEC,GAAG,IAAI,EAAE,CAAC,CACpD1O,MAAM,CAAC2O,OAAO,CAAC;QAEjB,MAAMC,UAAU,GAAG,IAAIhW,YAAY,CAACiV,WAAW,EAAEa,GAAG,EAAY;UAC/DG,aAAa,EAAEN,cAAc;UAC7BO,qBAAqB,EAAE;QACxB,CAAC,CAAC;QACFF,UAAU,CAACG,oBAAoB,CAAC,MAAM;UACrC7M,OAAO,CAAC0M,UAAU,CAAC;QACpB,CAAC,CAAC;QACFA,UAAU,CAACI,oBAAoB,CAAC,MAAM;UACrC9M,OAAO,CAAC0M,UAAU,CAAC;QACpB,CAAC,CAAC;MACH,CAAC,CAAC;IACH;;IAEA;AACD;AACA;AACA;AACA;AACA;AACA;IACSK,aAAaA,CAACvB,QAAsB,EAAsB;MACjE,MAAMI,KAAK,GAAGJ,QAAQ,CAAC,oBAAoB,CAAC,EAAEI,KAAK;MACnD,IAAIC,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,EAAE;QACzB,OAAOA,KAAK,CAAC,CAAC,CAAC,CAACoB,SAAS;MAC1B,CAAC,MAAM,IAAIpB,KAAK,EAAE;QACjB,KAAK,MAAMpJ,GAAG,IAAIoJ,KAAK,EAAE;UACxB,MAAM1O,IAAI,GAAG0O,KAAK,CAACpJ,GAAG,CAAc;UACpC,IAAI,IAAI,CAAC/C,uBAAuB,CAACsM,aAAa,CAAC7O,IAAI,CAAC,EAAE;YACrD,OAAOA,IAAI,CAAC8P,SAAS;UACtB;QACD;MACD;MACA,OAAOtR,SAAS;IACjB;;IAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;IACeuR,QAAQA,CAACzB,QAAsB,EAAE0B,WAAmB;MAAA,IAAE;QAAA,MAAAC,OAAA,GAInE,IAAI;QAAA,SAAAC,QAAA;UAUJ,OAAOD,OAAA,CAAKE,cAAc,CAACC,WAAW,CAAC;QAAC;QAbxC;QACA,MAAMC,aAAa,GAAG/B,QAAQ,GAAG,SAAS,CAAC,GAAG,MAAM,CAAC,GAAG,WAAW,CAAW;QAC9E,MAAM8B,WAAW,GAAG,IAAIE,GAAG,CAACD,aAAa,EAAEL,WAAW,CAAC,CAACO,IAAI;QAC5DN,OAAA,CAAKE,cAAc,GAAGF,OAAA,CAAKE,cAAc,IAAI,CAAC,CAAC;QAAC,MAAAK,OAAA;UAAA,IAC5C,CAACP,OAAA,CAAKE,cAAc,CAACC,WAAW,CAAC;YAAA,OAAAvN,OAAA,CAAAC,OAAA,CACNzJ,cAAc,CAACoX,MAAM,CAAC;cACnD;cACAC,SAAS,EAAEN,WAAW;cACtBO,KAAK,EAAE,IAAI;cACXC,aAAa,EAAEtC,QAAQ,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,GAAG,eAAe;YAC/D,CAAC,CAAC,EAAAtT,IAAA,WALI6V,eAAe;cAMrBZ,OAAA,CAAKE,cAAc,CAACC,WAAW,CAAC,GAAGS,eAAe;YAAC;UAAA;QAAA;QAAA,OAAAhO,OAAA,CAAAC,OAAA,CAAA0N,OAAA,IAAAA,OAAA,CAAAxV,IAAA,GAAAwV,OAAA,CAAAxV,IAAA,CAAAkV,OAAA,IAAAA,OAAA,CAAAM,OAAA;MAGrD,CAAC,QAAAjV,CAAA;QAAA,OAAAsH,OAAA,CAAA7G,MAAA,CAAAT,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;IACSuV,2BAA2BA,CAACC,MAAc,EAAEC,GAAmB,EAAE;MACxE,IAAIC,KAAK,GAAG,EAAE;MACd,IAAIF,MAAM,IAAIA,MAAM,CAACjR,UAAU,CAAC,IAAI,CAAC,EAAE;QACtCmR,KAAK,GAAGF,MAAM,CAACG,SAAS,CAAC,CAAC,EAAEH,MAAM,CAAC7U,MAAM,GAAG,CAAC,CAAC;MAC/C,CAAC,MAAM,IAAI6U,MAAM,IAAIA,MAAM,CAACjR,UAAU,CAAC,GAAG,CAAC,EAAE;QAC5CmR,KAAK,GAAGF,MAAM,CAACG,SAAS,CAAC,CAAC,EAAEH,MAAM,CAAC7U,MAAM,GAAG,CAAC,CAAC;MAC/C;MACA,OAAO+U,KAAK,GAAGD,GAAG,CAACG,OAAO,CAACF,KAAK,CAAC,GAAGF,MAAM;IAC3C;;IAEA;AACD;AACA;AACA;AACA;AACA;AACA;IACQK,0BAA0BA,CAAA,EAAG;MACnC,OAAOnT,IAAI,CAACC,KAAK,CAACD,IAAI,CAACoT,SAAS,CAAClV,sBAAsB,CAAC,CAAC;IAC1D;;IAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACemV,oBAAoBA,CACjCC,SAAyB,EACzBC,WAA2B,EAC3BC,SAAmC,EACnCC,WAAyB;MAAA,IACY;QAAA,MAAAC,OAAA,GAGV,IAAI;QAAA,OAAA9O,OAAA,CAAAC,OAAA,CAAA/F,MAAA,aAF3B;UAAA,SAAA6U,QAAA;YAyDH,OAAOD,OAAA,CAAKpP,uBAAuB,CAACsP,mBAAmB,CAACC,SAAS,EAAEJ,WAAW,EAAEpD,QAAQ,EAAEyD,qBAAqB,CAAC;UAAC;UAxDjH,MAAMzD,QAAQ,GAAGkD,WAAW,CAAClD,QAAQ;UACrC,MAAM0D,iBAAiB,GAAGL,OAAA,CAAK9B,aAAa,CAACvB,QAAQ,CAAC;UACtD,IAAI,CAAC0D,iBAAiB,EAAE;YACvB,OAAOxT,SAAS;UACjB;UAEA,MAAMyT,aAAa,GAAGV,SAAS,CAACW,iBAAiB,CAACF,iBAAiB,CAAe;UAClF,MAAMG,eAAe,GAAGR,OAAA,CAAKpP,uBAAuB,CAAC6P,kBAAkB,CAACb,SAAS,EAAEjD,QAAQ,EAAE0D,iBAAiB,CAAC;UAE/G,IAAI,CAACG,eAAe,EAAEE,QAAQ,EAAE;YAC/B,OAAO7T,SAAS;UACjB;UAEA,MAAM8T,aAAa,GAAGH,eAAe,CAACrC,SAAS,IAAIkC,iBAAiB;UACpE,MAAMlC,SAAS,GACdwC,aAAa,KAAKN,iBAAiB,GAAGC,aAAa,GAAGV,SAAS,CAACW,iBAAiB,CAACI,aAAa,CACjF;UACf,MAAMC,UAAU,GAAGhB,SAAS,CAACiB,kBAAkB,CAAC1C,SAAS,CAACyC,UAAU,CAAgB;UACpF,MAAMR,qBAAqB,GAAGI,eAAe,EAAEM,UAAU,GAAG,2BAA2B,CAAC;;UAExF;UACA,IAAId,OAAA,CAAKpP,uBAAuB,CAACmQ,sBAAsB,CAAC5C,SAAS,EAAEyC,UAAU,EAAEI,QAAQ,CAAC,EAAE;YACzF,OAAOnU,SAAS;UACjB;;UAEA;UACA,MAAMoU,gBAAgB,GAAGjB,OAAA,CAAKpP,uBAAuB,CAACsQ,iCAAiC,CAACtB,SAAS,EAAEe,aAAa,EAAE,IAAI,CAAC;UACvH,IAAIM,gBAAgB,EAAEN,aAAa,IAAIM,gBAAgB,EAAEvR,UAAU,EAAEnF,MAAM,EAAE;YAC5E,MAAM4W,cAAc,GAAGvB,SAAS,CAACW,iBAAiB,CAACU,gBAAgB,CAACN,aAAa,CAAe;YAChG,IAAIX,OAAA,CAAKpP,uBAAuB,CAACmQ,sBAAsB,CAACI,cAAc,EAAEF,gBAAgB,CAACvR,UAAwB,CAAC,EAAE;cACnH,OAAO7C,SAAS;YACjB;UACD;UAEA,MAAMsT,SAAS,GAAGH,OAAA,CAAKpP,uBAAuB,CAACwQ,oBAAoB,CAACzE,QAAQ,EAAE6D,eAAe,EAAEV,SAAS,EAAGF,SAAS,CAAC;;UAErH;UACA,IAAIO,SAAS,CAACkB,OAAO,CAAC9W,MAAM,GAAGY,aAAa,EAAE;YAC7C,OAAO0B,SAAS;UACjB;;UAEA;UACA,MAAMyU,UAAU,GAAGd,eAAe,EAAEc,UAAyB;UAC7D,MAAMC,SAAS,GAAGD,UAAU,CAACE,cAAc,EAAE5U,MAAM,IAAI,EAAE;UACzDuT,SAAS,CAACoB,SAAS,GAAGA,SAAS,IAAIpB,SAAS,CAACoB,SAAS;;UAEtD;UAAA,MAAAE,OAAA;YAAA,IACI,CAACF,SAAS,IAAI5E,QAAQ,CAAC,SAAS,CAAC,EAAE+E,IAAI;cAC1C,MAAMhD,aAAa,GAAG/B,QAAQ,CAAC,SAAS,CAAC,CAAC+E,IAAI,CAAC3C,SAAS;cACxD,MAAM4C,QAAQ,GAAGhF,QAAQ,CAAC,SAAS,CAAC,CAACjO,KAAK;cAAC,MAAAkT,OAAA;gBAAA,IACvClD,aAAa,KAAKiD,QAAQ,CAACxT,UAAU,CAAC,OAAO,CAAC,IAAIwT,QAAQ,CAACxT,UAAU,CAAC,GAAG,CAAC,CAAC;kBAAA,OAAA+C,OAAA,CAAAC,OAAA,CAC7C6O,OAAA,CAAK5B,QAAQ,CAACzB,QAAQ,EAAEkD,WAAW,CAACrM,GAAG,CAAC,EAAAnK,IAAA,WAAnEwY,kBAAkB;oBACxB1B,SAAS,CAACoB,SAAS,GAAGvB,OAAA,CAAKb,2BAA2B,CAACgB,SAAS,CAACoB,SAAS,EAAGM,kBAAkB,CAAC;kBAAC;gBAAA;cAAA;cAAA,IAAAD,OAAA,IAAAA,OAAA,CAAAvY,IAAA,SAAAuY,OAAA,CAAAvY,IAAA;YAAA;UAAA;UAAA,OAAAoY,OAAA,IAAAA,OAAA,CAAApY,IAAA,GAAAoY,OAAA,CAAApY,IAAA,CAAA4W,OAAA,IAAAA,OAAA,CAAAwB,OAAA;QAKpG,CAAC,YAAQjV,MAAe,EAAE;UACzB/E,GAAG,CAACgF,KAAK,CAAC,iCAAiC,EAAED,MAAM,YAAYE,KAAK,GAAGF,MAAM,CAACG,OAAO,GAAGC,MAAM,CAACJ,MAAM,CAAC,CAAC;UACvG,OAAOK,SAAS;QACjB,CAAC;MACF,CAAC,QAAAjD,CAAA;QAAA,OAAAsH,OAAA,CAAA7G,MAAA,CAAAT,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;AACA;IACekY,eAAeA,CAACC,cAAgC;MAAA,IAA2C;QAAA,MAAAC,OAAA,GAGxF,IAAI;QAFpB,MAAMC,aAAa,GAAGF,cAAc,CAAC/M,GAAG,WAAQ6K,WAAW;UAAA,IAAK;YAAA,OAAA3O,OAAA,CAAAC,OAAA,CAAA/F,MAAA,aAC3D;cAAA,OAAA8F,OAAA,CAAAC,OAAA,CACW6Q,OAAA,CAAK3E,cAAc,CAACwC,WAAW,CAAClD,QAAQ,CAAC,EAAAtT,IAAA,WAAA6Y,qBAAA;gBAAvD,OAAOA,qBAAA,EAAmDC,YAAY,CAAC,CAAC;cAAC;YAC1E,CAAC,YAAQ3V,MAAe,EAAE;cACzB/E,GAAG,CAACgF,KAAK,CAAC,gCAAgC,EAAED,MAAM,YAAYE,KAAK,GAAGF,MAAM,CAACG,OAAO,GAAGC,MAAM,CAACJ,MAAM,CAAC,CAAC;cACtG,OAAOK,SAAS;YACjB,CAAC;UACF,CAAC,QAAAjD,CAAA;YAAA,OAAAsH,OAAA,CAAA7G,MAAA,CAAAT,CAAA;UAAA;QAAA,EAAC;QAAC,OAAAsH,OAAA,CAAAC,OAAA,CAEUD,OAAO,CAAC6D,GAAG,CAACkN,aAAa,CAAC;MACxC,CAAC,QAAArY,CAAA;QAAA,OAAAsH,OAAA,CAAA7G,MAAA,CAAAT,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;AACA;IACSwY,6BAA6BA,CACpCL,cAAgC,EAChCM,UAA0C,EACb;MAC7B,OAAON,cAAc,CAACO,MAAM,CAA6B,CAACC,QAAQ,EAAE1C,WAAW,EAAEhG,KAAK,KAAK;QAC1F,MAAM+F,SAAS,GAAGyC,UAAU,CAACxI,KAAK,CAAC;QACnC,IAAI+F,SAAS,EAAE;UACd2C,QAAQ,CAACrX,IAAI,CAAC;YAAEyR,QAAQ,EAAEkD,WAAW;YAAED;UAAU,CAAC,CAAC;QACpD;QACA,OAAO2C,QAAQ;MAChB,CAAC,EAAE,EAAE,CAAC;IACP;;IAEA;AACD;AACA;AACA;AACA;AACA;AACA;IACeC,gBAAgBA,CAC7BC,eAA2C,EAC3CC,KAAqB;MAAA,IACoB;QAAA,MAAAC,OAAA,GAIhC,IAAI;QAHb,OAAOzR,OAAO,CAAC6D,GAAG,CACjB0N,eAAe,CAACzN,GAAG,CAAE4N,IAAI,IAAK;UAC7B,MAAM9C,SAAS,GAAG4C,KAAK,CAAClR,IAAI,CAAEnD,IAAI,IAAKA,IAAI,CAACwU,gBAAgB,EAAEC,gBAAgB,KAAKF,IAAI,CAACjG,QAAQ,CAACA,QAAQ,GAAG,SAAS,CAAC,EAAEtN,EAAE,CAAC;UAC3H,OAAOsT,OAAA,CAAKhD,oBAAoB,CAACiD,IAAI,CAAChD,SAAS,EAAEgD,IAAI,CAACjG,QAAQ,EAAEmD,SAAS,EAAE6C,OAAA,CAAK5C,WAAW,CAAC;QAC7F,CAAC,CACF,CAAC;MACF,CAAC,QAAAnW,CAAA;QAAA,OAAAsH,OAAA,CAAA7G,MAAA,CAAAT,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACSmZ,cAAcA,CAACC,KAAgB,EAAEC,gBAAiC,EAAEC,UAAqB,EAAY;MAC5G,IAAI,CAACF,KAAK,IAAIC,gBAAgB,IAAIA,gBAAgB,CAAC1Y,MAAM,EAAE;QAC1D,OAAO0Y,gBAAgB,CAACX,MAAM,CAAC,CAACa,IAAI,EAAEC,UAAU,KAAK;UACpD,MAAMC,KAAqB,GAAGH,UAAU,GAAGE,UAAU,CAAC/T,EAAE,CAAC,IAAI,EAAE;UAC/D,MAAMiU,YAAY,GAAGD,KAAK,CAAC7R,IAAI,CAC7B+R,KAAK,IAAKA,KAAK,CAAC7V,cAAc,KAAK0V,UAAU,CAAC1Y,MAAM,EAAEgD,cAAc,IAAI6V,KAAK,CAAC5V,MAAM,KAAKyV,UAAU,CAAC1Y,MAAM,EAAEiD,MAC9G,CAAC;UAED,OAAO2V,YAAY,GAAG,CAAC,GAAGH,IAAI,EAAEG,YAAY,CAACzT,OAAO,CAAE,GAAGsT,IAAI;QAC9D,CAAC,EAAE,EAAc,CAAC;MACnB;MACA,OAAOH,KAAK,IAAI,EAAE;IACnB;;IAEA;AACD;AACA;AACA;AACA;AACA;AACA;IACcQ,gBAAgBA,CAACR,KAAgB,EAAEC,gBAAiC;MAAA,IAA4B;QAAA,MAAAQ,OAAA,GAEzD,IAAI;QAAA,OAAAvS,OAAA,CAAAC,OAAA,CAAA/F,MAAA,aADnD;UAAA,OAAA8F,OAAA,CAAAC,OAAA,CACkCD,OAAO,CAAC6D,GAAG,CAAC,CAAC0O,OAAA,CAAKjI,eAAe,CAAC,CAAC,EAAEiI,OAAA,CAAKC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAAra,IAAA,WAA5F,CAACsa,QAAQ,EAAEC,UAAU,CAAC;YAAA,OAAA1S,OAAA,CAAAC,OAAA,CACFxJ,WAAW,CAACkc,IAAI,CAAC,CAAC,EAAAxa,IAAA,WAAAya,iBAAA;cAA5CL,OAAA,CAAK1D,WAAW,GAAA+D,iBAA6C;cAE7D,MAAMpB,KAAqB,GAAGtF,MAAM,CAACnS,MAAM,CAAC2Y,UAAU,CAAC,CAACG,IAAI,CAAC,CAAC;cAC9D,MAAMb,UAAU,GAAGO,OAAA,CAAKhT,aAAa;cACrC;cACA;cACA,MAAMuT,aAAa,GAAGP,OAAA,CAAKV,cAAc,CAACC,KAAK,EAAEC,gBAAgB,EAAEC,UAAU,CAAC;cAAC,OAAAhS,OAAA,CAAAC,OAAA,CAEvDsS,OAAA,CAAKQ,cAAc,CAACD,aAAa,EAAEJ,UAAU,EAAED,QAAQ,CAAC,EAAAta,IAAA,WAA1E6a,SAAS;gBACf,MAAMnC,cAAc,GAAGmC,SAAS,CAACjV,MAAM,CAAE4Q,WAAW,IAAK4D,OAAA,CAAK/G,oBAAoB,CAACmD,WAAW,CAAClD,QAAQ,CAAC,CAAC;gBAAC,OAAAzL,OAAA,CAAAC,OAAA,CAEjFsS,OAAA,CAAK3B,eAAe,CAACC,cAAc,CAAC,EAAA1Y,IAAA,WAAvDgZ,UAAU;kBAChB,MAAMI,eAAe,GAAGgB,OAAA,CAAKrB,6BAA6B,CAACL,cAAc,EAAEM,UAAU,CAAC;kBAAC,OAAAnR,OAAA,CAAAC,OAAA,CAEnEsS,OAAA,CAAKjB,gBAAgB,CAACC,eAAe,EAAEC,KAAK,CAAC,EAAArZ,IAAA,WAA3D8a,KAAK;oBACX,OAAOA,KAAK,CAAClV,MAAM,CAAEmV,IAAI,IAAKA,IAAI,KAAKvX,SAAS,CAAC;kBAAC;gBAAA;cAAA;YAAA;UAAA;QACnD,CAAC,YAAQL,MAAe,EAAE;UACzB/E,GAAG,CAACgF,KAAK,CAAC,oCAAoC,EAAED,MAAM,YAAYE,KAAK,GAAGF,MAAM,CAACG,OAAO,GAAGC,MAAM,CAACJ,MAAM,CAAC,CAAC;UAC1G,OAAO,EAAE;QACV,CAAC;MACF,CAAC,QAAA5C,CAAA;QAAA,OAAAsH,OAAA,CAAA7G,MAAA,CAAAT,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;IACeqa,cAAcA,CAACI,SAAmB,EAAEC,SAAmB,EAAEC,WAAsB;MAAA,IAA6B;QAAA,OAAArT,OAAA,CAAAC,OAAA,CAAA/F,MAAA,aACrH;UACH,MAAMoZ,WAAW,GAAGH,SAAS,CAACrP,GAAG,WAAQ7F,KAAK;YAAA,IAAK;cAAA,IAAAsV,MAAA;cAClD,MAAMC,IAAoB,GAAGJ,SAAS,CAACnV,KAAK,CAAC,IAAI,EAAE;cAAC,MAAAwV,OAAA,GAAAla,MAAA,CACjCia,IAAI,YAAZrW,IAAI,EAAU;gBACxB,MAAMa,IAAI,GAAGqV,WAAW,CAAC/S,IAAI,CAC3BoT,OAAO,IAAKvW,IAAI,CAACX,cAAc,KAAKkX,OAAO,CAACla,MAAM,EAAEgD,cAAc,IAAIW,IAAI,CAACV,MAAM,KAAKiX,OAAO,CAACla,MAAM,EAAEiD,MACxG,CAAC;gBACD,MAAM0Q,WAAW,GAAGhQ,IAAI,EAAEwU,gBAAgB,EAAEgC,uBAAuB,EAAElI,QAAQ;gBAAC;kBAAA,IAC1EzN,IAAI,IAAImP,WAAW;oBAAA,OAAAjT,MAAA,aAClB;sBAAA,OAAA8F,OAAA,CAAAC,OAAA,CACoB2T,KAAK,CAACzG,WAAW,CAAC,EAAAhV,IAAA,WAAnCgS,QAAQ;wBAAA,OAAAnK,OAAA,CAAAC,OAAA,CACUkK,QAAQ,CAAC0J,IAAI,CAAC,CAAC,EAAA1b,IAAA,WAAA2b,cAAA;0BAAvC,MAAMrI,QAAQ,GAAAqI,cAA0C;0BAAC,MAAAC,aAAA,GAClD;4BAAEzR,GAAG,EAAE6H,QAAQ,CAAC7H,GAAG;4BAAEmJ;0BAAS,CAAC;0BAAA8H,MAAA;0BAAA,OAAAQ,aAAA;wBAAA;sBAAA;oBACvC,CAAC,YAAQxY,KAAc,EAAE;sBACxBhF,GAAG,CAACgF,KAAK,CAAC,+BAA+B,EAAEA,KAAK,YAAYC,KAAK,GAAGD,KAAK,CAACE,OAAO,GAAGC,MAAM,CAACH,KAAK,CAAC,CAAC;sBAACgY,MAAA;sBAAA,OAC5F5X,SAAS;oBACjB,CAAC;kBAAA;gBAAA;cAEH,CAAC;gBAAA,OAAA4X,MAAA;cAAA;cAAA,OAAAvT,OAAA,CAAAC,OAAA,CAAAwT,OAAA,IAAAA,OAAA,CAAAtb,IAAA,GAAAsb,OAAA,CAAAtb,IAAA,WAAA6b,QAAA;gBAAA,OAAAT,MAAA,GAAAS,QAAA,GAEMrY,SAAS;cAAA,KAAA4X,MAAA,GAAAE,OAAA,GAAT9X,SAAS,GADhB;YAED,CAAC,QAAAjD,CAAA;cAAA,OAAAsH,OAAA,CAAA7G,MAAA,CAAAT,CAAA;YAAA;UAAA,EAAC;UAAC,OAAAsH,OAAA,CAAAC,OAAA,CACmBD,OAAO,CAAC6D,GAAG,CAACyP,WAAW,CAAC,EAAAnb,IAAA,WAAxC8b,OAAO;YACb,OAAOA,OAAO,CAAClW,MAAM,CAAE0N,QAAQ,IAAiCA,QAAQ,KAAK9P,SAAS,CAAC;UAAC;QACzF,CAAC,YAAQL,MAAM,EAAE;UAChB/E,GAAG,CAACgF,KAAK,CAAC,kCAAkC,EAAED,MAAM,YAAYE,KAAK,GAAGF,MAAM,CAACG,OAAO,GAAGC,MAAM,CAACJ,MAAM,CAAC,CAAC;UACxG,OAAO,EAAE;QACV,CAAC;MACF,CAAC,QAAA5C,CAAA;QAAA,OAAAsH,OAAA,CAAA7G,MAAA,CAAAT,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;AACA;IACSwb,qBAAqBA,CAACC,MAAe,EAAW;MACvD,MAAMC,SAAkC,GAAG,CAAC,CAAC;MAC7C,MAAMC,OAAgB,GAAG,EAAE;MAC3BF,MAAM,CAACtW,OAAO,CAAEyW,KAAK,IAAK;QACzB,MAAMC,UAAU,GAAGD,KAAK,EAAEE,iBAAiB,GAAG,UAAU,CAAC,EAAEC,MAAM,EAAEjX,KAAK,IAAI,EAAE;QAC9E,IAAI,CAAC4W,SAAS,CAACG,UAAU,CAAC,EAAE;UAC3BF,OAAO,CAACra,IAAI,CAACsa,KAAK,CAAC;UACnBF,SAAS,CAACG,UAAU,CAAC,GAAG,IAAI;QAC7B;MACD,CAAC,CAAC;MACF,OAAOF,OAAO;IACf;;IAEA;AACD;AACA;AACA;AACA;AACA;IACcK,kBAAkBA,CAAA;MAAA,IAA0B;QAAA,MAAAC,OAAA,GAEjC,IAAI;QAAA,OAAA3U,OAAA,CAAAC,OAAA,CAAA/F,MAAA,aADvB;UAAA,OAAA8F,OAAA,CAAAC,OAAA,CACmB0U,OAAA,CAAKjL,sBAAsB,CAAC,CAAC,EAAAvR,IAAA,WAA7Cyc,OAAO;YAAA,OAAA5U,OAAA,CAAAC,OAAA,CACY0U,OAAA,CAAKrC,gBAAgB,CAACsC,OAAO,CAAC,EAAAzc,IAAA,WAAjD0c,UAAU;cAChB,MAAMC,aAAa,GAAGD,UAAU,EAAEE,KAAK,CAAC,CAAC,EAAEra,sBAAsB,CAAC;cAClE,MAAMsa,iBAAiB,GAAGF,aAAa,EAAEhR,GAAG,CAAE2H,QAAQ,IAAK;gBAC1D,IAAItN,EAAE;gBACN,IAAIsN,QAAQ,GAAG,UAAU,CAAC,EAAE;kBAC3BA,QAAQ,CAAC,UAAU,CAAC,CAACwJ,GAAG,GAAG,IAAI;kBAC/B9W,EAAE,GAAGsN,QAAQ,CAAC,SAAS,CAAC,EAAEtN,EAAE;gBAC7B;gBACA,OAAO;kBACNA,EAAE;kBACFqW,iBAAiB,EAAE/I;gBACpB,CAAC;cACF,CAAC,CAAC;cACF,OAAOkJ,OAAA,CAAKT,qBAAqB,CAACc,iBAA4B,CAAC;YAAC;UAAA;QACjE,CAAC,YAAQzZ,KAAK,EAAE;UACfhF,GAAG,CAACgF,KAAK,CAAC,yCAAyC,EAAEA,KAAK,YAAYC,KAAK,GAAGD,KAAK,CAACE,OAAO,GAAGC,MAAM,CAACH,KAAK,CAAC,CAAC;UAC5G,OAAO,EAAE;QACV,CAAC;MACF,CAAC,QAAA7C,CAAA;QAAA,OAAAsH,OAAA,CAAA7G,MAAA,CAAAT,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACcwc,4BAA4BA,CAACtO,YAAqB,GAAG,KAAK;MAAA,IAAE;QAAA,MAAAuO,OAAA,GACnE,IAAI;QAAA,SAAAC,QAAA;UA4BT,OAAOD,OAAA,CAAKE,0BAA0B;QAAC;QAAA,MAAAC,OAAA;UAAA,IA5BnC,CAACH,OAAA,CAAKE,0BAA0B,IAAIzO,YAAY;YAAA,OAAA5G,OAAA,CAAAC,OAAA,CACjBkV,OAAA,CAAKzL,sBAAsB,CAAC9C,YAAY,CAAC,EAAAzO,IAAA,WAArE4R,mBAAmB;cAAA,MAAAwL,OAAA;gBAAA,IACrBxL,mBAAmB,CAAC1Q,MAAM;kBAC7B,IAAImc,oBAA4C,GAAG,EAAE;kBACrD,IAAIC,0BAAkD,GAAG,EAAE;kBAAC,OAAAzV,OAAA,CAAAC,OAAA,CACID,OAAO,CAAC6D,GAAG,CAAC,CAC3EsR,OAAA,CAAKO,4BAA4B,CAAC3L,mBAAmB,CAAC,EACtDoL,OAAA,CAAKvT,cAAc,CAACgF,YAAY,CAAC,CACjC,CAAC,EAAAzO,IAAA,WAHE,CAACwd,yBAAyB,EAAE7W,sBAAsB,CAAC;oBAIvD;oBACA6W,yBAAyB,GAAGA,yBAAyB,CAAC5X,MAAM,CAAEW,MAAM,IACnEG,4BAA4B,CAACH,MAAM,EAAEI,sBAAsB,CAC5D,CAAC;oBACD6W,yBAAyB,CAAC9X,OAAO,CAAEa,MAAM,IAAK;sBAC7C,IAAID,4BAA4B,CAACC,MAAM,CAAC,EAAE;wBACzC+W,0BAA0B,CAACzb,IAAI,CAAC0E,MAAM,CAAC;sBACxC,CAAC,MAAM;wBACN8W,oBAAoB,CAACxb,IAAI,CAAC0E,MAAM,CAAC;sBAClC;oBACD,CAAC,CAAC;oBACF;oBACAyW,OAAA,CAAKE,0BAA0B,GAAGG,oBAAoB,CACpDT,KAAK,CAAC,CAAC,EAAE,EAAE,GAAGU,0BAA0B,CAACpc,MAAM,CAAC,CAChDuc,MAAM,CAACH,0BAA0B,CAAC;kBAAC;gBAAA;kBAErCN,OAAA,CAAKE,0BAA0B,GAAG,EAAE;gBAAC;cAAA;cAAA,IAAAE,OAAA,IAAAA,OAAA,CAAApd,IAAA,SAAAod,OAAA,CAAApd,IAAA;YAAA;UAAA;QAAA;QAAA,OAAA6H,OAAA,CAAAC,OAAA,CAAAqV,OAAA,IAAAA,OAAA,CAAAnd,IAAA,GAAAmd,OAAA,CAAAnd,IAAA,CAAAid,OAAA,IAAAA,OAAA,CAAAE,OAAA;MAIxC,CAAC,QAAA5c,CAAA;QAAA,OAAAsH,OAAA,CAAA7G,MAAA,CAAAT,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;IACemd,eAAeA,CAAA;MAAA,IAAG;QAAA,OAAA7V,OAAA,CAAAC,OAAA,CAAA/F,MAAA,aAC3B;UAAA,OAAA8F,OAAA,CAAAC,OAAA,CACmBpJ,SAAS,CAACqJ,eAAe,CAA6B,4BAA4B,CAAC,EAAA/H,IAAA,WAAnG2d,OAAO;YACb,OAAOA,OAAO,EAAEC,SAAS,EAAEC,UAAU,IAAI,EAAE;UAAC;QAC7C,CAAC,YAAQza,KAAK,EAAE;UACfhF,GAAG,CAACgF,KAAK,CAAC,qCAAqC,GAAIA,KAAK,CAAWE,OAAO,CAAC;UAC3E,OAAO,EAAE;QACV,CAAC;MACF,CAAC,QAAA/C,CAAA;QAAA,OAAAsH,OAAA,CAAA7G,MAAA,CAAAT,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACe8Z,eAAeA,CAAA;MAAA,IAAsB;QAAA,MAAAyD,OAAA,GAEhC,IAAI;QAAA,OAAAjW,OAAA,CAAAC,OAAA,CAAA/F,MAAA,aADlB;UAAA,SAAAgc,QAAA;YA4BH,OAAOD,OAAA,CAAKzW,YAAY;UAAC;UAAA,MAAA2W,OAAA;YAAA,IA3BrB,CAACjK,MAAM,CAACkK,IAAI,CAACH,OAAA,CAAK1W,aAAa,CAAC,CAAClG,MAAM;cAC1C4c,OAAA,CAAK1W,aAAa,GAAG,CAAC,CAAC;cACvB0W,OAAA,CAAKzW,YAAY,GAAG,CAAC,CAAC;cAAC,OAAAQ,OAAA,CAAAC,OAAA,CACAgW,OAAA,CAAKJ,eAAe,CAAC,CAAC,EAAA1d,IAAA,WAAvCke,QAAQ;gBACdA,QAAQ,CAACxY,OAAO,CAAEyY,KAAK,IAAK;kBAC3B,MAAM3X,OAAO,GAAG2X,KAAK,EAAEC,SAAS,EAAE/X,UAAU,GAAG,cAAc,CAAC,EAAEgY,YAAY,EAAE3e,KAAK;kBACnF,MAAM4e,WAAW,GAAGH,KAAK,EAAE3E,gBAAgB,EAAEC,gBAAgB;kBAC7D,IAAIjT,OAAO,EAAE;oBACZ,MAAM+X,YAA0B,GAAG;sBAClCja,MAAM,EAAE6Z,KAAK,CAAC7Z,MAAM;sBACpBD,cAAc,EAAE8Z,KAAK,CAAC9Z,cAAc;sBACpCmV,gBAAgB,EAAE2E,KAAK,CAAC3E;oBACzB,CAAC;oBACDsE,OAAA,CAAKzW,YAAY,CAACb,OAAO,CAAC,GAAGsX,OAAA,CAAKzW,YAAY,CAACb,OAAO,CAAC,IAAI,EAAE;oBAC7DsX,OAAA,CAAKzW,YAAY,CAACb,OAAO,CAAC,CAAC3E,IAAI,CAAC0c,YAAY,CAAC;;oBAE7C;oBACA;oBACA,IAAID,WAAW,EAAE;sBAChB,MAAME,YAA0B,GAAG;wBAAE,GAAGD,YAAY;wBAAE/X;sBAAQ,CAAC;sBAE/DsX,OAAA,CAAK1W,aAAa,CAACkX,WAAW,CAAC,GAAGR,OAAA,CAAK1W,aAAa,CAACkX,WAAW,CAAC,IAAI,EAAE;sBACvER,OAAA,CAAK1W,aAAa,CAACkX,WAAW,CAAC,CAACzc,IAAI,CAAC2c,YAAY,CAAC;oBACnD;kBACD;gBACD,CAAC,CAAC;cAAC;YAAA;UAAA;UAAA,OAAAR,OAAA,IAAAA,OAAA,CAAAhe,IAAA,GAAAge,OAAA,CAAAhe,IAAA,CAAA+d,OAAA,IAAAA,OAAA,CAAAC,OAAA;QAGL,CAAC,YAAQ7a,MAAM,EAAE;UAChB/E,GAAG,CAACgF,KAAK,CAACD,MAAM,YAAYE,KAAK,GAAGF,MAAM,CAACG,OAAO,GAAGC,MAAM,CAACJ,MAAM,CAAC,CAAC;UACpE,OAAO,CAAC,CAAC;QACV,CAAC;MACF,CAAC,QAAA5C,CAAA;QAAA,OAAAsH,OAAA,CAAA7G,MAAA,CAAAT,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACegd,4BAA4BA,CAACkB,QAAkB;MAAA,IAAE;QAAA,MAAAC,OAAA,GAGX,IAAI;QAFvD,MAAM7U,cAAsC,GAAG,EAAE;QACjD,MAAM8U,qBAA2C,GAAG,IAAIC,GAAG,CAAkB,CAAC;QAAC,OAAA/W,OAAA,CAAAC,OAAA,CACzCD,OAAO,CAAC6D,GAAG,CAAC,CAACgT,OAAA,CAAKhB,eAAe,CAAC,CAAC,EAAEgB,OAAA,CAAKvM,eAAe,CAAC,CAAC,CAAC,CAAC,EAAAnS,IAAA,WAA7F,CAACke,QAAQ,EAAEW,WAAW,CAAC;UAC7BJ,QAAQ,CAAC/Y,OAAO,CAAEc,OAAO,IAAK;YAC7B;YACA,MAAMsY,cAAc,GAAGZ,QAAQ,CAACtY,MAAM,CAAC,UAAUmZ,OAAO,EAAE;cACzD,OAAOA,OAAO,EAAEX,SAAS,CAAC/X,UAAU,CAAC,cAAc,CAAC,EAAEgY,YAAY,EAAE3e,KAAK,KAAK8G,OAAO;YACtF,CAAC,CAAC;YACFsY,cAAc,CAACpZ,OAAO,CAAEsZ,GAAG,IAAK;cAC/B;cACA,IAAIC,sBAAsB,GAAGJ,WAAW,CAACjZ,MAAM,CAAEsZ,UAAU,IAAK;gBAC/D,OAAOA,UAAU,EAAE7d,MAAM,EAAEgD,cAAc,KAAK2a,GAAG,CAAC3a,cAAc,IAAI6a,UAAU,CAAC7d,MAAM,CAACiD,MAAM,KAAK0a,GAAG,CAAC1a,MAAM;cAC5G,CAAC,CAAC;cAEF,MAAM6a,iBAAiB,GAAGF,sBAAsB,CAACrZ,MAAM,CAAEwZ,qBAAqB,IAC7EhZ,mBAAmB,CAACgZ,qBAAqB,CAC1C,CAAC;cACD,MAAMC,oBAAoB,GAAGJ,sBAAsB,CAACrZ,MAAM,CACxDwZ,qBAAqB,IAAK,CAAChZ,mBAAmB,CAACgZ,qBAAqB,CACtE,CAAC;cACD;cACA,IAAID,iBAAiB,CAACje,MAAM,GAAG,CAAC,IAAIme,oBAAoB,CAACne,MAAM,GAAG,CAAC,EAAE;gBACpE+d,sBAAsB,GAAG,CAAC,GAAGI,oBAAoB,CAAC;cACnD;cAEAJ,sBAAsB,CAACvZ,OAAO,CAAE0Z,qBAAqB,IAAK;gBACzD,IAAIrZ,aAAa,GAAGqZ,qBAAqB,CAACvV,cAAc,CAAC,CAAC,CAAC;gBAC3D,IAAIyV,wBAA8C,GAAG;kBACpDja,KAAK,EAAEU,aAAa,CAACV,KAAK;kBAC1BC,QAAQ,EAAES,aAAa,CAACT,QAAQ;kBAChCmF,IAAI,EAAE1E,aAAa,CAAC0E,IAAI;kBACxBN,GAAG,EAAEpE,aAAa,CAACmE,SAAS;kBAC5B4B,KAAK,EAAE/F,aAAa,CAAC+F,KAAK;kBAC1BtF,OAAO,EAAEA,OAAO;kBAChBT,aAAa,EAAEA;gBAChB,CAAC;gBACD;gBACA,IACC,CAAC4Y,qBAAqB,CAACY,GAAG,CAACD,wBAAwB,CAACnV,GAAI,CAAC,IACzD,CAACwU,qBAAqB,CAACY,GAAG,CAACD,wBAAwB,CAACja,KAAM,CAAC,EAC1D;kBACDsZ,qBAAqB,CAACa,GAAG,CAACF,wBAAwB,CAACnV,GAAG,EAAG,IAAI,CAAC;kBAC9DwU,qBAAqB,CAACa,GAAG,CAACF,wBAAwB,CAACja,KAAK,EAAG,IAAI,CAAC;kBAChEwE,cAAc,CAAChI,IAAI,CAACyd,wBAAwB,CAAC;gBAC9C;cACD,CAAC,CAAC;YACH,CAAC,CAAC;UACH,CAAC,CAAC;UACF,OAAOzV,cAAc;QAAC;MACvB,CAAC,QAAAtJ,CAAA;QAAA,OAAAsH,OAAA,CAAA7G,MAAA,CAAAT,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;AACA;IACckf,kBAAkBA,CAAC/L,KAAc,EAAEgM,YAAsB;MAAA,IAAmC;QAAA,IAAAC,MAAA;QAAA,MAAAC,OAAA,GAGtG,IAAI;QAAA,OAAA/X,OAAA,CAAAC,OAAA,CAAA/F,MAAA,aAFF;UAAA,SAAA8d,QAAAC,QAAA;YAAA,OAAAH,MAAA,GAAAG,QAAA,GAmBI,EAAE;UAAA;UAAA,MAAAC,OAAA;YAAA,IAlBLrM,KAAK;cACRkM,OAAA,CAAKzY,sBAAsB,GAAGyY,OAAA,CAAKzY,sBAAsB,IAAI,EAAE;cAC/D;cACA,MAAM6Y,WAAW,GAAGJ,OAAA,CAAKzY,sBAAsB,CAAC8R,MAAM,CAAC,CAACgH,OAAiB,EAAEla,aAAa,KAAK;gBAC5F,IAAIA,aAAa,CAAC6B,MAAM,IAAI,CAACqY,OAAO,CAACxZ,QAAQ,CAACV,aAAa,CAAC6B,MAAM,CAAC,EAAE;kBACpEqY,OAAO,CAACpe,IAAI,CAACkE,aAAa,CAAC6B,MAAM,CAAC;gBACnC;gBACA,OAAOqY,OAAO;cACf,CAAC,EAAE,EAAE,CAAC;cACN,MAAMC,OAAO,GAAGxM,KAAK,CAAC/H,GAAG,CAAEqH,IAAI,IAAKA,IAAI,CAACpL,MAAM,CAAC;cAChD,MAAMuY,qBAAqB,GAAGH,WAAW,CAAC9e,MAAM,KAAK,CAAC,IAAI,CAAC8e,WAAW,CAACI,KAAK,CAAExY,MAAM,IAAKsY,OAAO,CAACzZ,QAAQ,CAACmB,MAAM,CAAC,CAAC;cAAC,IAC/G,CAAC8X,YAAY,IAAI,CAACS,qBAAqB;gBAAA,MAAAE,qBAAA,GACnCT,OAAA,CAAKzY,sBAAsB;gBAAAwY,MAAA;gBAAA,OAAAU,qBAAA;cAAA;gBAAA,OAAAxY,OAAA,CAAAC,OAAA,CAEE8X,OAAA,CAAKU,0BAA0B,CAAC5M,KAAK,EAAEgM,YAAY,CAAC,EAAA1f,IAAA,WAAAugB,qBAAA;kBAAxFX,OAAA,CAAKzY,sBAAsB,GAAAoZ,qBAA6D;kBAAC,MAAAC,sBAAA,GAClFZ,OAAA,CAAKzY,sBAAsB;kBAAAwY,MAAA;kBAAA,OAAAa,sBAAA;gBAAA;cAAA;YAAA;UAAA;UAAA,OAAAT,OAAA,IAAAA,OAAA,CAAA/f,IAAA,GAAA+f,OAAA,CAAA/f,IAAA,CAAA6f,OAAA,IAAAA,OAAA,CAAAE,OAAA;QAIrC,CAAC,YAAQ3c,KAAK,EAAE;UACfhF,GAAG,CAACgF,KAAK,CAACA,KAAe,CAAC;UAC1B,OAAO,EAAE;QACV,CAAC;MACF,CAAC,QAAA7C,CAAA;QAAA,OAAAsH,OAAA,CAAA7G,MAAA,CAAAT,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;AACA;IACe+f,0BAA0BA,CACvC5M,KAAc,EACdjF,YAAY,GAAG,KAAK,EACpBgS,uBAAuB,GAAG,KAAK;MAAA,IACG;QAAA,MAAAC,OAAA,GAOZ,IAAI;QAN1B,MAAMC,UAAU,GAAI/Y,MAA0B,IAAK;UAClD,OAAO8L,KAAK,CAACvL,IAAI,CAAE6K,IAAI,IAAKA,IAAI,CAACpL,MAAM,KAAKA,MAAM,CAAC,EAAEyC,OAAO,IAAIpI,gBAAgB,CAAC,CAAC,CAACqI,GAAG;QACvF,CAAC;QAAC,OAAAzC,OAAA,CAAAC,OAAA,CAAA/F,MAAA,aAEE;UACH,MAAM6e,qBAA6C,GAAG,EAAE;UAAC,OAAA/Y,OAAA,CAAAC,OAAA,CACpC4Y,OAAA,CAAKG,SAAS,CAACnN,KAAK,EAAEjF,YAAY,CAAC,EAAAzO,IAAA,WAAlD8gB,MAAM;YAEZ,KAAK,MAAM9N,IAAI,IAAI8N,MAAM,EAAE;cAC1B,MAAM7X,QAAQ,GAAG+J,IAAI,EAAE/J,QAAQ,IAAI,EAAE;cACrC,KAAK,MAAM8X,OAAO,IAAI9X,QAAQ,EAAE;gBAC/B,MAAMY,cAAc,GAAGkX,OAAO,CAAClX,cAAc,IAAI,EAAE;gBACnD,KAAK,MAAM9D,aAAa,IAAI8D,cAAc,EAAE;kBAC3C,MAAMmV,GAAG,GAAG;oBACXlZ,KAAK,EAAEC,aAAa,CAACmE,SAAS;oBAC9B4B,KAAK,EAAE/F,aAAa,CAAC+F,KAAK;oBAC1BrB,IAAI,EAAE1E,aAAa,CAAC0E,IAAI;oBACxBJ,OAAO,EAAEsW,UAAU,CAAC3N,IAAI,CAAChN,EAAE,CAAW;oBACtC4B,MAAM,EAAEoL,IAAI,CAAChN;kBACd,CAAC;kBACD,IAAI,CAACya,uBAAuB,IAAI,CAACG,qBAAqB,CAACha,IAAI,CAAEoa,OAAO,IAAKA,OAAO,CAAClb,KAAK,KAAKkZ,GAAG,CAAClZ,KAAK,CAAC,EAAE;oBACtG8a,qBAAqB,CAAC/e,IAAI,CAACmd,GAAG,CAAC;kBAChC;gBACD;cACD;YACD;YACA,OAAO4B,qBAAqB;UAAC;QAC9B,CAAC,YAAQxd,KAAK,EAAE;UACfhF,GAAG,CAACgF,KAAK,CAACA,KAAe,CAAC;UAC1B,OAAO,EAAE;QACV,CAAC;MACF,CAAC,QAAA7C,CAAA;QAAA,OAAAsH,OAAA,CAAA7G,MAAA,CAAAT,CAAA;MAAA;IAAA;IACD;AACD;AACA;AACA;AACA;AACA;AACA;IACesgB,SAASA,CAACnN,KAAc,EAAEjF,YAAqB,GAAG,KAAK;MAAA,IAAoB;QAAA,MAAAwS,OAAA,GAC3C,IAAI;QAAA,OAAApZ,OAAA,CAAAC,OAAA,CAApCD,OAAO,CAAC6D,GAAG,CAACgI,KAAK,CAAC/H,GAAG,CAAEqH,IAAI,IAAKiO,OAAA,CAAKvZ,sBAAsB,CAAC+G,YAAY,EAAEuE,IAAI,CAACpL,MAAM,CAAC,CAAC,CAAC;MACtG,CAAC,QAAArH,CAAA;QAAA,OAAAsH,OAAA,CAAA7G,MAAA,CAAAT,CAAA;MAAA;IAAA;EACF;EAAC,OAAAuG,UAAA;AAAA","ignoreList":[]}