@sap/open.fe 1.94.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/LICENSE.txt +23 -0
- package/README.md +10 -0
- package/package.json +21 -0
- package/packages/sap.fe.common/src/sap/fe/common/.library +36 -0
- package/packages/sap.fe.common/src/sap/fe/common/.theming +6 -0
- package/packages/sap.fe.common/src/sap/fe/common/MessageButton-dbg.js +1378 -0
- package/packages/sap.fe.common/src/sap/fe/common/MessageButton.js +6 -0
- package/packages/sap.fe.common/src/sap/fe/common/MessageFilter-dbg.js +36 -0
- package/packages/sap.fe.common/src/sap/fe/common/MessageFilter.js +6 -0
- package/packages/sap.fe.common/src/sap/fe/common/MessagePopover-dbg.js +56 -0
- package/packages/sap.fe.common/src/sap/fe/common/MessagePopover.js +6 -0
- package/packages/sap.fe.common/src/sap/fe/common/library-dbg.js +41 -0
- package/packages/sap.fe.common/src/sap/fe/common/library-h2-preload.js +18 -0
- package/packages/sap.fe.common/src/sap/fe/common/library-h2-preload.js.map +9 -0
- package/packages/sap.fe.common/src/sap/fe/common/library-preload.js +68 -0
- package/packages/sap.fe.common/src/sap/fe/common/library-preload.js.map +9 -0
- package/packages/sap.fe.common/src/sap/fe/common/library.js +6 -0
- package/packages/sap.fe.common/src/sap/fe/common/manifest.json +40 -0
- package/packages/sap.fe.common/src/sap/fe/common/resources.json +186 -0
- package/packages/sap.fe.common/test/sap/fe/common/designtime/api.json +1 -0
- package/packages/sap.fe.common/test/sap/fe/common/designtime/apiref/api.json +1 -0
- package/packages/sap.fe.common/test/sap/fe/common/designtime/codeassistance/Library.jsmeta.json +1 -0
- package/packages/sap.fe.common/test/sap/fe/common/designtime/codeassistance/Library.jstemplates.json +1 -0
- package/packages/sap.fe.common/test/sap/fe/common/designtime/codeassistance/Library.xmlmeta.json +1 -0
- package/packages/sap.fe.common/test/sap/fe/common/designtime/codeassistance/Library.xmltemplates.json +1 -0
- package/packages/sap.fe.common/test/sap/fe/common/relnotes/changes-1.91.json +23 -0
- package/packages/sap.fe.common/test/sap/fe/common/relnotes/changes-1.94.json +23 -0
- package/packages/sap.fe.core/src/sap/fe/core/.library +60 -0
- package/packages/sap.fe.core/src/sap/fe/core/.supportrc +4 -0
- package/packages/sap.fe.core/src/sap/fe/core/.theming +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/AnnotationHelper-dbg.js +409 -0
- package/packages/sap.fe.core/src/sap/fe/core/AnnotationHelper.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/AppComponent-dbg.js +433 -0
- package/packages/sap.fe.core/src/sap/fe/core/AppComponent.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/AppStateHandler-dbg.js +184 -0
- package/packages/sap.fe.core/src/sap/fe/core/AppStateHandler.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/BaseController-dbg.js +65 -0
- package/packages/sap.fe.core/src/sap/fe/core/BaseController.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/BusyLocker-dbg.js +112 -0
- package/packages/sap.fe.core/src/sap/fe/core/BusyLocker.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/CommonUtils-dbg.js +2246 -0
- package/packages/sap.fe.core/src/sap/fe/core/CommonUtils.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/ExtensionAPI-dbg.js +269 -0
- package/packages/sap.fe.core/src/sap/fe/core/ExtensionAPI.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/PageController-dbg.js +120 -0
- package/packages/sap.fe.core/src/sap/fe/core/PageController.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/RouterProxy-dbg.js +822 -0
- package/packages/sap.fe.core/src/sap/fe/core/RouterProxy.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/Synchronization-dbg.js +38 -0
- package/packages/sap.fe.core/src/sap/fe/core/Synchronization.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/TemplateComponent-dbg.js +152 -0
- package/packages/sap.fe.core/src/sap/fe/core/TemplateComponent.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/TemplateModel-dbg.js +57 -0
- package/packages/sap.fe.core/src/sap/fe/core/TemplateModel.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/TransactionHelper-dbg.js +1584 -0
- package/packages/sap.fe.core/src/sap/fe/core/TransactionHelper.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/actions/draft-dbg.js +584 -0
- package/packages/sap.fe.core/src/sap/fe/core/actions/draft.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/actions/messageHandling-dbg.js +439 -0
- package/packages/sap.fe.core/src/sap/fe/core/actions/messageHandling.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/actions/nonDraft-dbg.js +23 -0
- package/packages/sap.fe.core/src/sap/fe/core/actions/nonDraft.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/actions/operations-dbg.js +1174 -0
- package/packages/sap.fe.core/src/sap/fe/core/actions/operations.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/actions/sticky-dbg.js +121 -0
- package/packages/sap.fe.core/src/sap/fe/core/actions/sticky.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata-dbg.js +75 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/EditFlow-dbg.js +1667 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/EditFlow.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/IntentBasedNavigation-dbg.js +57 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalEditFlow-dbg.js +501 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalEditFlow.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation-dbg.js +707 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalRouting-dbg.js +989 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalRouting.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/KPIManagement-dbg.js +417 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/KPIManagement.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/KPIManagement.ts +399 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MessageHandler-dbg.js +116 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MessageHandler.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/PageReady-dbg.js +403 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/PageReady.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/PageReady.ts +350 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Paginator-dbg.js +135 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Paginator.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Placeholder-dbg.js +287 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Placeholder.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Routing-dbg.js +109 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Routing.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/RoutingListener-dbg.js +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/RoutingListener.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Share-dbg.js +258 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Share.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/SideEffects-dbg.js +711 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/SideEffects.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/SideEffects.ts +692 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/ViewState-dbg.js +615 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/ViewState.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +76 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/ActionPartial.fragment.xml +91 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/CommandExecution-dbg.js +71 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/CommandExecution.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/ConditionalWrapper-dbg.js +82 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/ConditionalWrapper.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/CustomQuickViewPage-dbg.js +127 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/CustomQuickViewPage.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossDraft.fragment.xml +12 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler-dbg.js +122 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/FieldWrapper-dbg.js +150 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/FieldWrapper.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/FilterBar-dbg.js +162 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/FilterBar.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/FormElementWrapper-dbg.js +47 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/FormElementWrapper.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +61 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/FilterContainer-dbg.js +122 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/FilterContainer.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/VisualFilter-dbg.js +209 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/VisualFilter.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/VisualFilterContainer-dbg.js +148 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils-dbg.js +319 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/ConverterContext-dbg.js +500 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/ConverterContext.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/ConverterContext.ts +460 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings-dbg.js +90 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings.ts +431 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestWrapper-dbg.js +404 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestWrapper.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestWrapper.ts +322 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter-dbg.js +1294 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter.ts +1172 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/TemplateConverter-dbg.js +100 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/TemplateConverter.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/TemplateConverter.ts +126 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField-dbg.js +335 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField.ts +306 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/common/AnnotationConverter-dbg.js +1692 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/common/AnnotationConverter.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Action-dbg.js +349 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Action.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Action.ts +353 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Chart-dbg.js +206 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Chart.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Chart.ts +202 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Criticality-dbg.js +50 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Criticality.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Criticality.ts +33 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/DataVisualization-dbg.js +276 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/DataVisualization.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +296 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form-dbg.js +222 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form.ts +241 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/KPI-dbg.js +181 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/KPI.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/KPI.ts +220 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table-dbg.js +2100 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table.ts +2446 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/FilterBar-dbg.js +499 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +545 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/VisualFilters-dbg.js +335 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +316 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet-dbg.js +495 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +502 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ObjectPage/SubSection-dbg.js +674 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +711 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Aggregation-dbg.js +204 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Aggregation.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Aggregation.ts +176 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/BindingHelper-dbg.js +96 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/BindingHelper.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/BindingHelper.ts +76 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/ConfigurableObject-dbg.js +217 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/ConfigurableObject.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +211 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/ID-dbg.js +90 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/ID.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/ID.ts +45 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/IssueManager-dbg.js +61 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/IssueManager.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/IssueManager.ts +41 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Key-dbg.js +86 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Key.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Key.ts +49 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/SelectionVariantHelper-dbg.js +93 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/SelectionVariantHelper.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/SelectionVariantHelper.ts +92 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/objectPage/FormMenuActions-dbg.js +164 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/objectPage/FormMenuActions.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/objectPage/FormMenuActions.ts +160 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction-dbg.js +427 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +414 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ListReportConverter-dbg.js +552 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ListReportConverter.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ListReportConverter.ts +601 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ObjectPageConverter-dbg.js +320 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ObjectPageConverter.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +314 -0
- package/packages/sap.fe.core/src/sap/fe/core/designtime/AppComponent-dbg.designtime.js +93 -0
- package/packages/sap.fe.core/src/sap/fe/core/designtime/AppComponent.designtime.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/designtime/library-preload.designtime.js +8 -0
- package/packages/sap.fe.core/src/sap/fe/core/designtime/library-preload.designtime.js.map +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/formatters/CriticalityFormatter-dbg.js +77 -0
- package/packages/sap.fe.core/src/sap/fe/core/formatters/CriticalityFormatter.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/formatters/CriticalityFormatter.ts +58 -0
- package/packages/sap.fe.core/src/sap/fe/core/formatters/FPMFormatter-dbg.js +51 -0
- package/packages/sap.fe.core/src/sap/fe/core/formatters/FPMFormatter.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/formatters/FPMFormatter.ts +41 -0
- package/packages/sap.fe.core/src/sap/fe/core/formatters/KPIFormatter-dbg.js +103 -0
- package/packages/sap.fe.core/src/sap/fe/core/formatters/KPIFormatter.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/formatters/KPIFormatter.ts +88 -0
- package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatter-dbg.js +100 -0
- package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatter.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatter.ts +80 -0
- package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatterTypes-dbg.js +23 -0
- package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatterTypes.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatterTypes.ts +7 -0
- package/packages/sap.fe.core/src/sap/fe/core/formatters/ValueFormatter-dbg.js +162 -0
- package/packages/sap.fe.core/src/sap/fe/core/formatters/ValueFormatter.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/formatters/ValueFormatter.ts +130 -0
- package/packages/sap.fe.core/src/sap/fe/core/fpm/Component-dbg.js +58 -0
- package/packages/sap.fe.core/src/sap/fe/core/fpm/Component.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/fpm/manifest.json +64 -0
- package/packages/sap.fe.core/src/sap/fe/core/fpm/resources.json +18 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/AnnotationEnum-dbg.js +49 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/AnnotationEnum.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/AnnotationEnum.ts +18 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/BindingExpression-dbg.js +1667 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/BindingExpression.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/BindingExpression.ts +1765 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ClassSupport-dbg.js +314 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ClassSupport.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ClassSupport.ts +232 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/DynamicAnnotationPathHelper-dbg.js +62 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/EditState-dbg.js +92 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/EditState.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ExcelFormatHelper-dbg.js +53 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ExcelFormatHelper.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/FPMHelper-dbg.js +64 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/FPMHelper.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ModelHelper-dbg.js +150 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ModelHelper.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/PasteHelper-dbg.js +130 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/PasteHelper.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/SemanticDateOperators-dbg.js +327 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/SemanticDateOperators.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/SemanticKeyHelper-dbg.js +78 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/SemanticKeyHelper.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/StableIdHelper-dbg.js +267 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/StableIdHelper.js +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/StableIdHelper.ts +228 -0
- package/packages/sap.fe.core/src/sap/fe/core/jsx-runtime/jsx-dbg.js +75 -0
- package/packages/sap.fe.core/src/sap/fe/core/jsx-runtime/jsx.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/jsx-runtime/jsx.ts +83 -0
- package/packages/sap.fe.core/src/sap/fe/core/jsx-runtime/jsxs-dbg.js +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/jsx-runtime/jsxs.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/jsx-runtime/jsxs.ts +3 -0
- package/packages/sap.fe.core/src/sap/fe/core/library-dbg.js +429 -0
- package/packages/sap.fe.core/src/sap/fe/core/library-h2-preload.js +123 -0
- package/packages/sap.fe.core/src/sap/fe/core/library-h2-preload.js.map +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/library-preload.js +1201 -0
- package/packages/sap.fe.core/src/sap/fe/core/library-preload.js.map +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/library-preload.support.js +148 -0
- package/packages/sap.fe.core/src/sap/fe/core/library-preload.support.js.map +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/library.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/library.support.js +32 -0
- package/packages/sap.fe.core/src/sap/fe/core/manifest.json +121 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle.properties +417 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ar.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_bg.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ca.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_cs.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_cy.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_da.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_de.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_el.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_GB.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_sappsd.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_saprigi.properties +275 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_saptrc.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_es.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_es_MX.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_et.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fi.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fr.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fr_CA.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hi.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hr.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hu.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_id.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_it.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_iw.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ja.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_kk.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ko.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_lt.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_lv.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ms.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_nl.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_no.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pl.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pt.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pt_PT.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ro.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ru.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sh.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sk.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sl.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sv.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_th.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_tr.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_uk.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_vi.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_zh_CN.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_zh_TW.properties +273 -0
- package/packages/sap.fe.core/src/sap/fe/core/resources.json +4087 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/AsyncComponentServiceFactory-dbg.js +106 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/AsyncComponentServiceFactory.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +58 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/CacheHandlerServiceFactory-dbg.js +205 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/CacheHandlerServiceFactory.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/EnvironmentServiceFactory-dbg.js +128 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/EnvironmentServiceFactory.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/EnvironmentServiceFactory.ts +71 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/NavigationServiceFactory-dbg.js +303 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/NavigationServiceFactory.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/ResourceModelServiceFactory-dbg.js +84 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/ResourceModelServiceFactory.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/RoutingServiceFactory-dbg.js +1099 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/RoutingServiceFactory.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/ShellServicesFactory-dbg.js +819 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/ShellServicesFactory.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/ShellServicesFactory.ts +720 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/SideEffectsServiceFactory-dbg.js +731 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/SideEffectsServiceFactory.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/SideEffectsServiceFactory.ts +668 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +471 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/TemplatedViewServiceFactory.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/view/TemplatingErrorPage-dbg.controller.js +12 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/view/TemplatingErrorPage.view.xml +8 -0
- package/packages/sap.fe.core/src/sap/fe/core/support/AnnotationIssue.support.js +38 -0
- package/packages/sap.fe.core/src/sap/fe/core/support/AnnotationIssue.support.ts +20 -0
- package/packages/sap.fe.core/src/sap/fe/core/support/CollectionFacetMissingID.support.js +38 -0
- package/packages/sap.fe.core/src/sap/fe/core/support/CollectionFacetMissingID.support.ts +18 -0
- package/packages/sap.fe.core/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.js +38 -0
- package/packages/sap.fe.core/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.ts +18 -0
- package/packages/sap.fe.core/src/sap/fe/core/support/CommonHelper-dbg.js +71 -0
- package/packages/sap.fe.core/src/sap/fe/core/support/CommonHelper.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/support/CommonHelper.ts +67 -0
- package/packages/sap.fe.core/src/sap/fe/core/support/Diagnostics-dbg.js +73 -0
- package/packages/sap.fe.core/src/sap/fe/core/support/Diagnostics.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/support/Diagnostics.ts +66 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/CriticalityFormatters-dbg.js +156 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/CriticalityFormatters.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/CriticalityFormatters.ts +226 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/DataFieldFormatters-dbg.js +77 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/DataFieldFormatters.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/DataFieldFormatters.ts +54 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/DataModelPathHelper-dbg.js +444 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/DataModelPathHelper.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/DataModelPathHelper.ts +428 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/EntitySetHelper-dbg.js +33 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/EntitySetHelper.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/EntitySetHelper.ts +13 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/FieldControlHelper-dbg.js +89 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/FieldControlHelper.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/FieldControlHelper.ts +53 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/FilterHelper-dbg.js +331 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/FilterHelper.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/FilterHelper.ts +310 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/FilterTemplating-dbg.js +66 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/FilterTemplating.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/FilterTemplating.ts +39 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/PropertyFormatters-dbg.js +126 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/PropertyFormatters.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/PropertyFormatters.ts +86 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/PropertyHelper-dbg.js +303 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/PropertyHelper.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/PropertyHelper.ts +209 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/UIFormatters-dbg.js +525 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/UIFormatters.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/UIFormatters.ts +489 -0
- package/packages/sap.fe.core/src/sap/fe/core/type/Email-dbg.js +20 -0
- package/packages/sap.fe.core/src/sap/fe/core/type/Email.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/type/Email.ts +18 -0
- package/packages/sap.fe.core/test/sap/fe/core/designtime/api.json +1 -0
- package/packages/sap.fe.core/test/sap/fe/core/designtime/apiref/api.json +1 -0
- package/packages/sap.fe.core/test/sap/fe/core/designtime/codeassistance/Library.jsmeta.json +1 -0
- package/packages/sap.fe.core/test/sap/fe/core/designtime/codeassistance/Library.jstemplates.json +1 -0
- package/packages/sap.fe.core/test/sap/fe/core/designtime/codeassistance/Library.xmlmeta.json +1 -0
- package/packages/sap.fe.core/test/sap/fe/core/designtime/codeassistance/Library.xmltemplates.json +1 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/Component.js +56 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/controller/App.controller.js +252 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/controller/BaseController.js +46 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/controller/ControllerExtensions.controller.js +380 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/controller/CustomElements.controller.js +380 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/controller/MacrosPage.controller.js +382 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/controller/Overview.controller.js +99 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/controller/Topic.controller.js +71 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/controls/FileEditor.js +401 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/css/FileEditor.css +8 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/css/codesample.css +172 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/css/markdown-styles.css +3 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/css/style.css +48 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/css/topic.css +176 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/index.html +62 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/manifest.json +132 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/model/ControllerExtensionNavigationModel.js +174 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/model/CustomElementNavigationModel.js +327 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/model/ExploreSettingsModel.js +12 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/model/MacroNavigationModel.js +709 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/model/OverviewNavigationModel.js +15 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/scripts/boot.js +68 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/service-worker.js +100 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/template/.gitignore.tmpl +0 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/template/.npmrc.tmpl +0 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/template/README.md +43 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/template/package.json +31 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/template/ui5-local.yaml +25 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/template/ui5.yaml +25 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/template/webapp/Component.js +9 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/template/webapp/i18n/i18n.properties +9 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/template/webapp/index.html +28 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/template/webapp/manifest.json +165 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/FCL/FclNavigationButtons/Component.js +31 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/FCL/FclNavigationButtons/localService/Incidents.json +56 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/FCL/FclNavigationButtons/localService/service.cds +32 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/FCL/FclNavigationButtons/manifest.json +109 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/FCL/FclNavigationButtons/myViewTest.controller.js +6 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/FCL/FclNavigationButtons/myViewTest.view.xml +30 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/FclNavigationButtons.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/buildingBlockOverview.html +24 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/buildingBlockOverview.md +23 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartDefault/ChartDefault.controller.js +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartDefault/ChartDefault.view.xml +21 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartDefault/Component.js +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartDefault/localService/ChildEntity.json +686 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartDefault/localService/CreditLimitDetails.json +154 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartDefault/localService/RootEntity.json +252 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartDefault/localService/service.cds +122 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartDefault/manifest.json +69 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartQualifier/ChartQualifier.controller.js +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartQualifier/ChartQualifier.view.xml +20 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartQualifier/Component.js +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartQualifier/localService/ChildEntity.json +686 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartQualifier/localService/CreditLimitDetails.json +154 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartQualifier/localService/RootEntity.json +252 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartQualifier/localService/service.cds +122 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartQualifier/manifest.json +69 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartSelectionMode/ChartSelectionMode.controller.js +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartSelectionMode/ChartSelectionMode.view.xml +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartSelectionMode/Component.js +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartSelectionMode/localService/ChildEntity.json +686 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartSelectionMode/localService/CreditLimitDetails.json +154 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartSelectionMode/localService/RootEntity.json +277 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartSelectionMode/localService/service.cds +122 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartSelectionMode/manifest.json +69 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chartDefault.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chartQualifier.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chartSelectionMode.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldDisplay/Component.js +34 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldDisplay/FieldDisplay.view.xml +64 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldDisplay/localService/ChildEntity.json +14 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldDisplay/localService/FieldDisplay.cds +94 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldDisplay/localService/RootEntity.json +23 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldDisplay/localService/ValueHelpEntity.js +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldDisplay/manifest.json +68 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEdit/Component.js +33 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEdit/FieldEdit.controller.js +10 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEdit/FieldEdit.view.xml +101 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEdit/localService/ChildEntity.json +14 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEdit/localService/FieldControlValueHelpEntity.json +14 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEdit/localService/FieldEdit.cds +77 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEdit/localService/RootEntity.json +14 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEdit/localService/localAnnotations.xml +38 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEdit/manifest.json +75 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEvents/Component.js +33 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEvents/FieldEvents.controller.js +23 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEvents/FieldEvents.view.xml +20 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEvents/localService/Entities.json +6 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEvents/localService/service.cds +6 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEvents/manifest.json +68 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/Component.js +33 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/FieldFormatOptions.controller.js +10 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/FieldFormatOptions.view.xml +132 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/localService/Currencies.json +29 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/localService/Currencies_texts.json +38 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/localService/FieldFormatOptions.cds +58 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/localService/Languages.json +17 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/localService/Languages_texts.json +38 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/localService/RootEntity.json +13 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/localService/UnitOfMeasure.json +12 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/manifest.json +68 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldNavProp/Component.js +33 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldNavProp/FieldNavProp.controller.js +10 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldNavProp/FieldNavProp.view.xml +114 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldNavProp/localService/FieldNavProp.cds +161 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldNavProp/localService/NavProp1.json +25 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldNavProp/localService/NavProp2.json +7 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldNavProp/localService/RootEntity.json +14 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldNavProp/localService/ValueHelpEntity.json +14 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldNavProp/manifest.json +68 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/fieldDisplay.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/fieldEdit.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/fieldEvents.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/fieldFormatOptions.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/fieldNavProp.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/Component.js +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/FilterBarDefault.controller.js +35 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/FilterBarDefault.view.xml +58 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/localService/ChildEntity.json +686 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/localService/CreditLimitDetails.json +154 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/localService/RootEntity.json +102 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/localService/ValueHelpEntity.js +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/localService/service.cds +96 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/manifest.json +68 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBarDefault.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/formElement/formElementCustomField/Component.js +33 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/formElement/formElementCustomField/FormElementCustomField.view.xml +49 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/formElement/formElementCustomField/localService/FormElementCustomField.cds +19 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/formElement/formElementCustomField/localService/RootEntity.json +13 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/formElement/formElementCustomField/manifest.json +68 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/formElement/formElementLabel/Component.js +33 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/formElement/formElementLabel/FormElementLabel.view.xml +32 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/formElement/formElementLabel/localService/FormElementLabel.cds +19 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/formElement/formElementLabel/localService/RootEntity.json +13 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/formElement/formElementLabel/manifest.json +68 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/formElementCustomField.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/formElementLabel.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/i18n/i18n.properties +19 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microChartDefault.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microChartDynamicSize.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microChartHideOnNoData.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microChartShowOnlyChart.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDefault/Component.js +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDefault/MicroChartDefault.controller.js +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDefault/MicroChartDefault.view.xml +83 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDefault/localService/ChildEntity.json +686 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDefault/localService/CreditLimitDetails.json +154 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDefault/localService/RootEntity.json +34 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDefault/localService/service.cds +308 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDefault/manifest.json +69 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDynamicSize/Component.js +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDynamicSize/MicroChartDynamicSize.controller.js +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDynamicSize/MicroChartDynamicSize.view.xml +93 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDynamicSize/localService/ChildEntity.json +686 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDynamicSize/localService/CreditLimitDetails.json +154 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDynamicSize/localService/RootEntity.json +34 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDynamicSize/localService/service.cds +308 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDynamicSize/manifest.json +69 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartHideOnNoData/Component.js +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartHideOnNoData/MicroChartHideOnNoData.controller.js +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartHideOnNoData/MicroChartHideOnNoData.view.xml +91 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartHideOnNoData/localService/ChildEntity.json +686 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartHideOnNoData/localService/CreditLimitDetails.json +154 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartHideOnNoData/localService/RootEntity.json +34 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartHideOnNoData/localService/service.cds +308 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartHideOnNoData/manifest.json +69 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartShowOnlyChart/Component.js +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartShowOnlyChart/MicroChartShowOnlyChart.controller.js +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartShowOnlyChart/MicroChartShowOnlyChart.view.xml +93 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartShowOnlyChart/localService/ChildEntity.json +686 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartShowOnlyChart/localService/CreditLimitDetails.json +154 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartShowOnlyChart/localService/RootEntity.json +34 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartShowOnlyChart/localService/service.cds +308 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartShowOnlyChart/manifest.json +69 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/paginator/paginatorDefault/Component.js +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/paginator/paginatorDefault/PaginatorDefault.controller.js +27 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/paginator/paginatorDefault/PaginatorDefault.view.xml +45 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/paginator/paginatorDefault/localService/RootEntity.json +102 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/paginator/paginatorDefault/localService/ValueHelpEntity.js +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/paginator/paginatorDefault/localService/service.cds +90 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/paginator/paginatorDefault/manifest.json +79 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/paginatorDefault.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/share/Component.js +34 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/share/Share.controller.js +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/share/Share.view.xml +23 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/share/localService/RootEntity.json +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/share/localService/Share.cds +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/share/manifest.json +68 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/shareDefault.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableCustoms/Component.js +40 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableCustoms/Page.controller.js +32 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableCustoms/Page.view.xml +32 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableCustoms/localService/RootEntity.json +82 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableCustoms/localService/service.cds +82 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableCustoms/manifest.json +78 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableDefault/Component.js +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableDefault/TableDefault.controller.js +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableDefault/TableDefault.view.xml +10 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableDefault/localService/RootEntity.json +102 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableDefault/localService/ValueHelpEntity.js +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableDefault/localService/service.cds +90 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableDefault/manifest.json +79 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableEdit/Component.js +35 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableEdit/TableEdit.controller.js +19 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableEdit/TableEdit.view.xml +31 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableEdit/localService/RootEntity.json +78 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableEdit/localService/ValueHelpCurrencyEntity.json +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableEdit/localService/ValueHelpEntity.js +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableEdit/localService/service.cds +119 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableEdit/manifest.json +82 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/tableCustoms.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/tableDefault.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/tableEdit.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility/Component.js +35 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility/OPExtend.controller.js +41 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility/localService/RootEntity.json +12 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility/localService/service.cds +52 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility/manifest.json +76 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/controllerExtensionsOverview.html +24 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/controllerExtensionsOverview.md +18 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/intentBasedNavigation/Component.js +35 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/intentBasedNavigation/IntentBasedNavigation.controller.js +21 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/intentBasedNavigation/IntentBasedNavigation.view.xml +23 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/intentBasedNavigation/localService/RootEntity.json +12 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/intentBasedNavigation/localService/service.cds +40 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/intentBasedNavigation/manifest.json +76 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/intentBasedNavigation.html +70 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/routingExtensibility/Component.js +35 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/routingExtensibility/extendLR.controller.js +63 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/routingExtensibility/extendOP.controller.js +13 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/routingExtensibility/localService/RootEntity.json +18 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/routingExtensibility/localService/service.cds +64 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/routingExtensibility/manifest.json +103 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/routingExtensibility.html +70 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/share/Component.js +35 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/share/Share.controller.js +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/share/Share.view.xml +21 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/share/ShareExtend.js +15 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/share/localService/RootEntity.json +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/share/localService/service.cds +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/share/manifest.json +68 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/shareExtensibility.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/viewState/Component.js +35 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/viewState/CustomSection.fragment.xml +15 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/viewState/OPExtend.controller.js +57 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/viewState/localService/RootEntity.json +12 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/viewState/localService/service.cds +40 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/viewState/manifest.json +86 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/viewState.html +70 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customAction/customActionContent/Component.js +35 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customAction/customActionContent/CustomAction.js +41 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customAction/customActionContent/extendOP.controller.js +9 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customAction/customActionContent/localService/ChildEntity.json +22 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customAction/customActionContent/localService/RootEntity.json +10 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customAction/customActionContent/localService/service.cds +73 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customAction/customActionContent/manifest.json +133 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customActionContent.html +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/Component.js +35 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/CustomColumn.js +25 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/CustomColumnAdaptation.fragment.xml +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/CustomColumnButton.fragment.xml +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/localService/ChildEntity.json +26 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/localService/RootEntity.json +9 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/localService/service.cds +55 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/manifest.json +98 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumnContent.html +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customElementsOverview.html +24 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customElementsOverview.md +21 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFilter/customFilterContent/Component.js +35 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFilter/customFilterContent/CustomFilter.js +28 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFilter/customFilterContent/CustomRatingFilter.fragment.xml +8 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFilter/customFilterContent/CustomRatingFilterOperator.fragment.xml +17 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFilter/customFilterContent/localService/RootEntity.json +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFilter/customFilterContent/localService/service.cds +75 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFilter/customFilterContent/manifest.json +87 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFilterContent.html +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/Component.js +35 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/CustomHeaderFacetColumnChart.fragment.xml +19 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/CustomHeaderFacetDataPoint.fragment.xml +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/CustomHeaderFacetMicroChartAndFormElement.fragment.xml +42 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/localService/RootEntity.json +12 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/localService/service.cds +54 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/manifest.json +127 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacetContent.html +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/Component.js +35 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/CustomDetailPage.controller.js +12 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/CustomDetailPage.view.xml +64 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/CustomPage.controller.js +10 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/CustomPage.view.xml +39 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/localService/ChildEntity.json +23 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/localService/RootEntity.json +41 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/localService/ValueHelpCurrencyEntity.json +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/localService/ValueHelpEntity.js +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/localService/resources/275081.jpg +0 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/localService/resources/275472.jpg +0 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/localService/service.cds +144 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/manifest.json +119 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPageContent.html +70 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/Component.js +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/CustomSection.fragment.xml +13 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/CustomSectionFormElementAndTable.fragment.xml +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/CustomSectionNavigation.fragment.xml +44 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/CustomSectionNavigation.js +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/extendOP.controller.js +13 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/localService/ChildEntity.json +82 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/localService/RootEntity.json +9 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/localService/ValueHelpCurrencyEntity.json +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/localService/ValueHelpEntity.js +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/localService/service.cds +177 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/manifest.json +129 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSectionContent.html +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customViewInLR/customViewInLRContent/Component.js +35 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customViewInLR/customViewInLRContent/CustomButton.js +12 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customViewInLR/customViewInLRContent/CustomViewWithButton.fragment.xml +12 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customViewInLR/customViewInLRContent/CustomViewWithTable.fragment.xml +46 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customViewInLR/customViewInLRContent/LRExtend.controller.js +31 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customViewInLR/customViewInLRContent/localService/RootEntity.json +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customViewInLR/customViewInLRContent/localService/service.cds +70 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customViewInLR/customViewInLRContent/manifest.json +100 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customViewInLRContent.html +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/i18n/i18n.properties +61 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/overview/introduction.html +24 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/overview/introduction.md +6 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/util/FileUtils.js +124 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/view/App.view.xml +60 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/view/ControllerExtensions.view.xml +97 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/view/CustomElements.view.xml +97 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/view/MacrosPage.view.xml +97 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/view/Overview.view.xml +13 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/BindingExpression-AnnotationExpression.spec.js +140 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/BindingExpression-AnnotationExpression.spec.ts +142 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/BindingExpression.spec.js +504 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/BindingExpression.spec.ts +751 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/TemplateConverter.spec.js +74 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/TemplateConverter.spec.ts +75 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/__snapshots__/BindingExpression-AnnotationExpression.spec.ts.snap +7 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/__snapshots__/TemplateConverter.spec.ts.snap +17450 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/KPIManagement.spec.js +582 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/KPIManagement.spec.ts +515 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/SideEffects.spec.js +636 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/SideEffects.spec.ts +547 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ConverterContext.spec.js +60 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ConverterContext.spec.ts +57 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/HeaderFacet.spec.js +436 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/HeaderFacet.spec.ts +469 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/KPITag.spec.js +346 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/KPITag.spec.ts +357 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ListReportConverter.spec.js +255 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ListReportConverter.spec.ts +254 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/MetaModelConverter.spec.js +67 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/MetaModelConverter.spec.ts +43 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ObjectPageConverter.spec.js +577 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ObjectPageConverter.spec.ts +593 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Table.spec.js +1206 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Table.spec.ts +1361 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/__snapshots__/Table.spec.ts.snap +21 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/AnalyticalService.cds +16 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/BindingExpression-AnnotationExpression.xml +248 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/ConverterContext.cds +34 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/HeaderFacets.cds +199 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/KPI.cds +320 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/KPINone.cds +78 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/ListReportConverter.cds +164 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/MetaModelConverter.cds +43 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/MetaModelConverterBoundAction.cds +31 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/ObjectPageConverter.cds +161 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/PropertyHelper.cds +14 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/SideEffects.cds +285 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/Table.cds +98 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/TableGetSelectionMode.cds +242 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/TableNewActionNoOperationAvailable.cds +22 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/TableNewActionOperationAvailableFalse.cds +25 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/TableNewActionOperationAvailableTrue.cds +24 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/salesOrderMetadata.xml +4824 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/formatters/ValueFormatters.spec.js +54 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/formatters/ValueFormatters.spec.ts +70 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/services/SideEffectsService.spec.js +607 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/services/SideEffectsService.spec.ts +540 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/templating/PropertyHelper.spec.js +62 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/templating/PropertyHelper.spec.ts +45 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/type/Email.spec.js +34 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/type/Email.spec.ts +21 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/TemplatingExpressions.qunit.js +1328 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/apps/generalTests.js +18 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/apps/generalTests.json +233 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/apps/index.js +33 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/common/testHelper.js +81 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/common/utility.js +28 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/helpers/ExcelFormatHelper.qunit.js +19 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/helpers/SemanticDateOperators.qunit.js +253 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/helpers/SemanticKeyHelper.qunit.js +211 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/helpers/StableIdHelper.qunit.js +301 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/services/CacheHandlerTest.qunit.js +924 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/test/iteloMetadata.js +2752 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/test/musicDraftMetadata.js +2301 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/test/simpleMetadata.js +1186 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/test/techServiceMetadata.js +3993 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/testsuite.qunit.html +14 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/testsuite.qunit.js +33 -0
- package/packages/sap.fe.core/test/sap/fe/core/relnotes/changes-1.91.json +96 -0
- package/packages/sap.fe.core/test/sap/fe/core/relnotes/changes-1.94.json +40 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/.library +54 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/.theming +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Chart.fragment.xml +171 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Chart.metadata-dbg.js +200 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Chart.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/ChartDelegate-dbg.js +530 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/ChartDelegate.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/CommonHelper-dbg.js +1256 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/CommonHelper.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Contact-dbg.designtime.js +93 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Contact.designtime.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Contact.fragment.xml +38 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Contact.metadata-dbg.js +91 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Contact.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/ContactHelper-dbg.js +96 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/ContactHelper.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/DelegateUtil-dbg.js +286 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/DelegateUtil.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/DraftIndicator.fragment.xml +37 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/DraftIndicator.metadata-dbg.js +91 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/DraftIndicator.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/DraftIndicatorRuntime-dbg.js +138 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/DraftIndicatorRuntime.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Field.fragment.xml +37 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Field.metadata-dbg.js +144 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Field.metadata.js +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Field.metadata.ts +136 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI-dbg.js +234 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI.js +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI.ts +177 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FieldValueHelpDelegate-dbg.js +55 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FieldValueHelpDelegate.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBar-dbg.designtime.js +83 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBar.designtime.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBar.fragment.xml +109 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBar.metadata-dbg.js +243 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBar.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI-dbg.js +130 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI.js +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI.ts +62 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarDelegate-dbg.js +568 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarDelegate.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarHelper-dbg.js +48 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarHelper.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterField-dbg.designtime.js +339 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterField.designtime.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterField.fragment.xml +57 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterField.metadata-dbg.js +130 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterField.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FlexibleColumnLayoutActions.fragment.xml +24 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FlexibleColumnLayoutActions.metadata-dbg.js +68 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FlexibleColumnLayoutActions.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Form-dbg.designtime.js +188 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Form.designtime.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Form.fragment.xml +94 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Form.metadata-dbg.js +209 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Form.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FormContainer-dbg.designtime.js +42 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FormContainer.designtime.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FormContainer.fragment.xml +196 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FormContainer.metadata-dbg.js +132 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FormContainer.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FormElement.fragment.xml +25 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FormElement.metadata-dbg.js +123 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FormElement.metadata.js +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FormElement.metadata.ts +113 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FormWrapper.fragment.xml +26 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/KPITag.fragment.xml +33 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/KPITag.metadata-dbg.js +103 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/KPITag.metadata.js +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/KPITag.metadata.ts +106 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/MacroAPI-dbg.js +197 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/MacroAPI.js +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/MacroAPI.ts +120 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/MacroMetadata-dbg.js +92 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/MacroMetadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/MacroRuntime-dbg.js +33 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/MacroRuntime.js +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/MacroRuntime.ts +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/MacroTemplating-dbg.js +22 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/MacroTemplating.js +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/MacroTemplating.ts +9 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/MicroChart-dbg.designtime.js +361 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/MicroChart.designtime.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/MicroChart.fragment.xml +36 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/MicroChart.metadata-dbg.js +149 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/MicroChart.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/ODataMetaModelUtil-dbg.js +600 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/ODataMetaModelUtil.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Paginator.fragment.xml +32 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Paginator.metadata-dbg.js +61 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Paginator.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/PhantomUtil-dbg.js +615 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/PhantomUtil.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/QuickViewForm-dbg.designtime.js +215 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/QuickViewForm.designtime.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/QuickViewForm.fragment.xml +66 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/QuickViewForm.metadata-dbg.js +84 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/QuickViewForm.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/ResourceModel-dbg.js +56 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/ResourceModel.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Share.fragment.xml +21 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Share.metadata-dbg.js +90 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Share.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/SizeHelper-dbg.js +41 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/SizeHelper.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Table.fragment.xml +236 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Table.metadata-dbg.js +489 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Table.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI-dbg.js +469 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI.js +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI.ts +487 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/TraceInfo-dbg.js +462 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/TraceInfo.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/ValueHelp.metadata-dbg.js +135 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/ValueHelp.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/VisualFilter.fragment.xml +87 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/VisualFilter.metadata-dbg.js +217 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/VisualFilter.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartHelper-dbg.js +468 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartHelper.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartRuntime-dbg.js +118 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartRuntime.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartUtils-dbg.js +221 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartUtils.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/designtime/library-preload.designtime.js +17 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/designtime/library-preload.designtime.js.map +9 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/field/DraftPopOverAdminData.fragment.xml +53 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldHelper-dbg.js +1670 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldHelper.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldRuntime-dbg.js +400 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldRuntime.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating-dbg.js +538 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating.js +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating.ts +541 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkContactContent.fragment.xml +95 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkDelegate-dbg.js +1136 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkDelegate.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkForContact.fragment.xml +26 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkForDataField.fragment.xml +95 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkForEntity.fragment.xml +76 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkWithFacets.fragment.xml +40 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/CustomFilter.fragment.xml +38 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/DraftEditState-dbg.js +179 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/DraftEditState.fragment.xml +36 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/DraftEditState.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterFieldHelper-dbg.js +149 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterFieldHelper.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterFieldTemplating-dbg.js +23 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterFieldTemplating.js +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterFieldTemplating.ts +11 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterUtils-dbg.js +363 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterUtils.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/type/MultiValue-dbg.js +53 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/type/MultiValue.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/type/Range-dbg.js +38 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/type/Range.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/type/Value-dbg.js +219 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/type/Value.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/flexibility/FormDelegate-dbg.js +152 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/flexibility/FormDelegate.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/flexibility/ValueHelpWrapper.fragment.xml +3 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/form/AddressSection.fragment.xml +35 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/form/DataFieldCollection.fragment.xml +44 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/form/FormElement.fragment.xml +42 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/form/FormHelper-dbg.js +118 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/form/FormHelper.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/fpm/CustomFormElement.fragment.xml +10 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/fpm/CustomFragment.fragment.xml +13 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/fpm/CustomFragment.metadata-dbg.js +73 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/fpm/CustomFragment.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/fpm/CustomHeaderFieldElement.fragment.xml +17 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/fpm/CustomSection.fragment.xml +13 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/fpm/CustomSection.metadata-dbg.js +82 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/fpm/CustomSection.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/fpm/fpm-dbg.js +15 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/fpm/fpm.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/CollectionField.fragment.xml +33 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/CollectionField.metadata-dbg.js +167 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/CollectionField.metadata.js +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/CollectionField.metadata.ts +179 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/DataPoint.fragment.xml +123 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/DataPoint.metadata-dbg.js +162 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/DataPoint.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field-dbg.designtime.js +811 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.designtime.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.fragment.xml +20 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.metadata-dbg.js +534 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/collectionField/MultiValueFieldDelegate-dbg.js +76 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/collectionField/MultiValueFieldDelegate.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/ConnectedDataField.fragment.xml +39 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/FieldContent.fragment.xml +94 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/FieldStructure.fragment.xml +55 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/AmountWithCurrency.fragment.xml +41 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/Avatar.fragment.xml +57 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/Button.fragment.xml +56 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/Contact.fragment.xml +38 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/DataPoint.fragment.xml +45 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/ExpandableText.fragment.xml +18 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/File.fragment.xml +31 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/LabelSemanticKey.fragment.xml +65 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/Link.fragment.xml +30 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/LinkWithQuickViewForm.fragment.xml +45 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/LinkWrapper.fragment.xml +56 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/ObjectIdentifier.fragment.xml +37 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/ObjectStatus.fragment.xml +16 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/SemanticKeyWithDraftIndicator.fragment.xml +35 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/Text.fragment.xml +33 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/CheckBox.fragment.xml +28 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/DatePicker.fragment.xml +32 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/DateTimePicker.fragment.xml +33 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/File.fragment.xml +55 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/Input.fragment.xml +33 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/InputWithUnit.fragment.xml +77 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/InputWithValueHelp.fragment.xml +73 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/RatingIndicator.fragment.xml +23 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/TextArea.fragment.xml +34 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/TimePicker.fragment.xml +33 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/form/FormTemplating-dbg.js +65 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/form/FormTemplating.js +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/form/FormTemplating.ts +40 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating-dbg.js +244 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating.js +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating.ts +229 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/TableDelegate-dbg.js +215 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/TableDelegate.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueHelp-dbg.designtime.js +466 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueHelp.designtime.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueHelp.fragment.xml +23 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueHelpContent.fragment.xml +62 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueHelpTemplating-dbg.js +155 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueHelpTemplating.js +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueHelpTemplating.ts +133 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListDialogTable.fragment.xml +57 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListFilterBar.fragment.xml +20 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListHelper-dbg.js +1286 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListHelper.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListTable.fragment.xml +67 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListTableColumnHeader.fragment.xml +25 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/library-dbg.js +144 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/library-h2-preload.js +190 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/library-h2-preload.js.map +9 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/library-preload.js +696 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/library-preload.js.map +9 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/library.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/macroLibrary-dbg.js +126 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/macroLibrary.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/manifest.json +115 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/massedit/MassEditDialog.fragment.xml +106 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/massedit/MassEditHandler-dbg.js +708 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/massedit/MassEditHandler.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/massedit/MassEditRuntime-dbg.js +115 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/massedit/MassEditRuntime.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle.properties +215 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ar.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_bg.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ca.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_cs.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_cy.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_da.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_de.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_el.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_GB.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_US_sappsd.properties +129 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_US_saprigi.properties +129 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_US_saptrc.properties +129 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_es.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_es_MX.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_et.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fi.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fr.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fr_CA.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hi.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hr.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hu.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_id.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_it.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_iw.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ja.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_kk.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ko.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_lt.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_lv.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ms.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_nl.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_no.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pl.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pt.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pt_PT.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ro.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ru.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sh.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sk.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sl.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sv.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_th.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_tr.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_uk.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_vi.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_zh_CN.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_zh_TW.properties +140 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/MicroChartContainer-dbg.js +620 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/MicroChartContainer.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/MicroChartHelper-dbg.js +491 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/MicroChartHelper.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/AreaMicroChart.fragment.xml +180 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/BulletMicroChart.fragment.xml +111 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/ColumnMicroChart.fragment.xml +99 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/ComparisonMicroChart.fragment.xml +64 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/HarveyBallMicroChart.fragment.xml +64 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/LineMicroChart.fragment.xml +67 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/MicroChartContent.fragment.xml +41 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/MicroChartTitle.fragment.xml +52 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/RadialMicroChart.fragment.xml +58 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/StackedBarMicroChart.fragment.xml +54 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/resources.json +4885 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/share/ShareSheet.fragment.xml +26 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/Actions.fragment.xml +215 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/BasicSearch-dbg.js +73 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/BasicSearch.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/Column.fragment.xml +27 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/ColumnContent.fragment.xml +133 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/ColumnProperty.fragment.xml +43 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/Columns.fragment.xml +37 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/CreationRow.fragment.xml +33 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/CustomColumn.fragment.xml +16 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/QuickFilterContainer-dbg.js +298 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/QuickFilterContainer.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/TableFullScreenUtil-dbg.js +194 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/TableFullScreenUtil.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/TableHelper-dbg.js +1399 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/TableHelper.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/TableRuntime-dbg.js +231 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/TableRuntime.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/Utils-dbg.js +468 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/Utils.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/ValueHelp.fragment.xml +34 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/ALPTableDelegate-dbg.js +32 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/ALPTableDelegate.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/ALPTableDelegateBaseMixin-dbg.js +100 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/ALPTableDelegateBaseMixin.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/AnalyticalALPTableDelegate-dbg.js +36 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/AnalyticalALPTableDelegate.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/AnalyticalTableDelegate-dbg.js +147 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/AnalyticalTableDelegate.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/TableDelegate-dbg.js +818 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/TableDelegate.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/valuehelp/ValueHelpFilterBar-dbg.designtime.js +83 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/valuehelp/ValueHelpFilterBar.designtime.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/valuehelp/ValueHelpFilterBar.fragment.xml +115 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/valuehelp/ValueHelpFilterBar.metadata-dbg.js +204 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/valuehelp/ValueHelpFilterBar.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/visualfilters/InteractiveChartHelper-dbg.js +476 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/visualfilters/InteractiveChartHelper.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/visualfilters/VisualFilterRuntime-dbg.js +286 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/visualfilters/VisualFilterRuntime.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/visualfilters/fragments/InteractiveBarChart.fragment.xml +70 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/visualfilters/fragments/InteractiveDonutChart.fragment.xml +69 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/visualfilters/fragments/InteractiveLineChart.fragment.xml +70 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/designtime/api.json +1001 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/designtime/apiref/api.json +1 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/designtime/codeassistance/Library.jsmeta.json +1 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/designtime/codeassistance/Library.jstemplates.json +1 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/designtime/codeassistance/Library.xmlmeta.json +1 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/designtime/codeassistance/Library.xmltemplates.json +1 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/CollectionField.spec.js +64 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/CollectionField.spec.ts +67 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/DatapointMacro.spec.js +326 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/DatapointMacro.spec.ts +349 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroDataFieldTypes.spec.js +127 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroDataFieldTypes.spec.ts +127 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroWithSemanticKey.spec.js +184 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroWithSemanticKey.spec.ts +263 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroWithValueHelp.spec.js +63 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroWithValueHelp.spec.ts +72 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterField.spec.js +32 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterField.spec.ts +28 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/MacroComponent.spec.js +39 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/MacroComponent.spec.ts +26 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/MicroChart.spec.js +53 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/MicroChart.spec.ts +54 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/PhantomUtil.spec.js +142 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/PhantomUtil.spec.ts +178 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/QuickViewForm.spec.js +401 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/QuickViewForm.spec.ts +662 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/SimpleFieldMacro.spec.js +571 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/SimpleFieldMacro.spec.ts +778 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableAPI.spec.js +712 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableAPI.spec.ts +800 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ValueHelpMacro.spec.js +192 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ValueHelpMacro.spec.ts +194 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FilterField.spec.ts.snap +37 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/MacroComponent.spec.ts.snap +7 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/PhantomUtil.spec.ts.snap +184 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/QuickViewForm.spec.ts.snap +820 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/ValueHelpMacro.spec.ts.snap +279 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/addTemplatingTest.md +51 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/AdminDataPopOver.cds +8 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/CollectionField.cds +48 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FieldMacroDataFieldTypes.cds +295 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FieldMacroWithSemanticKey.cds +62 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FieldMacroWithValueHelp.cds +131 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FilterFieldMacro.cds +124 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/MicroChart.cds +47 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/PhantomUtil.cds +20 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/QuickViewForm.cds +248 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/Table.cds +113 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/ValueHelpMacro.cds +163 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/simpleFieldMacro.cds +129 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldTemplating.cds +115 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldTemplating.spec.js +180 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldTemplating.spec.ts +215 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/__snapshots__/FieldTemplating.spec.ts.snap +160 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/fragments/MyTestFragment.xml +15 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/fragments/MyTestFragmentRepeat.xml +27 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/tsx/TestTSX.spec.tsx +49 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/tsx/__snapshots__/TestTSX.spec.tsx.snap +33 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/common/testHelper.js +24 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/index.json +154 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/AnalyticalTableDelegate.qunit.js +158 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/ChartDelegate.qunit.js +275 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/ChartHelper.qunit.js +601 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/ChartHelperTemplate.qunit.js +67 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/CommonHelper.qunit.js +1607 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FieldHelper.qunit.js +2478 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FieldHelperTemplate.qunit.js +383 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FilterBarDelegate.qunit.js +89 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FilterBarHelper.qunit.js +223 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FilterFieldHelper.qunit.js +712 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FormContainerTemplating.qunit.js +245 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FormElementTemplating.qunit.js +83 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FormHelper.qunit.js +209 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FormTemplating.qunit.js +577 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FormTemplatingTs.qunit.js +271 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/InteractiveChartHelper.qunit.js +1227 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/MacroMetadata.qunit.js +123 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/MicroChartContainer.qunit.js +1637 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/MicroChartHelper.qunit.js +619 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/MicroChartHelperForTemplate.qunit.js +360 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/PhantomUtil.qunit.js +307 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/QuickViewLinkDelegate.qunit.js +81 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/TableDelegate.qunit.js +734 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/TableHelper.qunit.js +2630 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/TableHelperTemplate.qunit.js +201 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/TableRuntime.qunit.js +861 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/ValueHelpTemplating.qunit.js +176 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/ValueListHelper.qunit.js +1133 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/chartMetadata/metadata.xml +461 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/flexibility/FormDelegate.qunit.js +408 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/fragments/FilterFieldMacro.fragment.xml +9 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/fragments/FilterFieldMacroMissingID.fragment.xml +9 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/fragments/TableMacro.fragment.xml +22 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/metadata/simpleMetadata.js +1415 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/teststarter.qunit.html +13 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/testsuite.qunit.html +14 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/testsuite.qunit.js +41 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/relnotes/changes-1.91.json +76 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/relnotes/changes-1.94.json +29 -0
- package/packages/sap.fe.navigation/src/sap/fe/navigation/.library +36 -0
- package/packages/sap.fe.navigation/src/sap/fe/navigation/.theming +6 -0
- package/packages/sap.fe.navigation/src/sap/fe/navigation/NavError-dbg.js +49 -0
- package/packages/sap.fe.navigation/src/sap/fe/navigation/NavError.js +6 -0
- package/packages/sap.fe.navigation/src/sap/fe/navigation/NavigationHandler-dbg.js +2215 -0
- package/packages/sap.fe.navigation/src/sap/fe/navigation/NavigationHandler.js +6 -0
- package/packages/sap.fe.navigation/src/sap/fe/navigation/PresentationVariant-dbg.js +347 -0
- package/packages/sap.fe.navigation/src/sap/fe/navigation/PresentationVariant.js +6 -0
- package/packages/sap.fe.navigation/src/sap/fe/navigation/SelectionVariant-dbg.js +774 -0
- package/packages/sap.fe.navigation/src/sap/fe/navigation/SelectionVariant.js +6 -0
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library-dbg.js +170 -0
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library-h2-preload.js +19 -0
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library-h2-preload.js.map +9 -0
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library-preload.js +129 -0
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library-preload.js.map +9 -0
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library.js +6 -0
- package/packages/sap.fe.navigation/src/sap/fe/navigation/manifest.json +44 -0
- package/packages/sap.fe.navigation/src/sap/fe/navigation/resources.json +215 -0
- package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/api.json +1 -0
- package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/apiref/api.json +1 -0
- package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/codeassistance/Library.jsmeta.json +1 -0
- package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/codeassistance/Library.jstemplates.json +1 -0
- package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/codeassistance/Library.xmlmeta.json +1 -0
- package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/codeassistance/Library.xmltemplates.json +1 -0
- package/packages/sap.fe.navigation/test/sap/fe/navigation/qunit/index.json +17 -0
- package/packages/sap.fe.navigation/test/sap/fe/navigation/qunit/navigation/CrossAppNavigationServiceMock.js +110 -0
- package/packages/sap.fe.navigation/test/sap/fe/navigation/qunit/navigation/NavigationHandlerTest.qunit.js +8625 -0
- package/packages/sap.fe.navigation/test/sap/fe/navigation/qunit/navigation/PresentationVariantTest.qunit.js +179 -0
- package/packages/sap.fe.navigation/test/sap/fe/navigation/qunit/navigation/SelectionVariantTest.qunit.js +1366 -0
- package/packages/sap.fe.navigation/test/sap/fe/navigation/qunit/teststarter.qunit.html +13 -0
- package/packages/sap.fe.navigation/test/sap/fe/navigation/qunit/testsuite.qunit.html +14 -0
- package/packages/sap.fe.navigation/test/sap/fe/navigation/qunit/testsuite.qunit.js +41 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/.library +35 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/.theming +5 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/controller/Placeholder-dbg.controller.js +60 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/controller/Placeholder.controller.js +6 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-dbg.js +41 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-h2-preload.js +20 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-h2-preload.js.map +9 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-preload.js +21 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-preload.js.map +9 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library.js +6 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/manifest.json +49 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/resources.json +725 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/.theming +5 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/Placeholder.less +504 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/css_variables.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/css_variables.less +4 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/css_variables.source.less +1439 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/library-RTL.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/library-parameters.json +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/library.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/library.less +511 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/library.source.less +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/library_skeleton-RTL.css +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/library_skeleton.css +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/resources.json +70 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/.theming +27 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/css_variables.css +4 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/css_variables.less +1497 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/css_variables.source.less +1487 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/library-RTL.css +4 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/library-parameters.json +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/library.css +4 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/library.less +6 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/library.source.less +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/library_skeleton-RTL.css +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/library_skeleton.css +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/resources.json +64 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/.theming +6 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/css_variables.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/css_variables.less +1463 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/css_variables.source.less +1453 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/library-RTL.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/library-parameters.json +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/library.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/library.less +6 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/library.source.less +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/library_skeleton-RTL.css +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/library_skeleton.css +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/resources.json +64 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/.theming +6 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/css_variables.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/css_variables.less +1463 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/css_variables.source.less +1453 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/library-RTL.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/library-parameters.json +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/library.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/library.less +6 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/library.source.less +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/library_skeleton-RTL.css +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/library_skeleton.css +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/resources.json +64 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/.theming +26 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/css_variables.css +4 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/css_variables.less +1497 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/css_variables.source.less +1487 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/library-RTL.css +4 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/library-parameters.json +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/library.css +4 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/library.less +6 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/library.source.less +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/library_skeleton-RTL.css +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/library_skeleton.css +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/resources.json +64 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/.theming +6 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/css_variables.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/css_variables.less +1468 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/css_variables.source.less +1458 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/library-RTL.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/library-parameters.json +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/library.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/library.less +6 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/library.source.less +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/library_skeleton-RTL.css +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/library_skeleton.css +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/resources.json +64 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/.theming +6 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/css_variables.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/css_variables.less +1468 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/css_variables.source.less +1458 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/library-RTL.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/library-parameters.json +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/library.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/library.less +6 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/library.source.less +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/library_skeleton-RTL.css +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/library_skeleton.css +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/resources.json +64 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/.theming +6 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/css_variables.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/css_variables.less +1464 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/css_variables.source.less +1454 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/library-RTL.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/library-parameters.json +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/library.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/library.less +6 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/library.source.less +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/library_skeleton-RTL.css +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/library_skeleton.css +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/resources.json +64 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/.theming +6 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/css_variables.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/css_variables.less +1464 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/css_variables.source.less +1454 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/library-RTL.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/library-parameters.json +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/library.css +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/library.less +6 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/library.source.less +3 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/library_skeleton-RTL.css +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/library_skeleton.css +1 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/resources.json +64 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/view/PlaceholderALP.fragment.html +10 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/view/PlaceholderALP.view.xml +11 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/view/PlaceholderLR.fragment.html +8 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/view/PlaceholderLR.view.xml +11 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/view/PlaceholderOP.fragment.html +8 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/view/PlaceholderOP.view.xml +11 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/view/PlaceholderOVP.fragment.html +8 -0
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/view/PlaceholderOVP.view.xml +11 -0
- package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/api.json +1 -0
- package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/apiref/api.json +1 -0
- package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/codeassistance/Library.jsmeta.json +1 -0
- package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/codeassistance/Library.jstemplates.json +1 -0
- package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/codeassistance/Library.xmlmeta.json +1 -0
- package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/codeassistance/Library.xmltemplates.json +1 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/.library +74 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/.theming +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/AnalyticalListPage/Component-dbg.js +15 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/AnalyticalListPage/Component.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate-dbg.js +37 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/AnalyticalListPage/manifest.json +27 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/AnalyticalListPage/resources.json +27 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListComponent-dbg.js +121 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListComponent.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/Component-dbg.js +42 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/Component.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ExtensionAPI-dbg.js +95 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ExtensionAPI.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReport.view.xml +199 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReportController-dbg.controller.js +954 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReportController.controller.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/manifest.json +28 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation-dbg.js +52 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/Share-dbg.js +124 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/Share.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/ViewState-dbg.js +264 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/ViewState.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/resources.json +79 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/view/fragments/CollectionVisualization.fragment.xml +32 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/view/fragments/CustomView.fragment.xml +10 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.xml +49 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/AnnotationHelper-dbg.js +457 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/AnnotationHelper.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/Component-dbg.js +139 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/Component.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ExtensionAPI-dbg.js +130 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ExtensionAPI.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPage.view.xml +184 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPageController-dbg.controller.js +1460 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/controls/StashableHBox-dbg.js +90 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/controls/StashableHBox.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/controls/StashableVBox-dbg.js +27 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/controls/StashableVBox.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock-dbg.js +57 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/designtime/FlexBox-dbg.designtime.js +19 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/designtime/FlexBox.designtime.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/designtime/StashableHBox-dbg.designtime.js +51 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/designtime/StashableHBox.designtime.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/designtime/StashableVBox-dbg.designtime.js +38 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/designtime/StashableVBox.designtime.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/flexibility/StashableHBox.flexibility-dbg.js +19 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/flexibility/StashableHBox.flexibility.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/flexibility/StashableVBox.flexibility-dbg.js +15 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/flexibility/StashableVBox.flexibility.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/manifest.json +122 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation-dbg.js +55 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/IntentBasedNavigation.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/InternalRouting-dbg.js +20 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/InternalRouting.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/MessageHandler-dbg.js +20 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/MessageHandler.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/Routing-dbg.js +21 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/Routing.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/Share-dbg.js +303 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/Share.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/ViewState-dbg.js +45 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/ViewState.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/resources.json +282 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating-dbg.js +117 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating.js +5 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating.ts +124 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/Actions.fragment.xml +183 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/EditableHeaderFacet.fragment.xml +160 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/FooterContent.fragment.xml +117 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/FormActionButtons.fragment.xml +79 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/FormActions.fragment.xml +24 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/HeaderContent.fragment.xml +54 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/HeaderDataPoint.fragment.xml +26 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/HeaderDataPointTitle.fragment.xml +69 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/HeaderFacet.fragment.xml +90 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/HeaderFacetCustomContainer.fragment.xml +41 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/HeaderImage.fragment.xml +24 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderAddress.fragment.xml +20 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderForm.fragment.xml +72 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/RelatedApps.fragment.xml +22 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/Section.fragment.xml +71 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/SectionContent.fragment.xml +175 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/SectionCustomSection.fragment.xml +18 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/SectionFormContent.fragment.xml +18 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/SectionMoreFormContent.fragment.xml +18 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/SectionPresentationVisualization.fragment.xml +17 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/SideContentCustomContainer.fragment.xml +19 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/TitleAndSubtitle.fragment.xml +24 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/Fcl-dbg.controller.js +816 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/Fcl.controller.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/NavContainer-dbg.controller.js +176 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/NavContainer.controller.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController-dbg.js +441 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/overrides/EditFlow-dbg.js +18 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/overrides/EditFlow.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/view/Fcl.view.xml +15 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/view/NavContainer.view.xml +9 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/view/PlaceholderLR.view.xml +617 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/view/PlaceholderOP.view.xml +588 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/controls/Chart.fragment.xml +20 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/controls/OverflowToolbarButtonHover-dbg.js +26 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/controls/OverflowToolbarButtonHover.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/controls/Paginator-dbg.js +174 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/controls/Paginator.control.xml +24 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/controls/Paginator.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/controls/Table.fragment.xml +23 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/designtime/library-preload.designtime.js +10 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/designtime/library-preload.designtime.js.map +9 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/library-dbg.js +72 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/library-h2-preload.js +77 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/library-h2-preload.js.map +9 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/library-preload.js +154 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/library-preload.js.map +9 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/library.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/manifest.json +136 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle.properties +210 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ar.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_bg.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ca.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_cs.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_cy.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_da.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_de.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_el.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en_GB.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en_US_sappsd.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en_US_saprigi.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en_US_saptrc.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_es.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_es_MX.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_et.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_fi.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_fr.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_fr_CA.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_hi.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_hr.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_hu.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_id.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_it.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_iw.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ja.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_kk.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ko.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_lt.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_lv.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ms.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_nl.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_no.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_pl.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_pt.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_pt_PT.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ro.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ru.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_sh.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_sk.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_sl.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_sv.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_th.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_tr.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_uk.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_vi.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_zh_CN.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_zh_TW.properties +135 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/resources.json +2103 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/demokit/apps/itelo/webapp/Component.js +9 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/demokit/apps/itelo/webapp/WEB-INF/web.xml +120 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/demokit/apps/itelo/webapp/annotations/annotations.xml +43 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/demokit/apps/itelo/webapp/i18n/i18n.properties +13 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/demokit/apps/itelo/webapp/manifest.json +176 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/demokit/apps/itelo/webapp/test/manifestCreateDialogWithFCL.json +87 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/demokit/apps/itelo/webapp/test/testFLP.html +71 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/demokit/apps/itelo/webapp/test/testFLPService.html +82 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/demokit/flpSandbox.html +24 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/demokit/flpSandbox.js +225 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/demokit/mockServer.js +780 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/demokit/mockServerHelper.js +195 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/designtime/api.json +1 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/designtime/apiref/api.json +1 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/designtime/codeassistance/Library.jsmeta.json +1 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/designtime/codeassistance/Library.jstemplates.json +1 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/designtime/codeassistance/Library.xmlmeta.json +1 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/designtime/codeassistance/Library.xmltemplates.json +1 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/qunit/common/testHelper.js +80 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/qunit/common/utility.js +28 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/qunit/testsuite.qunit.html +14 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/qunit/testsuite.qunit.js +33 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/relnotes/changes-1.91.json +134 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/relnotes/changes-1.94.json +34 -0
- package/packages/sap.fe.test/src/sap/fe/test/.library +30 -0
- package/packages/sap.fe.test/src/sap/fe/test/.theming +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/BaseActions-dbg.js +107 -0
- package/packages/sap.fe.test/src/sap/fe/test/BaseActions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/BaseArrangements-dbg.js +199 -0
- package/packages/sap.fe.test/src/sap/fe/test/BaseArrangements.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/BaseAssertions-dbg.js +56 -0
- package/packages/sap.fe.test/src/sap/fe/test/BaseAssertions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/ConfirmDialog-dbg.js +72 -0
- package/packages/sap.fe.test/src/sap/fe/test/ConfirmDialog.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/FCLView-dbg.js +86 -0
- package/packages/sap.fe.test/src/sap/fe/test/FCLView.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/Flexibility-dbg.js +743 -0
- package/packages/sap.fe.test/src/sap/fe/test/Flexibility.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/FlexibleColumnLayout-dbg.js +149 -0
- package/packages/sap.fe.test/src/sap/fe/test/FlexibleColumnLayout.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/JestTemplatingHelper-dbg.js +284 -0
- package/packages/sap.fe.test/src/sap/fe/test/JestTemplatingHelper.js +5 -0
- package/packages/sap.fe.test/src/sap/fe/test/JestTemplatingHelper.ts +242 -0
- package/packages/sap.fe.test/src/sap/fe/test/JourneyRunner-dbg.js +314 -0
- package/packages/sap.fe.test/src/sap/fe/test/JourneyRunner.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/ListReport-dbg.js +525 -0
- package/packages/sap.fe.test/src/sap/fe/test/ListReport.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/LocationUtil-dbg.js +54 -0
- package/packages/sap.fe.test/src/sap/fe/test/LocationUtil.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/ObjectPage-dbg.js +857 -0
- package/packages/sap.fe.test/src/sap/fe/test/ObjectPage.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/Shell-dbg.js +226 -0
- package/packages/sap.fe.test/src/sap/fe/test/Shell.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/Stubs-dbg.js +97 -0
- package/packages/sap.fe.test/src/sap/fe/test/Stubs.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/TemplatePage-dbg.js +447 -0
- package/packages/sap.fe.test/src/sap/fe/test/TemplatePage.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/TemplatingTestUtils-dbg.js +243 -0
- package/packages/sap.fe.test/src/sap/fe/test/TemplatingTestUtils.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/Utils-dbg.js +301 -0
- package/packages/sap.fe.test/src/sap/fe/test/Utils.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/APIHelper-dbg.js +117 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/APIHelper.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/BaseAPI-dbg.js +285 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/BaseAPI.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/ChartActions-dbg.js +131 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/ChartActions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/ChartAssertions-dbg.js +114 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/ChartAssertions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogAPI-dbg.js +93 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogAPI.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogActions-dbg.js +101 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogActions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogAssertions-dbg.js +123 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogAssertions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogCreateActions-dbg.js +44 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogCreateActions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogCreateAssertions-dbg.js +55 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogCreateAssertions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogMessageActions-dbg.js +59 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogMessageActions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogMessageAssertions-dbg.js +87 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogMessageAssertions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogType-dbg.js +76 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogType.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogValueHelpActions-dbg.js +317 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogValueHelpActions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogValueHelpAssertions-dbg.js +263 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogValueHelpAssertions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/EditState-dbg.js +67 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/EditState.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FilterBarAPI-dbg.js +197 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FilterBarAPI.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FilterBarActions-dbg.js +310 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FilterBarActions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FilterBarAssertions-dbg.js +413 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FilterBarAssertions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FooterAPI-dbg.js +37 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FooterAPI.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FooterActionsBase-dbg.js +47 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FooterActionsBase.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FooterActionsOP-dbg.js +83 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FooterActionsOP.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FooterAssertionsBase-dbg.js +66 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FooterAssertionsBase.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FooterAssertionsOP-dbg.js +98 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FooterAssertionsOP.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FormAPI-dbg.js +82 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FormAPI.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FormActions-dbg.js +180 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FormActions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FormAssertions-dbg.js +182 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/FormAssertions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/HeaderAPI-dbg.js +152 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/HeaderAPI.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/HeaderActions-dbg.js +232 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/HeaderActions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/HeaderActionsLR-dbg.js +94 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/HeaderActionsLR.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/HeaderAssertions-dbg.js +495 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/HeaderAssertions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/HeaderAssertionsLR-dbg.js +110 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/HeaderAssertionsLR.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/HeaderLR-dbg.js +74 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/HeaderLR.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/TableAPI-dbg.js +452 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/TableAPI.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/TableActions-dbg.js +958 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/TableActions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/TableAssertions-dbg.js +697 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/TableAssertions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/DialogBuilder-dbg.js +118 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/DialogBuilder.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/FEBuilder-dbg.js +428 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/FEBuilder.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/KPIBuilder-dbg.js +56 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/KPIBuilder.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/MacroFieldBuilder-dbg.js +174 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/MacroFieldBuilder.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/MdcFieldBuilder-dbg.js +254 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/MdcFieldBuilder.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/MdcFilterBarBuilder-dbg.js +112 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/MdcFilterBarBuilder.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/MdcFilterFieldBuilder-dbg.js +54 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/MdcFilterFieldBuilder.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/MdcTableBuilder-dbg.js +1069 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/MdcTableBuilder.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/OverflowToolbarBuilder-dbg.js +89 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/OverflowToolbarBuilder.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/VMBuilder-dbg.js +268 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/VMBuilder.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/internal/FEArrangements-dbg.js +66 -0
- package/packages/sap.fe.test/src/sap/fe/test/internal/FEArrangements.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/internal/FEJourneyRunner-dbg.js +55 -0
- package/packages/sap.fe.test/src/sap/fe/test/internal/FEJourneyRunner.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/library-dbg.js +37 -0
- package/packages/sap.fe.test/src/sap/fe/test/library-h2-preload.js +78 -0
- package/packages/sap.fe.test/src/sap/fe/test/library-h2-preload.js.map +9 -0
- package/packages/sap.fe.test/src/sap/fe/test/library-preload.js +587 -0
- package/packages/sap.fe.test/src/sap/fe/test/library-preload.js.map +9 -0
- package/packages/sap.fe.test/src/sap/fe/test/library.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/manifest.json +39 -0
- package/packages/sap.fe.test/src/sap/fe/test/massEdit-dbg.js +99 -0
- package/packages/sap.fe.test/src/sap/fe/test/massEdit.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/resources.json +1972 -0
- package/packages/sap.fe.test/test/sap/fe/test/designtime/api.json +1 -0
- package/packages/sap.fe.test/test/sap/fe/test/designtime/apiref/api.json +1 -0
- package/packages/sap.fe.test/test/sap/fe/test/designtime/codeassistance/Library.jsmeta.json +1 -0
- package/packages/sap.fe.test/test/sap/fe/test/designtime/codeassistance/Library.jstemplates.json +1 -0
- package/packages/sap.fe.test/test/sap/fe/test/designtime/codeassistance/Library.xmlmeta.json +1 -0
- package/packages/sap.fe.test/test/sap/fe/test/designtime/codeassistance/Library.xmltemplates.json +1 -0
- package/packages/sap.fe.test/test/sap/fe/test/mockserver/MockServer.js +134870 -0
- package/src/LICENSE.txt +23 -0
- package/ui5.yaml +66 -0
|
@@ -0,0 +1,1206 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
|
+
* (c) Copyright 2009-2021 SAP SE. All rights reserved
|
|
4
|
+
*/
|
|
5
|
+
sap.ui.define(["sap/fe/core/converters/controls/Common/Table", "path", "sap/fe/core/converters/MetaModelConverter", "sap/fe/test/JestTemplatingHelper", "sap/fe/core/converters/ManifestSettings", "sap/fe/core/helpers/BindingExpression", "sap/fe/core/converters/helpers/BindingHelper", "sap/fe/core/converters/helpers/ConfigurableObject"], function (Table, path, MetaModelConverter, JestTemplatingHelper, ManifestSettings, BindingExpression, BindingHelper, ConfigurableObject) {
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
var Placement = ConfigurableObject.Placement;
|
|
9
|
+
var UI = BindingHelper.UI;
|
|
10
|
+
var constant = BindingExpression.constant;
|
|
11
|
+
var compileBinding = BindingExpression.compileBinding;
|
|
12
|
+
var bindingExpression = BindingExpression.bindingExpression;
|
|
13
|
+
var TemplateType = ManifestSettings.TemplateType;
|
|
14
|
+
var HorizontalAlign = ManifestSettings.HorizontalAlign;
|
|
15
|
+
var CreationMode = ManifestSettings.CreationMode;
|
|
16
|
+
var getMetaModel = JestTemplatingHelper.getMetaModel;
|
|
17
|
+
var getConverterContextForTest = JestTemplatingHelper.getConverterContextForTest;
|
|
18
|
+
var compileCDS = JestTemplatingHelper.compileCDS;
|
|
19
|
+
var convertTypes = MetaModelConverter.convertTypes;
|
|
20
|
+
var getEnablementMassEdit = Table.getEnablementMassEdit;
|
|
21
|
+
var getVisibilityMassEdit = Table.getVisibilityMassEdit;
|
|
22
|
+
var getTableManifestConfiguration = Table.getTableManifestConfiguration;
|
|
23
|
+
var getTableColumns = Table.getTableColumns;
|
|
24
|
+
var getTableActions = Table.getTableActions;
|
|
25
|
+
var getSelectionMode = Table.getSelectionMode;
|
|
26
|
+
var getCreateVisible = Table.getCreateVisible;
|
|
27
|
+
|
|
28
|
+
var convertedTypes;
|
|
29
|
+
var convertedTypesNoOa;
|
|
30
|
+
var convertedTypesAnalyticalService;
|
|
31
|
+
var convertedTypesOaTrue;
|
|
32
|
+
var convertedTypesOaFalse;
|
|
33
|
+
var convertedTypesSelectionMode;
|
|
34
|
+
beforeAll(function () {
|
|
35
|
+
try {
|
|
36
|
+
var sMetadataUrl = compileCDS(path.join(__dirname, "../data/Table.cds"));
|
|
37
|
+
return Promise.resolve(getMetaModel(sMetadataUrl)).then(function (metaModel) {
|
|
38
|
+
convertedTypes = convertTypes(metaModel);
|
|
39
|
+
var sMetadataUrlSelectionMode = compileCDS(path.join(__dirname, "../data/TableGetSelectionMode.cds"));
|
|
40
|
+
return Promise.resolve(getMetaModel(sMetadataUrlSelectionMode)).then(function (metaModelSelectionMode) {
|
|
41
|
+
convertedTypesSelectionMode = convertTypes(metaModelSelectionMode);
|
|
42
|
+
var sMetadataUrlAnalyticalService = compileCDS(path.join(__dirname, "../data/AnalyticalService.cds"));
|
|
43
|
+
return Promise.resolve(getMetaModel(sMetadataUrlAnalyticalService)).then(function (metaModelAnalyticalService) {
|
|
44
|
+
convertedTypesAnalyticalService = convertTypes(metaModelAnalyticalService);
|
|
45
|
+
var sMetadataUrlNoOa = compileCDS(path.join(__dirname, "../data/TableNewActionNoOperationAvailable.cds"));
|
|
46
|
+
return Promise.resolve(getMetaModel(sMetadataUrlNoOa)).then(function (metaModelNoOa) {
|
|
47
|
+
convertedTypesNoOa = convertTypes(metaModelNoOa);
|
|
48
|
+
var sMetadataUrlOaTrue = compileCDS(path.join(__dirname, "../data/TableNewActionOperationAvailableTrue.cds"));
|
|
49
|
+
return Promise.resolve(getMetaModel(sMetadataUrlOaTrue)).then(function (metaModelOaTrue) {
|
|
50
|
+
convertedTypesOaTrue = convertTypes(metaModelOaTrue);
|
|
51
|
+
var sMetadataUrlOaFalse = compileCDS(path.join(__dirname, "../data/TableNewActionOperationAvailableFalse.cds"));
|
|
52
|
+
return Promise.resolve(getMetaModel(sMetadataUrlOaFalse)).then(function (metaModelOaFalse) {
|
|
53
|
+
convertedTypesOaFalse = convertTypes(metaModelOaFalse);
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
} catch (e) {
|
|
61
|
+
return Promise.reject(e);
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
var getTableConfigurationForTest = function (manifestSettings) {
|
|
66
|
+
var _basicContext$getEnti;
|
|
67
|
+
|
|
68
|
+
var isCondensedLayoutCompliant = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
69
|
+
var userContentDensities = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "compact";
|
|
70
|
+
var converterOutput = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : convertedTypes;
|
|
71
|
+
manifestSettings.shellContentDensity = userContentDensities;
|
|
72
|
+
var basicContext = getConverterContextForTest(converterOutput, manifestSettings);
|
|
73
|
+
return getTableManifestConfiguration((_basicContext$getEnti = basicContext.getEntityType().annotations.UI) === null || _basicContext$getEnti === void 0 ? void 0 : _basicContext$getEnti.LineItem, "@com.sap.vocabularies.UI.v1.LineItem", basicContext, isCondensedLayoutCompliant);
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
describe("Table Converter - #getTableManifestConfiguration ", function () {
|
|
77
|
+
it("works with basic configuration", function () {
|
|
78
|
+
var tableConfiguration = getTableConfigurationForTest({
|
|
79
|
+
entitySet: "TestEntity",
|
|
80
|
+
converterType: TemplateType.ListReport
|
|
81
|
+
});
|
|
82
|
+
expect(tableConfiguration).toMatchSnapshot();
|
|
83
|
+
expect(tableConfiguration.type === "ResponsiveTable");
|
|
84
|
+
});
|
|
85
|
+
it("Influence the table type", function () {
|
|
86
|
+
var tableConfiguration = getTableConfigurationForTest({
|
|
87
|
+
entitySet: "TestEntity",
|
|
88
|
+
converterType: TemplateType.ListReport,
|
|
89
|
+
controlConfiguration: {
|
|
90
|
+
"@com.sap.vocabularies.UI.v1.LineItem": {
|
|
91
|
+
tableSettings: {
|
|
92
|
+
type: "GridTable"
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
expect(tableConfiguration.type).toEqual("GridTable");
|
|
98
|
+
});
|
|
99
|
+
it("Export Option Default", function () {
|
|
100
|
+
// If defined, then the value should be equal to the provided setting
|
|
101
|
+
var manifestSettings = {
|
|
102
|
+
entitySet: "TestEntity",
|
|
103
|
+
converterType: TemplateType.ListReport
|
|
104
|
+
};
|
|
105
|
+
var tableConfiguration = getTableConfigurationForTest(manifestSettings);
|
|
106
|
+
expect(tableConfiguration.enableExport).toBe(true);
|
|
107
|
+
manifestSettings.converterType = TemplateType.ObjectPage;
|
|
108
|
+
var tableConfigurationOP = getTableConfigurationForTest(manifestSettings);
|
|
109
|
+
expect(tableConfigurationOP.enableExport).toBe(true);
|
|
110
|
+
});
|
|
111
|
+
it("Influence the Export Option", function () {
|
|
112
|
+
// If defined, then the value should be equal to the provided setting
|
|
113
|
+
var manifestSettings = {
|
|
114
|
+
entitySet: "TestEntity",
|
|
115
|
+
converterType: TemplateType.ListReport,
|
|
116
|
+
controlConfiguration: {
|
|
117
|
+
"@com.sap.vocabularies.UI.v1.LineItem": {
|
|
118
|
+
tableSettings: {
|
|
119
|
+
enableExport: true
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
var tableConfiguration = getTableConfigurationForTest(manifestSettings);
|
|
125
|
+
expect(tableConfiguration.enableExport).toBe(true);
|
|
126
|
+
manifestSettings.converterType = TemplateType.ObjectPage;
|
|
127
|
+
var tableConfigurationOP = getTableConfigurationForTest(manifestSettings);
|
|
128
|
+
expect(tableConfigurationOP.enableExport).toBe(true);
|
|
129
|
+
var noPasteManifestSettings = {
|
|
130
|
+
entitySet: "TestEntity",
|
|
131
|
+
converterType: TemplateType.ListReport,
|
|
132
|
+
controlConfiguration: {
|
|
133
|
+
"@com.sap.vocabularies.UI.v1.LineItem": {
|
|
134
|
+
tableSettings: {
|
|
135
|
+
enablePaste: false
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
var tableConfigurationNoPaste = getTableConfigurationForTest(noPasteManifestSettings);
|
|
141
|
+
expect(tableConfigurationNoPaste.enableExport).toBe(true);
|
|
142
|
+
noPasteManifestSettings.converterType = TemplateType.ObjectPage;
|
|
143
|
+
var tableConfigurationNoPasteOP = getTableConfigurationForTest(noPasteManifestSettings);
|
|
144
|
+
expect(tableConfigurationNoPasteOP.enableExport).toBe(false);
|
|
145
|
+
});
|
|
146
|
+
it("Default checkbox is 'Deselect All' for a responsive Table in LR", function () {
|
|
147
|
+
var tableConfiguration = getTableConfigurationForTest({
|
|
148
|
+
entitySet: "TestEntity",
|
|
149
|
+
converterType: TemplateType.ListReport,
|
|
150
|
+
controlConfiguration: {
|
|
151
|
+
"@com.sap.vocabularies.UI.v1.LineItem": {
|
|
152
|
+
tableSettings: {
|
|
153
|
+
type: "ResponsiveTable"
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
expect(tableConfiguration.multiSelectMode).toEqual("ClearAll");
|
|
159
|
+
});
|
|
160
|
+
it("Checkbox is 'Select All' for a responsive Table in LR, when selectAll = true", function () {
|
|
161
|
+
var tableConfiguration = getTableConfigurationForTest({
|
|
162
|
+
entitySet: "TestEntity",
|
|
163
|
+
converterType: TemplateType.ListReport,
|
|
164
|
+
controlConfiguration: {
|
|
165
|
+
"@com.sap.vocabularies.UI.v1.LineItem": {
|
|
166
|
+
tableSettings: {
|
|
167
|
+
type: "ResponsiveTable",
|
|
168
|
+
selectAll: true
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
expect(tableConfiguration.multiSelectMode).toEqual("Default");
|
|
174
|
+
});
|
|
175
|
+
it("Default Checkbox is 'Deselect All' for responsive Tables in OP, within sections via tab bar (no anchor bar)", function () {
|
|
176
|
+
var tableConfiguration = getTableConfigurationForTest({
|
|
177
|
+
entitySet: "TestEntity",
|
|
178
|
+
converterType: TemplateType.ObjectPage,
|
|
179
|
+
sectionLayout: "Tabs",
|
|
180
|
+
controlConfiguration: {
|
|
181
|
+
"@com.sap.vocabularies.UI.v1.LineItem": {
|
|
182
|
+
tableSettings: {
|
|
183
|
+
type: "ResponsiveTable"
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
});
|
|
188
|
+
expect(tableConfiguration.multiSelectMode).toEqual("ClearAll");
|
|
189
|
+
});
|
|
190
|
+
it("Default Checkbox is 'Select All' for responsive Tables in OP, within sections using the anchor bar)", function () {
|
|
191
|
+
var tableConfiguration = getTableConfigurationForTest({
|
|
192
|
+
entitySet: "TestEntity",
|
|
193
|
+
converterType: TemplateType.ObjectPage,
|
|
194
|
+
sectionLayout: "Page",
|
|
195
|
+
controlConfiguration: {
|
|
196
|
+
"@com.sap.vocabularies.UI.v1.LineItem": {
|
|
197
|
+
tableSettings: {
|
|
198
|
+
type: "ResponsiveTable"
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
});
|
|
203
|
+
expect(tableConfiguration.multiSelectMode).toEqual("Default");
|
|
204
|
+
});
|
|
205
|
+
it("Checkbox is 'DeSelect All' for responsive Tables in OP, within sections using the anchor bar when selectAll is set to false)", function () {
|
|
206
|
+
var tableConfiguration = getTableConfigurationForTest({
|
|
207
|
+
entitySet: "TestEntity",
|
|
208
|
+
converterType: TemplateType.ObjectPage,
|
|
209
|
+
sectionLayout: "Page",
|
|
210
|
+
controlConfiguration: {
|
|
211
|
+
"@com.sap.vocabularies.UI.v1.LineItem": {
|
|
212
|
+
tableSettings: {
|
|
213
|
+
type: "ResponsiveTable",
|
|
214
|
+
selectAll: false
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
});
|
|
219
|
+
expect(tableConfiguration.multiSelectMode).toEqual("ClearAll");
|
|
220
|
+
});
|
|
221
|
+
});
|
|
222
|
+
describe("Table Converter - #getCreateVisible ", function () {
|
|
223
|
+
var IS_INSERTABLE_FALSE = constant(false);
|
|
224
|
+
var IS_INSERTABLE_TRUE = constant(true);
|
|
225
|
+
var IS_INSERTABLE_DYNAMIC = bindingExpression("SomeDynamicExpression");
|
|
226
|
+
var BASIC_CONTEXT_LR;
|
|
227
|
+
var BASIC_CONTEXT_OP;
|
|
228
|
+
var HIDDEN_CONTEXT_LR;
|
|
229
|
+
var HIDDEN_CONTEXT_OP;
|
|
230
|
+
var DYNAMIC_HIDDEN_CONTEXT_LR;
|
|
231
|
+
var DYNAMIC_HIDDEN_CONTEXT_OP;
|
|
232
|
+
var NEW_ACTION_NO_OA;
|
|
233
|
+
var NEW_ACTION_OA_TRUE;
|
|
234
|
+
var NEW_ACTION_OA_FALSE;
|
|
235
|
+
beforeAll(function () {
|
|
236
|
+
BASIC_CONTEXT_LR = getConverterContextForTest(convertedTypes, {
|
|
237
|
+
entitySet: "TestEntity",
|
|
238
|
+
converterType: TemplateType.ListReport
|
|
239
|
+
});
|
|
240
|
+
BASIC_CONTEXT_OP = getConverterContextForTest(convertedTypes, {
|
|
241
|
+
entitySet: "TestEntity",
|
|
242
|
+
converterType: TemplateType.ObjectPage
|
|
243
|
+
});
|
|
244
|
+
HIDDEN_CONTEXT_LR = getConverterContextForTest(convertedTypes, {
|
|
245
|
+
entitySet: "CreateHiddenEntity",
|
|
246
|
+
converterType: TemplateType.ListReport
|
|
247
|
+
});
|
|
248
|
+
HIDDEN_CONTEXT_OP = getConverterContextForTest(convertedTypes, {
|
|
249
|
+
entitySet: "CreateHiddenEntity",
|
|
250
|
+
converterType: TemplateType.ObjectPage
|
|
251
|
+
});
|
|
252
|
+
DYNAMIC_HIDDEN_CONTEXT_LR = getConverterContextForTest(convertedTypes, {
|
|
253
|
+
entitySet: "CreateHiddenDynamicEntity",
|
|
254
|
+
converterType: TemplateType.ListReport
|
|
255
|
+
});
|
|
256
|
+
DYNAMIC_HIDDEN_CONTEXT_OP = getConverterContextForTest(convertedTypes, {
|
|
257
|
+
entitySet: "CreateHiddenDynamicEntity",
|
|
258
|
+
converterType: TemplateType.ObjectPage
|
|
259
|
+
});
|
|
260
|
+
NEW_ACTION_NO_OA = getConverterContextForTest(convertedTypesNoOa, {
|
|
261
|
+
entitySet: "TestEntity",
|
|
262
|
+
converterType: TemplateType.ListReport
|
|
263
|
+
});
|
|
264
|
+
NEW_ACTION_OA_TRUE = getConverterContextForTest(convertedTypesOaTrue, {
|
|
265
|
+
entitySet: "TestEntity",
|
|
266
|
+
converterType: TemplateType.ListReport
|
|
267
|
+
});
|
|
268
|
+
NEW_ACTION_OA_FALSE = getConverterContextForTest(convertedTypesOaFalse, {
|
|
269
|
+
entitySet: "TestEntity",
|
|
270
|
+
converterType: TemplateType.ListReport
|
|
271
|
+
});
|
|
272
|
+
});
|
|
273
|
+
it("If it's statically not insertable -> create is not visible", function () {
|
|
274
|
+
expect(compileBinding(getCreateVisible(BASIC_CONTEXT_LR, CreationMode.CreationRow, IS_INSERTABLE_FALSE))).toEqual("false");
|
|
275
|
+
expect(compileBinding(getCreateVisible(BASIC_CONTEXT_LR, "External", IS_INSERTABLE_FALSE))).toEqual("false");
|
|
276
|
+
expect(compileBinding(getCreateVisible(BASIC_CONTEXT_OP, CreationMode.CreationRow, IS_INSERTABLE_FALSE))).toEqual("false");
|
|
277
|
+
expect(compileBinding(getCreateVisible(BASIC_CONTEXT_OP, "External", IS_INSERTABLE_FALSE))).toEqual("false");
|
|
278
|
+
});
|
|
279
|
+
it("If create is statically hidden -> create is not visible", function () {
|
|
280
|
+
expect(compileBinding(getCreateVisible(HIDDEN_CONTEXT_LR, CreationMode.CreationRow, IS_INSERTABLE_TRUE))).toEqual("false");
|
|
281
|
+
expect(compileBinding(getCreateVisible(HIDDEN_CONTEXT_LR, "External", IS_INSERTABLE_TRUE))).toEqual("false");
|
|
282
|
+
expect(compileBinding(getCreateVisible(HIDDEN_CONTEXT_OP, CreationMode.CreationRow, IS_INSERTABLE_TRUE))).toEqual("false");
|
|
283
|
+
expect(compileBinding(getCreateVisible(HIDDEN_CONTEXT_OP, "External", IS_INSERTABLE_TRUE))).toEqual("false");
|
|
284
|
+
});
|
|
285
|
+
it("Otherwise if the create mode is external -> create is visible", function () {
|
|
286
|
+
expect(compileBinding(getCreateVisible(BASIC_CONTEXT_LR, "External", IS_INSERTABLE_TRUE))).toEqual("true");
|
|
287
|
+
expect(compileBinding(getCreateVisible(BASIC_CONTEXT_OP, "External", IS_INSERTABLE_TRUE))).toEqual("true");
|
|
288
|
+
expect(compileBinding(getCreateVisible(BASIC_CONTEXT_LR, "External", IS_INSERTABLE_DYNAMIC))).toEqual("true");
|
|
289
|
+
expect(compileBinding(getCreateVisible(BASIC_CONTEXT_OP, "External", IS_INSERTABLE_DYNAMIC))).toEqual("true");
|
|
290
|
+
expect(compileBinding(getCreateVisible(DYNAMIC_HIDDEN_CONTEXT_LR, "External", IS_INSERTABLE_TRUE))).toEqual("true");
|
|
291
|
+
expect(compileBinding(getCreateVisible(DYNAMIC_HIDDEN_CONTEXT_OP, "External", IS_INSERTABLE_TRUE))).toEqual("true");
|
|
292
|
+
expect(compileBinding(getCreateVisible(DYNAMIC_HIDDEN_CONTEXT_LR, "External", IS_INSERTABLE_DYNAMIC))).toEqual("true");
|
|
293
|
+
expect(compileBinding(getCreateVisible(DYNAMIC_HIDDEN_CONTEXT_OP, "External", IS_INSERTABLE_DYNAMIC))).toEqual("true");
|
|
294
|
+
});
|
|
295
|
+
it("If we're on the list report -> create is visible", function () {
|
|
296
|
+
expect(compileBinding(getCreateVisible(BASIC_CONTEXT_LR, CreationMode.CreationRow, IS_INSERTABLE_TRUE))).toEqual("true");
|
|
297
|
+
expect(compileBinding(getCreateVisible(DYNAMIC_HIDDEN_CONTEXT_LR, CreationMode.CreationRow, IS_INSERTABLE_TRUE))).toEqual("{= !%{hiddenCreate}}");
|
|
298
|
+
expect(compileBinding(getCreateVisible(BASIC_CONTEXT_LR, CreationMode.CreationRow, IS_INSERTABLE_DYNAMIC))).toEqual("true");
|
|
299
|
+
expect(compileBinding(getCreateVisible(DYNAMIC_HIDDEN_CONTEXT_LR, CreationMode.CreationRow, IS_INSERTABLE_DYNAMIC))).toEqual("{= !%{hiddenCreate}}");
|
|
300
|
+
});
|
|
301
|
+
it("Otherwise this depends on the value of the the UI.IsEditable", function () {
|
|
302
|
+
expect(getCreateVisible(BASIC_CONTEXT_OP, CreationMode.CreationRow, IS_INSERTABLE_TRUE)).toEqual(UI.IsEditable);
|
|
303
|
+
expect(getCreateVisible(BASIC_CONTEXT_OP, CreationMode.CreationRow, IS_INSERTABLE_DYNAMIC)).toEqual(UI.IsEditable);
|
|
304
|
+
expect(compileBinding(getCreateVisible(DYNAMIC_HIDDEN_CONTEXT_OP, CreationMode.CreationRow, IS_INSERTABLE_TRUE))).toEqual("{= (!%{hiddenCreate} && %{ui>/isEditable})}");
|
|
305
|
+
expect(compileBinding(getCreateVisible(DYNAMIC_HIDDEN_CONTEXT_OP, CreationMode.CreationRow, IS_INSERTABLE_DYNAMIC))).toEqual("{= (!%{hiddenCreate} && %{ui>/isEditable})}");
|
|
306
|
+
});
|
|
307
|
+
it("If a New Action exists create depends on the Core.OperationAvailable annotation", function () {
|
|
308
|
+
expect(compileBinding(getCreateVisible(NEW_ACTION_NO_OA, CreationMode.CreationRow, IS_INSERTABLE_TRUE))).toEqual("true");
|
|
309
|
+
expect(compileBinding(getCreateVisible(NEW_ACTION_NO_OA, CreationMode.CreationRow, IS_INSERTABLE_FALSE))).toEqual("true");
|
|
310
|
+
expect(compileBinding(getCreateVisible(NEW_ACTION_OA_TRUE, CreationMode.CreationRow, IS_INSERTABLE_TRUE))).toEqual("true");
|
|
311
|
+
expect(compileBinding(getCreateVisible(NEW_ACTION_OA_TRUE, CreationMode.CreationRow, IS_INSERTABLE_FALSE))).toEqual("true");
|
|
312
|
+
expect(compileBinding(getCreateVisible(NEW_ACTION_OA_FALSE, CreationMode.CreationRow, IS_INSERTABLE_TRUE))).toEqual("false");
|
|
313
|
+
expect(compileBinding(getCreateVisible(NEW_ACTION_OA_FALSE, CreationMode.CreationRow, IS_INSERTABLE_FALSE))).toEqual("false");
|
|
314
|
+
});
|
|
315
|
+
});
|
|
316
|
+
describe("Table Converter - #getVisibilityMassEdit", function () {
|
|
317
|
+
var BASIC_CONTEXT_LR;
|
|
318
|
+
var BASIC_CONTEXT_OP;
|
|
319
|
+
var BASIC_CONTEXT_OP_UPDATEHIDDEN;
|
|
320
|
+
var BASIC_CONTEXT_OP_UPDATEHIDDEN1;
|
|
321
|
+
var BASIC_CONTEXT_OP_UPDATEHIDDEN_PATH;
|
|
322
|
+
var tableManifestConfigurationWithMassEdit = {
|
|
323
|
+
enableMassEdit: true
|
|
324
|
+
};
|
|
325
|
+
var tableManifestConfigurationWithoutMassEdit = {
|
|
326
|
+
enableMassEdit: false
|
|
327
|
+
};
|
|
328
|
+
var tableConfWithMassEditSelectionLimit = {
|
|
329
|
+
enableMassEdit: false,
|
|
330
|
+
selectionLimit: 1
|
|
331
|
+
};
|
|
332
|
+
beforeAll(function () {
|
|
333
|
+
BASIC_CONTEXT_LR = getConverterContextForTest(convertedTypes, {
|
|
334
|
+
entitySet: "TestEntity",
|
|
335
|
+
converterType: TemplateType.ListReport
|
|
336
|
+
});
|
|
337
|
+
BASIC_CONTEXT_OP = getConverterContextForTest(convertedTypes, {
|
|
338
|
+
entitySet: "TestEntity",
|
|
339
|
+
converterType: TemplateType.ObjectPage
|
|
340
|
+
});
|
|
341
|
+
BASIC_CONTEXT_OP_UPDATEHIDDEN = getConverterContextForTest(convertedTypes, {
|
|
342
|
+
entitySet: "UpdateHiddenEntity",
|
|
343
|
+
converterType: TemplateType.ObjectPage
|
|
344
|
+
});
|
|
345
|
+
BASIC_CONTEXT_OP_UPDATEHIDDEN1 = getConverterContextForTest(convertedTypes, {
|
|
346
|
+
entitySet: "UpdateHiddenEntity1",
|
|
347
|
+
converterType: TemplateType.ObjectPage
|
|
348
|
+
});
|
|
349
|
+
BASIC_CONTEXT_OP_UPDATEHIDDEN_PATH = getConverterContextForTest(convertedTypes, {
|
|
350
|
+
entitySet: "MassEditUpdateHiddenDynamicEntity",
|
|
351
|
+
converterType: TemplateType.ObjectPage
|
|
352
|
+
});
|
|
353
|
+
});
|
|
354
|
+
it("For list report Mass edit should not be visible in any case.", function () {
|
|
355
|
+
expect(getVisibilityMassEdit(BASIC_CONTEXT_LR, tableManifestConfigurationWithMassEdit, {
|
|
356
|
+
isUpdatable: true,
|
|
357
|
+
isDeletable: true
|
|
358
|
+
}, undefined)).toEqual(false);
|
|
359
|
+
expect(getVisibilityMassEdit(BASIC_CONTEXT_LR, tableManifestConfigurationWithoutMassEdit, {
|
|
360
|
+
isUpdatable: true,
|
|
361
|
+
isDeletable: true
|
|
362
|
+
}, undefined)).toEqual(false);
|
|
363
|
+
});
|
|
364
|
+
it("Different cases of mass edit visibility in object page.", function () {
|
|
365
|
+
//Mass Edit is enabled from manifest, entity set updatable is static false => Mass edit should not be visible.
|
|
366
|
+
expect(getVisibilityMassEdit(BASIC_CONTEXT_OP, tableManifestConfigurationWithMassEdit, {
|
|
367
|
+
isUpdatable: false,
|
|
368
|
+
isDeletable: true
|
|
369
|
+
}, undefined)).toEqual(false); //Mass Edit is disabled from manifest, entity set updatable is static true => Mass edit should not be visible.
|
|
370
|
+
|
|
371
|
+
expect(getVisibilityMassEdit(BASIC_CONTEXT_OP, tableManifestConfigurationWithoutMassEdit, {
|
|
372
|
+
isUpdatable: true,
|
|
373
|
+
isDeletable: true
|
|
374
|
+
}, undefined)).toEqual(false); //Mass Edit is enabled from manifest, entity set updatable is static true for List Report context => Mass edit should not be visible.
|
|
375
|
+
|
|
376
|
+
expect(getVisibilityMassEdit(BASIC_CONTEXT_LR, tableManifestConfigurationWithMassEdit, {
|
|
377
|
+
isUpdatable: true,
|
|
378
|
+
isDeletable: true
|
|
379
|
+
}, undefined)).toEqual(false); //Mass Edit is enabled from manifest, entity set updatable is static true for object page context => Mass edit should be visible if object page is in edit mode.
|
|
380
|
+
|
|
381
|
+
expect(getVisibilityMassEdit(BASIC_CONTEXT_OP, tableManifestConfigurationWithMassEdit, {
|
|
382
|
+
isUpdatable: true,
|
|
383
|
+
isDeletable: true
|
|
384
|
+
}, undefined)).toEqual("{ui>/isEditable}"); //Mass Edit is enabled from manifest, entity set updatable is static true for object page context, selection mode is singal => Mass edit should not be visible.
|
|
385
|
+
|
|
386
|
+
expect(getVisibilityMassEdit(BASIC_CONTEXT_OP, tableManifestConfigurationWithMassEdit, {
|
|
387
|
+
isUpdatable: true,
|
|
388
|
+
isDeletable: true
|
|
389
|
+
}, "Single")).toEqual(false); //Mass Edit is enabled from manifest, entity set updatable is static true for object page context, selection limit is set to 1 => Mass edit should not be visible.
|
|
390
|
+
|
|
391
|
+
expect(getVisibilityMassEdit(BASIC_CONTEXT_OP, tableConfWithMassEditSelectionLimit, {
|
|
392
|
+
isUpdatable: true,
|
|
393
|
+
isDeletable: true
|
|
394
|
+
}, undefined)).toEqual(false); //Mass Edit is enabled from manifest, entity set updatable is static true for object page context, update hidden annotation is true => Mass edit should not be visible.
|
|
395
|
+
|
|
396
|
+
expect(getVisibilityMassEdit(BASIC_CONTEXT_OP_UPDATEHIDDEN, tableManifestConfigurationWithMassEdit, {
|
|
397
|
+
isUpdatable: true,
|
|
398
|
+
isDeletable: true
|
|
399
|
+
}, undefined)).toEqual(false); //Mass Edit is enabled from manifest, entity set updatable is static true for object page context, update hidden annotation is path based => Mass edit should be visible if the path value is false and object page is in edit mode.
|
|
400
|
+
|
|
401
|
+
expect(getVisibilityMassEdit(BASIC_CONTEXT_OP_UPDATEHIDDEN_PATH, tableManifestConfigurationWithMassEdit, {
|
|
402
|
+
isUpdatable: true,
|
|
403
|
+
isDeletable: true
|
|
404
|
+
}, undefined)).toEqual("{= (%{ui>/isEditable} === true && %{updateHidden} === false)}"); //Mass Edit is enabled from manifest, entity set updatable is static true for object page context, update hidden annotation is false => Mass edit should be visible if object page is in edit mode.
|
|
405
|
+
|
|
406
|
+
expect(getVisibilityMassEdit(BASIC_CONTEXT_OP_UPDATEHIDDEN1, tableManifestConfigurationWithMassEdit, {
|
|
407
|
+
isUpdatable: true,
|
|
408
|
+
isDeletable: true
|
|
409
|
+
}, undefined)).toEqual("{ui>/isEditable}");
|
|
410
|
+
});
|
|
411
|
+
});
|
|
412
|
+
describe("Table Converter - #getEnablementMassEdit", function () {
|
|
413
|
+
var BASIC_CONTEXT_OP_PATH_BASED_UPDATE_RESTRICTION;
|
|
414
|
+
var BASIC_CONTEXT_OP_STATIC_UPDATE_RESTRICTION;
|
|
415
|
+
beforeAll(function () {
|
|
416
|
+
BASIC_CONTEXT_OP_PATH_BASED_UPDATE_RESTRICTION = getConverterContextForTest(convertedTypes, {
|
|
417
|
+
entitySet: "EntitySetWithPathBasedUpdateRestriction",
|
|
418
|
+
converterType: TemplateType.ObjectPage
|
|
419
|
+
});
|
|
420
|
+
BASIC_CONTEXT_OP_STATIC_UPDATE_RESTRICTION = getConverterContextForTest(convertedTypes, {
|
|
421
|
+
entitySet: "EntitySetWithStaticUpdateRestriction",
|
|
422
|
+
converterType: TemplateType.ObjectPage
|
|
423
|
+
});
|
|
424
|
+
}); //This scenario will be handled in tablehelper returning false from converter in this case
|
|
425
|
+
|
|
426
|
+
it("The mass edit is visible, and update restrictions are set to a path value of current entity set.", function () {
|
|
427
|
+
expect(getEnablementMassEdit(BASIC_CONTEXT_OP_PATH_BASED_UPDATE_RESTRICTION, true)).toEqual(false);
|
|
428
|
+
});
|
|
429
|
+
it("The mass edit is visible, and update restrictions are set to static true.", function () {
|
|
430
|
+
expect(getEnablementMassEdit(BASIC_CONTEXT_OP_STATIC_UPDATE_RESTRICTION, true)).toEqual("{= %{internal>numberOfSelectedContexts} >= 2 && true}");
|
|
431
|
+
});
|
|
432
|
+
it("The mass edit is not visible as update restrictions are set to static false.", function () {
|
|
433
|
+
expect(getEnablementMassEdit(BASIC_CONTEXT_OP_STATIC_UPDATE_RESTRICTION, false)).toEqual(false);
|
|
434
|
+
});
|
|
435
|
+
});
|
|
436
|
+
describe("Table Converter - #getSelectionMode ", function () {
|
|
437
|
+
var getSelectionModeForTest = function (isEntitySet, targetCapabilities, basicContext, visualizationPath) {
|
|
438
|
+
var _basicContext$getEnti2;
|
|
439
|
+
|
|
440
|
+
return getSelectionMode((_basicContext$getEnti2 = basicContext.getEntityType().annotations.UI) === null || _basicContext$getEnti2 === void 0 ? void 0 : _basicContext$getEnti2.LineItem, visualizationPath, basicContext, isEntitySet, targetCapabilities);
|
|
441
|
+
};
|
|
442
|
+
|
|
443
|
+
it("If the LR is not deletable and its table has not action : the tableSelectionMode is 'None' ", function () {
|
|
444
|
+
var basicContext_LR = getConverterContextForTest(convertedTypesSelectionMode, {
|
|
445
|
+
entitySet: "EntityWithoutActionOnTable",
|
|
446
|
+
converterType: TemplateType.ListReport
|
|
447
|
+
});
|
|
448
|
+
var result = getSelectionModeForTest(true, {
|
|
449
|
+
isDeletable: false,
|
|
450
|
+
isUpdatable: false
|
|
451
|
+
}, basicContext_LR, "@com.sap.vocabularies.UI.v1.LineItem");
|
|
452
|
+
expect(result).toEqual("None");
|
|
453
|
+
});
|
|
454
|
+
it("If the LR is deletable and its table has not action : the tableSelectionMode is 'Multi' ", function () {
|
|
455
|
+
var basicContext_LR = getConverterContextForTest(convertedTypesSelectionMode, {
|
|
456
|
+
entitySet: "EntityWithoutActionOnTable",
|
|
457
|
+
converterType: TemplateType.ListReport
|
|
458
|
+
});
|
|
459
|
+
var result = getSelectionModeForTest(true, {
|
|
460
|
+
isDeletable: true,
|
|
461
|
+
isUpdatable: false
|
|
462
|
+
}, basicContext_LR, "@com.sap.vocabularies.UI.v1.LineItem");
|
|
463
|
+
expect(result).toEqual("Multi");
|
|
464
|
+
});
|
|
465
|
+
it("If the LR is not deletable and its table has at least 1 bound action : the tableSelectionMode is 'Multi' ", function () {
|
|
466
|
+
var basicContext_LR = getConverterContextForTest(convertedTypesSelectionMode, {
|
|
467
|
+
entitySet: "EntityWithBoundActionOnTable",
|
|
468
|
+
converterType: TemplateType.ListReport
|
|
469
|
+
});
|
|
470
|
+
var result = getSelectionModeForTest(true, {
|
|
471
|
+
isDeletable: false,
|
|
472
|
+
isUpdatable: false
|
|
473
|
+
}, basicContext_LR, "@com.sap.vocabularies.UI.v1.LineItem");
|
|
474
|
+
expect(result).toEqual("Multi");
|
|
475
|
+
});
|
|
476
|
+
it("If the LR is not deletable and its table has only unbound actions : the tableSelectionMode is 'None' ", function () {
|
|
477
|
+
var basicContext_LR = getConverterContextForTest(convertedTypesSelectionMode, {
|
|
478
|
+
entitySet: "EntityWithUnBoundActionOnTable",
|
|
479
|
+
converterType: TemplateType.ListReport
|
|
480
|
+
});
|
|
481
|
+
var result = getSelectionModeForTest(true, {
|
|
482
|
+
isDeletable: false,
|
|
483
|
+
isUpdatable: false
|
|
484
|
+
}, basicContext_LR, "@com.sap.vocabularies.UI.v1.LineItem");
|
|
485
|
+
expect(result).toEqual("None");
|
|
486
|
+
});
|
|
487
|
+
it("If the LR is not deletable and its table has 1 bound action without hidden annotation : the tableSelectionMode is 'Multi' ", function () {
|
|
488
|
+
var basicContext_LR = getConverterContextForTest(convertedTypesSelectionMode, {
|
|
489
|
+
entitySet: "EntityWithBoundActionOnTable",
|
|
490
|
+
converterType: TemplateType.ListReport
|
|
491
|
+
});
|
|
492
|
+
var result = getSelectionModeForTest(true, {
|
|
493
|
+
isDeletable: false,
|
|
494
|
+
isUpdatable: false
|
|
495
|
+
}, basicContext_LR, "@com.sap.vocabularies.UI.v1.LineItem");
|
|
496
|
+
expect(result).toEqual("Multi");
|
|
497
|
+
});
|
|
498
|
+
it("If the LR is not deletable and its table has 1 DataFieldForIntentBasedNavigation statically not hidden and requiring context : the tableSelectionMode is 'Multi' ", function () {
|
|
499
|
+
var basicContext_LR = getConverterContextForTest(convertedTypesSelectionMode, {
|
|
500
|
+
entitySet: "EntityWithActionRequingContextOnTable",
|
|
501
|
+
converterType: TemplateType.ListReport
|
|
502
|
+
});
|
|
503
|
+
var result = getSelectionModeForTest(true, {
|
|
504
|
+
isDeletable: false,
|
|
505
|
+
isUpdatable: false
|
|
506
|
+
}, basicContext_LR, "@com.sap.vocabularies.UI.v1.LineItem");
|
|
507
|
+
expect(result).toEqual("Multi");
|
|
508
|
+
});
|
|
509
|
+
it("If the LR is not deletable and its table has 1 DataFieldForIntentBasedNavigation requiring a context with Hidden binding exp : the tableSelectionMode is '{= %{isHidden} === false ? 'Multi' : 'None'}' ", function () {
|
|
510
|
+
var basicContext_LR = getConverterContextForTest(convertedTypesSelectionMode, {
|
|
511
|
+
entitySet: "EntityWithActionRequingContextOnTableWithHiddenExp",
|
|
512
|
+
converterType: TemplateType.ListReport
|
|
513
|
+
});
|
|
514
|
+
var result = getSelectionModeForTest(true, {
|
|
515
|
+
isDeletable: false,
|
|
516
|
+
isUpdatable: false
|
|
517
|
+
}, basicContext_LR, "@com.sap.vocabularies.UI.v1.LineItem");
|
|
518
|
+
expect(result).toEqual("{= %{isHidden} === false ? 'Multi' : 'None'}");
|
|
519
|
+
});
|
|
520
|
+
it("If the LR is not deletable and its table has 1 custom bound and statically visible action : the tableSelectionMode is 'Multi' ", function () {
|
|
521
|
+
var manifestSettings = {
|
|
522
|
+
entitySet: "EntityWithCustomActionOnTable",
|
|
523
|
+
converterType: TemplateType.ListReport,
|
|
524
|
+
controlConfiguration: {
|
|
525
|
+
"@com.sap.vocabularies.UI.v1.LineItem": {
|
|
526
|
+
tableSettings: {
|
|
527
|
+
enableExport: false
|
|
528
|
+
},
|
|
529
|
+
actions: {
|
|
530
|
+
"Action1": {
|
|
531
|
+
press: "xx",
|
|
532
|
+
visible: "true",
|
|
533
|
+
enabled: "true",
|
|
534
|
+
text: "Custom Action",
|
|
535
|
+
enableOnSelect: "xx",
|
|
536
|
+
requiresSelection: true
|
|
537
|
+
}
|
|
538
|
+
}
|
|
539
|
+
}
|
|
540
|
+
}
|
|
541
|
+
};
|
|
542
|
+
var basicContext_LR = getConverterContextForTest(convertedTypesSelectionMode, manifestSettings);
|
|
543
|
+
var result = getSelectionModeForTest(true, {
|
|
544
|
+
isDeletable: false,
|
|
545
|
+
isUpdatable: false
|
|
546
|
+
}, basicContext_LR, "@com.sap.vocabularies.UI.v1.LineItem");
|
|
547
|
+
expect(result).toEqual("Multi");
|
|
548
|
+
});
|
|
549
|
+
it("If the LR is not deletable and its table has several custom bound actions with visible key as an expression binding : the tableSelectionMode is 'Multi' in Edit Mode, 'None' otherwise", function () {
|
|
550
|
+
var manifestSettings = {
|
|
551
|
+
entitySet: "EntityWithCustomActionOnTable",
|
|
552
|
+
converterType: TemplateType.ListReport,
|
|
553
|
+
controlConfiguration: {
|
|
554
|
+
"@com.sap.vocabularies.UI.v1.LineItem": {
|
|
555
|
+
tableSettings: {
|
|
556
|
+
enableExport: false
|
|
557
|
+
},
|
|
558
|
+
actions: {
|
|
559
|
+
"Action1": {
|
|
560
|
+
press: "xx",
|
|
561
|
+
visible: "{= ${ui>/editMode} === 'Editable' }",
|
|
562
|
+
enabled: "true",
|
|
563
|
+
text: "Custom Action1",
|
|
564
|
+
enableOnSelect: "xx",
|
|
565
|
+
requiresSelection: true
|
|
566
|
+
},
|
|
567
|
+
"Action2": {
|
|
568
|
+
press: "xx",
|
|
569
|
+
visible: "{= %{OverallSDProcessStatus} === 'B' }",
|
|
570
|
+
enabled: "true",
|
|
571
|
+
text: "Custom Action2",
|
|
572
|
+
enableOnSelect: "xx",
|
|
573
|
+
requiresSelection: true
|
|
574
|
+
}
|
|
575
|
+
}
|
|
576
|
+
}
|
|
577
|
+
}
|
|
578
|
+
};
|
|
579
|
+
var basicContext_LR = getConverterContextForTest(convertedTypesSelectionMode, manifestSettings);
|
|
580
|
+
var result = getSelectionModeForTest(true, {
|
|
581
|
+
isDeletable: false,
|
|
582
|
+
isUpdatable: false
|
|
583
|
+
}, basicContext_LR, "@com.sap.vocabularies.UI.v1.LineItem");
|
|
584
|
+
expect(result).toEqual("{= (( ${ui>/editMode} === 'Editable' ) || ( %{OverallSDProcessStatus} === 'B' )) ? 'Multi' : 'None'}");
|
|
585
|
+
});
|
|
586
|
+
it("If the OP is not deletable and and its table has not action : the tableSelectionMode is 'None' ", function () {
|
|
587
|
+
var basicContext_OP = getConverterContextForTest(convertedTypesSelectionMode, {
|
|
588
|
+
entitySet: "EntityWithoutActionOnTable",
|
|
589
|
+
converterType: TemplateType.ObjectPage
|
|
590
|
+
});
|
|
591
|
+
var result = getSelectionModeForTest(false, {
|
|
592
|
+
isDeletable: false,
|
|
593
|
+
isUpdatable: false
|
|
594
|
+
}, basicContext_OP, "@com.sap.vocabularies.UI.v1.LineItem");
|
|
595
|
+
expect(result).toEqual("None");
|
|
596
|
+
});
|
|
597
|
+
it("If the OP is deletable and its table has not action : the tableSelectionMode is Multi in Edit Mode and None otherwise", function () {
|
|
598
|
+
var basicContext_OP = getConverterContextForTest(convertedTypesSelectionMode, {
|
|
599
|
+
entitySet: "EntityWithoutActionOnTable",
|
|
600
|
+
converterType: TemplateType.ObjectPage
|
|
601
|
+
});
|
|
602
|
+
var result = getSelectionModeForTest(false, {
|
|
603
|
+
isDeletable: true,
|
|
604
|
+
isUpdatable: false
|
|
605
|
+
}, basicContext_OP, "@com.sap.vocabularies.UI.v1.LineItem");
|
|
606
|
+
expect(result).toEqual("{= %{ui>/editMode} === 'Editable' ? 'Multi' : 'None'}");
|
|
607
|
+
});
|
|
608
|
+
it("If the OP is deletable and its table has 1 DataFieldForIntentBasedNavigation requiring a context with Hidden binding exp with nav property", function () {
|
|
609
|
+
var manifestSettings = {
|
|
610
|
+
entitySet: "EntityWithBoundActionOnTableWithHiddenExp",
|
|
611
|
+
converterType: TemplateType.ObjectPage,
|
|
612
|
+
controlConfiguration: {
|
|
613
|
+
"_Item/@com.sap.vocabularies.UI.v1.LineItem": {
|
|
614
|
+
tableSettings: {
|
|
615
|
+
enableExport: false
|
|
616
|
+
}
|
|
617
|
+
}
|
|
618
|
+
}
|
|
619
|
+
};
|
|
620
|
+
var basicContext_OP = getConverterContextForTest(convertedTypesSelectionMode, manifestSettings);
|
|
621
|
+
var dataModelObjectPath = basicContext_OP.getDataModelObjectPath();
|
|
622
|
+
dataModelObjectPath.targetObject._type = "NavigationProperty";
|
|
623
|
+
dataModelObjectPath.targetObject.partner = "owner";
|
|
624
|
+
var result = getSelectionModeForTest(false, {
|
|
625
|
+
isDeletable: true,
|
|
626
|
+
isUpdatable: false
|
|
627
|
+
}, basicContext_OP, "_Item/@com.sap.vocabularies.UI.v1.LineItem");
|
|
628
|
+
expect(result).toEqual("{= %{ui>/editMode} === 'Editable' ? 'Multi' : (%{Hidden} === false ? 'Multi' : 'None')}");
|
|
629
|
+
});
|
|
630
|
+
it("If the OP is deletable and its table has 1 DataFieldForIntentBasedNavigation requiring a context with an Hidden annotation (without navProp) : the tableSelectionMode is Multi in Edition, None otherwise", function () {
|
|
631
|
+
var basicContext_OP = getConverterContextForTest(convertedTypesSelectionMode, {
|
|
632
|
+
entitySet: "EntityWithBoundAction2OnTableWithHiddenExp",
|
|
633
|
+
converterType: TemplateType.ObjectPage
|
|
634
|
+
});
|
|
635
|
+
var result = getSelectionModeForTest(false, {
|
|
636
|
+
isDeletable: true,
|
|
637
|
+
isUpdatable: false
|
|
638
|
+
}, basicContext_OP, "@com.sap.vocabularies.UI.v1.LineItem");
|
|
639
|
+
expect(result).toEqual("{= %{ui>/editMode} === 'Editable' ? 'Multi' : 'None'}");
|
|
640
|
+
});
|
|
641
|
+
it("If the OP is not deletable and its table has 1 always visible Bound Action but bound on a different context from the table one : the tableSelectionMode is Multi in Edition, None otherwise", function () {
|
|
642
|
+
var basicContext_OP = getConverterContextForTest(convertedTypesSelectionMode, {
|
|
643
|
+
entitySet: "EntityWithBoundActionNotBoundOnTheTable",
|
|
644
|
+
converterType: TemplateType.ObjectPage
|
|
645
|
+
});
|
|
646
|
+
var result = getSelectionModeForTest(false, {
|
|
647
|
+
isDeletable: false,
|
|
648
|
+
isUpdatable: false
|
|
649
|
+
}, basicContext_OP, "_Partner/@com.sap.vocabularies.UI.v1.LineItem");
|
|
650
|
+
expect(result).toEqual("None");
|
|
651
|
+
});
|
|
652
|
+
it("If the OP is deletable and its table has a mix of visible actions with Hidden and visible binding exp with nav property", function () {
|
|
653
|
+
var manifestSettings = {
|
|
654
|
+
entitySet: "EntityWithMultipleActionsWithBindingExp",
|
|
655
|
+
converterType: TemplateType.ObjectPage,
|
|
656
|
+
controlConfiguration: {
|
|
657
|
+
"_Item/@com.sap.vocabularies.UI.v1.LineItem": {
|
|
658
|
+
tableSettings: {
|
|
659
|
+
enableExport: false
|
|
660
|
+
},
|
|
661
|
+
actions: {
|
|
662
|
+
"Action1": {
|
|
663
|
+
press: "xx",
|
|
664
|
+
visible: "{= ${ui>/editMode} === 'Editable' }",
|
|
665
|
+
enabled: "true",
|
|
666
|
+
text: "Custom Action1",
|
|
667
|
+
enableOnSelect: "xx",
|
|
668
|
+
requiresSelection: true
|
|
669
|
+
},
|
|
670
|
+
"Action2": {
|
|
671
|
+
press: "xx",
|
|
672
|
+
visible: "{= %{OverallSDProcessStatus} === 'B' }",
|
|
673
|
+
enabled: "true",
|
|
674
|
+
text: "Custom Action2",
|
|
675
|
+
enableOnSelect: "xx",
|
|
676
|
+
requiresSelection: true
|
|
677
|
+
}
|
|
678
|
+
}
|
|
679
|
+
}
|
|
680
|
+
}
|
|
681
|
+
};
|
|
682
|
+
var basicContext_OP = getConverterContextForTest(convertedTypesSelectionMode, manifestSettings);
|
|
683
|
+
var dataModelObjectPath = basicContext_OP.getDataModelObjectPath();
|
|
684
|
+
dataModelObjectPath.targetObject._type = "NavigationProperty";
|
|
685
|
+
dataModelObjectPath.targetObject.partner = "owner";
|
|
686
|
+
var result = getSelectionModeForTest(false, {
|
|
687
|
+
isDeletable: true,
|
|
688
|
+
isUpdatable: false
|
|
689
|
+
}, basicContext_OP, "_Item/@com.sap.vocabularies.UI.v1.LineItem");
|
|
690
|
+
expect(result).toEqual("{= %{ui>/editMode} === 'Editable' ? 'Multi' : ((%{Hidden1} === false || %{Hidden2} === false || ( ${ui>/editMode} === 'Editable' ) || ( %{OverallSDProcessStatus} === 'B' )) ? 'Multi' : 'None')}");
|
|
691
|
+
});
|
|
692
|
+
});
|
|
693
|
+
describe("Show counts in table title", function () {
|
|
694
|
+
it("Default Value", {
|
|
695
|
+
"references": [{
|
|
696
|
+
"type": "Jira",
|
|
697
|
+
"ID": "FIORITECHP1-20353"
|
|
698
|
+
}]
|
|
699
|
+
}, function () {
|
|
700
|
+
var manifestSettings = {
|
|
701
|
+
entitySet: "TestEntity",
|
|
702
|
+
converterType: TemplateType.ListReport
|
|
703
|
+
};
|
|
704
|
+
var tableConfiguration = getTableConfigurationForTest(manifestSettings);
|
|
705
|
+
expect(tableConfiguration.showRowCount).toBe(true);
|
|
706
|
+
});
|
|
707
|
+
it("Show Counts set to true", {
|
|
708
|
+
"references": [{
|
|
709
|
+
"type": "Jira",
|
|
710
|
+
"ID": "FIORITECHP1-20353"
|
|
711
|
+
}]
|
|
712
|
+
}, function () {
|
|
713
|
+
var manifestSettings = {
|
|
714
|
+
entitySet: "TestEntity",
|
|
715
|
+
converterType: TemplateType.ListReport,
|
|
716
|
+
controlConfiguration: {
|
|
717
|
+
"@com.sap.vocabularies.UI.v1.LineItem": {
|
|
718
|
+
tableSettings: {
|
|
719
|
+
quickVariantSelection: {
|
|
720
|
+
showCounts: true,
|
|
721
|
+
paths: [{
|
|
722
|
+
annotationPath: "annotationString"
|
|
723
|
+
}]
|
|
724
|
+
}
|
|
725
|
+
}
|
|
726
|
+
}
|
|
727
|
+
}
|
|
728
|
+
};
|
|
729
|
+
var tableConfiguration = getTableConfigurationForTest(manifestSettings);
|
|
730
|
+
expect(tableConfiguration.showRowCount).toBe(false);
|
|
731
|
+
});
|
|
732
|
+
it("Show Counts set to false", {
|
|
733
|
+
"references": [{
|
|
734
|
+
"type": "Jira",
|
|
735
|
+
"ID": "FIORITECHP1-20353"
|
|
736
|
+
}]
|
|
737
|
+
}, function () {
|
|
738
|
+
var manifestSettings = {
|
|
739
|
+
entitySet: "TestEntity",
|
|
740
|
+
converterType: TemplateType.ListReport,
|
|
741
|
+
controlConfiguration: {
|
|
742
|
+
"@com.sap.vocabularies.UI.v1.LineItem": {
|
|
743
|
+
tableSettings: {
|
|
744
|
+
quickVariantSelection: {
|
|
745
|
+
showCounts: false,
|
|
746
|
+
paths: [{
|
|
747
|
+
annotationPath: "annotationString"
|
|
748
|
+
}]
|
|
749
|
+
}
|
|
750
|
+
}
|
|
751
|
+
}
|
|
752
|
+
}
|
|
753
|
+
};
|
|
754
|
+
var tableConfiguration = getTableConfigurationForTest(manifestSettings);
|
|
755
|
+
expect(tableConfiguration.showRowCount).toBe(true);
|
|
756
|
+
});
|
|
757
|
+
});
|
|
758
|
+
describe("Condensed Layout", function () {
|
|
759
|
+
it("Default Value", function () {
|
|
760
|
+
var manifestSettings = {
|
|
761
|
+
entitySet: "TestEntity",
|
|
762
|
+
converterType: TemplateType.ListReport
|
|
763
|
+
};
|
|
764
|
+
var tableConfiguration = getTableConfigurationForTest(manifestSettings);
|
|
765
|
+
expect(tableConfiguration.useCondensedTableLayout).toBe(false);
|
|
766
|
+
manifestSettings.converterType = TemplateType.ObjectPage;
|
|
767
|
+
var tableConfigurationOP = getTableConfigurationForTest(manifestSettings);
|
|
768
|
+
expect(tableConfigurationOP.useCondensedTableLayout).toBe(false);
|
|
769
|
+
});
|
|
770
|
+
it("Manifest Forces to true", function () {
|
|
771
|
+
var manifestSettings = {
|
|
772
|
+
entitySet: "TestEntity",
|
|
773
|
+
converterType: TemplateType.ListReport,
|
|
774
|
+
controlConfiguration: {
|
|
775
|
+
"@com.sap.vocabularies.UI.v1.LineItem": {
|
|
776
|
+
tableSettings: {
|
|
777
|
+
condensedTableLayout: true
|
|
778
|
+
}
|
|
779
|
+
}
|
|
780
|
+
}
|
|
781
|
+
}; // Even if defined, the value should be used only in cases where the setting is compatible
|
|
782
|
+
|
|
783
|
+
var tableConfiguration = getTableConfigurationForTest(manifestSettings);
|
|
784
|
+
expect(tableConfiguration.useCondensedTableLayout).toBe(false);
|
|
785
|
+
manifestSettings.converterType = TemplateType.ObjectPage;
|
|
786
|
+
var tableConfigurationOP = getTableConfigurationForTest(manifestSettings);
|
|
787
|
+
expect(tableConfigurationOP.useCondensedTableLayout).toBe(false); // In a Condensed Layout Compliant Setting, the value should be true
|
|
788
|
+
|
|
789
|
+
manifestSettings.converterType = TemplateType.ListReport;
|
|
790
|
+
var tableConfigurationCL = getTableConfigurationForTest(manifestSettings, true);
|
|
791
|
+
expect(tableConfigurationCL.useCondensedTableLayout).toBe(true);
|
|
792
|
+
manifestSettings.converterType = TemplateType.ObjectPage;
|
|
793
|
+
var tableConfigurationCLOP = getTableConfigurationForTest(manifestSettings, true);
|
|
794
|
+
expect(tableConfigurationCLOP.useCondensedTableLayout).toBe(true);
|
|
795
|
+
});
|
|
796
|
+
it("Manifest Forces to true in incorrect setting from manifest", function () {
|
|
797
|
+
var manifestSettings = {
|
|
798
|
+
entitySet: "TestEntity",
|
|
799
|
+
converterType: TemplateType.ListReport,
|
|
800
|
+
controlConfiguration: {
|
|
801
|
+
"@com.sap.vocabularies.UI.v1.LineItem": {
|
|
802
|
+
tableSettings: {
|
|
803
|
+
condensedTableLayout: true
|
|
804
|
+
}
|
|
805
|
+
}
|
|
806
|
+
},
|
|
807
|
+
contentDensities: {
|
|
808
|
+
cozy: true,
|
|
809
|
+
compact: false
|
|
810
|
+
}
|
|
811
|
+
}; // In a Condensed Layout Compliant Setting, the value should be true
|
|
812
|
+
|
|
813
|
+
var tableConfigurationCL = getTableConfigurationForTest(manifestSettings, true);
|
|
814
|
+
expect(tableConfigurationCL.useCondensedTableLayout).toBe(false);
|
|
815
|
+
manifestSettings.converterType = TemplateType.ObjectPage;
|
|
816
|
+
var tableConfigurationCLOP = getTableConfigurationForTest(manifestSettings, true);
|
|
817
|
+
expect(tableConfigurationCLOP.useCondensedTableLayout).toBe(false);
|
|
818
|
+
});
|
|
819
|
+
it("Manifest Forces to true in incorrect setting from environment", function () {
|
|
820
|
+
var manifestSettings = {
|
|
821
|
+
entitySet: "TestEntity",
|
|
822
|
+
converterType: TemplateType.ListReport,
|
|
823
|
+
controlConfiguration: {
|
|
824
|
+
"@com.sap.vocabularies.UI.v1.LineItem": {
|
|
825
|
+
tableSettings: {
|
|
826
|
+
condensedTableLayout: true
|
|
827
|
+
}
|
|
828
|
+
}
|
|
829
|
+
}
|
|
830
|
+
}; // In a Condensed Layout Compliant Setting, the value should be true
|
|
831
|
+
|
|
832
|
+
var tableConfigurationCL = getTableConfigurationForTest(manifestSettings, true, "cozy");
|
|
833
|
+
expect(tableConfigurationCL.useCondensedTableLayout).toBe(false);
|
|
834
|
+
manifestSettings.converterType = TemplateType.ObjectPage;
|
|
835
|
+
var tableConfigurationCLOP = getTableConfigurationForTest(manifestSettings, true, "cozy");
|
|
836
|
+
expect(tableConfigurationCLOP.useCondensedTableLayout).toBe(false);
|
|
837
|
+
});
|
|
838
|
+
});
|
|
839
|
+
describe("Table Type", function () {
|
|
840
|
+
var getTableConfigurationForAnalyticalTest = function (manifestSettings) {
|
|
841
|
+
var _basicContext$getEnti3;
|
|
842
|
+
|
|
843
|
+
var converterOutput = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : convertedTypes;
|
|
844
|
+
var tableType = arguments.length > 2 ? arguments[2] : undefined;
|
|
845
|
+
var basicContext = getConverterContextForTest(converterOutput, manifestSettings);
|
|
846
|
+
basicContext.getManifestControlConfiguration("@com.sap.vocabularies.UI.v1.LineItem").tableSettings.type = (tableType === null || tableType === void 0 ? void 0 : tableType.type) || undefined;
|
|
847
|
+
return getTableManifestConfiguration((_basicContext$getEnti3 = basicContext.getEntityType().annotations.UI) === null || _basicContext$getEnti3 === void 0 ? void 0 : _basicContext$getEnti3.LineItem, "@com.sap.vocabularies.UI.v1.LineItem", basicContext);
|
|
848
|
+
};
|
|
849
|
+
|
|
850
|
+
it("If not specified, the default table type on an ALP template is 'AnalyticalTable' on a desktop when the service is Analytical compliant", function () {
|
|
851
|
+
var manifestSettings = {
|
|
852
|
+
entitySet: "TestEntity",
|
|
853
|
+
converterType: TemplateType.ListReport,
|
|
854
|
+
controlConfiguration: {
|
|
855
|
+
"@com.sap.vocabularies.UI.v1.LineItem": {
|
|
856
|
+
tableSettings: {
|
|
857
|
+
condensedTableLayout: true
|
|
858
|
+
}
|
|
859
|
+
}
|
|
860
|
+
},
|
|
861
|
+
isDesktop: true
|
|
862
|
+
};
|
|
863
|
+
var tableConfigurationALP = getTableConfigurationForAnalyticalTest(manifestSettings, convertedTypesAnalyticalService);
|
|
864
|
+
expect(tableConfigurationALP.type).toEqual("AnalyticalTable");
|
|
865
|
+
});
|
|
866
|
+
it("If not specified, the default table type on an ListReport template is 'AnalyticalTable' on a desktop when the service is Analytical compliant", function () {
|
|
867
|
+
var manifestSettings = {
|
|
868
|
+
entitySet: "TestEntity",
|
|
869
|
+
converterType: TemplateType.ListReport,
|
|
870
|
+
controlConfiguration: {
|
|
871
|
+
"@com.sap.vocabularies.UI.v1.LineItem": {
|
|
872
|
+
tableSettings: {
|
|
873
|
+
condensedTableLayout: true
|
|
874
|
+
}
|
|
875
|
+
}
|
|
876
|
+
},
|
|
877
|
+
isDesktop: true
|
|
878
|
+
};
|
|
879
|
+
var tableConfigurationALP = getTableConfigurationForAnalyticalTest(manifestSettings, convertedTypesAnalyticalService);
|
|
880
|
+
expect(tableConfigurationALP.type).toEqual("AnalyticalTable");
|
|
881
|
+
});
|
|
882
|
+
it("If not specified, the default table type is 'ResponsiveTable' for an ALP template on a desktop when the service is NOT Analytical compliant", function () {
|
|
883
|
+
var manifestSettings = {
|
|
884
|
+
entitySet: "TestEntity",
|
|
885
|
+
converterType: TemplateType.ListReport,
|
|
886
|
+
controlConfiguration: {
|
|
887
|
+
"@com.sap.vocabularies.UI.v1.LineItem": {
|
|
888
|
+
tableSettings: {
|
|
889
|
+
condensedTableLayout: true
|
|
890
|
+
}
|
|
891
|
+
}
|
|
892
|
+
},
|
|
893
|
+
isDesktop: true
|
|
894
|
+
};
|
|
895
|
+
var tableConfigurationALP = getTableConfigurationForAnalyticalTest(manifestSettings, convertedTypes);
|
|
896
|
+
expect(tableConfigurationALP.type).toEqual("ResponsiveTable");
|
|
897
|
+
});
|
|
898
|
+
it("If not specified, the default table type is 'ResponsiveTable' for a LR template on a desktop when the service is NOT Analytical compliant", function () {
|
|
899
|
+
var manifestSettings = {
|
|
900
|
+
entitySet: "TestEntity",
|
|
901
|
+
converterType: TemplateType.ListReport,
|
|
902
|
+
controlConfiguration: {
|
|
903
|
+
"@com.sap.vocabularies.UI.v1.LineItem": {
|
|
904
|
+
tableSettings: {
|
|
905
|
+
condensedTableLayout: true
|
|
906
|
+
}
|
|
907
|
+
}
|
|
908
|
+
},
|
|
909
|
+
isDesktop: false
|
|
910
|
+
};
|
|
911
|
+
var tableConfigurationALP = getTableConfigurationForAnalyticalTest(manifestSettings, convertedTypes);
|
|
912
|
+
expect(tableConfigurationALP.type).toEqual("ResponsiveTable");
|
|
913
|
+
});
|
|
914
|
+
it("If not specified, the default table type on an ALP template is 'ResponsiveTable' on a mobile/tablet device no matter the service", function () {
|
|
915
|
+
var manifestSettings = {
|
|
916
|
+
entitySet: "TestEntity",
|
|
917
|
+
converterType: TemplateType.ListReport,
|
|
918
|
+
controlConfiguration: {
|
|
919
|
+
"@com.sap.vocabularies.UI.v1.LineItem": {
|
|
920
|
+
tableSettings: {
|
|
921
|
+
condensedTableLayout: true
|
|
922
|
+
}
|
|
923
|
+
}
|
|
924
|
+
},
|
|
925
|
+
isDesktop: false
|
|
926
|
+
};
|
|
927
|
+
var tableConfigurationALP = getTableConfigurationForAnalyticalTest(manifestSettings, convertedTypesAnalyticalService);
|
|
928
|
+
expect(tableConfigurationALP.type).toEqual("ResponsiveTable");
|
|
929
|
+
});
|
|
930
|
+
it("If not specified, the default table type on a LR template is 'ResponsiveTable' on a mobile/tablet device no matter the service", function () {
|
|
931
|
+
var manifestSettings = {
|
|
932
|
+
entitySet: "TestEntity",
|
|
933
|
+
converterType: TemplateType.ListReport,
|
|
934
|
+
controlConfiguration: {
|
|
935
|
+
"@com.sap.vocabularies.UI.v1.LineItem": {
|
|
936
|
+
tableSettings: {
|
|
937
|
+
condensedTableLayout: true
|
|
938
|
+
}
|
|
939
|
+
}
|
|
940
|
+
},
|
|
941
|
+
isDesktop: false
|
|
942
|
+
};
|
|
943
|
+
var tableConfigurationALP = getTableConfigurationForAnalyticalTest(manifestSettings, convertedTypesAnalyticalService);
|
|
944
|
+
expect(tableConfigurationALP.type).toEqual("ResponsiveTable");
|
|
945
|
+
});
|
|
946
|
+
it("If the tableType is set to AnalyticalTable on an APL template, but the service is NOT Analytical compliant, the tableType is forced to 'GridTable'", function () {
|
|
947
|
+
var manifestSettings = {
|
|
948
|
+
converterType: TemplateType.ListReport,
|
|
949
|
+
entitySet: "TestEntity",
|
|
950
|
+
controlConfiguration: {
|
|
951
|
+
"@com.sap.vocabularies.UI.v1.LineItem": {
|
|
952
|
+
tableSettings: {
|
|
953
|
+
condensedTableLayout: true
|
|
954
|
+
}
|
|
955
|
+
}
|
|
956
|
+
},
|
|
957
|
+
isDesktop: true
|
|
958
|
+
};
|
|
959
|
+
var tableType = {
|
|
960
|
+
type: "AnalyticalTable"
|
|
961
|
+
};
|
|
962
|
+
var tableConfigurationALP = getTableConfigurationForAnalyticalTest(manifestSettings, convertedTypes, tableType);
|
|
963
|
+
expect(tableConfigurationALP.type).toEqual("GridTable");
|
|
964
|
+
});
|
|
965
|
+
it("If the tableType is set to AnalyticalTable on a LR template, but the service is NOT Analytical compliant, the tableType is forced to 'GridTable'", function () {
|
|
966
|
+
var manifestSettings = {
|
|
967
|
+
converterType: TemplateType.ListReport,
|
|
968
|
+
entitySet: "TestEntity",
|
|
969
|
+
controlConfiguration: {
|
|
970
|
+
"@com.sap.vocabularies.UI.v1.LineItem": {
|
|
971
|
+
tableSettings: {
|
|
972
|
+
condensedTableLayout: true
|
|
973
|
+
}
|
|
974
|
+
}
|
|
975
|
+
},
|
|
976
|
+
isDesktop: true
|
|
977
|
+
};
|
|
978
|
+
var tableType = {
|
|
979
|
+
type: "AnalyticalTable"
|
|
980
|
+
};
|
|
981
|
+
var tableConfigurationALP = getTableConfigurationForAnalyticalTest(manifestSettings, convertedTypes, tableType);
|
|
982
|
+
expect(tableConfigurationALP.type).toEqual("GridTable");
|
|
983
|
+
});
|
|
984
|
+
it("If the tableType is set to AnalyticalTable on an ALP template, with a service Analytical compliant, the tableType is 'AnalyticalTable'", function () {
|
|
985
|
+
var manifestSettings = {
|
|
986
|
+
converterType: TemplateType.ListReport,
|
|
987
|
+
entitySet: "TestEntity",
|
|
988
|
+
controlConfiguration: {
|
|
989
|
+
"@com.sap.vocabularies.UI.v1.LineItem": {
|
|
990
|
+
tableSettings: {
|
|
991
|
+
condensedTableLayout: true
|
|
992
|
+
}
|
|
993
|
+
}
|
|
994
|
+
},
|
|
995
|
+
isDesktop: true
|
|
996
|
+
};
|
|
997
|
+
var tableType = {
|
|
998
|
+
type: "AnalyticalTable"
|
|
999
|
+
};
|
|
1000
|
+
var tableConfigurationALP = getTableConfigurationForAnalyticalTest(manifestSettings, convertedTypesAnalyticalService, tableType);
|
|
1001
|
+
expect(tableConfigurationALP.type).toEqual("AnalyticalTable");
|
|
1002
|
+
});
|
|
1003
|
+
it("If the tableType is set to AnalyticalTable on a LR template, with a service Analytical compliant, the tableType is 'AnalyticalTable'", function () {
|
|
1004
|
+
var manifestSettings = {
|
|
1005
|
+
converterType: TemplateType.ListReport,
|
|
1006
|
+
entitySet: "TestEntity",
|
|
1007
|
+
controlConfiguration: {
|
|
1008
|
+
"@com.sap.vocabularies.UI.v1.LineItem": {
|
|
1009
|
+
tableSettings: {
|
|
1010
|
+
condensedTableLayout: true
|
|
1011
|
+
}
|
|
1012
|
+
}
|
|
1013
|
+
},
|
|
1014
|
+
isDesktop: true
|
|
1015
|
+
};
|
|
1016
|
+
var tableType = {
|
|
1017
|
+
type: "AnalyticalTable"
|
|
1018
|
+
};
|
|
1019
|
+
var tableConfigurationALP = getTableConfigurationForAnalyticalTest(manifestSettings, convertedTypesAnalyticalService, tableType);
|
|
1020
|
+
expect(tableConfigurationALP.type).toEqual("AnalyticalTable");
|
|
1021
|
+
});
|
|
1022
|
+
});
|
|
1023
|
+
describe("TableConverter #getTableActions", function () {
|
|
1024
|
+
it("can retrieve basic actions", function () {
|
|
1025
|
+
var _converterContext$get;
|
|
1026
|
+
|
|
1027
|
+
var converterContext = getConverterContextForTest(convertedTypes, {
|
|
1028
|
+
converterType: TemplateType.ObjectPage,
|
|
1029
|
+
entitySet: "TestEntity"
|
|
1030
|
+
});
|
|
1031
|
+
var headerActions = getTableActions(((_converterContext$get = converterContext.getEntityType().annotations) === null || _converterContext$get === void 0 ? void 0 : _converterContext$get.UI)["LineItem#WithActions"], "com.sap.vocabularies.UI.v1.LineItem" + "#WithActions", converterContext);
|
|
1032
|
+
expect(headerActions.length).toEqual(1);
|
|
1033
|
+
expect(headerActions[0].type).toEqual("ForAction");
|
|
1034
|
+
expect(headerActions[0].key).toEqual("DataFieldForAction::sap.fe.test.JestService.nonDetermining");
|
|
1035
|
+
expect(headerActions[0].isNavigable).toEqual(true);
|
|
1036
|
+
expect(headerActions[0].enabled).toEqual(undefined);
|
|
1037
|
+
expect(headerActions[0].enableOnSelect).toEqual(undefined);
|
|
1038
|
+
expect(headerActions[0].enableAutoScroll).toEqual(undefined);
|
|
1039
|
+
});
|
|
1040
|
+
it("can override basic actions", function () {
|
|
1041
|
+
var _converterContext$get2;
|
|
1042
|
+
|
|
1043
|
+
var converterContext = getConverterContextForTest(convertedTypes, {
|
|
1044
|
+
converterType: TemplateType.ObjectPage,
|
|
1045
|
+
entitySet: "TestEntity",
|
|
1046
|
+
controlConfiguration: {
|
|
1047
|
+
"@com.sap.vocabularies.UI.v1.LineItem#WithActions": {
|
|
1048
|
+
actions: {
|
|
1049
|
+
"DataFieldForAction::sap.fe.test.JestService.nonDetermining": {
|
|
1050
|
+
enabled: "{ui>/isEditable}",
|
|
1051
|
+
enableOnSelect: "true",
|
|
1052
|
+
afterExecution: {
|
|
1053
|
+
enableAutoScroll: true,
|
|
1054
|
+
navigateToInstance: false
|
|
1055
|
+
}
|
|
1056
|
+
}
|
|
1057
|
+
}
|
|
1058
|
+
}
|
|
1059
|
+
}
|
|
1060
|
+
});
|
|
1061
|
+
var headerActions = getTableActions(((_converterContext$get2 = converterContext.getEntityType().annotations) === null || _converterContext$get2 === void 0 ? void 0 : _converterContext$get2.UI)["LineItem#WithActions"], "@" + "com.sap.vocabularies.UI.v1.LineItem" + "#WithActions", converterContext);
|
|
1062
|
+
expect(headerActions.length).toEqual(1);
|
|
1063
|
+
expect(headerActions[0].type).toEqual("ForAction");
|
|
1064
|
+
expect(headerActions[0].key).toEqual("DataFieldForAction::sap.fe.test.JestService.nonDetermining");
|
|
1065
|
+
expect(headerActions[0].isNavigable).toEqual(false);
|
|
1066
|
+
expect(headerActions[0].enabled).toEqual("{ui>/isEditable}");
|
|
1067
|
+
expect(headerActions[0].enableOnSelect).toEqual("true");
|
|
1068
|
+
expect(headerActions[0].enableAutoScroll).toEqual(true);
|
|
1069
|
+
});
|
|
1070
|
+
it("can add custom actions", {
|
|
1071
|
+
"references": [{
|
|
1072
|
+
"type": "BCP",
|
|
1073
|
+
"ID": "2180071284"
|
|
1074
|
+
}, {
|
|
1075
|
+
"type": "JIRA",
|
|
1076
|
+
"ID": "FIORITECHP1-16808"
|
|
1077
|
+
}]
|
|
1078
|
+
}, function () {
|
|
1079
|
+
var _converterContext$get3;
|
|
1080
|
+
|
|
1081
|
+
var converterContext = getConverterContextForTest(convertedTypes, {
|
|
1082
|
+
converterType: TemplateType.ObjectPage,
|
|
1083
|
+
entitySet: "TestEntity",
|
|
1084
|
+
controlConfiguration: {
|
|
1085
|
+
"@com.sap.vocabularies.UI.v1.LineItem#WithActions": {
|
|
1086
|
+
actions: {
|
|
1087
|
+
"customTableAction": {
|
|
1088
|
+
"press": "SalesOrder.custom.CustomActions.alert",
|
|
1089
|
+
"text": "Alert",
|
|
1090
|
+
"position": {
|
|
1091
|
+
"placement": Placement.After,
|
|
1092
|
+
"anchor": "customTableAction2"
|
|
1093
|
+
}
|
|
1094
|
+
},
|
|
1095
|
+
"customTableAction2": {
|
|
1096
|
+
"press": "SalesOrder.custom.CustomActions.accountDetails",
|
|
1097
|
+
"enabled": "{ui>/isEditable}",
|
|
1098
|
+
"text": "Display account details",
|
|
1099
|
+
"position": {
|
|
1100
|
+
"placement": Placement.Before,
|
|
1101
|
+
"anchor": "DataFieldForAction::sap.fe.test.JestService.nonDetermining"
|
|
1102
|
+
}
|
|
1103
|
+
}
|
|
1104
|
+
}
|
|
1105
|
+
}
|
|
1106
|
+
}
|
|
1107
|
+
});
|
|
1108
|
+
var headerActions = getTableActions(((_converterContext$get3 = converterContext.getEntityType().annotations) === null || _converterContext$get3 === void 0 ? void 0 : _converterContext$get3.UI)["LineItem#WithActions"], "@" + "com.sap.vocabularies.UI.v1.LineItem" + "#WithActions", converterContext);
|
|
1109
|
+
expect(headerActions.length).toEqual(3);
|
|
1110
|
+
expect(headerActions[2].type).toEqual("ForAction");
|
|
1111
|
+
expect(headerActions[2].key).toEqual("DataFieldForAction::sap.fe.test.JestService.nonDetermining");
|
|
1112
|
+
});
|
|
1113
|
+
});
|
|
1114
|
+
describe("TableConverter #getTableColumns", function () {
|
|
1115
|
+
it("can get the basic columns defined in the annotation", function () {
|
|
1116
|
+
var _converterContext$get4;
|
|
1117
|
+
|
|
1118
|
+
var converterContext = getConverterContextForTest(convertedTypes, {
|
|
1119
|
+
converterType: TemplateType.ObjectPage,
|
|
1120
|
+
entitySet: "TestEntity"
|
|
1121
|
+
});
|
|
1122
|
+
var columns = getTableColumns(((_converterContext$get4 = converterContext.getEntityType().annotations) === null || _converterContext$get4 === void 0 ? void 0 : _converterContext$get4.UI)["LineItem"], "@" + "com.sap.vocabularies.UI.v1.LineItem", converterContext, {});
|
|
1123
|
+
expect(columns.length).toBe(7);
|
|
1124
|
+
expect(columns[0].key).toBe("DataField::IsActiveEntity");
|
|
1125
|
+
expect(columns[3].key).toBe("DataField::ID");
|
|
1126
|
+
expect(columns[3].width).toBe(undefined);
|
|
1127
|
+
expect(columns[4].key).toBe("DataField::name");
|
|
1128
|
+
expect(columns[6].key).toBe("Property::name");
|
|
1129
|
+
});
|
|
1130
|
+
it("can also merge column with the ones defined in the manifest", {
|
|
1131
|
+
"references": [{
|
|
1132
|
+
"type": "BCP",
|
|
1133
|
+
"ID": "2180071284"
|
|
1134
|
+
}, {
|
|
1135
|
+
"type": "JIRA",
|
|
1136
|
+
"ID": "FIORITECHP1-16808"
|
|
1137
|
+
}]
|
|
1138
|
+
}, function () {
|
|
1139
|
+
var _converterContext$get5;
|
|
1140
|
+
|
|
1141
|
+
var converterContext = getConverterContextForTest(convertedTypes, {
|
|
1142
|
+
converterType: TemplateType.ObjectPage,
|
|
1143
|
+
entitySet: "TestEntity",
|
|
1144
|
+
controlConfiguration: {
|
|
1145
|
+
"@com.sap.vocabularies.UI.v1.LineItem": {
|
|
1146
|
+
columns: {
|
|
1147
|
+
"CustomColumnRating": {
|
|
1148
|
+
"header": "Custom Rating",
|
|
1149
|
+
"width": "10em",
|
|
1150
|
+
"horizontalAlign": HorizontalAlign.End,
|
|
1151
|
+
"position": {
|
|
1152
|
+
"placement": Placement.After,
|
|
1153
|
+
"anchor": "DataField::ID"
|
|
1154
|
+
},
|
|
1155
|
+
"template": "SalesOrder.custom.CustomColumnRating"
|
|
1156
|
+
},
|
|
1157
|
+
"CustomColumnButton": {
|
|
1158
|
+
"header": "Custom Button",
|
|
1159
|
+
"width": "10em",
|
|
1160
|
+
"position": {
|
|
1161
|
+
"placement": Placement.After,
|
|
1162
|
+
"anchor": "CustomColumnRating"
|
|
1163
|
+
},
|
|
1164
|
+
"template": "SalesOrder.custom.CustomColumnButton"
|
|
1165
|
+
},
|
|
1166
|
+
"CustomColumnSoldToParty": {
|
|
1167
|
+
"header": "Custom Sold-To Party",
|
|
1168
|
+
"width": "15em",
|
|
1169
|
+
"horizontalAlign": HorizontalAlign.Center,
|
|
1170
|
+
"position": {
|
|
1171
|
+
"placement": Placement.After,
|
|
1172
|
+
"anchor": "CustomColumnButton"
|
|
1173
|
+
},
|
|
1174
|
+
"template": "SalesOrder.custom.CustomColumnSoldToParty"
|
|
1175
|
+
},
|
|
1176
|
+
"CustomColumnFixedText": {
|
|
1177
|
+
"header": "Custom Fixed Text",
|
|
1178
|
+
"width": "10em",
|
|
1179
|
+
"horizontalAlign": HorizontalAlign.End,
|
|
1180
|
+
"position": {
|
|
1181
|
+
"placement": Placement.After,
|
|
1182
|
+
"anchor": "CustomColumnSoldToParty"
|
|
1183
|
+
},
|
|
1184
|
+
"template": "SalesOrder.custom.CustomColumnFixedText"
|
|
1185
|
+
},
|
|
1186
|
+
"DataField::ID": {
|
|
1187
|
+
"width": "20em"
|
|
1188
|
+
}
|
|
1189
|
+
}
|
|
1190
|
+
}
|
|
1191
|
+
}
|
|
1192
|
+
});
|
|
1193
|
+
var columns = getTableColumns(((_converterContext$get5 = converterContext.getEntityType().annotations) === null || _converterContext$get5 === void 0 ? void 0 : _converterContext$get5.UI)["LineItem"], "@" + "com.sap.vocabularies.UI.v1.LineItem", converterContext, {});
|
|
1194
|
+
expect(columns.length).toBe(11);
|
|
1195
|
+
expect(columns[0].key).toBe("DataField::IsActiveEntity");
|
|
1196
|
+
expect(columns[3].key).toBe("DataField::ID");
|
|
1197
|
+
expect(columns[3].width).toBe("20em");
|
|
1198
|
+
expect(columns[4].key).toBe("CustomColumnRating");
|
|
1199
|
+
expect(columns[5].key).toBe("CustomColumnButton");
|
|
1200
|
+
expect(columns[6].key).toBe("CustomColumnSoldToParty");
|
|
1201
|
+
expect(columns[7].key).toBe("CustomColumnFixedText");
|
|
1202
|
+
expect(columns[10].key).toBe("Property::name");
|
|
1203
|
+
});
|
|
1204
|
+
});
|
|
1205
|
+
}, false);
|
|
1206
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRhYmxlLnNwZWMudHMiXSwibmFtZXMiOlsiY29udmVydGVkVHlwZXMiLCJjb252ZXJ0ZWRUeXBlc05vT2EiLCJjb252ZXJ0ZWRUeXBlc0FuYWx5dGljYWxTZXJ2aWNlIiwiY29udmVydGVkVHlwZXNPYVRydWUiLCJjb252ZXJ0ZWRUeXBlc09hRmFsc2UiLCJjb252ZXJ0ZWRUeXBlc1NlbGVjdGlvbk1vZGUiLCJiZWZvcmVBbGwiLCJzTWV0YWRhdGFVcmwiLCJjb21waWxlQ0RTIiwicGF0aCIsImpvaW4iLCJfX2Rpcm5hbWUiLCJnZXRNZXRhTW9kZWwiLCJtZXRhTW9kZWwiLCJjb252ZXJ0VHlwZXMiLCJzTWV0YWRhdGFVcmxTZWxlY3Rpb25Nb2RlIiwibWV0YU1vZGVsU2VsZWN0aW9uTW9kZSIsInNNZXRhZGF0YVVybEFuYWx5dGljYWxTZXJ2aWNlIiwibWV0YU1vZGVsQW5hbHl0aWNhbFNlcnZpY2UiLCJzTWV0YWRhdGFVcmxOb09hIiwibWV0YU1vZGVsTm9PYSIsInNNZXRhZGF0YVVybE9hVHJ1ZSIsIm1ldGFNb2RlbE9hVHJ1ZSIsInNNZXRhZGF0YVVybE9hRmFsc2UiLCJtZXRhTW9kZWxPYUZhbHNlIiwiZ2V0VGFibGVDb25maWd1cmF0aW9uRm9yVGVzdCIsIm1hbmlmZXN0U2V0dGluZ3MiLCJpc0NvbmRlbnNlZExheW91dENvbXBsaWFudCIsInVzZXJDb250ZW50RGVuc2l0aWVzIiwiY29udmVydGVyT3V0cHV0Iiwic2hlbGxDb250ZW50RGVuc2l0eSIsImJhc2ljQ29udGV4dCIsImdldENvbnZlcnRlckNvbnRleHRGb3JUZXN0IiwiZ2V0VGFibGVNYW5pZmVzdENvbmZpZ3VyYXRpb24iLCJnZXRFbnRpdHlUeXBlIiwiYW5ub3RhdGlvbnMiLCJVSSIsIkxpbmVJdGVtIiwiZGVzY3JpYmUiLCJpdCIsInRhYmxlQ29uZmlndXJhdGlvbiIsImVudGl0eVNldCIsImNvbnZlcnRlclR5cGUiLCJUZW1wbGF0ZVR5cGUiLCJMaXN0UmVwb3J0IiwiZXhwZWN0IiwidG9NYXRjaFNuYXBzaG90IiwidHlwZSIsImNvbnRyb2xDb25maWd1cmF0aW9uIiwidGFibGVTZXR0aW5ncyIsInRvRXF1YWwiLCJlbmFibGVFeHBvcnQiLCJ0b0JlIiwiT2JqZWN0UGFnZSIsInRhYmxlQ29uZmlndXJhdGlvbk9QIiwibm9QYXN0ZU1hbmlmZXN0U2V0dGluZ3MiLCJlbmFibGVQYXN0ZSIsInRhYmxlQ29uZmlndXJhdGlvbk5vUGFzdGUiLCJ0YWJsZUNvbmZpZ3VyYXRpb25Ob1Bhc3RlT1AiLCJtdWx0aVNlbGVjdE1vZGUiLCJzZWxlY3RBbGwiLCJzZWN0aW9uTGF5b3V0IiwiSVNfSU5TRVJUQUJMRV9GQUxTRSIsImNvbnN0YW50IiwiSVNfSU5TRVJUQUJMRV9UUlVFIiwiSVNfSU5TRVJUQUJMRV9EWU5BTUlDIiwiYmluZGluZ0V4cHJlc3Npb24iLCJCQVNJQ19DT05URVhUX0xSIiwiQkFTSUNfQ09OVEVYVF9PUCIsIkhJRERFTl9DT05URVhUX0xSIiwiSElEREVOX0NPTlRFWFRfT1AiLCJEWU5BTUlDX0hJRERFTl9DT05URVhUX0xSIiwiRFlOQU1JQ19ISURERU5fQ09OVEVYVF9PUCIsIk5FV19BQ1RJT05fTk9fT0EiLCJORVdfQUNUSU9OX09BX1RSVUUiLCJORVdfQUNUSU9OX09BX0ZBTFNFIiwiY29tcGlsZUJpbmRpbmciLCJnZXRDcmVhdGVWaXNpYmxlIiwiQ3JlYXRpb25Nb2RlIiwiQ3JlYXRpb25Sb3ciLCJJc0VkaXRhYmxlIiwiQkFTSUNfQ09OVEVYVF9PUF9VUERBVEVISURERU4iLCJCQVNJQ19DT05URVhUX09QX1VQREFURUhJRERFTjEiLCJCQVNJQ19DT05URVhUX09QX1VQREFURUhJRERFTl9QQVRIIiwidGFibGVNYW5pZmVzdENvbmZpZ3VyYXRpb25XaXRoTWFzc0VkaXQiLCJlbmFibGVNYXNzRWRpdCIsInRhYmxlTWFuaWZlc3RDb25maWd1cmF0aW9uV2l0aG91dE1hc3NFZGl0IiwidGFibGVDb25mV2l0aE1hc3NFZGl0U2VsZWN0aW9uTGltaXQiLCJzZWxlY3Rpb25MaW1pdCIsImdldFZpc2liaWxpdHlNYXNzRWRpdCIsImlzVXBkYXRhYmxlIiwiaXNEZWxldGFibGUiLCJ1bmRlZmluZWQiLCJCQVNJQ19DT05URVhUX09QX1BBVEhfQkFTRURfVVBEQVRFX1JFU1RSSUNUSU9OIiwiQkFTSUNfQ09OVEVYVF9PUF9TVEFUSUNfVVBEQVRFX1JFU1RSSUNUSU9OIiwiZ2V0RW5hYmxlbWVudE1hc3NFZGl0IiwiZ2V0U2VsZWN0aW9uTW9kZUZvclRlc3QiLCJpc0VudGl0eVNldCIsInRhcmdldENhcGFiaWxpdGllcyIsInZpc3VhbGl6YXRpb25QYXRoIiwiZ2V0U2VsZWN0aW9uTW9kZSIsImJhc2ljQ29udGV4dF9MUiIsInJlc3VsdCIsImFjdGlvbnMiLCJwcmVzcyIsInZpc2libGUiLCJlbmFibGVkIiwidGV4dCIsImVuYWJsZU9uU2VsZWN0IiwicmVxdWlyZXNTZWxlY3Rpb24iLCJiYXNpY0NvbnRleHRfT1AiLCJkYXRhTW9kZWxPYmplY3RQYXRoIiwiZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aCIsInRhcmdldE9iamVjdCIsIl90eXBlIiwicGFydG5lciIsInNob3dSb3dDb3VudCIsInF1aWNrVmFyaWFudFNlbGVjdGlvbiIsInNob3dDb3VudHMiLCJwYXRocyIsImFubm90YXRpb25QYXRoIiwidXNlQ29uZGVuc2VkVGFibGVMYXlvdXQiLCJjb25kZW5zZWRUYWJsZUxheW91dCIsInRhYmxlQ29uZmlndXJhdGlvbkNMIiwidGFibGVDb25maWd1cmF0aW9uQ0xPUCIsImNvbnRlbnREZW5zaXRpZXMiLCJjb3p5IiwiY29tcGFjdCIsImdldFRhYmxlQ29uZmlndXJhdGlvbkZvckFuYWx5dGljYWxUZXN0IiwidGFibGVUeXBlIiwiZ2V0TWFuaWZlc3RDb250cm9sQ29uZmlndXJhdGlvbiIsImlzRGVza3RvcCIsInRhYmxlQ29uZmlndXJhdGlvbkFMUCIsImNvbnZlcnRlckNvbnRleHQiLCJoZWFkZXJBY3Rpb25zIiwiZ2V0VGFibGVBY3Rpb25zIiwibGVuZ3RoIiwia2V5IiwiaXNOYXZpZ2FibGUiLCJlbmFibGVBdXRvU2Nyb2xsIiwiYWZ0ZXJFeGVjdXRpb24iLCJuYXZpZ2F0ZVRvSW5zdGFuY2UiLCJQbGFjZW1lbnQiLCJBZnRlciIsIkJlZm9yZSIsImNvbHVtbnMiLCJnZXRUYWJsZUNvbHVtbnMiLCJ3aWR0aCIsIkhvcml6b250YWxBbGlnbiIsIkVuZCIsIkNlbnRlciJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBMkJBLE1BQUlBLGNBQUo7QUFDQSxNQUFJQyxrQkFBSjtBQUNBLE1BQUlDLCtCQUFKO0FBQ0EsTUFBSUMsb0JBQUo7QUFDQSxNQUFJQyxxQkFBSjtBQUNBLE1BQUlDLDJCQUFKO0FBRUFDLEVBQUFBLFNBQVM7QUFBQSxRQUFrQjtBQUMxQixVQUFNQyxZQUFZLEdBQUdDLFVBQVUsQ0FBQ0MsSUFBSSxDQUFDQyxJQUFMLENBQVVDLFNBQVYsRUFBcUIsbUJBQXJCLENBQUQsQ0FBL0I7QUFEMEIsNkJBRUZDLFlBQVksQ0FBQ0wsWUFBRCxDQUZWLGlCQUVwQk0sU0FGb0I7QUFHMUJiLFFBQUFBLGNBQWMsR0FBR2MsWUFBWSxDQUFDRCxTQUFELENBQTdCO0FBRUEsWUFBTUUseUJBQXlCLEdBQUdQLFVBQVUsQ0FBQ0MsSUFBSSxDQUFDQyxJQUFMLENBQVVDLFNBQVYsRUFBcUIsbUNBQXJCLENBQUQsQ0FBNUM7QUFMMEIsK0JBTVdDLFlBQVksQ0FBQ0cseUJBQUQsQ0FOdkIsaUJBTXBCQyxzQkFOb0I7QUFPMUJYLFVBQUFBLDJCQUEyQixHQUFHUyxZQUFZLENBQUNFLHNCQUFELENBQTFDO0FBRUEsY0FBTUMsNkJBQTZCLEdBQUdULFVBQVUsQ0FBQ0MsSUFBSSxDQUFDQyxJQUFMLENBQVVDLFNBQVYsRUFBcUIsK0JBQXJCLENBQUQsQ0FBaEQ7QUFUMEIsaUNBVWVDLFlBQVksQ0FBQ0ssNkJBQUQsQ0FWM0IsaUJBVXBCQywwQkFWb0I7QUFXMUJoQixZQUFBQSwrQkFBK0IsR0FBR1ksWUFBWSxDQUFDSSwwQkFBRCxDQUE5QztBQUVBLGdCQUFNQyxnQkFBZ0IsR0FBR1gsVUFBVSxDQUFDQyxJQUFJLENBQUNDLElBQUwsQ0FBVUMsU0FBVixFQUFxQixnREFBckIsQ0FBRCxDQUFuQztBQWIwQixtQ0FjRUMsWUFBWSxDQUFDTyxnQkFBRCxDQWRkLGlCQWNwQkMsYUFkb0I7QUFlMUJuQixjQUFBQSxrQkFBa0IsR0FBR2EsWUFBWSxDQUFDTSxhQUFELENBQWpDO0FBRUEsa0JBQU1DLGtCQUFrQixHQUFHYixVQUFVLENBQUNDLElBQUksQ0FBQ0MsSUFBTCxDQUFVQyxTQUFWLEVBQXFCLGtEQUFyQixDQUFELENBQXJDO0FBakIwQixxQ0FrQklDLFlBQVksQ0FBQ1Msa0JBQUQsQ0FsQmhCLGlCQWtCcEJDLGVBbEJvQjtBQW1CMUJuQixnQkFBQUEsb0JBQW9CLEdBQUdXLFlBQVksQ0FBQ1EsZUFBRCxDQUFuQztBQUVBLG9CQUFNQyxtQkFBbUIsR0FBR2YsVUFBVSxDQUFDQyxJQUFJLENBQUNDLElBQUwsQ0FBVUMsU0FBVixFQUFxQixtREFBckIsQ0FBRCxDQUF0QztBQXJCMEIsdUNBc0JLQyxZQUFZLENBQUNXLG1CQUFELENBdEJqQixpQkFzQnBCQyxnQkF0Qm9CO0FBdUIxQnBCLGtCQUFBQSxxQkFBcUIsR0FBR1UsWUFBWSxDQUFDVSxnQkFBRCxDQUFwQztBQXZCMEI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBd0IxQixLQXhCUTtBQUFBO0FBQUE7QUFBQSxJQUFUOztBQXlCQSxNQUFNQyw0QkFBNEIsR0FBRyxVQUNwQ0MsZ0JBRG9DLEVBS0w7QUFBQTs7QUFBQSxRQUgvQkMsMEJBRytCLHVFQUhPLEtBR1A7QUFBQSxRQUYvQkMsb0JBRStCLHVFQUZBLFNBRUE7QUFBQSxRQUQvQkMsZUFDK0IsdUVBREk3QixjQUNKO0FBQy9CMEIsSUFBQUEsZ0JBQWdCLENBQUNJLG1CQUFqQixHQUF1Q0Ysb0JBQXZDO0FBQ0EsUUFBTUcsWUFBWSxHQUFHQywwQkFBMEIsQ0FBQ0gsZUFBRCxFQUFrQkgsZ0JBQWxCLENBQS9DO0FBQ0EsV0FBT08sNkJBQTZCLDBCQUNuQ0YsWUFBWSxDQUFDRyxhQUFiLEdBQTZCQyxXQUE3QixDQUF5Q0MsRUFETiwwREFDbkMsc0JBQTZDQyxRQURWLEVBRW5DLHNDQUZtQyxFQUduQ04sWUFIbUMsRUFJbkNKLDBCQUptQyxDQUFwQztBQU1BLEdBZEQ7O0FBZUFXLEVBQUFBLFFBQVEsQ0FBQyxtREFBRCxFQUFzRCxZQUFXO0FBQ3hFQyxJQUFBQSxFQUFFLENBQUMsZ0NBQUQsRUFBbUMsWUFBTTtBQUMxQyxVQUFNQyxrQkFBa0IsR0FBR2YsNEJBQTRCLENBQUM7QUFDdkRnQixRQUFBQSxTQUFTLEVBQUUsWUFENEM7QUFFdkRDLFFBQUFBLGFBQWEsRUFBRUMsWUFBWSxDQUFDQztBQUYyQixPQUFELENBQXZEO0FBSUFDLE1BQUFBLE1BQU0sQ0FBQ0wsa0JBQUQsQ0FBTixDQUEyQk0sZUFBM0I7QUFDQUQsTUFBQUEsTUFBTSxDQUFDTCxrQkFBa0IsQ0FBQ08sSUFBbkIsS0FBNEIsaUJBQTdCLENBQU47QUFDQSxLQVBDLENBQUY7QUFTQVIsSUFBQUEsRUFBRSxDQUFDLDBCQUFELEVBQTZCLFlBQU07QUFDcEMsVUFBTUMsa0JBQWtCLEdBQUdmLDRCQUE0QixDQUFDO0FBQ3ZEZ0IsUUFBQUEsU0FBUyxFQUFFLFlBRDRDO0FBRXZEQyxRQUFBQSxhQUFhLEVBQUVDLFlBQVksQ0FBQ0MsVUFGMkI7QUFHdkRJLFFBQUFBLG9CQUFvQixFQUFFO0FBQ3JCLGtEQUF3QztBQUN2Q0MsWUFBQUEsYUFBYSxFQUFFO0FBQ2RGLGNBQUFBLElBQUksRUFBRTtBQURRO0FBRHdCO0FBRG5CO0FBSGlDLE9BQUQsQ0FBdkQ7QUFXQUYsTUFBQUEsTUFBTSxDQUFDTCxrQkFBa0IsQ0FBQ08sSUFBcEIsQ0FBTixDQUFnQ0csT0FBaEMsQ0FBd0MsV0FBeEM7QUFDQSxLQWJDLENBQUY7QUFlQVgsSUFBQUEsRUFBRSxDQUFDLHVCQUFELEVBQTBCLFlBQU07QUFDakM7QUFDQSxVQUFNYixnQkFBZ0IsR0FBRztBQUN4QmUsUUFBQUEsU0FBUyxFQUFFLFlBRGE7QUFFeEJDLFFBQUFBLGFBQWEsRUFBRUMsWUFBWSxDQUFDQztBQUZKLE9BQXpCO0FBSUEsVUFBTUosa0JBQWtCLEdBQUdmLDRCQUE0QixDQUFDQyxnQkFBRCxDQUF2RDtBQUNBbUIsTUFBQUEsTUFBTSxDQUFDTCxrQkFBa0IsQ0FBQ1csWUFBcEIsQ0FBTixDQUF3Q0MsSUFBeEMsQ0FBNkMsSUFBN0M7QUFDQTFCLE1BQUFBLGdCQUFnQixDQUFDZ0IsYUFBakIsR0FBaUNDLFlBQVksQ0FBQ1UsVUFBOUM7QUFDQSxVQUFNQyxvQkFBb0IsR0FBRzdCLDRCQUE0QixDQUFDQyxnQkFBRCxDQUF6RDtBQUNBbUIsTUFBQUEsTUFBTSxDQUFDUyxvQkFBb0IsQ0FBQ0gsWUFBdEIsQ0FBTixDQUEwQ0MsSUFBMUMsQ0FBK0MsSUFBL0M7QUFDQSxLQVhDLENBQUY7QUFhQWIsSUFBQUEsRUFBRSxDQUFDLDZCQUFELEVBQWdDLFlBQU07QUFDdkM7QUFDQSxVQUFNYixnQkFBZ0IsR0FBRztBQUN4QmUsUUFBQUEsU0FBUyxFQUFFLFlBRGE7QUFFeEJDLFFBQUFBLGFBQWEsRUFBRUMsWUFBWSxDQUFDQyxVQUZKO0FBR3hCSSxRQUFBQSxvQkFBb0IsRUFBRTtBQUNyQixrREFBd0M7QUFDdkNDLFlBQUFBLGFBQWEsRUFBRTtBQUNkRSxjQUFBQSxZQUFZLEVBQUU7QUFEQTtBQUR3QjtBQURuQjtBQUhFLE9BQXpCO0FBV0EsVUFBTVgsa0JBQWtCLEdBQUdmLDRCQUE0QixDQUFDQyxnQkFBRCxDQUF2RDtBQUNBbUIsTUFBQUEsTUFBTSxDQUFDTCxrQkFBa0IsQ0FBQ1csWUFBcEIsQ0FBTixDQUF3Q0MsSUFBeEMsQ0FBNkMsSUFBN0M7QUFDQTFCLE1BQUFBLGdCQUFnQixDQUFDZ0IsYUFBakIsR0FBaUNDLFlBQVksQ0FBQ1UsVUFBOUM7QUFDQSxVQUFNQyxvQkFBb0IsR0FBRzdCLDRCQUE0QixDQUFDQyxnQkFBRCxDQUF6RDtBQUNBbUIsTUFBQUEsTUFBTSxDQUFDUyxvQkFBb0IsQ0FBQ0gsWUFBdEIsQ0FBTixDQUEwQ0MsSUFBMUMsQ0FBK0MsSUFBL0M7QUFFQSxVQUFNRyx1QkFBdUIsR0FBRztBQUMvQmQsUUFBQUEsU0FBUyxFQUFFLFlBRG9CO0FBRS9CQyxRQUFBQSxhQUFhLEVBQUVDLFlBQVksQ0FBQ0MsVUFGRztBQUcvQkksUUFBQUEsb0JBQW9CLEVBQUU7QUFDckIsa0RBQXdDO0FBQ3ZDQyxZQUFBQSxhQUFhLEVBQUU7QUFDZE8sY0FBQUEsV0FBVyxFQUFFO0FBREM7QUFEd0I7QUFEbkI7QUFIUyxPQUFoQztBQVdBLFVBQU1DLHlCQUF5QixHQUFHaEMsNEJBQTRCLENBQUM4Qix1QkFBRCxDQUE5RDtBQUNBVixNQUFBQSxNQUFNLENBQUNZLHlCQUF5QixDQUFDTixZQUEzQixDQUFOLENBQStDQyxJQUEvQyxDQUFvRCxJQUFwRDtBQUNBRyxNQUFBQSx1QkFBdUIsQ0FBQ2IsYUFBeEIsR0FBd0NDLFlBQVksQ0FBQ1UsVUFBckQ7QUFDQSxVQUFNSywyQkFBMkIsR0FBR2pDLDRCQUE0QixDQUFDOEIsdUJBQUQsQ0FBaEU7QUFDQVYsTUFBQUEsTUFBTSxDQUFDYSwyQkFBMkIsQ0FBQ1AsWUFBN0IsQ0FBTixDQUFpREMsSUFBakQsQ0FBc0QsS0FBdEQ7QUFDQSxLQW5DQyxDQUFGO0FBb0NBYixJQUFBQSxFQUFFLENBQUMsaUVBQUQsRUFBb0UsWUFBTTtBQUMzRSxVQUFNQyxrQkFBa0IsR0FBR2YsNEJBQTRCLENBQUM7QUFDdkRnQixRQUFBQSxTQUFTLEVBQUUsWUFENEM7QUFFdkRDLFFBQUFBLGFBQWEsRUFBRUMsWUFBWSxDQUFDQyxVQUYyQjtBQUd2REksUUFBQUEsb0JBQW9CLEVBQUU7QUFDckIsa0RBQXdDO0FBQ3ZDQyxZQUFBQSxhQUFhLEVBQUU7QUFDZEYsY0FBQUEsSUFBSSxFQUFFO0FBRFE7QUFEd0I7QUFEbkI7QUFIaUMsT0FBRCxDQUF2RDtBQVdBRixNQUFBQSxNQUFNLENBQUNMLGtCQUFrQixDQUFDbUIsZUFBcEIsQ0FBTixDQUEyQ1QsT0FBM0MsQ0FBbUQsVUFBbkQ7QUFDQSxLQWJDLENBQUY7QUFjQVgsSUFBQUEsRUFBRSxDQUFDLDhFQUFELEVBQWlGLFlBQU07QUFDeEYsVUFBTUMsa0JBQWtCLEdBQUdmLDRCQUE0QixDQUFDO0FBQ3ZEZ0IsUUFBQUEsU0FBUyxFQUFFLFlBRDRDO0FBRXZEQyxRQUFBQSxhQUFhLEVBQUVDLFlBQVksQ0FBQ0MsVUFGMkI7QUFHdkRJLFFBQUFBLG9CQUFvQixFQUFFO0FBQ3JCLGtEQUF3QztBQUN2Q0MsWUFBQUEsYUFBYSxFQUFFO0FBQ2RGLGNBQUFBLElBQUksRUFBRSxpQkFEUTtBQUVkYSxjQUFBQSxTQUFTLEVBQUU7QUFGRztBQUR3QjtBQURuQjtBQUhpQyxPQUFELENBQXZEO0FBWUFmLE1BQUFBLE1BQU0sQ0FBQ0wsa0JBQWtCLENBQUNtQixlQUFwQixDQUFOLENBQTJDVCxPQUEzQyxDQUFtRCxTQUFuRDtBQUNBLEtBZEMsQ0FBRjtBQWVBWCxJQUFBQSxFQUFFLENBQUMsNkdBQUQsRUFBZ0gsWUFBTTtBQUN2SCxVQUFNQyxrQkFBa0IsR0FBR2YsNEJBQTRCLENBQUM7QUFDdkRnQixRQUFBQSxTQUFTLEVBQUUsWUFENEM7QUFFdkRDLFFBQUFBLGFBQWEsRUFBRUMsWUFBWSxDQUFDVSxVQUYyQjtBQUd2RFEsUUFBQUEsYUFBYSxFQUFFLE1BSHdDO0FBSXZEYixRQUFBQSxvQkFBb0IsRUFBRTtBQUNyQixrREFBd0M7QUFDdkNDLFlBQUFBLGFBQWEsRUFBRTtBQUNkRixjQUFBQSxJQUFJLEVBQUU7QUFEUTtBQUR3QjtBQURuQjtBQUppQyxPQUFELENBQXZEO0FBWUFGLE1BQUFBLE1BQU0sQ0FBQ0wsa0JBQWtCLENBQUNtQixlQUFwQixDQUFOLENBQTJDVCxPQUEzQyxDQUFtRCxVQUFuRDtBQUNBLEtBZEMsQ0FBRjtBQWVBWCxJQUFBQSxFQUFFLENBQUMscUdBQUQsRUFBd0csWUFBTTtBQUMvRyxVQUFNQyxrQkFBa0IsR0FBR2YsNEJBQTRCLENBQUM7QUFDdkRnQixRQUFBQSxTQUFTLEVBQUUsWUFENEM7QUFFdkRDLFFBQUFBLGFBQWEsRUFBRUMsWUFBWSxDQUFDVSxVQUYyQjtBQUd2RFEsUUFBQUEsYUFBYSxFQUFFLE1BSHdDO0FBSXZEYixRQUFBQSxvQkFBb0IsRUFBRTtBQUNyQixrREFBd0M7QUFDdkNDLFlBQUFBLGFBQWEsRUFBRTtBQUNkRixjQUFBQSxJQUFJLEVBQUU7QUFEUTtBQUR3QjtBQURuQjtBQUppQyxPQUFELENBQXZEO0FBWUFGLE1BQUFBLE1BQU0sQ0FBQ0wsa0JBQWtCLENBQUNtQixlQUFwQixDQUFOLENBQTJDVCxPQUEzQyxDQUFtRCxTQUFuRDtBQUNBLEtBZEMsQ0FBRjtBQWVBWCxJQUFBQSxFQUFFLENBQUMsOEhBQUQsRUFBaUksWUFBTTtBQUN4SSxVQUFNQyxrQkFBa0IsR0FBR2YsNEJBQTRCLENBQUM7QUFDdkRnQixRQUFBQSxTQUFTLEVBQUUsWUFENEM7QUFFdkRDLFFBQUFBLGFBQWEsRUFBRUMsWUFBWSxDQUFDVSxVQUYyQjtBQUd2RFEsUUFBQUEsYUFBYSxFQUFFLE1BSHdDO0FBSXZEYixRQUFBQSxvQkFBb0IsRUFBRTtBQUNyQixrREFBd0M7QUFDdkNDLFlBQUFBLGFBQWEsRUFBRTtBQUNkRixjQUFBQSxJQUFJLEVBQUUsaUJBRFE7QUFFZGEsY0FBQUEsU0FBUyxFQUFFO0FBRkc7QUFEd0I7QUFEbkI7QUFKaUMsT0FBRCxDQUF2RDtBQWFBZixNQUFBQSxNQUFNLENBQUNMLGtCQUFrQixDQUFDbUIsZUFBcEIsQ0FBTixDQUEyQ1QsT0FBM0MsQ0FBbUQsVUFBbkQ7QUFDQSxLQWZDLENBQUY7QUFnQkEsR0FySk8sQ0FBUjtBQXVKQVosRUFBQUEsUUFBUSxDQUFDLHNDQUFELEVBQXlDLFlBQVc7QUFDM0QsUUFBTXdCLG1CQUFtQixHQUFHQyxRQUFRLENBQUMsS0FBRCxDQUFwQztBQUNBLFFBQU1DLGtCQUFrQixHQUFHRCxRQUFRLENBQUMsSUFBRCxDQUFuQztBQUNBLFFBQU1FLHFCQUFxQixHQUFHQyxpQkFBaUIsQ0FBQyx1QkFBRCxDQUEvQztBQUNBLFFBQUlDLGdCQUFKO0FBQ0EsUUFBSUMsZ0JBQUo7QUFDQSxRQUFJQyxpQkFBSjtBQUNBLFFBQUlDLGlCQUFKO0FBQ0EsUUFBSUMseUJBQUo7QUFDQSxRQUFJQyx5QkFBSjtBQUNBLFFBQUlDLGdCQUFKO0FBQ0EsUUFBSUMsa0JBQUo7QUFDQSxRQUFJQyxtQkFBSjtBQUVBckUsSUFBQUEsU0FBUyxDQUFDLFlBQVc7QUFDcEI2RCxNQUFBQSxnQkFBZ0IsR0FBR25DLDBCQUEwQixDQUFDaEMsY0FBRCxFQUFpQjtBQUFFeUMsUUFBQUEsU0FBUyxFQUFFLFlBQWI7QUFBMkJDLFFBQUFBLGFBQWEsRUFBRUMsWUFBWSxDQUFDQztBQUF2RCxPQUFqQixDQUE3QztBQUNBd0IsTUFBQUEsZ0JBQWdCLEdBQUdwQywwQkFBMEIsQ0FBQ2hDLGNBQUQsRUFBaUI7QUFBRXlDLFFBQUFBLFNBQVMsRUFBRSxZQUFiO0FBQTJCQyxRQUFBQSxhQUFhLEVBQUVDLFlBQVksQ0FBQ1U7QUFBdkQsT0FBakIsQ0FBN0M7QUFDQWdCLE1BQUFBLGlCQUFpQixHQUFHckMsMEJBQTBCLENBQUNoQyxjQUFELEVBQWlCO0FBQzlEeUMsUUFBQUEsU0FBUyxFQUFFLG9CQURtRDtBQUU5REMsUUFBQUEsYUFBYSxFQUFFQyxZQUFZLENBQUNDO0FBRmtDLE9BQWpCLENBQTlDO0FBSUEwQixNQUFBQSxpQkFBaUIsR0FBR3RDLDBCQUEwQixDQUFDaEMsY0FBRCxFQUFpQjtBQUM5RHlDLFFBQUFBLFNBQVMsRUFBRSxvQkFEbUQ7QUFFOURDLFFBQUFBLGFBQWEsRUFBRUMsWUFBWSxDQUFDVTtBQUZrQyxPQUFqQixDQUE5QztBQUlBa0IsTUFBQUEseUJBQXlCLEdBQUd2QywwQkFBMEIsQ0FBQ2hDLGNBQUQsRUFBaUI7QUFDdEV5QyxRQUFBQSxTQUFTLEVBQUUsMkJBRDJEO0FBRXRFQyxRQUFBQSxhQUFhLEVBQUVDLFlBQVksQ0FBQ0M7QUFGMEMsT0FBakIsQ0FBdEQ7QUFJQTRCLE1BQUFBLHlCQUF5QixHQUFHeEMsMEJBQTBCLENBQUNoQyxjQUFELEVBQWlCO0FBQ3RFeUMsUUFBQUEsU0FBUyxFQUFFLDJCQUQyRDtBQUV0RUMsUUFBQUEsYUFBYSxFQUFFQyxZQUFZLENBQUNVO0FBRjBDLE9BQWpCLENBQXREO0FBSUFvQixNQUFBQSxnQkFBZ0IsR0FBR3pDLDBCQUEwQixDQUFDL0Isa0JBQUQsRUFBcUI7QUFDakV3QyxRQUFBQSxTQUFTLEVBQUUsWUFEc0Q7QUFFakVDLFFBQUFBLGFBQWEsRUFBRUMsWUFBWSxDQUFDQztBQUZxQyxPQUFyQixDQUE3QztBQUlBOEIsTUFBQUEsa0JBQWtCLEdBQUcxQywwQkFBMEIsQ0FBQzdCLG9CQUFELEVBQXVCO0FBQ3JFc0MsUUFBQUEsU0FBUyxFQUFFLFlBRDBEO0FBRXJFQyxRQUFBQSxhQUFhLEVBQUVDLFlBQVksQ0FBQ0M7QUFGeUMsT0FBdkIsQ0FBL0M7QUFJQStCLE1BQUFBLG1CQUFtQixHQUFHM0MsMEJBQTBCLENBQUM1QixxQkFBRCxFQUF3QjtBQUN2RXFDLFFBQUFBLFNBQVMsRUFBRSxZQUQ0RDtBQUV2RUMsUUFBQUEsYUFBYSxFQUFFQyxZQUFZLENBQUNDO0FBRjJDLE9BQXhCLENBQWhEO0FBSUEsS0EvQlEsQ0FBVDtBQWlDQUwsSUFBQUEsRUFBRSxDQUFDLDREQUFELEVBQStELFlBQU07QUFDdEVNLE1BQUFBLE1BQU0sQ0FBQytCLGNBQWMsQ0FBQ0MsZ0JBQWdCLENBQUNWLGdCQUFELEVBQW1CVyxZQUFZLENBQUNDLFdBQWhDLEVBQTZDakIsbUJBQTdDLENBQWpCLENBQWYsQ0FBTixDQUEwR1osT0FBMUcsQ0FBa0gsT0FBbEg7QUFDQUwsTUFBQUEsTUFBTSxDQUFDK0IsY0FBYyxDQUFDQyxnQkFBZ0IsQ0FBQ1YsZ0JBQUQsRUFBbUIsVUFBbkIsRUFBK0JMLG1CQUEvQixDQUFqQixDQUFmLENBQU4sQ0FBNEZaLE9BQTVGLENBQW9HLE9BQXBHO0FBQ0FMLE1BQUFBLE1BQU0sQ0FBQytCLGNBQWMsQ0FBQ0MsZ0JBQWdCLENBQUNULGdCQUFELEVBQW1CVSxZQUFZLENBQUNDLFdBQWhDLEVBQTZDakIsbUJBQTdDLENBQWpCLENBQWYsQ0FBTixDQUEwR1osT0FBMUcsQ0FBa0gsT0FBbEg7QUFDQUwsTUFBQUEsTUFBTSxDQUFDK0IsY0FBYyxDQUFDQyxnQkFBZ0IsQ0FBQ1QsZ0JBQUQsRUFBbUIsVUFBbkIsRUFBK0JOLG1CQUEvQixDQUFqQixDQUFmLENBQU4sQ0FBNEZaLE9BQTVGLENBQW9HLE9BQXBHO0FBQ0EsS0FMQyxDQUFGO0FBT0FYLElBQUFBLEVBQUUsQ0FBQyx5REFBRCxFQUE0RCxZQUFNO0FBQ25FTSxNQUFBQSxNQUFNLENBQUMrQixjQUFjLENBQUNDLGdCQUFnQixDQUFDUixpQkFBRCxFQUFvQlMsWUFBWSxDQUFDQyxXQUFqQyxFQUE4Q2Ysa0JBQTlDLENBQWpCLENBQWYsQ0FBTixDQUEwR2QsT0FBMUcsQ0FBa0gsT0FBbEg7QUFDQUwsTUFBQUEsTUFBTSxDQUFDK0IsY0FBYyxDQUFDQyxnQkFBZ0IsQ0FBQ1IsaUJBQUQsRUFBb0IsVUFBcEIsRUFBZ0NMLGtCQUFoQyxDQUFqQixDQUFmLENBQU4sQ0FBNEZkLE9BQTVGLENBQW9HLE9BQXBHO0FBQ0FMLE1BQUFBLE1BQU0sQ0FBQytCLGNBQWMsQ0FBQ0MsZ0JBQWdCLENBQUNQLGlCQUFELEVBQW9CUSxZQUFZLENBQUNDLFdBQWpDLEVBQThDZixrQkFBOUMsQ0FBakIsQ0FBZixDQUFOLENBQTBHZCxPQUExRyxDQUFrSCxPQUFsSDtBQUNBTCxNQUFBQSxNQUFNLENBQUMrQixjQUFjLENBQUNDLGdCQUFnQixDQUFDUCxpQkFBRCxFQUFvQixVQUFwQixFQUFnQ04sa0JBQWhDLENBQWpCLENBQWYsQ0FBTixDQUE0RmQsT0FBNUYsQ0FBb0csT0FBcEc7QUFDQSxLQUxDLENBQUY7QUFPQVgsSUFBQUEsRUFBRSxDQUFDLCtEQUFELEVBQWtFLFlBQU07QUFDekVNLE1BQUFBLE1BQU0sQ0FBQytCLGNBQWMsQ0FBQ0MsZ0JBQWdCLENBQUNWLGdCQUFELEVBQW1CLFVBQW5CLEVBQStCSCxrQkFBL0IsQ0FBakIsQ0FBZixDQUFOLENBQTJGZCxPQUEzRixDQUFtRyxNQUFuRztBQUNBTCxNQUFBQSxNQUFNLENBQUMrQixjQUFjLENBQUNDLGdCQUFnQixDQUFDVCxnQkFBRCxFQUFtQixVQUFuQixFQUErQkosa0JBQS9CLENBQWpCLENBQWYsQ0FBTixDQUEyRmQsT0FBM0YsQ0FBbUcsTUFBbkc7QUFDQUwsTUFBQUEsTUFBTSxDQUFDK0IsY0FBYyxDQUFDQyxnQkFBZ0IsQ0FBQ1YsZ0JBQUQsRUFBbUIsVUFBbkIsRUFBK0JGLHFCQUEvQixDQUFqQixDQUFmLENBQU4sQ0FBOEZmLE9BQTlGLENBQXNHLE1BQXRHO0FBQ0FMLE1BQUFBLE1BQU0sQ0FBQytCLGNBQWMsQ0FBQ0MsZ0JBQWdCLENBQUNULGdCQUFELEVBQW1CLFVBQW5CLEVBQStCSCxxQkFBL0IsQ0FBakIsQ0FBZixDQUFOLENBQThGZixPQUE5RixDQUFzRyxNQUF0RztBQUNBTCxNQUFBQSxNQUFNLENBQUMrQixjQUFjLENBQUNDLGdCQUFnQixDQUFDTix5QkFBRCxFQUE0QixVQUE1QixFQUF3Q1Asa0JBQXhDLENBQWpCLENBQWYsQ0FBTixDQUFvR2QsT0FBcEcsQ0FBNEcsTUFBNUc7QUFDQUwsTUFBQUEsTUFBTSxDQUFDK0IsY0FBYyxDQUFDQyxnQkFBZ0IsQ0FBQ0wseUJBQUQsRUFBNEIsVUFBNUIsRUFBd0NSLGtCQUF4QyxDQUFqQixDQUFmLENBQU4sQ0FBb0dkLE9BQXBHLENBQTRHLE1BQTVHO0FBQ0FMLE1BQUFBLE1BQU0sQ0FBQytCLGNBQWMsQ0FBQ0MsZ0JBQWdCLENBQUNOLHlCQUFELEVBQTRCLFVBQTVCLEVBQXdDTixxQkFBeEMsQ0FBakIsQ0FBZixDQUFOLENBQXVHZixPQUF2RyxDQUErRyxNQUEvRztBQUNBTCxNQUFBQSxNQUFNLENBQUMrQixjQUFjLENBQUNDLGdCQUFnQixDQUFDTCx5QkFBRCxFQUE0QixVQUE1QixFQUF3Q1AscUJBQXhDLENBQWpCLENBQWYsQ0FBTixDQUF1R2YsT0FBdkcsQ0FBK0csTUFBL0c7QUFDQSxLQVRDLENBQUY7QUFXQVgsSUFBQUEsRUFBRSxDQUFDLGtEQUFELEVBQXFELFlBQU07QUFDNURNLE1BQUFBLE1BQU0sQ0FBQytCLGNBQWMsQ0FBQ0MsZ0JBQWdCLENBQUNWLGdCQUFELEVBQW1CVyxZQUFZLENBQUNDLFdBQWhDLEVBQTZDZixrQkFBN0MsQ0FBakIsQ0FBZixDQUFOLENBQXlHZCxPQUF6RyxDQUFpSCxNQUFqSDtBQUNBTCxNQUFBQSxNQUFNLENBQUMrQixjQUFjLENBQUNDLGdCQUFnQixDQUFDTix5QkFBRCxFQUE0Qk8sWUFBWSxDQUFDQyxXQUF6QyxFQUFzRGYsa0JBQXRELENBQWpCLENBQWYsQ0FBTixDQUFrSGQsT0FBbEgsQ0FDQyxzQkFERDtBQUdBTCxNQUFBQSxNQUFNLENBQUMrQixjQUFjLENBQUNDLGdCQUFnQixDQUFDVixnQkFBRCxFQUFtQlcsWUFBWSxDQUFDQyxXQUFoQyxFQUE2Q2QscUJBQTdDLENBQWpCLENBQWYsQ0FBTixDQUE0R2YsT0FBNUcsQ0FBb0gsTUFBcEg7QUFDQUwsTUFBQUEsTUFBTSxDQUFDK0IsY0FBYyxDQUFDQyxnQkFBZ0IsQ0FBQ04seUJBQUQsRUFBNEJPLFlBQVksQ0FBQ0MsV0FBekMsRUFBc0RkLHFCQUF0RCxDQUFqQixDQUFmLENBQU4sQ0FBcUhmLE9BQXJILENBQ0Msc0JBREQ7QUFHQSxLQVRDLENBQUY7QUFXQVgsSUFBQUEsRUFBRSxDQUFDLDhEQUFELEVBQWlFLFlBQU07QUFDeEVNLE1BQUFBLE1BQU0sQ0FBQ2dDLGdCQUFnQixDQUFDVCxnQkFBRCxFQUFtQlUsWUFBWSxDQUFDQyxXQUFoQyxFQUE2Q2Ysa0JBQTdDLENBQWpCLENBQU4sQ0FBeUZkLE9BQXpGLENBQWlHZCxFQUFFLENBQUM0QyxVQUFwRztBQUNBbkMsTUFBQUEsTUFBTSxDQUFDZ0MsZ0JBQWdCLENBQUNULGdCQUFELEVBQW1CVSxZQUFZLENBQUNDLFdBQWhDLEVBQTZDZCxxQkFBN0MsQ0FBakIsQ0FBTixDQUE0RmYsT0FBNUYsQ0FBb0dkLEVBQUUsQ0FBQzRDLFVBQXZHO0FBQ0FuQyxNQUFBQSxNQUFNLENBQUMrQixjQUFjLENBQUNDLGdCQUFnQixDQUFDTCx5QkFBRCxFQUE0Qk0sWUFBWSxDQUFDQyxXQUF6QyxFQUFzRGYsa0JBQXRELENBQWpCLENBQWYsQ0FBTixDQUFrSGQsT0FBbEgsQ0FDQyw2Q0FERDtBQUdBTCxNQUFBQSxNQUFNLENBQUMrQixjQUFjLENBQUNDLGdCQUFnQixDQUFDTCx5QkFBRCxFQUE0Qk0sWUFBWSxDQUFDQyxXQUF6QyxFQUFzRGQscUJBQXRELENBQWpCLENBQWYsQ0FBTixDQUFxSGYsT0FBckgsQ0FDQyw2Q0FERDtBQUdBLEtBVEMsQ0FBRjtBQVdBWCxJQUFBQSxFQUFFLENBQUMsaUZBQUQsRUFBb0YsWUFBTTtBQUMzRk0sTUFBQUEsTUFBTSxDQUFDK0IsY0FBYyxDQUFDQyxnQkFBZ0IsQ0FBQ0osZ0JBQUQsRUFBbUJLLFlBQVksQ0FBQ0MsV0FBaEMsRUFBNkNmLGtCQUE3QyxDQUFqQixDQUFmLENBQU4sQ0FBeUdkLE9BQXpHLENBQWlILE1BQWpIO0FBQ0FMLE1BQUFBLE1BQU0sQ0FBQytCLGNBQWMsQ0FBQ0MsZ0JBQWdCLENBQUNKLGdCQUFELEVBQW1CSyxZQUFZLENBQUNDLFdBQWhDLEVBQTZDakIsbUJBQTdDLENBQWpCLENBQWYsQ0FBTixDQUEwR1osT0FBMUcsQ0FBa0gsTUFBbEg7QUFFQUwsTUFBQUEsTUFBTSxDQUFDK0IsY0FBYyxDQUFDQyxnQkFBZ0IsQ0FBQ0gsa0JBQUQsRUFBcUJJLFlBQVksQ0FBQ0MsV0FBbEMsRUFBK0NmLGtCQUEvQyxDQUFqQixDQUFmLENBQU4sQ0FBMkdkLE9BQTNHLENBQW1ILE1BQW5IO0FBQ0FMLE1BQUFBLE1BQU0sQ0FBQytCLGNBQWMsQ0FBQ0MsZ0JBQWdCLENBQUNILGtCQUFELEVBQXFCSSxZQUFZLENBQUNDLFdBQWxDLEVBQStDakIsbUJBQS9DLENBQWpCLENBQWYsQ0FBTixDQUE0R1osT0FBNUcsQ0FBb0gsTUFBcEg7QUFFQUwsTUFBQUEsTUFBTSxDQUFDK0IsY0FBYyxDQUFDQyxnQkFBZ0IsQ0FBQ0YsbUJBQUQsRUFBc0JHLFlBQVksQ0FBQ0MsV0FBbkMsRUFBZ0RmLGtCQUFoRCxDQUFqQixDQUFmLENBQU4sQ0FBNEdkLE9BQTVHLENBQW9ILE9BQXBIO0FBQ0FMLE1BQUFBLE1BQU0sQ0FBQytCLGNBQWMsQ0FBQ0MsZ0JBQWdCLENBQUNGLG1CQUFELEVBQXNCRyxZQUFZLENBQUNDLFdBQW5DLEVBQWdEakIsbUJBQWhELENBQWpCLENBQWYsQ0FBTixDQUE2R1osT0FBN0csQ0FBcUgsT0FBckg7QUFDQSxLQVRDLENBQUY7QUFVQSxHQXhHTyxDQUFSO0FBMEdBWixFQUFBQSxRQUFRLENBQUMsMENBQUQsRUFBNkMsWUFBVztBQUMvRCxRQUFJNkIsZ0JBQUo7QUFDQSxRQUFJQyxnQkFBSjtBQUNBLFFBQUlhLDZCQUFKO0FBQ0EsUUFBSUMsOEJBQUo7QUFDQSxRQUFJQyxrQ0FBSjtBQUNBLFFBQU1DLHNDQUEyQyxHQUFHO0FBQ25EQyxNQUFBQSxjQUFjLEVBQUU7QUFEbUMsS0FBcEQ7QUFHQSxRQUFNQyx5Q0FBOEMsR0FBRztBQUN0REQsTUFBQUEsY0FBYyxFQUFFO0FBRHNDLEtBQXZEO0FBR0EsUUFBTUUsbUNBQXdDLEdBQUc7QUFDaERGLE1BQUFBLGNBQWMsRUFBRSxLQURnQztBQUVoREcsTUFBQUEsY0FBYyxFQUFFO0FBRmdDLEtBQWpEO0FBSUFsRixJQUFBQSxTQUFTLENBQUMsWUFBVztBQUNwQjZELE1BQUFBLGdCQUFnQixHQUFHbkMsMEJBQTBCLENBQUNoQyxjQUFELEVBQWlCO0FBQUV5QyxRQUFBQSxTQUFTLEVBQUUsWUFBYjtBQUEyQkMsUUFBQUEsYUFBYSxFQUFFQyxZQUFZLENBQUNDO0FBQXZELE9BQWpCLENBQTdDO0FBQ0F3QixNQUFBQSxnQkFBZ0IsR0FBR3BDLDBCQUEwQixDQUFDaEMsY0FBRCxFQUFpQjtBQUFFeUMsUUFBQUEsU0FBUyxFQUFFLFlBQWI7QUFBMkJDLFFBQUFBLGFBQWEsRUFBRUMsWUFBWSxDQUFDVTtBQUF2RCxPQUFqQixDQUE3QztBQUNBNEIsTUFBQUEsNkJBQTZCLEdBQUdqRCwwQkFBMEIsQ0FBQ2hDLGNBQUQsRUFBaUI7QUFDMUV5QyxRQUFBQSxTQUFTLEVBQUUsb0JBRCtEO0FBRTFFQyxRQUFBQSxhQUFhLEVBQUVDLFlBQVksQ0FBQ1U7QUFGOEMsT0FBakIsQ0FBMUQ7QUFJQTZCLE1BQUFBLDhCQUE4QixHQUFHbEQsMEJBQTBCLENBQUNoQyxjQUFELEVBQWlCO0FBQzNFeUMsUUFBQUEsU0FBUyxFQUFFLHFCQURnRTtBQUUzRUMsUUFBQUEsYUFBYSxFQUFFQyxZQUFZLENBQUNVO0FBRitDLE9BQWpCLENBQTNEO0FBSUE4QixNQUFBQSxrQ0FBa0MsR0FBR25ELDBCQUEwQixDQUFDaEMsY0FBRCxFQUFpQjtBQUMvRXlDLFFBQUFBLFNBQVMsRUFBRSxtQ0FEb0U7QUFFL0VDLFFBQUFBLGFBQWEsRUFBRUMsWUFBWSxDQUFDVTtBQUZtRCxPQUFqQixDQUEvRDtBQUlBLEtBZlEsQ0FBVDtBQWlCQWQsSUFBQUEsRUFBRSxDQUFDLDhEQUFELEVBQWlFLFlBQU07QUFDeEVNLE1BQUFBLE1BQU0sQ0FDTDRDLHFCQUFxQixDQUNwQnRCLGdCQURvQixFQUVwQmlCLHNDQUZvQixFQUdwQjtBQUFFTSxRQUFBQSxXQUFXLEVBQUUsSUFBZjtBQUFxQkMsUUFBQUEsV0FBVyxFQUFFO0FBQWxDLE9BSG9CLEVBSXBCQyxTQUpvQixDQURoQixDQUFOLENBT0UxQyxPQVBGLENBT1UsS0FQVjtBQVFBTCxNQUFBQSxNQUFNLENBQ0w0QyxxQkFBcUIsQ0FDcEJ0QixnQkFEb0IsRUFFcEJtQix5Q0FGb0IsRUFHcEI7QUFBRUksUUFBQUEsV0FBVyxFQUFFLElBQWY7QUFBcUJDLFFBQUFBLFdBQVcsRUFBRTtBQUFsQyxPQUhvQixFQUlwQkMsU0FKb0IsQ0FEaEIsQ0FBTixDQU9FMUMsT0FQRixDQU9VLEtBUFY7QUFRQSxLQWpCQyxDQUFGO0FBbUJBWCxJQUFBQSxFQUFFLENBQUMseURBQUQsRUFBNEQsWUFBTTtBQUNuRTtBQUNBTSxNQUFBQSxNQUFNLENBQ0w0QyxxQkFBcUIsQ0FDcEJyQixnQkFEb0IsRUFFcEJnQixzQ0FGb0IsRUFHcEI7QUFBRU0sUUFBQUEsV0FBVyxFQUFFLEtBQWY7QUFBc0JDLFFBQUFBLFdBQVcsRUFBRTtBQUFuQyxPQUhvQixFQUlwQkMsU0FKb0IsQ0FEaEIsQ0FBTixDQU9FMUMsT0FQRixDQU9VLEtBUFYsRUFGbUUsQ0FVbkU7O0FBQ0FMLE1BQUFBLE1BQU0sQ0FDTDRDLHFCQUFxQixDQUNwQnJCLGdCQURvQixFQUVwQmtCLHlDQUZvQixFQUdwQjtBQUFFSSxRQUFBQSxXQUFXLEVBQUUsSUFBZjtBQUFxQkMsUUFBQUEsV0FBVyxFQUFFO0FBQWxDLE9BSG9CLEVBSXBCQyxTQUpvQixDQURoQixDQUFOLENBT0UxQyxPQVBGLENBT1UsS0FQVixFQVhtRSxDQW1CbkU7O0FBQ0FMLE1BQUFBLE1BQU0sQ0FDTDRDLHFCQUFxQixDQUNwQnRCLGdCQURvQixFQUVwQmlCLHNDQUZvQixFQUdwQjtBQUFFTSxRQUFBQSxXQUFXLEVBQUUsSUFBZjtBQUFxQkMsUUFBQUEsV0FBVyxFQUFFO0FBQWxDLE9BSG9CLEVBSXBCQyxTQUpvQixDQURoQixDQUFOLENBT0UxQyxPQVBGLENBT1UsS0FQVixFQXBCbUUsQ0E0Qm5FOztBQUNBTCxNQUFBQSxNQUFNLENBQ0w0QyxxQkFBcUIsQ0FDcEJyQixnQkFEb0IsRUFFcEJnQixzQ0FGb0IsRUFHcEI7QUFBRU0sUUFBQUEsV0FBVyxFQUFFLElBQWY7QUFBcUJDLFFBQUFBLFdBQVcsRUFBRTtBQUFsQyxPQUhvQixFQUlwQkMsU0FKb0IsQ0FEaEIsQ0FBTixDQU9FMUMsT0FQRixDQU9VLGtCQVBWLEVBN0JtRSxDQXFDbkU7O0FBQ0FMLE1BQUFBLE1BQU0sQ0FDTDRDLHFCQUFxQixDQUNwQnJCLGdCQURvQixFQUVwQmdCLHNDQUZvQixFQUdwQjtBQUFFTSxRQUFBQSxXQUFXLEVBQUUsSUFBZjtBQUFxQkMsUUFBQUEsV0FBVyxFQUFFO0FBQWxDLE9BSG9CLEVBSXBCLFFBSm9CLENBRGhCLENBQU4sQ0FPRXpDLE9BUEYsQ0FPVSxLQVBWLEVBdENtRSxDQThDbkU7O0FBQ0FMLE1BQUFBLE1BQU0sQ0FDTDRDLHFCQUFxQixDQUNwQnJCLGdCQURvQixFQUVwQm1CLG1DQUZvQixFQUdwQjtBQUFFRyxRQUFBQSxXQUFXLEVBQUUsSUFBZjtBQUFxQkMsUUFBQUEsV0FBVyxFQUFFO0FBQWxDLE9BSG9CLEVBSXBCQyxTQUpvQixDQURoQixDQUFOLENBT0UxQyxPQVBGLENBT1UsS0FQVixFQS9DbUUsQ0F1RG5FOztBQUNBTCxNQUFBQSxNQUFNLENBQ0w0QyxxQkFBcUIsQ0FDcEJSLDZCQURvQixFQUVwQkcsc0NBRm9CLEVBR3BCO0FBQUVNLFFBQUFBLFdBQVcsRUFBRSxJQUFmO0FBQXFCQyxRQUFBQSxXQUFXLEVBQUU7QUFBbEMsT0FIb0IsRUFJcEJDLFNBSm9CLENBRGhCLENBQU4sQ0FPRTFDLE9BUEYsQ0FPVSxLQVBWLEVBeERtRSxDQWdFbkU7O0FBQ0FMLE1BQUFBLE1BQU0sQ0FDTDRDLHFCQUFxQixDQUNwQk4sa0NBRG9CLEVBRXBCQyxzQ0FGb0IsRUFHcEI7QUFBRU0sUUFBQUEsV0FBVyxFQUFFLElBQWY7QUFBcUJDLFFBQUFBLFdBQVcsRUFBRTtBQUFsQyxPQUhvQixFQUlwQkMsU0FKb0IsQ0FEaEIsQ0FBTixDQU9FMUMsT0FQRixDQU9VLCtEQVBWLEVBakVtRSxDQTBFbkU7O0FBQ0FMLE1BQUFBLE1BQU0sQ0FDTDRDLHFCQUFxQixDQUNwQlAsOEJBRG9CLEVBRXBCRSxzQ0FGb0IsRUFHcEI7QUFBRU0sUUFBQUEsV0FBVyxFQUFFLElBQWY7QUFBcUJDLFFBQUFBLFdBQVcsRUFBRTtBQUFsQyxPQUhvQixFQUlwQkMsU0FKb0IsQ0FEaEIsQ0FBTixDQU9FMUMsT0FQRixDQU9VLGtCQVBWO0FBUUEsS0FuRkMsQ0FBRjtBQW9GQSxHQXhJTyxDQUFSO0FBMElBWixFQUFBQSxRQUFRLENBQUMsMENBQUQsRUFBNkMsWUFBVztBQUMvRCxRQUFJdUQsOENBQUo7QUFDQSxRQUFJQywwQ0FBSjtBQUNBeEYsSUFBQUEsU0FBUyxDQUFDLFlBQVc7QUFDcEJ1RixNQUFBQSw4Q0FBOEMsR0FBRzdELDBCQUEwQixDQUFDaEMsY0FBRCxFQUFpQjtBQUMzRnlDLFFBQUFBLFNBQVMsRUFBRSx5Q0FEZ0Y7QUFFM0ZDLFFBQUFBLGFBQWEsRUFBRUMsWUFBWSxDQUFDVTtBQUYrRCxPQUFqQixDQUEzRTtBQUlBeUMsTUFBQUEsMENBQTBDLEdBQUc5RCwwQkFBMEIsQ0FBQ2hDLGNBQUQsRUFBaUI7QUFDdkZ5QyxRQUFBQSxTQUFTLEVBQUUsc0NBRDRFO0FBRXZGQyxRQUFBQSxhQUFhLEVBQUVDLFlBQVksQ0FBQ1U7QUFGMkQsT0FBakIsQ0FBdkU7QUFJQSxLQVRRLENBQVQsQ0FIK0QsQ0FhL0Q7O0FBQ0FkLElBQUFBLEVBQUUsQ0FBQyxrR0FBRCxFQUFxRyxZQUFNO0FBQzVHTSxNQUFBQSxNQUFNLENBQUNrRCxxQkFBcUIsQ0FBQ0YsOENBQUQsRUFBaUQsSUFBakQsQ0FBdEIsQ0FBTixDQUFvRjNDLE9BQXBGLENBQTRGLEtBQTVGO0FBQ0EsS0FGQyxDQUFGO0FBR0FYLElBQUFBLEVBQUUsQ0FBQywyRUFBRCxFQUE4RSxZQUFNO0FBQ3JGTSxNQUFBQSxNQUFNLENBQUNrRCxxQkFBcUIsQ0FBQ0QsMENBQUQsRUFBNkMsSUFBN0MsQ0FBdEIsQ0FBTixDQUFnRjVDLE9BQWhGLENBQ0MsdURBREQ7QUFHQSxLQUpDLENBQUY7QUFLQVgsSUFBQUEsRUFBRSxDQUFDLDhFQUFELEVBQWlGLFlBQU07QUFDeEZNLE1BQUFBLE1BQU0sQ0FBQ2tELHFCQUFxQixDQUFDRCwwQ0FBRCxFQUE2QyxLQUE3QyxDQUF0QixDQUFOLENBQWlGNUMsT0FBakYsQ0FBeUYsS0FBekY7QUFDQSxLQUZDLENBQUY7QUFHQSxHQXpCTyxDQUFSO0FBMkJBWixFQUFBQSxRQUFRLENBQUMsc0NBQUQsRUFBeUMsWUFBVztBQUMzRCxRQUFNMEQsdUJBQXVCLEdBQUcsVUFDL0JDLFdBRCtCLEVBRS9CQyxrQkFGK0IsRUFHL0JuRSxZQUgrQixFQUkvQm9FLGlCQUorQixFQUtQO0FBQUE7O0FBQ3hCLGFBQU9DLGdCQUFnQiwyQkFDdEJyRSxZQUFZLENBQUNHLGFBQWIsR0FBNkJDLFdBQTdCLENBQXlDQyxFQURuQiwyREFDdEIsdUJBQTZDQyxRQUR2QixFQUV0QjhELGlCQUZzQixFQUd0QnBFLFlBSHNCLEVBSXRCa0UsV0FKc0IsRUFLdEJDLGtCQUxzQixDQUF2QjtBQU9BLEtBYkQ7O0FBZUEzRCxJQUFBQSxFQUFFLENBQUMsNkZBQUQsRUFBZ0csWUFBTTtBQUN2RyxVQUFNOEQsZUFBZSxHQUFHckUsMEJBQTBCLENBQUMzQiwyQkFBRCxFQUE4QjtBQUMvRW9DLFFBQUFBLFNBQVMsRUFBRSw0QkFEb0U7QUFFL0VDLFFBQUFBLGFBQWEsRUFBRUMsWUFBWSxDQUFDQztBQUZtRCxPQUE5QixDQUFsRDtBQUlBLFVBQU0wRCxNQUFNLEdBQUdOLHVCQUF1QixDQUNyQyxJQURxQyxFQUVyQztBQUFFTCxRQUFBQSxXQUFXLEVBQUUsS0FBZjtBQUFzQkQsUUFBQUEsV0FBVyxFQUFFO0FBQW5DLE9BRnFDLEVBR3JDVyxlQUhxQyxFQUlyQyxzQ0FKcUMsQ0FBdEM7QUFNQXhELE1BQUFBLE1BQU0sQ0FBQ3lELE1BQUQsQ0FBTixDQUFlcEQsT0FBZixDQUF1QixNQUF2QjtBQUNBLEtBWkMsQ0FBRjtBQWFBWCxJQUFBQSxFQUFFLENBQUMsMEZBQUQsRUFBNkYsWUFBTTtBQUNwRyxVQUFNOEQsZUFBZSxHQUFHckUsMEJBQTBCLENBQUMzQiwyQkFBRCxFQUE4QjtBQUMvRW9DLFFBQUFBLFNBQVMsRUFBRSw0QkFEb0U7QUFFL0VDLFFBQUFBLGFBQWEsRUFBRUMsWUFBWSxDQUFDQztBQUZtRCxPQUE5QixDQUFsRDtBQUlBLFVBQU0wRCxNQUFNLEdBQUdOLHVCQUF1QixDQUNyQyxJQURxQyxFQUVyQztBQUFFTCxRQUFBQSxXQUFXLEVBQUUsSUFBZjtBQUFxQkQsUUFBQUEsV0FBVyxFQUFFO0FBQWxDLE9BRnFDLEVBR3JDVyxlQUhxQyxFQUlyQyxzQ0FKcUMsQ0FBdEM7QUFNQXhELE1BQUFBLE1BQU0sQ0FBQ3lELE1BQUQsQ0FBTixDQUFlcEQsT0FBZixDQUF1QixPQUF2QjtBQUNBLEtBWkMsQ0FBRjtBQWFBWCxJQUFBQSxFQUFFLENBQUMsMkdBQUQsRUFBOEcsWUFBTTtBQUNySCxVQUFNOEQsZUFBZSxHQUFHckUsMEJBQTBCLENBQUMzQiwyQkFBRCxFQUE4QjtBQUMvRW9DLFFBQUFBLFNBQVMsRUFBRSw4QkFEb0U7QUFFL0VDLFFBQUFBLGFBQWEsRUFBRUMsWUFBWSxDQUFDQztBQUZtRCxPQUE5QixDQUFsRDtBQUlBLFVBQU0wRCxNQUFNLEdBQUdOLHVCQUF1QixDQUNyQyxJQURxQyxFQUVyQztBQUFFTCxRQUFBQSxXQUFXLEVBQUUsS0FBZjtBQUFzQkQsUUFBQUEsV0FBVyxFQUFFO0FBQW5DLE9BRnFDLEVBR3JDVyxlQUhxQyxFQUlyQyxzQ0FKcUMsQ0FBdEM7QUFNQXhELE1BQUFBLE1BQU0sQ0FBQ3lELE1BQUQsQ0FBTixDQUFlcEQsT0FBZixDQUF1QixPQUF2QjtBQUNBLEtBWkMsQ0FBRjtBQWFBWCxJQUFBQSxFQUFFLENBQUMsdUdBQUQsRUFBMEcsWUFBTTtBQUNqSCxVQUFNOEQsZUFBZSxHQUFHckUsMEJBQTBCLENBQUMzQiwyQkFBRCxFQUE4QjtBQUMvRW9DLFFBQUFBLFNBQVMsRUFBRSxnQ0FEb0U7QUFFL0VDLFFBQUFBLGFBQWEsRUFBRUMsWUFBWSxDQUFDQztBQUZtRCxPQUE5QixDQUFsRDtBQUlBLFVBQU0wRCxNQUFNLEdBQUdOLHVCQUF1QixDQUNyQyxJQURxQyxFQUVyQztBQUFFTCxRQUFBQSxXQUFXLEVBQUUsS0FBZjtBQUFzQkQsUUFBQUEsV0FBVyxFQUFFO0FBQW5DLE9BRnFDLEVBR3JDVyxlQUhxQyxFQUlyQyxzQ0FKcUMsQ0FBdEM7QUFNQXhELE1BQUFBLE1BQU0sQ0FBQ3lELE1BQUQsQ0FBTixDQUFlcEQsT0FBZixDQUF1QixNQUF2QjtBQUNBLEtBWkMsQ0FBRjtBQWFBWCxJQUFBQSxFQUFFLENBQUMsNEhBQUQsRUFBK0gsWUFBTTtBQUN0SSxVQUFNOEQsZUFBZSxHQUFHckUsMEJBQTBCLENBQUMzQiwyQkFBRCxFQUE4QjtBQUMvRW9DLFFBQUFBLFNBQVMsRUFBRSw4QkFEb0U7QUFFL0VDLFFBQUFBLGFBQWEsRUFBRUMsWUFBWSxDQUFDQztBQUZtRCxPQUE5QixDQUFsRDtBQUlBLFVBQU0wRCxNQUFNLEdBQUdOLHVCQUF1QixDQUNyQyxJQURxQyxFQUVyQztBQUFFTCxRQUFBQSxXQUFXLEVBQUUsS0FBZjtBQUFzQkQsUUFBQUEsV0FBVyxFQUFFO0FBQW5DLE9BRnFDLEVBR3JDVyxlQUhxQyxFQUlyQyxzQ0FKcUMsQ0FBdEM7QUFNQXhELE1BQUFBLE1BQU0sQ0FBQ3lELE1BQUQsQ0FBTixDQUFlcEQsT0FBZixDQUF1QixPQUF2QjtBQUNBLEtBWkMsQ0FBRjtBQWFBWCxJQUFBQSxFQUFFLENBQUMsbUtBQUQsRUFBc0ssWUFBTTtBQUM3SyxVQUFNOEQsZUFBZSxHQUFHckUsMEJBQTBCLENBQUMzQiwyQkFBRCxFQUE4QjtBQUMvRW9DLFFBQUFBLFNBQVMsRUFBRSx1Q0FEb0U7QUFFL0VDLFFBQUFBLGFBQWEsRUFBRUMsWUFBWSxDQUFDQztBQUZtRCxPQUE5QixDQUFsRDtBQUlBLFVBQU0wRCxNQUFNLEdBQUdOLHVCQUF1QixDQUNyQyxJQURxQyxFQUVyQztBQUFFTCxRQUFBQSxXQUFXLEVBQUUsS0FBZjtBQUFzQkQsUUFBQUEsV0FBVyxFQUFFO0FBQW5DLE9BRnFDLEVBR3JDVyxlQUhxQyxFQUlyQyxzQ0FKcUMsQ0FBdEM7QUFNQXhELE1BQUFBLE1BQU0sQ0FBQ3lELE1BQUQsQ0FBTixDQUFlcEQsT0FBZixDQUF1QixPQUF2QjtBQUNBLEtBWkMsQ0FBRjtBQWFBWCxJQUFBQSxFQUFFLENBQUMsME1BQUQsRUFBNk0sWUFBTTtBQUNwTixVQUFNOEQsZUFBZSxHQUFHckUsMEJBQTBCLENBQUMzQiwyQkFBRCxFQUE4QjtBQUMvRW9DLFFBQUFBLFNBQVMsRUFBRSxvREFEb0U7QUFFL0VDLFFBQUFBLGFBQWEsRUFBRUMsWUFBWSxDQUFDQztBQUZtRCxPQUE5QixDQUFsRDtBQUlBLFVBQU0wRCxNQUFNLEdBQUdOLHVCQUF1QixDQUNyQyxJQURxQyxFQUVyQztBQUFFTCxRQUFBQSxXQUFXLEVBQUUsS0FBZjtBQUFzQkQsUUFBQUEsV0FBVyxFQUFFO0FBQW5DLE9BRnFDLEVBR3JDVyxlQUhxQyxFQUlyQyxzQ0FKcUMsQ0FBdEM7QUFNQXhELE1BQUFBLE1BQU0sQ0FBQ3lELE1BQUQsQ0FBTixDQUFlcEQsT0FBZixDQUF1Qiw4Q0FBdkI7QUFDQSxLQVpDLENBQUY7QUFhQVgsSUFBQUEsRUFBRSxDQUFDLGdJQUFELEVBQW1JLFlBQU07QUFDMUksVUFBTWIsZ0JBQWdCLEdBQUc7QUFDeEJlLFFBQUFBLFNBQVMsRUFBRSwrQkFEYTtBQUV4QkMsUUFBQUEsYUFBYSxFQUFFQyxZQUFZLENBQUNDLFVBRko7QUFHeEJJLFFBQUFBLG9CQUFvQixFQUFFO0FBQ3JCLGtEQUF3QztBQUN2Q0MsWUFBQUEsYUFBYSxFQUFFO0FBQ2RFLGNBQUFBLFlBQVksRUFBRTtBQURBLGFBRHdCO0FBSXZDb0QsWUFBQUEsT0FBTyxFQUFFO0FBQ1IseUJBQVc7QUFDVkMsZ0JBQUFBLEtBQUssRUFBRSxJQURHO0FBRVZDLGdCQUFBQSxPQUFPLEVBQUUsTUFGQztBQUdWQyxnQkFBQUEsT0FBTyxFQUFFLE1BSEM7QUFJVkMsZ0JBQUFBLElBQUksRUFBRSxlQUpJO0FBS1ZDLGdCQUFBQSxjQUFjLEVBQUUsSUFMTjtBQU1WQyxnQkFBQUEsaUJBQWlCLEVBQUU7QUFOVDtBQURIO0FBSjhCO0FBRG5CO0FBSEUsT0FBekI7QUFxQkEsVUFBTVIsZUFBZSxHQUFHckUsMEJBQTBCLENBQUMzQiwyQkFBRCxFQUE4QnFCLGdCQUE5QixDQUFsRDtBQUNBLFVBQU00RSxNQUFNLEdBQUdOLHVCQUF1QixDQUNyQyxJQURxQyxFQUVyQztBQUFFTCxRQUFBQSxXQUFXLEVBQUUsS0FBZjtBQUFzQkQsUUFBQUEsV0FBVyxFQUFFO0FBQW5DLE9BRnFDLEVBR3JDVyxlQUhxQyxFQUlyQyxzQ0FKcUMsQ0FBdEM7QUFNQXhELE1BQUFBLE1BQU0sQ0FBQ3lELE1BQUQsQ0FBTixDQUFlcEQsT0FBZixDQUF1QixPQUF2QjtBQUNBLEtBOUJDLENBQUY7QUErQkFYLElBQUFBLEVBQUUsQ0FBQyx3TEFBRCxFQUEyTCxZQUFNO0FBQ2xNLFVBQU1iLGdCQUFnQixHQUFHO0FBQ3hCZSxRQUFBQSxTQUFTLEVBQUUsK0JBRGE7QUFFeEJDLFFBQUFBLGFBQWEsRUFBRUMsWUFBWSxDQUFDQyxVQUZKO0FBR3hCSSxRQUFBQSxvQkFBb0IsRUFBRTtBQUNyQixrREFBd0M7QUFDdkNDLFlBQUFBLGFBQWEsRUFBRTtBQUNkRSxjQUFBQSxZQUFZLEVBQUU7QUFEQSxhQUR3QjtBQUl2Q29ELFlBQUFBLE9BQU8sRUFBRTtBQUNSLHlCQUFXO0FBQ1ZDLGdCQUFBQSxLQUFLLEVBQUUsSUFERztBQUVWQyxnQkFBQUEsT0FBTyxFQUFFLHFDQUZDO0FBR1ZDLGdCQUFBQSxPQUFPLEVBQUUsTUFIQztBQUlWQyxnQkFBQUEsSUFBSSxFQUFFLGdCQUpJO0FBS1ZDLGdCQUFBQSxjQUFjLEVBQUUsSUFMTjtBQU1WQyxnQkFBQUEsaUJBQWlCLEVBQUU7QUFOVCxlQURIO0FBU1IseUJBQVc7QUFDVkwsZ0JBQUFBLEtBQUssRUFBRSxJQURHO0FBRVZDLGdCQUFBQSxPQUFPLEVBQUUsd0NBRkM7QUFHVkMsZ0JBQUFBLE9BQU8sRUFBRSxNQUhDO0FBSVZDLGdCQUFBQSxJQUFJLEVBQUUsZ0JBSkk7QUFLVkMsZ0JBQUFBLGNBQWMsRUFBRSxJQUxOO0FBTVZDLGdCQUFBQSxpQkFBaUIsRUFBRTtBQU5UO0FBVEg7QUFKOEI7QUFEbkI7QUFIRSxPQUF6QjtBQTZCQSxVQUFNUixlQUFlLEdBQUdyRSwwQkFBMEIsQ0FBQzNCLDJCQUFELEVBQThCcUIsZ0JBQTlCLENBQWxEO0FBQ0EsVUFBTTRFLE1BQU0sR0FBR04sdUJBQXVCLENBQ3JDLElBRHFDLEVBRXJDO0FBQUVMLFFBQUFBLFdBQVcsRUFBRSxLQUFmO0FBQXNCRCxRQUFBQSxXQUFXLEVBQUU7QUFBbkMsT0FGcUMsRUFHckNXLGVBSHFDLEVBSXJDLHNDQUpxQyxDQUF0QztBQU1BeEQsTUFBQUEsTUFBTSxDQUFDeUQsTUFBRCxDQUFOLENBQWVwRCxPQUFmLENBQXVCLHNHQUF2QjtBQUNBLEtBdENDLENBQUY7QUF1Q0FYLElBQUFBLEVBQUUsQ0FBQyxpR0FBRCxFQUFvRyxZQUFNO0FBQzNHLFVBQU11RSxlQUFlLEdBQUc5RSwwQkFBMEIsQ0FBQzNCLDJCQUFELEVBQThCO0FBQy9Fb0MsUUFBQUEsU0FBUyxFQUFFLDRCQURvRTtBQUUvRUMsUUFBQUEsYUFBYSxFQUFFQyxZQUFZLENBQUNVO0FBRm1ELE9BQTlCLENBQWxEO0FBSUEsVUFBTWlELE1BQU0sR0FBR04sdUJBQXVCLENBQ3JDLEtBRHFDLEVBRXJDO0FBQUVMLFFBQUFBLFdBQVcsRUFBRSxLQUFmO0FBQXNCRCxRQUFBQSxXQUFXLEVBQUU7QUFBbkMsT0FGcUMsRUFHckNvQixlQUhxQyxFQUlyQyxzQ0FKcUMsQ0FBdEM7QUFNQWpFLE1BQUFBLE1BQU0sQ0FBQ3lELE1BQUQsQ0FBTixDQUFlcEQsT0FBZixDQUF1QixNQUF2QjtBQUNBLEtBWkMsQ0FBRjtBQWFBWCxJQUFBQSxFQUFFLENBQUMsdUhBQUQsRUFBMEgsWUFBTTtBQUNqSSxVQUFNdUUsZUFBZSxHQUFHOUUsMEJBQTBCLENBQUMzQiwyQkFBRCxFQUE4QjtBQUMvRW9DLFFBQUFBLFNBQVMsRUFBRSw0QkFEb0U7QUFFL0VDLFFBQUFBLGFBQWEsRUFBRUMsWUFBWSxDQUFDVTtBQUZtRCxPQUE5QixDQUFsRDtBQUlBLFVBQU1pRCxNQUFNLEdBQUdOLHVCQUF1QixDQUNyQyxLQURxQyxFQUVyQztBQUFFTCxRQUFBQSxXQUFXLEVBQUUsSUFBZjtBQUFxQkQsUUFBQUEsV0FBVyxFQUFFO0FBQWxDLE9BRnFDLEVBR3JDb0IsZUFIcUMsRUFJckMsc0NBSnFDLENBQXRDO0FBTUFqRSxNQUFBQSxNQUFNLENBQUN5RCxNQUFELENBQU4sQ0FBZXBELE9BQWYsQ0FBdUIsdURBQXZCO0FBQ0EsS0FaQyxDQUFGO0FBYUFYLElBQUFBLEVBQUUsQ0FBQyw0SUFBRCxFQUErSSxZQUFNO0FBQ3RKLFVBQU1iLGdCQUFnQixHQUFHO0FBQ3hCZSxRQUFBQSxTQUFTLEVBQUUsMkNBRGE7QUFFeEJDLFFBQUFBLGFBQWEsRUFBRUMsWUFBWSxDQUFDVSxVQUZKO0FBR3hCTCxRQUFBQSxvQkFBb0IsRUFBRTtBQUNyQix3REFBOEM7QUFDN0NDLFlBQUFBLGFBQWEsRUFBRTtBQUNkRSxjQUFBQSxZQUFZLEVBQUU7QUFEQTtBQUQ4QjtBQUR6QjtBQUhFLE9BQXpCO0FBV0EsVUFBTTJELGVBQWUsR0FBRzlFLDBCQUEwQixDQUFDM0IsMkJBQUQsRUFBOEJxQixnQkFBOUIsQ0FBbEQ7QUFDQSxVQUFNcUYsbUJBQW1CLEdBQUdELGVBQWUsQ0FBQ0Usc0JBQWhCLEVBQTVCO0FBQ0FELE1BQUFBLG1CQUFtQixDQUFDRSxZQUFwQixDQUFpQ0MsS0FBakMsR0FBeUMsb0JBQXpDO0FBQ0FILE1BQUFBLG1CQUFtQixDQUFDRSxZQUFwQixDQUFpQ0UsT0FBakMsR0FBMkMsT0FBM0M7QUFDQSxVQUFNYixNQUFNLEdBQUdOLHVCQUF1QixDQUNyQyxLQURxQyxFQUVyQztBQUFFTCxRQUFBQSxXQUFXLEVBQUUsSUFBZjtBQUFxQkQsUUFBQUEsV0FBVyxFQUFFO0FBQWxDLE9BRnFDLEVBR3JDb0IsZUFIcUMsRUFJckMsNENBSnFDLENBQXRDO0FBTUFqRSxNQUFBQSxNQUFNLENBQUN5RCxNQUFELENBQU4sQ0FBZXBELE9BQWYsQ0FBdUIseUZBQXZCO0FBQ0EsS0F2QkMsQ0FBRjtBQXdCQVgsSUFBQUEsRUFBRSxDQUFDLDJNQUFELEVBQThNLFlBQU07QUFDck4sVUFBTXVFLGVBQWUsR0FBRzlFLDBCQUEwQixDQUFDM0IsMkJBQUQsRUFBOEI7QUFDL0VvQyxRQUFBQSxTQUFTLEVBQUUsNENBRG9FO0FBRS9FQyxRQUFBQSxhQUFhLEVBQUVDLFlBQVksQ0FBQ1U7QUFGbUQsT0FBOUIsQ0FBbEQ7QUFJQSxVQUFNaUQsTUFBTSxHQUFHTix1QkFBdUIsQ0FDckMsS0FEcUMsRUFFckM7QUFBRUwsUUFBQUEsV0FBVyxFQUFFLElBQWY7QUFBcUJELFFBQUFBLFdBQVcsRUFBRTtBQUFsQyxPQUZxQyxFQUdyQ29CLGVBSHFDLEVBSXJDLHNDQUpxQyxDQUF0QztBQU1BakUsTUFBQUEsTUFBTSxDQUFDeUQsTUFBRCxDQUFOLENBQWVwRCxPQUFmLENBQXVCLHVEQUF2QjtBQUNBLEtBWkMsQ0FBRjtBQWFBWCxJQUFBQSxFQUFFLENBQUMsNkxBQUQsRUFBZ00sWUFBTTtBQUN2TSxVQUFNdUUsZUFBZSxHQUFHOUUsMEJBQTBCLENBQUMzQiwyQkFBRCxFQUE4QjtBQUMvRW9DLFFBQUFBLFNBQVMsRUFBRSx5Q0FEb0U7QUFFL0VDLFFBQUFBLGFBQWEsRUFBRUMsWUFBWSxDQUFDVTtBQUZtRCxPQUE5QixDQUFsRDtBQUlBLFVBQU1pRCxNQUFNLEdBQUdOLHVCQUF1QixDQUNyQyxLQURxQyxFQUVyQztBQUFFTCxRQUFBQSxXQUFXLEVBQUUsS0FBZjtBQUFzQkQsUUFBQUEsV0FBVyxFQUFFO0FBQW5DLE9BRnFDLEVBR3JDb0IsZUFIcUMsRUFJckMsK0NBSnFDLENBQXRDO0FBTUFqRSxNQUFBQSxNQUFNLENBQUN5RCxNQUFELENBQU4sQ0FBZXBELE9BQWYsQ0FBdUIsTUFBdkI7QUFDQSxLQVpDLENBQUY7QUFhQVgsSUFBQUEsRUFBRSxDQUFDLHlIQUFELEVBQTRILFlBQU07QUFDbkksVUFBTWIsZ0JBQWdCLEdBQUc7QUFDeEJlLFFBQUFBLFNBQVMsRUFBRSx5Q0FEYTtBQUV4QkMsUUFBQUEsYUFBYSxFQUFFQyxZQUFZLENBQUNVLFVBRko7QUFHeEJMLFFBQUFBLG9CQUFvQixFQUFFO0FBQ3JCLHdEQUE4QztBQUM3Q0MsWUFBQUEsYUFBYSxFQUFFO0FBQ2RFLGNBQUFBLFlBQVksRUFBRTtBQURBLGFBRDhCO0FBSTdDb0QsWUFBQUEsT0FBTyxFQUFFO0FBQ1IseUJBQVc7QUFDVkMsZ0JBQUFBLEtBQUssRUFBRSxJQURHO0FBRVZDLGdCQUFBQSxPQUFPLEVBQUUscUNBRkM7QUFHVkMsZ0JBQUFBLE9BQU8sRUFBRSxNQUhDO0FBSVZDLGdCQUFBQSxJQUFJLEVBQUUsZ0JBSkk7QUFLVkMsZ0JBQUFBLGNBQWMsRUFBRSxJQUxOO0FBTVZDLGdCQUFBQSxpQkFBaUIsRUFBRTtBQU5ULGVBREg7QUFTUix5QkFBVztBQUNWTCxnQkFBQUEsS0FBSyxFQUFFLElBREc7QUFFVkMsZ0JBQUFBLE9BQU8sRUFBRSx3Q0FGQztBQUdWQyxnQkFBQUEsT0FBTyxFQUFFLE1BSEM7QUFJVkMsZ0JBQUFBLElBQUksRUFBRSxnQkFKSTtBQUtWQyxnQkFBQUEsY0FBYyxFQUFFLElBTE47QUFNVkMsZ0JBQUFBLGlCQUFpQixFQUFFO0FBTlQ7QUFUSDtBQUpvQztBQUR6QjtBQUhFLE9BQXpCO0FBNkJBLFVBQU1DLGVBQWUsR0FBRzlFLDBCQUEwQixDQUFDM0IsMkJBQUQsRUFBOEJxQixnQkFBOUIsQ0FBbEQ7QUFDQSxVQUFNcUYsbUJBQW1CLEdBQUdELGVBQWUsQ0FBQ0Usc0JBQWhCLEVBQTVCO0FBQ0FELE1BQUFBLG1CQUFtQixDQUFDRSxZQUFwQixDQUFpQ0MsS0FBakMsR0FBeUMsb0JBQXpDO0FBQ0FILE1BQUFBLG1CQUFtQixDQUFDRSxZQUFwQixDQUFpQ0UsT0FBakMsR0FBMkMsT0FBM0M7QUFDQSxVQUFNYixNQUFNLEdBQUdOLHVCQUF1QixDQUNyQyxLQURxQyxFQUVyQztBQUFFTCxRQUFBQSxXQUFXLEVBQUUsSUFBZjtBQUFxQkQsUUFBQUEsV0FBVyxFQUFFO0FBQWxDLE9BRnFDLEVBR3JDb0IsZUFIcUMsRUFJckMsNENBSnFDLENBQXRDO0FBTUFqRSxNQUFBQSxNQUFNLENBQUN5RCxNQUFELENBQU4sQ0FBZXBELE9BQWYsQ0FDQyxtTUFERDtBQUdBLEtBM0NDLENBQUY7QUE0Q0EsR0F6U08sQ0FBUjtBQTJTQVosRUFBQUEsUUFBUSxDQUFDLDRCQUFELEVBQStCLFlBQU07QUFDNUNDLElBQUFBLEVBQUUsQ0FDRCxlQURDLEVBRUQ7QUFDQyxvQkFBYyxDQUNiO0FBQ0MsZ0JBQVEsTUFEVDtBQUVDLGNBQU07QUFGUCxPQURhO0FBRGYsS0FGQyxFQVVELFlBQU07QUFDTCxVQUFNYixnQkFBZ0IsR0FBRztBQUN4QmUsUUFBQUEsU0FBUyxFQUFFLFlBRGE7QUFFeEJDLFFBQUFBLGFBQWEsRUFBRUMsWUFBWSxDQUFDQztBQUZKLE9BQXpCO0FBSUEsVUFBTUosa0JBQWtCLEdBQUdmLDRCQUE0QixDQUFDQyxnQkFBRCxDQUF2RDtBQUNBbUIsTUFBQUEsTUFBTSxDQUFDTCxrQkFBa0IsQ0FBQzRFLFlBQXBCLENBQU4sQ0FBd0NoRSxJQUF4QyxDQUE2QyxJQUE3QztBQUNBLEtBakJBLENBQUY7QUFvQkFiLElBQUFBLEVBQUUsQ0FDRCx5QkFEQyxFQUVEO0FBQ0Msb0JBQWMsQ0FDYjtBQUNDLGdCQUFRLE1BRFQ7QUFFQyxjQUFNO0FBRlAsT0FEYTtBQURmLEtBRkMsRUFVRCxZQUFNO0FBQ0wsVUFBTWIsZ0JBQWdCLEdBQUc7QUFDeEJlLFFBQUFBLFNBQVMsRUFBRSxZQURhO0FBRXhCQyxRQUFBQSxhQUFhLEVBQUVDLFlBQVksQ0FBQ0MsVUFGSjtBQUd4QkksUUFBQUEsb0JBQW9CLEVBQUU7QUFDckIsa0RBQXdDO0FBQ3ZDQyxZQUFBQSxhQUFhLEVBQUU7QUFDZG9FLGNBQUFBLHFCQUFxQixFQUFFO0FBQ3RCQyxnQkFBQUEsVUFBVSxFQUFFLElBRFU7QUFFdEJDLGdCQUFBQSxLQUFLLEVBQUUsQ0FDTjtBQUNDQyxrQkFBQUEsY0FBYyxFQUFFO0FBRGpCLGlCQURNO0FBRmU7QUFEVDtBQUR3QjtBQURuQjtBQUhFLE9BQXpCO0FBa0JBLFVBQU1oRixrQkFBa0IsR0FBR2YsNEJBQTRCLENBQUNDLGdCQUFELENBQXZEO0FBQ0FtQixNQUFBQSxNQUFNLENBQUNMLGtCQUFrQixDQUFDNEUsWUFBcEIsQ0FBTixDQUF3Q2hFLElBQXhDLENBQTZDLEtBQTdDO0FBQ0EsS0EvQkEsQ0FBRjtBQWtDQWIsSUFBQUEsRUFBRSxDQUNELDBCQURDLEVBRUQ7QUFDQyxvQkFBYyxDQUNiO0FBQ0MsZ0JBQVEsTUFEVDtBQUVDLGNBQU07QUFGUCxPQURhO0FBRGYsS0FGQyxFQVVELFlBQU07QUFDTCxVQUFNYixnQkFBZ0IsR0FBRztBQUN4QmUsUUFBQUEsU0FBUyxFQUFFLFlBRGE7QUFFeEJDLFFBQUFBLGFBQWEsRUFBRUMsWUFBWSxDQUFDQyxVQUZKO0FBR3hCSSxRQUFBQSxvQkFBb0IsRUFBRTtBQUNyQixrREFBd0M7QUFDdkNDLFlBQUFBLGFBQWEsRUFBRTtBQUNkb0UsY0FBQUEscUJBQXFCLEVBQUU7QUFDdEJDLGdCQUFBQSxVQUFVLEVBQUUsS0FEVTtBQUV0QkMsZ0JBQUFBLEtBQUssRUFBRSxDQUNOO0FBQ0NDLGtCQUFBQSxjQUFjLEVBQUU7QUFEakIsaUJBRE07QUFGZTtBQURUO0FBRHdCO0FBRG5CO0FBSEUsT0FBekI7QUFrQkEsVUFBTWhGLGtCQUFrQixHQUFHZiw0QkFBNEIsQ0FBQ0MsZ0JBQUQsQ0FBdkQ7QUFDQW1CLE1BQUFBLE1BQU0sQ0FBQ0wsa0JBQWtCLENBQUM0RSxZQUFwQixDQUFOLENBQXdDaEUsSUFBeEMsQ0FBNkMsSUFBN0M7QUFDQSxLQS9CQSxDQUFGO0FBaUNBLEdBeEZPLENBQVI7QUEwRkFkLEVBQUFBLFFBQVEsQ0FBQyxrQkFBRCxFQUFxQixZQUFNO0FBQ2xDQyxJQUFBQSxFQUFFLENBQUMsZUFBRCxFQUFrQixZQUFNO0FBQ3pCLFVBQU1iLGdCQUFnQixHQUFHO0FBQ3hCZSxRQUFBQSxTQUFTLEVBQUUsWUFEYTtBQUV4QkMsUUFBQUEsYUFBYSxFQUFFQyxZQUFZLENBQUNDO0FBRkosT0FBekI7QUFJQSxVQUFNSixrQkFBa0IsR0FBR2YsNEJBQTRCLENBQUNDLGdCQUFELENBQXZEO0FBQ0FtQixNQUFBQSxNQUFNLENBQUNMLGtCQUFrQixDQUFDaUYsdUJBQXBCLENBQU4sQ0FBbURyRSxJQUFuRCxDQUF3RCxLQUF4RDtBQUNBMUIsTUFBQUEsZ0JBQWdCLENBQUNnQixhQUFqQixHQUFpQ0MsWUFBWSxDQUFDVSxVQUE5QztBQUNBLFVBQU1DLG9CQUFvQixHQUFHN0IsNEJBQTRCLENBQUNDLGdCQUFELENBQXpEO0FBQ0FtQixNQUFBQSxNQUFNLENBQUNTLG9CQUFvQixDQUFDbUUsdUJBQXRCLENBQU4sQ0FBcURyRSxJQUFyRCxDQUEwRCxLQUExRDtBQUNBLEtBVkMsQ0FBRjtBQVdBYixJQUFBQSxFQUFFLENBQUMseUJBQUQsRUFBNEIsWUFBTTtBQUNuQyxVQUFNYixnQkFBZ0IsR0FBRztBQUN4QmUsUUFBQUEsU0FBUyxFQUFFLFlBRGE7QUFFeEJDLFFBQUFBLGFBQWEsRUFBRUMsWUFBWSxDQUFDQyxVQUZKO0FBR3hCSSxRQUFBQSxvQkFBb0IsRUFBRTtBQUNyQixrREFBd0M7QUFDdkNDLFlBQUFBLGFBQWEsRUFBRTtBQUNkeUUsY0FBQUEsb0JBQW9CLEVBQUU7QUFEUjtBQUR3QjtBQURuQjtBQUhFLE9BQXpCLENBRG1DLENBWW5DOztBQUNBLFVBQU1sRixrQkFBa0IsR0FBR2YsNEJBQTRCLENBQUNDLGdCQUFELENBQXZEO0FBQ0FtQixNQUFBQSxNQUFNLENBQUNMLGtCQUFrQixDQUFDaUYsdUJBQXBCLENBQU4sQ0FBbURyRSxJQUFuRCxDQUF3RCxLQUF4RDtBQUNBMUIsTUFBQUEsZ0JBQWdCLENBQUNnQixhQUFqQixHQUFpQ0MsWUFBWSxDQUFDVSxVQUE5QztBQUNBLFVBQU1DLG9CQUFvQixHQUFHN0IsNEJBQTRCLENBQUNDLGdCQUFELENBQXpEO0FBQ0FtQixNQUFBQSxNQUFNLENBQUNTLG9CQUFvQixDQUFDbUUsdUJBQXRCLENBQU4sQ0FBcURyRSxJQUFyRCxDQUEwRCxLQUExRCxFQWpCbUMsQ0FtQm5DOztBQUNBMUIsTUFBQUEsZ0JBQWdCLENBQUNnQixhQUFqQixHQUFpQ0MsWUFBWSxDQUFDQyxVQUE5QztBQUNBLFVBQU0rRSxvQkFBb0IsR0FBR2xHLDRCQUE0QixDQUFDQyxnQkFBRCxFQUFtQixJQUFuQixDQUF6RDtBQUNBbUIsTUFBQUEsTUFBTSxDQUFDOEUsb0JBQW9CLENBQUNGLHVCQUF0QixDQUFOLENBQXFEckUsSUFBckQsQ0FBMEQsSUFBMUQ7QUFDQTFCLE1BQUFBLGdCQUFnQixDQUFDZ0IsYUFBakIsR0FBaUNDLFlBQVksQ0FBQ1UsVUFBOUM7QUFDQSxVQUFNdUUsc0JBQXNCLEdBQUduRyw0QkFBNEIsQ0FBQ0MsZ0JBQUQsRUFBbUIsSUFBbkIsQ0FBM0Q7QUFDQW1CLE1BQUFBLE1BQU0sQ0FBQytFLHNCQUFzQixDQUFDSCx1QkFBeEIsQ0FBTixDQUF1RHJFLElBQXZELENBQTRELElBQTVEO0FBQ0EsS0ExQkMsQ0FBRjtBQTJCQWIsSUFBQUEsRUFBRSxDQUFDLDREQUFELEVBQStELFlBQU07QUFDdEUsVUFBTWIsZ0JBQWdCLEdBQUc7QUFDeEJlLFFBQUFBLFNBQVMsRUFBRSxZQURhO0FBRXhCQyxRQUFBQSxhQUFhLEVBQUVDLFlBQVksQ0FBQ0MsVUFGSjtBQUd4QkksUUFBQUEsb0JBQW9CLEVBQUU7QUFDckIsa0RBQXdDO0FBQ3ZDQyxZQUFBQSxhQUFhLEVBQUU7QUFDZHlFLGNBQUFBLG9CQUFvQixFQUFFO0FBRFI7QUFEd0I7QUFEbkIsU0FIRTtBQVV4QkcsUUFBQUEsZ0JBQWdCLEVBQUU7QUFDakJDLFVBQUFBLElBQUksRUFBRSxJQURXO0FBRWpCQyxVQUFBQSxPQUFPLEVBQUU7QUFGUTtBQVZNLE9BQXpCLENBRHNFLENBZ0J0RTs7QUFDQSxVQUFNSixvQkFBb0IsR0FBR2xHLDRCQUE0QixDQUFDQyxnQkFBRCxFQUFtQixJQUFuQixDQUF6RDtBQUNBbUIsTUFBQUEsTUFBTSxDQUFDOEUsb0JBQW9CLENBQUNGLHVCQUF0QixDQUFOLENBQXFEckUsSUFBckQsQ0FBMEQsS0FBMUQ7QUFDQTFCLE1BQUFBLGdCQUFnQixDQUFDZ0IsYUFBakIsR0FBaUNDLFlBQVksQ0FBQ1UsVUFBOUM7QUFDQSxVQUFNdUUsc0JBQXNCLEdBQUduRyw0QkFBNEIsQ0FBQ0MsZ0JBQUQsRUFBbUIsSUFBbkIsQ0FBM0Q7QUFDQW1CLE1BQUFBLE1BQU0sQ0FBQytFLHNCQUFzQixDQUFDSCx1QkFBeEIsQ0FBTixDQUF1RHJFLElBQXZELENBQTRELEtBQTVEO0FBQ0EsS0F0QkMsQ0FBRjtBQXdCQWIsSUFBQUEsRUFBRSxDQUFDLCtEQUFELEVBQWtFLFlBQU07QUFDekUsVUFBTWIsZ0JBQWdCLEdBQUc7QUFDeEJlLFFBQUFBLFNBQVMsRUFBRSxZQURhO0FBRXhCQyxRQUFBQSxhQUFhLEVBQUVDLFlBQVksQ0FBQ0MsVUFGSjtBQUd4QkksUUFBQUEsb0JBQW9CLEVBQUU7QUFDckIsa0RBQXdDO0FBQ3ZDQyxZQUFBQSxhQUFhLEVBQUU7QUFDZHlFLGNBQUFBLG9CQUFvQixFQUFFO0FBRFI7QUFEd0I7QUFEbkI7QUFIRSxPQUF6QixDQUR5RSxDQVl6RTs7QUFDQSxVQUFNQyxvQkFBb0IsR0FBR2xHLDRCQUE0QixDQUFDQyxnQkFBRCxFQUFtQixJQUFuQixFQUF5QixNQUF6QixDQUF6RDtBQUNBbUIsTUFBQUEsTUFBTSxDQUFDOEUsb0JBQW9CLENBQUNGLHVCQUF0QixDQUFOLENBQXFEckUsSUFBckQsQ0FBMEQsS0FBMUQ7QUFDQTFCLE1BQUFBLGdCQUFnQixDQUFDZ0IsYUFBakIsR0FBaUNDLFlBQVksQ0FBQ1UsVUFBOUM7QUFDQSxVQUFNdUUsc0JBQXNCLEdBQUduRyw0QkFBNEIsQ0FBQ0MsZ0JBQUQsRUFBbUIsSUFBbkIsRUFBeUIsTUFBekIsQ0FBM0Q7QUFDQW1CLE1BQUFBLE1BQU0sQ0FBQytFLHNCQUFzQixDQUFDSCx1QkFBeEIsQ0FBTixDQUF1RHJFLElBQXZELENBQTRELEtBQTVEO0FBQ0EsS0FsQkMsQ0FBRjtBQW1CQSxHQWxGTyxDQUFSO0FBb0ZBZCxFQUFBQSxRQUFRLENBQUMsWUFBRCxFQUFlLFlBQU07QUFDNUIsUUFBTTBGLHNDQUFzQyxHQUFHLFVBQzlDdEcsZ0JBRDhDLEVBSWY7QUFBQTs7QUFBQSxVQUYvQkcsZUFFK0IsdUVBRkk3QixjQUVKO0FBQUEsVUFEL0JpSSxTQUMrQjtBQUMvQixVQUFNbEcsWUFBWSxHQUFHQywwQkFBMEIsQ0FBQ0gsZUFBRCxFQUFrQkgsZ0JBQWxCLENBQS9DO0FBQ0FLLE1BQUFBLFlBQVksQ0FBQ21HLCtCQUFiLENBQTZDLHNDQUE3QyxFQUFxRmpGLGFBQXJGLENBQW1HRixJQUFuRyxHQUNDLENBQUFrRixTQUFTLFNBQVQsSUFBQUEsU0FBUyxXQUFULFlBQUFBLFNBQVMsQ0FBRWxGLElBQVgsS0FBbUI2QyxTQURwQjtBQUVBLGFBQU8zRCw2QkFBNkIsMkJBQ25DRixZQUFZLENBQUNHLGFBQWIsR0FBNkJDLFdBQTdCLENBQXlDQyxFQUROLDJEQUNuQyx1QkFBNkNDLFFBRFYsRUFFbkMsc0NBRm1DLEVBR25DTixZQUhtQyxDQUFwQztBQUtBLEtBYkQ7O0FBY0FRLElBQUFBLEVBQUUsQ0FBQyx3SUFBRCxFQUEySSxZQUFNO0FBQ2xKLFVBQU1iLGdCQUFnQixHQUFHO0FBQ3hCZSxRQUFBQSxTQUFTLEVBQUUsWUFEYTtBQUV4QkMsUUFBQUEsYUFBYSxFQUFFQyxZQUFZLENBQUNDLFVBRko7QUFHeEJJLFFBQUFBLG9CQUFvQixFQUFFO0FBQ3JCLGtEQUF3QztBQUN2Q0MsWUFBQUEsYUFBYSxFQUFFO0FBQ2R5RSxjQUFBQSxvQkFBb0IsRUFBRTtBQURSO0FBRHdCO0FBRG5CLFNBSEU7QUFVeEJTLFFBQUFBLFNBQVMsRUFBRTtBQVZhLE9BQXpCO0FBWUEsVUFBTUMscUJBQXFCLEdBQUdKLHNDQUFzQyxDQUFDdEcsZ0JBQUQsRUFBbUJ4QiwrQkFBbkIsQ0FBcEU7QUFDQTJDLE1BQUFBLE1BQU0sQ0FBQ3VGLHFCQUFxQixDQUFDckYsSUFBdkIsQ0FBTixDQUFtQ0csT0FBbkMsQ0FBMkMsaUJBQTNDO0FBQ0EsS0FmQyxDQUFGO0FBZ0JBWCxJQUFBQSxFQUFFLENBQUMsK0lBQUQsRUFBa0osWUFBTTtBQUN6SixVQUFNYixnQkFBZ0IsR0FBRztBQUN4QmUsUUFBQUEsU0FBUyxFQUFFLFlBRGE7QUFFeEJDLFFBQUFBLGFBQWEsRUFBRUMsWUFBWSxDQUFDQyxVQUZKO0FBR3hCSSxRQUFBQSxvQkFBb0IsRUFBRTtBQUNyQixrREFBd0M7QUFDdkNDLFlBQUFBLGFBQWEsRUFBRTtBQUNkeUUsY0FBQUEsb0JBQW9CLEVBQUU7QUFEUjtBQUR3QjtBQURuQixTQUhFO0FBVXhCUyxRQUFBQSxTQUFTLEVBQUU7QUFWYSxPQUF6QjtBQVlBLFVBQU1DLHFCQUFxQixHQUFHSixzQ0FBc0MsQ0FBQ3RHLGdCQUFELEVBQW1CeEIsK0JBQW5CLENBQXBFO0FBQ0EyQyxNQUFBQSxNQUFNLENBQUN1RixxQkFBcUIsQ0FBQ3JGLElBQXZCLENBQU4sQ0FBbUNHLE9BQW5DLENBQTJDLGlCQUEzQztBQUNBLEtBZkMsQ0FBRjtBQWdCQVgsSUFBQUEsRUFBRSxDQUFDLDZJQUFELEVBQWdKLFlBQU07QUFDdkosVUFBTWIsZ0JBQWdCLEdBQUc7QUFDeEJlLFFBQUFBLFNBQVMsRUFBRSxZQURhO0FBRXhCQyxRQUFBQSxhQUFhLEVBQUVDLFlBQVksQ0FBQ0MsVUFGSjtBQUd4QkksUUFBQUEsb0JBQW9CLEVBQUU7QUFDckIsa0RBQXdDO0FBQ3ZDQyxZQUFBQSxhQUFhLEVBQUU7QUFDZHlFLGNBQUFBLG9CQUFvQixFQUFFO0FBRFI7QUFEd0I7QUFEbkIsU0FIRTtBQVV4QlMsUUFBQUEsU0FBUyxFQUFFO0FBVmEsT0FBekI7QUFZQSxVQUFNQyxxQkFBcUIsR0FBR0osc0NBQXNDLENBQUN0RyxnQkFBRCxFQUFtQjFCLGNBQW5CLENBQXBFO0FBQ0E2QyxNQUFBQSxNQUFNLENBQUN1RixxQkFBcUIsQ0FBQ3JGLElBQXZCLENBQU4sQ0FBbUNHLE9BQW5DLENBQTJDLGlCQUEzQztBQUNBLEtBZkMsQ0FBRjtBQWdCQVgsSUFBQUEsRUFBRSxDQUFDLDJJQUFELEVBQThJLFlBQU07QUFDckosVUFBTWIsZ0JBQWdCLEdBQUc7QUFDeEJlLFFBQUFBLFNBQVMsRUFBRSxZQURhO0FBRXhCQyxRQUFBQSxhQUFhLEVBQUVDLFlBQVksQ0FBQ0MsVUFGSjtBQUd4QkksUUFBQUEsb0JBQW9CLEVBQUU7QUFDckIsa0RBQXdDO0FBQ3ZDQyxZQUFBQSxhQUFhLEVBQUU7QUFDZHlFLGNBQUFBLG9CQUFvQixFQUFFO0FBRFI7QUFEd0I7QUFEbkIsU0FIRTtBQVV4QlMsUUFBQUEsU0FBUyxFQUFFO0FBVmEsT0FBekI7QUFZQSxVQUFNQyxxQkFBcUIsR0FBR0osc0NBQXNDLENBQUN0RyxnQkFBRCxFQUFtQjFCLGNBQW5CLENBQXBFO0FBQ0E2QyxNQUFBQSxNQUFNLENBQUN1RixxQkFBcUIsQ0FBQ3JGLElBQXZCLENBQU4sQ0FBbUNHLE9BQW5DLENBQTJDLGlCQUEzQztBQUNBLEtBZkMsQ0FBRjtBQWdCQVgsSUFBQUEsRUFBRSxDQUFDLGtJQUFELEVBQXFJLFlBQU07QUFDNUksVUFBTWIsZ0JBQWdCLEdBQUc7QUFDeEJlLFFBQUFBLFNBQVMsRUFBRSxZQURhO0FBRXhCQyxRQUFBQSxhQUFhLEVBQUVDLFlBQVksQ0FBQ0MsVUFGSjtBQUd4QkksUUFBQUEsb0JBQW9CLEVBQUU7QUFDckIsa0RBQXdDO0FBQ3ZDQyxZQUFBQSxhQUFhLEVBQUU7QUFDZHlFLGNBQUFBLG9CQUFvQixFQUFFO0FBRFI7QUFEd0I7QUFEbkIsU0FIRTtBQVV4QlMsUUFBQUEsU0FBUyxFQUFFO0FBVmEsT0FBekI7QUFZQSxVQUFNQyxxQkFBcUIsR0FBR0osc0NBQXNDLENBQUN0RyxnQkFBRCxFQUFtQnhCLCtCQUFuQixDQUFwRTtBQUNBMkMsTUFBQUEsTUFBTSxDQUFDdUYscUJBQXFCLENBQUNyRixJQUF2QixDQUFOLENBQW1DRyxPQUFuQyxDQUEyQyxpQkFBM0M7QUFDQSxLQWZDLENBQUY7QUFnQkFYLElBQUFBLEVBQUUsQ0FBQyxnSUFBRCxFQUFtSSxZQUFNO0FBQzFJLFVBQU1iLGdCQUFnQixHQUFHO0FBQ3hCZSxRQUFBQSxTQUFTLEVBQUUsWUFEYTtBQUV4QkMsUUFBQUEsYUFBYSxFQUFFQyxZQUFZLENBQUNDLFVBRko7QUFHeEJJLFFBQUFBLG9CQUFvQixFQUFFO0FBQ3JCLGtEQUF3QztBQUN2Q0MsWUFBQUEsYUFBYSxFQUFFO0FBQ2R5RSxjQUFBQSxvQkFBb0IsRUFBRTtBQURSO0FBRHdCO0FBRG5CLFNBSEU7QUFVeEJTLFFBQUFBLFNBQVMsRUFBRTtBQVZhLE9BQXpCO0FBWUEsVUFBTUMscUJBQXFCLEdBQUdKLHNDQUFzQyxDQUFDdEcsZ0JBQUQsRUFBbUJ4QiwrQkFBbkIsQ0FBcEU7QUFDQTJDLE1BQUFBLE1BQU0sQ0FBQ3VGLHFCQUFxQixDQUFDckYsSUFBdkIsQ0FBTixDQUFtQ0csT0FBbkMsQ0FBMkMsaUJBQTNDO0FBQ0EsS0FmQyxDQUFGO0FBZ0JBWCxJQUFBQSxFQUFFLENBQUMsb0pBQUQsRUFBdUosWUFBTTtBQUM5SixVQUFNYixnQkFBZ0IsR0FBRztBQUN4QmdCLFFBQUFBLGFBQWEsRUFBRUMsWUFBWSxDQUFDQyxVQURKO0FBRXhCSCxRQUFBQSxTQUFTLEVBQUUsWUFGYTtBQUd4Qk8sUUFBQUEsb0JBQW9CLEVBQUU7QUFDckIsa0RBQXdDO0FBQ3ZDQyxZQUFBQSxhQUFhLEVBQUU7QUFDZHlFLGNBQUFBLG9CQUFvQixFQUFFO0FBRFI7QUFEd0I7QUFEbkIsU0FIRTtBQVV4QlMsUUFBQUEsU0FBUyxFQUFFO0FBVmEsT0FBekI7QUFZQSxVQUFNRixTQUE2QyxHQUFHO0FBQUVsRixRQUFBQSxJQUFJLEVBQUU7QUFBUixPQUF0RDtBQUNBLFVBQU1xRixxQkFBcUIsR0FBR0osc0NBQXNDLENBQUN0RyxnQkFBRCxFQUFtQjFCLGNBQW5CLEVBQW1DaUksU0FBbkMsQ0FBcEU7QUFDQXBGLE1BQUFBLE1BQU0sQ0FBQ3VGLHFCQUFxQixDQUFDckYsSUFBdkIsQ0FBTixDQUFtQ0csT0FBbkMsQ0FBMkMsV0FBM0M7QUFDQSxLQWhCQyxDQUFGO0FBaUJBWCxJQUFBQSxFQUFFLENBQUMsa0pBQUQsRUFBcUosWUFBTTtBQUM1SixVQUFNYixnQkFBZ0IsR0FBRztBQUN4QmdCLFFBQUFBLGFBQWEsRUFBRUMsWUFBWSxDQUFDQyxVQURKO0FBRXhCSCxRQUFBQSxTQUFTLEVBQUUsWUFGYTtBQUd4Qk8sUUFBQUEsb0JBQW9CLEVBQUU7QUFDckIsa0RBQXdDO0FBQ3ZDQyxZQUFBQSxhQUFhLEVBQUU7QUFDZHlFLGNBQUFBLG9CQUFvQixFQUFFO0FBRFI7QUFEd0I7QUFEbkIsU0FIRTtBQVV4QlMsUUFBQUEsU0FBUyxFQUFFO0FBVmEsT0FBekI7QUFZQSxVQUFNRixTQUE2QyxHQUFHO0FBQUVsRixRQUFBQSxJQUFJLEVBQUU7QUFBUixPQUF0RDtBQUNBLFVBQU1xRixxQkFBcUIsR0FBR0osc0NBQXNDLENBQUN0RyxnQkFBRCxFQUFtQjFCLGNBQW5CLEVBQW1DaUksU0FBbkMsQ0FBcEU7QUFDQXBGLE1BQUFBLE1BQU0sQ0FBQ3VGLHFCQUFxQixDQUFDckYsSUFBdkIsQ0FBTixDQUFtQ0csT0FBbkMsQ0FBMkMsV0FBM0M7QUFDQSxLQWhCQyxDQUFGO0FBaUJBWCxJQUFBQSxFQUFFLENBQUMsd0lBQUQsRUFBMkksWUFBTTtBQUNsSixVQUFNYixnQkFBZ0IsR0FBRztBQUN4QmdCLFFBQUFBLGFBQWEsRUFBRUMsWUFBWSxDQUFDQyxVQURKO0FBRXhCSCxRQUFBQSxTQUFTLEVBQUUsWUFGYTtBQUd4Qk8sUUFBQUEsb0JBQW9CLEVBQUU7QUFDckIsa0RBQXdDO0FBQ3ZDQyxZQUFBQSxhQUFhLEVBQUU7QUFDZHlFLGNBQUFBLG9CQUFvQixFQUFFO0FBRFI7QUFEd0I7QUFEbkIsU0FIRTtBQVV4QlMsUUFBQUEsU0FBUyxFQUFFO0FBVmEsT0FBekI7QUFZQSxVQUFNRixTQUE2QyxHQUFHO0FBQUVsRixRQUFBQSxJQUFJLEVBQUU7QUFBUixPQUF0RDtBQUNBLFVBQU1xRixxQkFBcUIsR0FBR0osc0NBQXNDLENBQUN0RyxnQkFBRCxFQUFtQnhCLCtCQUFuQixFQUFvRCtILFNBQXBELENBQXBFO0FBQ0FwRixNQUFBQSxNQUFNLENBQUN1RixxQkFBcUIsQ0FBQ3JGLElBQXZCLENBQU4sQ0FBbUNHLE9BQW5DLENBQTJDLGlCQUEzQztBQUNBLEtBaEJDLENBQUY7QUFpQkFYLElBQUFBLEVBQUUsQ0FBQyxzSUFBRCxFQUF5SSxZQUFNO0FBQ2hKLFVBQU1iLGdCQUFnQixHQUFHO0FBQ3hCZ0IsUUFBQUEsYUFBYSxFQUFFQyxZQUFZLENBQUNDLFVBREo7QUFFeEJILFFBQUFBLFNBQVMsRUFBRSxZQUZhO0FBR3hCTyxRQUFBQSxvQkFBb0IsRUFBRTtBQUNyQixrREFBd0M7QUFDdkNDLFlBQUFBLGFBQWEsRUFBRTtBQUNkeUUsY0FBQUEsb0JBQW9CLEVBQUU7QUFEUjtBQUR3QjtBQURuQixTQUhFO0FBVXhCUyxRQUFBQSxTQUFTLEVBQUU7QUFWYSxPQUF6QjtBQVlBLFVBQU1GLFNBQTZDLEdBQUc7QUFBRWxGLFFBQUFBLElBQUksRUFBRTtBQUFSLE9BQXREO0FBQ0EsVUFBTXFGLHFCQUFxQixHQUFHSixzQ0FBc0MsQ0FBQ3RHLGdCQUFELEVBQW1CeEIsK0JBQW5CLEVBQW9EK0gsU0FBcEQsQ0FBcEU7QUFDQXBGLE1BQUFBLE1BQU0sQ0FBQ3VGLHFCQUFxQixDQUFDckYsSUFBdkIsQ0FBTixDQUFtQ0csT0FBbkMsQ0FBMkMsaUJBQTNDO0FBQ0EsS0FoQkMsQ0FBRjtBQWlCQSxHQW5MTyxDQUFSO0FBcUxBWixFQUFBQSxRQUFRLENBQUMsaUNBQUQsRUFBb0MsWUFBVztBQUN0REMsSUFBQUEsRUFBRSxDQUFDLDRCQUFELEVBQStCLFlBQVc7QUFBQTs7QUFDM0MsVUFBTThGLGdCQUFnQixHQUFHckcsMEJBQTBCLENBQUNoQyxjQUFELEVBQWlCO0FBQ25FMEMsUUFBQUEsYUFBYSxFQUFFQyxZQUFZLENBQUNVLFVBRHVDO0FBRW5FWixRQUFBQSxTQUFTLEVBQUU7QUFGd0QsT0FBakIsQ0FBbkQ7QUFJQSxVQUFNNkYsYUFBYSxHQUFHQyxlQUFlLENBQ3BDLDBCQUFDRixnQkFBZ0IsQ0FBQ25HLGFBQWpCLEdBQWlDQyxXQUFsQywwREFBQyxzQkFBOENDLEVBQS9DLEVBQTBELHNCQUExRCxDQURvQyxFQUVwQyx3Q0FBNkIsY0FGTyxFQUdwQ2lHLGdCQUhvQyxDQUFyQztBQUtBeEYsTUFBQUEsTUFBTSxDQUFDeUYsYUFBYSxDQUFDRSxNQUFmLENBQU4sQ0FBNkJ0RixPQUE3QixDQUFxQyxDQUFyQztBQUNBTCxNQUFBQSxNQUFNLENBQUN5RixhQUFhLENBQUMsQ0FBRCxDQUFiLENBQWlCdkYsSUFBbEIsQ0FBTixDQUE4QkcsT0FBOUIsQ0FBc0MsV0FBdEM7QUFDQUwsTUFBQUEsTUFBTSxDQUFDeUYsYUFBYSxDQUFDLENBQUQsQ0FBYixDQUFpQkcsR0FBbEIsQ0FBTixDQUE2QnZGLE9BQTdCLENBQXFDLDREQUFyQztBQUNBTCxNQUFBQSxNQUFNLENBQUN5RixhQUFhLENBQUMsQ0FBRCxDQUFiLENBQWlCSSxXQUFsQixDQUFOLENBQXFDeEYsT0FBckMsQ0FBNkMsSUFBN0M7QUFDQUwsTUFBQUEsTUFBTSxDQUFDeUYsYUFBYSxDQUFDLENBQUQsQ0FBYixDQUFpQjVCLE9BQWxCLENBQU4sQ0FBaUN4RCxPQUFqQyxDQUF5QzBDLFNBQXpDO0FBQ0EvQyxNQUFBQSxNQUFNLENBQUN5RixhQUFhLENBQUMsQ0FBRCxDQUFiLENBQWlCMUIsY0FBbEIsQ0FBTixDQUF3QzFELE9BQXhDLENBQWdEMEMsU0FBaEQ7QUFDQS9DLE1BQUFBLE1BQU0sQ0FBQ3lGLGFBQWEsQ0FBQyxDQUFELENBQWIsQ0FBaUJLLGdCQUFsQixDQUFOLENBQTBDekYsT0FBMUMsQ0FBa0QwQyxTQUFsRDtBQUNBLEtBakJDLENBQUY7QUFrQkFyRCxJQUFBQSxFQUFFLENBQUMsNEJBQUQsRUFBK0IsWUFBVztBQUFBOztBQUMzQyxVQUFNOEYsZ0JBQWdCLEdBQUdyRywwQkFBMEIsQ0FBQ2hDLGNBQUQsRUFBaUI7QUFDbkUwQyxRQUFBQSxhQUFhLEVBQUVDLFlBQVksQ0FBQ1UsVUFEdUM7QUFFbkVaLFFBQUFBLFNBQVMsRUFBRSxZQUZ3RDtBQUduRU8sUUFBQUEsb0JBQW9CLEVBQUU7QUFDckIsOERBQW9EO0FBQ25EdUQsWUFBQUEsT0FBTyxFQUFFO0FBQ1IsNEVBQThEO0FBQzdERyxnQkFBQUEsT0FBTyxFQUFFLGtCQURvRDtBQUU3REUsZ0JBQUFBLGNBQWMsRUFBRSxNQUY2QztBQUc3RGdDLGdCQUFBQSxjQUFjLEVBQUU7QUFDZkQsa0JBQUFBLGdCQUFnQixFQUFFLElBREg7QUFFZkUsa0JBQUFBLGtCQUFrQixFQUFFO0FBRkw7QUFINkM7QUFEdEQ7QUFEMEM7QUFEL0I7QUFINkMsT0FBakIsQ0FBbkQ7QUFrQkEsVUFBTVAsYUFBYSxHQUFHQyxlQUFlLENBQ3BDLDJCQUFDRixnQkFBZ0IsQ0FBQ25HLGFBQWpCLEdBQWlDQyxXQUFsQywyREFBQyx1QkFBOENDLEVBQS9DLEVBQTBELHNCQUExRCxDQURvQyxFQUVwQyw4Q0FBbUMsY0FGQyxFQUdwQ2lHLGdCQUhvQyxDQUFyQztBQUtBeEYsTUFBQUEsTUFBTSxDQUFDeUYsYUFBYSxDQUFDRSxNQUFmLENBQU4sQ0FBNkJ0RixPQUE3QixDQUFxQyxDQUFyQztBQUNBTCxNQUFBQSxNQUFNLENBQUN5RixhQUFhLENBQUMsQ0FBRCxDQUFiLENBQWlCdkYsSUFBbEIsQ0FBTixDQUE4QkcsT0FBOUIsQ0FBc0MsV0FBdEM7QUFDQUwsTUFBQUEsTUFBTSxDQUFDeUYsYUFBYSxDQUFDLENBQUQsQ0FBYixDQUFpQkcsR0FBbEIsQ0FBTixDQUE2QnZGLE9BQTdCLENBQXFDLDREQUFyQztBQUNBTCxNQUFBQSxNQUFNLENBQUN5RixhQUFhLENBQUMsQ0FBRCxDQUFiLENBQWlCSSxXQUFsQixDQUFOLENBQXFDeEYsT0FBckMsQ0FBNkMsS0FBN0M7QUFDQUwsTUFBQUEsTUFBTSxDQUFDeUYsYUFBYSxDQUFDLENBQUQsQ0FBYixDQUFpQjVCLE9BQWxCLENBQU4sQ0FBaUN4RCxPQUFqQyxDQUF5QyxrQkFBekM7QUFDQUwsTUFBQUEsTUFBTSxDQUFDeUYsYUFBYSxDQUFDLENBQUQsQ0FBYixDQUFpQjFCLGNBQWxCLENBQU4sQ0FBd0MxRCxPQUF4QyxDQUFnRCxNQUFoRDtBQUNBTCxNQUFBQSxNQUFNLENBQUN5RixhQUFhLENBQUMsQ0FBRCxDQUFiLENBQWlCSyxnQkFBbEIsQ0FBTixDQUEwQ3pGLE9BQTFDLENBQWtELElBQWxEO0FBQ0EsS0EvQkMsQ0FBRjtBQWdDQVgsSUFBQUEsRUFBRSxDQUNELHdCQURDLEVBRUQ7QUFDQyxvQkFBYyxDQUNiO0FBQ0MsZ0JBQVEsS0FEVDtBQUVDLGNBQU07QUFGUCxPQURhLEVBS2I7QUFDQyxnQkFBUSxNQURUO0FBRUMsY0FBTTtBQUZQLE9BTGE7QUFEZixLQUZDLEVBY0QsWUFBVztBQUFBOztBQUNWLFVBQU04RixnQkFBZ0IsR0FBR3JHLDBCQUEwQixDQUFDaEMsY0FBRCxFQUFpQjtBQUNuRTBDLFFBQUFBLGFBQWEsRUFBRUMsWUFBWSxDQUFDVSxVQUR1QztBQUVuRVosUUFBQUEsU0FBUyxFQUFFLFlBRndEO0FBR25FTyxRQUFBQSxvQkFBb0IsRUFBRTtBQUNyQiw4REFBb0Q7QUFDbkR1RCxZQUFBQSxPQUFPLEVBQUU7QUFDUixtQ0FBcUI7QUFDcEIseUJBQVMsdUNBRFc7QUFFcEIsd0JBQVEsT0FGWTtBQUdwQiw0QkFBWTtBQUNYLCtCQUFhdUMsU0FBUyxDQUFDQyxLQURaO0FBRVgsNEJBQVU7QUFGQztBQUhRLGVBRGI7QUFTUixvQ0FBc0I7QUFDckIseUJBQVMsZ0RBRFk7QUFFckIsMkJBQVcsa0JBRlU7QUFHckIsd0JBQVEseUJBSGE7QUFJckIsNEJBQVk7QUFDWCwrQkFBYUQsU0FBUyxDQUFDRSxNQURaO0FBRVgsNEJBQVU7QUFGQztBQUpTO0FBVGQ7QUFEMEM7QUFEL0I7QUFINkMsT0FBakIsQ0FBbkQ7QUEyQkEsVUFBTVYsYUFBYSxHQUFHQyxlQUFlLENBQ3BDLDJCQUFDRixnQkFBZ0IsQ0FBQ25HLGFBQWpCLEdBQWlDQyxXQUFsQywyREFBQyx1QkFBOENDLEVBQS9DLEVBQTBELHNCQUExRCxDQURvQyxFQUVwQyw4Q0FBbUMsY0FGQyxFQUdwQ2lHLGdCQUhvQyxDQUFyQztBQUtBeEYsTUFBQUEsTUFBTSxDQUFDeUYsYUFBYSxDQUFDRSxNQUFmLENBQU4sQ0FBNkJ0RixPQUE3QixDQUFxQyxDQUFyQztBQUNBTCxNQUFBQSxNQUFNLENBQUN5RixhQUFhLENBQUMsQ0FBRCxDQUFiLENBQWlCdkYsSUFBbEIsQ0FBTixDQUE4QkcsT0FBOUIsQ0FBc0MsV0FBdEM7QUFDQUwsTUFBQUEsTUFBTSxDQUFDeUYsYUFBYSxDQUFDLENBQUQsQ0FBYixDQUFpQkcsR0FBbEIsQ0FBTixDQUE2QnZGLE9BQTdCLENBQXFDLDREQUFyQztBQUNBLEtBbERBLENBQUY7QUFvREEsR0F2R08sQ0FBUjtBQXlHQVosRUFBQUEsUUFBUSxDQUFDLGlDQUFELEVBQW9DLFlBQVc7QUFDdERDLElBQUFBLEVBQUUsQ0FBQyxxREFBRCxFQUF3RCxZQUFXO0FBQUE7O0FBQ3BFLFVBQU04RixnQkFBZ0IsR0FBR3JHLDBCQUEwQixDQUFDaEMsY0FBRCxFQUFpQjtBQUNuRTBDLFFBQUFBLGFBQWEsRUFBRUMsWUFBWSxDQUFDVSxVQUR1QztBQUVuRVosUUFBQUEsU0FBUyxFQUFFO0FBRndELE9BQWpCLENBQW5EO0FBSUEsVUFBTXdHLE9BQU8sR0FBR0MsZUFBZSxDQUM5QiwyQkFBQ2IsZ0JBQWdCLENBQUNuRyxhQUFqQixHQUFpQ0MsV0FBbEMsMkRBQUMsdUJBQThDQyxFQUEvQyxFQUEwRCxVQUExRCxDQUQ4QixFQUU5QiwyQ0FGOEIsRUFHOUJpRyxnQkFIOEIsRUFJOUIsRUFKOEIsQ0FBL0I7QUFNQXhGLE1BQUFBLE1BQU0sQ0FBQ29HLE9BQU8sQ0FBQ1QsTUFBVCxDQUFOLENBQXVCcEYsSUFBdkIsQ0FBNEIsQ0FBNUI7QUFDQVAsTUFBQUEsTUFBTSxDQUFDb0csT0FBTyxDQUFDLENBQUQsQ0FBUCxDQUFXUixHQUFaLENBQU4sQ0FBdUJyRixJQUF2QixDQUE0QiwyQkFBNUI7QUFDQVAsTUFBQUEsTUFBTSxDQUFDb0csT0FBTyxDQUFDLENBQUQsQ0FBUCxDQUFXUixHQUFaLENBQU4sQ0FBdUJyRixJQUF2QixDQUE0QixlQUE1QjtBQUNBUCxNQUFBQSxNQUFNLENBQUNvRyxPQUFPLENBQUMsQ0FBRCxDQUFQLENBQVdFLEtBQVosQ0FBTixDQUF5Qi9GLElBQXpCLENBQThCd0MsU0FBOUI7QUFDQS9DLE1BQUFBLE1BQU0sQ0FBQ29HLE9BQU8sQ0FBQyxDQUFELENBQVAsQ0FBV1IsR0FBWixDQUFOLENBQXVCckYsSUFBdkIsQ0FBNEIsaUJBQTVCO0FBQ0FQLE1BQUFBLE1BQU0sQ0FBQ29HLE9BQU8sQ0FBQyxDQUFELENBQVAsQ0FBV1IsR0FBWixDQUFOLENBQXVCckYsSUFBdkIsQ0FBNEIsZ0JBQTVCO0FBQ0EsS0FqQkMsQ0FBRjtBQWtCQWIsSUFBQUEsRUFBRSxDQUNELDZEQURDLEVBRUQ7QUFDQyxvQkFBYyxDQUNiO0FBQ0MsZ0JBQVEsS0FEVDtBQUVDLGNBQU07QUFGUCxPQURhLEVBS2I7QUFDQyxnQkFBUSxNQURUO0FBRUMsY0FBTTtBQUZQLE9BTGE7QUFEZixLQUZDLEVBY0QsWUFBVztBQUFBOztBQUNWLFVBQU04RixnQkFBZ0IsR0FBR3JHLDBCQUEwQixDQUFDaEMsY0FBRCxFQUFpQjtBQUNuRTBDLFFBQUFBLGFBQWEsRUFBRUMsWUFBWSxDQUFDVSxVQUR1QztBQUVuRVosUUFBQUEsU0FBUyxFQUFFLFlBRndEO0FBR25FTyxRQUFBQSxvQkFBb0IsRUFBRTtBQUNyQixrREFBd0M7QUFDdkNpRyxZQUFBQSxPQUFPLEVBQUU7QUFDUixvQ0FBc0I7QUFDckIsMEJBQVUsZUFEVztBQUVyQix5QkFBUyxNQUZZO0FBR3JCLG1DQUFtQkcsZUFBZSxDQUFDQyxHQUhkO0FBSXJCLDRCQUFZO0FBQ1gsK0JBQWFQLFNBQVMsQ0FBQ0MsS0FEWjtBQUVYLDRCQUFVO0FBRkMsaUJBSlM7QUFRckIsNEJBQVk7QUFSUyxlQURkO0FBV1Isb0NBQXNCO0FBQ3JCLDBCQUFVLGVBRFc7QUFFckIseUJBQVMsTUFGWTtBQUdyQiw0QkFBWTtBQUNYLCtCQUFhRCxTQUFTLENBQUNDLEtBRFo7QUFFWCw0QkFBVTtBQUZDLGlCQUhTO0FBT3JCLDRCQUFZO0FBUFMsZUFYZDtBQW9CUix5Q0FBMkI7QUFDMUIsMEJBQVUsc0JBRGdCO0FBRTFCLHlCQUFTLE1BRmlCO0FBRzFCLG1DQUFtQkssZUFBZSxDQUFDRSxNQUhUO0FBSTFCLDRCQUFZO0FBQ1gsK0JBQWFSLFNBQVMsQ0FBQ0MsS0FEWjtBQUVYLDRCQUFVO0FBRkMsaUJBSmM7QUFRMUIsNEJBQVk7QUFSYyxlQXBCbkI7QUE4QlIsdUNBQXlCO0FBQ3hCLDBCQUFVLG1CQURjO0FBRXhCLHlCQUFTLE1BRmU7QUFHeEIsbUNBQW1CSyxlQUFlLENBQUNDLEdBSFg7QUFJeEIsNEJBQVk7QUFDWCwrQkFBYVAsU0FBUyxDQUFDQyxLQURaO0FBRVgsNEJBQVU7QUFGQyxpQkFKWTtBQVF4Qiw0QkFBWTtBQVJZLGVBOUJqQjtBQXdDUiwrQkFBaUI7QUFDaEIseUJBQVM7QUFETztBQXhDVDtBQUQ4QjtBQURuQjtBQUg2QyxPQUFqQixDQUFuRDtBQW9EQSxVQUFNRSxPQUFPLEdBQUdDLGVBQWUsQ0FDOUIsMkJBQUNiLGdCQUFnQixDQUFDbkcsYUFBakIsR0FBaUNDLFdBQWxDLDJEQUFDLHVCQUE4Q0MsRUFBL0MsRUFBMEQsVUFBMUQsQ0FEOEIsRUFFOUIsMkNBRjhCLEVBRzlCaUcsZ0JBSDhCLEVBSTlCLEVBSjhCLENBQS9CO0FBTUF4RixNQUFBQSxNQUFNLENBQUNvRyxPQUFPLENBQUNULE1BQVQsQ0FBTixDQUF1QnBGLElBQXZCLENBQTRCLEVBQTVCO0FBQ0FQLE1BQUFBLE1BQU0sQ0FBQ29HLE9BQU8sQ0FBQyxDQUFELENBQVAsQ0FBV1IsR0FBWixDQUFOLENBQXVCckYsSUFBdkIsQ0FBNEIsMkJBQTVCO0FBQ0FQLE1BQUFBLE1BQU0sQ0FBQ29HLE9BQU8sQ0FBQyxDQUFELENBQVAsQ0FBV1IsR0FBWixDQUFOLENBQXVCckYsSUFBdkIsQ0FBNEIsZUFBNUI7QUFDQVAsTUFBQUEsTUFBTSxDQUFDb0csT0FBTyxDQUFDLENBQUQsQ0FBUCxDQUFXRSxLQUFaLENBQU4sQ0FBeUIvRixJQUF6QixDQUE4QixNQUE5QjtBQUNBUCxNQUFBQSxNQUFNLENBQUNvRyxPQUFPLENBQUMsQ0FBRCxDQUFQLENBQVdSLEdBQVosQ0FBTixDQUF1QnJGLElBQXZCLENBQTRCLG9CQUE1QjtBQUNBUCxNQUFBQSxNQUFNLENBQUNvRyxPQUFPLENBQUMsQ0FBRCxDQUFQLENBQVdSLEdBQVosQ0FBTixDQUF1QnJGLElBQXZCLENBQTRCLG9CQUE1QjtBQUNBUCxNQUFBQSxNQUFNLENBQUNvRyxPQUFPLENBQUMsQ0FBRCxDQUFQLENBQVdSLEdBQVosQ0FBTixDQUF1QnJGLElBQXZCLENBQTRCLHlCQUE1QjtBQUNBUCxNQUFBQSxNQUFNLENBQUNvRyxPQUFPLENBQUMsQ0FBRCxDQUFQLENBQVdSLEdBQVosQ0FBTixDQUF1QnJGLElBQXZCLENBQTRCLHVCQUE1QjtBQUNBUCxNQUFBQSxNQUFNLENBQUNvRyxPQUFPLENBQUMsRUFBRCxDQUFQLENBQVlSLEdBQWIsQ0FBTixDQUF3QnJGLElBQXhCLENBQTZCLGdCQUE3QjtBQUNBLEtBbEZBLENBQUY7QUFvRkEsR0F2R08sQ0FBUiIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0Z2V0Q3JlYXRlVmlzaWJsZSxcblx0Z2V0U2VsZWN0aW9uTW9kZSxcblx0Z2V0VGFibGVBY3Rpb25zLFxuXHRnZXRUYWJsZUNvbHVtbnMsXG5cdGdldFRhYmxlTWFuaWZlc3RDb25maWd1cmF0aW9uLFxuXHRUYWJsZUNhcGFiaWxpdHlSZXN0cmljdGlvbixcblx0VGFibGVDb250cm9sQ29uZmlndXJhdGlvbixcblx0Z2V0VmlzaWJpbGl0eU1hc3NFZGl0LFxuXHRnZXRFbmFibGVtZW50TWFzc0VkaXRcbn0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvY29udHJvbHMvQ29tbW9uL1RhYmxlXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgY29udmVydFR5cGVzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvTWV0YU1vZGVsQ29udmVydGVyXCI7XG5pbXBvcnQgeyBjb21waWxlQ0RTLCBnZXRDb252ZXJ0ZXJDb250ZXh0Rm9yVGVzdCwgZ2V0TWV0YU1vZGVsIH0gZnJvbSBcInNhcC9mZS90ZXN0L0plc3RUZW1wbGF0aW5nSGVscGVyXCI7XG5pbXBvcnQge1xuXHRDcmVhdGlvbk1vZGUsXG5cdEhvcml6b250YWxBbGlnbixcblx0TGlzdFJlcG9ydE1hbmlmZXN0U2V0dGluZ3MsXG5cdFRhYmxlTWFuaWZlc3RDb25maWd1cmF0aW9uLFxuXHRUYWJsZU1hbmlmZXN0U2V0dGluZ3NDb25maWd1cmF0aW9uLFxuXHRUZW1wbGF0ZVR5cGVcbn0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvTWFuaWZlc3RTZXR0aW5nc1wiO1xuaW1wb3J0IHsgQ29udmVydGVyT3V0cHV0LCBMaW5lSXRlbSwgVUlBbm5vdGF0aW9uVGVybXMgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXNcIjtcbmltcG9ydCB7IGJpbmRpbmdFeHByZXNzaW9uLCBjb21waWxlQmluZGluZywgY29uc3RhbnQgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9CaW5kaW5nRXhwcmVzc2lvblwiO1xuaW1wb3J0IHsgVUkgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9oZWxwZXJzL0JpbmRpbmdIZWxwZXJcIjtcbmltcG9ydCBDb252ZXJ0ZXJDb250ZXh0IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL0NvbnZlcnRlckNvbnRleHRcIjtcbmltcG9ydCB7IFBsYWNlbWVudCB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL2hlbHBlcnMvQ29uZmlndXJhYmxlT2JqZWN0XCI7XG5pbXBvcnQgeyBPYmplY3RQYWdlTWFuaWZlc3RTZXR0aW5ncyB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL01hbmlmZXN0U2V0dGluZ3NcIjtcblxubGV0IGNvbnZlcnRlZFR5cGVzOiBDb252ZXJ0ZXJPdXRwdXQ7XG5sZXQgY29udmVydGVkVHlwZXNOb09hOiBDb252ZXJ0ZXJPdXRwdXQ7XG5sZXQgY29udmVydGVkVHlwZXNBbmFseXRpY2FsU2VydmljZTogQ29udmVydGVyT3V0cHV0O1xubGV0IGNvbnZlcnRlZFR5cGVzT2FUcnVlOiBDb252ZXJ0ZXJPdXRwdXQ7XG5sZXQgY29udmVydGVkVHlwZXNPYUZhbHNlOiBDb252ZXJ0ZXJPdXRwdXQ7XG5sZXQgY29udmVydGVkVHlwZXNTZWxlY3Rpb25Nb2RlOiBDb252ZXJ0ZXJPdXRwdXQ7XG5cbmJlZm9yZUFsbChhc3luYyBmdW5jdGlvbigpIHtcblx0Y29uc3Qgc01ldGFkYXRhVXJsID0gY29tcGlsZUNEUyhwYXRoLmpvaW4oX19kaXJuYW1lLCBcIi4uL2RhdGEvVGFibGUuY2RzXCIpKTtcblx0Y29uc3QgbWV0YU1vZGVsID0gYXdhaXQgZ2V0TWV0YU1vZGVsKHNNZXRhZGF0YVVybCk7XG5cdGNvbnZlcnRlZFR5cGVzID0gY29udmVydFR5cGVzKG1ldGFNb2RlbCk7XG5cblx0Y29uc3Qgc01ldGFkYXRhVXJsU2VsZWN0aW9uTW9kZSA9IGNvbXBpbGVDRFMocGF0aC5qb2luKF9fZGlybmFtZSwgXCIuLi9kYXRhL1RhYmxlR2V0U2VsZWN0aW9uTW9kZS5jZHNcIikpO1xuXHRjb25zdCBtZXRhTW9kZWxTZWxlY3Rpb25Nb2RlID0gYXdhaXQgZ2V0TWV0YU1vZGVsKHNNZXRhZGF0YVVybFNlbGVjdGlvbk1vZGUpO1xuXHRjb252ZXJ0ZWRUeXBlc1NlbGVjdGlvbk1vZGUgPSBjb252ZXJ0VHlwZXMobWV0YU1vZGVsU2VsZWN0aW9uTW9kZSk7XG5cblx0Y29uc3Qgc01ldGFkYXRhVXJsQW5hbHl0aWNhbFNlcnZpY2UgPSBjb21waWxlQ0RTKHBhdGguam9pbihfX2Rpcm5hbWUsIFwiLi4vZGF0YS9BbmFseXRpY2FsU2VydmljZS5jZHNcIikpO1xuXHRjb25zdCBtZXRhTW9kZWxBbmFseXRpY2FsU2VydmljZSA9IGF3YWl0IGdldE1ldGFNb2RlbChzTWV0YWRhdGFVcmxBbmFseXRpY2FsU2VydmljZSk7XG5cdGNvbnZlcnRlZFR5cGVzQW5hbHl0aWNhbFNlcnZpY2UgPSBjb252ZXJ0VHlwZXMobWV0YU1vZGVsQW5hbHl0aWNhbFNlcnZpY2UpO1xuXG5cdGNvbnN0IHNNZXRhZGF0YVVybE5vT2EgPSBjb21waWxlQ0RTKHBhdGguam9pbihfX2Rpcm5hbWUsIFwiLi4vZGF0YS9UYWJsZU5ld0FjdGlvbk5vT3BlcmF0aW9uQXZhaWxhYmxlLmNkc1wiKSk7XG5cdGNvbnN0IG1ldGFNb2RlbE5vT2EgPSBhd2FpdCBnZXRNZXRhTW9kZWwoc01ldGFkYXRhVXJsTm9PYSk7XG5cdGNvbnZlcnRlZFR5cGVzTm9PYSA9IGNvbnZlcnRUeXBlcyhtZXRhTW9kZWxOb09hKTtcblxuXHRjb25zdCBzTWV0YWRhdGFVcmxPYVRydWUgPSBjb21waWxlQ0RTKHBhdGguam9pbihfX2Rpcm5hbWUsIFwiLi4vZGF0YS9UYWJsZU5ld0FjdGlvbk9wZXJhdGlvbkF2YWlsYWJsZVRydWUuY2RzXCIpKTtcblx0Y29uc3QgbWV0YU1vZGVsT2FUcnVlID0gYXdhaXQgZ2V0TWV0YU1vZGVsKHNNZXRhZGF0YVVybE9hVHJ1ZSk7XG5cdGNvbnZlcnRlZFR5cGVzT2FUcnVlID0gY29udmVydFR5cGVzKG1ldGFNb2RlbE9hVHJ1ZSk7XG5cblx0Y29uc3Qgc01ldGFkYXRhVXJsT2FGYWxzZSA9IGNvbXBpbGVDRFMocGF0aC5qb2luKF9fZGlybmFtZSwgXCIuLi9kYXRhL1RhYmxlTmV3QWN0aW9uT3BlcmF0aW9uQXZhaWxhYmxlRmFsc2UuY2RzXCIpKTtcblx0Y29uc3QgbWV0YU1vZGVsT2FGYWxzZSA9IGF3YWl0IGdldE1ldGFNb2RlbChzTWV0YWRhdGFVcmxPYUZhbHNlKTtcblx0Y29udmVydGVkVHlwZXNPYUZhbHNlID0gY29udmVydFR5cGVzKG1ldGFNb2RlbE9hRmFsc2UpO1xufSk7XG5jb25zdCBnZXRUYWJsZUNvbmZpZ3VyYXRpb25Gb3JUZXN0ID0gKFxuXHRtYW5pZmVzdFNldHRpbmdzOiBMaXN0UmVwb3J0TWFuaWZlc3RTZXR0aW5ncyB8IE9iamVjdFBhZ2VNYW5pZmVzdFNldHRpbmdzLFxuXHRpc0NvbmRlbnNlZExheW91dENvbXBsaWFudDogYm9vbGVhbiA9IGZhbHNlLFxuXHR1c2VyQ29udGVudERlbnNpdGllczogc3RyaW5nID0gXCJjb21wYWN0XCIsXG5cdGNvbnZlcnRlck91dHB1dDogQ29udmVydGVyT3V0cHV0ID0gY29udmVydGVkVHlwZXNcbik6IFRhYmxlQ29udHJvbENvbmZpZ3VyYXRpb24gPT4ge1xuXHRtYW5pZmVzdFNldHRpbmdzLnNoZWxsQ29udGVudERlbnNpdHkgPSB1c2VyQ29udGVudERlbnNpdGllcztcblx0Y29uc3QgYmFzaWNDb250ZXh0ID0gZ2V0Q29udmVydGVyQ29udGV4dEZvclRlc3QoY29udmVydGVyT3V0cHV0LCBtYW5pZmVzdFNldHRpbmdzKTtcblx0cmV0dXJuIGdldFRhYmxlTWFuaWZlc3RDb25maWd1cmF0aW9uKFxuXHRcdGJhc2ljQ29udGV4dC5nZXRFbnRpdHlUeXBlKCkuYW5ub3RhdGlvbnMuVUk/LkxpbmVJdGVtLFxuXHRcdFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtXCIsXG5cdFx0YmFzaWNDb250ZXh0LFxuXHRcdGlzQ29uZGVuc2VkTGF5b3V0Q29tcGxpYW50XG5cdCk7XG59O1xuZGVzY3JpYmUoXCJUYWJsZSBDb252ZXJ0ZXIgLSAjZ2V0VGFibGVNYW5pZmVzdENvbmZpZ3VyYXRpb24gXCIsIGZ1bmN0aW9uKCkge1xuXHRpdChcIndvcmtzIHdpdGggYmFzaWMgY29uZmlndXJhdGlvblwiLCAoKSA9PiB7XG5cdFx0Y29uc3QgdGFibGVDb25maWd1cmF0aW9uID0gZ2V0VGFibGVDb25maWd1cmF0aW9uRm9yVGVzdCh7XG5cdFx0XHRlbnRpdHlTZXQ6IFwiVGVzdEVudGl0eVwiLFxuXHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLkxpc3RSZXBvcnRcblx0XHR9KTtcblx0XHRleHBlY3QodGFibGVDb25maWd1cmF0aW9uKS50b01hdGNoU25hcHNob3QoKTtcblx0XHRleHBlY3QodGFibGVDb25maWd1cmF0aW9uLnR5cGUgPT09IFwiUmVzcG9uc2l2ZVRhYmxlXCIpO1xuXHR9KTtcblxuXHRpdChcIkluZmx1ZW5jZSB0aGUgdGFibGUgdHlwZVwiLCAoKSA9PiB7XG5cdFx0Y29uc3QgdGFibGVDb25maWd1cmF0aW9uID0gZ2V0VGFibGVDb25maWd1cmF0aW9uRm9yVGVzdCh7XG5cdFx0XHRlbnRpdHlTZXQ6IFwiVGVzdEVudGl0eVwiLFxuXHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLkxpc3RSZXBvcnQsXG5cdFx0XHRjb250cm9sQ29uZmlndXJhdGlvbjoge1xuXHRcdFx0XHRcIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbVwiOiB7XG5cdFx0XHRcdFx0dGFibGVTZXR0aW5nczoge1xuXHRcdFx0XHRcdFx0dHlwZTogXCJHcmlkVGFibGVcIlxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0pO1xuXHRcdGV4cGVjdCh0YWJsZUNvbmZpZ3VyYXRpb24udHlwZSkudG9FcXVhbChcIkdyaWRUYWJsZVwiKTtcblx0fSk7XG5cblx0aXQoXCJFeHBvcnQgT3B0aW9uIERlZmF1bHRcIiwgKCkgPT4ge1xuXHRcdC8vIElmIGRlZmluZWQsIHRoZW4gdGhlIHZhbHVlIHNob3VsZCBiZSBlcXVhbCB0byB0aGUgcHJvdmlkZWQgc2V0dGluZ1xuXHRcdGNvbnN0IG1hbmlmZXN0U2V0dGluZ3MgPSB7XG5cdFx0XHRlbnRpdHlTZXQ6IFwiVGVzdEVudGl0eVwiLFxuXHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLkxpc3RSZXBvcnRcblx0XHR9O1xuXHRcdGNvbnN0IHRhYmxlQ29uZmlndXJhdGlvbiA9IGdldFRhYmxlQ29uZmlndXJhdGlvbkZvclRlc3QobWFuaWZlc3RTZXR0aW5ncyk7XG5cdFx0ZXhwZWN0KHRhYmxlQ29uZmlndXJhdGlvbi5lbmFibGVFeHBvcnQpLnRvQmUodHJ1ZSk7XG5cdFx0bWFuaWZlc3RTZXR0aW5ncy5jb252ZXJ0ZXJUeXBlID0gVGVtcGxhdGVUeXBlLk9iamVjdFBhZ2U7XG5cdFx0Y29uc3QgdGFibGVDb25maWd1cmF0aW9uT1AgPSBnZXRUYWJsZUNvbmZpZ3VyYXRpb25Gb3JUZXN0KG1hbmlmZXN0U2V0dGluZ3MpO1xuXHRcdGV4cGVjdCh0YWJsZUNvbmZpZ3VyYXRpb25PUC5lbmFibGVFeHBvcnQpLnRvQmUodHJ1ZSk7XG5cdH0pO1xuXG5cdGl0KFwiSW5mbHVlbmNlIHRoZSBFeHBvcnQgT3B0aW9uXCIsICgpID0+IHtcblx0XHQvLyBJZiBkZWZpbmVkLCB0aGVuIHRoZSB2YWx1ZSBzaG91bGQgYmUgZXF1YWwgdG8gdGhlIHByb3ZpZGVkIHNldHRpbmdcblx0XHRjb25zdCBtYW5pZmVzdFNldHRpbmdzID0ge1xuXHRcdFx0ZW50aXR5U2V0OiBcIlRlc3RFbnRpdHlcIixcblx0XHRcdGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5MaXN0UmVwb3J0LFxuXHRcdFx0Y29udHJvbENvbmZpZ3VyYXRpb246IHtcblx0XHRcdFx0XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW1cIjoge1xuXHRcdFx0XHRcdHRhYmxlU2V0dGluZ3M6IHtcblx0XHRcdFx0XHRcdGVuYWJsZUV4cG9ydDogdHJ1ZVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH07XG5cdFx0Y29uc3QgdGFibGVDb25maWd1cmF0aW9uID0gZ2V0VGFibGVDb25maWd1cmF0aW9uRm9yVGVzdChtYW5pZmVzdFNldHRpbmdzKTtcblx0XHRleHBlY3QodGFibGVDb25maWd1cmF0aW9uLmVuYWJsZUV4cG9ydCkudG9CZSh0cnVlKTtcblx0XHRtYW5pZmVzdFNldHRpbmdzLmNvbnZlcnRlclR5cGUgPSBUZW1wbGF0ZVR5cGUuT2JqZWN0UGFnZTtcblx0XHRjb25zdCB0YWJsZUNvbmZpZ3VyYXRpb25PUCA9IGdldFRhYmxlQ29uZmlndXJhdGlvbkZvclRlc3QobWFuaWZlc3RTZXR0aW5ncyk7XG5cdFx0ZXhwZWN0KHRhYmxlQ29uZmlndXJhdGlvbk9QLmVuYWJsZUV4cG9ydCkudG9CZSh0cnVlKTtcblxuXHRcdGNvbnN0IG5vUGFzdGVNYW5pZmVzdFNldHRpbmdzID0ge1xuXHRcdFx0ZW50aXR5U2V0OiBcIlRlc3RFbnRpdHlcIixcblx0XHRcdGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5MaXN0UmVwb3J0LFxuXHRcdFx0Y29udHJvbENvbmZpZ3VyYXRpb246IHtcblx0XHRcdFx0XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW1cIjoge1xuXHRcdFx0XHRcdHRhYmxlU2V0dGluZ3M6IHtcblx0XHRcdFx0XHRcdGVuYWJsZVBhc3RlOiBmYWxzZVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH07XG5cdFx0Y29uc3QgdGFibGVDb25maWd1cmF0aW9uTm9QYXN0ZSA9IGdldFRhYmxlQ29uZmlndXJhdGlvbkZvclRlc3Qobm9QYXN0ZU1hbmlmZXN0U2V0dGluZ3MpO1xuXHRcdGV4cGVjdCh0YWJsZUNvbmZpZ3VyYXRpb25Ob1Bhc3RlLmVuYWJsZUV4cG9ydCkudG9CZSh0cnVlKTtcblx0XHRub1Bhc3RlTWFuaWZlc3RTZXR0aW5ncy5jb252ZXJ0ZXJUeXBlID0gVGVtcGxhdGVUeXBlLk9iamVjdFBhZ2U7XG5cdFx0Y29uc3QgdGFibGVDb25maWd1cmF0aW9uTm9QYXN0ZU9QID0gZ2V0VGFibGVDb25maWd1cmF0aW9uRm9yVGVzdChub1Bhc3RlTWFuaWZlc3RTZXR0aW5ncyk7XG5cdFx0ZXhwZWN0KHRhYmxlQ29uZmlndXJhdGlvbk5vUGFzdGVPUC5lbmFibGVFeHBvcnQpLnRvQmUoZmFsc2UpO1xuXHR9KTtcblx0aXQoXCJEZWZhdWx0IGNoZWNrYm94IGlzICdEZXNlbGVjdCBBbGwnIGZvciBhIHJlc3BvbnNpdmUgVGFibGUgaW4gTFJcIiwgKCkgPT4ge1xuXHRcdGNvbnN0IHRhYmxlQ29uZmlndXJhdGlvbiA9IGdldFRhYmxlQ29uZmlndXJhdGlvbkZvclRlc3Qoe1xuXHRcdFx0ZW50aXR5U2V0OiBcIlRlc3RFbnRpdHlcIixcblx0XHRcdGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5MaXN0UmVwb3J0LFxuXHRcdFx0Y29udHJvbENvbmZpZ3VyYXRpb246IHtcblx0XHRcdFx0XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW1cIjoge1xuXHRcdFx0XHRcdHRhYmxlU2V0dGluZ3M6IHtcblx0XHRcdFx0XHRcdHR5cGU6IFwiUmVzcG9uc2l2ZVRhYmxlXCJcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9KTtcblx0XHRleHBlY3QodGFibGVDb25maWd1cmF0aW9uLm11bHRpU2VsZWN0TW9kZSkudG9FcXVhbChcIkNsZWFyQWxsXCIpO1xuXHR9KTtcblx0aXQoXCJDaGVja2JveCBpcyAnU2VsZWN0IEFsbCcgZm9yIGEgcmVzcG9uc2l2ZSBUYWJsZSBpbiBMUiwgd2hlbiBzZWxlY3RBbGwgPSB0cnVlXCIsICgpID0+IHtcblx0XHRjb25zdCB0YWJsZUNvbmZpZ3VyYXRpb24gPSBnZXRUYWJsZUNvbmZpZ3VyYXRpb25Gb3JUZXN0KHtcblx0XHRcdGVudGl0eVNldDogXCJUZXN0RW50aXR5XCIsXG5cdFx0XHRjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuTGlzdFJlcG9ydCxcblx0XHRcdGNvbnRyb2xDb25maWd1cmF0aW9uOiB7XG5cdFx0XHRcdFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtXCI6IHtcblx0XHRcdFx0XHR0YWJsZVNldHRpbmdzOiB7XG5cdFx0XHRcdFx0XHR0eXBlOiBcIlJlc3BvbnNpdmVUYWJsZVwiLFxuXHRcdFx0XHRcdFx0c2VsZWN0QWxsOiB0cnVlXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0ZXhwZWN0KHRhYmxlQ29uZmlndXJhdGlvbi5tdWx0aVNlbGVjdE1vZGUpLnRvRXF1YWwoXCJEZWZhdWx0XCIpO1xuXHR9KTtcblx0aXQoXCJEZWZhdWx0IENoZWNrYm94IGlzICdEZXNlbGVjdCBBbGwnIGZvciByZXNwb25zaXZlIFRhYmxlcyBpbiBPUCwgd2l0aGluIHNlY3Rpb25zIHZpYSB0YWIgYmFyIChubyBhbmNob3IgYmFyKVwiLCAoKSA9PiB7XG5cdFx0Y29uc3QgdGFibGVDb25maWd1cmF0aW9uID0gZ2V0VGFibGVDb25maWd1cmF0aW9uRm9yVGVzdCh7XG5cdFx0XHRlbnRpdHlTZXQ6IFwiVGVzdEVudGl0eVwiLFxuXHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLk9iamVjdFBhZ2UsXG5cdFx0XHRzZWN0aW9uTGF5b3V0OiBcIlRhYnNcIixcblx0XHRcdGNvbnRyb2xDb25maWd1cmF0aW9uOiB7XG5cdFx0XHRcdFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtXCI6IHtcblx0XHRcdFx0XHR0YWJsZVNldHRpbmdzOiB7XG5cdFx0XHRcdFx0XHR0eXBlOiBcIlJlc3BvbnNpdmVUYWJsZVwiXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0ZXhwZWN0KHRhYmxlQ29uZmlndXJhdGlvbi5tdWx0aVNlbGVjdE1vZGUpLnRvRXF1YWwoXCJDbGVhckFsbFwiKTtcblx0fSk7XG5cdGl0KFwiRGVmYXVsdCBDaGVja2JveCBpcyAnU2VsZWN0IEFsbCcgZm9yIHJlc3BvbnNpdmUgVGFibGVzIGluIE9QLCB3aXRoaW4gc2VjdGlvbnMgdXNpbmcgdGhlIGFuY2hvciBiYXIpXCIsICgpID0+IHtcblx0XHRjb25zdCB0YWJsZUNvbmZpZ3VyYXRpb24gPSBnZXRUYWJsZUNvbmZpZ3VyYXRpb25Gb3JUZXN0KHtcblx0XHRcdGVudGl0eVNldDogXCJUZXN0RW50aXR5XCIsXG5cdFx0XHRjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuT2JqZWN0UGFnZSxcblx0XHRcdHNlY3Rpb25MYXlvdXQ6IFwiUGFnZVwiLFxuXHRcdFx0Y29udHJvbENvbmZpZ3VyYXRpb246IHtcblx0XHRcdFx0XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW1cIjoge1xuXHRcdFx0XHRcdHRhYmxlU2V0dGluZ3M6IHtcblx0XHRcdFx0XHRcdHR5cGU6IFwiUmVzcG9uc2l2ZVRhYmxlXCJcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9KTtcblx0XHRleHBlY3QodGFibGVDb25maWd1cmF0aW9uLm11bHRpU2VsZWN0TW9kZSkudG9FcXVhbChcIkRlZmF1bHRcIik7XG5cdH0pO1xuXHRpdChcIkNoZWNrYm94IGlzICdEZVNlbGVjdCBBbGwnIGZvciByZXNwb25zaXZlIFRhYmxlcyBpbiBPUCwgd2l0aGluIHNlY3Rpb25zIHVzaW5nIHRoZSBhbmNob3IgYmFyIHdoZW4gc2VsZWN0QWxsIGlzIHNldCB0byBmYWxzZSlcIiwgKCkgPT4ge1xuXHRcdGNvbnN0IHRhYmxlQ29uZmlndXJhdGlvbiA9IGdldFRhYmxlQ29uZmlndXJhdGlvbkZvclRlc3Qoe1xuXHRcdFx0ZW50aXR5U2V0OiBcIlRlc3RFbnRpdHlcIixcblx0XHRcdGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5PYmplY3RQYWdlLFxuXHRcdFx0c2VjdGlvbkxheW91dDogXCJQYWdlXCIsXG5cdFx0XHRjb250cm9sQ29uZmlndXJhdGlvbjoge1xuXHRcdFx0XHRcIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbVwiOiB7XG5cdFx0XHRcdFx0dGFibGVTZXR0aW5nczoge1xuXHRcdFx0XHRcdFx0dHlwZTogXCJSZXNwb25zaXZlVGFibGVcIixcblx0XHRcdFx0XHRcdHNlbGVjdEFsbDogZmFsc2Vcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9KTtcblx0XHRleHBlY3QodGFibGVDb25maWd1cmF0aW9uLm11bHRpU2VsZWN0TW9kZSkudG9FcXVhbChcIkNsZWFyQWxsXCIpO1xuXHR9KTtcbn0pO1xuXG5kZXNjcmliZShcIlRhYmxlIENvbnZlcnRlciAtICNnZXRDcmVhdGVWaXNpYmxlIFwiLCBmdW5jdGlvbigpIHtcblx0Y29uc3QgSVNfSU5TRVJUQUJMRV9GQUxTRSA9IGNvbnN0YW50KGZhbHNlKTtcblx0Y29uc3QgSVNfSU5TRVJUQUJMRV9UUlVFID0gY29uc3RhbnQodHJ1ZSk7XG5cdGNvbnN0IElTX0lOU0VSVEFCTEVfRFlOQU1JQyA9IGJpbmRpbmdFeHByZXNzaW9uKFwiU29tZUR5bmFtaWNFeHByZXNzaW9uXCIpO1xuXHRsZXQgQkFTSUNfQ09OVEVYVF9MUjogQ29udmVydGVyQ29udGV4dDtcblx0bGV0IEJBU0lDX0NPTlRFWFRfT1A6IENvbnZlcnRlckNvbnRleHQ7XG5cdGxldCBISURERU5fQ09OVEVYVF9MUjogQ29udmVydGVyQ29udGV4dDtcblx0bGV0IEhJRERFTl9DT05URVhUX09QOiBDb252ZXJ0ZXJDb250ZXh0O1xuXHRsZXQgRFlOQU1JQ19ISURERU5fQ09OVEVYVF9MUjogQ29udmVydGVyQ29udGV4dDtcblx0bGV0IERZTkFNSUNfSElEREVOX0NPTlRFWFRfT1A6IENvbnZlcnRlckNvbnRleHQ7XG5cdGxldCBORVdfQUNUSU9OX05PX09BOiBDb252ZXJ0ZXJDb250ZXh0O1xuXHRsZXQgTkVXX0FDVElPTl9PQV9UUlVFOiBDb252ZXJ0ZXJDb250ZXh0O1xuXHRsZXQgTkVXX0FDVElPTl9PQV9GQUxTRTogQ29udmVydGVyQ29udGV4dDtcblxuXHRiZWZvcmVBbGwoZnVuY3Rpb24oKSB7XG5cdFx0QkFTSUNfQ09OVEVYVF9MUiA9IGdldENvbnZlcnRlckNvbnRleHRGb3JUZXN0KGNvbnZlcnRlZFR5cGVzLCB7IGVudGl0eVNldDogXCJUZXN0RW50aXR5XCIsIGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5MaXN0UmVwb3J0IH0pO1xuXHRcdEJBU0lDX0NPTlRFWFRfT1AgPSBnZXRDb252ZXJ0ZXJDb250ZXh0Rm9yVGVzdChjb252ZXJ0ZWRUeXBlcywgeyBlbnRpdHlTZXQ6IFwiVGVzdEVudGl0eVwiLCBjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuT2JqZWN0UGFnZSB9KTtcblx0XHRISURERU5fQ09OVEVYVF9MUiA9IGdldENvbnZlcnRlckNvbnRleHRGb3JUZXN0KGNvbnZlcnRlZFR5cGVzLCB7XG5cdFx0XHRlbnRpdHlTZXQ6IFwiQ3JlYXRlSGlkZGVuRW50aXR5XCIsXG5cdFx0XHRjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuTGlzdFJlcG9ydFxuXHRcdH0pO1xuXHRcdEhJRERFTl9DT05URVhUX09QID0gZ2V0Q29udmVydGVyQ29udGV4dEZvclRlc3QoY29udmVydGVkVHlwZXMsIHtcblx0XHRcdGVudGl0eVNldDogXCJDcmVhdGVIaWRkZW5FbnRpdHlcIixcblx0XHRcdGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5PYmplY3RQYWdlXG5cdFx0fSk7XG5cdFx0RFlOQU1JQ19ISURERU5fQ09OVEVYVF9MUiA9IGdldENvbnZlcnRlckNvbnRleHRGb3JUZXN0KGNvbnZlcnRlZFR5cGVzLCB7XG5cdFx0XHRlbnRpdHlTZXQ6IFwiQ3JlYXRlSGlkZGVuRHluYW1pY0VudGl0eVwiLFxuXHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLkxpc3RSZXBvcnRcblx0XHR9KTtcblx0XHREWU5BTUlDX0hJRERFTl9DT05URVhUX09QID0gZ2V0Q29udmVydGVyQ29udGV4dEZvclRlc3QoY29udmVydGVkVHlwZXMsIHtcblx0XHRcdGVudGl0eVNldDogXCJDcmVhdGVIaWRkZW5EeW5hbWljRW50aXR5XCIsXG5cdFx0XHRjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuT2JqZWN0UGFnZVxuXHRcdH0pO1xuXHRcdE5FV19BQ1RJT05fTk9fT0EgPSBnZXRDb252ZXJ0ZXJDb250ZXh0Rm9yVGVzdChjb252ZXJ0ZWRUeXBlc05vT2EsIHtcblx0XHRcdGVudGl0eVNldDogXCJUZXN0RW50aXR5XCIsXG5cdFx0XHRjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuTGlzdFJlcG9ydFxuXHRcdH0pO1xuXHRcdE5FV19BQ1RJT05fT0FfVFJVRSA9IGdldENvbnZlcnRlckNvbnRleHRGb3JUZXN0KGNvbnZlcnRlZFR5cGVzT2FUcnVlLCB7XG5cdFx0XHRlbnRpdHlTZXQ6IFwiVGVzdEVudGl0eVwiLFxuXHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLkxpc3RSZXBvcnRcblx0XHR9KTtcblx0XHRORVdfQUNUSU9OX09BX0ZBTFNFID0gZ2V0Q29udmVydGVyQ29udGV4dEZvclRlc3QoY29udmVydGVkVHlwZXNPYUZhbHNlLCB7XG5cdFx0XHRlbnRpdHlTZXQ6IFwiVGVzdEVudGl0eVwiLFxuXHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLkxpc3RSZXBvcnRcblx0XHR9KTtcblx0fSk7XG5cblx0aXQoXCJJZiBpdCdzIHN0YXRpY2FsbHkgbm90IGluc2VydGFibGUgLT4gY3JlYXRlIGlzIG5vdCB2aXNpYmxlXCIsICgpID0+IHtcblx0XHRleHBlY3QoY29tcGlsZUJpbmRpbmcoZ2V0Q3JlYXRlVmlzaWJsZShCQVNJQ19DT05URVhUX0xSLCBDcmVhdGlvbk1vZGUuQ3JlYXRpb25Sb3csIElTX0lOU0VSVEFCTEVfRkFMU0UpKSkudG9FcXVhbChcImZhbHNlXCIpO1xuXHRcdGV4cGVjdChjb21waWxlQmluZGluZyhnZXRDcmVhdGVWaXNpYmxlKEJBU0lDX0NPTlRFWFRfTFIsIFwiRXh0ZXJuYWxcIiwgSVNfSU5TRVJUQUJMRV9GQUxTRSkpKS50b0VxdWFsKFwiZmFsc2VcIik7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKGdldENyZWF0ZVZpc2libGUoQkFTSUNfQ09OVEVYVF9PUCwgQ3JlYXRpb25Nb2RlLkNyZWF0aW9uUm93LCBJU19JTlNFUlRBQkxFX0ZBTFNFKSkpLnRvRXF1YWwoXCJmYWxzZVwiKTtcblx0XHRleHBlY3QoY29tcGlsZUJpbmRpbmcoZ2V0Q3JlYXRlVmlzaWJsZShCQVNJQ19DT05URVhUX09QLCBcIkV4dGVybmFsXCIsIElTX0lOU0VSVEFCTEVfRkFMU0UpKSkudG9FcXVhbChcImZhbHNlXCIpO1xuXHR9KTtcblxuXHRpdChcIklmIGNyZWF0ZSBpcyBzdGF0aWNhbGx5IGhpZGRlbiAtPiBjcmVhdGUgaXMgbm90IHZpc2libGVcIiwgKCkgPT4ge1xuXHRcdGV4cGVjdChjb21waWxlQmluZGluZyhnZXRDcmVhdGVWaXNpYmxlKEhJRERFTl9DT05URVhUX0xSLCBDcmVhdGlvbk1vZGUuQ3JlYXRpb25Sb3csIElTX0lOU0VSVEFCTEVfVFJVRSkpKS50b0VxdWFsKFwiZmFsc2VcIik7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKGdldENyZWF0ZVZpc2libGUoSElEREVOX0NPTlRFWFRfTFIsIFwiRXh0ZXJuYWxcIiwgSVNfSU5TRVJUQUJMRV9UUlVFKSkpLnRvRXF1YWwoXCJmYWxzZVwiKTtcblx0XHRleHBlY3QoY29tcGlsZUJpbmRpbmcoZ2V0Q3JlYXRlVmlzaWJsZShISURERU5fQ09OVEVYVF9PUCwgQ3JlYXRpb25Nb2RlLkNyZWF0aW9uUm93LCBJU19JTlNFUlRBQkxFX1RSVUUpKSkudG9FcXVhbChcImZhbHNlXCIpO1xuXHRcdGV4cGVjdChjb21waWxlQmluZGluZyhnZXRDcmVhdGVWaXNpYmxlKEhJRERFTl9DT05URVhUX09QLCBcIkV4dGVybmFsXCIsIElTX0lOU0VSVEFCTEVfVFJVRSkpKS50b0VxdWFsKFwiZmFsc2VcIik7XG5cdH0pO1xuXG5cdGl0KFwiT3RoZXJ3aXNlIGlmIHRoZSBjcmVhdGUgbW9kZSBpcyBleHRlcm5hbCAtPiBjcmVhdGUgaXMgdmlzaWJsZVwiLCAoKSA9PiB7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKGdldENyZWF0ZVZpc2libGUoQkFTSUNfQ09OVEVYVF9MUiwgXCJFeHRlcm5hbFwiLCBJU19JTlNFUlRBQkxFX1RSVUUpKSkudG9FcXVhbChcInRydWVcIik7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKGdldENyZWF0ZVZpc2libGUoQkFTSUNfQ09OVEVYVF9PUCwgXCJFeHRlcm5hbFwiLCBJU19JTlNFUlRBQkxFX1RSVUUpKSkudG9FcXVhbChcInRydWVcIik7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKGdldENyZWF0ZVZpc2libGUoQkFTSUNfQ09OVEVYVF9MUiwgXCJFeHRlcm5hbFwiLCBJU19JTlNFUlRBQkxFX0RZTkFNSUMpKSkudG9FcXVhbChcInRydWVcIik7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKGdldENyZWF0ZVZpc2libGUoQkFTSUNfQ09OVEVYVF9PUCwgXCJFeHRlcm5hbFwiLCBJU19JTlNFUlRBQkxFX0RZTkFNSUMpKSkudG9FcXVhbChcInRydWVcIik7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKGdldENyZWF0ZVZpc2libGUoRFlOQU1JQ19ISURERU5fQ09OVEVYVF9MUiwgXCJFeHRlcm5hbFwiLCBJU19JTlNFUlRBQkxFX1RSVUUpKSkudG9FcXVhbChcInRydWVcIik7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKGdldENyZWF0ZVZpc2libGUoRFlOQU1JQ19ISURERU5fQ09OVEVYVF9PUCwgXCJFeHRlcm5hbFwiLCBJU19JTlNFUlRBQkxFX1RSVUUpKSkudG9FcXVhbChcInRydWVcIik7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKGdldENyZWF0ZVZpc2libGUoRFlOQU1JQ19ISURERU5fQ09OVEVYVF9MUiwgXCJFeHRlcm5hbFwiLCBJU19JTlNFUlRBQkxFX0RZTkFNSUMpKSkudG9FcXVhbChcInRydWVcIik7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKGdldENyZWF0ZVZpc2libGUoRFlOQU1JQ19ISURERU5fQ09OVEVYVF9PUCwgXCJFeHRlcm5hbFwiLCBJU19JTlNFUlRBQkxFX0RZTkFNSUMpKSkudG9FcXVhbChcInRydWVcIik7XG5cdH0pO1xuXG5cdGl0KFwiSWYgd2UncmUgb24gdGhlIGxpc3QgcmVwb3J0IC0+IGNyZWF0ZSBpcyB2aXNpYmxlXCIsICgpID0+IHtcblx0XHRleHBlY3QoY29tcGlsZUJpbmRpbmcoZ2V0Q3JlYXRlVmlzaWJsZShCQVNJQ19DT05URVhUX0xSLCBDcmVhdGlvbk1vZGUuQ3JlYXRpb25Sb3csIElTX0lOU0VSVEFCTEVfVFJVRSkpKS50b0VxdWFsKFwidHJ1ZVwiKTtcblx0XHRleHBlY3QoY29tcGlsZUJpbmRpbmcoZ2V0Q3JlYXRlVmlzaWJsZShEWU5BTUlDX0hJRERFTl9DT05URVhUX0xSLCBDcmVhdGlvbk1vZGUuQ3JlYXRpb25Sb3csIElTX0lOU0VSVEFCTEVfVFJVRSkpKS50b0VxdWFsKFxuXHRcdFx0XCJ7PSAhJXtoaWRkZW5DcmVhdGV9fVwiXG5cdFx0KTtcblx0XHRleHBlY3QoY29tcGlsZUJpbmRpbmcoZ2V0Q3JlYXRlVmlzaWJsZShCQVNJQ19DT05URVhUX0xSLCBDcmVhdGlvbk1vZGUuQ3JlYXRpb25Sb3csIElTX0lOU0VSVEFCTEVfRFlOQU1JQykpKS50b0VxdWFsKFwidHJ1ZVwiKTtcblx0XHRleHBlY3QoY29tcGlsZUJpbmRpbmcoZ2V0Q3JlYXRlVmlzaWJsZShEWU5BTUlDX0hJRERFTl9DT05URVhUX0xSLCBDcmVhdGlvbk1vZGUuQ3JlYXRpb25Sb3csIElTX0lOU0VSVEFCTEVfRFlOQU1JQykpKS50b0VxdWFsKFxuXHRcdFx0XCJ7PSAhJXtoaWRkZW5DcmVhdGV9fVwiXG5cdFx0KTtcblx0fSk7XG5cblx0aXQoXCJPdGhlcndpc2UgdGhpcyBkZXBlbmRzIG9uIHRoZSB2YWx1ZSBvZiB0aGUgdGhlIFVJLklzRWRpdGFibGVcIiwgKCkgPT4ge1xuXHRcdGV4cGVjdChnZXRDcmVhdGVWaXNpYmxlKEJBU0lDX0NPTlRFWFRfT1AsIENyZWF0aW9uTW9kZS5DcmVhdGlvblJvdywgSVNfSU5TRVJUQUJMRV9UUlVFKSkudG9FcXVhbChVSS5Jc0VkaXRhYmxlKTtcblx0XHRleHBlY3QoZ2V0Q3JlYXRlVmlzaWJsZShCQVNJQ19DT05URVhUX09QLCBDcmVhdGlvbk1vZGUuQ3JlYXRpb25Sb3csIElTX0lOU0VSVEFCTEVfRFlOQU1JQykpLnRvRXF1YWwoVUkuSXNFZGl0YWJsZSk7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKGdldENyZWF0ZVZpc2libGUoRFlOQU1JQ19ISURERU5fQ09OVEVYVF9PUCwgQ3JlYXRpb25Nb2RlLkNyZWF0aW9uUm93LCBJU19JTlNFUlRBQkxFX1RSVUUpKSkudG9FcXVhbChcblx0XHRcdFwiez0gKCEle2hpZGRlbkNyZWF0ZX0gJiYgJXt1aT4vaXNFZGl0YWJsZX0pfVwiXG5cdFx0KTtcblx0XHRleHBlY3QoY29tcGlsZUJpbmRpbmcoZ2V0Q3JlYXRlVmlzaWJsZShEWU5BTUlDX0hJRERFTl9DT05URVhUX09QLCBDcmVhdGlvbk1vZGUuQ3JlYXRpb25Sb3csIElTX0lOU0VSVEFCTEVfRFlOQU1JQykpKS50b0VxdWFsKFxuXHRcdFx0XCJ7PSAoISV7aGlkZGVuQ3JlYXRlfSAmJiAle3VpPi9pc0VkaXRhYmxlfSl9XCJcblx0XHQpO1xuXHR9KTtcblxuXHRpdChcIklmIGEgTmV3IEFjdGlvbiBleGlzdHMgY3JlYXRlIGRlcGVuZHMgb24gdGhlIENvcmUuT3BlcmF0aW9uQXZhaWxhYmxlIGFubm90YXRpb25cIiwgKCkgPT4ge1xuXHRcdGV4cGVjdChjb21waWxlQmluZGluZyhnZXRDcmVhdGVWaXNpYmxlKE5FV19BQ1RJT05fTk9fT0EsIENyZWF0aW9uTW9kZS5DcmVhdGlvblJvdywgSVNfSU5TRVJUQUJMRV9UUlVFKSkpLnRvRXF1YWwoXCJ0cnVlXCIpO1xuXHRcdGV4cGVjdChjb21waWxlQmluZGluZyhnZXRDcmVhdGVWaXNpYmxlKE5FV19BQ1RJT05fTk9fT0EsIENyZWF0aW9uTW9kZS5DcmVhdGlvblJvdywgSVNfSU5TRVJUQUJMRV9GQUxTRSkpKS50b0VxdWFsKFwidHJ1ZVwiKTtcblxuXHRcdGV4cGVjdChjb21waWxlQmluZGluZyhnZXRDcmVhdGVWaXNpYmxlKE5FV19BQ1RJT05fT0FfVFJVRSwgQ3JlYXRpb25Nb2RlLkNyZWF0aW9uUm93LCBJU19JTlNFUlRBQkxFX1RSVUUpKSkudG9FcXVhbChcInRydWVcIik7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKGdldENyZWF0ZVZpc2libGUoTkVXX0FDVElPTl9PQV9UUlVFLCBDcmVhdGlvbk1vZGUuQ3JlYXRpb25Sb3csIElTX0lOU0VSVEFCTEVfRkFMU0UpKSkudG9FcXVhbChcInRydWVcIik7XG5cblx0XHRleHBlY3QoY29tcGlsZUJpbmRpbmcoZ2V0Q3JlYXRlVmlzaWJsZShORVdfQUNUSU9OX09BX0ZBTFNFLCBDcmVhdGlvbk1vZGUuQ3JlYXRpb25Sb3csIElTX0lOU0VSVEFCTEVfVFJVRSkpKS50b0VxdWFsKFwiZmFsc2VcIik7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKGdldENyZWF0ZVZpc2libGUoTkVXX0FDVElPTl9PQV9GQUxTRSwgQ3JlYXRpb25Nb2RlLkNyZWF0aW9uUm93LCBJU19JTlNFUlRBQkxFX0ZBTFNFKSkpLnRvRXF1YWwoXCJmYWxzZVwiKTtcblx0fSk7XG59KTtcblxuZGVzY3JpYmUoXCJUYWJsZSBDb252ZXJ0ZXIgLSAjZ2V0VmlzaWJpbGl0eU1hc3NFZGl0XCIsIGZ1bmN0aW9uKCkge1xuXHRsZXQgQkFTSUNfQ09OVEVYVF9MUjogQ29udmVydGVyQ29udGV4dDtcblx0bGV0IEJBU0lDX0NPTlRFWFRfT1A6IENvbnZlcnRlckNvbnRleHQ7XG5cdGxldCBCQVNJQ19DT05URVhUX09QX1VQREFURUhJRERFTjogQ29udmVydGVyQ29udGV4dDtcblx0bGV0IEJBU0lDX0NPTlRFWFRfT1BfVVBEQVRFSElEREVOMTogQ29udmVydGVyQ29udGV4dDtcblx0bGV0IEJBU0lDX0NPTlRFWFRfT1BfVVBEQVRFSElEREVOX1BBVEg6IENvbnZlcnRlckNvbnRleHQ7XG5cdGNvbnN0IHRhYmxlTWFuaWZlc3RDb25maWd1cmF0aW9uV2l0aE1hc3NFZGl0OiBhbnkgPSB7XG5cdFx0ZW5hYmxlTWFzc0VkaXQ6IHRydWVcblx0fTtcblx0Y29uc3QgdGFibGVNYW5pZmVzdENvbmZpZ3VyYXRpb25XaXRob3V0TWFzc0VkaXQ6IGFueSA9IHtcblx0XHRlbmFibGVNYXNzRWRpdDogZmFsc2Vcblx0fTtcblx0Y29uc3QgdGFibGVDb25mV2l0aE1hc3NFZGl0U2VsZWN0aW9uTGltaXQ6IGFueSA9IHtcblx0XHRlbmFibGVNYXNzRWRpdDogZmFsc2UsXG5cdFx0c2VsZWN0aW9uTGltaXQ6IDFcblx0fTtcblx0YmVmb3JlQWxsKGZ1bmN0aW9uKCkge1xuXHRcdEJBU0lDX0NPTlRFWFRfTFIgPSBnZXRDb252ZXJ0ZXJDb250ZXh0Rm9yVGVzdChjb252ZXJ0ZWRUeXBlcywgeyBlbnRpdHlTZXQ6IFwiVGVzdEVudGl0eVwiLCBjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuTGlzdFJlcG9ydCB9KTtcblx0XHRCQVNJQ19DT05URVhUX09QID0gZ2V0Q29udmVydGVyQ29udGV4dEZvclRlc3QoY29udmVydGVkVHlwZXMsIHsgZW50aXR5U2V0OiBcIlRlc3RFbnRpdHlcIiwgY29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLk9iamVjdFBhZ2UgfSk7XG5cdFx0QkFTSUNfQ09OVEVYVF9PUF9VUERBVEVISURERU4gPSBnZXRDb252ZXJ0ZXJDb250ZXh0Rm9yVGVzdChjb252ZXJ0ZWRUeXBlcywge1xuXHRcdFx0ZW50aXR5U2V0OiBcIlVwZGF0ZUhpZGRlbkVudGl0eVwiLFxuXHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLk9iamVjdFBhZ2Vcblx0XHR9KTtcblx0XHRCQVNJQ19DT05URVhUX09QX1VQREFURUhJRERFTjEgPSBnZXRDb252ZXJ0ZXJDb250ZXh0Rm9yVGVzdChjb252ZXJ0ZWRUeXBlcywge1xuXHRcdFx0ZW50aXR5U2V0OiBcIlVwZGF0ZUhpZGRlbkVudGl0eTFcIixcblx0XHRcdGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5PYmplY3RQYWdlXG5cdFx0fSk7XG5cdFx0QkFTSUNfQ09OVEVYVF9PUF9VUERBVEVISURERU5fUEFUSCA9IGdldENvbnZlcnRlckNvbnRleHRGb3JUZXN0KGNvbnZlcnRlZFR5cGVzLCB7XG5cdFx0XHRlbnRpdHlTZXQ6IFwiTWFzc0VkaXRVcGRhdGVIaWRkZW5EeW5hbWljRW50aXR5XCIsXG5cdFx0XHRjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuT2JqZWN0UGFnZVxuXHRcdH0pO1xuXHR9KTtcblxuXHRpdChcIkZvciBsaXN0IHJlcG9ydCBNYXNzIGVkaXQgc2hvdWxkIG5vdCBiZSB2aXNpYmxlIGluIGFueSBjYXNlLlwiLCAoKSA9PiB7XG5cdFx0ZXhwZWN0KFxuXHRcdFx0Z2V0VmlzaWJpbGl0eU1hc3NFZGl0KFxuXHRcdFx0XHRCQVNJQ19DT05URVhUX0xSLFxuXHRcdFx0XHR0YWJsZU1hbmlmZXN0Q29uZmlndXJhdGlvbldpdGhNYXNzRWRpdCxcblx0XHRcdFx0eyBpc1VwZGF0YWJsZTogdHJ1ZSwgaXNEZWxldGFibGU6IHRydWUgfSxcblx0XHRcdFx0dW5kZWZpbmVkXG5cdFx0XHQpXG5cdFx0KS50b0VxdWFsKGZhbHNlKTtcblx0XHRleHBlY3QoXG5cdFx0XHRnZXRWaXNpYmlsaXR5TWFzc0VkaXQoXG5cdFx0XHRcdEJBU0lDX0NPTlRFWFRfTFIsXG5cdFx0XHRcdHRhYmxlTWFuaWZlc3RDb25maWd1cmF0aW9uV2l0aG91dE1hc3NFZGl0LFxuXHRcdFx0XHR7IGlzVXBkYXRhYmxlOiB0cnVlLCBpc0RlbGV0YWJsZTogdHJ1ZSB9LFxuXHRcdFx0XHR1bmRlZmluZWRcblx0XHRcdClcblx0XHQpLnRvRXF1YWwoZmFsc2UpO1xuXHR9KTtcblxuXHRpdChcIkRpZmZlcmVudCBjYXNlcyBvZiBtYXNzIGVkaXQgdmlzaWJpbGl0eSBpbiBvYmplY3QgcGFnZS5cIiwgKCkgPT4ge1xuXHRcdC8vTWFzcyBFZGl0IGlzIGVuYWJsZWQgZnJvbSBtYW5pZmVzdCwgZW50aXR5IHNldCB1cGRhdGFibGUgaXMgc3RhdGljIGZhbHNlID0+IE1hc3MgZWRpdCBzaG91bGQgbm90IGJlIHZpc2libGUuXG5cdFx0ZXhwZWN0KFxuXHRcdFx0Z2V0VmlzaWJpbGl0eU1hc3NFZGl0KFxuXHRcdFx0XHRCQVNJQ19DT05URVhUX09QLFxuXHRcdFx0XHR0YWJsZU1hbmlmZXN0Q29uZmlndXJhdGlvbldpdGhNYXNzRWRpdCxcblx0XHRcdFx0eyBpc1VwZGF0YWJsZTogZmFsc2UsIGlzRGVsZXRhYmxlOiB0cnVlIH0sXG5cdFx0XHRcdHVuZGVmaW5lZFxuXHRcdFx0KVxuXHRcdCkudG9FcXVhbChmYWxzZSk7XG5cdFx0Ly9NYXNzIEVkaXQgaXMgZGlzYWJsZWQgZnJvbSBtYW5pZmVzdCwgZW50aXR5IHNldCB1cGRhdGFibGUgaXMgc3RhdGljIHRydWUgPT4gTWFzcyBlZGl0IHNob3VsZCBub3QgYmUgdmlzaWJsZS5cblx0XHRleHBlY3QoXG5cdFx0XHRnZXRWaXNpYmlsaXR5TWFzc0VkaXQoXG5cdFx0XHRcdEJBU0lDX0NPTlRFWFRfT1AsXG5cdFx0XHRcdHRhYmxlTWFuaWZlc3RDb25maWd1cmF0aW9uV2l0aG91dE1hc3NFZGl0LFxuXHRcdFx0XHR7IGlzVXBkYXRhYmxlOiB0cnVlLCBpc0RlbGV0YWJsZTogdHJ1ZSB9LFxuXHRcdFx0XHR1bmRlZmluZWRcblx0XHRcdClcblx0XHQpLnRvRXF1YWwoZmFsc2UpO1xuXHRcdC8vTWFzcyBFZGl0IGlzIGVuYWJsZWQgZnJvbSBtYW5pZmVzdCwgZW50aXR5IHNldCB1cGRhdGFibGUgaXMgc3RhdGljIHRydWUgZm9yIExpc3QgUmVwb3J0IGNvbnRleHQgPT4gTWFzcyBlZGl0IHNob3VsZCBub3QgYmUgdmlzaWJsZS5cblx0XHRleHBlY3QoXG5cdFx0XHRnZXRWaXNpYmlsaXR5TWFzc0VkaXQoXG5cdFx0XHRcdEJBU0lDX0NPTlRFWFRfTFIsXG5cdFx0XHRcdHRhYmxlTWFuaWZlc3RDb25maWd1cmF0aW9uV2l0aE1hc3NFZGl0LFxuXHRcdFx0XHR7IGlzVXBkYXRhYmxlOiB0cnVlLCBpc0RlbGV0YWJsZTogdHJ1ZSB9LFxuXHRcdFx0XHR1bmRlZmluZWRcblx0XHRcdClcblx0XHQpLnRvRXF1YWwoZmFsc2UpO1xuXHRcdC8vTWFzcyBFZGl0IGlzIGVuYWJsZWQgZnJvbSBtYW5pZmVzdCwgZW50aXR5IHNldCB1cGRhdGFibGUgaXMgc3RhdGljIHRydWUgZm9yIG9iamVjdCBwYWdlIGNvbnRleHQgPT4gTWFzcyBlZGl0IHNob3VsZCBiZSB2aXNpYmxlIGlmIG9iamVjdCBwYWdlIGlzIGluIGVkaXQgbW9kZS5cblx0XHRleHBlY3QoXG5cdFx0XHRnZXRWaXNpYmlsaXR5TWFzc0VkaXQoXG5cdFx0XHRcdEJBU0lDX0NPTlRFWFRfT1AsXG5cdFx0XHRcdHRhYmxlTWFuaWZlc3RDb25maWd1cmF0aW9uV2l0aE1hc3NFZGl0LFxuXHRcdFx0XHR7IGlzVXBkYXRhYmxlOiB0cnVlLCBpc0RlbGV0YWJsZTogdHJ1ZSB9LFxuXHRcdFx0XHR1bmRlZmluZWRcblx0XHRcdClcblx0XHQpLnRvRXF1YWwoXCJ7dWk+L2lzRWRpdGFibGV9XCIpO1xuXHRcdC8vTWFzcyBFZGl0IGlzIGVuYWJsZWQgZnJvbSBtYW5pZmVzdCwgZW50aXR5IHNldCB1cGRhdGFibGUgaXMgc3RhdGljIHRydWUgZm9yIG9iamVjdCBwYWdlIGNvbnRleHQsIHNlbGVjdGlvbiBtb2RlIGlzIHNpbmdhbCA9PiBNYXNzIGVkaXQgc2hvdWxkIG5vdCBiZSB2aXNpYmxlLlxuXHRcdGV4cGVjdChcblx0XHRcdGdldFZpc2liaWxpdHlNYXNzRWRpdChcblx0XHRcdFx0QkFTSUNfQ09OVEVYVF9PUCxcblx0XHRcdFx0dGFibGVNYW5pZmVzdENvbmZpZ3VyYXRpb25XaXRoTWFzc0VkaXQsXG5cdFx0XHRcdHsgaXNVcGRhdGFibGU6IHRydWUsIGlzRGVsZXRhYmxlOiB0cnVlIH0sXG5cdFx0XHRcdFwiU2luZ2xlXCJcblx0XHRcdClcblx0XHQpLnRvRXF1YWwoZmFsc2UpO1xuXHRcdC8vTWFzcyBFZGl0IGlzIGVuYWJsZWQgZnJvbSBtYW5pZmVzdCwgZW50aXR5IHNldCB1cGRhdGFibGUgaXMgc3RhdGljIHRydWUgZm9yIG9iamVjdCBwYWdlIGNvbnRleHQsIHNlbGVjdGlvbiBsaW1pdCBpcyBzZXQgdG8gMSA9PiBNYXNzIGVkaXQgc2hvdWxkIG5vdCBiZSB2aXNpYmxlLlxuXHRcdGV4cGVjdChcblx0XHRcdGdldFZpc2liaWxpdHlNYXNzRWRpdChcblx0XHRcdFx0QkFTSUNfQ09OVEVYVF9PUCxcblx0XHRcdFx0dGFibGVDb25mV2l0aE1hc3NFZGl0U2VsZWN0aW9uTGltaXQsXG5cdFx0XHRcdHsgaXNVcGRhdGFibGU6IHRydWUsIGlzRGVsZXRhYmxlOiB0cnVlIH0sXG5cdFx0XHRcdHVuZGVmaW5lZFxuXHRcdFx0KVxuXHRcdCkudG9FcXVhbChmYWxzZSk7XG5cdFx0Ly9NYXNzIEVkaXQgaXMgZW5hYmxlZCBmcm9tIG1hbmlmZXN0LCBlbnRpdHkgc2V0IHVwZGF0YWJsZSBpcyBzdGF0aWMgdHJ1ZSBmb3Igb2JqZWN0IHBhZ2UgY29udGV4dCwgdXBkYXRlIGhpZGRlbiBhbm5vdGF0aW9uIGlzIHRydWUgPT4gTWFzcyBlZGl0IHNob3VsZCBub3QgYmUgdmlzaWJsZS5cblx0XHRleHBlY3QoXG5cdFx0XHRnZXRWaXNpYmlsaXR5TWFzc0VkaXQoXG5cdFx0XHRcdEJBU0lDX0NPTlRFWFRfT1BfVVBEQVRFSElEREVOLFxuXHRcdFx0XHR0YWJsZU1hbmlmZXN0Q29uZmlndXJhdGlvbldpdGhNYXNzRWRpdCxcblx0XHRcdFx0eyBpc1VwZGF0YWJsZTogdHJ1ZSwgaXNEZWxldGFibGU6IHRydWUgfSxcblx0XHRcdFx0dW5kZWZpbmVkXG5cdFx0XHQpXG5cdFx0KS50b0VxdWFsKGZhbHNlKTtcblx0XHQvL01hc3MgRWRpdCBpcyBlbmFibGVkIGZyb20gbWFuaWZlc3QsIGVudGl0eSBzZXQgdXBkYXRhYmxlIGlzIHN0YXRpYyB0cnVlIGZvciBvYmplY3QgcGFnZSBjb250ZXh0LCB1cGRhdGUgaGlkZGVuIGFubm90YXRpb24gaXMgcGF0aCBiYXNlZCA9PiBNYXNzIGVkaXQgc2hvdWxkIGJlIHZpc2libGUgaWYgdGhlIHBhdGggdmFsdWUgaXMgZmFsc2UgYW5kIG9iamVjdCBwYWdlIGlzIGluIGVkaXQgbW9kZS5cblx0XHRleHBlY3QoXG5cdFx0XHRnZXRWaXNpYmlsaXR5TWFzc0VkaXQoXG5cdFx0XHRcdEJBU0lDX0NPTlRFWFRfT1BfVVBEQVRFSElEREVOX1BBVEgsXG5cdFx0XHRcdHRhYmxlTWFuaWZlc3RDb25maWd1cmF0aW9uV2l0aE1hc3NFZGl0LFxuXHRcdFx0XHR7IGlzVXBkYXRhYmxlOiB0cnVlLCBpc0RlbGV0YWJsZTogdHJ1ZSB9LFxuXHRcdFx0XHR1bmRlZmluZWRcblx0XHRcdClcblx0XHQpLnRvRXF1YWwoXCJ7PSAoJXt1aT4vaXNFZGl0YWJsZX0gPT09IHRydWUgJiYgJXt1cGRhdGVIaWRkZW59ID09PSBmYWxzZSl9XCIpO1xuXG5cdFx0Ly9NYXNzIEVkaXQgaXMgZW5hYmxlZCBmcm9tIG1hbmlmZXN0LCBlbnRpdHkgc2V0IHVwZGF0YWJsZSBpcyBzdGF0aWMgdHJ1ZSBmb3Igb2JqZWN0IHBhZ2UgY29udGV4dCwgdXBkYXRlIGhpZGRlbiBhbm5vdGF0aW9uIGlzIGZhbHNlID0+IE1hc3MgZWRpdCBzaG91bGQgYmUgdmlzaWJsZSBpZiBvYmplY3QgcGFnZSBpcyBpbiBlZGl0IG1vZGUuXG5cdFx0ZXhwZWN0KFxuXHRcdFx0Z2V0VmlzaWJpbGl0eU1hc3NFZGl0KFxuXHRcdFx0XHRCQVNJQ19DT05URVhUX09QX1VQREFURUhJRERFTjEsXG5cdFx0XHRcdHRhYmxlTWFuaWZlc3RDb25maWd1cmF0aW9uV2l0aE1hc3NFZGl0LFxuXHRcdFx0XHR7IGlzVXBkYXRhYmxlOiB0cnVlLCBpc0RlbGV0YWJsZTogdHJ1ZSB9LFxuXHRcdFx0XHR1bmRlZmluZWRcblx0XHRcdClcblx0XHQpLnRvRXF1YWwoXCJ7dWk+L2lzRWRpdGFibGV9XCIpO1xuXHR9KTtcbn0pO1xuXG5kZXNjcmliZShcIlRhYmxlIENvbnZlcnRlciAtICNnZXRFbmFibGVtZW50TWFzc0VkaXRcIiwgZnVuY3Rpb24oKSB7XG5cdGxldCBCQVNJQ19DT05URVhUX09QX1BBVEhfQkFTRURfVVBEQVRFX1JFU1RSSUNUSU9OOiBDb252ZXJ0ZXJDb250ZXh0O1xuXHRsZXQgQkFTSUNfQ09OVEVYVF9PUF9TVEFUSUNfVVBEQVRFX1JFU1RSSUNUSU9OOiBDb252ZXJ0ZXJDb250ZXh0O1xuXHRiZWZvcmVBbGwoZnVuY3Rpb24oKSB7XG5cdFx0QkFTSUNfQ09OVEVYVF9PUF9QQVRIX0JBU0VEX1VQREFURV9SRVNUUklDVElPTiA9IGdldENvbnZlcnRlckNvbnRleHRGb3JUZXN0KGNvbnZlcnRlZFR5cGVzLCB7XG5cdFx0XHRlbnRpdHlTZXQ6IFwiRW50aXR5U2V0V2l0aFBhdGhCYXNlZFVwZGF0ZVJlc3RyaWN0aW9uXCIsXG5cdFx0XHRjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuT2JqZWN0UGFnZVxuXHRcdH0pO1xuXHRcdEJBU0lDX0NPTlRFWFRfT1BfU1RBVElDX1VQREFURV9SRVNUUklDVElPTiA9IGdldENvbnZlcnRlckNvbnRleHRGb3JUZXN0KGNvbnZlcnRlZFR5cGVzLCB7XG5cdFx0XHRlbnRpdHlTZXQ6IFwiRW50aXR5U2V0V2l0aFN0YXRpY1VwZGF0ZVJlc3RyaWN0aW9uXCIsXG5cdFx0XHRjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuT2JqZWN0UGFnZVxuXHRcdH0pO1xuXHR9KTtcblx0Ly9UaGlzIHNjZW5hcmlvIHdpbGwgYmUgaGFuZGxlZCBpbiB0YWJsZWhlbHBlciByZXR1cm5pbmcgZmFsc2UgZnJvbSBjb252ZXJ0ZXIgaW4gdGhpcyBjYXNlXG5cdGl0KFwiVGhlIG1hc3MgZWRpdCBpcyB2aXNpYmxlLCBhbmQgdXBkYXRlIHJlc3RyaWN0aW9ucyBhcmUgc2V0IHRvIGEgcGF0aCB2YWx1ZSBvZiBjdXJyZW50IGVudGl0eSBzZXQuXCIsICgpID0+IHtcblx0XHRleHBlY3QoZ2V0RW5hYmxlbWVudE1hc3NFZGl0KEJBU0lDX0NPTlRFWFRfT1BfUEFUSF9CQVNFRF9VUERBVEVfUkVTVFJJQ1RJT04sIHRydWUpKS50b0VxdWFsKGZhbHNlKTtcblx0fSk7XG5cdGl0KFwiVGhlIG1hc3MgZWRpdCBpcyB2aXNpYmxlLCBhbmQgdXBkYXRlIHJlc3RyaWN0aW9ucyBhcmUgc2V0IHRvIHN0YXRpYyB0cnVlLlwiLCAoKSA9PiB7XG5cdFx0ZXhwZWN0KGdldEVuYWJsZW1lbnRNYXNzRWRpdChCQVNJQ19DT05URVhUX09QX1NUQVRJQ19VUERBVEVfUkVTVFJJQ1RJT04sIHRydWUpKS50b0VxdWFsKFxuXHRcdFx0XCJ7PSAle2ludGVybmFsPm51bWJlck9mU2VsZWN0ZWRDb250ZXh0c30gPj0gMiAmJiB0cnVlfVwiXG5cdFx0KTtcblx0fSk7XG5cdGl0KFwiVGhlIG1hc3MgZWRpdCBpcyBub3QgdmlzaWJsZSBhcyB1cGRhdGUgcmVzdHJpY3Rpb25zIGFyZSBzZXQgdG8gc3RhdGljIGZhbHNlLlwiLCAoKSA9PiB7XG5cdFx0ZXhwZWN0KGdldEVuYWJsZW1lbnRNYXNzRWRpdChCQVNJQ19DT05URVhUX09QX1NUQVRJQ19VUERBVEVfUkVTVFJJQ1RJT04sIGZhbHNlKSkudG9FcXVhbChmYWxzZSk7XG5cdH0pO1xufSk7XG5cbmRlc2NyaWJlKFwiVGFibGUgQ29udmVydGVyIC0gI2dldFNlbGVjdGlvbk1vZGUgXCIsIGZ1bmN0aW9uKCkge1xuXHRjb25zdCBnZXRTZWxlY3Rpb25Nb2RlRm9yVGVzdCA9IChcblx0XHRpc0VudGl0eVNldDogYm9vbGVhbixcblx0XHR0YXJnZXRDYXBhYmlsaXRpZXM6IFRhYmxlQ2FwYWJpbGl0eVJlc3RyaWN0aW9uLFxuXHRcdGJhc2ljQ29udGV4dDogQ29udmVydGVyQ29udGV4dCxcblx0XHR2aXN1YWxpemF0aW9uUGF0aDogc3RyaW5nXG5cdCk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG5cdFx0cmV0dXJuIGdldFNlbGVjdGlvbk1vZGUoXG5cdFx0XHRiYXNpY0NvbnRleHQuZ2V0RW50aXR5VHlwZSgpLmFubm90YXRpb25zLlVJPy5MaW5lSXRlbSxcblx0XHRcdHZpc3VhbGl6YXRpb25QYXRoLFxuXHRcdFx0YmFzaWNDb250ZXh0LFxuXHRcdFx0aXNFbnRpdHlTZXQsXG5cdFx0XHR0YXJnZXRDYXBhYmlsaXRpZXNcblx0XHQpO1xuXHR9O1xuXG5cdGl0KFwiSWYgdGhlIExSIGlzIG5vdCBkZWxldGFibGUgYW5kIGl0cyB0YWJsZSBoYXMgbm90IGFjdGlvbiA6IHRoZSB0YWJsZVNlbGVjdGlvbk1vZGUgaXMgJ05vbmUnIFwiLCAoKSA9PiB7XG5cdFx0Y29uc3QgYmFzaWNDb250ZXh0X0xSID0gZ2V0Q29udmVydGVyQ29udGV4dEZvclRlc3QoY29udmVydGVkVHlwZXNTZWxlY3Rpb25Nb2RlLCB7XG5cdFx0XHRlbnRpdHlTZXQ6IFwiRW50aXR5V2l0aG91dEFjdGlvbk9uVGFibGVcIixcblx0XHRcdGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5MaXN0UmVwb3J0XG5cdFx0fSk7XG5cdFx0Y29uc3QgcmVzdWx0ID0gZ2V0U2VsZWN0aW9uTW9kZUZvclRlc3QoXG5cdFx0XHR0cnVlLFxuXHRcdFx0eyBpc0RlbGV0YWJsZTogZmFsc2UsIGlzVXBkYXRhYmxlOiBmYWxzZSB9LFxuXHRcdFx0YmFzaWNDb250ZXh0X0xSLFxuXHRcdFx0XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW1cIlxuXHRcdCk7XG5cdFx0ZXhwZWN0KHJlc3VsdCkudG9FcXVhbChcIk5vbmVcIik7XG5cdH0pO1xuXHRpdChcIklmIHRoZSBMUiBpcyBkZWxldGFibGUgYW5kIGl0cyB0YWJsZSBoYXMgbm90IGFjdGlvbiA6IHRoZSB0YWJsZVNlbGVjdGlvbk1vZGUgaXMgJ011bHRpJyBcIiwgKCkgPT4ge1xuXHRcdGNvbnN0IGJhc2ljQ29udGV4dF9MUiA9IGdldENvbnZlcnRlckNvbnRleHRGb3JUZXN0KGNvbnZlcnRlZFR5cGVzU2VsZWN0aW9uTW9kZSwge1xuXHRcdFx0ZW50aXR5U2V0OiBcIkVudGl0eVdpdGhvdXRBY3Rpb25PblRhYmxlXCIsXG5cdFx0XHRjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuTGlzdFJlcG9ydFxuXHRcdH0pO1xuXHRcdGNvbnN0IHJlc3VsdCA9IGdldFNlbGVjdGlvbk1vZGVGb3JUZXN0KFxuXHRcdFx0dHJ1ZSxcblx0XHRcdHsgaXNEZWxldGFibGU6IHRydWUsIGlzVXBkYXRhYmxlOiBmYWxzZSB9LFxuXHRcdFx0YmFzaWNDb250ZXh0X0xSLFxuXHRcdFx0XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW1cIlxuXHRcdCk7XG5cdFx0ZXhwZWN0KHJlc3VsdCkudG9FcXVhbChcIk11bHRpXCIpO1xuXHR9KTtcblx0aXQoXCJJZiB0aGUgTFIgaXMgbm90IGRlbGV0YWJsZSBhbmQgaXRzIHRhYmxlIGhhcyBhdCBsZWFzdCAxIGJvdW5kIGFjdGlvbiA6IHRoZSB0YWJsZVNlbGVjdGlvbk1vZGUgaXMgJ011bHRpJyBcIiwgKCkgPT4ge1xuXHRcdGNvbnN0IGJhc2ljQ29udGV4dF9MUiA9IGdldENvbnZlcnRlckNvbnRleHRGb3JUZXN0KGNvbnZlcnRlZFR5cGVzU2VsZWN0aW9uTW9kZSwge1xuXHRcdFx0ZW50aXR5U2V0OiBcIkVudGl0eVdpdGhCb3VuZEFjdGlvbk9uVGFibGVcIixcblx0XHRcdGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5MaXN0UmVwb3J0XG5cdFx0fSk7XG5cdFx0Y29uc3QgcmVzdWx0ID0gZ2V0U2VsZWN0aW9uTW9kZUZvclRlc3QoXG5cdFx0XHR0cnVlLFxuXHRcdFx0eyBpc0RlbGV0YWJsZTogZmFsc2UsIGlzVXBkYXRhYmxlOiBmYWxzZSB9LFxuXHRcdFx0YmFzaWNDb250ZXh0X0xSLFxuXHRcdFx0XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW1cIlxuXHRcdCk7XG5cdFx0ZXhwZWN0KHJlc3VsdCkudG9FcXVhbChcIk11bHRpXCIpO1xuXHR9KTtcblx0aXQoXCJJZiB0aGUgTFIgaXMgbm90IGRlbGV0YWJsZSBhbmQgaXRzIHRhYmxlIGhhcyBvbmx5IHVuYm91bmQgYWN0aW9ucyA6IHRoZSB0YWJsZVNlbGVjdGlvbk1vZGUgaXMgJ05vbmUnIFwiLCAoKSA9PiB7XG5cdFx0Y29uc3QgYmFzaWNDb250ZXh0X0xSID0gZ2V0Q29udmVydGVyQ29udGV4dEZvclRlc3QoY29udmVydGVkVHlwZXNTZWxlY3Rpb25Nb2RlLCB7XG5cdFx0XHRlbnRpdHlTZXQ6IFwiRW50aXR5V2l0aFVuQm91bmRBY3Rpb25PblRhYmxlXCIsXG5cdFx0XHRjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuTGlzdFJlcG9ydFxuXHRcdH0pO1xuXHRcdGNvbnN0IHJlc3VsdCA9IGdldFNlbGVjdGlvbk1vZGVGb3JUZXN0KFxuXHRcdFx0dHJ1ZSxcblx0XHRcdHsgaXNEZWxldGFibGU6IGZhbHNlLCBpc1VwZGF0YWJsZTogZmFsc2UgfSxcblx0XHRcdGJhc2ljQ29udGV4dF9MUixcblx0XHRcdFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtXCJcblx0XHQpO1xuXHRcdGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoXCJOb25lXCIpO1xuXHR9KTtcblx0aXQoXCJJZiB0aGUgTFIgaXMgbm90IGRlbGV0YWJsZSBhbmQgaXRzIHRhYmxlIGhhcyAxIGJvdW5kIGFjdGlvbiB3aXRob3V0IGhpZGRlbiBhbm5vdGF0aW9uIDogdGhlIHRhYmxlU2VsZWN0aW9uTW9kZSBpcyAnTXVsdGknIFwiLCAoKSA9PiB7XG5cdFx0Y29uc3QgYmFzaWNDb250ZXh0X0xSID0gZ2V0Q29udmVydGVyQ29udGV4dEZvclRlc3QoY29udmVydGVkVHlwZXNTZWxlY3Rpb25Nb2RlLCB7XG5cdFx0XHRlbnRpdHlTZXQ6IFwiRW50aXR5V2l0aEJvdW5kQWN0aW9uT25UYWJsZVwiLFxuXHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLkxpc3RSZXBvcnRcblx0XHR9KTtcblx0XHRjb25zdCByZXN1bHQgPSBnZXRTZWxlY3Rpb25Nb2RlRm9yVGVzdChcblx0XHRcdHRydWUsXG5cdFx0XHR7IGlzRGVsZXRhYmxlOiBmYWxzZSwgaXNVcGRhdGFibGU6IGZhbHNlIH0sXG5cdFx0XHRiYXNpY0NvbnRleHRfTFIsXG5cdFx0XHRcIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbVwiXG5cdFx0KTtcblx0XHRleHBlY3QocmVzdWx0KS50b0VxdWFsKFwiTXVsdGlcIik7XG5cdH0pO1xuXHRpdChcIklmIHRoZSBMUiBpcyBub3QgZGVsZXRhYmxlIGFuZCBpdHMgdGFibGUgaGFzIDEgRGF0YUZpZWxkRm9ySW50ZW50QmFzZWROYXZpZ2F0aW9uIHN0YXRpY2FsbHkgbm90IGhpZGRlbiBhbmQgcmVxdWlyaW5nIGNvbnRleHQgOiB0aGUgdGFibGVTZWxlY3Rpb25Nb2RlIGlzICdNdWx0aScgXCIsICgpID0+IHtcblx0XHRjb25zdCBiYXNpY0NvbnRleHRfTFIgPSBnZXRDb252ZXJ0ZXJDb250ZXh0Rm9yVGVzdChjb252ZXJ0ZWRUeXBlc1NlbGVjdGlvbk1vZGUsIHtcblx0XHRcdGVudGl0eVNldDogXCJFbnRpdHlXaXRoQWN0aW9uUmVxdWluZ0NvbnRleHRPblRhYmxlXCIsXG5cdFx0XHRjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuTGlzdFJlcG9ydFxuXHRcdH0pO1xuXHRcdGNvbnN0IHJlc3VsdCA9IGdldFNlbGVjdGlvbk1vZGVGb3JUZXN0KFxuXHRcdFx0dHJ1ZSxcblx0XHRcdHsgaXNEZWxldGFibGU6IGZhbHNlLCBpc1VwZGF0YWJsZTogZmFsc2UgfSxcblx0XHRcdGJhc2ljQ29udGV4dF9MUixcblx0XHRcdFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtXCJcblx0XHQpO1xuXHRcdGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoXCJNdWx0aVwiKTtcblx0fSk7XG5cdGl0KFwiSWYgdGhlIExSIGlzIG5vdCBkZWxldGFibGUgYW5kIGl0cyB0YWJsZSBoYXMgMSBEYXRhRmllbGRGb3JJbnRlbnRCYXNlZE5hdmlnYXRpb24gcmVxdWlyaW5nIGEgY29udGV4dCB3aXRoIEhpZGRlbiBiaW5kaW5nIGV4cCA6IHRoZSB0YWJsZVNlbGVjdGlvbk1vZGUgaXMgJ3s9ICV7aXNIaWRkZW59ID09PSBmYWxzZSA/ICdNdWx0aScgOiAnTm9uZSd9JyBcIiwgKCkgPT4ge1xuXHRcdGNvbnN0IGJhc2ljQ29udGV4dF9MUiA9IGdldENvbnZlcnRlckNvbnRleHRGb3JUZXN0KGNvbnZlcnRlZFR5cGVzU2VsZWN0aW9uTW9kZSwge1xuXHRcdFx0ZW50aXR5U2V0OiBcIkVudGl0eVdpdGhBY3Rpb25SZXF1aW5nQ29udGV4dE9uVGFibGVXaXRoSGlkZGVuRXhwXCIsXG5cdFx0XHRjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuTGlzdFJlcG9ydFxuXHRcdH0pO1xuXHRcdGNvbnN0IHJlc3VsdCA9IGdldFNlbGVjdGlvbk1vZGVGb3JUZXN0KFxuXHRcdFx0dHJ1ZSxcblx0XHRcdHsgaXNEZWxldGFibGU6IGZhbHNlLCBpc1VwZGF0YWJsZTogZmFsc2UgfSxcblx0XHRcdGJhc2ljQ29udGV4dF9MUixcblx0XHRcdFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtXCJcblx0XHQpO1xuXHRcdGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoXCJ7PSAle2lzSGlkZGVufSA9PT0gZmFsc2UgPyAnTXVsdGknIDogJ05vbmUnfVwiKTtcblx0fSk7XG5cdGl0KFwiSWYgdGhlIExSIGlzIG5vdCBkZWxldGFibGUgYW5kIGl0cyB0YWJsZSBoYXMgMSBjdXN0b20gYm91bmQgYW5kIHN0YXRpY2FsbHkgdmlzaWJsZSBhY3Rpb24gOiB0aGUgdGFibGVTZWxlY3Rpb25Nb2RlIGlzICdNdWx0aScgXCIsICgpID0+IHtcblx0XHRjb25zdCBtYW5pZmVzdFNldHRpbmdzID0ge1xuXHRcdFx0ZW50aXR5U2V0OiBcIkVudGl0eVdpdGhDdXN0b21BY3Rpb25PblRhYmxlXCIsXG5cdFx0XHRjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuTGlzdFJlcG9ydCxcblx0XHRcdGNvbnRyb2xDb25maWd1cmF0aW9uOiB7XG5cdFx0XHRcdFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtXCI6IHtcblx0XHRcdFx0XHR0YWJsZVNldHRpbmdzOiB7XG5cdFx0XHRcdFx0XHRlbmFibGVFeHBvcnQ6IGZhbHNlXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRhY3Rpb25zOiB7XG5cdFx0XHRcdFx0XHRcIkFjdGlvbjFcIjoge1xuXHRcdFx0XHRcdFx0XHRwcmVzczogXCJ4eFwiLFxuXHRcdFx0XHRcdFx0XHR2aXNpYmxlOiBcInRydWVcIixcblx0XHRcdFx0XHRcdFx0ZW5hYmxlZDogXCJ0cnVlXCIsXG5cdFx0XHRcdFx0XHRcdHRleHQ6IFwiQ3VzdG9tIEFjdGlvblwiLFxuXHRcdFx0XHRcdFx0XHRlbmFibGVPblNlbGVjdDogXCJ4eFwiLFxuXHRcdFx0XHRcdFx0XHRyZXF1aXJlc1NlbGVjdGlvbjogdHJ1ZVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH07XG5cdFx0Y29uc3QgYmFzaWNDb250ZXh0X0xSID0gZ2V0Q29udmVydGVyQ29udGV4dEZvclRlc3QoY29udmVydGVkVHlwZXNTZWxlY3Rpb25Nb2RlLCBtYW5pZmVzdFNldHRpbmdzKTtcblx0XHRjb25zdCByZXN1bHQgPSBnZXRTZWxlY3Rpb25Nb2RlRm9yVGVzdChcblx0XHRcdHRydWUsXG5cdFx0XHR7IGlzRGVsZXRhYmxlOiBmYWxzZSwgaXNVcGRhdGFibGU6IGZhbHNlIH0sXG5cdFx0XHRiYXNpY0NvbnRleHRfTFIsXG5cdFx0XHRcIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbVwiXG5cdFx0KTtcblx0XHRleHBlY3QocmVzdWx0KS50b0VxdWFsKFwiTXVsdGlcIik7XG5cdH0pO1xuXHRpdChcIklmIHRoZSBMUiBpcyBub3QgZGVsZXRhYmxlIGFuZCBpdHMgdGFibGUgaGFzIHNldmVyYWwgY3VzdG9tIGJvdW5kIGFjdGlvbnMgd2l0aCB2aXNpYmxlIGtleSBhcyBhbiBleHByZXNzaW9uIGJpbmRpbmcgOiB0aGUgdGFibGVTZWxlY3Rpb25Nb2RlIGlzICdNdWx0aScgaW4gRWRpdCBNb2RlLCAnTm9uZScgb3RoZXJ3aXNlXCIsICgpID0+IHtcblx0XHRjb25zdCBtYW5pZmVzdFNldHRpbmdzID0ge1xuXHRcdFx0ZW50aXR5U2V0OiBcIkVudGl0eVdpdGhDdXN0b21BY3Rpb25PblRhYmxlXCIsXG5cdFx0XHRjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuTGlzdFJlcG9ydCxcblx0XHRcdGNvbnRyb2xDb25maWd1cmF0aW9uOiB7XG5cdFx0XHRcdFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtXCI6IHtcblx0XHRcdFx0XHR0YWJsZVNldHRpbmdzOiB7XG5cdFx0XHRcdFx0XHRlbmFibGVFeHBvcnQ6IGZhbHNlXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRhY3Rpb25zOiB7XG5cdFx0XHRcdFx0XHRcIkFjdGlvbjFcIjoge1xuXHRcdFx0XHRcdFx0XHRwcmVzczogXCJ4eFwiLFxuXHRcdFx0XHRcdFx0XHR2aXNpYmxlOiBcIns9ICR7dWk+L2VkaXRNb2RlfSA9PT0gJ0VkaXRhYmxlJyB9XCIsXG5cdFx0XHRcdFx0XHRcdGVuYWJsZWQ6IFwidHJ1ZVwiLFxuXHRcdFx0XHRcdFx0XHR0ZXh0OiBcIkN1c3RvbSBBY3Rpb24xXCIsXG5cdFx0XHRcdFx0XHRcdGVuYWJsZU9uU2VsZWN0OiBcInh4XCIsXG5cdFx0XHRcdFx0XHRcdHJlcXVpcmVzU2VsZWN0aW9uOiB0cnVlXG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XCJBY3Rpb24yXCI6IHtcblx0XHRcdFx0XHRcdFx0cHJlc3M6IFwieHhcIixcblx0XHRcdFx0XHRcdFx0dmlzaWJsZTogXCJ7PSAle092ZXJhbGxTRFByb2Nlc3NTdGF0dXN9ID09PSAnQicgfVwiLFxuXHRcdFx0XHRcdFx0XHRlbmFibGVkOiBcInRydWVcIixcblx0XHRcdFx0XHRcdFx0dGV4dDogXCJDdXN0b20gQWN0aW9uMlwiLFxuXHRcdFx0XHRcdFx0XHRlbmFibGVPblNlbGVjdDogXCJ4eFwiLFxuXHRcdFx0XHRcdFx0XHRyZXF1aXJlc1NlbGVjdGlvbjogdHJ1ZVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH07XG5cdFx0Y29uc3QgYmFzaWNDb250ZXh0X0xSID0gZ2V0Q29udmVydGVyQ29udGV4dEZvclRlc3QoY29udmVydGVkVHlwZXNTZWxlY3Rpb25Nb2RlLCBtYW5pZmVzdFNldHRpbmdzKTtcblx0XHRjb25zdCByZXN1bHQgPSBnZXRTZWxlY3Rpb25Nb2RlRm9yVGVzdChcblx0XHRcdHRydWUsXG5cdFx0XHR7IGlzRGVsZXRhYmxlOiBmYWxzZSwgaXNVcGRhdGFibGU6IGZhbHNlIH0sXG5cdFx0XHRiYXNpY0NvbnRleHRfTFIsXG5cdFx0XHRcIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbVwiXG5cdFx0KTtcblx0XHRleHBlY3QocmVzdWx0KS50b0VxdWFsKFwiez0gKCggJHt1aT4vZWRpdE1vZGV9ID09PSAnRWRpdGFibGUnICkgfHwgKCAle092ZXJhbGxTRFByb2Nlc3NTdGF0dXN9ID09PSAnQicgKSkgPyAnTXVsdGknIDogJ05vbmUnfVwiKTtcblx0fSk7XG5cdGl0KFwiSWYgdGhlIE9QIGlzIG5vdCBkZWxldGFibGUgYW5kIGFuZCBpdHMgdGFibGUgaGFzIG5vdCBhY3Rpb24gOiB0aGUgdGFibGVTZWxlY3Rpb25Nb2RlIGlzICdOb25lJyBcIiwgKCkgPT4ge1xuXHRcdGNvbnN0IGJhc2ljQ29udGV4dF9PUCA9IGdldENvbnZlcnRlckNvbnRleHRGb3JUZXN0KGNvbnZlcnRlZFR5cGVzU2VsZWN0aW9uTW9kZSwge1xuXHRcdFx0ZW50aXR5U2V0OiBcIkVudGl0eVdpdGhvdXRBY3Rpb25PblRhYmxlXCIsXG5cdFx0XHRjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuT2JqZWN0UGFnZVxuXHRcdH0pO1xuXHRcdGNvbnN0IHJlc3VsdCA9IGdldFNlbGVjdGlvbk1vZGVGb3JUZXN0KFxuXHRcdFx0ZmFsc2UsXG5cdFx0XHR7IGlzRGVsZXRhYmxlOiBmYWxzZSwgaXNVcGRhdGFibGU6IGZhbHNlIH0sXG5cdFx0XHRiYXNpY0NvbnRleHRfT1AsXG5cdFx0XHRcIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbVwiXG5cdFx0KTtcblx0XHRleHBlY3QocmVzdWx0KS50b0VxdWFsKFwiTm9uZVwiKTtcblx0fSk7XG5cdGl0KFwiSWYgdGhlIE9QIGlzIGRlbGV0YWJsZSBhbmQgaXRzIHRhYmxlIGhhcyBub3QgYWN0aW9uIDogdGhlIHRhYmxlU2VsZWN0aW9uTW9kZSBpcyBNdWx0aSBpbiBFZGl0IE1vZGUgYW5kIE5vbmUgb3RoZXJ3aXNlXCIsICgpID0+IHtcblx0XHRjb25zdCBiYXNpY0NvbnRleHRfT1AgPSBnZXRDb252ZXJ0ZXJDb250ZXh0Rm9yVGVzdChjb252ZXJ0ZWRUeXBlc1NlbGVjdGlvbk1vZGUsIHtcblx0XHRcdGVudGl0eVNldDogXCJFbnRpdHlXaXRob3V0QWN0aW9uT25UYWJsZVwiLFxuXHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLk9iamVjdFBhZ2Vcblx0XHR9KTtcblx0XHRjb25zdCByZXN1bHQgPSBnZXRTZWxlY3Rpb25Nb2RlRm9yVGVzdChcblx0XHRcdGZhbHNlLFxuXHRcdFx0eyBpc0RlbGV0YWJsZTogdHJ1ZSwgaXNVcGRhdGFibGU6IGZhbHNlIH0sXG5cdFx0XHRiYXNpY0NvbnRleHRfT1AsXG5cdFx0XHRcIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbVwiXG5cdFx0KTtcblx0XHRleHBlY3QocmVzdWx0KS50b0VxdWFsKFwiez0gJXt1aT4vZWRpdE1vZGV9ID09PSAnRWRpdGFibGUnID8gJ011bHRpJyA6ICdOb25lJ31cIik7XG5cdH0pO1xuXHRpdChcIklmIHRoZSBPUCBpcyBkZWxldGFibGUgYW5kIGl0cyB0YWJsZSBoYXMgMSBEYXRhRmllbGRGb3JJbnRlbnRCYXNlZE5hdmlnYXRpb24gcmVxdWlyaW5nIGEgY29udGV4dCB3aXRoIEhpZGRlbiBiaW5kaW5nIGV4cCB3aXRoIG5hdiBwcm9wZXJ0eVwiLCAoKSA9PiB7XG5cdFx0Y29uc3QgbWFuaWZlc3RTZXR0aW5ncyA9IHtcblx0XHRcdGVudGl0eVNldDogXCJFbnRpdHlXaXRoQm91bmRBY3Rpb25PblRhYmxlV2l0aEhpZGRlbkV4cFwiLFxuXHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLk9iamVjdFBhZ2UsXG5cdFx0XHRjb250cm9sQ29uZmlndXJhdGlvbjoge1xuXHRcdFx0XHRcIl9JdGVtL0Bjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbVwiOiB7XG5cdFx0XHRcdFx0dGFibGVTZXR0aW5nczoge1xuXHRcdFx0XHRcdFx0ZW5hYmxlRXhwb3J0OiBmYWxzZVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH07XG5cdFx0Y29uc3QgYmFzaWNDb250ZXh0X09QID0gZ2V0Q29udmVydGVyQ29udGV4dEZvclRlc3QoY29udmVydGVkVHlwZXNTZWxlY3Rpb25Nb2RlLCBtYW5pZmVzdFNldHRpbmdzKTtcblx0XHRjb25zdCBkYXRhTW9kZWxPYmplY3RQYXRoID0gYmFzaWNDb250ZXh0X09QLmdldERhdGFNb2RlbE9iamVjdFBhdGgoKTtcblx0XHRkYXRhTW9kZWxPYmplY3RQYXRoLnRhcmdldE9iamVjdC5fdHlwZSA9IFwiTmF2aWdhdGlvblByb3BlcnR5XCI7XG5cdFx0ZGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRPYmplY3QucGFydG5lciA9IFwib3duZXJcIjtcblx0XHRjb25zdCByZXN1bHQgPSBnZXRTZWxlY3Rpb25Nb2RlRm9yVGVzdChcblx0XHRcdGZhbHNlLFxuXHRcdFx0eyBpc0RlbGV0YWJsZTogdHJ1ZSwgaXNVcGRhdGFibGU6IGZhbHNlIH0sXG5cdFx0XHRiYXNpY0NvbnRleHRfT1AsXG5cdFx0XHRcIl9JdGVtL0Bjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbVwiXG5cdFx0KTtcblx0XHRleHBlY3QocmVzdWx0KS50b0VxdWFsKFwiez0gJXt1aT4vZWRpdE1vZGV9ID09PSAnRWRpdGFibGUnID8gJ011bHRpJyA6ICgle0hpZGRlbn0gPT09IGZhbHNlID8gJ011bHRpJyA6ICdOb25lJyl9XCIpO1xuXHR9KTtcblx0aXQoXCJJZiB0aGUgT1AgaXMgZGVsZXRhYmxlIGFuZCBpdHMgdGFibGUgaGFzIDEgRGF0YUZpZWxkRm9ySW50ZW50QmFzZWROYXZpZ2F0aW9uIHJlcXVpcmluZyBhIGNvbnRleHQgd2l0aCBhbiBIaWRkZW4gYW5ub3RhdGlvbiAod2l0aG91dCBuYXZQcm9wKSA6IHRoZSB0YWJsZVNlbGVjdGlvbk1vZGUgaXMgTXVsdGkgaW4gRWRpdGlvbiwgTm9uZSBvdGhlcndpc2VcIiwgKCkgPT4ge1xuXHRcdGNvbnN0IGJhc2ljQ29udGV4dF9PUCA9IGdldENvbnZlcnRlckNvbnRleHRGb3JUZXN0KGNvbnZlcnRlZFR5cGVzU2VsZWN0aW9uTW9kZSwge1xuXHRcdFx0ZW50aXR5U2V0OiBcIkVudGl0eVdpdGhCb3VuZEFjdGlvbjJPblRhYmxlV2l0aEhpZGRlbkV4cFwiLFxuXHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLk9iamVjdFBhZ2Vcblx0XHR9KTtcblx0XHRjb25zdCByZXN1bHQgPSBnZXRTZWxlY3Rpb25Nb2RlRm9yVGVzdChcblx0XHRcdGZhbHNlLFxuXHRcdFx0eyBpc0RlbGV0YWJsZTogdHJ1ZSwgaXNVcGRhdGFibGU6IGZhbHNlIH0sXG5cdFx0XHRiYXNpY0NvbnRleHRfT1AsXG5cdFx0XHRcIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbVwiXG5cdFx0KTtcblx0XHRleHBlY3QocmVzdWx0KS50b0VxdWFsKFwiez0gJXt1aT4vZWRpdE1vZGV9ID09PSAnRWRpdGFibGUnID8gJ011bHRpJyA6ICdOb25lJ31cIik7XG5cdH0pO1xuXHRpdChcIklmIHRoZSBPUCBpcyBub3QgZGVsZXRhYmxlIGFuZCBpdHMgdGFibGUgaGFzIDEgYWx3YXlzIHZpc2libGUgQm91bmQgQWN0aW9uIGJ1dCBib3VuZCBvbiBhIGRpZmZlcmVudCBjb250ZXh0IGZyb20gdGhlIHRhYmxlIG9uZSA6IHRoZSB0YWJsZVNlbGVjdGlvbk1vZGUgaXMgTXVsdGkgaW4gRWRpdGlvbiwgTm9uZSBvdGhlcndpc2VcIiwgKCkgPT4ge1xuXHRcdGNvbnN0IGJhc2ljQ29udGV4dF9PUCA9IGdldENvbnZlcnRlckNvbnRleHRGb3JUZXN0KGNvbnZlcnRlZFR5cGVzU2VsZWN0aW9uTW9kZSwge1xuXHRcdFx0ZW50aXR5U2V0OiBcIkVudGl0eVdpdGhCb3VuZEFjdGlvbk5vdEJvdW5kT25UaGVUYWJsZVwiLFxuXHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLk9iamVjdFBhZ2Vcblx0XHR9KTtcblx0XHRjb25zdCByZXN1bHQgPSBnZXRTZWxlY3Rpb25Nb2RlRm9yVGVzdChcblx0XHRcdGZhbHNlLFxuXHRcdFx0eyBpc0RlbGV0YWJsZTogZmFsc2UsIGlzVXBkYXRhYmxlOiBmYWxzZSB9LFxuXHRcdFx0YmFzaWNDb250ZXh0X09QLFxuXHRcdFx0XCJfUGFydG5lci9AY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW1cIlxuXHRcdCk7XG5cdFx0ZXhwZWN0KHJlc3VsdCkudG9FcXVhbChcIk5vbmVcIik7XG5cdH0pO1xuXHRpdChcIklmIHRoZSBPUCBpcyBkZWxldGFibGUgYW5kIGl0cyB0YWJsZSBoYXMgYSBtaXggb2YgdmlzaWJsZSBhY3Rpb25zIHdpdGggSGlkZGVuIGFuZCB2aXNpYmxlIGJpbmRpbmcgZXhwIHdpdGggbmF2IHByb3BlcnR5XCIsICgpID0+IHtcblx0XHRjb25zdCBtYW5pZmVzdFNldHRpbmdzID0ge1xuXHRcdFx0ZW50aXR5U2V0OiBcIkVudGl0eVdpdGhNdWx0aXBsZUFjdGlvbnNXaXRoQmluZGluZ0V4cFwiLFxuXHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLk9iamVjdFBhZ2UsXG5cdFx0XHRjb250cm9sQ29uZmlndXJhdGlvbjoge1xuXHRcdFx0XHRcIl9JdGVtL0Bjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbVwiOiB7XG5cdFx0XHRcdFx0dGFibGVTZXR0aW5nczoge1xuXHRcdFx0XHRcdFx0ZW5hYmxlRXhwb3J0OiBmYWxzZVxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0YWN0aW9uczoge1xuXHRcdFx0XHRcdFx0XCJBY3Rpb24xXCI6IHtcblx0XHRcdFx0XHRcdFx0cHJlc3M6IFwieHhcIixcblx0XHRcdFx0XHRcdFx0dmlzaWJsZTogXCJ7PSAke3VpPi9lZGl0TW9kZX0gPT09ICdFZGl0YWJsZScgfVwiLFxuXHRcdFx0XHRcdFx0XHRlbmFibGVkOiBcInRydWVcIixcblx0XHRcdFx0XHRcdFx0dGV4dDogXCJDdXN0b20gQWN0aW9uMVwiLFxuXHRcdFx0XHRcdFx0XHRlbmFibGVPblNlbGVjdDogXCJ4eFwiLFxuXHRcdFx0XHRcdFx0XHRyZXF1aXJlc1NlbGVjdGlvbjogdHJ1ZVxuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFwiQWN0aW9uMlwiOiB7XG5cdFx0XHRcdFx0XHRcdHByZXNzOiBcInh4XCIsXG5cdFx0XHRcdFx0XHRcdHZpc2libGU6IFwiez0gJXtPdmVyYWxsU0RQcm9jZXNzU3RhdHVzfSA9PT0gJ0InIH1cIixcblx0XHRcdFx0XHRcdFx0ZW5hYmxlZDogXCJ0cnVlXCIsXG5cdFx0XHRcdFx0XHRcdHRleHQ6IFwiQ3VzdG9tIEFjdGlvbjJcIixcblx0XHRcdFx0XHRcdFx0ZW5hYmxlT25TZWxlY3Q6IFwieHhcIixcblx0XHRcdFx0XHRcdFx0cmVxdWlyZXNTZWxlY3Rpb246IHRydWVcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9O1xuXHRcdGNvbnN0IGJhc2ljQ29udGV4dF9PUCA9IGdldENvbnZlcnRlckNvbnRleHRGb3JUZXN0KGNvbnZlcnRlZFR5cGVzU2VsZWN0aW9uTW9kZSwgbWFuaWZlc3RTZXR0aW5ncyk7XG5cdFx0Y29uc3QgZGF0YU1vZGVsT2JqZWN0UGF0aCA9IGJhc2ljQ29udGV4dF9PUC5nZXREYXRhTW9kZWxPYmplY3RQYXRoKCk7XG5cdFx0ZGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRPYmplY3QuX3R5cGUgPSBcIk5hdmlnYXRpb25Qcm9wZXJ0eVwiO1xuXHRcdGRhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0LnBhcnRuZXIgPSBcIm93bmVyXCI7XG5cdFx0Y29uc3QgcmVzdWx0ID0gZ2V0U2VsZWN0aW9uTW9kZUZvclRlc3QoXG5cdFx0XHRmYWxzZSxcblx0XHRcdHsgaXNEZWxldGFibGU6IHRydWUsIGlzVXBkYXRhYmxlOiBmYWxzZSB9LFxuXHRcdFx0YmFzaWNDb250ZXh0X09QLFxuXHRcdFx0XCJfSXRlbS9AY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW1cIlxuXHRcdCk7XG5cdFx0ZXhwZWN0KHJlc3VsdCkudG9FcXVhbChcblx0XHRcdFwiez0gJXt1aT4vZWRpdE1vZGV9ID09PSAnRWRpdGFibGUnID8gJ011bHRpJyA6ICgoJXtIaWRkZW4xfSA9PT0gZmFsc2UgfHwgJXtIaWRkZW4yfSA9PT0gZmFsc2UgfHwgKCAke3VpPi9lZGl0TW9kZX0gPT09ICdFZGl0YWJsZScgKSB8fCAoICV7T3ZlcmFsbFNEUHJvY2Vzc1N0YXR1c30gPT09ICdCJyApKSA/ICdNdWx0aScgOiAnTm9uZScpfVwiXG5cdFx0KTtcblx0fSk7XG59KTtcblxuZGVzY3JpYmUoXCJTaG93IGNvdW50cyBpbiB0YWJsZSB0aXRsZVwiLCAoKSA9PiB7XG5cdGl0KFxuXHRcdFwiRGVmYXVsdCBWYWx1ZVwiLFxuXHRcdHtcblx0XHRcdFwicmVmZXJlbmNlc1wiOiBbXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRcInR5cGVcIjogXCJKaXJhXCIsXG5cdFx0XHRcdFx0XCJJRFwiOiBcIkZJT1JJVEVDSFAxLTIwMzUzXCJcblx0XHRcdFx0fVxuXHRcdFx0XVxuXHRcdH0sXG5cdFx0KCkgPT4ge1xuXHRcdFx0Y29uc3QgbWFuaWZlc3RTZXR0aW5ncyA9IHtcblx0XHRcdFx0ZW50aXR5U2V0OiBcIlRlc3RFbnRpdHlcIixcblx0XHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLkxpc3RSZXBvcnRcblx0XHRcdH07XG5cdFx0XHRjb25zdCB0YWJsZUNvbmZpZ3VyYXRpb24gPSBnZXRUYWJsZUNvbmZpZ3VyYXRpb25Gb3JUZXN0KG1hbmlmZXN0U2V0dGluZ3MpO1xuXHRcdFx0ZXhwZWN0KHRhYmxlQ29uZmlndXJhdGlvbi5zaG93Um93Q291bnQpLnRvQmUodHJ1ZSk7XG5cdFx0fVxuXHQpO1xuXG5cdGl0KFxuXHRcdFwiU2hvdyBDb3VudHMgc2V0IHRvIHRydWVcIixcblx0XHR7XG5cdFx0XHRcInJlZmVyZW5jZXNcIjogW1xuXHRcdFx0XHR7XG5cdFx0XHRcdFx0XCJ0eXBlXCI6IFwiSmlyYVwiLFxuXHRcdFx0XHRcdFwiSURcIjogXCJGSU9SSVRFQ0hQMS0yMDM1M1wiXG5cdFx0XHRcdH1cblx0XHRcdF1cblx0XHR9LFxuXHRcdCgpID0+IHtcblx0XHRcdGNvbnN0IG1hbmlmZXN0U2V0dGluZ3MgPSB7XG5cdFx0XHRcdGVudGl0eVNldDogXCJUZXN0RW50aXR5XCIsXG5cdFx0XHRcdGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5MaXN0UmVwb3J0LFxuXHRcdFx0XHRjb250cm9sQ29uZmlndXJhdGlvbjoge1xuXHRcdFx0XHRcdFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtXCI6IHtcblx0XHRcdFx0XHRcdHRhYmxlU2V0dGluZ3M6IHtcblx0XHRcdFx0XHRcdFx0cXVpY2tWYXJpYW50U2VsZWN0aW9uOiB7XG5cdFx0XHRcdFx0XHRcdFx0c2hvd0NvdW50czogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0XHRwYXRoczogW1xuXHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRhbm5vdGF0aW9uUGF0aDogXCJhbm5vdGF0aW9uU3RyaW5nXCJcblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRdXG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH0gYXMgTGlzdFJlcG9ydE1hbmlmZXN0U2V0dGluZ3M7XG5cdFx0XHRjb25zdCB0YWJsZUNvbmZpZ3VyYXRpb24gPSBnZXRUYWJsZUNvbmZpZ3VyYXRpb25Gb3JUZXN0KG1hbmlmZXN0U2V0dGluZ3MpO1xuXHRcdFx0ZXhwZWN0KHRhYmxlQ29uZmlndXJhdGlvbi5zaG93Um93Q291bnQpLnRvQmUoZmFsc2UpO1xuXHRcdH1cblx0KTtcblxuXHRpdChcblx0XHRcIlNob3cgQ291bnRzIHNldCB0byBmYWxzZVwiLFxuXHRcdHtcblx0XHRcdFwicmVmZXJlbmNlc1wiOiBbXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRcInR5cGVcIjogXCJKaXJhXCIsXG5cdFx0XHRcdFx0XCJJRFwiOiBcIkZJT1JJVEVDSFAxLTIwMzUzXCJcblx0XHRcdFx0fVxuXHRcdFx0XVxuXHRcdH0sXG5cdFx0KCkgPT4ge1xuXHRcdFx0Y29uc3QgbWFuaWZlc3RTZXR0aW5ncyA9IHtcblx0XHRcdFx0ZW50aXR5U2V0OiBcIlRlc3RFbnRpdHlcIixcblx0XHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLkxpc3RSZXBvcnQsXG5cdFx0XHRcdGNvbnRyb2xDb25maWd1cmF0aW9uOiB7XG5cdFx0XHRcdFx0XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW1cIjoge1xuXHRcdFx0XHRcdFx0dGFibGVTZXR0aW5nczoge1xuXHRcdFx0XHRcdFx0XHRxdWlja1ZhcmlhbnRTZWxlY3Rpb246IHtcblx0XHRcdFx0XHRcdFx0XHRzaG93Q291bnRzOiBmYWxzZSxcblx0XHRcdFx0XHRcdFx0XHRwYXRoczogW1xuXHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRhbm5vdGF0aW9uUGF0aDogXCJhbm5vdGF0aW9uU3RyaW5nXCJcblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRdXG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH0gYXMgTGlzdFJlcG9ydE1hbmlmZXN0U2V0dGluZ3M7XG5cdFx0XHRjb25zdCB0YWJsZUNvbmZpZ3VyYXRpb24gPSBnZXRUYWJsZUNvbmZpZ3VyYXRpb25Gb3JUZXN0KG1hbmlmZXN0U2V0dGluZ3MpO1xuXHRcdFx0ZXhwZWN0KHRhYmxlQ29uZmlndXJhdGlvbi5zaG93Um93Q291bnQpLnRvQmUodHJ1ZSk7XG5cdFx0fVxuXHQpO1xufSk7XG5cbmRlc2NyaWJlKFwiQ29uZGVuc2VkIExheW91dFwiLCAoKSA9PiB7XG5cdGl0KFwiRGVmYXVsdCBWYWx1ZVwiLCAoKSA9PiB7XG5cdFx0Y29uc3QgbWFuaWZlc3RTZXR0aW5ncyA9IHtcblx0XHRcdGVudGl0eVNldDogXCJUZXN0RW50aXR5XCIsXG5cdFx0XHRjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuTGlzdFJlcG9ydFxuXHRcdH07XG5cdFx0Y29uc3QgdGFibGVDb25maWd1cmF0aW9uID0gZ2V0VGFibGVDb25maWd1cmF0aW9uRm9yVGVzdChtYW5pZmVzdFNldHRpbmdzKTtcblx0XHRleHBlY3QodGFibGVDb25maWd1cmF0aW9uLnVzZUNvbmRlbnNlZFRhYmxlTGF5b3V0KS50b0JlKGZhbHNlKTtcblx0XHRtYW5pZmVzdFNldHRpbmdzLmNvbnZlcnRlclR5cGUgPSBUZW1wbGF0ZVR5cGUuT2JqZWN0UGFnZTtcblx0XHRjb25zdCB0YWJsZUNvbmZpZ3VyYXRpb25PUCA9IGdldFRhYmxlQ29uZmlndXJhdGlvbkZvclRlc3QobWFuaWZlc3RTZXR0aW5ncyk7XG5cdFx0ZXhwZWN0KHRhYmxlQ29uZmlndXJhdGlvbk9QLnVzZUNvbmRlbnNlZFRhYmxlTGF5b3V0KS50b0JlKGZhbHNlKTtcblx0fSk7XG5cdGl0KFwiTWFuaWZlc3QgRm9yY2VzIHRvIHRydWVcIiwgKCkgPT4ge1xuXHRcdGNvbnN0IG1hbmlmZXN0U2V0dGluZ3MgPSB7XG5cdFx0XHRlbnRpdHlTZXQ6IFwiVGVzdEVudGl0eVwiLFxuXHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLkxpc3RSZXBvcnQsXG5cdFx0XHRjb250cm9sQ29uZmlndXJhdGlvbjoge1xuXHRcdFx0XHRcIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbVwiOiB7XG5cdFx0XHRcdFx0dGFibGVTZXR0aW5nczoge1xuXHRcdFx0XHRcdFx0Y29uZGVuc2VkVGFibGVMYXlvdXQ6IHRydWVcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9O1xuXHRcdC8vIEV2ZW4gaWYgZGVmaW5lZCwgdGhlIHZhbHVlIHNob3VsZCBiZSB1c2VkIG9ubHkgaW4gY2FzZXMgd2hlcmUgdGhlIHNldHRpbmcgaXMgY29tcGF0aWJsZVxuXHRcdGNvbnN0IHRhYmxlQ29uZmlndXJhdGlvbiA9IGdldFRhYmxlQ29uZmlndXJhdGlvbkZvclRlc3QobWFuaWZlc3RTZXR0aW5ncyk7XG5cdFx0ZXhwZWN0KHRhYmxlQ29uZmlndXJhdGlvbi51c2VDb25kZW5zZWRUYWJsZUxheW91dCkudG9CZShmYWxzZSk7XG5cdFx0bWFuaWZlc3RTZXR0aW5ncy5jb252ZXJ0ZXJUeXBlID0gVGVtcGxhdGVUeXBlLk9iamVjdFBhZ2U7XG5cdFx0Y29uc3QgdGFibGVDb25maWd1cmF0aW9uT1AgPSBnZXRUYWJsZUNvbmZpZ3VyYXRpb25Gb3JUZXN0KG1hbmlmZXN0U2V0dGluZ3MpO1xuXHRcdGV4cGVjdCh0YWJsZUNvbmZpZ3VyYXRpb25PUC51c2VDb25kZW5zZWRUYWJsZUxheW91dCkudG9CZShmYWxzZSk7XG5cblx0XHQvLyBJbiBhIENvbmRlbnNlZCBMYXlvdXQgQ29tcGxpYW50IFNldHRpbmcsIHRoZSB2YWx1ZSBzaG91bGQgYmUgdHJ1ZVxuXHRcdG1hbmlmZXN0U2V0dGluZ3MuY29udmVydGVyVHlwZSA9IFRlbXBsYXRlVHlwZS5MaXN0UmVwb3J0O1xuXHRcdGNvbnN0IHRhYmxlQ29uZmlndXJhdGlvbkNMID0gZ2V0VGFibGVDb25maWd1cmF0aW9uRm9yVGVzdChtYW5pZmVzdFNldHRpbmdzLCB0cnVlKTtcblx0XHRleHBlY3QodGFibGVDb25maWd1cmF0aW9uQ0wudXNlQ29uZGVuc2VkVGFibGVMYXlvdXQpLnRvQmUodHJ1ZSk7XG5cdFx0bWFuaWZlc3RTZXR0aW5ncy5jb252ZXJ0ZXJUeXBlID0gVGVtcGxhdGVUeXBlLk9iamVjdFBhZ2U7XG5cdFx0Y29uc3QgdGFibGVDb25maWd1cmF0aW9uQ0xPUCA9IGdldFRhYmxlQ29uZmlndXJhdGlvbkZvclRlc3QobWFuaWZlc3RTZXR0aW5ncywgdHJ1ZSk7XG5cdFx0ZXhwZWN0KHRhYmxlQ29uZmlndXJhdGlvbkNMT1AudXNlQ29uZGVuc2VkVGFibGVMYXlvdXQpLnRvQmUodHJ1ZSk7XG5cdH0pO1xuXHRpdChcIk1hbmlmZXN0IEZvcmNlcyB0byB0cnVlIGluIGluY29ycmVjdCBzZXR0aW5nIGZyb20gbWFuaWZlc3RcIiwgKCkgPT4ge1xuXHRcdGNvbnN0IG1hbmlmZXN0U2V0dGluZ3MgPSB7XG5cdFx0XHRlbnRpdHlTZXQ6IFwiVGVzdEVudGl0eVwiLFxuXHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLkxpc3RSZXBvcnQsXG5cdFx0XHRjb250cm9sQ29uZmlndXJhdGlvbjoge1xuXHRcdFx0XHRcIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbVwiOiB7XG5cdFx0XHRcdFx0dGFibGVTZXR0aW5nczoge1xuXHRcdFx0XHRcdFx0Y29uZGVuc2VkVGFibGVMYXlvdXQ6IHRydWVcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0XHRjb250ZW50RGVuc2l0aWVzOiB7XG5cdFx0XHRcdGNvenk6IHRydWUsXG5cdFx0XHRcdGNvbXBhY3Q6IGZhbHNlXG5cdFx0XHR9XG5cdFx0fTtcblx0XHQvLyBJbiBhIENvbmRlbnNlZCBMYXlvdXQgQ29tcGxpYW50IFNldHRpbmcsIHRoZSB2YWx1ZSBzaG91bGQgYmUgdHJ1ZVxuXHRcdGNvbnN0IHRhYmxlQ29uZmlndXJhdGlvbkNMID0gZ2V0VGFibGVDb25maWd1cmF0aW9uRm9yVGVzdChtYW5pZmVzdFNldHRpbmdzLCB0cnVlKTtcblx0XHRleHBlY3QodGFibGVDb25maWd1cmF0aW9uQ0wudXNlQ29uZGVuc2VkVGFibGVMYXlvdXQpLnRvQmUoZmFsc2UpO1xuXHRcdG1hbmlmZXN0U2V0dGluZ3MuY29udmVydGVyVHlwZSA9IFRlbXBsYXRlVHlwZS5PYmplY3RQYWdlO1xuXHRcdGNvbnN0IHRhYmxlQ29uZmlndXJhdGlvbkNMT1AgPSBnZXRUYWJsZUNvbmZpZ3VyYXRpb25Gb3JUZXN0KG1hbmlmZXN0U2V0dGluZ3MsIHRydWUpO1xuXHRcdGV4cGVjdCh0YWJsZUNvbmZpZ3VyYXRpb25DTE9QLnVzZUNvbmRlbnNlZFRhYmxlTGF5b3V0KS50b0JlKGZhbHNlKTtcblx0fSk7XG5cblx0aXQoXCJNYW5pZmVzdCBGb3JjZXMgdG8gdHJ1ZSBpbiBpbmNvcnJlY3Qgc2V0dGluZyBmcm9tIGVudmlyb25tZW50XCIsICgpID0+IHtcblx0XHRjb25zdCBtYW5pZmVzdFNldHRpbmdzID0ge1xuXHRcdFx0ZW50aXR5U2V0OiBcIlRlc3RFbnRpdHlcIixcblx0XHRcdGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5MaXN0UmVwb3J0LFxuXHRcdFx0Y29udHJvbENvbmZpZ3VyYXRpb246IHtcblx0XHRcdFx0XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW1cIjoge1xuXHRcdFx0XHRcdHRhYmxlU2V0dGluZ3M6IHtcblx0XHRcdFx0XHRcdGNvbmRlbnNlZFRhYmxlTGF5b3V0OiB0cnVlXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fTtcblx0XHQvLyBJbiBhIENvbmRlbnNlZCBMYXlvdXQgQ29tcGxpYW50IFNldHRpbmcsIHRoZSB2YWx1ZSBzaG91bGQgYmUgdHJ1ZVxuXHRcdGNvbnN0IHRhYmxlQ29uZmlndXJhdGlvbkNMID0gZ2V0VGFibGVDb25maWd1cmF0aW9uRm9yVGVzdChtYW5pZmVzdFNldHRpbmdzLCB0cnVlLCBcImNvenlcIik7XG5cdFx0ZXhwZWN0KHRhYmxlQ29uZmlndXJhdGlvbkNMLnVzZUNvbmRlbnNlZFRhYmxlTGF5b3V0KS50b0JlKGZhbHNlKTtcblx0XHRtYW5pZmVzdFNldHRpbmdzLmNvbnZlcnRlclR5cGUgPSBUZW1wbGF0ZVR5cGUuT2JqZWN0UGFnZTtcblx0XHRjb25zdCB0YWJsZUNvbmZpZ3VyYXRpb25DTE9QID0gZ2V0VGFibGVDb25maWd1cmF0aW9uRm9yVGVzdChtYW5pZmVzdFNldHRpbmdzLCB0cnVlLCBcImNvenlcIik7XG5cdFx0ZXhwZWN0KHRhYmxlQ29uZmlndXJhdGlvbkNMT1AudXNlQ29uZGVuc2VkVGFibGVMYXlvdXQpLnRvQmUoZmFsc2UpO1xuXHR9KTtcbn0pO1xuXG5kZXNjcmliZShcIlRhYmxlIFR5cGVcIiwgKCkgPT4ge1xuXHRjb25zdCBnZXRUYWJsZUNvbmZpZ3VyYXRpb25Gb3JBbmFseXRpY2FsVGVzdCA9IChcblx0XHRtYW5pZmVzdFNldHRpbmdzOiBMaXN0UmVwb3J0TWFuaWZlc3RTZXR0aW5ncyxcblx0XHRjb252ZXJ0ZXJPdXRwdXQ6IENvbnZlcnRlck91dHB1dCA9IGNvbnZlcnRlZFR5cGVzLFxuXHRcdHRhYmxlVHlwZT86IFRhYmxlTWFuaWZlc3RTZXR0aW5nc0NvbmZpZ3VyYXRpb25cblx0KTogVGFibGVDb250cm9sQ29uZmlndXJhdGlvbiA9PiB7XG5cdFx0Y29uc3QgYmFzaWNDb250ZXh0ID0gZ2V0Q29udmVydGVyQ29udGV4dEZvclRlc3QoY29udmVydGVyT3V0cHV0LCBtYW5pZmVzdFNldHRpbmdzKTtcblx0XHRiYXNpY0NvbnRleHQuZ2V0TWFuaWZlc3RDb250cm9sQ29uZmlndXJhdGlvbihcIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbVwiKS50YWJsZVNldHRpbmdzLnR5cGUgPVxuXHRcdFx0dGFibGVUeXBlPy50eXBlIHx8IHVuZGVmaW5lZDtcblx0XHRyZXR1cm4gZ2V0VGFibGVNYW5pZmVzdENvbmZpZ3VyYXRpb24oXG5cdFx0XHRiYXNpY0NvbnRleHQuZ2V0RW50aXR5VHlwZSgpLmFubm90YXRpb25zLlVJPy5MaW5lSXRlbSxcblx0XHRcdFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtXCIsXG5cdFx0XHRiYXNpY0NvbnRleHRcblx0XHQpO1xuXHR9O1xuXHRpdChcIklmIG5vdCBzcGVjaWZpZWQsIHRoZSBkZWZhdWx0IHRhYmxlIHR5cGUgb24gYW4gQUxQIHRlbXBsYXRlIGlzICdBbmFseXRpY2FsVGFibGUnIG9uIGEgZGVza3RvcCB3aGVuIHRoZSBzZXJ2aWNlIGlzIEFuYWx5dGljYWwgY29tcGxpYW50XCIsICgpID0+IHtcblx0XHRjb25zdCBtYW5pZmVzdFNldHRpbmdzID0ge1xuXHRcdFx0ZW50aXR5U2V0OiBcIlRlc3RFbnRpdHlcIixcblx0XHRcdGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5MaXN0UmVwb3J0LFxuXHRcdFx0Y29udHJvbENvbmZpZ3VyYXRpb246IHtcblx0XHRcdFx0XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW1cIjoge1xuXHRcdFx0XHRcdHRhYmxlU2V0dGluZ3M6IHtcblx0XHRcdFx0XHRcdGNvbmRlbnNlZFRhYmxlTGF5b3V0OiB0cnVlXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0aXNEZXNrdG9wOiB0cnVlXG5cdFx0fTtcblx0XHRjb25zdCB0YWJsZUNvbmZpZ3VyYXRpb25BTFAgPSBnZXRUYWJsZUNvbmZpZ3VyYXRpb25Gb3JBbmFseXRpY2FsVGVzdChtYW5pZmVzdFNldHRpbmdzLCBjb252ZXJ0ZWRUeXBlc0FuYWx5dGljYWxTZXJ2aWNlKTtcblx0XHRleHBlY3QodGFibGVDb25maWd1cmF0aW9uQUxQLnR5cGUpLnRvRXF1YWwoXCJBbmFseXRpY2FsVGFibGVcIik7XG5cdH0pO1xuXHRpdChcIklmIG5vdCBzcGVjaWZpZWQsIHRoZSBkZWZhdWx0IHRhYmxlIHR5cGUgb24gYW4gTGlzdFJlcG9ydCB0ZW1wbGF0ZSBpcyAnQW5hbHl0aWNhbFRhYmxlJyBvbiBhIGRlc2t0b3Agd2hlbiB0aGUgc2VydmljZSBpcyBBbmFseXRpY2FsIGNvbXBsaWFudFwiLCAoKSA9PiB7XG5cdFx0Y29uc3QgbWFuaWZlc3RTZXR0aW5ncyA9IHtcblx0XHRcdGVudGl0eVNldDogXCJUZXN0RW50aXR5XCIsXG5cdFx0XHRjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuTGlzdFJlcG9ydCxcblx0XHRcdGNvbnRyb2xDb25maWd1cmF0aW9uOiB7XG5cdFx0XHRcdFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtXCI6IHtcblx0XHRcdFx0XHR0YWJsZVNldHRpbmdzOiB7XG5cdFx0XHRcdFx0XHRjb25kZW5zZWRUYWJsZUxheW91dDogdHJ1ZVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSxcblx0XHRcdGlzRGVza3RvcDogdHJ1ZVxuXHRcdH07XG5cdFx0Y29uc3QgdGFibGVDb25maWd1cmF0aW9uQUxQID0gZ2V0VGFibGVDb25maWd1cmF0aW9uRm9yQW5hbHl0aWNhbFRlc3QobWFuaWZlc3RTZXR0aW5ncywgY29udmVydGVkVHlwZXNBbmFseXRpY2FsU2VydmljZSk7XG5cdFx0ZXhwZWN0KHRhYmxlQ29uZmlndXJhdGlvbkFMUC50eXBlKS50b0VxdWFsKFwiQW5hbHl0aWNhbFRhYmxlXCIpO1xuXHR9KTtcblx0aXQoXCJJZiBub3Qgc3BlY2lmaWVkLCB0aGUgZGVmYXVsdCB0YWJsZSB0eXBlIGlzICdSZXNwb25zaXZlVGFibGUnIGZvciBhbiBBTFAgdGVtcGxhdGUgb24gYSBkZXNrdG9wIHdoZW4gdGhlIHNlcnZpY2UgaXMgTk9UIEFuYWx5dGljYWwgY29tcGxpYW50XCIsICgpID0+IHtcblx0XHRjb25zdCBtYW5pZmVzdFNldHRpbmdzID0ge1xuXHRcdFx0ZW50aXR5U2V0OiBcIlRlc3RFbnRpdHlcIixcblx0XHRcdGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5MaXN0UmVwb3J0LFxuXHRcdFx0Y29udHJvbENvbmZpZ3VyYXRpb246IHtcblx0XHRcdFx0XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW1cIjoge1xuXHRcdFx0XHRcdHRhYmxlU2V0dGluZ3M6IHtcblx0XHRcdFx0XHRcdGNvbmRlbnNlZFRhYmxlTGF5b3V0OiB0cnVlXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0aXNEZXNrdG9wOiB0cnVlXG5cdFx0fTtcblx0XHRjb25zdCB0YWJsZUNvbmZpZ3VyYXRpb25BTFAgPSBnZXRUYWJsZUNvbmZpZ3VyYXRpb25Gb3JBbmFseXRpY2FsVGVzdChtYW5pZmVzdFNldHRpbmdzLCBjb252ZXJ0ZWRUeXBlcyk7XG5cdFx0ZXhwZWN0KHRhYmxlQ29uZmlndXJhdGlvbkFMUC50eXBlKS50b0VxdWFsKFwiUmVzcG9uc2l2ZVRhYmxlXCIpO1xuXHR9KTtcblx0aXQoXCJJZiBub3Qgc3BlY2lmaWVkLCB0aGUgZGVmYXVsdCB0YWJsZSB0eXBlIGlzICdSZXNwb25zaXZlVGFibGUnIGZvciBhIExSIHRlbXBsYXRlIG9uIGEgZGVza3RvcCB3aGVuIHRoZSBzZXJ2aWNlIGlzIE5PVCBBbmFseXRpY2FsIGNvbXBsaWFudFwiLCAoKSA9PiB7XG5cdFx0Y29uc3QgbWFuaWZlc3RTZXR0aW5ncyA9IHtcblx0XHRcdGVudGl0eVNldDogXCJUZXN0RW50aXR5XCIsXG5cdFx0XHRjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuTGlzdFJlcG9ydCxcblx0XHRcdGNvbnRyb2xDb25maWd1cmF0aW9uOiB7XG5cdFx0XHRcdFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtXCI6IHtcblx0XHRcdFx0XHR0YWJsZVNldHRpbmdzOiB7XG5cdFx0XHRcdFx0XHRjb25kZW5zZWRUYWJsZUxheW91dDogdHJ1ZVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSxcblx0XHRcdGlzRGVza3RvcDogZmFsc2Vcblx0XHR9O1xuXHRcdGNvbnN0IHRhYmxlQ29uZmlndXJhdGlvbkFMUCA9IGdldFRhYmxlQ29uZmlndXJhdGlvbkZvckFuYWx5dGljYWxUZXN0KG1hbmlmZXN0U2V0dGluZ3MsIGNvbnZlcnRlZFR5cGVzKTtcblx0XHRleHBlY3QodGFibGVDb25maWd1cmF0aW9uQUxQLnR5cGUpLnRvRXF1YWwoXCJSZXNwb25zaXZlVGFibGVcIik7XG5cdH0pO1xuXHRpdChcIklmIG5vdCBzcGVjaWZpZWQsIHRoZSBkZWZhdWx0IHRhYmxlIHR5cGUgb24gYW4gQUxQIHRlbXBsYXRlIGlzICdSZXNwb25zaXZlVGFibGUnIG9uIGEgbW9iaWxlL3RhYmxldCBkZXZpY2Ugbm8gbWF0dGVyIHRoZSBzZXJ2aWNlXCIsICgpID0+IHtcblx0XHRjb25zdCBtYW5pZmVzdFNldHRpbmdzID0ge1xuXHRcdFx0ZW50aXR5U2V0OiBcIlRlc3RFbnRpdHlcIixcblx0XHRcdGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5MaXN0UmVwb3J0LFxuXHRcdFx0Y29udHJvbENvbmZpZ3VyYXRpb246IHtcblx0XHRcdFx0XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW1cIjoge1xuXHRcdFx0XHRcdHRhYmxlU2V0dGluZ3M6IHtcblx0XHRcdFx0XHRcdGNvbmRlbnNlZFRhYmxlTGF5b3V0OiB0cnVlXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0aXNEZXNrdG9wOiBmYWxzZVxuXHRcdH07XG5cdFx0Y29uc3QgdGFibGVDb25maWd1cmF0aW9uQUxQID0gZ2V0VGFibGVDb25maWd1cmF0aW9uRm9yQW5hbHl0aWNhbFRlc3QobWFuaWZlc3RTZXR0aW5ncywgY29udmVydGVkVHlwZXNBbmFseXRpY2FsU2VydmljZSk7XG5cdFx0ZXhwZWN0KHRhYmxlQ29uZmlndXJhdGlvbkFMUC50eXBlKS50b0VxdWFsKFwiUmVzcG9uc2l2ZVRhYmxlXCIpO1xuXHR9KTtcblx0aXQoXCJJZiBub3Qgc3BlY2lmaWVkLCB0aGUgZGVmYXVsdCB0YWJsZSB0eXBlIG9uIGEgTFIgdGVtcGxhdGUgaXMgJ1Jlc3BvbnNpdmVUYWJsZScgb24gYSBtb2JpbGUvdGFibGV0IGRldmljZSBubyBtYXR0ZXIgdGhlIHNlcnZpY2VcIiwgKCkgPT4ge1xuXHRcdGNvbnN0IG1hbmlmZXN0U2V0dGluZ3MgPSB7XG5cdFx0XHRlbnRpdHlTZXQ6IFwiVGVzdEVudGl0eVwiLFxuXHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLkxpc3RSZXBvcnQsXG5cdFx0XHRjb250cm9sQ29uZmlndXJhdGlvbjoge1xuXHRcdFx0XHRcIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbVwiOiB7XG5cdFx0XHRcdFx0dGFibGVTZXR0aW5nczoge1xuXHRcdFx0XHRcdFx0Y29uZGVuc2VkVGFibGVMYXlvdXQ6IHRydWVcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0XHRpc0Rlc2t0b3A6IGZhbHNlXG5cdFx0fTtcblx0XHRjb25zdCB0YWJsZUNvbmZpZ3VyYXRpb25BTFAgPSBnZXRUYWJsZUNvbmZpZ3VyYXRpb25Gb3JBbmFseXRpY2FsVGVzdChtYW5pZmVzdFNldHRpbmdzLCBjb252ZXJ0ZWRUeXBlc0FuYWx5dGljYWxTZXJ2aWNlKTtcblx0XHRleHBlY3QodGFibGVDb25maWd1cmF0aW9uQUxQLnR5cGUpLnRvRXF1YWwoXCJSZXNwb25zaXZlVGFibGVcIik7XG5cdH0pO1xuXHRpdChcIklmIHRoZSB0YWJsZVR5cGUgaXMgc2V0IHRvIEFuYWx5dGljYWxUYWJsZSBvbiBhbiBBUEwgdGVtcGxhdGUsIGJ1dCB0aGUgc2VydmljZSBpcyBOT1QgQW5hbHl0aWNhbCBjb21wbGlhbnQsIHRoZSB0YWJsZVR5cGUgaXMgZm9yY2VkIHRvICdHcmlkVGFibGUnXCIsICgpID0+IHtcblx0XHRjb25zdCBtYW5pZmVzdFNldHRpbmdzID0ge1xuXHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLkxpc3RSZXBvcnQsXG5cdFx0XHRlbnRpdHlTZXQ6IFwiVGVzdEVudGl0eVwiLFxuXHRcdFx0Y29udHJvbENvbmZpZ3VyYXRpb246IHtcblx0XHRcdFx0XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW1cIjoge1xuXHRcdFx0XHRcdHRhYmxlU2V0dGluZ3M6IHtcblx0XHRcdFx0XHRcdGNvbmRlbnNlZFRhYmxlTGF5b3V0OiB0cnVlXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0aXNEZXNrdG9wOiB0cnVlXG5cdFx0fTtcblx0XHRjb25zdCB0YWJsZVR5cGU6IFRhYmxlTWFuaWZlc3RTZXR0aW5nc0NvbmZpZ3VyYXRpb24gPSB7IHR5cGU6IFwiQW5hbHl0aWNhbFRhYmxlXCIgfTtcblx0XHRjb25zdCB0YWJsZUNvbmZpZ3VyYXRpb25BTFAgPSBnZXRUYWJsZUNvbmZpZ3VyYXRpb25Gb3JBbmFseXRpY2FsVGVzdChtYW5pZmVzdFNldHRpbmdzLCBjb252ZXJ0ZWRUeXBlcywgdGFibGVUeXBlKTtcblx0XHRleHBlY3QodGFibGVDb25maWd1cmF0aW9uQUxQLnR5cGUpLnRvRXF1YWwoXCJHcmlkVGFibGVcIik7XG5cdH0pO1xuXHRpdChcIklmIHRoZSB0YWJsZVR5cGUgaXMgc2V0IHRvIEFuYWx5dGljYWxUYWJsZSBvbiBhIExSIHRlbXBsYXRlLCBidXQgdGhlIHNlcnZpY2UgaXMgTk9UIEFuYWx5dGljYWwgY29tcGxpYW50LCB0aGUgdGFibGVUeXBlIGlzIGZvcmNlZCB0byAnR3JpZFRhYmxlJ1wiLCAoKSA9PiB7XG5cdFx0Y29uc3QgbWFuaWZlc3RTZXR0aW5ncyA9IHtcblx0XHRcdGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5MaXN0UmVwb3J0LFxuXHRcdFx0ZW50aXR5U2V0OiBcIlRlc3RFbnRpdHlcIixcblx0XHRcdGNvbnRyb2xDb25maWd1cmF0aW9uOiB7XG5cdFx0XHRcdFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtXCI6IHtcblx0XHRcdFx0XHR0YWJsZVNldHRpbmdzOiB7XG5cdFx0XHRcdFx0XHRjb25kZW5zZWRUYWJsZUxheW91dDogdHJ1ZVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSxcblx0XHRcdGlzRGVza3RvcDogdHJ1ZVxuXHRcdH07XG5cdFx0Y29uc3QgdGFibGVUeXBlOiBUYWJsZU1hbmlmZXN0U2V0dGluZ3NDb25maWd1cmF0aW9uID0geyB0eXBlOiBcIkFuYWx5dGljYWxUYWJsZVwiIH07XG5cdFx0Y29uc3QgdGFibGVDb25maWd1cmF0aW9uQUxQID0gZ2V0VGFibGVDb25maWd1cmF0aW9uRm9yQW5hbHl0aWNhbFRlc3QobWFuaWZlc3RTZXR0aW5ncywgY29udmVydGVkVHlwZXMsIHRhYmxlVHlwZSk7XG5cdFx0ZXhwZWN0KHRhYmxlQ29uZmlndXJhdGlvbkFMUC50eXBlKS50b0VxdWFsKFwiR3JpZFRhYmxlXCIpO1xuXHR9KTtcblx0aXQoXCJJZiB0aGUgdGFibGVUeXBlIGlzIHNldCB0byBBbmFseXRpY2FsVGFibGUgb24gYW4gQUxQIHRlbXBsYXRlLCB3aXRoIGEgc2VydmljZSBBbmFseXRpY2FsIGNvbXBsaWFudCwgdGhlIHRhYmxlVHlwZSBpcyAnQW5hbHl0aWNhbFRhYmxlJ1wiLCAoKSA9PiB7XG5cdFx0Y29uc3QgbWFuaWZlc3RTZXR0aW5ncyA9IHtcblx0XHRcdGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5MaXN0UmVwb3J0LFxuXHRcdFx0ZW50aXR5U2V0OiBcIlRlc3RFbnRpdHlcIixcblx0XHRcdGNvbnRyb2xDb25maWd1cmF0aW9uOiB7XG5cdFx0XHRcdFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtXCI6IHtcblx0XHRcdFx0XHR0YWJsZVNldHRpbmdzOiB7XG5cdFx0XHRcdFx0XHRjb25kZW5zZWRUYWJsZUxheW91dDogdHJ1ZVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSxcblx0XHRcdGlzRGVza3RvcDogdHJ1ZVxuXHRcdH07XG5cdFx0Y29uc3QgdGFibGVUeXBlOiBUYWJsZU1hbmlmZXN0U2V0dGluZ3NDb25maWd1cmF0aW9uID0geyB0eXBlOiBcIkFuYWx5dGljYWxUYWJsZVwiIH07XG5cdFx0Y29uc3QgdGFibGVDb25maWd1cmF0aW9uQUxQID0gZ2V0VGFibGVDb25maWd1cmF0aW9uRm9yQW5hbHl0aWNhbFRlc3QobWFuaWZlc3RTZXR0aW5ncywgY29udmVydGVkVHlwZXNBbmFseXRpY2FsU2VydmljZSwgdGFibGVUeXBlKTtcblx0XHRleHBlY3QodGFibGVDb25maWd1cmF0aW9uQUxQLnR5cGUpLnRvRXF1YWwoXCJBbmFseXRpY2FsVGFibGVcIik7XG5cdH0pO1xuXHRpdChcIklmIHRoZSB0YWJsZVR5cGUgaXMgc2V0IHRvIEFuYWx5dGljYWxUYWJsZSBvbiBhIExSIHRlbXBsYXRlLCB3aXRoIGEgc2VydmljZSBBbmFseXRpY2FsIGNvbXBsaWFudCwgdGhlIHRhYmxlVHlwZSBpcyAnQW5hbHl0aWNhbFRhYmxlJ1wiLCAoKSA9PiB7XG5cdFx0Y29uc3QgbWFuaWZlc3RTZXR0aW5ncyA9IHtcblx0XHRcdGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5MaXN0UmVwb3J0LFxuXHRcdFx0ZW50aXR5U2V0OiBcIlRlc3RFbnRpdHlcIixcblx0XHRcdGNvbnRyb2xDb25maWd1cmF0aW9uOiB7XG5cdFx0XHRcdFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtXCI6IHtcblx0XHRcdFx0XHR0YWJsZVNldHRpbmdzOiB7XG5cdFx0XHRcdFx0XHRjb25kZW5zZWRUYWJsZUxheW91dDogdHJ1ZVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSxcblx0XHRcdGlzRGVza3RvcDogdHJ1ZVxuXHRcdH07XG5cdFx0Y29uc3QgdGFibGVUeXBlOiBUYWJsZU1hbmlmZXN0U2V0dGluZ3NDb25maWd1cmF0aW9uID0geyB0eXBlOiBcIkFuYWx5dGljYWxUYWJsZVwiIH07XG5cdFx0Y29uc3QgdGFibGVDb25maWd1cmF0aW9uQUxQID0gZ2V0VGFibGVDb25maWd1cmF0aW9uRm9yQW5hbHl0aWNhbFRlc3QobWFuaWZlc3RTZXR0aW5ncywgY29udmVydGVkVHlwZXNBbmFseXRpY2FsU2VydmljZSwgdGFibGVUeXBlKTtcblx0XHRleHBlY3QodGFibGVDb25maWd1cmF0aW9uQUxQLnR5cGUpLnRvRXF1YWwoXCJBbmFseXRpY2FsVGFibGVcIik7XG5cdH0pO1xufSk7XG5cbmRlc2NyaWJlKFwiVGFibGVDb252ZXJ0ZXIgI2dldFRhYmxlQWN0aW9uc1wiLCBmdW5jdGlvbigpIHtcblx0aXQoXCJjYW4gcmV0cmlldmUgYmFzaWMgYWN0aW9uc1wiLCBmdW5jdGlvbigpIHtcblx0XHRjb25zdCBjb252ZXJ0ZXJDb250ZXh0ID0gZ2V0Q29udmVydGVyQ29udGV4dEZvclRlc3QoY29udmVydGVkVHlwZXMsIHtcblx0XHRcdGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5PYmplY3RQYWdlLFxuXHRcdFx0ZW50aXR5U2V0OiBcIlRlc3RFbnRpdHlcIlxuXHRcdH0pO1xuXHRcdGNvbnN0IGhlYWRlckFjdGlvbnMgPSBnZXRUYWJsZUFjdGlvbnMoXG5cdFx0XHQoY29udmVydGVyQ29udGV4dC5nZXRFbnRpdHlUeXBlKCkuYW5ub3RhdGlvbnM/LlVJIGFzIGFueSlbXCJMaW5lSXRlbSNXaXRoQWN0aW9uc1wiXSBhcyBMaW5lSXRlbSxcblx0XHRcdFVJQW5ub3RhdGlvblRlcm1zLkxpbmVJdGVtICsgXCIjV2l0aEFjdGlvbnNcIixcblx0XHRcdGNvbnZlcnRlckNvbnRleHRcblx0XHQpO1xuXHRcdGV4cGVjdChoZWFkZXJBY3Rpb25zLmxlbmd0aCkudG9FcXVhbCgxKTtcblx0XHRleHBlY3QoaGVhZGVyQWN0aW9uc1swXS50eXBlKS50b0VxdWFsKFwiRm9yQWN0aW9uXCIpO1xuXHRcdGV4cGVjdChoZWFkZXJBY3Rpb25zWzBdLmtleSkudG9FcXVhbChcIkRhdGFGaWVsZEZvckFjdGlvbjo6c2FwLmZlLnRlc3QuSmVzdFNlcnZpY2Uubm9uRGV0ZXJtaW5pbmdcIik7XG5cdFx0ZXhwZWN0KGhlYWRlckFjdGlvbnNbMF0uaXNOYXZpZ2FibGUpLnRvRXF1YWwodHJ1ZSk7XG5cdFx0ZXhwZWN0KGhlYWRlckFjdGlvbnNbMF0uZW5hYmxlZCkudG9FcXVhbCh1bmRlZmluZWQpO1xuXHRcdGV4cGVjdChoZWFkZXJBY3Rpb25zWzBdLmVuYWJsZU9uU2VsZWN0KS50b0VxdWFsKHVuZGVmaW5lZCk7XG5cdFx0ZXhwZWN0KGhlYWRlckFjdGlvbnNbMF0uZW5hYmxlQXV0b1Njcm9sbCkudG9FcXVhbCh1bmRlZmluZWQpO1xuXHR9KTtcblx0aXQoXCJjYW4gb3ZlcnJpZGUgYmFzaWMgYWN0aW9uc1wiLCBmdW5jdGlvbigpIHtcblx0XHRjb25zdCBjb252ZXJ0ZXJDb250ZXh0ID0gZ2V0Q29udmVydGVyQ29udGV4dEZvclRlc3QoY29udmVydGVkVHlwZXMsIHtcblx0XHRcdGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5PYmplY3RQYWdlLFxuXHRcdFx0ZW50aXR5U2V0OiBcIlRlc3RFbnRpdHlcIixcblx0XHRcdGNvbnRyb2xDb25maWd1cmF0aW9uOiB7XG5cdFx0XHRcdFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtI1dpdGhBY3Rpb25zXCI6IHtcblx0XHRcdFx0XHRhY3Rpb25zOiB7XG5cdFx0XHRcdFx0XHRcIkRhdGFGaWVsZEZvckFjdGlvbjo6c2FwLmZlLnRlc3QuSmVzdFNlcnZpY2Uubm9uRGV0ZXJtaW5pbmdcIjoge1xuXHRcdFx0XHRcdFx0XHRlbmFibGVkOiBcInt1aT4vaXNFZGl0YWJsZX1cIixcblx0XHRcdFx0XHRcdFx0ZW5hYmxlT25TZWxlY3Q6IFwidHJ1ZVwiLFxuXHRcdFx0XHRcdFx0XHRhZnRlckV4ZWN1dGlvbjoge1xuXHRcdFx0XHRcdFx0XHRcdGVuYWJsZUF1dG9TY3JvbGw6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0bmF2aWdhdGVUb0luc3RhbmNlOiBmYWxzZVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9IGFzIFRhYmxlTWFuaWZlc3RDb25maWd1cmF0aW9uXG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0Y29uc3QgaGVhZGVyQWN0aW9ucyA9IGdldFRhYmxlQWN0aW9ucyhcblx0XHRcdChjb252ZXJ0ZXJDb250ZXh0LmdldEVudGl0eVR5cGUoKS5hbm5vdGF0aW9ucz8uVUkgYXMgYW55KVtcIkxpbmVJdGVtI1dpdGhBY3Rpb25zXCJdIGFzIExpbmVJdGVtLFxuXHRcdFx0XCJAXCIgKyBVSUFubm90YXRpb25UZXJtcy5MaW5lSXRlbSArIFwiI1dpdGhBY3Rpb25zXCIsXG5cdFx0XHRjb252ZXJ0ZXJDb250ZXh0XG5cdFx0KTtcblx0XHRleHBlY3QoaGVhZGVyQWN0aW9ucy5sZW5ndGgpLnRvRXF1YWwoMSk7XG5cdFx0ZXhwZWN0KGhlYWRlckFjdGlvbnNbMF0udHlwZSkudG9FcXVhbChcIkZvckFjdGlvblwiKTtcblx0XHRleHBlY3QoaGVhZGVyQWN0aW9uc1swXS5rZXkpLnRvRXF1YWwoXCJEYXRhRmllbGRGb3JBY3Rpb246OnNhcC5mZS50ZXN0Lkplc3RTZXJ2aWNlLm5vbkRldGVybWluaW5nXCIpO1xuXHRcdGV4cGVjdChoZWFkZXJBY3Rpb25zWzBdLmlzTmF2aWdhYmxlKS50b0VxdWFsKGZhbHNlKTtcblx0XHRleHBlY3QoaGVhZGVyQWN0aW9uc1swXS5lbmFibGVkKS50b0VxdWFsKFwie3VpPi9pc0VkaXRhYmxlfVwiKTtcblx0XHRleHBlY3QoaGVhZGVyQWN0aW9uc1swXS5lbmFibGVPblNlbGVjdCkudG9FcXVhbChcInRydWVcIik7XG5cdFx0ZXhwZWN0KGhlYWRlckFjdGlvbnNbMF0uZW5hYmxlQXV0b1Njcm9sbCkudG9FcXVhbCh0cnVlKTtcblx0fSk7XG5cdGl0KFxuXHRcdFwiY2FuIGFkZCBjdXN0b20gYWN0aW9uc1wiLFxuXHRcdHtcblx0XHRcdFwicmVmZXJlbmNlc1wiOiBbXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRcInR5cGVcIjogXCJCQ1BcIixcblx0XHRcdFx0XHRcIklEXCI6IFwiMjE4MDA3MTI4NFwiXG5cdFx0XHRcdH0sXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRcInR5cGVcIjogXCJKSVJBXCIsXG5cdFx0XHRcdFx0XCJJRFwiOiBcIkZJT1JJVEVDSFAxLTE2ODA4XCJcblx0XHRcdFx0fVxuXHRcdFx0XVxuXHRcdH0sXG5cdFx0ZnVuY3Rpb24oKSB7XG5cdFx0XHRjb25zdCBjb252ZXJ0ZXJDb250ZXh0ID0gZ2V0Q29udmVydGVyQ29udGV4dEZvclRlc3QoY29udmVydGVkVHlwZXMsIHtcblx0XHRcdFx0Y29udmVydGVyVHlwZTogVGVtcGxhdGVUeXBlLk9iamVjdFBhZ2UsXG5cdFx0XHRcdGVudGl0eVNldDogXCJUZXN0RW50aXR5XCIsXG5cdFx0XHRcdGNvbnRyb2xDb25maWd1cmF0aW9uOiB7XG5cdFx0XHRcdFx0XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0jV2l0aEFjdGlvbnNcIjoge1xuXHRcdFx0XHRcdFx0YWN0aW9uczoge1xuXHRcdFx0XHRcdFx0XHRcImN1c3RvbVRhYmxlQWN0aW9uXCI6IHtcblx0XHRcdFx0XHRcdFx0XHRcInByZXNzXCI6IFwiU2FsZXNPcmRlci5jdXN0b20uQ3VzdG9tQWN0aW9ucy5hbGVydFwiLFxuXHRcdFx0XHRcdFx0XHRcdFwidGV4dFwiOiBcIkFsZXJ0XCIsXG5cdFx0XHRcdFx0XHRcdFx0XCJwb3NpdGlvblwiOiB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcInBsYWNlbWVudFwiOiBQbGFjZW1lbnQuQWZ0ZXIsXG5cdFx0XHRcdFx0XHRcdFx0XHRcImFuY2hvclwiOiBcImN1c3RvbVRhYmxlQWN0aW9uMlwiXG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcImN1c3RvbVRhYmxlQWN0aW9uMlwiOiB7XG5cdFx0XHRcdFx0XHRcdFx0XCJwcmVzc1wiOiBcIlNhbGVzT3JkZXIuY3VzdG9tLkN1c3RvbUFjdGlvbnMuYWNjb3VudERldGFpbHNcIixcblx0XHRcdFx0XHRcdFx0XHRcImVuYWJsZWRcIjogXCJ7dWk+L2lzRWRpdGFibGV9XCIsXG5cdFx0XHRcdFx0XHRcdFx0XCJ0ZXh0XCI6IFwiRGlzcGxheSBhY2NvdW50IGRldGFpbHNcIixcblx0XHRcdFx0XHRcdFx0XHRcInBvc2l0aW9uXCI6IHtcblx0XHRcdFx0XHRcdFx0XHRcdFwicGxhY2VtZW50XCI6IFBsYWNlbWVudC5CZWZvcmUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcImFuY2hvclwiOiBcIkRhdGFGaWVsZEZvckFjdGlvbjo6c2FwLmZlLnRlc3QuSmVzdFNlcnZpY2Uubm9uRGV0ZXJtaW5pbmdcIlxuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0gYXMgVGFibGVNYW5pZmVzdENvbmZpZ3VyYXRpb25cblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0XHRjb25zdCBoZWFkZXJBY3Rpb25zID0gZ2V0VGFibGVBY3Rpb25zKFxuXHRcdFx0XHQoY29udmVydGVyQ29udGV4dC5nZXRFbnRpdHlUeXBlKCkuYW5ub3RhdGlvbnM/LlVJIGFzIGFueSlbXCJMaW5lSXRlbSNXaXRoQWN0aW9uc1wiXSBhcyBMaW5lSXRlbSxcblx0XHRcdFx0XCJAXCIgKyBVSUFubm90YXRpb25UZXJtcy5MaW5lSXRlbSArIFwiI1dpdGhBY3Rpb25zXCIsXG5cdFx0XHRcdGNvbnZlcnRlckNvbnRleHRcblx0XHRcdCk7XG5cdFx0XHRleHBlY3QoaGVhZGVyQWN0aW9ucy5sZW5ndGgpLnRvRXF1YWwoMyk7XG5cdFx0XHRleHBlY3QoaGVhZGVyQWN0aW9uc1syXS50eXBlKS50b0VxdWFsKFwiRm9yQWN0aW9uXCIpO1xuXHRcdFx0ZXhwZWN0KGhlYWRlckFjdGlvbnNbMl0ua2V5KS50b0VxdWFsKFwiRGF0YUZpZWxkRm9yQWN0aW9uOjpzYXAuZmUudGVzdC5KZXN0U2VydmljZS5ub25EZXRlcm1pbmluZ1wiKTtcblx0XHR9XG5cdCk7XG59KTtcblxuZGVzY3JpYmUoXCJUYWJsZUNvbnZlcnRlciAjZ2V0VGFibGVDb2x1bW5zXCIsIGZ1bmN0aW9uKCkge1xuXHRpdChcImNhbiBnZXQgdGhlIGJhc2ljIGNvbHVtbnMgZGVmaW5lZCBpbiB0aGUgYW5ub3RhdGlvblwiLCBmdW5jdGlvbigpIHtcblx0XHRjb25zdCBjb252ZXJ0ZXJDb250ZXh0ID0gZ2V0Q29udmVydGVyQ29udGV4dEZvclRlc3QoY29udmVydGVkVHlwZXMsIHtcblx0XHRcdGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5PYmplY3RQYWdlLFxuXHRcdFx0ZW50aXR5U2V0OiBcIlRlc3RFbnRpdHlcIlxuXHRcdH0pO1xuXHRcdGNvbnN0IGNvbHVtbnMgPSBnZXRUYWJsZUNvbHVtbnMoXG5cdFx0XHQoY29udmVydGVyQ29udGV4dC5nZXRFbnRpdHlUeXBlKCkuYW5ub3RhdGlvbnM/LlVJIGFzIGFueSlbXCJMaW5lSXRlbVwiXSBhcyBMaW5lSXRlbSxcblx0XHRcdFwiQFwiICsgVUlBbm5vdGF0aW9uVGVybXMuTGluZUl0ZW0sXG5cdFx0XHRjb252ZXJ0ZXJDb250ZXh0LFxuXHRcdFx0e31cblx0XHQpO1xuXHRcdGV4cGVjdChjb2x1bW5zLmxlbmd0aCkudG9CZSg3KTtcblx0XHRleHBlY3QoY29sdW1uc1swXS5rZXkpLnRvQmUoXCJEYXRhRmllbGQ6OklzQWN0aXZlRW50aXR5XCIpO1xuXHRcdGV4cGVjdChjb2x1bW5zWzNdLmtleSkudG9CZShcIkRhdGFGaWVsZDo6SURcIik7XG5cdFx0ZXhwZWN0KGNvbHVtbnNbM10ud2lkdGgpLnRvQmUodW5kZWZpbmVkKTtcblx0XHRleHBlY3QoY29sdW1uc1s0XS5rZXkpLnRvQmUoXCJEYXRhRmllbGQ6Om5hbWVcIik7XG5cdFx0ZXhwZWN0KGNvbHVtbnNbNl0ua2V5KS50b0JlKFwiUHJvcGVydHk6Om5hbWVcIik7XG5cdH0pO1xuXHRpdChcblx0XHRcImNhbiBhbHNvIG1lcmdlIGNvbHVtbiB3aXRoIHRoZSBvbmVzIGRlZmluZWQgaW4gdGhlIG1hbmlmZXN0XCIsXG5cdFx0e1xuXHRcdFx0XCJyZWZlcmVuY2VzXCI6IFtcblx0XHRcdFx0e1xuXHRcdFx0XHRcdFwidHlwZVwiOiBcIkJDUFwiLFxuXHRcdFx0XHRcdFwiSURcIjogXCIyMTgwMDcxMjg0XCJcblx0XHRcdFx0fSxcblx0XHRcdFx0e1xuXHRcdFx0XHRcdFwidHlwZVwiOiBcIkpJUkFcIixcblx0XHRcdFx0XHRcIklEXCI6IFwiRklPUklURUNIUDEtMTY4MDhcIlxuXHRcdFx0XHR9XG5cdFx0XHRdXG5cdFx0fSxcblx0XHRmdW5jdGlvbigpIHtcblx0XHRcdGNvbnN0IGNvbnZlcnRlckNvbnRleHQgPSBnZXRDb252ZXJ0ZXJDb250ZXh0Rm9yVGVzdChjb252ZXJ0ZWRUeXBlcywge1xuXHRcdFx0XHRjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuT2JqZWN0UGFnZSxcblx0XHRcdFx0ZW50aXR5U2V0OiBcIlRlc3RFbnRpdHlcIixcblx0XHRcdFx0Y29udHJvbENvbmZpZ3VyYXRpb246IHtcblx0XHRcdFx0XHRcIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbVwiOiB7XG5cdFx0XHRcdFx0XHRjb2x1bW5zOiB7XG5cdFx0XHRcdFx0XHRcdFwiQ3VzdG9tQ29sdW1uUmF0aW5nXCI6IHtcblx0XHRcdFx0XHRcdFx0XHRcImhlYWRlclwiOiBcIkN1c3RvbSBSYXRpbmdcIixcblx0XHRcdFx0XHRcdFx0XHRcIndpZHRoXCI6IFwiMTBlbVwiLFxuXHRcdFx0XHRcdFx0XHRcdFwiaG9yaXpvbnRhbEFsaWduXCI6IEhvcml6b250YWxBbGlnbi5FbmQsXG5cdFx0XHRcdFx0XHRcdFx0XCJwb3NpdGlvblwiOiB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcInBsYWNlbWVudFwiOiBQbGFjZW1lbnQuQWZ0ZXIsXG5cdFx0XHRcdFx0XHRcdFx0XHRcImFuY2hvclwiOiBcIkRhdGFGaWVsZDo6SURcIlxuXHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0XCJ0ZW1wbGF0ZVwiOiBcIlNhbGVzT3JkZXIuY3VzdG9tLkN1c3RvbUNvbHVtblJhdGluZ1wiXG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFwiQ3VzdG9tQ29sdW1uQnV0dG9uXCI6IHtcblx0XHRcdFx0XHRcdFx0XHRcImhlYWRlclwiOiBcIkN1c3RvbSBCdXR0b25cIixcblx0XHRcdFx0XHRcdFx0XHRcIndpZHRoXCI6IFwiMTBlbVwiLFxuXHRcdFx0XHRcdFx0XHRcdFwicG9zaXRpb25cIjoge1xuXHRcdFx0XHRcdFx0XHRcdFx0XCJwbGFjZW1lbnRcIjogUGxhY2VtZW50LkFmdGVyLFxuXHRcdFx0XHRcdFx0XHRcdFx0XCJhbmNob3JcIjogXCJDdXN0b21Db2x1bW5SYXRpbmdcIlxuXHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0XCJ0ZW1wbGF0ZVwiOiBcIlNhbGVzT3JkZXIuY3VzdG9tLkN1c3RvbUNvbHVtbkJ1dHRvblwiXG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFwiQ3VzdG9tQ29sdW1uU29sZFRvUGFydHlcIjoge1xuXHRcdFx0XHRcdFx0XHRcdFwiaGVhZGVyXCI6IFwiQ3VzdG9tIFNvbGQtVG8gUGFydHlcIixcblx0XHRcdFx0XHRcdFx0XHRcIndpZHRoXCI6IFwiMTVlbVwiLFxuXHRcdFx0XHRcdFx0XHRcdFwiaG9yaXpvbnRhbEFsaWduXCI6IEhvcml6b250YWxBbGlnbi5DZW50ZXIsXG5cdFx0XHRcdFx0XHRcdFx0XCJwb3NpdGlvblwiOiB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcInBsYWNlbWVudFwiOiBQbGFjZW1lbnQuQWZ0ZXIsXG5cdFx0XHRcdFx0XHRcdFx0XHRcImFuY2hvclwiOiBcIkN1c3RvbUNvbHVtbkJ1dHRvblwiXG5cdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcInRlbXBsYXRlXCI6IFwiU2FsZXNPcmRlci5jdXN0b20uQ3VzdG9tQ29sdW1uU29sZFRvUGFydHlcIlxuXHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcIkN1c3RvbUNvbHVtbkZpeGVkVGV4dFwiOiB7XG5cdFx0XHRcdFx0XHRcdFx0XCJoZWFkZXJcIjogXCJDdXN0b20gRml4ZWQgVGV4dFwiLFxuXHRcdFx0XHRcdFx0XHRcdFwid2lkdGhcIjogXCIxMGVtXCIsXG5cdFx0XHRcdFx0XHRcdFx0XCJob3Jpem9udGFsQWxpZ25cIjogSG9yaXpvbnRhbEFsaWduLkVuZCxcblx0XHRcdFx0XHRcdFx0XHRcInBvc2l0aW9uXCI6IHtcblx0XHRcdFx0XHRcdFx0XHRcdFwicGxhY2VtZW50XCI6IFBsYWNlbWVudC5BZnRlcixcblx0XHRcdFx0XHRcdFx0XHRcdFwiYW5jaG9yXCI6IFwiQ3VzdG9tQ29sdW1uU29sZFRvUGFydHlcIlxuXHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0XCJ0ZW1wbGF0ZVwiOiBcIlNhbGVzT3JkZXIuY3VzdG9tLkN1c3RvbUNvbHVtbkZpeGVkVGV4dFwiXG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFwiRGF0YUZpZWxkOjpJRFwiOiB7XG5cdFx0XHRcdFx0XHRcdFx0XCJ3aWR0aFwiOiBcIjIwZW1cIlxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHRcdGNvbnN0IGNvbHVtbnMgPSBnZXRUYWJsZUNvbHVtbnMoXG5cdFx0XHRcdChjb252ZXJ0ZXJDb250ZXh0LmdldEVudGl0eVR5cGUoKS5hbm5vdGF0aW9ucz8uVUkgYXMgYW55KVtcIkxpbmVJdGVtXCJdIGFzIExpbmVJdGVtLFxuXHRcdFx0XHRcIkBcIiArIFVJQW5ub3RhdGlvblRlcm1zLkxpbmVJdGVtLFxuXHRcdFx0XHRjb252ZXJ0ZXJDb250ZXh0LFxuXHRcdFx0XHR7fVxuXHRcdFx0KTtcblx0XHRcdGV4cGVjdChjb2x1bW5zLmxlbmd0aCkudG9CZSgxMSk7XG5cdFx0XHRleHBlY3QoY29sdW1uc1swXS5rZXkpLnRvQmUoXCJEYXRhRmllbGQ6OklzQWN0aXZlRW50aXR5XCIpO1xuXHRcdFx0ZXhwZWN0KGNvbHVtbnNbM10ua2V5KS50b0JlKFwiRGF0YUZpZWxkOjpJRFwiKTtcblx0XHRcdGV4cGVjdChjb2x1bW5zWzNdLndpZHRoKS50b0JlKFwiMjBlbVwiKTtcblx0XHRcdGV4cGVjdChjb2x1bW5zWzRdLmtleSkudG9CZShcIkN1c3RvbUNvbHVtblJhdGluZ1wiKTtcblx0XHRcdGV4cGVjdChjb2x1bW5zWzVdLmtleSkudG9CZShcIkN1c3RvbUNvbHVtbkJ1dHRvblwiKTtcblx0XHRcdGV4cGVjdChjb2x1bW5zWzZdLmtleSkudG9CZShcIkN1c3RvbUNvbHVtblNvbGRUb1BhcnR5XCIpO1xuXHRcdFx0ZXhwZWN0KGNvbHVtbnNbN10ua2V5KS50b0JlKFwiQ3VzdG9tQ29sdW1uRml4ZWRUZXh0XCIpO1xuXHRcdFx0ZXhwZWN0KGNvbHVtbnNbMTBdLmtleSkudG9CZShcIlByb3BlcnR5OjpuYW1lXCIpO1xuXHRcdH1cblx0KTtcbn0pO1xuIl19
|