@sapui5/sap.fe.macros 1.124.0 → 1.125.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/sap/fe/macros/.library +1 -1
- package/src/sap/fe/macros/DelegateUtil.js +23 -4
- package/src/sap/fe/macros/DelegateUtil.ts +22 -7
- package/src/sap/fe/macros/FooterContent.js +333 -0
- package/src/sap/fe/macros/FooterContent.tsx +368 -0
- package/src/sap/fe/macros/MacroAPI.js +2 -2
- package/src/sap/fe/macros/MacroAPI.ts +2 -2
- package/src/sap/fe/macros/RichTextEditor.js +4 -4
- package/src/sap/fe/macros/RichTextEditor.tsx +2 -2
- package/src/sap/fe/macros/ValueHelp.js +218 -0
- package/src/sap/fe/macros/ValueHelp.tsx +128 -0
- package/src/sap/fe/macros/actions/CustomAction.block.js +2 -71
- package/src/sap/fe/macros/actions/CustomAction.block.tsx +0 -45
- package/src/sap/fe/macros/actions/DataFieldForAction.block.js +2 -112
- package/src/sap/fe/macros/actions/DataFieldForAction.block.tsx +0 -91
- package/src/sap/fe/macros/ai/EasyFilterBar.js +17 -6
- package/src/sap/fe/macros/ai/EasyFilterBar.tsx +18 -5
- package/src/sap/fe/macros/ai/SummarizationButton.block.js +1 -1
- package/src/sap/fe/macros/chart/Action.js +2 -2
- package/src/sap/fe/macros/chart/Action.ts +1 -1
- package/src/sap/fe/macros/chart/ActionGroup.js +2 -2
- package/src/sap/fe/macros/chart/ActionGroup.ts +1 -1
- package/src/sap/fe/macros/chart/Chart.block.js +18 -20
- package/src/sap/fe/macros/chart/Chart.block.ts +27 -31
- package/src/sap/fe/macros/chart/Chart.js +3 -3
- package/src/sap/fe/macros/chart/Chart.tsx +1 -1
- package/src/sap/fe/macros/chart/ChartAPI.js +4 -4
- package/src/sap/fe/macros/chart/ChartAPI.ts +1 -1
- package/src/sap/fe/macros/chart/ChartDelegate.js +19 -7
- package/src/sap/fe/macros/chart/ChartDelegate.ts +16 -5
- package/src/sap/fe/macros/contact/CollaborativeHeader.js +2 -2
- package/src/sap/fe/macros/contact/CollaborativeHeader.tsx +1 -1
- package/src/sap/fe/macros/contact/Contact.block.js +28 -8
- package/src/sap/fe/macros/contact/Contact.block.ts +9 -3
- package/src/sap/fe/macros/contact/ContactDelegate.js +1 -1
- package/src/sap/fe/macros/contact/ContactDelegate.ts +1 -1
- package/src/sap/fe/macros/contact/Email.js +7 -20
- package/src/sap/fe/macros/contact/Email.tsx +5 -10
- package/src/sap/fe/macros/contact/TeamContactOptions.js +2 -2
- package/src/sap/fe/macros/contact/TeamContactOptions.tsx +1 -1
- package/src/sap/fe/macros/contentSwitcher/ContentSwitcher.js +12 -22
- package/src/sap/fe/macros/contentSwitcher/ContentSwitcher.tsx +6 -10
- package/src/sap/fe/macros/contentSwitcher/ContentSwitcherItem.js +2 -2
- package/src/sap/fe/macros/contentSwitcher/ContentSwitcherItem.ts +1 -1
- package/src/sap/fe/macros/controls/BetterLink.js +2 -2
- package/src/sap/fe/macros/controls/BetterLink.ts +2 -2
- package/src/sap/fe/macros/controls/BuildingBlockObjectProperty.js +2 -2
- package/src/sap/fe/macros/controls/BuildingBlockObjectProperty.ts +3 -3
- package/src/sap/fe/macros/controls/BuildingBlockWithTemplating.js +3 -3
- package/src/sap/fe/macros/controls/BuildingBlockWithTemplating.ts +2 -2
- package/src/sap/fe/macros/controls/ConditionalWrapper.js +2 -2
- package/src/sap/fe/macros/controls/ConditionalWrapper.ts +2 -2
- package/src/sap/fe/macros/controls/CustomFilterFieldContentWrapper.js +2 -2
- package/src/sap/fe/macros/controls/CustomFilterFieldContentWrapper.ts +1 -1
- package/src/sap/fe/macros/controls/FieldWrapper.js +2 -2
- package/src/sap/fe/macros/controls/FieldWrapper.ts +2 -2
- package/src/sap/fe/macros/controls/FileWrapper.js +2 -2
- package/src/sap/fe/macros/controls/FileWrapper.ts +2 -2
- package/src/sap/fe/macros/controls/FilterBar.js +4 -4
- package/src/sap/fe/macros/controls/FilterBar.ts +3 -3
- package/src/sap/fe/macros/controls/RadioButtons.js +19 -27
- package/src/sap/fe/macros/controls/RadioButtons.tsx +6 -9
- package/src/sap/fe/macros/controls/Section.js +2 -2
- package/src/sap/fe/macros/controls/Section.ts +1 -1
- package/src/sap/fe/macros/controls/filterbar/FilterContainer.js +2 -2
- package/src/sap/fe/macros/controls/filterbar/FilterContainer.ts +1 -1
- package/src/sap/fe/macros/controls/filterbar/VisualFilter.js +2 -2
- package/src/sap/fe/macros/controls/filterbar/VisualFilter.ts +1 -1
- package/src/sap/fe/macros/controls/filterbar/VisualFilterContainer.js +2 -2
- package/src/sap/fe/macros/controls/filterbar/VisualFilterContainer.ts +1 -1
- package/src/sap/fe/macros/controls/section/ISingleSectionContributor.js +2 -2
- package/src/sap/fe/macros/controls/section/ISingleSectionContributor.ts +1 -1
- package/src/sap/fe/macros/coreUI/CreateDialog.js +4 -4
- package/src/sap/fe/macros/coreUI/CreateDialog.tsx +1 -1
- package/src/sap/fe/macros/draftIndicator/DraftIndicator.block.js +22 -8
- package/src/sap/fe/macros/draftIndicator/DraftIndicator.block.tsx +11 -4
- package/src/sap/fe/macros/field/Field.js +3 -3
- package/src/sap/fe/macros/field/Field.tsx +2 -2
- package/src/sap/fe/macros/field/FieldAPI.js +22 -34
- package/src/sap/fe/macros/field/FieldAPI.ts +15 -24
- package/src/sap/fe/macros/field/FieldRuntime.js +1 -1
- package/src/sap/fe/macros/field/FieldRuntime.ts +1 -1
- package/src/sap/fe/macros/field/FieldTemplating.js +16 -3
- package/src/sap/fe/macros/field/FieldTemplating.ts +26 -1
- package/src/sap/fe/macros/field/PublicField.block.js +9 -5
- package/src/sap/fe/macros/field/PublicField.block.tsx +8 -4
- package/src/sap/fe/macros/field/TextAreaEx.js +2 -2
- package/src/sap/fe/macros/field/TextAreaEx.ts +1 -1
- package/src/sap/fe/macros/filter/type/MultiValue.js +2 -2
- package/src/sap/fe/macros/filter/type/MultiValue.ts +1 -1
- package/src/sap/fe/macros/filter/type/Range.js +2 -2
- package/src/sap/fe/macros/filter/type/Range.ts +1 -1
- package/src/sap/fe/macros/filter/type/Value.js +2 -2
- package/src/sap/fe/macros/filter/type/Value.ts +1 -1
- package/src/sap/fe/macros/filterBar/FilterBar.block.js +1 -1
- package/src/sap/fe/macros/filterBar/FilterBar.block.ts +1 -1
- package/src/sap/fe/macros/filterBar/FilterBar.js +2 -2
- package/src/sap/fe/macros/filterBar/FilterBar.tsx +1 -1
- package/src/sap/fe/macros/filterBar/FilterBarAPI.js +2 -2
- package/src/sap/fe/macros/filterBar/FilterBarAPI.ts +2 -2
- package/src/sap/fe/macros/filterBar/FilterBarDelegate.js +76 -22
- package/src/sap/fe/macros/filterBar/FilterBarDelegate.ts +108 -35
- package/src/sap/fe/macros/filterBar/FilterField.js +2 -2
- package/src/sap/fe/macros/filterBar/FilterField.ts +1 -1
- package/src/sap/fe/macros/filterBar/FilterHelper.js +3 -3
- package/src/sap/fe/macros/filterBar/FilterHelper.ts +14 -14
- package/src/sap/fe/macros/form/Form.block.js +47 -11
- package/src/sap/fe/macros/form/Form.block.ts +53 -11
- package/src/sap/fe/macros/form/FormAPI.js +2 -2
- package/src/sap/fe/macros/form/FormAPI.ts +1 -1
- package/src/sap/fe/macros/form/FormContainer.block.js +1 -1
- package/src/sap/fe/macros/form/FormContainer.block.ts +1 -1
- package/src/sap/fe/macros/form/FormContainer.fragment.xml +4 -4
- package/src/sap/fe/macros/form/FormContainerAPI.js +2 -2
- package/src/sap/fe/macros/form/FormContainerAPI.ts +1 -1
- package/src/sap/fe/macros/form/FormElement.block.js +1 -1
- package/src/sap/fe/macros/form/FormElement.block.ts +1 -1
- package/src/sap/fe/macros/form/ValueHelpWrapper.fragment.xml +3 -3
- package/src/sap/fe/macros/fpm/CustomFragmentFragment.js +2 -2
- package/src/sap/fe/macros/fpm/CustomFragmentFragment.ts +1 -1
- package/src/sap/fe/macros/internal/DataPoint.block.js +26 -7
- package/src/sap/fe/macros/internal/DataPoint.block.tsx +6 -1
- package/src/sap/fe/macros/internal/FilterField.block.js +1 -1
- package/src/sap/fe/macros/internal/FilterField.block.ts +1 -1
- package/src/sap/fe/macros/internal/HeaderDataPoint.block.js +1 -1
- package/src/sap/fe/macros/internal/HeaderDataPoint.block.ts +2 -5
- package/src/sap/fe/macros/internal/InternalField.block.js +1 -1
- package/src/sap/fe/macros/internal/InternalField.block.ts +1 -1
- package/src/sap/fe/macros/internal/field/DisplayStyle.js +5 -4
- package/src/sap/fe/macros/internal/field/DisplayStyle.tsx +3 -2
- package/src/sap/fe/macros/internal/field/EditStyle.js +1 -1
- package/src/sap/fe/macros/internal/field/FieldStructure.js +1 -1
- package/src/sap/fe/macros/internal/helpers/ActionHelper.js +1 -1
- package/src/sap/fe/macros/internal/helpers/ActionHelper.ts +1 -1
- package/src/sap/fe/macros/internal/helpers/Upload.js +3 -3
- package/src/sap/fe/macros/internal/helpers/Upload.ts +5 -5
- package/src/sap/fe/macros/internal/valuehelp/AdditionalValueHelper.js +2 -2
- package/src/sap/fe/macros/internal/valuehelp/AdditionalValueHelper.ts +3 -1
- package/src/sap/fe/macros/internal/valuehelp/ValueHelpTemplating.js +70 -18
- package/src/sap/fe/macros/internal/valuehelp/{ValueHelpTemplating.ts → ValueHelpTemplating.tsx} +104 -20
- package/src/sap/fe/macros/internal/valuehelp/ValueListHelper.js +40 -10
- package/src/sap/fe/macros/internal/valuehelp/ValueListHelper.ts +54 -15
- package/src/sap/fe/macros/library.js +2 -2
- package/src/sap/fe/macros/library.ts +1 -0
- package/src/sap/fe/macros/macroLibrary.js +3 -3
- package/src/sap/fe/macros/macroLibrary.ts +0 -6
- package/src/sap/fe/macros/mdx-runtime/useMDXComponents.js +172 -0
- package/src/sap/fe/macros/mdx-runtime/useMDXComponents.tsx +194 -0
- package/src/sap/fe/macros/messagebundle_ar.properties +4 -4
- package/src/sap/fe/macros/messagebundle_bg.properties +4 -4
- package/src/sap/fe/macros/messagebundle_ca.properties +4 -4
- package/src/sap/fe/macros/messagebundle_cnr.properties +4 -4
- package/src/sap/fe/macros/messagebundle_cs.properties +4 -4
- package/src/sap/fe/macros/messagebundle_cy.properties +4 -4
- package/src/sap/fe/macros/messagebundle_da.properties +4 -4
- package/src/sap/fe/macros/messagebundle_de.properties +4 -4
- package/src/sap/fe/macros/messagebundle_el.properties +4 -4
- package/src/sap/fe/macros/messagebundle_en.properties +2 -131
- package/src/sap/fe/macros/messagebundle_en_GB.properties +4 -4
- package/src/sap/fe/macros/messagebundle_en_US_saprigi.properties +2 -4
- package/src/sap/fe/macros/messagebundle_es.properties +4 -4
- package/src/sap/fe/macros/messagebundle_es_MX.properties +4 -4
- package/src/sap/fe/macros/messagebundle_et.properties +4 -4
- package/src/sap/fe/macros/messagebundle_fi.properties +4 -4
- package/src/sap/fe/macros/messagebundle_fr.properties +4 -4
- package/src/sap/fe/macros/messagebundle_fr_CA.properties +4 -4
- package/src/sap/fe/macros/messagebundle_hi.properties +4 -4
- package/src/sap/fe/macros/messagebundle_hr.properties +4 -4
- package/src/sap/fe/macros/messagebundle_hu.properties +4 -4
- package/src/sap/fe/macros/messagebundle_id.properties +4 -4
- package/src/sap/fe/macros/messagebundle_it.properties +4 -4
- package/src/sap/fe/macros/messagebundle_iw.properties +4 -4
- package/src/sap/fe/macros/messagebundle_ja.properties +4 -4
- package/src/sap/fe/macros/messagebundle_kk.properties +4 -4
- package/src/sap/fe/macros/messagebundle_ko.properties +4 -4
- package/src/sap/fe/macros/messagebundle_lt.properties +4 -4
- package/src/sap/fe/macros/messagebundle_lv.properties +4 -4
- package/src/sap/fe/macros/messagebundle_mk.properties +4 -4
- package/src/sap/fe/macros/messagebundle_ms.properties +4 -4
- package/src/sap/fe/macros/messagebundle_nl.properties +4 -4
- package/src/sap/fe/macros/messagebundle_no.properties +4 -4
- package/src/sap/fe/macros/messagebundle_pl.properties +4 -4
- package/src/sap/fe/macros/messagebundle_pt.properties +4 -4
- package/src/sap/fe/macros/messagebundle_pt_PT.properties +4 -4
- package/src/sap/fe/macros/messagebundle_ro.properties +4 -4
- package/src/sap/fe/macros/messagebundle_ru.properties +4 -4
- package/src/sap/fe/macros/messagebundle_sh.properties +33 -33
- package/src/sap/fe/macros/messagebundle_sk.properties +4 -4
- package/src/sap/fe/macros/messagebundle_sl.properties +4 -4
- package/src/sap/fe/macros/messagebundle_sr.properties +4 -4
- package/src/sap/fe/macros/messagebundle_sv.properties +4 -4
- package/src/sap/fe/macros/messagebundle_th.properties +5 -5
- package/src/sap/fe/macros/messagebundle_tr.properties +4 -4
- package/src/sap/fe/macros/messagebundle_uk.properties +4 -4
- package/src/sap/fe/macros/messagebundle_vi.properties +4 -4
- package/src/sap/fe/macros/messagebundle_zh_CN.properties +4 -4
- package/src/sap/fe/macros/messagebundle_zh_TW.properties +4 -4
- package/src/sap/fe/macros/messages/MessageButton.js +115 -66
- package/src/sap/fe/macros/messages/MessageButton.ts +135 -77
- package/src/sap/fe/macros/messages/MessageFilter.js +2 -2
- package/src/sap/fe/macros/messages/MessageFilter.ts +1 -1
- package/src/sap/fe/macros/messages/MessagePopover.js +2 -2
- package/src/sap/fe/macros/messages/MessagePopover.ts +1 -1
- package/src/sap/fe/macros/microchart/MicroChart.block.js +19 -4
- package/src/sap/fe/macros/microchart/MicroChart.block.ts +16 -2
- package/src/sap/fe/macros/microchart/MicroChart.js +2 -2
- package/src/sap/fe/macros/microchart/MicroChart.tsx +1 -1
- package/src/sap/fe/macros/microchart/MicroChartContainer.js +2 -2
- package/src/sap/fe/macros/microchart/MicroChartContainer.ts +1 -1
- package/src/sap/fe/macros/microchart/fragments/AreaMicroChart.fragment.xml +10 -10
- package/src/sap/fe/macros/microchart/fragments/BulletMicroChart.fragment.xml +1 -1
- package/src/sap/fe/macros/microchart/fragments/ColumnMicroChart.fragment.xml +1 -1
- package/src/sap/fe/macros/microchart/fragments/ComparisonMicroChart.fragment.xml +1 -1
- package/src/sap/fe/macros/microchart/fragments/HarveyBallMicroChart.fragment.xml +1 -1
- package/src/sap/fe/macros/microchart/fragments/LineMicroChart.fragment.xml +3 -3
- package/src/sap/fe/macros/microchart/fragments/MicroChartTitle.fragment.xml +4 -4
- package/src/sap/fe/macros/microchart/fragments/RadialMicroChart.fragment.xml +1 -1
- package/src/sap/fe/macros/microchart/fragments/StackedBarMicroChart.fragment.xml +1 -1
- package/src/sap/fe/macros/multiValueField/MultiValueField.block.js +7 -10
- package/src/sap/fe/macros/multiValueField/MultiValueField.block.tsx +6 -5
- package/src/sap/fe/macros/multiValueField/MultiValueFieldDelegate.js +4 -9
- package/src/sap/fe/macros/multiValueField/MultiValueFieldDelegate.ts +2 -7
- package/src/sap/fe/macros/paginator/Paginator.block.js +14 -8
- package/src/sap/fe/macros/paginator/Paginator.block.tsx +8 -2
- package/src/sap/fe/macros/quickView/QuickView.js +1 -1
- package/src/sap/fe/macros/quickView/QuickViewDelegate.js +65 -45
- package/src/sap/fe/macros/quickView/QuickViewDelegate.ts +94 -66
- package/src/sap/fe/macros/quickView/QuickViewHeaderOptions.block.js +3 -3
- package/src/sap/fe/macros/quickView/QuickViewHeaderOptions.block.tsx +3 -3
- package/src/sap/fe/macros/richtexteditor/ButtonGroup.js +2 -2
- package/src/sap/fe/macros/richtexteditor/ButtonGroup.ts +1 -1
- package/src/sap/fe/macros/richtexteditor/Plugin.js +2 -2
- package/src/sap/fe/macros/richtexteditor/Plugin.ts +1 -1
- package/src/sap/fe/macros/richtexteditor/RichTextEditorWithMetadata.block.js +52 -7
- package/src/sap/fe/macros/richtexteditor/RichTextEditorWithMetadata.block.tsx +10 -0
- package/src/sap/fe/macros/share/Share.block.js +3 -3
- package/src/sap/fe/macros/share/Share.block.tsx +4 -4
- package/src/sap/fe/macros/share/ShareAPI.js +2 -2
- package/src/sap/fe/macros/share/ShareAPI.ts +1 -1
- package/src/sap/fe/macros/situations/SituationsIndicator.block.js +3 -6
- package/src/sap/fe/macros/situations/SituationsIndicator.block.ts +10 -1
- package/src/sap/fe/macros/table/Action.js +2 -2
- package/src/sap/fe/macros/table/Action.ts +1 -1
- package/src/sap/fe/macros/table/ActionGroup.js +2 -2
- package/src/sap/fe/macros/table/ActionGroup.ts +1 -1
- package/src/sap/fe/macros/table/BasicSearch.js +2 -2
- package/src/sap/fe/macros/table/BasicSearch.ts +2 -2
- package/src/sap/fe/macros/table/Column.js +2 -2
- package/src/sap/fe/macros/table/Column.ts +1 -1
- package/src/sap/fe/macros/table/MdcTableTemplate.js +17 -18
- package/src/sap/fe/macros/table/MdcTableTemplate.ts +20 -32
- package/src/sap/fe/macros/table/QuickFilterSelector.block.js +7 -9
- package/src/sap/fe/macros/table/QuickFilterSelector.block.tsx +6 -0
- package/src/sap/fe/macros/table/SlotColumn.js +2 -2
- package/src/sap/fe/macros/table/SlotColumn.ts +1 -1
- package/src/sap/fe/macros/table/Table.block.js +51 -70
- package/src/sap/fe/macros/table/Table.block.ts +63 -87
- package/src/sap/fe/macros/table/Table.js +3 -3
- package/src/sap/fe/macros/table/Table.tsx +1 -1
- package/src/sap/fe/macros/table/TableAPI.js +306 -151
- package/src/sap/fe/macros/table/TableAPI.ts +164 -4
- package/src/sap/fe/macros/table/TableCreationOptions.js +2 -2
- package/src/sap/fe/macros/table/TableCreationOptions.ts +1 -1
- package/src/sap/fe/macros/table/TableFullScreenDialog.block.js +3 -3
- package/src/sap/fe/macros/table/TableFullScreenDialog.block.tsx +3 -3
- package/src/sap/fe/macros/table/TableRuntime.js +27 -20
- package/src/sap/fe/macros/table/TableRuntime.ts +34 -48
- package/src/sap/fe/macros/table/TreeTable.block.js +1 -1
- package/src/sap/fe/macros/table/TreeTable.block.ts +1 -1
- package/src/sap/fe/macros/table/TreeTable.js +168 -0
- package/src/sap/fe/macros/table/TreeTable.tsx +168 -0
- package/src/sap/fe/macros/table/TreeTableCreationOptions.js +2 -2
- package/src/sap/fe/macros/table/TreeTableCreationOptions.ts +1 -1
- package/src/sap/fe/macros/table/ValueHelp.fragment.xml +4 -3
- package/src/sap/fe/macros/table/delegates/ALPTableDelegate.js +3 -3
- package/src/sap/fe/macros/table/delegates/ALPTableDelegate.ts +6 -5
- package/src/sap/fe/macros/table/delegates/TableDelegate.js +1 -1
- package/src/sap/fe/macros/table/delegates/TableDelegate.ts +1 -1
- package/src/sap/fe/macros/table/massEdit/MassEditDialog.js +1 -1
- package/src/sap/fe/macros/table/massEdit/MassEditField.js +12 -16
- package/src/sap/fe/macros/table/massEdit/MassEditField.tsx +9 -13
- package/src/sap/fe/macros/table/uploadTable/UploadTableRuntime.js +15 -43
- package/src/sap/fe/macros/table/uploadTable/UploadTableRuntime.ts +18 -47
- package/src/sap/fe/macros/table/uploadTable/UploadTableTemplate.js +31 -169
- package/src/sap/fe/macros/table/uploadTable/UploadTableTemplate.ts +28 -259
- package/src/sap/fe/macros/valuehelp/ValueHelp.block.js +14 -4
- package/src/sap/fe/macros/valuehelp/ValueHelp.block.ts +17 -4
- package/src/sap/fe/macros/valuehelp/ValueHelp.js +2 -2
- package/src/sap/fe/macros/valuehelp/ValueHelp.tsx +2 -2
- package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.js +47 -34
- package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.ts +44 -36
- package/src/sap/fe/macros/valuehelp/ValueHelpFilterBar.block.js +1 -1
- package/src/sap/fe/macros/valuehelp/ValueHelpFilterBar.block.ts +1 -1
- package/src/sap/fe/macros/valuehelp/ValueHelpFilterBar.fragment.xml +4 -4
- package/src/sap/fe/macros/visualfilters/VisualFilter.block.js +1 -1
- package/src/sap/fe/macros/visualfilters/VisualFilter.block.ts +1 -1
- package/src/sap/fe/macros/visualfilters/VisualFilterRuntime.js +9 -5
- package/src/sap/fe/macros/visualfilters/VisualFilterRuntime.ts +10 -5
- package/src/sap/fe/macros/internal/valuehelp/ValueHelp.designtime.js +0 -461
- package/src/sap/fe/macros/internal/valuehelp/ValueHelp.designtime.ts +0 -452
- package/src/sap/fe/macros/internal/valuehelp/ValueHelp.fragment.xml +0 -23
- package/src/sap/fe/macros/internal/valuehelp/ValueHelpContent.fragment.xml +0 -58
package/package.json
CHANGED
|
@@ -144,9 +144,28 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/helpers/S
|
|
|
144
144
|
}
|
|
145
145
|
return mParameters.oControl.getAggregation("dependents");
|
|
146
146
|
}).then(function (aDependents) {
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
147
|
+
if (aDependents) {
|
|
148
|
+
for (let oDependent of aDependents) {
|
|
149
|
+
if (oModifier) {
|
|
150
|
+
var _oDependent$isA, _oDependent;
|
|
151
|
+
if ((_oDependent$isA = (_oDependent = oDependent).isA) !== null && _oDependent$isA !== void 0 && _oDependent$isA.call(_oDependent, "sap.fe.macros.valuehelp.ValueHelp")) {
|
|
152
|
+
oDependent = oDependent.getContent();
|
|
153
|
+
}
|
|
154
|
+
if (oDependent && oModifier.getId(oDependent) === sGeneratedId) {
|
|
155
|
+
return true;
|
|
156
|
+
}
|
|
157
|
+
} else {
|
|
158
|
+
var _oDependent2;
|
|
159
|
+
if (oDependent.isA("sap.fe.macros.valuehelp.ValueHelp")) {
|
|
160
|
+
oDependent = oDependent.getContent();
|
|
161
|
+
}
|
|
162
|
+
if (((_oDependent2 = oDependent) === null || _oDependent2 === void 0 ? void 0 : _oDependent2.getId()) === sGeneratedId) {
|
|
163
|
+
return true;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
return false;
|
|
150
169
|
});
|
|
151
170
|
},
|
|
152
171
|
isValueHelpRequired(mParameters, bInFilterField) {
|
|
@@ -190,4 +209,4 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/helpers/S
|
|
|
190
209
|
};
|
|
191
210
|
return DelegateUtil;
|
|
192
211
|
}, false);
|
|
193
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOU19NQUNST0RBVEEiLCJfcmV0cmlldmVNb2RlbCIsImNvbnRyb2wiLCJkZXRhY2hNb2RlbENvbnRleHRDaGFuZ2UiLCJzTW9kZWxOYW1lIiwibW9kZWxOYW1lIiwib01vZGVsIiwiZ2V0TW9kZWwiLCJyZXNvbHZlIiwiYXR0YWNoTW9kZWxDb250ZXh0Q2hhbmdlIiwiZ2V0Q3VzdG9tRGF0YVdpdGhNb2RpZmllciIsIm9Db250cm9sIiwic1Byb3BlcnR5Iiwib01vZGlmaWVyIiwiYUN1c3RvbURhdGEiLCJhUmV0cmlldmVkQ3VzdG9tRGF0YSIsIlByb21pc2UiLCJ0aGVuIiwiZ2V0QWdncmVnYXRpb24iLCJiaW5kIiwib1Byb21pc2UiLCJyZWR1Y2UiLCJvUHJldmlvdXNQcm9taXNlIiwib0N1c3RvbURhdGEiLCJnZXRQcm9wZXJ0eSIsInNLZXkiLCJwdXNoIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiRGVsZWdhdGVVdGlsIiwiRkVUQ0hFRF9QUk9QRVJUSUVTX0RBVEFfS0VZIiwic2V0Q2FjaGVkUHJvcGVydGllcyIsImZldGNoZWRQcm9wZXJ0aWVzIiwid2luZG93IiwiRWxlbWVudCIsImtleSIsInNldEN1c3RvbURhdGEiLCJnZXRDYWNoZWRQcm9wZXJ0aWVzIiwiZ2V0Q3VzdG9tRGF0YSIsImdldEF0dHJpYnV0ZU5TIiwiZGF0YSIsIkZ1bmN0aW9uIiwidlZhbHVlIiwic2V0QXR0cmlidXRlTlMiLCJmZXRjaFByb3BlcnRpZXNGb3JFbnRpdHkiLCJzRW50aXR5U2V0Iiwib01ldGFNb2RlbCIsInJlcXVlc3RPYmplY3QiLCJmZXRjaEFubm90YXRpb25zRm9yRW50aXR5IiwiZmV0Y2hNb2RlbCIsImdldERlbGVnYXRlIiwicGF5bG9hZCIsIm9Db250ZXh0IiwiY2FsbCIsInRlbXBsYXRlQ29udHJvbEZyYWdtZW50Iiwic0ZyYWdtZW50TmFtZSIsIm9QcmVwcm9jZXNzb3JTZXR0aW5ncyIsIm9PcHRpb25zIiwiQ29tbW9uVXRpbHMiLCJkb2VzVmFsdWVIZWxwRXhpc3QiLCJtUGFyYW1ldGVycyIsInNQcm9wZXJ0eU5hbWUiLCJzVmFsdWVIZWxwVHlwZSIsInNPcmlnaW5hbFByb3BlcnR5Iiwic0JpbmRpbmdQYXRoIiwib1Byb3BlcnR5Q29udGV4dCIsImNyZWF0ZUJpbmRpbmdDb250ZXh0Iiwic1ZhbHVlSGVscFByb3BlcnR5IiwiRmllbGRIZWxwZXIiLCJ2YWx1ZUhlbHBQcm9wZXJ0eSIsImJJc0Fic29sdXRlIiwiaW5kZXhPZiIsImluY2x1ZGVzIiwiZ2V0T2JqZWN0Iiwic0dlbmVyYXRlZElkIiwiZ2VuZXJhdGVJRCIsImZsZXhJZCIsImdlbmVyYXRlIiwiZ2V0SWQiLCJnZXRSZWxhdGl2ZVByb3BlcnR5UGF0aCIsImNvbnRleHQiLCJnZXRQYXRoIiwiYURlcGVuZGVudHMiLCJzb21lIiwib0RlcGVuZGVudCIsImlzVmFsdWVIZWxwUmVxdWlyZWQiLCJiSW5GaWx0ZXJGaWVsZCIsImJSZWFkT25seSIsImFsbCIsImFSZXN1bHRzIiwiY2F0Y2giLCJvRXJyb3IiLCJMb2ciLCJ3YXJuaW5nIiwiaXNNdWx0aVZhbHVlIiwib1Byb3BlcnR5IiwiYklzTXVsdGlWYWx1ZSIsImZpbHRlckV4cHJlc3Npb24iLCJ0eXBlIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJEZWxlZ2F0ZVV0aWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExvZyBmcm9tIFwic2FwL2Jhc2UvTG9nXCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgdHlwZSB7XG5cdENvbHVtbkV4cG9ydFNldHRpbmdzLFxuXHRDdXN0b21CYXNlZFRhYmxlQ29sdW1uLFxuXHRFeHRlbnNpb25Gb3JBbmFseXRpY3MsXG5cdFByb3BlcnR5VHlwZUNvbmZpZyxcblx0VmlzdWFsU2V0dGluZ3Ncbn0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvY29udHJvbHMvQ29tbW9uL1RhYmxlXCI7XG5pbXBvcnQgdHlwZSB7IEN1c3RvbUVsZW1lbnQgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9oZWxwZXJzL0NvbmZpZ3VyYWJsZU9iamVjdFwiO1xuaW1wb3J0IHsgZ2VuZXJhdGUgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9TdGFibGVJZEhlbHBlclwiO1xuaW1wb3J0IHR5cGUgeyBEaXNwbGF5TW9kZSB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL0Rpc3BsYXlNb2RlRm9ybWF0dGVyXCI7XG5pbXBvcnQgeyBnZXRSZWxhdGl2ZVByb3BlcnR5UGF0aCB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL1Byb3BlcnR5Rm9ybWF0dGVyc1wiO1xuaW1wb3J0IEZpZWxkSGVscGVyIGZyb20gXCJzYXAvZmUvbWFjcm9zL2ZpZWxkL0ZpZWxkSGVscGVyXCI7XG5pbXBvcnQgeyBnZW5lcmF0ZUlEIH0gZnJvbSBcInNhcC9mZS9tYWNyb3MvaW50ZXJuYWwvdmFsdWVoZWxwL1ZhbHVlSGVscFRlbXBsYXRpbmdcIjtcbmltcG9ydCB0eXBlIFVJNUVsZW1lbnQgZnJvbSBcInNhcC91aS9jb3JlL0VsZW1lbnRcIjtcbmltcG9ydCB0eXBlIE1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvTW9kZWxcIjtcblxuY29uc3QgTlNfTUFDUk9EQVRBID0gXCJodHRwOi8vc2NoZW1hcy5zYXAuY29tL3NhcHVpNS9leHRlbnNpb24vc2FwLnVpLmNvcmUuQ3VzdG9tRGF0YS8xXCI7XG5cbmV4cG9ydCB0eXBlIHRhYmxlRGVsZWdhdGVNb2RlbCA9IHtcblx0ZW5hYmxlQXV0b0NvbHVtbldpZHRoOiBib29sZWFuO1xuXHRyZWFkT25seTogYm9vbGVhbjtcblx0dGFibGVUeXBlOiBzdHJpbmc7XG5cdG9uQ2hhbmdlOiBGdW5jdGlvbjtcblx0aWQ6IHN0cmluZztcblx0bmF2aWdhdGlvblByb3BlcnR5UGF0aDogc3RyaW5nO1xuXHRjb2x1bW5JbmZvOiBDdXN0b21FbGVtZW50PEN1c3RvbUJhc2VkVGFibGVDb2x1bW4+O1xuXHRjb2xsZWN0aW9uOiB7XG5cdFx0c1BhdGg6IHN0cmluZztcblx0XHRvTW9kZWw6IHN0cmluZztcblx0fTtcblx0d2lkdGhJbmNsdWRpbmdDb2x1bW5IZWFkZXI6IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBQcm9wZXJ0eUluZm8gPSB7XG5cdGFkZGl0aW9uYWxMYWJlbHM/OiBzdHJpbmdbXTtcblx0Y2FzZVNlbnNpdGl2ZT86IGJvb2xlYW47XG5cdGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXHRkZXNjcmlwdGlvblByb3BlcnR5Pzogc3RyaW5nO1xuXHRleHBvcnRTZXR0aW5ncz86IENvbHVtbkV4cG9ydFNldHRpbmdzIHwgbnVsbDtcblx0Y2xpcGJvYXJkU2V0dGluZ3M/OiBPYmplY3QgfCBudWxsO1xuXHRmb3JtYXRPcHRpb25zPzogT2JqZWN0IHwgbnVsbDtcblx0ZmlsdGVyYWJsZT86IGJvb2xlYW47XG5cdGdyb3VwPzogc3RyaW5nO1xuXHRncm91cGFibGU/OiBib29sZWFuO1xuXHRncm91cExhYmVsPzogc3RyaW5nO1xuXHRpc0tleT86IGJvb2xlYW47XG5cdGxhYmVsPzogc3RyaW5nO1xuXHRtYXhDb25kaXRpb25zPzogbnVtYmVyO1xuXHRtZXRhZGF0YVBhdGg/OiBzdHJpbmc7XG5cdG1vZGU/OiBEaXNwbGF5TW9kZTtcblx0bmFtZTogc3RyaW5nO1xuXHRrZXk/OiBzdHJpbmc7XG5cdHBhdGg/OiBzdHJpbmc7XG5cdHByb3BlcnR5SW5mb3M/OiBzdHJpbmdbXTtcblx0cmVsYXRpdmVQYXRoPzogc3RyaW5nO1xuXHRzb3J0YWJsZT86IGJvb2xlYW47XG5cdHNvcnREaXJlY3Rpb24/OiBzdHJpbmc7XG5cdHRleHQ/OiBzdHJpbmc7XG5cdHRvb2x0aXA/OiBzdHJpbmc7XG5cdHR5cGVDb25maWc/OiBQcm9wZXJ0eVR5cGVDb25maWc7XG5cdHR5cGU/OiBzdHJpbmc7XG5cdHVuaXQ/OiBzdHJpbmc7XG5cdHZhbHVlUHJvcGVydHk/OiBzdHJpbmc7XG5cdHZpc2libGU/OiBib29sZWFuO1xuXHR2aXN1YWxTZXR0aW5ncz86IFZpc3VhbFNldHRpbmdzO1xuXHRleHBvcnREYXRhUG9pbnRUYXJnZXRWYWx1ZT86IHN0cmluZztcblx0aXNQYXJhbWV0ZXI/OiBib29sZWFuO1xuXHRhZ2dyZWdhdGFibGU/OiBib29sZWFuO1xuXHRyZXF1aXJlZD86IGJvb2xlYW47XG5cdGV4dGVuc2lvbj86IEV4dGVuc2lvbkZvckFuYWx5dGljcztcbn07XG5cbmZ1bmN0aW9uIF9yZXRyaWV2ZU1vZGVsKHRoaXM6IHsgbW9kZWxOYW1lOiBzdHJpbmc7IGNvbnRyb2w6IGFueTsgcmVzb2x2ZTogRnVuY3Rpb24gfSkge1xuXHR0aGlzLmNvbnRyb2wuZGV0YWNoTW9kZWxDb250ZXh0Q2hhbmdlKF9yZXRyaWV2ZU1vZGVsLCB0aGlzKTtcblx0Y29uc3Qgc01vZGVsTmFtZSA9IHRoaXMubW9kZWxOYW1lLFxuXHRcdG9Nb2RlbCA9IHRoaXMuY29udHJvbC5nZXRNb2RlbChzTW9kZWxOYW1lKTtcblxuXHRpZiAob01vZGVsKSB7XG5cdFx0dGhpcy5yZXNvbHZlKG9Nb2RlbCk7XG5cdH0gZWxzZSB7XG5cdFx0dGhpcy5jb250cm9sLmF0dGFjaE1vZGVsQ29udGV4dENoYW5nZShfcmV0cmlldmVNb2RlbCwgdGhpcyk7XG5cdH1cbn1cbmFzeW5jIGZ1bmN0aW9uIGdldEN1c3RvbURhdGFXaXRoTW9kaWZpZXIob0NvbnRyb2w6IGFueSwgc1Byb3BlcnR5OiBhbnksIG9Nb2RpZmllcjogYW55KSB7XG5cdGNvbnN0IGFDdXN0b21EYXRhOiBhbnlbXSA9IFtdO1xuXG5cdGNvbnN0IGFSZXRyaWV2ZWRDdXN0b21EYXRhID0gYXdhaXQgUHJvbWlzZS5yZXNvbHZlKCkudGhlbihcblx0XHRvTW9kaWZpZXIuZ2V0QWdncmVnYXRpb24uYmluZChvTW9kaWZpZXIsIG9Db250cm9sLCBcImN1c3RvbURhdGFcIikgYXMgKCkgPT4gYW55W11cblx0KTtcblxuXHRjb25zdCBvUHJvbWlzZSA9IGFSZXRyaWV2ZWRDdXN0b21EYXRhLnJlZHVjZSgob1ByZXZpb3VzUHJvbWlzZTogUHJvbWlzZTx2b2lkPiwgb0N1c3RvbURhdGEpID0+IHtcblx0XHRyZXR1cm4gb1ByZXZpb3VzUHJvbWlzZS50aGVuKG9Nb2RpZmllci5nZXRQcm9wZXJ0eS5iaW5kKG9Nb2RpZmllciwgb0N1c3RvbURhdGEsIFwia2V5XCIpKS50aGVuKGZ1bmN0aW9uIChzS2V5OiBhbnkpIHtcblx0XHRcdGlmIChzS2V5ID09PSBzUHJvcGVydHkpIHtcblx0XHRcdFx0YUN1c3RvbURhdGEucHVzaChvQ3VzdG9tRGF0YSk7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm47XG5cdFx0fSk7XG5cdH0sIFByb21pc2UucmVzb2x2ZSgpKTtcblx0YXdhaXQgb1Byb21pc2U7XG5cblx0aWYgKGFDdXN0b21EYXRhLmxlbmd0aCA9PT0gMSkge1xuXHRcdHJldHVybiBvTW9kaWZpZXIuZ2V0UHJvcGVydHkoYUN1c3RvbURhdGFbMF0sIFwidmFsdWVcIik7XG5cdH0gZWxzZSB7XG5cdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0fVxufVxuXG5jb25zdCBEZWxlZ2F0ZVV0aWwgPSB7XG5cdEZFVENIRURfUFJPUEVSVElFU19EQVRBX0tFWTogXCJzYXBfZmVfQ29udHJvbERlbGVnYXRlX3Byb3BlcnR5SW5mb01hcFwiLFxuXHRzZXRDYWNoZWRQcm9wZXJ0aWVzKGNvbnRyb2w6IGFueSwgZmV0Y2hlZFByb3BlcnRpZXM6IFByb3BlcnR5SW5mb1tdKSB7XG5cdFx0Ly8gZG8gbm90IGNhY2hlIGR1cmluZyB0ZW1wbGF0aW5nLCBlbHNlIGl0IGJlY29tZXMgcGFydCBvZiB0aGUgY2FjaGVkIHZpZXdcblx0XHRpZiAoY29udHJvbCBpbnN0YW5jZW9mIHdpbmRvdy5FbGVtZW50KSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdGNvbnN0IGtleSA9IERlbGVnYXRlVXRpbC5GRVRDSEVEX1BST1BFUlRJRVNfREFUQV9LRVk7XG5cdFx0RGVsZWdhdGVVdGlsLnNldEN1c3RvbURhdGEoY29udHJvbCwga2V5LCBmZXRjaGVkUHJvcGVydGllcyk7XG5cdH0sXG5cdGdldENhY2hlZFByb3BlcnRpZXMoY29udHJvbDogYW55KTogUHJvcGVydHlJbmZvW10gfCBudWxsIHtcblx0XHQvLyBwcm9wZXJ0aWVzIGFyZSBub3QgY2FjaGVkIGR1cmluZyB0ZW1wbGF0aW5nXG5cdFx0aWYgKGNvbnRyb2wgaW5zdGFuY2VvZiB3aW5kb3cuRWxlbWVudCkge1xuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fVxuXHRcdGNvbnN0IGtleSA9IERlbGVnYXRlVXRpbC5GRVRDSEVEX1BST1BFUlRJRVNfREFUQV9LRVk7XG5cdFx0cmV0dXJuIERlbGVnYXRlVXRpbC5nZXRDdXN0b21EYXRhKGNvbnRyb2wsIGtleSk7XG5cdH0sXG5cblx0Z2V0Q3VzdG9tRGF0YShvQ29udHJvbDogYW55LCBzUHJvcGVydHk6IGFueSwgb01vZGlmaWVyPzogYW55KSB7XG5cdFx0Ly8gSWYgTW9kaWZpZXIgaXMgZ2l2ZW4sIHRoZSBtZXRob2QgbXVzdCBleGVjdXRlIGFzeW5jaHJvbm91c2x5IGFuZCByZXR1cm4gYSBQcm9taXNlXG5cdFx0aWYgKG9Nb2RpZmllcikge1xuXHRcdFx0cmV0dXJuIGdldEN1c3RvbURhdGFXaXRoTW9kaWZpZXIob0NvbnRyb2wsIHNQcm9wZXJ0eSwgb01vZGlmaWVyKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0Ly8gRGVsZWdhdGUgaW52b2tlZCBmcm9tIGEgbm9uLWZsZXggY2hhbmdlIC0gRmlsdGVyQmFyRGVsZWdhdGUuX2FkZFAxM25JdGVtIGZvciBPUCB0YWJsZSBmaWx0ZXJpbmcsIEZpbHRlckJhckRlbGVnYXRlLmZldGNoUHJvcGVydGllcyBldGMuXG5cdFx0XHRpZiAob0NvbnRyb2wgJiYgc1Byb3BlcnR5KSB7XG5cdFx0XHRcdGlmIChvQ29udHJvbCBpbnN0YW5jZW9mIHdpbmRvdy5FbGVtZW50KSB7XG5cdFx0XHRcdFx0cmV0dXJuIG9Db250cm9sLmdldEF0dHJpYnV0ZU5TKE5TX01BQ1JPREFUQSwgc1Byb3BlcnR5KTtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAob0NvbnRyb2wuZGF0YSBpbnN0YW5jZW9mIEZ1bmN0aW9uKSB7XG5cdFx0XHRcdFx0cmV0dXJuIG9Db250cm9sLmRhdGEoc1Byb3BlcnR5KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0XHR9XG5cdH0sXG5cdHNldEN1c3RvbURhdGEob0NvbnRyb2w6IGFueSwgc1Byb3BlcnR5OiBhbnksIHZWYWx1ZTogYW55KSB7XG5cdFx0aWYgKG9Db250cm9sICYmIHNQcm9wZXJ0eSkge1xuXHRcdFx0aWYgKG9Db250cm9sIGluc3RhbmNlb2Ygd2luZG93LkVsZW1lbnQpIHtcblx0XHRcdFx0cmV0dXJuIG9Db250cm9sLnNldEF0dHJpYnV0ZU5TKE5TX01BQ1JPREFUQSwgYGN1c3RvbURhdGE6JHtzUHJvcGVydHl9YCwgdlZhbHVlKTtcblx0XHRcdH1cblx0XHRcdGlmIChvQ29udHJvbC5kYXRhIGluc3RhbmNlb2YgRnVuY3Rpb24pIHtcblx0XHRcdFx0cmV0dXJuIG9Db250cm9sLmRhdGEoc1Byb3BlcnR5LCB2VmFsdWUpO1xuXHRcdFx0fVxuXHRcdH1cblx0fSxcblx0ZmV0Y2hQcm9wZXJ0aWVzRm9yRW50aXR5KHNFbnRpdHlTZXQ6IGFueSwgb01ldGFNb2RlbDogYW55KSB7XG5cdFx0cmV0dXJuIG9NZXRhTW9kZWwucmVxdWVzdE9iamVjdChgJHtzRW50aXR5U2V0fS9gKTtcblx0fSxcblx0ZmV0Y2hBbm5vdGF0aW9uc0ZvckVudGl0eShzRW50aXR5U2V0OiBhbnksIG9NZXRhTW9kZWw6IGFueSkge1xuXHRcdHJldHVybiBvTWV0YU1vZGVsLnJlcXVlc3RPYmplY3QoYCR7c0VudGl0eVNldH1AYCk7XG5cdH0sXG5cdGZldGNoTW9kZWwob0NvbnRyb2w6IGFueSk6IFByb21pc2U8TW9kZWw+IHtcblx0XHRyZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcblx0XHRcdGNvbnN0IHNNb2RlbE5hbWUgPSBvQ29udHJvbC5nZXREZWxlZ2F0ZSgpLnBheWxvYWQgJiYgb0NvbnRyb2wuZ2V0RGVsZWdhdGUoKS5wYXlsb2FkLm1vZGVsTmFtZSxcblx0XHRcdFx0b0NvbnRleHQgPSB7IG1vZGVsTmFtZTogc01vZGVsTmFtZSwgY29udHJvbDogb0NvbnRyb2wsIHJlc29sdmU6IHJlc29sdmUgfTtcblx0XHRcdF9yZXRyaWV2ZU1vZGVsLmNhbGwob0NvbnRleHQpO1xuXHRcdH0pO1xuXHR9LFxuXHR0ZW1wbGF0ZUNvbnRyb2xGcmFnbWVudChzRnJhZ21lbnROYW1lOiBhbnksIG9QcmVwcm9jZXNzb3JTZXR0aW5nczogYW55LCBvT3B0aW9uczogYW55LCBvTW9kaWZpZXI/OiBhbnkpIHtcblx0XHRyZXR1cm4gQ29tbW9uVXRpbHMudGVtcGxhdGVDb250cm9sRnJhZ21lbnQoc0ZyYWdtZW50TmFtZSwgb1ByZXByb2Nlc3NvclNldHRpbmdzLCBvT3B0aW9ucywgb01vZGlmaWVyKTtcblx0fSxcblx0ZG9lc1ZhbHVlSGVscEV4aXN0KG1QYXJhbWV0ZXJzOiBhbnkpIHtcblx0XHRjb25zdCBzUHJvcGVydHlOYW1lID0gbVBhcmFtZXRlcnMuc1Byb3BlcnR5TmFtZSB8fCBcIlwiO1xuXHRcdGNvbnN0IHNWYWx1ZUhlbHBUeXBlID0gbVBhcmFtZXRlcnMuc1ZhbHVlSGVscFR5cGUgfHwgXCJcIjtcblx0XHRjb25zdCBvTWV0YU1vZGVsID0gbVBhcmFtZXRlcnMub01ldGFNb2RlbDtcblx0XHRjb25zdCBvTW9kaWZpZXIgPSBtUGFyYW1ldGVycy5vTW9kaWZpZXI7XG5cdFx0Y29uc3Qgc09yaWdpbmFsUHJvcGVydHkgPSBgJHttUGFyYW1ldGVycy5zQmluZGluZ1BhdGh9LyR7c1Byb3BlcnR5TmFtZX1gO1xuXHRcdGNvbnN0IG9Qcm9wZXJ0eUNvbnRleHQgPSBvTWV0YU1vZGVsLmNyZWF0ZUJpbmRpbmdDb250ZXh0KHNPcmlnaW5hbFByb3BlcnR5KTtcblx0XHRsZXQgc1ZhbHVlSGVscFByb3BlcnR5ID0gRmllbGRIZWxwZXIudmFsdWVIZWxwUHJvcGVydHkob1Byb3BlcnR5Q29udGV4dCk7XG5cdFx0Y29uc3QgYklzQWJzb2x1dGUgPSBtUGFyYW1ldGVycy5zQmluZGluZ1BhdGggJiYgbVBhcmFtZXRlcnMuc0JpbmRpbmdQYXRoLmluZGV4T2YoXCIvXCIpID09PSAwO1xuXG5cdFx0Ly8gdW5pdC9jdXJyZW5jeVxuXHRcdGlmIChzVmFsdWVIZWxwUHJvcGVydHkuaW5jbHVkZXMoXCIkUGF0aFwiKSkge1xuXHRcdFx0c1ZhbHVlSGVscFByb3BlcnR5ID0gb01ldGFNb2RlbC5nZXRPYmplY3Qoc1ZhbHVlSGVscFByb3BlcnR5KTtcblx0XHR9XG5cdFx0aWYgKGJJc0Fic29sdXRlICYmIHNWYWx1ZUhlbHBQcm9wZXJ0eS5pbmRleE9mKFwiL1wiKSAhPT0gMCkge1xuXHRcdFx0c1ZhbHVlSGVscFByb3BlcnR5ID0gYCR7bVBhcmFtZXRlcnMuc0JpbmRpbmdQYXRofS8ke3NWYWx1ZUhlbHBQcm9wZXJ0eX1gO1xuXHRcdH1cblxuXHRcdGNvbnN0IHNHZW5lcmF0ZWRJZCA9IGdlbmVyYXRlSUQoXG5cdFx0XHRtUGFyYW1ldGVycy5mbGV4SWQsXG5cdFx0XHRnZW5lcmF0ZShbb01vZGlmaWVyID8gb01vZGlmaWVyLmdldElkKG1QYXJhbWV0ZXJzLm9Db250cm9sKSA6IG1QYXJhbWV0ZXJzLm9Db250cm9sLmdldElkKCksIHNWYWx1ZUhlbHBUeXBlXSksXG5cdFx0XHRnZXRSZWxhdGl2ZVByb3BlcnR5UGF0aChvUHJvcGVydHlDb250ZXh0LmdldFByb3BlcnR5KHNPcmlnaW5hbFByb3BlcnR5KSwge1xuXHRcdFx0XHRjb250ZXh0OiB7XG5cdFx0XHRcdFx0Z2V0TW9kZWw6ICgpID0+IHtcblx0XHRcdFx0XHRcdHJldHVybiBtUGFyYW1ldGVycy5vTWV0YU1vZGVsO1xuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0Z2V0UGF0aDogKCkgPT4ge1xuXHRcdFx0XHRcdFx0cmV0dXJuIHNPcmlnaW5hbFByb3BlcnR5O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSBhcyBhbnlcblx0XHRcdH0pLFxuXHRcdFx0Z2V0UmVsYXRpdmVQcm9wZXJ0eVBhdGgob1Byb3BlcnR5Q29udGV4dC5nZXRQcm9wZXJ0eShzVmFsdWVIZWxwUHJvcGVydHkpLCB7XG5cdFx0XHRcdGNvbnRleHQ6IHtcblx0XHRcdFx0XHRnZXRNb2RlbDogKCkgPT4ge1xuXHRcdFx0XHRcdFx0cmV0dXJuIG1QYXJhbWV0ZXJzLm9NZXRhTW9kZWw7XG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRnZXRQYXRoOiAoKSA9PiB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gc1ZhbHVlSGVscFByb3BlcnR5O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSBhcyBhbnlcblx0XHRcdH0pXG5cdFx0KTtcblxuXHRcdHJldHVybiBQcm9taXNlLnJlc29sdmUoKVxuXHRcdFx0LnRoZW4oZnVuY3Rpb24gKCkge1xuXHRcdFx0XHRpZiAob01vZGlmaWVyKSB7XG5cdFx0XHRcdFx0cmV0dXJuIG9Nb2RpZmllci5nZXRBZ2dyZWdhdGlvbihtUGFyYW1ldGVycy5vQ29udHJvbCwgXCJkZXBlbmRlbnRzXCIpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiBtUGFyYW1ldGVycy5vQ29udHJvbC5nZXRBZ2dyZWdhdGlvbihcImRlcGVuZGVudHNcIik7XG5cdFx0XHR9KVxuXHRcdFx0LnRoZW4oZnVuY3Rpb24gKGFEZXBlbmRlbnRzOiBhbnkpIHtcblx0XHRcdFx0cmV0dXJuIChcblx0XHRcdFx0XHRhRGVwZW5kZW50cyAmJlxuXHRcdFx0XHRcdGFEZXBlbmRlbnRzLnNvbWUoZnVuY3Rpb24gKG9EZXBlbmRlbnQ6IFVJNUVsZW1lbnQpIHtcblx0XHRcdFx0XHRcdHJldHVybiBvTW9kaWZpZXIgPyBvTW9kaWZpZXIuZ2V0SWQob0RlcGVuZGVudCkgPT09IHNHZW5lcmF0ZWRJZCA6IG9EZXBlbmRlbnQuZ2V0SWQoKSA9PT0gc0dlbmVyYXRlZElkO1xuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdCk7XG5cdFx0XHR9KTtcblx0fSxcblx0aXNWYWx1ZUhlbHBSZXF1aXJlZChtUGFyYW1ldGVyczogYW55LCBiSW5GaWx0ZXJGaWVsZD86IGJvb2xlYW4pIHtcblx0XHRjb25zdCBzUHJvcGVydHlOYW1lID0gbVBhcmFtZXRlcnMuc1Byb3BlcnR5TmFtZSB8fCBcIlwiLFxuXHRcdFx0b01ldGFNb2RlbCA9IG1QYXJhbWV0ZXJzLm9NZXRhTW9kZWwsXG5cdFx0XHRzUHJvcGVydHkgPSBgJHttUGFyYW1ldGVycy5zQmluZGluZ1BhdGh9LyR7c1Byb3BlcnR5TmFtZX1gLFxuXHRcdFx0b1Byb3BlcnR5Q29udGV4dCA9IG9NZXRhTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQoc1Byb3BlcnR5KSxcblx0XHRcdHNWYWx1ZUhlbHBQcm9wZXJ0eSA9IEZpZWxkSGVscGVyLnZhbHVlSGVscFByb3BlcnR5KG9Qcm9wZXJ0eUNvbnRleHQsIGJJbkZpbHRlckZpZWxkKTtcblxuXHRcdHJldHVybiB0aGlzLmdldEN1c3RvbURhdGEobVBhcmFtZXRlcnMub0NvbnRyb2wsIFwiZGlzcGxheU1vZGVQcm9wZXJ0eUJpbmRpbmdcIiwgbVBhcmFtZXRlcnMub01vZGlmaWVyKVxuXHRcdFx0LnRoZW4oZnVuY3Rpb24gKGJSZWFkT25seTogYW55KSB7XG5cdFx0XHRcdC8vIENoZWNrIHdoZXRoZXIgdGhlIGNvbnRyb2wgaXMgcmVhZC1vbmx5LiBJZiB5ZXMsIG5vIG5lZWQgb2YgYSB2YWx1ZSBoZWxwLlxuXHRcdFx0XHRiUmVhZE9ubHkgPSB0eXBlb2YgYlJlYWRPbmx5ID09PSBcImJvb2xlYW5cIiA/IGJSZWFkT25seSA6IGJSZWFkT25seSA9PT0gXCJ0cnVlXCI7XG5cdFx0XHRcdGlmIChiUmVhZE9ubHkpIHtcblx0XHRcdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0XHRcdH1cblx0XHRcdFx0Ly8gRWxzZSwgY2hlY2sgd2hldGhlciBWYWx1ZSBIZWxwIHJlbGV2YW50IGFubm90YXRpb24gZXhpc3RzIGZvciB0aGUgcHJvcGVydHkuXG5cdFx0XHRcdC8vIFRPRE8gdXNlIFByb3BlcnR5Rm9ybWF0dGVyLmhhc1ZhbHVlSGVscCAoKSA9PiBpZiBkb2luZyBzbywgUVVuaXQgdGVzdHMgZmFpbCBkdWUgdG8gbW9ja2VkIG1vZGVsIGltcGxlbWVudGF0aW9uXG5cdFx0XHRcdHJldHVybiBQcm9taXNlLmFsbChbXG5cdFx0XHRcdFx0b01ldGFNb2RlbC5yZXF1ZXN0T2JqZWN0KGAke3NWYWx1ZUhlbHBQcm9wZXJ0eX1AY29tLnNhcC52b2NhYnVsYXJpZXMuQ29tbW9uLnYxLlZhbHVlTGlzdFdpdGhGaXhlZFZhbHVlc2ApLFxuXHRcdFx0XHRcdG9NZXRhTW9kZWwucmVxdWVzdE9iamVjdChgJHtzVmFsdWVIZWxwUHJvcGVydHl9QGNvbS5zYXAudm9jYWJ1bGFyaWVzLkNvbW1vbi52MS5WYWx1ZUxpc3RSZWZlcmVuY2VzYCksXG5cdFx0XHRcdFx0b01ldGFNb2RlbC5yZXF1ZXN0T2JqZWN0KGAke3NWYWx1ZUhlbHBQcm9wZXJ0eX1AY29tLnNhcC52b2NhYnVsYXJpZXMuQ29tbW9uLnYxLlZhbHVlTGlzdE1hcHBpbmdgKSxcblx0XHRcdFx0XHRvTWV0YU1vZGVsLnJlcXVlc3RPYmplY3QoYCR7c1ZhbHVlSGVscFByb3BlcnR5fUBjb20uc2FwLnZvY2FidWxhcmllcy5Db21tb24udjEuVmFsdWVMaXN0YClcblx0XHRcdFx0XSk7XG5cdFx0XHR9KVxuXHRcdFx0LnRoZW4oZnVuY3Rpb24gKGFSZXN1bHRzOiBhbnlbXSkge1xuXHRcdFx0XHRyZXR1cm4gISFhUmVzdWx0c1swXSB8fCAhIWFSZXN1bHRzWzFdIHx8ICEhYVJlc3VsdHNbMl0gfHwgISFhUmVzdWx0c1szXTtcblx0XHRcdH0pXG5cdFx0XHQuY2F0Y2goZnVuY3Rpb24gKG9FcnJvcjogYW55KSB7XG5cdFx0XHRcdExvZy53YXJuaW5nKFwiRXJyb3Igd2hpbGUgcmV0cmlldmluZyBjdXN0b20gZGF0YSAvIHZhbHVlIGxpc3QgYW5ub3RhdGlvbiB2YWx1ZXNcIiwgb0Vycm9yKTtcblx0XHRcdH0pO1xuXHR9LFxuXHRpc011bHRpVmFsdWUob1Byb3BlcnR5OiBhbnkpIHtcblx0XHRsZXQgYklzTXVsdGlWYWx1ZSA9IHRydWU7XG5cdFx0Ly9TaW5nbGVWYWx1ZSB8IE11bHRpVmFsdWUgfCBTaW5nbGVSYW5nZSB8IE11bHRpUmFuZ2UgfCBTZWFyY2hFeHByZXNzaW9uIHwgTXVsdGlSYW5nZU9yU2VhcmNoRXhwcmVzc2lvblxuXHRcdHN3aXRjaCAob1Byb3BlcnR5LmZpbHRlckV4cHJlc3Npb24pIHtcblx0XHRcdGNhc2UgXCJTZWFyY2hFeHByZXNzaW9uXCI6XG5cdFx0XHRjYXNlIFwiU2luZ2xlUmFuZ2VcIjpcblx0XHRcdGNhc2UgXCJTaW5nbGVWYWx1ZVwiOlxuXHRcdFx0XHRiSXNNdWx0aVZhbHVlID0gZmFsc2U7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0YnJlYWs7XG5cdFx0fVxuXHRcdGlmIChvUHJvcGVydHkudHlwZSAmJiBvUHJvcGVydHkudHlwZS5pbmRleE9mKFwiQm9vbGVhblwiKSA+IDApIHtcblx0XHRcdGJJc011bHRpVmFsdWUgPSBmYWxzZTtcblx0XHR9XG5cdFx0cmV0dXJuIGJJc011bHRpVmFsdWU7XG5cdH1cbn07XG5leHBvcnQgZGVmYXVsdCBEZWxlZ2F0ZVV0aWw7XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7RUFrQkEsTUFBTUEsWUFBWSxHQUFHLGtFQUFrRTtFQXdEdkYsU0FBU0MsY0FBYyxHQUErRDtJQUNyRixJQUFJLENBQUNDLE9BQU8sQ0FBQ0Msd0JBQXdCLENBQUNGLGNBQWMsRUFBRSxJQUFJLENBQUM7SUFDM0QsTUFBTUcsVUFBVSxHQUFHLElBQUksQ0FBQ0MsU0FBUztNQUNoQ0MsTUFBTSxHQUFHLElBQUksQ0FBQ0osT0FBTyxDQUFDSyxRQUFRLENBQUNILFVBQVUsQ0FBQztJQUUzQyxJQUFJRSxNQUFNLEVBQUU7TUFDWCxJQUFJLENBQUNFLE9BQU8sQ0FBQ0YsTUFBTSxDQUFDO0lBQ3JCLENBQUMsTUFBTTtNQUNOLElBQUksQ0FBQ0os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
|
|
212
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOU19NQUNST0RBVEEiLCJfcmV0cmlldmVNb2RlbCIsImNvbnRyb2wiLCJkZXRhY2hNb2RlbENvbnRleHRDaGFuZ2UiLCJzTW9kZWxOYW1lIiwibW9kZWxOYW1lIiwib01vZGVsIiwiZ2V0TW9kZWwiLCJyZXNvbHZlIiwiYXR0YWNoTW9kZWxDb250ZXh0Q2hhbmdlIiwiZ2V0Q3VzdG9tRGF0YVdpdGhNb2RpZmllciIsIm9Db250cm9sIiwic1Byb3BlcnR5Iiwib01vZGlmaWVyIiwiYUN1c3RvbURhdGEiLCJhUmV0cmlldmVkQ3VzdG9tRGF0YSIsIlByb21pc2UiLCJ0aGVuIiwiZ2V0QWdncmVnYXRpb24iLCJiaW5kIiwib1Byb21pc2UiLCJyZWR1Y2UiLCJvUHJldmlvdXNQcm9taXNlIiwib0N1c3RvbURhdGEiLCJnZXRQcm9wZXJ0eSIsInNLZXkiLCJwdXNoIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiRGVsZWdhdGVVdGlsIiwiRkVUQ0hFRF9QUk9QRVJUSUVTX0RBVEFfS0VZIiwic2V0Q2FjaGVkUHJvcGVydGllcyIsImZldGNoZWRQcm9wZXJ0aWVzIiwid2luZG93IiwiRWxlbWVudCIsImtleSIsInNldEN1c3RvbURhdGEiLCJnZXRDYWNoZWRQcm9wZXJ0aWVzIiwiZ2V0Q3VzdG9tRGF0YSIsImdldEF0dHJpYnV0ZU5TIiwiZGF0YSIsIkZ1bmN0aW9uIiwidlZhbHVlIiwic2V0QXR0cmlidXRlTlMiLCJmZXRjaFByb3BlcnRpZXNGb3JFbnRpdHkiLCJzRW50aXR5U2V0Iiwib01ldGFNb2RlbCIsInJlcXVlc3RPYmplY3QiLCJmZXRjaEFubm90YXRpb25zRm9yRW50aXR5IiwiZmV0Y2hNb2RlbCIsImdldERlbGVnYXRlIiwicGF5bG9hZCIsIm9Db250ZXh0IiwiY2FsbCIsInRlbXBsYXRlQ29udHJvbEZyYWdtZW50Iiwic0ZyYWdtZW50TmFtZSIsIm9QcmVwcm9jZXNzb3JTZXR0aW5ncyIsIm9PcHRpb25zIiwiQ29tbW9uVXRpbHMiLCJkb2VzVmFsdWVIZWxwRXhpc3QiLCJtUGFyYW1ldGVycyIsInNQcm9wZXJ0eU5hbWUiLCJzVmFsdWVIZWxwVHlwZSIsInNPcmlnaW5hbFByb3BlcnR5Iiwic0JpbmRpbmdQYXRoIiwib1Byb3BlcnR5Q29udGV4dCIsImNyZWF0ZUJpbmRpbmdDb250ZXh0Iiwic1ZhbHVlSGVscFByb3BlcnR5IiwiRmllbGRIZWxwZXIiLCJ2YWx1ZUhlbHBQcm9wZXJ0eSIsImJJc0Fic29sdXRlIiwiaW5kZXhPZiIsImluY2x1ZGVzIiwiZ2V0T2JqZWN0Iiwic0dlbmVyYXRlZElkIiwiZ2VuZXJhdGVJRCIsImZsZXhJZCIsImdlbmVyYXRlIiwiZ2V0SWQiLCJnZXRSZWxhdGl2ZVByb3BlcnR5UGF0aCIsImNvbnRleHQiLCJnZXRQYXRoIiwiYURlcGVuZGVudHMiLCJvRGVwZW5kZW50IiwiaXNBIiwiZ2V0Q29udGVudCIsImlzVmFsdWVIZWxwUmVxdWlyZWQiLCJiSW5GaWx0ZXJGaWVsZCIsImJSZWFkT25seSIsImFsbCIsImFSZXN1bHRzIiwiY2F0Y2giLCJvRXJyb3IiLCJMb2ciLCJ3YXJuaW5nIiwiaXNNdWx0aVZhbHVlIiwib1Byb3BlcnR5IiwiYklzTXVsdGlWYWx1ZSIsImZpbHRlckV4cHJlc3Npb24iLCJ0eXBlIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJEZWxlZ2F0ZVV0aWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExvZyBmcm9tIFwic2FwL2Jhc2UvTG9nXCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgdHlwZSB7XG5cdENvbHVtbkV4cG9ydFNldHRpbmdzLFxuXHRDdXN0b21CYXNlZFRhYmxlQ29sdW1uLFxuXHRFeHRlbnNpb25Gb3JBbmFseXRpY3MsXG5cdFByb3BlcnR5VHlwZUNvbmZpZyxcblx0VmlzdWFsU2V0dGluZ3Ncbn0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvY29udHJvbHMvQ29tbW9uL1RhYmxlXCI7XG5pbXBvcnQgdHlwZSB7IEN1c3RvbUVsZW1lbnQgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9oZWxwZXJzL0NvbmZpZ3VyYWJsZU9iamVjdFwiO1xuaW1wb3J0IHsgZ2VuZXJhdGUgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9TdGFibGVJZEhlbHBlclwiO1xuaW1wb3J0IHR5cGUgeyBEaXNwbGF5TW9kZSB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL0Rpc3BsYXlNb2RlRm9ybWF0dGVyXCI7XG5pbXBvcnQgeyBnZXRSZWxhdGl2ZVByb3BlcnR5UGF0aCB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL1Byb3BlcnR5Rm9ybWF0dGVyc1wiO1xuaW1wb3J0IEZpZWxkSGVscGVyIGZyb20gXCJzYXAvZmUvbWFjcm9zL2ZpZWxkL0ZpZWxkSGVscGVyXCI7XG5pbXBvcnQgeyBnZW5lcmF0ZUlEIH0gZnJvbSBcInNhcC9mZS9tYWNyb3MvaW50ZXJuYWwvdmFsdWVoZWxwL1ZhbHVlSGVscFRlbXBsYXRpbmdcIjtcbmltcG9ydCB0eXBlIFZhbHVlSGVscCBmcm9tIFwic2FwL2ZlL21hY3Jvcy92YWx1ZWhlbHAvVmFsdWVIZWxwXCI7XG5pbXBvcnQgdHlwZSBVSTVFbGVtZW50IGZyb20gXCJzYXAvdWkvY29yZS9FbGVtZW50XCI7XG5pbXBvcnQgdHlwZSBNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL01vZGVsXCI7XG5cbmNvbnN0IE5TX01BQ1JPREFUQSA9IFwiaHR0cDovL3NjaGVtYXMuc2FwLmNvbS9zYXB1aTUvZXh0ZW5zaW9uL3NhcC51aS5jb3JlLkN1c3RvbURhdGEvMVwiO1xuXG5leHBvcnQgdHlwZSB0YWJsZURlbGVnYXRlTW9kZWwgPSB7XG5cdGVuYWJsZUF1dG9Db2x1bW5XaWR0aDogYm9vbGVhbjtcblx0cmVhZE9ubHk6IGJvb2xlYW47XG5cdHRhYmxlVHlwZTogc3RyaW5nO1xuXHRvbkNoYW5nZTogRnVuY3Rpb247XG5cdGlkOiBzdHJpbmc7XG5cdG5hdmlnYXRpb25Qcm9wZXJ0eVBhdGg6IHN0cmluZztcblx0Y29sdW1uSW5mbzogQ3VzdG9tRWxlbWVudDxDdXN0b21CYXNlZFRhYmxlQ29sdW1uPjtcblx0Y29sbGVjdGlvbjoge1xuXHRcdHNQYXRoOiBzdHJpbmc7XG5cdFx0b01vZGVsOiBzdHJpbmc7XG5cdH07XG5cdHdpZHRoSW5jbHVkaW5nQ29sdW1uSGVhZGVyOiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgUHJvcGVydHlJbmZvID0ge1xuXHRhZGRpdGlvbmFsTGFiZWxzPzogc3RyaW5nW107XG5cdGNhc2VTZW5zaXRpdmU/OiBib29sZWFuO1xuXHRkZXNjcmlwdGlvbj86IHN0cmluZztcblx0ZGVzY3JpcHRpb25Qcm9wZXJ0eT86IHN0cmluZztcblx0ZXhwb3J0U2V0dGluZ3M/OiBDb2x1bW5FeHBvcnRTZXR0aW5ncyB8IG51bGw7XG5cdGNsaXBib2FyZFNldHRpbmdzPzogT2JqZWN0IHwgbnVsbDtcblx0Zm9ybWF0T3B0aW9ucz86IE9iamVjdCB8IG51bGw7XG5cdGZpbHRlcmFibGU/OiBib29sZWFuO1xuXHRncm91cD86IHN0cmluZztcblx0Z3JvdXBhYmxlPzogYm9vbGVhbjtcblx0Z3JvdXBMYWJlbD86IHN0cmluZztcblx0aXNLZXk/OiBib29sZWFuO1xuXHRsYWJlbD86IHN0cmluZztcblx0bWF4Q29uZGl0aW9ucz86IG51bWJlcjtcblx0bWV0YWRhdGFQYXRoPzogc3RyaW5nO1xuXHRtb2RlPzogRGlzcGxheU1vZGU7XG5cdG5hbWU6IHN0cmluZztcblx0a2V5Pzogc3RyaW5nO1xuXHRwYXRoPzogc3RyaW5nO1xuXHRwcm9wZXJ0eUluZm9zPzogc3RyaW5nW107XG5cdHJlbGF0aXZlUGF0aD86IHN0cmluZztcblx0c29ydGFibGU/OiBib29sZWFuO1xuXHRzb3J0RGlyZWN0aW9uPzogc3RyaW5nO1xuXHR0ZXh0Pzogc3RyaW5nO1xuXHR0b29sdGlwPzogc3RyaW5nO1xuXHR0eXBlQ29uZmlnPzogUHJvcGVydHlUeXBlQ29uZmlnO1xuXHR0eXBlPzogc3RyaW5nO1xuXHR1bml0Pzogc3RyaW5nO1xuXHR2YWx1ZVByb3BlcnR5Pzogc3RyaW5nO1xuXHR2aXNpYmxlPzogYm9vbGVhbjtcblx0dmlzdWFsU2V0dGluZ3M/OiBWaXN1YWxTZXR0aW5ncztcblx0ZXhwb3J0RGF0YVBvaW50VGFyZ2V0VmFsdWU/OiBzdHJpbmc7XG5cdGlzUGFyYW1ldGVyPzogYm9vbGVhbjtcblx0YWdncmVnYXRhYmxlPzogYm9vbGVhbjtcblx0cmVxdWlyZWQ/OiBib29sZWFuO1xuXHRleHRlbnNpb24/OiBFeHRlbnNpb25Gb3JBbmFseXRpY3M7XG59O1xuXG5mdW5jdGlvbiBfcmV0cmlldmVNb2RlbCh0aGlzOiB7IG1vZGVsTmFtZTogc3RyaW5nOyBjb250cm9sOiBhbnk7IHJlc29sdmU6IEZ1bmN0aW9uIH0pIHtcblx0dGhpcy5jb250cm9sLmRldGFjaE1vZGVsQ29udGV4dENoYW5nZShfcmV0cmlldmVNb2RlbCwgdGhpcyk7XG5cdGNvbnN0IHNNb2RlbE5hbWUgPSB0aGlzLm1vZGVsTmFtZSxcblx0XHRvTW9kZWwgPSB0aGlzLmNvbnRyb2wuZ2V0TW9kZWwoc01vZGVsTmFtZSk7XG5cblx0aWYgKG9Nb2RlbCkge1xuXHRcdHRoaXMucmVzb2x2ZShvTW9kZWwpO1xuXHR9IGVsc2Uge1xuXHRcdHRoaXMuY29udHJvbC5hdHRhY2hNb2RlbENvbnRleHRDaGFuZ2UoX3JldHJpZXZlTW9kZWwsIHRoaXMpO1xuXHR9XG59XG5hc3luYyBmdW5jdGlvbiBnZXRDdXN0b21EYXRhV2l0aE1vZGlmaWVyKG9Db250cm9sOiBhbnksIHNQcm9wZXJ0eTogYW55LCBvTW9kaWZpZXI6IGFueSkge1xuXHRjb25zdCBhQ3VzdG9tRGF0YTogYW55W10gPSBbXTtcblxuXHRjb25zdCBhUmV0cmlldmVkQ3VzdG9tRGF0YSA9IGF3YWl0IFByb21pc2UucmVzb2x2ZSgpLnRoZW4oXG5cdFx0b01vZGlmaWVyLmdldEFnZ3JlZ2F0aW9uLmJpbmQob01vZGlmaWVyLCBvQ29udHJvbCwgXCJjdXN0b21EYXRhXCIpIGFzICgpID0+IGFueVtdXG5cdCk7XG5cblx0Y29uc3Qgb1Byb21pc2UgPSBhUmV0cmlldmVkQ3VzdG9tRGF0YS5yZWR1Y2UoKG9QcmV2aW91c1Byb21pc2U6IFByb21pc2U8dm9pZD4sIG9DdXN0b21EYXRhKSA9PiB7XG5cdFx0cmV0dXJuIG9QcmV2aW91c1Byb21pc2UudGhlbihvTW9kaWZpZXIuZ2V0UHJvcGVydHkuYmluZChvTW9kaWZpZXIsIG9DdXN0b21EYXRhLCBcImtleVwiKSkudGhlbihmdW5jdGlvbiAoc0tleTogYW55KSB7XG5cdFx0XHRpZiAoc0tleSA9PT0gc1Byb3BlcnR5KSB7XG5cdFx0XHRcdGFDdXN0b21EYXRhLnB1c2gob0N1c3RvbURhdGEpO1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuO1xuXHRcdH0pO1xuXHR9LCBQcm9taXNlLnJlc29sdmUoKSk7XG5cdGF3YWl0IG9Qcm9taXNlO1xuXG5cdGlmIChhQ3VzdG9tRGF0YS5sZW5ndGggPT09IDEpIHtcblx0XHRyZXR1cm4gb01vZGlmaWVyLmdldFByb3BlcnR5KGFDdXN0b21EYXRhWzBdLCBcInZhbHVlXCIpO1xuXHR9IGVsc2Uge1xuXHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdH1cbn1cblxuY29uc3QgRGVsZWdhdGVVdGlsID0ge1xuXHRGRVRDSEVEX1BST1BFUlRJRVNfREFUQV9LRVk6IFwic2FwX2ZlX0NvbnRyb2xEZWxlZ2F0ZV9wcm9wZXJ0eUluZm9NYXBcIixcblx0c2V0Q2FjaGVkUHJvcGVydGllcyhjb250cm9sOiBhbnksIGZldGNoZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eUluZm9bXSkge1xuXHRcdC8vIGRvIG5vdCBjYWNoZSBkdXJpbmcgdGVtcGxhdGluZywgZWxzZSBpdCBiZWNvbWVzIHBhcnQgb2YgdGhlIGNhY2hlZCB2aWV3XG5cdFx0aWYgKGNvbnRyb2wgaW5zdGFuY2VvZiB3aW5kb3cuRWxlbWVudCkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRjb25zdCBrZXkgPSBEZWxlZ2F0ZVV0aWwuRkVUQ0hFRF9QUk9QRVJUSUVTX0RBVEFfS0VZO1xuXHRcdERlbGVnYXRlVXRpbC5zZXRDdXN0b21EYXRhKGNvbnRyb2wsIGtleSwgZmV0Y2hlZFByb3BlcnRpZXMpO1xuXHR9LFxuXHRnZXRDYWNoZWRQcm9wZXJ0aWVzKGNvbnRyb2w6IGFueSk6IFByb3BlcnR5SW5mb1tdIHwgbnVsbCB7XG5cdFx0Ly8gcHJvcGVydGllcyBhcmUgbm90IGNhY2hlZCBkdXJpbmcgdGVtcGxhdGluZ1xuXHRcdGlmIChjb250cm9sIGluc3RhbmNlb2Ygd2luZG93LkVsZW1lbnQpIHtcblx0XHRcdHJldHVybiBudWxsO1xuXHRcdH1cblx0XHRjb25zdCBrZXkgPSBEZWxlZ2F0ZVV0aWwuRkVUQ0hFRF9QUk9QRVJUSUVTX0RBVEFfS0VZO1xuXHRcdHJldHVybiBEZWxlZ2F0ZVV0aWwuZ2V0Q3VzdG9tRGF0YShjb250cm9sLCBrZXkpO1xuXHR9LFxuXG5cdGdldEN1c3RvbURhdGEob0NvbnRyb2w6IGFueSwgc1Byb3BlcnR5OiBhbnksIG9Nb2RpZmllcj86IGFueSkge1xuXHRcdC8vIElmIE1vZGlmaWVyIGlzIGdpdmVuLCB0aGUgbWV0aG9kIG11c3QgZXhlY3V0ZSBhc3luY2hyb25vdXNseSBhbmQgcmV0dXJuIGEgUHJvbWlzZVxuXHRcdGlmIChvTW9kaWZpZXIpIHtcblx0XHRcdHJldHVybiBnZXRDdXN0b21EYXRhV2l0aE1vZGlmaWVyKG9Db250cm9sLCBzUHJvcGVydHksIG9Nb2RpZmllcik7XG5cdFx0fSBlbHNlIHtcblx0XHRcdC8vIERlbGVnYXRlIGludm9rZWQgZnJvbSBhIG5vbi1mbGV4IGNoYW5nZSAtIEZpbHRlckJhckRlbGVnYXRlLl9hZGRQMTNuSXRlbSBmb3IgT1AgdGFibGUgZmlsdGVyaW5nLCBGaWx0ZXJCYXJEZWxlZ2F0ZS5mZXRjaFByb3BlcnRpZXMgZXRjLlxuXHRcdFx0aWYgKG9Db250cm9sICYmIHNQcm9wZXJ0eSkge1xuXHRcdFx0XHRpZiAob0NvbnRyb2wgaW5zdGFuY2VvZiB3aW5kb3cuRWxlbWVudCkge1xuXHRcdFx0XHRcdHJldHVybiBvQ29udHJvbC5nZXRBdHRyaWJ1dGVOUyhOU19NQUNST0RBVEEsIHNQcm9wZXJ0eSk7XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKG9Db250cm9sLmRhdGEgaW5zdGFuY2VvZiBGdW5jdGlvbikge1xuXHRcdFx0XHRcdHJldHVybiBvQ29udHJvbC5kYXRhKHNQcm9wZXJ0eSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdFx0fVxuXHR9LFxuXHRzZXRDdXN0b21EYXRhKG9Db250cm9sOiBhbnksIHNQcm9wZXJ0eTogYW55LCB2VmFsdWU6IGFueSkge1xuXHRcdGlmIChvQ29udHJvbCAmJiBzUHJvcGVydHkpIHtcblx0XHRcdGlmIChvQ29udHJvbCBpbnN0YW5jZW9mIHdpbmRvdy5FbGVtZW50KSB7XG5cdFx0XHRcdHJldHVybiBvQ29udHJvbC5zZXRBdHRyaWJ1dGVOUyhOU19NQUNST0RBVEEsIGBjdXN0b21EYXRhOiR7c1Byb3BlcnR5fWAsIHZWYWx1ZSk7XG5cdFx0XHR9XG5cdFx0XHRpZiAob0NvbnRyb2wuZGF0YSBpbnN0YW5jZW9mIEZ1bmN0aW9uKSB7XG5cdFx0XHRcdHJldHVybiBvQ29udHJvbC5kYXRhKHNQcm9wZXJ0eSwgdlZhbHVlKTtcblx0XHRcdH1cblx0XHR9XG5cdH0sXG5cdGZldGNoUHJvcGVydGllc0ZvckVudGl0eShzRW50aXR5U2V0OiBhbnksIG9NZXRhTW9kZWw6IGFueSkge1xuXHRcdHJldHVybiBvTWV0YU1vZGVsLnJlcXVlc3RPYmplY3QoYCR7c0VudGl0eVNldH0vYCk7XG5cdH0sXG5cdGZldGNoQW5ub3RhdGlvbnNGb3JFbnRpdHkoc0VudGl0eVNldDogYW55LCBvTWV0YU1vZGVsOiBhbnkpIHtcblx0XHRyZXR1cm4gb01ldGFNb2RlbC5yZXF1ZXN0T2JqZWN0KGAke3NFbnRpdHlTZXR9QGApO1xuXHR9LFxuXHRmZXRjaE1vZGVsKG9Db250cm9sOiBhbnkpOiBQcm9taXNlPE1vZGVsPiB7XG5cdFx0cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG5cdFx0XHRjb25zdCBzTW9kZWxOYW1lID0gb0NvbnRyb2wuZ2V0RGVsZWdhdGUoKS5wYXlsb2FkICYmIG9Db250cm9sLmdldERlbGVnYXRlKCkucGF5bG9hZC5tb2RlbE5hbWUsXG5cdFx0XHRcdG9Db250ZXh0ID0geyBtb2RlbE5hbWU6IHNNb2RlbE5hbWUsIGNvbnRyb2w6IG9Db250cm9sLCByZXNvbHZlOiByZXNvbHZlIH07XG5cdFx0XHRfcmV0cmlldmVNb2RlbC5jYWxsKG9Db250ZXh0KTtcblx0XHR9KTtcblx0fSxcblx0dGVtcGxhdGVDb250cm9sRnJhZ21lbnQoc0ZyYWdtZW50TmFtZTogYW55LCBvUHJlcHJvY2Vzc29yU2V0dGluZ3M6IGFueSwgb09wdGlvbnM6IGFueSwgb01vZGlmaWVyPzogYW55KSB7XG5cdFx0cmV0dXJuIENvbW1vblV0aWxzLnRlbXBsYXRlQ29udHJvbEZyYWdtZW50KHNGcmFnbWVudE5hbWUsIG9QcmVwcm9jZXNzb3JTZXR0aW5ncywgb09wdGlvbnMsIG9Nb2RpZmllcik7XG5cdH0sXG5cdGRvZXNWYWx1ZUhlbHBFeGlzdChtUGFyYW1ldGVyczogYW55KSB7XG5cdFx0Y29uc3Qgc1Byb3BlcnR5TmFtZSA9IG1QYXJhbWV0ZXJzLnNQcm9wZXJ0eU5hbWUgfHwgXCJcIjtcblx0XHRjb25zdCBzVmFsdWVIZWxwVHlwZSA9IG1QYXJhbWV0ZXJzLnNWYWx1ZUhlbHBUeXBlIHx8IFwiXCI7XG5cdFx0Y29uc3Qgb01ldGFNb2RlbCA9IG1QYXJhbWV0ZXJzLm9NZXRhTW9kZWw7XG5cdFx0Y29uc3Qgb01vZGlmaWVyID0gbVBhcmFtZXRlcnMub01vZGlmaWVyO1xuXHRcdGNvbnN0IHNPcmlnaW5hbFByb3BlcnR5ID0gYCR7bVBhcmFtZXRlcnMuc0JpbmRpbmdQYXRofS8ke3NQcm9wZXJ0eU5hbWV9YDtcblx0XHRjb25zdCBvUHJvcGVydHlDb250ZXh0ID0gb01ldGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dChzT3JpZ2luYWxQcm9wZXJ0eSk7XG5cdFx0bGV0IHNWYWx1ZUhlbHBQcm9wZXJ0eSA9IEZpZWxkSGVscGVyLnZhbHVlSGVscFByb3BlcnR5KG9Qcm9wZXJ0eUNvbnRleHQpO1xuXHRcdGNvbnN0IGJJc0Fic29sdXRlID0gbVBhcmFtZXRlcnMuc0JpbmRpbmdQYXRoICYmIG1QYXJhbWV0ZXJzLnNCaW5kaW5nUGF0aC5pbmRleE9mKFwiL1wiKSA9PT0gMDtcblxuXHRcdC8vIHVuaXQvY3VycmVuY3lcblx0XHRpZiAoc1ZhbHVlSGVscFByb3BlcnR5LmluY2x1ZGVzKFwiJFBhdGhcIikpIHtcblx0XHRcdHNWYWx1ZUhlbHBQcm9wZXJ0eSA9IG9NZXRhTW9kZWwuZ2V0T2JqZWN0KHNWYWx1ZUhlbHBQcm9wZXJ0eSk7XG5cdFx0fVxuXHRcdGlmIChiSXNBYnNvbHV0ZSAmJiBzVmFsdWVIZWxwUHJvcGVydHkuaW5kZXhPZihcIi9cIikgIT09IDApIHtcblx0XHRcdHNWYWx1ZUhlbHBQcm9wZXJ0eSA9IGAke21QYXJhbWV0ZXJzLnNCaW5kaW5nUGF0aH0vJHtzVmFsdWVIZWxwUHJvcGVydHl9YDtcblx0XHR9XG5cblx0XHRjb25zdCBzR2VuZXJhdGVkSWQgPSBnZW5lcmF0ZUlEKFxuXHRcdFx0bVBhcmFtZXRlcnMuZmxleElkLFxuXHRcdFx0Z2VuZXJhdGUoW29Nb2RpZmllciA/IG9Nb2RpZmllci5nZXRJZChtUGFyYW1ldGVycy5vQ29udHJvbCkgOiBtUGFyYW1ldGVycy5vQ29udHJvbC5nZXRJZCgpLCBzVmFsdWVIZWxwVHlwZV0pLFxuXHRcdFx0Z2V0UmVsYXRpdmVQcm9wZXJ0eVBhdGgob1Byb3BlcnR5Q29udGV4dC5nZXRQcm9wZXJ0eShzT3JpZ2luYWxQcm9wZXJ0eSksIHtcblx0XHRcdFx0Y29udGV4dDoge1xuXHRcdFx0XHRcdGdldE1vZGVsOiAoKSA9PiB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gbVBhcmFtZXRlcnMub01ldGFNb2RlbDtcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdGdldFBhdGg6ICgpID0+IHtcblx0XHRcdFx0XHRcdHJldHVybiBzT3JpZ2luYWxQcm9wZXJ0eTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0gYXMgYW55XG5cdFx0XHR9KSxcblx0XHRcdGdldFJlbGF0aXZlUHJvcGVydHlQYXRoKG9Qcm9wZXJ0eUNvbnRleHQuZ2V0UHJvcGVydHkoc1ZhbHVlSGVscFByb3BlcnR5KSwge1xuXHRcdFx0XHRjb250ZXh0OiB7XG5cdFx0XHRcdFx0Z2V0TW9kZWw6ICgpID0+IHtcblx0XHRcdFx0XHRcdHJldHVybiBtUGFyYW1ldGVycy5vTWV0YU1vZGVsO1xuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0Z2V0UGF0aDogKCkgPT4ge1xuXHRcdFx0XHRcdFx0cmV0dXJuIHNWYWx1ZUhlbHBQcm9wZXJ0eTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0gYXMgYW55XG5cdFx0XHR9KVxuXHRcdCk7XG5cblx0XHRyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKClcblx0XHRcdC50aGVuKGZ1bmN0aW9uICgpIHtcblx0XHRcdFx0aWYgKG9Nb2RpZmllcikge1xuXHRcdFx0XHRcdHJldHVybiBvTW9kaWZpZXIuZ2V0QWdncmVnYXRpb24obVBhcmFtZXRlcnMub0NvbnRyb2wsIFwiZGVwZW5kZW50c1wiKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gbVBhcmFtZXRlcnMub0NvbnRyb2wuZ2V0QWdncmVnYXRpb24oXCJkZXBlbmRlbnRzXCIpO1xuXHRcdFx0fSlcblx0XHRcdC50aGVuKGZ1bmN0aW9uIChhRGVwZW5kZW50czogVUk1RWxlbWVudFtdKSB7XG5cdFx0XHRcdGlmIChhRGVwZW5kZW50cykge1xuXHRcdFx0XHRcdGZvciAobGV0IG9EZXBlbmRlbnQgb2YgYURlcGVuZGVudHMpIHtcblx0XHRcdFx0XHRcdGlmIChvTW9kaWZpZXIpIHtcblx0XHRcdFx0XHRcdFx0aWYgKG9EZXBlbmRlbnQuaXNBPy48VmFsdWVIZWxwPihcInNhcC5mZS5tYWNyb3MudmFsdWVoZWxwLlZhbHVlSGVscFwiKSkge1xuXHRcdFx0XHRcdFx0XHRcdG9EZXBlbmRlbnQgPSBvRGVwZW5kZW50LmdldENvbnRlbnQoKSBhcyBVSTVFbGVtZW50O1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdGlmIChvRGVwZW5kZW50ICYmIG9Nb2RpZmllci5nZXRJZChvRGVwZW5kZW50KSA9PT0gc0dlbmVyYXRlZElkKSB7XG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdGlmIChvRGVwZW5kZW50LmlzQTxWYWx1ZUhlbHA+KFwic2FwLmZlLm1hY3Jvcy52YWx1ZWhlbHAuVmFsdWVIZWxwXCIpKSB7XG5cdFx0XHRcdFx0XHRcdFx0b0RlcGVuZGVudCA9IG9EZXBlbmRlbnQuZ2V0Q29udGVudCgpIGFzIFVJNUVsZW1lbnQ7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0aWYgKG9EZXBlbmRlbnQ/LmdldElkKCkgPT09IHNHZW5lcmF0ZWRJZCkge1xuXHRcdFx0XHRcdFx0XHRcdHJldHVybiB0cnVlO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiBmYWxzZTtcblx0XHRcdH0pO1xuXHR9LFxuXHRpc1ZhbHVlSGVscFJlcXVpcmVkKG1QYXJhbWV0ZXJzOiBhbnksIGJJbkZpbHRlckZpZWxkPzogYm9vbGVhbikge1xuXHRcdGNvbnN0IHNQcm9wZXJ0eU5hbWUgPSBtUGFyYW1ldGVycy5zUHJvcGVydHlOYW1lIHx8IFwiXCIsXG5cdFx0XHRvTWV0YU1vZGVsID0gbVBhcmFtZXRlcnMub01ldGFNb2RlbCxcblx0XHRcdHNQcm9wZXJ0eSA9IGAke21QYXJhbWV0ZXJzLnNCaW5kaW5nUGF0aH0vJHtzUHJvcGVydHlOYW1lfWAsXG5cdFx0XHRvUHJvcGVydHlDb250ZXh0ID0gb01ldGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dChzUHJvcGVydHkpLFxuXHRcdFx0c1ZhbHVlSGVscFByb3BlcnR5ID0gRmllbGRIZWxwZXIudmFsdWVIZWxwUHJvcGVydHkob1Byb3BlcnR5Q29udGV4dCwgYkluRmlsdGVyRmllbGQpO1xuXG5cdFx0cmV0dXJuIHRoaXMuZ2V0Q3VzdG9tRGF0YShtUGFyYW1ldGVycy5vQ29udHJvbCwgXCJkaXNwbGF5TW9kZVByb3BlcnR5QmluZGluZ1wiLCBtUGFyYW1ldGVycy5vTW9kaWZpZXIpXG5cdFx0XHQudGhlbihmdW5jdGlvbiAoYlJlYWRPbmx5OiBhbnkpIHtcblx0XHRcdFx0Ly8gQ2hlY2sgd2hldGhlciB0aGUgY29udHJvbCBpcyByZWFkLW9ubHkuIElmIHllcywgbm8gbmVlZCBvZiBhIHZhbHVlIGhlbHAuXG5cdFx0XHRcdGJSZWFkT25seSA9IHR5cGVvZiBiUmVhZE9ubHkgPT09IFwiYm9vbGVhblwiID8gYlJlYWRPbmx5IDogYlJlYWRPbmx5ID09PSBcInRydWVcIjtcblx0XHRcdFx0aWYgKGJSZWFkT25seSkge1xuXHRcdFx0XHRcdHJldHVybiBmYWxzZTtcblx0XHRcdFx0fVxuXHRcdFx0XHQvLyBFbHNlLCBjaGVjayB3aGV0aGVyIFZhbHVlIEhlbHAgcmVsZXZhbnQgYW5ub3RhdGlvbiBleGlzdHMgZm9yIHRoZSBwcm9wZXJ0eS5cblx0XHRcdFx0Ly8gVE9ETyB1c2UgUHJvcGVydHlGb3JtYXR0ZXIuaGFzVmFsdWVIZWxwICgpID0+IGlmIGRvaW5nIHNvLCBRVW5pdCB0ZXN0cyBmYWlsIGR1ZSB0byBtb2NrZWQgbW9kZWwgaW1wbGVtZW50YXRpb25cblx0XHRcdFx0cmV0dXJuIFByb21pc2UuYWxsKFtcblx0XHRcdFx0XHRvTWV0YU1vZGVsLnJlcXVlc3RPYmplY3QoYCR7c1ZhbHVlSGVscFByb3BlcnR5fUBjb20uc2FwLnZvY2FidWxhcmllcy5Db21tb24udjEuVmFsdWVMaXN0V2l0aEZpeGVkVmFsdWVzYCksXG5cdFx0XHRcdFx0b01ldGFNb2RlbC5yZXF1ZXN0T2JqZWN0KGAke3NWYWx1ZUhlbHBQcm9wZXJ0eX1AY29tLnNhcC52b2NhYnVsYXJpZXMuQ29tbW9uLnYxLlZhbHVlTGlzdFJlZmVyZW5jZXNgKSxcblx0XHRcdFx0XHRvTWV0YU1vZGVsLnJlcXVlc3RPYmplY3QoYCR7c1ZhbHVlSGVscFByb3BlcnR5fUBjb20uc2FwLnZvY2FidWxhcmllcy5Db21tb24udjEuVmFsdWVMaXN0TWFwcGluZ2ApLFxuXHRcdFx0XHRcdG9NZXRhTW9kZWwucmVxdWVzdE9iamVjdChgJHtzVmFsdWVIZWxwUHJvcGVydHl9QGNvbS5zYXAudm9jYWJ1bGFyaWVzLkNvbW1vbi52MS5WYWx1ZUxpc3RgKVxuXHRcdFx0XHRdKTtcblx0XHRcdH0pXG5cdFx0XHQudGhlbihmdW5jdGlvbiAoYVJlc3VsdHM6IGFueVtdKSB7XG5cdFx0XHRcdHJldHVybiAhIWFSZXN1bHRzWzBdIHx8ICEhYVJlc3VsdHNbMV0gfHwgISFhUmVzdWx0c1syXSB8fCAhIWFSZXN1bHRzWzNdO1xuXHRcdFx0fSlcblx0XHRcdC5jYXRjaChmdW5jdGlvbiAob0Vycm9yOiBhbnkpIHtcblx0XHRcdFx0TG9nLndhcm5pbmcoXCJFcnJvciB3aGlsZSByZXRyaWV2aW5nIGN1c3RvbSBkYXRhIC8gdmFsdWUgbGlzdCBhbm5vdGF0aW9uIHZhbHVlc1wiLCBvRXJyb3IpO1xuXHRcdFx0fSk7XG5cdH0sXG5cdGlzTXVsdGlWYWx1ZShvUHJvcGVydHk6IGFueSkge1xuXHRcdGxldCBiSXNNdWx0aVZhbHVlID0gdHJ1ZTtcblx0XHQvL1NpbmdsZVZhbHVlIHwgTXVsdGlWYWx1ZSB8IFNpbmdsZVJhbmdlIHwgTXVsdGlSYW5nZSB8IFNlYXJjaEV4cHJlc3Npb24gfCBNdWx0aVJhbmdlT3JTZWFyY2hFeHByZXNzaW9uXG5cdFx0c3dpdGNoIChvUHJvcGVydHkuZmlsdGVyRXhwcmVzc2lvbikge1xuXHRcdFx0Y2FzZSBcIlNlYXJjaEV4cHJlc3Npb25cIjpcblx0XHRcdGNhc2UgXCJTaW5nbGVSYW5nZVwiOlxuXHRcdFx0Y2FzZSBcIlNpbmdsZVZhbHVlXCI6XG5cdFx0XHRcdGJJc011bHRpVmFsdWUgPSBmYWxzZTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHRicmVhaztcblx0XHR9XG5cdFx0aWYgKG9Qcm9wZXJ0eS50eXBlICYmIG9Qcm9wZXJ0eS50eXBlLmluZGV4T2YoXCJCb29sZWFuXCIpID4gMCkge1xuXHRcdFx0YklzTXVsdGlWYWx1ZSA9IGZhbHNlO1xuXHRcdH1cblx0XHRyZXR1cm4gYklzTXVsdGlWYWx1ZTtcblx0fVxufTtcbmV4cG9ydCBkZWZhdWx0IERlbGVnYXRlVXRpbDtcbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTs7Ozs7OztFQW1CQSxNQUFNQSxZQUFZLEdBQUcsa0VBQWtFO0VBd0R2RixTQUFTQyxjQUFjLEdBQStEO0lBQ3JGLElBQUksQ0FBQ0MsT0FBTyxDQUFDQyx3QkFBd0IsQ0FBQ0YsY0FBYyxFQUFFLElBQUksQ0FBQztJQUMzRCxNQUFNRyxVQUFVLEdBQUcsSUFBSSxDQUFDQyxTQUFTO01BQ2hDQyxNQUFNLEdBQUcsSUFBSSxDQUFDSixPQUFPLENBQUNLLFFBQVEsQ0FBQ0gsVUFBVSxDQUFDO0lBRTNDLElBQUlFLE1BQU0sRUFBRTtNQUNYLElBQUksQ0FBQ0UsT0FBTyxDQUFDRixNQUFNLENBQUM7SUFDckIsQ0FBQyxNQUFNO01BQ04sSUFBSSxDQUFDSixPQUFPLENBQUNPLHdCQUF3QixDQUFDUixjQUFjLEVBQUUsSUFBSSxDQUFDO0lBQzVEO0VBQ0Q7RUFDQSxlQUFlUyx5QkFBeUIsQ0FBQ0MsUUFBYSxFQUFFQyxTQUFjLEVBQUVDLFNBQWMsRUFBRTtJQUN2RixNQUFNQyxXQUFrQixHQUFHLEVBQUU7SUFFN0IsTUFBTUMsb0JBQW9CLEdBQUcsTUFBTUMsT0FBTyxDQUFDUixPQUFPLEVBQUUsQ0FBQ1MsSUFBSSxDQUN4REosU0FBUyxDQUFDSyxjQUFjLENBQUNDLElBQUksQ0FBQ04sU0FBUyxFQUFFRixRQUFRLEVBQUUsWUFBWSxDQUFDLENBQ2hFO0lBRUQsTUFBTVMs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
|
|
@@ -13,6 +13,7 @@ import type { DisplayMode } from "sap/fe/core/templating/DisplayModeFormatter";
|
|
|
13
13
|
import { getRelativePropertyPath } from "sap/fe/core/templating/PropertyFormatters";
|
|
14
14
|
import FieldHelper from "sap/fe/macros/field/FieldHelper";
|
|
15
15
|
import { generateID } from "sap/fe/macros/internal/valuehelp/ValueHelpTemplating";
|
|
16
|
+
import type ValueHelp from "sap/fe/macros/valuehelp/ValueHelp";
|
|
16
17
|
import type UI5Element from "sap/ui/core/Element";
|
|
17
18
|
import type Model from "sap/ui/model/Model";
|
|
18
19
|
|
|
@@ -219,13 +220,27 @@ const DelegateUtil = {
|
|
|
219
220
|
}
|
|
220
221
|
return mParameters.oControl.getAggregation("dependents");
|
|
221
222
|
})
|
|
222
|
-
.then(function (aDependents:
|
|
223
|
-
|
|
224
|
-
aDependents
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
223
|
+
.then(function (aDependents: UI5Element[]) {
|
|
224
|
+
if (aDependents) {
|
|
225
|
+
for (let oDependent of aDependents) {
|
|
226
|
+
if (oModifier) {
|
|
227
|
+
if (oDependent.isA?.<ValueHelp>("sap.fe.macros.valuehelp.ValueHelp")) {
|
|
228
|
+
oDependent = oDependent.getContent() as UI5Element;
|
|
229
|
+
}
|
|
230
|
+
if (oDependent && oModifier.getId(oDependent) === sGeneratedId) {
|
|
231
|
+
return true;
|
|
232
|
+
}
|
|
233
|
+
} else {
|
|
234
|
+
if (oDependent.isA<ValueHelp>("sap.fe.macros.valuehelp.ValueHelp")) {
|
|
235
|
+
oDependent = oDependent.getContent() as UI5Element;
|
|
236
|
+
}
|
|
237
|
+
if (oDependent?.getId() === sGeneratedId) {
|
|
238
|
+
return true;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
return false;
|
|
229
244
|
});
|
|
230
245
|
},
|
|
231
246
|
isValueHelpRequired(mParameters: any, bInFilterField?: boolean) {
|
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
|
+
* (c) Copyright 2009-2024 SAP SE. All rights reserved
|
|
4
|
+
*/
|
|
5
|
+
sap.ui.define(["sap/base/Log", "sap/fe/base/ClassSupport", "sap/fe/core/buildingBlocks/BuildingBlockBase", "sap/fe/core/controls/CommandExecution", "sap/fe/core/converters/ManifestSettings", "sap/fe/core/converters/MetaModelConverter", "sap/fe/core/converters/annotations/DataField", "sap/fe/core/helpers/BindingHelper", "sap/fe/core/helpers/BindingToolkit", "sap/fe/core/helpers/FPMHelper", "sap/fe/core/helpers/ModelHelper", "sap/fe/core/library", "sap/fe/core/templating/CriticalityFormatters", "sap/fe/macros/messages/MessageButton", "sap/m/Button", "sap/m/DraftIndicator", "sap/m/Menu", "sap/m/MenuButton", "sap/m/MenuItem", "sap/m/OverflowToolbar", "sap/m/ToolbarSpacer", "sap/ui/core/InvisibleText", "sap/fe/templates/ObjectPage/ObjectPageTemplating", "sap/fe/base/jsx-runtime/jsx", "sap/fe/base/jsx-runtime/jsxs"], function (Log, ClassSupport, BuildingBlockBase, CommandExecution, ManifestSettings, MetaModelConverter, DataField, BindingHelper, BindingToolkit, FPMHelper, ModelHelper, library, CriticalityFormatters, MessageButton, Button, DraftIndicator, Menu, MenuButton, MenuItem, OverflowToolbar, ToolbarSpacer, InvisibleText, ObjectPageTemplating, _jsx, _jsxs) {
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6;
|
|
9
|
+
var _exports = {};
|
|
10
|
+
var pathInModel = BindingToolkit.pathInModel;
|
|
11
|
+
var ifElse = BindingToolkit.ifElse;
|
|
12
|
+
var constant = BindingToolkit.constant;
|
|
13
|
+
var UI = BindingHelper.UI;
|
|
14
|
+
var Draft = BindingHelper.Draft;
|
|
15
|
+
var isActionWithDialog = DataField.isActionWithDialog;
|
|
16
|
+
var getInvolvedDataModelObjects = MetaModelConverter.getInvolvedDataModelObjects;
|
|
17
|
+
var ActionType = ManifestSettings.ActionType;
|
|
18
|
+
var property = ClassSupport.property;
|
|
19
|
+
var implementInterface = ClassSupport.implementInterface;
|
|
20
|
+
var defineUI5Class = ClassSupport.defineUI5Class;
|
|
21
|
+
var defineReference = ClassSupport.defineReference;
|
|
22
|
+
function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }
|
|
23
|
+
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
24
|
+
function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }
|
|
25
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
26
|
+
function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }
|
|
27
|
+
function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and runs after the decorators transform.'); }
|
|
28
|
+
let FooterContent = (_dec = defineUI5Class("sap.fe.macros.FooterContent"), _dec2 = implementInterface("sap.ui.core.Toolbar"), _dec3 = implementInterface("sap.m.IBar"), _dec4 = property({
|
|
29
|
+
type: "string",
|
|
30
|
+
required: true
|
|
31
|
+
}), _dec5 = property({
|
|
32
|
+
type: "string",
|
|
33
|
+
required: true
|
|
34
|
+
}), _dec6 = property({
|
|
35
|
+
type: "string"
|
|
36
|
+
}), _dec7 = defineReference(), _dec(_class = (_class2 = /*#__PURE__*/function (_BuildingBlockBase) {
|
|
37
|
+
_inheritsLoose(FooterContent, _BuildingBlockBase);
|
|
38
|
+
function FooterContent(props, others) {
|
|
39
|
+
var _this;
|
|
40
|
+
_this = _BuildingBlockBase.call(this, props, others) || this;
|
|
41
|
+
_initializerDefineProperty(_this, "__implements__sap_ui_core_Toolbar", _descriptor, _assertThisInitialized(_this));
|
|
42
|
+
_initializerDefineProperty(_this, "__implements__sap_m_IBar", _descriptor2, _assertThisInitialized(_this));
|
|
43
|
+
_initializerDefineProperty(_this, "id", _descriptor3, _assertThisInitialized(_this));
|
|
44
|
+
_initializerDefineProperty(_this, "metaPath", _descriptor4, _assertThisInitialized(_this));
|
|
45
|
+
_initializerDefineProperty(_this, "contextPath", _descriptor5, _assertThisInitialized(_this));
|
|
46
|
+
_initializerDefineProperty(_this, "cmdExecution", _descriptor6, _assertThisInitialized(_this));
|
|
47
|
+
return _this;
|
|
48
|
+
}
|
|
49
|
+
_exports = FooterContent;
|
|
50
|
+
var _proto = FooterContent.prototype;
|
|
51
|
+
_proto.initialize = function initialize() {
|
|
52
|
+
var _owner$preprocessorCo, _owner$preprocessorCo2, _owner$preprocessorCo3, _owner$preprocessorCo4, _owner$preprocessorCo5, _ModelHelper$getDraft, _startingEntitySet$en;
|
|
53
|
+
const owner = this._getOwner();
|
|
54
|
+
this.actions = owner === null || owner === void 0 ? void 0 : (_owner$preprocessorCo = owner.preprocessorContext) === null || _owner$preprocessorCo === void 0 ? void 0 : (_owner$preprocessorCo2 = _owner$preprocessorCo.bindingContexts) === null || _owner$preprocessorCo2 === void 0 ? void 0 : (_owner$preprocessorCo3 = _owner$preprocessorCo2.converterContext) === null || _owner$preprocessorCo3 === void 0 ? void 0 : _owner$preprocessorCo3.getObject("footerActions");
|
|
55
|
+
const contextPathToUse = owner === null || owner === void 0 ? void 0 : (_owner$preprocessorCo4 = owner.preprocessorContext) === null || _owner$preprocessorCo4 === void 0 ? void 0 : _owner$preprocessorCo4.fullContextPath;
|
|
56
|
+
this.oDataMetaModel = owner === null || owner === void 0 ? void 0 : (_owner$preprocessorCo5 = owner.preprocessorContext) === null || _owner$preprocessorCo5 === void 0 ? void 0 : _owner$preprocessorCo5.models.metaModel;
|
|
57
|
+
this.dataViewModelPath = this.getDataModelObjectForMetaPath(this.metaPath, contextPathToUse ?? this.contextPath);
|
|
58
|
+
const startingEntitySet = this.dataViewModelPath.startingEntitySet;
|
|
59
|
+
this.isDraftValidation = !!((_ModelHelper$getDraft = ModelHelper.getDraftRoot(startingEntitySet)) !== null && _ModelHelper$getDraft !== void 0 && _ModelHelper$getDraft.PreparationAction && startingEntitySet !== null && startingEntitySet !== void 0 && (_startingEntitySet$en = startingEntitySet.entityType.annotations.Common) !== null && _startingEntitySet$en !== void 0 && _startingEntitySet$en.Messages);
|
|
60
|
+
this.content = this.createContent();
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Handler for the onMetadataAvailable event.
|
|
65
|
+
*/;
|
|
66
|
+
_proto.onMetadataAvailable = function onMetadataAvailable() {
|
|
67
|
+
if (!this.content) {
|
|
68
|
+
this.initialize();
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
_proto.getActionModelPath = function getActionModelPath(action) {
|
|
72
|
+
const annotationPath = action.annotationPath;
|
|
73
|
+
if (annotationPath) {
|
|
74
|
+
const actionContext = this.oDataMetaModel.getContext(annotationPath);
|
|
75
|
+
return getInvolvedDataModelObjects(actionContext);
|
|
76
|
+
}
|
|
77
|
+
return undefined;
|
|
78
|
+
};
|
|
79
|
+
_proto.getDraftIndicator = function getDraftIndicator() {
|
|
80
|
+
var _entitySet$annotation;
|
|
81
|
+
const entitySet = this.dataViewModelPath.targetEntitySet || this.dataViewModelPath.startingEntitySet; // startingEntitySet is used on containment scenario
|
|
82
|
+
const commonAnnotation = (_entitySet$annotation = entitySet.annotations) === null || _entitySet$annotation === void 0 ? void 0 : _entitySet$annotation.Common;
|
|
83
|
+
if (commonAnnotation !== null && commonAnnotation !== void 0 && commonAnnotation.DraftRoot || commonAnnotation !== null && commonAnnotation !== void 0 && commonAnnotation.DraftNode) {
|
|
84
|
+
return _jsx(DraftIndicator, {
|
|
85
|
+
state: "{ui>/draftStatus}",
|
|
86
|
+
visible: "{ui>/isEditable}"
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
return undefined;
|
|
90
|
+
};
|
|
91
|
+
_proto.getApplyButton = function getApplyButton(emphasizedExpression) {
|
|
92
|
+
var _this$_getOwner;
|
|
93
|
+
const controller = (_this$_getOwner = this._getOwner()) === null || _this$_getOwner === void 0 ? void 0 : _this$_getOwner.getRootController();
|
|
94
|
+
const viewData = controller.getView().getViewData();
|
|
95
|
+
if (this.isDraftValidation && !viewData.isDesktop && !viewData.fclEnabled) {
|
|
96
|
+
return _jsx(MenuButton, {
|
|
97
|
+
text: "{sap.fe.i18n>T_COMMON_OBJECT_PAGE_APPLY_DRAFT}",
|
|
98
|
+
defaultAction: async () => {
|
|
99
|
+
await controller._applyDocument(controller.getView().getBindingContext());
|
|
100
|
+
},
|
|
101
|
+
useDefaultActionOnly: "true",
|
|
102
|
+
buttonMode: "Split",
|
|
103
|
+
type: emphasizedExpression,
|
|
104
|
+
visible: UI.IsEditable,
|
|
105
|
+
children: _jsx(Menu, {
|
|
106
|
+
children: _jsx(MenuItem, {
|
|
107
|
+
text: "{sap.fe.i18n>T_COMMON_OBJECT_PAGE_VALIDATE_DRAFT}",
|
|
108
|
+
press: async () => {
|
|
109
|
+
await controller._validateDocument();
|
|
110
|
+
}
|
|
111
|
+
})
|
|
112
|
+
})
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
return _jsx(Button, {
|
|
116
|
+
id: this.createId("StandardAction::Apply"),
|
|
117
|
+
text: "{sap.fe.i18n>T_COMMON_OBJECT_PAGE_APPLY_DRAFT}",
|
|
118
|
+
type: emphasizedExpression,
|
|
119
|
+
enabled: true,
|
|
120
|
+
press: async () => {
|
|
121
|
+
await controller._applyDocument(controller.getView().getBindingContext());
|
|
122
|
+
},
|
|
123
|
+
visible: "{ui>/isEditable}"
|
|
124
|
+
});
|
|
125
|
+
};
|
|
126
|
+
_proto.getPrimary = function getPrimary(emphasizedExpression) {
|
|
127
|
+
var _this$_getOwner2;
|
|
128
|
+
const controller = (_this$_getOwner2 = this._getOwner()) === null || _this$_getOwner2 === void 0 ? void 0 : _this$_getOwner2.getRootController();
|
|
129
|
+
const viewData = controller.getView().getViewData();
|
|
130
|
+
if (this.isDraftValidation && !viewData.isDesktop) {
|
|
131
|
+
return _jsx(MenuButton, {
|
|
132
|
+
text: this.getTextSaveButton(),
|
|
133
|
+
"jsx:command": "cmd:Save|defaultAction",
|
|
134
|
+
useDefaultActionOnly: "true",
|
|
135
|
+
buttonMode: "Split",
|
|
136
|
+
type: emphasizedExpression,
|
|
137
|
+
visible: UI.IsEditable,
|
|
138
|
+
children: _jsx(Menu, {
|
|
139
|
+
children: _jsx(MenuItem, {
|
|
140
|
+
text: "{sap.fe.i18n>T_COMMON_OBJECT_PAGE_VALIDATE_DRAFT}",
|
|
141
|
+
press: async () => {
|
|
142
|
+
await controller._validateDocument();
|
|
143
|
+
}
|
|
144
|
+
})
|
|
145
|
+
})
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
return _jsx(Button, {
|
|
149
|
+
id: this.createId("StandardAction::Save"),
|
|
150
|
+
text: this.getTextSaveButton(),
|
|
151
|
+
type: emphasizedExpression,
|
|
152
|
+
visible: UI.IsEditable,
|
|
153
|
+
enabled: true,
|
|
154
|
+
"jsx:command": "cmd:Save|press"
|
|
155
|
+
});
|
|
156
|
+
};
|
|
157
|
+
_proto.getTextSaveButton = function getTextSaveButton() {
|
|
158
|
+
var _annotations$Session;
|
|
159
|
+
const saveButtonText = this.getTranslatedText("T_OP_OBJECT_PAGE_SAVE");
|
|
160
|
+
const createButtonText = this.getTranslatedText("T_OP_OBJECT_PAGE_CREATE");
|
|
161
|
+
// If we're in sticky mode -> the ui is in create mode, show Create, else show Save
|
|
162
|
+
// If not -> we're in draft AND the draft is a new object (!IsActiveEntity && !HasActiveEntity), show create, else show save
|
|
163
|
+
return ifElse(ifElse(((_annotations$Session = this.dataViewModelPath.startingEntitySet.annotations.Session) === null || _annotations$Session === void 0 ? void 0 : _annotations$Session.StickySessionSupported) !== undefined, UI.IsCreateMode, Draft.IsNewObject), createButtonText, saveButtonText);
|
|
164
|
+
};
|
|
165
|
+
_proto.getCancelButton = function getCancelButton() {
|
|
166
|
+
return _jsx(Button, {
|
|
167
|
+
id: this.createId("StandardAction::Cancel"),
|
|
168
|
+
text: ModelHelper.isDraftRoot(this.dataViewModelPath.targetEntitySet) ? "{sap.fe.i18n>C_COMMON_OBJECT_PAGE_DISCARD_DRAFT}" : "{sap.fe.i18n>C_COMMON_OBJECT_PAGE_CANCEL}",
|
|
169
|
+
"jsx:command": "cmd:Cancel|press",
|
|
170
|
+
visible: UI.IsEditable,
|
|
171
|
+
ariaHasPopup: ifElse(pathInModel("/isDocumentModified", "ui"), constant("Dialog"), constant("None")),
|
|
172
|
+
enabled: true
|
|
173
|
+
});
|
|
174
|
+
};
|
|
175
|
+
_proto.getDataFieldForActionButton = function getDataFieldForActionButton(action) {
|
|
176
|
+
if (action.annotationPath) {
|
|
177
|
+
var _this$_getOwner3;
|
|
178
|
+
const controller = (_this$_getOwner3 = this._getOwner()) === null || _this$_getOwner3 === void 0 ? void 0 : _this$_getOwner3.getRootController();
|
|
179
|
+
const annotationPath = action.annotationPath;
|
|
180
|
+
let pressEvent;
|
|
181
|
+
const view = controller.getView();
|
|
182
|
+
const annotationPathContext = this.oDataMetaModel.getContext(annotationPath);
|
|
183
|
+
const dataFieldContextModelPath = getInvolvedDataModelObjects(annotationPathContext);
|
|
184
|
+
const dataFieldForAction = dataFieldContextModelPath.targetObject;
|
|
185
|
+
if (dataFieldForAction) {
|
|
186
|
+
var _this$dataViewModelPa, _dataFieldForAction$L;
|
|
187
|
+
const actionParameters = {
|
|
188
|
+
entitySetName: (_this$dataViewModelPa = this.dataViewModelPath.targetEntitySet) === null || _this$dataViewModelPa === void 0 ? void 0 : _this$dataViewModelPa.name,
|
|
189
|
+
invocationGrouping: dataFieldForAction.InvocationGrouping === "UI.OperationGroupingType/ChangeSet" ? library.InvocationGrouping.ChangeSet : library.InvocationGrouping.Isolated,
|
|
190
|
+
label: (_dataFieldForAction$L = dataFieldForAction.Label) === null || _dataFieldForAction$L === void 0 ? void 0 : _dataFieldForAction$L.toString(),
|
|
191
|
+
isNavigable: action.isNavigable,
|
|
192
|
+
defaultValuesExtensionFunction: action.defaultValuesExtensionFunction
|
|
193
|
+
};
|
|
194
|
+
if (!action.command) {
|
|
195
|
+
pressEvent = {
|
|
196
|
+
press: () => {
|
|
197
|
+
controller.handlers.onCallAction(view, dataFieldForAction.Action, {
|
|
198
|
+
...actionParameters,
|
|
199
|
+
...{
|
|
200
|
+
contexts: view.getBindingContext(),
|
|
201
|
+
model: view.getModel()
|
|
202
|
+
}
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
};
|
|
206
|
+
} else {
|
|
207
|
+
// command coming from the manifest doesn't get the mandatory prefix "cmd:" so we need to add it
|
|
208
|
+
if (!action.command.startsWith("cmd:")) {
|
|
209
|
+
action.command = `cmd:${action.command}`;
|
|
210
|
+
}
|
|
211
|
+
pressEvent = {
|
|
212
|
+
"jsx:command": `${action.command}|press`
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
return _jsx(Button, {
|
|
216
|
+
id: this.createId(this.getActionModelPath(action)),
|
|
217
|
+
text: actionParameters.label,
|
|
218
|
+
...pressEvent,
|
|
219
|
+
ariaHasPopup: isActionWithDialog(dataFieldContextModelPath.targetObject),
|
|
220
|
+
visible: action.visible,
|
|
221
|
+
enabled: action.enabled,
|
|
222
|
+
type: CriticalityFormatters.buildExpressionForCriticalityButtonType(dataFieldContextModelPath)
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
};
|
|
227
|
+
_proto.getManifestButton = function getManifestButton(action) {
|
|
228
|
+
if (ObjectPageTemplating.isManifestAction(action)) {
|
|
229
|
+
let pressEvent;
|
|
230
|
+
if (action.command) {
|
|
231
|
+
pressEvent = {
|
|
232
|
+
"jsx:command": `cmd:${action.command}|press`
|
|
233
|
+
};
|
|
234
|
+
} else {
|
|
235
|
+
pressEvent = {
|
|
236
|
+
press: event => {
|
|
237
|
+
FPMHelper.actionWrapper(event, action.handlerModule, action.handlerMethod, {}).catch(error => Log.error(error));
|
|
238
|
+
}
|
|
239
|
+
};
|
|
240
|
+
}
|
|
241
|
+
return _jsx(Button, {
|
|
242
|
+
id: this.createId(action.id),
|
|
243
|
+
text: action.text ?? "",
|
|
244
|
+
...pressEvent,
|
|
245
|
+
type: "Transparent",
|
|
246
|
+
visible: action.visible,
|
|
247
|
+
enabled: action.enabled
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
};
|
|
251
|
+
_proto.getActionControls = function getActionControls() {
|
|
252
|
+
var _this$actions;
|
|
253
|
+
const emphasizedButtonExpression = ObjectPageTemplating.buildEmphasizedButtonExpression(this.dataViewModelPath);
|
|
254
|
+
return (_this$actions = this.actions) === null || _this$actions === void 0 ? void 0 : _this$actions.map(action => {
|
|
255
|
+
switch (action.type) {
|
|
256
|
+
case ActionType.DefaultApply:
|
|
257
|
+
return this.getApplyButton(emphasizedButtonExpression);
|
|
258
|
+
case ActionType.DataFieldForAction:
|
|
259
|
+
return this.getDataFieldForActionButton(action);
|
|
260
|
+
case ActionType.Primary:
|
|
261
|
+
return this.getPrimary(emphasizedButtonExpression);
|
|
262
|
+
case ActionType.Secondary:
|
|
263
|
+
return this.getCancelButton();
|
|
264
|
+
default:
|
|
265
|
+
return this.getManifestButton(action);
|
|
266
|
+
}
|
|
267
|
+
}).filter(action => !!action);
|
|
268
|
+
};
|
|
269
|
+
_proto.createContent = function createContent() {
|
|
270
|
+
var _this$_getOwner4;
|
|
271
|
+
const controller = (_this$_getOwner4 = this._getOwner()) === null || _this$_getOwner4 === void 0 ? void 0 : _this$_getOwner4.getRootController();
|
|
272
|
+
const messageButton = _jsx(MessageButton, {
|
|
273
|
+
id: this.createId("MessageButton"),
|
|
274
|
+
messageChange: () => controller._getFooterVisibility(),
|
|
275
|
+
ariaLabelledBy: [this.createId("MessageButton::AriaText")],
|
|
276
|
+
type: "Emphasized",
|
|
277
|
+
ariaHasPopup: "Dialog"
|
|
278
|
+
});
|
|
279
|
+
const footerBar = _jsxs(OverflowToolbar, {
|
|
280
|
+
id: this.createId("_fc"),
|
|
281
|
+
asyncMode: true,
|
|
282
|
+
children: [_jsx(InvisibleText, {
|
|
283
|
+
id: this.createId("MessageButton::AriaText"),
|
|
284
|
+
text: "{sap.fe.i18n>C_COMMON_SAPFE_ERROR_MESSAGES_PAGE_BUTTON_ARIA_TEXT}"
|
|
285
|
+
}), messageButton, _jsx(ToolbarSpacer, {}), this.getDraftIndicator(), this.getActionControls()]
|
|
286
|
+
});
|
|
287
|
+
controller.getView().addDependent(_jsx(CommandExecution, {
|
|
288
|
+
ref: this.cmdExecution,
|
|
289
|
+
command: "OpenMessageButtonMenu",
|
|
290
|
+
execute: () => messageButton.firePress()
|
|
291
|
+
}));
|
|
292
|
+
return footerBar;
|
|
293
|
+
};
|
|
294
|
+
return FooterContent;
|
|
295
|
+
}(BuildingBlockBase), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, "__implements__sap_ui_core_Toolbar", [_dec2], {
|
|
296
|
+
configurable: true,
|
|
297
|
+
enumerable: true,
|
|
298
|
+
writable: true,
|
|
299
|
+
initializer: function () {
|
|
300
|
+
return true;
|
|
301
|
+
}
|
|
302
|
+
}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, "__implements__sap_m_IBar", [_dec3], {
|
|
303
|
+
configurable: true,
|
|
304
|
+
enumerable: true,
|
|
305
|
+
writable: true,
|
|
306
|
+
initializer: function () {
|
|
307
|
+
return true;
|
|
308
|
+
}
|
|
309
|
+
}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, "id", [_dec4], {
|
|
310
|
+
configurable: true,
|
|
311
|
+
enumerable: true,
|
|
312
|
+
writable: true,
|
|
313
|
+
initializer: null
|
|
314
|
+
}), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, "metaPath", [_dec5], {
|
|
315
|
+
configurable: true,
|
|
316
|
+
enumerable: true,
|
|
317
|
+
writable: true,
|
|
318
|
+
initializer: null
|
|
319
|
+
}), _descriptor5 = _applyDecoratedDescriptor(_class2.prototype, "contextPath", [_dec6], {
|
|
320
|
+
configurable: true,
|
|
321
|
+
enumerable: true,
|
|
322
|
+
writable: true,
|
|
323
|
+
initializer: null
|
|
324
|
+
}), _descriptor6 = _applyDecoratedDescriptor(_class2.prototype, "cmdExecution", [_dec7], {
|
|
325
|
+
configurable: true,
|
|
326
|
+
enumerable: true,
|
|
327
|
+
writable: true,
|
|
328
|
+
initializer: null
|
|
329
|
+
})), _class2)) || _class);
|
|
330
|
+
_exports = FooterContent;
|
|
331
|
+
return _exports;
|
|
332
|
+
}, false);
|
|
333
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGb290ZXJDb250ZW50IiwiZGVmaW5lVUk1Q2xhc3MiLCJpbXBsZW1lbnRJbnRlcmZhY2UiLCJwcm9wZXJ0eSIsInR5cGUiLCJyZXF1aXJlZCIsImRlZmluZVJlZmVyZW5jZSIsInByb3BzIiwib3RoZXJzIiwiaW5pdGlhbGl6ZSIsIm93bmVyIiwiX2dldE93bmVyIiwiYWN0aW9ucyIsInByZXByb2Nlc3NvckNvbnRleHQiLCJiaW5kaW5nQ29udGV4dHMiLCJjb252ZXJ0ZXJDb250ZXh0IiwiZ2V0T2JqZWN0IiwiY29udGV4dFBhdGhUb1VzZSIsImZ1bGxDb250ZXh0UGF0aCIsIm9EYXRhTWV0YU1vZGVsIiwibW9kZWxzIiwibWV0YU1vZGVsIiwiZGF0YVZpZXdNb2RlbFBhdGgiLCJnZXREYXRhTW9kZWxPYmplY3RGb3JNZXRhUGF0aCIsIm1ldGFQYXRoIiwiY29udGV4dFBhdGgiLCJzdGFydGluZ0VudGl0eVNldCIsImlzRHJhZnRWYWxpZGF0aW9uIiwiTW9kZWxIZWxwZXIiLCJnZXREcmFmdFJvb3QiLCJQcmVwYXJhdGlvbkFjdGlvbiIsImVudGl0eVR5cGUiLCJhbm5vdGF0aW9ucyIsIkNvbW1vbiIsIk1lc3NhZ2VzIiwiY29udGVudCIsImNyZWF0ZUNvbnRlbnQiLCJvbk1ldGFkYXRhQXZhaWxhYmxlIiwiZ2V0QWN0aW9uTW9kZWxQYXRoIiwiYWN0aW9uIiwiYW5ub3RhdGlvblBhdGgiLCJhY3Rpb25Db250ZXh0IiwiZ2V0Q29udGV4dCIsImdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyIsInVuZGVmaW5lZCIsImdldERyYWZ0SW5kaWNhdG9yIiwiZW50aXR5U2V0IiwidGFyZ2V0RW50aXR5U2V0IiwiY29tbW9uQW5ub3RhdGlvbiIsIkRyYWZ0Um9vdCIsIkRyYWZ0Tm9kZSIsImdldEFwcGx5QnV0dG9uIiwiZW1waGFzaXplZEV4cHJlc3Npb24iLCJjb250cm9sbGVyIiwiZ2V0Um9vdENvbnRyb2xsZXIiLCJ2aWV3RGF0YSIsImdldFZpZXciLCJnZXRWaWV3RGF0YSIsImlzRGVza3RvcCIsImZjbEVuYWJsZWQiLCJfYXBwbHlEb2N1bWVudCIsImdldEJpbmRpbmdDb250ZXh0IiwiVUkiLCJJc0VkaXRhYmxlIiwiX3ZhbGlkYXRlRG9jdW1lbnQiLCJjcmVhdGVJZCIsImdldFByaW1hcnkiLCJnZXRUZXh0U2F2ZUJ1dHRvbiIsInNhdmVCdXR0b25UZXh0IiwiZ2V0VHJhbnNsYXRlZFRleHQiLCJjcmVhdGVCdXR0b25UZXh0IiwiaWZFbHNlIiwiU2Vzc2lvbiIsIlN0aWNreVNlc3Npb25TdXBwb3J0ZWQiLCJJc0NyZWF0ZU1vZGUiLCJEcmFmdCIsIklzTmV3T2JqZWN0IiwiZ2V0Q2FuY2VsQnV0dG9uIiwiaXNEcmFmdFJvb3QiLCJwYXRoSW5Nb2RlbCIsImNvbnN0YW50IiwiZ2V0RGF0YUZpZWxkRm9yQWN0aW9uQnV0dG9uIiwicHJlc3NFdmVudCIsInZpZXciLCJhbm5vdGF0aW9uUGF0aENvbnRleHQiLCJkYXRhRmllbGRDb250ZXh0TW9kZWxQYXRoIiwiZGF0YUZpZWxkRm9yQWN0aW9uIiwidGFyZ2V0T2JqZWN0IiwiYWN0aW9uUGFyYW1ldGVycyIsImVudGl0eVNldE5hbWUiLCJuYW1lIiwiaW52b2NhdGlvbkdyb3VwaW5nIiwiSW52b2NhdGlvbkdyb3VwaW5nIiwibGlicmFyeSIsIkNoYW5nZVNldCIsIklzb2xhdGVkIiwibGFiZWwiLCJMYWJlbCIsInRvU3RyaW5nIiwiaXNOYXZpZ2FibGUiLCJkZWZhdWx0VmFsdWVzRXh0ZW5zaW9uRnVuY3Rpb24iLCJjb21tYW5kIiwicHJlc3MiLCJoYW5kbGVycyIsIm9uQ2FsbEFjdGlvbiIsIkFjdGlvbiIsImNvbnRleHRzIiwibW9kZWwiLCJnZXRNb2RlbCIsInN0YXJ0c1dpdGgiLCJpc0FjdGlvbldpdGhEaWFsb2ciLCJ2aXNpYmxlIiwiZW5hYmxlZCIsIkNyaXRpY2FsaXR5Rm9ybWF0dGVycyIsImJ1aWxkRXhwcmVzc2lvbkZvckNyaXRpY2FsaXR5QnV0dG9uVHlwZSIsImdldE1hbmlmZXN0QnV0dG9uIiwiT2JqZWN0UGFnZVRlbXBsYXRpbmciLCJpc01hbmlmZXN0QWN0aW9uIiwiZXZlbnQiLCJGUE1IZWxwZXIiLCJhY3Rpb25XcmFwcGVyIiwiaGFuZGxlck1vZHVsZSIsImhhbmRsZXJNZXRob2QiLCJjYXRjaCIsImVycm9yIiwiTG9nIiwiaWQiLCJ0ZXh0IiwiZ2V0QWN0aW9uQ29udHJvbHMiLCJlbXBoYXNpemVkQnV0dG9uRXhwcmVzc2lvbiIsImJ1aWxkRW1waGFzaXplZEJ1dHRvbkV4cHJlc3Npb24iLCJtYXAiLCJBY3Rpb25UeXBlIiwiRGVmYXVsdEFwcGx5IiwiRGF0YUZpZWxkRm9yQWN0aW9uIiwiUHJpbWFyeSIsIlNlY29uZGFyeSIsImZpbHRlciIsIm1lc3NhZ2VCdXR0b24iLCJfZ2V0Rm9vdGVyVmlzaWJpbGl0eSIsImZvb3RlckJhciIsImFkZERlcGVuZGVudCIsImNtZEV4ZWN1dGlvbiIsImZpcmVQcmVzcyIsIkJ1aWxkaW5nQmxvY2tCYXNlIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJGb290ZXJDb250ZW50LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEVudGl0eVNldCB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlc1wiO1xuaW1wb3J0IHR5cGUgeyBEYXRhRmllbGRGb3JBY3Rpb24gfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXMvdm9jYWJ1bGFyaWVzL1VJXCI7XG5pbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcbmltcG9ydCB7IGRlZmluZVJlZmVyZW5jZSwgZGVmaW5lVUk1Q2xhc3MsIGltcGxlbWVudEludGVyZmFjZSwgcHJvcGVydHksIHR5cGUgUHJvcGVydGllc09mIH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHR5cGUgeyBDb21tYW5kUHJvcGVydGllcywgUmVmIH0gZnJvbSBcInNhcC9mZS9iYXNlL2pzeC1ydW50aW1lL2pzeFwiO1xuaW1wb3J0IEJ1aWxkaW5nQmxvY2tCYXNlIGZyb20gXCJzYXAvZmUvY29yZS9idWlsZGluZ0Jsb2Nrcy9CdWlsZGluZ0Jsb2NrQmFzZVwiO1xuaW1wb3J0IENvbW1hbmRFeGVjdXRpb24gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xzL0NvbW1hbmRFeGVjdXRpb25cIjtcbmltcG9ydCB0eXBlIHsgQmFzZU1hbmlmZXN0U2V0dGluZ3MgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9NYW5pZmVzdFNldHRpbmdzXCI7XG5pbXBvcnQgeyBBY3Rpb25UeXBlIH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvTWFuaWZlc3RTZXR0aW5nc1wiO1xuaW1wb3J0IHsgZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvTWV0YU1vZGVsQ29udmVydGVyXCI7XG5pbXBvcnQgeyBpc0FjdGlvbldpdGhEaWFsb2cgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9hbm5vdGF0aW9ucy9EYXRhRmllbGRcIjtcbmltcG9ydCB0eXBlIHsgQmFzZUFjdGlvbiB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL2NvbnRyb2xzL0NvbW1vbi9BY3Rpb25cIjtcbmltcG9ydCB7IERyYWZ0LCBVSSB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0JpbmRpbmdIZWxwZXJcIjtcbmltcG9ydCB0eXBlIHsgQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQmluZGluZ1Rvb2xraXRcIjtcbmltcG9ydCB7IGNvbnN0YW50LCBpZkVsc2UsIHBhdGhJbk1vZGVsIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQmluZGluZ1Rvb2xraXRcIjtcbmltcG9ydCBGUE1IZWxwZXIgZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvRlBNSGVscGVyXCI7XG5pbXBvcnQgTW9kZWxIZWxwZXIgZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvTW9kZWxIZWxwZXJcIjtcbmltcG9ydCB0eXBlIHsgQ29yZUxpYiB9IGZyb20gXCJzYXAvZmUvY29yZS9saWJyYXJ5XCI7XG5pbXBvcnQgbGlicmFyeSBmcm9tIFwic2FwL2ZlL2NvcmUvbGlicmFyeVwiO1xuaW1wb3J0ICogYXMgQ3JpdGljYWxpdHlGb3JtYXR0ZXJzIGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL0NyaXRpY2FsaXR5Rm9ybWF0dGVyc1wiO1xuaW1wb3J0IHR5cGUgeyBEYXRhTW9kZWxPYmplY3RQYXRoIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvRGF0YU1vZGVsUGF0aEhlbHBlclwiO1xuaW1wb3J0IE1lc3NhZ2VCdXR0b24gZnJvbSBcInNhcC9mZS9tYWNyb3MvbWVzc2FnZXMvTWVzc2FnZUJ1dHRvblwiO1xuaW1wb3J0IHR5cGUgT2JqZWN0UGFnZUNvbnRyb2xsZXIgZnJvbSBcInNhcC9mZS90ZW1wbGF0ZXMvT2JqZWN0UGFnZS9PYmplY3RQYWdlQ29udHJvbGxlci5jb250cm9sbGVyXCI7XG5pbXBvcnQgQnV0dG9uIGZyb20gXCJzYXAvbS9CdXR0b25cIjtcbmltcG9ydCBEcmFmdEluZGljYXRvciBmcm9tIFwic2FwL20vRHJhZnRJbmRpY2F0b3JcIjtcbmltcG9ydCBNZW51IGZyb20gXCJzYXAvbS9NZW51XCI7XG5pbXBvcnQgTWVudUJ1dHRvbiBmcm9tIFwic2FwL20vTWVudUJ1dHRvblwiO1xuaW1wb3J0IE1lbnVJdGVtIGZyb20gXCJzYXAvbS9NZW51SXRlbVwiO1xuaW1wb3J0IE92ZXJmbG93VG9vbGJhciBmcm9tIFwic2FwL20vT3ZlcmZsb3dUb29sYmFyXCI7XG5pbXBvcnQgVG9vbGJhclNwYWNlciBmcm9tIFwic2FwL20vVG9vbGJhclNwYWNlclwiO1xuaW1wb3J0IHR5cGUgRXZlbnQgZnJvbSBcInNhcC91aS9iYXNlL0V2ZW50XCI7XG5pbXBvcnQgdHlwZSB7IFByb3BlcnR5QmluZGluZ0luZm8gfSBmcm9tIFwic2FwL3VpL2Jhc2UvTWFuYWdlZE9iamVjdFwiO1xuaW1wb3J0IEludmlzaWJsZVRleHQgZnJvbSBcInNhcC91aS9jb3JlL0ludmlzaWJsZVRleHRcIjtcbmltcG9ydCB0eXBlIENvbnRyb2xsZXIgZnJvbSBcInNhcC91aS9jb3JlL212Yy9Db250cm9sbGVyXCI7XG5pbXBvcnQgdHlwZSB7ICRDb250cm9sU2V0dGluZ3MgfSBmcm9tIFwic2FwL3VpL21kYy9Db250cm9sXCI7XG5pbXBvcnQgdHlwZSBPRGF0YU1ldGFNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L09EYXRhTWV0YU1vZGVsXCI7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlc3RyaWN0ZWQtaW1wb3J0c1xuaW1wb3J0ICogYXMgT2JqZWN0UGFnZVRlbXBsYXRpbmcgZnJvbSBcInNhcC9mZS90ZW1wbGF0ZXMvT2JqZWN0UGFnZS9PYmplY3RQYWdlVGVtcGxhdGluZ1wiO1xuXG50eXBlIENvbnRyb2xsZXJXaXRoQWN0aW9uID0gQ29udHJvbGxlciAmIHtcblx0aGFuZGxlcnM6IHtcblx0XHRvbkNhbGxBY3Rpb246IEZ1bmN0aW9uO1xuXHR9O1xufTtcblxuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLm1hY3Jvcy5Gb290ZXJDb250ZW50XCIpXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGb290ZXJDb250ZW50IGV4dGVuZHMgQnVpbGRpbmdCbG9ja0Jhc2U8T3ZlcmZsb3dUb29sYmFyPiB7XG5cdEBpbXBsZW1lbnRJbnRlcmZhY2UoXCJzYXAudWkuY29yZS5Ub29sYmFyXCIpXG5cdF9faW1wbGVtZW50c19fc2FwX3VpX2NvcmVfVG9vbGJhciA9IHRydWU7XG5cblx0QGltcGxlbWVudEludGVyZmFjZShcInNhcC5tLklCYXJcIilcblx0X19pbXBsZW1lbnRzX19zYXBfbV9JQmFyID0gdHJ1ZTtcblxuXHRAcHJvcGVydHkoe1xuXHRcdHR5cGU6IFwic3RyaW5nXCIsXG5cdFx0cmVxdWlyZWQ6IHRydWVcblx0fSlcblx0aWQhOiBzdHJpbmc7XG5cblx0QHByb3BlcnR5KHtcblx0XHR0eXBlOiBcInN0cmluZ1wiLFxuXHRcdHJlcXVpcmVkOiB0cnVlXG5cdH0pXG5cdHB1YmxpYyBtZXRhUGF0aCE6IHN0cmluZztcblxuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdGNvbnRleHRQYXRoPzogc3RyaW5nO1xuXG5cdEBkZWZpbmVSZWZlcmVuY2UoKVxuXHRjbWRFeGVjdXRpb24hOiBSZWY8Q29tbWFuZEV4ZWN1dGlvbj47XG5cblx0YWN0aW9ucz86IEJhc2VBY3Rpb25bXTtcblxuXHRvRGF0YU1ldGFNb2RlbCE6IE9EYXRhTWV0YU1vZGVsO1xuXG5cdGRhdGFWaWV3TW9kZWxQYXRoITogRGF0YU1vZGVsT2JqZWN0UGF0aDxFbnRpdHlTZXQ+O1xuXG5cdGlzRHJhZnRWYWxpZGF0aW9uITogYm9vbGVhbjtcblxuXHRjb25zdHJ1Y3Rvcihwcm9wczogJENvbnRyb2xTZXR0aW5ncyAmIFByb3BlcnRpZXNPZjxGb290ZXJDb250ZW50Piwgb3RoZXJzPzogJENvbnRyb2xTZXR0aW5ncykge1xuXHRcdHN1cGVyKHByb3BzLCBvdGhlcnMpO1xuXHR9XG5cblx0aW5pdGlhbGl6ZSgpOiB2b2lkIHtcblx0XHRjb25zdCBvd25lciA9IHRoaXMuX2dldE93bmVyKCk7XG5cdFx0dGhpcy5hY3Rpb25zID0gb3duZXI/LnByZXByb2Nlc3NvckNvbnRleHQ/LmJpbmRpbmdDb250ZXh0cz8uY29udmVydGVyQ29udGV4dD8uZ2V0T2JqZWN0KFwiZm9vdGVyQWN0aW9uc1wiKTtcblx0XHRjb25zdCBjb250ZXh0UGF0aFRvVXNlID0gb3duZXI/LnByZXByb2Nlc3NvckNvbnRleHQ/LmZ1bGxDb250ZXh0UGF0aDtcblx0XHR0aGlzLm9EYXRhTWV0YU1vZGVsID0gb3duZXI/LnByZXByb2Nlc3NvckNvbnRleHQ/Lm1vZGVscy5tZXRhTW9kZWwgYXMgT0RhdGFNZXRhTW9kZWw7XG5cdFx0dGhpcy5kYXRhVmlld01vZGVsUGF0aCA9IHRoaXMuZ2V0RGF0YU1vZGVsT2JqZWN0Rm9yTWV0YVBhdGgodGhpcy5tZXRhUGF0aCwgY29udGV4dFBhdGhUb1VzZSA/PyB0aGlzLmNvbnRleHRQYXRoKSE7XG5cdFx0Y29uc3Qgc3RhcnRpbmdFbnRpdHlTZXQgPSB0aGlzLmRhdGFWaWV3TW9kZWxQYXRoLnN0YXJ0aW5nRW50aXR5U2V0O1xuXHRcdHRoaXMuaXNEcmFmdFZhbGlkYXRpb24gPSAhIShcblx0XHRcdE1vZGVsSGVscGVyLmdldERyYWZ0Um9vdChzdGFydGluZ0VudGl0eVNldCk/LlByZXBhcmF0aW9uQWN0aW9uICYmIHN0YXJ0aW5nRW50aXR5U2V0Py5lbnRpdHlUeXBlLmFubm90YXRpb25zLkNvbW1vbj8uTWVzc2FnZXNcblx0XHQpO1xuXHRcdHRoaXMuY29udGVudCA9IHRoaXMuY3JlYXRlQ29udGVudCgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEhhbmRsZXIgZm9yIHRoZSBvbk1ldGFkYXRhQXZhaWxhYmxlIGV2ZW50LlxuXHQgKi9cblx0b25NZXRhZGF0YUF2YWlsYWJsZSgpOiB2b2lkIHtcblx0XHRpZiAoIXRoaXMuY29udGVudCkge1xuXHRcdFx0dGhpcy5pbml0aWFsaXplKCk7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBnZXRBY3Rpb25Nb2RlbFBhdGgoYWN0aW9uOiBCYXNlQWN0aW9uKTogRGF0YU1vZGVsT2JqZWN0UGF0aDxEYXRhRmllbGRGb3JBY3Rpb24+IHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCBhbm5vdGF0aW9uUGF0aCA9IGFjdGlvbi5hbm5vdGF0aW9uUGF0aDtcblx0XHRpZiAoYW5ub3RhdGlvblBhdGgpIHtcblx0XHRcdGNvbnN0IGFjdGlvbkNvbnRleHQgPSB0aGlzLm9EYXRhTWV0YU1vZGVsLmdldENvbnRleHQoYW5ub3RhdGlvblBhdGgpO1xuXHRcdFx0cmV0dXJuIGdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0czxEYXRhRmllbGRGb3JBY3Rpb24+KGFjdGlvbkNvbnRleHQpO1xuXHRcdH1cblx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHR9XG5cblx0Z2V0RHJhZnRJbmRpY2F0b3IoKTogRHJhZnRJbmRpY2F0b3IgfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IGVudGl0eVNldCA9ICh0aGlzLmRhdGFWaWV3TW9kZWxQYXRoLnRhcmdldEVudGl0eVNldCB8fCB0aGlzLmRhdGFWaWV3TW9kZWxQYXRoLnN0YXJ0aW5nRW50aXR5U2V0KSBhcyBFbnRpdHlTZXQ7IC8vIHN0YXJ0aW5nRW50aXR5U2V0IGlzIHVzZWQgb24gY29udGFpbm1lbnQgc2NlbmFyaW9cblx0XHRjb25zdCBjb21tb25Bbm5vdGF0aW9uID0gZW50aXR5U2V0LmFubm90YXRpb25zPy5Db21tb247XG5cdFx0aWYgKGNvbW1vbkFubm90YXRpb24/LkRyYWZ0Um9vdCB8fCBjb21tb25Bbm5vdGF0aW9uPy5EcmFmdE5vZGUpIHtcblx0XHRcdHJldHVybiA8RHJhZnRJbmRpY2F0b3Igc3RhdGU9XCJ7dWk+L2RyYWZ0U3RhdHVzfVwiIHZpc2libGU9XCJ7dWk+L2lzRWRpdGFibGV9XCIgLz47XG5cdFx0fVxuXHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdH1cblxuXHRwcml2YXRlIGdldEFwcGx5QnV0dG9uKGVtcGhhc2l6ZWRFeHByZXNzaW9uOiBQcm9wZXJ0eUJpbmRpbmdJbmZvKTogQnV0dG9uIHwgTWVudUJ1dHRvbiB7XG5cdFx0Y29uc3QgY29udHJvbGxlciA9IHRoaXMuX2dldE93bmVyKCk/LmdldFJvb3RDb250cm9sbGVyKCkgYXMgT2JqZWN0UGFnZUNvbnRyb2xsZXI7XG5cdFx0Y29uc3Qgdmlld0RhdGEgPSBjb250cm9sbGVyLmdldFZpZXcoKS5nZXRWaWV3RGF0YSgpIGFzIEJhc2VNYW5pZmVzdFNldHRpbmdzO1xuXHRcdGlmICh0aGlzLmlzRHJhZnRWYWxpZGF0aW9uICYmICF2aWV3RGF0YS5pc0Rlc2t0b3AgJiYgIXZpZXdEYXRhLmZjbEVuYWJsZWQpIHtcblx0XHRcdHJldHVybiAoXG5cdFx0XHRcdDxNZW51QnV0dG9uXG5cdFx0XHRcdFx0dGV4dD1cIntzYXAuZmUuaTE4bj5UX0NPTU1PTl9PQkpFQ1RfUEFHRV9BUFBMWV9EUkFGVH1cIlxuXHRcdFx0XHRcdGRlZmF1bHRBY3Rpb249e2FzeW5jICgpOiBQcm9taXNlPHZvaWQ+ID0+IHtcblx0XHRcdFx0XHRcdGF3YWl0IGNvbnRyb2xsZXIuX2FwcGx5RG9jdW1lbnQoY29udHJvbGxlci5nZXRWaWV3KCkuZ2V0QmluZGluZ0NvbnRleHQoKSk7XG5cdFx0XHRcdFx0fX1cblx0XHRcdFx0XHR1c2VEZWZhdWx0QWN0aW9uT25seT1cInRydWVcIlxuXHRcdFx0XHRcdGJ1dHRvbk1vZGU9XCJTcGxpdFwiXG5cdFx0XHRcdFx0dHlwZT17ZW1waGFzaXplZEV4cHJlc3Npb259XG5cdFx0XHRcdFx0dmlzaWJsZT17VUkuSXNFZGl0YWJsZX1cblx0XHRcdFx0PlxuXHRcdFx0XHRcdDxNZW51PlxuXHRcdFx0XHRcdFx0PE1lbnVJdGVtXG5cdFx0XHRcdFx0XHRcdHRleHQ9XCJ7c2FwLmZlLmkxOG4+VF9DT01NT05fT0JKRUNUX1BBR0VfVkFMSURBVEVfRFJBRlR9XCJcblx0XHRcdFx0XHRcdFx0cHJlc3M9e2FzeW5jICgpOiBQcm9taXNlPHZvaWQ+ID0+IHtcblx0XHRcdFx0XHRcdFx0XHRhd2FpdCBjb250cm9sbGVyLl92YWxpZGF0ZURvY3VtZW50KCk7XG5cdFx0XHRcdFx0XHRcdH19XG5cdFx0XHRcdFx0XHQvPlxuXHRcdFx0XHRcdDwvTWVudT5cblx0XHRcdFx0PC9NZW51QnV0dG9uPlxuXHRcdFx0KTtcblx0XHR9XG5cdFx0cmV0dXJuIChcblx0XHRcdDxCdXR0b25cblx0XHRcdFx0aWQ9e3RoaXMuY3JlYXRlSWQoXCJTdGFuZGFyZEFjdGlvbjo6QXBwbHlcIil9XG5cdFx0XHRcdHRleHQ9XCJ7c2FwLmZlLmkxOG4+VF9DT01NT05fT0JKRUNUX1BBR0VfQVBQTFlfRFJBRlR9XCJcblx0XHRcdFx0dHlwZT17ZW1waGFzaXplZEV4cHJlc3Npb259XG5cdFx0XHRcdGVuYWJsZWQ9e3RydWV9XG5cdFx0XHRcdHByZXNzPXthc3luYyAoKTogUHJvbWlzZTx2b2lkPiA9PiB7XG5cdFx0XHRcdFx0YXdhaXQgY29udHJvbGxlci5fYXBwbHlEb2N1bWVudChjb250cm9sbGVyLmdldFZpZXcoKS5nZXRCaW5kaW5nQ29udGV4dCgpKTtcblx0XHRcdFx0fX1cblx0XHRcdFx0dmlzaWJsZT1cInt1aT4vaXNFZGl0YWJsZX1cIlxuXHRcdFx0Lz5cblx0XHQpO1xuXHR9XG5cblx0cHJpdmF0ZSBnZXRQcmltYXJ5KGVtcGhhc2l6ZWRFeHByZXNzaW9uOiBQcm9wZXJ0eUJpbmRpbmdJbmZvKTogQnV0dG9uIHwgTWVudUJ1dHRvbiB7XG5cdFx0Y29uc3QgY29udHJvbGxlciA9IHRoaXMuX2dldE93bmVyKCk/LmdldFJvb3RDb250cm9sbGVyKCkgYXMgT2JqZWN0UGFnZUNvbnRyb2xsZXI7XG5cdFx0Y29uc3Qgdmlld0RhdGEgPSBjb250cm9sbGVyLmdldFZpZXcoKS5nZXRWaWV3RGF0YSgpIGFzIEJhc2VNYW5pZmVzdFNldHRpbmdzO1xuXHRcdGlmICh0aGlzLmlzRHJhZnRWYWxpZGF0aW9uICYmICF2aWV3RGF0YS5pc0Rlc2t0b3ApIHtcblx0XHRcdHJldHVybiAoXG5cdFx0XHRcdDxNZW51QnV0dG9uXG5cdFx0XHRcdFx0dGV4dD17dGhpcy5nZXRUZXh0U2F2ZUJ1dHRvbigpfVxuXHRcdFx0XHRcdGpzeDpjb21tYW5kPVwiY21kOlNhdmV8ZGVmYXVsdEFjdGlvblwiXG5cdFx0XHRcdFx0dXNlRGVmYXVsdEFjdGlvbk9ubHk9XCJ0cnVlXCJcblx0XHRcdFx0XHRidXR0b25Nb2RlPVwiU3BsaXRcIlxuXHRcdFx0XHRcdHR5cGU9e2VtcGhhc2l6ZWRFeHByZXNzaW9ufVxuXHRcdFx0XHRcdHZpc2libGU9e1VJLklzRWRpdGFibGV9XG5cdFx0XHRcdD5cblx0XHRcdFx0XHQ8TWVudT5cblx0XHRcdFx0XHRcdDxNZW51SXRlbVxuXHRcdFx0XHRcdFx0XHR0ZXh0PVwie3NhcC5mZS5pMThuPlRfQ09NTU9OX09CSkVDVF9QQUdFX1ZBTElEQVRFX0RSQUZUfVwiXG5cdFx0XHRcdFx0XHRcdHByZXNzPXthc3luYyAoKTogUHJvbWlzZTx2b2lkPiA9PiB7XG5cdFx0XHRcdFx0XHRcdFx0YXdhaXQgY29udHJvbGxlci5fdmFsaWRhdGVEb2N1bWVudCgpO1xuXHRcdFx0XHRcdFx0XHR9fVxuXHRcdFx0XHRcdFx0Lz5cblx0XHRcdFx0XHQ8L01lbnU+XG5cdFx0XHRcdDwvTWVudUJ1dHRvbj5cblx0XHRcdCk7XG5cdFx0fVxuXHRcdHJldHVybiAoXG5cdFx0XHQ8QnV0dG9uXG5cdFx0XHRcdGlkPXt0aGlzLmNyZWF0ZUlkKFwiU3RhbmRhcmRBY3Rpb246OlNhdmVcIil9XG5cdFx0XHRcdHRleHQ9e3RoaXMuZ2V0VGV4dFNhdmVCdXR0b24oKX1cblx0XHRcdFx0dHlwZT17ZW1waGFzaXplZEV4cHJlc3Npb259XG5cdFx0XHRcdHZpc2libGU9e1VJLklzRWRpdGFibGV9XG5cdFx0XHRcdGVuYWJsZWQ9e3RydWV9XG5cdFx0XHRcdGpzeDpjb21tYW5kPVwiY21kOlNhdmV8cHJlc3NcIlxuXHRcdFx0Lz5cblx0XHQpO1xuXHR9XG5cblx0cHJpdmF0ZSBnZXRUZXh0U2F2ZUJ1dHRvbigpOiBCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb248c3RyaW5nPiB7XG5cdFx0Y29uc3Qgc2F2ZUJ1dHRvblRleHQgPSB0aGlzLmdldFRyYW5zbGF0ZWRUZXh0KFwiVF9PUF9PQkpFQ1RfUEFHRV9TQVZFXCIpO1xuXHRcdGNvbnN0IGNyZWF0ZUJ1dHRvblRleHQgPSB0aGlzLmdldFRyYW5zbGF0ZWRUZXh0KFwiVF9PUF9PQkpFQ1RfUEFHRV9DUkVBVEVcIik7XG5cdFx0Ly8gSWYgd2UncmUgaW4gc3RpY2t5IG1vZGUgIC0+IHRoZSB1aSBpcyBpbiBjcmVhdGUgbW9kZSwgc2hvdyBDcmVhdGUsIGVsc2Ugc2hvdyBTYXZlXG5cdFx0Ly8gSWYgbm90IC0+IHdlJ3JlIGluIGRyYWZ0IEFORCB0aGUgZHJhZnQgaXMgYSBuZXcgb2JqZWN0ICghSXNBY3RpdmVFbnRpdHkgJiYgIUhhc0FjdGl2ZUVudGl0eSksIHNob3cgY3JlYXRlLCBlbHNlIHNob3cgc2F2ZVxuXHRcdHJldHVybiBpZkVsc2UoXG5cdFx0XHRpZkVsc2UoXG5cdFx0XHRcdCh0aGlzLmRhdGFWaWV3TW9kZWxQYXRoLnN0YXJ0aW5nRW50aXR5U2V0IGFzIEVudGl0eVNldCkuYW5ub3RhdGlvbnMuU2Vzc2lvbj8uU3RpY2t5U2Vzc2lvblN1cHBvcnRlZCAhPT0gdW5kZWZpbmVkLFxuXHRcdFx0XHRVSS5Jc0NyZWF0ZU1vZGUsXG5cdFx0XHRcdERyYWZ0LklzTmV3T2JqZWN0XG5cdFx0XHQpLFxuXHRcdFx0Y3JlYXRlQnV0dG9uVGV4dCxcblx0XHRcdHNhdmVCdXR0b25UZXh0XG5cdFx0KTtcblx0fVxuXG5cdHByaXZhdGUgZ2V0Q2FuY2VsQnV0dG9uKCk6IEJ1dHRvbiB7XG5cdFx0cmV0dXJuIChcblx0XHRcdDxCdXR0b25cblx0XHRcdFx0aWQ9e3RoaXMuY3JlYXRlSWQoXCJTdGFuZGFyZEFjdGlvbjo6Q2FuY2VsXCIpfVxuXHRcdFx0XHR0ZXh0PXtcblx0XHRcdFx0XHRNb2RlbEhlbHBlci5pc0RyYWZ0Um9vdCh0aGlzLmRhdGFWaWV3TW9kZWxQYXRoLnRhcmdldEVudGl0eVNldClcblx0XHRcdFx0XHRcdD8gXCJ7c2FwLmZlLmkxOG4+Q19DT01NT05fT0JKRUNUX1BBR0VfRElTQ0FSRF9EUkFGVH1cIlxuXHRcdFx0XHRcdFx0OiBcIntzYXAuZmUuaTE4bj5DX0NPTU1PTl9PQkpFQ1RfUEFHRV9DQU5DRUx9XCJcblx0XHRcdFx0fVxuXHRcdFx0XHRqc3g6Y29tbWFuZD1cImNtZDpDYW5jZWx8cHJlc3NcIlxuXHRcdFx0XHR2aXNpYmxlPXtVSS5Jc0VkaXRhYmxlfVxuXHRcdFx0XHRhcmlhSGFzUG9wdXA9e2lmRWxzZShwYXRoSW5Nb2RlbChcIi9pc0RvY3VtZW50TW9kaWZpZWRcIiwgXCJ1aVwiKSwgY29uc3RhbnQoXCJEaWFsb2dcIiksIGNvbnN0YW50KFwiTm9uZVwiKSl9XG5cdFx0XHRcdGVuYWJsZWQ9e3RydWV9XG5cdFx0XHQvPlxuXHRcdCk7XG5cdH1cblxuXHRwcml2YXRlIGdldERhdGFGaWVsZEZvckFjdGlvbkJ1dHRvbihhY3Rpb246IEJhc2VBY3Rpb24pOiBCdXR0b24gfCB1bmRlZmluZWQge1xuXHRcdGlmIChhY3Rpb24uYW5ub3RhdGlvblBhdGgpIHtcblx0XHRcdGNvbnN0IGNvbnRyb2xsZXIgPSB0aGlzLl9nZXRPd25lcigpPy5nZXRSb290Q29udHJvbGxlcigpIGFzIE9iamVjdFBhZ2VDb250cm9sbGVyO1xuXHRcdFx0Y29uc3QgYW5ub3RhdGlvblBhdGggPSBhY3Rpb24uYW5ub3RhdGlvblBhdGg7XG5cdFx0XHRsZXQgcHJlc3NFdmVudDogeyBwcmVzczogKGV2ZW50OiBFdmVudCkgPT4gdm9pZCB9IHwgeyBcImpzeDpjb21tYW5kXCI6IENvbW1hbmRQcm9wZXJ0aWVzIH07XG5cdFx0XHRjb25zdCB2aWV3ID0gY29udHJvbGxlci5nZXRWaWV3KCk7XG5cdFx0XHRjb25zdCBhbm5vdGF0aW9uUGF0aENvbnRleHQgPSB0aGlzLm9EYXRhTWV0YU1vZGVsLmdldENvbnRleHQoYW5ub3RhdGlvblBhdGgpO1xuXHRcdFx0Y29uc3QgZGF0YUZpZWxkQ29udGV4dE1vZGVsUGF0aCA9IGdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0czxEYXRhRmllbGRGb3JBY3Rpb24+KGFubm90YXRpb25QYXRoQ29udGV4dCk7XG5cdFx0XHRjb25zdCBkYXRhRmllbGRGb3JBY3Rpb24gPSBkYXRhRmllbGRDb250ZXh0TW9kZWxQYXRoLnRhcmdldE9iamVjdDtcblx0XHRcdGlmIChkYXRhRmllbGRGb3JBY3Rpb24pIHtcblx0XHRcdFx0Y29uc3QgYWN0aW9uUGFyYW1ldGVycyA9IHtcblx0XHRcdFx0XHRlbnRpdHlTZXROYW1lOiB0aGlzLmRhdGFWaWV3TW9kZWxQYXRoLnRhcmdldEVudGl0eVNldD8ubmFtZSxcblx0XHRcdFx0XHRpbnZvY2F0aW9uR3JvdXBpbmc6XG5cdFx0XHRcdFx0XHRkYXRhRmllbGRGb3JBY3Rpb24uSW52b2NhdGlvbkdyb3VwaW5nID09PSBcIlVJLk9wZXJhdGlvbkdyb3VwaW5nVHlwZS9DaGFuZ2VTZXRcIlxuXHRcdFx0XHRcdFx0XHQ/IChsaWJyYXJ5IGFzIENvcmVMaWIpLkludm9jYXRpb25Hcm91cGluZy5DaGFuZ2VTZXRcblx0XHRcdFx0XHRcdFx0OiAobGlicmFyeSBhcyBDb3JlTGliKS5JbnZvY2F0aW9uR3JvdXBpbmcuSXNvbGF0ZWQsXG5cdFx0XHRcdFx0bGFiZWw6IGRhdGFGaWVsZEZvckFjdGlvbi5MYWJlbD8udG9TdHJpbmcoKSxcblx0XHRcdFx0XHRpc05hdmlnYWJsZTogYWN0aW9uLmlzTmF2aWdhYmxlLFxuXHRcdFx0XHRcdGRlZmF1bHRWYWx1ZXNFeHRlbnNpb25GdW5jdGlvbjogYWN0aW9uLmRlZmF1bHRWYWx1ZXNFeHRlbnNpb25GdW5jdGlvblxuXHRcdFx0XHR9O1xuXHRcdFx0XHRpZiAoIWFjdGlvbi5jb21tYW5kKSB7XG5cdFx0XHRcdFx0cHJlc3NFdmVudCA9IHtcblx0XHRcdFx0XHRcdHByZXNzOiAoKTogdm9pZCA9PiB7XG5cdFx0XHRcdFx0XHRcdChjb250cm9sbGVyIGFzIENvbnRyb2xsZXJXaXRoQWN0aW9uKS5oYW5kbGVycy5vbkNhbGxBY3Rpb24odmlldywgZGF0YUZpZWxkRm9yQWN0aW9uLkFjdGlvbiBhcyBzdHJpbmcsIHtcblx0XHRcdFx0XHRcdFx0XHQuLi5hY3Rpb25QYXJhbWV0ZXJzLFxuXHRcdFx0XHRcdFx0XHRcdC4uLntcblx0XHRcdFx0XHRcdFx0XHRcdGNvbnRleHRzOiB2aWV3LmdldEJpbmRpbmdDb250ZXh0KCksXG5cdFx0XHRcdFx0XHRcdFx0XHRtb2RlbDogdmlldy5nZXRNb2RlbCgpXG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9O1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdC8vIGNvbW1hbmQgY29taW5nIGZyb20gdGhlIG1hbmlmZXN0IGRvZXNuJ3QgZ2V0IHRoZSBtYW5kYXRvcnkgcHJlZml4IFwiY21kOlwiIHNvIHdlIG5lZWQgdG8gYWRkIGl0XG5cdFx0XHRcdFx0aWYgKCFhY3Rpb24uY29tbWFuZC5zdGFydHNXaXRoKFwiY21kOlwiKSkge1xuXHRcdFx0XHRcdFx0YWN0aW9uLmNvbW1hbmQgPSBgY21kOiR7YWN0aW9uLmNvbW1hbmR9YDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0cHJlc3NFdmVudCA9IHsgXCJqc3g6Y29tbWFuZFwiOiBgJHthY3Rpb24uY29tbWFuZH18cHJlc3NgIGFzIENvbW1hbmRQcm9wZXJ0aWVzIH07XG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIChcblx0XHRcdFx0XHQ8QnV0dG9uXG5cdFx0XHRcdFx0XHRpZD17dGhpcy5jcmVhdGVJZCh0aGlzLmdldEFjdGlvbk1vZGVsUGF0aChhY3Rpb24pKX1cblx0XHRcdFx0XHRcdHRleHQ9e2FjdGlvblBhcmFtZXRlcnMubGFiZWx9XG5cdFx0XHRcdFx0XHR7Li4ucHJlc3NFdmVudH1cblx0XHRcdFx0XHRcdGFyaWFIYXNQb3B1cD17aXNBY3Rpb25XaXRoRGlhbG9nKGRhdGFGaWVsZENvbnRleHRNb2RlbFBhdGgudGFyZ2V0T2JqZWN0KX1cblx0XHRcdFx0XHRcdHZpc2libGU9e2FjdGlvbi52aXNpYmxlfVxuXHRcdFx0XHRcdFx0ZW5hYmxlZD17YWN0aW9uLmVuYWJsZWR9XG5cdFx0XHRcdFx0XHR0eXBlPXtDcml0aWNhbGl0eUZvcm1hdHRlcnMuYnVpbGRFeHByZXNzaW9uRm9yQ3JpdGljYWxpdHlCdXR0b25UeXBlKGRhdGFGaWVsZENvbnRleHRNb2RlbFBhdGgpfVxuXHRcdFx0XHRcdC8+XG5cdFx0XHRcdCkgYXMgQnV0dG9uO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgZ2V0TWFuaWZlc3RCdXR0b24oYWN0aW9uOiBCYXNlQWN0aW9uKTogQnV0dG9uIHwgdW5kZWZpbmVkIHtcblx0XHRpZiAoT2JqZWN0UGFnZVRlbXBsYXRpbmcuaXNNYW5pZmVzdEFjdGlvbihhY3Rpb24pKSB7XG5cdFx0XHRsZXQgcHJlc3NFdmVudDogeyBwcmVzczogKGV2ZW50OiBFdmVudCkgPT4gdm9pZCB9IHwgeyBcImpzeDpjb21tYW5kXCI6IENvbW1hbmRQcm9wZXJ0aWVzIH07XG5cdFx0XHRpZiAoYWN0aW9uLmNvbW1hbmQpIHtcblx0XHRcdFx0cHJlc3NFdmVudCA9IHsgXCJqc3g6Y29tbWFuZFwiOiBgY21kOiR7YWN0aW9uLmNvbW1hbmR9fHByZXNzYCB9O1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0cHJlc3NFdmVudCA9IHtcblx0XHRcdFx0XHRwcmVzczogKGV2ZW50OiBFdmVudCk6IHZvaWQgPT4ge1xuXHRcdFx0XHRcdFx0RlBNSGVscGVyLmFjdGlvbldyYXBwZXIoZXZlbnQsIGFjdGlvbi5oYW5kbGVyTW9kdWxlLCBhY3Rpb24uaGFuZGxlck1ldGhvZCwge30pLmNhdGNoKChlcnJvcjogdW5rbm93bikgPT5cblx0XHRcdFx0XHRcdFx0TG9nLmVycm9yKGVycm9yIGFzIHN0cmluZylcblx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9O1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIChcblx0XHRcdFx0PEJ1dHRvblxuXHRcdFx0XHRcdGlkPXt0aGlzLmNyZWF0ZUlkKGFjdGlvbi5pZCl9XG5cdFx0XHRcdFx0dGV4dD17YWN0aW9uLnRleHQgPz8gXCJcIn1cblx0XHRcdFx0XHR7Li4ucHJlc3NFdmVudH1cblx0XHRcdFx0XHR0eXBlPVwiVHJhbnNwYXJlbnRcIlxuXHRcdFx0XHRcdHZpc2libGU9e2FjdGlvbi52aXNpYmxlfVxuXHRcdFx0XHRcdGVuYWJsZWQ9e2FjdGlvbi5lbmFibGVkfVxuXHRcdFx0XHQvPlxuXHRcdFx0KSBhcyBCdXR0b247XG5cdFx0fVxuXHR9XG5cblx0Z2V0QWN0aW9uQ29udHJvbHMoKTogQnV0dG9uW10gfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IGVtcGhhc2l6ZWRCdXR0b25FeHByZXNzaW9uID0gT2JqZWN0UGFnZVRlbXBsYXRpbmcuYnVpbGRFbXBoYXNpemVkQnV0dG9uRXhwcmVzc2lvbih0aGlzLmRhdGFWaWV3TW9kZWxQYXRoKTtcblx0XHRyZXR1cm4gdGhpcy5hY3Rpb25zXG5cdFx0XHQ/Lm1hcCgoYWN0aW9uOiBCYXNlQWN0aW9uKSA9PiB7XG5cdFx0XHRcdHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcblx0XHRcdFx0XHRjYXNlIEFjdGlvblR5cGUuRGVmYXVsdEFwcGx5OlxuXHRcdFx0XHRcdFx0cmV0dXJuIHRoaXMuZ2V0QXBwbHlCdXR0b24oZW1waGFzaXplZEJ1dHRvbkV4cHJlc3Npb24pO1xuXHRcdFx0XHRcdGNhc2UgQWN0aW9uVHlwZS5EYXRhRmllbGRGb3JBY3Rpb246XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGhpcy5nZXREYXRhRmllbGRGb3JBY3Rpb25CdXR0b24oYWN0aW9uKTtcblx0XHRcdFx0XHRjYXNlIEFjdGlvblR5cGUuUHJpbWFyeTpcblx0XHRcdFx0XHRcdHJldHVybiB0aGlzLmdldFByaW1hcnkoZW1waGFzaXplZEJ1dHRvbkV4cHJlc3Npb24pO1xuXHRcdFx0XHRcdGNhc2UgQWN0aW9uVHlwZS5TZWNvbmRhcnk6XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGhpcy5nZXRDYW5jZWxCdXR0b24oKTtcblx0XHRcdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHRcdFx0cmV0dXJuIHRoaXMuZ2V0TWFuaWZlc3RCdXR0b24oYWN0aW9uKTtcblx0XHRcdFx0fVxuXHRcdFx0fSlcblx0XHRcdC5maWx0ZXIoKGFjdGlvbik6IGFjdGlvbiBpcyBCdXR0b24gPT4gISFhY3Rpb24pO1xuXHR9XG5cblx0Y3JlYXRlQ29udGVudCgpOiBPdmVyZmxvd1Rvb2xiYXIge1xuXHRcdGNvbnN0IGNvbnRyb2xsZXIgPSB0aGlzLl9nZXRPd25lcigpPy5nZXRSb290Q29udHJvbGxlcigpIGFzIE9iamVjdFBhZ2VDb250cm9sbGVyO1xuXHRcdGNvbnN0IG1lc3NhZ2VCdXR0b246IE1lc3NhZ2VCdXR0b24gPSAoXG5cdFx0XHQ8TWVzc2FnZUJ1dHRvblxuXHRcdFx0XHRpZD17dGhpcy5jcmVhdGVJZChcIk1lc3NhZ2VCdXR0b25cIil9XG5cdFx0XHRcdG1lc3NhZ2VDaGFuZ2U9eygpOiB2b2lkID0+IGNvbnRyb2xsZXIuX2dldEZvb3RlclZpc2liaWxpdHkoKX1cblx0XHRcdFx0YXJpYUxhYmVsbGVkQnk9e1t0aGlzLmNyZWF0ZUlkKFwiTWVzc2FnZUJ1dHRvbjo6QXJpYVRleHRcIikgYXMgc3RyaW5nXX1cblx0XHRcdFx0dHlwZT1cIkVtcGhhc2l6ZWRcIlxuXHRcdFx0XHRhcmlhSGFzUG9wdXA9XCJEaWFsb2dcIlxuXHRcdFx0Lz5cblx0XHQpO1xuXHRcdGNvbnN0IGZvb3RlckJhciA9IChcblx0XHRcdDxPdmVyZmxvd1Rvb2xiYXIgaWQ9e3RoaXMuY3JlYXRlSWQoXCJfZmNcIil9IGFzeW5jTW9kZT17dHJ1ZX0+XG5cdFx0XHRcdDxJbnZpc2libGVUZXh0XG5cdFx0XHRcdFx0aWQ9e3RoaXMuY3JlYXRlSWQoXCJNZXNzYWdlQnV0dG9uOjpBcmlhVGV4dFwiKX1cblx0XHRcdFx0XHR0ZXh0PVwie3NhcC5mZS5pMThuPkNfQ09NTU9OX1NBUEZFX0VSUk9SX01FU1NBR0VTX1BBR0VfQlVUVE9OX0FSSUFfVEVYVH1cIlxuXHRcdFx0XHQvPlxuXHRcdFx0XHR7bWVzc2FnZUJ1dHRvbn1cblx0XHRcdFx0PFRvb2xiYXJTcGFjZXIgLz5cblx0XHRcdFx0e3RoaXMuZ2V0RHJhZnRJbmRpY2F0b3IoKX1cblx0XHRcdFx0e3RoaXMuZ2V0QWN0aW9uQ29udHJvbHMoKX1cblx0XHRcdDwvT3ZlcmZsb3dUb29sYmFyPlxuXHRcdCk7XG5cdFx0Y29udHJvbGxlclxuXHRcdFx0LmdldFZpZXcoKVxuXHRcdFx0LmFkZERlcGVuZGVudChcblx0XHRcdFx0PENvbW1hbmRFeGVjdXRpb25cblx0XHRcdFx0XHRyZWY9e3RoaXMuY21kRXhlY3V0aW9ufVxuXHRcdFx0XHRcdGNvbW1hbmQ9XCJPcGVuTWVzc2FnZUJ1dHRvbk1lbnVcIlxuXHRcdFx0XHRcdGV4ZWN1dGU9eygpOiBNZXNzYWdlQnV0dG9uID0+IG1lc3NhZ2VCdXR0b24uZmlyZVByZXNzKCl9XG5cdFx0XHRcdC8+XG5cdFx0XHQpO1xuXHRcdHJldHVybiBmb290ZXJCYXI7XG5cdH1cbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BOENxQkEsYUFBYSxXQURqQ0MsY0FBYyxDQUFDLDZCQUE2QixDQUFDLFVBRTVDQyxrQkFBa0IsQ0FBQyxxQkFBcUIsQ0FBQyxVQUd6Q0Esa0JBQWtCLENBQUMsWUFBWSxDQUFDLFVBR2hDQyxRQUFRLENBQUM7SUFDVEMsSUFBSSxFQUFFLFFBQVE7SUFDZEMsUUFBUSxFQUFFO0VBQ1gsQ0FBQyxDQUFDLFVBR0RGLFFBQVEsQ0FBQztJQUNUQyxJQUFJLEVBQUUsUUFBUTtJQUNkQyxRQUFRLEVBQUU7RUFDWCxDQUFDLENBQUMsVUFHREYsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFTLENBQUMsQ0FBQyxVQUc1QkUsZUFBZSxFQUFFO0lBQUE7SUFXbEIsdUJBQVlDLEtBQXFELEVBQUVDLE1BQXlCLEVBQUU7TUFBQTtNQUM3RixzQ0FBTUQsS0FBSyxFQUFFQyxNQUFNLENBQUM7TUFBQztNQUFBO01BQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtJQUN0QjtJQUFDO0lBQUE7SUFBQSxPQUVEQyxVQUFVLEdBQVYsc0JBQW1CO01BQUE7TUFDbEIsTUFBTUMsS0FBSyxHQUFHLElBQUksQ0FBQ0MsU0FBUyxFQUFFO01BQzlCLElBQUksQ0FBQ0MsT0FBTyxHQUFHRixLQUFLLGFBQUxBLEtBQUssZ0RBQUxBLEtBQUssQ0FBRUcsbUJBQW1CLG9GQUExQixzQkFBNEJDLGVBQWUscUZBQTNDLHVCQUE2Q0MsZ0JBQWdCLDJEQUE3RCx1QkFBK0RDLFNBQVMsQ0FBQyxlQUFlLENBQUM7TUFDeEcsTUFBTUMsZ0JBQWdCLEdBQUdQLEtBQUssYUFBTEEsS0FBSyxpREFBTEEsS0FBSyxDQUFFRyxtQkFBbUIs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
|