@sapui5/sap.fe.macros 1.141.1 → 1.142.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/Breadcrumbs.js +4 -10
- package/src/sap/fe/macros/Breadcrumbs.tsx +2 -8
- package/src/sap/fe/macros/Chart.js +34 -23
- package/src/sap/fe/macros/Chart.tsx +25 -11
- package/src/sap/fe/macros/CollaborativeDraftHandler.js +48 -31
- package/src/sap/fe/macros/CollaborativeDraftHandler.tsx +51 -26
- package/src/sap/fe/macros/CollectionBindingInfo.js +8 -2
- package/src/sap/fe/macros/CollectionBindingInfo.ts +11 -6
- package/src/sap/fe/macros/CommonHelper.js +14 -24
- package/src/sap/fe/macros/CommonHelper.ts +18 -25
- package/src/sap/fe/macros/Field.js +30 -13
- package/src/sap/fe/macros/Field.ts +60 -30
- package/src/sap/fe/macros/FooterContent.js +5 -2
- package/src/sap/fe/macros/FooterContent.tsx +6 -3
- package/src/sap/fe/macros/KPITag.js +1 -1
- package/src/sap/fe/macros/KPITag.tsx +3 -1
- package/src/sap/fe/macros/MacroAPI.js +3 -2
- package/src/sap/fe/macros/MacroAPI.ts +2 -2
- package/src/sap/fe/macros/MessageButton.js +3 -2
- package/src/sap/fe/macros/MessageButton.tsx +5 -2
- package/src/sap/fe/macros/MicroChart.js +10 -6
- package/src/sap/fe/macros/MicroChart.tsx +8 -2
- package/src/sap/fe/macros/MultiValueField.js +22 -36
- package/src/sap/fe/macros/MultiValueField.tsx +34 -66
- package/src/sap/fe/macros/RichTextEditor.js +3 -4
- package/src/sap/fe/macros/RichTextEditor.tsx +2 -3
- package/src/sap/fe/macros/Status.js +35 -8
- package/src/sap/fe/macros/Status.tsx +23 -2
- package/src/sap/fe/macros/ValueHelp.js +5 -2
- package/src/sap/fe/macros/ValueHelp.tsx +5 -0
- package/src/sap/fe/macros/ai/EasyFilterBar.js +7 -34
- package/src/sap/fe/macros/ai/EasyFilterBar.tsx +6 -35
- package/src/sap/fe/macros/ai/EasyFilterDataFetcher.js +31 -7
- package/src/sap/fe/macros/ai/EasyFilterDataFetcher.ts +33 -6
- package/src/sap/fe/macros/chart/Action.js +25 -2
- package/src/sap/fe/macros/chart/Action.ts +13 -0
- package/src/sap/fe/macros/chart/ActionGroup.js +25 -2
- package/src/sap/fe/macros/chart/ActionGroup.ts +13 -0
- package/src/sap/fe/macros/chart/ChartDelegate.js +8 -8
- package/src/sap/fe/macros/chart/ChartDelegate.ts +17 -12
- package/src/sap/fe/macros/chart/MdcChartTemplate.js +54 -11
- package/src/sap/fe/macros/chart/MdcChartTemplate.tsx +70 -11
- package/src/sap/fe/macros/chart/OverflowGroup.js +62 -0
- package/src/sap/fe/macros/chart/OverflowGroup.ts +22 -0
- package/src/sap/fe/macros/controls/FilterBar.js +39 -3
- package/src/sap/fe/macros/controls/FilterBar.ts +42 -1
- package/src/sap/fe/macros/controls/RadioButtons.js +18 -5
- package/src/sap/fe/macros/controls/RadioButtons.tsx +10 -1
- package/src/sap/fe/macros/coreUI/CreateDialog.js +2 -2
- package/src/sap/fe/macros/coreUI/CreateDialog.tsx +1 -1
- package/src/sap/fe/macros/coreUI/OperationParameterDialog.js +37 -9
- package/src/sap/fe/macros/coreUI/OperationParameterDialog.tsx +45 -6
- package/src/sap/fe/macros/draftIndicator/DraftIndicator.js +4 -2
- package/src/sap/fe/macros/draftIndicator/DraftIndicator.tsx +3 -1
- package/src/sap/fe/macros/field/FieldFormatOptions.js +3 -3
- package/src/sap/fe/macros/field/FieldFormatOptions.ts +1 -1
- package/src/sap/fe/macros/field/FieldHelper.js +4 -3
- package/src/sap/fe/macros/field/FieldHelper.ts +7 -1
- package/src/sap/fe/macros/field/FieldRuntime.js +38 -8
- package/src/sap/fe/macros/field/FieldRuntime.ts +65 -7
- package/src/sap/fe/macros/field/FieldRuntimeHelper.js +3 -34
- package/src/sap/fe/macros/field/FieldRuntimeHelper.ts +28 -53
- package/src/sap/fe/macros/field/FieldTemplating.js +5 -4
- package/src/sap/fe/macros/field/FieldTemplating.ts +6 -4
- package/src/sap/fe/macros/filter/FilterFieldHelper.js +6 -4
- package/src/sap/fe/macros/filter/FilterFieldHelper.ts +7 -2
- package/src/sap/fe/macros/filter/FilterUtils.js +100 -36
- package/src/sap/fe/macros/filter/FilterUtils.ts +127 -39
- package/src/sap/fe/macros/filterBar/ExtendedSemanticDateOperators.js +2 -2
- package/src/sap/fe/macros/filterBar/ExtendedSemanticDateOperators.ts +1 -1
- package/src/sap/fe/macros/filterBar/FilterBar.block.js +4 -3
- package/src/sap/fe/macros/filterBar/FilterBar.block.tsx +19 -8
- package/src/sap/fe/macros/filterBar/FilterBarAPI.js +10 -7
- package/src/sap/fe/macros/filterBar/FilterBarAPI.ts +31 -16
- package/src/sap/fe/macros/filterBar/FilterBarDelegate.js +4 -3
- package/src/sap/fe/macros/filterBar/FilterBarDelegate.ts +5 -2
- package/src/sap/fe/macros/filterBar/mixin/FilterBarAPIStateHandler.js +4 -3
- package/src/sap/fe/macros/filterBar/mixin/FilterBarAPIStateHandler.ts +3 -2
- package/src/sap/fe/macros/form/Form.block.js +27 -2
- package/src/sap/fe/macros/form/Form.block.ts +31 -11
- package/src/sap/fe/macros/form/FormActionButtons.fragment.xml +13 -3
- package/src/sap/fe/macros/form/FormContainer.block.js +96 -65
- package/src/sap/fe/macros/form/FormContainer.block.ts +104 -65
- package/src/sap/fe/macros/formatters/TableFormatter.js +13 -10
- package/src/sap/fe/macros/formatters/TableFormatter.ts +11 -9
- package/src/sap/fe/macros/formatters/VisualFilterFormatter.js +6 -4
- package/src/sap/fe/macros/formatters/VisualFilterFormatter.ts +5 -5
- package/src/sap/fe/macros/inlineEdit/InlineEdit.js +5 -5
- package/src/sap/fe/macros/inlineEdit/InlineEdit.ts +4 -4
- package/src/sap/fe/macros/insights/InsightsService.js +3 -2
- package/src/sap/fe/macros/insights/InsightsService.ts +2 -1
- package/src/sap/fe/macros/internal/DataPoint.js +7 -8
- package/src/sap/fe/macros/internal/DataPoint.tsx +6 -9
- package/src/sap/fe/macros/internal/field/DisplayStyle.js +8 -6
- package/src/sap/fe/macros/internal/field/DisplayStyle.tsx +7 -8
- package/src/sap/fe/macros/internal/field/EditStyle.js +9 -20
- package/src/sap/fe/macros/internal/field/EditStyle.tsx +17 -41
- package/src/sap/fe/macros/internal/field/FieldBlockStructure.js +2 -2
- package/src/sap/fe/macros/internal/field/FieldBlockStructure.tsx +1 -1
- package/src/sap/fe/macros/internal/field/FieldStructure.js +1 -2
- package/src/sap/fe/macros/internal/field/FieldStructure.tsx +0 -2
- package/src/sap/fe/macros/internal/field/FieldStructureHelper.js +7 -7
- package/src/sap/fe/macros/internal/field/FieldStructureHelper.ts +17 -11
- package/src/sap/fe/macros/internal/helpers/DataPointTemplating.js +6 -2
- package/src/sap/fe/macros/internal/helpers/DataPointTemplating.ts +5 -1
- package/src/sap/fe/macros/internal/valuehelp/AdditionalValueFormatter.js +9 -6
- package/src/sap/fe/macros/internal/valuehelp/AdditionalValueFormatter.ts +7 -5
- package/src/sap/fe/macros/internal/valuehelp/TableDelegate.js +4 -4
- package/src/sap/fe/macros/internal/valuehelp/TableDelegate.ts +6 -6
- package/src/sap/fe/macros/internal/valuehelp/ValueListDialogTable.fragment.xml +5 -2
- package/src/sap/fe/macros/library.js +3 -3
- package/src/sap/fe/macros/library.ts +2 -0
- package/src/sap/fe/macros/mdc/adapter/StateHelper.js +15 -5
- package/src/sap/fe/macros/mdc/adapter/StateHelper.ts +21 -5
- package/src/sap/fe/macros/messagebundle.properties +7 -5
- package/src/sap/fe/macros/messagebundle_ar.properties +12 -3
- package/src/sap/fe/macros/messagebundle_bg.properties +13 -4
- package/src/sap/fe/macros/messagebundle_ca.properties +12 -3
- package/src/sap/fe/macros/messagebundle_cnr.properties +12 -3
- package/src/sap/fe/macros/messagebundle_cs.properties +11 -2
- package/src/sap/fe/macros/messagebundle_cy.properties +12 -3
- package/src/sap/fe/macros/messagebundle_da.properties +12 -3
- package/src/sap/fe/macros/messagebundle_de.properties +16 -7
- package/src/sap/fe/macros/messagebundle_el.properties +13 -4
- package/src/sap/fe/macros/messagebundle_en.properties +13 -4
- package/src/sap/fe/macros/messagebundle_en_GB.properties +13 -4
- package/src/sap/fe/macros/messagebundle_en_US_saprigi.properties +12 -3
- package/src/sap/fe/macros/messagebundle_es.properties +12 -3
- package/src/sap/fe/macros/messagebundle_es_MX.properties +12 -3
- package/src/sap/fe/macros/messagebundle_et.properties +12 -3
- package/src/sap/fe/macros/messagebundle_fi.properties +12 -3
- package/src/sap/fe/macros/messagebundle_fr.properties +12 -3
- package/src/sap/fe/macros/messagebundle_fr_CA.properties +12 -3
- package/src/sap/fe/macros/messagebundle_hi.properties +12 -3
- package/src/sap/fe/macros/messagebundle_hr.properties +13 -4
- package/src/sap/fe/macros/messagebundle_hu.properties +12 -3
- package/src/sap/fe/macros/messagebundle_id.properties +18 -9
- package/src/sap/fe/macros/messagebundle_it.properties +12 -3
- package/src/sap/fe/macros/messagebundle_iw.properties +12 -3
- package/src/sap/fe/macros/messagebundle_ja.properties +12 -3
- package/src/sap/fe/macros/messagebundle_kk.properties +11 -2
- package/src/sap/fe/macros/messagebundle_ko.properties +13 -4
- package/src/sap/fe/macros/messagebundle_lt.properties +12 -3
- package/src/sap/fe/macros/messagebundle_lv.properties +12 -3
- package/src/sap/fe/macros/messagebundle_mk.properties +12 -3
- package/src/sap/fe/macros/messagebundle_ms.properties +12 -3
- package/src/sap/fe/macros/messagebundle_nl.properties +12 -3
- package/src/sap/fe/macros/messagebundle_no.properties +12 -3
- package/src/sap/fe/macros/messagebundle_pl.properties +12 -3
- package/src/sap/fe/macros/messagebundle_pt.properties +12 -3
- package/src/sap/fe/macros/messagebundle_pt_PT.properties +12 -3
- package/src/sap/fe/macros/messagebundle_ro.properties +13 -4
- package/src/sap/fe/macros/messagebundle_ru.properties +12 -3
- package/src/sap/fe/macros/messagebundle_sh.properties +12 -3
- package/src/sap/fe/macros/messagebundle_sk.properties +12 -3
- package/src/sap/fe/macros/messagebundle_sl.properties +13 -4
- package/src/sap/fe/macros/messagebundle_sr.properties +12 -3
- package/src/sap/fe/macros/messagebundle_sv.properties +12 -3
- package/src/sap/fe/macros/messagebundle_th.properties +11 -2
- package/src/sap/fe/macros/messagebundle_tr.properties +12 -3
- package/src/sap/fe/macros/messagebundle_uk.properties +12 -3
- package/src/sap/fe/macros/messagebundle_vi.properties +13 -4
- package/src/sap/fe/macros/messagebundle_zh_CN.properties +12 -3
- package/src/sap/fe/macros/messagebundle_zh_TW.properties +12 -3
- package/src/sap/fe/macros/richtexteditor/ButtonGroup.js +2 -2
- package/src/sap/fe/macros/richtexteditor/ButtonGroup.ts +2 -2
- package/src/sap/fe/macros/table/Action.js +15 -2
- package/src/sap/fe/macros/table/Action.ts +11 -1
- package/src/sap/fe/macros/table/ActionGroup.js +15 -2
- package/src/sap/fe/macros/table/ActionGroup.ts +8 -0
- package/src/sap/fe/macros/table/ActionGroupOverride.js +14 -2
- package/src/sap/fe/macros/table/ActionGroupOverride.ts +7 -0
- package/src/sap/fe/macros/table/ActionOverride.js +14 -2
- package/src/sap/fe/macros/table/ActionOverride.ts +7 -0
- package/src/sap/fe/macros/table/ActionsTemplating.js +16 -2
- package/src/sap/fe/macros/table/ActionsTemplating.tsx +15 -0
- package/src/sap/fe/macros/table/MdcTableTemplate.js +91 -10
- package/src/sap/fe/macros/table/MdcTableTemplate.tsx +131 -10
- package/src/sap/fe/macros/table/OverflowGroups.js +59 -0
- package/src/sap/fe/macros/table/OverflowGroups.ts +27 -0
- package/src/sap/fe/macros/table/Table.block.js +70 -29
- package/src/sap/fe/macros/table/Table.block.tsx +65 -12
- package/src/sap/fe/macros/table/TableAPI.js +169 -131
- package/src/sap/fe/macros/table/TableAPI.ts +58 -28
- package/src/sap/fe/macros/table/TableDefinition.js +19 -2
- package/src/sap/fe/macros/table/TableDefinition.ts +17 -1
- package/src/sap/fe/macros/table/TableEventHandlerProvider.js +4 -3
- package/src/sap/fe/macros/table/TableEventHandlerProvider.ts +8 -9
- package/src/sap/fe/macros/table/TableHelper.js +5 -2
- package/src/sap/fe/macros/table/TableHelper.ts +5 -2
- package/src/sap/fe/macros/table/TableRuntime.js +2 -2
- package/src/sap/fe/macros/table/TableRuntime.ts +4 -6
- package/src/sap/fe/macros/table/TableSizeHelper.js +4 -4
- package/src/sap/fe/macros/table/TableSizeHelper.ts +6 -11
- package/src/sap/fe/macros/table/delegates/TableDelegate.js +67 -26
- package/src/sap/fe/macros/table/delegates/TableDelegate.ts +108 -118
- package/src/sap/fe/macros/table/massEdit/MassEditDialogHelper.js +2 -2
- package/src/sap/fe/macros/table/massEdit/MassEditDialogHelper.tsx +1 -1
- package/src/sap/fe/macros/table/massEdit/MassEditField.js +1 -1
- package/src/sap/fe/macros/table/massEdit/MassEditField.tsx +3 -6
- package/src/sap/fe/macros/table/mixin/EmptyRowsHandler.js +6 -5
- package/src/sap/fe/macros/table/mixin/EmptyRowsHandler.ts +10 -4
- package/src/sap/fe/macros/table/mixin/TableAPIStateHandler.js +7 -9
- package/src/sap/fe/macros/table/mixin/TableAPIStateHandler.ts +7 -8
- package/src/sap/fe/macros/table/mixin/TableExport.js +1 -1
- package/src/sap/fe/macros/table/mixin/TableExport.ts +3 -3
- package/src/sap/fe/macros/visualfilters/InteractiveChartHelper.js +4 -4
- package/src/sap/fe/macros/visualfilters/InteractiveChartHelper.ts +3 -3
- package/src/sap/fe/macros/visualfilters/VisualFilter.js +20 -2
- package/src/sap/fe/macros/visualfilters/VisualFilter.tsx +28 -6
- package/src/sap/fe/macros/visualfilters/VisualFilterRuntime.js +6 -3
- package/src/sap/fe/macros/visualfilters/VisualFilterRuntime.ts +4 -3
- package/src/sap/fe/macros/visualfilters/fragments/InteractiveCharts.js +3 -3
- package/src/sap/fe/macros/visualfilters/fragments/InteractiveCharts.tsx +10 -4
- package/src/sap/fe/macros/visualfilters/fragments/InteractiveDonutChart.fragment.xml +1 -1
|
@@ -24,7 +24,14 @@ import {
|
|
|
24
24
|
type PropertiesOf
|
|
25
25
|
} from "sap/fe/base/ClassSupport";
|
|
26
26
|
import type AppComponent from "sap/fe/core/AppComponent";
|
|
27
|
+
import type PageController from "sap/fe/core/PageController";
|
|
28
|
+
import BuildingBlock from "sap/fe/core/buildingBlocks/BuildingBlock";
|
|
29
|
+
import { CollaborationFieldGroupPrefix } from "sap/fe/core/controllerextensions/collaboration/CollaborationCommon";
|
|
30
|
+
import FormElementWrapper from "sap/fe/core/controls/FormElementWrapper";
|
|
31
|
+
import * as CollaborationFormatters from "sap/fe/core/formatters/CollaborationFormatter";
|
|
27
32
|
import { UI } from "sap/fe/core/helpers/BindingHelper";
|
|
33
|
+
import type MetaPath from "sap/fe/core/helpers/MetaPath";
|
|
34
|
+
import ModelHelper from "sap/fe/core/helpers/ModelHelper";
|
|
28
35
|
import * as ID from "sap/fe/core/helpers/StableIdHelper";
|
|
29
36
|
import {
|
|
30
37
|
isMultipleNavigationProperty,
|
|
@@ -41,40 +48,29 @@ import {
|
|
|
41
48
|
isPathDeletable,
|
|
42
49
|
isPathInsertable
|
|
43
50
|
} from "sap/fe/core/templating/DataModelPathHelper";
|
|
51
|
+
import { isReadOnlyExpression, isRequiredExpression } from "sap/fe/core/templating/FieldControlHelper";
|
|
44
52
|
import type { DisplayMode } from "sap/fe/core/templating/UIFormatters";
|
|
45
|
-
import
|
|
53
|
+
import * as UIFormatters from "sap/fe/core/templating/UIFormatters";
|
|
54
|
+
import { getDisplayMode } from "sap/fe/core/templating/UIFormatters";
|
|
46
55
|
import FieldHelper from "sap/fe/macros/field/FieldHelper";
|
|
56
|
+
import FieldRuntime from "sap/fe/macros/field/FieldRuntime";
|
|
47
57
|
import { getValueBinding, getVisibleExpression } from "sap/fe/macros/field/FieldTemplating";
|
|
48
|
-
import
|
|
58
|
+
import FormatOptions from "sap/fe/macros/multivaluefield/FormatOptions";
|
|
59
|
+
import MultiValueFieldRuntime from "sap/fe/macros/multivaluefield/MultiValueFieldRuntime";
|
|
60
|
+
import HBox from "sap/m/HBox";
|
|
49
61
|
import type { PropertyBindingInfo } from "sap/ui/base/ManagedObject";
|
|
50
62
|
import type Control from "sap/ui/core/Control";
|
|
63
|
+
import type { $ControlSettings, Control$ValidateFieldGroupEvent } from "sap/ui/core/Control";
|
|
51
64
|
import CustomData from "sap/ui/core/CustomData";
|
|
65
|
+
import Element from "sap/ui/core/Element";
|
|
52
66
|
import MultiValueField from "sap/ui/mdc/MultiValueField";
|
|
67
|
+
import type { default as MdcValueHelp, ValueHelp$OpenedEvent } from "sap/ui/mdc/ValueHelp";
|
|
53
68
|
import type FieldEditMode from "sap/ui/mdc/enums/FieldEditMode";
|
|
54
69
|
import MultiValueFieldItem from "sap/ui/mdc/field/MultiValueFieldItem";
|
|
55
70
|
import type Context from "sap/ui/model/odata/v4/Context";
|
|
56
|
-
|
|
57
|
-
import type PageController from "sap/fe/core/PageController";
|
|
58
|
-
import BuildingBlock from "sap/fe/core/buildingBlocks/BuildingBlock";
|
|
59
|
-
import { CollaborationFieldGroupPrefix } from "sap/fe/core/controllerextensions/collaboration/CollaborationCommon";
|
|
60
|
-
import FormElementWrapper from "sap/fe/core/controls/FormElementWrapper";
|
|
61
|
-
import * as CollaborationFormatters from "sap/fe/core/formatters/CollaborationFormatter";
|
|
62
|
-
import type MetaPath from "sap/fe/core/helpers/MetaPath";
|
|
63
|
-
import ModelHelper from "sap/fe/core/helpers/ModelHelper";
|
|
64
|
-
import { isReadOnlyExpression, isRequiredExpression } from "sap/fe/core/templating/FieldControlHelper";
|
|
65
|
-
import * as UIFormatters from "sap/fe/core/templating/UIFormatters";
|
|
66
|
-
import FieldRuntime from "sap/fe/macros/field/FieldRuntime";
|
|
67
|
-
import FormatOptions from "sap/fe/macros/multivaluefield/FormatOptions";
|
|
68
|
-
import MultiValueFieldRuntime from "sap/fe/macros/multivaluefield/MultiValueFieldRuntime";
|
|
69
|
-
import Avatar from "sap/m/Avatar";
|
|
70
|
-
import HBox from "sap/m/HBox";
|
|
71
|
-
import UI5Event from "sap/ui/base/Event";
|
|
72
|
-
import type { $ControlSettings } from "sap/ui/core/Control";
|
|
73
|
-
import Element from "sap/ui/core/Element";
|
|
74
|
-
import type { default as MdcValueHelp, ValueHelp$OpenedEvent } from "sap/ui/mdc/ValueHelp";
|
|
75
71
|
import type { MetaModelType } from "../../../../../../types/metamodel_types";
|
|
72
|
+
import CollaborativeDraftHandler from "./CollaborativeDraftHandler";
|
|
76
73
|
import ValueHelp from "./ValueHelp";
|
|
77
|
-
import FieldRuntimeHelper from "./field/FieldRuntimeHelper";
|
|
78
74
|
|
|
79
75
|
type MultiInputSettings = {
|
|
80
76
|
description: BindingToolkitExpression<string> | CompiledBindingToolkitExpression;
|
|
@@ -199,11 +195,6 @@ export default class MultiValueFieldBlock extends BuildingBlock<Control> {
|
|
|
199
195
|
*/
|
|
200
196
|
private dataModelPath!: DataModelObjectPath<Property>;
|
|
201
197
|
|
|
202
|
-
/**
|
|
203
|
-
* Property to be displayed
|
|
204
|
-
*/
|
|
205
|
-
private property!: Property;
|
|
206
|
-
|
|
207
198
|
/**
|
|
208
199
|
* Edit Mode of the field.
|
|
209
200
|
* If the editMode is undefined then we compute it based on the metadata
|
|
@@ -227,14 +218,8 @@ export default class MultiValueFieldBlock extends BuildingBlock<Control> {
|
|
|
227
218
|
|
|
228
219
|
private enhancedMetaPath!: Context;
|
|
229
220
|
|
|
230
|
-
private enableExpression: CompiledBindingToolkitExpression;
|
|
231
|
-
|
|
232
221
|
private collaborationExpression!: BindingToolkitExpression<boolean>;
|
|
233
222
|
|
|
234
|
-
private collaborationInitialsExpression!: CompiledBindingToolkitExpression;
|
|
235
|
-
|
|
236
|
-
private collaborationColorExpression!: CompiledBindingToolkitExpression;
|
|
237
|
-
|
|
238
223
|
private collaborationEnabled!: boolean;
|
|
239
224
|
|
|
240
225
|
private dataSourcePath!: string;
|
|
@@ -413,7 +398,6 @@ export default class MultiValueFieldBlock extends BuildingBlock<Control> {
|
|
|
413
398
|
(this.convertedDataField.Value as PathAnnotationExpression<string>).path
|
|
414
399
|
);
|
|
415
400
|
this.dataSourcePath = getTargetObjectPath(this.dataModelPath);
|
|
416
|
-
this.property = this.dataModelPath.targetObject as Property;
|
|
417
401
|
|
|
418
402
|
let insertable = isPathInsertable(this.dataModelPath);
|
|
419
403
|
const deleteNavigationRestriction = isPathDeletable(this.dataModelPath, {
|
|
@@ -508,13 +492,6 @@ export default class MultiValueFieldBlock extends BuildingBlock<Control> {
|
|
|
508
492
|
this.dataModelPath,
|
|
509
493
|
CollaborationFormatters.hasCollaborationActivity
|
|
510
494
|
);
|
|
511
|
-
|
|
512
|
-
this.collaborationInitialsExpression = compileExpression(
|
|
513
|
-
getCollaborationExpression(this.dataModelPath, CollaborationFormatters.getCollaborationActivityInitials)
|
|
514
|
-
);
|
|
515
|
-
this.collaborationColorExpression = compileExpression(
|
|
516
|
-
getCollaborationExpression(this.dataModelPath, CollaborationFormatters.getCollaborationActivityColor)
|
|
517
|
-
);
|
|
518
495
|
}
|
|
519
496
|
}
|
|
520
497
|
|
|
@@ -543,7 +520,6 @@ export default class MultiValueFieldBlock extends BuildingBlock<Control> {
|
|
|
543
520
|
this.vhIdPrefix = this.createId("FieldValueHelp")!;
|
|
544
521
|
}
|
|
545
522
|
const controller = this._getOwner()?.getRootController() as PageController;
|
|
546
|
-
const view = controller.getView();
|
|
547
523
|
const odataMetaModel = this._getOwner()?.getMetaModel();
|
|
548
524
|
const metaContext = odataMetaModel?.createBindingContext(metaContextPath.getPath());
|
|
549
525
|
const context = odataMetaModel?.createBindingContext(metaContextPath.getContextPath());
|
|
@@ -589,7 +565,7 @@ export default class MultiValueFieldBlock extends BuildingBlock<Control> {
|
|
|
589
565
|
required={compileExpression(and(UI.IsEditable, isRequiredExpression(this.convertedDataField)))}
|
|
590
566
|
change={(MultiValueFieldRuntime.handleChange as unknown as Function).bind(MultiValueFieldRuntime, controller)}
|
|
591
567
|
fieldGroupIds={this.fieldGroupIds}
|
|
592
|
-
validateFieldGroup={
|
|
568
|
+
validateFieldGroup={this.onValidateFieldGroup.bind(this)}
|
|
593
569
|
>
|
|
594
570
|
{{
|
|
595
571
|
items: <MultiValueFieldItem key={this.item.key} description={this.item.description} />,
|
|
@@ -600,24 +576,16 @@ export default class MultiValueFieldBlock extends BuildingBlock<Control> {
|
|
|
600
576
|
|
|
601
577
|
let formwrapper = null;
|
|
602
578
|
if (this.collaborationEnabled) {
|
|
603
|
-
const
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
initials={this.collaborationInitialsExpression}
|
|
607
|
-
displaySize="Custom"
|
|
608
|
-
customDisplaySize="1.5rem"
|
|
609
|
-
customFontSize="0.8rem"
|
|
610
|
-
backgroundColor={this.collaborationColorExpression}
|
|
611
|
-
press={(): void => {
|
|
612
|
-
FieldRuntimeHelper.showCollaborationEditUser(avatar, view);
|
|
613
|
-
}}
|
|
614
|
-
/>
|
|
579
|
+
const propertyPath = getContextRelativeTargetObjectPath(this.dataModelPath);
|
|
580
|
+
const collDraftHandler = (
|
|
581
|
+
<CollaborativeDraftHandler metaPath={propertyPath} contextPath={this.contextPath} showAvatar={true} />
|
|
615
582
|
);
|
|
583
|
+
|
|
616
584
|
formwrapper = (
|
|
617
585
|
<FormElementWrapper>
|
|
618
586
|
<HBox width="100%" renderType="Bare" alignItems="End">
|
|
619
587
|
{{
|
|
620
|
-
items: [multiValueField,
|
|
588
|
+
items: [multiValueField, collDraftHandler]
|
|
621
589
|
}}
|
|
622
590
|
</HBox>
|
|
623
591
|
</FormElementWrapper>
|
|
@@ -634,16 +602,6 @@ export default class MultiValueFieldBlock extends BuildingBlock<Control> {
|
|
|
634
602
|
currentMultiValueField?.focus();
|
|
635
603
|
});
|
|
636
604
|
}
|
|
637
|
-
},
|
|
638
|
-
onfocusout: (evt: jQuery.Event & { srcControl: Control }) => {
|
|
639
|
-
let currentMultiValueField = evt.srcControl.getParent() as MultiValueField;
|
|
640
|
-
if (currentMultiValueField?.isA<Tokenizer>("sap.m.Tokenizer")) {
|
|
641
|
-
currentMultiValueField = currentMultiValueField.getParent()?.getParent() as MultiValueField;
|
|
642
|
-
}
|
|
643
|
-
const event = new UI5Event("", currentMultiValueField, {
|
|
644
|
-
fieldGroupIds: currentMultiValueField.getFieldGroupIds()
|
|
645
|
-
});
|
|
646
|
-
controller.collaborativeDraft.handleContentFocusOut(event);
|
|
647
605
|
}
|
|
648
606
|
},
|
|
649
607
|
this
|
|
@@ -661,6 +619,16 @@ export default class MultiValueFieldBlock extends BuildingBlock<Control> {
|
|
|
661
619
|
}
|
|
662
620
|
}
|
|
663
621
|
|
|
622
|
+
/**
|
|
623
|
+
* Callback when the user leaves the MVF.
|
|
624
|
+
* @param event
|
|
625
|
+
*/
|
|
626
|
+
onValidateFieldGroup(event: Control$ValidateFieldGroupEvent): void {
|
|
627
|
+
const controller = this._getOwner()?.getRootController() as PageController;
|
|
628
|
+
controller.collaborativeDraft.handleContentFocusOut(event);
|
|
629
|
+
FieldRuntime.onValidateFieldGroup(event);
|
|
630
|
+
}
|
|
631
|
+
|
|
664
632
|
/**
|
|
665
633
|
* Setter for the readOnly property.
|
|
666
634
|
* @param readOnly
|
|
@@ -121,14 +121,14 @@ sap.ui.define(["sap/fe/base/BindingToolkit", "sap/fe/base/ClassSupport", "sap/fe
|
|
|
121
121
|
};
|
|
122
122
|
/**
|
|
123
123
|
* Method that returns the button customizations for the editor toolbar.
|
|
124
|
-
* Because all values
|
|
124
|
+
* Because all values are returned as strings from XML, parsing is needed to return attributes with the correct type.
|
|
125
125
|
* @returns The button groups.
|
|
126
126
|
*/
|
|
127
127
|
_this.getButtonGroups = () => {
|
|
128
128
|
if (_this.buttonGroups && _this.buttonGroups.length > 0) {
|
|
129
129
|
return _this.buttonGroups.map(buttonGroup => ({
|
|
130
130
|
name: buttonGroup.name ?? "",
|
|
131
|
-
visible: buttonGroup.visible === "true",
|
|
131
|
+
visible: buttonGroup.visible?.toString() === "true",
|
|
132
132
|
priority: buttonGroup.priority,
|
|
133
133
|
row: buttonGroup.row,
|
|
134
134
|
customToolbarPriority: buttonGroup.customToolbarPriority,
|
|
@@ -146,7 +146,6 @@ sap.ui.define(["sap/fe/base/BindingToolkit", "sap/fe/base/ClassSupport", "sap/fe
|
|
|
146
146
|
visible: true,
|
|
147
147
|
customToolbar: true,
|
|
148
148
|
editable: true,
|
|
149
|
-
editorType: "TinyMCE6",
|
|
150
149
|
showGroupFontStyle: true,
|
|
151
150
|
showGroupTextAlign: true,
|
|
152
151
|
showGroupStructure: true,
|
|
@@ -300,4 +299,4 @@ sap.ui.define(["sap/fe/base/BindingToolkit", "sap/fe/base/ClassSupport", "sap/fe
|
|
|
300
299
|
_exports = RichTextEditorBlock;
|
|
301
300
|
return _exports;
|
|
302
301
|
}, false);
|
|
303
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSaWNoVGV4dEVkaXRvckJsb2NrIiwiX2RlYyIsImRlZmluZVVJNUNsYXNzIiwiX2RlYzIiLCJwcm9wZXJ0eSIsInR5cGUiLCJyZXF1aXJlZCIsIl9kZWMzIiwiaXNCaW5kaW5nSW5mbyIsIl9kZWM0IiwiX2RlYzUiLCJhZ2dyZWdhdGlvbiIsIm11bHRpcGxlIiwiZGVmYXVsdENsYXNzIiwiQnV0dG9uR3JvdXAiLCJfZGVjNiIsIlBsdWdpbkRlZmluaXRpb24iLCJfZGVjNyIsIl9kZWM4IiwiYmluZGFibGUiLCJfZGVjOSIsIl9jbGFzcyIsIl9jbGFzczIiLCJfQnVpbGRpbmdCbG9jayIsInByb3BlcnRpZXMiLCJvdGhlcnMiLCJfdGhpcyIsIl9pc0luRWRpdE1vZGUiLCJjb21waWxlRXhwcmVzc2lvbiIsIlVJIiwiSXNFZGl0YWJsZSIsImNhbGwiLCJfaW5pdGlhbGl6ZXJEZWZpbmVQcm9wZXJ0eSIsIl9kZXNjcmlwdG9yIiwiX2Rlc2NyaXB0b3IyIiwiX2Rlc2NyaXB0b3IzIiwiX2Rlc2NyaXB0b3I0IiwiX2Rlc2NyaXB0b3I1IiwiX2Rlc2NyaXB0b3I2IiwiX2Rlc2NyaXB0b3I3IiwiX2Rlc2NyaXB0b3I4IiwiZ2V0UGx1Z2lucyIsInBsdWdpbnNBcnJheSIsImV4Y2x1ZGVEZWZhdWx0UGx1Z2lucyIsIm1hcCIsIm5hbWUiLCJwbHVnaW5zIiwibGVuZ3RoIiwicGx1Z2luIiwicHVzaCIsImdldEJ1dHRvbkdyb3VwcyIsImJ1dHRvbkdyb3VwcyIsImJ1dHRvbkdyb3VwIiwidmlzaWJsZSIsInByaW9yaXR5Iiwicm93IiwiY3VzdG9tVG9vbGJhclByaW9yaXR5IiwiYnV0dG9ucyIsInNwbGl0IiwiZ2V0RWRpdENvbnRlbnQiLCJfY2xlYW51cFByZXZpb3VzUlRFIiwiX2VkaXRDb250ZW50IiwiX2pzeCIsIlJpY2hUZXh0RWRpdG9yIiwiY2xhc3MiLCJpZCIsImNyZWF0ZUlkIiwidmFsdWUiLCJjdXN0b21Ub29sYmFyIiwiZWRpdGFibGUiLCJlZGl0b3JUeXBlIiwic2hvd0dyb3VwRm9udFN0eWxlIiwic2hvd0dyb3VwVGV4dEFsaWduIiwic2hvd0dyb3VwU3RydWN0dXJlIiwic2hvd0dyb3VwRm9udCIsInNob3dHcm91cENsaXBib2FyZCIsInNob3dHcm91cEluc2VydCIsInNob3dHcm91cExpbmsiLCJzaG93R3JvdXBVbmRvIiwic2FuaXRpemVWYWx1ZSIsIndyYXBwaW5nIiwid2lkdGgiLCJ1bmRlZmluZWQiLCJhdHRhY2hSZWFkeSIsImFkZEJ1dHRvbkdyb3VwcyIsImNsZWFyVGltZW91dCIsIl9idXR0b25Hcm91cHNUaW1lciIsInNldFRpbWVvdXQiLCJjcmVhdGVDb250ZW50RGVib3VuY2VkIiwiX2V4cG9ydHMiLCJfaW5oZXJpdHNMb29zZSIsIl9wcm90byIsInByb3RvdHlwZSIsIm9uTWV0YWRhdGFBdmFpbGFibGUiLCJfb3duZXJDb21wb25lbnQiLCJfY29udGVudFRpbWVyIiwiY29udGVudCIsImNyZWF0ZUNvbnRlbnQiLCJleGl0IiwiX2Rpc3BsYXlDb250ZW50IiwiZGVzdHJveSIsInNldF9pc0luRWRpdE1vZGUiLCJpbkVkaXRNb2RlIiwic2V0UHJvcGVydHkiLCJzZXRSZWFkT25seSIsInJlYWRPbmx5IiwibGF0ZUJ1dHRvbkdyb3VwcyIsInJldmVyc2UiLCJsYXRlQnV0dG9uR3JvdXAiLCJhZGRCdXR0b25Hcm91cCIsImRldGFjaFJlYWR5IiwicmVtb3ZlU3R5bGVDbGFzcyIsIndpbmRvdyIsInRpbnltY2UiLCJnZXQiLCJnZXREaXNwbGF5Q29udGVudCIsIkZvcm1hdHRlZFRleHQiLCJodG1sVGV4dCIsIkJ1aWxkaW5nQmxvY2siLCJfYXBwbHlEZWNvcmF0ZWREZXNjcmlwdG9yIiwiY29uZmlndXJhYmxlIiwiZW51bWVyYWJsZSIsIndyaXRhYmxlIiwiaW5pdGlhbGl6ZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIlJpY2hUZXh0RWRpdG9yLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21waWxlRXhwcmVzc2lvbiB9IGZyb20gXCJzYXAvZmUvYmFzZS9CaW5kaW5nVG9vbGtpdFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9wZXJ0aWVzT2YgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgeyBhZ2dyZWdhdGlvbiwgZGVmaW5lVUk1Q2xhc3MsIHByb3BlcnR5IH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHR5cGUgVGVtcGxhdGVDb21wb25lbnQgZnJvbSBcInNhcC9mZS9jb3JlL1RlbXBsYXRlQ29tcG9uZW50XCI7XG5pbXBvcnQgQnVpbGRpbmdCbG9jayBmcm9tIFwic2FwL2ZlL2NvcmUvYnVpbGRpbmdCbG9ja3MvQnVpbGRpbmdCbG9ja1wiO1xuaW1wb3J0IHsgVUkgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9CaW5kaW5nSGVscGVyXCI7XG5pbXBvcnQgQnV0dG9uR3JvdXAgZnJvbSBcInNhcC9mZS9tYWNyb3MvcmljaHRleHRlZGl0b3IvQnV0dG9uR3JvdXBcIjtcbmltcG9ydCBQbHVnaW5EZWZpbml0aW9uIGZyb20gXCJzYXAvZmUvbWFjcm9zL3JpY2h0ZXh0ZWRpdG9yL1BsdWdpblwiO1xuaW1wb3J0IEZvcm1hdHRlZFRleHQgZnJvbSBcInNhcC9tL0Zvcm1hdHRlZFRleHRcIjtcbmltcG9ydCB0eXBlIHsgUHJvcGVydHlCaW5kaW5nSW5mbyB9IGZyb20gXCJzYXAvdWkvYmFzZS9NYW5hZ2VkT2JqZWN0XCI7XG5pbXBvcnQgdHlwZSBDb250cm9sIGZyb20gXCJzYXAvdWkvY29yZS9Db250cm9sXCI7XG5pbXBvcnQgdHlwZSB7ICRDb250cm9sU2V0dGluZ3MgfSBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXN0cmljdGVkLWltcG9ydHNcbmltcG9ydCBSaWNoVGV4dEVkaXRvciBmcm9tIFwic2FwL3VpL3JpY2h0ZXh0ZWRpdG9yL1JpY2hUZXh0RWRpdG9yXCI7XG5cbnR5cGUgUGx1Z2luRGVmaW5pdGlvbkRhdGEgPSB7XG5cdG5hbWU6IHN0cmluZztcbn07XG50eXBlIEJ1dHRvbkdyb3VwRGF0YSA9IHtcblx0bmFtZTogc3RyaW5nO1xuXHR2aXNpYmxlOiBib29sZWFuO1xuXHRwcmlvcml0eT86IG51bWJlcjtcblx0cm93PzogbnVtYmVyO1xuXHRjdXN0b21Ub29sYmFyUHJpb3JpdHk/OiBudW1iZXI7XG5cdGJ1dHRvbnM6IHN0cmluZ1tdO1xufTtcblxuLyoqXG4gKiBCdWlsZGluZyBibG9jayB0aGF0IGV4cG9zZXMgdGhlIFJpY2hUZXh0RWRpdG9yIFVJNSBjb250cm9sLlxuICpcbiAqIEl0J3MgdXNlZCB0byBlbnRlciBmb3JtYXR0ZWQgdGV4dCwgYW5kIHVzZXMgdGhlIHRoaXJkLXBhcnR5IGNvbXBvbmVudCBjYWxsZWQgVGlueU1DRS5cbiAqIEBwdWJsaWNcbiAqIEBzaW5jZSAxLjExNy4wXG4gKi9cbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS5tYWNyb3MuUmljaFRleHRFZGl0b3JcIilcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJpY2hUZXh0RWRpdG9yQmxvY2sgZXh0ZW5kcyBCdWlsZGluZ0Jsb2NrPENvbnRyb2w+IHtcblx0LyoqXG5cdCAqIElEIG9mIHRoZSBlZGl0b3Jcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIsIHJlcXVpcmVkOiB0cnVlIH0pXG5cdGlkITogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBUaGUgdmFsdWUgY29udGFpbmVkIGluIHRoZSBlZGl0b3IuIFlvdSBjYW4gdXNlIHRoaXMgYXR0cmlidXRlIHRvIHNldCBhIGRlZmF1bHQgdmFsdWUuXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYW55XCIsIGlzQmluZGluZ0luZm86IHRydWUgfSlcblx0dmFsdWU/OiBQcm9wZXJ0eUJpbmRpbmdJbmZvO1xuXG5cdC8qKlxuXHQgKiBVc2UgdGhlIHJlYWRPbmx5IGF0dHJpYnV0ZSB0byBvdmVycmlkZSB0aGUgZWRpdCBmbG93IG9mIHRoZSBwYWdlLlxuXHQgKiBCeSBzZXR0aW5nICdyZWFkT25seScgdG8gdHJ1ZSwgYSBGb3JtYXR0ZWRUZXh0IHdpbGwgYmUgZGlzcGxheWVkIGluc3RlYWQgb2YgdGhlIGVkaXRvci5cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0cmVhZE9ubHk6IFByb3BlcnR5QmluZGluZ0luZm8gPSBmYWxzZTtcblxuXHQvKipcblx0ICogV2l0aCB0aGUgJ2J1dHRvbkdyb3VwcycgYXR0cmlidXRlIHlvdSBjYW4gY3VzdG9taXplIHRoZSBidXR0b25zIHRoYXQgYXJlIGRpc3BsYXllZCBvbiB0aGUgdG9vbGJhciBvZiB0aGUgZWRpdG9yLlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAYWdncmVnYXRpb24oeyB0eXBlOiBcInNhcC5mZS5tYWNyb3MucmljaHRleHRlZGl0b3IuQnV0dG9uR3JvdXBcIiwgbXVsdGlwbGU6IHRydWUsIGRlZmF1bHRDbGFzczogQnV0dG9uR3JvdXAgfSlcblx0YnV0dG9uR3JvdXBzOiBCdXR0b25Hcm91cFtdID0gW107XG5cblx0LyoqXG5cdCAqIFdpdGggdGhlICdwbHVnaW5zJyBhdHRyaWJ1dGUgeW91IGNhbiBjdXN0b21pemUgdGhlIHBsdWdpbnMgdGhhdCB3aWxsIGJlIGxvYWRlZCBieSB0aGUgZWRpdG9yLlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAYWdncmVnYXRpb24oeyB0eXBlOiBcInNhcC5mZS5tYWNyb3MucmljaHRleHRlZGl0b3IuUGx1Z2luXCIsIG11bHRpcGxlOiB0cnVlLCBkZWZhdWx0Q2xhc3M6IFBsdWdpbkRlZmluaXRpb24gfSlcblx0cGx1Z2lucz86IFBsdWdpbkRlZmluaXRpb25bXTtcblxuXHQvKipcblx0ICogV2l0aCB0aGUgJ2V4Y2x1ZGVEZWZhdWx0UGx1Z2lucycgeW91IGNhbiBhc2sgdG8gcmVtb3ZlIHRoZSBwbHVnaW5zIHRoYXQgd2lsbCBiZSBhZGRlZCBieSBkZWZhdWx0XG5cdCAqIFRoZSBkZWZhdWx0IHBsdWdpbnMgYXJlIFwiZW1vdGljb25zXCIgXCJkaXJlY3Rpb25hbGl0eVwiIFwiaW1hZ2VcIiBcInRhYmxlXCIgXCJsaW5rXCIgXCJwb3dlcnBhc3RlXCIuXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdGV4Y2x1ZGVEZWZhdWx0UGx1Z2lucyA9IGZhbHNlO1xuXG5cdC8qKlxuXHQgKiBVc2UgdGhlICdyZXF1aXJlZCcgYXR0cmlidXRlIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBlZGl0b3IgaXMgZmlsbGVkIHdpdGggc29tZSB0ZXh0LlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImFueVwiLCBiaW5kYWJsZTogZmFsc2UgfSlcblx0cmVxdWlyZWQ6IFByb3BlcnR5QmluZGluZ0luZm8gPSBmYWxzZTtcblxuXHRAcHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiB9KVxuXHRfaXNJbkVkaXRNb2RlOiBQcm9wZXJ0eUJpbmRpbmdJbmZvID0gZmFsc2U7XG5cblx0cHJpdmF0ZSBfZGlzcGxheUNvbnRlbnQ/OiBGb3JtYXR0ZWRUZXh0O1xuXG5cdHByaXZhdGUgX2VkaXRDb250ZW50PzogUmljaFRleHRFZGl0b3I7XG5cblx0cHJpdmF0ZSBfY29udGVudFRpbWVyPzogbnVtYmVyO1xuXG5cdC8qKlxuXHQgKiBUaW1lciB0byBlbnN1cmUgdGhhdCBpZiB0aGUgYnV0dG9uIGdyb3VwcyBhcmUgbm90IGFkZGVkIHdlIHJlc3RhcnQgdGhlIHByb2Nlc3MuXG5cdCAqL1xuXHRwcml2YXRlIF9idXR0b25Hcm91cHNUaW1lcj86IG51bWJlcjtcblxuXHRjb25zdHJ1Y3Rvcihwcm9wZXJ0aWVzOiAkQ29udHJvbFNldHRpbmdzICYgUHJvcGVydGllc09mPFJpY2hUZXh0RWRpdG9yQmxvY2s+LCBvdGhlcnM/OiAkQ29udHJvbFNldHRpbmdzKSB7XG5cdFx0cHJvcGVydGllcy5faXNJbkVkaXRNb2RlID0gY29tcGlsZUV4cHJlc3Npb24oVUkuSXNFZGl0YWJsZSk7XG5cdFx0c3VwZXIocHJvcGVydGllcywgb3RoZXJzKTtcblx0fVxuXG5cdG9uTWV0YWRhdGFBdmFpbGFibGUoX293bmVyQ29tcG9uZW50OiBUZW1wbGF0ZUNvbXBvbmVudCk6IHZvaWQge1xuXHRcdHN1cGVyLm9uTWV0YWRhdGFBdmFpbGFibGUoX293bmVyQ29tcG9uZW50KTtcblx0fVxuXG5cdGNyZWF0ZUNvbnRlbnREZWJvdW5jZWQoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuX2NvbnRlbnRUaW1lcikge1xuXHRcdFx0Y2xlYXJUaW1lb3V0KHRoaXMuX2NvbnRlbnRUaW1lcik7XG5cdFx0fVxuXHRcdHRoaXMuX2NvbnRlbnRUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdFx0dGhpcy5jb250ZW50ID0gdGhpcy5jcmVhdGVDb250ZW50KCk7XG5cdFx0fSwgMjAwKSBhcyB1bmtub3duIGFzIG51bWJlcjtcblx0fVxuXG5cdGV4aXQoKTogdm9pZCB7XG5cdFx0dGhpcy5fZGlzcGxheUNvbnRlbnQ/LmRlc3Ryb3koKTtcblx0XHR0aGlzLl9lZGl0Q29udGVudD8uZGVzdHJveSgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIE1ldGhvZCB0aGF0IHJldHVybnMgdGhlIGJ1dHRvbiBjdXN0b21pemF0aW9ucyBmb3IgdGhlIGVkaXRvciB0b29sYmFyLlxuXHQgKiBCZWNhdXNlIGFsbCB2YWx1ZXMgY29tZSBhcyBzdHJpbmdzIGZyb20gWE1MLCBzb21lIHBhcnNpbmcgbmVlZHMgdG8gYmUgZG9uZSB0byBnZXQgYXR0cmlidXRlcyB3aXRoIHRoZSBjb3JyZWN0IHR5cGUuXG5cdCAqIEByZXR1cm5zIFRoZSBidXR0b24gZ3JvdXBzLlxuXHQgKi9cblx0Z2V0UGx1Z2lucyA9ICgpOiB7IHBsdWdpbnM/OiBQbHVnaW5EZWZpbml0aW9uRGF0YVtdIH0gPT4ge1xuXHRcdGxldCBwbHVnaW5zQXJyYXk6IFBsdWdpbkRlZmluaXRpb25EYXRhW10gfCB1bmRlZmluZWQ7XG5cdFx0aWYgKHRoaXMuZXhjbHVkZURlZmF1bHRQbHVnaW5zKSB7XG5cdFx0XHRwbHVnaW5zQXJyYXkgPSBbXTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cGx1Z2luc0FycmF5ID0gW1wiZW1vdGljb25zXCIsIFwiZGlyZWN0aW9uYWxpdHlcIiwgXCJpbWFnZVwiLCBcInRhYmxlXCIsIFwibGlua1wiLCBcInBvd2VycGFzdGVcIl0ubWFwKChuYW1lOiBzdHJpbmcpID0+IHtcblx0XHRcdFx0cmV0dXJuIHsgbmFtZTogbmFtZSB9O1xuXHRcdFx0fSk7XG5cdFx0fVxuXHRcdGlmICh0aGlzLnBsdWdpbnM/Lmxlbmd0aCkge1xuXHRcdFx0Zm9yIChjb25zdCBwbHVnaW4gb2YgdGhpcy5wbHVnaW5zKSB7XG5cdFx0XHRcdHBsdWdpbnNBcnJheS5wdXNoKHBsdWdpbik7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiB7IHBsdWdpbnM6IHBsdWdpbnNBcnJheSB9O1xuXHR9O1xuXG5cdC8qKlxuXHQgKiBNZXRob2QgdGhhdCByZXR1cm5zIHRoZSBidXR0b24gY3VzdG9taXphdGlvbnMgZm9yIHRoZSBlZGl0b3IgdG9vbGJhci5cblx0ICogQmVjYXVzZSBhbGwgdmFsdWVzIGNvbWUgYXMgc3RyaW5ncyBmcm9tIFhNTCwgc29tZSBwYXJzaW5nIG5lZWRzIHRvIGJlIGRvbmUgdG8gZ2V0IGF0dHJpYnV0ZXMgd2l0aCB0aGUgY29ycmVjdCB0eXBlLlxuXHQgKiBAcmV0dXJucyBUaGUgYnV0dG9uIGdyb3Vwcy5cblx0ICovXG5cdGdldEJ1dHRvbkdyb3VwcyA9ICgpOiBCdXR0b25Hcm91cERhdGFbXSA9PiB7XG5cdFx0aWYgKHRoaXMuYnV0dG9uR3JvdXBzICYmIHRoaXMuYnV0dG9uR3JvdXBzLmxlbmd0aCA+IDApIHtcblx0XHRcdHJldHVybiB0aGlzLmJ1dHRvbkdyb3Vwcy5tYXAoKGJ1dHRvbkdyb3VwOiBCdXR0b25Hcm91cCkgPT4gKHtcblx0XHRcdFx0bmFtZTogYnV0dG9uR3JvdXAubmFtZSA/PyBcIlwiLFxuXHRcdFx0XHR2aXNpYmxlOiBidXR0b25Hcm91cC52aXNpYmxlID09PSBcInRydWVcIixcblx0XHRcdFx0cHJpb3JpdHk6IGJ1dHRvbkdyb3VwLnByaW9yaXR5LFxuXHRcdFx0XHRyb3c6IGJ1dHRvbkdyb3VwLnJvdyxcblx0XHRcdFx0Y3VzdG9tVG9vbGJhclByaW9yaXR5OiBidXR0b25Hcm91cC5jdXN0b21Ub29sYmFyUHJpb3JpdHksXG5cdFx0XHRcdGJ1dHRvbnM6IGJ1dHRvbkdyb3VwLmJ1dHRvbnM/LnNwbGl0KFwiLFwiKSB8fCBbXVxuXHRcdFx0fSkpO1xuXHRcdH1cblx0XHRyZXR1cm4gW107XG5cdH07XG5cblx0c2V0X2lzSW5FZGl0TW9kZShpbkVkaXRNb2RlOiBib29sZWFuKTogdm9pZCB7XG5cdFx0c3VwZXIuc2V0UHJvcGVydHkoXCJfaXNJbkVkaXRNb2RlXCIsIGluRWRpdE1vZGUpO1xuXHRcdHRoaXMuY3JlYXRlQ29udGVudERlYm91bmNlZCgpO1xuXHR9XG5cblx0c2V0UmVhZE9ubHkocmVhZE9ubHk6IGJvb2xlYW4pOiB2b2lkIHtcblx0XHRzdXBlci5zZXRQcm9wZXJ0eShcInJlYWRPbmx5XCIsIHJlYWRPbmx5KTtcblx0XHR0aGlzLmNyZWF0ZUNvbnRlbnREZWJvdW5jZWQoKTtcblx0fVxuXG5cdGdldEVkaXRDb250ZW50ID0gKCk6IFJpY2hUZXh0RWRpdG9yID0+IHtcblx0XHR0aGlzLl9jbGVhbnVwUHJldmlvdXNSVEUoKTtcblxuXHRcdHRoaXMuX2VkaXRDb250ZW50ID0gKFxuXHRcdFx0PFJpY2hUZXh0RWRpdG9yXG5cdFx0XHRcdGNsYXNzPXtcInNhcFVpSGlkZGVuXCJ9XG5cdFx0XHRcdGlkPXt0aGlzLmNyZWF0ZUlkKFwiX3J0ZVwiKX1cblx0XHRcdFx0dmFsdWU9e3RoaXMudmFsdWV9XG5cdFx0XHRcdHZpc2libGU9e3RydWV9XG5cdFx0XHRcdGN1c3RvbVRvb2xiYXI9e3RydWV9XG5cdFx0XHRcdGVkaXRhYmxlPXt0cnVlfVxuXHRcdFx0XHRlZGl0b3JUeXBlPVwiVGlueU1DRTZcIlxuXHRcdFx0XHRzaG93R3JvdXBGb250U3R5bGU9e3RydWV9XG5cdFx0XHRcdHNob3dHcm91cFRleHRBbGlnbj17dHJ1ZX1cblx0XHRcdFx0c2hvd0dyb3VwU3RydWN0dXJlPXt0cnVlfVxuXHRcdFx0XHRzaG93R3JvdXBGb250PXtmYWxzZX1cblx0XHRcdFx0c2hvd0dyb3VwQ2xpcGJvYXJkPXt0cnVlfVxuXHRcdFx0XHRzaG93R3JvdXBJbnNlcnQ9e2ZhbHNlfVxuXHRcdFx0XHRzaG93R3JvdXBMaW5rPXtmYWxzZX1cblx0XHRcdFx0c2hvd0dyb3VwVW5kbz17ZmFsc2V9XG5cdFx0XHRcdHNhbml0aXplVmFsdWU9e3RydWV9XG5cdFx0XHRcdHdyYXBwaW5nPXt0cnVlfVxuXHRcdFx0XHR3aWR0aD17XCIxMDAlXCJ9XG5cdFx0XHRcdHJlcXVpcmVkPXt0aGlzLnJlcXVpcmVkfVxuXHRcdFx0XHR7Li4udGhpcy5nZXRQbHVnaW5zKCl9XG5cdFx0XHRcdGJ1dHRvbkdyb3Vwcz17dGhpcy5idXR0b25Hcm91cHMubGVuZ3RoID4gMCA/IFtdIDogdW5kZWZpbmVkfVxuXHRcdFx0Lz5cblx0XHQpIGFzIFJpY2hUZXh0RWRpdG9yO1xuXG5cdFx0dGhpcy5fZWRpdENvbnRlbnQuYXR0YWNoUmVhZHkodGhpcy5hZGRCdXR0b25Hcm91cHMsIHRoaXMpO1xuXHRcdC8vIEF0dGFjaCBhIHRpbWVyIHRvIGVuc3VyZSB0aGF0IHRoZSBidXR0b24gZ3JvdXBzIGFyZSBhZGRlZCBhZnRlciB0aGUgZWRpdG9yIGlzIHJlYWR5XG5cdFx0Y2xlYXJUaW1lb3V0KHRoaXMuX2J1dHRvbkdyb3Vwc1RpbWVyKTtcblx0XHR0aGlzLl9idXR0b25Hcm91cHNUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdFx0dGhpcy5jcmVhdGVDb250ZW50RGVib3VuY2VkKCk7XG5cdFx0fSwgMjAwMCkgYXMgdW5rbm93biBhcyBudW1iZXI7XG5cdFx0cmV0dXJuIHRoaXMuX2VkaXRDb250ZW50O1xuXHR9O1xuXG5cdC8qKlxuXHQgKiBCdXR0b25zIGdyb3VwcyBuZWVkIHRvIGJlIGFkZGVkIHdoZW4gdGhlIFJURSBpcyByZWFkeSwgb3RoZXJ3aXNlIHNvbWUgb2YgdGhlbSBhcmUgbm90IGF2YWlsYWJsZS5cblx0ICovXG5cdGFkZEJ1dHRvbkdyb3VwcygpOiB2b2lkIHtcblx0XHRjbGVhclRpbWVvdXQodGhpcy5fYnV0dG9uR3JvdXBzVGltZXIpO1xuXHRcdGNvbnN0IGxhdGVCdXR0b25Hcm91cHMgPSB0aGlzLmdldEJ1dHRvbkdyb3VwcygpLnJldmVyc2UoKTtcblx0XHQvLyBUaGV5IGFsc28gc29tZWhvdyBuZWVkIHRvIGJlIGFkZGVkIGluIHJldmVyc2UgYmVjYXVzZSB0aGV5IGFsc28gZ2V0IGFkZGVkIGluIHRoZSBmaXJzdCBwbGFjZSA6RFxuXHRcdGZvciAoY29uc3QgbGF0ZUJ1dHRvbkdyb3VwIG9mIGxhdGVCdXR0b25Hcm91cHMpIHtcblx0XHRcdHRoaXMuX2VkaXRDb250ZW50Py5hZGRCdXR0b25Hcm91cChsYXRlQnV0dG9uR3JvdXApO1xuXHRcdH1cblx0XHR0aGlzLl9lZGl0Q29udGVudD8uZGV0YWNoUmVhZHkodGhpcy5hZGRCdXR0b25Hcm91cHMsIHRoaXMpO1xuXHRcdHRoaXMuX2VkaXRDb250ZW50Py5yZW1vdmVTdHlsZUNsYXNzKFwic2FwVWlIaWRkZW5cIik7XG5cdH1cblxuXHQvKipcblx0ICogTWV0aG9kIHRoYXQgY2xlYW5zIHVwIHRoZSBwcmV2aW91cyByaWNoIHRleHQgZWRpdG9yIGluc3RhbmNlLlxuXHQgKiBUaGlzIGlzIG5lZWRlZCBiZWNhdXNlIHRoZSBSaWNoVGV4dEVkaXRvciBjb250cm9sIGRvZXMgbm90IGFsd2F5cyBkZXN0cm95IHRoZSBUaW55TUNFIGluc3RhbmNlLFxuXHQgKiB3aGljaCBjYW4gbGVhZCB0byBpc3N1ZXMgd2hlbiBzd2l0Y2hpbmcgYmV0d2VlbiBlZGl0IGFuZCBkaXNwbGF5IG1vZGVzLlxuXHQgKi9cblx0X2NsZWFudXBQcmV2aW91c1JURSgpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5fZWRpdENvbnRlbnQpIHtcblx0XHRcdC8vIEl0J3MgYmV0dGVyIHRvIGRlc3Ryb3kgdGhlIHJpY2ggdGV4dCBlZGl0b3IgYXMgaW4gc29tZSBjYXNlIHdpdGggc2xvdyBtYWNoaW5lIHN3aXRjaGluZyBiZXR3ZWVuIGVkaXQgYW5kIGRpc3BsYXkgbWF5IGJyZWFrIGl0XG5cdFx0XHR0aGlzLl9lZGl0Q29udGVudC5kZXN0cm95KCk7XG5cdFx0XHQvLyBEZXN0cm95IHRoZSBUaW55TUNFIGluc3RhbmNlIGFzIHdlbGxcblx0XHRcdC8vIFRoaXMgaXMgbmVlZGVkIGJlY2F1c2UgdGhlIFJpY2hUZXh0RWRpdG9yIGNvbnRyb2wgZG9lcyBub3QgYWx3YXlzIGRlc3Ryb3kgdGhlIFRpbnlNQ0UgaW5zdGFuY2Vcblx0XHR9XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuXHRcdC8vIEB0cy1pZ25vcmVcblx0XHR3aW5kb3cudGlueW1jZT8uZ2V0KHRoaXMuY3JlYXRlSWQoXCJfcnRlXCIpICsgXCItdGV4dGFyZWFcIik/LmRlc3Ryb3koKTtcblx0fVxuXG5cdGdldERpc3BsYXlDb250ZW50KCk6IEZvcm1hdHRlZFRleHQge1xuXHRcdGlmICh0aGlzLl9kaXNwbGF5Q29udGVudCkge1xuXHRcdFx0dGhpcy5fZGlzcGxheUNvbnRlbnQuZGVzdHJveSgpO1xuXHRcdH1cblxuXHRcdHRoaXMuX2NsZWFudXBQcmV2aW91c1JURSgpO1xuXG5cdFx0dGhpcy5fZGlzcGxheUNvbnRlbnQgPSAoPEZvcm1hdHRlZFRleHQgaHRtbFRleHQ9e3RoaXMudmFsdWV9IC8+KSBhcyBGb3JtYXR0ZWRUZXh0O1xuXHRcdHJldHVybiB0aGlzLl9kaXNwbGF5Q29udGVudDtcblx0fVxuXG5cdGNyZWF0ZUNvbnRlbnQoKTogUmljaFRleHRFZGl0b3IgfCBGb3JtYXR0ZWRUZXh0IHwgdW5kZWZpbmVkIHtcblx0XHRpZiAodGhpcy5faXNJbkVkaXRNb2RlICYmICF0aGlzLnJlYWRPbmx5KSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5nZXRFZGl0Q29udGVudCgpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5nZXREaXNwbGF5Q29udGVudCgpO1xuXHRcdH1cblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBWUE7RUFlQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQU5BLElBUXFCQSxtQkFBbUIsSUFBQUMsSUFBQSxHQUR2Q0MsY0FBYyxDQUFDLDhCQUE4QixDQUFDLEVBQUFDLEtBQUEsR0FLN0NDLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUUsUUFBUTtJQUFFQyxRQUFRLEVBQUU7RUFBSyxDQUFDLENBQUMsRUFBQUMsS0FBQSxHQU81Q0gsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRSxLQUFLO0lBQUVHLGFBQWEsRUFBRTtFQUFLLENBQUMsQ0FBQyxFQUFBQyxLQUFBLEdBUTlDTCxRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVUsQ0FBQyxDQUFDLEVBQUFLLEtBQUEsR0FPN0JDLFdBQVcsQ0FBQztJQUFFTixJQUFJLEVBQUUsMENBQTBDO0lBQUVPLFFBQVEsRUFBRSxJQUFJO0lBQUVDLFlBQVksRUFBRUM7RUFBWSxDQUFDLENBQUMsRUFBQUMsS0FBQSxHQU81R0osV0FBVyxDQUFDO0lBQUVOLElBQUksRUFBRSxxQ0FBcUM7SUFBRU8sUUFBUSxFQUFFLElBQUk7SUFBRUMsWUFBWSxFQUFFRztFQUFpQixDQUFDLENBQUMsRUFBQUMsS0FBQSxHQVE1R2IsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFVLENBQUMsQ0FBQyxFQUFBYSxLQUFBLEdBTzdCZCxRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFLEtBQUs7SUFBRWMsUUFBUSxFQUFFO0VBQU0sQ0FBQyxDQUFDLEVBQUFD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
|
|
302
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSaWNoVGV4dEVkaXRvckJsb2NrIiwiX2RlYyIsImRlZmluZVVJNUNsYXNzIiwiX2RlYzIiLCJwcm9wZXJ0eSIsInR5cGUiLCJyZXF1aXJlZCIsIl9kZWMzIiwiaXNCaW5kaW5nSW5mbyIsIl9kZWM0IiwiX2RlYzUiLCJhZ2dyZWdhdGlvbiIsIm11bHRpcGxlIiwiZGVmYXVsdENsYXNzIiwiQnV0dG9uR3JvdXAiLCJfZGVjNiIsIlBsdWdpbkRlZmluaXRpb24iLCJfZGVjNyIsIl9kZWM4IiwiYmluZGFibGUiLCJfZGVjOSIsIl9jbGFzcyIsIl9jbGFzczIiLCJfQnVpbGRpbmdCbG9jayIsInByb3BlcnRpZXMiLCJvdGhlcnMiLCJfdGhpcyIsIl9pc0luRWRpdE1vZGUiLCJjb21waWxlRXhwcmVzc2lvbiIsIlVJIiwiSXNFZGl0YWJsZSIsImNhbGwiLCJfaW5pdGlhbGl6ZXJEZWZpbmVQcm9wZXJ0eSIsIl9kZXNjcmlwdG9yIiwiX2Rlc2NyaXB0b3IyIiwiX2Rlc2NyaXB0b3IzIiwiX2Rlc2NyaXB0b3I0IiwiX2Rlc2NyaXB0b3I1IiwiX2Rlc2NyaXB0b3I2IiwiX2Rlc2NyaXB0b3I3IiwiX2Rlc2NyaXB0b3I4IiwiZ2V0UGx1Z2lucyIsInBsdWdpbnNBcnJheSIsImV4Y2x1ZGVEZWZhdWx0UGx1Z2lucyIsIm1hcCIsIm5hbWUiLCJwbHVnaW5zIiwibGVuZ3RoIiwicGx1Z2luIiwicHVzaCIsImdldEJ1dHRvbkdyb3VwcyIsImJ1dHRvbkdyb3VwcyIsImJ1dHRvbkdyb3VwIiwidmlzaWJsZSIsInRvU3RyaW5nIiwicHJpb3JpdHkiLCJyb3ciLCJjdXN0b21Ub29sYmFyUHJpb3JpdHkiLCJidXR0b25zIiwic3BsaXQiLCJnZXRFZGl0Q29udGVudCIsIl9jbGVhbnVwUHJldmlvdXNSVEUiLCJfZWRpdENvbnRlbnQiLCJfanN4IiwiUmljaFRleHRFZGl0b3IiLCJjbGFzcyIsImlkIiwiY3JlYXRlSWQiLCJ2YWx1ZSIsImN1c3RvbVRvb2xiYXIiLCJlZGl0YWJsZSIsInNob3dHcm91cEZvbnRTdHlsZSIsInNob3dHcm91cFRleHRBbGlnbiIsInNob3dHcm91cFN0cnVjdHVyZSIsInNob3dHcm91cEZvbnQiLCJzaG93R3JvdXBDbGlwYm9hcmQiLCJzaG93R3JvdXBJbnNlcnQiLCJzaG93R3JvdXBMaW5rIiwic2hvd0dyb3VwVW5kbyIsInNhbml0aXplVmFsdWUiLCJ3cmFwcGluZyIsIndpZHRoIiwidW5kZWZpbmVkIiwiYXR0YWNoUmVhZHkiLCJhZGRCdXR0b25Hcm91cHMiLCJjbGVhclRpbWVvdXQiLCJfYnV0dG9uR3JvdXBzVGltZXIiLCJzZXRUaW1lb3V0IiwiY3JlYXRlQ29udGVudERlYm91bmNlZCIsIl9leHBvcnRzIiwiX2luaGVyaXRzTG9vc2UiLCJfcHJvdG8iLCJwcm90b3R5cGUiLCJvbk1ldGFkYXRhQXZhaWxhYmxlIiwiX293bmVyQ29tcG9uZW50IiwiX2NvbnRlbnRUaW1lciIsImNvbnRlbnQiLCJjcmVhdGVDb250ZW50IiwiZXhpdCIsIl9kaXNwbGF5Q29udGVudCIsImRlc3Ryb3kiLCJzZXRfaXNJbkVkaXRNb2RlIiwiaW5FZGl0TW9kZSIsInNldFByb3BlcnR5Iiwic2V0UmVhZE9ubHkiLCJyZWFkT25seSIsImxhdGVCdXR0b25Hcm91cHMiLCJyZXZlcnNlIiwibGF0ZUJ1dHRvbkdyb3VwIiwiYWRkQnV0dG9uR3JvdXAiLCJkZXRhY2hSZWFkeSIsInJlbW92ZVN0eWxlQ2xhc3MiLCJ3aW5kb3ciLCJ0aW55bWNlIiwiZ2V0IiwiZ2V0RGlzcGxheUNvbnRlbnQiLCJGb3JtYXR0ZWRUZXh0IiwiaHRtbFRleHQiLCJCdWlsZGluZ0Jsb2NrIiwiX2FwcGx5RGVjb3JhdGVkRGVzY3JpcHRvciIsImNvbmZpZ3VyYWJsZSIsImVudW1lcmFibGUiLCJ3cml0YWJsZSIsImluaXRpYWxpemVyIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJSaWNoVGV4dEVkaXRvci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcGlsZUV4cHJlc3Npb24gfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQmluZGluZ1Rvb2xraXRcIjtcbmltcG9ydCB0eXBlIHsgUHJvcGVydGllc09mIH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHsgYWdncmVnYXRpb24sIGRlZmluZVVJNUNsYXNzLCBwcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB0eXBlIFRlbXBsYXRlQ29tcG9uZW50IGZyb20gXCJzYXAvZmUvY29yZS9UZW1wbGF0ZUNvbXBvbmVudFwiO1xuaW1wb3J0IEJ1aWxkaW5nQmxvY2sgZnJvbSBcInNhcC9mZS9jb3JlL2J1aWxkaW5nQmxvY2tzL0J1aWxkaW5nQmxvY2tcIjtcbmltcG9ydCB7IFVJIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQmluZGluZ0hlbHBlclwiO1xuaW1wb3J0IEJ1dHRvbkdyb3VwIGZyb20gXCJzYXAvZmUvbWFjcm9zL3JpY2h0ZXh0ZWRpdG9yL0J1dHRvbkdyb3VwXCI7XG5pbXBvcnQgUGx1Z2luRGVmaW5pdGlvbiBmcm9tIFwic2FwL2ZlL21hY3Jvcy9yaWNodGV4dGVkaXRvci9QbHVnaW5cIjtcbmltcG9ydCBGb3JtYXR0ZWRUZXh0IGZyb20gXCJzYXAvbS9Gb3JtYXR0ZWRUZXh0XCI7XG5pbXBvcnQgdHlwZSB7IFByb3BlcnR5QmluZGluZ0luZm8gfSBmcm9tIFwic2FwL3VpL2Jhc2UvTWFuYWdlZE9iamVjdFwiO1xuaW1wb3J0IHR5cGUgQ29udHJvbCBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuaW1wb3J0IHR5cGUgeyAkQ29udHJvbFNldHRpbmdzIH0gZnJvbSBcInNhcC91aS9jb3JlL0NvbnRyb2xcIjtcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVzdHJpY3RlZC1pbXBvcnRzXG5pbXBvcnQgUmljaFRleHRFZGl0b3IgZnJvbSBcInNhcC91aS9yaWNodGV4dGVkaXRvci9SaWNoVGV4dEVkaXRvclwiO1xuXG50eXBlIFBsdWdpbkRlZmluaXRpb25EYXRhID0ge1xuXHRuYW1lOiBzdHJpbmc7XG59O1xudHlwZSBCdXR0b25Hcm91cERhdGEgPSB7XG5cdG5hbWU6IHN0cmluZztcblx0dmlzaWJsZTogYm9vbGVhbjtcblx0cHJpb3JpdHk/OiBudW1iZXI7XG5cdHJvdz86IG51bWJlcjtcblx0Y3VzdG9tVG9vbGJhclByaW9yaXR5PzogbnVtYmVyO1xuXHRidXR0b25zOiBzdHJpbmdbXTtcbn07XG5cbi8qKlxuICogQnVpbGRpbmcgYmxvY2sgdGhhdCBleHBvc2VzIHRoZSBSaWNoVGV4dEVkaXRvciBVSTUgY29udHJvbC5cbiAqXG4gKiBJdCdzIHVzZWQgdG8gZW50ZXIgZm9ybWF0dGVkIHRleHQsIGFuZCB1c2VzIHRoZSB0aGlyZC1wYXJ0eSBjb21wb25lbnQgY2FsbGVkIFRpbnlNQ0UuXG4gKiBAcHVibGljXG4gKiBAc2luY2UgMS4xMTcuMFxuICovXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUubWFjcm9zLlJpY2hUZXh0RWRpdG9yXCIpXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSaWNoVGV4dEVkaXRvckJsb2NrIGV4dGVuZHMgQnVpbGRpbmdCbG9jazxDb250cm9sPiB7XG5cdC8qKlxuXHQgKiBJRCBvZiB0aGUgZWRpdG9yXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiLCByZXF1aXJlZDogdHJ1ZSB9KVxuXHRpZCE6IHN0cmluZztcblxuXHQvKipcblx0ICogVGhlIHZhbHVlIGNvbnRhaW5lZCBpbiB0aGUgZWRpdG9yLiBZb3UgY2FuIHVzZSB0aGlzIGF0dHJpYnV0ZSB0byBzZXQgYSBkZWZhdWx0IHZhbHVlLlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImFueVwiLCBpc0JpbmRpbmdJbmZvOiB0cnVlIH0pXG5cdHZhbHVlPzogUHJvcGVydHlCaW5kaW5nSW5mbztcblxuXHQvKipcblx0ICogVXNlIHRoZSByZWFkT25seSBhdHRyaWJ1dGUgdG8gb3ZlcnJpZGUgdGhlIGVkaXQgZmxvdyBvZiB0aGUgcGFnZS5cblx0ICogQnkgc2V0dGluZyAncmVhZE9ubHknIHRvIHRydWUsIGEgRm9ybWF0dGVkVGV4dCB3aWxsIGJlIGRpc3BsYXllZCBpbnN0ZWFkIG9mIHRoZSBlZGl0b3IuXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdHJlYWRPbmx5OiBQcm9wZXJ0eUJpbmRpbmdJbmZvID0gZmFsc2U7XG5cblx0LyoqXG5cdCAqIFdpdGggdGhlICdidXR0b25Hcm91cHMnIGF0dHJpYnV0ZSB5b3UgY2FuIGN1c3RvbWl6ZSB0aGUgYnV0dG9ucyB0aGF0IGFyZSBkaXNwbGF5ZWQgb24gdGhlIHRvb2xiYXIgb2YgdGhlIGVkaXRvci5cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QGFnZ3JlZ2F0aW9uKHsgdHlwZTogXCJzYXAuZmUubWFjcm9zLnJpY2h0ZXh0ZWRpdG9yLkJ1dHRvbkdyb3VwXCIsIG11bHRpcGxlOiB0cnVlLCBkZWZhdWx0Q2xhc3M6IEJ1dHRvbkdyb3VwIH0pXG5cdGJ1dHRvbkdyb3VwczogQnV0dG9uR3JvdXBbXSA9IFtdO1xuXG5cdC8qKlxuXHQgKiBXaXRoIHRoZSAncGx1Z2lucycgYXR0cmlidXRlIHlvdSBjYW4gY3VzdG9taXplIHRoZSBwbHVnaW5zIHRoYXQgd2lsbCBiZSBsb2FkZWQgYnkgdGhlIGVkaXRvci5cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QGFnZ3JlZ2F0aW9uKHsgdHlwZTogXCJzYXAuZmUubWFjcm9zLnJpY2h0ZXh0ZWRpdG9yLlBsdWdpblwiLCBtdWx0aXBsZTogdHJ1ZSwgZGVmYXVsdENsYXNzOiBQbHVnaW5EZWZpbml0aW9uIH0pXG5cdHBsdWdpbnM/OiBQbHVnaW5EZWZpbml0aW9uW107XG5cblx0LyoqXG5cdCAqIFdpdGggdGhlICdleGNsdWRlRGVmYXVsdFBsdWdpbnMnIHlvdSBjYW4gYXNrIHRvIHJlbW92ZSB0aGUgcGx1Z2lucyB0aGF0IHdpbGwgYmUgYWRkZWQgYnkgZGVmYXVsdFxuXHQgKiBUaGUgZGVmYXVsdCBwbHVnaW5zIGFyZSBcImVtb3RpY29uc1wiIFwiZGlyZWN0aW9uYWxpdHlcIiBcImltYWdlXCIgXCJ0YWJsZVwiIFwibGlua1wiIFwicG93ZXJwYXN0ZVwiLlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiB9KVxuXHRleGNsdWRlRGVmYXVsdFBsdWdpbnMgPSBmYWxzZTtcblxuXHQvKipcblx0ICogVXNlIHRoZSAncmVxdWlyZWQnIGF0dHJpYnV0ZSB0byBtYWtlIHN1cmUgdGhhdCB0aGUgZWRpdG9yIGlzIGZpbGxlZCB3aXRoIHNvbWUgdGV4dC5cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJhbnlcIiwgYmluZGFibGU6IGZhbHNlIH0pXG5cdHJlcXVpcmVkOiBQcm9wZXJ0eUJpbmRpbmdJbmZvID0gZmFsc2U7XG5cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0X2lzSW5FZGl0TW9kZTogUHJvcGVydHlCaW5kaW5nSW5mbyA9IGZhbHNlO1xuXG5cdHByaXZhdGUgX2Rpc3BsYXlDb250ZW50PzogRm9ybWF0dGVkVGV4dDtcblxuXHRwcml2YXRlIF9lZGl0Q29udGVudD86IFJpY2hUZXh0RWRpdG9yO1xuXG5cdHByaXZhdGUgX2NvbnRlbnRUaW1lcj86IG51bWJlcjtcblxuXHQvKipcblx0ICogVGltZXIgdG8gZW5zdXJlIHRoYXQgaWYgdGhlIGJ1dHRvbiBncm91cHMgYXJlIG5vdCBhZGRlZCB3ZSByZXN0YXJ0IHRoZSBwcm9jZXNzLlxuXHQgKi9cblx0cHJpdmF0ZSBfYnV0dG9uR3JvdXBzVGltZXI/OiBudW1iZXI7XG5cblx0Y29uc3RydWN0b3IocHJvcGVydGllczogJENvbnRyb2xTZXR0aW5ncyAmIFByb3BlcnRpZXNPZjxSaWNoVGV4dEVkaXRvckJsb2NrPiwgb3RoZXJzPzogJENvbnRyb2xTZXR0aW5ncykge1xuXHRcdHByb3BlcnRpZXMuX2lzSW5FZGl0TW9kZSA9IGNvbXBpbGVFeHByZXNzaW9uKFVJLklzRWRpdGFibGUpO1xuXHRcdHN1cGVyKHByb3BlcnRpZXMsIG90aGVycyk7XG5cdH1cblxuXHRvbk1ldGFkYXRhQXZhaWxhYmxlKF9vd25lckNvbXBvbmVudDogVGVtcGxhdGVDb21wb25lbnQpOiB2b2lkIHtcblx0XHRzdXBlci5vbk1ldGFkYXRhQXZhaWxhYmxlKF9vd25lckNvbXBvbmVudCk7XG5cdH1cblxuXHRjcmVhdGVDb250ZW50RGVib3VuY2VkKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLl9jb250ZW50VGltZXIpIHtcblx0XHRcdGNsZWFyVGltZW91dCh0aGlzLl9jb250ZW50VGltZXIpO1xuXHRcdH1cblx0XHR0aGlzLl9jb250ZW50VGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcblx0XHRcdHRoaXMuY29udGVudCA9IHRoaXMuY3JlYXRlQ29udGVudCgpO1xuXHRcdH0sIDIwMCkgYXMgdW5rbm93biBhcyBudW1iZXI7XG5cdH1cblxuXHRleGl0KCk6IHZvaWQge1xuXHRcdHRoaXMuX2Rpc3BsYXlDb250ZW50Py5kZXN0cm95KCk7XG5cdFx0dGhpcy5fZWRpdENvbnRlbnQ/LmRlc3Ryb3koKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBNZXRob2QgdGhhdCByZXR1cm5zIHRoZSBidXR0b24gY3VzdG9taXphdGlvbnMgZm9yIHRoZSBlZGl0b3IgdG9vbGJhci5cblx0ICogQmVjYXVzZSBhbGwgdmFsdWVzIGNvbWUgYXMgc3RyaW5ncyBmcm9tIFhNTCwgc29tZSBwYXJzaW5nIG5lZWRzIHRvIGJlIGRvbmUgdG8gZ2V0IGF0dHJpYnV0ZXMgd2l0aCB0aGUgY29ycmVjdCB0eXBlLlxuXHQgKiBAcmV0dXJucyBUaGUgYnV0dG9uIGdyb3Vwcy5cblx0ICovXG5cdGdldFBsdWdpbnMgPSAoKTogeyBwbHVnaW5zPzogUGx1Z2luRGVmaW5pdGlvbkRhdGFbXSB9ID0+IHtcblx0XHRsZXQgcGx1Z2luc0FycmF5OiBQbHVnaW5EZWZpbml0aW9uRGF0YVtdIHwgdW5kZWZpbmVkO1xuXHRcdGlmICh0aGlzLmV4Y2x1ZGVEZWZhdWx0UGx1Z2lucykge1xuXHRcdFx0cGx1Z2luc0FycmF5ID0gW107XG5cdFx0fSBlbHNlIHtcblx0XHRcdHBsdWdpbnNBcnJheSA9IFtcImVtb3RpY29uc1wiLCBcImRpcmVjdGlvbmFsaXR5XCIsIFwiaW1hZ2VcIiwgXCJ0YWJsZVwiLCBcImxpbmtcIiwgXCJwb3dlcnBhc3RlXCJdLm1hcCgobmFtZTogc3RyaW5nKSA9PiB7XG5cdFx0XHRcdHJldHVybiB7IG5hbWU6IG5hbWUgfTtcblx0XHRcdH0pO1xuXHRcdH1cblx0XHRpZiAodGhpcy5wbHVnaW5zPy5sZW5ndGgpIHtcblx0XHRcdGZvciAoY29uc3QgcGx1Z2luIG9mIHRoaXMucGx1Z2lucykge1xuXHRcdFx0XHRwbHVnaW5zQXJyYXkucHVzaChwbHVnaW4pO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4geyBwbHVnaW5zOiBwbHVnaW5zQXJyYXkgfTtcblx0fTtcblxuXHQvKipcblx0ICogTWV0aG9kIHRoYXQgcmV0dXJucyB0aGUgYnV0dG9uIGN1c3RvbWl6YXRpb25zIGZvciB0aGUgZWRpdG9yIHRvb2xiYXIuXG5cdCAqIEJlY2F1c2UgYWxsIHZhbHVlcyBhcmUgcmV0dXJuZWQgYXMgc3RyaW5ncyBmcm9tIFhNTCwgcGFyc2luZyBpcyBuZWVkZWQgdG8gcmV0dXJuIGF0dHJpYnV0ZXMgd2l0aCB0aGUgY29ycmVjdCB0eXBlLlxuXHQgKiBAcmV0dXJucyBUaGUgYnV0dG9uIGdyb3Vwcy5cblx0ICovXG5cdGdldEJ1dHRvbkdyb3VwcyA9ICgpOiBCdXR0b25Hcm91cERhdGFbXSA9PiB7XG5cdFx0aWYgKHRoaXMuYnV0dG9uR3JvdXBzICYmIHRoaXMuYnV0dG9uR3JvdXBzLmxlbmd0aCA+IDApIHtcblx0XHRcdHJldHVybiB0aGlzLmJ1dHRvbkdyb3Vwcy5tYXAoKGJ1dHRvbkdyb3VwOiBCdXR0b25Hcm91cCkgPT4gKHtcblx0XHRcdFx0bmFtZTogYnV0dG9uR3JvdXAubmFtZSA/PyBcIlwiLFxuXHRcdFx0XHR2aXNpYmxlOiBidXR0b25Hcm91cC52aXNpYmxlPy50b1N0cmluZygpID09PSBcInRydWVcIixcblx0XHRcdFx0cHJpb3JpdHk6IGJ1dHRvbkdyb3VwLnByaW9yaXR5LFxuXHRcdFx0XHRyb3c6IGJ1dHRvbkdyb3VwLnJvdyxcblx0XHRcdFx0Y3VzdG9tVG9vbGJhclByaW9yaXR5OiBidXR0b25Hcm91cC5jdXN0b21Ub29sYmFyUHJpb3JpdHksXG5cdFx0XHRcdGJ1dHRvbnM6IGJ1dHRvbkdyb3VwLmJ1dHRvbnM/LnNwbGl0KFwiLFwiKSB8fCBbXVxuXHRcdFx0fSkpO1xuXHRcdH1cblx0XHRyZXR1cm4gW107XG5cdH07XG5cblx0c2V0X2lzSW5FZGl0TW9kZShpbkVkaXRNb2RlOiBib29sZWFuKTogdm9pZCB7XG5cdFx0c3VwZXIuc2V0UHJvcGVydHkoXCJfaXNJbkVkaXRNb2RlXCIsIGluRWRpdE1vZGUpO1xuXHRcdHRoaXMuY3JlYXRlQ29udGVudERlYm91bmNlZCgpO1xuXHR9XG5cblx0c2V0UmVhZE9ubHkocmVhZE9ubHk6IGJvb2xlYW4pOiB2b2lkIHtcblx0XHRzdXBlci5zZXRQcm9wZXJ0eShcInJlYWRPbmx5XCIsIHJlYWRPbmx5KTtcblx0XHR0aGlzLmNyZWF0ZUNvbnRlbnREZWJvdW5jZWQoKTtcblx0fVxuXG5cdGdldEVkaXRDb250ZW50ID0gKCk6IFJpY2hUZXh0RWRpdG9yID0+IHtcblx0XHR0aGlzLl9jbGVhbnVwUHJldmlvdXNSVEUoKTtcblxuXHRcdHRoaXMuX2VkaXRDb250ZW50ID0gKFxuXHRcdFx0PFJpY2hUZXh0RWRpdG9yXG5cdFx0XHRcdGNsYXNzPXtcInNhcFVpSGlkZGVuXCJ9XG5cdFx0XHRcdGlkPXt0aGlzLmNyZWF0ZUlkKFwiX3J0ZVwiKX1cblx0XHRcdFx0dmFsdWU9e3RoaXMudmFsdWV9XG5cdFx0XHRcdHZpc2libGU9e3RydWV9XG5cdFx0XHRcdGN1c3RvbVRvb2xiYXI9e3RydWV9XG5cdFx0XHRcdGVkaXRhYmxlPXt0cnVlfVxuXHRcdFx0XHRzaG93R3JvdXBGb250U3R5bGU9e3RydWV9XG5cdFx0XHRcdHNob3dHcm91cFRleHRBbGlnbj17dHJ1ZX1cblx0XHRcdFx0c2hvd0dyb3VwU3RydWN0dXJlPXt0cnVlfVxuXHRcdFx0XHRzaG93R3JvdXBGb250PXtmYWxzZX1cblx0XHRcdFx0c2hvd0dyb3VwQ2xpcGJvYXJkPXt0cnVlfVxuXHRcdFx0XHRzaG93R3JvdXBJbnNlcnQ9e2ZhbHNlfVxuXHRcdFx0XHRzaG93R3JvdXBMaW5rPXtmYWxzZX1cblx0XHRcdFx0c2hvd0dyb3VwVW5kbz17ZmFsc2V9XG5cdFx0XHRcdHNhbml0aXplVmFsdWU9e3RydWV9XG5cdFx0XHRcdHdyYXBwaW5nPXt0cnVlfVxuXHRcdFx0XHR3aWR0aD17XCIxMDAlXCJ9XG5cdFx0XHRcdHJlcXVpcmVkPXt0aGlzLnJlcXVpcmVkfVxuXHRcdFx0XHR7Li4udGhpcy5nZXRQbHVnaW5zKCl9XG5cdFx0XHRcdGJ1dHRvbkdyb3Vwcz17dGhpcy5idXR0b25Hcm91cHMubGVuZ3RoID4gMCA/IFtdIDogdW5kZWZpbmVkfVxuXHRcdFx0Lz5cblx0XHQpIGFzIFJpY2hUZXh0RWRpdG9yO1xuXG5cdFx0dGhpcy5fZWRpdENvbnRlbnQuYXR0YWNoUmVhZHkodGhpcy5hZGRCdXR0b25Hcm91cHMsIHRoaXMpO1xuXHRcdC8vIEF0dGFjaCBhIHRpbWVyIHRvIGVuc3VyZSB0aGF0IHRoZSBidXR0b24gZ3JvdXBzIGFyZSBhZGRlZCBhZnRlciB0aGUgZWRpdG9yIGlzIHJlYWR5XG5cdFx0Y2xlYXJUaW1lb3V0KHRoaXMuX2J1dHRvbkdyb3Vwc1RpbWVyKTtcblx0XHR0aGlzLl9idXR0b25Hcm91cHNUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdFx0dGhpcy5jcmVhdGVDb250ZW50RGVib3VuY2VkKCk7XG5cdFx0fSwgMjAwMCkgYXMgdW5rbm93biBhcyBudW1iZXI7XG5cdFx0cmV0dXJuIHRoaXMuX2VkaXRDb250ZW50O1xuXHR9O1xuXG5cdC8qKlxuXHQgKiBCdXR0b25zIGdyb3VwcyBuZWVkIHRvIGJlIGFkZGVkIHdoZW4gdGhlIFJURSBpcyByZWFkeSwgb3RoZXJ3aXNlIHNvbWUgb2YgdGhlbSBhcmUgbm90IGF2YWlsYWJsZS5cblx0ICovXG5cdGFkZEJ1dHRvbkdyb3VwcygpOiB2b2lkIHtcblx0XHRjbGVhclRpbWVvdXQodGhpcy5fYnV0dG9uR3JvdXBzVGltZXIpO1xuXHRcdGNvbnN0IGxhdGVCdXR0b25Hcm91cHMgPSB0aGlzLmdldEJ1dHRvbkdyb3VwcygpLnJldmVyc2UoKTtcblx0XHQvLyBUaGV5IGFsc28gc29tZWhvdyBuZWVkIHRvIGJlIGFkZGVkIGluIHJldmVyc2UgYmVjYXVzZSB0aGV5IGFsc28gZ2V0IGFkZGVkIGluIHRoZSBmaXJzdCBwbGFjZSA6RFxuXHRcdGZvciAoY29uc3QgbGF0ZUJ1dHRvbkdyb3VwIG9mIGxhdGVCdXR0b25Hcm91cHMpIHtcblx0XHRcdHRoaXMuX2VkaXRDb250ZW50Py5hZGRCdXR0b25Hcm91cChsYXRlQnV0dG9uR3JvdXApO1xuXHRcdH1cblx0XHR0aGlzLl9lZGl0Q29udGVudD8uZGV0YWNoUmVhZHkodGhpcy5hZGRCdXR0b25Hcm91cHMsIHRoaXMpO1xuXHRcdHRoaXMuX2VkaXRDb250ZW50Py5yZW1vdmVTdHlsZUNsYXNzKFwic2FwVWlIaWRkZW5cIik7XG5cdH1cblxuXHQvKipcblx0ICogTWV0aG9kIHRoYXQgY2xlYW5zIHVwIHRoZSBwcmV2aW91cyByaWNoIHRleHQgZWRpdG9yIGluc3RhbmNlLlxuXHQgKiBUaGlzIGlzIG5lZWRlZCBiZWNhdXNlIHRoZSBSaWNoVGV4dEVkaXRvciBjb250cm9sIGRvZXMgbm90IGFsd2F5cyBkZXN0cm95IHRoZSBUaW55TUNFIGluc3RhbmNlLFxuXHQgKiB3aGljaCBjYW4gbGVhZCB0byBpc3N1ZXMgd2hlbiBzd2l0Y2hpbmcgYmV0d2VlbiBlZGl0IGFuZCBkaXNwbGF5IG1vZGVzLlxuXHQgKi9cblx0X2NsZWFudXBQcmV2aW91c1JURSgpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5fZWRpdENvbnRlbnQpIHtcblx0XHRcdC8vIEl0J3MgYmV0dGVyIHRvIGRlc3Ryb3kgdGhlIHJpY2ggdGV4dCBlZGl0b3IgYXMgaW4gc29tZSBjYXNlIHdpdGggc2xvdyBtYWNoaW5lIHN3aXRjaGluZyBiZXR3ZWVuIGVkaXQgYW5kIGRpc3BsYXkgbWF5IGJyZWFrIGl0XG5cdFx0XHR0aGlzLl9lZGl0Q29udGVudC5kZXN0cm95KCk7XG5cdFx0XHQvLyBEZXN0cm95IHRoZSBUaW55TUNFIGluc3RhbmNlIGFzIHdlbGxcblx0XHRcdC8vIFRoaXMgaXMgbmVlZGVkIGJlY2F1c2UgdGhlIFJpY2hUZXh0RWRpdG9yIGNvbnRyb2wgZG9lcyBub3QgYWx3YXlzIGRlc3Ryb3kgdGhlIFRpbnlNQ0UgaW5zdGFuY2Vcblx0XHR9XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuXHRcdC8vIEB0cy1pZ25vcmVcblx0XHR3aW5kb3cudGlueW1jZT8uZ2V0KHRoaXMuY3JlYXRlSWQoXCJfcnRlXCIpICsgXCItdGV4dGFyZWFcIik/LmRlc3Ryb3koKTtcblx0fVxuXG5cdGdldERpc3BsYXlDb250ZW50KCk6IEZvcm1hdHRlZFRleHQge1xuXHRcdGlmICh0aGlzLl9kaXNwbGF5Q29udGVudCkge1xuXHRcdFx0dGhpcy5fZGlzcGxheUNvbnRlbnQuZGVzdHJveSgpO1xuXHRcdH1cblxuXHRcdHRoaXMuX2NsZWFudXBQcmV2aW91c1JURSgpO1xuXG5cdFx0dGhpcy5fZGlzcGxheUNvbnRlbnQgPSAoPEZvcm1hdHRlZFRleHQgaHRtbFRleHQ9e3RoaXMudmFsdWV9IC8+KSBhcyBGb3JtYXR0ZWRUZXh0O1xuXHRcdHJldHVybiB0aGlzLl9kaXNwbGF5Q29udGVudDtcblx0fVxuXG5cdGNyZWF0ZUNvbnRlbnQoKTogUmljaFRleHRFZGl0b3IgfCBGb3JtYXR0ZWRUZXh0IHwgdW5kZWZpbmVkIHtcblx0XHRpZiAodGhpcy5faXNJbkVkaXRNb2RlICYmICF0aGlzLnJlYWRPbmx5KSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5nZXRFZGl0Q29udGVudCgpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5nZXREaXNwbGF5Q29udGVudCgpO1xuXHRcdH1cblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBWUE7RUFlQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQU5BLElBUXFCQSxtQkFBbUIsSUFBQUMsSUFBQSxHQUR2Q0MsY0FBYyxDQUFDLDhCQUE4QixDQUFDLEVBQUFDLEtBQUEsR0FLN0NDLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUUsUUFBUTtJQUFFQyxRQUFRLEVBQUU7RUFBSyxDQUFDLENBQUMsRUFBQUMsS0FBQSxHQU81Q0gsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRSxLQUFLO0lBQUVHLGFBQWEsRUFBRTtFQUFLLENBQUMsQ0FBQyxFQUFBQyxLQUFBLEdBUTlDTCxRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVUsQ0FBQyxDQUFDLEVBQUFLLEtBQUEsR0FPN0JDLFdBQVcsQ0FBQztJQUFFTixJQUFJLEVBQUUsMENBQTBDO0lBQUVPLFFBQVEsRUFBRSxJQUFJO0lBQUVDLFlBQVksRUFBRUM7RUFBWSxDQUFDLENBQUMsRUFBQUMsS0FBQSxHQU81R0osV0FBVyxDQUFDO0lBQUVOLElBQUksRUFBRSxxQ0FBcUM7SUFBRU8sUUFBUSxFQUFFLElBQUk7SUFBRUMsWUFBWSxFQUFFRztFQUFpQixDQUFDLENBQUMsRUFBQUMsS0FBQSxHQVE1R2IsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFVLENBQUMsQ0FBQyxFQUFBYSxLQUFBLEdBTzdCZCxRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFLEtBQUs7SUFBRWMsUUFBUSxFQUFFO0VBQU0sQ0FBQyxDQUFDLEVBQUFDLEtBQUEsR0FHMUNoQixRQUFRLENBQUM7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
|
|
@@ -145,14 +145,14 @@ export default class RichTextEditorBlock extends BuildingBlock<Control> {
|
|
|
145
145
|
|
|
146
146
|
/**
|
|
147
147
|
* Method that returns the button customizations for the editor toolbar.
|
|
148
|
-
* Because all values
|
|
148
|
+
* Because all values are returned as strings from XML, parsing is needed to return attributes with the correct type.
|
|
149
149
|
* @returns The button groups.
|
|
150
150
|
*/
|
|
151
151
|
getButtonGroups = (): ButtonGroupData[] => {
|
|
152
152
|
if (this.buttonGroups && this.buttonGroups.length > 0) {
|
|
153
153
|
return this.buttonGroups.map((buttonGroup: ButtonGroup) => ({
|
|
154
154
|
name: buttonGroup.name ?? "",
|
|
155
|
-
visible: buttonGroup.visible === "true",
|
|
155
|
+
visible: buttonGroup.visible?.toString() === "true",
|
|
156
156
|
priority: buttonGroup.priority,
|
|
157
157
|
row: buttonGroup.row,
|
|
158
158
|
customToolbarPriority: buttonGroup.customToolbarPriority,
|
|
@@ -183,7 +183,6 @@ export default class RichTextEditorBlock extends BuildingBlock<Control> {
|
|
|
183
183
|
visible={true}
|
|
184
184
|
customToolbar={true}
|
|
185
185
|
editable={true}
|
|
186
|
-
editorType="TinyMCE6"
|
|
187
186
|
showGroupFontStyle={true}
|
|
188
187
|
showGroupTextAlign={true}
|
|
189
188
|
showGroupStructure={true}
|
|
@@ -2,13 +2,14 @@
|
|
|
2
2
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
3
|
* (c) Copyright 2009-2025 SAP SE. All rights reserved
|
|
4
4
|
*/
|
|
5
|
-
sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/core/buildingBlocks/BuildingBlock", "sap/fe/core/helpers/StableIdHelper", "sap/fe/core/helpers/TypeGuards", "sap/fe/core/templating/CriticalityFormatters", "sap/fe/core/templating/DataModelPathHelper", "sap/fe/macros/field/FieldTemplating", "sap/m/ObjectStatus", "sap/fe/base/jsx-runtime/jsx"], function (ClassSupport, BuildingBlock, StableIdHelper, TypeGuards, CriticalityFormatters, DataModelPathHelper, FieldTemplating, MObjectStatus, _jsx) {
|
|
5
|
+
sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/core/buildingBlocks/BuildingBlock", "sap/fe/core/helpers/StableIdHelper", "sap/fe/core/helpers/TypeGuards", "sap/fe/core/templating/CriticalityFormatters", "sap/fe/core/templating/DataModelPathHelper", "sap/fe/core/templating/UIFormatters", "sap/fe/macros/field/FieldTemplating", "sap/m/ObjectStatus", "sap/fe/base/jsx-runtime/jsx"], function (ClassSupport, BuildingBlock, StableIdHelper, TypeGuards, CriticalityFormatters, DataModelPathHelper, UIFormatters, FieldTemplating, MObjectStatus, _jsx) {
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8;
|
|
8
|
+
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9;
|
|
9
9
|
var _exports = {};
|
|
10
10
|
var getVisibleExpression = FieldTemplating.getVisibleExpression;
|
|
11
11
|
var getTextBinding = FieldTemplating.getTextBinding;
|
|
12
|
+
var getTooltipValue = UIFormatters.getTooltipValue;
|
|
12
13
|
var enhanceDataModelPath = DataModelPathHelper.enhanceDataModelPath;
|
|
13
14
|
var buildExpressionForCriticalityIcon = CriticalityFormatters.buildExpressionForCriticalityIcon;
|
|
14
15
|
var buildExpressionForCriticalityColor = CriticalityFormatters.buildExpressionForCriticalityColor;
|
|
@@ -43,7 +44,10 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/core/buildingBlocks/BuildingB
|
|
|
43
44
|
type: "boolean"
|
|
44
45
|
}), _dec8 = property({
|
|
45
46
|
type: "boolean"
|
|
46
|
-
}), _dec9 =
|
|
47
|
+
}), _dec9 = property({
|
|
48
|
+
type: "string",
|
|
49
|
+
allowedValues: ["Standard", "Pastel"]
|
|
50
|
+
}), _dec10 = event(), _dec(_class = (_class2 = /*#__PURE__*/function (_BuildingBlock) {
|
|
47
51
|
/**
|
|
48
52
|
* Internal property to store the data model path
|
|
49
53
|
*/
|
|
@@ -87,12 +91,17 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/core/buildingBlocks/BuildingB
|
|
|
87
91
|
*/
|
|
88
92
|
_initializerDefineProperty(_this, "inverted", _descriptor6, _this);
|
|
89
93
|
_initializerDefineProperty(_this, "hideIcon", _descriptor7, _this);
|
|
94
|
+
/**
|
|
95
|
+
* Color palette to be used by the control. The supported values are "Standard" (default) and "Pastel".
|
|
96
|
+
* @public
|
|
97
|
+
*/
|
|
98
|
+
_initializerDefineProperty(_this, "colorPalette", _descriptor8, _this);
|
|
90
99
|
/**
|
|
91
100
|
* Press event fired when the ObjectStatus is clicked.
|
|
92
101
|
* @param event The press event
|
|
93
102
|
* @public
|
|
94
103
|
*/
|
|
95
|
-
_initializerDefineProperty(_this, "press",
|
|
104
|
+
_initializerDefineProperty(_this, "press", _descriptor9, _this);
|
|
96
105
|
return _this;
|
|
97
106
|
}
|
|
98
107
|
|
|
@@ -140,7 +149,15 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/core/buildingBlocks/BuildingB
|
|
|
140
149
|
* Gets the criticality expression for the ObjectStatus.
|
|
141
150
|
* @returns The compiled binding expression for criticality color, or undefined if no criticality is available
|
|
142
151
|
*/;
|
|
143
|
-
_proto.getCriticalityExpression = function getCriticalityExpression(
|
|
152
|
+
_proto.getCriticalityExpression = function getCriticalityExpression(colorPalette) {
|
|
153
|
+
const pastelColorMap = {
|
|
154
|
+
Negative: "Indication12",
|
|
155
|
+
Critical: "Indication13",
|
|
156
|
+
Positive: "Indication14",
|
|
157
|
+
Information: "Indication15",
|
|
158
|
+
Neutral: "Indication20"
|
|
159
|
+
};
|
|
160
|
+
const specificColorMap = colorPalette === "Pastel" ? pastelColorMap : undefined;
|
|
144
161
|
return this.dataModelPath === undefined ? undefined : buildExpressionForCriticalityColor(this.dataModelPath, this.dataModelPath, specificColorMap);
|
|
145
162
|
}
|
|
146
163
|
|
|
@@ -169,7 +186,10 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/core/buildingBlocks/BuildingB
|
|
|
169
186
|
const statusConfig = this.getAppComponent()?.getAdditionalConfiguration()?.["sap.fe.macros"]?.Status;
|
|
170
187
|
const dataFieldOrPropertyDataModelObjectPath = this.dataModelPath ?? this.valueDataModelPath;
|
|
171
188
|
const visible = getVisibleExpression(dataFieldOrPropertyDataModelObjectPath);
|
|
172
|
-
|
|
189
|
+
if (this.isPropertyInitial("colorPalette")) {
|
|
190
|
+
this.colorPalette = statusConfig?.colorPalette ?? "Standard";
|
|
191
|
+
}
|
|
192
|
+
const criticalityExpression = this.getCriticalityExpression(this.colorPalette);
|
|
173
193
|
const criticalityIconExpression = this.getCriticalityIconExpression();
|
|
174
194
|
const textBinding = this.getObjectStatusTextBinding();
|
|
175
195
|
const isActive = this.hasListeners("press");
|
|
@@ -180,11 +200,13 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/core/buildingBlocks/BuildingB
|
|
|
180
200
|
if (this.largeDesign) {
|
|
181
201
|
this.hideIcon = true;
|
|
182
202
|
}
|
|
203
|
+
const toolTipValue = getTooltipValue(this.dataModelPath, this.valueDataModelPath);
|
|
183
204
|
return _jsx(MObjectStatus, {
|
|
184
205
|
id: generate([this.getId(), "ObjectStatus"]),
|
|
185
206
|
inverted: this.inverted,
|
|
186
207
|
class: this.largeDesign ? "sapMObjectStatusLarge sapMObjectStatusLongText" : undefined,
|
|
187
208
|
state: criticalityExpression,
|
|
209
|
+
tooltip: toolTipValue,
|
|
188
210
|
icon: this.hideIcon ? undefined : criticalityIconExpression,
|
|
189
211
|
text: textBinding,
|
|
190
212
|
visible: visible,
|
|
@@ -239,7 +261,12 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/core/buildingBlocks/BuildingB
|
|
|
239
261
|
initializer: function () {
|
|
240
262
|
return false;
|
|
241
263
|
}
|
|
242
|
-
}), _descriptor8 = _applyDecoratedDescriptor(_class2.prototype, "
|
|
264
|
+
}), _descriptor8 = _applyDecoratedDescriptor(_class2.prototype, "colorPalette", [_dec9], {
|
|
265
|
+
configurable: true,
|
|
266
|
+
enumerable: true,
|
|
267
|
+
writable: true,
|
|
268
|
+
initializer: null
|
|
269
|
+
}), _descriptor9 = _applyDecoratedDescriptor(_class2.prototype, "press", [_dec10], {
|
|
243
270
|
configurable: true,
|
|
244
271
|
enumerable: true,
|
|
245
272
|
writable: true,
|
|
@@ -248,4 +275,4 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/core/buildingBlocks/BuildingB
|
|
|
248
275
|
_exports = Status;
|
|
249
276
|
return _exports;
|
|
250
277
|
}, false);
|
|
251
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTdGF0dXMiLCJfZGVjIiwiZGVmaW5lVUk1Q2xhc3MiLCJfZGVjMiIsImltcGxlbWVudEludGVyZmFjZSIsIl9kZWMzIiwicHJvcGVydHkiLCJ0eXBlIiwicmVxdWlyZWQiLCJfZGVjNCIsIl9kZWM1IiwiYWxsb3dlZFZhbHVlcyIsIl9kZWM2IiwiX2RlYzciLCJfZGVjOCIsIl9kZWM5IiwiZXZlbnQiLCJfY2xhc3MiLCJfY2xhc3MyIiwiX0J1aWxkaW5nQmxvY2siLCJwcm9wZXJ0aWVzIiwib3RoZXJzIiwiX3RoaXMiLCJjYWxsIiwiX2luaXRpYWxpemVyRGVmaW5lUHJvcGVydHkiLCJfZGVzY3JpcHRvciIsIl9kZXNjcmlwdG9yMiIsIl9kZXNjcmlwdG9yMyIsIl9kZXNjcmlwdG9yNCIsIl9kZXNjcmlwdG9yNSIsIl9kZXNjcmlwdG9yNiIsIl9kZXNjcmlwdG9yNyIsIl9kZXNjcmlwdG9yOCIsIl9leHBvcnRzIiwiX2luaGVyaXRzTG9vc2UiLCJfcHJvdG8iLCJwcm90b3R5cGUiLCJvbk1ldGFkYXRhQXZhaWxhYmxlIiwiZ2V0VGVtcGxhdGluZ09iamVjdHMiLCJkYXRhTW9kZWxQYXRoIiwidmFsdWVEYXRhTW9kZWxQYXRoIiwiY29udGVudCIsImNyZWF0ZUNvbnRlbnQiLCJpbnRlcm5hbERhdGFNb2RlbFBhdGgiLCJnZXREYXRhTW9kZWxPYmplY3RGb3JNZXRhUGF0aCIsIm1ldGFQYXRoIiwiY29udGV4dFBhdGgiLCJ0YXJnZXRPYmplY3QiLCJpc1Byb3BlcnR5IiwiYW5ub3RhdGlvbnMiLCJVSSIsIkRhdGFGaWVsZERlZmF1bHQiLCJ1bmRlZmluZWQiLCJWYWx1ZSIsInBhdGgiLCJlbmhhbmNlRGF0YU1vZGVsUGF0aCIsImdldENyaXRpY2FsaXR5RXhwcmVzc2lvbiIsInNwZWNpZmljQ29sb3JNYXAiLCJidWlsZEV4cHJlc3Npb25Gb3JDcml0aWNhbGl0eUNvbG9yIiwiZ2V0Q3JpdGljYWxpdHlJY29uRXhwcmVzc2lvbiIsImJ1aWxkRXhwcmVzc2lvbkZvckNyaXRpY2FsaXR5SWNvbiIsImdldE9iamVjdFN0YXR1c1RleHRCaW5kaW5nIiwicHJvcGVydHlPckRhdGFGaWVsZERhdGFNb2RlbE9iamVjdFBhdGgiLCJnZXRUZXh0QmluZGluZyIsInN0YXR1c0NvbmZpZyIsImdldEFwcENvbXBvbmVudCIsImdldEFkZGl0aW9uYWxDb25maWd1cmF0aW9uIiwiZGF0YUZpZWxkT3JQcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGgiLCJ2aXNpYmxlIiwiZ2V0VmlzaWJsZUV4cHJlc3Npb24iLCJjcml0aWNhbGl0eUV4cHJlc3Npb24iLCJjb2xvck1hcCIsImNyaXRpY2FsaXR5SWNvbkV4cHJlc3Npb24iLCJ0ZXh0QmluZGluZyIsImlzQWN0aXZlIiwiaGFzTGlzdGVuZXJzIiwiaXNQcm9wZXJ0eUluaXRpYWwiLCJpbnZlcnRlZCIsImludmVydGVkRGVmYXVsdFZhbHVlIiwibGFyZ2VEZXNpZ24iLCJoaWRlSWNvbiIsIl9qc3giLCJNT2JqZWN0U3RhdHVzIiwiaWQiLCJnZW5lcmF0ZSIsImdldElkIiwiY2xhc3MiLCJzdGF0ZSIsImljb24iLCJ0ZXh0IiwiYWN0aXZlIiwicmVhY3RpdmVBcmVhTW9kZSIsInByZXNzIiwicHJlc3NFdmVudCIsImZpcmVFdmVudCIsIkJ1aWxkaW5nQmxvY2siLCJfYXBwbHlEZWNvcmF0ZWREZXNjcmlwdG9yIiwiY29uZmlndXJhYmxlIiwiZW51bWVyYWJsZSIsIndyaXRhYmxlIiwiaW5pdGlhbGl6ZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIlN0YXR1cy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQcm9wZXJ0eSB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlc1wiO1xuaW1wb3J0IHR5cGUgeyBEYXRhRmllbGQsIERhdGFQb2ludFR5cGUgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXMvdm9jYWJ1bGFyaWVzL1VJXCI7XG5pbXBvcnQgeyBVSUFubm90YXRpb25UZXJtcyB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlcy92b2NhYnVsYXJpZXMvVUlcIjtcbmltcG9ydCB0eXBlIHsgQ29tcGlsZWRCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb24gfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQmluZGluZ1Rvb2xraXRcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzLCBldmVudCwgaW1wbGVtZW50SW50ZXJmYWNlLCBwcm9wZXJ0eSwgdHlwZSBQcm9wZXJ0aWVzT2YgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgQnVpbGRpbmdCbG9jayBmcm9tIFwic2FwL2ZlL2NvcmUvYnVpbGRpbmdCbG9ja3MvQnVpbGRpbmdCbG9ja1wiO1xuaW1wb3J0IHsgZ2VuZXJhdGUgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9TdGFibGVJZEhlbHBlclwiO1xuaW1wb3J0IHsgaXNQcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL1R5cGVHdWFyZHNcIjtcbmltcG9ydCB7IGJ1aWxkRXhwcmVzc2lvbkZvckNyaXRpY2FsaXR5Q29sb3IsIGJ1aWxkRXhwcmVzc2lvbkZvckNyaXRpY2FsaXR5SWNvbiB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL0NyaXRpY2FsaXR5Rm9ybWF0dGVyc1wiO1xuaW1wb3J0IHR5cGUgeyBEYXRhTW9kZWxPYmplY3RQYXRoIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvRGF0YU1vZGVsUGF0aEhlbHBlclwiO1xuaW1wb3J0IHsgZW5oYW5jZURhdGFNb2RlbFBhdGggfSBmcm9tIFwic2FwL2ZlL2NvcmUvdGVtcGxhdGluZy9EYXRhTW9kZWxQYXRoSGVscGVyXCI7XG5pbXBvcnQgeyBnZXRUZXh0QmluZGluZywgZ2V0VmlzaWJsZUV4cHJlc3Npb24gfSBmcm9tIFwic2FwL2ZlL21hY3Jvcy9maWVsZC9GaWVsZFRlbXBsYXRpbmdcIjtcbmltcG9ydCB0eXBlIHsgT2JqZWN0U3RhdHVzJFByZXNzRXZlbnQgfSBmcm9tIFwic2FwL20vT2JqZWN0U3RhdHVzXCI7XG5pbXBvcnQgTU9iamVjdFN0YXR1cyBmcm9tIFwic2FwL20vT2JqZWN0U3RhdHVzXCI7XG5pbXBvcnQgdHlwZSB7ICRDb250cm9sU2V0dGluZ3MgfSBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuaW1wb3J0IHR5cGUgeyBJRm9ybUNvbnRlbnQgfSBmcm9tIFwic2FwL3VpL2NvcmUvbGlicmFyeVwiO1xuXG4vKipcbiAqIEJ1aWxkaW5nIGJsb2NrIHRvIGRpc3BsYXkgYSBzdGF0dXMgYW5kIGNyaXRpY2FsaXR5LlxuICogQHB1YmxpY1xuICogQHVpNS1leHBlcmltZW50YWwtc2luY2UgMS4xNDEuMFxuICogQHNpbmNlIDEuMTQxLjBcbiAqL1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLm1hY3Jvcy5TdGF0dXNcIilcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFN0YXR1cyBleHRlbmRzIEJ1aWxkaW5nQmxvY2s8TU9iamVjdFN0YXR1cz4gaW1wbGVtZW50cyBJRm9ybUNvbnRlbnQge1xuXHRAaW1wbGVtZW50SW50ZXJmYWNlKFwic2FwLnVpLmNvcmUuSUZvcm1Db250ZW50XCIpXG5cdF9faW1wbGVtZW50c19fc2FwX3VpX2NvcmVfSUZvcm1Db250ZW50ID0gdHJ1ZTtcblxuXHQvKipcblx0ICogTWV0YWRhdGEgcGF0aCB0byB0aGUgRGF0YUZpZWxkIGFubm90YXRpb24gb3IgcHJvcGVydHkuXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7XG5cdFx0dHlwZTogXCJzdHJpbmdcIixcblx0XHRyZXF1aXJlZDogdHJ1ZVxuXHR9KVxuXHRwdWJsaWMgbWV0YVBhdGghOiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIENvbnRleHQgcGF0aCBmb3IgdGhlIGJpbmRpbmcgY29udGV4dC5cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHtcblx0XHR0eXBlOiBcInN0cmluZ1wiXG5cdH0pXG5cdHB1YmxpYyBjb250ZXh0UGF0aD86IHN0cmluZztcblxuXHQvKipcblx0ICogIFdoZW4gdGhlIFN0YXR1cyBpcyBjbGlja2FibGUsIGl0IGRlZmluZXMgdGhlIHNpemUgb2YgdGhlIHJlYWN0aXZlIGFyZWEgb2YgdGhlIGNsaWNrYWJsZSBlbGVtZW50OlxuXHQgKlxuXHQgKiAtIFJlYWN0aXZlQXJlYU1vZGUuSW5saW5lIC0gVGhlIFN0YXR1cyBpcyBkaXNwbGF5ZWQgYXMgcGFydCBvZiBhIHNlbnRlbmNlLlxuXHQgKiAtIFJlYWN0aXZlQXJlYU1vZGUuT3ZlcmxheSAtIFRoZSBTdGF0dXMgaXMgZGlzcGxheWVkIGFzIGFuIG92ZXJsYXkgb24gdG9wIG9mIG90aGVyIGludGVyYWN0aXZlIHBhcnRzIG9mIHRoZSBwYWdlLlxuXHQgKiBOb3RlOiBJdCBpcyBkZXNpZ25lZCB0byBtYWtlIHRoZSBjbGlja2FibGUgZWxlbWVudCBlYXNpZXIgdG8gYWN0aXZhdGUgYW5kIGhlbHBzIG1lZXQgdGhlIFdDQUcgMi4yIFRhcmdldCBTaXplIHJlcXVpcmVtZW50LiBJdCBpcyBhcHBsaWNhYmxlIG9ubHkgZm9yIHRoZSBTQVAgSG9yaXpvbiB0aGVtZXMuIE5vdGU6IFRoZSBzaXplIG9mIHRoZSByZWFjdGl2ZSBhcmVhIGlzIHN1ZmZpY2llbnRseSBsYXJnZSB0byBoZWxwIHVzZXJzIGF2b2lkIGFjY2lkZW50YWxseSBzZWxlY3RpbmcgKGNsaWNraW5nIG9yIHRhcHBpbmcpIHVuaW50ZW5kZWQgVUkgZWxlbWVudHMuIFVJIGVsZW1lbnRzIHBvc2l0aW9uZWQgb3ZlciBvdGhlciBwYXJ0cyBvZiB0aGUgcGFnZSBtYXkgbmVlZCBhbiBpbnZpc2libGUgYWN0aXZlIHRvdWNoIGFyZWEuIFRoaXMgZW5zdXJlcyB0aGF0IG5vIGVsZW1lbnRzIGJlbmVhdGggYXJlIGFjdGl2YXRlZCBhY2NpZGVudGFsbHkgd2hlbiB0aGUgdXNlciB0cmllcyB0byBpbnRlcmFjdCB3aXRoIHRoZSBvdmVybGF5IGVsZW1lbnQuXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIsIGFsbG93ZWRWYWx1ZXM6IFtcIklubGluZVwiLCBcIk92ZXJsYXlcIl0gfSlcblx0cHVibGljIHJlYWN0aXZlQXJlYU1vZGU/OiBcIklubGluZVwiIHwgXCJPdmVybGF5XCI7XG5cblx0LyoqXG5cdCAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBPYmplY3RTdGF0dXMgc2hvdWxkIGJlIGRpc3BsYXllZCBpbiBsYXJnZSBkZXNpZ24gbW9kZS5cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0cHVibGljIGxhcmdlRGVzaWduID0gZmFsc2U7XG5cblx0LyoqXG5cdCAqIERldGVybWluZXMgd2hldGhlciB0aGUgYmFja2dyb3VuZCBjb2xvciByZWZsZWN0cyB0aGUgc2V0IHN0YXRlIG9mIHRoZSBPYmplY3RTdGF0dXMgaW5zdGVhZCBvZiB0aGUgY29udHJvbCdzIHRleHQuXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdHB1YmxpYyBpbnZlcnRlZCA9IGZhbHNlO1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdHB1YmxpYyBoaWRlSWNvbiA9IGZhbHNlO1xuXG5cdC8qKlxuXHQgKiBQcmVzcyBldmVudCBmaXJlZCB3aGVuIHRoZSBPYmplY3RTdGF0dXMgaXMgY2xpY2tlZC5cblx0ICogQHBhcmFtIGV2ZW50IFRoZSBwcmVzcyBldmVudFxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAZXZlbnQoKVxuXHRwdWJsaWMgcHJlc3M/OiAoZXZlbnQ6IE9iamVjdFN0YXR1cyRQcmVzc0V2ZW50KSA9PiB2b2lkO1xuXG5cdC8qKlxuXHQgKiBJbnRlcm5hbCBwcm9wZXJ0eSB0byBzdG9yZSB0aGUgZGF0YSBtb2RlbCBwYXRoXG5cdCAqL1xuXHRwcml2YXRlIGRhdGFNb2RlbFBhdGg/OiBEYXRhTW9kZWxPYmplY3RQYXRoPERhdGFGaWVsZCB8IERhdGFQb2ludFR5cGU+O1xuXG5cdHByaXZhdGUgdmFsdWVEYXRhTW9kZWxQYXRoPzogRGF0YU1vZGVsT2JqZWN0UGF0aDxQcm9wZXJ0eT47XG5cblx0LyoqXG5cdCAqIENvbnN0cnVjdG9yIGZvciB0aGUgU3RhdHVzIGJ1aWxkaW5nIGJsb2NrLlxuXHQgKiBAcGFyYW0gcHJvcGVydGllcyBUaGUgcHJvcGVydGllcyBvYmplY3QgY29udGFpbmluZyBTdGF0dXMtc3BlY2lmaWMgc2V0dGluZ3MgYW5kIGJhc2UgY29udHJvbCBzZXR0aW5nc1xuXHQgKiBAcGFyYW0gW290aGVyc10gQWRkaXRpb25hbCBjb250cm9sIHNldHRpbmdzIHRoYXQgbWF5IGJlIGFwcGxpZWQgdG8gdGhlIGJ1aWxkaW5nIGJsb2NrXG5cdCAqL1xuXHRjb25zdHJ1Y3Rvcihwcm9wZXJ0aWVzOiAkQ29udHJvbFNldHRpbmdzICYgUHJvcGVydGllc09mPFN0YXR1cz4sIG90aGVycz86ICRDb250cm9sU2V0dGluZ3MpIHtcblx0XHRzdXBlcihwcm9wZXJ0aWVzLCBvdGhlcnMpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEhhbmRsZXIgZm9yIHRoZSBvbk1ldGFkYXRhQXZhaWxhYmxlIGV2ZW50LlxuXHQgKi9cblx0b25NZXRhZGF0YUF2YWlsYWJsZSgpOiB2b2lkIHtcblx0XHR0aGlzLmdldFRlbXBsYXRpbmdPYmplY3RzKCk7XG5cdFx0aWYgKCF0aGlzLmRhdGFNb2RlbFBhdGggJiYgIXRoaXMudmFsdWVEYXRhTW9kZWxQYXRoKSB7XG5cdFx0XHQvLyB0aGVyZSBjYW5ub3QgYmUgYSBzdGF0aWMgdmFsdWUgYW5kIG5vIGRhdGFmaWVsZCBvciBkYXRhcG9pbnRcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0aWYgKCF0aGlzLmNvbnRlbnQpIHtcblx0XHRcdHRoaXMuY29udGVudCA9IHRoaXMuY3JlYXRlQ29udGVudCgpO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBGdW5jdGlvbiB0byBnZXQgdGhlIHRlbXBsYXRpbmcgb2JqZWN0cyBhbmQgcHJlcGFyZSBkYXRhIG1vZGVsIHBhdGhzLlxuXHQgKi9cblx0cHJpdmF0ZSBnZXRUZW1wbGF0aW5nT2JqZWN0cygpOiB2b2lkIHtcblx0XHQvLyBUcnkgdG8gZ2V0IGFzIERhdGFGaWVsZCBmaXJzdCwgdGhlbiBhcyBEYXRhUG9pbnQsIHRoZW4gYXMgUHJvcGVydHlcblx0XHRjb25zdCBpbnRlcm5hbERhdGFNb2RlbFBhdGggPSB0aGlzLmdldERhdGFNb2RlbE9iamVjdEZvck1ldGFQYXRoPERhdGFGaWVsZCB8IERhdGFQb2ludFR5cGUgfCBQcm9wZXJ0eT4oXG5cdFx0XHR0aGlzLm1ldGFQYXRoLFxuXHRcdFx0dGhpcy5jb250ZXh0UGF0aFxuXHRcdCk7XG5cdFx0Y29uc3QgdGFyZ2V0T2JqZWN0ID0gaW50ZXJuYWxEYXRhTW9kZWxQYXRoPy50YXJnZXRPYmplY3Q7XG5cblx0XHRpZiAoIWludGVybmFsRGF0YU1vZGVsUGF0aCkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRpZiAoaXNQcm9wZXJ0eSh0YXJnZXRPYmplY3QpKSB7XG5cdFx0XHRpZiAodGFyZ2V0T2JqZWN0Py5hbm5vdGF0aW9ucz8uVUk/LkRhdGFGaWVsZERlZmF1bHQgIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHR0aGlzLmRhdGFNb2RlbFBhdGggPSB0aGlzLmdldERhdGFNb2RlbE9iamVjdEZvck1ldGFQYXRoPERhdGFGaWVsZD4oXG5cdFx0XHRcdFx0YCR7dGhpcy5tZXRhUGF0aH1AJHtVSUFubm90YXRpb25UZXJtcy5EYXRhRmllbGREZWZhdWx0fWAsXG5cdFx0XHRcdFx0dGhpcy5jb250ZXh0UGF0aFxuXHRcdFx0XHQpO1xuXHRcdFx0fVxuXHRcdFx0dGhpcy52YWx1ZURhdGFNb2RlbFBhdGggPSBpbnRlcm5hbERhdGFNb2RlbFBhdGggYXMgRGF0YU1vZGVsT2JqZWN0UGF0aDxQcm9wZXJ0eT47XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuZGF0YU1vZGVsUGF0aCA9IGludGVybmFsRGF0YU1vZGVsUGF0aCBhcyBEYXRhTW9kZWxPYmplY3RQYXRoPERhdGFGaWVsZCB8IERhdGFQb2ludFR5cGU+O1xuXHRcdFx0aWYgKHRoaXMuZGF0YU1vZGVsUGF0aD8udGFyZ2V0T2JqZWN0Py5WYWx1ZT8ucGF0aCkge1xuXHRcdFx0XHR0aGlzLnZhbHVlRGF0YU1vZGVsUGF0aCA9IGVuaGFuY2VEYXRhTW9kZWxQYXRoPFByb3BlcnR5PihpbnRlcm5hbERhdGFNb2RlbFBhdGgsIHRoaXMuZGF0YU1vZGVsUGF0aC50YXJnZXRPYmplY3QuVmFsdWUucGF0aCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIGNyaXRpY2FsaXR5IGV4cHJlc3Npb24gZm9yIHRoZSBPYmplY3RTdGF0dXMuXG5cdCAqIEByZXR1cm5zIFRoZSBjb21waWxlZCBiaW5kaW5nIGV4cHJlc3Npb24gZm9yIGNyaXRpY2FsaXR5IGNvbG9yLCBvciB1bmRlZmluZWQgaWYgbm8gY3JpdGljYWxpdHkgaXMgYXZhaWxhYmxlXG5cdCAqL1xuXHRwcml2YXRlIGdldENyaXRpY2FsaXR5RXhwcmVzc2lvbihzcGVjaWZpY0NvbG9yTWFwPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPik6IENvbXBpbGVkQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uIHwgdW5kZWZpbmVkIHtcblx0XHRyZXR1cm4gdGhpcy5kYXRhTW9kZWxQYXRoID09PSB1bmRlZmluZWRcblx0XHRcdD8gdW5kZWZpbmVkXG5cdFx0XHQ6IGJ1aWxkRXhwcmVzc2lvbkZvckNyaXRpY2FsaXR5Q29sb3IodGhpcy5kYXRhTW9kZWxQYXRoLCB0aGlzLmRhdGFNb2RlbFBhdGgsIHNwZWNpZmljQ29sb3JNYXApO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIGNyaXRpY2FsaXR5IGljb24gZXhwcmVzc2lvbiBmb3IgdGhlIE9iamVjdFN0YXR1cy5cblx0ICogQHJldHVybnMgVGhlIGNvbXBpbGVkIGJpbmRpbmcgZXhwcmVzc2lvbiBmb3IgY3JpdGljYWxpdHkgaWNvbiwgb3IgdW5kZWZpbmVkIGlmIG5vIGNyaXRpY2FsaXR5IGlzIGF2YWlsYWJsZVxuXHQgKi9cblx0cHJpdmF0ZSBnZXRDcml0aWNhbGl0eUljb25FeHByZXNzaW9uKCk6IENvbXBpbGVkQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uIHwgdW5kZWZpbmVkIHtcblx0XHRyZXR1cm4gdGhpcy5kYXRhTW9kZWxQYXRoID09PSB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiBidWlsZEV4cHJlc3Npb25Gb3JDcml0aWNhbGl0eUljb24odGhpcy5kYXRhTW9kZWxQYXRoLCB0aGlzLmRhdGFNb2RlbFBhdGgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIHRleHQgYmluZGluZyBleHByZXNzaW9uIGZvciB0aGUgT2JqZWN0U3RhdHVzLlxuXHQgKiBAcmV0dXJucyBUaGUgY29tcGlsZWQgYmluZGluZyBleHByZXNzaW9uIGZvciB0aGUgT2JqZWN0U3RhdHVzIHRleHQgY29udGVudFxuXHQgKi9cblx0cHJpdmF0ZSBnZXRPYmplY3RTdGF0dXNUZXh0QmluZGluZygpOiBDb21waWxlZEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbiB7XG5cdFx0Y29uc3QgcHJvcGVydHlPckRhdGFGaWVsZERhdGFNb2RlbE9iamVjdFBhdGggPSAodGhpcy52YWx1ZURhdGFNb2RlbFBhdGggPz8gdGhpcy5kYXRhTW9kZWxQYXRoKSBhcyBEYXRhTW9kZWxPYmplY3RQYXRoPFxuXHRcdFx0UHJvcGVydHkgfCBEYXRhRmllbGQgfCBEYXRhUG9pbnRUeXBlXG5cdFx0Pjtcblx0XHRyZXR1cm4gZ2V0VGV4dEJpbmRpbmcocHJvcGVydHlPckRhdGFGaWVsZERhdGFNb2RlbE9iamVjdFBhdGgsIHt9KSBhcyBDb21waWxlZEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbjtcblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIHRoZSBPYmplY3RTdGF0dXMgY29udHJvbCBjb250ZW50LlxuXHQgKiBAcmV0dXJucyBUaGUgY29uZmlndXJlZCBPYmplY3RTdGF0dXMgY29udHJvbCByZWFkeSBmb3IgcmVuZGVyaW5nXG5cdCAqL1xuXHRjcmVhdGVDb250ZW50KCk6IE1PYmplY3RTdGF0dXMge1xuXHRcdGNvbnN0IHN0YXR1c0NvbmZpZyA9IHRoaXMuZ2V0QXBwQ29tcG9uZW50KCk/LmdldEFkZGl0aW9uYWxDb25maWd1cmF0aW9uKCk/LltcInNhcC5mZS5tYWNyb3NcIl0/LlN0YXR1cztcblx0XHRjb25zdCBkYXRhRmllbGRPclByb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aCA9ICh0aGlzLmRhdGFNb2RlbFBhdGggPz8gdGhpcy52YWx1ZURhdGFNb2RlbFBhdGgpIGFzIERhdGFNb2RlbE9iamVjdFBhdGg8XG5cdFx0XHRQcm9wZXJ0eSB8IERhdGFGaWVsZCB8IERhdGFQb2ludFR5cGVcblx0XHQ+O1xuXHRcdGNvbnN0IHZpc2libGUgPSBnZXRWaXNpYmxlRXhwcmVzc2lvbihkYXRhRmllbGRPclByb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aCk7XG5cdFx0Y29uc3QgY3JpdGljYWxpdHlFeHByZXNzaW9uID0gdGhpcy5nZXRDcml0aWNhbGl0eUV4cHJlc3Npb24oc3RhdHVzQ29uZmlnPy5jb2xvck1hcCk7XG5cdFx0Y29uc3QgY3JpdGljYWxpdHlJY29uRXhwcmVzc2lvbiA9IHRoaXMuZ2V0Q3JpdGljYWxpdHlJY29uRXhwcmVzc2lvbigpO1xuXHRcdGNvbnN0IHRleHRCaW5kaW5nID0gdGhpcy5nZXRPYmplY3RTdGF0dXNUZXh0QmluZGluZygpO1xuXHRcdGNvbnN0IGlzQWN0aXZlID0gdGhpcy5oYXNMaXN0ZW5lcnMoXCJwcmVzc1wiKTtcblx0XHRpZiAodGhpcy5pc1Byb3BlcnR5SW5pdGlhbChcImludmVydGVkXCIpKSB7XG5cdFx0XHQvLyBpZiBpbnZlcnRlZCBpcyBub3Qgc2V0LCB1c2UgdGhlIGRlZmF1bHQgZnJvbSBjb25maWd1cmF0aW9uXG5cdFx0XHR0aGlzLmludmVydGVkID0gc3RhdHVzQ29uZmlnPy5pbnZlcnRlZERlZmF1bHRWYWx1ZSA9PT0gdHJ1ZTtcblx0XHR9XG5cdFx0aWYgKHRoaXMubGFyZ2VEZXNpZ24pIHtcblx0XHRcdHRoaXMuaGlkZUljb24gPSB0cnVlO1xuXHRcdH1cblxuXHRcdHJldHVybiAoXG5cdFx0XHQ8TU9iamVjdFN0YXR1c1xuXHRcdFx0XHRpZD17Z2VuZXJhdGUoW3RoaXMuZ2V0SWQoKSwgXCJPYmplY3RTdGF0dXNcIl0pfVxuXHRcdFx0XHRpbnZlcnRlZD17dGhpcy5pbnZlcnRlZH1cblx0XHRcdFx0Y2xhc3M9e3RoaXMubGFyZ2VEZXNpZ24gPyBcInNhcE1PYmplY3RTdGF0dXNMYXJnZSBzYXBNT2JqZWN0U3RhdHVzTG9uZ1RleHRcIiA6IHVuZGVmaW5lZH1cblx0XHRcdFx0c3RhdGU9e2NyaXRpY2FsaXR5RXhwcmVzc2lvbn1cblx0XHRcdFx0aWNvbj17dGhpcy5oaWRlSWNvbiA/IHVuZGVmaW5lZCA6IGNyaXRpY2FsaXR5SWNvbkV4cHJlc3Npb259XG5cdFx0XHRcdHRleHQ9e3RleHRCaW5kaW5nfVxuXHRcdFx0XHR2aXNpYmxlPXt2aXNpYmxlfVxuXHRcdFx0XHRhY3RpdmU9e2lzQWN0aXZlfVxuXHRcdFx0XHRyZWFjdGl2ZUFyZWFNb2RlPXt0aGlzLnJlYWN0aXZlQXJlYU1vZGV9XG5cdFx0XHRcdHByZXNzPXsocHJlc3NFdmVudDogT2JqZWN0U3RhdHVzJFByZXNzRXZlbnQpOiB2b2lkID0+IHtcblx0XHRcdFx0XHR0aGlzLmZpcmVFdmVudChcInByZXNzXCIsIHByZXNzRXZlbnQpO1xuXHRcdFx0XHR9fVxuXHRcdFx0Lz5cblx0XHQpO1xuXHR9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFpQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBTEEsSUFPcUJBLE1BQU0sSUFBQUMsSUFBQSxHQUQxQkMsY0FBYyxDQUFDLHNCQUFzQixDQUFDLEVBQUFDLEtBQUEsR0FFckNDLGtCQUFrQixDQUFDLDBCQUEwQixDQUFDLEVBQUFD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
|
|
278
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTdGF0dXMiLCJfZGVjIiwiZGVmaW5lVUk1Q2xhc3MiLCJfZGVjMiIsImltcGxlbWVudEludGVyZmFjZSIsIl9kZWMzIiwicHJvcGVydHkiLCJ0eXBlIiwicmVxdWlyZWQiLCJfZGVjNCIsIl9kZWM1IiwiYWxsb3dlZFZhbHVlcyIsIl9kZWM2IiwiX2RlYzciLCJfZGVjOCIsIl9kZWM5IiwiX2RlYzEwIiwiZXZlbnQiLCJfY2xhc3MiLCJfY2xhc3MyIiwiX0J1aWxkaW5nQmxvY2siLCJwcm9wZXJ0aWVzIiwib3RoZXJzIiwiX3RoaXMiLCJjYWxsIiwiX2luaXRpYWxpemVyRGVmaW5lUHJvcGVydHkiLCJfZGVzY3JpcHRvciIsIl9kZXNjcmlwdG9yMiIsIl9kZXNjcmlwdG9yMyIsIl9kZXNjcmlwdG9yNCIsIl9kZXNjcmlwdG9yNSIsIl9kZXNjcmlwdG9yNiIsIl9kZXNjcmlwdG9yNyIsIl9kZXNjcmlwdG9yOCIsIl9kZXNjcmlwdG9yOSIsIl9leHBvcnRzIiwiX2luaGVyaXRzTG9vc2UiLCJfcHJvdG8iLCJwcm90b3R5cGUiLCJvbk1ldGFkYXRhQXZhaWxhYmxlIiwiZ2V0VGVtcGxhdGluZ09iamVjdHMiLCJkYXRhTW9kZWxQYXRoIiwidmFsdWVEYXRhTW9kZWxQYXRoIiwiY29udGVudCIsImNyZWF0ZUNvbnRlbnQiLCJpbnRlcm5hbERhdGFNb2RlbFBhdGgiLCJnZXREYXRhTW9kZWxPYmplY3RGb3JNZXRhUGF0aCIsIm1ldGFQYXRoIiwiY29udGV4dFBhdGgiLCJ0YXJnZXRPYmplY3QiLCJpc1Byb3BlcnR5IiwiYW5ub3RhdGlvbnMiLCJVSSIsIkRhdGFGaWVsZERlZmF1bHQiLCJ1bmRlZmluZWQiLCJWYWx1ZSIsInBhdGgiLCJlbmhhbmNlRGF0YU1vZGVsUGF0aCIsImdldENyaXRpY2FsaXR5RXhwcmVzc2lvbiIsImNvbG9yUGFsZXR0ZSIsInBhc3RlbENvbG9yTWFwIiwiTmVnYXRpdmUiLCJDcml0aWNhbCIsIlBvc2l0aXZlIiwiSW5mb3JtYXRpb24iLCJOZXV0cmFsIiwic3BlY2lmaWNDb2xvck1hcCIsImJ1aWxkRXhwcmVzc2lvbkZvckNyaXRpY2FsaXR5Q29sb3IiLCJnZXRDcml0aWNhbGl0eUljb25FeHByZXNzaW9uIiwiYnVpbGRFeHByZXNzaW9uRm9yQ3JpdGljYWxpdHlJY29uIiwiZ2V0T2JqZWN0U3RhdHVzVGV4dEJpbmRpbmciLCJwcm9wZXJ0eU9yRGF0YUZpZWxkRGF0YU1vZGVsT2JqZWN0UGF0aCIsImdldFRleHRCaW5kaW5nIiwic3RhdHVzQ29uZmlnIiwiZ2V0QXBwQ29tcG9uZW50IiwiZ2V0QWRkaXRpb25hbENvbmZpZ3VyYXRpb24iLCJkYXRhRmllbGRPclByb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aCIsInZpc2libGUiLCJnZXRWaXNpYmxlRXhwcmVzc2lvbiIsImlzUHJvcGVydHlJbml0aWFsIiwiY3JpdGljYWxpdHlFeHByZXNzaW9uIiwiY3JpdGljYWxpdHlJY29uRXhwcmVzc2lvbiIsInRleHRCaW5kaW5nIiwiaXNBY3RpdmUiLCJoYXNMaXN0ZW5lcnMiLCJpbnZlcnRlZCIsImludmVydGVkRGVmYXVsdFZhbHVlIiwibGFyZ2VEZXNpZ24iLCJoaWRlSWNvbiIsInRvb2xUaXBWYWx1ZSIsImdldFRvb2x0aXBWYWx1ZSIsIl9qc3giLCJNT2JqZWN0U3RhdHVzIiwiaWQiLCJnZW5lcmF0ZSIsImdldElkIiwiY2xhc3MiLCJzdGF0ZSIsInRvb2x0aXAiLCJpY29uIiwidGV4dCIsImFjdGl2ZSIsInJlYWN0aXZlQXJlYU1vZGUiLCJwcmVzcyIsInByZXNzRXZlbnQiLCJmaXJlRXZlbnQiLCJCdWlsZGluZ0Jsb2NrIiwiX2FwcGx5RGVjb3JhdGVkRGVzY3JpcHRvciIsImNvbmZpZ3VyYWJsZSIsImVudW1lcmFibGUiLCJ3cml0YWJsZSIsImluaXRpYWxpemVyIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJTdGF0dXMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUHJvcGVydHkgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgRGF0YUZpZWxkLCBEYXRhUG9pbnRUeXBlIH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzL3ZvY2FidWxhcmllcy9VSVwiO1xuaW1wb3J0IHsgVUlBbm5vdGF0aW9uVGVybXMgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXMvdm9jYWJ1bGFyaWVzL1VJXCI7XG5pbXBvcnQgdHlwZSB7IENvbXBpbGVkQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uIH0gZnJvbSBcInNhcC9mZS9iYXNlL0JpbmRpbmdUb29sa2l0XCI7XG5pbXBvcnQgeyBkZWZpbmVVSTVDbGFzcywgZXZlbnQsIGltcGxlbWVudEludGVyZmFjZSwgcHJvcGVydHksIHR5cGUgUHJvcGVydGllc09mIH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IEJ1aWxkaW5nQmxvY2sgZnJvbSBcInNhcC9mZS9jb3JlL2J1aWxkaW5nQmxvY2tzL0J1aWxkaW5nQmxvY2tcIjtcbmltcG9ydCB7IGdlbmVyYXRlIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvU3RhYmxlSWRIZWxwZXJcIjtcbmltcG9ydCB7IGlzUHJvcGVydHkgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9UeXBlR3VhcmRzXCI7XG5pbXBvcnQgeyBidWlsZEV4cHJlc3Npb25Gb3JDcml0aWNhbGl0eUNvbG9yLCBidWlsZEV4cHJlc3Npb25Gb3JDcml0aWNhbGl0eUljb24gfSBmcm9tIFwic2FwL2ZlL2NvcmUvdGVtcGxhdGluZy9Dcml0aWNhbGl0eUZvcm1hdHRlcnNcIjtcbmltcG9ydCB0eXBlIHsgRGF0YU1vZGVsT2JqZWN0UGF0aCB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL0RhdGFNb2RlbFBhdGhIZWxwZXJcIjtcbmltcG9ydCB7IGVuaGFuY2VEYXRhTW9kZWxQYXRoIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvRGF0YU1vZGVsUGF0aEhlbHBlclwiO1xuaW1wb3J0IHsgZ2V0VG9vbHRpcFZhbHVlIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvVUlGb3JtYXR0ZXJzXCI7XG5pbXBvcnQgeyBnZXRUZXh0QmluZGluZywgZ2V0VmlzaWJsZUV4cHJlc3Npb24gfSBmcm9tIFwic2FwL2ZlL21hY3Jvcy9maWVsZC9GaWVsZFRlbXBsYXRpbmdcIjtcbmltcG9ydCB0eXBlIHsgT2JqZWN0U3RhdHVzJFByZXNzRXZlbnQgfSBmcm9tIFwic2FwL20vT2JqZWN0U3RhdHVzXCI7XG5pbXBvcnQgTU9iamVjdFN0YXR1cyBmcm9tIFwic2FwL20vT2JqZWN0U3RhdHVzXCI7XG5pbXBvcnQgdHlwZSB7ICRDb250cm9sU2V0dGluZ3MgfSBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuaW1wb3J0IHR5cGUgeyBJRm9ybUNvbnRlbnQgfSBmcm9tIFwic2FwL3VpL2NvcmUvbGlicmFyeVwiO1xuXG4vKipcbiAqIEJ1aWxkaW5nIGJsb2NrIHRvIGRpc3BsYXkgYSBzdGF0dXMgYW5kIGNyaXRpY2FsaXR5LlxuICogQHB1YmxpY1xuICogQHVpNS1leHBlcmltZW50YWwtc2luY2UgMS4xNDEuMFxuICogQHNpbmNlIDEuMTQxLjBcbiAqL1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLm1hY3Jvcy5TdGF0dXNcIilcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFN0YXR1cyBleHRlbmRzIEJ1aWxkaW5nQmxvY2s8TU9iamVjdFN0YXR1cz4gaW1wbGVtZW50cyBJRm9ybUNvbnRlbnQge1xuXHRAaW1wbGVtZW50SW50ZXJmYWNlKFwic2FwLnVpLmNvcmUuSUZvcm1Db250ZW50XCIpXG5cdF9faW1wbGVtZW50c19fc2FwX3VpX2NvcmVfSUZvcm1Db250ZW50ID0gdHJ1ZTtcblxuXHQvKipcblx0ICogTWV0YWRhdGEgcGF0aCB0byB0aGUgRGF0YUZpZWxkIGFubm90YXRpb24gb3IgcHJvcGVydHkuXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7XG5cdFx0dHlwZTogXCJzdHJpbmdcIixcblx0XHRyZXF1aXJlZDogdHJ1ZVxuXHR9KVxuXHRwdWJsaWMgbWV0YVBhdGghOiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIENvbnRleHQgcGF0aCBmb3IgdGhlIGJpbmRpbmcgY29udGV4dC5cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHtcblx0XHR0eXBlOiBcInN0cmluZ1wiXG5cdH0pXG5cdHB1YmxpYyBjb250ZXh0UGF0aD86IHN0cmluZztcblxuXHQvKipcblx0ICogIFdoZW4gdGhlIFN0YXR1cyBpcyBjbGlja2FibGUsIGl0IGRlZmluZXMgdGhlIHNpemUgb2YgdGhlIHJlYWN0aXZlIGFyZWEgb2YgdGhlIGNsaWNrYWJsZSBlbGVtZW50OlxuXHQgKlxuXHQgKiAtIFJlYWN0aXZlQXJlYU1vZGUuSW5saW5lIC0gVGhlIFN0YXR1cyBpcyBkaXNwbGF5ZWQgYXMgcGFydCBvZiBhIHNlbnRlbmNlLlxuXHQgKiAtIFJlYWN0aXZlQXJlYU1vZGUuT3ZlcmxheSAtIFRoZSBTdGF0dXMgaXMgZGlzcGxheWVkIGFzIGFuIG92ZXJsYXkgb24gdG9wIG9mIG90aGVyIGludGVyYWN0aXZlIHBhcnRzIG9mIHRoZSBwYWdlLlxuXHQgKiBOb3RlOiBJdCBpcyBkZXNpZ25lZCB0byBtYWtlIHRoZSBjbGlja2FibGUgZWxlbWVudCBlYXNpZXIgdG8gYWN0aXZhdGUgYW5kIGhlbHBzIG1lZXQgdGhlIFdDQUcgMi4yIFRhcmdldCBTaXplIHJlcXVpcmVtZW50LiBJdCBpcyBhcHBsaWNhYmxlIG9ubHkgZm9yIHRoZSBTQVAgSG9yaXpvbiB0aGVtZXMuIE5vdGU6IFRoZSBzaXplIG9mIHRoZSByZWFjdGl2ZSBhcmVhIGlzIHN1ZmZpY2llbnRseSBsYXJnZSB0byBoZWxwIHVzZXJzIGF2b2lkIGFjY2lkZW50YWxseSBzZWxlY3RpbmcgKGNsaWNraW5nIG9yIHRhcHBpbmcpIHVuaW50ZW5kZWQgVUkgZWxlbWVudHMuIFVJIGVsZW1lbnRzIHBvc2l0aW9uZWQgb3ZlciBvdGhlciBwYXJ0cyBvZiB0aGUgcGFnZSBtYXkgbmVlZCBhbiBpbnZpc2libGUgYWN0aXZlIHRvdWNoIGFyZWEuIFRoaXMgZW5zdXJlcyB0aGF0IG5vIGVsZW1lbnRzIGJlbmVhdGggYXJlIGFjdGl2YXRlZCBhY2NpZGVudGFsbHkgd2hlbiB0aGUgdXNlciB0cmllcyB0byBpbnRlcmFjdCB3aXRoIHRoZSBvdmVybGF5IGVsZW1lbnQuXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIsIGFsbG93ZWRWYWx1ZXM6IFtcIklubGluZVwiLCBcIk92ZXJsYXlcIl0gfSlcblx0cHVibGljIHJlYWN0aXZlQXJlYU1vZGU/OiBcIklubGluZVwiIHwgXCJPdmVybGF5XCI7XG5cblx0LyoqXG5cdCAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBPYmplY3RTdGF0dXMgc2hvdWxkIGJlIGRpc3BsYXllZCBpbiBsYXJnZSBkZXNpZ24gbW9kZS5cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0cHVibGljIGxhcmdlRGVzaWduID0gZmFsc2U7XG5cblx0LyoqXG5cdCAqIERldGVybWluZXMgd2hldGhlciB0aGUgYmFja2dyb3VuZCBjb2xvciByZWZsZWN0cyB0aGUgc2V0IHN0YXRlIG9mIHRoZSBPYmplY3RTdGF0dXMgaW5zdGVhZCBvZiB0aGUgY29udHJvbCdzIHRleHQuXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdHB1YmxpYyBpbnZlcnRlZCA9IGZhbHNlO1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdHB1YmxpYyBoaWRlSWNvbiA9IGZhbHNlO1xuXG5cdC8qKlxuXHQgKiBDb2xvciBwYWxldHRlIHRvIGJlIHVzZWQgYnkgdGhlIGNvbnRyb2wuIFRoZSBzdXBwb3J0ZWQgdmFsdWVzIGFyZSBcIlN0YW5kYXJkXCIgKGRlZmF1bHQpIGFuZCBcIlBhc3RlbFwiLlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiLCBhbGxvd2VkVmFsdWVzOiBbXCJTdGFuZGFyZFwiLCBcIlBhc3RlbFwiXSB9KVxuXHRwdWJsaWMgY29sb3JQYWxldHRlPzogXCJTdGFuZGFyZFwiIHwgXCJQYXN0ZWxcIjtcblxuXHQvKipcblx0ICogUHJlc3MgZXZlbnQgZmlyZWQgd2hlbiB0aGUgT2JqZWN0U3RhdHVzIGlzIGNsaWNrZWQuXG5cdCAqIEBwYXJhbSBldmVudCBUaGUgcHJlc3MgZXZlbnRcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QGV2ZW50KClcblx0cHVibGljIHByZXNzPzogKGV2ZW50OiBPYmplY3RTdGF0dXMkUHJlc3NFdmVudCkgPT4gdm9pZDtcblxuXHQvKipcblx0ICogSW50ZXJuYWwgcHJvcGVydHkgdG8gc3RvcmUgdGhlIGRhdGEgbW9kZWwgcGF0aFxuXHQgKi9cblx0cHJpdmF0ZSBkYXRhTW9kZWxQYXRoPzogRGF0YU1vZGVsT2JqZWN0UGF0aDxEYXRhRmllbGQgfCBEYXRhUG9pbnRUeXBlPjtcblxuXHRwcml2YXRlIHZhbHVlRGF0YU1vZGVsUGF0aD86IERhdGFNb2RlbE9iamVjdFBhdGg8UHJvcGVydHk+O1xuXG5cdC8qKlxuXHQgKiBDb25zdHJ1Y3RvciBmb3IgdGhlIFN0YXR1cyBidWlsZGluZyBibG9jay5cblx0ICogQHBhcmFtIHByb3BlcnRpZXMgVGhlIHByb3BlcnRpZXMgb2JqZWN0IGNvbnRhaW5pbmcgU3RhdHVzLXNwZWNpZmljIHNldHRpbmdzIGFuZCBiYXNlIGNvbnRyb2wgc2V0dGluZ3Ncblx0ICogQHBhcmFtIFtvdGhlcnNdIEFkZGl0aW9uYWwgY29udHJvbCBzZXR0aW5ncyB0aGF0IG1heSBiZSBhcHBsaWVkIHRvIHRoZSBidWlsZGluZyBibG9ja1xuXHQgKi9cblx0Y29uc3RydWN0b3IocHJvcGVydGllczogJENvbnRyb2xTZXR0aW5ncyAmIFByb3BlcnRpZXNPZjxTdGF0dXM+LCBvdGhlcnM/OiAkQ29udHJvbFNldHRpbmdzKSB7XG5cdFx0c3VwZXIocHJvcGVydGllcywgb3RoZXJzKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBIYW5kbGVyIGZvciB0aGUgb25NZXRhZGF0YUF2YWlsYWJsZSBldmVudC5cblx0ICovXG5cdG9uTWV0YWRhdGFBdmFpbGFibGUoKTogdm9pZCB7XG5cdFx0dGhpcy5nZXRUZW1wbGF0aW5nT2JqZWN0cygpO1xuXHRcdGlmICghdGhpcy5kYXRhTW9kZWxQYXRoICYmICF0aGlzLnZhbHVlRGF0YU1vZGVsUGF0aCkge1xuXHRcdFx0Ly8gdGhlcmUgY2Fubm90IGJlIGEgc3RhdGljIHZhbHVlIGFuZCBubyBkYXRhZmllbGQgb3IgZGF0YXBvaW50XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdGlmICghdGhpcy5jb250ZW50KSB7XG5cdFx0XHR0aGlzLmNvbnRlbnQgPSB0aGlzLmNyZWF0ZUNvbnRlbnQoKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogRnVuY3Rpb24gdG8gZ2V0IHRoZSB0ZW1wbGF0aW5nIG9iamVjdHMgYW5kIHByZXBhcmUgZGF0YSBtb2RlbCBwYXRocy5cblx0ICovXG5cdHByaXZhdGUgZ2V0VGVtcGxhdGluZ09iamVjdHMoKTogdm9pZCB7XG5cdFx0Ly8gVHJ5IHRvIGdldCBhcyBEYXRhRmllbGQgZmlyc3QsIHRoZW4gYXMgRGF0YVBvaW50LCB0aGVuIGFzIFByb3BlcnR5XG5cdFx0Y29uc3QgaW50ZXJuYWxEYXRhTW9kZWxQYXRoID0gdGhpcy5nZXREYXRhTW9kZWxPYmplY3RGb3JNZXRhUGF0aDxEYXRhRmllbGQgfCBEYXRhUG9pbnRUeXBlIHwgUHJvcGVydHk+KFxuXHRcdFx0dGhpcy5tZXRhUGF0aCxcblx0XHRcdHRoaXMuY29udGV4dFBhdGhcblx0XHQpO1xuXHRcdGNvbnN0IHRhcmdldE9iamVjdCA9IGludGVybmFsRGF0YU1vZGVsUGF0aD8udGFyZ2V0T2JqZWN0O1xuXG5cdFx0aWYgKCFpbnRlcm5hbERhdGFNb2RlbFBhdGgpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0aWYgKGlzUHJvcGVydHkodGFyZ2V0T2JqZWN0KSkge1xuXHRcdFx0aWYgKHRhcmdldE9iamVjdD8uYW5ub3RhdGlvbnM/LlVJPy5EYXRhRmllbGREZWZhdWx0ICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0dGhpcy5kYXRhTW9kZWxQYXRoID0gdGhpcy5nZXREYXRhTW9kZWxPYmplY3RGb3JNZXRhUGF0aDxEYXRhRmllbGQ+KFxuXHRcdFx0XHRcdGAke3RoaXMubWV0YVBhdGh9QCR7VUlBbm5vdGF0aW9uVGVybXMuRGF0YUZpZWxkRGVmYXVsdH1gLFxuXHRcdFx0XHRcdHRoaXMuY29udGV4dFBhdGhcblx0XHRcdFx0KTtcblx0XHRcdH1cblx0XHRcdHRoaXMudmFsdWVEYXRhTW9kZWxQYXRoID0gaW50ZXJuYWxEYXRhTW9kZWxQYXRoIGFzIERhdGFNb2RlbE9iamVjdFBhdGg8UHJvcGVydHk+O1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLmRhdGFNb2RlbFBhdGggPSBpbnRlcm5hbERhdGFNb2RlbFBhdGggYXMgRGF0YU1vZGVsT2JqZWN0UGF0aDxEYXRhRmllbGQgfCBEYXRhUG9pbnRUeXBlPjtcblx0XHRcdGlmICh0aGlzLmRhdGFNb2RlbFBhdGg/LnRhcmdldE9iamVjdD8uVmFsdWU/LnBhdGgpIHtcblx0XHRcdFx0dGhpcy52YWx1ZURhdGFNb2RlbFBhdGggPSBlbmhhbmNlRGF0YU1vZGVsUGF0aDxQcm9wZXJ0eT4oaW50ZXJuYWxEYXRhTW9kZWxQYXRoLCB0aGlzLmRhdGFNb2RlbFBhdGgudGFyZ2V0T2JqZWN0LlZhbHVlLnBhdGgpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBjcml0aWNhbGl0eSBleHByZXNzaW9uIGZvciB0aGUgT2JqZWN0U3RhdHVzLlxuXHQgKiBAcmV0dXJucyBUaGUgY29tcGlsZWQgYmluZGluZyBleHByZXNzaW9uIGZvciBjcml0aWNhbGl0eSBjb2xvciwgb3IgdW5kZWZpbmVkIGlmIG5vIGNyaXRpY2FsaXR5IGlzIGF2YWlsYWJsZVxuXHQgKi9cblx0cHJpdmF0ZSBnZXRDcml0aWNhbGl0eUV4cHJlc3Npb24oY29sb3JQYWxldHRlPzogc3RyaW5nKTogQ29tcGlsZWRCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb24gfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IHBhc3RlbENvbG9yTWFwID0ge1xuXHRcdFx0TmVnYXRpdmU6IFwiSW5kaWNhdGlvbjEyXCIsXG5cdFx0XHRDcml0aWNhbDogXCJJbmRpY2F0aW9uMTNcIixcblx0XHRcdFBvc2l0aXZlOiBcIkluZGljYXRpb24xNFwiLFxuXHRcdFx0SW5mb3JtYXRpb246IFwiSW5kaWNhdGlvbjE1XCIsXG5cdFx0XHROZXV0cmFsOiBcIkluZGljYXRpb24yMFwiXG5cdFx0fTtcblx0XHRjb25zdCBzcGVjaWZpY0NvbG9yTWFwID0gY29sb3JQYWxldHRlID09PSBcIlBhc3RlbFwiID8gcGFzdGVsQ29sb3JNYXAgOiB1bmRlZmluZWQ7XG5cdFx0cmV0dXJuIHRoaXMuZGF0YU1vZGVsUGF0aCA9PT0gdW5kZWZpbmVkXG5cdFx0XHQ/IHVuZGVmaW5lZFxuXHRcdFx0OiBidWlsZEV4cHJlc3Npb25Gb3JDcml0aWNhbGl0eUNvbG9yKHRoaXMuZGF0YU1vZGVsUGF0aCwgdGhpcy5kYXRhTW9kZWxQYXRoLCBzcGVjaWZpY0NvbG9yTWFwKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBjcml0aWNhbGl0eSBpY29uIGV4cHJlc3Npb24gZm9yIHRoZSBPYmplY3RTdGF0dXMuXG5cdCAqIEByZXR1cm5zIFRoZSBjb21waWxlZCBiaW5kaW5nIGV4cHJlc3Npb24gZm9yIGNyaXRpY2FsaXR5IGljb24sIG9yIHVuZGVmaW5lZCBpZiBubyBjcml0aWNhbGl0eSBpcyBhdmFpbGFibGVcblx0ICovXG5cdHByaXZhdGUgZ2V0Q3JpdGljYWxpdHlJY29uRXhwcmVzc2lvbigpOiBDb21waWxlZEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbiB8IHVuZGVmaW5lZCB7XG5cdFx0cmV0dXJuIHRoaXMuZGF0YU1vZGVsUGF0aCA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogYnVpbGRFeHByZXNzaW9uRm9yQ3JpdGljYWxpdHlJY29uKHRoaXMuZGF0YU1vZGVsUGF0aCwgdGhpcy5kYXRhTW9kZWxQYXRoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSB0ZXh0IGJpbmRpbmcgZXhwcmVzc2lvbiBmb3IgdGhlIE9iamVjdFN0YXR1cy5cblx0ICogQHJldHVybnMgVGhlIGNvbXBpbGVkIGJpbmRpbmcgZXhwcmVzc2lvbiBmb3IgdGhlIE9iamVjdFN0YXR1cyB0ZXh0IGNvbnRlbnRcblx0ICovXG5cdHByaXZhdGUgZ2V0T2JqZWN0U3RhdHVzVGV4dEJpbmRpbmcoKTogQ29tcGlsZWRCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb24ge1xuXHRcdGNvbnN0IHByb3BlcnR5T3JEYXRhRmllbGREYXRhTW9kZWxPYmplY3RQYXRoID0gKHRoaXMudmFsdWVEYXRhTW9kZWxQYXRoID8/IHRoaXMuZGF0YU1vZGVsUGF0aCkgYXMgRGF0YU1vZGVsT2JqZWN0UGF0aDxcblx0XHRcdFByb3BlcnR5IHwgRGF0YUZpZWxkIHwgRGF0YVBvaW50VHlwZVxuXHRcdD47XG5cdFx0cmV0dXJuIGdldFRleHRCaW5kaW5nKHByb3BlcnR5T3JEYXRhRmllbGREYXRhTW9kZWxPYmplY3RQYXRoLCB7fSkgYXMgQ29tcGlsZWRCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb247XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyB0aGUgT2JqZWN0U3RhdHVzIGNvbnRyb2wgY29udGVudC5cblx0ICogQHJldHVybnMgVGhlIGNvbmZpZ3VyZWQgT2JqZWN0U3RhdHVzIGNvbnRyb2wgcmVhZHkgZm9yIHJlbmRlcmluZ1xuXHQgKi9cblx0Y3JlYXRlQ29udGVudCgpOiBNT2JqZWN0U3RhdHVzIHtcblx0XHRjb25zdCBzdGF0dXNDb25maWcgPSB0aGlzLmdldEFwcENvbXBvbmVudCgpPy5nZXRBZGRpdGlvbmFsQ29uZmlndXJhdGlvbigpPy5bXCJzYXAuZmUubWFjcm9zXCJdPy5TdGF0dXM7XG5cdFx0Y29uc3QgZGF0YUZpZWxkT3JQcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGggPSAodGhpcy5kYXRhTW9kZWxQYXRoID8/IHRoaXMudmFsdWVEYXRhTW9kZWxQYXRoKSBhcyBEYXRhTW9kZWxPYmplY3RQYXRoPFxuXHRcdFx0UHJvcGVydHkgfCBEYXRhRmllbGQgfCBEYXRhUG9pbnRUeXBlXG5cdFx0Pjtcblx0XHRjb25zdCB2aXNpYmxlID0gZ2V0VmlzaWJsZUV4cHJlc3Npb24oZGF0YUZpZWxkT3JQcm9wZXJ0eURhdGFNb2RlbE9iamVjdFBhdGgpO1xuXHRcdGlmICh0aGlzLmlzUHJvcGVydHlJbml0aWFsKFwiY29sb3JQYWxldHRlXCIpKSB7XG5cdFx0XHR0aGlzLmNvbG9yUGFsZXR0ZSA9IHN0YXR1c0NvbmZpZz8uY29sb3JQYWxldHRlID8/IFwiU3RhbmRhcmRcIjtcblx0XHR9XG5cdFx0Y29uc3QgY3JpdGljYWxpdHlFeHByZXNzaW9uID0gdGhpcy5nZXRDcml0aWNhbGl0eUV4cHJlc3Npb24odGhpcy5jb2xvclBhbGV0dGUpO1xuXHRcdGNvbnN0IGNyaXRpY2FsaXR5SWNvbkV4cHJlc3Npb24gPSB0aGlzLmdldENyaXRpY2FsaXR5SWNvbkV4cHJlc3Npb24oKTtcblx0XHRjb25zdCB0ZXh0QmluZGluZyA9IHRoaXMuZ2V0T2JqZWN0U3RhdHVzVGV4dEJpbmRpbmcoKTtcblx0XHRjb25zdCBpc0FjdGl2ZSA9IHRoaXMuaGFzTGlzdGVuZXJzKFwicHJlc3NcIik7XG5cdFx0aWYgKHRoaXMuaXNQcm9wZXJ0eUluaXRpYWwoXCJpbnZlcnRlZFwiKSkge1xuXHRcdFx0Ly8gaWYgaW52ZXJ0ZWQgaXMgbm90IHNldCwgdXNlIHRoZSBkZWZhdWx0IGZyb20gY29uZmlndXJhdGlvblxuXHRcdFx0dGhpcy5pbnZlcnRlZCA9IHN0YXR1c0NvbmZpZz8uaW52ZXJ0ZWREZWZhdWx0VmFsdWUgPT09IHRydWU7XG5cdFx0fVxuXHRcdGlmICh0aGlzLmxhcmdlRGVzaWduKSB7XG5cdFx0XHR0aGlzLmhpZGVJY29uID0gdHJ1ZTtcblx0XHR9XG5cdFx0Y29uc3QgdG9vbFRpcFZhbHVlID0gZ2V0VG9vbHRpcFZhbHVlKHRoaXMuZGF0YU1vZGVsUGF0aCwgdGhpcy52YWx1ZURhdGFNb2RlbFBhdGgpO1xuXG5cdFx0cmV0dXJuIChcblx0XHRcdDxNT2JqZWN0U3RhdHVzXG5cdFx0XHRcdGlkPXtnZW5lcmF0ZShbdGhpcy5nZXRJZCgpLCBcIk9iamVjdFN0YXR1c1wiXSl9XG5cdFx0XHRcdGludmVydGVkPXt0aGlzLmludmVydGVkfVxuXHRcdFx0XHRjbGFzcz17dGhpcy5sYXJnZURlc2lnbiA/IFwic2FwTU9iamVjdFN0YXR1c0xhcmdlIHNhcE1PYmplY3RTdGF0dXNMb25nVGV4dFwiIDogdW5kZWZpbmVkfVxuXHRcdFx0XHRzdGF0ZT17Y3JpdGljYWxpdHlFeHByZXNzaW9ufVxuXHRcdFx0XHR0b29sdGlwPXt0b29sVGlwVmFsdWV9XG5cdFx0XHRcdGljb249e3RoaXMuaGlkZUljb24gPyB1bmRlZmluZWQgOiBjcml0aWNhbGl0eUljb25FeHByZXNzaW9ufVxuXHRcdFx0XHR0ZXh0PXt0ZXh0QmluZGluZ31cblx0XHRcdFx0dmlzaWJsZT17dmlzaWJsZX1cblx0XHRcdFx0YWN0aXZlPXtpc0FjdGl2ZX1cblx0XHRcdFx0cmVhY3RpdmVBcmVhTW9kZT17dGhpcy5yZWFjdGl2ZUFyZWFNb2RlfVxuXHRcdFx0XHRwcmVzcz17KHByZXNzRXZlbnQ6IE9iamVjdFN0YXR1cyRQcmVzc0V2ZW50KTogdm9pZCA9PiB7XG5cdFx0XHRcdFx0dGhpcy5maXJlRXZlbnQoXCJwcmVzc1wiLCBwcmVzc0V2ZW50KTtcblx0XHRcdFx0fX1cblx0XHRcdC8+XG5cdFx0KTtcblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQWtCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFMQSxJQU9xQkEsTUFBTSxJQUFBQyxJQUFBLEdBRDFCQyxjQUFjLENBQUMsc0JBQXNCLENBQUMsRUFBQUMsS0FBQSxHQUVyQ0Msa0JBQWtCLENBQUMsMEJBQTBCLENBQUMsRUFBQUMsS0FBQSxHQU85Q0MsUUFBUSxDQUFDO0lBQ1RDLElBQUksRUFBRSxRQUFRO0lBQ2RDLFFBQVEsRUFBRTtFQUNYLENBQUMsQ0FBQyxFQUFBQyxLQUFBLEdBT0RILFFBQVEsQ0FBQztJQUNUQyxJQUFJLEVBQUU7RUFDUCxDQUFDLENBQUMsRUFBQUcsS0FBQSxHQVdESixRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFLFFBQVE7SUFBRUksYUFBYSxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVM7RUFBRSxDQUFDLENBQUMsRUFBQUMsS0FBQSxHQU9sRU4sUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFVLENBQUMsQ0FBQyxFQUFBTSxLQUFBLEdBTzdCUCxRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVUsQ0FBQyxDQUFDLEVBQUFPLEtBQUEsR0FHN0JSLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBVSxDQUFDLENBQUMsRUFBQVEsS0FBQSxHQU83QlQsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRSxRQUFRO0lBQUVJLGFBQWEsRUFBRSxDQUFDLFVBQVUsRUFBRSxRQUFRO0VBQUUsQ0FBQyxDQUFDLEVBQUFLLE1BQUEsR0FRbkVDLEtBQUssQ0FBQyxDQUFDLEVBQUFoQixJQUFBLENBQUFpQixNQUFBLElBQUFDLE9BQUEsMEJBQUFDLGNBQUE7SUFHUjtBQUNEO0FBQ0E7O0lBS0M7QUFDRDtBQUNBO0FBQ0E7QUFDQTtJQUNDLFNBQUFwQixPQUFZcUIsVUFBbUQsRUFBRUMsTUFBeUIsRUFBRTtNQUFBLElBQUFDLEtBQUE7TUFDM0ZBLEtBQUEsR0FBQUgsY0FBQSxDQUFBSSxJQUFBLE9BQU1ILFVBQVUsRUFBRUMsTUFBTSxDQUFDO01BQUNHLDBCQUFBLENBQUFGLEtBQUEsNENBQUFHLFdBQUEsRUFBQUgsS0FBQTtNQTNFM0I7QUFDRDtBQUNBO0FBQ0E7TUFIQ0UsMEJBQUEsQ0FBQUYsS0FBQSxjQUFBSSxZQUFBLEVBQUFKLEtBQUE7TUFVQTtBQUNEO0FBQ0E7QUFDQTtNQUhDRSwwQkFBQSxDQUFBRixLQUFBLGlCQUFBSyxZQUFBLEVBQUFMLEtBQUE7TUFTQTtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO01BUENFLDBCQUFBLENBQUFGLEtBQUEsc0JBQUFNLFlBQUEsRUFBQU4sS0FBQTtNQVdBO0FBQ0Q7QUFDQTtBQUNBO01BSENFLDBCQUFBLENBQUFGLEtBQUEsaUJBQUFPLFlBQUEsRUFBQVAsS0FBQTtNQU9BO0FBQ0Q7QUFDQTtBQUNBO01BSENFLDBCQUFBLENBQUFGLEtBQUEsY0FBQVEsWUFBQSxFQUFBUixLQUFBO01BQUFFLDBCQUFBLENBQUFGLEtBQUEsY0FBQVMsWUFBQSxFQUFBVCxLQUFBO01BVUE7QUFDRDtBQUNBO0FBQ0E7TUFIQ0UsMEJBQUEsQ0FBQUYsS0FBQSxrQkFBQVUsWUFBQSxFQUFBVixLQUFBO01BT0E7QUFDRDtBQUNBO0FBQ0E7QUFDQTtNQUpDRSwwQkFBQSxDQUFBRixLQUFBLFdBQUFXLFlBQUEsRUFBQVgsS0FBQTtNQUFBLE9BQUFBLEtBQUE7SUFzQkE7O0lBRUE7QUFDRDtBQUNBO0lBRkNZLFFBQUEsR0FBQW5DLE1BQUE7SUFBQW9DLGNBQUEsQ0FBQXBDLE1BQUEsRUFBQW9CLGNBQUE7SUFBQSxJQUFBaUIsTUFBQSxHQUFBckMsTUFBQSxDQUFBc0MsU0FBQTtJQUFBRCxNQUFBLENBR0FFLG1CQUFtQixHQUFuQixTQUFBQSxtQkFBbUJBLENBQUEsRUFBUztNQUMzQixJQUFJLENBQUNDLG9CQUFvQixDQUFDLENBQUM7TUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQ0MsYUFBYSxJQUFJLENBQUMsSUFBSSxDQUFDQyxrQkFBa0IsRUFBRTtRQUNwRDtRQUNBO01BQ0Q7TUFDQSxJQUFJLENBQUMsSUFBSSxDQUFDQyxPQUFPLEVBQUU7UUFDbEIsSUFBSSxDQUFDQSxPQUFPLEdBQUcsSUFBSSxDQUFDQyxhQUFhLENBQUMsQ0FBQztNQUNwQztJQUNEOztJQUVBO0FBQ0Q7QUFDQSxPQUZDO0lBQUFQLE1BQUEsQ0FHUUcsb0JBQW9CLEdBQTVCLFNBQVFBLG9CQUFvQkEsQ0FBQSxFQUFTO01BQ3BDO01BQ0EsTUFBTUsscUJBQXFCLEdBQUcsSUFBSSxDQUFDQyw2QkFBNkIsQ0FDL0QsSUFBSSxDQUFDQyxRQUFRLEVBQ2IsSUFBSSxDQUFDQyxXQUNOLENBQUM7TUFDRCxNQUFNQyxZQUFZLEdBQUdKLHFCQUFxQixFQUFFSSxZQUFZO01BRXhELElBQUksQ0FBQ0oscUJBQXFCLEVBQUU7UUFDM0I7TUFDRDtNQUNBLElBQUlLLFVBQVUsQ0FBQ0QsWUFBWSxDQUFDLEVBQUU7UUFDN0IsSUFBSUEsWUFBWSxFQUFFRSxXQUFXLEVBQUVDLEVBQUUsRUFBRUMsZ0JBQWdCLEtBQUtDLFNBQVMsRUFBRTtVQUNsRSxJQUFJLENBQUNiLGFBQWEsR0FBRyxJQUFJLENBQUNLLDZCQUE2QixDQUN0RCxHQUFHLElBQUksQ0FBQ0MsUUFBUSxtREFBd0MsRUFDeEQsSUFBSSxDQUFDQyxXQUNOLENBQUM7UUFDRjtRQUNBLElBQUksQ0FBQ04sa0JBQWtCLEdBQUdHLHFCQUFzRDtNQUNqRixDQUFDLE1BQU07UUFDTixJQUFJLENBQUNKLGFBQWEsR0FBR0kscUJBQXVFO1FBQzVGLElBQUksSUFBSSxDQUFDSixhQUFhLEVBQUVRLFlBQVksRUFBRU0sS0FBSyxFQUFFQyxJQUFJLEVBQUU7VUFDbEQsSUFBSSxDQUFDZCxrQkFBa0IsR0FBR2Usb0JBQW9CLENBQVdaLHFCQUFxQixFQUFFLElBQUksQ0FBQ0osYUFBYSxDQUFDUSxZQUFZLENBQUNNLEtBQUssQ0FBQ0MsSUFBSSxDQUFDO1FBQzVIO01BQ0Q7SUFDRDs7SUFFQTtBQUNEO0FBQ0E7QUFDQSxPQUhDO0lBQUFuQixNQUFBLENBSVFxQix3QkFBd0IsR0FBaEMsU0FBUUEsd0JBQXdCQSxDQUFDQyxZQUFxQixFQUFnRDtNQUNyRyxNQUFNQyxjQUFjLEdBQUc7UUFDdEJDLFFBQVEsRUFBRSxjQUFjO1FBQ3hCQyxRQUFRLEVBQUUsY0FBYztRQUN4QkMsUUFBUSxFQUFFLGNBQWM7UUFDeEJDLFdBQVcsRUFBRSxjQUFjO1FBQzNCQyxPQUFPLEVBQUU7TUFDVixDQUFDO01BQ0QsTUFBTUMsZ0JBQWdCLEdBQUdQLFlBQVksS0FBSyxRQUFRLEdBQUdDLGNBQWMsR0FBR04sU0FBUztNQUMvRSxPQUFPLElBQUksQ0FBQ2IsYUFBYSxLQUFLYSxTQUFTLEdBQ3BDQSxTQUFTLEdBQ1RhLGtDQUFrQyxDQUFDLElBQUksQ0FBQzFCLGFBQWEsRUFBRSxJQUFJLENBQUNBLGFBQWEsRUFBRXlCLGdCQUFnQixDQUFDO0lBQ2hHOztJQUVBO0FBQ0Q7QUFDQTtBQUNBLE9BSEM7SUFBQTdCLE1BQUEsQ0FJUStCLDRCQUE0QixHQUFwQyxTQUFRQSw0QkFBNEJBLENBQUEsRUFBaUQ7TUFDcEYsT0FBTyxJQUFJLENBQUMzQixhQUFhLEtBQUthLFNBQVMsR0FBR0EsU0FBUyxHQUFHZSxpQ0FBaUMsQ0FBQyxJQUFJLENBQUM1QixhQUFhLEVBQUUsSUFBSSxDQUFDQSxhQUFhLENBQUM7SUFDaEk7O0lBRUE7QUFDRDtBQUNBO0FBQ0EsT0FIQztJQUFBSixNQUFBLENBSVFpQywwQkFBMEIsR0FBbEMsU0FBUUEsMEJBQTBCQSxDQUFBLEVBQXFDO01BQ3RFLE1BQU1DLHNDQUFzQyxHQUFJLElBQUksQ0FBQzdCLGtCQUFrQixJQUFJLElBQUksQ0FBQ0QsYUFFL0U7TUFDRCxPQUFPK0IsY0FBYyxDQUFDRCxzQ0FBc0MsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNsRTs7SUFFQTtBQUNEO0FBQ0E7QUFDQSxPQUhDO0lBQUFsQyxNQUFBLENBSUFPLGFBQWEsR0FBYixTQUFBQSxhQUFhQSxDQUFBLEVBQWtCO01BQzlCLE1BQU02QixZQUFZLEdBQUcsSUFBSSxDQUFDQyxlQUFlLENBQUMsQ0FBQyxFQUFFQywwQkFBMEIsQ0FBQyxDQUFDLEdBQUcsZUFBZSxDQUFDLEVBQUUzRSxNQUFNO01BQ3BHLE1BQU00RSxzQ0FBc0MsR0FBSSxJQUFJLENBQUNuQyxhQUFhLElBQUksSUFBSSxDQUFDQyxrQkFFMUU7TUFDRCxNQUFNbUMsT0FBTyxHQUFHQyxvQkFBb0IsQ0FBQ0Ysc0NBQXNDLENBQUM7TUFDNUUsSUFBSSxJQUFJLENBQUNHLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxFQUFFO1FBQzNDLElBQUksQ0FBQ3BCLFlBQVksR0FBR2MsWUFBWSxFQUFFZCxZQUFZLElBQUksVUFBVTtNQUM3RDtNQUNBLE1BQU1xQixxQkFBcUIsR0FBRyxJQUFJLENBQUN0Qix3QkFBd0IsQ0FBQyxJQUFJLENBQUNDLFlBQVksQ0FBQztNQUM5RSxNQUFNc0IseUJBQXlCLEdBQUcsSUFBSSxDQUFDYiw0QkFBNEIsQ0FBQyxDQUFDO01BQ3JFLE1BQU1jLFdBQVcsR0FBRyxJQUFJLENBQUNaLDBCQUEwQixDQUFDLENBQUM7TUFDckQsTUFBTWEsUUFBUSxHQUFHLElBQUksQ0FBQ0MsWUFBWSxDQUFDLE9BQU8sQ0FBQztNQUMzQyxJQUFJLElBQUksQ0FBQ0wsaUJBQWlCLENBQUMsVUFBVSxDQUFDLEVBQUU7UUFDdkM7UUFDQSxJQUFJLENBQUNNLFFBQVEsR0FBR1osWUFBWSxFQUFFYSxvQkFBb0IsS0FBSyxJQUFJO01BQzVEO01BQ0EsSUFBSSxJQUFJLENBQUNDLFdBQVcsRUFBRTtRQUNyQixJQUFJLENBQUNDLFFBQVEsR0FBRyxJQUFJO01BQ3JCO01BQ0EsTUFBTUMsWUFBWSxHQUFHQyxlQUFlLENBQUMsSUFBSSxDQUFDakQsYUFBYSxFQUFFLElBQUksQ0FBQ0Msa0JBQWtCLENBQUM7TUFFakYsT0FDQ2lELElBQUEsQ0FBQ0MsYUFBYTtRQUNiQyxFQUFFLEVBQUVDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQ0MsS0FBSyxDQUFDLENBQUMsRUFBRSxjQUFjLENBQUMsQ0FBRTtRQUM3Q1YsUUFBUSxFQUFFLElBQUksQ0FBQ0EsUUFBUztRQUN4QlcsS0FBSyxFQUFFLElBQUksQ0FBQ1QsV0FBVyxHQUFHLGdEQUFnRCxHQUFHakMsU0FBVTtRQUN2RjJDLEtBQUssRUFBRWpCLHFCQUFzQjtRQUM3QmtCLE9BQU8sRUFBRVQsWUFBYTtRQUN0QlUsSUFBSSxFQUFFLElBQUksQ0FBQ1gsUUFBUSxHQUFHbEMsU0FBUyxHQUFHMkIseUJBQTBCO1FBQzVEbUIsSUFBSSxFQUFFbEIsV0FBWTtRQUNsQkwsT0FBTyxFQUFFQSxPQUFRO1FBQ2pCd0IsTUFBTSxFQUFFbEIsUUFBUztRQUNqQm1CLGdCQUFnQixFQUFFLElBQUksQ0FBQ0EsZ0JBQWlCO1FBQ3hDQyxLQUFLLEVBQUdDLFVBQW1DLElBQVc7VUFDckQsSUFBSSxDQUFDQyxTQUFTLENBQUMsT0FBTyxFQUFFRCxVQUFVLENBQUM7UUFDcEM7TUFBRSxDQUNGLENBQUM7SUFFSixDQUFDO0lBQUEsT0FBQXhHLE1BQUE7RUFBQSxFQTlNa0MwRyxhQUFhLEdBQUFoRixXQUFBLEdBQUFpRix5QkFBQSxDQUFBeEYsT0FBQSxDQUFBbUIsU0FBQSw2Q0FBQW5DLEtBQUE7SUFBQXlHLFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUEsV0FBQUEsQ0FBQTtNQUFBLE9BRVAsSUFBSTtJQUFBO0VBQUEsSUFBQXBGLFlBQUEsR0FBQWdGLHlCQUFBLENBQUF4RixPQUFBLENBQUFtQixTQUFBLGVBQUFqQyxLQUFBO0lBQUF1RyxZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBO0VBQUEsSUFBQW5GLFlBQUEsR0FBQStFLHlCQUFBLENBQUF4RixPQUFBLENBQUFtQixTQUFBLGtCQUFBN0IsS0FBQTtJQUFBbUcsWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQTtFQUFBLElBQUFsRixZQUFBLEdBQUE4RSx5QkFBQSxDQUFBeEYsT0FBQSxDQUFBbUIsU0FBQSx1QkFBQTVCLEtBQUE7SUFBQWtHLFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUE7RUFBQSxJQUFBakYsWUFBQSxHQUFBNkUseUJBQUEsQ0FBQXhGLE9BQUEsQ0FBQW1CLFNBQUEsa0JBQUExQixLQUFBO0lBQUFnRyxZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBLFdBQUFBLENBQUE7TUFBQSxPQXFDeEIsS0FBSztJQUFBO0VBQUEsSUFBQWhGLFlBQUEsR0FBQTRFLHlCQUFBLENBQUF4RixPQUFBLENBQUFtQixTQUFBLGVBQUF6QixLQUFBO0lBQUErRixZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBLFdBQUFBLENBQUE7TUFBQSxPQU9SLEtBQUs7SUFBQTtFQUFBLElBQUEvRSxZQUFBLEdBQUEyRSx5QkFBQSxDQUFBeEYsT0FBQSxDQUFBbUIsU0FBQSxlQUFBeEIsS0FBQTtJQUFBOEYsWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQSxXQUFBQSxDQUFBO01BQUEsT0FHTCxLQUFLO0lBQUE7RUFBQSxJQUFBOUUsWUFBQSxHQUFBMEUseUJBQUEsQ0FBQXhGLE9BQUEsQ0FBQW1CLFNBQUEsbUJBQUF2QixLQUFBO0lBQUE2RixZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBO0VBQUEsSUFBQTdFLFlBQUEsR0FBQXlFLHlCQUFBLENBQUF4RixPQUFBLENBQUFtQixTQUFBLFlBQUF0QixNQUFBO0lBQUE0RixZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBO0VBQUEsSUFBQTVGLE9BQUEsTUFBQUQsTUFBQTtFQUFBaUIsUUFBQSxHQUFBbkMsTUFBQTtFQUFBLE9BQUFtQyxRQUFBO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
|