@sapui5/sap.fe.core 1.100.0 → 1.102.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (295) hide show
  1. package/package.json +4 -4
  2. package/src/sap/fe/core/.library +2 -3
  3. package/src/sap/fe/core/AppComponent.js +23 -30
  4. package/src/sap/fe/core/AppComponent.ts +35 -40
  5. package/src/sap/fe/core/AppStateHandler.js +8 -8
  6. package/src/sap/fe/core/AppStateHandler.ts +11 -11
  7. package/src/sap/fe/core/BaseController.js +9 -9
  8. package/src/sap/fe/core/BaseController.ts +3 -4
  9. package/src/sap/fe/core/CommonUtils.js +122 -101
  10. package/src/sap/fe/core/CommonUtils.ts +239 -193
  11. package/src/sap/fe/core/ExtensionAPI.js +12 -13
  12. package/src/sap/fe/core/ExtensionAPI.ts +21 -31
  13. package/src/sap/fe/core/PageController.js +19 -13
  14. package/src/sap/fe/core/PageController.ts +40 -34
  15. package/src/sap/fe/core/TemplateComponent.js +198 -123
  16. package/src/sap/fe/core/TemplateComponent.ts +109 -121
  17. package/src/sap/fe/core/TemplateModel.js +7 -9
  18. package/src/sap/fe/core/TemplateModel.ts +3 -3
  19. package/src/sap/fe/core/buildingBlocks/AttributeModel.js +60 -0
  20. package/src/sap/fe/core/buildingBlocks/AttributeModel.ts +37 -0
  21. package/src/sap/fe/core/buildingBlocks/BuildingBlock.js +165 -0
  22. package/src/sap/fe/core/buildingBlocks/BuildingBlock.ts +178 -0
  23. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +935 -0
  24. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.ts +837 -0
  25. package/src/sap/fe/core/buildingBlocks/TraceInfo.js +436 -0
  26. package/src/sap/fe/core/buildingBlocks/TraceInfo.ts +431 -0
  27. package/src/sap/fe/core/{BusyLocker.js → controllerextensions/BusyLocker.js} +1 -1
  28. package/src/sap/fe/core/{BusyLocker.ts → controllerextensions/BusyLocker.ts} +7 -7
  29. package/src/sap/fe/core/controllerextensions/EditFlow.js +660 -288
  30. package/src/sap/fe/core/controllerextensions/EditFlow.ts +513 -331
  31. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +11 -11
  32. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +6 -7
  33. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +43 -25
  34. package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +132 -103
  35. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +16 -16
  36. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +64 -55
  37. package/src/sap/fe/core/controllerextensions/InternalRouting.js +166 -99
  38. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +187 -149
  39. package/src/sap/fe/core/controllerextensions/KPIManagement.js +14 -14
  40. package/src/sap/fe/core/controllerextensions/KPIManagement.ts +12 -11
  41. package/src/sap/fe/core/controllerextensions/MassEdit.js +13 -12
  42. package/src/sap/fe/core/controllerextensions/MassEdit.ts +22 -22
  43. package/src/sap/fe/core/controllerextensions/MessageHandler.js +14 -26
  44. package/src/sap/fe/core/controllerextensions/MessageHandler.ts +20 -30
  45. package/src/sap/fe/core/controllerextensions/PageReady.js +25 -23
  46. package/src/sap/fe/core/controllerextensions/PageReady.ts +49 -47
  47. package/src/sap/fe/core/controllerextensions/Paginator.js +24 -15
  48. package/src/sap/fe/core/controllerextensions/Paginator.ts +35 -20
  49. package/src/sap/fe/core/controllerextensions/Placeholder.js +10 -10
  50. package/src/sap/fe/core/controllerextensions/Placeholder.ts +12 -14
  51. package/src/sap/fe/core/controllerextensions/Routing.js +11 -11
  52. package/src/sap/fe/core/controllerextensions/Routing.ts +12 -13
  53. package/src/sap/fe/core/controllerextensions/Share.js +34 -16
  54. package/src/sap/fe/core/controllerextensions/Share.ts +50 -32
  55. package/src/sap/fe/core/controllerextensions/SideEffects.js +15 -15
  56. package/src/sap/fe/core/controllerextensions/SideEffects.ts +64 -65
  57. package/src/sap/fe/core/controllerextensions/ViewState.js +27 -31
  58. package/src/sap/fe/core/controllerextensions/ViewState.ts +103 -102
  59. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +105 -0
  60. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.ts +98 -0
  61. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +360 -0
  62. package/src/sap/fe/core/{actions → controllerextensions}/collaboration/ActivitySync.ts +90 -132
  63. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +146 -0
  64. package/src/sap/fe/core/{actions → controllerextensions}/collaboration/CollaborationCommon.ts +18 -8
  65. package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +264 -0
  66. package/src/sap/fe/core/{actions → controllerextensions}/collaboration/Manage.ts +35 -33
  67. package/src/sap/fe/core/controllerextensions/collaboration/ManageDialog.fragment.xml +100 -0
  68. package/src/sap/fe/core/{actions → controllerextensions}/collaboration/UserDetails.fragment.xml +5 -7
  69. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +1584 -0
  70. package/src/sap/fe/core/{TransactionHelper.ts → controllerextensions/editFlow/TransactionHelper.ts} +190 -159
  71. package/src/sap/fe/core/controllerextensions/editFlow/draft.js +780 -0
  72. package/src/sap/fe/core/{actions → controllerextensions/editFlow}/draft.ts +329 -76
  73. package/src/sap/fe/core/controllerextensions/editFlow/operations.js +1149 -0
  74. package/src/sap/fe/core/{actions → controllerextensions/editFlow}/operations.ts +169 -97
  75. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +190 -0
  76. package/src/sap/fe/core/{actions → controllerextensions/editFlow}/sticky.ts +76 -12
  77. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +592 -0
  78. package/src/sap/fe/core/{actions → controllerextensions/messageHandler}/messageHandling.ts +83 -60
  79. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +940 -0
  80. package/src/sap/fe/core/{RouterProxy.ts → controllerextensions/routing/RouterProxy.ts} +52 -36
  81. package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +21 -18
  82. package/src/sap/fe/core/controls/Any.js +28 -0
  83. package/src/sap/fe/core/controls/Any.ts +30 -0
  84. package/src/sap/fe/core/controls/CommandExecution.js +50 -16
  85. package/src/sap/fe/core/controls/CommandExecution.ts +31 -22
  86. package/src/sap/fe/core/controls/ConditionalWrapper.js +136 -65
  87. package/src/sap/fe/core/controls/ConditionalWrapper.ts +49 -58
  88. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +371 -0
  89. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.ts +282 -0
  90. package/src/sap/fe/core/controls/CustomQuickViewPage.js +74 -36
  91. package/src/sap/fe/core/controls/CustomQuickViewPage.ts +23 -32
  92. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossDraft.fragment.xml +52 -5
  93. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +127 -67
  94. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +127 -67
  95. package/src/sap/fe/core/controls/FieldWrapper.js +171 -87
  96. package/src/sap/fe/core/controls/FieldWrapper.ts +69 -80
  97. package/src/sap/fe/core/controls/FileWrapper.js +360 -0
  98. package/src/sap/fe/core/controls/FileWrapper.ts +202 -0
  99. package/src/sap/fe/core/controls/FilterBar.js +154 -119
  100. package/src/sap/fe/core/controls/FilterBar.ts +128 -123
  101. package/src/sap/fe/core/controls/FormElementWrapper.js +102 -37
  102. package/src/sap/fe/core/controls/FormElementWrapper.ts +43 -35
  103. package/src/sap/fe/core/controls/MassEditSelect.js +33 -0
  104. package/src/sap/fe/core/controls/MassEditSelect.ts +45 -0
  105. package/src/sap/fe/core/controls/filterbar/FilterContainer.js +111 -89
  106. package/src/sap/fe/core/controls/filterbar/FilterContainer.ts +86 -82
  107. package/src/sap/fe/core/controls/filterbar/VisualFilter.js +242 -193
  108. package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +211 -204
  109. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +152 -116
  110. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +105 -105
  111. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +2 -2
  112. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +23 -28
  113. package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +41 -81
  114. package/src/sap/fe/core/controls/massEdit/MassEditField.fragment.xml +107 -0
  115. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +550 -35
  116. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +604 -35
  117. package/src/sap/fe/core/converters/ManifestSettings.js +3 -1
  118. package/src/sap/fe/core/converters/ManifestSettings.ts +9 -2
  119. package/src/sap/fe/core/converters/MetaModelConverter.js +11 -40
  120. package/src/sap/fe/core/converters/MetaModelConverter.ts +56 -84
  121. package/src/sap/fe/core/converters/annotations/DataField.js +20 -5
  122. package/src/sap/fe/core/converters/annotations/DataField.ts +27 -6
  123. package/src/sap/fe/core/converters/controls/Common/Action.js +14 -21
  124. package/src/sap/fe/core/converters/controls/Common/Action.ts +23 -28
  125. package/src/sap/fe/core/converters/controls/Common/Chart.js +17 -10
  126. package/src/sap/fe/core/converters/controls/Common/Chart.ts +20 -14
  127. package/src/sap/fe/core/converters/controls/Common/Form.js +16 -18
  128. package/src/sap/fe/core/converters/controls/Common/Form.ts +20 -20
  129. package/src/sap/fe/core/converters/controls/Common/KPI.js +1 -1
  130. package/src/sap/fe/core/converters/controls/Common/KPI.ts +2 -3
  131. package/src/sap/fe/core/converters/controls/Common/Table.js +389 -173
  132. package/src/sap/fe/core/converters/controls/Common/Table.ts +440 -244
  133. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +26 -16
  134. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +27 -19
  135. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +78 -47
  136. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +146 -107
  137. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +6 -6
  138. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +20 -18
  139. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +30 -25
  140. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +39 -34
  141. package/src/sap/fe/core/converters/helpers/Aggregation.js +10 -2
  142. package/src/sap/fe/core/converters/helpers/Aggregation.ts +18 -13
  143. package/src/sap/fe/core/converters/helpers/BindingHelper.js +3 -2
  144. package/src/sap/fe/core/converters/helpers/BindingHelper.ts +6 -5
  145. package/src/sap/fe/core/converters/objectPage/FormMenuActions.js +1 -1
  146. package/src/sap/fe/core/converters/objectPage/FormMenuActions.ts +0 -4
  147. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +27 -24
  148. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +49 -40
  149. package/src/sap/fe/core/converters/templates/ListReportConverter.js +33 -22
  150. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +77 -62
  151. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +28 -28
  152. package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +38 -45
  153. package/src/sap/fe/core/designtime/AppComponent.designtime.js +3 -3
  154. package/src/sap/fe/core/designtime/AppComponent.designtime.ts +8 -6
  155. package/src/sap/fe/core/formatters/KPIFormatter.js +3 -12
  156. package/src/sap/fe/core/formatters/KPIFormatter.ts +3 -2
  157. package/src/sap/fe/core/formatters/TableFormatter.js +74 -13
  158. package/src/sap/fe/core/formatters/TableFormatter.ts +71 -16
  159. package/src/sap/fe/core/formatters/ValueFormatter.js +4 -4
  160. package/src/sap/fe/core/formatters/ValueFormatter.ts +4 -7
  161. package/src/sap/fe/core/fpm/Component.js +46 -17
  162. package/src/sap/fe/core/fpm/Component.ts +11 -16
  163. package/src/sap/fe/core/helpers/AppStartupHelper.js +4 -4
  164. package/src/sap/fe/core/helpers/AppStartupHelper.ts +3 -3
  165. package/src/sap/fe/core/helpers/BindingExpression.js +10 -7
  166. package/src/sap/fe/core/helpers/BindingExpression.ts +37 -35
  167. package/src/sap/fe/core/helpers/ClassSupport.js +273 -256
  168. package/src/sap/fe/core/helpers/ClassSupport.ts +315 -237
  169. package/src/sap/fe/core/helpers/FPMHelper.js +3 -2
  170. package/src/sap/fe/core/helpers/FPMHelper.ts +9 -8
  171. package/src/sap/fe/core/helpers/MassEditHelper.js +522 -147
  172. package/src/sap/fe/core/helpers/MassEditHelper.ts +563 -236
  173. package/src/sap/fe/core/helpers/ModelHelper.js +29 -1
  174. package/src/sap/fe/core/helpers/ModelHelper.ts +39 -26
  175. package/src/sap/fe/core/helpers/PasteHelper.js +4 -4
  176. package/src/sap/fe/core/helpers/PasteHelper.ts +4 -3
  177. package/src/sap/fe/core/helpers/SemanticDateOperators.js +3 -3
  178. package/src/sap/fe/core/helpers/SemanticDateOperators.ts +3 -1
  179. package/src/sap/fe/core/helpers/SemanticKeyHelper.js +1 -1
  180. package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +1 -1
  181. package/src/sap/fe/core/helpers/StableIdHelper.js +5 -7
  182. package/src/sap/fe/core/helpers/StableIdHelper.ts +8 -8
  183. package/src/sap/fe/core/{Synchronization.js → helpers/Synchronization.js} +1 -1
  184. package/src/sap/fe/core/{Synchronization.ts → helpers/Synchronization.ts} +1 -1
  185. package/src/sap/fe/core/jsx-runtime/jsx.js +35 -5
  186. package/src/sap/fe/core/jsx-runtime/jsx.ts +22 -8
  187. package/src/sap/fe/core/library.js +13 -5
  188. package/src/sap/fe/core/library.ts +26 -17
  189. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +1 -1
  190. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +0 -3
  191. package/src/sap/fe/core/messagebundle.properties +135 -180
  192. package/src/sap/fe/core/messagebundle_ar.properties +31 -64
  193. package/src/sap/fe/core/messagebundle_bg.properties +31 -64
  194. package/src/sap/fe/core/messagebundle_ca.properties +31 -64
  195. package/src/sap/fe/core/messagebundle_cs.properties +31 -64
  196. package/src/sap/fe/core/messagebundle_cy.properties +32 -65
  197. package/src/sap/fe/core/messagebundle_da.properties +31 -64
  198. package/src/sap/fe/core/messagebundle_de.properties +29 -62
  199. package/src/sap/fe/core/messagebundle_el.properties +32 -65
  200. package/src/sap/fe/core/messagebundle_en.properties +32 -65
  201. package/src/sap/fe/core/messagebundle_en_GB.properties +29 -62
  202. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +41 -74
  203. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +32 -65
  204. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +20 -6
  205. package/src/sap/fe/core/messagebundle_es.properties +31 -64
  206. package/src/sap/fe/core/messagebundle_es_MX.properties +31 -64
  207. package/src/sap/fe/core/messagebundle_et.properties +31 -64
  208. package/src/sap/fe/core/messagebundle_fi.properties +29 -62
  209. package/src/sap/fe/core/messagebundle_fr.properties +36 -69
  210. package/src/sap/fe/core/messagebundle_fr_CA.properties +33 -66
  211. package/src/sap/fe/core/messagebundle_hi.properties +29 -62
  212. package/src/sap/fe/core/messagebundle_hr.properties +32 -65
  213. package/src/sap/fe/core/messagebundle_hu.properties +30 -63
  214. package/src/sap/fe/core/messagebundle_id.properties +32 -65
  215. package/src/sap/fe/core/messagebundle_it.properties +31 -64
  216. package/src/sap/fe/core/messagebundle_iw.properties +31 -64
  217. package/src/sap/fe/core/messagebundle_ja.properties +29 -62
  218. package/src/sap/fe/core/messagebundle_kk.properties +31 -64
  219. package/src/sap/fe/core/messagebundle_ko.properties +31 -64
  220. package/src/sap/fe/core/messagebundle_lt.properties +31 -64
  221. package/src/sap/fe/core/messagebundle_lv.properties +32 -65
  222. package/src/sap/fe/core/messagebundle_ms.properties +31 -64
  223. package/src/sap/fe/core/messagebundle_nl.properties +31 -64
  224. package/src/sap/fe/core/messagebundle_no.properties +31 -64
  225. package/src/sap/fe/core/messagebundle_pl.properties +34 -67
  226. package/src/sap/fe/core/messagebundle_pt.properties +32 -65
  227. package/src/sap/fe/core/messagebundle_pt_PT.properties +31 -64
  228. package/src/sap/fe/core/messagebundle_ro.properties +33 -66
  229. package/src/sap/fe/core/messagebundle_ru.properties +33 -66
  230. package/src/sap/fe/core/messagebundle_sh.properties +31 -64
  231. package/src/sap/fe/core/messagebundle_sk.properties +31 -64
  232. package/src/sap/fe/core/messagebundle_sl.properties +29 -62
  233. package/src/sap/fe/core/messagebundle_sv.properties +30 -63
  234. package/src/sap/fe/core/messagebundle_th.properties +31 -64
  235. package/src/sap/fe/core/messagebundle_tr.properties +31 -64
  236. package/src/sap/fe/core/messagebundle_uk.properties +32 -65
  237. package/src/sap/fe/core/messagebundle_vi.properties +31 -64
  238. package/src/sap/fe/core/messagebundle_zh_CN.properties +32 -65
  239. package/src/sap/fe/core/messagebundle_zh_TW.properties +34 -67
  240. package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +4 -4
  241. package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +1 -1
  242. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +5 -5
  243. package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +1 -2
  244. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +11 -8
  245. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +15 -13
  246. package/src/sap/fe/core/services/NavigationServiceFactory.js +5 -5
  247. package/src/sap/fe/core/services/NavigationServiceFactory.ts +9 -5
  248. package/src/sap/fe/core/services/ResourceModelServiceFactory.js +4 -4
  249. package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +1 -1
  250. package/src/sap/fe/core/services/RoutingServiceFactory.js +105 -66
  251. package/src/sap/fe/core/services/RoutingServiceFactory.ts +59 -49
  252. package/src/sap/fe/core/services/ShellServicesFactory.js +104 -29
  253. package/src/sap/fe/core/services/ShellServicesFactory.ts +64 -30
  254. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +4 -4
  255. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +1 -1
  256. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +11 -10
  257. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +38 -51
  258. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +43 -5
  259. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.ts +6 -3
  260. package/src/sap/fe/core/support/CommonHelper.js +1 -1
  261. package/src/sap/fe/core/support/CommonHelper.ts +0 -3
  262. package/src/sap/fe/core/templating/DataModelPathHelper.js +2 -9
  263. package/src/sap/fe/core/templating/DataModelPathHelper.ts +32 -38
  264. package/src/sap/fe/core/templating/DisplayModeFormatter.js +23 -3
  265. package/src/sap/fe/core/templating/DisplayModeFormatter.ts +27 -6
  266. package/src/sap/fe/core/templating/EntitySetHelper.js +1 -9
  267. package/src/sap/fe/core/templating/EntitySetHelper.ts +11 -13
  268. package/src/sap/fe/core/templating/FilterHelper.js +4 -4
  269. package/src/sap/fe/core/templating/FilterHelper.ts +6 -5
  270. package/src/sap/fe/core/templating/PropertyHelper.js +70 -33
  271. package/src/sap/fe/core/templating/PropertyHelper.ts +49 -27
  272. package/src/sap/fe/core/templating/UIFormatters.js +133 -22
  273. package/src/sap/fe/core/templating/UIFormatters.ts +144 -50
  274. package/src/sap/fe/core/type/DateTimeWithTimezone.js +47 -0
  275. package/src/sap/fe/core/type/DateTimeWithTimezone.ts +23 -0
  276. package/src/sap/fe/core/type/Email.js +26 -8
  277. package/src/sap/fe/core/type/Email.ts +8 -7
  278. package/src/sap/fe/core/AnnotationHelper.js +0 -312
  279. package/src/sap/fe/core/AnnotationHelper.ts +0 -315
  280. package/src/sap/fe/core/RouterProxy.js +0 -926
  281. package/src/sap/fe/core/TransactionHelper.js +0 -1562
  282. package/src/sap/fe/core/actions/collaboration/ActivitySync.js +0 -392
  283. package/src/sap/fe/core/actions/collaboration/CollaborationCommon.js +0 -136
  284. package/src/sap/fe/core/actions/collaboration/Manage.js +0 -262
  285. package/src/sap/fe/core/actions/collaboration/ManageDialog.fragment.xml +0 -103
  286. package/src/sap/fe/core/actions/draft.js +0 -523
  287. package/src/sap/fe/core/actions/messageHandling.js +0 -567
  288. package/src/sap/fe/core/actions/nonDraft.js +0 -20
  289. package/src/sap/fe/core/actions/nonDraft.ts +0 -12
  290. package/src/sap/fe/core/actions/operations.js +0 -1096
  291. package/src/sap/fe/core/actions/sticky.js +0 -130
  292. package/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata.js +0 -78
  293. package/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata.ts +0 -65
  294. package/src/sap/fe/core/formatters/CriticalityFormatter.js +0 -77
  295. package/src/sap/fe/core/formatters/CriticalityFormatter.ts +0 -58
@@ -1,7 +1,9 @@
1
+ import Core from "sap/ui/core/Core";
1
2
  import FilterOperatorUtil from "sap/ui/mdc/condition/FilterOperatorUtil";
2
3
  import Operator from "sap/ui/mdc/condition/Operator";
3
4
  import ModelOperator from "sap/ui/model/FilterOperator";
4
5
  import ValidateException from "sap/ui/model/ValidateException";
6
+ import { CoreEx } from "types/extension_types";
5
7
 
6
8
  const aSupportedOperations = ["DATE", "FROM", "TO", "DATERANGE"];
7
9
  const DYNAMIC_DATE_CATEGORY = "DYNAMIC.DATE";
@@ -288,7 +290,7 @@ function _filterOperation(oOperation: any, aOperatorConfiguration: any) {
288
290
  const SemanticDateOperators = {
289
291
  // Extending operators for Sematic Date Control
290
292
  addSemanticDateOperators: function() {
291
- const oResourceBundle = sap.ui.getCore().getLibraryResourceBundle("sap.fe.core");
293
+ const oResourceBundle = (Core as CoreEx).getLibraryResourceBundle("sap.fe.core");
292
294
  FilterOperatorUtil.addOperator(_getDateRangeOperator(oResourceBundle));
293
295
  FilterOperatorUtil.addOperator(_getDateOperator(oResourceBundle));
294
296
  FilterOperatorUtil.addOperator(_getFromOperator(oResourceBundle));
@@ -73,4 +73,4 @@ sap.ui.define(["sap/base/Log"], function (Log) {
73
73
  };
74
74
  return SemanticKeyHelper;
75
75
  }, false);
76
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNlbWFudGljS2V5SGVscGVyLnRzIl0sIm5hbWVzIjpbIlNlbWFudGljS2V5SGVscGVyIiwiZ2V0U2VtYW50aWNLZXlzIiwib01ldGFNb2RlbCIsInNFbnRpdHlTZXROYW1lIiwiZ2V0T2JqZWN0IiwiZ2V0U2VtYW50aWNPYmplY3RJbmZvcm1hdGlvbiIsIm9TZW1hbnRpY09iamVjdCIsImFTZW1hbnRpY0tleXMiLCJzZW1hbnRpY09iamVjdCIsInNlbWFudGljS2V5cyIsImdldFNlbWFudGljUGF0aCIsIm9Db250ZXh0IiwiYlN0cmljdCIsImdldE1vZGVsIiwiZ2V0TWV0YU1vZGVsIiwiZ2V0TWV0YUNvbnRleHQiLCJnZXRQYXRoIiwib1NlbWFudGljT2JqZWN0SW5mb3JtYXRpb24iLCJzVGVjaG5pY2FsUGF0aCIsInNTZW1hbnRpY1BhdGgiLCJpc0EiLCJpc1JlbGF0aXZlIiwiZ2V0SGVhZGVyQ29udGV4dCIsIl9pc1BhdGhGb3JTZW1hbnRpYyIsIm9FbnRpdHlUeXBlIiwiJFR5cGUiLCJzU2VtYW50aWNLZXlzUGFydCIsIm1hcCIsIm9TZW1hbnRpY0tleSIsInNQcm9wZXJ0eVBhdGgiLCIkUHJvcGVydHlQYXRoIiwic0tleVZhbHVlIiwiZ2V0UHJvcGVydHkiLCJ1bmRlZmluZWQiLCJFcnJvciIsImVuY29kZVVSSUNvbXBvbmVudCIsImxlbmd0aCIsImpvaW4iLCJlIiwiTG9nIiwiaW5mbyIsInNQYXRoIiwidGVzdCJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7OztBQUNBLE1BQU1BLGlCQUFpQixHQUFHO0FBQ3pCQyxJQUFBQSxlQUFlLEVBQUUsVUFBU0MsVUFBVCxFQUFxQ0MsY0FBckMsRUFBNkQ7QUFDN0UsYUFBT0QsVUFBVSxDQUFDRSxTQUFYLFlBQXlCRCxjQUF6QixrREFBUDtBQUNBLEtBSHdCO0FBSXpCRSxJQUFBQSw0QkFBNEIsRUFBRSxVQUFTSCxVQUFULEVBQXFDQyxjQUFyQyxFQUE2RDtBQUMxRixVQUFNRyxlQUFlLEdBQUdK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QyxJQUF6QixDQUE4QkQsS0FBOUIsQ0FBUDtBQUNBO0FBbEV3QixHQUExQjtTQXFFZXpDLGlCIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcbmltcG9ydCBPRGF0YU1ldGFNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L09EYXRhTWV0YU1vZGVsXCI7XG5cbmNvbnN0IFNlbWFudGljS2V5SGVscGVyID0ge1xuXHRnZXRTZW1hbnRpY0tleXM6IGZ1bmN0aW9uKG9NZXRhTW9kZWw6IE9EYXRhTWV0YU1vZGVsLCBzRW50aXR5U2V0TmFtZTogc3RyaW5nKSB7XG5cdFx0cmV0dXJuIG9NZXRhTW9kZWwuZ2V0T2JqZWN0KGAvJHtzRW50aXR5U2V0TmFtZX0vQGNvbS5zYXAudm9jYWJ1bGFyaWVzLkNvbW1vbi52MS5TZW1hbnRpY0tleWApO1xuXHR9LFxuXHRnZXRTZW1hbnRpY09iamVjdEluZm9ybWF0aW9uOiBmdW5jdGlvbihvTWV0YU1vZGVsOiBPRGF0YU1ldGFNb2RlbCwgc0VudGl0eVNldE5hbWU6IHN0cmluZykge1xuXHRcdGNvbnN0IG9TZW1hbnRpY09iamVjdCA9IG9NZXRhTW9kZWwuZ2V0T2JqZWN0KGAvJHtzRW50aXR5U2V0TmFtZX0vQGNvbS5zYXAudm9jYWJ1bGFyaWVzLkNvbW1vbi52MS5TZW1hbnRpY09iamVjdGApO1xuXHRcdGNvbnN0IGFTZW1hbnRpY0tleXMgPSB0aGlzLmdldFNlbWFudGljS2V5cyhvTWV0YU1vZGVsLCBzRW50aXR5U2V0TmFtZSk7XG5cdFx0cmV0dXJuIHtcblx0XHRcdHNlbWFudGljT2JqZWN0OiBvU2VtYW50aWNPYmplY3QsXG5cdFx0XHRzZW1hbnRpY0tleXM6IGFTZW1hbnRpY0tleXNcblx0XHR9O1xuXHR9LFxuXHRnZXRTZW1hbnRpY1BhdGg6IGZ1bmN0aW9uKG9Db250ZXh0OiBhbnksIGJTdHJpY3Q6IGJvb2xlYW4gPSBmYWxzZSkge1xuXHRcdGNvbnN0IG9NZXRhTW9kZWwgPSBvQ29udGV4dC5nZXRNb2RlbCgpLmdldE1ldGFNb2RlbCgpLFxuXHRcdFx0c0VudGl0eVNldE5hbWUgPSBvTWV0YU1vZGVsLmdldE1ldGFDb250ZXh0KG9Db250ZXh0LmdldFBhdGgoKSkuZ2V0T2JqZWN0KFwiQHNhcHVpLm5hbWVcIiksXG5cdFx0XHRvU2VtYW50aWNPYmplY3RJbmZvcm1hdGlvbiA9IHRoaXMuZ2V0U2VtYW50aWNPYmplY3RJbmZvcm1hdGlvbihvTWV0YU1vZGVsLCBzRW50aXR5U2V0TmFtZSk7XG5cdFx0bGV0IHNUZWNobmljYWxQYXRoLCBzU2VtYW50aWNQYXRoO1xuXG5cdFx0aWYgKG9Db250ZXh0LmlzQShcInNhcC51aS5tb2RlbC5vZGF0YS52NC5PRGF0YUxpc3RCaW5kaW5nXCIpICYmIG9Db250ZXh0LmlzUmVsYXRpdmUoKSkge1xuXHRcdFx0c1RlY2huaWNhbFBhdGggPSBvQ29udGV4dC5nZXRIZWFkZXJDb250ZXh0KCkuZ2V0UGF0aCgpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRzVGVjaG5pY2FsUGF0aCA9IG9Db250ZXh0LmdldFBhdGgoKTtcblx0XHR9XG5cblx0XHRpZiAodGhpcy5faXNQYXRoRm9yU2VtYW50aWMoc1RlY2huaWNhbFBhdGgpICYmIG9TZW1hbnRpY09iamVjdEluZm9ybWF0aW9uLnNlbWFudGljS2V5cykge1xuXHRcdFx0Y29uc3QgYVNlbWFudGljS2V5cyA9IG9TZW1hbnRpY09iamVjdEluZm9ybWF0aW9uLnNlbWFudGljS2V5cyxcblx0XHRcdFx0b0VudGl0eVR5cGUgPSBvTWV0YU1vZGVsLmdldE9iamVjdChcIi9cIiArIG9NZXRhTW9kZWwuZ2V0T2JqZWN0KFwiL1wiICsgc0VudGl0eVNldE5hbWUpLiRUeXBlKTtcblxuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Y29uc3Qgc1NlbWFudGljS2V5c1BhcnQgPSBhU2VtYW50aWNLZXlzXG5cdFx0XHRcdFx0Lm1hcChmdW5jdGlvbihvU2VtYW50aWNLZXk6IGFueSkge1xuXHRcdFx0XHRcdFx0Y29uc3Qgc1Byb3BlcnR5UGF0aCA9IG9TZW1hbnRpY0tleS4kUHJvcGVydHlQYXRoO1xuXHRcdFx0XHRcdFx0bGV0IHNLZXlWYWx1ZSA9IG9Db250ZXh0LmdldFByb3BlcnR5KHNQcm9wZXJ0eVBhdGgpO1xuXG5cdFx0XHRcdFx0XHRpZiAoc0tleVZhbHVlID09PSB1bmRlZmluZWQgfHwgc0tleVZhbHVlID09PSBudWxsKSB7XG5cdFx0XHRcdFx0XHRcdHRocm93IG5ldyBFcnJvcihcIkNvdWxkbid0IHJlc29sdmUgc2VtYW50aWMga2V5IHZhbHVlIGZvciBcIiArIHNQcm9wZXJ0eVBhdGgpO1xuXHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0aWYgKG9FbnRpdHlUeXBlW3NQcm9wZXJ0eVBhdGhdLiRUeXBlID09PSBcIkVkbS5TdHJpbmdcIikge1xuXHRcdFx0XHRcdFx0XHRcdHNLZXlWYWx1ZSA9IGAnJHtlbmNvZGVVUklDb21wb25lbnQoc0tleVZhbHVlKX0nYDtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRpZiAoYVNlbWFudGljS2V5cy5sZW5ndGggPiAxKSB7XG5cdFx0XHRcdFx0XHRcdFx0Ly8gU2V2ZXJhbCBzZW1hbnRpYyBrZXlzIC0tPiBwYXRoIHNob3VsZCBiZSBlbnRpdHlTZXQoa2V5MT12YWx1ZTEsIGtleTI9dmFsdWUyLCAuLi4pXG5cdFx0XHRcdFx0XHRcdFx0Ly8gT3RoZXJ3aXNlIHdlIGtlZXAgZW50aXR5U2V0KGtleVZhbHVlKVxuXHRcdFx0XHRcdFx0XHRcdHNLZXlWYWx1ZSA9IGAke3NQcm9wZXJ0eVBhdGh9PSR7c0tleVZhbHVlfWA7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0cmV0dXJuIHNLZXlWYWx1ZTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdC5qb2luKFwiLFwiKTtcblxuXHRcdFx0XHRzU2VtYW50aWNQYXRoID0gYC8ke3NFbnRpdHlTZXROYW1lfSgke3NTZW1hbnRpY0tleXNQYXJ0fSlgO1xuXHRcdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0XHRMb2cuaW5mbyhlKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRyZXR1cm4gYlN0cmljdCA/IHNTZW1hbnRpY1BhdGggOiBzU2VtYW50aWNQYXRoIHx8IHNUZWNobmljYWxQYXRoO1xuXHR9LFxuXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHQvLyBJTlRFUk5BTCBNRVRIT0RTXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cdF9pc1BhdGhGb3JTZW1hbnRpYzogZnVuY3Rpb24oc1BhdGg6IGFueSkge1xuXHRcdC8vIE9ubHkgcGF0aCBvbiByb290IG9iamVjdHMgYWxsb3cgc2VtYW50aWMga2V5cywgaS5lLiBzUGF0aCA9IHh4eCh5eXkpXG5cdFx0cmV0dXJuIC9eW15cXChcXCldK1xcKFteXFwoXFwpXStcXCkkLy50ZXN0KHNQYXRoKTtcblx0fVxufTtcblxuZXhwb3J0IGRlZmF1bHQgU2VtYW50aWNLZXlIZWxwZXI7XG4iXX0=
76
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNlbWFudGljS2V5SGVscGVyLnRzIl0sIm5hbWVzIjpbIlNlbWFudGljS2V5SGVscGVyIiwiZ2V0U2VtYW50aWNLZXlzIiwib01ldGFNb2RlbCIsInNFbnRpdHlTZXROYW1lIiwiZ2V0T2JqZWN0IiwiZ2V0U2VtYW50aWNPYmplY3RJbmZvcm1hdGlvbiIsIm9TZW1hbnRpY09iamVjdCIsImFTZW1hbnRpY0tleXMiLCJzZW1hbnRpY09iamVjdCIsInNlbWFudGljS2V5cyIsImdldFNlbWFudGljUGF0aCIsIm9Db250ZXh0IiwiYlN0cmljdCIsImdldE1vZGVsIiwiZ2V0TWV0YU1vZGVsIiwiZ2V0TWV0YUNvbnRleHQiLCJnZXRQYXRoIiwib1NlbWFudGljT2JqZWN0SW5mb3JtYXRpb24iLCJzVGVjaG5pY2FsUGF0aCIsInNTZW1hbnRpY1BhdGgiLCJpc0EiLCJpc1JlbGF0aXZlIiwiZ2V0SGVhZGVyQ29udGV4dCIsIl9pc1BhdGhGb3JTZW1hbnRpYyIsIm9FbnRpdHlUeXBlIiwiJFR5cGUiLCJzU2VtYW50aWNLZXlzUGFydCIsIm1hcCIsIm9TZW1hbnRpY0tleSIsInNQcm9wZXJ0eVBhdGgiLCIkUHJvcGVydHlQYXRoIiwic0tleVZhbHVlIiwiZ2V0UHJvcGVydHkiLCJ1bmRlZmluZWQiLCJFcnJvciIsImVuY29kZVVSSUNvbXBvbmVudCIsImxlbmd0aCIsImpvaW4iLCJlIiwiTG9nIiwiaW5mbyIsInNQYXRoIiwidGVzdCJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7OztBQUNBLE1BQU1BLGlCQUFpQixHQUFHO0FBQ3pCQyxJQUFBQSxlQUFlLEVBQUUsVUFBU0MsVUFBVCxFQUFxQ0MsY0FBckMsRUFBNkQ7QUFDN0UsYUFBT0QsVUFBVSxDQUFDRSxTQUFYLFlBQXlCRCxjQUF6QixrREFBUDtBQUNBLEtBSHdCO0FBSXpCRSxJQUFBQSw0QkFBNEIsRUFBRSxVQUFTSCxVQUFULEVBQXFDQyxjQUFyQyxFQUE2RDtBQUMxRixVQUFNRyxlQUFlLEdBQUdKLFVBQVUsQ0FBQ0UsU0FBWCxZQUF5QkQsY0FBekIscURBQXhCO0FBQ0EsVUFBTUksYUFBYSxHQUFHLEtBQUtOLGVBQUwsQ0FBcUJDLFVBQXJCLEVBQWlDQyxjQUFqQyxDQUF0QjtBQUNBLGFBQU87QUFDTkssUUFBQUEsY0FBYyxFQUFFRixlQURWO0FBRU5HLFFBQUFBLFlBQVksRUFBRUY7QUFGUixPQUFQO0FBSUEsS0FYd0I7QUFZekJHLElBQUFBLGVBQWUsRUFBRSxVQUFTQyxRQUFULEVBQWtEO0FBQUEsVUFBMUJDLE9BQTBCLHVFQUFQLEtBQU87QUFDbEUsVUFBTVYsVUFBVSxHQUFHUyxRQUFRLENBQUNFLFFBQVQsR0FBb0JDLFlBQXBCLEVBQW5CO0FBQUEsVUFDQ1gsY0FBYyxHQUFHRCxVQUFVLENBQUNhLGNBQVgsQ0FBMEJKLFFBQVEsQ0FBQ0ssT0FBVCxFQUExQixFQUE4Q1osU0FBOUMsQ0FBd0QsYUFBeEQsQ0FEbEI7QUFBQSxVQUVDYSwwQkFBMEIsR0FBRyxLQUFLWiw0QkFBTCxDQUFrQ0gsVUFBbEMsRUFBOENDLGNBQTlDLENBRjlCO0FBR0EsVUFBSWUsY0FBSixFQUFvQkMsYUFBcEI7O0FBRUEsVUFBSVIsUUFBUSxDQUFDUyxHQUFULENBQWEsd0NBQWIsS0FBMERULFFBQVEsQ0FBQ1UsVUFBVCxFQUE5RCxFQUFxRjtBQUNwRkgsUUFBQUEsY0FBYyxHQUFHUCxRQUFRLENBQUNXLGdCQUFULEdBQTRCTixPQUE1QixFQUFqQjtBQUNBLE9BRkQsTUFFTztBQUNORSxRQUFBQSxjQUFjLEdBQUdQLFFBQVEsQ0FBQ0ssT0FBVCxFQUFqQjtBQUNBOztBQUVELFVBQUksS0FBS08sa0JBQUwsQ0FBd0JMLGNBQXhCLEtBQTJDRCwwQkFBMEIsQ0FBQ1IsWUFBMUUsRUFBd0Y7QUFDdkYsWUFBTUYsYUFBYSxHQUFHVSwwQkFBMEIsQ0FBQ1IsWUFBakQ7QUFBQSxZQUNDZSxXQUFXLEdBQUd0QixVQUFVLENBQUNFLFNBQVgsQ0FBcUIsTUFBTUYsVUFBVSxDQUFDRSxTQUFYLENBQXFCLE1BQU1ELGNBQTNCLEVBQTJDc0IsS0FBdEUsQ0FEZjs7QUFHQSxZQUFJO0FBQ0gsY0FBTUMsaUJBQWlCLEdBQUduQixhQUFhLENBQ3JDb0IsR0FEd0IsQ0FDcEIsVUFBU0MsWUFBVCxFQUE0QjtBQUNoQyxnQkFBTUMsYUFBYSxHQUFHRCxZQUFZLENBQUNFLGFBQW5DO0FBQ0EsZ0JBQUlDLFNBQVMsR0FBR3BCLFFBQVEsQ0FBQ3FCLFdBQVQsQ0FBcUJILGFBQXJCLENBQWhCOztBQUVBLGdCQUFJRSxTQUFTLEtBQUtFLFNBQWQsSUFBMkJGLFNBQVMsS0FBSyxJQUE3QyxFQUFtRDtBQUNsRCxvQkFBTSxJQUFJRyxLQUFKLENBQVUsNkNBQTZDTCxhQUF2RCxDQUFOO0FBQ0EsYUFGRCxNQUVPO0FBQ04sa0JBQUlMLFdBQVcsQ0FBQ0ssYUFBRCxDQUFYLENBQTJCSixLQUEzQixLQUFxQyxZQUF6QyxFQUF1RDtBQUN0RE0sZ0JBQUFBLFNBQVMsY0FBT0ksa0JBQWtCLENBQUNKLFNBQUQsQ0FBekIsTUFBVDtBQUNBOztBQUNELGtCQUFJeEIsYUFBYSxDQUFDNkIsTUFBZCxHQUF1QixDQUEzQixFQUE4QjtBQUM3QjtBQUNBO0FBQ0FMLGdCQUFBQSxTQUFTLGFBQU1GLGFBQU4sY0FBdUJFLFNBQXZCLENBQVQ7QUFDQTs7QUFDRCxxQkFBT0EsU0FBUDtBQUNBO0FBQ0QsV0FsQndCLEVBbUJ4Qk0sSUFuQndCLENBbUJuQixHQW5CbUIsQ0FBMUI7QUFxQkFsQixVQUFBQSxhQUFhLGNBQU9oQixjQUFQLGNBQXlCdUIsaUJBQXpCLE1BQWI7QUFDQSxTQXZCRCxDQXVCRSxPQUFPWSxDQUFQLEVBQVU7QUFDWEMsVUFBQUEsR0FBRyxDQUFDQyxJQUFKLENBQVNGLENBQVQ7QUFDQTtBQUNEOztBQUVELGFBQU8xQixPQUFPLEdBQUdPLGFBQUgsR0FBbUJBLGFBQWEsSUFBSUQsY0FBbEQ7QUFDQSxLQXpEd0I7QUEyRHpCO0FBQ0E7QUFDQTtBQUVBSyxJQUFBQSxrQkFBa0IsRUFBRSxVQUFTa0IsS0FBVCxFQUFxQjtBQUN4QztBQUNBLGFBQU8seUJBQXlCQyxJQUF6QixDQUE4QkQsS0FBOUIsQ0FBUDtBQUNBO0FBbEV3QixHQUExQjtTQXFFZXpDLGlCIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcbmltcG9ydCBPRGF0YU1ldGFNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L09EYXRhTWV0YU1vZGVsXCI7XG5cbmNvbnN0IFNlbWFudGljS2V5SGVscGVyID0ge1xuXHRnZXRTZW1hbnRpY0tleXM6IGZ1bmN0aW9uKG9NZXRhTW9kZWw6IE9EYXRhTWV0YU1vZGVsLCBzRW50aXR5U2V0TmFtZTogc3RyaW5nKSB7XG5cdFx0cmV0dXJuIG9NZXRhTW9kZWwuZ2V0T2JqZWN0KGAvJHtzRW50aXR5U2V0TmFtZX0vQGNvbS5zYXAudm9jYWJ1bGFyaWVzLkNvbW1vbi52MS5TZW1hbnRpY0tleWApO1xuXHR9LFxuXHRnZXRTZW1hbnRpY09iamVjdEluZm9ybWF0aW9uOiBmdW5jdGlvbihvTWV0YU1vZGVsOiBPRGF0YU1ldGFNb2RlbCwgc0VudGl0eVNldE5hbWU6IHN0cmluZykge1xuXHRcdGNvbnN0IG9TZW1hbnRpY09iamVjdCA9IG9NZXRhTW9kZWwuZ2V0T2JqZWN0KGAvJHtzRW50aXR5U2V0TmFtZX0vQGNvbS5zYXAudm9jYWJ1bGFyaWVzLkNvbW1vbi52MS5TZW1hbnRpY09iamVjdGApO1xuXHRcdGNvbnN0IGFTZW1hbnRpY0tleXMgPSB0aGlzLmdldFNlbWFudGljS2V5cyhvTWV0YU1vZGVsLCBzRW50aXR5U2V0TmFtZSk7XG5cdFx0cmV0dXJuIHtcblx0XHRcdHNlbWFudGljT2JqZWN0OiBvU2VtYW50aWNPYmplY3QsXG5cdFx0XHRzZW1hbnRpY0tleXM6IGFTZW1hbnRpY0tleXNcblx0XHR9O1xuXHR9LFxuXHRnZXRTZW1hbnRpY1BhdGg6IGZ1bmN0aW9uKG9Db250ZXh0OiBhbnksIGJTdHJpY3Q6IGJvb2xlYW4gPSBmYWxzZSkge1xuXHRcdGNvbnN0IG9NZXRhTW9kZWwgPSBvQ29udGV4dC5nZXRNb2RlbCgpLmdldE1ldGFNb2RlbCgpLFxuXHRcdFx0c0VudGl0eVNldE5hbWUgPSBvTWV0YU1vZGVsLmdldE1ldGFDb250ZXh0KG9Db250ZXh0LmdldFBhdGgoKSkuZ2V0T2JqZWN0KFwiQHNhcHVpLm5hbWVcIiksXG5cdFx0XHRvU2VtYW50aWNPYmplY3RJbmZvcm1hdGlvbiA9IHRoaXMuZ2V0U2VtYW50aWNPYmplY3RJbmZvcm1hdGlvbihvTWV0YU1vZGVsLCBzRW50aXR5U2V0TmFtZSk7XG5cdFx0bGV0IHNUZWNobmljYWxQYXRoLCBzU2VtYW50aWNQYXRoO1xuXG5cdFx0aWYgKG9Db250ZXh0LmlzQShcInNhcC51aS5tb2RlbC5vZGF0YS52NC5PRGF0YUxpc3RCaW5kaW5nXCIpICYmIG9Db250ZXh0LmlzUmVsYXRpdmUoKSkge1xuXHRcdFx0c1RlY2huaWNhbFBhdGggPSBvQ29udGV4dC5nZXRIZWFkZXJDb250ZXh0KCkuZ2V0UGF0aCgpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRzVGVjaG5pY2FsUGF0aCA9IG9Db250ZXh0LmdldFBhdGgoKTtcblx0XHR9XG5cblx0XHRpZiAodGhpcy5faXNQYXRoRm9yU2VtYW50aWMoc1RlY2huaWNhbFBhdGgpICYmIG9TZW1hbnRpY09iamVjdEluZm9ybWF0aW9uLnNlbWFudGljS2V5cykge1xuXHRcdFx0Y29uc3QgYVNlbWFudGljS2V5cyA9IG9TZW1hbnRpY09iamVjdEluZm9ybWF0aW9uLnNlbWFudGljS2V5cyxcblx0XHRcdFx0b0VudGl0eVR5cGUgPSBvTWV0YU1vZGVsLmdldE9iamVjdChcIi9cIiArIG9NZXRhTW9kZWwuZ2V0T2JqZWN0KFwiL1wiICsgc0VudGl0eVNldE5hbWUpLiRUeXBlKTtcblxuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Y29uc3Qgc1NlbWFudGljS2V5c1BhcnQgPSBhU2VtYW50aWNLZXlzXG5cdFx0XHRcdFx0Lm1hcChmdW5jdGlvbihvU2VtYW50aWNLZXk6IGFueSkge1xuXHRcdFx0XHRcdFx0Y29uc3Qgc1Byb3BlcnR5UGF0aCA9IG9TZW1hbnRpY0tleS4kUHJvcGVydHlQYXRoO1xuXHRcdFx0XHRcdFx0bGV0IHNLZXlWYWx1ZSA9IG9Db250ZXh0LmdldFByb3BlcnR5KHNQcm9wZXJ0eVBhdGgpO1xuXG5cdFx0XHRcdFx0XHRpZiAoc0tleVZhbHVlID09PSB1bmRlZmluZWQgfHwgc0tleVZhbHVlID09PSBudWxsKSB7XG5cdFx0XHRcdFx0XHRcdHRocm93IG5ldyBFcnJvcihcIkNvdWxkbid0IHJlc29sdmUgc2VtYW50aWMga2V5IHZhbHVlIGZvciBcIiArIHNQcm9wZXJ0eVBhdGgpO1xuXHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0aWYgKG9FbnRpdHlUeXBlW3NQcm9wZXJ0eVBhdGhdLiRUeXBlID09PSBcIkVkbS5TdHJpbmdcIikge1xuXHRcdFx0XHRcdFx0XHRcdHNLZXlWYWx1ZSA9IGAnJHtlbmNvZGVVUklDb21wb25lbnQoc0tleVZhbHVlKX0nYDtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRpZiAoYVNlbWFudGljS2V5cy5sZW5ndGggPiAxKSB7XG5cdFx0XHRcdFx0XHRcdFx0Ly8gU2V2ZXJhbCBzZW1hbnRpYyBrZXlzIC0tPiBwYXRoIHNob3VsZCBiZSBlbnRpdHlTZXQoa2V5MT12YWx1ZTEsIGtleTI9dmFsdWUyLCAuLi4pXG5cdFx0XHRcdFx0XHRcdFx0Ly8gT3RoZXJ3aXNlIHdlIGtlZXAgZW50aXR5U2V0KGtleVZhbHVlKVxuXHRcdFx0XHRcdFx0XHRcdHNLZXlWYWx1ZSA9IGAke3NQcm9wZXJ0eVBhdGh9PSR7c0tleVZhbHVlfWA7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0cmV0dXJuIHNLZXlWYWx1ZTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdC5qb2luKFwiLFwiKTtcblxuXHRcdFx0XHRzU2VtYW50aWNQYXRoID0gYC8ke3NFbnRpdHlTZXROYW1lfSgke3NTZW1hbnRpY0tleXNQYXJ0fSlgO1xuXHRcdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0XHRMb2cuaW5mbyhlIGFzIGFueSk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGJTdHJpY3QgPyBzU2VtYW50aWNQYXRoIDogc1NlbWFudGljUGF0aCB8fCBzVGVjaG5pY2FsUGF0aDtcblx0fSxcblxuXHQvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0Ly8gSU5URVJOQUwgTUVUSE9EU1xuXHQvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXHRfaXNQYXRoRm9yU2VtYW50aWM6IGZ1bmN0aW9uKHNQYXRoOiBhbnkpIHtcblx0XHQvLyBPbmx5IHBhdGggb24gcm9vdCBvYmplY3RzIGFsbG93IHNlbWFudGljIGtleXMsIGkuZS4gc1BhdGggPSB4eHgoeXl5KVxuXHRcdHJldHVybiAvXlteXFwoXFwpXStcXChbXlxcKFxcKV0rXFwpJC8udGVzdChzUGF0aCk7XG5cdH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IFNlbWFudGljS2V5SGVscGVyO1xuIl19
@@ -53,7 +53,7 @@ const SemanticKeyHelper = {
53
53
 
54
54
  sSemanticPath = `/${sEntitySetName}(${sSemanticKeysPart})`;
55
55
  } catch (e) {
56
- Log.info(e);
56
+ Log.info(e as any);
57
57
  }
58
58
  }
59
59
 
@@ -7,12 +7,6 @@ sap.ui.define([], function () {
7
7
 
8
8
  var _exports = {};
9
9
 
10
- /*!
11
- * SAP UI development toolkit for HTML5 (SAPUI5)
12
- (c) Copyright 2009-2021 SAP SE. All rights reserved
13
-
14
- */
15
-
16
10
  /**
17
11
  * Stable Id helper
18
12
  */
@@ -146,6 +140,10 @@ sap.ui.define([], function () {
146
140
  } else {
147
141
  sFacetId = vElement.Facet.Target.$AnnotationPath || vElement.Facet.Target.value; // Compliant with Converters
148
142
  }
143
+ } else if (vElement.Facet.$Type && vElement.Facet.$Type === "com.sap.vocabularies.UI.v1.FieldGroupType") {
144
+ if (vElement.Facet.Label) {
145
+ sFacetId = vElement.Facet.Label;
146
+ }
149
147
  }
150
148
 
151
149
  if (sFacetId) {
@@ -262,4 +260,4 @@ sap.ui.define([], function () {
262
260
  _exports.prepareId = prepareId;
263
261
  return _exports;
264
262
  }, false);
265
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlN0YWJsZUlkSGVscGVyLnRzIl0sIm5hbWVzIjpbImlzVmFsaWQiLCJ2VmFsdWUiLCJ0ZXN0IiwicmVwbGFjZVNwZWNpYWxDaGFycyIsInNJZCIsImluZGV4T2YiLCJyZXBsYWNlIiwic2xpY2UiLCJyZW1vdmVOYW1lc3BhY2VzIiwiZ2V0U3RhYmxlSWRQYXJ0RnJvbVZhbHVlIiwib1ZhbHVlIiwiJFBhdGgiLCJwYXRoIiwiJEFwcGx5IiwiJEZ1bmN0aW9uIiwic1BhdGhDb25jYXQiLCJpIiwibGVuZ3RoIiwiZ2VuZXJhdGUiLCJhU3RhYmxlSWRQYXJ0cyIsInNTdGFibGVJZCIsInZFbGVtZW50Iiwic0ZhY2V0SWQiLCJGYWNldCIsIiRUeXBlIiwiSUQiLCJUYXJnZXQiLCIkQW5ub3RhdGlvblBhdGgiLCJ2YWx1ZSIsImdldFN0YWJsZUlkUGFydEZyb21EYXRhRmllbGQiLCJwcmVwYXJlSWQiLCJnZXRTdGFibGVJZFBhcnRGcm9tU2VtYW50aWNPYmplY3RBbmRBY3Rpb24iLCJvRGF0YUZpZWxkIiwic0lkUGFydCIsIlNlbWFudGljT2JqZWN0IiwiQWN0aW9uIiwibVBhcmFtZXRlciIsIlZhbHVlIiwiY29udGV4dCIsImdldE9iamVjdCIsInRvU3RyaW5nIiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7Ozs7QUFGQTtBQUNBO0FBQ0E7O0FBSUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVNBLE9BQVQsQ0FBaUJDLE1BQWpCLEVBQWlDO0FBQ2hDLFdBQU8sZ0NBQWdDQyxJQUFoQyxDQUFxQ0QsTUFBckMsQ0FBUDtBQUNBOztBQUVNLFdBQVNFLG1CQUFULENBQTZCQyxHQUE3QixFQUEwQztBQUNoRCxRQUFJQSxHQUFHLENBQUNDLE9BQUosQ0FBWSxHQUFaLEtBQW9CLENBQXhCLEVBQTJCO0FBQzFCO0FBQ0EsWUFBTUQsR0FBRyxHQUFHLHdDQUFaO0FBQ0E7O0FBQ0RBLElBQUFBLEdB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Q0FBa0IseUJBQWxCLENBQXpCLEVBQXVFO0FBQ3RFTyxRQUFBQSxPQUFPLElBQUksT0FBT0QsVUFBVSxDQUFDTixNQUFYLENBQWtCLHlCQUFsQixDQUFsQjtBQUNBOztBQUNELGFBQU9JLFNBQVMsQ0FBQ0csT0FBRCxDQUFoQjtBQUNBLEtBUE0sTUFPQSxJQUFJRCxVQUFVLENBQUNSLEtBQVgsSUFBb0JRLFVBQVUsQ0FBQ1IsS0FBWCxLQUFxQiw2Q0FBN0MsRUFBNEY7QUFDbEdTLE1BQUFBLE9BQU8sR0FBRyxvQkFBVjtBQUNBQSxNQUFBQSxPQUFPLElBQUl4Qix3QkFBd0IsQ0FBQ3VCLFVBQVUsQ0FBQ0ssS0FBWixDQUFuQztBQUNBLGFBQU9QLFNBQVMsQ0FBQ0csT0FBRCxDQUFoQjtBQUNBLEtBSk0sTUFJQSxJQUFJRyxVQUFVLElBQUlBLFVBQVUsQ0FBQ0UsT0FBekIsSUFBb0NGLFVBQVUsQ0FBQ0UsT0FBWCxDQUFtQkMsU0FBbkIsQ0FBNkIsYUFBN0IsQ0FBeEMsRUFBcUY7QUFDM0Y7QUFDQSxhQUFPVCxTQUFTLENBQUNNLFVBQVUsQ0FBQ0UsT0FBWCxDQUFtQkMsU0FBbkIsQ0FBNkIsYUFBN0IsRUFBNENDLFFBQTVDLEVBQUQsQ0FBaEI7QUFDQSxLQUhNLE1BR0EsQ0FDTjtBQUNBO0FBQ0E7O0FBQ0QsV0FBT0MsU0FBUDtBQUNBLEdBbERNOzs7O0FBb0RBLE1BQU1YLFNBQVMsR0FBRyxVQUFTMUIsR0FBVCxFQUFzQjtBQUM5Q0EsSUFBQUEsR0FBRyxHQUFHRCxtQkFBbUIsQ0FBQ0ssZ0JBQWdCLENBQUNKLEdBQUQsQ0FBakIsQ0FBekI7O0FBQ0EsUUFBSUosT0FBTyxDQUFDSSxHQUFELENBQVgsRUFBa0I7QUFDakIsYUFBT0EsR0FBUDtBQUNBLEtBRkQsTUFFTztBQUNOO0FBQ0EsWUFBTUEsR0FBRyxHQUFHLHNFQUFaO0FBQ0E7QUFDRCxHQVJNIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqICR7Y29weXJpZ2h0fVxuICovXG5cbmltcG9ydCBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvQ29udGV4dFwiO1xuXG4vKipcbiAqIFN0YWJsZSBJZCBoZWxwZXJcbiAqL1xuXG4vKipcbiAqIENvcHkgZm9yIHRoZSBDb3JlLmlzVmFsaWQgZnVuY3Rpb24gdG8gYmUgaW5kZXBlbmRlbnQuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHZWYWx1ZSBTdHJpbmcgdG8gdmFsaWRhdGVcbiAqIEByZXR1cm5zIHtib29sZWFufSBXaGV0aGVyIHRoZSB2YWx1ZSBpcyB2YWxpZCBvciBub3RcbiAqL1xuZnVuY3Rpb24gaXNWYWxpZCh2VmFsdWU6IHN0cmluZykge1xuXHRyZXR1cm4gL14oW0EtWmEtel9dWy1BLVphLXowLTlfLjpdKikkLy50ZXN0KHZWYWx1ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXBsYWNlU3BlY2lhbENoYXJzKHNJZDogc3RyaW5nKSB7XG5cdGlmIChzSWQuaW5kZXhPZihcIiBcIikgPj0gMCkge1xuXHRcdC8vIExvZy5lcnJvcihzSWQgKyBcIiAtIFNwYWNlcyBhcmUgbm90IGFsbG93ZWQgaW4gSUQgcGFydHMuXCIpO1xuXHRcdHRocm93IHNJZCArIFwiIC0gU3BhY2VzIGFyZSBub3QgYWxsb3dlZCBpbiBJRCBwYXJ0cy5cIjtcblx0fVxuXHRzSWQgPSBzSWRcblx0XHQucmVwbGFjZSgvXlxcL3xeQHxeI3xeXFwqLywgXCJcIikgLy8gcmVtb3ZlIHNwZWNpYWwgY2hhcmFjdGVycyBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHN0cmluZ1xuXHRcdC5yZXBsYWNlKC9cXC8kfEAkfCMkfFxcKiQvLCBcIlwiKSAvLyByZW1vdmUgc3BlY2lhbCBjaGFyYWN0ZXJzIGZyb20gdGhlIGVuZCBvZiB0aGUgc3RyaW5nXG5cdFx0LnJlcGxhY2UoL1xcL3xAfFxcKHxcXCl8I3xcXCovZywgXCI6OlwiKTsgLy8gcmVwbGFjZSBzcGVjaWFsIGNoYXJhY3RlcnMgd2l0aCA6OlxuXG5cdC8vIFJlcGxhY2UgZG91YmxlIG9jY3VycmVuY2VzIG9mIHRoZSBzZXBhcmF0b3Igd2l0aCBhIHNpbmdsZSBzZXBhcmF0b3Jcblx0d2hpbGUgKHNJZC5pbmRleE9mKFwiOjo6OlwiKSA+IC0xKSB7XG5cdFx0c0lkID0gc0lkLnJlcGxhY2UoXCI6Ojo6XCIsIFwiOjpcIik7XG5cdH1cblxuXHQvLyBJZiB0aGVyZSBpcyBhIDo6IGF0IHRoZSBlbmQgb2YgdGhlIElEIHJlbW92ZSBpdFxuXHRpZiAoc0lkLnNsaWNlKC0yKSA9PSBcIjo6XCIpIHtcblx0XHRzSWQgPSBzSWQuc2xpY2UoMCwgLTIpO1xuXHR9XG5cblx0cmV0dXJuIHNJZDtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlTmFtZXNwYWNlcyhzSWQ6IHN0cmluZykge1xuXHRzSWQgPSBzSWQucmVwbGFjZShcImNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLlwiLCBcIlwiKTtcblx0c0lkID0gc0lkLnJlcGxhY2UoXCJjb20uc2FwLnZvY2FidWxhcmllcy5Db21tdW5pY2F0aW9uLnYxLlwiLCBcIlwiKTtcblx0cmV0dXJuIHNJZDtcbn1cblxuZnVuY3Rpb24gZ2V0U3RhYmxlSWRQYXJ0RnJvbVZhbHVlKG9WYWx1ZTogYW55KSB7XG5cdGlmICgob1ZhbHVlICYmIG9WYWx1ZS4kUGF0aCkgfHwgb1ZhbHVlLnBhdGgpIHtcblx0XHRyZXR1cm4gb1ZhbHVlLiRQYXRoIHx8IG9WYWx1ZS5wYXRoO1xuXHR9XG5cblx0aWYgKG9WYWx1ZSAmJiBvVmFsdWUuJEFwcGx5ICYmIG9WYWx1ZS4kRnVuY3Rpb24gPT09IFwib2RhdGEuY29uY2F0XCIpIHtcblx0XHRsZXQgc1BhdGhDb25jYXQgPSBcIlwiO1xuXHRcdGZvciAobGV0IGkgPSAwOyBpIDwgb1ZhbHVlLiRBcHBseS5sZW5ndGg7IGkrKykge1xuXHRcdFx0aWYgKG9WYWx1ZS4kQXBwbHlbaV0uJFBhdGgpIHtcblx0XHRcdFx0aWYgKHNQYXRoQ29uY2F0KSB7XG5cdFx0XHRcdFx0c1BhdGhDb25jYXQgKz0gXCI6OlwiO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHNQYXRoQ29uY2F0ICs9IG9WYWx1ZS4kQXBwbHlbaV0uJFBhdGg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBzUGF0aENvbmNhdDtcblx0fVxuXG5cdGlmIChvVmFsdWUpIHtcblx0XHRyZXR1cm4gcmVwbGFjZVNwZWNpYWxDaGFycyhvVmFsdWUucmVwbGFjZSgvIC9nLCBcIl9cIikpO1xuXHR9XG59XG5cbi8qKlxuICogR2VuZXJhdGVzIFN0YWJsZSBJZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gcGFyYW1ldGVyc1xuICpcbiAqIHBhcmFtZXRlcnMgYXJlIGNvbWJpbmVkIGluIHRoZSBzYW1lIG9yZGVyIHRoYXQgdGhleSBhcmUgcHJvdmlkZWQgYW5kIGFyZSBzZXBhcmF0ZWQgYnkgJzo6J1xuICogc3BlY2lhbCBjaGFyYWN0ZXJzIChALCAvLCAjKSBhcmUgcmVwbGFjZWQgYnkgJzo6JyBpZiB0aGV5IGFyZSBpbiB0aGUgbWlkZGxlIG9mIHRoZSBTdGFibGUgSWQgYW5kIHJlbW92ZWQgYWxsIHRvZ2V0aGVyIGlmIHRoZSBhcmUgcGFydCBhdCB0aGUgYmVnaW5uaW5nIG9yIGVuZFxuICogRXhhbXBsZTpcbiAqIC8vIEdldCBDb25zdGFudCBTdGFibGUgSWRcbiAqIGdlbmVyYXRlKFsnU3RhYmxlJywgJ0lkJ10pIHdvdWxkIHJlc3VsdCBpbiAnU3RhYmxlOjpJZCcgYXMgdGhlIFN0YWJsZSBJZFxuICpcbiAqIC8vIEdldCBQYXJhbWVydGVyaXplZCBTdGFibGUgSWQgZnJvbSBhIENvbGxlY3Rpb24gRmFjZXRcbiAqIHZhciBvUGFyYW1ldGVyID0ge1xuICogXHRcdEZhY2V0OiB7XG4gKiBcdFx0XHQkVHlwZTogXCJjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5Db2xsZWN0aW9uRmFjZXRcIixcbiAqIFx0XHRcdExhYmVsOiBcIkdlbmVyYWwgSW5mbyBGYWNldCBMYWJlbFwiLFxuICogXHRcdFx0SUQ6ICdHZW5lcmFsSW5mb3JtYXRpb24nXG4gKiBcdFx0fVxuICogfTtcbiAqIGdlbmVyYXRlKFsnc2VjdGlvbicsIG9QYXJhbWV0ZXJdKSB3b3VsZCByZXN1bHQgaW4gJ3NlY3Rpb246OkdlbmVyYWxJbmZvcm1hdGlvbicgYXMgdGhlIFN0YWJsZSBJZFxuICpcbiAqIG9QYXJhbWV0ZXIgaXMgYW5kIG9iamVjdCBvZiBNZXRhZGF0YSBjb250ZXh0cyBhdmFpbGFibGUgd2hpbGUgdGVtcGxhdGluZyB3aGljaCB3aWxsIGJlIHVzZWQgdG8gZ2VuZXJhdGUgU3RhYmxlIElEcy5cbiAqIG9QYXJhbWV0ZXIgb2JqZWN0IGtleXMgZGVmaW5lIHRoZSB0eXBlIG9mIG1ldGFkYXRhIGNvbnRleHQuXG4gKiBGb3IgZXhhbXBsZSwgdGhlIGtleSAnRmFjZXQnaW4gdGhlIGFib3ZlIGV4YW1wbGUgdGVsbHMgdGhlIFN0YWJsZSBJZCBIZWxwZXIgdGhhdCB0aGUgY29udGV4dCBpcyBhIEZhY2V0IChjb3VsZCBiZSByZWZlcmVuY2Ugb3IgY29sbGVjdGlvbiBmYWNldClcbiAqXG4gKiBDdXJyZW50bHkgc3VwcG9ydGVkIG1ldGFkYXRhIGNvbnRleHQgaXMgQ29sbGVjdGlvbi9SZWZlcmVuY2UgZmFjZXQgaWRlbnRpZmllZCBieSAnRmFjZXQnIGtleS5cbiAqXG4gKiBAcGFyYW0ge0FycmF5PChzdHJpbmd8b2JqZWN0KT59IGFTdGFibGVJZFBhcnRzIEFycmF5IG9mIHN0cmluZ3MgYW5kIG9iamVjdHNcbiAqIEByZXR1cm5zIHtzdHJpbmd9IFN0YWJsZSBJZCBjb25zdHJ1Y3RlZCBmcm9tIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBnZW5lcmF0ZSA9IGZ1bmN0aW9uKGFTdGFibGVJZFBhcnRzOiBBcnJheTxzdHJpbmcgfCBvYmplY3Q+KSB7XG5cdGxldCBzU3RhYmxlSWQgPSBcIlwiLFxuXHRcdHZFbGVtZW50OiBhbnksXG5cdFx0c0ZhY2V0SWQ7XG5cblx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhU3RhYmxlSWRQYXJ0cy5sZW5ndGg7IGkrKykge1xuXHRcdHZFbGVtZW50ID0gYVN0YWJsZUlkUGFydHNbaV07XG5cdFx0aWYgKCF2RWxlbWVudCkge1xuXHRcdFx0Y29udGludWU7XG5cdFx0fVxuXHRcdHNTdGFibGVJZCArPSBzU3RhYmxlSWQgIT09IFwiXCIgPyBcIjo6XCIgOiBcIlwiO1xuXHRcdGlmICh2RWxlbWVudFtcIkZhY2V0XCJdICYmIHZFbGVtZW50W1wiRmFjZXRcIl1bXCIkVHlwZVwiXSAmJiB2RWxlbWVudFtcIkZhY2V0XCJdW1wiJFR5cGVcIl0gPT0gXCJjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5Db2xsZWN0aW9uRmFjZXRcIikge1xuXHRcdFx0c1N0YWJsZUlkICs9IHZFbGVtZW50W1wiRmFjZXRcIl1bXCJJRFwiXTtcblx0XHR9IGVsc2UgaWYgKHR5cGVvZiB2RWxlbWVudCA9PT0gXCJzdHJpbmdcIikge1xuXHRcdFx0aWYgKHZFbGVtZW50KSB7XG5cdFx0XHRcdHNTdGFibGVJZCArPSB2RWxlbWVudDtcblx0XHRcdH1cblx0XHR9IGVsc2UgaWYgKHR5cGVvZiB2RWxlbWVudCA9PT0gXCJvYmplY3RcIikge1xuXHRcdFx0Ly8gaGFuZGxlIHBhcmFtZXRlcnNcblx0XHRcdGlmICh2RWxlbWVudCAmJiB2RWxlbWVudC5GYWNldCkge1xuXHRcdFx0XHRpZiAodkVsZW1lbnQuRmFjZXQuJFR5cGUgJiYgdkVsZW1lbnQuRmFjZXQuJFR5cGUgPT09IFwiY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuQ29sbGVjdGlvbkZhY2V0XCIpIHtcblx0XHRcdFx0XHRpZiAodkVsZW1lbnQuRmFjZXQuSUQpIHtcblx0XHRcdFx0XHRcdHNGYWNldElkID0gdkVsZW1lbnQuRmFjZXQuSUQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9IGVsc2UgaWYgKHZFbGVtZW50LkZhY2V0LiRUeXBlICYmIHZFbGVtZW50LkZhY2V0LiRUeXBlID09PSBcImNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLlJlZmVyZW5jZUZhY2V0XCIpIHtcblx0XHRcdFx0XHRpZiAodkVsZW1lbnQuRmFjZXQuSUQpIHtcblx0XHRcdFx0XHRcdHNGYWNldElkID0gdkVsZW1lbnQuRmFjZXQuSUQ7XG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdHNGYWNldElkID0gdkVsZW1lbnQuRmFjZXQuVGFyZ2V0LiRBbm5vdGF0aW9uUGF0aCB8fCB2RWxlbWVudC5GYWNldC5UYXJnZXQudmFsdWU7IC8vIENvbXBsaWFudCB3aXRoIENvbnZlcnRlcnNcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKHNGYWNldElkKSB7XG5cdFx0XHRcdFx0c1N0YWJsZUlkICs9IHNGYWNldElkO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRpZiAodkVsZW1lbnQgJiYgdkVsZW1lbnRbXCIkVHlwZVwiXSAmJiB2RWxlbWVudFtcIiRUeXBlXCJdLmluZGV4T2YoXCJjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5EYXRhRmllbGRcIikgPiAtMSkge1xuXHRcdFx0XHRzU3RhYmxlSWQgKz0gZ2V0U3RhYmxlSWRQYXJ0RnJvbURhdGFGaWVsZCh2RWxlbWVudCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdHNTdGFibGVJZCA9IHByZXBhcmVJZChzU3RhYmxlSWQpO1xuXHRyZXR1cm4gc1N0YWJsZUlkO1xufTtcbmV4cG9ydCBjb25zdCBnZXRTdGFibGVJZFBhcnRGcm9tU2VtYW50aWNPYmplY3RBbmRBY3Rpb24gPSBmdW5jdGlvbihvRGF0YUZpZWxkOiBhbnkpOiBzdHJpbmcge1xuXHRsZXQgc0lkUGFydCA9IFwiXCI7XG5cdGlmICh0eXBlb2Ygb0RhdGFGaWVsZC5TZW1hbnRpY09iamVjdCA9PSBcInN0cmluZ1wiKSB7XG5cdFx0c0lkUGFydCArPSBvRGF0YUZpZWxkLlNlbWFudGljT2JqZWN0O1xuXHR9IGVsc2UgaWYgKG9EYXRhRmllbGQuU2VtYW50aWNPYmplY3QuJFBhdGgpIHtcblx0XHRzSWRQYXJ0ICs9IG9EYXRhRmllbGQuU2VtYW50aWNPYmplY3QuJFBhdGg7XG5cdH1cblx0aWYgKHR5cGVvZiBvRGF0YUZpZWxkLkFjdGlvbiA9PSBcInN0cmluZ1wiKSB7XG5cdFx0c0lkUGFydCArPSBcIjo6XCIgKyBvRGF0YUZpZWxkLkFjdGlvbjtcblx0fSBlbHNlIGlmIChvRGF0YUZpZWxkLkFjdGlvbiAmJiBvRGF0YUZpZWxkLkFjdGlvbi4kUGF0aCkge1xuXHRcdHNJZFBhcnQgKz0gXCI6OlwiICsgb0RhdGFGaWVsZC5BY3Rpb24uJFBhdGg7XG5cdH1cblx0aWYgKG9EYXRhRmllbGRbXCJSZXF1aXJlc0NvbnRleHRcIl0gJiYgb0RhdGFGaWVsZFtcIlJlcXVpcmVzQ29udGV4dFwiXSA9PSB0cnVlKSB7XG5cdFx0c0lkUGFydCArPSBcIjo6UmVxdWlyZXNDb250ZXh0XCI7XG5cdH1cblx0cmV0dXJuIHNJZFBhcnQ7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0U3RhYmxlSWRQYXJ0RnJvbURhdGFGaWVsZCA9IGZ1bmN0aW9uKG9EYXRhRmllbGQ6IGFueSwgbVBhcmFtZXRlcjogeyBjb250ZXh0PzogQ29udGV4dCB9ID0ge30pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuXHRsZXQgc0lkUGFydCA9IFwiXCI7XG5cblx0aWYgKG9EYXRhRmllbGQuJFR5cGUgJiYgb0RhdGFGaWVsZC4kVHlwZSA9PT0gXCJjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5EYXRhRmllbGRGb3JBY3Rpb25cIikge1xuXHRcdHNJZFBhcnQgPSBcIkRhdGFGaWVsZEZvckFjdGlvbjo6XCI7XG5cdFx0c0lkUGFydCArPSBvRGF0YUZpZWxkLkFjdGlvbjtcblx0XHRyZXR1cm4gcHJlcGFyZUlkKHNJZFBhcnQpO1xuXHR9IGVsc2UgaWYgKG9EYXRhRmllbGQuJFR5cGUgJiYgb0RhdGFGaWVsZC4kVHlwZSA9PT0gXCJjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5EYXRhRmllbGRGb3JJbnRlbnRCYXNlZE5hdmlnYXRpb25cIikge1xuXHRcdHNJZFBhcnQgPSBcIkRhdGFGaWVsZEZvckludGVudEJhc2VkTmF2aWdhdGlvbjo6XCI7XG5cdFx0c0lkUGFydCArPSBnZXRTdGFibGVJZFBhcnRGcm9tU2VtYW50aWNPYmplY3RBbmRBY3Rpb24ob0RhdGFGaWVsZCk7XG5cdFx0cmV0dXJuIHNJZFBhcnQ7XG5cdH0gZWxzZSBpZiAob0RhdGFGaWVsZC4kVHlwZSAmJiBvRGF0YUZpZWxkLiRUeXBlID09PSBcImNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkRhdGFGaWVsZEZvckFubm90YXRpb25cIikge1xuXHRcdHNJZFBhcnQgPSBcIkRhdGFGaWVsZEZvckFubm90YXRpb246OlwiO1xuXHRcdHNJZFBhcnQgKz0gcHJlcGFyZUlkKG9EYXRhRmllbGQuVGFyZ2V0LiRBbm5vdGF0aW9uUGF0aCB8fCBvRGF0YUZpZWxkLlRhcmdldC52YWx1ZSk7XG5cdFx0cmV0dXJuIHNJZFBhcnQ7XG5cdH0gZWxzZSBpZiAob0RhdGFGaWVsZC4kVHlwZSAmJiBvRGF0YUZpZWxkLiRUeXBlID09PSBcImNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkRhdGFGaWVsZFdpdGhBY3Rpb25cIikge1xuXHRcdHNJZFBhcnQgPSBcIkRhdGFGaWVsZFdpdGhBY3Rpb246OlwiO1xuXHRcdGlmIChvRGF0YUZpZWxkLlZhbHVlKSB7XG5cdFx0XHRzSWRQYXJ0ICs9IGdldFN0YWJsZUlkUGFydEZyb21WYWx1ZShvRGF0YUZpZWxkLlZhbHVlKSArIFwiOjpcIjtcblx0XHR9XG5cdFx0c0lkUGFydCArPSBvRGF0YUZpZWxkLkFjdGlvbjtcblx0XHRyZXR1cm4gcHJlcGFyZUlkKHNJZFBhcnQpO1xuXHR9IGVsc2UgaWYgKG9EYXRhRmllbGQuJFR5cGUgJiYgb0RhdGFGaWVsZC4kVHlwZSA9PT0gXCJjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5EYXRhRmllbGRcIikge1xuXHRcdHNJZFBhcnQgPSBcIkRhdGFGaWVsZDo6XCI7XG5cdFx0c0lkUGFydCArPSBnZXRTdGFibGVJZFBhcnRGcm9tVmFsdWUob0RhdGFGaWVsZC5WYWx1ZSk7XG5cdFx0cmV0dXJuIHByZXBhcmVJZChzSWRQYXJ0KTtcblx0fSBlbHNlIGlmIChvRGF0YUZpZWxkLiRUeXBlICYmIG9EYXRhRmllbGQuJFR5cGUgPT09IFwiY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YUZpZWxkV2l0aEludGVudEJhc2VkTmF2aWdhdGlvblwiKSB7XG5cdFx0c0lkUGFydCA9IFwiRGF0YUZpZWxkV2l0aEludGVudEJhc2VkTmF2aWdhdGlvbjo6XCI7XG5cdFx0c0lkUGFydCArPSBnZXRTdGFibGVJZFBhcnRGcm9tVmFsdWUob0RhdGFGaWVsZC5WYWx1ZSkgKyBcIjo6XCI7XG5cdFx0c0lkUGFydCArPSBnZXRTdGFibGVJZFBhcnRGcm9tU2VtYW50aWNPYmplY3RBbmRBY3Rpb24ob0RhdGFGaWVsZCk7XG5cdFx0cmV0dXJuIHByZXBhcmVJZChzSWRQYXJ0KTtcblx0fSBlbHNlIGlmIChvRGF0YUZpZWxkLiRUeXBlICYmIG9EYXRhRmllbGQuJFR5cGUgPT09IFwiY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YUZpZWxkV2l0aE5hdmlnYXRpb25QYXRoXCIpIHtcblx0XHRzSWRQYXJ0ID0gXCJEYXRhRmllbGRXaXRoTmF2aWdhdGlvblBhdGg6OlwiO1xuXHRcdHNJZFBhcnQgKz0gZ2V0U3RhYmxlSWRQYXJ0RnJvbVZhbHVlKG9EYXRhRmllbGQuVmFsdWUpO1xuXHRcdGlmIChvRGF0YUZpZWxkLlRhcmdldCAmJiBvRGF0YUZpZWxkLlRhcmdldFtcIiROYXZpZ2F0aW9uUHJvcGVydHlQYXRoXCJdKSB7XG5cdFx0XHRzSWRQYXJ0ICs9IFwiOjpcIiArIG9EYXRhRmllbGQuVGFyZ2V0W1wiJE5hdmlnYXRpb25Qcm9wZXJ0eVBhdGhcIl07XG5cdFx0fVxuXHRcdHJldHVybiBwcmVwYXJlSWQoc0lkUGFydCk7XG5cdH0gZWxzZSBpZiAob0RhdGFGaWVsZC4kVHlwZSAmJiBvRGF0YUZpZWxkLiRUeXBlID09PSBcImNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkRhdGFGaWVsZFdpdGhVcmxcIikge1xuXHRcdHNJZFBhcnQgPSBcIkRhdGFGaWVsZFdpdGhVcmw6OlwiO1xuXHRcdHNJZFBhcnQgKz0gZ2V0U3RhYmxlSWRQYXJ0RnJvbVZhbHVlKG9EYXRhRmllbGQuVmFsdWUpO1xuXHRcdHJldHVybiBwcmVwYXJlSWQoc0lkUGFydCk7XG5cdH0gZWxzZSBpZiAobVBhcmFtZXRlciAmJiBtUGFyYW1ldGVyLmNvbnRleHQgJiYgbVBhcmFtZXRlci5jb250ZXh0LmdldE9iamVjdChcIkBzYXB1aS5uYW1lXCIpKSB7XG5cdFx0Ly8gdGhlIGNvbnRleHQgaXMgbm90IHJlZmVycmluZyB0byBkYSBkYXRhIGZpZWxkIGJ1dCBkaXJlY3RseSB0byBhIHByb3BlcnR5LCByZXR1cm4gdGhlIHByb3BlcnR5IG5hbWVcblx0XHRyZXR1cm4gcHJlcGFyZUlkKG1QYXJhbWV0ZXIuY29udGV4dC5nZXRPYmplY3QoXCJAc2FwdWkubmFtZVwiKS50b1N0cmluZygpKTtcblx0fSBlbHNlIHtcblx0XHQvLyBJbiBjYXNlIG9mIGEgc3RyaW5nIG9yIHVua25vd24gcHJvcGVydHlcblx0XHQvLyBMb2cuZXJyb3IoXCJTdGFibGUgSUQgSGVscGVyOiBVbmFibGUgdG8gY3JlYXRlIGEgc3RhYmxlIElELiBQbGVhc2UgY2hlY2sgdGhlIGFubm90YXRpb25zLlwiKTtcblx0fVxuXHRyZXR1cm4gdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IGNvbnN0IHByZXBhcmVJZCA9IGZ1bmN0aW9uKHNJZDogc3RyaW5nKSB7XG5cdHNJZCA9IHJlcGxhY2VTcGVjaWFsQ2hhcnMocmVtb3ZlTmFtZXNwYWNlcyhzSWQpKTtcblx0aWYgKGlzVmFsaWQoc0lkKSkge1xuXHRcdHJldHVybiBzSWQ7XG5cdH0gZWxzZSB7XG5cdFx0Ly8gTG9nLmVycm9yKHNJZCArIFwiIC0gU3RhYmxlIElkIGNvdWxkIG5vdCBiZSBnZW5lcmF0ZWQgZHVlIHRvIGluc3VmZmljaWVudCBpbmZvcm1hdGlvbi5cIik7XG5cdFx0dGhyb3cgc0lkICsgXCIgLSBTdGFibGUgSWQgY291bGQgbm90IGJlIGdlbmVyYXRlZCBkdWUgdG8gaW5zdWZmaWNpZW50IGluZm9ybWF0aW9uLlwiO1xuXHR9XG59O1xuIl19
263
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlN0YWJsZUlkSGVscGVyLnRzIl0sIm5hbWVzIjpbImlzVmFsaWQiLCJ2VmFsdWUiLCJ0ZXN0IiwicmVwbGFjZVNwZWNpYWxDaGFycyIsInNJZCIsImluZGV4T2YiLCJyZXBsYWNlIiwic2xpY2UiLCJyZW1vdmVOYW1lc3BhY2VzIiwiZ2V0U3RhYmxlSWRQYXJ0RnJvbVZhbHVlIiwib1ZhbHVlIiwiJFBhdGgiLCJwYXRoIiwiJEFwcGx5IiwiJEZ1bmN0aW9uIiwic1BhdGhDb25jYXQiLCJpIiwibGVuZ3RoIiwiZ2VuZXJhdGUiLCJhU3RhYmxlSWRQYXJ0cyIsInNTdGFibGVJZCIsInZFbGVtZW50Iiwic0ZhY2V0SWQiLCJGYWNldCIsIiRUeXBlIiwiSUQiLCJUYXJnZXQiLCIkQW5ub3RhdGlvblBhdGgiLCJ2YWx1ZSIsIkxhYmVsIiwiZ2V0U3RhYmxlSWRQYXJ0RnJvbURhdGFGaWVsZCIsInByZXBhcmVJZCIsImdldFN0YWJsZUlkUGFydEZyb21TZW1hbnRpY09iamVjdEFuZEFjdGlvbiIsIm9EYXRhRmllbGQiLCJzSWRQYXJ0IiwiU2VtYW50aWNPYmplY3QiLCJBY3Rpb24iLCJtUGFyYW1ldGVyIiwiVmFsdWUiLCJjb250ZXh0IiwiZ2V0T2JqZWN0IiwidG9TdHJpbmciLCJ1bmRlZmluZWQiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7OztBQUFBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFTQSxPQUFULENBQWlCQyxNQUFqQixFQUFpQztBQUNoQyxXQUFPLGdDQUFnQ0MsSUFBaEMsQ0FBcUNELE1BQXJDLENBQVA7QUFDQTs7QUFFTSxXQUFTRSxtQkFBVCxDQUE2QkMsR0FBN0IsRUFBMEM7QUFDaEQsUUFBSUEsR0FBRyxDQUFDQyxPQUFKLENBQVksR0FBWixLQUFvQixDQUF4QixFQUEyQjtBQUMxQjtBQUNBLFlBQU1ELEdBQUcsR0FBRyx3Q0FBWjtBQUNBOztBQUNEQSxJQUFBQSxHQUFHLEdBQUdB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QSxRQUFJSixPQUFPLENBQUNJLEdBQUQsQ0FBWCxFQUFrQjtBQUNqQixhQUFPQSxHQUFQO0FBQ0EsS0FGRCxNQUVPO0FBQ047QUFDQSxZQUFNQSxHQUFHLEdBQUcsc0VBQVo7QUFDQTtBQUNELEdBUk0iLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvQ29udGV4dFwiO1xuXG4vKipcbiAqIFN0YWJsZSBJZCBoZWxwZXJcbiAqL1xuXG4vKipcbiAqIENvcHkgZm9yIHRoZSBDb3JlLmlzVmFsaWQgZnVuY3Rpb24gdG8gYmUgaW5kZXBlbmRlbnQuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHZWYWx1ZSBTdHJpbmcgdG8gdmFsaWRhdGVcbiAqIEByZXR1cm5zIHtib29sZWFufSBXaGV0aGVyIHRoZSB2YWx1ZSBpcyB2YWxpZCBvciBub3RcbiAqL1xuZnVuY3Rpb24gaXNWYWxpZCh2VmFsdWU6IHN0cmluZykge1xuXHRyZXR1cm4gL14oW0EtWmEtel9dWy1BLVphLXowLTlfLjpdKikkLy50ZXN0KHZWYWx1ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXBsYWNlU3BlY2lhbENoYXJzKHNJZDogc3RyaW5nKSB7XG5cdGlmIChzSWQuaW5kZXhPZihcIiBcIikgPj0gMCkge1xuXHRcdC8vIExvZy5lcnJvcihzSWQgKyBcIiAtIFNwYWNlcyBhcmUgbm90IGFsbG93ZWQgaW4gSUQgcGFydHMuXCIpO1xuXHRcdHRocm93IHNJZCArIFwiIC0gU3BhY2VzIGFyZSBub3QgYWxsb3dlZCBpbiBJRCBwYXJ0cy5cIjtcblx0fVxuXHRzSWQgPSBzSWRcblx0XHQucmVwbGFjZSgvXlxcL3xeQHxeI3xeXFwqLywgXCJcIikgLy8gcmVtb3ZlIHNwZWNpYWwgY2hhcmFjdGVycyBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHN0cmluZ1xuXHRcdC5yZXBsYWNlKC9cXC8kfEAkfCMkfFxcKiQvLCBcIlwiKSAvLyByZW1vdmUgc3BlY2lhbCBjaGFyYWN0ZXJzIGZyb20gdGhlIGVuZCBvZiB0aGUgc3RyaW5nXG5cdFx0LnJlcGxhY2UoL1xcL3xAfFxcKHxcXCl8I3xcXCovZywgXCI6OlwiKTsgLy8gcmVwbGFjZSBzcGVjaWFsIGNoYXJhY3RlcnMgd2l0aCA6OlxuXG5cdC8vIFJlcGxhY2UgZG91YmxlIG9jY3VycmVuY2VzIG9mIHRoZSBzZXBhcmF0b3Igd2l0aCBhIHNpbmdsZSBzZXBhcmF0b3Jcblx0d2hpbGUgKHNJZC5pbmRleE9mKFwiOjo6OlwiKSA+IC0xKSB7XG5cdFx0c0lkID0gc0lkLnJlcGxhY2UoXCI6Ojo6XCIsIFwiOjpcIik7XG5cdH1cblxuXHQvLyBJZiB0aGVyZSBpcyBhIDo6IGF0IHRoZSBlbmQgb2YgdGhlIElEIHJlbW92ZSBpdFxuXHRpZiAoc0lkLnNsaWNlKC0yKSA9PSBcIjo6XCIpIHtcblx0XHRzSWQgPSBzSWQuc2xpY2UoMCwgLTIpO1xuXHR9XG5cblx0cmV0dXJuIHNJZDtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlTmFtZXNwYWNlcyhzSWQ6IHN0cmluZykge1xuXHRzSWQgPSBzSWQucmVwbGFjZShcImNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLlwiLCBcIlwiKTtcblx0c0lkID0gc0lkLnJlcGxhY2UoXCJjb20uc2FwLnZvY2FidWxhcmllcy5Db21tdW5pY2F0aW9uLnYxLlwiLCBcIlwiKTtcblx0cmV0dXJuIHNJZDtcbn1cblxuZnVuY3Rpb24gZ2V0U3RhYmxlSWRQYXJ0RnJvbVZhbHVlKG9WYWx1ZTogYW55KSB7XG5cdGlmICgob1ZhbHVlICYmIG9WYWx1ZS4kUGF0aCkgfHwgb1ZhbHVlLnBhdGgpIHtcblx0XHRyZXR1cm4gb1ZhbHVlLiRQYXRoIHx8IG9WYWx1ZS5wYXRoO1xuXHR9XG5cblx0aWYgKG9WYWx1ZSAmJiBvVmFsdWUuJEFwcGx5ICYmIG9WYWx1ZS4kRnVuY3Rpb24gPT09IFwib2RhdGEuY29uY2F0XCIpIHtcblx0XHRsZXQgc1BhdGhDb25jYXQgPSBcIlwiO1xuXHRcdGZvciAobGV0IGkgPSAwOyBpIDwgb1ZhbHVlLiRBcHBseS5sZW5ndGg7IGkrKykge1xuXHRcdFx0aWYgKG9WYWx1ZS4kQXBwbHlbaV0uJFBhdGgpIHtcblx0XHRcdFx0aWYgKHNQYXRoQ29uY2F0KSB7XG5cdFx0XHRcdFx0c1BhdGhDb25jYXQgKz0gXCI6OlwiO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHNQYXRoQ29uY2F0ICs9IG9WYWx1ZS4kQXBwbHlbaV0uJFBhdGg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBzUGF0aENvbmNhdDtcblx0fVxuXG5cdGlmIChvVmFsdWUpIHtcblx0XHRyZXR1cm4gcmVwbGFjZVNwZWNpYWxDaGFycyhvVmFsdWUucmVwbGFjZSgvIC9nLCBcIl9cIikpO1xuXHR9XG59XG5cbi8qKlxuICogR2VuZXJhdGVzIFN0YWJsZSBJZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gcGFyYW1ldGVyc1xuICpcbiAqIHBhcmFtZXRlcnMgYXJlIGNvbWJpbmVkIGluIHRoZSBzYW1lIG9yZGVyIHRoYXQgdGhleSBhcmUgcHJvdmlkZWQgYW5kIGFyZSBzZXBhcmF0ZWQgYnkgJzo6J1xuICogc3BlY2lhbCBjaGFyYWN0ZXJzIChALCAvLCAjKSBhcmUgcmVwbGFjZWQgYnkgJzo6JyBpZiB0aGV5IGFyZSBpbiB0aGUgbWlkZGxlIG9mIHRoZSBTdGFibGUgSWQgYW5kIHJlbW92ZWQgYWxsIHRvZ2V0aGVyIGlmIHRoZSBhcmUgcGFydCBhdCB0aGUgYmVnaW5uaW5nIG9yIGVuZFxuICogRXhhbXBsZTpcbiAqIC8vIEdldCBDb25zdGFudCBTdGFibGUgSWRcbiAqIGdlbmVyYXRlKFsnU3RhYmxlJywgJ0lkJ10pIHdvdWxkIHJlc3VsdCBpbiAnU3RhYmxlOjpJZCcgYXMgdGhlIFN0YWJsZSBJZFxuICpcbiAqIC8vIEdldCBQYXJhbWVydGVyaXplZCBTdGFibGUgSWQgZnJvbSBhIENvbGxlY3Rpb24gRmFjZXRcbiAqIHZhciBvUGFyYW1ldGVyID0ge1xuICogXHRcdEZhY2V0OiB7XG4gKiBcdFx0XHQkVHlwZTogXCJjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5Db2xsZWN0aW9uRmFjZXRcIixcbiAqIFx0XHRcdExhYmVsOiBcIkdlbmVyYWwgSW5mbyBGYWNldCBMYWJlbFwiLFxuICogXHRcdFx0SUQ6ICdHZW5lcmFsSW5mb3JtYXRpb24nXG4gKiBcdFx0fVxuICogfTtcbiAqIGdlbmVyYXRlKFsnc2VjdGlvbicsIG9QYXJhbWV0ZXJdKSB3b3VsZCByZXN1bHQgaW4gJ3NlY3Rpb246OkdlbmVyYWxJbmZvcm1hdGlvbicgYXMgdGhlIFN0YWJsZSBJZFxuICpcbiAqIG9QYXJhbWV0ZXIgaXMgYW5kIG9iamVjdCBvZiBNZXRhZGF0YSBjb250ZXh0cyBhdmFpbGFibGUgd2hpbGUgdGVtcGxhdGluZyB3aGljaCB3aWxsIGJlIHVzZWQgdG8gZ2VuZXJhdGUgU3RhYmxlIElEcy5cbiAqIG9QYXJhbWV0ZXIgb2JqZWN0IGtleXMgZGVmaW5lIHRoZSB0eXBlIG9mIG1ldGFkYXRhIGNvbnRleHQuXG4gKiBGb3IgZXhhbXBsZSwgdGhlIGtleSAnRmFjZXQnaW4gdGhlIGFib3ZlIGV4YW1wbGUgdGVsbHMgdGhlIFN0YWJsZSBJZCBIZWxwZXIgdGhhdCB0aGUgY29udGV4dCBpcyBhIEZhY2V0IChjb3VsZCBiZSByZWZlcmVuY2Ugb3IgY29sbGVjdGlvbiBmYWNldClcbiAqXG4gKiBDdXJyZW50bHkgc3VwcG9ydGVkIG1ldGFkYXRhIGNvbnRleHQgaXMgQ29sbGVjdGlvbi9SZWZlcmVuY2UgZmFjZXQgaWRlbnRpZmllZCBieSAnRmFjZXQnIGtleS5cbiAqXG4gKiBAcGFyYW0ge0FycmF5PChzdHJpbmd8b2JqZWN0KT59IGFTdGFibGVJZFBhcnRzIEFycmF5IG9mIHN0cmluZ3MgYW5kIG9iamVjdHNcbiAqIEByZXR1cm5zIHtzdHJpbmd9IFN0YWJsZSBJZCBjb25zdHJ1Y3RlZCBmcm9tIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBnZW5lcmF0ZSA9IGZ1bmN0aW9uIChhU3RhYmxlSWRQYXJ0czogQXJyYXk8c3RyaW5nIHwgb2JqZWN0Pikge1xuXHRsZXQgc1N0YWJsZUlkID0gXCJcIixcblx0XHR2RWxlbWVudDogYW55LFxuXHRcdHNGYWNldElkO1xuXG5cdGZvciAobGV0IGkgPSAwOyBpIDwgYVN0YWJsZUlkUGFydHMubGVuZ3RoOyBpKyspIHtcblx0XHR2RWxlbWVudCA9IGFTdGFibGVJZFBhcnRzW2ldO1xuXHRcdGlmICghdkVsZW1lbnQpIHtcblx0XHRcdGNvbnRpbnVlO1xuXHRcdH1cblx0XHRzU3RhYmxlSWQgKz0gc1N0YWJsZUlkICE9PSBcIlwiID8gXCI6OlwiIDogXCJcIjtcblx0XHRpZiAodkVsZW1lbnRbXCJGYWNldFwiXSAmJiB2RWxlbWVudFtcIkZhY2V0XCJdW1wiJFR5cGVcIl0gJiYgdkVsZW1lbnRbXCJGYWNldFwiXVtcIiRUeXBlXCJdID09IFwiY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuQ29sbGVjdGlvbkZhY2V0XCIpIHtcblx0XHRcdHNTdGFibGVJZCArPSB2RWxlbWVudFtcIkZhY2V0XCJdW1wiSURcIl07XG5cdFx0fSBlbHNlIGlmICh0eXBlb2YgdkVsZW1lbnQgPT09IFwic3RyaW5nXCIpIHtcblx0XHRcdGlmICh2RWxlbWVudCkge1xuXHRcdFx0XHRzU3RhYmxlSWQgKz0gdkVsZW1lbnQ7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIGlmICh0eXBlb2YgdkVsZW1lbnQgPT09IFwib2JqZWN0XCIpIHtcblx0XHRcdC8vIGhhbmRsZSBwYXJhbWV0ZXJzXG5cdFx0XHRpZiAodkVsZW1lbnQgJiYgdkVsZW1lbnQuRmFjZXQpIHtcblx0XHRcdFx0aWYgKHZFbGVtZW50LkZhY2V0LiRUeXBlICYmIHZFbGVtZW50LkZhY2V0LiRUeXBlID09PSBcImNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkNvbGxlY3Rpb25GYWNldFwiKSB7XG5cdFx0XHRcdFx0aWYgKHZFbGVtZW50LkZhY2V0LklEKSB7XG5cdFx0XHRcdFx0XHRzRmFjZXRJZCA9IHZFbGVtZW50LkZhY2V0LklEO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSBlbHNlIGlmICh2RWxlbWVudC5GYWNldC4kVHlwZSAmJiB2RWxlbWVudC5GYWNldC4kVHlwZSA9PT0gXCJjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5SZWZlcmVuY2VGYWNldFwiKSB7XG5cdFx0XHRcdFx0aWYgKHZFbGVtZW50LkZhY2V0LklEKSB7XG5cdFx0XHRcdFx0XHRzRmFjZXRJZCA9IHZFbGVtZW50LkZhY2V0LklEO1xuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRzRmFjZXRJZCA9IHZFbGVtZW50LkZhY2V0LlRhcmdldC4kQW5ub3RhdGlvblBhdGggfHwgdkVsZW1lbnQuRmFjZXQuVGFyZ2V0LnZhbHVlOyAvLyBDb21wbGlhbnQgd2l0aCBDb252ZXJ0ZXJzXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9IGVsc2UgaWYgKHZFbGVtZW50LkZhY2V0LiRUeXBlICYmIHZFbGVtZW50LkZhY2V0LiRUeXBlID09PSBcImNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkZpZWxkR3JvdXBUeXBlXCIpIHtcblx0XHRcdFx0XHRpZiAodkVsZW1lbnQuRmFjZXQuTGFiZWwpIHtcblx0XHRcdFx0XHRcdHNGYWNldElkID0gdkVsZW1lbnQuRmFjZXQuTGFiZWw7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdGlmIChzRmFjZXRJZCkge1xuXHRcdFx0XHRcdHNTdGFibGVJZCArPSBzRmFjZXRJZDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0aWYgKHZFbGVtZW50ICYmIHZFbGVtZW50W1wiJFR5cGVcIl0gJiYgdkVsZW1lbnRbXCIkVHlwZVwiXS5pbmRleE9mKFwiY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YUZpZWxkXCIpID4gLTEpIHtcblx0XHRcdFx0c1N0YWJsZUlkICs9IGdldFN0YWJsZUlkUGFydEZyb21EYXRhRmllbGQodkVsZW1lbnQpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRzU3RhYmxlSWQgPSBwcmVwYXJlSWQoc1N0YWJsZUlkKTtcblx0cmV0dXJuIHNTdGFibGVJZDtcbn07XG5leHBvcnQgY29uc3QgZ2V0U3RhYmxlSWRQYXJ0RnJvbVNlbWFudGljT2JqZWN0QW5kQWN0aW9uID0gZnVuY3Rpb24gKG9EYXRhRmllbGQ6IGFueSk6IHN0cmluZyB7XG5cdGxldCBzSWRQYXJ0ID0gXCJcIjtcblx0aWYgKHR5cGVvZiBvRGF0YUZpZWxkLlNlbWFudGljT2JqZWN0ID09IFwic3RyaW5nXCIpIHtcblx0XHRzSWRQYXJ0ICs9IG9EYXRhRmllbGQuU2VtYW50aWNPYmplY3Q7XG5cdH0gZWxzZSBpZiAob0RhdGFGaWVsZC5TZW1hbnRpY09iamVjdC4kUGF0aCkge1xuXHRcdHNJZFBhcnQgKz0gb0RhdGFGaWVsZC5TZW1hbnRpY09iamVjdC4kUGF0aDtcblx0fVxuXHRpZiAodHlwZW9mIG9EYXRhRmllbGQuQWN0aW9uID09IFwic3RyaW5nXCIpIHtcblx0XHRzSWRQYXJ0ICs9IFwiOjpcIiArIG9EYXRhRmllbGQuQWN0aW9uO1xuXHR9IGVsc2UgaWYgKG9EYXRhRmllbGQuQWN0aW9uICYmIG9EYXRhRmllbGQuQWN0aW9uLiRQYXRoKSB7XG5cdFx0c0lkUGFydCArPSBcIjo6XCIgKyBvRGF0YUZpZWxkLkFjdGlvbi4kUGF0aDtcblx0fVxuXHRpZiAob0RhdGFGaWVsZFtcIlJlcXVpcmVzQ29udGV4dFwiXSAmJiBvRGF0YUZpZWxkW1wiUmVxdWlyZXNDb250ZXh0XCJdID09IHRydWUpIHtcblx0XHRzSWRQYXJ0ICs9IFwiOjpSZXF1aXJlc0NvbnRleHRcIjtcblx0fVxuXHRyZXR1cm4gc0lkUGFydDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRTdGFibGVJZFBhcnRGcm9tRGF0YUZpZWxkID0gZnVuY3Rpb24gKG9EYXRhRmllbGQ6IGFueSwgbVBhcmFtZXRlcjogeyBjb250ZXh0PzogQ29udGV4dCB9ID0ge30pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuXHRsZXQgc0lkUGFydCA9IFwiXCI7XG5cblx0aWYgKG9EYXRhRmllbGQuJFR5cGUgJiYgb0RhdGFGaWVsZC4kVHlwZSA9PT0gXCJjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5EYXRhRmllbGRGb3JBY3Rpb25cIikge1xuXHRcdHNJZFBhcnQgPSBcIkRhdGFGaWVsZEZvckFjdGlvbjo6XCI7XG5cdFx0c0lkUGFydCArPSBvRGF0YUZpZWxkLkFjdGlvbjtcblx0XHRyZXR1cm4gcHJlcGFyZUlkKHNJZFBhcnQpO1xuXHR9IGVsc2UgaWYgKG9EYXRhRmllbGQuJFR5cGUgJiYgb0RhdGFGaWVsZC4kVHlwZSA9PT0gXCJjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5EYXRhRmllbGRGb3JJbnRlbnRCYXNlZE5hdmlnYXRpb25cIikge1xuXHRcdHNJZFBhcnQgPSBcIkRhdGFGaWVsZEZvckludGVudEJhc2VkTmF2aWdhdGlvbjo6XCI7XG5cdFx0c0lkUGFydCArPSBnZXRTdGFibGVJZFBhcnRGcm9tU2VtYW50aWNPYmplY3RBbmRBY3Rpb24ob0RhdGFGaWVsZCk7XG5cdFx0cmV0dXJuIHNJZFBhcnQ7XG5cdH0gZWxzZSBpZiAob0RhdGFGaWVsZC4kVHlwZSAmJiBvRGF0YUZpZWxkLiRUeXBlID09PSBcImNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkRhdGFGaWVsZEZvckFubm90YXRpb25cIikge1xuXHRcdHNJZFBhcnQgPSBcIkRhdGFGaWVsZEZvckFubm90YXRpb246OlwiO1xuXHRcdHNJZFBhcnQgKz0gcHJlcGFyZUlkKG9EYXRhRmllbGQuVGFyZ2V0LiRBbm5vdGF0aW9uUGF0aCB8fCBvRGF0YUZpZWxkLlRhcmdldC52YWx1ZSk7XG5cdFx0cmV0dXJuIHNJZFBhcnQ7XG5cdH0gZWxzZSBpZiAob0RhdGFGaWVsZC4kVHlwZSAmJiBvRGF0YUZpZWxkLiRUeXBlID09PSBcImNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkRhdGFGaWVsZFdpdGhBY3Rpb25cIikge1xuXHRcdHNJZFBhcnQgPSBcIkRhdGFGaWVsZFdpdGhBY3Rpb246OlwiO1xuXHRcdGlmIChvRGF0YUZpZWxkLlZhbHVlKSB7XG5cdFx0XHRzSWRQYXJ0ICs9IGdldFN0YWJsZUlkUGFydEZyb21WYWx1ZShvRGF0YUZpZWxkLlZhbHVlKSArIFwiOjpcIjtcblx0XHR9XG5cdFx0c0lkUGFydCArPSBvRGF0YUZpZWxkLkFjdGlvbjtcblx0XHRyZXR1cm4gcHJlcGFyZUlkKHNJZFBhcnQpO1xuXHR9IGVsc2UgaWYgKG9EYXRhRmllbGQuJFR5cGUgJiYgb0RhdGFGaWVsZC4kVHlwZSA9PT0gXCJjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5EYXRhRmllbGRcIikge1xuXHRcdHNJZFBhcnQgPSBcIkRhdGFGaWVsZDo6XCI7XG5cdFx0c0lkUGFydCArPSBnZXRTdGFibGVJZFBhcnRGcm9tVmFsdWUob0RhdGFGaWVsZC5WYWx1ZSk7XG5cdFx0cmV0dXJuIHByZXBhcmVJZChzSWRQYXJ0KTtcblx0fSBlbHNlIGlmIChvRGF0YUZpZWxkLiRUeXBlICYmIG9EYXRhRmllbGQuJFR5cGUgPT09IFwiY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YUZpZWxkV2l0aEludGVudEJhc2VkTmF2aWdhdGlvblwiKSB7XG5cdFx0c0lkUGFydCA9IFwiRGF0YUZpZWxkV2l0aEludGVudEJhc2VkTmF2aWdhdGlvbjo6XCI7XG5cdFx0c0lkUGFydCArPSBnZXRTdGFibGVJZFBhcnRGcm9tVmFsdWUob0RhdGFGaWVsZC5WYWx1ZSkgKyBcIjo6XCI7XG5cdFx0c0lkUGFydCArPSBnZXRTdGFibGVJZFBhcnRGcm9tU2VtYW50aWNPYmplY3RBbmRBY3Rpb24ob0RhdGFGaWVsZCk7XG5cdFx0cmV0dXJuIHByZXBhcmVJZChzSWRQYXJ0KTtcblx0fSBlbHNlIGlmIChvRGF0YUZpZWxkLiRUeXBlICYmIG9EYXRhRmllbGQuJFR5cGUgPT09IFwiY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YUZpZWxkV2l0aE5hdmlnYXRpb25QYXRoXCIpIHtcblx0XHRzSWRQYXJ0ID0gXCJEYXRhRmllbGRXaXRoTmF2aWdhdGlvblBhdGg6OlwiO1xuXHRcdHNJZFBhcnQgKz0gZ2V0U3RhYmxlSWRQYXJ0RnJvbVZhbHVlKG9EYXRhRmllbGQuVmFsdWUpO1xuXHRcdGlmIChvRGF0YUZpZWxkLlRhcmdldCAmJiBvRGF0YUZpZWxkLlRhcmdldFtcIiROYXZpZ2F0aW9uUHJvcGVydHlQYXRoXCJdKSB7XG5cdFx0XHRzSWRQYXJ0ICs9IFwiOjpcIiArIG9EYXRhRmllbGQuVGFyZ2V0W1wiJE5hdmlnYXRpb25Qcm9wZXJ0eVBhdGhcIl07XG5cdFx0fVxuXHRcdHJldHVybiBwcmVwYXJlSWQoc0lkUGFydCk7XG5cdH0gZWxzZSBpZiAob0RhdGFGaWVsZC4kVHlwZSAmJiBvRGF0YUZpZWxkLiRUeXBlID09PSBcImNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkRhdGFGaWVsZFdpdGhVcmxcIikge1xuXHRcdHNJZFBhcnQgPSBcIkRhdGFGaWVsZFdpdGhVcmw6OlwiO1xuXHRcdHNJZFBhcnQgKz0gZ2V0U3RhYmxlSWRQYXJ0RnJvbVZhbHVlKG9EYXRhRmllbGQuVmFsdWUpO1xuXHRcdHJldHVybiBwcmVwYXJlSWQoc0lkUGFydCk7XG5cdH0gZWxzZSBpZiAobVBhcmFtZXRlciAmJiBtUGFyYW1ldGVyLmNvbnRleHQgJiYgbVBhcmFtZXRlci5jb250ZXh0LmdldE9iamVjdChcIkBzYXB1aS5uYW1lXCIpKSB7XG5cdFx0Ly8gdGhlIGNvbnRleHQgaXMgbm90IHJlZmVycmluZyB0byBkYSBkYXRhIGZpZWxkIGJ1dCBkaXJlY3RseSB0byBhIHByb3BlcnR5LCByZXR1cm4gdGhlIHByb3BlcnR5IG5hbWVcblx0XHRyZXR1cm4gcHJlcGFyZUlkKG1QYXJhbWV0ZXIuY29udGV4dC5nZXRPYmplY3QoXCJAc2FwdWkubmFtZVwiKS50b1N0cmluZygpKTtcblx0fSBlbHNlIHtcblx0XHQvLyBJbiBjYXNlIG9mIGEgc3RyaW5nIG9yIHVua25vd24gcHJvcGVydHlcblx0XHQvLyBMb2cuZXJyb3IoXCJTdGFibGUgSUQgSGVscGVyOiBVbmFibGUgdG8gY3JlYXRlIGEgc3RhYmxlIElELiBQbGVhc2UgY2hlY2sgdGhlIGFubm90YXRpb25zLlwiKTtcblx0fVxuXHRyZXR1cm4gdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IGNvbnN0IHByZXBhcmVJZCA9IGZ1bmN0aW9uIChzSWQ6IHN0cmluZykge1xuXHRzSWQgPSByZXBsYWNlU3BlY2lhbENoYXJzKHJlbW92ZU5hbWVzcGFjZXMoc0lkKSk7XG5cdGlmIChpc1ZhbGlkKHNJZCkpIHtcblx0XHRyZXR1cm4gc0lkO1xuXHR9IGVsc2Uge1xuXHRcdC8vIExvZy5lcnJvcihzSWQgKyBcIiAtIFN0YWJsZSBJZCBjb3VsZCBub3QgYmUgZ2VuZXJhdGVkIGR1ZSB0byBpbnN1ZmZpY2llbnQgaW5mb3JtYXRpb24uXCIpO1xuXHRcdHRocm93IHNJZCArIFwiIC0gU3RhYmxlIElkIGNvdWxkIG5vdCBiZSBnZW5lcmF0ZWQgZHVlIHRvIGluc3VmZmljaWVudCBpbmZvcm1hdGlvbi5cIjtcblx0fVxufTtcbiJdfQ==
@@ -1,7 +1,3 @@
1
- /*!
2
- * ${copyright}
3
- */
4
-
5
1
  import Context from "sap/ui/model/Context";
6
2
 
7
3
  /**
@@ -98,7 +94,7 @@ function getStableIdPartFromValue(oValue: any) {
98
94
  * @param {Array<(string|object)>} aStableIdParts Array of strings and objects
99
95
  * @returns {string} Stable Id constructed from the provided parameters
100
96
  */
101
- export const generate = function(aStableIdParts: Array<string | object>) {
97
+ export const generate = function (aStableIdParts: Array<string | object>) {
102
98
  let sStableId = "",
103
99
  vElement: any,
104
100
  sFacetId;
@@ -128,6 +124,10 @@ export const generate = function(aStableIdParts: Array<string | object>) {
128
124
  } else {
129
125
  sFacetId = vElement.Facet.Target.$AnnotationPath || vElement.Facet.Target.value; // Compliant with Converters
130
126
  }
127
+ } else if (vElement.Facet.$Type && vElement.Facet.$Type === "com.sap.vocabularies.UI.v1.FieldGroupType") {
128
+ if (vElement.Facet.Label) {
129
+ sFacetId = vElement.Facet.Label;
130
+ }
131
131
  }
132
132
  if (sFacetId) {
133
133
  sStableId += sFacetId;
@@ -141,7 +141,7 @@ export const generate = function(aStableIdParts: Array<string | object>) {
141
141
  sStableId = prepareId(sStableId);
142
142
  return sStableId;
143
143
  };
144
- export const getStableIdPartFromSemanticObjectAndAction = function(oDataField: any): string {
144
+ export const getStableIdPartFromSemanticObjectAndAction = function (oDataField: any): string {
145
145
  let sIdPart = "";
146
146
  if (typeof oDataField.SemanticObject == "string") {
147
147
  sIdPart += oDataField.SemanticObject;
@@ -159,7 +159,7 @@ export const getStableIdPartFromSemanticObjectAndAction = function(oDataField: a
159
159
  return sIdPart;
160
160
  };
161
161
 
162
- export const getStableIdPartFromDataField = function(oDataField: any, mParameter: { context?: Context } = {}): string | undefined {
162
+ export const getStableIdPartFromDataField = function (oDataField: any, mParameter: { context?: Context } = {}): string | undefined {
163
163
  let sIdPart = "";
164
164
 
165
165
  if (oDataField.$Type && oDataField.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAction") {
@@ -211,7 +211,7 @@ export const getStableIdPartFromDataField = function(oDataField: any, mParameter
211
211
  return undefined;
212
212
  };
213
213
 
214
- export const prepareId = function(sId: string) {
214
+ export const prepareId = function (sId: string) {
215
215
  sId = replaceSpecialChars(removeNamespaces(sId));
216
216
  if (isValid(sId)) {
217
217
  return sId;
@@ -40,4 +40,4 @@ sap.ui.define([], function () {
40
40
 
41
41
  return Synchronization;
42
42
  }, false);
43
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlN5bmNocm9uaXphdGlvbi50cyJdLCJuYW1lcyI6WyJTeW5jaHJvbml6YXRpb24iLCJfZm5SZXNvbHZlIiwiX2lzUmVzb2x2ZWQiLCJ3YWl0Rm9yIiwiUHJvbWlzZSIsInJlc29sdmUiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7TUFGTUEsZTtBQUdMLCtCQUFjO0FBQ2IsV0FBS0MsVUFBTCxHQUFrQixJQUFsQjtBQUNBLFdBQUtDLFdBQUwsR0FBbUIsS0FBbkI7QUFDQTs7OztXQUVEQyxPLEdBQUEsbUJBQVU7QUFBQTs7QUFDVCxVQUFJLEtBQUtELFdBQVQsRUFBc0I7QUFDckIsZUFBT0UsT0FBTyxDQUFDQyxPQUFSLEVBQVA7QUFDQSxPQUZELE1BRU87QUFDTixlQUFPLElBQUlELE9BQUosQ0FBWSxVQUFBQyxPQUFPLEVBQUk7QUFDN0IsVUFBQSxLQUFJLENBQUNKLFVBQUwsR0FBa0JJLE9BQWxCO0FBQ0EsU0FGTSxDQUFQO0FBR0E7QUFDRCxLOztXQUVEQSxPLEdBQUEsbUJBQVU7QUFDVCxVQUFJLENBQUMsS0FBS0gsV0FBVixFQUF1QjtBQUN0QixhQUFLQSxXQUFMLEdBQW1CLElBQW5COztBQUNBLFlBQUksS0FBS0QsVUFBVCxFQUFxQjtBQUNwQixlQUFLQSxVQUFMO0FBQ0E7QUFDRDtBQUNELEs7Ozs7O1NBR2FELGUiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImNsYXNzIFN5bmNocm9uaXphdGlvbiB7XG5cdHByaXZhdGUgX2ZuUmVzb2x2ZTogRnVuY3Rpb24gfCBudWxsO1xuXHRwcml2YXRlIF9pc1Jlc29sdmVkOiBib29sZWFuO1xuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHR0aGlzLl9mblJlc29sdmUgPSBudWxsO1xuXHRcdHRoaXMuX2lzUmVzb2x2ZWQgPSBmYWxzZTtcblx0fVxuXG5cdHdhaXRGb3IoKSB7XG5cdFx0aWYgKHRoaXMuX2lzUmVzb2x2ZWQpIHtcblx0XHRcdHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuXHRcdFx0XHR0aGlzLl9mblJlc29sdmUgPSByZXNvbHZlO1xuXHRcdFx0fSk7XG5cdFx0fVxuXHR9XG5cblx0cmVzb2x2ZSgpIHtcblx0XHRpZiAoIXRoaXMuX2lzUmVzb2x2ZWQpIHtcblx0XHRcdHRoaXMuX2lzUmVzb2x2ZWQgPSB0cnVlO1xuXHRcdFx0aWYgKHRoaXMuX2ZuUmVzb2x2ZSkge1xuXHRcdFx0XHR0aGlzLl9mblJlc29sdmUoKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgU3luY2hyb25pemF0aW9uO1xuIl19
43
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlN5bmNocm9uaXphdGlvbi50cyJdLCJuYW1lcyI6WyJTeW5jaHJvbml6YXRpb24iLCJfZm5SZXNvbHZlIiwiX2lzUmVzb2x2ZWQiLCJ3YWl0Rm9yIiwiUHJvbWlzZSIsInJlc29sdmUiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7TUFGTUEsZTtBQUdMLCtCQUFjO0FBQ2IsV0FBS0MsVUFBTCxHQUFrQixJQUFsQjtBQUNBLFdBQUtDLFdBQUwsR0FBbUIsS0FBbkI7QUFDQTs7OztXQUVEQyxPLEdBQUEsbUJBQVU7QUFBQTs7QUFDVCxVQUFJLEtBQUtELFdBQVQsRUFBc0I7QUFDckIsZUFBT0UsT0FBTyxDQUFDQyxPQUFSLEVBQVA7QUFDQSxPQUZELE1BRU87QUFDTixlQUFPLElBQUlELE9BQUosQ0FBWSxVQUFDQyxPQUFELEVBQWE7QUFDL0IsVUFBQSxLQUFJLENBQUNKLFVBQUwsR0FBa0JJLE9BQWxCO0FBQ0EsU0FGTSxDQUFQO0FBR0E7QUFDRCxLOztXQUVEQSxPLEdBQUEsbUJBQVU7QUFDVCxVQUFJLENBQUMsS0FBS0gsV0FBVixFQUF1QjtBQUN0QixhQUFLQSxXQUFMLEdBQW1CLElBQW5COztBQUNBLFlBQUksS0FBS0QsVUFBVCxFQUFxQjtBQUNwQixlQUFLQSxVQUFMO0FBQ0E7QUFDRDtBQUNELEs7Ozs7O1NBR2FELGUiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImNsYXNzIFN5bmNocm9uaXphdGlvbiB7XG5cdHByaXZhdGUgX2ZuUmVzb2x2ZTogRnVuY3Rpb24gfCBudWxsO1xuXHRwcml2YXRlIF9pc1Jlc29sdmVkOiBib29sZWFuO1xuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHR0aGlzLl9mblJlc29sdmUgPSBudWxsO1xuXHRcdHRoaXMuX2lzUmVzb2x2ZWQgPSBmYWxzZTtcblx0fVxuXG5cdHdhaXRGb3IoKSB7XG5cdFx0aWYgKHRoaXMuX2lzUmVzb2x2ZWQpIHtcblx0XHRcdHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG5cdFx0XHRcdHRoaXMuX2ZuUmVzb2x2ZSA9IHJlc29sdmU7XG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHRyZXNvbHZlKCkge1xuXHRcdGlmICghdGhpcy5faXNSZXNvbHZlZCkge1xuXHRcdFx0dGhpcy5faXNSZXNvbHZlZCA9IHRydWU7XG5cdFx0XHRpZiAodGhpcy5fZm5SZXNvbHZlKSB7XG5cdFx0XHRcdHRoaXMuX2ZuUmVzb2x2ZSgpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5leHBvcnQgZGVmYXVsdCBTeW5jaHJvbml6YXRpb247XG4iXX0=
@@ -10,7 +10,7 @@ class Synchronization {
10
10
  if (this._isResolved) {
11
11
  return Promise.resolve();
12
12
  } else {
13
- return new Promise(resolve => {
13
+ return new Promise((resolve) => {
14
14
  this._fnResolve = resolve;
15
15
  });
16
16
  }
@@ -37,11 +37,37 @@ sap.ui.define([], function () {
37
37
  }
38
38
  };
39
39
 
40
- var jsx = function (type, mSettings) {
40
+ var FL_DELEGATE = "fl:delegate";
41
+
42
+ var jsx = function (type, mSettings, key) {
41
43
  var metadata = type.getMetadata();
42
44
  var namesSplit = metadata.getName().split(".");
45
+
46
+ if (key !== undefined) {
47
+ mSettings["key"] = key;
48
+ }
49
+
43
50
  var metadataProperties = metadata.getAllProperties();
44
51
  var metadataAggregations = metadata.getAllAggregations();
52
+ metadataProperties["class"] = {
53
+ name: "class"
54
+ };
55
+ metadataProperties["id"] = {
56
+ name: "id"
57
+ };
58
+ metadataProperties[FL_DELEGATE] = {
59
+ name: FL_DELEGATE
60
+ };
61
+ metadataProperties["xmlns:fl"] = {
62
+ name: FL_DELEGATE
63
+ };
64
+
65
+ if (metadata.getName() === "sap.ui.core.Fragment") {
66
+ metadataProperties["fragmentName"] = {
67
+ name: "fragmentName"
68
+ };
69
+ }
70
+
45
71
  var namespace = namesSplit.slice(0, -1);
46
72
  var name = namesSplit[namesSplit.length - 1];
47
73
  var namespaceAlias = namespace[namespace.length - 1];
@@ -50,8 +76,12 @@ sap.ui.define([], function () {
50
76
  var aggregationString = [];
51
77
  var defaultAggregationName = metadata.getDefaultAggregationName();
52
78
  Object.keys(metadataProperties).forEach(function (propertyName) {
53
- if (mSettings.hasOwnProperty(propertyName)) {
54
- propertiesString.push("".concat(propertyName, "=\"").concat(mSettings[propertyName], "\""));
79
+ if (mSettings.hasOwnProperty(propertyName) && mSettings[propertyName] !== undefined) {
80
+ if (typeof mSettings[propertyName] === "object") {
81
+ propertiesString.push("".concat(propertyName, "='").concat(JSON.stringify(mSettings[propertyName]), "'"));
82
+ } else {
83
+ propertiesString.push("".concat(propertyName, "='").concat(mSettings[propertyName], "'"));
84
+ }
55
85
  }
56
86
  });
57
87
 
@@ -63,7 +93,7 @@ sap.ui.define([], function () {
63
93
  aggregationString.push("<".concat(namespaceAlias, ":").concat(aggregationName, ">\n\t\t\t\t\t\t").concat(writeChildren(aggregationChildren[aggregationName]), "\n\t\t\t\t\t</").concat(namespaceAlias, ":").concat(aggregationName, ">"));
64
94
  }
65
95
 
66
- if (mSettings.hasOwnProperty(aggregationName)) {
96
+ if (mSettings.hasOwnProperty(aggregationName) && mSettings[aggregationName] !== undefined) {
67
97
  propertiesString.push("".concat(aggregationName, "='").concat(JSON.stringify(mSettings[aggregationName]), "'"));
68
98
  }
69
99
  });
@@ -72,4 +102,4 @@ sap.ui.define([], function () {
72
102
 
73
103
  return jsx;
74
104
  }, false);
75
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImpzeC50cyJdLCJuYW1lcyI6WyJ3cml0ZUNoaWxkcmVuIiwidmFsIiwiQXJyYXkiLCJpc0FycmF5Iiwiam9pbiIsImFkZENoaWxkQWdncmVnYXRpb24iLCJhZ2dyZWdhdGlvbkNoaWxkcmVuIiwiYWdncmVnYXRpb25OYW1lIiwiY2hpbGQiLCJ1bmRlZmluZWQiLCJ0cmltIiwibGVuZ3RoIiwicHVzaCIsImZvckVhY2giLCJzdWJDaGlsZCIsIk9iamVjdCIsImtleXMiLCJjaGlsZEtleSIsImpzeCIsInR5cGUiLCJtU2V0dGluZ3MiLCJtZXRhZGF0YSIsImdldE1ldGFkYXRhIiwibmFtZXNTcGxpdCIsImdldE5hbWUiLCJzcGxpdCIsIm1ldGFkYXRhUHJvcGVydGllcyIsImdldEFsbFByb3BlcnRpZXMiLCJtZXRhZGF0YUFnZ3JlZ2F0aW9ucyIsImdldEFsbEFnZ3JlZ2F0aW9ucyIsIm5hbWVzcGFjZSIsInNsaWNlIiwibmFtZSIsIm5hbWVzcGFjZUFsaWFzIiwidGFnTmFtZSIsInByb3BlcnRpZXNTdHJpbmciLCJhZ2dyZWdhdGlvblN0cmluZyIsImRlZmF1bHRBZ2dyZWdhdGlvbk5hbWUiLCJnZXREZWZhdWx0QWdncmVnYXRpb25OYW1lIiwicHJvcGVydHlOYW1lIiwiaGFzT3duUHJvcGVydHkiLCJjaGlsZHJlbiIsIkpTT04iLCJzdHJpbmdpZnkiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7OztBQVVBLE1BQU1BLGFBQWEsR0FBRyxVQUFTQyxHQUFULEVBQWlDO0FBQ3RELFFBQUlDLEtBQUssQ0FBQ0MsT0FBTixDQUFjRixHQUFkLENBQUosRUFBd0I7QUFDdkIsYUFBT0EsR0FBRyxDQUFDRyxJQUFKLENBQVMsRUFBVCxDQUFQO0FBQ0EsS0FGRCxNQUVPO0FBQ04sYUFBT0gsR0FBUDtBQUNBO0FBQ0QsR0FORDs7QUFRQSxNQUFNSSxtQkFBbUIsR0FBRyxVQUFTQyxtQkFBVCxFQUFtQ0MsZUFBbkMsRUFBNERDLEtBQTVELEVBQXdFO0FBQ25H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QyxlQUFwQyxLQUF3REQsbUJBQW1CLENBQUNDLGVBQUQsQ0FBbkIsQ0FBcUNJLE1BQXJDLEdBQThDLENBQTFHLEVBQTZHO0FBQzVHeUIsUUFBQUEsaUJBQWlCLENBQUN4QixJQUFsQixZQUNLcUIsY0FETCxjQUN1QjFCLGVBRHZCLDRCQUVLUCxhQUFhLENBQUNNLG1CQUFtQixDQUFDQyxlQUFELENBQXBCLENBRmxCLDJCQUdNMEIsY0FITixjQUd3QjFCLGVBSHhCO0FBS0E7O0FBQ0QsVUFBSWEsU0FBUyxDQUFDb0IsY0FBVixDQUF5QmpDLGVBQXpCLENBQUosRUFBK0M7QUFDOUM0QixRQUFBQSxnQkFBZ0IsQ0FBQ3ZCLElBQWpCLFdBQXlCTCxlQUF6QixlQUE2Q21DLElBQUksQ0FBQ0MsU0FBTCxDQUFnQnZCLFNBQUQsQ0FBbUJiLGVBQW5CLENBQWYsQ0FBN0M7QUFDQTtBQUNELEtBWEQ7QUFZQSxzQkFBVzJCLE9BQVgsb0JBQTRCRCxjQUE1QixnQkFBK0NILFNBQVMsQ0FBQzFCLElBQVYsQ0FBZSxHQUFmLENBQS9DLGdCQUF1RStCLGdCQUFnQixDQUFDL0IsSUFBakIsQ0FBc0IsR0FBdEIsQ0FBdkUsY0FBcUdnQyxpQkFBaUIsQ0FBQ2hDLElBQWxCLENBQ3BHLEVBRG9HLENBQXJHLGVBRU04QixPQUZOO0FBR0EsR0F6Q0Q7O1NBMENlaEIsRyIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IE1hbmFnZWRPYmplY3RNZXRhZGF0YSBmcm9tIFwic2FwL3VpL2Jhc2UvTWFuYWdlZE9iamVjdE1ldGFkYXRhXCI7XG5cbnR5cGUgQ29udHJvbFByb3BlcnR5TmFtZXM8VD4gPSB7XG5cdFtLIGluIGtleW9mIFRdOiBUW0tdIGV4dGVuZHMgc3RyaW5nIHwgYm9vbGVhbiB8IEZ1bmN0aW9uIHwgbnVtYmVyIHwgdW5kZWZpbmVkIHwgc3RyaW5nW10gPyBuZXZlciA6IEs7XG59W2tleW9mIFRdO1xudHlwZSBDb250cm9sUHJvcGVydGllczxUPiA9IFBhcnRpYWw8UmVjb3JkPENvbnRyb2xQcm9wZXJ0eU5hbWVzPFQ+LCBKU1guRWxlbWVudD4+O1xudHlwZSBOb25Db250cm9sUHJvcGVydGllczxUPiA9IFBhcnRpYWw8T21pdDxULCBDb250cm9sUHJvcGVydHlOYW1lczxUPj4+O1xudHlwZSBDb250cm9sV2l0aE1ldGFkYXRhID0ge1xuXHRnZXRNZXRhZGF0YSgpOiBNYW5hZ2VkT2JqZWN0TWV0YWRhdGE7XG59O1xuZXhwb3J0IHR5cGUgV3JhcHBlZENvbnRyb2w8VD4gPSAobVNldHRpbmdzOiBOb25Db250cm9sUHJvcGVydGllczxUPiAmIHsgY2hpbGRyZW4/OiBKU1guRWxlbWVudCB8IENvbnRyb2xQcm9wZXJ0aWVzPFQ+IH0pID0+IEpTWC5FbGVtZW50O1xuXG5jb25zdCB3cml0ZUNoaWxkcmVuID0gZnVuY3Rpb24odmFsOiBzdHJpbmcgfCBzdHJpbmdbXSkge1xuXHRpZiAoQXJyYXkuaXNBcnJheSh2YWwpKSB7XG5cdFx0cmV0dXJuIHZhbC5qb2luKFwiXCIpO1xuXHR9IGVsc2Uge1xuXHRcdHJldHVybiB2YWw7XG5cdH1cbn07XG5cbmNvbnN0IGFkZENoaWxkQWdncmVnYXRpb24gPSBmdW5jdGlvbihhZ2dyZWdhdGlvbkNoaWxkcmVuOiBhbnksIGFnZ3JlZ2F0aW9uTmFtZTogc3RyaW5nLCBjaGlsZDogYW55KSB7XG5cdGlmIChjaGlsZCA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0cmV0dXJuO1xuXHR9XG5cdGlmICghYWdncmVnYXRpb25DaGlsZHJlblthZ2dyZWdhdGlvbk5hbWVdKSB7XG5cdFx0YWdncmVnYXRpb25DaGlsZHJlblthZ2dyZWdhdGlvbk5hbWVdID0gW107XG5cdH1cblx0aWYgKHR5cGVvZiBjaGlsZCA9PT0gXCJzdHJpbmdcIiAmJiBjaGlsZC50cmltKCkubGVuZ3RoID4gMCkge1xuXHRcdGFnZ3JlZ2F0aW9uQ2hpbGRyZW5bYWdncmVnYXRpb25OYW1lXS5wdXNoKGNoaWxkKTtcblx0fSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGNoaWxkKSkge1xuXHRcdGNoaWxkLmZvckVhY2goc3ViQ2hpbGQgPT4ge1xuXHRcdFx0YWRkQ2hpbGRBZ2dyZWdhdGlvbihhZ2dyZWdhdGlvbkNoaWxkcmVuLCBhZ2dyZWdhdGlvbk5hbWUsIHN1YkNoaWxkKTtcblx0XHR9KTtcblx0fSBlbHNlIHtcblx0XHRPYmplY3Qua2V5cyhjaGlsZCkuZm9yRWFjaChjaGlsZEtleSA9PiB7XG5cdFx0XHRhZGRDaGlsZEFnZ3JlZ2F0aW9uKGFnZ3JlZ2F0aW9uQ2hpbGRyZW4sIGNoaWxkS2V5LCBjaGlsZFtjaGlsZEtleV0pO1xuXHRcdH0pO1xuXHR9XG59O1xuXG5jb25zdCBqc3ggPSBmdW5jdGlvbjxUPihcblx0dHlwZTogQ29udHJvbFdpdGhNZXRhZGF0YSxcblx0bVNldHRpbmdzOiBOb25Db250cm9sUHJvcGVydGllczxUPiAmIHsgY2hpbGRyZW4/OiBKU1guRWxlbWVudCB8IENvbnRyb2xQcm9wZXJ0aWVzPFQ+IH1cbik6IHN0cmluZyB7XG5cdGNvbnN0IG1ldGFkYXRhID0gdHlwZS5nZXRNZXRhZGF0YSgpO1xuXHRjb25zdCBuYW1lc1NwbGl0ID0gbWV0YWRhdGEuZ2V0TmFtZSgpLnNwbGl0KFwiLlwiKTtcblxuXHRjb25zdCBtZXRhZGF0YVByb3BlcnRpZXM6IHsgbmFtZTogc3RyaW5nIH1bXSA9IChtZXRhZGF0YS5nZXRBbGxQcm9wZXJ0aWVzKCkgYXMgdW5rbm93bikgYXMgeyBuYW1lOiBzdHJpbmcgfVtdO1xuXHRjb25zdCBtZXRhZGF0YUFnZ3JlZ2F0aW9uczogeyBuYW1lOiBzdHJpbmcgfVtdID0gKG1ldGFkYXRhLmdldEFsbEFnZ3JlZ2F0aW9ucygpIGFzIHVua25vd24pIGFzIHsgbmFtZTogc3RyaW5nIH1bXTtcblxuXHRjb25zdCBuYW1lc3BhY2UgPSBuYW1lc1NwbGl0LnNsaWNlKDAsIC0xKTtcblx0Y29uc3QgbmFtZSA9IG5hbWVzU3BsaXRbbmFtZXNTcGxpdC5sZW5ndGggLSAxXTtcblx0Y29uc3QgbmFtZXNwYWNlQWxpYXMgPSBuYW1lc3BhY2VbbmFtZXNwYWNlLmxlbmd0aCAtIDFdO1xuXHRjb25zdCB0YWdOYW1lID0gYCR7bmFtZXNwYWNlQWxpYXN9OiR7bmFtZX1gO1xuXHRjb25zdCBwcm9wZXJ0aWVzU3RyaW5nOiBzdHJpbmdbXSA9IFtdO1xuXHRjb25zdCBhZ2dyZWdhdGlvblN0cmluZzogc3RyaW5nW10gPSBbXTtcblx0Y29uc3QgZGVmYXVsdEFnZ3JlZ2F0aW9uTmFtZSA9IG1ldGFkYXRhLmdldERlZmF1bHRBZ2dyZWdhdGlvbk5hbWUoKTtcblx0T2JqZWN0LmtleXMobWV0YWRhdGFQcm9wZXJ0aWVzKS5mb3JFYWNoKHByb3BlcnR5TmFtZSA9PiB7XG5cdFx0aWYgKG1TZXR0aW5ncy5oYXNPd25Qcm9wZXJ0eShwcm9wZXJ0eU5hbWUpKSB7XG5cdFx0XHRwcm9wZXJ0aWVzU3RyaW5nLnB1c2goYCR7cHJvcGVydHlOYW1lfT1cIiR7KG1TZXR0aW5ncyBhcyBhbnkpW3Byb3BlcnR5TmFtZV19XCJgKTtcblx0XHR9XG5cdH0pO1xuXHRjb25zdCBhZ2dyZWdhdGlvbkNoaWxkcmVuOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4gPSB7XG5cdFx0W2RlZmF1bHRBZ2dyZWdhdGlvbk5hbWVdOiBbXVxuXHR9O1xuXHRhZGRDaGlsZEFnZ3JlZ2F0aW9uKGFnZ3JlZ2F0aW9uQ2hpbGRyZW4sIGRlZmF1bHRBZ2dyZWdhdGlvbk5hbWUsIG1TZXR0aW5ncy5jaGlsZHJlbik7XG5cdE9iamVjdC5rZXlzKG1ldGFkYXRhQWdncmVnYXRpb25zKS5mb3JFYWNoKGFnZ3JlZ2F0aW9uTmFtZSA9PiB7XG5cdFx0aWYgKGFnZ3JlZ2F0aW9uQ2hpbGRyZW4/Lmhhc093blByb3BlcnR5KGFnZ3JlZ2F0aW9uTmFtZSkgJiYgYWdncmVnYXRpb25DaGlsZHJlblthZ2dyZWdhdGlvbk5hbWVdLmxlbmd0aCA+IDApIHtcblx0XHRcdGFnZ3JlZ2F0aW9uU3RyaW5nLnB1c2goXG5cdFx0XHRcdGA8JHtuYW1lc3BhY2VBbGlhc306JHthZ2dyZWdhdGlvbk5hbWV9PlxuXHRcdFx0XHRcdFx0JHt3cml0ZUNoaWxkcmVuKGFnZ3JlZ2F0aW9uQ2hpbGRyZW5bYWdncmVnYXRpb25OYW1lXSl9XG5cdFx0XHRcdFx0PC8ke25hbWVzcGFjZUFsaWFzfToke2FnZ3JlZ2F0aW9uTmFtZX0+YFxuXHRcdFx0KTtcblx0XHR9XG5cdFx0aWYgKG1TZXR0aW5ncy5oYXNPd25Qcm9wZXJ0eShhZ2dyZWdhdGlvbk5hbWUpKSB7XG5cdFx0XHRwcm9wZXJ0aWVzU3RyaW5nLnB1c2goYCR7YWdncmVnYXRpb25OYW1lfT0nJHtKU09OLnN0cmluZ2lmeSgobVNldHRpbmdzIGFzIGFueSlbYWdncmVnYXRpb25OYW1lXSl9J2ApO1xuXHRcdH1cblx0fSk7XG5cdHJldHVybiBgPCR7dGFnTmFtZX0geG1sbnM6JHtuYW1lc3BhY2VBbGlhc309XCIke25hbWVzcGFjZS5qb2luKFwiLlwiKX1cIiAke3Byb3BlcnRpZXNTdHJpbmcuam9pbihcIiBcIil9PiR7YWdncmVnYXRpb25TdHJpbmcuam9pbihcblx0XHRcIlwiXG5cdCl9PC8ke3RhZ05hbWV9PmA7XG59O1xuZXhwb3J0IGRlZmF1bHQganN4O1xuIl19
105
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImpzeC50cyJdLCJuYW1lcyI6WyJ3cml0ZUNoaWxkcmVuIiwidmFsIiwiQXJyYXkiLCJpc0FycmF5Iiwiam9pbiIsImFkZENoaWxkQWdncmVnYXRpb24iLCJhZ2dyZWdhdGlvbkNoaWxkcmVuIiwiYWdncmVnYXRpb25OYW1lIiwiY2hpbGQiLCJ1bmRlZmluZWQiLCJ0cmltIiwibGVuZ3RoIiwicHVzaCIsImZvckVhY2giLCJzdWJDaGlsZCIsIk9iamVjdCIsImtleXMiLCJjaGlsZEtleSIsIkZMX0RFTEVHQVRFIiwianN4IiwidHlwZSIsIm1TZXR0aW5ncyIsImtleSIsIm1ldGFkYXRhIiwiZ2V0TWV0YWRhdGEiLCJuYW1lc1NwbGl0IiwiZ2V0TmFtZSIsInNwbGl0IiwibWV0YWRhdGFQcm9wZXJ0aWVzIiwiZ2V0QWxsUHJvcGVydGllcyIsIm1ldGFkYXRhQWdncmVnYXRpb25zIiwiZ2V0QWxsQWdncmVnYXRpb25zIiwibmFtZSIsIm5hbWVzcGFjZSIsInNsaWNlIiwibmFtZXNwYWNlQWxpYXMiLCJ0YWdOYW1lIiwicHJvcGVydGllc1N0cmluZyIsImFnZ3JlZ2F0aW9uU3RyaW5nIiwiZGVmYXVsdEFnZ3JlZ2F0aW9uTmFtZSIsImdldERlZmF1bHRBZ2dyZWdhdGlvbk5hbWUiLCJwcm9wZXJ0eU5hbWUiLCJoYXNPd25Qcm9wZXJ0eSIsIkpTT04iLCJzdHJpbmdpZnkiLCJjaGlsZHJlbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7O0FBVUEsTUFBTUEsYUFBYSxHQUFHLFVBQVNDLEdBQVQsRUFBaUM7QUFDdEQsUUFBSUMsS0FBSyxDQUFDQyxPQUFOLENBQWNGLEdBQWQsQ0FBSixFQUF3QjtBQUN2QixhQUFPQSxHQUFHLENBQUNHLElBQUosQ0FBUyxFQUFULENBQVA7QUFDQSxLQUZELE1BRU87QUFDTixhQUFPSCxHQUFQO0FBQ0E7QUFDRCxHQU5EOztBQVFBLE1BQU1JLG1CQUFtQixHQUFHLFVBQVNDLG1CQUFULEVBQW1DQyxlQUFuQyxFQUE0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Q0t1QixjQURMLGNBQ3VCNUIsZUFEdkIsNEJBRUtQLGFBQWEsQ0FBQ00sbUJBQW1CLENBQUNDLGVBQUQsQ0FBcEIsQ0FGbEIsMkJBR000QixjQUhOLGNBR3dCNUIsZUFIeEI7QUFLQTs7QUFDRCxVQUFJYyxTQUFTLENBQUNxQixjQUFWLENBQXlCbkMsZUFBekIsS0FBOENjLFNBQUQsQ0FBbUJkLGVBQW5CLE1BQXdDRSxTQUF6RixFQUFvRztBQUNuRzRCLFFBQUFBLGdCQUFnQixDQUFDekIsSUFBakIsV0FBeUJMLGVBQXpCLGVBQTZDb0MsSUFBSSxDQUFDQyxTQUFMLENBQWdCdkIsU0FBRCxDQUFtQmQsZUFBbkIsQ0FBZixDQUE3QztBQUNBO0FBQ0QsS0FYRDtBQVlBLHNCQUFXNkIsT0FBWCxvQkFBNEJELGNBQTVCLGdCQUErQ0YsU0FBUyxDQUFDN0IsSUFBVixDQUFlLEdBQWYsQ0FBL0MsZ0JBQXVFaUMsZ0JBQWdCLENBQUNqQyxJQUFqQixDQUFzQixHQUF0QixDQUF2RSxjQUFxR2tDLGlCQUFpQixDQUFDbEMsSUFBbEIsQ0FDcEcsRUFEb0csQ0FBckcsZUFFTWdDLE9BRk47QUFHQSxHQXRERDs7U0F1RGVqQixHIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTWFuYWdlZE9iamVjdE1ldGFkYXRhIGZyb20gXCJzYXAvdWkvYmFzZS9NYW5hZ2VkT2JqZWN0TWV0YWRhdGFcIjtcblxudHlwZSBDb250cm9sUHJvcGVydHlOYW1lczxUPiA9IHtcblx0W0sgaW4ga2V5b2YgVF06IFRbS10gZXh0ZW5kcyBzdHJpbmcgfCBib29sZWFuIHwgRnVuY3Rpb24gfCBudW1iZXIgfCB1bmRlZmluZWQgfCBzdHJpbmdbXSA/IG5ldmVyIDogSztcbn1ba2V5b2YgVF07XG50eXBlIENvbnRyb2xQcm9wZXJ0aWVzPFQ+ID0gUGFydGlhbDxSZWNvcmQ8Q29udHJvbFByb3BlcnR5TmFtZXM8VD4sIEpTWC5FbGVtZW50Pj47XG50eXBlIE5vbkNvbnRyb2xQcm9wZXJ0aWVzPFQ+ID0gUGFydGlhbDxPbWl0PFQsIENvbnRyb2xQcm9wZXJ0eU5hbWVzPFQ+Pj47XG50eXBlIENvbnRyb2xXaXRoTWV0YWRhdGEgPSB7XG5cdGdldE1ldGFkYXRhKCk6IE1hbmFnZWRPYmplY3RNZXRhZGF0YTtcbn07XG5leHBvcnQgdHlwZSBXcmFwcGVkQ29udHJvbDxUPiA9IChtU2V0dGluZ3M6IE5vbkNvbnRyb2xQcm9wZXJ0aWVzPFQ+ICYgeyBjaGlsZHJlbj86IEpTWC5FbGVtZW50IHwgQ29udHJvbFByb3BlcnRpZXM8VD4gfSkgPT4gSlNYLkVsZW1lbnQ7XG5cbmNvbnN0IHdyaXRlQ2hpbGRyZW4gPSBmdW5jdGlvbih2YWw6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG5cdGlmIChBcnJheS5pc0FycmF5KHZhbCkpIHtcblx0XHRyZXR1cm4gdmFsLmpvaW4oXCJcIik7XG5cdH0gZWxzZSB7XG5cdFx0cmV0dXJuIHZhbDtcblx0fVxufTtcblxuY29uc3QgYWRkQ2hpbGRBZ2dyZWdhdGlvbiA9IGZ1bmN0aW9uKGFnZ3JlZ2F0aW9uQ2hpbGRyZW46IGFueSwgYWdncmVnYXRpb25OYW1lOiBzdHJpbmcsIGNoaWxkOiBhbnkpIHtcblx0aWYgKGNoaWxkID09PSB1bmRlZmluZWQpIHtcblx0XHRyZXR1cm47XG5cdH1cblx0aWYgKCFhZ2dyZWdhdGlvbkNoaWxkcmVuW2FnZ3JlZ2F0aW9uTmFtZV0pIHtcblx0XHRhZ2dyZWdhdGlvbkNoaWxkcmVuW2FnZ3JlZ2F0aW9uTmFtZV0gPSBbXTtcblx0fVxuXHRpZiAodHlwZW9mIGNoaWxkID09PSBcInN0cmluZ1wiICYmIGNoaWxkLnRyaW0oKS5sZW5ndGggPiAwKSB7XG5cdFx0YWdncmVnYXRpb25DaGlsZHJlblthZ2dyZWdhdGlvbk5hbWVdLnB1c2goY2hpbGQpO1xuXHR9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoY2hpbGQpKSB7XG5cdFx0Y2hpbGQuZm9yRWFjaChzdWJDaGlsZCA9PiB7XG5cdFx0XHRhZGRDaGlsZEFnZ3JlZ2F0aW9uKGFnZ3JlZ2F0aW9uQ2hpbGRyZW4sIGFnZ3JlZ2F0aW9uTmFtZSwgc3ViQ2hpbGQpO1xuXHRcdH0pO1xuXHR9IGVsc2Uge1xuXHRcdE9iamVjdC5rZXlzKGNoaWxkKS5mb3JFYWNoKGNoaWxkS2V5ID0+IHtcblx0XHRcdGFkZENoaWxkQWdncmVnYXRpb24oYWdncmVnYXRpb25DaGlsZHJlbiwgY2hpbGRLZXksIGNoaWxkW2NoaWxkS2V5XSk7XG5cdFx0fSk7XG5cdH1cbn07XG5cbmNvbnN0IEZMX0RFTEVHQVRFID0gXCJmbDpkZWxlZ2F0ZVwiO1xuY29uc3QganN4ID0gZnVuY3Rpb248VD4oXG5cdHR5cGU6IENvbnRyb2xXaXRoTWV0YWRhdGEsXG5cdG1TZXR0aW5nczogTm9uQ29udHJvbFByb3BlcnRpZXM8VD4gJiB7IGtleTogc3RyaW5nOyBjaGlsZHJlbj86IEpTWC5FbGVtZW50IHwgQ29udHJvbFByb3BlcnRpZXM8VD4gfSxcblx0a2V5OiBzdHJpbmdcbik6IHN0cmluZyB7XG5cdGNvbnN0IG1ldGFkYXRhID0gdHlwZS5nZXRNZXRhZGF0YSgpO1xuXHRjb25zdCBuYW1lc1NwbGl0ID0gbWV0YWRhdGEuZ2V0TmFtZSgpLnNwbGl0KFwiLlwiKTtcblx0aWYgKGtleSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0bVNldHRpbmdzW1wia2V5XCJdID0ga2V5O1xuXHR9XG5cdGNvbnN0IG1ldGFkYXRhUHJvcGVydGllcyA9IG1ldGFkYXRhLmdldEFsbFByb3BlcnRpZXMoKTtcblx0Y29uc3QgbWV0YWRhdGFBZ2dyZWdhdGlvbnMgPSBtZXRhZGF0YS5nZXRBbGxBZ2dyZWdhdGlvbnMoKTtcblx0bWV0YWRhdGFQcm9wZXJ0aWVzW1wiY2xhc3NcIl0gPSB7IG5hbWU6IFwiY2xhc3NcIiB9O1xuXHRtZXRhZGF0YVByb3BlcnRpZXNbXCJpZFwiXSA9IHsgbmFtZTogXCJpZFwiIH07XG5cdG1ldGFkYXRhUHJvcGVydGllc1tGTF9ERUxFR0FURV0gPSB7IG5hbWU6IEZMX0RFTEVHQVRFIH07XG5cdG1ldGFkYXRhUHJvcGVydGllc1tcInhtbG5zOmZsXCJdID0geyBuYW1lOiBGTF9ERUxFR0FURSB9O1xuXHRpZiAobWV0YWRhdGEuZ2V0TmFtZSgpID09PSBcInNhcC51aS5jb3JlLkZyYWdtZW50XCIpIHtcblx0XHRtZXRhZGF0YVByb3BlcnRpZXNbXCJmcmFnbWVudE5hbWVcIl0gPSB7IG5hbWU6IFwiZnJhZ21lbnROYW1lXCIgfTtcblx0fVxuXHRjb25zdCBuYW1lc3BhY2UgPSBuYW1lc1NwbGl0LnNsaWNlKDAsIC0xKTtcblx0Y29uc3QgbmFtZSA9IG5hbWVzU3BsaXRbbmFtZXNTcGxpdC5sZW5ndGggLSAxXTtcblx0Y29uc3QgbmFtZXNwYWNlQWxpYXMgPSBuYW1lc3BhY2VbbmFtZXNwYWNlLmxlbmd0aCAtIDFdO1xuXHRjb25zdCB0YWdOYW1lID0gYCR7bmFtZXNwYWNlQWxpYXN9OiR7bmFtZX1gO1xuXHRjb25zdCBwcm9wZXJ0aWVzU3RyaW5nOiBzdHJpbmdbXSA9IFtdO1xuXHRjb25zdCBhZ2dyZWdhdGlvblN0cmluZzogc3RyaW5nW10gPSBbXTtcblx0Y29uc3QgZGVmYXVsdEFnZ3JlZ2F0aW9uTmFtZSA9IG1ldGFkYXRhLmdldERlZmF1bHRBZ2dyZWdhdGlvbk5hbWUoKTtcblx0T2JqZWN0LmtleXMobWV0YWRhdGFQcm9wZXJ0aWVzKS5mb3JFYWNoKHByb3BlcnR5TmFtZSA9PiB7XG5cdFx0aWYgKG1TZXR0aW5ncy5oYXNPd25Qcm9wZXJ0eShwcm9wZXJ0eU5hbWUpICYmIChtU2V0dGluZ3MgYXMgYW55KVtwcm9wZXJ0eU5hbWVdICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdGlmICh0eXBlb2YgKG1TZXR0aW5ncyBhcyBhbnkpW3Byb3BlcnR5TmFtZV0gPT09IFwib2JqZWN0XCIpIHtcblx0XHRcdFx0cHJvcGVydGllc1N0cmluZy5wdXNoKGAke3Byb3BlcnR5TmFtZX09JyR7SlNPTi5zdHJpbmdpZnkoKG1TZXR0aW5ncyBhcyBhbnkpW3Byb3BlcnR5TmFtZV0pfSdgKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHByb3BlcnRpZXNTdHJpbmcucHVzaChgJHtwcm9wZXJ0eU5hbWV9PSckeyhtU2V0dGluZ3MgYXMgYW55KVtwcm9wZXJ0eU5hbWVdfSdgKTtcblx0XHRcdH1cblx0XHR9XG5cdH0pO1xuXHRjb25zdCBhZ2dyZWdhdGlvbkNoaWxkcmVuOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4gPSB7XG5cdFx0W2RlZmF1bHRBZ2dyZWdhdGlvbk5hbWVdOiBbXVxuXHR9O1xuXHRhZGRDaGlsZEFnZ3JlZ2F0aW9uKGFnZ3JlZ2F0aW9uQ2hpbGRyZW4sIGRlZmF1bHRBZ2dyZWdhdGlvbk5hbWUsIG1TZXR0aW5ncy5jaGlsZHJlbik7XG5cdE9iamVjdC5rZXlzKG1ldGFkYXRhQWdncmVnYXRpb25zKS5mb3JFYWNoKGFnZ3JlZ2F0aW9uTmFtZSA9PiB7XG5cdFx0aWYgKGFnZ3JlZ2F0aW9uQ2hpbGRyZW4/Lmhhc093blByb3BlcnR5KGFnZ3JlZ2F0aW9uTmFtZSkgJiYgYWdncmVnYXRpb25DaGlsZHJlblthZ2dyZWdhdGlvbk5hbWVdLmxlbmd0aCA+IDApIHtcblx0XHRcdGFnZ3JlZ2F0aW9uU3RyaW5nLnB1c2goXG5cdFx0XHRcdGA8JHtuYW1lc3BhY2VBbGlhc306JHthZ2dyZWdhdGlvbk5hbWV9PlxuXHRcdFx0XHRcdFx0JHt3cml0ZUNoaWxkcmVuKGFnZ3JlZ2F0aW9uQ2hpbGRyZW5bYWdncmVnYXRpb25OYW1lXSl9XG5cdFx0XHRcdFx0PC8ke25hbWVzcGFjZUFsaWFzfToke2FnZ3JlZ2F0aW9uTmFtZX0+YFxuXHRcdFx0KTtcblx0XHR9XG5cdFx0aWYgKG1TZXR0aW5ncy5oYXNPd25Qcm9wZXJ0eShhZ2dyZWdhdGlvbk5hbWUpICYmIChtU2V0dGluZ3MgYXMgYW55KVthZ2dyZWdhdGlvbk5hbWVdICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdHByb3BlcnRpZXNTdHJpbmcucHVzaChgJHthZ2dyZWdhdGlvbk5hbWV9PScke0pTT04uc3RyaW5naWZ5KChtU2V0dGluZ3MgYXMgYW55KVthZ2dyZWdhdGlvbk5hbWVdKX0nYCk7XG5cdFx0fVxuXHR9KTtcblx0cmV0dXJuIGA8JHt0YWdOYW1lfSB4bWxuczoke25hbWVzcGFjZUFsaWFzfT1cIiR7bmFtZXNwYWNlLmpvaW4oXCIuXCIpfVwiICR7cHJvcGVydGllc1N0cmluZy5qb2luKFwiIFwiKX0+JHthZ2dyZWdhdGlvblN0cmluZy5qb2luKFxuXHRcdFwiXCJcblx0KX08LyR7dGFnTmFtZX0+YDtcbn07XG5leHBvcnQgZGVmYXVsdCBqc3g7XG4iXX0=
@@ -38,16 +38,26 @@ const addChildAggregation = function(aggregationChildren: any, aggregationName:
38
38
  }
39
39
  };
40
40
 
41
+ const FL_DELEGATE = "fl:delegate";
41
42
  const jsx = function<T>(
42
43
  type: ControlWithMetadata,
43
- mSettings: NonControlProperties<T> & { children?: JSX.Element | ControlProperties<T> }
44
+ mSettings: NonControlProperties<T> & { key: string; children?: JSX.Element | ControlProperties<T> },
45
+ key: string
44
46
  ): string {
45
47
  const metadata = type.getMetadata();
46
48
  const namesSplit = metadata.getName().split(".");
47
-
48
- const metadataProperties: { name: string }[] = (metadata.getAllProperties() as unknown) as { name: string }[];
49
- const metadataAggregations: { name: string }[] = (metadata.getAllAggregations() as unknown) as { name: string }[];
50
-
49
+ if (key !== undefined) {
50
+ mSettings["key"] = key;
51
+ }
52
+ const metadataProperties = metadata.getAllProperties();
53
+ const metadataAggregations = metadata.getAllAggregations();
54
+ metadataProperties["class"] = { name: "class" };
55
+ metadataProperties["id"] = { name: "id" };
56
+ metadataProperties[FL_DELEGATE] = { name: FL_DELEGATE };
57
+ metadataProperties["xmlns:fl"] = { name: FL_DELEGATE };
58
+ if (metadata.getName() === "sap.ui.core.Fragment") {
59
+ metadataProperties["fragmentName"] = { name: "fragmentName" };
60
+ }
51
61
  const namespace = namesSplit.slice(0, -1);
52
62
  const name = namesSplit[namesSplit.length - 1];
53
63
  const namespaceAlias = namespace[namespace.length - 1];
@@ -56,8 +66,12 @@ const jsx = function<T>(
56
66
  const aggregationString: string[] = [];
57
67
  const defaultAggregationName = metadata.getDefaultAggregationName();
58
68
  Object.keys(metadataProperties).forEach(propertyName => {
59
- if (mSettings.hasOwnProperty(propertyName)) {
60
- propertiesString.push(`${propertyName}="${(mSettings as any)[propertyName]}"`);
69
+ if (mSettings.hasOwnProperty(propertyName) && (mSettings as any)[propertyName] !== undefined) {
70
+ if (typeof (mSettings as any)[propertyName] === "object") {
71
+ propertiesString.push(`${propertyName}='${JSON.stringify((mSettings as any)[propertyName])}'`);
72
+ } else {
73
+ propertiesString.push(`${propertyName}='${(mSettings as any)[propertyName]}'`);
74
+ }
61
75
  }
62
76
  });
63
77
  const aggregationChildren: Record<string, string[]> = {
@@ -72,7 +86,7 @@ const jsx = function<T>(
72
86
  </${namespaceAlias}:${aggregationName}>`
73
87
  );
74
88
  }
75
- if (mSettings.hasOwnProperty(aggregationName)) {
89
+ if (mSettings.hasOwnProperty(aggregationName) && (mSettings as any)[aggregationName] !== undefined) {
76
90
  propertiesString.push(`${aggregationName}='${JSON.stringify((mSettings as any)[aggregationName])}'`);
77
91
  }
78
92
  });
@@ -2,7 +2,7 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * (c) Copyright 2009-2021 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/base/Log", "sap/ui/base/DataType", "sap/fe/core/services/TemplatedViewServiceFactory", "sap/fe/core/services/ResourceModelServiceFactory", "sap/fe/core/services/CacheHandlerServiceFactory", "sap/fe/core/services/NavigationServiceFactory", "sap/fe/core/services/RoutingServiceFactory", "sap/fe/core/services/SideEffectsServiceFactory", "sap/fe/core/services/ShellServicesFactory", "sap/fe/core/services/AsyncComponentServiceFactory", "sap/fe/core/services/EnvironmentServiceFactory", "sap/ui/core/service/ServiceFactoryRegistry", "sap/ui/core/Core", "sap/ui/core/library", "sap/fe/navigation/library", "sap/fe/placeholder/library", "sap/ui/fl/library", "sap/ui/mdc/library", "sap/fe/core/formatters/ValueFormatter", "sap/fe/core/formatters/FPMFormatter", "sap/fe/core/type/Email"], function (Log, DataType, TemplatedViewServiceFactory, ResourceModelServiceFactory, CacheHandlerServiceFactory, NavigationService, RoutingServiceFactory, SideEffectsServiceFactory, ShellServicesFactory, AsyncComponentServiceFactory, EnvironmentServiceFactory, ServiceFactoryRegistry, _Core, _library, _library2, _library3, _library4, _library5, _ValueFormatter, _FPMFormatter, _Email) {
5
+ sap.ui.define(["sap/base/Log", "sap/fe/core/formatters/FPMFormatter", "sap/fe/core/formatters/ValueFormatter", "sap/fe/core/services/AsyncComponentServiceFactory", "sap/fe/core/services/CacheHandlerServiceFactory", "sap/fe/core/services/EnvironmentServiceFactory", "sap/fe/core/services/NavigationServiceFactory", "sap/fe/core/services/ResourceModelServiceFactory", "sap/fe/core/services/RoutingServiceFactory", "sap/fe/core/services/ShellServicesFactory", "sap/fe/core/services/SideEffectsServiceFactory", "sap/fe/core/services/TemplatedViewServiceFactory", "sap/fe/core/type/DateTimeWithTimezone", "sap/fe/core/type/Email", "sap/fe/navigation/library", "sap/fe/placeholder/library", "sap/ui/base/DataType", "sap/ui/core/Core", "sap/ui/core/library", "sap/ui/core/service/ServiceFactoryRegistry", "sap/ui/fl/library", "sap/ui/mdc/library"], function (Log, _FPMFormatter, _ValueFormatter, AsyncComponentServiceFactory, CacheHandlerServiceFactory, EnvironmentServiceFactory, NavigationService, ResourceModelServiceFactory, RoutingServiceFactory, ShellServicesFactory, SideEffectsServiceFactory, TemplatedViewServiceFactory, _DateTimeWithTimezone, _Email, _library, _library2, DataType, Core, _library3, ServiceFactoryRegistry, _library4, _library5) {
6
6
  "use strict";
7
7
 
8
8
  /**
@@ -60,14 +60,14 @@ sap.ui.define(["sap/base/Log", "sap/ui/base/DataType", "sap/fe/core/services/Tem
60
60
  * @name sap.fe.core.navigation
61
61
  * @private
62
62
  */
63
- sap.ui.getCore().initLibrary({
63
+ var thisLib = Core.initLibrary({
64
64
  name: "sap.fe.core",
65
65
  dependencies: ["sap.ui.core", "sap.fe.navigation", "sap.fe.placeholder", "sap.ui.fl", "sap.ui.mdc"],
66
66
  types: ["sap.fe.core.CreationMode", "sap.fe.core.VariantManagement"],
67
67
  interfaces: [],
68
68
  controls: [],
69
69
  elements: [],
70
- version: "1.100.0",
70
+ version: "1.102.0",
71
71
  noLibraryCSS: true,
72
72
  extensions: {
73
73
  //Configuration used for rule loading of Support Assistant
@@ -80,7 +80,6 @@ sap.ui.define(["sap/base/Log", "sap/ui/base/DataType", "sap/fe/core/services/Tem
80
80
  }
81
81
  }
82
82
  });
83
- var thisLib = sap.fe.core;
84
83
  /**
85
84
  * Available values for invocation grouping.
86
85
  *
@@ -171,6 +170,15 @@ sap.ui.define(["sap/base/Log", "sap/ui/base/DataType", "sap/fe/core/services/Tem
171
170
  */
172
171
  CreationRow: "CreationRow",
173
172
 
173
+ /**
174
+ * Inline creation rows.
175
+ *
176
+ * @constant
177
+ * @type {string}
178
+ * @public
179
+ */
180
+ InlineCreationRows: "InlineCreationRows",
181
+
174
182
  /**
175
183
  * External (by outbound navigation).
176
184
  *
@@ -427,4 +435,4 @@ sap.ui.define(["sap/base/Log", "sap/ui/base/DataType", "sap/fe/core/services/Tem
427
435
  ServiceFactoryRegistry.register("sap.fe.core.services.AsyncComponentService", new AsyncComponentServiceFactory());
428
436
  return thisLib;
429
437
  }, false);
430
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYnJhcnkudHMiXSwibmFtZXMiOlsic2FwIiwidWkiLCJnZXRDb3JlIiwiaW5pdExpYnJhcnkiLCJuYW1lIiwiZGVwZW5kZW5jaWVzIiwidHlwZXMiLCJpbnRlcmZhY2VzIiwiY29udHJvbHMiLCJlbGVtZW50cyIsInZlcnNpb24iLCJub0xpYnJhcnlDU1MiLCJleHRlbnNpb25zIiwicHVibGljUnVsZXMiLCJpbnRlcm5hbFJ1bGVzIiwiZmxDaGFuZ2VIYW5kbGVycyIsInRoaXNMaWIiLCJmZSIsImNvcmUiLCJJbnZvY2F0aW9uR3JvdXBpbmciLCJJc29sYXRlZCIsIkNoYW5nZVNldCIsIkNyZWF0aW9uTW9kZSIsIk5ld1BhZ2UiLCJTeW5jIiwiQXN5bmMiLCJEZWZlcnJlZCIsIklubGluZSIsIkNyZWF0aW9uUm93IiwiRXh0ZXJuYWwiLCJWYXJpYW50TWFuYWdlbWVudCIsIk5vbmUiLCJQYWdlIiwiQ29udHJvbCIsIkNvbnN0YW50cyIsIkNhbmNlbEFjdGlvbkRpYWxvZyIsIlByb2dyYW1taW5nTW9kZWwiLCJEcmFmdCIsIlN0aWNreSIsIk5vbkRyYWZ0IiwiRHJhZnRTdGF0dXMiLCJTYXZpbmciLCJTYXZlZCIsIkNsZWFyIiwiRWRpdE1vZGUiLCJEaXNwbGF5IiwiRWRpdGFibGUiLCJUZW1wbGF0ZUNvbnRlbnRWaWV3IiwiSHlicmlkIiwiQ2hhcnQiLCJUYWJsZSIsIkluaXRpYWxMb2FkTW9kZSIsIkVuYWJsZWQiLCJEaXNhYmxlZCIsIkF1dG8iLCJJbml0aWFsTG9hZFR5cGUiLCJEYXRhVHlwZSIsImNyZWF0ZVR5cGUiLCJkZWZhdWx0VmFsdWUiLCJpc1ZhbGlkIiwidlZhbHVlIiwiTG9nIiwid2FybmluZyIsInVuZGVmaW5lZCIsImhhc093blByb3BlcnR5Iiwic2V0Tm9ybWFsaXplciIsIlNlcnZpY2VGYWN0b3J5UmVnaXN0cnkiLCJyZWdpc3RlciIsIlRlbXBsYXRlZFZpZXdTZXJ2aWNlRmFjdG9yeSIsIlJlc291cmNlTW9kZWxTZXJ2aWNlRmFjdG9yeSIsIkNhY2hlSGFuZGxlclNlcnZpY2VGYWN0b3J5IiwiTmF2aWdhdGlvblNlcnZpY2UiLCJSb3V0aW5nU2VydmljZUZhY3RvcnkiLCJTaWRlRWZmZWN0c1NlcnZpY2VGYWN0b3J5IiwiU2hlbGxTZXJ2aWNlc0ZhY3RvcnkiLCJFbnZpcm9ubWVudFNlcnZpY2VGYWN0b3J5IiwiQXN5bmNDb21wb25lbnRTZXJ2aWNlRmFjdG9yeSJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7OztBQW1CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0FBLEVBQUFBLEdBQUcsQ0FBQ0MsRUFBSixDQUFPQyxPQUFQLEdBQWlCQyxXQUFqQixDQUE2QjtBQUM1QkMsSUFBQUEsSUFBSSxFQUFFLGFBRHNCO0FBRTVCQyxJQUFBQSxZQUFZLEVBQUUsQ0FBQyxhQUFELEVBQWdCLG1CQUFoQixFQUFxQyxvQkFBckMsRUFBMkQsV0FBM0QsRUFBd0UsWUFBeEUsQ0FGYztBQUc1QkMsSUFBQUEsS0FBSyxFQUFFLENBQUMsMEJBQUQsRUFBNkIsK0JBQTdCLENBSHFCO0FBSTVCQyxJQUFBQSxVQUFVLEVBQUUsRUFKZ0I7QUFLNUJDLElBQUFBLFFBQVEsRUFBRSxFQUxrQjtBQU01QkMsSUFBQUEsUUFBUSxFQUFFLEVBTmtCO0FBTzVCQyxJQUFBQSxPQUFPLEVBQUUsWUFQbUI7QUFRNUJDLElBQUFBLFlBQVksRUFBRSxJQVJjO0FBUzVCQyxJQUFBQSxVQUFVLEVBQUU7QUFDWDtBQUNBLHdCQUFrQjtBQUNqQkMsUUFBQUEsV0FBVyxFQUFFLElBREk7QUFFakJDLFFBQUFBLGFBQWEsRUFBRTtBQUZFLE9BRlA7QUFNWEMsTUFBQUEsZ0JBQWdCLEVBQUU7QUFDakIsMENBQWtDO0FBRGpCO0FBTlA7QUFUZ0IsR0FBN0I7QUFvQkEsTUFBTUMsT0FBTyxHQUFJaEIsR0FBRCxDQUFhaUIsRUFBYixDQUFnQkMsSUFBaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQUYsRUFBQUEsT0FBTyxDQUFDRyxrQkFBUixHQUE2QjtBQUM1QjtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNDQyxJQUFBQSxRQUFRLEVBQUUsVUFSa0I7O0FBUzVCO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0NDLElBQUFBLFNBQVMsRUFBRTtBQWhCaUIsR0FBN0I7QUFrQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0FMLEVBQUFBLE9BQU8sQ0FBQ00sWUFBUixHQUF1QjtBQUN0QjtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNDQyxJQUFBQSxPQUFPLEVBQUUsU0FSYTs7QUFTdEI7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQ0MsSUFBQUEsSUFBSSxFQUFFLE1BaEJnQjs7QUFpQnRCO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0NDLElBQUFBLEtBQUssRUFBRSxPQXhCZTs7QUF5QnRCO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0NDLElBQUFBLFFBQVEsRUFBRSxVQWhDWTs7QUFpQ3RCO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0NDLElBQUFBLE1BQU0sRUFBRSxRQXhDYzs7QUF5Q3RCO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0NDLElBQUFBLFdBQVcsRUFBRSxhQWhEUzs7QUFpRHRCO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0NDLElBQUFBLFFBQVEsRUFBRTtBQXhEWSxHQUF2QjtBQTBEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQWIsRUFBQUEsT0FBTyxDQUFDYyxpQkFBUixHQUE0QjtBQUMzQjtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNDQyxJQUFBQSxJQUFJLEVBQUUsTUFScUI7O0FBVTNCO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0NDLElBQUFBLElBQUksRUFBRSxNQWpCcUI7O0FBbUIzQjtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNDQyxJQUFBQSxPQUFPLEVBQUU7QUExQmtCLEdBQTVCO0FBNEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNBakIsRUFBQUEsT0FBTyxDQUFDa0IsU0FBUixHQUFvQjtBQUNuQjtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNDQyxJQUFBQSxrQkFBa0IsRUFBRTtBQVJELEdBQXBCO0FBVUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0FuQixFQUFBQSxPQUFPLENBQUNvQixnQkFBUixHQUEyQjtBQUMxQjtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNDQyxJQUFBQSxLQUFLLEVBQUUsT0FSbUI7O0FBUzFCO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0NDLElBQUFBLE1BQU0sRUFBRSxRQWhCa0I7O0FBaUIxQjtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNDQyxJQUFBQSxRQUFRLEVBQUU7QUF4QmdCLEdBQTNCO0FBMEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNBdkIsRUFBQUEsT0FBTyxDQUFDd0IsV0FBUixHQUFzQjtBQUNyQjtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNDQyxJQUFBQSxNQUFNLEVBQUUsUUFSYTs7QUFTckI7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQ0MsSUFBQUEsS0FBSyxFQUFFLE9BaEJjOztBQWlCckI7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQ0MsSUFBQUEsS0FBSyxFQUFFO0FBeEJjLEdBQXRCO0FBMEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNBM0IsRUFBQUEsT0FBTyxDQUFDNEIsUUFBUixHQUFtQjtBQUNsQjtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNDQyxJQUFBQSxPQUFPLEVBQUUsU0FSUzs7QUFTbEI7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQ0MsSUFBQUEsUUFBUSxFQUFFO0FBaEJRLEdBQW5CO0FBa0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNBOUIsRUFBQUEsT0FBTyxDQUFDK0IsbUJBQVIsR0FBOEI7QUFDN0I7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNDQyxJQUFBQSxNQUFNLEVBQUUsUUFOcUI7O0FBTzdCO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQ0MsSUFBQUEsS0FBSyxFQUFFLE9BWnNCOztBQWE3QjtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0NDLElBQUFBLEtBQUssRUFBRTtBQWxCc0IsR0FBOUI7QUFvQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNBbEMsRUFBQUEsT0FBTyxDQUFDbUMsZUFBUixHQUEwQjtBQUN6QjtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQ0MsSUFBQUEsT0FBTyxFQUFFLFNBUGdCOztBQVN6QjtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0NDLElBQUFBLFFBQVEsRUFBRSxVQWRlOztBQWdCekI7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNDQyxJQUFBQSxJQUFJLEVBQUU7QUFyQm1CLEdBQTFCLEMsQ0F1QkE7O0FBQ0EsTUFBTUMsZUFBZSxHQUFHQyxRQUFRLENBQUNDLFVBQVQsQ0FBb0IsNkJBQXBCLEVBQW1EO0FBQzFFQyxJQUFBQSxZQUFZLEVBQUUxQyxPQUFPLENBQUNtQyxlQUFSLENBQXdCRyxJQURvQztBQUUxRUssSUFBQUEsT0FBTyxFQUFFLFVBQVNDLE1BQVQsRUFBc0I7QUFDOUIsVUFBSSxPQUFPQSxNQUFQLEtBQWtCLFNBQXRCLEVBQWlDO0FBQ2hDQyxRQUFBQSxHQUFHLENBQUNDLE9BQUosQ0FDQyx3SEFERDtBQUdBOztBQUNELGFBQU9GLE1BQU0sS0FBS0csU0FBWCxJQUF3QkgsTUFBTSxLQUFLLElBQW5DLElBQTJDLE9BQU9BLE1BQVAsS0FBa0IsU0FBN0QsSUFBMEU1QyxPQUFPLENBQUNtQyxlQUFSLENBQXdCYSxjQUF4QixDQUF1Q0osTUFBdkMsQ0FBakY7QUFDQTtBQVR5RSxHQUFuRCxDQUF4QixDLENBV0E7O0FBQ0FMLEVBQUFBLGVBQWUsQ0FBQ1UsYUFBaEIsQ0FBOEIsVUFBU0wsTUFBVCxFQUFzQjtBQUNuRCxRQUFJLENBQUNBLE1BQUwsRUFBYTtBQUNaO0FBQ0EsYUFBTzVDLE9BQU8sQ0FBQ21DLGVBQVIsQ0FBd0JFLFFBQS9CO0FBQ0E7O0FBQ0QsV0FBT08sTUFBTSxLQUFLLElBQVgsR0FBa0I1QyxPQUFPLENBQUNtQyxlQUFSLENBQXdCQyxPQUExQyxHQUFvRFEsTUFBM0Q7QUFDQSxHQU5EO0FBT0FNLEVBQUFBLHNCQUFzQixDQUFDQyxRQUF2QixDQUFnQywyQ0FBaEMsRUFBNkUsSUFBSUMsMkJBQUosRUFBN0U7QUFDQUYsRUFBQUEsc0JBQXNCLENBQUNDLFFBQXZCLENBQWdDLDJDQUFoQyxFQUE2RSxJQUFJRSwyQkFBSixFQUE3RTtBQUNBSCxFQUFBQSxzQkFBc0IsQ0FBQ0MsUUFBdkIsQ0FBZ0MsMENBQWhDLEVBQTRFLElBQUlHLDBCQUFKLEVBQTVFO0FBQ0FKLEVBQUFBLHNCQUFzQixDQUFDQyxRQUF2QixDQUFnQyx3Q0FBaEMsRUFBMEUsSUFBSUksaUJBQUosRUFBMUU7QUFDQUwsRUFBQUEsc0JBQXNCLENBQUNDLFFBQXZCLENBQWdDLHFDQUFoQyxFQUF1RSxJQUFJSyxxQkFBSixFQUF2RTtBQUNBTixFQUFBQSxzQkFBc0IsQ0FBQ0MsUUFBdkIsQ0FBZ0MseUNBQWhDLEVBQTJFLElBQUlNLHlCQUFKLEVBQTNFO0FBQ0FQLEVBQUFBLHNCQUFzQixDQUFDQyxRQUF2QixDQUFnQyxvQ0FBaEMsRUFBc0UsSUFBSU8sb0JBQUosRUFBdEU7QUFDQVIsRUFBQUEsc0JBQXNCLENBQUNDLFFBQXZCLENBQWdDLHlDQUFoQyxFQUEyRSxJQUFJUSx5QkFBSixFQUEzRTtBQUNBVCxFQUFBQSxzQkFBc0IsQ0FBQ0MsUUFBdkIsQ0FBZ0MsNENBQWhDLEVBQThFLElBQUlTLDRCQUFKLEVBQTlFO1NBRWU1RCxPIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcbmltcG9ydCBEYXRhVHlwZSBmcm9tIFwic2FwL3VpL2Jhc2UvRGF0YVR5cGVcIjtcbmltcG9ydCBUZW1wbGF0ZWRWaWV3U2VydmljZUZhY3RvcnkgZnJvbSBcInNhcC9mZS9jb3JlL3NlcnZpY2VzL1RlbXBsYXRlZFZpZXdTZXJ2aWNlRmFjdG9yeVwiO1xuaW1wb3J0IFJlc291cmNlTW9kZWxTZXJ2aWNlRmFjdG9yeSBmcm9tIFwic2FwL2ZlL2NvcmUvc2VydmljZXMvUmVzb3VyY2VNb2RlbFNlcnZpY2VGYWN0b3J5XCI7XG5pbXBvcnQgQ2FjaGVIYW5kbGVyU2VydmljZUZhY3RvcnkgZnJvbSBcInNhcC9mZS9jb3JlL3NlcnZpY2VzL0NhY2hlSGFuZGxlclNlcnZpY2VGYWN0b3J5XCI7XG5pbXBvcnQgTmF2aWdhdGlvblNlcnZpY2UgZnJvbSBcInNhcC9mZS9jb3JlL3NlcnZpY2VzL05hdmlnYXRpb25TZXJ2aWNlRmFjdG9yeVwiO1xuaW1wb3J0IFJvdXRpbmdTZXJ2aWNlRmFjdG9yeSBmcm9tIFwic2FwL2ZlL2NvcmUvc2VydmljZXMvUm91dGluZ1NlcnZpY2VGYWN0b3J5XCI7XG5pbXBvcnQgU2lkZUVmZmVjdHNTZXJ2aWNlRmFjdG9yeSBmcm9tIFwic2FwL2ZlL2NvcmUvc2VydmljZXMvU2lkZUVmZmVjdHNTZXJ2aWNlRmFjdG9yeVwiO1xuaW1wb3J0IFNoZWxsU2VydmljZXNGYWN0b3J5IGZyb20gXCJzYXAvZmUvY29yZS9zZXJ2aWNlcy9TaGVsbFNlcnZpY2VzRmFjdG9yeVwiO1xuaW1wb3J0IEFzeW5jQ29tcG9uZW50U2VydmljZUZhY3RvcnkgZnJvbSBcInNhcC9mZS9jb3JlL3NlcnZpY2VzL0FzeW5jQ29tcG9uZW50U2VydmljZUZhY3RvcnlcIjtcbmltcG9ydCBFbnZpcm9ubWVudFNlcnZpY2VGYWN0b3J5IGZyb20gXCJzYXAvZmUvY29yZS9zZXJ2aWNlcy9FbnZpcm9ubWVudFNlcnZpY2VGYWN0b3J5XCI7XG5pbXBvcnQgU2VydmljZUZhY3RvcnlSZWdpc3RyeSBmcm9tIFwic2FwL3VpL2NvcmUvc2VydmljZS9TZXJ2aWNlRmFjdG9yeVJlZ2lzdHJ5XCI7XG5pbXBvcnQgXCJzYXAvdWkvY29yZS9Db3JlXCI7XG5pbXBvcnQgXCJzYXAvdWkvY29yZS9saWJyYXJ5XCI7XG5pbXBvcnQgXCJzYXAvZmUvbmF2aWdhdGlvbi9saWJyYXJ5XCI7XG5pbXBvcnQgXCJzYXAvZmUvcGxhY2Vob2xkZXIvbGlicmFyeVwiO1xuaW1wb3J0IFwic2FwL3VpL2ZsL2xpYnJhcnlcIjtcbmltcG9ydCBcInNhcC91aS9tZGMvbGlicmFyeVwiO1xuaW1wb3J0IFwic2FwL2ZlL2NvcmUvZm9ybWF0dGVycy9WYWx1ZUZvcm1hdHRlclwiO1xuaW1wb3J0IFwic2FwL2ZlL2NvcmUvZm9ybWF0dGVycy9GUE1Gb3JtYXR0ZXJcIjtcbmltcG9ydCBcInNhcC9mZS9jb3JlL3R5cGUvRW1haWxcIjtcbi8qKlxuICogUm9vdCBuYW1lc3BhY2UgZm9yIGFsbCB0aGUgbGlicmFyaWVzIHJlbGF0ZWQgdG8gU0FQIEZpb3JpIGVsZW1lbnRzLlxuICpcbiAqIEBuYW1lc3BhY2VcbiAqIEBuYW1lIHNhcC5mZVxuICogQHB1YmxpY1xuICovXG5cbi8qKlxuICogTGlicmFyeSBwcm92aWRpbmcgdGhlIGNvcmUgZnVuY3Rpb25hbGl0eSBvZiB0aGUgcnVudGltZSBmb3IgU0FQIEZpb3JpIGVsZW1lbnRzIGZvciBPRGF0YSBWNC5cbiAqXG4gKiBAbmFtZXNwYWNlXG4gKiBAbmFtZSBzYXAuZmUuY29yZVxuICogQHB1YmxpY1xuICovXG5cbi8qKlxuICogQ29sbGVjdGlvbiBvZiBjb250cm9sbGVyIGV4dGVuc2lvbnMgdXNlZCBpbnRlcm5hbGx5IGluIFNBUCBGaW9yaSBlbGVtZW50cyBleHBvc2luZyBhIG1ldGhvZCB0aGF0IHlvdSBjYW4gb3ZlcnJpZGUgdG8gYWxsb3cgbW9yZSBmbGV4aWJpbGl0eS5cbiAqXG4gKiBAbmFtZXNwYWNlXG4gKiBAbmFtZSBzYXAuZmUuY29yZS5jb250cm9sbGVyZXh0ZW5zaW9uc1xuICogQHB1YmxpY1xuICovXG5cbi8qKlxuICogQ29sbGVjdGlvbiBvZiBjbGFzc2VzIHByb3ZpZGVkIGJ5IFNBUCBGaW9yaSBlbGVtZW50cyBmb3IgdGhlIEZsZXhpYmxlIFByb2dyYW1taW5nIE1vZGVsXG4gKlxuICogQG5hbWVzcGFjZVxuICogQG5hbWUgc2FwLmZlLmNvcmUuZnBtXG4gKiBAcHVibGljXG4gKi9cblxuLyoqXG4gKiBAbmFtZXNwYWNlXG4gKiBAbmFtZSBzYXAuZmUuY29yZS5hY3Rpb25zXG4gKiBAcHJpdmF0ZVxuICovXG5cbi8qKlxuICogQG5hbWVzcGFjZVxuICogQG5hbWUgc2FwLmZlLmNvbW1vblxuICogQHByaXZhdGVcbiAqL1xuXG4vKipcbiAqIEBuYW1lc3BhY2VcbiAqIEBuYW1lIHNhcC5mZS5jb3JlLm1vZGVsXG4gKiBAcHJpdmF0ZVxuICovXG5cbi8qKlxuICogQG5hbWVzcGFjZVxuICogQG5hbWUgc2FwLmZlLmNvcmUubmF2aWdhdGlvblxuICogQHByaXZhdGVcbiAqL1xuc2FwLnVpLmdldENvcmUoKS5pbml0TGlicmFyeSh7XG5cdG5hbWU6IFwic2FwLmZlLmNvcmVcIixcblx0ZGVwZW5kZW5jaWVzOiBbXCJzYXAudWkuY29yZVwiLCBcInNhcC5mZS5uYXZpZ2F0aW9uXCIsIFwic2FwLmZlLnBsYWNlaG9sZGVyXCIsIFwic2FwLnVpLmZsXCIsIFwic2FwLnVpLm1kY1wiXSxcblx0dHlwZXM6IFtcInNhcC5mZS5jb3JlLkNyZWF0aW9uTW9kZVwiLCBcInNhcC5mZS5jb3JlLlZhcmlhbnRNYW5hZ2VtZW50XCJdLFxuXHRpbnRlcmZhY2VzOiBbXSxcblx0Y29udHJvbHM6IFtdLFxuXHRlbGVtZW50czogW10sXG5cdHZlcnNpb246IFwiJHt2ZXJzaW9ufVwiLFxuXHRub0xpYnJhcnlDU1M6IHRydWUsXG5cdGV4dGVuc2lvbnM6IHtcblx0XHQvL0NvbmZpZ3VyYXRpb24gdXNlZCBmb3IgcnVsZSBsb2FkaW5nIG9mIFN1cHBvcnQgQXNzaXN0YW50XG5cdFx0XCJzYXAudWkuc3VwcG9ydFwiOiB7XG5cdFx0XHRwdWJsaWNSdWxlczogdHJ1ZSxcblx0XHRcdGludGVybmFsUnVsZXM6IHRydWVcblx0XHR9LFxuXHRcdGZsQ2hhbmdlSGFuZGxlcnM6IHtcblx0XHRcdFwic2FwLmZlLmNvcmUuY29udHJvbHMuRmlsdGVyQmFyXCI6IFwic2FwL3VpL21kYy9mbGV4aWJpbGl0eS9GaWx0ZXJCYXJcIlxuXHRcdH1cblx0fVxufSk7XG5jb25zdCB0aGlzTGliID0gKHNhcCBhcyBhbnkpLmZlLmNvcmU7XG4vKipcbiAqIEF2YWlsYWJsZSB2YWx1ZXMgZm9yIGludm9jYXRpb24gZ3JvdXBpbmcuXG4gKlxuICogQHJlYWRvbmx5XG4gKiBAZW51bSB7c3RyaW5nfVxuICogQHByaXZhdGVcbiAqL1xudGhpc0xpYi5JbnZvY2F0aW9uR3JvdXBpbmcgPSB7XG5cdC8qKlxuXHQgKiBJc29sYXRlZC5cblx0ICpcblx0ICogQGNvbnN0YW50XG5cdCAqIEB0eXBlIHtzdHJpbmd9XG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdElzb2xhdGVkOiBcIklzb2xhdGVkXCIsXG5cdC8qKlxuXHQgKiBDaGFuZ2VTZXQuXG5cdCAqXG5cdCAqIEBjb25zdGFudFxuXHQgKiBAdHlwZSB7c3RyaW5nfVxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRDaGFuZ2VTZXQ6IFwiQ2hhbmdlU2V0XCJcbn07XG4vKipcbiAqIEF2YWlsYWJsZSB2YWx1ZXMgZm9yIGNyZWF0aW9uIG1vZGUuXG4gKlxuICogQHJlYWRvbmx5XG4gKiBAZW51bSB7c3RyaW5nfVxuICogQHByaXZhdGVcbiAqL1xudGhpc0xpYi5DcmVhdGlvbk1vZGUgPSB7XG5cdC8qKlxuXHQgKiBOZXcgUGFnZS5cblx0ICpcblx0ICogQGNvbnN0YW50XG5cdCAqIEB0eXBlIHtzdHJpbmd9XG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdE5ld1BhZ2U6IFwiTmV3UGFnZVwiLFxuXHQvKipcblx0ICogU3luYy5cblx0ICpcblx0ICogQGNvbnN0YW50XG5cdCAqIEB0eXBlIHtzdHJpbmd9XG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdFN5bmM6IFwiU3luY1wiLFxuXHQvKipcblx0ICogQXN5bmMuXG5cdCAqXG5cdCAqIEBjb25zdGFudFxuXHQgKiBAdHlwZSB7c3RyaW5nfVxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRBc3luYzogXCJBc3luY1wiLFxuXHQvKipcblx0ICogRGVmZXJyZWQuXG5cdCAqXG5cdCAqIEBjb25zdGFudFxuXHQgKiBAdHlwZSB7c3RyaW5nfVxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHREZWZlcnJlZDogXCJEZWZlcnJlZFwiLFxuXHQvKipcblx0ICogSW5saW5lLlxuXHQgKlxuXHQgKiBAY29uc3RhbnRcblx0ICogQHR5cGUge3N0cmluZ31cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0SW5saW5lOiBcIklubGluZVwiLFxuXHQvKipcblx0ICogQ3JlYXRpb24gcm93LlxuXHQgKlxuXHQgKiBAY29uc3RhbnRcblx0ICogQHR5cGUge3N0cmluZ31cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0Q3JlYXRpb25Sb3c6IFwiQ3JlYXRpb25Sb3dcIixcblx0LyoqXG5cdCAqIEV4dGVybmFsIChieSBvdXRib3VuZCBuYXZpZ2F0aW9uKS5cblx0ICpcblx0ICogQGNvbnN0YW50XG5cdCAqIEB0eXBlIHtzdHJpbmd9XG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEV4dGVybmFsOiBcIkV4dGVybmFsXCJcbn07XG4vKipcbiAqIEF2YWlsYWJsZSB2YWx1ZXMgZm9yIFZhcmlhbnQgTWFuYWdlbWVudC5cbiAqXG4gKiBAcmVhZG9ubHlcbiAqIEBlbnVtIHtzdHJpbmd9XG4gKiBAcHJpdmF0ZVxuICovXG50aGlzTGliLlZhcmlhbnRNYW5hZ2VtZW50ID0ge1xuXHQvKipcblx0ICogTm8gdmFyaWFudCBtYW5hZ2VtZW50IGF0IGFsbC5cblx0ICpcblx0ICogQGNvbnN0YW50XG5cdCAqIEB0eXBlIHtzdHJpbmd9XG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdE5vbmU6IFwiTm9uZVwiLFxuXG5cdC8qKlxuXHQgKiBPbmUgdmFyaWFudCBjb25maWd1cmF0aW9uIGZvciB0aGUgd2hvbGUgcGFnZS5cblx0ICpcblx0ICogQGNvbnN0YW50XG5cdCAqIEB0eXBlIHtzdHJpbmd9XG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdFBhZ2U6IFwiUGFnZVwiLFxuXG5cdC8qKlxuXHQgKiBWYXJpYW50IG1hbmFnZW1lbnQgb24gY29udHJvbCBsZXZlbC5cblx0ICpcblx0ICogQGNvbnN0YW50XG5cdCAqIEB0eXBlIHtzdHJpbmd9XG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdENvbnRyb2w6IFwiQ29udHJvbFwiXG59O1xuLyoqXG4gKiBBdmFpbGFibGUgY29uc3RhbnRzLlxuICpcbiAqIEByZWFkb25seVxuICogQGVudW0ge3N0cmluZ31cbiAqIEBwcml2YXRlXG4gKi9cbnRoaXNMaWIuQ29uc3RhbnRzID0ge1xuXHQvKipcblx0ICogSW5kaWNhdGVzIGNhbmNlbGxpbmcgb2YgYW4gYWN0aW9uIGRpYWxvZy5cblx0ICpcblx0ICogQGNvbnN0YW50XG5cdCAqIEB0eXBlIHtzdHJpbmd9XG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdENhbmNlbEFjdGlvbkRpYWxvZzogXCJjYW5jZWxcIlxufTtcbi8qKlxuICogQXZhaWxhYmxlIHZhbHVlcyBmb3IgcHJvZ3JhbW1pbmcgbW9kZWwuXG4gKlxuICogQHJlYWRvbmx5XG4gKiBAZW51bSB7c3RyaW5nfVxuICogQHByaXZhdGVcbiAqL1xudGhpc0xpYi5Qcm9ncmFtbWluZ01vZGVsID0ge1xuXHQvKipcblx0ICogRHJhZnQuXG5cdCAqXG5cdCAqIEBjb25zdGFudFxuXHQgKiBAdHlwZSB7c3RyaW5nfVxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHREcmFmdDogXCJEcmFmdFwiLFxuXHQvKipcblx0ICogU3RpY2t5LlxuXHQgKlxuXHQgKiBAY29uc3RhbnRcblx0ICogQHR5cGUge3N0cmluZ31cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0U3RpY2t5OiBcIlN0aWNreVwiLFxuXHQvKipcblx0ICogTm9uRHJhZnQuXG5cdCAqXG5cdCAqIEBjb25zdGFudFxuXHQgKiBAdHlwZSB7c3RyaW5nfVxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHROb25EcmFmdDogXCJOb25EcmFmdFwiXG59O1xuLyoqXG4gKiBBdmFpbGFibGUgdmFsdWVzIGZvciBkcmFmdCBzdGF0dXMuXG4gKlxuICogQHJlYWRvbmx5XG4gKiBAZW51bSB7c3RyaW5nfVxuICogQHByaXZhdGVcbiAqL1xudGhpc0xpYi5EcmFmdFN0YXR1cyA9IHtcblx0LyoqXG5cdCAqIFNhdmluZy5cblx0ICpcblx0ICogQGNvbnN0YW50XG5cdCAqIEB0eXBlIHtzdHJpbmd9XG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdFNhdmluZzogXCJTYXZpbmdcIixcblx0LyoqXG5cdCAqIFNhdmVkLlxuXHQgKlxuXHQgKiBAY29uc3RhbnRcblx0ICogQHR5cGUge3N0cmluZ31cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0U2F2ZWQ6IFwiU2F2ZWRcIixcblx0LyoqXG5cdCAqIENsZWFyLlxuXHQgKlxuXHQgKiBAY29uc3RhbnRcblx0ICogQHR5cGUge3N0cmluZ31cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0Q2xlYXI6IFwiQ2xlYXJcIlxufTtcbi8qKlxuICogRWRpdCBtb2RlIHZhbHVlcy5cbiAqXG4gKiBAcmVhZG9ubHlcbiAqIEBlbnVtIHtzdHJpbmd9XG4gKiBAcHJpdmF0ZVxuICovXG50aGlzTGliLkVkaXRNb2RlID0ge1xuXHQvKipcblx0ICogVmlldyBpcyBjdXJyZW50bHkgZGlzcGxheWluZyBvbmx5LlxuXHQgKlxuXHQgKiBAY29uc3RhbnRcblx0ICogQHR5cGUge3N0cmluZ31cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0RGlzcGxheTogXCJEaXNwbGF5XCIsXG5cdC8qKlxuXHQgKiBWaWV3IGlzIGN1cnJlbnRseSBlZGl0YWJsZS5cblx0ICpcblx0ICogQGNvbnN0YW50XG5cdCAqIEB0eXBlIHtzdHJpbmd9XG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEVkaXRhYmxlOiBcIkVkaXRhYmxlXCJcbn07XG4vKipcbiAqIFRlbXBsYXRlIHZpZXdzLlxuICpcbiAqIEByZWFkb25seVxuICogQGVudW0ge3N0cmluZ31cbiAqIEBwcml2YXRlXG4gKi9cbnRoaXNMaWIuVGVtcGxhdGVDb250ZW50VmlldyA9IHtcblx0LyoqXG5cdCAqIEh5YnJpZC5cblx0ICogQGNvbnN0YW50XG5cdCAqIEB0eXBlIHtzdHJpbmd9XG5cdCAqL1xuXHRIeWJyaWQ6IFwiSHlicmlkXCIsXG5cdC8qKlxuXHQgKiBDaGFydC5cblx0ICogQGNvbnN0YW50XG5cdCAqIEB0eXBlIHtzdHJpbmd9XG5cdCAqL1xuXHRDaGFydDogXCJDaGFydFwiLFxuXHQvKipcblx0ICogVGFibGUuXG5cdCAqIEBjb25zdGFudFxuXHQgKiBAdHlwZSB7c3RyaW5nfVxuXHQgKi9cblx0VGFibGU6IFwiVGFibGVcIlxufTtcbi8qKlxuICogUG9zc2libGUgaW5pdGlhbCBsb2FkIChmaXJzdCBhcHAgc3RhcnR1cCkgbW9kZXMgZm9yIGEgTGlzdFJlcG9ydC5cbiAqXG4gKiBAZW51bSB7c3RyaW5nfVxuICogQG5hbWUgc2FwLmZlLmNvcmUuSW5pdGlhbExvYWRNb2RlXG4gKiBAcmVhZG9ubHlcbiAqIEBwdWJsaWNcbiAqIEBzaW5jZSAxLjg2LjBcbiAqL1xudGhpc0xpYi5Jbml0aWFsTG9hZE1vZGUgPSB7XG5cdC8qKlxuXHQgKiBEYXRhIHdpbGwgYmUgbG9hZGVkIGluaXRpYWxseS5cblx0ICpcblx0ICogQG5hbWUgc2FwLmZlLmNvcmUuSW5pdGlhbExvYWRNb2RlLkVuYWJsZWRcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0RW5hYmxlZDogXCJFbmFibGVkXCIsXG5cblx0LyoqXG5cdCAqIERhdGEgd2lsbCBub3QgYmUgbG9hZGVkIGluaXRpYWxseS5cblx0ICogQG5hbWUgc2FwLmZlLmNvcmUuSW5pdGlhbExvYWRNb2RlLkRpc2FibGVkXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdERpc2FibGVkOiBcIkRpc2FibGVkXCIsXG5cblx0LyoqXG5cdCAqIERhdGEgd2lsbCBiZSBsb2FkZWQgaW5pdGlhbGx5IGlmIGZpbHRlcnMgYXJlIHNldC5cblx0ICogQG5hbWUgc2FwLmZlLmNvcmUuSW5pdGlhbExvYWRNb2RlLkF1dG9cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QXV0bzogXCJBdXRvXCJcbn07XG4vLyBleHBsaWNpdCB0eXBlIHRvIGhhbmRsZSBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpdGggYm9vbGVhbiB2YWx1ZXNcbmNvbnN0IEluaXRpYWxMb2FkVHlwZSA9IERhdGFUeXBlLmNyZWF0ZVR5cGUoXCJzYXAuZmUuY29yZS5Jbml0aWFsTG9hZE1vZGVcIiwge1xuXHRkZWZhdWx0VmFsdWU6IHRoaXNMaWIuSW5pdGlhbExvYWRNb2RlLkF1dG8sXG5cdGlzVmFsaWQ6IGZ1bmN0aW9uKHZWYWx1ZTogYW55KSB7XG5cdFx0aWYgKHR5cGVvZiB2VmFsdWUgPT09IFwiYm9vbGVhblwiKSB7XG5cdFx0XHRMb2cud2FybmluZyhcblx0XHRcdFx0XCJERVBSRUNBVEVEOiBib29sZWFuIHZhbHVlIG5vdCBhbGxvd2VkIGZvciAnaW5pdGlhbExvYWQnIG1hbmlmZXN0IHNldHRpbmcgLSBzdXBwb3J0ZWQgdmFsdWVzIGFyZTogRGlzYWJsZWR8RW5hYmxlZHxBdXRvXCJcblx0XHRcdCk7XG5cdFx0fVxuXHRcdHJldHVybiB2VmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2VmFsdWUgPT09IG51bGwgfHwgdHlwZW9mIHZWYWx1ZSA9PT0gXCJib29sZWFuXCIgfHwgdGhpc0xpYi5Jbml0aWFsTG9hZE1vZGUuaGFzT3duUHJvcGVydHkodlZhbHVlKTtcblx0fVxufSk7XG4vLyBub3JtYWxpemUgYSB2YWx1ZSwgdGFraW5nIGNhcmUgb2YgYm9vbGVhbiB0eXBlXG5Jbml0aWFsTG9hZFR5cGUuc2V0Tm9ybWFsaXplcihmdW5jdGlvbih2VmFsdWU6IGFueSkge1xuXHRpZiAoIXZWYWx1ZSkge1xuXHRcdC8vIHVuZGVmaW5lZCwgbnVsbCBvciBmYWxzZVxuXHRcdHJldHVybiB0aGlzTGliLkluaXRpYWxMb2FkTW9kZS5EaXNhYmxlZDtcblx0fVxuXHRyZXR1cm4gdlZhbHVlID09PSB0cnVlID8gdGhpc0xpYi5Jbml0aWFsTG9hZE1vZGUuRW5hYmxlZCA6IHZWYWx1ZTtcbn0pO1xuU2VydmljZUZhY3RvcnlSZWdpc3RyeS5yZWdpc3RlcihcInNhcC5mZS5jb3JlLnNlcnZpY2VzLlRlbXBsYXRlZFZpZXdTZXJ2aWNlXCIsIG5ldyBUZW1wbGF0ZWRWaWV3U2VydmljZUZhY3RvcnkoKSk7XG5TZXJ2aWNlRmFjdG9yeVJlZ2lzdHJ5LnJlZ2lzdGVyKFwic2FwLmZlLmNvcmUuc2VydmljZXMuUmVzb3VyY2VNb2RlbFNlcnZpY2VcIiwgbmV3IFJlc291cmNlTW9kZWxTZXJ2aWNlRmFjdG9yeSgpKTtcblNlcnZpY2VGYWN0b3J5UmVnaXN0cnkucmVnaXN0ZXIoXCJzYXAuZmUuY29yZS5zZXJ2aWNlcy5DYWNoZUhhbmRsZXJTZXJ2aWNlXCIsIG5ldyBDYWNoZUhhbmRsZXJTZXJ2aWNlRmFjdG9yeSgpKTtcblNlcnZpY2VGYWN0b3J5UmVnaXN0cnkucmVnaXN0ZXIoXCJzYXAuZmUuY29yZS5zZXJ2aWNlcy5OYXZpZ2F0aW9uU2VydmljZVwiLCBuZXcgTmF2aWdhdGlvblNlcnZpY2UoKSk7XG5TZXJ2aWNlRmFjdG9yeVJlZ2lzdHJ5LnJlZ2lzdGVyKFwic2FwLmZlLmNvcmUuc2VydmljZXMuUm91dGluZ1NlcnZpY2VcIiwgbmV3IFJvdXRpbmdTZXJ2aWNlRmFjdG9yeSgpKTtcblNlcnZpY2VGYWN0b3J5UmVnaXN0cnkucmVnaXN0ZXIoXCJzYXAuZmUuY29yZS5zZXJ2aWNlcy5TaWRlRWZmZWN0c1NlcnZpY2VcIiwgbmV3IFNpZGVFZmZlY3RzU2VydmljZUZhY3RvcnkoKSk7XG5TZXJ2aWNlRmFjdG9yeVJlZ2lzdHJ5LnJlZ2lzdGVyKFwic2FwLmZlLmNvcmUuc2VydmljZXMuU2hlbGxTZXJ2aWNlc1wiLCBuZXcgU2hlbGxTZXJ2aWNlc0ZhY3RvcnkoKSk7XG5TZXJ2aWNlRmFjdG9yeVJlZ2lzdHJ5LnJlZ2lzdGVyKFwic2FwLmZlLmNvcmUuc2VydmljZXMuRW52aXJvbm1lbnRTZXJ2aWNlXCIsIG5ldyBFbnZpcm9ubWVudFNlcnZpY2VGYWN0b3J5KCkpO1xuU2VydmljZUZhY3RvcnlSZWdpc3RyeS5yZWdpc3RlcihcInNhcC5mZS5jb3JlLnNlcnZpY2VzLkFzeW5jQ29tcG9uZW50U2VydmljZVwiLCBuZXcgQXN5bmNDb21wb25lbnRTZXJ2aWNlRmFjdG9yeSgpKTtcblxuZXhwb3J0IGRlZmF1bHQgdGhpc0xpYjtcbiJdfQ==
438
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYnJhcnkudHMiXSwibmFtZXMiOlsidGhpc0xpYiIsIkNvcmUiLCJpbml0TGlicmFyeSIsIm5hbWUiLCJkZXBlbmRlbmNpZXMiLCJ0eXBlcyIsImludGVyZmFjZXMiLCJjb250cm9scyIsImVsZW1lbnRzIiwidmVyc2lvbiIsIm5vTGlicmFyeUNTUyIsImV4dGVuc2lvbnMiLCJwdWJsaWNSdWxlcyIsImludGVybmFsUnVsZXMiLCJmbENoYW5nZUhhbmRsZXJzIiwiSW52b2NhdGlvbkdyb3VwaW5nIiwiSXNvbGF0ZWQiLCJDaGFuZ2VTZXQiLCJDcmVhdGlvbk1vZGUiLCJOZXdQYWdlIiwiU3luYyIsIkFzeW5jIiwiRGVmZXJyZWQiLCJJbmxpbmUiLCJDcmVhdGlvblJvdyIsIklubGluZUNyZWF0aW9uUm93cyIsIkV4dGVybmFsIiwiVmFyaWFudE1hbmFnZW1lbnQiLCJOb25lIiwiUGFnZSIsIkNvbnRyb2wiLCJDb25zdGFudHMiLCJDYW5jZWxBY3Rpb25EaWFsb2ciLCJQcm9ncmFtbWluZ01vZGVsIiwiRHJhZnQiLCJTdGlja3kiLCJOb25EcmFmdCIsIkRyYWZ0U3RhdHVzIiwiU2F2aW5nIiwiU2F2ZWQiLCJDbGVhciIsIkVkaXRNb2RlIiwiRGlzcGxheSIsIkVkaXRhYmxlIiwiVGVtcGxhdGVDb250ZW50VmlldyIsIkh5YnJpZCIsIkNoYXJ0IiwiVGFibGUiLCJJbml0aWFsTG9hZE1vZGUiLCJFbmFibGVkIiwiRGlzYWJsZWQiLCJBdXRvIiwiSW5pdGlhbExvYWRUeXBlIiwiRGF0YVR5cGUiLCJjcmVhdGVUeXBlIiwiZGVmYXVsdFZhbHVlIiwiaXNWYWxpZCIsInZWYWx1ZSIsIkxvZyIsIndhcm5pbmciLCJ1bmRlZmluZWQiLCJoYXNPd25Qcm9wZXJ0eSIsInNldE5vcm1hbGl6ZXIiLCJTZXJ2aWNlRmFjdG9yeVJlZ2lzdHJ5IiwicmVnaXN0ZXIiLCJUZW1wbGF0ZWRWaWV3U2VydmljZUZhY3RvcnkiLCJSZXNvdXJjZU1vZGVsU2VydmljZUZhY3RvcnkiLCJDYWNoZUhhbmRsZXJTZXJ2aWNlRmFjdG9yeSIsIk5hdmlnYXRpb25TZXJ2aWNlIiwiUm91dGluZ1NlcnZpY2VGYWN0b3J5IiwiU2lkZUVmZmVjdHNTZXJ2aWNlRmFjdG9yeSIsIlNoZWxsU2VydmljZXNGYWN0b3J5IiwiRW52aXJvbm1lbnRTZXJ2aWNlRmFjdG9yeSIsIkFzeW5jQ29tcG9uZW50U2VydmljZUZhY3RvcnkiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7QUFvQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU1BLE9BQU8sR0FBR0MsSUFBSSxDQUFDQyxXQUFMLENBQWlCO0FBQ2hDQyxJQUFBQSxJQUFJLEVBQUUsYUFEMEI7QUFFaENDLElBQUFBLFlBQVksRUFBRSxDQUFDLGFBQUQsRUFBZ0IsbUJBQWhCLEVBQXFDLG9CQUFyQyxFQUEyRCxXQUEzRCxFQUF3RSxZQUF4RSxDQUZrQjtBQUdoQ0MsSUFBQUEsS0FBSyxFQUFFLENBQUMsMEJBQUQsRUFBNkIsK0JBQTdCLENBSHlCO0FBSWhDQyxJQUFBQSxVQUFVLEVBQUUsRUFKb0I7QUFLaENDLElBQUFBLFFBQVEsRUFBRSxFQUxzQjtBQU1oQ0MsSUFBQUEsUUFBUSxFQUFFLEVBTnNCO0FBT2hDQyxJQUFBQSxPQUFPLEVBQUUsWUFQdUI7QUFRaENDLElBQUFBLFlBQVksRUFBRSxJQVJrQjtBQVNoQ0MsSUFBQUEsVUFBVSxFQUFFO0FBQ1g7QUFDQSx3QkFBa0I7QUFDakJDLFFBQUFBLFdBQVcsRUFBRSxJQURJO0FBRWpCQyxR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QWhDLEVBQTJFLElBQUlNLHlCQUFKLEVBQTNFO0FBQ0FQLEVBQUFBLHNCQUFzQixDQUFDQyxRQUF2QixDQUFnQyxvQ0FBaEMsRUFBc0UsSUFBSU8sb0JBQUosRUFBdEU7QUFDQVIsRUFBQUEsc0JBQXNCLENBQUNDLFFBQXZCLENBQWdDLHlDQUFoQyxFQUEyRSxJQUFJUSx5QkFBSixFQUEzRTtBQUNBVCxFQUFBQSxzQkFBc0IsQ0FBQ0MsUUFBdkIsQ0FBZ0MsNENBQWhDLEVBQThFLElBQUlTLDRCQUFKLEVBQTlFO1NBRWV6RSxPIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcbmltcG9ydCBcInNhcC9mZS9jb3JlL2Zvcm1hdHRlcnMvRlBNRm9ybWF0dGVyXCI7XG5pbXBvcnQgXCJzYXAvZmUvY29yZS9mb3JtYXR0ZXJzL1ZhbHVlRm9ybWF0dGVyXCI7XG5pbXBvcnQgQXN5bmNDb21wb25lbnRTZXJ2aWNlRmFjdG9yeSBmcm9tIFwic2FwL2ZlL2NvcmUvc2VydmljZXMvQXN5bmNDb21wb25lbnRTZXJ2aWNlRmFjdG9yeVwiO1xuaW1wb3J0IENhY2hlSGFuZGxlclNlcnZpY2VGYWN0b3J5IGZyb20gXCJzYXAvZmUvY29yZS9zZXJ2aWNlcy9DYWNoZUhhbmRsZXJTZXJ2aWNlRmFjdG9yeVwiO1xuaW1wb3J0IEVudmlyb25tZW50U2VydmljZUZhY3RvcnkgZnJvbSBcInNhcC9mZS9jb3JlL3NlcnZpY2VzL0Vudmlyb25tZW50U2VydmljZUZhY3RvcnlcIjtcbmltcG9ydCBOYXZpZ2F0aW9uU2VydmljZSBmcm9tIFwic2FwL2ZlL2NvcmUvc2VydmljZXMvTmF2aWdhdGlvblNlcnZpY2VGYWN0b3J5XCI7XG5pbXBvcnQgUmVzb3VyY2VNb2RlbFNlcnZpY2VGYWN0b3J5IGZyb20gXCJzYXAvZmUvY29yZS9zZXJ2aWNlcy9SZXNvdXJjZU1vZGVsU2VydmljZUZhY3RvcnlcIjtcbmltcG9ydCBSb3V0aW5nU2VydmljZUZhY3RvcnkgZnJvbSBcInNhcC9mZS9jb3JlL3NlcnZpY2VzL1JvdXRpbmdTZXJ2aWNlRmFjdG9yeVwiO1xuaW1wb3J0IFNoZWxsU2VydmljZXNGYWN0b3J5IGZyb20gXCJzYXAvZmUvY29yZS9zZXJ2aWNlcy9TaGVsbFNlcnZpY2VzRmFjdG9yeVwiO1xuaW1wb3J0IFNpZGVFZmZlY3RzU2VydmljZUZhY3RvcnkgZnJvbSBcInNhcC9mZS9jb3JlL3NlcnZpY2VzL1NpZGVFZmZlY3RzU2VydmljZUZhY3RvcnlcIjtcbmltcG9ydCBUZW1wbGF0ZWRWaWV3U2VydmljZUZhY3RvcnkgZnJvbSBcInNhcC9mZS9jb3JlL3NlcnZpY2VzL1RlbXBsYXRlZFZpZXdTZXJ2aWNlRmFjdG9yeVwiO1xuaW1wb3J0IFwic2FwL2ZlL2NvcmUvdHlwZS9EYXRlVGltZVdpdGhUaW1lem9uZVwiO1xuaW1wb3J0IFwic2FwL2ZlL2NvcmUvdHlwZS9FbWFpbFwiO1xuaW1wb3J0IFwic2FwL2ZlL25hdmlnYXRpb24vbGlicmFyeVwiO1xuaW1wb3J0IFwic2FwL2ZlL3BsYWNlaG9sZGVyL2xpYnJhcnlcIjtcbmltcG9ydCBEYXRhVHlwZSBmcm9tIFwic2FwL3VpL2Jhc2UvRGF0YVR5cGVcIjtcbmltcG9ydCBDb3JlIGZyb20gXCJzYXAvdWkvY29yZS9Db3JlXCI7XG5pbXBvcnQgXCJzYXAvdWkvY29yZS9saWJyYXJ5XCI7XG5pbXBvcnQgU2VydmljZUZhY3RvcnlSZWdpc3RyeSBmcm9tIFwic2FwL3VpL2NvcmUvc2VydmljZS9TZXJ2aWNlRmFjdG9yeVJlZ2lzdHJ5XCI7XG5pbXBvcnQgXCJzYXAvdWkvZmwvbGlicmFyeVwiO1xuaW1wb3J0IFwic2FwL3VpL21kYy9saWJyYXJ5XCI7XG4vKipcbiAqIFJvb3QgbmFtZXNwYWNlIGZvciBhbGwgdGhlIGxpYnJhcmllcyByZWxhdGVkIHRvIFNBUCBGaW9yaSBlbGVtZW50cy5cbiAqXG4gKiBAbmFtZXNwYWNlXG4gKiBAbmFtZSBzYXAuZmVcbiAqIEBwdWJsaWNcbiAqL1xuXG4vKipcbiAqIExpYnJhcnkgcHJvdmlkaW5nIHRoZSBjb3JlIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIHJ1bnRpbWUgZm9yIFNBUCBGaW9yaSBlbGVtZW50cyBmb3IgT0RhdGEgVjQuXG4gKlxuICogQG5hbWVzcGFjZVxuICogQG5hbWUgc2FwLmZlLmNvcmVcbiAqIEBwdWJsaWNcbiAqL1xuXG4vKipcbiAqIENvbGxlY3Rpb24gb2YgY29udHJvbGxlciBleHRlbnNpb25zIHVzZWQgaW50ZXJuYWxseSBpbiBTQVAgRmlvcmkgZWxlbWVudHMgZXhwb3NpbmcgYSBtZXRob2QgdGhhdCB5b3UgY2FuIG92ZXJyaWRlIHRvIGFsbG93IG1vcmUgZmxleGliaWxpdHkuXG4gKlxuICogQG5hbWVzcGFjZVxuICogQG5hbWUgc2FwLmZlLmNvcmUuY29udHJvbGxlcmV4dGVuc2lvbnNcbiAqIEBwdWJsaWNcbiAqL1xuXG4vKipcbiAqIENvbGxlY3Rpb24gb2YgY2xhc3NlcyBwcm92aWRlZCBieSBTQVAgRmlvcmkgZWxlbWVudHMgZm9yIHRoZSBGbGV4aWJsZSBQcm9ncmFtbWluZyBNb2RlbFxuICpcbiAqIEBuYW1lc3BhY2VcbiAqIEBuYW1lIHNhcC5mZS5jb3JlLmZwbVxuICogQHB1YmxpY1xuICovXG5cbi8qKlxuICogQG5hbWVzcGFjZVxuICogQG5hbWUgc2FwLmZlLmNvcmUuYWN0aW9uc1xuICogQHByaXZhdGVcbiAqL1xuXG4vKipcbiAqIEBuYW1lc3BhY2VcbiAqIEBuYW1lIHNhcC5mZS5jb21tb25cbiAqIEBwcml2YXRlXG4gKi9cblxuLyoqXG4gKiBAbmFtZXNwYWNlXG4gKiBAbmFtZSBzYXAuZmUuY29yZS5tb2RlbFxuICogQHByaXZhdGVcbiAqL1xuXG4vKipcbiAqIEBuYW1lc3BhY2VcbiAqIEBuYW1lIHNhcC5mZS5jb3JlLm5hdmlnYXRpb25cbiAqIEBwcml2YXRlXG4gKi9cbmNvbnN0IHRoaXNMaWIgPSBDb3JlLmluaXRMaWJyYXJ5KHtcblx0bmFtZTogXCJzYXAuZmUuY29yZVwiLFxuXHRkZXBlbmRlbmNpZXM6IFtcInNhcC51aS5jb3JlXCIsIFwic2FwLmZlLm5hdmlnYXRpb25cIiwgXCJzYXAuZmUucGxhY2Vob2xkZXJcIiwgXCJzYXAudWkuZmxcIiwgXCJzYXAudWkubWRjXCJdLFxuXHR0eXBlczogW1wic2FwLmZlLmNvcmUuQ3JlYXRpb25Nb2RlXCIsIFwic2FwLmZlLmNvcmUuVmFyaWFudE1hbmFnZW1lbnRcIl0sXG5cdGludGVyZmFjZXM6IFtdLFxuXHRjb250cm9sczogW10sXG5cdGVsZW1lbnRzOiBbXSxcblx0dmVyc2lvbjogXCIke3ZlcnNpb259XCIsXG5cdG5vTGlicmFyeUNTUzogdHJ1ZSxcblx0ZXh0ZW5zaW9uczoge1xuXHRcdC8vQ29uZmlndXJhdGlvbiB1c2VkIGZvciBydWxlIGxvYWRpbmcgb2YgU3VwcG9ydCBBc3Npc3RhbnRcblx0XHRcInNhcC51aS5zdXBwb3J0XCI6IHtcblx0XHRcdHB1YmxpY1J1bGVzOiB0cnVlLFxuXHRcdFx0aW50ZXJuYWxSdWxlczogdHJ1ZVxuXHRcdH0sXG5cdFx0ZmxDaGFuZ2VIYW5kbGVyczoge1xuXHRcdFx0XCJzYXAuZmUuY29yZS5jb250cm9scy5GaWx0ZXJCYXJcIjogXCJzYXAvdWkvbWRjL2ZsZXhpYmlsaXR5L0ZpbHRlckJhclwiXG5cdFx0fVxuXHR9XG59KSBhcyBhbnk7XG5cbi8qKlxuICogQXZhaWxhYmxlIHZhbHVlcyBmb3IgaW52b2NhdGlvbiBncm91cGluZy5cbiAqXG4gKiBAcmVhZG9ubHlcbiAqIEBlbnVtIHtzdHJpbmd9XG4gKiBAcHJpdmF0ZVxuICovXG50aGlzTGliLkludm9jYXRpb25Hcm91cGluZyA9IHtcblx0LyoqXG5cdCAqIElzb2xhdGVkLlxuXHQgKlxuXHQgKiBAY29uc3RhbnRcblx0ICogQHR5cGUge3N0cmluZ31cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0SXNvbGF0ZWQ6IFwiSXNvbGF0ZWRcIixcblx0LyoqXG5cdCAqIENoYW5nZVNldC5cblx0ICpcblx0ICogQGNvbnN0YW50XG5cdCAqIEB0eXBlIHtzdHJpbmd9XG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdENoYW5nZVNldDogXCJDaGFuZ2VTZXRcIlxufTtcbi8qKlxuICogQXZhaWxhYmxlIHZhbHVlcyBmb3IgY3JlYXRpb24gbW9kZS5cbiAqXG4gKiBAcmVhZG9ubHlcbiAqIEBlbnVtIHtzdHJpbmd9XG4gKiBAcHJpdmF0ZVxuICovXG50aGlzTGliLkNyZWF0aW9uTW9kZSA9IHtcblx0LyoqXG5cdCAqIE5ldyBQYWdlLlxuXHQgKlxuXHQgKiBAY29uc3RhbnRcblx0ICogQHR5cGUge3N0cmluZ31cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0TmV3UGFnZTogXCJOZXdQYWdlXCIsXG5cdC8qKlxuXHQgKiBTeW5jLlxuXHQgKlxuXHQgKiBAY29uc3RhbnRcblx0ICogQHR5cGUge3N0cmluZ31cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0U3luYzogXCJTeW5jXCIsXG5cdC8qKlxuXHQgKiBBc3luYy5cblx0ICpcblx0ICogQGNvbnN0YW50XG5cdCAqIEB0eXBlIHtzdHJpbmd9XG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEFzeW5jOiBcIkFzeW5jXCIsXG5cdC8qKlxuXHQgKiBEZWZlcnJlZC5cblx0ICpcblx0ICogQGNvbnN0YW50XG5cdCAqIEB0eXBlIHtzdHJpbmd9XG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdERlZmVycmVkOiBcIkRlZmVycmVkXCIsXG5cdC8qKlxuXHQgKiBJbmxpbmUuXG5cdCAqXG5cdCAqIEBjb25zdGFudFxuXHQgKiBAdHlwZSB7c3RyaW5nfVxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRJbmxpbmU6IFwiSW5saW5lXCIsXG5cdC8qKlxuXHQgKiBDcmVhdGlvbiByb3cuXG5cdCAqXG5cdCAqIEBjb25zdGFudFxuXHQgKiBAdHlwZSB7c3RyaW5nfVxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRDcmVhdGlvblJvdzogXCJDcmVhdGlvblJvd1wiLFxuXHQvKipcblx0ICogSW5saW5lIGNyZWF0aW9uIHJvd3MuXG5cdCAqXG5cdCAqIEBjb25zdGFudFxuXHQgKiBAdHlwZSB7c3RyaW5nfVxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRJbmxpbmVDcmVhdGlvblJvd3M6IFwiSW5saW5lQ3JlYXRpb25Sb3dzXCIsXG5cdC8qKlxuXHQgKiBFeHRlcm5hbCAoYnkgb3V0Ym91bmQgbmF2aWdhdGlvbikuXG5cdCAqXG5cdCAqIEBjb25zdGFudFxuXHQgKiBAdHlwZSB7c3RyaW5nfVxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRFeHRlcm5hbDogXCJFeHRlcm5hbFwiXG59O1xuLyoqXG4gKiBBdmFpbGFibGUgdmFsdWVzIGZvciBWYXJpYW50IE1hbmFnZW1lbnQuXG4gKlxuICogQHJlYWRvbmx5XG4gKiBAZW51bSB7c3RyaW5nfVxuICogQHByaXZhdGVcbiAqL1xudGhpc0xpYi5WYXJpYW50TWFuYWdlbWVudCA9IHtcblx0LyoqXG5cdCAqIE5vIHZhcmlhbnQgbWFuYWdlbWVudCBhdCBhbGwuXG5cdCAqXG5cdCAqIEBjb25zdGFudFxuXHQgKiBAdHlwZSB7c3RyaW5nfVxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHROb25lOiBcIk5vbmVcIixcblxuXHQvKipcblx0ICogT25lIHZhcmlhbnQgY29uZmlndXJhdGlvbiBmb3IgdGhlIHdob2xlIHBhZ2UuXG5cdCAqXG5cdCAqIEBjb25zdGFudFxuXHQgKiBAdHlwZSB7c3RyaW5nfVxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRQYWdlOiBcIlBhZ2VcIixcblxuXHQvKipcblx0ICogVmFyaWFudCBtYW5hZ2VtZW50IG9uIGNvbnRyb2wgbGV2ZWwuXG5cdCAqXG5cdCAqIEBjb25zdGFudFxuXHQgKiBAdHlwZSB7c3RyaW5nfVxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRDb250cm9sOiBcIkNvbnRyb2xcIlxufTtcbi8qKlxuICogQXZhaWxhYmxlIGNvbnN0YW50cy5cbiAqXG4gKiBAcmVhZG9ubHlcbiAqIEBlbnVtIHtzdHJpbmd9XG4gKiBAcHJpdmF0ZVxuICovXG50aGlzTGliLkNvbnN0YW50cyA9IHtcblx0LyoqXG5cdCAqIEluZGljYXRlcyBjYW5jZWxsaW5nIG9mIGFuIGFjdGlvbiBkaWFsb2cuXG5cdCAqXG5cdCAqIEBjb25zdGFudFxuXHQgKiBAdHlwZSB7c3RyaW5nfVxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRDYW5jZWxBY3Rpb25EaWFsb2c6IFwiY2FuY2VsXCJcbn07XG4vKipcbiAqIEF2YWlsYWJsZSB2YWx1ZXMgZm9yIHByb2dyYW1taW5nIG1vZGVsLlxuICpcbiAqIEByZWFkb25seVxuICogQGVudW0ge3N0cmluZ31cbiAqIEBwcml2YXRlXG4gKi9cbnRoaXNMaWIuUHJvZ3JhbW1pbmdNb2RlbCA9IHtcblx0LyoqXG5cdCAqIERyYWZ0LlxuXHQgKlxuXHQgKiBAY29uc3RhbnRcblx0ICogQHR5cGUge3N0cmluZ31cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0RHJhZnQ6IFwiRHJhZnRcIixcblx0LyoqXG5cdCAqIFN0aWNreS5cblx0ICpcblx0ICogQGNvbnN0YW50XG5cdCAqIEB0eXBlIHtzdHJpbmd9XG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdFN0aWNreTogXCJTdGlja3lcIixcblx0LyoqXG5cdCAqIE5vbkRyYWZ0LlxuXHQgKlxuXHQgKiBAY29uc3RhbnRcblx0ICogQHR5cGUge3N0cmluZ31cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0Tm9uRHJhZnQ6IFwiTm9uRHJhZnRcIlxufTtcbi8qKlxuICogQXZhaWxhYmxlIHZhbHVlcyBmb3IgZHJhZnQgc3RhdHVzLlxuICpcbiAqIEByZWFkb25seVxuICogQGVudW0ge3N0cmluZ31cbiAqIEBwcml2YXRlXG4gKi9cbnRoaXNMaWIuRHJhZnRTdGF0dXMgPSB7XG5cdC8qKlxuXHQgKiBTYXZpbmcuXG5cdCAqXG5cdCAqIEBjb25zdGFudFxuXHQgKiBAdHlwZSB7c3RyaW5nfVxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRTYXZpbmc6IFwiU2F2aW5nXCIsXG5cdC8qKlxuXHQgKiBTYXZlZC5cblx0ICpcblx0ICogQGNvbnN0YW50XG5cdCAqIEB0eXBlIHtzdHJpbmd9XG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdFNhdmVkOiBcIlNhdmVkXCIsXG5cdC8qKlxuXHQgKiBDbGVhci5cblx0ICpcblx0ICogQGNvbnN0YW50XG5cdCAqIEB0eXBlIHtzdHJpbmd9XG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdENsZWFyOiBcIkNsZWFyXCJcbn07XG4vKipcbiAqIEVkaXQgbW9kZSB2YWx1ZXMuXG4gKlxuICogQHJlYWRvbmx5XG4gKiBAZW51bSB7c3RyaW5nfVxuICogQHByaXZhdGVcbiAqL1xudGhpc0xpYi5FZGl0TW9kZSA9IHtcblx0LyoqXG5cdCAqIFZpZXcgaXMgY3VycmVudGx5IGRpc3BsYXlpbmcgb25seS5cblx0ICpcblx0ICogQGNvbnN0YW50XG5cdCAqIEB0eXBlIHtzdHJpbmd9XG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdERpc3BsYXk6IFwiRGlzcGxheVwiLFxuXHQvKipcblx0ICogVmlldyBpcyBjdXJyZW50bHkgZWRpdGFibGUuXG5cdCAqXG5cdCAqIEBjb25zdGFudFxuXHQgKiBAdHlwZSB7c3RyaW5nfVxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRFZGl0YWJsZTogXCJFZGl0YWJsZVwiXG59O1xuLyoqXG4gKiBUZW1wbGF0ZSB2aWV3cy5cbiAqXG4gKiBAcmVhZG9ubHlcbiAqIEBlbnVtIHtzdHJpbmd9XG4gKiBAcHJpdmF0ZVxuICovXG50aGlzTGliLlRlbXBsYXRlQ29udGVudFZpZXcgPSB7XG5cdC8qKlxuXHQgKiBIeWJyaWQuXG5cdCAqIEBjb25zdGFudFxuXHQgKiBAdHlwZSB7c3RyaW5nfVxuXHQgKi9cblx0SHlicmlkOiBcIkh5YnJpZFwiLFxuXHQvKipcblx0ICogQ2hhcnQuXG5cdCAqIEBjb25zdGFudFxuXHQgKiBAdHlwZSB7c3RyaW5nfVxuXHQgKi9cblx0Q2hhcnQ6IFwiQ2hhcnRcIixcblx0LyoqXG5cdCAqIFRhYmxlLlxuXHQgKiBAY29uc3RhbnRcblx0ICogQHR5cGUge3N0cmluZ31cblx0ICovXG5cdFRhYmxlOiBcIlRhYmxlXCJcbn07XG4vKipcbiAqIFBvc3NpYmxlIGluaXRpYWwgbG9hZCAoZmlyc3QgYXBwIHN0YXJ0dXApIG1vZGVzIGZvciBhIExpc3RSZXBvcnQuXG4gKlxuICogQGVudW0ge3N0cmluZ31cbiAqIEBuYW1lIHNhcC5mZS5jb3JlLkluaXRpYWxMb2FkTW9kZVxuICogQHJlYWRvbmx5XG4gKiBAcHVibGljXG4gKiBAc2luY2UgMS44Ni4wXG4gKi9cbnRoaXNMaWIuSW5pdGlhbExvYWRNb2RlID0ge1xuXHQvKipcblx0ICogRGF0YSB3aWxsIGJlIGxvYWRlZCBpbml0aWFsbHkuXG5cdCAqXG5cdCAqIEBuYW1lIHNhcC5mZS5jb3JlLkluaXRpYWxMb2FkTW9kZS5FbmFibGVkXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEVuYWJsZWQ6IFwiRW5hYmxlZFwiLFxuXG5cdC8qKlxuXHQgKiBEYXRhIHdpbGwgbm90IGJlIGxvYWRlZCBpbml0aWFsbHkuXG5cdCAqIEBuYW1lIHNhcC5mZS5jb3JlLkluaXRpYWxMb2FkTW9kZS5EaXNhYmxlZFxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHREaXNhYmxlZDogXCJEaXNhYmxlZFwiLFxuXG5cdC8qKlxuXHQgKiBEYXRhIHdpbGwgYmUgbG9hZGVkIGluaXRpYWxseSBpZiBmaWx0ZXJzIGFyZSBzZXQuXG5cdCAqIEBuYW1lIHNhcC5mZS5jb3JlLkluaXRpYWxMb2FkTW9kZS5BdXRvXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEF1dG86IFwiQXV0b1wiXG59O1xuLy8gZXhwbGljaXQgdHlwZSB0byBoYW5kbGUgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aXRoIGJvb2xlYW4gdmFsdWVzXG5jb25zdCBJbml0aWFsTG9hZFR5cGUgPSBEYXRhVHlwZS5jcmVhdGVUeXBlKFwic2FwLmZlLmNvcmUuSW5pdGlhbExvYWRNb2RlXCIsIHtcblx0ZGVmYXVsdFZhbHVlOiB0aGlzTGliLkluaXRpYWxMb2FkTW9kZS5BdXRvLFxuXHRpc1ZhbGlkOiBmdW5jdGlvbiAodlZhbHVlOiBhbnkpIHtcblx0XHRpZiAodHlwZW9mIHZWYWx1ZSA9PT0gXCJib29sZWFuXCIpIHtcblx0XHRcdExvZy53YXJuaW5nKFxuXHRcdFx0XHRcIkRFUFJFQ0FURUQ6IGJvb2xlYW4gdmFsdWUgbm90IGFsbG93ZWQgZm9yICdpbml0aWFsTG9hZCcgbWFuaWZlc3Qgc2V0dGluZyAtIHN1cHBvcnRlZCB2YWx1ZXMgYXJlOiBEaXNhYmxlZHxFbmFibGVkfEF1dG9cIlxuXHRcdFx0KTtcblx0XHR9XG5cdFx0cmV0dXJuIHZWYWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZWYWx1ZSA9PT0gbnVsbCB8fCB0eXBlb2YgdlZhbHVlID09PSBcImJvb2xlYW5cIiB8fCB0aGlzTGliLkluaXRpYWxMb2FkTW9kZS5oYXNPd25Qcm9wZXJ0eSh2VmFsdWUpO1xuXHR9XG59KTtcbi8vIG5vcm1hbGl6ZSBhIHZhbHVlLCB0YWtpbmcgY2FyZSBvZiBib29sZWFuIHR5cGVcbkluaXRpYWxMb2FkVHlwZS5zZXROb3JtYWxpemVyKGZ1bmN0aW9uICh2VmFsdWU6IGFueSkge1xuXHRpZiAoIXZWYWx1ZSkge1xuXHRcdC8vIHVuZGVmaW5lZCwgbnVsbCBvciBmYWxzZVxuXHRcdHJldHVybiB0aGlzTGliLkluaXRpYWxMb2FkTW9kZS5EaXNhYmxlZDtcblx0fVxuXHRyZXR1cm4gdlZhbHVlID09PSB0cnVlID8gdGhpc0xpYi5Jbml0aWFsTG9hZE1vZGUuRW5hYmxlZCA6IHZWYWx1ZTtcbn0pO1xuU2VydmljZUZhY3RvcnlSZWdpc3RyeS5yZWdpc3RlcihcInNhcC5mZS5jb3JlLnNlcnZpY2VzLlRlbXBsYXRlZFZpZXdTZXJ2aWNlXCIsIG5ldyBUZW1wbGF0ZWRWaWV3U2VydmljZUZhY3RvcnkoKSk7XG5TZXJ2aWNlRmFjdG9yeVJlZ2lzdHJ5LnJlZ2lzdGVyKFwic2FwLmZlLmNvcmUuc2VydmljZXMuUmVzb3VyY2VNb2RlbFNlcnZpY2VcIiwgbmV3IFJlc291cmNlTW9kZWxTZXJ2aWNlRmFjdG9yeSgpKTtcblNlcnZpY2VGYWN0b3J5UmVnaXN0cnkucmVnaXN0ZXIoXCJzYXAuZmUuY29yZS5zZXJ2aWNlcy5DYWNoZUhhbmRsZXJTZXJ2aWNlXCIsIG5ldyBDYWNoZUhhbmRsZXJTZXJ2aWNlRmFjdG9yeSgpKTtcblNlcnZpY2VGYWN0b3J5UmVnaXN0cnkucmVnaXN0ZXIoXCJzYXAuZmUuY29yZS5zZXJ2aWNlcy5OYXZpZ2F0aW9uU2VydmljZVwiLCBuZXcgTmF2aWdhdGlvblNlcnZpY2UoKSk7XG5TZXJ2aWNlRmFjdG9yeVJlZ2lzdHJ5LnJlZ2lzdGVyKFwic2FwLmZlLmNvcmUuc2VydmljZXMuUm91dGluZ1NlcnZpY2VcIiwgbmV3IFJvdXRpbmdTZXJ2aWNlRmFjdG9yeSgpKTtcblNlcnZpY2VGYWN0b3J5UmVnaXN0cnkucmVnaXN0ZXIoXCJzYXAuZmUuY29yZS5zZXJ2aWNlcy5TaWRlRWZmZWN0c1NlcnZpY2VcIiwgbmV3IFNpZGVFZmZlY3RzU2VydmljZUZhY3RvcnkoKSk7XG5TZXJ2aWNlRmFjdG9yeVJlZ2lzdHJ5LnJlZ2lzdGVyKFwic2FwLmZlLmNvcmUuc2VydmljZXMuU2hlbGxTZXJ2aWNlc1wiLCBuZXcgU2hlbGxTZXJ2aWNlc0ZhY3RvcnkoKSk7XG5TZXJ2aWNlRmFjdG9yeVJlZ2lzdHJ5LnJlZ2lzdGVyKFwic2FwLmZlLmNvcmUuc2VydmljZXMuRW52aXJvbm1lbnRTZXJ2aWNlXCIsIG5ldyBFbnZpcm9ubWVudFNlcnZpY2VGYWN0b3J5KCkpO1xuU2VydmljZUZhY3RvcnlSZWdpc3RyeS5yZWdpc3RlcihcInNhcC5mZS5jb3JlLnNlcnZpY2VzLkFzeW5jQ29tcG9uZW50U2VydmljZVwiLCBuZXcgQXN5bmNDb21wb25lbnRTZXJ2aWNlRmFjdG9yeSgpKTtcblxuZXhwb3J0IGRlZmF1bHQgdGhpc0xpYjtcbiJdfQ==