@sapui5/sap.fe.core 1.98.0 → 1.99.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 (231) hide show
  1. package/package.json +3 -2
  2. package/src/sap/fe/core/.library +1 -1
  3. package/src/sap/fe/core/AnnotationHelper.js +377 -405
  4. package/src/sap/fe/core/AnnotationHelper.ts +385 -0
  5. package/src/sap/fe/core/AppComponent.js +3 -2
  6. package/src/sap/fe/core/AppStateHandler.js +229 -181
  7. package/src/sap/fe/core/AppStateHandler.ts +171 -0
  8. package/src/sap/fe/core/BaseController.js +3 -2
  9. package/src/sap/fe/core/BusyLocker.js +105 -121
  10. package/src/sap/fe/core/BusyLocker.ts +98 -0
  11. package/src/sap/fe/core/CommonUtils.js +2073 -2399
  12. package/src/sap/fe/core/CommonUtils.ts +2078 -0
  13. package/src/sap/fe/core/ExtensionAPI.js +3 -2
  14. package/src/sap/fe/core/PageController.js +84 -125
  15. package/src/sap/fe/core/PageController.ts +101 -0
  16. package/src/sap/fe/core/RouterProxy.js +986 -823
  17. package/src/sap/fe/core/RouterProxy.ts +838 -0
  18. package/src/sap/fe/core/Synchronization.js +51 -35
  19. package/src/sap/fe/core/Synchronization.ts +29 -0
  20. package/src/sap/fe/core/TemplateComponent.js +173 -164
  21. package/src/sap/fe/core/TemplateComponent.ts +166 -0
  22. package/src/sap/fe/core/TemplateModel.js +97 -54
  23. package/src/sap/fe/core/TemplateModel.ts +63 -0
  24. package/src/sap/fe/core/TransactionHelper.js +1576 -1664
  25. package/src/sap/fe/core/TransactionHelper.ts +1706 -0
  26. package/src/sap/fe/core/actions/draft.js +559 -608
  27. package/src/sap/fe/core/actions/draft.ts +593 -0
  28. package/src/sap/fe/core/actions/messageHandling.js +545 -514
  29. package/src/sap/fe/core/actions/messageHandling.ts +532 -0
  30. package/src/sap/fe/core/actions/nonDraft.js +17 -19
  31. package/src/sap/fe/core/actions/nonDraft.ts +12 -0
  32. package/src/sap/fe/core/actions/operations.js +1074 -1215
  33. package/src/sap/fe/core/actions/operations.ts +1162 -0
  34. package/src/sap/fe/core/actions/sticky.js +102 -105
  35. package/src/sap/fe/core/actions/sticky.ts +102 -0
  36. package/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata.js +3 -2
  37. package/src/sap/fe/core/controllerextensions/EditFlow.js +54 -211
  38. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +3 -2
  39. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +279 -11
  40. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +8 -6
  41. package/src/sap/fe/core/controllerextensions/InternalRouting.js +47 -45
  42. package/src/sap/fe/core/controllerextensions/KPIManagement.js +2 -3
  43. package/src/sap/fe/core/controllerextensions/KPIManagement.ts +29 -26
  44. package/src/sap/fe/core/controllerextensions/MassEdit.js +101 -8
  45. package/src/sap/fe/core/controllerextensions/MessageHandler.js +17 -8
  46. package/src/sap/fe/core/controllerextensions/PageReady.js +2 -2
  47. package/src/sap/fe/core/controllerextensions/PageReady.ts +12 -8
  48. package/src/sap/fe/core/controllerextensions/Paginator.js +3 -2
  49. package/src/sap/fe/core/controllerextensions/Placeholder.js +3 -2
  50. package/src/sap/fe/core/controllerextensions/Routing.js +9 -4
  51. package/src/sap/fe/core/controllerextensions/RoutingListener.js +3 -2
  52. package/src/sap/fe/core/controllerextensions/Share.js +3 -2
  53. package/src/sap/fe/core/controllerextensions/SideEffects.js +3 -3
  54. package/src/sap/fe/core/controllerextensions/SideEffects.ts +18 -18
  55. package/src/sap/fe/core/controllerextensions/ViewState.js +3 -2
  56. package/src/sap/fe/core/controls/CommandExecution.js +3 -2
  57. package/src/sap/fe/core/controls/ConditionalWrapper.js +3 -2
  58. package/src/sap/fe/core/controls/CustomQuickViewPage.js +3 -2
  59. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +3 -2
  60. package/src/sap/fe/core/controls/FieldWrapper.js +11 -22
  61. package/src/sap/fe/core/controls/FilterBar.js +3 -2
  62. package/src/sap/fe/core/controls/FormElementWrapper.js +3 -2
  63. package/src/sap/fe/core/controls/MultiValueParameterDelegate.js +3 -2
  64. package/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +1 -0
  65. package/src/sap/fe/core/controls/filterbar/FilterContainer.js +3 -2
  66. package/src/sap/fe/core/controls/filterbar/VisualFilter.js +5 -4
  67. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +3 -2
  68. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +3 -2
  69. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +3 -2
  70. package/src/sap/fe/core/converters/ConverterContext.js +2 -2
  71. package/src/sap/fe/core/converters/ConverterContext.ts +4 -3
  72. package/src/sap/fe/core/converters/ManifestSettings.js +1 -1
  73. package/src/sap/fe/core/converters/ManifestSettings.ts +1 -0
  74. package/src/sap/fe/core/converters/ManifestWrapper.js +39 -26
  75. package/src/sap/fe/core/converters/ManifestWrapper.ts +9 -0
  76. package/src/sap/fe/core/converters/MetaModelConverter.js +11 -8
  77. package/src/sap/fe/core/converters/MetaModelConverter.ts +16 -16
  78. package/src/sap/fe/core/converters/TemplateConverter.js +1 -1
  79. package/src/sap/fe/core/converters/TemplateConverter.ts +2 -2
  80. package/src/sap/fe/core/converters/common/AnnotationConverter.js +17 -13
  81. package/src/sap/fe/core/converters/controls/Common/Action.js +2 -2
  82. package/src/sap/fe/core/converters/controls/Common/Action.ts +2 -2
  83. package/src/sap/fe/core/converters/controls/Common/Chart.js +5 -3
  84. package/src/sap/fe/core/converters/controls/Common/Chart.ts +11 -3
  85. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +3 -3
  86. package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +2 -2
  87. package/src/sap/fe/core/converters/controls/Common/Form.js +4 -2
  88. package/src/sap/fe/core/converters/controls/Common/Form.ts +16 -2
  89. package/src/sap/fe/core/converters/controls/Common/Table.js +250 -146
  90. package/src/sap/fe/core/converters/controls/Common/Table.ts +300 -167
  91. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +115 -56
  92. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +120 -74
  93. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +467 -32
  94. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +483 -54
  95. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +6 -6
  96. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +9 -15
  97. package/src/sap/fe/core/converters/helpers/Aggregation.js +13 -5
  98. package/src/sap/fe/core/converters/helpers/Aggregation.ts +20 -5
  99. package/src/sap/fe/core/converters/helpers/IssueManager.js +4 -1
  100. package/src/sap/fe/core/converters/helpers/IssueManager.ts +3 -0
  101. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +4 -4
  102. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +3 -3
  103. package/src/sap/fe/core/converters/templates/ListReportConverter.js +13 -6
  104. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +26 -15
  105. package/src/sap/fe/core/designtime/AppComponent.designtime.js +3 -2
  106. package/src/sap/fe/core/formatters/CriticalityFormatter.js +1 -1
  107. package/src/sap/fe/core/formatters/CriticalityFormatter.ts +1 -1
  108. package/src/sap/fe/core/formatters/FPMFormatter.js +1 -1
  109. package/src/sap/fe/core/formatters/FPMFormatter.ts +4 -10
  110. package/src/sap/fe/core/formatters/KPIFormatter.js +1 -1
  111. package/src/sap/fe/core/formatters/KPIFormatter.ts +3 -1
  112. package/src/sap/fe/core/formatters/TableFormatter.js +39 -28
  113. package/src/sap/fe/core/formatters/TableFormatter.ts +43 -28
  114. package/src/sap/fe/core/formatters/ValueFormatter.js +1 -1
  115. package/src/sap/fe/core/formatters/ValueFormatter.ts +7 -6
  116. package/src/sap/fe/core/fpm/Component.js +3 -2
  117. package/src/sap/fe/core/helpers/AppStartupHelper.js +2 -2
  118. package/src/sap/fe/core/helpers/AppStartupHelper.ts +7 -4
  119. package/src/sap/fe/core/helpers/BindingExpression.js +314 -355
  120. package/src/sap/fe/core/helpers/BindingExpression.ts +317 -391
  121. package/src/sap/fe/core/helpers/ClassSupport.js +27 -15
  122. package/src/sap/fe/core/helpers/ClassSupport.ts +31 -20
  123. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +63 -59
  124. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.ts +56 -0
  125. package/src/sap/fe/core/helpers/EditState.js +81 -84
  126. package/src/sap/fe/core/helpers/EditState.ts +81 -0
  127. package/src/sap/fe/core/helpers/ExcelFormatHelper.js +62 -48
  128. package/src/sap/fe/core/helpers/ExcelFormatHelper.ts +49 -0
  129. package/src/sap/fe/core/helpers/FPMHelper.js +52 -56
  130. package/src/sap/fe/core/helpers/FPMHelper.ts +62 -0
  131. package/src/sap/fe/core/helpers/KeepAliveHelper.js +3 -4
  132. package/src/sap/fe/core/helpers/KeepAliveHelper.ts +9 -9
  133. package/src/sap/fe/core/helpers/MassEditHelper.js +27 -18
  134. package/src/sap/fe/core/helpers/ModelHelper.js +229 -225
  135. package/src/sap/fe/core/helpers/ModelHelper.ts +227 -0
  136. package/src/sap/fe/core/helpers/PasteHelper.js +210 -132
  137. package/src/sap/fe/core/helpers/PasteHelper.ts +196 -0
  138. package/src/sap/fe/core/helpers/SemanticDateOperators.js +332 -313
  139. package/src/sap/fe/core/helpers/SemanticDateOperators.ts +330 -0
  140. package/src/sap/fe/core/helpers/SemanticKeyHelper.js +66 -67
  141. package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +73 -0
  142. package/src/sap/fe/core/helpers/StableIdHelper.js +4 -7
  143. package/src/sap/fe/core/helpers/StableIdHelper.ts +2 -6
  144. package/src/sap/fe/core/jsx-runtime/jsx.js +1 -1
  145. package/src/sap/fe/core/jsx-runtime/jsx.ts +1 -1
  146. package/src/sap/fe/core/library.js +4 -3
  147. package/src/sap/fe/core/library.support.js +3 -2
  148. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +1 -1
  149. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +1 -1
  150. package/src/sap/fe/core/messagebundle.properties +23 -10
  151. package/src/sap/fe/core/messagebundle_ar.properties +9 -0
  152. package/src/sap/fe/core/messagebundle_bg.properties +9 -0
  153. package/src/sap/fe/core/messagebundle_ca.properties +9 -0
  154. package/src/sap/fe/core/messagebundle_cs.properties +10 -1
  155. package/src/sap/fe/core/messagebundle_cy.properties +9 -0
  156. package/src/sap/fe/core/messagebundle_da.properties +9 -0
  157. package/src/sap/fe/core/messagebundle_de.properties +9 -0
  158. package/src/sap/fe/core/messagebundle_el.properties +9 -0
  159. package/src/sap/fe/core/messagebundle_en.properties +9 -0
  160. package/src/sap/fe/core/messagebundle_en_GB.properties +9 -0
  161. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +9 -0
  162. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +9 -0
  163. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +9 -0
  164. package/src/sap/fe/core/messagebundle_es.properties +9 -0
  165. package/src/sap/fe/core/messagebundle_es_MX.properties +9 -0
  166. package/src/sap/fe/core/messagebundle_et.properties +9 -0
  167. package/src/sap/fe/core/messagebundle_fi.properties +9 -0
  168. package/src/sap/fe/core/messagebundle_fr.properties +13 -4
  169. package/src/sap/fe/core/messagebundle_fr_CA.properties +15 -6
  170. package/src/sap/fe/core/messagebundle_hi.properties +15 -6
  171. package/src/sap/fe/core/messagebundle_hr.properties +15 -6
  172. package/src/sap/fe/core/messagebundle_hu.properties +9 -0
  173. package/src/sap/fe/core/messagebundle_id.properties +10 -1
  174. package/src/sap/fe/core/messagebundle_it.properties +9 -0
  175. package/src/sap/fe/core/messagebundle_iw.properties +9 -0
  176. package/src/sap/fe/core/messagebundle_ja.properties +9 -0
  177. package/src/sap/fe/core/messagebundle_kk.properties +15 -6
  178. package/src/sap/fe/core/messagebundle_ko.properties +9 -0
  179. package/src/sap/fe/core/messagebundle_lt.properties +9 -0
  180. package/src/sap/fe/core/messagebundle_lv.properties +15 -6
  181. package/src/sap/fe/core/messagebundle_ms.properties +14 -5
  182. package/src/sap/fe/core/messagebundle_nl.properties +9 -0
  183. package/src/sap/fe/core/messagebundle_no.properties +9 -0
  184. package/src/sap/fe/core/messagebundle_pl.properties +9 -0
  185. package/src/sap/fe/core/messagebundle_pt.properties +9 -0
  186. package/src/sap/fe/core/messagebundle_pt_PT.properties +9 -0
  187. package/src/sap/fe/core/messagebundle_ro.properties +9 -0
  188. package/src/sap/fe/core/messagebundle_ru.properties +9 -0
  189. package/src/sap/fe/core/messagebundle_sh.properties +11 -2
  190. package/src/sap/fe/core/messagebundle_sk.properties +9 -0
  191. package/src/sap/fe/core/messagebundle_sl.properties +15 -6
  192. package/src/sap/fe/core/messagebundle_sv.properties +9 -0
  193. package/src/sap/fe/core/messagebundle_th.properties +9 -0
  194. package/src/sap/fe/core/messagebundle_tr.properties +9 -0
  195. package/src/sap/fe/core/messagebundle_uk.properties +9 -0
  196. package/src/sap/fe/core/messagebundle_vi.properties +9 -0
  197. package/src/sap/fe/core/messagebundle_zh_CN.properties +9 -0
  198. package/src/sap/fe/core/messagebundle_zh_TW.properties +15 -6
  199. package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +1 -1
  200. package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +3 -1
  201. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +269 -202
  202. package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +212 -0
  203. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +1 -1
  204. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +7 -6
  205. package/src/sap/fe/core/services/NavigationServiceFactory.js +406 -300
  206. package/src/sap/fe/core/services/NavigationServiceFactory.ts +316 -0
  207. package/src/sap/fe/core/services/ResourceModelServiceFactory.js +149 -81
  208. package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +80 -0
  209. package/src/sap/fe/core/services/RoutingServiceFactory.js +987 -899
  210. package/src/sap/fe/core/services/RoutingServiceFactory.ts +898 -0
  211. package/src/sap/fe/core/services/ShellServicesFactory.js +1 -1
  212. package/src/sap/fe/core/services/ShellServicesFactory.ts +15 -10
  213. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +35 -81
  214. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +46 -94
  215. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +461 -487
  216. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +453 -0
  217. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +10 -8
  218. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.ts +8 -0
  219. package/src/sap/fe/core/support/AnnotationIssue.support.js +15 -3
  220. package/src/sap/fe/core/support/AnnotationIssue.support.ts +16 -2
  221. package/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.js +2 -2
  222. package/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.ts +1 -1
  223. package/src/sap/fe/core/templating/FieldControlHelper.js +8 -8
  224. package/src/sap/fe/core/templating/FieldControlHelper.ts +25 -7
  225. package/src/sap/fe/core/templating/FilterHelper.js +138 -72
  226. package/src/sap/fe/core/templating/FilterHelper.ts +139 -71
  227. package/src/sap/fe/core/templating/UIFormatters.js +31 -1
  228. package/src/sap/fe/core/templating/UIFormatters.ts +33 -2
  229. package/src/sap/fe/core/type/Email.js +1 -1
  230. package/src/sap/fe/core/type/Email.ts +4 -6
  231. package/ui5.yaml +0 -3
@@ -1,7 +1,7 @@
1
1
  import { Annotation, AnnotationList, AnnotationRecord, Expression, ParserOutput } from "@sap-ux/vocabularies-types";
2
2
  // This file is retrieved from @sap-ux/annotation-converter, shared code with tool suite
3
3
  import { AnnotationConverter } from "sap/fe/core/converters/common";
4
- import { ODataMetaModel } from "sap/ui/model/odata/v4";
4
+ import ODataMetaModel from "sap/ui/model/odata/v4/ODataMetaModel";
5
5
  import {
6
6
  ConverterOutput,
7
7
  EntitySet as _EntitySet,
@@ -22,9 +22,9 @@ import {
22
22
  Singleton,
23
23
  TypeDefinition
24
24
  } from "@sap-ux/vocabularies-types/dist/Parser";
25
- import { Context } from "sap/ui/model";
26
25
  import { DataModelObjectPath } from "sap/fe/core/templating/DataModelPathHelper";
27
26
  import { generate } from "../helpers/StableIdHelper";
27
+ import Context from "sap/ui/model/Context";
28
28
 
29
29
  const VOCABULARY_ALIAS: any = {
30
30
  "Org.OData.Capabilities.V1": "Capabilities",
@@ -655,15 +655,14 @@ function prepareEntitySet(entitySetDefinition: any, entitySetName: string, entit
655
655
  }
656
656
 
657
657
  function prepareSingleton(singletonDefinition: any, singletonName: string, entityContainerName: string): Singleton {
658
- const singletonObject: Singleton = {
658
+ return {
659
659
  _type: "Singleton",
660
660
  name: singletonName,
661
661
  navigationPropertyBinding: {},
662
662
  typeName: singletonDefinition.$Type,
663
663
  fullyQualifiedName: `${entityContainerName}/${singletonName}`,
664
664
  nullable: true
665
- };
666
- return singletonObject;
665
+ } as Singleton;
667
666
  }
668
667
 
669
668
  function prepareTypeDefinition(typeDefinition: any, typeName: string, namespace: string): TypeDefinition {
@@ -951,11 +950,15 @@ export function convertTypes(oMetaModel: ODataMetaModel, oCapabilities?: Environ
951
950
  const sMetaModelId = (oMetaModel as any).id;
952
951
  if (!mMetaModelMap.hasOwnProperty(sMetaModelId)) {
953
952
  const parsedOutput = prepareEntityTypes(oMetaModel, oCapabilities);
954
- if (oCapabilities && oCapabilities.Situations) {
955
- // Only Experimental Feature!
956
- mMetaModelMap[sMetaModelId] = addSyntheticAnnotations(AnnotationConverter.convertTypes(parsedOutput));
957
- } else {
958
- mMetaModelMap[sMetaModelId] = AnnotationConverter.convertTypes(parsedOutput);
953
+ try {
954
+ if (oCapabilities && oCapabilities.Situations) {
955
+ // Only Experimental Feature!
956
+ mMetaModelMap[sMetaModelId] = addSyntheticAnnotations(AnnotationConverter.convertTypes(parsedOutput));
957
+ } else {
958
+ mMetaModelMap[sMetaModelId] = AnnotationConverter.convertTypes(parsedOutput);
959
+ }
960
+ } catch (oError) {
961
+ throw new Error(oError as any);
959
962
  }
960
963
  }
961
964
  return (mMetaModelMap[sMetaModelId] as any) as ConverterOutput;
@@ -991,8 +994,8 @@ export function deleteModelCacheData(oMetaModel: ODataMetaModel) {
991
994
  delete mMetaModelMap[(oMetaModel as any).id];
992
995
  }
993
996
 
994
- export function convertMetaModelContext(oMetaModelContext: Context<ODataMetaModel>, bIncludeVisitedObjects: boolean = false): any {
995
- const oConverterOutput = convertTypes(oMetaModelContext.getModel());
997
+ export function convertMetaModelContext(oMetaModelContext: Context, bIncludeVisitedObjects: boolean = false): any {
998
+ const oConverterOutput = convertTypes(oMetaModelContext.getModel() as ODataMetaModel);
996
999
  const sPath = oMetaModelContext.getPath();
997
1000
 
998
1001
  const aPathSplit = sPath.split("/");
@@ -1096,10 +1099,7 @@ export type ResolvedTarget = {
1096
1099
  visitedObjects: ConverterObject[];
1097
1100
  };
1098
1101
 
1099
- export function getInvolvedDataModelObjects(
1100
- oMetaModelContext: Context<ODataMetaModel>,
1101
- oEntitySetMetaModelContext?: Context<ODataMetaModel>
1102
- ): DataModelObjectPath {
1102
+ export function getInvolvedDataModelObjects(oMetaModelContext: Context, oEntitySetMetaModelContext?: Context): DataModelObjectPath {
1103
1103
  const metaModelContext = convertMetaModelContext(oMetaModelContext, true);
1104
1104
  let targetEntitySetLocation;
1105
1105
  if (oEntitySetMetaModelContext && oEntitySetMetaModelContext.getPath() !== "/") {
@@ -97,4 +97,4 @@ sap.ui.define(["./ManifestSettings", "./templates/ListReportConverter", "./templ
97
97
  _exports.convertPage = convertPage;
98
98
  return _exports;
99
99
  }, false);
100
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRlbXBsYXRlQ29udmVydGVyLnRzIl0sIm5hbWVzIjpbImhhbmRsZUVycm9yRm9yQ29sbGVjdGlvbkZhY2V0cyIsIm9GYWNldHMiLCJvRGlhZ25vc3RpY3MiLCJzRW50aXR5U2V0TmFtZSIsImxldmVsIiwiZm9yRWFjaCIsIm9GYWNldCIsIk1lc3NhZ2UiLCIkVHlwZSIsIklEIiwiYWRkSXNzdWUiLCJJc3N1ZUNhdGVnb3J5IiwiRmFjZXRzIiwiSXNzdWVTZXZlcml0eSIsIkhpZ2giLCJJc3N1ZUNhdGVnb3J5VHlwZSIsIk1pc3NpbmdJRCIsIkxhYmVsIiwiTWVkaXVtIiwiVW5TdXBwb3J0ZWRMZXZlbCIsImNvbnZlcnRQYWdlIiwic1RlbXBsYXRlVHlwZSIsIm9NZXRhTW9kZWwiLCJvTWFuaWZlc3RTZXR0aW5ncyIsInNGdWxsQ29udGV4dFBhdGgiLCJvQ2FwYWJpbGl0aWVzIiwib0NvbnZlcnRlck91dHB1dCIsImNvbnZlcnRUeXBlcyIsImRpYWdub3N0aWNzIiwiYW5ub3RhdGlvbkVycm9yRGV0YWlsIiwiY2hlY2tJZklzc3VlRXhpc3RzIiwiQW5ub3RhdGlvbiIsIm1lc3NhZ2UiLCJlbnRpdHlUeXBlcyIsIm9FbnRpdHlTZXQiLCJhbm5vdGF0aW9ucyIsIlVJIiwibmFtZSIsInNUYXJnZXRFbnRpdHlTZXROYW1lIiwiZW50aXR5U2V0Iiwic0NvbnRleHRQYXRoIiwiY29udGV4dFBhdGgiLCJvQ29udGV4dCIsImNyZWF0ZUJpbmRpbmdDb250ZXh0Iiwib0Z1bGxDb250ZXh0IiwiZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzIiwib0NvbnZlcnRlZFBhZ2UiLCJUZW1wbGF0ZVR5cGUiLCJMaXN0UmVwb3J0IiwiQW5hbHl0aWNhbExpc3RQYWdlIiwiTGlzdFJlcG9ydENvbnZlcnRlciIsIkNvbnZlcnRlckNvbnRleHQiLCJtZXJnZSIsIk9iamVjdFBhZ2UiLCJPYmplY3RQYWdlQ29udmVydGVyIiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiO0FBQUE7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QXhFLEVBQStFUixZQUEvRSxDQURnQixDQUFqQjtBQUdBOztBQUNELGFBQUtHLFlBQVksQ0FBQ00sVUFBbEI7QUFDQ1AsVUFBQUEsY0FBYyxHQUFHUSxtQkFBbUIsQ0FBQ2xDLFdBQXBCLENBQ2hCLElBQUkrQixnQkFBSixDQUFxQnpCLGdCQUFyQixFQUF1Q0gsaUJBQXZDLEVBQTBEckIsWUFBMUQsRUFBd0VrRCxLQUF4RSxFQUErRVIsWUFBL0UsQ0FEZ0IsQ0FBakI7QUFHQTtBQVhGOztBQWFBLGFBQU9FLGNBQVA7QUFDQTs7QUFDRCxXQUFPUyxTQUFQO0FBQ0EiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VNYW5pZmVzdFNldHRpbmdzLCBUZW1wbGF0ZVR5cGUgfSBmcm9tIFwiLi9NYW5pZmVzdFNldHRpbmdzXCI7XG5pbXBvcnQgKiBhcyBMaXN0UmVwb3J0Q29udmVydGVyIGZyb20gXCIuL3RlbXBsYXRlcy9MaXN0UmVwb3J0Q29udmVydGVyXCI7XG5pbXBvcnQgKiBhcyBPYmplY3RQYWdlQ29udmVydGVyIGZyb20gXCIuL3RlbXBsYXRlcy9PYmplY3RQYWdlQ29udmVydGVyXCI7XG5pbXBvcnQgeyBjb252ZXJ0VHlwZXMsIGdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0cywgRW52aXJvbm1lbnRDYXBhYmlsaXRpZXMgfSBmcm9tIFwiLi9NZXRhTW9kZWxDb252ZXJ0ZXJcIjtcbmltcG9ydCB7IE9EYXRhTWV0YU1vZGVsIH0gZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NFwiO1xuaW1wb3J0IHsgSXNzdWVDYXRlZ29yeSwgSXNzdWVTZXZlcml0eSwgSXNzdWVDYXRlZ29yeVR5cGUgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9oZWxwZXJzL0lzc3VlTWFuYWdlclwiO1xuXG5pbXBvcnQgeyBtZXJnZSB9IGZyb20gXCJzYXAvYmFzZS91dGlsXCI7XG5pbXBvcnQgeyBGYWNldFR5cGVzLCBVSUFubm90YXRpb25UeXBlcyB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlc1wiO1xuaW1wb3J0IENvbnZlcnRlckNvbnRleHQgZnJvbSBcIi4vQ29udmVydGVyQ29udGV4dFwiO1xuXG4vKipcbiAqIEB0eXBlZGVmIFBhZ2VEZWZpbml0aW9uXG4gKi9cbmV4cG9ydCB0eXBlIFBhZ2VEZWZpbml0aW9uID0ge1xuXHR0ZW1wbGF0ZTogc3RyaW5nO1xufTtcblxuLyoqIEB0eXBlZGVmIElEaWFnbm9zdGljcyAqKi9cbmV4cG9ydCBpbnRlcmZhY2UgSURpYWdub3N0aWNzIHtcblx0YWRkSXNzdWUoXG5cdFx0aXNzdWVDYXRlZ29yeTogSXNzdWVDYXRlZ29yeSB8IHN0cmluZyxcblx0XHRpc3N1ZVNldmVyaXR5OiBJc3N1ZVNldmVyaXR5LFxuXHRcdGRldGFpbHM6IHN0cmluZyxcblx0XHRpc3N1ZUNhdGVnb3J5VHlwZT86IGFueSxcblx0XHRpc3N1ZVN1YkNhdGVnb3J5Pzogc3RyaW5nXG5cdCk6IHZvaWQ7XG5cdGdldElzc3VlcygpOiBhbnlbXTtcblx0Y2hlY2tJZklzc3VlRXhpc3RzKFxuXHRcdGlzc3VlQ2F0ZWdvcnk6IElzc3VlQ2F0ZWdvcnksXG5cdFx0aXNzdWVTZXZlcml0eTogSXNzdWVTZXZlcml0eSxcblx0XHRkZXRhaWxzOiBzdHJpbmcsXG5cdFx0aXNzdWVDYXRlZ29yeVR5cGU/OiBhbnksXG5cdFx0aXNzdWVTdWJDYXRlZ29yeT86IHN0cmluZ1xuXHQpOiBib29sZWFuO1xufVxuXG5mdW5jdGlvbiBoYW5kbGVFcnJvckZvckNvbGxlY3Rpb25GYWNldHMob0ZhY2V0czogRmFjZXRUeXBlc1tdLCBvRGlhZ25vc3RpY3M6IElEaWFnbm9zdGljcywgc0VudGl0eVNldE5hbWU6IHN0cmluZywgbGV2ZWw6IG51bWJlcikge1xuXHRvRmFjZXRzLmZvckVhY2goKG9GYWNldDogYW55KSA9PiB7XG5cdFx0bGV0IE1lc3NhZ2UgPSBcIkZvciBlbnRpdHkgc2V0IFwiICsgc0VudGl0eVNldE5hbWU7XG5cdFx0aWYgKG9GYWNldD8uJFR5cGUgPT09IFVJQW5ub3RhdGlvblR5cGVzLkNvbGxlY3Rpb25GYWNldCAmJiAhb0ZhY2V0Py5JRCkge1xuXHRcdFx0TWVzc2FnZSA9IE1lc3NhZ2UgKyBcIiwgXCIgKyBcImxldmVsIFwiICsgbGV2ZWwgKyBcIiwgdGhlIGNvbGxlY3Rpb24gZmFjZXQgZG9lcyBub3QgaGF2ZSBhbiBJRC5cIjtcblx0XHRcdG9EaWFnbm9zdGljcy5hZGRJc3N1ZShcblx0XHRcdFx0SXNzdWVDYXRlZ29yeS5GYWNldHMsXG5cdFx0XHRcdElzc3VlU2V2ZXJpdHkuSGlnaCxcblx0XHRcdFx0TWVzc2FnZSxcblx0XHRcdFx0SXNzdWVDYXRlZ29yeVR5cGUsXG5cdFx0XHRcdElzc3VlQ2F0ZWdvcnlUeXBlPy5GYWNldHM/Lk1pc3NpbmdJRFxuXHRcdFx0KTtcblx0XHR9XG5cdFx0aWYgKG9GYWNldD8uJFR5cGUgPT09IFVJQW5ub3RhdGlvblR5cGVzLkNvbGxlY3Rpb25GYWNldCAmJiBsZXZlbCA+PSAzKSB7XG5cdFx0XHRNZXNzYWdlID0gTWVzc2FnZSArIFwiLCBjb2xsZWN0aW9uIGZhY2V0IFwiICsgb0ZhY2V0LkxhYmVsICsgXCIgaXMgbm90IHN1cHBvcnRlZCBhdCBcIiArIFwibGV2ZWwgXCIgKyBsZXZlbDtcblx0XHRcdG9EaWFnbm9zdGljcy5hZGRJc3N1ZShcblx0XHRcdFx0SXNzdWVDYXRlZ29yeS5GYWNldHMsXG5cdFx0XHRcdElzc3VlU2V2ZXJpdHkuTWVkaXVtLFxuXHRcdFx0XHRNZXNzYWdlLFxuXHRcdFx0XHRJc3N1ZUNhdGVnb3J5VHlwZSxcblx0XHRcdFx0SXNzdWVDYXRlZ29yeVR5cGU/LkZhY2V0cz8uVW5TdXBwb3J0ZWRMZXZlbFxuXHRcdFx0KTtcblx0XHR9XG5cdFx0aWYgKG9GYWNldD8uRmFjZXRzKSB7XG5cdFx0XHRoYW5kbGVFcnJvckZvckNvbGxlY3Rpb25GYWNldHMob0ZhY2V0Py5GYWNldHMsIG9EaWFnbm9zdGljcywgc0VudGl0eVNldE5hbWUsICsrbGV2ZWwpO1xuXHRcdFx0bGV2ZWwgPSBsZXZlbCAtIDE7XG5cdFx0fVxuXHR9KTtcbn1cblxuLyoqXG4gKiBCYXNlZCBvbiBhIHRlbXBsYXRlIHR5cGUsIGNvbnZlcnQgdGhlIG1ldGFtb2RlbCBhbmQgbWFuaWZlc3QgZGVmaW5pdGlvbiBpbnRvIGEganNvbiBzdHJ1Y3R1cmUgZm9yIHRoZSBwYWdlLlxuICogQHBhcmFtIHtUZW1wbGF0ZVR5cGV9IHNUZW1wbGF0ZVR5cGUgVGhlIHRlbXBsYXRlIHR5cGVcbiAqIEBwYXJhbSB7T0RhdGFNZXRhTW9kZWx9IG9NZXRhTW9kZWwgVGhlIG9kYXRhIG1vZGVsIG1ldGFNb2RlbFxuICogQHBhcmFtIHtCYXNlTWFuaWZlc3RTZXR0aW5nc30gb01hbmlmZXN0U2V0dGluZ3MgVGhlIGN1cnJlbnQgbWFuaWZlc3Qgc2V0dGluZ3NcbiAqIEBwYXJhbSB7SURpYWdub3N0aWNzfSBvRGlhZ25vc3RpY3MgVGhlIGRpYWdub3N0aWNzIHdyYXBwZXJcbiAqIEBwYXJhbSB7c3RyaW5nfSBzRnVsbENvbnRleHRQYXRoIFRoZSBjb250ZXh0IHBhdGggdG8gcmVhY2ggdGhpcyBwYWdlXG4gKiBAcGFyYW0gb0NhcGFiaWxpdGllc1xuICogQHJldHVybnMge1BhZ2VEZWZpbml0aW9ufSBUaGUgdGFyZ2V0IHBhZ2UgZGVmaW5pdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gY29udmVydFBhZ2UoXG5cdHNUZW1wbGF0ZVR5cGU6IFRlbXBsYXRlVHlwZSxcblx0b01ldGFNb2RlbDogT0RhdGFNZXRhTW9kZWwsXG5cdG9NYW5pZmVzdFNldHRpbmdzOiBCYXNlTWFuaWZlc3RTZXR0aW5ncyxcblx0b0RpYWdub3N0aWNzOiBJRGlhZ25vc3RpY3MsXG5cdHNGdWxsQ29udGV4dFBhdGg6IHN0cmluZyxcblx0b0NhcGFiaWxpdGllcz86IEVudmlyb25tZW50Q2FwYWJpbGl0aWVzXG4pIHtcblx0Y29uc3Qgb0NvbnZlcnRlck91dHB1dCA9IGNvbnZlcnRUeXBlcyhvTWV0YU1vZGVsLCBvQ2FwYWJpbGl0aWVzKTtcblx0b0NvbnZlcnRlck91dHB1dC5kaWFnbm9zdGljcy5mb3JFYWNoKGFubm90YXRpb25FcnJvckRldGFpbCA9PiB7XG5cdFx0Y29uc3QgY2hlY2tJZklzc3VlRXhpc3RzID0gb0RpYWdub3N0aWNzLmNoZWNrSWZJc3N1ZUV4aXN0cyhcblx0XHRcdElzc3VlQ2F0ZWdvcnkuQW5ub3RhdGlvbixcblx0XHRcdElzc3VlU2V2ZXJpdHkuSGlnaCxcblx0XHRcdGFubm90YXRpb25FcnJvckRldGFpbC5tZXNzYWdlXG5cdFx0KTtcblx0XHRpZiAoIWNoZWNrSWZJc3N1ZUV4aXN0cykge1xuXHRcdFx0b0RpYWdub3N0aWNzLmFkZElzc3VlKElzc3VlQ2F0ZWdvcnkuQW5ub3RhdGlvbiwgSXNzdWVTZXZlcml0eS5IaWdoLCBhbm5vdGF0aW9uRXJyb3JEZXRhaWwubWVzc2FnZSk7XG5cdFx0fVxuXHR9KTtcblx0b0NvbnZlcnRlck91dHB1dD8uZW50aXR5VHlwZXM/LmZvckVhY2goKG9FbnRpdHlTZXQ6IGFueSkgPT4ge1xuXHRcdGlmIChvRW50aXR5U2V0Py5hbm5vdGF0aW9ucz8uVUk/LkZhY2V0cykge1xuXHRcdFx0aGFuZGxlRXJyb3JGb3JDb2xsZWN0aW9uRmFjZXRzKG9FbnRpdHlTZXQ/LmFubm90YXRpb25zPy5VST8uRmFjZXRzLCBvRGlhZ25vc3RpY3MsIG9FbnRpdHlTZXQ/Lm5hbWUsIDEpO1xuXHRcdH1cblx0fSk7XG5cdGNvbnN0IHNUYXJnZXRFbnRpdHlTZXROYW1lID0gb01hbmlmZXN0U2V0dGluZ3MuZW50aXR5U2V0O1xuXHRjb25zdCBzQ29udGV4dFBhdGggPVxuXHRcdG9NYW5pZmVzdFNldHRpbmdzPy5jb250ZXh0UGF0aCB8fCAoc0Z1bGxDb250ZXh0UGF0aCA9PT0gXCIvXCIgPyBzRnVsbENvbnRleHRQYXRoICsgc1RhcmdldEVudGl0eVNldE5hbWUgOiBzRnVsbENvbnRleHRQYXRoKTtcblx0Y29uc3Qgb0NvbnRleHQgPSBvTWV0YU1vZGVsLmNyZWF0ZUJpbmRpbmdDb250ZXh0KHNDb250ZXh0UGF0aCk7XG5cdGNvbnN0IG9GdWxsQ29udGV4dCA9IGdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyhvQ29udGV4dCk7XG5cblx0aWYgKG9GdWxsQ29udGV4dCkge1xuXHRcdGxldCBvQ29udmVydGVkUGFnZSA9IHt9O1xuXHRcdHN3aXRjaCAoc1RlbXBsYXRlVHlwZSkge1xuXHRcdFx0Y2FzZSBUZW1wbGF0ZVR5cGUuTGlzdFJlcG9ydDpcblx0XHRcdGNhc2UgVGVtcGxhdGVUeXBlLkFuYWx5dGljYWxMaXN0UGFnZTpcblx0XHRcdFx0b0NvbnZlcnRlZFBhZ2UgPSBMaXN0UmVwb3J0Q29udmVydGVyLmNvbnZlcnRQYWdlKFxuXHRcdFx0XHRcdG5ldyBDb252ZXJ0ZXJDb250ZXh0KG9Db252ZXJ0ZXJPdXRwdXQsIG9NYW5pZmVzdFNldHRpbmdzLCBvRGlhZ25vc3RpY3MsIG1lcmdlLCBvRnVsbENvbnRleHQpXG5cdFx0XHRcdCk7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSBUZW1wbGF0ZVR5cGUuT2JqZWN0UGFnZTpcblx0XHRcdFx0b0NvbnZlcnRlZFBhZ2UgPSBPYmplY3RQYWdlQ29udmVydGVyLmNvbnZlcnRQYWdlKFxuXHRcdFx0XHRcdG5ldyBDb252ZXJ0ZXJDb250ZXh0KG9Db252ZXJ0ZXJPdXRwdXQsIG9NYW5pZmVzdFNldHRpbmdzLCBvRGlhZ25vc3RpY3MsIG1lcmdlLCBvRnVsbENvbnRleHQpXG5cdFx0XHRcdCk7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdH1cblx0XHRyZXR1cm4gb0NvbnZlcnRlZFBhZ2U7XG5cdH1cblx0cmV0dXJuIHVuZGVmaW5lZDtcbn1cbiJdfQ==
100
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRlbXBsYXRlQ29udmVydGVyLnRzIl0sIm5hbWVzIjpbImhhbmRsZUVycm9yRm9yQ29sbGVjdGlvbkZhY2V0cyIsIm9GYWNldHMiLCJvRGlhZ25vc3RpY3MiLCJzRW50aXR5U2V0TmFtZSIsImxldmVsIiwiZm9yRWFjaCIsIm9GYWNldCIsIk1lc3NhZ2UiLCIkVHlwZSIsIklEIiwiYWRkSXNzdWUiLCJJc3N1ZUNhdGVnb3J5IiwiRmFjZXRzIiwiSXNzdWVTZXZlcml0eSIsIkhpZ2giLCJJc3N1ZUNhdGVnb3J5VHlwZSIsIk1pc3NpbmdJRCIsIkxhYmVsIiwiTWVkaXVtIiwiVW5TdXBwb3J0ZWRMZXZlbCIsImNvbnZlcnRQYWdlIiwic1RlbXBsYXRlVHlwZSIsIm9NZXRhTW9kZWwiLCJvTWFuaWZlc3RTZXR0aW5ncyIsInNGdWxsQ29udGV4dFBhdGgiLCJvQ2FwYWJpbGl0aWVzIiwib0NvbnZlcnRlck91dHB1dCIsImNvbnZlcnRUeXBlcyIsImRpYWdub3N0aWNzIiwiYW5ub3RhdGlvbkVycm9yRGV0YWlsIiwiY2hlY2tJZklzc3VlRXhpc3RzIiwiQW5ub3RhdGlvbiIsIm1lc3NhZ2UiLCJlbnRpdHlUeXBlcyIsIm9FbnRpdHlTZXQiLCJhbm5vdGF0aW9ucyIsIlVJIiwibmFtZSIsInNUYXJnZXRFbnRpdHlTZXROYW1lIiwiZW50aXR5U2V0Iiwic0NvbnRleHRQYXRoIiwiY29udGV4dFBhdGgiLCJvQ29udGV4dCIsImNyZWF0ZUJpbmRpbmdDb250ZXh0Iiwib0Z1bGxDb250ZXh0IiwiZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzIiwib0NvbnZlcnRlZFBhZ2UiLCJUZW1wbGF0ZVR5cGUiLCJMaXN0UmVwb3J0IiwiQW5hbHl0aWNhbExpc3RQYWdlIiwiTGlzdFJlcG9ydENvbnZlcnRlciIsIkNvbnZlcnRlckNvbnRleHQiLCJtZXJnZSIsIk9iamVjdFBhZ2UiLCJPYmplY3RQYWdlQ29udmVydGVyIiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiO0FBQUE7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QXhFLEVBQStFUixZQUEvRSxDQURnQixDQUFqQjtBQUdBOztBQUNELGFBQUtHLFlBQVksQ0FBQ00sVUFBbEI7QUFDQ1AsVUFBQUEsY0FBYyxHQUFHUSxtQkFBbUIsQ0FBQ2xDLFdBQXBCLENBQ2hCLElBQUkrQixnQkFBSixDQUFxQnpCLGdCQUFyQixFQUF1Q0gsaUJBQXZDLEVBQTBEckIsWUFBMUQsRUFBd0VrRCxLQUF4RSxFQUErRVIsWUFBL0UsQ0FEZ0IsQ0FBakI7QUFHQTtBQVhGOztBQWFBLGFBQU9FLGNBQVA7QUFDQTs7QUFDRCxXQUFPUyxTQUFQO0FBQ0EiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VNYW5pZmVzdFNldHRpbmdzLCBUZW1wbGF0ZVR5cGUgfSBmcm9tIFwiLi9NYW5pZmVzdFNldHRpbmdzXCI7XG5pbXBvcnQgKiBhcyBMaXN0UmVwb3J0Q29udmVydGVyIGZyb20gXCIuL3RlbXBsYXRlcy9MaXN0UmVwb3J0Q29udmVydGVyXCI7XG5pbXBvcnQgKiBhcyBPYmplY3RQYWdlQ29udmVydGVyIGZyb20gXCIuL3RlbXBsYXRlcy9PYmplY3RQYWdlQ29udmVydGVyXCI7XG5pbXBvcnQgeyBjb252ZXJ0VHlwZXMsIGdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0cywgRW52aXJvbm1lbnRDYXBhYmlsaXRpZXMgfSBmcm9tIFwiLi9NZXRhTW9kZWxDb252ZXJ0ZXJcIjtcbmltcG9ydCBPRGF0YU1ldGFNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L09EYXRhTWV0YU1vZGVsXCI7XG5pbXBvcnQgeyBJc3N1ZUNhdGVnb3J5LCBJc3N1ZVNldmVyaXR5LCBJc3N1ZUNhdGVnb3J5VHlwZSB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL2hlbHBlcnMvSXNzdWVNYW5hZ2VyXCI7XG5cbmltcG9ydCBtZXJnZSBmcm9tIFwic2FwL2Jhc2UvdXRpbC9tZXJnZVwiO1xuaW1wb3J0IHsgRmFjZXRUeXBlcywgVUlBbm5vdGF0aW9uVHlwZXMgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXNcIjtcbmltcG9ydCBDb252ZXJ0ZXJDb250ZXh0IGZyb20gXCIuL0NvbnZlcnRlckNvbnRleHRcIjtcblxuLyoqXG4gKiBAdHlwZWRlZiBQYWdlRGVmaW5pdGlvblxuICovXG5leHBvcnQgdHlwZSBQYWdlRGVmaW5pdGlvbiA9IHtcblx0dGVtcGxhdGU6IHN0cmluZztcbn07XG5cbi8qKiBAdHlwZWRlZiBJRGlhZ25vc3RpY3MgKiovXG5leHBvcnQgaW50ZXJmYWNlIElEaWFnbm9zdGljcyB7XG5cdGFkZElzc3VlKFxuXHRcdGlzc3VlQ2F0ZWdvcnk6IElzc3VlQ2F0ZWdvcnkgfCBzdHJpbmcsXG5cdFx0aXNzdWVTZXZlcml0eTogSXNzdWVTZXZlcml0eSxcblx0XHRkZXRhaWxzOiBzdHJpbmcsXG5cdFx0aXNzdWVDYXRlZ29yeVR5cGU/OiBhbnksXG5cdFx0aXNzdWVTdWJDYXRlZ29yeT86IHN0cmluZ1xuXHQpOiB2b2lkO1xuXHRnZXRJc3N1ZXMoKTogYW55W107XG5cdGNoZWNrSWZJc3N1ZUV4aXN0cyhcblx0XHRpc3N1ZUNhdGVnb3J5OiBJc3N1ZUNhdGVnb3J5LFxuXHRcdGlzc3VlU2V2ZXJpdHk6IElzc3VlU2V2ZXJpdHksXG5cdFx0ZGV0YWlsczogc3RyaW5nLFxuXHRcdGlzc3VlQ2F0ZWdvcnlUeXBlPzogYW55LFxuXHRcdGlzc3VlU3ViQ2F0ZWdvcnk/OiBzdHJpbmdcblx0KTogYm9vbGVhbjtcbn1cblxuZnVuY3Rpb24gaGFuZGxlRXJyb3JGb3JDb2xsZWN0aW9uRmFjZXRzKG9GYWNldHM6IEZhY2V0VHlwZXNbXSwgb0RpYWdub3N0aWNzOiBJRGlhZ25vc3RpY3MsIHNFbnRpdHlTZXROYW1lOiBzdHJpbmcsIGxldmVsOiBudW1iZXIpIHtcblx0b0ZhY2V0cy5mb3JFYWNoKChvRmFjZXQ6IGFueSkgPT4ge1xuXHRcdGxldCBNZXNzYWdlID0gXCJGb3IgZW50aXR5IHNldCBcIiArIHNFbnRpdHlTZXROYW1lO1xuXHRcdGlmIChvRmFjZXQ/LiRUeXBlID09PSBVSUFubm90YXRpb25UeXBlcy5Db2xsZWN0aW9uRmFjZXQgJiYgIW9GYWNldD8uSUQpIHtcblx0XHRcdE1lc3NhZ2UgPSBNZXNzYWdlICsgXCIsIFwiICsgXCJsZXZlbCBcIiArIGxldmVsICsgXCIsIHRoZSBjb2xsZWN0aW9uIGZhY2V0IGRvZXMgbm90IGhhdmUgYW4gSUQuXCI7XG5cdFx0XHRvRGlhZ25vc3RpY3MuYWRkSXNzdWUoXG5cdFx0XHRcdElzc3VlQ2F0ZWdvcnkuRmFjZXRzLFxuXHRcdFx0XHRJc3N1ZVNldmVyaXR5LkhpZ2gsXG5cdFx0XHRcdE1lc3NhZ2UsXG5cdFx0XHRcdElzc3VlQ2F0ZWdvcnlUeXBlLFxuXHRcdFx0XHRJc3N1ZUNhdGVnb3J5VHlwZT8uRmFjZXRzPy5NaXNzaW5nSURcblx0XHRcdCk7XG5cdFx0fVxuXHRcdGlmIChvRmFjZXQ/LiRUeXBlID09PSBVSUFubm90YXRpb25UeXBlcy5Db2xsZWN0aW9uRmFjZXQgJiYgbGV2ZWwgPj0gMykge1xuXHRcdFx0TWVzc2FnZSA9IE1lc3NhZ2UgKyBcIiwgY29sbGVjdGlvbiBmYWNldCBcIiArIG9GYWNldC5MYWJlbCArIFwiIGlzIG5vdCBzdXBwb3J0ZWQgYXQgXCIgKyBcImxldmVsIFwiICsgbGV2ZWw7XG5cdFx0XHRvRGlhZ25vc3RpY3MuYWRkSXNzdWUoXG5cdFx0XHRcdElzc3VlQ2F0ZWdvcnkuRmFjZXRzLFxuXHRcdFx0XHRJc3N1ZVNldmVyaXR5Lk1lZGl1bSxcblx0XHRcdFx0TWVzc2FnZSxcblx0XHRcdFx0SXNzdWVDYXRlZ29yeVR5cGUsXG5cdFx0XHRcdElzc3VlQ2F0ZWdvcnlUeXBlPy5GYWNldHM/LlVuU3VwcG9ydGVkTGV2ZWxcblx0XHRcdCk7XG5cdFx0fVxuXHRcdGlmIChvRmFjZXQ/LkZhY2V0cykge1xuXHRcdFx0aGFuZGxlRXJyb3JGb3JDb2xsZWN0aW9uRmFjZXRzKG9GYWNldD8uRmFjZXRzLCBvRGlhZ25vc3RpY3MsIHNFbnRpdHlTZXROYW1lLCArK2xldmVsKTtcblx0XHRcdGxldmVsID0gbGV2ZWwgLSAxO1xuXHRcdH1cblx0fSk7XG59XG5cbi8qKlxuICogQmFzZWQgb24gYSB0ZW1wbGF0ZSB0eXBlLCBjb252ZXJ0IHRoZSBtZXRhbW9kZWwgYW5kIG1hbmlmZXN0IGRlZmluaXRpb24gaW50byBhIGpzb24gc3RydWN0dXJlIGZvciB0aGUgcGFnZS5cbiAqIEBwYXJhbSB7VGVtcGxhdGVUeXBlfSBzVGVtcGxhdGVUeXBlIFRoZSB0ZW1wbGF0ZSB0eXBlXG4gKiBAcGFyYW0ge09EYXRhTWV0YU1vZGVsfSBvTWV0YU1vZGVsIFRoZSBvZGF0YSBtb2RlbCBtZXRhTW9kZWxcbiAqIEBwYXJhbSB7QmFzZU1hbmlmZXN0U2V0dGluZ3N9IG9NYW5pZmVzdFNldHRpbmdzIFRoZSBjdXJyZW50IG1hbmlmZXN0IHNldHRpbmdzXG4gKiBAcGFyYW0ge0lEaWFnbm9zdGljc30gb0RpYWdub3N0aWNzIFRoZSBkaWFnbm9zdGljcyB3cmFwcGVyXG4gKiBAcGFyYW0ge3N0cmluZ30gc0Z1bGxDb250ZXh0UGF0aCBUaGUgY29udGV4dCBwYXRoIHRvIHJlYWNoIHRoaXMgcGFnZVxuICogQHBhcmFtIG9DYXBhYmlsaXRpZXNcbiAqIEByZXR1cm5zIHtQYWdlRGVmaW5pdGlvbn0gVGhlIHRhcmdldCBwYWdlIGRlZmluaXRpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRQYWdlKFxuXHRzVGVtcGxhdGVUeXBlOiBUZW1wbGF0ZVR5cGUsXG5cdG9NZXRhTW9kZWw6IE9EYXRhTWV0YU1vZGVsLFxuXHRvTWFuaWZlc3RTZXR0aW5nczogQmFzZU1hbmlmZXN0U2V0dGluZ3MsXG5cdG9EaWFnbm9zdGljczogSURpYWdub3N0aWNzLFxuXHRzRnVsbENvbnRleHRQYXRoOiBzdHJpbmcsXG5cdG9DYXBhYmlsaXRpZXM/OiBFbnZpcm9ubWVudENhcGFiaWxpdGllc1xuKSB7XG5cdGNvbnN0IG9Db252ZXJ0ZXJPdXRwdXQgPSBjb252ZXJ0VHlwZXMob01ldGFNb2RlbCwgb0NhcGFiaWxpdGllcyk7XG5cdG9Db252ZXJ0ZXJPdXRwdXQuZGlhZ25vc3RpY3MuZm9yRWFjaChhbm5vdGF0aW9uRXJyb3JEZXRhaWwgPT4ge1xuXHRcdGNvbnN0IGNoZWNrSWZJc3N1ZUV4aXN0cyA9IG9EaWFnbm9zdGljcy5jaGVja0lmSXNzdWVFeGlzdHMoXG5cdFx0XHRJc3N1ZUNhdGVnb3J5LkFubm90YXRpb24sXG5cdFx0XHRJc3N1ZVNldmVyaXR5LkhpZ2gsXG5cdFx0XHRhbm5vdGF0aW9uRXJyb3JEZXRhaWwubWVzc2FnZVxuXHRcdCk7XG5cdFx0aWYgKCFjaGVja0lmSXNzdWVFeGlzdHMpIHtcblx0XHRcdG9EaWFnbm9zdGljcy5hZGRJc3N1ZShJc3N1ZUNhdGVnb3J5LkFubm90YXRpb24sIElzc3VlU2V2ZXJpdHkuSGlnaCwgYW5ub3RhdGlvbkVycm9yRGV0YWlsLm1lc3NhZ2UpO1xuXHRcdH1cblx0fSk7XG5cdG9Db252ZXJ0ZXJPdXRwdXQ/LmVudGl0eVR5cGVzPy5mb3JFYWNoKChvRW50aXR5U2V0OiBhbnkpID0+IHtcblx0XHRpZiAob0VudGl0eVNldD8uYW5ub3RhdGlvbnM/LlVJPy5GYWNldHMpIHtcblx0XHRcdGhhbmRsZUVycm9yRm9yQ29sbGVjdGlvbkZhY2V0cyhvRW50aXR5U2V0Py5hbm5vdGF0aW9ucz8uVUk/LkZhY2V0cywgb0RpYWdub3N0aWNzLCBvRW50aXR5U2V0Py5uYW1lLCAxKTtcblx0XHR9XG5cdH0pO1xuXHRjb25zdCBzVGFyZ2V0RW50aXR5U2V0TmFtZSA9IG9NYW5pZmVzdFNldHRpbmdzLmVudGl0eVNldDtcblx0Y29uc3Qgc0NvbnRleHRQYXRoID1cblx0XHRvTWFuaWZlc3RTZXR0aW5ncz8uY29udGV4dFBhdGggfHwgKHNGdWxsQ29udGV4dFBhdGggPT09IFwiL1wiID8gc0Z1bGxDb250ZXh0UGF0aCArIHNUYXJnZXRFbnRpdHlTZXROYW1lIDogc0Z1bGxDb250ZXh0UGF0aCk7XG5cdGNvbnN0IG9Db250ZXh0ID0gb01ldGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dChzQ29udGV4dFBhdGgpO1xuXHRjb25zdCBvRnVsbENvbnRleHQgPSBnZXRJbnZvbHZlZERhdGFNb2RlbE9iamVjdHMob0NvbnRleHQpO1xuXG5cdGlmIChvRnVsbENvbnRleHQpIHtcblx0XHRsZXQgb0NvbnZlcnRlZFBhZ2UgPSB7fTtcblx0XHRzd2l0Y2ggKHNUZW1wbGF0ZVR5cGUpIHtcblx0XHRcdGNhc2UgVGVtcGxhdGVUeXBlLkxpc3RSZXBvcnQ6XG5cdFx0XHRjYXNlIFRlbXBsYXRlVHlwZS5BbmFseXRpY2FsTGlzdFBhZ2U6XG5cdFx0XHRcdG9Db252ZXJ0ZWRQYWdlID0gTGlzdFJlcG9ydENvbnZlcnRlci5jb252ZXJ0UGFnZShcblx0XHRcdFx0XHRuZXcgQ29udmVydGVyQ29udGV4dChvQ29udmVydGVyT3V0cHV0LCBvTWFuaWZlc3RTZXR0aW5ncywgb0RpYWdub3N0aWNzLCBtZXJnZSwgb0Z1bGxDb250ZXh0KVxuXHRcdFx0XHQpO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgVGVtcGxhdGVUeXBlLk9iamVjdFBhZ2U6XG5cdFx0XHRcdG9Db252ZXJ0ZWRQYWdlID0gT2JqZWN0UGFnZUNvbnZlcnRlci5jb252ZXJ0UGFnZShcblx0XHRcdFx0XHRuZXcgQ29udmVydGVyQ29udGV4dChvQ29udmVydGVyT3V0cHV0LCBvTWFuaWZlc3RTZXR0aW5ncywgb0RpYWdub3N0aWNzLCBtZXJnZSwgb0Z1bGxDb250ZXh0KVxuXHRcdFx0XHQpO1xuXHRcdFx0XHRicmVhaztcblx0XHR9XG5cdFx0cmV0dXJuIG9Db252ZXJ0ZWRQYWdlO1xuXHR9XG5cdHJldHVybiB1bmRlZmluZWQ7XG59XG4iXX0=
@@ -2,10 +2,10 @@ import { BaseManifestSettings, TemplateType } from "./ManifestSettings";
2
2
  import * as ListReportConverter from "./templates/ListReportConverter";
3
3
  import * as ObjectPageConverter from "./templates/ObjectPageConverter";
4
4
  import { convertTypes, getInvolvedDataModelObjects, EnvironmentCapabilities } from "./MetaModelConverter";
5
- import { ODataMetaModel } from "sap/ui/model/odata/v4";
5
+ import ODataMetaModel from "sap/ui/model/odata/v4/ODataMetaModel";
6
6
  import { IssueCategory, IssueSeverity, IssueCategoryType } from "sap/fe/core/converters/helpers/IssueManager";
7
7
 
8
- import { merge } from "sap/base/util";
8
+ import merge from "sap/base/util/merge";
9
9
  import { FacetTypes, UIAnnotationTypes } from "@sap-ux/vocabularies-types";
10
10
  import ConverterContext from "./ConverterContext";
11
11