@sapui5/sap.fe.core 1.102.0 → 1.103.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.
- package/package.json +5 -5
- package/src/sap/fe/core/.library +1 -1
- package/src/sap/fe/core/AppComponent.js +62 -26
- package/src/sap/fe/core/AppComponent.ts +56 -40
- package/src/sap/fe/core/AppStateHandler.js +10 -10
- package/src/sap/fe/core/AppStateHandler.ts +9 -9
- package/src/sap/fe/core/BaseController.js +11 -9
- package/src/sap/fe/core/BaseController.ts +15 -13
- package/src/sap/fe/core/CommonUtils.js +236 -109
- package/src/sap/fe/core/CommonUtils.ts +252 -136
- package/src/sap/fe/core/ExtensionAPI.js +24 -27
- package/src/sap/fe/core/ExtensionAPI.ts +36 -38
- package/src/sap/fe/core/PageController.js +4 -4
- package/src/sap/fe/core/PageController.ts +4 -5
- package/src/sap/fe/core/TemplateComponent.js +1 -1
- package/src/sap/fe/core/TemplateComponent.ts +6 -6
- package/src/sap/fe/core/TemplateModel.js +1 -1
- package/src/sap/fe/core/TemplateModel.ts +1 -1
- package/src/sap/fe/core/buildingBlocks/AttributeModel.js +1 -1
- package/src/sap/fe/core/buildingBlocks/AttributeModel.ts +1 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +8 -8
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.ts +11 -10
- package/src/sap/fe/core/buildingBlocks/TraceInfo.js +27 -27
- package/src/sap/fe/core/buildingBlocks/TraceInfo.ts +28 -26
- package/src/sap/fe/core/controllerextensions/EditFlow.js +129 -118
- package/src/sap/fe/core/controllerextensions/EditFlow.ts +154 -141
- package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +9 -9
- package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +10 -10
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +31 -26
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +34 -35
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +70 -70
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +77 -77
- package/src/sap/fe/core/controllerextensions/InternalRouting.js +84 -78
- package/src/sap/fe/core/controllerextensions/InternalRouting.ts +105 -101
- package/src/sap/fe/core/controllerextensions/KPIManagement.js +66 -68
- package/src/sap/fe/core/controllerextensions/KPIManagement.ts +106 -123
- package/src/sap/fe/core/controllerextensions/MassEdit.js +8 -8
- package/src/sap/fe/core/controllerextensions/MassEdit.ts +19 -26
- package/src/sap/fe/core/controllerextensions/MessageHandler.js +20 -12
- package/src/sap/fe/core/controllerextensions/MessageHandler.ts +29 -14
- package/src/sap/fe/core/controllerextensions/PageReady.js +97 -25
- package/src/sap/fe/core/controllerextensions/PageReady.ts +94 -34
- package/src/sap/fe/core/controllerextensions/Paginator.js +21 -22
- package/src/sap/fe/core/controllerextensions/Paginator.ts +24 -25
- package/src/sap/fe/core/controllerextensions/Placeholder.js +4 -6
- package/src/sap/fe/core/controllerextensions/Placeholder.ts +12 -14
- package/src/sap/fe/core/controllerextensions/Routing.js +10 -11
- package/src/sap/fe/core/controllerextensions/Routing.ts +12 -13
- package/src/sap/fe/core/controllerextensions/Share.js +22 -22
- package/src/sap/fe/core/controllerextensions/Share.ts +30 -29
- package/src/sap/fe/core/controllerextensions/SideEffects.js +46 -50
- package/src/sap/fe/core/controllerextensions/SideEffects.ts +56 -60
- package/src/sap/fe/core/controllerextensions/ViewState.js +65 -62
- package/src/sap/fe/core/controllerextensions/ViewState.ts +68 -63
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +5 -5
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.ts +8 -7
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +6 -6
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.ts +12 -17
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +2 -2
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +4 -4
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +7 -9
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.ts +18 -19
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +184 -137
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +253 -206
- package/src/sap/fe/core/controllerextensions/editFlow/draft.js +113 -121
- package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +148 -158
- package/src/sap/fe/core/controllerextensions/editFlow/operations.js +198 -148
- package/src/sap/fe/core/controllerextensions/editFlow/operations.ts +223 -159
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +24 -26
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +35 -33
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +78 -44
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +90 -60
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +52 -55
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.ts +55 -58
- package/src/sap/fe/core/controls/Any.js +9 -5
- package/src/sap/fe/core/controls/Any.ts +10 -4
- package/src/sap/fe/core/controls/CommandExecution.js +11 -25
- package/src/sap/fe/core/controls/CommandExecution.ts +11 -25
- package/src/sap/fe/core/controls/ConditionalWrapper.js +2 -2
- package/src/sap/fe/core/controls/ConditionalWrapper.ts +3 -3
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +22 -22
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.ts +25 -24
- package/src/sap/fe/core/controls/CustomQuickViewPage.js +2 -2
- package/src/sap/fe/core/controls/CustomQuickViewPage.ts +2 -2
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +3 -3
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +5 -5
- package/src/sap/fe/core/controls/FieldWrapper.js +2 -2
- package/src/sap/fe/core/controls/FieldWrapper.ts +3 -3
- package/src/sap/fe/core/controls/FileWrapper.js +2 -2
- package/src/sap/fe/core/controls/FileWrapper.ts +11 -11
- package/src/sap/fe/core/controls/FilterBar.js +6 -2
- package/src/sap/fe/core/controls/FilterBar.ts +13 -9
- package/src/sap/fe/core/controls/FormElementWrapper.js +1 -1
- package/src/sap/fe/core/controls/FormElementWrapper.ts +2 -2
- package/src/sap/fe/core/controls/MassEditSelect.js +1 -1
- package/src/sap/fe/core/controls/MassEditSelect.ts +0 -4
- package/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +3 -3
- package/src/sap/fe/core/controls/filterbar/VisualFilter.js +16 -12
- package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +20 -22
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +3 -3
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +8 -8
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +47 -47
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +52 -52
- package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +8 -2
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +89 -88
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +107 -106
- package/src/sap/fe/core/converters/ConverterContext.js +26 -33
- package/src/sap/fe/core/converters/ConverterContext.ts +51 -60
- package/src/sap/fe/core/converters/ManifestSettings.js +1 -1
- package/src/sap/fe/core/converters/ManifestSettings.ts +14 -14
- package/src/sap/fe/core/converters/ManifestWrapper.js +59 -45
- package/src/sap/fe/core/converters/ManifestWrapper.ts +55 -45
- package/src/sap/fe/core/converters/MetaModelConverter.js +50 -32
- package/src/sap/fe/core/converters/MetaModelConverter.ts +145 -127
- package/src/sap/fe/core/converters/TemplateConverter.js +21 -20
- package/src/sap/fe/core/converters/TemplateConverter.ts +27 -24
- package/src/sap/fe/core/converters/annotations/DataField.js +54 -34
- package/src/sap/fe/core/converters/annotations/DataField.ts +97 -75
- package/src/sap/fe/core/converters/common/AnnotationConverter.js +1911 -1495
- package/src/sap/fe/core/converters/controls/Common/Action.js +50 -41
- package/src/sap/fe/core/converters/controls/Common/Action.ts +56 -46
- package/src/sap/fe/core/converters/controls/Common/Chart.js +14 -14
- package/src/sap/fe/core/converters/controls/Common/Chart.ts +23 -26
- package/src/sap/fe/core/converters/controls/Common/Criticality.js +3 -3
- package/src/sap/fe/core/converters/controls/Common/Criticality.ts +4 -4
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +28 -28
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +40 -36
- package/src/sap/fe/core/converters/controls/Common/Form.js +25 -27
- package/src/sap/fe/core/converters/controls/Common/Form.ts +37 -45
- package/src/sap/fe/core/converters/controls/Common/KPI.js +11 -11
- package/src/sap/fe/core/converters/controls/Common/KPI.ts +35 -39
- package/src/sap/fe/core/converters/controls/Common/Table.js +174 -183
- package/src/sap/fe/core/converters/controls/Common/Table.ts +237 -250
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +119 -119
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +144 -141
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +45 -41
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +64 -57
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +28 -26
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +46 -43
- package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.js +9 -9
- package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.ts +14 -13
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +67 -64
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +69 -66
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +73 -72
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +98 -96
- package/src/sap/fe/core/converters/helpers/Aggregation.js +2 -4
- package/src/sap/fe/core/converters/helpers/Aggregation.ts +10 -13
- package/src/sap/fe/core/converters/helpers/BindingHelper.js +31 -31
- package/src/sap/fe/core/converters/helpers/BindingHelper.ts +30 -29
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +4 -4
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +9 -9
- package/src/sap/fe/core/converters/helpers/ID.js +46 -46
- package/src/sap/fe/core/converters/helpers/ID.ts +25 -25
- package/src/sap/fe/core/converters/helpers/Key.js +7 -7
- package/src/sap/fe/core/converters/helpers/Key.ts +7 -7
- package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.js +1 -1
- package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.ts +4 -4
- package/src/sap/fe/core/converters/objectPage/FormMenuActions.js +6 -6
- package/src/sap/fe/core/converters/objectPage/FormMenuActions.ts +10 -10
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +46 -62
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +54 -82
- package/src/sap/fe/core/converters/templates/ListReportConverter.js +30 -29
- package/src/sap/fe/core/converters/templates/ListReportConverter.ts +40 -40
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +39 -38
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +52 -61
- package/src/sap/fe/core/designtime/AppComponent.designtime.js +4 -4
- package/src/sap/fe/core/designtime/AppComponent.designtime.ts +4 -4
- package/src/sap/fe/core/formatters/CollaborationFormatter.js +2 -2
- package/src/sap/fe/core/formatters/CollaborationFormatter.ts +3 -3
- package/src/sap/fe/core/formatters/FPMFormatter.js +5 -5
- package/src/sap/fe/core/formatters/FPMFormatter.ts +10 -10
- package/src/sap/fe/core/formatters/KPIFormatter.js +7 -7
- package/src/sap/fe/core/formatters/KPIFormatter.ts +10 -10
- package/src/sap/fe/core/formatters/StandardFormatter.js +89 -0
- package/src/sap/fe/core/formatters/StandardFormatter.ts +64 -0
- package/src/sap/fe/core/formatters/TableFormatter.js +11 -11
- package/src/sap/fe/core/formatters/TableFormatter.ts +12 -12
- package/src/sap/fe/core/formatters/ValueFormatter.js +8 -8
- package/src/sap/fe/core/formatters/ValueFormatter.ts +9 -9
- package/src/sap/fe/core/helpers/AppStartupHelper.js +15 -15
- package/src/sap/fe/core/helpers/AppStartupHelper.ts +37 -40
- package/src/sap/fe/core/helpers/BindingToolkit.js +1809 -0
- package/src/sap/fe/core/helpers/{BindingExpression.ts → BindingToolkit.ts} +365 -264
- package/src/sap/fe/core/helpers/ClassSupport.js +20 -11
- package/src/sap/fe/core/helpers/ClassSupport.ts +14 -10
- package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +2 -2
- package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.ts +1 -1
- package/src/sap/fe/core/helpers/EditState.js +1 -6
- package/src/sap/fe/core/helpers/EditState.ts +5 -10
- package/src/sap/fe/core/helpers/ExcelFormatHelper.js +2 -2
- package/src/sap/fe/core/helpers/ExcelFormatHelper.ts +4 -4
- package/src/sap/fe/core/helpers/FPMHelper.js +1 -1
- package/src/sap/fe/core/helpers/FPMHelper.ts +2 -2
- package/src/sap/fe/core/helpers/KeepAliveHelper.js +31 -31
- package/src/sap/fe/core/helpers/KeepAliveHelper.ts +52 -56
- package/src/sap/fe/core/helpers/MassEditHelper.js +281 -254
- package/src/sap/fe/core/helpers/MassEditHelper.ts +337 -289
- package/src/sap/fe/core/helpers/ModelHelper.js +25 -25
- package/src/sap/fe/core/helpers/ModelHelper.ts +34 -32
- package/src/sap/fe/core/helpers/PasteHelper.js +3 -10
- package/src/sap/fe/core/helpers/PasteHelper.ts +20 -25
- package/src/sap/fe/core/helpers/SemanticDateOperators.js +1 -1
- package/src/sap/fe/core/helpers/SemanticDateOperators.ts +11 -11
- package/src/sap/fe/core/helpers/SemanticKeyHelper.js +3 -3
- package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +8 -8
- package/src/sap/fe/core/helpers/StableIdHelper.js +12 -12
- package/src/sap/fe/core/helpers/StableIdHelper.ts +12 -12
- package/src/sap/fe/core/jsx-runtime/jsx.js +1 -1
- package/src/sap/fe/core/jsx-runtime/jsx.ts +8 -8
- package/src/sap/fe/core/library.js +42 -3
- package/src/sap/fe/core/library.ts +38 -0
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +3 -3
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +2 -2
- package/src/sap/fe/core/messagebundle.properties +49 -35
- package/src/sap/fe/core/messagebundle_ar.properties +13 -5
- package/src/sap/fe/core/messagebundle_bg.properties +13 -5
- package/src/sap/fe/core/messagebundle_ca.properties +13 -5
- package/src/sap/fe/core/messagebundle_cs.properties +13 -5
- package/src/sap/fe/core/messagebundle_cy.properties +14 -6
- package/src/sap/fe/core/messagebundle_da.properties +13 -5
- package/src/sap/fe/core/messagebundle_de.properties +15 -7
- package/src/sap/fe/core/messagebundle_el.properties +14 -6
- package/src/sap/fe/core/messagebundle_en.properties +9 -1
- package/src/sap/fe/core/messagebundle_en_GB.properties +11 -3
- package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +7 -1
- package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +9 -1
- package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +44 -85
- package/src/sap/fe/core/messagebundle_es.properties +13 -5
- package/src/sap/fe/core/messagebundle_es_MX.properties +13 -5
- package/src/sap/fe/core/messagebundle_et.properties +13 -5
- package/src/sap/fe/core/messagebundle_fi.properties +14 -6
- package/src/sap/fe/core/messagebundle_fr.properties +14 -6
- package/src/sap/fe/core/messagebundle_fr_CA.properties +14 -6
- package/src/sap/fe/core/messagebundle_hi.properties +14 -6
- package/src/sap/fe/core/messagebundle_hr.properties +14 -6
- package/src/sap/fe/core/messagebundle_hu.properties +13 -5
- package/src/sap/fe/core/messagebundle_id.properties +13 -5
- package/src/sap/fe/core/messagebundle_it.properties +33 -25
- package/src/sap/fe/core/messagebundle_iw.properties +13 -5
- package/src/sap/fe/core/messagebundle_ja.properties +14 -6
- package/src/sap/fe/core/messagebundle_kk.properties +13 -5
- package/src/sap/fe/core/messagebundle_ko.properties +13 -5
- package/src/sap/fe/core/messagebundle_lt.properties +13 -5
- package/src/sap/fe/core/messagebundle_lv.properties +14 -6
- package/src/sap/fe/core/messagebundle_ms.properties +13 -5
- package/src/sap/fe/core/messagebundle_nl.properties +13 -5
- package/src/sap/fe/core/messagebundle_no.properties +13 -5
- package/src/sap/fe/core/messagebundle_pl.properties +13 -5
- package/src/sap/fe/core/messagebundle_pt.properties +13 -5
- package/src/sap/fe/core/messagebundle_pt_PT.properties +14 -6
- package/src/sap/fe/core/messagebundle_ro.properties +13 -5
- package/src/sap/fe/core/messagebundle_ru.properties +13 -5
- package/src/sap/fe/core/messagebundle_sh.properties +13 -5
- package/src/sap/fe/core/messagebundle_sk.properties +13 -5
- package/src/sap/fe/core/messagebundle_sl.properties +17 -9
- package/src/sap/fe/core/messagebundle_sv.properties +14 -6
- package/src/sap/fe/core/messagebundle_th.properties +13 -5
- package/src/sap/fe/core/messagebundle_tr.properties +13 -5
- package/src/sap/fe/core/messagebundle_uk.properties +13 -5
- package/src/sap/fe/core/messagebundle_vi.properties +13 -5
- package/src/sap/fe/core/messagebundle_zh_CN.properties +14 -6
- package/src/sap/fe/core/messagebundle_zh_TW.properties +13 -5
- package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +2 -2
- package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +5 -5
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +2 -2
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +14 -14
- package/src/sap/fe/core/services/EnvironmentServiceFactory.js +1 -1
- package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +3 -2
- package/src/sap/fe/core/services/NavigationServiceFactory.js +53 -44
- package/src/sap/fe/core/services/NavigationServiceFactory.ts +54 -46
- package/src/sap/fe/core/services/ResourceModelServiceFactory.js +2 -2
- package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +4 -4
- package/src/sap/fe/core/services/RoutingServiceFactory.js +55 -55
- package/src/sap/fe/core/services/RoutingServiceFactory.ts +67 -65
- package/src/sap/fe/core/services/ShellServicesFactory.js +72 -76
- package/src/sap/fe/core/services/ShellServicesFactory.ts +76 -82
- package/src/sap/fe/core/services/SideEffectsServiceFactory.js +61 -61
- package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +102 -92
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +20 -15
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +26 -21
- package/src/sap/fe/core/support/CommonHelper.js +3 -2
- package/src/sap/fe/core/support/CommonHelper.ts +9 -13
- package/src/sap/fe/core/support/Diagnostics.js +1 -1
- package/src/sap/fe/core/support/Diagnostics.ts +5 -5
- package/src/sap/fe/core/templating/CommonFormatters.js +84 -0
- package/src/sap/fe/core/templating/CommonFormatters.ts +86 -0
- package/src/sap/fe/core/templating/CriticalityFormatters.js +31 -31
- package/src/sap/fe/core/templating/CriticalityFormatters.ts +42 -40
- package/src/sap/fe/core/templating/DataFieldFormatters.js +8 -8
- package/src/sap/fe/core/templating/DataFieldFormatters.ts +13 -10
- package/src/sap/fe/core/templating/DataModelPathHelper.js +16 -15
- package/src/sap/fe/core/templating/DataModelPathHelper.ts +42 -32
- package/src/sap/fe/core/templating/DisplayModeFormatter.js +1 -1
- package/src/sap/fe/core/templating/DisplayModeFormatter.ts +2 -3
- package/src/sap/fe/core/templating/EntitySetHelper.js +7 -7
- package/src/sap/fe/core/templating/EntitySetHelper.ts +6 -8
- package/src/sap/fe/core/templating/FieldControlHelper.js +35 -34
- package/src/sap/fe/core/templating/FieldControlHelper.ts +29 -46
- package/src/sap/fe/core/templating/FilterHelper.js +10 -9
- package/src/sap/fe/core/templating/FilterHelper.ts +13 -13
- package/src/sap/fe/core/templating/FilterTemplating.js +1 -1
- package/src/sap/fe/core/templating/FilterTemplating.ts +3 -3
- package/src/sap/fe/core/templating/PropertyFormatters.js +7 -7
- package/src/sap/fe/core/templating/PropertyFormatters.ts +21 -19
- package/src/sap/fe/core/templating/PropertyHelper.js +25 -25
- package/src/sap/fe/core/templating/PropertyHelper.ts +25 -26
- package/src/sap/fe/core/templating/UIFormatters.js +148 -93
- package/src/sap/fe/core/templating/UIFormatters.ts +196 -124
- package/src/sap/fe/core/type/Email.js +2 -2
- package/src/sap/fe/core/type/Email.ts +2 -2
- package/src/sap/fe/core/helpers/BindingExpression.js +0 -1732
|
@@ -1,28 +1,25 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import type {
|
|
2
|
+
AnnotationTerm,
|
|
3
3
|
AnyAnnotation,
|
|
4
|
-
|
|
4
|
+
ConvertedMetadata,
|
|
5
|
+
EntityContainer,
|
|
5
6
|
EntitySet,
|
|
6
7
|
EntityType,
|
|
7
|
-
EntityContainer,
|
|
8
8
|
NavigationProperty,
|
|
9
|
-
ServiceObject,
|
|
10
9
|
ResolutionTarget,
|
|
10
|
+
ServiceObject,
|
|
11
11
|
ServiceObjectAndAnnotation
|
|
12
|
-
} from "@sap-ux/
|
|
13
|
-
import {
|
|
14
|
-
import
|
|
15
|
-
import Context from "sap/ui/model/odata/v4/Context";
|
|
16
|
-
import { convertTypes, ResolvedTarget } from "sap/fe/core/converters/MetaModelConverter";
|
|
17
|
-
import { IDiagnostics } from "sap/fe/core/converters/TemplateConverter";
|
|
18
|
-
import {
|
|
19
|
-
DataModelObjectPath,
|
|
20
|
-
enhanceDataModelPath,
|
|
21
|
-
getContextRelativeTargetObjectPath,
|
|
22
|
-
getTargetObjectPath
|
|
23
|
-
} from "sap/fe/core/templating/DataModelPathHelper";
|
|
24
|
-
import { EntityTypeAnnotations } from "@sap-ux/vocabularies-types/types/generated/Edm_Types";
|
|
12
|
+
} from "@sap-ux/vocabularies-types";
|
|
13
|
+
import type { EntityTypeAnnotations } from "@sap-ux/vocabularies-types/vocabularies/Edm_Types";
|
|
14
|
+
import type { BaseManifestSettings, TemplateType } from "sap/fe/core/converters/ManifestSettings";
|
|
25
15
|
import ManifestWrapper from "sap/fe/core/converters/ManifestWrapper";
|
|
16
|
+
import type { ResolvedTarget } from "sap/fe/core/converters/MetaModelConverter";
|
|
17
|
+
import { convertTypes } from "sap/fe/core/converters/MetaModelConverter";
|
|
18
|
+
import type { IDiagnostics } from "sap/fe/core/converters/TemplateConverter";
|
|
19
|
+
import type { DataModelObjectPath } from "sap/fe/core/templating/DataModelPathHelper";
|
|
20
|
+
import { enhanceDataModelPath, getContextRelativeTargetObjectPath, getTargetObjectPath } from "sap/fe/core/templating/DataModelPathHelper";
|
|
21
|
+
import type Context from "sap/ui/model/odata/v4/Context";
|
|
22
|
+
import type ODataMetaModel from "sap/ui/model/odata/v4/ODataMetaModel";
|
|
26
23
|
|
|
27
24
|
export type ResolvedAnnotationContext = {
|
|
28
25
|
annotation: AnyAnnotation;
|
|
@@ -32,10 +29,10 @@ export type ResolvedAnnotationContext = {
|
|
|
32
29
|
/**
|
|
33
30
|
* Checks whether an object is an annotation term.
|
|
34
31
|
*
|
|
35
|
-
* @param
|
|
36
|
-
* @returns
|
|
32
|
+
* @param vAnnotationPath
|
|
33
|
+
* @returns `true` if it's an annotation term
|
|
37
34
|
*/
|
|
38
|
-
const isAnnotationTerm = function(vAnnotationPath: string | AnnotationTerm<any>): vAnnotationPath is AnnotationTerm<any> {
|
|
35
|
+
const isAnnotationTerm = function (vAnnotationPath: string | AnnotationTerm<any>): vAnnotationPath is AnnotationTerm<any> {
|
|
39
36
|
return typeof vAnnotationPath === "object";
|
|
40
37
|
};
|
|
41
38
|
|
|
@@ -43,9 +40,9 @@ function isServiceObject(objectPart: ServiceObjectAndAnnotation): objectPart is
|
|
|
43
40
|
return objectPart && objectPart.hasOwnProperty("_type");
|
|
44
41
|
}
|
|
45
42
|
|
|
46
|
-
const getDataModelPathForEntitySet = function(
|
|
43
|
+
const getDataModelPathForEntitySet = function (
|
|
47
44
|
resolvedMetaPath: ResolutionTarget<any>,
|
|
48
|
-
convertedTypes:
|
|
45
|
+
convertedTypes: ConvertedMetadata
|
|
49
46
|
): DataModelObjectPath {
|
|
50
47
|
let rootEntitySet: EntitySet | undefined;
|
|
51
48
|
let currentEntitySet: EntitySet | undefined;
|
|
@@ -61,7 +58,7 @@ const getDataModelPathForEntitySet = function(
|
|
|
61
58
|
navigationProperties.push(objectPart);
|
|
62
59
|
currentEntityType = objectPart.targetType;
|
|
63
60
|
if (previousEntitySet && previousEntitySet.navigationPropertyBinding.hasOwnProperty(navigatedPaths.join("/"))) {
|
|
64
|
-
currentEntitySet = previousEntitySet.navigationPropertyBinding[navigatedPaths.join("/")];
|
|
61
|
+
currentEntitySet = previousEntitySet.navigationPropertyBinding[navigatedPaths.join("/")] as EntitySet;
|
|
65
62
|
previousEntitySet = currentEntitySet;
|
|
66
63
|
navigatedPaths = [];
|
|
67
64
|
} else {
|
|
@@ -97,14 +94,12 @@ const getDataModelPathForEntitySet = function(
|
|
|
97
94
|
/**
|
|
98
95
|
* Create a ConverterContext object that will be used within the converters.
|
|
99
96
|
*
|
|
100
|
-
* @param {
|
|
97
|
+
* @param {ConvertedMetadata} oConvertedTypes The converted annotation and service types
|
|
101
98
|
* @param {BaseManifestSettings} oManifestSettings The manifestSettings that applies to this page
|
|
102
99
|
* @param {TemplateType} templateType The type of template we're looking at right now
|
|
103
|
-
* @param {IShellServicesProxy} shellServices The current instance of the shellservice
|
|
104
100
|
* @param {IDiagnostics} diagnostics The diagnostics shim
|
|
105
101
|
* @param {Function} mergeFn The function to be used to perfom some deep merges between object
|
|
106
102
|
* @param {DataModelObjectPath} targetDataModelPath The global path to reach the entitySet
|
|
107
|
-
*
|
|
108
103
|
* @returns {ConverterContext} A converter context for the converters
|
|
109
104
|
*/
|
|
110
105
|
class ConverterContext {
|
|
@@ -112,7 +107,7 @@ class ConverterContext {
|
|
|
112
107
|
private baseContextPath: string;
|
|
113
108
|
|
|
114
109
|
constructor(
|
|
115
|
-
private convertedTypes:
|
|
110
|
+
private convertedTypes: ConvertedMetadata,
|
|
116
111
|
private manifestSettings: BaseManifestSettings,
|
|
117
112
|
private diagnostics: IDiagnostics,
|
|
118
113
|
private mergeFn: Function,
|
|
@@ -122,35 +117,28 @@ class ConverterContext {
|
|
|
122
117
|
this.baseContextPath = getTargetObjectPath(this.targetDataModelPath);
|
|
123
118
|
}
|
|
124
119
|
|
|
125
|
-
/**
|
|
126
|
-
* Retrieve the property based on the path.
|
|
127
|
-
*
|
|
128
|
-
* @param fullyQualifiedName The fully qualified name
|
|
129
|
-
* @returns {Property} The property EntityType based
|
|
130
|
-
*/
|
|
131
120
|
private _getEntityTypeFromFullyQualifiedName(fullyQualifiedName: string): EntityType | undefined {
|
|
132
|
-
|
|
121
|
+
return this.convertedTypes.entityTypes.find((entityType) => {
|
|
133
122
|
if (fullyQualifiedName.startsWith(entityType.fullyQualifiedName)) {
|
|
134
123
|
const replaceAnnotation = fullyQualifiedName.replace(entityType.fullyQualifiedName, "");
|
|
135
124
|
return replaceAnnotation.startsWith("/") || replaceAnnotation.startsWith("@");
|
|
136
125
|
}
|
|
137
126
|
return false;
|
|
138
127
|
});
|
|
139
|
-
return targetEntityType;
|
|
140
128
|
}
|
|
141
129
|
|
|
142
130
|
/**
|
|
143
131
|
* Retrieve the entityType associated with an annotation object.
|
|
144
132
|
*
|
|
145
133
|
* @param annotation The annotation object for which we want to find the entityType
|
|
146
|
-
* @returns
|
|
134
|
+
* @returns The EntityType the annotation refers to
|
|
147
135
|
*/
|
|
148
136
|
getAnnotationEntityType(annotation?: AnnotationTerm<any>): EntityType {
|
|
149
137
|
if (annotation) {
|
|
150
138
|
const annotationPath = annotation.fullyQualifiedName;
|
|
151
139
|
const targetEntityType = this._getEntityTypeFromFullyQualifiedName(annotationPath);
|
|
152
140
|
if (!targetEntityType) {
|
|
153
|
-
throw new Error(
|
|
141
|
+
throw new Error(`Cannot find Entity Type for ${annotation.fullyQualifiedName}`);
|
|
154
142
|
}
|
|
155
143
|
return targetEntityType;
|
|
156
144
|
} else {
|
|
@@ -186,7 +174,7 @@ class ConverterContext {
|
|
|
186
174
|
if (sAnnotationPath[0] === "/") {
|
|
187
175
|
return sAnnotationPath;
|
|
188
176
|
}
|
|
189
|
-
return this.baseContextPath
|
|
177
|
+
return `${this.baseContextPath}/${sAnnotationPath}`;
|
|
190
178
|
}
|
|
191
179
|
|
|
192
180
|
/**
|
|
@@ -236,7 +224,8 @@ class ConverterContext {
|
|
|
236
224
|
|
|
237
225
|
/**
|
|
238
226
|
* Gets the entity type of the parameter in case of a parameterized service.
|
|
239
|
-
*
|
|
227
|
+
*
|
|
228
|
+
* @returns The entity type of the parameter
|
|
240
229
|
*/
|
|
241
230
|
getParameterEntityType(): EntityType {
|
|
242
231
|
const parameterEntityType = this.targetDataModelPath.startingEntitySet.entityType;
|
|
@@ -252,7 +241,7 @@ class ConverterContext {
|
|
|
252
241
|
*/
|
|
253
242
|
getEntityTypeAnnotation(annotationPath: string): ResolvedAnnotationContext {
|
|
254
243
|
if (annotationPath.indexOf("@") === -1) {
|
|
255
|
-
annotationPath =
|
|
244
|
+
annotationPath = `@${annotationPath}`;
|
|
256
245
|
}
|
|
257
246
|
const targetObject: ResolvedTarget = this.targetDataModelPath.targetEntityType.resolvePath(annotationPath, true);
|
|
258
247
|
|
|
@@ -267,7 +256,7 @@ class ConverterContext {
|
|
|
267
256
|
// In case of parameterized service
|
|
268
257
|
if (!rootEntitySet && startingEntityType.annotations.Common?.ResultContext) {
|
|
269
258
|
rootEntitySet = this.targetDataModelPath.startingEntitySet;
|
|
270
|
-
this.targetDataModelPath.navigationProperties.forEach(function(navObject) {
|
|
259
|
+
this.targetDataModelPath.navigationProperties.forEach(function (navObject) {
|
|
271
260
|
navigatedPaths.push(navObject.name);
|
|
272
261
|
});
|
|
273
262
|
}
|
|
@@ -279,8 +268,8 @@ class ConverterContext {
|
|
|
279
268
|
currentEntityType = (currentObject as NavigationProperty).targetType;
|
|
280
269
|
if (rootEntitySet && rootEntitySet.navigationPropertyBinding.hasOwnProperty(navigatedPaths.join("/"))) {
|
|
281
270
|
const navPath = navigatedPaths.join("/");
|
|
282
|
-
rootEntitySet =
|
|
283
|
-
rootEntitySet.navigationPropertyBinding[
|
|
271
|
+
rootEntitySet = (rootEntitySet.navigationPropertyBinding[currentObject.name] ||
|
|
272
|
+
rootEntitySet.navigationPropertyBinding[navPath]) as EntitySet;
|
|
284
273
|
navigatedPaths = [];
|
|
285
274
|
} else {
|
|
286
275
|
rootEntitySet = undefined;
|
|
@@ -323,9 +312,10 @@ class ConverterContext {
|
|
|
323
312
|
|
|
324
313
|
/**
|
|
325
314
|
* Retrieve the converted types.
|
|
315
|
+
*
|
|
326
316
|
* @returns The current converted types
|
|
327
317
|
*/
|
|
328
|
-
getConvertedTypes():
|
|
318
|
+
getConvertedTypes(): ConvertedMetadata {
|
|
329
319
|
return this.convertedTypes;
|
|
330
320
|
}
|
|
331
321
|
|
|
@@ -359,9 +349,9 @@ class ConverterContext {
|
|
|
359
349
|
if (replacedAnnotationPath.length > 2 && replacedAnnotationPath[0] === "/" && replacedAnnotationPath[1] === "/") {
|
|
360
350
|
replacedAnnotationPath = replacedAnnotationPath.substr(1);
|
|
361
351
|
}
|
|
362
|
-
return this.baseContextPath + (replacedAnnotationPath.startsWith("/") ? replacedAnnotationPath :
|
|
352
|
+
return this.baseContextPath + (replacedAnnotationPath.startsWith("/") ? replacedAnnotationPath : `/${replacedAnnotationPath}`);
|
|
363
353
|
} else {
|
|
364
|
-
return
|
|
354
|
+
return `/${annotationPath}`;
|
|
365
355
|
}
|
|
366
356
|
}
|
|
367
357
|
|
|
@@ -381,8 +371,8 @@ class ConverterContext {
|
|
|
381
371
|
/**
|
|
382
372
|
* Retrieve the target from an absolute path.
|
|
383
373
|
*
|
|
384
|
-
* @param
|
|
385
|
-
* @returns
|
|
374
|
+
* @param path The path we want to get the target
|
|
375
|
+
* @returns The absolute path
|
|
386
376
|
*/
|
|
387
377
|
resolveAbsolutePath<T>(path: string): ResolutionTarget<T> {
|
|
388
378
|
return this.convertedTypes.resolvePath(path);
|
|
@@ -391,8 +381,8 @@ class ConverterContext {
|
|
|
391
381
|
/**
|
|
392
382
|
* Retrieve a new converter context, scoped for a different context path.
|
|
393
383
|
*
|
|
394
|
-
* @param
|
|
395
|
-
* @returns
|
|
384
|
+
* @param contextPath The path we want to orchestrate the converter context around
|
|
385
|
+
* @returns The converted context for the sub path
|
|
396
386
|
*/
|
|
397
387
|
getConverterContextFor<T>(contextPath: string): ConverterContext {
|
|
398
388
|
const resolvedMetaPath: ResolutionTarget<T> = this.convertedTypes.resolvePath(contextPath);
|
|
@@ -415,12 +405,12 @@ class ConverterContext {
|
|
|
415
405
|
annotationSources: (ServiceObject | undefined)[] = [this.getEntityType()]
|
|
416
406
|
): AnnotationTerm<any>[] {
|
|
417
407
|
let outAnnotations: AnnotationTerm<any>[] = [];
|
|
418
|
-
annotationSources.forEach(annotationSource => {
|
|
408
|
+
annotationSources.forEach((annotationSource) => {
|
|
419
409
|
if (annotationSource) {
|
|
420
410
|
const annotations: Record<string, AnnotationTerm<any>> = annotationSource?.annotations[vocabularyName] || {};
|
|
421
411
|
if (annotations) {
|
|
422
412
|
outAnnotations = Object.keys(annotations)
|
|
423
|
-
.filter(annotation => annotations[annotation].term === annotationTerm)
|
|
413
|
+
.filter((annotation) => annotations[annotation].term === annotationTerm)
|
|
424
414
|
.reduce((previousValue: AnnotationTerm<any>[], key: string) => {
|
|
425
415
|
previousValue.push(annotations[key]);
|
|
426
416
|
return previousValue;
|
|
@@ -434,11 +424,11 @@ class ConverterContext {
|
|
|
434
424
|
/**
|
|
435
425
|
* Retrieves the relative model path based on the current context path.
|
|
436
426
|
*
|
|
437
|
-
* @returns
|
|
427
|
+
* @returns The relative model path or undefined if the path is not resolveable
|
|
438
428
|
*/
|
|
439
429
|
getRelativeModelPathFunction(): Function {
|
|
440
430
|
const targetDataModelPath = this.targetDataModelPath;
|
|
441
|
-
return function(sPath: string) {
|
|
431
|
+
return function (sPath: string) {
|
|
442
432
|
const enhancedPath = enhanceDataModelPath(targetDataModelPath, sPath);
|
|
443
433
|
return getContextRelativeTargetObjectPath(enhancedPath, true);
|
|
444
434
|
};
|
|
@@ -446,13 +436,14 @@ class ConverterContext {
|
|
|
446
436
|
|
|
447
437
|
/**
|
|
448
438
|
* Create the converter context necessary for a macro based on a metamodel context.
|
|
439
|
+
*
|
|
449
440
|
* @param sEntitySetName
|
|
450
441
|
* @param oMetaModelContext
|
|
451
442
|
* @param diagnostics
|
|
452
443
|
* @param mergeFn
|
|
453
444
|
* @param targetDataModelPath
|
|
454
445
|
* @param manifestSettings
|
|
455
|
-
* @returns
|
|
446
|
+
* @returns The current converter context
|
|
456
447
|
*/
|
|
457
448
|
static createConverterContextForMacro(
|
|
458
449
|
sEntitySetName: string,
|
|
@@ -465,8 +456,8 @@ class ConverterContext {
|
|
|
465
456
|
const oMetaModel: ODataMetaModel = oMetaModelContext.isA("sap.ui.model.odata.v4.ODataMetaModel")
|
|
466
457
|
? (oMetaModelContext as ODataMetaModel)
|
|
467
458
|
: ((oMetaModelContext as Context).getModel() as ODataMetaModel);
|
|
468
|
-
const
|
|
469
|
-
const targetEntitySet =
|
|
459
|
+
const oConvertedMetadata = convertTypes(oMetaModel);
|
|
460
|
+
const targetEntitySet = oConvertedMetadata.entitySets.find((entitySet) => entitySet.name === sEntitySetName) as EntitySet;
|
|
470
461
|
if (!targetDataModelPath) {
|
|
471
462
|
targetDataModelPath = {
|
|
472
463
|
startingEntitySet: targetEntitySet,
|
|
@@ -474,10 +465,10 @@ class ConverterContext {
|
|
|
474
465
|
targetEntitySet: targetEntitySet,
|
|
475
466
|
targetEntityType: targetEntitySet.entityType,
|
|
476
467
|
targetObject: targetEntitySet,
|
|
477
|
-
convertedTypes:
|
|
468
|
+
convertedTypes: oConvertedMetadata
|
|
478
469
|
};
|
|
479
470
|
}
|
|
480
|
-
return new ConverterContext(
|
|
471
|
+
return new ConverterContext(oConvertedMetadata, manifestSettings, diagnostics, mergeFn, targetDataModelPath);
|
|
481
472
|
}
|
|
482
473
|
}
|
|
483
474
|
|
|
@@ -101,4 +101,4 @@ sap.ui.define([], function () {
|
|
|
101
101
|
_exports.SelectionMode = SelectionMode;
|
|
102
102
|
return _exports;
|
|
103
103
|
}, false);
|
|
104
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIk1hbmlmZXN0U2V0dGluZ3MudHMiXSwibmFtZXMiOlsiVGVtcGxhdGVUeXBlIiwiQWN0aW9uVHlwZSIsIlZpc3VhbGl6YXRpb25UeXBlIiwiVmFyaWFudE1hbmFnZW1lbnRUeXBlIiwiQ3JlYXRpb25Nb2RlIiwiQXZhaWxhYmlsaXR5VHlwZSIsIkltcG9ydGFuY2UiLCJIb3Jpem9udGFsQWxpZ24iLCJTZWxlY3Rpb25Nb2RlIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7Ozs7TUFHWUEsWTs7YUFBQUEsWTtBQUFBQSxJQUFBQSxZO0FBQUFBLElBQUFBLFk7QUFBQUEsSUFBQUEsWTtLQUFBQSxZLEtBQUFBLFk7OztNQU1BQyxVOzthQUFBQSxVO0FBQUFBLElBQUFBLFU7QUFBQUEsSUFBQUEsVTtBQUFBQSxJQUFBQSxVO0FBQUFBLElBQUFBLFU7QUFBQUEsSUFBQUEsVTtBQUFBQSxJQUFBQSxVO0FBQUFBLElBQUFBLFU7QUFBQUEsSUFBQUEsVTtBQUFBQSxJQUFBQSxVO0FBQUFBLElBQUFBLFU7QUFBQUEsSUFBQUEsVTtLQUFBQSxVLEtBQUFBLFU7OztNQW1CQUMsaUI7O2FBQUFBLGlCO0FBQUFBLElBQUFBLGlCO0FBQUFBLElBQUFBLGlCO0tBQUFBLGlCLEtBQUFBLGlCOzs7TUFLQUMscUI7O2FBQUFBLHFCO0FBQUFBLElBQUFBLHFCO0FBQUFBLElBQUFBLHFCO0FBQUFBLElBQUFBLHFCO0tBQUFBLHFCLEtBQUFBLHFCOzs7TUFXQUMsWTs7YUFBQUEsWTtBQUFBQSxJQUFBQSxZO0FBQUFBLElBQUFBLFk7QUFBQUEsSUFBQUEsWTtBQUFBQSxJQUFBQSxZO0FBQUFBLElBQUFBLFk7S0FBQUEsWSxLQUFBQSxZOzs7TUFRQUMsZ0I7O2FBQUFBLGdCO0FBQUFBLElBQUFBLGdCO0FBQUFBLElBQUFBLGdCO0FBQUFBLElBQUFBLGdCO0tBQUFBLGdCLEtBQUFBLGdCOzs7TUFNQUMsVTs7YUFBQUEsVTtBQUFBQSxJQUFBQSxVO0FBQUFBLElBQUFBLFU7QUFBQUEsSUFBQUEsVTtBQUFBQSxJQUFBQSxVO0tBQUFBLFUsS0FBQUEsVTs7O01BT0FDLGU7O2FBQUFBLGU7QUFBQUEsSUFBQUEsZTtBQUFBQSxJQUFBQSxlO0FBQUFBLElBQUFBLGU7S0FBQUEsZSxLQUFBQSxlOzs7TUFvVkFDLGE7O2FBQUFBLGE7QUFBQUEsSUFBQUEsYTtBQUFBQSxJQUFBQSxhO0FBQUFBLElBQUFBLGE7QUFBQUEsSUFBQUEsYTtLQUFBQSxhLEtBQUFBLGEiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZsZXhTZXR0aW5ncywgSGVhZGVyRmFjZXRUeXBlIH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvY29udHJvbHMvT2JqZWN0UGFnZS9IZWFkZXJGYWNldFwiO1xuaW1wb3J0IHsgQmluZGluZ0V4cHJlc3Npb24gfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9CaW5kaW5nRXhwcmVzc2lvblwiO1xuaW1wb3J0IHsgVGFibGVUeXBlIH0gZnJvbSBcIi4vY29udHJvbHMvQ29tbW9uL1RhYmxlXCI7XG5pbXBvcnQgeyBDb25maWd1cmFibGVSZWNvcmQsIFBvc2l0aW9uLCBQb3NpdGlvbmFibGUgfSBmcm9tIFwiLi9oZWxwZXJzL0NvbmZpZ3VyYWJsZU9iamVjdFwiO1xuXG5leHBvcnQgZW51bSBUZW1wbGF0ZVR5cGUge1xuXHRMaXN0UmVwb3J0ID0gXCJMaXN0UmVwb3J0XCIsXG5cdE9iamVjdFBhZ2UgPSBcIk9iamVjdFBhZ2VcIixcblx0QW5hbHl0aWNhbExpc3RQYWdlID0gXCJBbmFseXRpY2FsTGlzdFBhZ2VcIlxufVxuXG5leHBvcnQgZW51bSBBY3Rpb25UeXBlIHtcblx0RGF0YUZpZWxkRm9yQWN0aW9uID0gXCJGb3JBY3Rpb25cIixcblx0RGF0YUZpZWxkRm9ySW50ZW50QmFzZWROYXZpZ2F0aW9uID0gXCJGb3JOYXZpZ2F0aW9uXCIsXG5cdERlZmF1bHQgPSBcIkRlZmF1bHRcIixcblx0UHJpbWFyeSA9IFwiUHJpbWFyeVwiLFxuXHRTZWNvbmRhcnkgPSBcIlNlY29uZGFyeVwiLFxuXHRTd2l0Y2hUb0FjdGl2ZU9iamVjdCA9IFwiU3dpdGNoVG9BY3RpdmVPYmplY3RcIixcblx0U3dpdGNoVG9EcmFmdE9iamVjdCA9IFwiU3dpdGNoVG9EcmFmdE9iamVjdFwiLFxuXHREcmFmdEFjdGlvbnMgPSBcIkRyYWZ0QWN0aW9uc1wiLFxuXHREZWZhdWx0QXBwbHkgPSBcIkRlZmF1bHRBcHBseVwiLFxuXHRNZW51ID0gXCJNZW51XCIsXG5cdFNob3dGb3JtRGV0YWlscyA9IFwiU2hvd0Zvcm1EZXRhaWxzXCJcbn1cblxuZXhwb3J0IHR5cGUgTWFuaWZlc3RTaWRlQ29udGVudCA9IHtcblx0dGVtcGxhdGU6IHN0cmluZztcblx0ZXF1YWxTcGxpdD86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgZW51bSBWaXN1YWxpemF0aW9uVHlwZSB7XG5cdFRhYmxlID0gXCJUYWJsZVwiLFxuXHRDaGFydCA9IFwiQ2hhcnRcIlxufVxuXG5leHBvcnQgZW51bSBWYXJpYW50TWFuYWdlbWVudFR5cGUge1xuXHRQYWdlID0gXCJQYWdlXCIsXG5cdENvbnRyb2wgPSBcIkNvbnRyb2xcIixcblx0Tm9uZSA9IFwiTm9uZVwiXG59XG5cbmV4cG9ydCB0eXBlIENvbnRlbnREZW5zaXRpZXNUeXBlID0ge1xuXHRjb21wYWN0PzogYm9vbGVhbjtcblx0Y296eT86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgZW51bSBDcmVhdGlvbk1vZGUge1xuXHROZXdQYWdlID0gXCJOZXdQYWdlXCIsXG5cdElubGluZSA9IFwiSW5saW5lXCIsXG5cdENyZWF0aW9uUm93ID0gXCJDcmVhdGlvblJvd1wiLFxuXHRJbmxpbmVDcmVhdGlvblJvd3MgPSBcIklubGluZUNyZWF0aW9uUm93c1wiLFxuXHRFeHRlcm5hbCA9IFwiRXh0ZXJuYWxcIlxufVxuXG5leHBvcnQgZW51bSBBdmFpbGFiaWxpdHlUeXBlIHtcblx0RGVmYXVsdCA9IFwiRGVmYXVsdFwiLFxuXHRBZGFwdGF0aW9uID0gXCJBZGFwdGF0aW9uXCIsXG5cdEhpZGRlbiA9IFwiSGlkZGVuXCJcbn1cblxuZXhwb3J0IGVudW0gSW1wb3J0YW5jZSB7XG5cdEhpZ2ggPSBcIkhpZ2hcIixcblx0TWVkaXVtID0gXCJNZWRpdW1cIixcblx0TG93ID0gXCJMb3dcIixcblx0Tm9uZSA9IFwiTm9uZVwiXG59XG5cbmV4cG9ydCBlbnVtIEhvcml6b250YWxBbGlnbiB7XG5cdEVuZCA9IFwiRW5kXCIsXG5cdEJlZ2luID0gXCJCZWdpblwiLFxuXHRDZW50ZXIgPSBcIkNlbnRlclwiXG59XG5cbmV4cG9ydCB0eXBlIFRhYmxlQ29sdW1uU2V0dGluZ3MgPSB7XG5cdG1pY3JvQ2hhcnRTaXplPzogc3RyaW5nO1xuXHRzaG93TWljcm9DaGFydExhYmVsPzogYm9vbGVhbjtcbn07XG5cbi8qKlxuICogQ29sbGVjdGlvbiBvZiBmb3JtYXQgb3B0aW9ucyBmb3IgbXVsdGlsaW5lIHRleHQgZmllbGRzIG9uIGEgZm9ybSBvciBpbiBhIHRhYmxlXG4gKi9cbmV4cG9ydCB0eXBlIEZvcm1hdE9wdGlvbnNUeXBlID0ge1xuXHRoYXNEcmFmdEluZGljYXRvcj86IGJvb2xlYW47XG5cdHNlbWFudGlja2V5cz86IHN0cmluZ1tdO1xuXHR0ZXh0TGluZXNFZGl0PzogbnVtYmVyO1xuXHR0ZXh0TWF4Q2hhcmFjdGVyc0Rpc3BsYXk/OiBudW1iZXI7XG5cdHRleHRFeHBhbmRCZWhhdmlvckRpc3BsYXk/OiBzdHJpbmc7XG59O1xuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gb2YgYSBLUEkgaW4gdGhlIG1hbmlmZXN0XG4gKi9cbmV4cG9ydCB0eXBlIEtQSUNvbmZpZ3VyYXRpb24gPSB7XG5cdG1vZGVsPzogc3RyaW5nO1xuXHRlbnRpdHlTZXQ6IHN0cmluZztcblx0cXVhbGlmaWVyOiBzdHJpbmc7XG5cdGRldGFpbE5hdmlnYXRpb24/OiBzdHJpbmc7XG59O1xuXG4vKipcbiAqIEB0eXBlZGVmIEJhc2VNYW5pZmVzdFNldHRpbmdzXG4gKi9cbmV4cG9ydCB0eXBlIEJhc2VNYW5pZmVzdFNldHRpbmdzID0ge1xuXHRjb250ZW50Pzoge1xuXHRcdGhlYWRlcj86IHtcblx0XHRcdGZhY2V0cz86IENvbmZpZ3VyYWJsZVJlY29yZDxNYW5pZmVzdEhlYWRlckZhY2V0Pjtcblx0XHRcdGFjdGlvbnM/OiBDb25maWd1cmFibGVSZWNvcmQ8TWFuaWZlc3RBY3Rpb24+O1xuXHRcdH07XG5cdFx0Zm9vdGVyPzoge1xuXHRcdFx0YWN0aW9ucz86IENvbmZpZ3VyYWJsZVJlY29yZDxNYW5pZmVzdEFjdGlvbj47XG5cdFx0fTtcblx0fTtcblx0Y29udHJvbENvbmZpZ3VyYXRpb24/OiB7XG5cdFx0W2Fubm90YXRpb25QYXRoOiBzdHJpbmddOiBDb250cm9sTWFuaWZlc3RDb25maWd1cmF0aW9uO1xuXHR9ICYge1xuXHRcdFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtXCI/OiBUYWJsZU1hbmlmZXN0Q29uZmlndXJhdGlvbjtcblx0XHRcIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5GYWNldHNcIj86IEZhY2V0c0NvbnRyb2xDb25maWd1cmF0aW9uO1xuXHRcdFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkhlYWRlckZhY2V0c1wiPzogSGVhZGVyRmFjZXRzQ29udHJvbENvbmZpZ3VyYXRpb247XG5cdFx0XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuU2VsZWN0aW9uRmllbGRzXCI/OiBGaWx0ZXJNYW5pZmVzdENvbmZpZ3VyYXRpb247XG5cdH07XG5cdGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZTtcblx0ZW50aXR5U2V0OiBzdHJpbmc7XG5cdG5hdmlnYXRpb24/OiB7XG5cdFx0W25hdmlnYXRpb25QYXRoOiBzdHJpbmddOiBOYXZpZ2F0aW9uU2V0dGluZ3NDb25maWd1cmF0aW9uO1xuXHR9O1xuXHR2aWV3TGV2ZWw/OiBudW1iZXI7XG5cdGZjbEVuYWJsZWQ/OiBib29sZWFuO1xuXHRjb250ZXh0UGF0aD86IHN0cmluZztcblx0dmFyaWFudE1hbmFnZW1lbnQ/OiBWYXJpYW50TWFuYWdlbWVudFR5cGU7XG5cdGRlZmF1bHRUZW1wbGF0ZUFubm90YXRpb25QYXRoPzogc3RyaW5nO1xuXHRjb250ZW50RGVuc2l0aWVzPzogQ29udGVudERlbnNpdGllc1R5cGU7XG5cdHNoZWxsQ29udGVudERlbnNpdHk/OiBzdHJpbmc7XG5cdGlzRGVza3RvcD86IGJvb2xlYW47XG5cdGlzUGhvbmU/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgTmF2aWdhdGlvblRhcmdldENvbmZpZ3VyYXRpb24gPSB7XG5cdG91dGJvdW5kPzogc3RyaW5nO1xuXHRvdXRib3VuZERldGFpbD86IHtcblx0XHRzZW1hbnRpY09iamVjdDogc3RyaW5nO1xuXHRcdGFjdGlvbjogc3RyaW5nO1xuXHRcdHBhcmFtZXRlcnM/OiBhbnk7XG5cdH07XG5cdHJvdXRlPzogc3RyaW5nO1xufTtcblxuLyoqXG4gKiBAdHlwZWRlZiBOYXZpZ2F0aW9uU2V0dGluZ3NDb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCB0eXBlIE5hdmlnYXRpb25TZXR0aW5nc0NvbmZpZ3VyYXRpb24gPSB7XG5cdGNyZWF0ZT86IE5hdmlnYXRpb25UYXJnZXRDb25maWd1cmF0aW9uO1xuXHRkZXRhaWw/OiBOYXZpZ2F0aW9uVGFyZ2V0Q29uZmlndXJhdGlvbjtcblx0ZGlzcGxheT86IHtcblx0XHRvdXRib3VuZD86IHN0cmluZztcblx0XHR0YXJnZXQ/OiBzdHJpbmc7IC8vIGZvciBjb21wYXRpYmlsaXR5XG5cdFx0cm91dGU/OiBzdHJpbmc7XG5cdH07XG59O1xuXG50eXBlIEhlYWRlckZhY2V0c0NvbnRyb2xDb25maWd1cmF0aW9uID0ge1xuXHRmYWNldHM6IENvbmZpZ3VyYWJsZVJlY29yZDxNYW5pZmVzdEhlYWRlckZhY2V0Pjtcbn07XG5cbnR5cGUgRmFjZXRzQ29udHJvbENvbmZpZ3VyYXRpb24gPSB7XG5cdHNlY3Rpb25zOiBDb25maWd1cmFibGVSZWNvcmQ8TWFuaWZlc3RTZWN0aW9uPjtcbn07XG5cbnR5cGUgTWFuaWZlc3RGb3JtRWxlbWVudCA9IFBvc2l0aW9uYWJsZSAmIHtcblx0dGVtcGxhdGU6IHN0cmluZztcblx0bGFiZWw/OiBzdHJpbmc7XG5cdGZvcm1hdE9wdGlvbnM/OiBGb3JtYXRPcHRpb25zVHlwZTtcbn07XG5cbmV4cG9ydCB0eXBlIEZvcm1NYW5pZmVzdENvbmZpZ3VyYXRpb24gPSB7XG5cdGZpZWxkczogQ29uZmlndXJhYmxlUmVjb3JkPE1hbmlmZXN0Rm9ybUVsZW1lbnQ+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29udHJvbE1hbmlmZXN0Q29uZmlndXJhdGlvbiA9XG5cdHwgVGFibGVNYW5pZmVzdENvbmZpZ3VyYXRpb25cblx0fCBDaGFydE1hbmlmZXN0Q29uZmlndXJhdGlvblxuXHR8IEZhY2V0c0NvbnRyb2xDb25maWd1cmF0aW9uXG5cdHwgSGVhZGVyRmFjZXRzQ29udHJvbENvbmZpZ3VyYXRpb25cblx0fCBGb3JtTWFuaWZlc3RDb25maWd1cmF0aW9uXG5cdHwgRmlsdGVyTWFuaWZlc3RDb25maWd1cmF0aW9uO1xuXG4vKiogT2JqZWN0IFBhZ2UgKiovXG5cbmV4cG9ydCB0eXBlIE9iamVjdFBhZ2VNYW5pZmVzdFNldHRpbmdzID0gQmFzZU1hbmlmZXN0U2V0dGluZ3MgJiB7XG5cdGNvbnRlbnQ/OiB7XG5cdFx0aGVhZGVyPzoge1xuXHRcdFx0dmlzaWJsZT86IGJvb2xlYW47XG5cdFx0XHRhbmNob3JCYXJWaXNpYmxlPzogYm9vbGVhbjtcblx0XHRcdGZhY2V0cz86IENvbmZpZ3VyYWJsZVJlY29yZDxNYW5pZmVzdEhlYWRlckZhY2V0Pjtcblx0XHR9O1xuXHRcdGJvZHk/OiB7XG5cdFx0XHRzZWN0aW9ucz86IENvbmZpZ3VyYWJsZVJlY29yZDxNYW5pZmVzdFNlY3Rpb24+O1xuXHRcdH07XG5cdH07XG5cdGVkaXRhYmxlSGVhZGVyQ29udGVudDogYm9vbGVhbjtcblx0c2VjdGlvbkxheW91dDogXCJUYWJzXCIgfCBcIlBhZ2VcIjtcbn07XG5cbi8qKlxuICogQHR5cGVkZWYgTWFuaWZlc3RIZWFkZXJGYWNldFxuICovXG5leHBvcnQgdHlwZSBNYW5pZmVzdEhlYWRlckZhY2V0ID0ge1xuXHR0eXBlPzogSGVhZGVyRmFjZXRUeXBlO1xuXHRuYW1lPzogc3RyaW5nO1xuXHR0ZW1wbGF0ZT86IHN0cmluZztcblx0cG9zaXRpb24/OiBQb3NpdGlvbjtcblx0dmlzaWJsZT86IEJpbmRpbmdFeHByZXNzaW9uPGJvb2xlYW4+O1xuXHR0aXRsZT86IHN0cmluZztcblx0c3ViVGl0bGU/OiBzdHJpbmc7XG5cdHN0YXNoZWQ/OiBib29sZWFuO1xuXHRmbGV4U2V0dGluZ3M/OiBGbGV4U2V0dGluZ3M7XG5cdHJlcXVlc3RHcm91cElkPzogc3RyaW5nO1xuXHR0ZW1wbGF0ZUVkaXQ/OiBzdHJpbmc7XG59O1xuXG4vKipcbiAqIEB0eXBlZGVmIE1hbmlmZXN0U2VjdGlvblxuICovXG5leHBvcnQgdHlwZSBNYW5pZmVzdFNlY3Rpb24gPSB7XG5cdHRpdGxlPzogc3RyaW5nO1xuXHRpZD86IHN0cmluZztcblx0bmFtZT86IHN0cmluZztcblx0dmlzaWJsZT86IEJpbmRpbmdFeHByZXNzaW9uPGJvb2xlYW4+O1xuXHRwb3NpdGlvbj86IFBvc2l0aW9uO1xuXHR0ZW1wbGF0ZT86IHN0cmluZztcblx0c3ViU2VjdGlvbnM/OiBSZWNvcmQ8c3RyaW5nLCBNYW5pZmVzdFN1YlNlY3Rpb24+O1xuXHRhY3Rpb25zPzogUmVjb3JkPHN0cmluZywgTWFuaWZlc3RBY3Rpb24+O1xufTtcblxuZXhwb3J0IHR5cGUgTWFuaWZlc3RTdWJTZWN0aW9uID0ge1xuXHRpZD86IHN0cmluZztcblx0bmFtZT86IHN0cmluZztcblx0dGVtcGxhdGU/OiBzdHJpbmc7XG5cdHRpdGxlPzogc3RyaW5nO1xuXHRwb3NpdGlvbj86IFBvc2l0aW9uO1xuXHR2aXNpYmxlPzogQmluZGluZ0V4cHJlc3Npb248Ym9vbGVhbj47XG5cdGFjdGlvbnM/OiBSZWNvcmQ8c3RyaW5nLCBNYW5pZmVzdEFjdGlvbj47XG5cdHNpZGVDb250ZW50PzogTWFuaWZlc3RTaWRlQ29udGVudDtcbn07XG5cbi8qKiBMaXN0IFJlcG9ydCAqKi9cblxuZXhwb3J0IHR5cGUgTGlzdFJlcG9ydE1hbmlmZXN0U2V0dGluZ3MgPSBCYXNlTWFuaWZlc3RTZXR0aW5ncyAmIHtcblx0c3RpY2t5TXVsdGlUYWJIZWFkZXI/OiBib29sZWFuO1xuXHRpbml0aWFsTG9hZD86IGJvb2xlYW47XG5cdHZpZXdzPzogTXVsdGlwbGVWaWV3c0NvbmZpZ3VyYXRpb247XG5cdGtleVBlcmZvcm1hbmNlSW5kaWNhdG9ycz86IHtcblx0XHRba3BpTmFtZTogc3RyaW5nXTogS1BJQ29uZmlndXJhdGlvbjtcblx0fTtcblx0aGlkZUZpbHRlckJhcj86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBWaWV3UGF0aENvbmZpZ3VyYXRpb24gPSBTaW5nbGVWaWV3UGF0aENvbmZpZ3VyYXRpb24gfCBDb21iaW5lZFZpZXdQYXRoQ29uZmlndXJhdGlvbjtcblxuZXhwb3J0IHR5cGUgVmlld0NvbmZpZ3VyYXRpb24gPSBWaWV3UGF0aENvbmZpZ3VyYXRpb24gfCBDdXN0b21WaWV3VGVtcGxhdGVDb25maWd1cmF0aW9uO1xuXG5leHBvcnQgdHlwZSBDdXN0b21WaWV3VGVtcGxhdGVDb25maWd1cmF0aW9uID0ge1xuXHRrZXk/OiBzdHJpbmc7XG5cdGxhYmVsOiBzdHJpbmc7XG5cdHRlbXBsYXRlOiBzdHJpbmc7XG5cdHZpc2libGU/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBTaW5nbGVWaWV3UGF0aENvbmZpZ3VyYXRpb24gPSB7XG5cdGtlZXBQcmV2aW91c1ByZXNvbmFsaXphdGlvbj86IGJvb2xlYW47XG5cdGtleT86IHN0cmluZztcblx0ZW50aXR5U2V0Pzogc3RyaW5nO1xuXHRhbm5vdGF0aW9uUGF0aDogc3RyaW5nO1xuXHRjb250ZXh0UGF0aD86IHN0cmluZztcblx0dmlzaWJsZT86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIENvbWJpbmVkVmlld1BhdGhDb25maWd1cmF0aW9uID0ge1xuXHRwcmltYXJ5OiBTaW5nbGVWaWV3UGF0aENvbmZpZ3VyYXRpb25bXTtcblx0c2Vjb25kYXJ5OiBTaW5nbGVWaWV3UGF0aENvbmZpZ3VyYXRpb25bXTtcblx0ZGVmYXVsdFBhdGg/OiBcImJvdGhcIiB8IFwicHJpbWFyeVwiIHwgXCJzZWNvbmRhcnlcIjtcblx0a2V5Pzogc3RyaW5nO1xuXHR2aXNpYmxlPzogc3RyaW5nO1xufTtcblxuLyoqXG4gKiBAdHlwZWRlZiBNdWx0aXBsZVZpZXdzQ29uZmlndXJhdGlvblxuICovXG5leHBvcnQgdHlwZSBNdWx0aXBsZVZpZXdzQ29uZmlndXJhdGlvbiA9IHtcblx0cGF0aHM6IFZpZXdDb25maWd1cmF0aW9uW107XG5cdHNob3dDb3VudHM/OiBib29sZWFuO1xufTtcblxuLyoqIEZpbHRlciBDb25maWd1cmF0aW9uICoqL1xuXG4vKiogQHR5cGVkZWYgRmlsdGVyTWFuaWZlc3RDb25maWd1cmF0aW9uICoqL1xuZXhwb3J0IHR5cGUgRmlsdGVyTWFuaWZlc3RDb25maWd1cmF0aW9uID0ge1xuXHRmaWx0ZXJGaWVsZHM/OiBSZWNvcmQ8c3RyaW5nLCBGaWx0ZXJGaWVsZE1hbmlmZXN0Q29uZmlndXJhdGlvbj47XG5cdG5hdmlnYXRpb25Qcm9wZXJ0aWVzPzogc3RyaW5nW107XG5cdHVzZVNlbWFudGljRGF0ZVJhbmdlPzogYm9vbGVhbjtcblx0aW5pdGlhbExheW91dD86IHN0cmluZztcblx0bGF5b3V0Pzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgRmlsdGVyRmllbGRNYW5pZmVzdENvbmZpZ3VyYXRpb24gPSBQb3NpdGlvbmFibGUgJiB7XG5cdHR5cGU/OiBzdHJpbmc7XG5cdGxhYmVsPzogc3RyaW5nO1xuXHR0ZW1wbGF0ZT86IHN0cmluZztcblx0YXZhaWxhYmlsaXR5PzogQXZhaWxhYmlsaXR5VHlwZTtcblx0c2V0dGluZ3M/OiBGaWx0ZXJTZXR0aW5ncztcblx0dmlzdWFsRmlsdGVyPzogdmlzdWFsRmlsdGVyQ29uZmlndXJhdGlvbjtcbn07XG5cbmV4cG9ydCB0eXBlIHZpc3VhbEZpbHRlckNvbmZpZ3VyYXRpb24gPSB7XG5cdHZhbHVlTGlzdD86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIE9wZXJhdG9yQ29uZmlndXJhdGlvbiA9IHtcblx0cGF0aDogc3RyaW5nO1xuXHRlcXVhbHM/OiBzdHJpbmc7XG5cdGNvbnRhaW5zPzogc3RyaW5nO1xuXHRleGNsdWRlOiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgRGVmYXVsdE9wZXJhdG9yID0ge1xuXHRvcGVyYXRvcjogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgRmlsdGVyU2V0dGluZ3MgPSB7XG5cdG9wZXJhdG9yQ29uZmlndXJhdGlvbj86IE9wZXJhdG9yQ29uZmlndXJhdGlvbltdO1xuXHRkZWZhdWx0VmFsdWVzPzogRGVmYXVsdE9wZXJhdG9yW107XG59O1xuXG4vKiogQ2hhcnQgQ29uZmlndXJhdGlvbiAqKi9cblxuZXhwb3J0IHR5cGUgQ2hhcnRQZXJzb25hbGl6YXRpb25NYW5pZmVzdFNldHRpbmdzID1cblx0fCBib29sZWFuXG5cdHwge1xuXHRcdFx0c29ydDogYm9vbGVhbjtcblx0XHRcdHR5cGU6IGJvb2xlYW47XG5cdFx0XHRpdGVtOiBib29sZWFuO1xuXHQgIH07XG5cbmV4cG9ydCB0eXBlIENoYXJ0TWFuaWZlc3RDb25maWd1cmF0aW9uID0ge1xuXHRjaGFydFNldHRpbmdzOiB7XG5cdFx0cGVyc29uYWxpemF0aW9uOiBDaGFydFBlcnNvbmFsaXphdGlvbk1hbmlmZXN0U2V0dGluZ3M7XG5cdH07XG59O1xuXG5leHBvcnQgdHlwZSBBY3Rpb25BZnRlckV4ZWN1dGlvbkNvbmZpZ3VyYXRpb24gPSB7XG5cdG5hdmlnYXRlVG9JbnN0YW5jZT86IGJvb2xlYW47XG5cdGVuYWJsZUF1dG9TY3JvbGw/OiBib29sZWFuO1xufTtcblxuLyoqIFRhYmxlIENvbmZpZ3VyYXRpb24gKiovXG5cbi8qKlxuICogQHR5cGVkZWYgTWFuaWZlc3RBY3Rpb25cbiAqL1xuZXhwb3J0IHR5cGUgTWFuaWZlc3RBY3Rpb24gPSB7XG5cdG1lbnU/OiBzdHJpbmdbXTtcblx0dmlzaWJsZT86IHN0cmluZyB8IGJvb2xlYW47XG5cdGVuYWJsZWQ/OiBzdHJpbmc7XG5cdHBvc2l0aW9uPzogUG9zaXRpb247XG5cdHByZXNzPzogc3RyaW5nO1xuXHR0ZXh0Pzogc3RyaW5nO1xuXHRfX25vV3JhcD86IGJvb2xlYW47XG5cdGVuYWJsZU9uU2VsZWN0Pzogc3RyaW5nO1xuXHRkZWZhdWx0VmFsdWVzRnVuY3Rpb24/OiBzdHJpbmc7XG5cdHJlcXVpcmVzU2VsZWN0aW9uPzogYm9vbGVhbjtcblx0YWZ0ZXJFeGVjdXRpb24/OiBBY3Rpb25BZnRlckV4ZWN1dGlvbkNvbmZpZ3VyYXRpb247XG5cdGlubGluZT86IGJvb2xlYW47XG5cdGRldGVybWluaW5nPzogYm9vbGVhbjtcblx0ZmFjZXROYW1lPzogc3RyaW5nO1xuXHRjb21tYW5kPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IHR5cGUgTWFuaWZlc3RUYWJsZUNvbHVtbk92ZXJyaWRlID0gUG9zaXRpb25hYmxlICYge1xuXHR3aWR0aD86IHN0cmluZztcblx0aW1wb3J0YW5jZT86IEltcG9ydGFuY2U7XG5cdGhvcml6b250YWxBbGlnbj86IEhvcml6b250YWxBbGlnbjtcblx0YWZ0ZXJFeGVjdXRpb24/OiBBY3Rpb25BZnRlckV4ZWN1dGlvbkNvbmZpZ3VyYXRpb247XG5cdHNldHRpbmdzPzogVGFibGVDb2x1bW5TZXR0aW5ncztcblx0Zm9ybWF0T3B0aW9ucz86IEZvcm1hdE9wdGlvbnNUeXBlO1xuXHRzaG93RGF0YUZpZWxkc0xhYmVsPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIE1hbmlmZXN0VGFibGVDb2x1bW4gPSBQb3NpdGlvbmFibGUgJiB7XG5cdGhlYWRlcjogc3RyaW5nO1xuXHR3aWR0aD86IHN0cmluZztcblx0aW1wb3J0YW5jZT86IEltcG9ydGFuY2U7XG5cdHNob3dEYXRhRmllbGRzTGFiZWw/OiBib29sZWFuO1xuXHR0eXBlPzogc3RyaW5nO1xuXHRob3Jpem9udGFsQWxpZ24/OiBIb3Jpem9udGFsQWxpZ247XG5cdHRlbXBsYXRlOiBzdHJpbmc7XG5cdGFmdGVyRXhlY3V0aW9uPzogQWN0aW9uQWZ0ZXJFeGVjdXRpb25Db25maWd1cmF0aW9uO1xuXHRhdmFpbGFiaWxpdHk/OiBBdmFpbGFiaWxpdHlUeXBlO1xuXHRzZXR0aW5ncz86IFRhYmxlQ29sdW1uU2V0dGluZ3M7XG5cdGZvcm1hdE9wdGlvbnM/OiBGb3JtYXRPcHRpb25zVHlwZTtcblx0cHJvcGVydGllcz86IHN0cmluZ1tdO1xufTtcblxuZXhwb3J0IHR5cGUgVGFibGVNYW5pZmVzdENvbmZpZ3VyYXRpb24gPSB7XG5cdHRhYmxlU2V0dGluZ3M/OiBUYWJsZU1hbmlmZXN0U2V0dGluZ3NDb25maWd1cmF0aW9uO1xuXHRhY3Rpb25zPzogUmVjb3JkPHN0cmluZywgTWFuaWZlc3RBY3Rpb24+O1xuXHRjb2x1bW5zPzogUmVjb3JkPHN0cmluZywgTWFuaWZlc3RUYWJsZUNvbHVtbiB8IE1hbmlmZXN0VGFibGVDb2x1bW5PdmVycmlkZT47XG59O1xuXG5leHBvcnQgZW51bSBTZWxlY3Rpb25Nb2RlIHtcblx0QXV0byA9IFwiQXV0b1wiLFxuXHROb25lID0gXCJOb25lXCIsXG5cdE11bHRpID0gXCJNdWx0aVwiLFxuXHRTaW5nbGUgPSBcIlNpbmdsZVwiXG59XG5cbmV4cG9ydCB0eXBlIFRhYmxlUGVyc29uYWxpemF0aW9uQ29uZmlndXJhdGlvbiA9XG5cdHwgYm9vbGVhblxuXHR8IHtcblx0XHRcdHNvcnQ6IGJvb2xlYW47XG5cdFx0XHRjb2x1bW46IGJvb2xlYW47XG5cdFx0XHRmaWx0ZXI6IGJvb2xlYW47XG5cdFx0XHRncm91cDogYm9vbGVhbjtcblx0XHRcdGFnZ3JlZ2F0ZTogYm9vbGVhbjtcblx0ICB9O1xuXG5leHBvcnQgdHlwZSBUYWJsZU1hbmlmZXN0U2V0dGluZ3NDb25maWd1cmF0aW9uID0ge1xuXHRjcmVhdGlvbk1vZGU/OiB7XG5cdFx0ZGlzYWJsZUFkZFJvd0J1dHRvbkZvckVtcHR5RGF0YT86IGJvb2xlYW47XG5cdFx0Y3VzdG9tVmFsaWRhdGlvbkZ1bmN0aW9uPzogc3RyaW5nO1xuXHRcdGNyZWF0ZUF0RW5kPzogYm9vbGVhbjtcblx0XHRuYW1lPzogQ3JlYXRpb25Nb2RlO1xuXHRcdGlubGluZUNyZWF0aW9uUm93Q291bnQ/OiBudW1iZXI7XG5cdH07XG5cdGVuYWJsZUV4cG9ydD86IGJvb2xlYW47XG5cdHF1aWNrVmFyaWFudFNlbGVjdGlvbj86IHtcblx0XHRwYXRoczogW1xuXHRcdFx0e1xuXHRcdFx0XHRhbm5vdGF0aW9uUGF0aDogc3RyaW5nO1xuXHRcdFx0fVxuXHRcdF07XG5cdFx0aGlkZVRhYmxlVGl0bGU/OiBib29sZWFuO1xuXHRcdHNob3dDb3VudHM/OiBib29sZWFuO1xuXHR9O1xuXHRwZXJzb25hbGl6YXRpb24/OiBUYWJsZVBlcnNvbmFsaXphdGlvbkNvbmZpZ3VyYXRpb247XG5cdC8qKlxuXHQgKiBEZWZpbmVzIGhvdyBtYW55IGl0ZW1zIGluIGEgdGFibGUgY2FuIGJlIHNlbGVjdGVkLiBZb3UgaGF2ZSB0aGUgZm9sbG93aW5nIG9wdGlvbnM6XG5cdCAqID0+IGJ5IGRlZmluaW5nICdOb25lJyB5b3UgY2FuIGZ1bGx5IGRpc2FibGUgdGhlIGxpc3Qgc2VsZWN0aW9uXG5cdCAqID0+IGJ5IGRlZmluaW5nICdTaW5nbGUnIHlvdSBhbGxvdyBvbmx5IG9uZSBpdGVtIHRvIGJlIHNlbGVjdGVkXG5cdCAqID0+IGJ5IGRlZmluaW5nICdNdWx0aScgeW91IGFsbG93IHNldmVyYWwgaXRlbXMgdG8gYmUgc2VsZWN0ZWRcblx0ICogPT4gYnkgdXNpbmcgJ0F1dG8nIHlvdSBsZWF2ZSB0aGUgZGVmYXVsdCBkZWZpbml0aW9uICdOb25lJywgZXhjZXB0IGlmIHRoZXJlIGlzIGFuIGFjdGlvbiB0aGF0IHJlcXVpcmVzIGEgc2VsZWN0aW9uIChzdWNoIGFzIGRlbGV0aW5nLCBvciBJQk4pXG5cdCAqL1xuXHRzZWxlY3Rpb25Nb2RlPzogU2VsZWN0aW9uTW9kZTtcblx0dHlwZT86IFRhYmxlVHlwZTtcblx0Y29uZGVuc2VkVGFibGVMYXlvdXQ/OiBib29sZWFuO1xuXHRzZWxlY3RBbGw/OiBib29sZWFuO1xuXHRzZWxlY3Rpb25MaW1pdD86IG51bWJlcjtcblx0ZW5hYmxlUGFzdGU/OiBib29sZWFuO1xuXHRlbmFibGVGdWxsU2NyZWVuPzogYm9vbGVhbjtcblx0ZW5hYmxlTWFzc0VkaXQ/OiBib29sZWFuO1xufTtcbiJdfQ==
|
|
104
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIk1hbmlmZXN0U2V0dGluZ3MudHMiXSwibmFtZXMiOlsiVGVtcGxhdGVUeXBlIiwiQWN0aW9uVHlwZSIsIlZpc3VhbGl6YXRpb25UeXBlIiwiVmFyaWFudE1hbmFnZW1lbnRUeXBlIiwiQ3JlYXRpb25Nb2RlIiwiQXZhaWxhYmlsaXR5VHlwZSIsIkltcG9ydGFuY2UiLCJIb3Jpem9udGFsQWxpZ24iLCJTZWxlY3Rpb25Nb2RlIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7Ozs7TUFHWUEsWTs7YUFBQUEsWTtBQUFBQSxJQUFBQSxZO0FBQUFBLElBQUFBLFk7QUFBQUEsSUFBQUEsWTtLQUFBQSxZLEtBQUFBLFk7OztNQU1BQyxVOzthQUFBQSxVO0FBQUFBLElBQUFBLFU7QUFBQUEsSUFBQUEsVTtBQUFBQSxJQUFBQSxVO0FBQUFBLElBQUFBLFU7QUFBQUEsSUFBQUEsVTtBQUFBQSxJQUFBQSxVO0FBQUFBLElBQUFBLFU7QUFBQUEsSUFBQUEsVTtBQUFBQSxJQUFBQSxVO0FBQUFBLElBQUFBLFU7QUFBQUEsSUFBQUEsVTtLQUFBQSxVLEtBQUFBLFU7OztNQW1CQUMsaUI7O2FBQUFBLGlCO0FBQUFBLElBQUFBLGlCO0FBQUFBLElBQUFBLGlCO0tBQUFBLGlCLEtBQUFBLGlCOzs7TUFLQUMscUI7O2FBQUFBLHFCO0FBQUFBLElBQUFBLHFCO0FBQUFBLElBQUFBLHFCO0FBQUFBLElBQUFBLHFCO0tBQUFBLHFCLEtBQUFBLHFCOzs7TUFXQUMsWTs7YUFBQUEsWTtBQUFBQSxJQUFBQSxZO0FBQUFBLElBQUFBLFk7QUFBQUEsSUFBQUEsWTtBQUFBQSxJQUFBQSxZO0FBQUFBLElBQUFBLFk7S0FBQUEsWSxLQUFBQSxZOzs7TUFRQUMsZ0I7O2FBQUFBLGdCO0FBQUFBLElBQUFBLGdCO0FBQUFBLElBQUFBLGdCO0FBQUFBLElBQUFBLGdCO0tBQUFBLGdCLEtBQUFBLGdCOzs7TUFNQUMsVTs7YUFBQUEsVTtBQUFBQSxJQUFBQSxVO0FBQUFBLElBQUFBLFU7QUFBQUEsSUFBQUEsVTtBQUFBQSxJQUFBQSxVO0tBQUFBLFUsS0FBQUEsVTs7O01BT0FDLGU7O2FBQUFBLGU7QUFBQUEsSUFBQUEsZTtBQUFBQSxJQUFBQSxlO0FBQUFBLElBQUFBLGU7S0FBQUEsZSxLQUFBQSxlOzs7TUFvVkFDLGE7O2FBQUFBLGE7QUFBQUEsSUFBQUEsYTtBQUFBQSxJQUFBQSxhO0FBQUFBLElBQUFBLGE7QUFBQUEsSUFBQUEsYTtLQUFBQSxhLEtBQUFBLGEiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmxleFNldHRpbmdzLCBIZWFkZXJGYWNldFR5cGUgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9jb250cm9scy9PYmplY3RQYWdlL0hlYWRlckZhY2V0XCI7XG5pbXBvcnQgdHlwZSB7IENvbXBpbGVkQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQmluZGluZ1Rvb2xraXRcIjtcbmltcG9ydCB0eXBlIHsgVGFibGVUeXBlIH0gZnJvbSBcIi4vY29udHJvbHMvQ29tbW9uL1RhYmxlXCI7XG5pbXBvcnQgdHlwZSB7IENvbmZpZ3VyYWJsZVJlY29yZCwgUG9zaXRpb24sIFBvc2l0aW9uYWJsZSB9IGZyb20gXCIuL2hlbHBlcnMvQ29uZmlndXJhYmxlT2JqZWN0XCI7XG5cbmV4cG9ydCBlbnVtIFRlbXBsYXRlVHlwZSB7XG5cdExpc3RSZXBvcnQgPSBcIkxpc3RSZXBvcnRcIixcblx0T2JqZWN0UGFnZSA9IFwiT2JqZWN0UGFnZVwiLFxuXHRBbmFseXRpY2FsTGlzdFBhZ2UgPSBcIkFuYWx5dGljYWxMaXN0UGFnZVwiXG59XG5cbmV4cG9ydCBlbnVtIEFjdGlvblR5cGUge1xuXHREYXRhRmllbGRGb3JBY3Rpb24gPSBcIkZvckFjdGlvblwiLFxuXHREYXRhRmllbGRGb3JJbnRlbnRCYXNlZE5hdmlnYXRpb24gPSBcIkZvck5hdmlnYXRpb25cIixcblx0RGVmYXVsdCA9IFwiRGVmYXVsdFwiLFxuXHRQcmltYXJ5ID0gXCJQcmltYXJ5XCIsXG5cdFNlY29uZGFyeSA9IFwiU2Vjb25kYXJ5XCIsXG5cdFN3aXRjaFRvQWN0aXZlT2JqZWN0ID0gXCJTd2l0Y2hUb0FjdGl2ZU9iamVjdFwiLFxuXHRTd2l0Y2hUb0RyYWZ0T2JqZWN0ID0gXCJTd2l0Y2hUb0RyYWZ0T2JqZWN0XCIsXG5cdERyYWZ0QWN0aW9ucyA9IFwiRHJhZnRBY3Rpb25zXCIsXG5cdERlZmF1bHRBcHBseSA9IFwiRGVmYXVsdEFwcGx5XCIsXG5cdE1lbnUgPSBcIk1lbnVcIixcblx0U2hvd0Zvcm1EZXRhaWxzID0gXCJTaG93Rm9ybURldGFpbHNcIlxufVxuXG5leHBvcnQgdHlwZSBNYW5pZmVzdFNpZGVDb250ZW50ID0ge1xuXHR0ZW1wbGF0ZTogc3RyaW5nO1xuXHRlcXVhbFNwbGl0PzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBlbnVtIFZpc3VhbGl6YXRpb25UeXBlIHtcblx0VGFibGUgPSBcIlRhYmxlXCIsXG5cdENoYXJ0ID0gXCJDaGFydFwiXG59XG5cbmV4cG9ydCBlbnVtIFZhcmlhbnRNYW5hZ2VtZW50VHlwZSB7XG5cdFBhZ2UgPSBcIlBhZ2VcIixcblx0Q29udHJvbCA9IFwiQ29udHJvbFwiLFxuXHROb25lID0gXCJOb25lXCJcbn1cblxuZXhwb3J0IHR5cGUgQ29udGVudERlbnNpdGllc1R5cGUgPSB7XG5cdGNvbXBhY3Q/OiBib29sZWFuO1xuXHRjb3p5PzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBlbnVtIENyZWF0aW9uTW9kZSB7XG5cdE5ld1BhZ2UgPSBcIk5ld1BhZ2VcIixcblx0SW5saW5lID0gXCJJbmxpbmVcIixcblx0Q3JlYXRpb25Sb3cgPSBcIkNyZWF0aW9uUm93XCIsXG5cdElubGluZUNyZWF0aW9uUm93cyA9IFwiSW5saW5lQ3JlYXRpb25Sb3dzXCIsXG5cdEV4dGVybmFsID0gXCJFeHRlcm5hbFwiXG59XG5cbmV4cG9ydCBlbnVtIEF2YWlsYWJpbGl0eVR5cGUge1xuXHREZWZhdWx0ID0gXCJEZWZhdWx0XCIsXG5cdEFkYXB0YXRpb24gPSBcIkFkYXB0YXRpb25cIixcblx0SGlkZGVuID0gXCJIaWRkZW5cIlxufVxuXG5leHBvcnQgZW51bSBJbXBvcnRhbmNlIHtcblx0SGlnaCA9IFwiSGlnaFwiLFxuXHRNZWRpdW0gPSBcIk1lZGl1bVwiLFxuXHRMb3cgPSBcIkxvd1wiLFxuXHROb25lID0gXCJOb25lXCJcbn1cblxuZXhwb3J0IGVudW0gSG9yaXpvbnRhbEFsaWduIHtcblx0RW5kID0gXCJFbmRcIixcblx0QmVnaW4gPSBcIkJlZ2luXCIsXG5cdENlbnRlciA9IFwiQ2VudGVyXCJcbn1cblxuZXhwb3J0IHR5cGUgVGFibGVDb2x1bW5TZXR0aW5ncyA9IHtcblx0bWljcm9DaGFydFNpemU/OiBzdHJpbmc7XG5cdHNob3dNaWNyb0NoYXJ0TGFiZWw/OiBib29sZWFuO1xufTtcblxuLyoqXG4gKiBDb2xsZWN0aW9uIG9mIGZvcm1hdCBvcHRpb25zIGZvciBtdWx0aWxpbmUgdGV4dCBmaWVsZHMgb24gYSBmb3JtIG9yIGluIGEgdGFibGVcbiAqL1xuZXhwb3J0IHR5cGUgRm9ybWF0T3B0aW9uc1R5cGUgPSB7XG5cdGhhc0RyYWZ0SW5kaWNhdG9yPzogYm9vbGVhbjtcblx0c2VtYW50aWNrZXlzPzogc3RyaW5nW107XG5cdHRleHRMaW5lc0VkaXQ/OiBudW1iZXI7XG5cdHRleHRNYXhDaGFyYWN0ZXJzRGlzcGxheT86IG51bWJlcjtcblx0dGV4dEV4cGFuZEJlaGF2aW9yRGlzcGxheT86IHN0cmluZztcbn07XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBvZiBhIEtQSSBpbiB0aGUgbWFuaWZlc3RcbiAqL1xuZXhwb3J0IHR5cGUgS1BJQ29uZmlndXJhdGlvbiA9IHtcblx0bW9kZWw/OiBzdHJpbmc7XG5cdGVudGl0eVNldDogc3RyaW5nO1xuXHRxdWFsaWZpZXI6IHN0cmluZztcblx0ZGV0YWlsTmF2aWdhdGlvbj86IHN0cmluZztcbn07XG5cbi8qKlxuICogQHR5cGVkZWYgQmFzZU1hbmlmZXN0U2V0dGluZ3NcbiAqL1xuZXhwb3J0IHR5cGUgQmFzZU1hbmlmZXN0U2V0dGluZ3MgPSB7XG5cdGNvbnRlbnQ/OiB7XG5cdFx0aGVhZGVyPzoge1xuXHRcdFx0ZmFjZXRzPzogQ29uZmlndXJhYmxlUmVjb3JkPE1hbmlmZXN0SGVhZGVyRmFjZXQ+O1xuXHRcdFx0YWN0aW9ucz86IENvbmZpZ3VyYWJsZVJlY29yZDxNYW5pZmVzdEFjdGlvbj47XG5cdFx0fTtcblx0XHRmb290ZXI/OiB7XG5cdFx0XHRhY3Rpb25zPzogQ29uZmlndXJhYmxlUmVjb3JkPE1hbmlmZXN0QWN0aW9uPjtcblx0XHR9O1xuXHR9O1xuXHRjb250cm9sQ29uZmlndXJhdGlvbj86IHtcblx0XHRbYW5ub3RhdGlvblBhdGg6IHN0cmluZ106IENvbnRyb2xNYW5pZmVzdENvbmZpZ3VyYXRpb247XG5cdH0gJiB7XG5cdFx0XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW1cIj86IFRhYmxlTWFuaWZlc3RDb25maWd1cmF0aW9uO1xuXHRcdFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkZhY2V0c1wiPzogRmFjZXRzQ29udHJvbENvbmZpZ3VyYXRpb247XG5cdFx0XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuSGVhZGVyRmFjZXRzXCI/OiBIZWFkZXJGYWNldHNDb250cm9sQ29uZmlndXJhdGlvbjtcblx0XHRcIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5TZWxlY3Rpb25GaWVsZHNcIj86IEZpbHRlck1hbmlmZXN0Q29uZmlndXJhdGlvbjtcblx0fTtcblx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlO1xuXHRlbnRpdHlTZXQ6IHN0cmluZztcblx0bmF2aWdhdGlvbj86IHtcblx0XHRbbmF2aWdhdGlvblBhdGg6IHN0cmluZ106IE5hdmlnYXRpb25TZXR0aW5nc0NvbmZpZ3VyYXRpb247XG5cdH07XG5cdHZpZXdMZXZlbD86IG51bWJlcjtcblx0ZmNsRW5hYmxlZD86IGJvb2xlYW47XG5cdGNvbnRleHRQYXRoPzogc3RyaW5nO1xuXHR2YXJpYW50TWFuYWdlbWVudD86IFZhcmlhbnRNYW5hZ2VtZW50VHlwZTtcblx0ZGVmYXVsdFRlbXBsYXRlQW5ub3RhdGlvblBhdGg/OiBzdHJpbmc7XG5cdGNvbnRlbnREZW5zaXRpZXM/OiBDb250ZW50RGVuc2l0aWVzVHlwZTtcblx0c2hlbGxDb250ZW50RGVuc2l0eT86IHN0cmluZztcblx0aXNEZXNrdG9wPzogYm9vbGVhbjtcblx0aXNQaG9uZT86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBOYXZpZ2F0aW9uVGFyZ2V0Q29uZmlndXJhdGlvbiA9IHtcblx0b3V0Ym91bmQ/OiBzdHJpbmc7XG5cdG91dGJvdW5kRGV0YWlsPzoge1xuXHRcdHNlbWFudGljT2JqZWN0OiBzdHJpbmc7XG5cdFx0YWN0aW9uOiBzdHJpbmc7XG5cdFx0cGFyYW1ldGVycz86IGFueTtcblx0fTtcblx0cm91dGU/OiBzdHJpbmc7XG59O1xuXG4vKipcbiAqIEB0eXBlZGVmIE5hdmlnYXRpb25TZXR0aW5nc0NvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IHR5cGUgTmF2aWdhdGlvblNldHRpbmdzQ29uZmlndXJhdGlvbiA9IHtcblx0Y3JlYXRlPzogTmF2aWdhdGlvblRhcmdldENvbmZpZ3VyYXRpb247XG5cdGRldGFpbD86IE5hdmlnYXRpb25UYXJnZXRDb25maWd1cmF0aW9uO1xuXHRkaXNwbGF5Pzoge1xuXHRcdG91dGJvdW5kPzogc3RyaW5nO1xuXHRcdHRhcmdldD86IHN0cmluZzsgLy8gZm9yIGNvbXBhdGliaWxpdHlcblx0XHRyb3V0ZT86IHN0cmluZztcblx0fTtcbn07XG5cbnR5cGUgSGVhZGVyRmFjZXRzQ29udHJvbENvbmZpZ3VyYXRpb24gPSB7XG5cdGZhY2V0czogQ29uZmlndXJhYmxlUmVjb3JkPE1hbmlmZXN0SGVhZGVyRmFjZXQ+O1xufTtcblxudHlwZSBGYWNldHNDb250cm9sQ29uZmlndXJhdGlvbiA9IHtcblx0c2VjdGlvbnM6IENvbmZpZ3VyYWJsZVJlY29yZDxNYW5pZmVzdFNlY3Rpb24+O1xufTtcblxudHlwZSBNYW5pZmVzdEZvcm1FbGVtZW50ID0gUG9zaXRpb25hYmxlICYge1xuXHR0ZW1wbGF0ZTogc3RyaW5nO1xuXHRsYWJlbD86IHN0cmluZztcblx0Zm9ybWF0T3B0aW9ucz86IEZvcm1hdE9wdGlvbnNUeXBlO1xufTtcblxuZXhwb3J0IHR5cGUgRm9ybU1hbmlmZXN0Q29uZmlndXJhdGlvbiA9IHtcblx0ZmllbGRzOiBDb25maWd1cmFibGVSZWNvcmQ8TWFuaWZlc3RGb3JtRWxlbWVudD47XG59O1xuXG5leHBvcnQgdHlwZSBDb250cm9sTWFuaWZlc3RDb25maWd1cmF0aW9uID1cblx0fCBUYWJsZU1hbmlmZXN0Q29uZmlndXJhdGlvblxuXHR8IENoYXJ0TWFuaWZlc3RDb25maWd1cmF0aW9uXG5cdHwgRmFjZXRzQ29udHJvbENvbmZpZ3VyYXRpb25cblx0fCBIZWFkZXJGYWNldHNDb250cm9sQ29uZmlndXJhdGlvblxuXHR8IEZvcm1NYW5pZmVzdENvbmZpZ3VyYXRpb25cblx0fCBGaWx0ZXJNYW5pZmVzdENvbmZpZ3VyYXRpb247XG5cbi8qKiBPYmplY3QgUGFnZSAqL1xuXG5leHBvcnQgdHlwZSBPYmplY3RQYWdlTWFuaWZlc3RTZXR0aW5ncyA9IEJhc2VNYW5pZmVzdFNldHRpbmdzICYge1xuXHRjb250ZW50Pzoge1xuXHRcdGhlYWRlcj86IHtcblx0XHRcdHZpc2libGU/OiBib29sZWFuO1xuXHRcdFx0YW5jaG9yQmFyVmlzaWJsZT86IGJvb2xlYW47XG5cdFx0XHRmYWNldHM/OiBDb25maWd1cmFibGVSZWNvcmQ8TWFuaWZlc3RIZWFkZXJGYWNldD47XG5cdFx0fTtcblx0XHRib2R5Pzoge1xuXHRcdFx0c2VjdGlvbnM/OiBDb25maWd1cmFibGVSZWNvcmQ8TWFuaWZlc3RTZWN0aW9uPjtcblx0XHR9O1xuXHR9O1xuXHRlZGl0YWJsZUhlYWRlckNvbnRlbnQ6IGJvb2xlYW47XG5cdHNlY3Rpb25MYXlvdXQ6IFwiVGFic1wiIHwgXCJQYWdlXCI7XG59O1xuXG4vKipcbiAqIEB0eXBlZGVmIE1hbmlmZXN0SGVhZGVyRmFjZXRcbiAqL1xuZXhwb3J0IHR5cGUgTWFuaWZlc3RIZWFkZXJGYWNldCA9IHtcblx0dHlwZT86IEhlYWRlckZhY2V0VHlwZTtcblx0bmFtZT86IHN0cmluZztcblx0dGVtcGxhdGU/OiBzdHJpbmc7XG5cdHBvc2l0aW9uPzogUG9zaXRpb247XG5cdHZpc2libGU/OiBDb21waWxlZEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbjtcblx0dGl0bGU/OiBzdHJpbmc7XG5cdHN1YlRpdGxlPzogc3RyaW5nO1xuXHRzdGFzaGVkPzogYm9vbGVhbjtcblx0ZmxleFNldHRpbmdzPzogRmxleFNldHRpbmdzO1xuXHRyZXF1ZXN0R3JvdXBJZD86IHN0cmluZztcblx0dGVtcGxhdGVFZGl0Pzogc3RyaW5nO1xufTtcblxuLyoqXG4gKiBAdHlwZWRlZiBNYW5pZmVzdFNlY3Rpb25cbiAqL1xuZXhwb3J0IHR5cGUgTWFuaWZlc3RTZWN0aW9uID0ge1xuXHR0aXRsZT86IHN0cmluZztcblx0aWQ/OiBzdHJpbmc7XG5cdG5hbWU/OiBzdHJpbmc7XG5cdHZpc2libGU/OiBDb21waWxlZEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbjtcblx0cG9zaXRpb24/OiBQb3NpdGlvbjtcblx0dGVtcGxhdGU/OiBzdHJpbmc7XG5cdHN1YlNlY3Rpb25zPzogUmVjb3JkPHN0cmluZywgTWFuaWZlc3RTdWJTZWN0aW9uPjtcblx0YWN0aW9ucz86IFJlY29yZDxzdHJpbmcsIE1hbmlmZXN0QWN0aW9uPjtcbn07XG5cbmV4cG9ydCB0eXBlIE1hbmlmZXN0U3ViU2VjdGlvbiA9IHtcblx0aWQ/OiBzdHJpbmc7XG5cdG5hbWU/OiBzdHJpbmc7XG5cdHRlbXBsYXRlPzogc3RyaW5nO1xuXHR0aXRsZT86IHN0cmluZztcblx0cG9zaXRpb24/OiBQb3NpdGlvbjtcblx0dmlzaWJsZT86IENvbXBpbGVkQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uO1xuXHRhY3Rpb25zPzogUmVjb3JkPHN0cmluZywgTWFuaWZlc3RBY3Rpb24+O1xuXHRzaWRlQ29udGVudD86IE1hbmlmZXN0U2lkZUNvbnRlbnQ7XG59O1xuXG4vKiogTGlzdCBSZXBvcnQgKi9cblxuZXhwb3J0IHR5cGUgTGlzdFJlcG9ydE1hbmlmZXN0U2V0dGluZ3MgPSBCYXNlTWFuaWZlc3RTZXR0aW5ncyAmIHtcblx0c3RpY2t5TXVsdGlUYWJIZWFkZXI/OiBib29sZWFuO1xuXHRpbml0aWFsTG9hZD86IGJvb2xlYW47XG5cdHZpZXdzPzogTXVsdGlwbGVWaWV3c0NvbmZpZ3VyYXRpb247XG5cdGtleVBlcmZvcm1hbmNlSW5kaWNhdG9ycz86IHtcblx0XHRba3BpTmFtZTogc3RyaW5nXTogS1BJQ29uZmlndXJhdGlvbjtcblx0fTtcblx0aGlkZUZpbHRlckJhcj86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBWaWV3UGF0aENvbmZpZ3VyYXRpb24gPSBTaW5nbGVWaWV3UGF0aENvbmZpZ3VyYXRpb24gfCBDb21iaW5lZFZpZXdQYXRoQ29uZmlndXJhdGlvbjtcblxuZXhwb3J0IHR5cGUgVmlld0NvbmZpZ3VyYXRpb24gPSBWaWV3UGF0aENvbmZpZ3VyYXRpb24gfCBDdXN0b21WaWV3VGVtcGxhdGVDb25maWd1cmF0aW9uO1xuXG5leHBvcnQgdHlwZSBDdXN0b21WaWV3VGVtcGxhdGVDb25maWd1cmF0aW9uID0ge1xuXHRrZXk/OiBzdHJpbmc7XG5cdGxhYmVsOiBzdHJpbmc7XG5cdHRlbXBsYXRlOiBzdHJpbmc7XG5cdHZpc2libGU/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBTaW5nbGVWaWV3UGF0aENvbmZpZ3VyYXRpb24gPSB7XG5cdGtlZXBQcmV2aW91c1ByZXNvbmFsaXphdGlvbj86IGJvb2xlYW47XG5cdGtleT86IHN0cmluZztcblx0ZW50aXR5U2V0Pzogc3RyaW5nO1xuXHRhbm5vdGF0aW9uUGF0aDogc3RyaW5nO1xuXHRjb250ZXh0UGF0aD86IHN0cmluZztcblx0dmlzaWJsZT86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIENvbWJpbmVkVmlld1BhdGhDb25maWd1cmF0aW9uID0ge1xuXHRwcmltYXJ5OiBTaW5nbGVWaWV3UGF0aENvbmZpZ3VyYXRpb25bXTtcblx0c2Vjb25kYXJ5OiBTaW5nbGVWaWV3UGF0aENvbmZpZ3VyYXRpb25bXTtcblx0ZGVmYXVsdFBhdGg/OiBcImJvdGhcIiB8IFwicHJpbWFyeVwiIHwgXCJzZWNvbmRhcnlcIjtcblx0a2V5Pzogc3RyaW5nO1xuXHR2aXNpYmxlPzogc3RyaW5nO1xufTtcblxuLyoqXG4gKiBAdHlwZWRlZiBNdWx0aXBsZVZpZXdzQ29uZmlndXJhdGlvblxuICovXG5leHBvcnQgdHlwZSBNdWx0aXBsZVZpZXdzQ29uZmlndXJhdGlvbiA9IHtcblx0cGF0aHM6IFZpZXdDb25maWd1cmF0aW9uW107XG5cdHNob3dDb3VudHM/OiBib29sZWFuO1xufTtcblxuLyoqIEZpbHRlciBDb25maWd1cmF0aW9uICovXG5cbi8qKiBAdHlwZWRlZiBGaWx0ZXJNYW5pZmVzdENvbmZpZ3VyYXRpb24gKi9cbmV4cG9ydCB0eXBlIEZpbHRlck1hbmlmZXN0Q29uZmlndXJhdGlvbiA9IHtcblx0ZmlsdGVyRmllbGRzPzogUmVjb3JkPHN0cmluZywgRmlsdGVyRmllbGRNYW5pZmVzdENvbmZpZ3VyYXRpb24+O1xuXHRuYXZpZ2F0aW9uUHJvcGVydGllcz86IHN0cmluZ1tdO1xuXHR1c2VTZW1hbnRpY0RhdGVSYW5nZT86IGJvb2xlYW47XG5cdGluaXRpYWxMYXlvdXQ/OiBzdHJpbmc7XG5cdGxheW91dD86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEZpbHRlckZpZWxkTWFuaWZlc3RDb25maWd1cmF0aW9uID0gUG9zaXRpb25hYmxlICYge1xuXHR0eXBlPzogc3RyaW5nO1xuXHRsYWJlbD86IHN0cmluZztcblx0dGVtcGxhdGU/OiBzdHJpbmc7XG5cdGF2YWlsYWJpbGl0eT86IEF2YWlsYWJpbGl0eVR5cGU7XG5cdHNldHRpbmdzPzogRmlsdGVyU2V0dGluZ3M7XG5cdHZpc3VhbEZpbHRlcj86IHZpc3VhbEZpbHRlckNvbmZpZ3VyYXRpb247XG59O1xuXG5leHBvcnQgdHlwZSB2aXN1YWxGaWx0ZXJDb25maWd1cmF0aW9uID0ge1xuXHR2YWx1ZUxpc3Q/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBPcGVyYXRvckNvbmZpZ3VyYXRpb24gPSB7XG5cdHBhdGg6IHN0cmluZztcblx0ZXF1YWxzPzogc3RyaW5nO1xuXHRjb250YWlucz86IHN0cmluZztcblx0ZXhjbHVkZTogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIERlZmF1bHRPcGVyYXRvciA9IHtcblx0b3BlcmF0b3I6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEZpbHRlclNldHRpbmdzID0ge1xuXHRvcGVyYXRvckNvbmZpZ3VyYXRpb24/OiBPcGVyYXRvckNvbmZpZ3VyYXRpb25bXTtcblx0ZGVmYXVsdFZhbHVlcz86IERlZmF1bHRPcGVyYXRvcltdO1xufTtcblxuLyoqIENoYXJ0IENvbmZpZ3VyYXRpb24gKi9cblxuZXhwb3J0IHR5cGUgQ2hhcnRQZXJzb25hbGl6YXRpb25NYW5pZmVzdFNldHRpbmdzID1cblx0fCBib29sZWFuXG5cdHwge1xuXHRcdFx0c29ydDogYm9vbGVhbjtcblx0XHRcdHR5cGU6IGJvb2xlYW47XG5cdFx0XHRpdGVtOiBib29sZWFuO1xuXHQgIH07XG5cbmV4cG9ydCB0eXBlIENoYXJ0TWFuaWZlc3RDb25maWd1cmF0aW9uID0ge1xuXHRjaGFydFNldHRpbmdzOiB7XG5cdFx0cGVyc29uYWxpemF0aW9uOiBDaGFydFBlcnNvbmFsaXphdGlvbk1hbmlmZXN0U2V0dGluZ3M7XG5cdH07XG59O1xuXG5leHBvcnQgdHlwZSBBY3Rpb25BZnRlckV4ZWN1dGlvbkNvbmZpZ3VyYXRpb24gPSB7XG5cdG5hdmlnYXRlVG9JbnN0YW5jZT86IGJvb2xlYW47XG5cdGVuYWJsZUF1dG9TY3JvbGw/OiBib29sZWFuO1xufTtcblxuLyoqIFRhYmxlIENvbmZpZ3VyYXRpb24gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiBNYW5pZmVzdEFjdGlvblxuICovXG5leHBvcnQgdHlwZSBNYW5pZmVzdEFjdGlvbiA9IHtcblx0bWVudT86IHN0cmluZ1tdO1xuXHR2aXNpYmxlPzogc3RyaW5nO1xuXHRlbmFibGVkPzogc3RyaW5nO1xuXHRwb3NpdGlvbj86IFBvc2l0aW9uO1xuXHRwcmVzcz86IHN0cmluZztcblx0dGV4dD86IHN0cmluZztcblx0X19ub1dyYXA/OiBib29sZWFuO1xuXHRlbmFibGVPblNlbGVjdD86IHN0cmluZztcblx0ZGVmYXVsdFZhbHVlc0Z1bmN0aW9uPzogc3RyaW5nO1xuXHRyZXF1aXJlc1NlbGVjdGlvbj86IGJvb2xlYW47XG5cdGFmdGVyRXhlY3V0aW9uPzogQWN0aW9uQWZ0ZXJFeGVjdXRpb25Db25maWd1cmF0aW9uO1xuXHRpbmxpbmU/OiBib29sZWFuO1xuXHRkZXRlcm1pbmluZz86IGJvb2xlYW47XG5cdGZhY2V0TmFtZT86IHN0cmluZztcblx0Y29tbWFuZD86IHN0cmluZyB8IHVuZGVmaW5lZDtcbn07XG5cbmV4cG9ydCB0eXBlIE1hbmlmZXN0VGFibGVDb2x1bW5PdmVycmlkZSA9IFBvc2l0aW9uYWJsZSAmIHtcblx0d2lkdGg/OiBzdHJpbmc7XG5cdGltcG9ydGFuY2U/OiBJbXBvcnRhbmNlO1xuXHRob3Jpem9udGFsQWxpZ24/OiBIb3Jpem9udGFsQWxpZ247XG5cdGFmdGVyRXhlY3V0aW9uPzogQWN0aW9uQWZ0ZXJFeGVjdXRpb25Db25maWd1cmF0aW9uO1xuXHRzZXR0aW5ncz86IFRhYmxlQ29sdW1uU2V0dGluZ3M7XG5cdGZvcm1hdE9wdGlvbnM/OiBGb3JtYXRPcHRpb25zVHlwZTtcblx0c2hvd0RhdGFGaWVsZHNMYWJlbD86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBNYW5pZmVzdFRhYmxlQ29sdW1uID0gUG9zaXRpb25hYmxlICYge1xuXHRoZWFkZXI6IHN0cmluZztcblx0d2lkdGg/OiBzdHJpbmc7XG5cdGltcG9ydGFuY2U/OiBJbXBvcnRhbmNlO1xuXHRzaG93RGF0YUZpZWxkc0xhYmVsPzogYm9vbGVhbjtcblx0dHlwZT86IHN0cmluZztcblx0aG9yaXpvbnRhbEFsaWduPzogSG9yaXpvbnRhbEFsaWduO1xuXHR0ZW1wbGF0ZTogc3RyaW5nO1xuXHRhZnRlckV4ZWN1dGlvbj86IEFjdGlvbkFmdGVyRXhlY3V0aW9uQ29uZmlndXJhdGlvbjtcblx0YXZhaWxhYmlsaXR5PzogQXZhaWxhYmlsaXR5VHlwZTtcblx0c2V0dGluZ3M/OiBUYWJsZUNvbHVtblNldHRpbmdzO1xuXHRmb3JtYXRPcHRpb25zPzogRm9ybWF0T3B0aW9uc1R5cGU7XG5cdHByb3BlcnRpZXM/OiBzdHJpbmdbXTtcbn07XG5cbmV4cG9ydCB0eXBlIFRhYmxlTWFuaWZlc3RDb25maWd1cmF0aW9uID0ge1xuXHR0YWJsZVNldHRpbmdzPzogVGFibGVNYW5pZmVzdFNldHRpbmdzQ29uZmlndXJhdGlvbjtcblx0YWN0aW9ucz86IFJlY29yZDxzdHJpbmcsIE1hbmlmZXN0QWN0aW9uPjtcblx0Y29sdW1ucz86IFJlY29yZDxzdHJpbmcsIE1hbmlmZXN0VGFibGVDb2x1bW4gfCBNYW5pZmVzdFRhYmxlQ29sdW1uT3ZlcnJpZGU+O1xufTtcblxuZXhwb3J0IGVudW0gU2VsZWN0aW9uTW9kZSB7XG5cdEF1dG8gPSBcIkF1dG9cIixcblx0Tm9uZSA9IFwiTm9uZVwiLFxuXHRNdWx0aSA9IFwiTXVsdGlcIixcblx0U2luZ2xlID0gXCJTaW5nbGVcIlxufVxuXG5leHBvcnQgdHlwZSBUYWJsZVBlcnNvbmFsaXphdGlvbkNvbmZpZ3VyYXRpb24gPVxuXHR8IGJvb2xlYW5cblx0fCB7XG5cdFx0XHRzb3J0OiBib29sZWFuO1xuXHRcdFx0Y29sdW1uOiBib29sZWFuO1xuXHRcdFx0ZmlsdGVyOiBib29sZWFuO1xuXHRcdFx0Z3JvdXA6IGJvb2xlYW47XG5cdFx0XHRhZ2dyZWdhdGU6IGJvb2xlYW47XG5cdCAgfTtcblxuZXhwb3J0IHR5cGUgVGFibGVNYW5pZmVzdFNldHRpbmdzQ29uZmlndXJhdGlvbiA9IHtcblx0Y3JlYXRpb25Nb2RlPzoge1xuXHRcdGRpc2FibGVBZGRSb3dCdXR0b25Gb3JFbXB0eURhdGE/OiBib29sZWFuO1xuXHRcdGN1c3RvbVZhbGlkYXRpb25GdW5jdGlvbj86IHN0cmluZztcblx0XHRjcmVhdGVBdEVuZD86IGJvb2xlYW47XG5cdFx0bmFtZT86IENyZWF0aW9uTW9kZTtcblx0XHRpbmxpbmVDcmVhdGlvblJvd0NvdW50PzogbnVtYmVyO1xuXHR9O1xuXHRlbmFibGVFeHBvcnQ/OiBib29sZWFuO1xuXHRxdWlja1ZhcmlhbnRTZWxlY3Rpb24/OiB7XG5cdFx0cGF0aHM6IFtcblx0XHRcdHtcblx0XHRcdFx0YW5ub3RhdGlvblBhdGg6IHN0cmluZztcblx0XHRcdH1cblx0XHRdO1xuXHRcdGhpZGVUYWJsZVRpdGxlPzogYm9vbGVhbjtcblx0XHRzaG93Q291bnRzPzogYm9vbGVhbjtcblx0fTtcblx0cGVyc29uYWxpemF0aW9uPzogVGFibGVQZXJzb25hbGl6YXRpb25Db25maWd1cmF0aW9uO1xuXHQvKipcblx0ICogRGVmaW5lcyBob3cgbWFueSBpdGVtcyBpbiBhIHRhYmxlIGNhbiBiZSBzZWxlY3RlZC4gWW91IGhhdmUgdGhlIGZvbGxvd2luZyBvcHRpb25zOlxuXHQgKiA9PiBieSBkZWZpbmluZyAnTm9uZScgeW91IGNhbiBmdWxseSBkaXNhYmxlIHRoZSBsaXN0IHNlbGVjdGlvblxuXHQgKiA9PiBieSBkZWZpbmluZyAnU2luZ2xlJyB5b3UgYWxsb3cgb25seSBvbmUgaXRlbSB0byBiZSBzZWxlY3RlZFxuXHQgKiA9PiBieSBkZWZpbmluZyAnTXVsdGknIHlvdSBhbGxvdyBzZXZlcmFsIGl0ZW1zIHRvIGJlIHNlbGVjdGVkXG5cdCAqID0+IGJ5IHVzaW5nICdBdXRvJyB5b3UgbGVhdmUgdGhlIGRlZmF1bHQgZGVmaW5pdGlvbiAnTm9uZScsIGV4Y2VwdCBpZiB0aGVyZSBpcyBhbiBhY3Rpb24gdGhhdCByZXF1aXJlcyBhIHNlbGVjdGlvbiAoc3VjaCBhcyBkZWxldGluZywgb3IgSUJOKVxuXHQgKi9cblx0c2VsZWN0aW9uTW9kZT86IFNlbGVjdGlvbk1vZGU7XG5cdHR5cGU/OiBUYWJsZVR5cGU7XG5cdGNvbmRlbnNlZFRhYmxlTGF5b3V0PzogYm9vbGVhbjtcblx0c2VsZWN0QWxsPzogYm9vbGVhbjtcblx0c2VsZWN0aW9uTGltaXQ/OiBudW1iZXI7XG5cdGVuYWJsZVBhc3RlPzogYm9vbGVhbjtcblx0ZW5hYmxlRnVsbFNjcmVlbj86IGJvb2xlYW47XG5cdGVuYWJsZU1hc3NFZGl0PzogYm9vbGVhbjtcbn07XG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { FlexSettings, HeaderFacetType } from "sap/fe/core/converters/controls/ObjectPage/HeaderFacet";
|
|
2
|
-
import {
|
|
3
|
-
import { TableType } from "./controls/Common/Table";
|
|
4
|
-
import { ConfigurableRecord, Position, Positionable } from "./helpers/ConfigurableObject";
|
|
1
|
+
import type { FlexSettings, HeaderFacetType } from "sap/fe/core/converters/controls/ObjectPage/HeaderFacet";
|
|
2
|
+
import type { CompiledBindingToolkitExpression } from "sap/fe/core/helpers/BindingToolkit";
|
|
3
|
+
import type { TableType } from "./controls/Common/Table";
|
|
4
|
+
import type { ConfigurableRecord, Position, Positionable } from "./helpers/ConfigurableObject";
|
|
5
5
|
|
|
6
6
|
export enum TemplateType {
|
|
7
7
|
ListReport = "ListReport",
|
|
@@ -183,7 +183,7 @@ export type ControlManifestConfiguration =
|
|
|
183
183
|
| FormManifestConfiguration
|
|
184
184
|
| FilterManifestConfiguration;
|
|
185
185
|
|
|
186
|
-
/** Object Page
|
|
186
|
+
/** Object Page */
|
|
187
187
|
|
|
188
188
|
export type ObjectPageManifestSettings = BaseManifestSettings & {
|
|
189
189
|
content?: {
|
|
@@ -208,7 +208,7 @@ export type ManifestHeaderFacet = {
|
|
|
208
208
|
name?: string;
|
|
209
209
|
template?: string;
|
|
210
210
|
position?: Position;
|
|
211
|
-
visible?:
|
|
211
|
+
visible?: CompiledBindingToolkitExpression;
|
|
212
212
|
title?: string;
|
|
213
213
|
subTitle?: string;
|
|
214
214
|
stashed?: boolean;
|
|
@@ -224,7 +224,7 @@ export type ManifestSection = {
|
|
|
224
224
|
title?: string;
|
|
225
225
|
id?: string;
|
|
226
226
|
name?: string;
|
|
227
|
-
visible?:
|
|
227
|
+
visible?: CompiledBindingToolkitExpression;
|
|
228
228
|
position?: Position;
|
|
229
229
|
template?: string;
|
|
230
230
|
subSections?: Record<string, ManifestSubSection>;
|
|
@@ -237,12 +237,12 @@ export type ManifestSubSection = {
|
|
|
237
237
|
template?: string;
|
|
238
238
|
title?: string;
|
|
239
239
|
position?: Position;
|
|
240
|
-
visible?:
|
|
240
|
+
visible?: CompiledBindingToolkitExpression;
|
|
241
241
|
actions?: Record<string, ManifestAction>;
|
|
242
242
|
sideContent?: ManifestSideContent;
|
|
243
243
|
};
|
|
244
244
|
|
|
245
|
-
/** List Report
|
|
245
|
+
/** List Report */
|
|
246
246
|
|
|
247
247
|
export type ListReportManifestSettings = BaseManifestSettings & {
|
|
248
248
|
stickyMultiTabHeader?: boolean;
|
|
@@ -290,9 +290,9 @@ export type MultipleViewsConfiguration = {
|
|
|
290
290
|
showCounts?: boolean;
|
|
291
291
|
};
|
|
292
292
|
|
|
293
|
-
/** Filter Configuration
|
|
293
|
+
/** Filter Configuration */
|
|
294
294
|
|
|
295
|
-
/** @typedef FilterManifestConfiguration
|
|
295
|
+
/** @typedef FilterManifestConfiguration */
|
|
296
296
|
export type FilterManifestConfiguration = {
|
|
297
297
|
filterFields?: Record<string, FilterFieldManifestConfiguration>;
|
|
298
298
|
navigationProperties?: string[];
|
|
@@ -330,7 +330,7 @@ export type FilterSettings = {
|
|
|
330
330
|
defaultValues?: DefaultOperator[];
|
|
331
331
|
};
|
|
332
332
|
|
|
333
|
-
/** Chart Configuration
|
|
333
|
+
/** Chart Configuration */
|
|
334
334
|
|
|
335
335
|
export type ChartPersonalizationManifestSettings =
|
|
336
336
|
| boolean
|
|
@@ -351,14 +351,14 @@ export type ActionAfterExecutionConfiguration = {
|
|
|
351
351
|
enableAutoScroll?: boolean;
|
|
352
352
|
};
|
|
353
353
|
|
|
354
|
-
/** Table Configuration
|
|
354
|
+
/** Table Configuration */
|
|
355
355
|
|
|
356
356
|
/**
|
|
357
357
|
* @typedef ManifestAction
|
|
358
358
|
*/
|
|
359
359
|
export type ManifestAction = {
|
|
360
360
|
menu?: string[];
|
|
361
|
-
visible?: string
|
|
361
|
+
visible?: string;
|
|
362
362
|
enabled?: string;
|
|
363
363
|
position?: Position;
|
|
364
364
|
press?: string;
|