@sapui5/sap.fe.macros 1.142.0 → 1.143.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/CollaborativeDraftHandler.js +1 -7
- package/src/sap/fe/macros/CollaborativeDraftHandler.tsx +0 -6
- package/src/sap/fe/macros/ConditionalSwitch.js +1 -2
- package/src/sap/fe/macros/ConditionalSwitch.tsx +0 -1
- package/src/sap/fe/macros/ConditionalSwitchProperty.js +1 -3
- package/src/sap/fe/macros/ConditionalSwitchProperty.tsx +0 -2
- package/src/sap/fe/macros/Field.js +5 -5
- package/src/sap/fe/macros/Field.ts +5 -3
- package/src/sap/fe/macros/FooterContent.js +3 -2
- package/src/sap/fe/macros/FooterContent.tsx +2 -10
- package/src/sap/fe/macros/KPITag.js +6 -6
- package/src/sap/fe/macros/KPITag.tsx +5 -5
- package/src/sap/fe/macros/MacroAPI.js +2 -2
- package/src/sap/fe/macros/MacroAPI.ts +1 -1
- package/src/sap/fe/macros/MessageButton.js +3 -3
- package/src/sap/fe/macros/MessageButton.tsx +3 -2
- package/src/sap/fe/macros/MicroChart.js +3 -2
- package/src/sap/fe/macros/MicroChart.tsx +1 -1
- package/src/sap/fe/macros/Share.js +7 -7
- package/src/sap/fe/macros/Share.tsx +9 -6
- package/src/sap/fe/macros/Status.js +6 -5
- package/src/sap/fe/macros/Status.tsx +3 -4
- package/src/sap/fe/macros/ai/EasyFillDialog.js +2 -1
- package/src/sap/fe/macros/ai/EasyFillDialog.tsx +1 -0
- package/src/sap/fe/macros/ai/SummarizationButton.js +6 -4
- package/src/sap/fe/macros/ai/SummarizationButton.tsx +5 -3
- package/src/sap/fe/macros/chart/ChartDelegate.js +22 -1
- package/src/sap/fe/macros/chart/ChartDelegate.ts +29 -2
- package/src/sap/fe/macros/chart/MdcChartTemplate.js +5 -2
- package/src/sap/fe/macros/chart/MdcChartTemplate.tsx +5 -2
- package/src/sap/fe/macros/controls/BuildingBlockObjectProperty.js +7 -7
- package/src/sap/fe/macros/controls/BuildingBlockObjectProperty.ts +3 -2
- package/src/sap/fe/macros/controls/FileWrapper.js +11 -5
- package/src/sap/fe/macros/controls/FileWrapper.ts +10 -4
- package/src/sap/fe/macros/controls/NumberWithUnitOrCurrency.js +3 -1
- package/src/sap/fe/macros/controls/NumberWithUnitOrCurrency.tsx +2 -0
- 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 +4 -4
- package/src/sap/fe/macros/coreUI/OperationParameterDialog.tsx +3 -3
- package/src/sap/fe/macros/field/FieldFormatOptions.js +2 -2
- package/src/sap/fe/macros/field/FieldFormatOptions.ts +1 -1
- package/src/sap/fe/macros/field/FieldRuntime.js +7 -2
- package/src/sap/fe/macros/field/FieldRuntime.ts +7 -1
- package/src/sap/fe/macros/filter/FilterUtils.js +31 -5
- package/src/sap/fe/macros/filter/FilterUtils.ts +40 -6
- package/src/sap/fe/macros/filterBar/FilterBarAPI.js +6 -3
- package/src/sap/fe/macros/filterBar/FilterBarAPI.ts +5 -1
- package/src/sap/fe/macros/filterBar/FilterBarDelegate.js +19 -9
- package/src/sap/fe/macros/filterBar/FilterBarDelegate.ts +76 -61
- package/src/sap/fe/macros/filterBar/UOMValidationDelegate.js +376 -0
- package/src/sap/fe/macros/filterBar/UOMValidationDelegate.ts +463 -0
- package/src/sap/fe/macros/form/FormContainer.block.js +22 -6
- package/src/sap/fe/macros/form/FormContainer.block.ts +24 -6
- package/src/sap/fe/macros/internal/valuehelp/ValueListHelper.js +2 -2
- package/src/sap/fe/macros/internal/valuehelp/ValueListHelper.ts +2 -1
- package/src/sap/fe/macros/library.js +5 -6
- package/src/sap/fe/macros/{library.ts → library.tsx} +1 -1
- package/src/sap/fe/macros/messagebundle.properties +6 -0
- package/src/sap/fe/macros/messagebundle_en_US_saprigi.properties +1 -1
- package/src/sap/fe/macros/messages/MessageButton.js +21 -12
- package/src/sap/fe/macros/messages/MessageButton.ts +21 -11
- package/src/sap/fe/macros/multivaluefield/MultiValueFieldDelegate.js +7 -3
- package/src/sap/fe/macros/multivaluefield/MultiValueFieldDelegate.ts +8 -2
- package/src/sap/fe/macros/quickView/QuickView.js +5 -4
- package/src/sap/fe/macros/quickView/QuickView.tsx +10 -3
- package/src/sap/fe/macros/table/Action.js +7 -4
- package/src/sap/fe/macros/table/Action.ts +3 -3
- package/src/sap/fe/macros/table/Column.js +3 -2
- package/src/sap/fe/macros/table/Column.ts +1 -1
- package/src/sap/fe/macros/table/MdcTableTemplate.js +6 -9
- package/src/sap/fe/macros/table/MdcTableTemplate.tsx +5 -7
- package/src/sap/fe/macros/table/Table.block.js +6 -3
- package/src/sap/fe/macros/table/Table.block.tsx +13 -3
- package/src/sap/fe/macros/table/TableAPI.js +13 -8
- package/src/sap/fe/macros/table/TableAPI.ts +10 -3
- package/src/sap/fe/macros/table/TableDefinition.js +2 -2
- package/src/sap/fe/macros/table/TableDefinition.ts +1 -1
- package/src/sap/fe/macros/table/TableEventHandlerProvider.js +3 -1
- package/src/sap/fe/macros/table/TableEventHandlerProvider.ts +4 -0
- package/src/sap/fe/macros/table/TableRuntime.js +24 -12
- package/src/sap/fe/macros/table/TableRuntime.ts +27 -11
- package/src/sap/fe/macros/table/Utils.js +9 -3
- package/src/sap/fe/macros/table/Utils.ts +14 -8
- package/src/sap/fe/macros/table/delegates/TableDelegate.js +6 -4
- package/src/sap/fe/macros/table/delegates/TableDelegate.ts +6 -5
- package/src/sap/fe/macros/table/massEdit/MassEditDialog.js +41 -15
- package/src/sap/fe/macros/table/massEdit/MassEditDialog.tsx +41 -22
- package/src/sap/fe/macros/table/massEdit/MassEditDialogHelper.js +14 -5
- package/src/sap/fe/macros/table/massEdit/MassEditDialogHelper.tsx +13 -4
- package/src/sap/fe/macros/table/mixin/ContextMenuHandler.js +2 -3
- package/src/sap/fe/macros/table/mixin/ContextMenuHandler.ts +3 -2
- package/src/sap/fe/macros/table/mixin/EmptyRowsHandler.js +37 -10
- package/src/sap/fe/macros/table/mixin/EmptyRowsHandler.ts +39 -15
- package/src/sap/fe/macros/table/mixin/TableHierarchy.js +3 -4
- package/src/sap/fe/macros/table/mixin/TableHierarchy.ts +2 -3
- package/src/sap/fe/macros/table/uploadTable/UploadTableRuntime.js +5 -4
- package/src/sap/fe/macros/table/uploadTable/UploadTableRuntime.ts +6 -3
- package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.js +17 -10
- package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.ts +24 -9
|
@@ -239,7 +239,7 @@ export default class ActionParameterDialog {
|
|
|
239
239
|
width="100%"
|
|
240
240
|
multipleLines={parameter.annotations.UI?.MultiLineText?.valueOf() === true}
|
|
241
241
|
required={compileExpression(isActionParameterRequiredExpression(parameter, this.action, convertTypes(this.metaModel)))}
|
|
242
|
-
valueHelp={hasValueHelp(parameter) ? generate([this.actionName, parameter.name]) : undefined}
|
|
242
|
+
valueHelp={hasValueHelp(parameter) ? generate([this.actionName, parameter.name, "FieldValueHelp"]) : undefined}
|
|
243
243
|
change={async (e): Promise<void> => this.handleFieldChange(e, parameter)}
|
|
244
244
|
visible={compileExpression(not(equal(getExpressionFromAnnotation(parameter.annotations?.UI?.Hidden), true)))}
|
|
245
245
|
ariaLabelledBy={[generate(["APD_", parameter.name, "Label"])]}
|
|
@@ -342,7 +342,7 @@ export default class ActionParameterDialog {
|
|
|
342
342
|
multipleLines={isMultiLineText(parameter)}
|
|
343
343
|
required={compileExpression(isActionParameterRequiredExpression(parameter, this.action, convertTypes(this.metaModel)))}
|
|
344
344
|
change={async (e): Promise<void> => this.handleFieldChange(e, parameter)}
|
|
345
|
-
valueHelp={hasValueHelp(parameter) ? generate([this.actionName, parameter.name]) : undefined}
|
|
345
|
+
valueHelp={hasValueHelp(parameter) ? generate([this.actionName, parameter.name, "FieldValueHelp"]) : undefined}
|
|
346
346
|
dependents={this.createParameterDialogValueHelp(parameter, parameterContext)}
|
|
347
347
|
visible={compileExpression(
|
|
348
348
|
ifElse(
|
|
@@ -369,7 +369,7 @@ export default class ActionParameterDialog {
|
|
|
369
369
|
}
|
|
370
370
|
return (
|
|
371
371
|
<ValueHelp
|
|
372
|
-
id={generate([this.actionName, parameter.name])}
|
|
372
|
+
id={generate([this.actionName, parameter.name, "FieldValueHelp"])}
|
|
373
373
|
delegate={{
|
|
374
374
|
name: "sap/fe/macros/valuehelp/ValueHelpDelegate",
|
|
375
375
|
payload: {
|
|
@@ -41,7 +41,7 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/macros/controls/BuildingBlock
|
|
|
41
41
|
type: "boolean"
|
|
42
42
|
}), _dec12 = property({
|
|
43
43
|
type: "string",
|
|
44
|
-
allowedValues: ["RadioButtons"]
|
|
44
|
+
allowedValues: ["RadioButtons", ""]
|
|
45
45
|
}), _dec13 = property({
|
|
46
46
|
type: "boolean"
|
|
47
47
|
}), _dec14 = property({
|
|
@@ -478,4 +478,4 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/macros/controls/BuildingBlock
|
|
|
478
478
|
_exports = FieldFormatOptions;
|
|
479
479
|
return _exports;
|
|
480
480
|
}, false);
|
|
481
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGaWVsZEZvcm1hdE9wdGlvbnMiLCJfZGVjIiwiZGVmaW5lVUk1Q2xhc3MiLCJfZGVjMiIsInByb3BlcnR5IiwidHlwZSIsIl9kZWMzIiwiX2RlYzQiLCJfZGVjNSIsIl9kZWM2IiwiX2RlYzciLCJfZGVjOCIsIl9kZWM5IiwiX2RlYzEwIiwiX2RlYzExIiwiX2RlYzEyIiwiYWxsb3dlZFZhbHVlcyIsIl9kZWMxMyIsIl9kZWMxNCIsIl9kZWMxNSIsIl9kZWMxNiIsIl9kZWMxNyIsIl9kZWMxOCIsIl9kZWMxOSIsIl9kZWMyMCIsIl9kZWMyMSIsIl9kZWMyMiIsIl9kZWMyMyIsIl9kZWMyNCIsIl9kZWMyNSIsIl9kZWMyNiIsIl9kZWMyNyIsIl9kZWMyOCIsIl9kZWMyOSIsIl9kZWMzMCIsIl9kZWMzMSIsIl9kZWMzMiIsIl9kZWMzMyIsIl9kZWMzNCIsIl9kZWMzNSIsIl9kZWMzNiIsIl9jbGFzcyIsIl9jbGFzczIiLCJfQnVpbGRpbmdCbG9ja09iamVjdFAiLCJwcm9wcyIsIm90aGVycyIsIl90aGlzIiwiY2FsbCIsIl9pbml0aWFsaXplckRlZmluZVByb3BlcnR5IiwiX2Rlc2NyaXB0b3IiLCJfZGVzY3JpcHRvcjIiLCJfZGVzY3JpcHRvcjMiLCJfZGVzY3JpcHRvcjQiLCJfZGVzY3JpcHRvcjUiLCJfZGVzY3JpcHRvcjYiLCJfZGVzY3JpcHRvcjciLCJfZGVzY3JpcHRvcjgiLCJfZGVzY3JpcHRvcjkiLCJfZGVzY3JpcHRvcjEwIiwiX2Rlc2NyaXB0b3IxMSIsIl9kZXNjcmlwdG9yMTIiLCJfZGVzY3JpcHRvcjEzIiwiX2Rlc2NyaXB0b3IxNCIsIl9kZXNjcmlwdG9yMTUiLCJfZGVzY3JpcHRvcjE2IiwiX2Rlc2NyaXB0b3IxNyIsIl9kZXNjcmlwdG9yMTgiLCJfZGVzY3JpcHRvcjE5IiwiX2Rlc2NyaXB0b3IyMCIsIl9kZXNjcmlwdG9yMjEiLCJfZGVzY3JpcHRvcjIyIiwiX2Rlc2NyaXB0b3IyMyIsIl9kZXNjcmlwdG9yMjQiLCJfZGVzY3JpcHRvcjI1IiwiX2Rlc2NyaXB0b3IyNiIsIl9kZXNjcmlwdG9yMjciLCJfZGVzY3JpcHRvcjI4IiwiX2Rlc2NyaXB0b3IyOSIsIl9kZXNjcmlwdG9yMzAiLCJfZGVzY3JpcHRvcjMxIiwiX2Rlc2NyaXB0b3IzMiIsIl9kZXNjcmlwdG9yMzMiLCJfZGVzY3JpcHRvcjM0IiwiX2Rlc2NyaXB0b3IzNSIsIl9leHBvcnRzIiwiX2luaGVyaXRzTG9vc2UiLCJCdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHkiLCJfYXBwbHlEZWNvcmF0ZWREZXNjcmlwdG9yIiwicHJvdG90eXBlIiwiY29uZmlndXJhYmxlIiwiZW51bWVyYWJsZSIsIndyaXRhYmxlIiwiaW5pdGlhbGl6ZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkZpZWxkRm9ybWF0T3B0aW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFByb3BlcnRpZXNPZiB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzLCBwcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB0eXBlIHsgRGF0ZVRpbWVTdHlsZSB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL1VJRm9ybWF0dGVyc1wiO1xuaW1wb3J0IEJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eSBmcm9tIFwic2FwL2ZlL21hY3Jvcy9jb250cm9scy9CdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHlcIjtcblxuZXhwb3J0IHR5cGUgRmllbGRFZGl0U3R5bGUgPSBcIlJhZGlvQnV0dG9uc1wiO1xuLyoqXG4gKiBBZGRpdGlvbmFsIGZvcm1hdCBvcHRpb25zIGZvciB0aGUgZmllbGQuXG4gKiBAYWxpYXMgc2FwLmZlLm1hY3Jvcy5maWVsZC5GaWVsZEZvcm1hdE9wdGlvbnNcbiAqIEBwdWJsaWNcbiAqL1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLm1hY3Jvcy5maWVsZC5GaWVsZEZvcm1hdE9wdGlvbnNcIilcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZpZWxkRm9ybWF0T3B0aW9ucyBleHRlbmRzIEJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eSB7XG5cdGNvbnN0cnVjdG9yKHByb3BzPzogc3RyaW5nIHwgUHJvcGVydGllc09mPEZpZWxkRm9ybWF0T3B0aW9ucz4sIG90aGVycz86IFByb3BlcnRpZXNPZjxGaWVsZEZvcm1hdE9wdGlvbnM+KSB7XG5cdFx0c3VwZXIocHJvcHMgYXMgc3RyaW5nLCBvdGhlcnMpO1xuXHR9XG5cblx0LyoqXG5cdCAqIERlZmluZXMgaG93IHRoZSBmaWVsZCB2YWx1ZSBhbmQgYXNzb2NpYXRlZCB0ZXh0IHdpbGwgYmUgZGlzcGxheWVkIHRvZ2V0aGVyLjxici8+XG5cdCAqXG5cdCAqIEFsbG93ZWQgdmFsdWVzIGFyZSBcIlZhbHVlXCIsIFwiRGVzY3JpcHRpb25cIiwgXCJEZXNjcmlwdGlvblZhbHVlXCIgYW5kIFwiVmFsdWVEZXNjcmlwdGlvblwiXG5cdCAqICBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdGRpc3BsYXlNb2RlPzogXCJWYWx1ZVwiIHwgXCJEZXNjcmlwdGlvblwiIHwgXCJEZXNjcmlwdGlvblZhbHVlXCIgfCBcIlZhbHVlRGVzY3JpcHRpb25cIjtcblxuXHQvKipcblx0ICogRGVmaW5lcyBpZiBhbmQgaG93IHRoZSBmaWVsZCBtZWFzdXJlIHdpbGwgYmUgZGlzcGxheWVkLjxici8+XG5cdCAqXG5cdCAqIEFsbG93ZWQgdmFsdWVzIGFyZSBcIkhpZGRlblwiIGFuZCBcIlJlYWRPbmx5XCJcblx0ICogIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0bWVhc3VyZURpc3BsYXlNb2RlPzogXCJIaWRkZW5cIiB8IFwiUmVhZE9ubHlcIjtcblxuXHQvKipcblx0ICogTWF4aW11bSBudW1iZXIgb2YgbGluZXMgZm9yIG11bHRpbGluZSB0ZXh0cyBpbiBlZGl0IG1vZGUuPGJyLz5cblx0ICogIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiaW50XCIgfSlcblx0dGV4dExpbmVzRWRpdD86IG51bWJlcjtcblxuXHQvKipcblx0ICogTWF4aW11bSBudW1iZXIgb2YgbGluZXMgdGhhdCBtdWx0aWxpbmUgdGV4dHMgaW4gZWRpdCBtb2RlIGNhbiBncm93IHRvLjxici8+XG5cdCAqICBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImludFwiIH0pXG5cdHRleHRNYXhMaW5lcz86IG51bWJlcjtcblxuXHQvKipcblx0ICogTWF4aW11bSBudW1iZXIgb2YgY2hhcmFjdGVycyBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHRleHQgZmllbGQgdGhhdCBhcmUgc2hvd24gaW5pdGlhbGx5Ljxici8+XG5cdCAqICBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImludFwiIH0pXG5cdHRleHRNYXhDaGFyYWN0ZXJzRGlzcGxheT86IG51bWJlcjtcblxuXHQvKipcblx0ICogRGVmaW5lcyBob3cgdGhlIGZ1bGwgdGV4dCB3aWxsIGJlIGRpc3BsYXllZC48YnIvPlxuXHQgKlxuXHQgKiBBbGxvd2VkIHZhbHVlcyBhcmUgXCJJblBsYWNlXCIgYW5kIFwiUG9wb3ZlclwiXG5cdCAqICBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdHRleHRFeHBhbmRCZWhhdmlvckRpc3BsYXk/OiBcIkluUGxhY2VcIiB8IFwiUG9wb3ZlclwiO1xuXG5cdC8qKlxuXHQgKiBEZWZpbmVzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBjaGFyYWN0ZXJzIGZvciB0aGUgbXVsdGlsaW5lIHRleHQgdmFsdWUuPGJyLz5cblx0ICpcblx0ICogSWYgYSBtdWx0aWxpbmUgdGV4dCBleGNlZWRzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBhbGxvd2VkIGNoYXJhY3RlcnMsIHRoZSBjb3VudGVyIGJlbG93IHRoZSBpbnB1dCBmaWVsZCBkaXNwbGF5cyB0aGUgZXhhY3QgbnVtYmVyLlxuXHQgKiAgQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJpbnRcIiB9KVxuXHR0ZXh0TWF4TGVuZ3RoPzogbnVtYmVyO1xuXG5cdC8qKlxuXHQgKiBEZWZpbmVzIGlmIHRoZSBkYXRlIHBhcnQgb2YgYSBkYXRlIHRpbWUgd2l0aCB0aW1lem9uZSBmaWVsZCBzaG91bGQgYmUgc2hvd24uIDxici8+XG5cdCAqXG5cdCAqIFRoZSBkYXRlVGltZU9mZnNldCBmaWVsZCBtdXN0IGhhdmUgYSB0aW1lem9uZSBhbm5vdGF0aW9uLlxuXHQgKlxuXHQgKiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyB0cnVlLlxuXHQgKiAgQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0c2hvd0RhdGU/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBEZWZpbmVzIGlmIHRoZSB0aW1lIHBhcnQgb2YgYSBkYXRlIHRpbWUgd2l0aCB0aW1lem9uZSBmaWVsZCBzaG91bGQgYmUgc2hvd24uIDxici8+XG5cdCAqXG5cdCAqIFRoZSBkYXRlVGltZU9mZnNldCBmaWVsZCBtdXN0IGhhdmUgYSB0aW1lem9uZSBhbm5vdGF0aW9uLlxuXHQgKlxuXHQgKiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyB0cnVlLlxuXHQgKiAgQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0c2hvd1RpbWU/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBEZWZpbmVzIGlmIHRoZSB0aW1lem9uZSBwYXJ0IG9mIGEgZGF0ZSB0aW1lIHdpdGggdGltZXpvbmUgZmllbGQgc2hvdWxkIGJlIHNob3duLiA8YnIvPlxuXHQgKlxuXHQgKiBUaGUgZGF0ZVRpbWVPZmZzZXQgZmllbGQgbXVzdCBoYXZlIGEgdGltZXpvbmUgYW5ub3RhdGlvbi5cblx0ICpcblx0ICogVGhlIGRlZmF1bHQgdmFsdWUgaXMgdHJ1ZS5cblx0ICogIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdHNob3dUaW1lem9uZT86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIERldGVybWluZXMgaG93IHRoZSBmaWVsZCBzaG91bGQgYmUgcmVuZGVyZWQsIGUuZy4gYXMgcmFkaW8gYnV0dG9ucy4gPGJyLz5cblx0ICogSWYgbm90IGFsbCBwcmVyZXF1aXNpdGVzIGFyZSBtZXQsIHRoZSBmaWVsZCB3aWxsIGRlZmF1bHQgYmFjayB0byB0aGUgc3RhbmRhcmQgcmVuZGVyaW5nLlxuXHQgKiAgQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiwgYWxsb3dlZFZhbHVlczogW1wiUmFkaW9CdXR0b25zXCJdIH0pXG5cdGZpZWxkRWRpdFN0eWxlPzogRmllbGRFZGl0U3R5bGU7XG5cblx0LyoqXG5cdCAqIFNwZWNpZmllcyBpZiByYWRpbyBidXR0b25zIHNob3VsZCBiZSByZW5kZXJlZCBpbiBhIGhvcml6b250YWwgbGF5b3V0LiA8YnIvPlxuXHQgKiAgQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0cmFkaW9CdXR0b25zSG9yaXpvbnRhbExheW91dD86IGJvb2xlYW47XG5cdC8qKlxuXHQgKiBQcm9wZXJ0eSBmb3IgZGVmaW5pbmcgdGhlIGRpc3BsYXkgc3R5bGUgZm9yIHRoZSBkYXRlLCB0aW1lLCBvciBkYXRlVGltZSBmb3JtYXQuIDxici8+XG5cdCAqIElmIHRoZXJlIGlzIGEgZGF0ZVRpbWVQYXR0ZXJuIGRlZmluZWQsIGRhdGVUaW1lU3R5bGUgaXMgaWdub3JlZC5cblx0ICogQHB1YmxpY1xuXHQgKi9cblxuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiLCBhbGxvd2VkVmFsdWVzOiBbXCJzaG9ydFwiLCBcIm1lZGl1bVwiLCBcImxvbmdcIiwgXCJmdWxsXCJdIH0pXG5cdGRhdGVUaW1lU3R5bGU/OiBEYXRlVGltZVN0eWxlO1xuXG5cdC8qKlxuXHQgKiBQcm9wZXJ0eSBmb3IgZGVmaW5pbmcgYSBjdXN0b20gcGF0dGVybiBmb3IgdGhlIGRhdGUsIHRpbWUsIG9yIGRhdGVUaW1lIGZvcm1hdC4gPGJyLz5cblx0ICogSWYgYSBkYXRlVGltZVBhdHRlcm4gaXMgZGVmaW5lZCwgdGhlIGRhdGVUaW1lU3R5bGUgaXMgaWdub3JlZC5cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHRkYXRlVGltZVBhdHRlcm4/OiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqICBXaGVuIHRoZSBGaWVsZCBpcyBkaXNwbGF5ZWQgYXMgYSBjbGlja2FibGUgZWxlbWVudCwgaXQgZGVmaW5lcyB0aGUgc2l6ZSBvZiB0aGUgcmVhY3RpdmUgYXJlYSBvZiB0aGUgY2xpY2thYmxlIGVsZW1lbnQ6XG5cdCAqXG5cdCAqIC0gUmVhY3RpdmVBcmVhTW9kZS5JbmxpbmUgLSBUaGUgbGluayBpcyBkaXNwbGF5ZWQgYXMgcGFydCBvZiBhIHNlbnRlbmNlLlxuXHQgKiAtIFJlYWN0aXZlQXJlYU1vZGUuT3ZlcmxheSAtIFRoZSBsaW5rIGlzIGRpc3BsYXllZCBhcyBhbiBvdmVybGF5IG9uIHRvcCBvZiBvdGhlciBpbnRlcmFjdGl2ZSBwYXJ0cyBvZiB0aGUgcGFnZS5cblx0ICogTm90ZTogSXQgaXMgZGVzaWduZWQgdG8gbWFrZSB0aGUgY2xpY2thYmxlIGVsZW1lbnQgZWFzaWVyIHRvIGFjdGl2YXRlIGFuZCBoZWxwcyBtZWV0IHRoZSBXQ0FHIDIuMiBUYXJnZXQgU2l6ZSByZXF1aXJlbWVudC4gSXQgaXMgYXBwbGljYWJsZSBvbmx5IGZvciB0aGUgU0FQIEhvcml6b24gdGhlbWVzLiBOb3RlOiBUaGUgc2l6ZSBvZiB0aGUgcmVhY3RpdmUgYXJlYSBpcyBzdWZmaWNpZW50bHkgbGFyZ2UgdG8gaGVscCB1c2VycyBhdm9pZCBhY2NpZGVudGFsbHkgc2VsZWN0aW5nIChjbGlja2luZyBvciB0YXBwaW5nKSB1bmludGVuZGVkIFVJIGVsZW1lbnRzLiBVSSBlbGVtZW50cyBwb3NpdGlvbmVkIG92ZXIgb3RoZXIgcGFydHMgb2YgdGhlIHBhZ2UgbWF5IG5lZWQgYW4gaW52aXNpYmxlIGFjdGl2ZSB0b3VjaCBhcmVhLiBUaGlzIGVuc3VyZXMgdGhhdCBubyBlbGVtZW50cyBiZW5lYXRoIGFyZSBhY3RpdmF0ZWQgYWNjaWRlbnRhbGx5IHdoZW4gdGhlIHVzZXIgdHJpZXMgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgb3ZlcmxheSBlbGVtZW50LlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiLCBhbGxvd2VkVmFsdWVzOiBbXCJJbmxpbmVcIiwgXCJPdmVybGF5XCJdIH0pXG5cdHJlYWN0aXZlQXJlYU1vZGU/OiBcIklubGluZVwiIHwgXCJPdmVybGF5XCI7XG5cblx0Ly8gaW50ZXJuYWwgcHJvcGVydGllc1xuXHQvKipcblx0ICpcblx0ICogQHByaXZhdGVcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0ZmllbGRNb2RlPzogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0aGFzRHJhZnRJbmRpY2F0b3I/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0aXNBbmFseXRpY3M/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBJZiB0cnVlIGFuZCBpZiB0aGUgZmllbGQgaXMgcGFydCBvZiBhbiBpbmFjdGl2ZSByb3csIHRoZW4gYSBjaGVjayB3aWxsIGJlIGRvbmUgdG8gZGV0ZXJtaW5lIGlmIHRoZSB1bmRlcmx5aW5nIHByb3BlcnR5IGhhcyBhIG5vbi1pbnNlcnRhYmxlIHJlc3RyaWN0aW9uXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiB9KVxuXHRmb3JJbmxpbmVDcmVhdGlvblJvd3M/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBJZiB0cnVlIHRoZW4gdGhlIG5hdmlnYXRpb25hdmFpbGFibGUgcHJvcGVydHkgd2lsbCBub3QgYmUgdXNlZCBmb3IgdGhlIGVuYWJsZW1lbnQgb2YgdGhlIElCTiBidXR0b25cblx0ICogQHByaXZhdGVcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdGlnbm9yZU5hdmlnYXRpb25BdmFpbGFibGU/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0aXNDdXJyZW5jeU9yVW5pdEFsaWduZWQ/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBFbmFibGVzIHRoZSBmYWxsYmFjayBmZWF0dXJlIGZvciB0aGUgdXNhZ2Ugb2YgdGhlIHRleHQgYW5ub3RhdGlvbiBmcm9tIHRoZSB2YWx1ZSBsaXN0c1xuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0cmV0cmlldmVUZXh0RnJvbVZhbHVlTGlzdD86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdHNlbWFudGlja2V5cz86IHN0cmluZ1tdO1xuXG5cdC8qKlxuXHQgKiBQcmVmZXJyZWQgY29udHJvbCB0byB2aXN1YWxpemUgc2VtYW50aWMga2V5IHByb3BlcnRpZXNcblx0ICogQHByaXZhdGVcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0c2VtYW50aWNLZXlTdHlsZT86IHN0cmluZztcblxuXHQvKipcblx0ICogSWYgc2V0IHRvICd0cnVlJywgU0FQIEZpb3JpIGVsZW1lbnRzIHNob3dzIGFuIGVtcHR5IGluZGljYXRvciBpbiBkaXNwbGF5IG1vZGUgZm9yIHRoZSB0ZXh0IGFuZCBsaW5rc1xuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0c2hvd0VtcHR5SW5kaWNhdG9yPzogYm9vbGVhbjtcblxuXHQvKipcblx0ICogSWYgdHJ1ZSB0aGVuIHNldHMgdGhlIGdpdmVuIGljb24gaW5zdGVhZCBvZiB0ZXh0IGluIEFjdGlvbi9JQk4gQnV0dG9uXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiB9KVxuXHRzaG93SWNvblVybD86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIERlc2NyaWJlcyBob3cgdGhlIGFsaWdubWVudCB3b3JrcyBiZXR3ZWVuIFRhYmxlIG1vZGUgKERhdGUgYW5kIE51bWVyaWMgRW5kIGFsaWdubWVudCkgYW5kIEZvcm0gbW9kZSAobnVtZXJpYyBhbGlnbmVkIEVuZCBpbiBlZGl0IGFuZCBCZWdpbiBpbiBkaXNwbGF5KVxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHR0ZXh0QWxpZ25Nb2RlPzogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHRjb21wYWN0U2VtYW50aWNLZXk/OiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdGZpZWxkR3JvdXBEcmFmdEluZGljYXRvclByb3BlcnR5UGF0aD86IHN0cmluZztcblxuXHQvKipcblx0ICpcblx0ICogQHByaXZhdGVcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0Y29sbGVjdGlvbkZpZWxkc05hbWU/OiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIEluZGljYXRlcyBpZiB0aGlzIGZpZWxkIGlzIHBhcnQgb2YgYSBmaWVsZCBncm91cFxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0aXNGaWVsZEdyb3VwSXRlbT86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIERlc2NyaWJlcyBpZiB0aGlzIGZpZWxkIGlzIHBhcnQgb2YgYW4gYW5hbHl0aWNhbCB0YWJsZSBhZ2dyZWdhdGVkIHJvd1xuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0aXNBbmFseXRpY2FsQWdncmVnYXRlZFJvdz86IGJvb2xlYW47XG5cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0c2hvd09ubHlVbml0RGVjaW1hbHM/OiBib29sZWFuO1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdHByZXNlcnZlRGVjaW1hbHNGb3JDdXJyZW5jeT86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIElmIHRydWUsIGJvb2xlYW4gZmllbGRzIGFyZSBkaXNwbGF5ZWQgYXMgcmFkaW8gYnV0dG9ucy5cblx0ICogQHByaXZhdGVcblx0ICogQGV4cGVyaW1lbnRhbFxuXHQgKiBAdWk1LWV4cGVyaW1lbnRhbC1zaW5jZSAxLjE0MS4wXG5cdCAqIEBzaW5jZSAxLjE0MS4wXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiB9KVxuXHR1c2VSYWRpb0J1dHRvbnNGb3JCb29sZWFuPzogYm9vbGVhbjtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztFQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFKQSxJQU1xQkEsa0JBQWtCLElBQUFDLElBQUEsR0FEdENDLGNBQWMsQ0FBQyx3Q0FBd0MsQ0FBQyxFQUFB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
|
|
481
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGaWVsZEZvcm1hdE9wdGlvbnMiLCJfZGVjIiwiZGVmaW5lVUk1Q2xhc3MiLCJfZGVjMiIsInByb3BlcnR5IiwidHlwZSIsIl9kZWMzIiwiX2RlYzQiLCJfZGVjNSIsIl9kZWM2IiwiX2RlYzciLCJfZGVjOCIsIl9kZWM5IiwiX2RlYzEwIiwiX2RlYzExIiwiX2RlYzEyIiwiYWxsb3dlZFZhbHVlcyIsIl9kZWMxMyIsIl9kZWMxNCIsIl9kZWMxNSIsIl9kZWMxNiIsIl9kZWMxNyIsIl9kZWMxOCIsIl9kZWMxOSIsIl9kZWMyMCIsIl9kZWMyMSIsIl9kZWMyMiIsIl9kZWMyMyIsIl9kZWMyNCIsIl9kZWMyNSIsIl9kZWMyNiIsIl9kZWMyNyIsIl9kZWMyOCIsIl9kZWMyOSIsIl9kZWMzMCIsIl9kZWMzMSIsIl9kZWMzMiIsIl9kZWMzMyIsIl9kZWMzNCIsIl9kZWMzNSIsIl9kZWMzNiIsIl9jbGFzcyIsIl9jbGFzczIiLCJfQnVpbGRpbmdCbG9ja09iamVjdFAiLCJwcm9wcyIsIm90aGVycyIsIl90aGlzIiwiY2FsbCIsIl9pbml0aWFsaXplckRlZmluZVByb3BlcnR5IiwiX2Rlc2NyaXB0b3IiLCJfZGVzY3JpcHRvcjIiLCJfZGVzY3JpcHRvcjMiLCJfZGVzY3JpcHRvcjQiLCJfZGVzY3JpcHRvcjUiLCJfZGVzY3JpcHRvcjYiLCJfZGVzY3JpcHRvcjciLCJfZGVzY3JpcHRvcjgiLCJfZGVzY3JpcHRvcjkiLCJfZGVzY3JpcHRvcjEwIiwiX2Rlc2NyaXB0b3IxMSIsIl9kZXNjcmlwdG9yMTIiLCJfZGVzY3JpcHRvcjEzIiwiX2Rlc2NyaXB0b3IxNCIsIl9kZXNjcmlwdG9yMTUiLCJfZGVzY3JpcHRvcjE2IiwiX2Rlc2NyaXB0b3IxNyIsIl9kZXNjcmlwdG9yMTgiLCJfZGVzY3JpcHRvcjE5IiwiX2Rlc2NyaXB0b3IyMCIsIl9kZXNjcmlwdG9yMjEiLCJfZGVzY3JpcHRvcjIyIiwiX2Rlc2NyaXB0b3IyMyIsIl9kZXNjcmlwdG9yMjQiLCJfZGVzY3JpcHRvcjI1IiwiX2Rlc2NyaXB0b3IyNiIsIl9kZXNjcmlwdG9yMjciLCJfZGVzY3JpcHRvcjI4IiwiX2Rlc2NyaXB0b3IyOSIsIl9kZXNjcmlwdG9yMzAiLCJfZGVzY3JpcHRvcjMxIiwiX2Rlc2NyaXB0b3IzMiIsIl9kZXNjcmlwdG9yMzMiLCJfZGVzY3JpcHRvcjM0IiwiX2Rlc2NyaXB0b3IzNSIsIl9leHBvcnRzIiwiX2luaGVyaXRzTG9vc2UiLCJCdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHkiLCJfYXBwbHlEZWNvcmF0ZWREZXNjcmlwdG9yIiwicHJvdG90eXBlIiwiY29uZmlndXJhYmxlIiwiZW51bWVyYWJsZSIsIndyaXRhYmxlIiwiaW5pdGlhbGl6ZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkZpZWxkRm9ybWF0T3B0aW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFByb3BlcnRpZXNPZiB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzLCBwcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB0eXBlIHsgRGF0ZVRpbWVTdHlsZSB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL1VJRm9ybWF0dGVyc1wiO1xuaW1wb3J0IEJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eSBmcm9tIFwic2FwL2ZlL21hY3Jvcy9jb250cm9scy9CdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHlcIjtcblxuZXhwb3J0IHR5cGUgRmllbGRFZGl0U3R5bGUgPSBcIlJhZGlvQnV0dG9uc1wiO1xuLyoqXG4gKiBBZGRpdGlvbmFsIGZvcm1hdCBvcHRpb25zIGZvciB0aGUgZmllbGQuXG4gKiBAYWxpYXMgc2FwLmZlLm1hY3Jvcy5maWVsZC5GaWVsZEZvcm1hdE9wdGlvbnNcbiAqIEBwdWJsaWNcbiAqL1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLm1hY3Jvcy5maWVsZC5GaWVsZEZvcm1hdE9wdGlvbnNcIilcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZpZWxkRm9ybWF0T3B0aW9ucyBleHRlbmRzIEJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eSB7XG5cdGNvbnN0cnVjdG9yKHByb3BzPzogc3RyaW5nIHwgUHJvcGVydGllc09mPEZpZWxkRm9ybWF0T3B0aW9ucz4sIG90aGVycz86IFByb3BlcnRpZXNPZjxGaWVsZEZvcm1hdE9wdGlvbnM+KSB7XG5cdFx0c3VwZXIocHJvcHMgYXMgc3RyaW5nLCBvdGhlcnMpO1xuXHR9XG5cblx0LyoqXG5cdCAqIERlZmluZXMgaG93IHRoZSBmaWVsZCB2YWx1ZSBhbmQgYXNzb2NpYXRlZCB0ZXh0IHdpbGwgYmUgZGlzcGxheWVkIHRvZ2V0aGVyLjxici8+XG5cdCAqXG5cdCAqIEFsbG93ZWQgdmFsdWVzIGFyZSBcIlZhbHVlXCIsIFwiRGVzY3JpcHRpb25cIiwgXCJEZXNjcmlwdGlvblZhbHVlXCIgYW5kIFwiVmFsdWVEZXNjcmlwdGlvblwiXG5cdCAqICBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdGRpc3BsYXlNb2RlPzogXCJWYWx1ZVwiIHwgXCJEZXNjcmlwdGlvblwiIHwgXCJEZXNjcmlwdGlvblZhbHVlXCIgfCBcIlZhbHVlRGVzY3JpcHRpb25cIjtcblxuXHQvKipcblx0ICogRGVmaW5lcyBpZiBhbmQgaG93IHRoZSBmaWVsZCBtZWFzdXJlIHdpbGwgYmUgZGlzcGxheWVkLjxici8+XG5cdCAqXG5cdCAqIEFsbG93ZWQgdmFsdWVzIGFyZSBcIkhpZGRlblwiIGFuZCBcIlJlYWRPbmx5XCJcblx0ICogIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0bWVhc3VyZURpc3BsYXlNb2RlPzogXCJIaWRkZW5cIiB8IFwiUmVhZE9ubHlcIjtcblxuXHQvKipcblx0ICogTWF4aW11bSBudW1iZXIgb2YgbGluZXMgZm9yIG11bHRpbGluZSB0ZXh0cyBpbiBlZGl0IG1vZGUuPGJyLz5cblx0ICogIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiaW50XCIgfSlcblx0dGV4dExpbmVzRWRpdD86IG51bWJlcjtcblxuXHQvKipcblx0ICogTWF4aW11bSBudW1iZXIgb2YgbGluZXMgdGhhdCBtdWx0aWxpbmUgdGV4dHMgaW4gZWRpdCBtb2RlIGNhbiBncm93IHRvLjxici8+XG5cdCAqICBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImludFwiIH0pXG5cdHRleHRNYXhMaW5lcz86IG51bWJlcjtcblxuXHQvKipcblx0ICogTWF4aW11bSBudW1iZXIgb2YgY2hhcmFjdGVycyBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHRleHQgZmllbGQgdGhhdCBhcmUgc2hvd24gaW5pdGlhbGx5Ljxici8+XG5cdCAqICBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImludFwiIH0pXG5cdHRleHRNYXhDaGFyYWN0ZXJzRGlzcGxheT86IG51bWJlcjtcblxuXHQvKipcblx0ICogRGVmaW5lcyBob3cgdGhlIGZ1bGwgdGV4dCB3aWxsIGJlIGRpc3BsYXllZC48YnIvPlxuXHQgKlxuXHQgKiBBbGxvd2VkIHZhbHVlcyBhcmUgXCJJblBsYWNlXCIgYW5kIFwiUG9wb3ZlclwiXG5cdCAqICBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdHRleHRFeHBhbmRCZWhhdmlvckRpc3BsYXk/OiBcIkluUGxhY2VcIiB8IFwiUG9wb3ZlclwiO1xuXG5cdC8qKlxuXHQgKiBEZWZpbmVzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBjaGFyYWN0ZXJzIGZvciB0aGUgbXVsdGlsaW5lIHRleHQgdmFsdWUuPGJyLz5cblx0ICpcblx0ICogSWYgYSBtdWx0aWxpbmUgdGV4dCBleGNlZWRzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBhbGxvd2VkIGNoYXJhY3RlcnMsIHRoZSBjb3VudGVyIGJlbG93IHRoZSBpbnB1dCBmaWVsZCBkaXNwbGF5cyB0aGUgZXhhY3QgbnVtYmVyLlxuXHQgKiAgQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJpbnRcIiB9KVxuXHR0ZXh0TWF4TGVuZ3RoPzogbnVtYmVyO1xuXG5cdC8qKlxuXHQgKiBEZWZpbmVzIGlmIHRoZSBkYXRlIHBhcnQgb2YgYSBkYXRlIHRpbWUgd2l0aCB0aW1lem9uZSBmaWVsZCBzaG91bGQgYmUgc2hvd24uIDxici8+XG5cdCAqXG5cdCAqIFRoZSBkYXRlVGltZU9mZnNldCBmaWVsZCBtdXN0IGhhdmUgYSB0aW1lem9uZSBhbm5vdGF0aW9uLlxuXHQgKlxuXHQgKiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyB0cnVlLlxuXHQgKiAgQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0c2hvd0RhdGU/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBEZWZpbmVzIGlmIHRoZSB0aW1lIHBhcnQgb2YgYSBkYXRlIHRpbWUgd2l0aCB0aW1lem9uZSBmaWVsZCBzaG91bGQgYmUgc2hvd24uIDxici8+XG5cdCAqXG5cdCAqIFRoZSBkYXRlVGltZU9mZnNldCBmaWVsZCBtdXN0IGhhdmUgYSB0aW1lem9uZSBhbm5vdGF0aW9uLlxuXHQgKlxuXHQgKiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyB0cnVlLlxuXHQgKiAgQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0c2hvd1RpbWU/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBEZWZpbmVzIGlmIHRoZSB0aW1lem9uZSBwYXJ0IG9mIGEgZGF0ZSB0aW1lIHdpdGggdGltZXpvbmUgZmllbGQgc2hvdWxkIGJlIHNob3duLiA8YnIvPlxuXHQgKlxuXHQgKiBUaGUgZGF0ZVRpbWVPZmZzZXQgZmllbGQgbXVzdCBoYXZlIGEgdGltZXpvbmUgYW5ub3RhdGlvbi5cblx0ICpcblx0ICogVGhlIGRlZmF1bHQgdmFsdWUgaXMgdHJ1ZS5cblx0ICogIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdHNob3dUaW1lem9uZT86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIERldGVybWluZXMgaG93IHRoZSBmaWVsZCBzaG91bGQgYmUgcmVuZGVyZWQsIGUuZy4gYXMgcmFkaW8gYnV0dG9ucy4gPGJyLz5cblx0ICogSWYgbm90IGFsbCBwcmVyZXF1aXNpdGVzIGFyZSBtZXQsIHRoZSBmaWVsZCB3aWxsIGRlZmF1bHQgYmFjayB0byB0aGUgc3RhbmRhcmQgcmVuZGVyaW5nLlxuXHQgKiAgQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiwgYWxsb3dlZFZhbHVlczogW1wiUmFkaW9CdXR0b25zXCIsIFwiXCJdIH0pXG5cdGZpZWxkRWRpdFN0eWxlPzogRmllbGRFZGl0U3R5bGU7XG5cblx0LyoqXG5cdCAqIFNwZWNpZmllcyBpZiByYWRpbyBidXR0b25zIHNob3VsZCBiZSByZW5kZXJlZCBpbiBhIGhvcml6b250YWwgbGF5b3V0LiA8YnIvPlxuXHQgKiAgQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0cmFkaW9CdXR0b25zSG9yaXpvbnRhbExheW91dD86IGJvb2xlYW47XG5cdC8qKlxuXHQgKiBQcm9wZXJ0eSBmb3IgZGVmaW5pbmcgdGhlIGRpc3BsYXkgc3R5bGUgZm9yIHRoZSBkYXRlLCB0aW1lLCBvciBkYXRlVGltZSBmb3JtYXQuIDxici8+XG5cdCAqIElmIHRoZXJlIGlzIGEgZGF0ZVRpbWVQYXR0ZXJuIGRlZmluZWQsIGRhdGVUaW1lU3R5bGUgaXMgaWdub3JlZC5cblx0ICogQHB1YmxpY1xuXHQgKi9cblxuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiLCBhbGxvd2VkVmFsdWVzOiBbXCJzaG9ydFwiLCBcIm1lZGl1bVwiLCBcImxvbmdcIiwgXCJmdWxsXCJdIH0pXG5cdGRhdGVUaW1lU3R5bGU/OiBEYXRlVGltZVN0eWxlO1xuXG5cdC8qKlxuXHQgKiBQcm9wZXJ0eSBmb3IgZGVmaW5pbmcgYSBjdXN0b20gcGF0dGVybiBmb3IgdGhlIGRhdGUsIHRpbWUsIG9yIGRhdGVUaW1lIGZvcm1hdC4gPGJyLz5cblx0ICogSWYgYSBkYXRlVGltZVBhdHRlcm4gaXMgZGVmaW5lZCwgdGhlIGRhdGVUaW1lU3R5bGUgaXMgaWdub3JlZC5cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHRkYXRlVGltZVBhdHRlcm4/OiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqICBXaGVuIHRoZSBGaWVsZCBpcyBkaXNwbGF5ZWQgYXMgYSBjbGlja2FibGUgZWxlbWVudCwgaXQgZGVmaW5lcyB0aGUgc2l6ZSBvZiB0aGUgcmVhY3RpdmUgYXJlYSBvZiB0aGUgY2xpY2thYmxlIGVsZW1lbnQ6XG5cdCAqXG5cdCAqIC0gUmVhY3RpdmVBcmVhTW9kZS5JbmxpbmUgLSBUaGUgbGluayBpcyBkaXNwbGF5ZWQgYXMgcGFydCBvZiBhIHNlbnRlbmNlLlxuXHQgKiAtIFJlYWN0aXZlQXJlYU1vZGUuT3ZlcmxheSAtIFRoZSBsaW5rIGlzIGRpc3BsYXllZCBhcyBhbiBvdmVybGF5IG9uIHRvcCBvZiBvdGhlciBpbnRlcmFjdGl2ZSBwYXJ0cyBvZiB0aGUgcGFnZS5cblx0ICogTm90ZTogSXQgaXMgZGVzaWduZWQgdG8gbWFrZSB0aGUgY2xpY2thYmxlIGVsZW1lbnQgZWFzaWVyIHRvIGFjdGl2YXRlIGFuZCBoZWxwcyBtZWV0IHRoZSBXQ0FHIDIuMiBUYXJnZXQgU2l6ZSByZXF1aXJlbWVudC4gSXQgaXMgYXBwbGljYWJsZSBvbmx5IGZvciB0aGUgU0FQIEhvcml6b24gdGhlbWVzLiBOb3RlOiBUaGUgc2l6ZSBvZiB0aGUgcmVhY3RpdmUgYXJlYSBpcyBzdWZmaWNpZW50bHkgbGFyZ2UgdG8gaGVscCB1c2VycyBhdm9pZCBhY2NpZGVudGFsbHkgc2VsZWN0aW5nIChjbGlja2luZyBvciB0YXBwaW5nKSB1bmludGVuZGVkIFVJIGVsZW1lbnRzLiBVSSBlbGVtZW50cyBwb3NpdGlvbmVkIG92ZXIgb3RoZXIgcGFydHMgb2YgdGhlIHBhZ2UgbWF5IG5lZWQgYW4gaW52aXNpYmxlIGFjdGl2ZSB0b3VjaCBhcmVhLiBUaGlzIGVuc3VyZXMgdGhhdCBubyBlbGVtZW50cyBiZW5lYXRoIGFyZSBhY3RpdmF0ZWQgYWNjaWRlbnRhbGx5IHdoZW4gdGhlIHVzZXIgdHJpZXMgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgb3ZlcmxheSBlbGVtZW50LlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiLCBhbGxvd2VkVmFsdWVzOiBbXCJJbmxpbmVcIiwgXCJPdmVybGF5XCJdIH0pXG5cdHJlYWN0aXZlQXJlYU1vZGU/OiBcIklubGluZVwiIHwgXCJPdmVybGF5XCI7XG5cblx0Ly8gaW50ZXJuYWwgcHJvcGVydGllc1xuXHQvKipcblx0ICpcblx0ICogQHByaXZhdGVcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0ZmllbGRNb2RlPzogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0aGFzRHJhZnRJbmRpY2F0b3I/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0aXNBbmFseXRpY3M/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBJZiB0cnVlIGFuZCBpZiB0aGUgZmllbGQgaXMgcGFydCBvZiBhbiBpbmFjdGl2ZSByb3csIHRoZW4gYSBjaGVjayB3aWxsIGJlIGRvbmUgdG8gZGV0ZXJtaW5lIGlmIHRoZSB1bmRlcmx5aW5nIHByb3BlcnR5IGhhcyBhIG5vbi1pbnNlcnRhYmxlIHJlc3RyaWN0aW9uXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiB9KVxuXHRmb3JJbmxpbmVDcmVhdGlvblJvd3M/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBJZiB0cnVlIHRoZW4gdGhlIG5hdmlnYXRpb25hdmFpbGFibGUgcHJvcGVydHkgd2lsbCBub3QgYmUgdXNlZCBmb3IgdGhlIGVuYWJsZW1lbnQgb2YgdGhlIElCTiBidXR0b25cblx0ICogQHByaXZhdGVcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdGlnbm9yZU5hdmlnYXRpb25BdmFpbGFibGU/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0aXNDdXJyZW5jeU9yVW5pdEFsaWduZWQ/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBFbmFibGVzIHRoZSBmYWxsYmFjayBmZWF0dXJlIGZvciB0aGUgdXNhZ2Ugb2YgdGhlIHRleHQgYW5ub3RhdGlvbiBmcm9tIHRoZSB2YWx1ZSBsaXN0c1xuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0cmV0cmlldmVUZXh0RnJvbVZhbHVlTGlzdD86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdHNlbWFudGlja2V5cz86IHN0cmluZ1tdO1xuXG5cdC8qKlxuXHQgKiBQcmVmZXJyZWQgY29udHJvbCB0byB2aXN1YWxpemUgc2VtYW50aWMga2V5IHByb3BlcnRpZXNcblx0ICogQHByaXZhdGVcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0c2VtYW50aWNLZXlTdHlsZT86IHN0cmluZztcblxuXHQvKipcblx0ICogSWYgc2V0IHRvICd0cnVlJywgU0FQIEZpb3JpIGVsZW1lbnRzIHNob3dzIGFuIGVtcHR5IGluZGljYXRvciBpbiBkaXNwbGF5IG1vZGUgZm9yIHRoZSB0ZXh0IGFuZCBsaW5rc1xuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0c2hvd0VtcHR5SW5kaWNhdG9yPzogYm9vbGVhbjtcblxuXHQvKipcblx0ICogSWYgdHJ1ZSB0aGVuIHNldHMgdGhlIGdpdmVuIGljb24gaW5zdGVhZCBvZiB0ZXh0IGluIEFjdGlvbi9JQk4gQnV0dG9uXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiB9KVxuXHRzaG93SWNvblVybD86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIERlc2NyaWJlcyBob3cgdGhlIGFsaWdubWVudCB3b3JrcyBiZXR3ZWVuIFRhYmxlIG1vZGUgKERhdGUgYW5kIE51bWVyaWMgRW5kIGFsaWdubWVudCkgYW5kIEZvcm0gbW9kZSAobnVtZXJpYyBhbGlnbmVkIEVuZCBpbiBlZGl0IGFuZCBCZWdpbiBpbiBkaXNwbGF5KVxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHR0ZXh0QWxpZ25Nb2RlPzogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHRjb21wYWN0U2VtYW50aWNLZXk/OiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdGZpZWxkR3JvdXBEcmFmdEluZGljYXRvclByb3BlcnR5UGF0aD86IHN0cmluZztcblxuXHQvKipcblx0ICpcblx0ICogQHByaXZhdGVcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0Y29sbGVjdGlvbkZpZWxkc05hbWU/OiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIEluZGljYXRlcyBpZiB0aGlzIGZpZWxkIGlzIHBhcnQgb2YgYSBmaWVsZCBncm91cFxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0aXNGaWVsZEdyb3VwSXRlbT86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIERlc2NyaWJlcyBpZiB0aGlzIGZpZWxkIGlzIHBhcnQgb2YgYW4gYW5hbHl0aWNhbCB0YWJsZSBhZ2dyZWdhdGVkIHJvd1xuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0aXNBbmFseXRpY2FsQWdncmVnYXRlZFJvdz86IGJvb2xlYW47XG5cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0c2hvd09ubHlVbml0RGVjaW1hbHM/OiBib29sZWFuO1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdHByZXNlcnZlRGVjaW1hbHNGb3JDdXJyZW5jeT86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIElmIHRydWUsIGJvb2xlYW4gZmllbGRzIGFyZSBkaXNwbGF5ZWQgYXMgcmFkaW8gYnV0dG9ucy5cblx0ICogQHByaXZhdGVcblx0ICogQGV4cGVyaW1lbnRhbFxuXHQgKiBAdWk1LWV4cGVyaW1lbnRhbC1zaW5jZSAxLjE0MS4wXG5cdCAqIEBzaW5jZSAxLjE0MS4wXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiB9KVxuXHR1c2VSYWRpb0J1dHRvbnNGb3JCb29sZWFuPzogYm9vbGVhbjtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztFQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFKQSxJQU1xQkEsa0JBQWtCLElBQUFDLElBQUEsR0FEdENDLGNBQWMsQ0FBQyx3Q0FBd0MsQ0FB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
|
|
@@ -110,7 +110,7 @@ export default class FieldFormatOptions extends BuildingBlockObjectProperty {
|
|
|
110
110
|
* If not all prerequisites are met, the field will default back to the standard rendering.
|
|
111
111
|
* @public
|
|
112
112
|
*/
|
|
113
|
-
@property({ type: "string", allowedValues: ["RadioButtons"] })
|
|
113
|
+
@property({ type: "string", allowedValues: ["RadioButtons", ""] })
|
|
114
114
|
fieldEditStyle?: FieldEditStyle;
|
|
115
115
|
|
|
116
116
|
/**
|
|
@@ -147,6 +147,11 @@ sap.ui.define(["sap/base/Log", "sap/base/util/ObjectPath", "sap/fe/core/CommonUt
|
|
|
147
147
|
}
|
|
148
148
|
const link = event.getSource();
|
|
149
149
|
const analyticalTable = FPMHelper.getMdcTable(link);
|
|
150
|
+
const popoverId = `${analyticalTable.getId()}-multiUnitPopover`;
|
|
151
|
+
if (analyticalTable.getDependents().some(dependent => dependent.getId() === popoverId)) {
|
|
152
|
+
// Popover is already open for the same link (otherwise the dependent would have been removed and destroyed on close)
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
150
155
|
const rowContext = link.getBindingContext();
|
|
151
156
|
const tableRowBinding = rowContext.getBinding();
|
|
152
157
|
|
|
@@ -196,7 +201,7 @@ sap.ui.define(["sap/base/Log", "sap/base/util/ObjectPath", "sap/fe/core/CommonUt
|
|
|
196
201
|
sorter: new Sorter(unitOrCurrencyName, false) // Order by currency
|
|
197
202
|
};
|
|
198
203
|
const isPopoverForGrandTotal = rowContextData["@$ui5.node.level"] === 0;
|
|
199
|
-
const popover = await Util.createOrUpdateMultiUnitPopover(
|
|
204
|
+
const popover = await Util.createOrUpdateMultiUnitPopover(popoverId, {
|
|
200
205
|
control: analyticalTable,
|
|
201
206
|
grandTotal: isPopoverForGrandTotal,
|
|
202
207
|
itemsBindingInfo: oItemsBindingInfo,
|
|
@@ -215,4 +220,4 @@ sap.ui.define(["sap/base/Log", "sap/base/util/ObjectPath", "sap/fe/core/CommonUt
|
|
|
215
220
|
ObjectPath.set("sap.fe.macros.field.FieldRuntime", FieldRuntime);
|
|
216
221
|
return FieldRuntime;
|
|
217
222
|
}, false);
|
|
218
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGaWVsZFJ1bnRpbWUiLCJ1cGxvYWRQcm9taXNlcyIsImNyZWF0aW5nSW5hY3RpdmVSb3ciLCJpc0RyYWZ0SW5kaWNhdG9yVmlzaWJsZSIsInNQcm9wZXJ0eVBhdGgiLCJzU2VtYW50aWNLZXlIYXNEcmFmdEluZGljYXRvciIsIkhhc0RyYWZ0RW50aXR5IiwiSXNBY3RpdmVFbnRpdHkiLCJoaWRlRHJhZnRJbmZvIiwidW5kZWZpbmVkIiwib25WYWxpZGF0ZUZpZWxkR3JvdXAiLCJvRXZlbnQiLCJvU291cmNlRmllbGQiLCJnZXRTb3VyY2UiLCJ2aWV3IiwiQ29tbW9uVXRpbHMiLCJnZXRUYXJnZXRWaWV3IiwiY29udHJvbGxlciIsImdldENvbnRyb2xsZXIiLCJvRkVDb250cm9sbGVyIiwiRmllbGRSdW50aW1lSGVscGVyIiwiZ2V0RXh0ZW5zaW9uQ29udHJvbGxlciIsIl9zaWRlRWZmZWN0cyIsImhhbmRsZUZpZWxkR3JvdXBDaGFuZ2UiLCJfZm5GaXhIYXNoUXVlcnlTdHJpbmciLCJzQ3VycmVudEhhc2giLCJpbmNsdWRlcyIsInNwbGl0IiwiY3JlYXRlVmFsdWVMaXN0RmlsdGVycyIsInZhbHVlTGlzdEluZm8iLCJwcm9wZXJ0eUlkIiwicHJvcGVydHlWYWx1ZSIsImJpbmRpbmdDb250ZXh0IiwiZmlsdGVycyIsIkZpbHRlciIsInBhdGgiLCJvcGVyYXRvciIsInZhbHVlMSIsIlBhcmFtZXRlcnMiLCJyZWxldmFudFBhcmFtZXRlcnMiLCJmaWx0ZXIiLCJwYXJhbWV0ZXIiLCJpc0luT3JJbk91dCIsIiRUeXBlIiwiTG9jYWxEYXRhUHJvcGVydHkiLCIkUHJvcGVydHlQYXRoIiwiVmFsdWVMaXN0UHJvcGVydHkiLCJmb3JFYWNoIiwibG9jYWxWYWx1ZSIsImdldFByb3BlcnR5IiwicHVzaCIsInJldHJpZXZlVGV4dEZyb21WYWx1ZUxpc3QiLCJzUHJvcGVydHlWYWx1ZSIsInNQcm9wZXJ0eUZ1bGxQYXRoIiwic0Rpc3BsYXlGb3JtYXQiLCJzVGV4dFByb3BlcnR5Iiwib01ldGFNb2RlbCIsInNQcm9wZXJ0eU5hbWUiLCJnZXRNb2RlbCIsImdldE1ldGFNb2RlbCIsIkNvbW1vbkhlbHBlciIsImdldE9iamVjdCIsImdldEJpbmRpbmdDb250ZXh0IiwicmVxdWVzdFZhbHVlTGlzdEluZm8iLCJ0aGVuIiwibVZhbHVlTGlzdEluZm8iLCJvVmFsdWVMaXN0SW5mbyIsIk9iamVjdCIsImtleXMiLCJvVmFsdWVMaXN0TW9kZWwiLCIkbW9kZWwiLCJvTWV0YU1vZGVsVmFsdWVMaXN0Iiwib1BhcmFtV2l0aEtleSIsImZpbmQiLCJvUGFyYW1ldGVyIiwiRXJyb3IiLCJvVGV4dEFubm90YXRpb24iLCJDb2xsZWN0aW9uUGF0aCIsIiRQYXRoIiwibGlzdEJpbmRpbmciLCJiaW5kTGlzdCIsIiRzZWxlY3QiLCJyZXF1ZXN0Q29udGV4dHMiLCJhQ29udGV4dHMiLCJzRGVzY3JpcHRpb24iLCJMaWJyYXJ5IiwiZ2V0UmVzb3VyY2VCdW5kbGVGb3IiLCJnZXRUZXh0IiwiY2F0Y2giLCJvRXJyb3IiLCJlcnJvck9iaiIsInNNc2ciLCJzdGF0dXMiLCJtZXNzYWdlIiwiTG9nIiwiZXJyb3IiLCJkaXNwbGF5QWdncmVnYXRlRGV0YWlscyIsImV2ZW50IiwiYWdncmVnYXRlZFByb3BlcnR5UGF0aCIsImxpbmsiLCJhbmFseXRpY2FsVGFibGUiLCJGUE1IZWxwZXIiLCJnZXRNZGNUYWJsZSIsInJvd0NvbnRleHQiLCJ0YWJsZVJvd0JpbmRpbmciLCJnZXRCaW5kaW5nIiwicm93Q29udGV4dERhdGEiLCJyb3dTcGVjaWZpY0ZpbHRlciIsInJvd0ZpbHRlciIsImdldEZpbHRlciIsImFsbEZpbHRlcnMiLCJjb25jYXQiLCJnZXRGaWx0ZXJzIiwiYWdncmVnYXRpb24iLCJnZXRBZ2dyZWdhdGlvbiIsInVuaXRPckN1cnJlbmN5TmFtZSIsImFnZ3JlZ2F0ZSIsInVuaXQiLCJncm91cCIsImdyYW5kVG90YWwiLCJzdWJ0b3RhbHMiLCJ0YWJsZUl0ZW0iLCJnZXREZXBlbmRlbnRzIiwiY2xvbmUiLCJjdXJyZW5jeU9yUXVhbnRpdHlFbmFibGVkTGF5b3V0IiwiSEJveCIsInJlbmRlclR5cGUiLCJqdXN0aWZ5Q29udGVudCIsIml0ZW1zIiwiYWdncmVnYXRpb25QYXJhbWV0ZXJzIiwic2VhcmNoIiwib0l0ZW1zQmluZGluZ0luZm8iLCJnZXRSZXNvbHZlZFBhdGgiLCJwYXJhbWV0ZXJzIiwiJCRhZ2dyZWdhdGlvbiIsInNvcnRlciIsIlNvcnRlciIsImlzUG9wb3ZlckZvckdyYW5kVG90YWwiLCJwb3BvdmVyIiwiVXRpbCIsImNyZWF0ZU9yVXBkYXRlTXVsdGlVbml0UG9wb3ZlciIsImdldElkIiwiY29udHJvbCIsIml0ZW1zQmluZGluZ0luZm8iLCJsaXN0SXRlbUNvbnRlbnRUZW1wbGF0ZSIsImFkZERlcGVuZGVudCIsImZuT25DbG9zZSIsInJlbW92ZURlcGVuZGVudCIsImRldGFjaEV2ZW50IiwiZGVzdHJveSIsImF0dGFjaEV2ZW50Iiwib3BlbkJ5IiwiT2JqZWN0UGF0aCIsInNldCJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiRmllbGRSdW50aW1lLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IE9iamVjdFBhdGggZnJvbSBcInNhcC9iYXNlL3V0aWwvT2JqZWN0UGF0aFwiO1xuaW1wb3J0IENvbW1vblV0aWxzIGZyb20gXCJzYXAvZmUvY29yZS9Db21tb25VdGlsc1wiO1xuaW1wb3J0IEZQTUhlbHBlciBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9GUE1IZWxwZXJcIjtcbmltcG9ydCBDb21tb25IZWxwZXIgZnJvbSBcInNhcC9mZS9tYWNyb3MvQ29tbW9uSGVscGVyXCI7XG5pbXBvcnQgdHlwZSB7IEFubm90YXRpb25WYWx1ZUxpc3RUeXBlIH0gZnJvbSBcInNhcC9mZS9tYWNyb3MvaW50ZXJuYWwvdmFsdWVoZWxwL1ZhbHVlTGlzdEhlbHBlclwiO1xuaW1wb3J0IHR5cGUgeyAkSEJveFNldHRpbmdzIH0gZnJvbSBcInNhcC9tL0hCb3hcIjtcbmltcG9ydCBIQm94IGZyb20gXCJzYXAvbS9IQm94XCI7XG5pbXBvcnQgdHlwZSBMaW5rIGZyb20gXCJzYXAvbS9MaW5rXCI7XG5pbXBvcnQgdHlwZSBSZXNwb25zaXZlUG9wb3ZlciBmcm9tIFwic2FwL20vUmVzcG9uc2l2ZVBvcG92ZXJcIjtcbmltcG9ydCB7IGRlZmF1bHQgYXMgVXRpbCB9IGZyb20gXCJzYXAvbS90YWJsZS9VdGlsXCI7XG5pbXBvcnQgdHlwZSBFdmVudCBmcm9tIFwic2FwL3VpL2Jhc2UvRXZlbnRcIjtcbmltcG9ydCB0eXBlIE1hbmFnZWRPYmplY3QgZnJvbSBcInNhcC91aS9iYXNlL01hbmFnZWRPYmplY3RcIjtcbmltcG9ydCB0eXBlIENvbnRyb2wgZnJvbSBcInNhcC91aS9jb3JlL0NvbnRyb2xcIjtcbmltcG9ydCB0eXBlIHsgQ29udHJvbCRWYWxpZGF0ZUZpZWxkR3JvdXBFdmVudCB9IGZyb20gXCJzYXAvdWkvY29yZS9Db250cm9sXCI7XG5pbXBvcnQgTGlicmFyeSBmcm9tIFwic2FwL3VpL2NvcmUvTGliXCI7XG5pbXBvcnQgdHlwZSBCYXNlQ29udGV4dCBmcm9tIFwic2FwL3VpL21vZGVsL0NvbnRleHRcIjtcbmltcG9ydCBGaWx0ZXIgZnJvbSBcInNhcC91aS9tb2RlbC9GaWx0ZXJcIjtcbmltcG9ydCBTb3J0ZXIgZnJvbSBcInNhcC91aS9tb2RlbC9Tb3J0ZXJcIjtcbmltcG9ydCB0eXBlIENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9Db250ZXh0XCI7XG5pbXBvcnQgdHlwZSBPRGF0YUxpc3RCaW5kaW5nIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvT0RhdGFMaXN0QmluZGluZ1wiO1xuaW1wb3J0IHR5cGUgT0RhdGFNZXRhTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9PRGF0YU1ldGFNb2RlbFwiO1xuaW1wb3J0IEZpZWxkUnVudGltZUhlbHBlciBmcm9tIFwiLi9GaWVsZFJ1bnRpbWVIZWxwZXJcIjtcblxuLyoqXG4gKiBTdGF0aWMgY2xhc3MgdXNlZCBieSBcInNhcC51aS5tZGMuRmllbGRcIiBkdXJpbmcgcnVudGltZVxuICogQHByaXZhdGVcbiAqL1xuY29uc3QgRmllbGRSdW50aW1lID0ge1xuXHR1cGxvYWRQcm9taXNlczoge30gYXMgUmVjb3JkPHN0cmluZywgeyByZXNvbHZlOiBGdW5jdGlvbjsgcmVqZWN0OiBGdW5jdGlvbiB9Pixcblx0Y3JlYXRpbmdJbmFjdGl2ZVJvdzogZmFsc2UsXG5cblx0LyoqXG5cdCAqIFRoaXMgaXMgYSBmb3JtYXR0ZXIgaW4gZGlzZ3Vpc2UuXG5cdCAqIEBwYXJhbSBzUHJvcGVydHlQYXRoXG5cdCAqIEBwYXJhbSBzU2VtYW50aWNLZXlIYXNEcmFmdEluZGljYXRvclxuXHQgKiBAcGFyYW0gSGFzRHJhZnRFbnRpdHlcblx0ICogQHBhcmFtIElzQWN0aXZlRW50aXR5XG5cdCAqIEBwYXJhbSBoaWRlRHJhZnRJbmZvXG5cdCAqIEByZXR1cm5zIFRydWUgaWYgdGhlIGRyYWZ0IGluZGljYXRvciBzaG91bGQgYmUgZGlzcGxheWVkLlxuXHQgKi9cblx0aXNEcmFmdEluZGljYXRvclZpc2libGU6IGZ1bmN0aW9uIChcblx0XHRzUHJvcGVydHlQYXRoOiBzdHJpbmcsXG5cdFx0c1NlbWFudGljS2V5SGFzRHJhZnRJbmRpY2F0b3I6IHN0cmluZyxcblx0XHRIYXNEcmFmdEVudGl0eT86IGJvb2xlYW4sXG5cdFx0SXNBY3RpdmVFbnRpdHk/OiBib29sZWFuLFxuXHRcdGhpZGVEcmFmdEluZm8/OiBib29sZWFuXG5cdCk6IGJvb2xlYW4ge1xuXHRcdGlmIChJc0FjdGl2ZUVudGl0eSAhPT0gdW5kZWZpbmVkICYmIEhhc0RyYWZ0RW50aXR5ICE9PSB1bmRlZmluZWQgJiYgKCFJc0FjdGl2ZUVudGl0eSB8fCBIYXNEcmFmdEVudGl0eSkgJiYgIWhpZGVEcmFmdEluZm8pIHtcblx0XHRcdHJldHVybiBzUHJvcGVydHlQYXRoID09PSBzU2VtYW50aWNLZXlIYXNEcmFmdEluZGljYXRvcjtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblx0fSxcblxuXHQvKipcblx0ICogSGFuZGxlciBmb3IgdGhlIHZhbGlkYXRlRmllbGRHcm91cCBldmVudC5cblx0ICogQHBhcmFtIG9FdmVudCBUaGUgZXZlbnQgb2JqZWN0IHBhc3NlZCBieSB0aGUgdmFsaWRhdGVGaWVsZEdyb3VwIGV2ZW50XG5cdCAqL1xuXHRvblZhbGlkYXRlRmllbGRHcm91cDogZnVuY3Rpb24gKG9FdmVudDogQ29udHJvbCRWYWxpZGF0ZUZpZWxkR3JvdXBFdmVudCk6IHZvaWQge1xuXHRcdGNvbnN0IG9Tb3VyY2VGaWVsZCA9IG9FdmVudC5nZXRTb3VyY2UoKSBhcyBNYW5hZ2VkT2JqZWN0O1xuXHRcdGNvbnN0IHZpZXcgPSBDb21tb25VdGlscy5nZXRUYXJnZXRWaWV3KG9Tb3VyY2VGaWVsZCksXG5cdFx0XHRjb250cm9sbGVyID0gdmlldy5nZXRDb250cm9sbGVyKCk7XG5cblx0XHRjb25zdCBvRkVDb250cm9sbGVyID0gRmllbGRSdW50aW1lSGVscGVyLmdldEV4dGVuc2lvbkNvbnRyb2xsZXIoY29udHJvbGxlcik7XG5cdFx0b0ZFQ29udHJvbGxlci5fc2lkZUVmZmVjdHMuaGFuZGxlRmllbGRHcm91cENoYW5nZShvRXZlbnQpO1xuXHR9LFxuXG5cdF9mbkZpeEhhc2hRdWVyeVN0cmluZzogZnVuY3Rpb24gKHNDdXJyZW50SGFzaDogc3RyaW5nKTogc3RyaW5nIHtcblx0XHRpZiAoc0N1cnJlbnRIYXNoPy5pbmNsdWRlcyhcIj9cIikpIHtcblx0XHRcdC8vIHNDdXJyZW50SGFzaCBjYW4gY29udGFpbiBxdWVyeSBzdHJpbmcsIGN1dCBpdCBvZmYhXG5cdFx0XHRzQ3VycmVudEhhc2ggPSBzQ3VycmVudEhhc2guc3BsaXQoXCI/XCIpWzBdO1xuXHRcdH1cblx0XHRyZXR1cm4gc0N1cnJlbnRIYXNoO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGZpbHRlcnMgZm9yIFZhbHVlTGlzdCByZXF1ZXN0cyBiYXNlZCBvbiBWYWx1ZUxpc3RQYXJhbWV0ZXJJbiBhbmQgVmFsdWVMaXN0UGFyYW1ldGVySW5PdXQgYW5ub3RhdGlvbnMuXG5cdCAqIEBwYXJhbSB2YWx1ZUxpc3RJbmZvIFRoZSBWYWx1ZUxpc3QgYW5ub3RhdGlvbiBpbmZvcm1hdGlvblxuXHQgKiBAcGFyYW0gcHJvcGVydHlJZCBUaGUgSUQgcHJvcGVydHkgb2YgdGhlIElkQW5kRGVzY2lwdGlvbiBvZiB0aGUgdGV4dCBhcnJhbmdlbWVudCBhbm5vdGF0aW9uXG5cdCAqIEBwYXJhbSBwcm9wZXJ0eVZhbHVlIFRoZSB2YWx1ZSBmb3IgdGhlIHByb3BlcnR5SWQgcHJvcGVydHlcblx0ICogQHBhcmFtIGJpbmRpbmdDb250ZXh0IFRoZSBiaW5kaW5nIGNvbnRleHQgdG8gZ2V0IHZhbHVlcyBmcm9tXG5cdCAqIEByZXR1cm5zIEFycmF5IG9mIGZpbHRlcnMgZm9yIHRoZSBWYWx1ZUxpc3QgcmVxdWVzdFxuXHQgKi9cblx0Y3JlYXRlVmFsdWVMaXN0RmlsdGVyczogZnVuY3Rpb24gKFxuXHRcdHZhbHVlTGlzdEluZm86IEFubm90YXRpb25WYWx1ZUxpc3RUeXBlLFxuXHRcdHByb3BlcnR5SWQ6IHN0cmluZyxcblx0XHRwcm9wZXJ0eVZhbHVlOiBzdHJpbmcsXG5cdFx0YmluZGluZ0NvbnRleHQ6IEJhc2VDb250ZXh0IHwgbnVsbCB8IHVuZGVmaW5lZFxuXHQpOiBGaWx0ZXJbXSB7XG5cdFx0Ly8gU3RhcnQgd2l0aCB0aGUga2V5IGZpbHRlclxuXHRcdGNvbnN0IGZpbHRlcnM6IEZpbHRlcltdID0gW1xuXHRcdFx0bmV3IEZpbHRlcih7XG5cdFx0XHRcdHBhdGg6IHByb3BlcnR5SWQsXG5cdFx0XHRcdG9wZXJhdG9yOiBcIkVRXCIsXG5cdFx0XHRcdHZhbHVlMTogcHJvcGVydHlWYWx1ZVxuXHRcdFx0fSlcblx0XHRdO1xuXG5cdFx0aWYgKGJpbmRpbmdDb250ZXh0ICYmIHZhbHVlTGlzdEluZm8uUGFyYW1ldGVycykge1xuXHRcdFx0Y29uc3QgcmVsZXZhbnRQYXJhbWV0ZXJzID0gdmFsdWVMaXN0SW5mby5QYXJhbWV0ZXJzLmZpbHRlcigocGFyYW1ldGVyKSA9PiB7XG5cdFx0XHRcdGNvbnN0IGlzSW5PckluT3V0ID1cblx0XHRcdFx0XHRwYXJhbWV0ZXIuJFR5cGUgPT09IFwiY29tLnNhcC52b2NhYnVsYXJpZXMuQ29tbW9uLnYxLlZhbHVlTGlzdFBhcmFtZXRlckluXCIgfHxcblx0XHRcdFx0XHRwYXJhbWV0ZXIuJFR5cGUgPT09IFwiY29tLnNhcC52b2NhYnVsYXJpZXMuQ29tbW9uLnYxLlZhbHVlTGlzdFBhcmFtZXRlckluT3V0XCI7XG5cdFx0XHRcdHJldHVybiAoXG5cdFx0XHRcdFx0aXNJbk9ySW5PdXQgJiZcblx0XHRcdFx0XHRwYXJhbWV0ZXIuTG9jYWxEYXRhUHJvcGVydHk/LiRQcm9wZXJ0eVBhdGggJiZcblx0XHRcdFx0XHRwYXJhbWV0ZXIuVmFsdWVMaXN0UHJvcGVydHkgJiZcblx0XHRcdFx0XHRwYXJhbWV0ZXIuVmFsdWVMaXN0UHJvcGVydHkgIT09IHByb3BlcnR5SWRcblx0XHRcdFx0KTtcblx0XHRcdH0pO1xuXG5cdFx0XHRyZWxldmFudFBhcmFtZXRlcnMuZm9yRWFjaCgocGFyYW1ldGVyKSA9PiB7XG5cdFx0XHRcdGNvbnN0IGxvY2FsVmFsdWUgPSBiaW5kaW5nQ29udGV4dC5nZXRQcm9wZXJ0eShwYXJhbWV0ZXIuTG9jYWxEYXRhUHJvcGVydHkhLiRQcm9wZXJ0eVBhdGgpO1xuXHRcdFx0XHRpZiAobG9jYWxWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIGxvY2FsVmFsdWUgIT09IG51bGwgJiYgbG9jYWxWYWx1ZSAhPT0gXCJcIikge1xuXHRcdFx0XHRcdGZpbHRlcnMucHVzaChcblx0XHRcdFx0XHRcdG5ldyBGaWx0ZXIoe1xuXHRcdFx0XHRcdFx0XHRwYXRoOiBwYXJhbWV0ZXIuVmFsdWVMaXN0UHJvcGVydHksXG5cdFx0XHRcdFx0XHRcdG9wZXJhdG9yOiBcIkVRXCIsXG5cdFx0XHRcdFx0XHRcdHZhbHVlMTogbG9jYWxWYWx1ZVxuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHQpO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHR9XG5cblx0XHRyZXR1cm4gZmlsdGVycztcblx0fSxcblxuXHQvKipcblx0ICogTWV0aG9kIHRvIHJldHJpZXZlIHRleHQgZnJvbSB0aGUgdmFsdWUgbGlzdCBmb3IgRGF0YUZpZWxkLlxuXHQgKiBUaGlzIGlzIGEgZm9ybWF0dGVyIGluIGRpc2d1aXNlLlxuXHQgKiBAcGFyYW0gc1Byb3BlcnR5VmFsdWUgVGhlIHByb3BlcnR5IHZhbHVlIG9mIHRoZSBkYXRhIGZpZWxkLlxuXHQgKiBAcGFyYW0gc1Byb3BlcnR5RnVsbFBhdGggVGhlIGZ1bGwgcGF0aCB0byB0aGUgcHJvcGVydHkgaW4gdGhlIG1ldGFkYXRhLlxuXHQgKiBAcGFyYW0gc0Rpc3BsYXlGb3JtYXQgVGhlIGRpc3BsYXkgZm9ybWF0IGZvciB0aGUgZGF0YSBmaWVsZC5cblx0ICogQHJldHVybnMgVGhlIGZvcm1hdHRlZCB2YWx1ZSBiYXNlZCBvbiB0aGUgZGlzcGxheSBmb3JtYXQuXG5cdCAqL1xuXHRyZXRyaWV2ZVRleHRGcm9tVmFsdWVMaXN0OiBhc3luYyBmdW5jdGlvbiAoXG5cdFx0dGhpczogQ29udHJvbCxcblx0XHRzUHJvcGVydHlWYWx1ZTogc3RyaW5nLFxuXHRcdHNQcm9wZXJ0eUZ1bGxQYXRoOiBzdHJpbmcsXG5cdFx0c0Rpc3BsYXlGb3JtYXQ6IHN0cmluZ1xuXHQpOiBQcm9taXNlPHN0cmluZz4ge1xuXHRcdGxldCBzVGV4dFByb3BlcnR5OiBzdHJpbmc7XG5cdFx0bGV0IG9NZXRhTW9kZWw7XG5cdFx0bGV0IHNQcm9wZXJ0eU5hbWU6IHN0cmluZztcblx0XHRpZiAoc1Byb3BlcnR5VmFsdWUpIHtcblx0XHRcdG9NZXRhTW9kZWwgPSAodGhpcy5nZXRNb2RlbCgpPy5nZXRNZXRhTW9kZWwoKSBhcyBPRGF0YU1ldGFNb2RlbCkgfHwgQ29tbW9uSGVscGVyLmdldE1ldGFNb2RlbCgpO1xuXHRcdFx0c1Byb3BlcnR5TmFtZSA9IG9NZXRhTW9kZWwuZ2V0T2JqZWN0KGAke3NQcm9wZXJ0eUZ1bGxQYXRofUBzYXB1aS5uYW1lYCk7XG5cdFx0XHRjb25zdCBiaW5kaW5nQ29udGV4dCA9IHRoaXMuZ2V0QmluZGluZ0NvbnRleHQoKTtcblx0XHRcdHJldHVybiBvTWV0YU1vZGVsXG5cdFx0XHRcdC5yZXF1ZXN0VmFsdWVMaXN0SW5mbyhzUHJvcGVydHlGdWxsUGF0aCwgdHJ1ZSlcblx0XHRcdFx0LnRoZW4oZnVuY3Rpb24gKG1WYWx1ZUxpc3RJbmZvKSB7XG5cdFx0XHRcdFx0Ly8gdGFrZSB0aGUgXCJcIiBvbmUgaWYgZXhpc3RzLCBvdGhlcndpc2UgdGFrZSB0aGUgZmlyc3Qgb25lIGluIHRoZSBvYmplY3QgVE9ETzogdG8gYmUgZGlzY3Vzc2VkXG5cdFx0XHRcdFx0Y29uc3Qgb1ZhbHVlTGlzdEluZm8gPSBtVmFsdWVMaXN0SW5mb1ttVmFsdWVMaXN0SW5mb1tcIlwiXSA/IFwiXCIgOiBPYmplY3Qua2V5cyhtVmFsdWVMaXN0SW5mbylbMF1dO1xuXHRcdFx0XHRcdGNvbnN0IG9WYWx1ZUxpc3RNb2RlbCA9IG9WYWx1ZUxpc3RJbmZvLiRtb2RlbDtcblx0XHRcdFx0XHRjb25zdCBvTWV0YU1vZGVsVmFsdWVMaXN0ID0gb1ZhbHVlTGlzdE1vZGVsLmdldE1ldGFNb2RlbCgpO1xuXHRcdFx0XHRcdGNvbnN0IG9QYXJhbVdpdGhLZXkgPSBvVmFsdWVMaXN0SW5mby5QYXJhbWV0ZXJzLmZpbmQoZnVuY3Rpb24gKG9QYXJhbWV0ZXI6IHtcblx0XHRcdFx0XHRcdExvY2FsRGF0YVByb3BlcnR5PzogeyAkUHJvcGVydHlQYXRoOiBzdHJpbmcgfTtcblx0XHRcdFx0XHR9KSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gb1BhcmFtZXRlci5Mb2NhbERhdGFQcm9wZXJ0eSAmJiBvUGFyYW1ldGVyLkxvY2FsRGF0YVByb3BlcnR5LiRQcm9wZXJ0eVBhdGggPT09IHNQcm9wZXJ0eU5hbWU7XG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0aWYgKG9QYXJhbVdpdGhLZXkgJiYgIW9QYXJhbVdpdGhLZXkuVmFsdWVMaXN0UHJvcGVydHkpIHtcblx0XHRcdFx0XHRcdHRocm93IG5ldyBFcnJvcihgSW5jb25zaXN0ZW50IHZhbHVlIGhlbHAgYW5ub3RhdGlvbiBmb3IgJHtzUHJvcGVydHlOYW1lfWApO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRjb25zdCBvVGV4dEFubm90YXRpb24gPSBvTWV0YU1vZGVsVmFsdWVMaXN0LmdldE9iamVjdChcblx0XHRcdFx0XHRcdGAvJHtvVmFsdWVMaXN0SW5mby5Db2xsZWN0aW9uUGF0aH0vJHtvUGFyYW1XaXRoS2V5LlZhbHVlTGlzdFByb3BlcnR5fUBjb20uc2FwLnZvY2FidWxhcmllcy5Db21tb24udjEuVGV4dGBcblx0XHRcdFx0XHQpO1xuXG5cdFx0XHRcdFx0aWYgKG9UZXh0QW5ub3RhdGlvbiAmJiBvVGV4dEFubm90YXRpb24uJFBhdGgpIHtcblx0XHRcdFx0XHRcdHNUZXh0UHJvcGVydHkgPSBvVGV4dEFubm90YXRpb24uJFBhdGg7XG5cblx0XHRcdFx0XHRcdGNvbnN0IGZpbHRlcnMgPSBGaWVsZFJ1bnRpbWUuY3JlYXRlVmFsdWVMaXN0RmlsdGVycyhcblx0XHRcdFx0XHRcdFx0b1ZhbHVlTGlzdEluZm8sXG5cdFx0XHRcdFx0XHRcdG9QYXJhbVdpdGhLZXkuVmFsdWVMaXN0UHJvcGVydHksXG5cdFx0XHRcdFx0XHRcdHNQcm9wZXJ0eVZhbHVlLFxuXHRcdFx0XHRcdFx0XHRiaW5kaW5nQ29udGV4dFxuXHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRcdGNvbnN0IGxpc3RCaW5kaW5nID0gb1ZhbHVlTGlzdE1vZGVsLmJpbmRMaXN0KGAvJHtvVmFsdWVMaXN0SW5mby5Db2xsZWN0aW9uUGF0aH1gLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmlsdGVycywge1xuXHRcdFx0XHRcdFx0XHQkc2VsZWN0OiBzVGV4dFByb3BlcnR5XG5cdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdHJldHVybiBsaXN0QmluZGluZy5yZXF1ZXN0Q29udGV4dHMoMCwgMik7XG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdHNEaXNwbGF5Rm9ybWF0ID0gXCJWYWx1ZVwiO1xuXHRcdFx0XHRcdFx0cmV0dXJuIHNQcm9wZXJ0eVZhbHVlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSlcblx0XHRcdFx0LnRoZW4oZnVuY3Rpb24gKGFDb250ZXh0czogQ29udGV4dFtdKSB7XG5cdFx0XHRcdFx0Y29uc3Qgc0Rlc2NyaXB0aW9uID0gc1RleHRQcm9wZXJ0eSA/IGFDb250ZXh0c1swXT8uZ2V0T2JqZWN0KClbc1RleHRQcm9wZXJ0eV0gOiBcIlwiO1xuXHRcdFx0XHRcdGlmICghc0Rlc2NyaXB0aW9uKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gc1Byb3BlcnR5VmFsdWU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHN3aXRjaCAoc0Rpc3BsYXlGb3JtYXQpIHtcblx0XHRcdFx0XHRcdGNhc2UgXCJEZXNjcmlwdGlvblwiOlxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gc0Rlc2NyaXB0aW9uIHx8IHNQcm9wZXJ0eVZhbHVlO1xuXHRcdFx0XHRcdFx0Y2FzZSBcIkRlc2NyaXB0aW9uVmFsdWVcIjpcblx0XHRcdFx0XHRcdFx0cmV0dXJuIExpYnJhcnkuZ2V0UmVzb3VyY2VCdW5kbGVGb3IoXCJzYXAuZmUuY29yZVwiKSEuZ2V0VGV4dChcIkNfRk9STUFUX0ZPUl9URVhUX0FSUkFOR0VNRU5UXCIsIFtcblx0XHRcdFx0XHRcdFx0XHRzRGVzY3JpcHRpb24sXG5cdFx0XHRcdFx0XHRcdFx0c1Byb3BlcnR5VmFsdWVcblx0XHRcdFx0XHRcdFx0XSk7XG5cdFx0XHRcdFx0XHRjYXNlIFwiVmFsdWVEZXNjcmlwdGlvblwiOlxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gTGlicmFyeS5nZXRSZXNvdXJjZUJ1bmRsZUZvcihcInNhcC5mZS5jb3JlXCIpIS5nZXRUZXh0KFwiQ19GT1JNQVRfRk9SX1RFWFRfQVJSQU5HRU1FTlRcIiwgW1xuXHRcdFx0XHRcdFx0XHRcdHNQcm9wZXJ0eVZhbHVlLFxuXHRcdFx0XHRcdFx0XHRcdHNEZXNjcmlwdGlvblxuXHRcdFx0XHRcdFx0XHRdKTtcblx0XHRcdFx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdFx0XHRcdHJldHVybiBzUHJvcGVydHlWYWx1ZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHRcdC5jYXRjaChmdW5jdGlvbiAob0Vycm9yOiB1bmtub3duKSB7XG5cdFx0XHRcdFx0Y29uc3QgZXJyb3JPYmogPSBvRXJyb3IgYXMgeyBzdGF0dXM6IG51bWJlcjsgbWVzc2FnZTogc3RyaW5nIH07XG5cdFx0XHRcdFx0Y29uc3Qgc01zZyA9XG5cdFx0XHRcdFx0XHRlcnJvck9iai5zdGF0dXMgJiYgZXJyb3JPYmouc3RhdHVzID09PSA0MDRcblx0XHRcdFx0XHRcdFx0PyBgTWV0YWRhdGEgbm90IGZvdW5kICgke2Vycm9yT2JqLnN0YXR1c30pIGZvciB2YWx1ZSBoZWxwIG9mIHByb3BlcnR5ICR7c1Byb3BlcnR5RnVsbFBhdGh9YFxuXHRcdFx0XHRcdFx0XHQ6IGVycm9yT2JqLm1lc3NhZ2U7XG5cdFx0XHRcdFx0TG9nLmVycm9yKHNNc2cpO1xuXHRcdFx0XHR9KTtcblx0XHR9XG5cdFx0cmV0dXJuIHNQcm9wZXJ0eVZhbHVlO1xuXHR9LFxuXG5cdGRpc3BsYXlBZ2dyZWdhdGVEZXRhaWxzOiBhc3luYyBmdW5jdGlvbiAoZXZlbnQ6IEV2ZW50LCBhZ2dyZWdhdGVkUHJvcGVydHlQYXRoPzogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0aWYgKCFhZ2dyZWdhdGVkUHJvcGVydHlQYXRoKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdGNvbnN0IGxpbmsgPSBldmVudC5nZXRTb3VyY2U8TGluaz4oKTtcblx0XHRjb25zdCBhbmFseXRpY2FsVGFibGUgPSBGUE1IZWxwZXIuZ2V0TWRjVGFibGUobGluaykhO1xuXG5cdFx0Y29uc3Qgcm93Q29udGV4dCA9IGxpbmsuZ2V0QmluZGluZ0NvbnRleHQoKSBhcyBDb250ZXh0O1xuXHRcdGNvbnN0IHRhYmxlUm93QmluZGluZyA9IHJvd0NvbnRleHQuZ2V0QmluZGluZygpIGFzIE9EYXRhTGlzdEJpbmRpbmc7XG5cblx0XHQvLyBHZXQgdGhlIGZpbHRlcnMgY29ycmVzcG9uZGluZyB0byB0aGUgdG90YWwgcm93XG5cdFx0Y29uc3Qgcm93Q29udGV4dERhdGEgPSByb3dDb250ZXh0LmdldE9iamVjdCgpO1xuXHRcdGNvbnN0IHJvd1NwZWNpZmljRmlsdGVyOiBGaWx0ZXJbXSA9IFtdO1xuXHRcdGNvbnN0IHJvd0ZpbHRlciA9IHJvd0NvbnRleHQuZ2V0RmlsdGVyKCk7XG5cdFx0aWYgKHJvd0ZpbHRlcikge1xuXHRcdFx0cm93U3BlY2lmaWNGaWx0ZXIucHVzaChyb3dGaWx0ZXIpO1xuXHRcdH1cblxuXHRcdC8vIEFkZCB0aGUgZmlsdGVycyBhcHBsaWVkIHRvIHRoZSBvcmlnaW5hbCB0YWJsZVxuXHRcdGNvbnN0IGFsbEZpbHRlcnMgPSByb3dTcGVjaWZpY0ZpbHRlci5jb25jYXQodGFibGVSb3dCaW5kaW5nLmdldEZpbHRlcnMoXCJBcHBsaWNhdGlvblwiKSwgdGFibGVSb3dCaW5kaW5nLmdldEZpbHRlcnMoXCJDb250cm9sXCIpKTtcblxuXHRcdC8vIENhbGN1bGF0ZSAkJGFnZ3JlZ2F0aW9uIHBhcmFtZXRlcnMgZm9yIHRoZSB0YWJsZSBpbiB0aGUgcG9wb3ZlciAoYWdncmVnYXRlIGFtb3VudCwgZ3JvdXAgYnkgY3VycmVuY3kvdW5pdClcblx0XHRjb25zdCBhZ2dyZWdhdGlvbiA9IHRhYmxlUm93QmluZGluZy5nZXRBZ2dyZWdhdGlvbigpIGFzIHtcblx0XHRcdGdyb3VwOiBSZWNvcmQ8c3RyaW5nLCBvYmplY3Q+O1xuXHRcdFx0YWdncmVnYXRlOiBSZWNvcmQ8c3RyaW5nLCB7IHVuaXQ6IHN0cmluZyB9Pjtcblx0XHRcdHNlYXJjaD86IHN0cmluZztcblx0XHR9O1xuXHRcdGNvbnN0IHVuaXRPckN1cnJlbmN5TmFtZSA9IGFnZ3JlZ2F0aW9uLmFnZ3JlZ2F0ZVthZ2dyZWdhdGVkUHJvcGVydHlQYXRoXS51bml0O1xuXHRcdGNvbnN0IGdyb3VwOiBSZWNvcmQ8c3RyaW5nLCBvYmplY3Q+ID0ge307XG5cdFx0Z3JvdXBbdW5pdE9yQ3VycmVuY3lOYW1lXSA9IHt9O1xuXHRcdGNvbnN0IGFnZ3JlZ2F0ZTogUmVjb3JkPHN0cmluZywgb2JqZWN0PiA9IHt9O1xuXHRcdGFnZ3JlZ2F0ZVthZ2dyZWdhdGVkUHJvcGVydHlQYXRoXSA9IHsgZ3JhbmRUb3RhbDogZmFsc2UsIHN1YnRvdGFsczogZmFsc2UsIHVuaXQ6IHVuaXRPckN1cnJlbmN5TmFtZSB9O1xuXG5cdFx0Ly8gVGhlIGl0ZW0gZGlzcGxheWVkIGluIHRoZSB0YWJsZSBpbiB0aGUgcG9wb3ZlciBpcyBhIGNvcHkgb2YgdGhlIGl0ZW0gZGlzcGxheWVkIGluIHRoZSB0YWJsZVxuXHRcdGNvbnN0IHRhYmxlSXRlbSA9IGxpbmsuZ2V0RGVwZW5kZW50cygpWzBdLmNsb25lKCk7XG5cdFx0Y29uc3QgY3VycmVuY3lPclF1YW50aXR5RW5hYmxlZExheW91dCA9IG5ldyBIQm94KHtcblx0XHRcdHJlbmRlclR5cGU6IFwiQmFyZVwiLFxuXHRcdFx0anVzdGlmeUNvbnRlbnQ6IFwiRW5kXCIsXG5cdFx0XHRpdGVtczogW3RhYmxlSXRlbV1cblx0XHR9IGFzICRIQm94U2V0dGluZ3MpO1xuXG5cdFx0Y29uc3QgYWdncmVnYXRpb25QYXJhbWV0ZXJzOiB7XG5cdFx0XHRncm91cDogUmVjb3JkPHN0cmluZywgb2JqZWN0Pjtcblx0XHRcdGFnZ3JlZ2F0ZTogUmVjb3JkPHN0cmluZywgb2JqZWN0Pjtcblx0XHRcdHNlYXJjaD86IHN0cmluZztcblx0XHR9ID0geyBncm91cCwgYWdncmVnYXRlIH07XG5cdFx0aWYgKGFnZ3JlZ2F0aW9uLnNlYXJjaCkge1xuXHRcdFx0YWdncmVnYXRpb25QYXJhbWV0ZXJzLnNlYXJjaCA9IGFnZ3JlZ2F0aW9uLnNlYXJjaDtcblx0XHR9XG5cblx0XHRjb25zdCBvSXRlbXNCaW5kaW5nSW5mbyA9IHtcblx0XHRcdHBhdGg6IHRhYmxlUm93QmluZGluZy5nZXRSZXNvbHZlZFBhdGgoKSxcblx0XHRcdGZpbHRlcnM6IGFsbEZpbHRlcnMsXG5cdFx0XHRwYXJhbWV0ZXJzOiB7XG5cdFx0XHRcdCQkYWdncmVnYXRpb246IGFnZ3JlZ2F0aW9uUGFyYW1ldGVyc1xuXHRcdFx0fSxcblx0XHRcdHNvcnRlcjogbmV3IFNvcnRlcih1bml0T3JDdXJyZW5jeU5hbWUsIGZhbHNlKSAvLyBPcmRlciBieSBjdXJyZW5jeVxuXHRcdH07XG5cblx0XHRjb25zdCBpc1BvcG92ZXJGb3JHcmFuZFRvdGFsID0gcm93Q29udGV4dERhdGFbXCJAJHVpNS5ub2RlLmxldmVsXCJdID09PSAwO1xuXHRcdGNvbnN0IHBvcG92ZXI6IFJlc3BvbnNpdmVQb3BvdmVyID0gYXdhaXQgVXRpbC5jcmVhdGVPclVwZGF0ZU11bHRpVW5pdFBvcG92ZXIoYCR7YW5hbHl0aWNhbFRhYmxlLmdldElkKCl9LW11bHRpVW5pdFBvcG92ZXJgLCB7XG5cdFx0XHRjb250cm9sOiBhbmFseXRpY2FsVGFibGUsXG5cdFx0XHRncmFuZFRvdGFsOiBpc1BvcG92ZXJGb3JHcmFuZFRvdGFsLFxuXHRcdFx0aXRlbXNCaW5kaW5nSW5mbzogb0l0ZW1zQmluZGluZ0luZm8sXG5cdFx0XHRsaXN0SXRlbUNvbnRlbnRUZW1wbGF0ZTogY3VycmVuY3lPclF1YW50aXR5RW5hYmxlZExheW91dFxuXHRcdH0pO1xuXHRcdGFuYWx5dGljYWxUYWJsZS5hZGREZXBlbmRlbnQocG9wb3Zlcik7XG5cblx0XHRjb25zdCBmbk9uQ2xvc2UgPSAoKTogdm9pZCA9PiB7XG5cdFx0XHRhbmFseXRpY2FsVGFibGUucmVtb3ZlRGVwZW5kZW50KHBvcG92ZXIpO1xuXHRcdFx0cG9wb3Zlci5kZXRhY2hFdmVudChcImFmdGVyQ2xvc2VcIiwgZm5PbkNsb3NlKTtcblx0XHRcdHBvcG92ZXIuZGVzdHJveSgpO1xuXHRcdH07XG5cdFx0cG9wb3Zlci5hdHRhY2hFdmVudChcImFmdGVyQ2xvc2VcIiwgZm5PbkNsb3NlKTtcblx0XHRwb3BvdmVyLm9wZW5CeShsaW5rKTtcblx0fVxufTtcblxuT2JqZWN0UGF0aC5zZXQoXCJzYXAuZmUubWFjcm9zLmZpZWxkLkZpZWxkUnVudGltZVwiLCBGaWVsZFJ1bnRpbWUpO1xuXG5leHBvcnQgZGVmYXVsdCBGaWVsZFJ1bnRpbWU7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7RUF3QkE7QUFDQTtBQUNBO0FBQ0E7RUFDQSxNQUFNQSxZQUFZLEdBQUc7SUFDcEJDLGNBQWMsRUFBRSxDQUFDLENBQTREO0lBQzdFQyxtQkFBbUIsRUFBRSxLQUFLO0lBRTFCO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtJQUNDQyx1QkFBdUIsRUFBRSxTQUFBQSxDQUN4QkMsYUFBcUIsRUFDckJDLDZCQUFxQyxFQUNyQ0MsY0FBd0IsRUFDeEJDLGNBQXdCLEVBQ3hCQyxhQUF1QixFQUNiO01BQ1YsSUFBSUQsY0FBYyxLQUFLRSxTQUFTLElBQUlILGNBQWMsS0FBS0csU0FBUyxLQUFLLENBQUNGLGNBQWMsSUFBSUQsY0FBYyxDQUFDLElBQUksQ0FBQ0UsYUFBYSxFQUFFO1FBQzFILE9BQU9KLGFBQWEsS0FBS0MsNkJBQTZCO01BQ3ZELENBQUMsTUFBTTtRQUNOLE9BQU8sS0FBSztNQUNiO0lBQ0QsQ0FBQztJQUVEO0FBQ0Q7QUFDQTtBQUNBO0lBQ0NLLG9CQUFvQixFQUFFLFNBQUFBLENBQVVDLE1BQXVDLEVBQVE7TUFDOUUsTUFBTUMsWUFBWSxHQUFHRCxNQUFNLENBQUNFLFNBQVMsQ0FBQyxDQUFrQjtNQUN4RCxNQUFNQyxJQUFJLEdBQUdDLFdBQVcsQ0FBQ0MsYUFBYSxDQUFDSixZQUFZLENBQUM7UUFDbkRLLFVBQVUsR0FBR0gsSUFBSSxDQUFDSSxhQUFhLENBQUMsQ0FBQztNQUVsQyxNQUFNQyxhQUFhLEdBQUdDLGtCQUFrQixDQUFDQyxzQkFBc0IsQ0FBQ0os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
|
|
223
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGaWVsZFJ1bnRpbWUiLCJ1cGxvYWRQcm9taXNlcyIsImNyZWF0aW5nSW5hY3RpdmVSb3ciLCJpc0RyYWZ0SW5kaWNhdG9yVmlzaWJsZSIsInNQcm9wZXJ0eVBhdGgiLCJzU2VtYW50aWNLZXlIYXNEcmFmdEluZGljYXRvciIsIkhhc0RyYWZ0RW50aXR5IiwiSXNBY3RpdmVFbnRpdHkiLCJoaWRlRHJhZnRJbmZvIiwidW5kZWZpbmVkIiwib25WYWxpZGF0ZUZpZWxkR3JvdXAiLCJvRXZlbnQiLCJvU291cmNlRmllbGQiLCJnZXRTb3VyY2UiLCJ2aWV3IiwiQ29tbW9uVXRpbHMiLCJnZXRUYXJnZXRWaWV3IiwiY29udHJvbGxlciIsImdldENvbnRyb2xsZXIiLCJvRkVDb250cm9sbGVyIiwiRmllbGRSdW50aW1lSGVscGVyIiwiZ2V0RXh0ZW5zaW9uQ29udHJvbGxlciIsIl9zaWRlRWZmZWN0cyIsImhhbmRsZUZpZWxkR3JvdXBDaGFuZ2UiLCJfZm5GaXhIYXNoUXVlcnlTdHJpbmciLCJzQ3VycmVudEhhc2giLCJpbmNsdWRlcyIsInNwbGl0IiwiY3JlYXRlVmFsdWVMaXN0RmlsdGVycyIsInZhbHVlTGlzdEluZm8iLCJwcm9wZXJ0eUlkIiwicHJvcGVydHlWYWx1ZSIsImJpbmRpbmdDb250ZXh0IiwiZmlsdGVycyIsIkZpbHRlciIsInBhdGgiLCJvcGVyYXRvciIsInZhbHVlMSIsIlBhcmFtZXRlcnMiLCJyZWxldmFudFBhcmFtZXRlcnMiLCJmaWx0ZXIiLCJwYXJhbWV0ZXIiLCJpc0luT3JJbk91dCIsIiRUeXBlIiwiTG9jYWxEYXRhUHJvcGVydHkiLCIkUHJvcGVydHlQYXRoIiwiVmFsdWVMaXN0UHJvcGVydHkiLCJmb3JFYWNoIiwibG9jYWxWYWx1ZSIsImdldFByb3BlcnR5IiwicHVzaCIsInJldHJpZXZlVGV4dEZyb21WYWx1ZUxpc3QiLCJzUHJvcGVydHlWYWx1ZSIsInNQcm9wZXJ0eUZ1bGxQYXRoIiwic0Rpc3BsYXlGb3JtYXQiLCJzVGV4dFByb3BlcnR5Iiwib01ldGFNb2RlbCIsInNQcm9wZXJ0eU5hbWUiLCJnZXRNb2RlbCIsImdldE1ldGFNb2RlbCIsIkNvbW1vbkhlbHBlciIsImdldE9iamVjdCIsImdldEJpbmRpbmdDb250ZXh0IiwicmVxdWVzdFZhbHVlTGlzdEluZm8iLCJ0aGVuIiwibVZhbHVlTGlzdEluZm8iLCJvVmFsdWVMaXN0SW5mbyIsIk9iamVjdCIsImtleXMiLCJvVmFsdWVMaXN0TW9kZWwiLCIkbW9kZWwiLCJvTWV0YU1vZGVsVmFsdWVMaXN0Iiwib1BhcmFtV2l0aEtleSIsImZpbmQiLCJvUGFyYW1ldGVyIiwiRXJyb3IiLCJvVGV4dEFubm90YXRpb24iLCJDb2xsZWN0aW9uUGF0aCIsIiRQYXRoIiwibGlzdEJpbmRpbmciLCJiaW5kTGlzdCIsIiRzZWxlY3QiLCJyZXF1ZXN0Q29udGV4dHMiLCJhQ29udGV4dHMiLCJzRGVzY3JpcHRpb24iLCJMaWJyYXJ5IiwiZ2V0UmVzb3VyY2VCdW5kbGVGb3IiLCJnZXRUZXh0IiwiY2F0Y2giLCJvRXJyb3IiLCJlcnJvck9iaiIsInNNc2ciLCJzdGF0dXMiLCJtZXNzYWdlIiwiTG9nIiwiZXJyb3IiLCJkaXNwbGF5QWdncmVnYXRlRGV0YWlscyIsImV2ZW50IiwiYWdncmVnYXRlZFByb3BlcnR5UGF0aCIsImxpbmsiLCJhbmFseXRpY2FsVGFibGUiLCJGUE1IZWxwZXIiLCJnZXRNZGNUYWJsZSIsInBvcG92ZXJJZCIsImdldElkIiwiZ2V0RGVwZW5kZW50cyIsInNvbWUiLCJkZXBlbmRlbnQiLCJyb3dDb250ZXh0IiwidGFibGVSb3dCaW5kaW5nIiwiZ2V0QmluZGluZyIsInJvd0NvbnRleHREYXRhIiwicm93U3BlY2lmaWNGaWx0ZXIiLCJyb3dGaWx0ZXIiLCJnZXRGaWx0ZXIiLCJhbGxGaWx0ZXJzIiwiY29uY2F0IiwiZ2V0RmlsdGVycyIsImFnZ3JlZ2F0aW9uIiwiZ2V0QWdncmVnYXRpb24iLCJ1bml0T3JDdXJyZW5jeU5hbWUiLCJhZ2dyZWdhdGUiLCJ1bml0IiwiZ3JvdXAiLCJncmFuZFRvdGFsIiwic3VidG90YWxzIiwidGFibGVJdGVtIiwiY2xvbmUiLCJjdXJyZW5jeU9yUXVhbnRpdHlFbmFibGVkTGF5b3V0IiwiSEJveCIsInJlbmRlclR5cGUiLCJqdXN0aWZ5Q29udGVudCIsIml0ZW1zIiwiYWdncmVnYXRpb25QYXJhbWV0ZXJzIiwic2VhcmNoIiwib0l0ZW1zQmluZGluZ0luZm8iLCJnZXRSZXNvbHZlZFBhdGgiLCJwYXJhbWV0ZXJzIiwiJCRhZ2dyZWdhdGlvbiIsInNvcnRlciIsIlNvcnRlciIsImlzUG9wb3ZlckZvckdyYW5kVG90YWwiLCJwb3BvdmVyIiwiVXRpbCIsImNyZWF0ZU9yVXBkYXRlTXVsdGlVbml0UG9wb3ZlciIsImNvbnRyb2wiLCJpdGVtc0JpbmRpbmdJbmZvIiwibGlzdEl0ZW1Db250ZW50VGVtcGxhdGUiLCJhZGREZXBlbmRlbnQiLCJmbk9uQ2xvc2UiLCJyZW1vdmVEZXBlbmRlbnQiLCJkZXRhY2hFdmVudCIsImRlc3Ryb3kiLCJhdHRhY2hFdmVudCIsIm9wZW5CeSIsIk9iamVjdFBhdGgiLCJzZXQiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkZpZWxkUnVudGltZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcbmltcG9ydCBPYmplY3RQYXRoIGZyb20gXCJzYXAvYmFzZS91dGlsL09iamVjdFBhdGhcIjtcbmltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCBGUE1IZWxwZXIgZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvRlBNSGVscGVyXCI7XG5pbXBvcnQgQ29tbW9uSGVscGVyIGZyb20gXCJzYXAvZmUvbWFjcm9zL0NvbW1vbkhlbHBlclwiO1xuaW1wb3J0IHR5cGUgeyBBbm5vdGF0aW9uVmFsdWVMaXN0VHlwZSB9IGZyb20gXCJzYXAvZmUvbWFjcm9zL2ludGVybmFsL3ZhbHVlaGVscC9WYWx1ZUxpc3RIZWxwZXJcIjtcbmltcG9ydCB0eXBlIHsgJEhCb3hTZXR0aW5ncyB9IGZyb20gXCJzYXAvbS9IQm94XCI7XG5pbXBvcnQgSEJveCBmcm9tIFwic2FwL20vSEJveFwiO1xuaW1wb3J0IHR5cGUgTGluayBmcm9tIFwic2FwL20vTGlua1wiO1xuaW1wb3J0IHR5cGUgUmVzcG9uc2l2ZVBvcG92ZXIgZnJvbSBcInNhcC9tL1Jlc3BvbnNpdmVQb3BvdmVyXCI7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIFV0aWwgfSBmcm9tIFwic2FwL20vdGFibGUvVXRpbFwiO1xuaW1wb3J0IHR5cGUgRXZlbnQgZnJvbSBcInNhcC91aS9iYXNlL0V2ZW50XCI7XG5pbXBvcnQgdHlwZSBNYW5hZ2VkT2JqZWN0IGZyb20gXCJzYXAvdWkvYmFzZS9NYW5hZ2VkT2JqZWN0XCI7XG5pbXBvcnQgdHlwZSBDb250cm9sIGZyb20gXCJzYXAvdWkvY29yZS9Db250cm9sXCI7XG5pbXBvcnQgdHlwZSB7IENvbnRyb2wkVmFsaWRhdGVGaWVsZEdyb3VwRXZlbnQgfSBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuaW1wb3J0IExpYnJhcnkgZnJvbSBcInNhcC91aS9jb3JlL0xpYlwiO1xuaW1wb3J0IHR5cGUgQmFzZUNvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9Db250ZXh0XCI7XG5pbXBvcnQgRmlsdGVyIGZyb20gXCJzYXAvdWkvbW9kZWwvRmlsdGVyXCI7XG5pbXBvcnQgU29ydGVyIGZyb20gXCJzYXAvdWkvbW9kZWwvU29ydGVyXCI7XG5pbXBvcnQgdHlwZSBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvQ29udGV4dFwiO1xuaW1wb3J0IHR5cGUgT0RhdGFMaXN0QmluZGluZyBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L09EYXRhTGlzdEJpbmRpbmdcIjtcbmltcG9ydCB0eXBlIE9EYXRhTWV0YU1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvT0RhdGFNZXRhTW9kZWxcIjtcbmltcG9ydCBGaWVsZFJ1bnRpbWVIZWxwZXIgZnJvbSBcIi4vRmllbGRSdW50aW1lSGVscGVyXCI7XG5cbi8qKlxuICogU3RhdGljIGNsYXNzIHVzZWQgYnkgXCJzYXAudWkubWRjLkZpZWxkXCIgZHVyaW5nIHJ1bnRpbWVcbiAqIEBwcml2YXRlXG4gKi9cbmNvbnN0IEZpZWxkUnVudGltZSA9IHtcblx0dXBsb2FkUHJvbWlzZXM6IHt9IGFzIFJlY29yZDxzdHJpbmcsIHsgcmVzb2x2ZTogRnVuY3Rpb247IHJlamVjdDogRnVuY3Rpb24gfT4sXG5cdGNyZWF0aW5nSW5hY3RpdmVSb3c6IGZhbHNlLFxuXG5cdC8qKlxuXHQgKiBUaGlzIGlzIGEgZm9ybWF0dGVyIGluIGRpc2d1aXNlLlxuXHQgKiBAcGFyYW0gc1Byb3BlcnR5UGF0aFxuXHQgKiBAcGFyYW0gc1NlbWFudGljS2V5SGFzRHJhZnRJbmRpY2F0b3Jcblx0ICogQHBhcmFtIEhhc0RyYWZ0RW50aXR5XG5cdCAqIEBwYXJhbSBJc0FjdGl2ZUVudGl0eVxuXHQgKiBAcGFyYW0gaGlkZURyYWZ0SW5mb1xuXHQgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBkcmFmdCBpbmRpY2F0b3Igc2hvdWxkIGJlIGRpc3BsYXllZC5cblx0ICovXG5cdGlzRHJhZnRJbmRpY2F0b3JWaXNpYmxlOiBmdW5jdGlvbiAoXG5cdFx0c1Byb3BlcnR5UGF0aDogc3RyaW5nLFxuXHRcdHNTZW1hbnRpY0tleUhhc0RyYWZ0SW5kaWNhdG9yOiBzdHJpbmcsXG5cdFx0SGFzRHJhZnRFbnRpdHk/OiBib29sZWFuLFxuXHRcdElzQWN0aXZlRW50aXR5PzogYm9vbGVhbixcblx0XHRoaWRlRHJhZnRJbmZvPzogYm9vbGVhblxuXHQpOiBib29sZWFuIHtcblx0XHRpZiAoSXNBY3RpdmVFbnRpdHkgIT09IHVuZGVmaW5lZCAmJiBIYXNEcmFmdEVudGl0eSAhPT0gdW5kZWZpbmVkICYmICghSXNBY3RpdmVFbnRpdHkgfHwgSGFzRHJhZnRFbnRpdHkpICYmICFoaWRlRHJhZnRJbmZvKSB7XG5cdFx0XHRyZXR1cm4gc1Byb3BlcnR5UGF0aCA9PT0gc1NlbWFudGljS2V5SGFzRHJhZnRJbmRpY2F0b3I7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cdH0sXG5cblx0LyoqXG5cdCAqIEhhbmRsZXIgZm9yIHRoZSB2YWxpZGF0ZUZpZWxkR3JvdXAgZXZlbnQuXG5cdCAqIEBwYXJhbSBvRXZlbnQgVGhlIGV2ZW50IG9iamVjdCBwYXNzZWQgYnkgdGhlIHZhbGlkYXRlRmllbGRHcm91cCBldmVudFxuXHQgKi9cblx0b25WYWxpZGF0ZUZpZWxkR3JvdXA6IGZ1bmN0aW9uIChvRXZlbnQ6IENvbnRyb2wkVmFsaWRhdGVGaWVsZEdyb3VwRXZlbnQpOiB2b2lkIHtcblx0XHRjb25zdCBvU291cmNlRmllbGQgPSBvRXZlbnQuZ2V0U291cmNlKCkgYXMgTWFuYWdlZE9iamVjdDtcblx0XHRjb25zdCB2aWV3ID0gQ29tbW9uVXRpbHMuZ2V0VGFyZ2V0VmlldyhvU291cmNlRmllbGQpLFxuXHRcdFx0Y29udHJvbGxlciA9IHZpZXcuZ2V0Q29udHJvbGxlcigpO1xuXG5cdFx0Y29uc3Qgb0ZFQ29udHJvbGxlciA9IEZpZWxkUnVudGltZUhlbHBlci5nZXRFeHRlbnNpb25Db250cm9sbGVyKGNvbnRyb2xsZXIpO1xuXHRcdG9GRUNvbnRyb2xsZXIuX3NpZGVFZmZlY3RzLmhhbmRsZUZpZWxkR3JvdXBDaGFuZ2Uob0V2ZW50KTtcblx0fSxcblxuXHRfZm5GaXhIYXNoUXVlcnlTdHJpbmc6IGZ1bmN0aW9uIChzQ3VycmVudEhhc2g6IHN0cmluZyk6IHN0cmluZyB7XG5cdFx0aWYgKHNDdXJyZW50SGFzaD8uaW5jbHVkZXMoXCI/XCIpKSB7XG5cdFx0XHQvLyBzQ3VycmVudEhhc2ggY2FuIGNvbnRhaW4gcXVlcnkgc3RyaW5nLCBjdXQgaXQgb2ZmIVxuXHRcdFx0c0N1cnJlbnRIYXNoID0gc0N1cnJlbnRIYXNoLnNwbGl0KFwiP1wiKVswXTtcblx0XHR9XG5cdFx0cmV0dXJuIHNDdXJyZW50SGFzaDtcblx0fSxcblxuXHQvKipcblx0ICogQ3JlYXRlcyBmaWx0ZXJzIGZvciBWYWx1ZUxpc3QgcmVxdWVzdHMgYmFzZWQgb24gVmFsdWVMaXN0UGFyYW1ldGVySW4gYW5kIFZhbHVlTGlzdFBhcmFtZXRlckluT3V0IGFubm90YXRpb25zLlxuXHQgKiBAcGFyYW0gdmFsdWVMaXN0SW5mbyBUaGUgVmFsdWVMaXN0IGFubm90YXRpb24gaW5mb3JtYXRpb25cblx0ICogQHBhcmFtIHByb3BlcnR5SWQgVGhlIElEIHByb3BlcnR5IG9mIHRoZSBJZEFuZERlc2NpcHRpb24gb2YgdGhlIHRleHQgYXJyYW5nZW1lbnQgYW5ub3RhdGlvblxuXHQgKiBAcGFyYW0gcHJvcGVydHlWYWx1ZSBUaGUgdmFsdWUgZm9yIHRoZSBwcm9wZXJ0eUlkIHByb3BlcnR5XG5cdCAqIEBwYXJhbSBiaW5kaW5nQ29udGV4dCBUaGUgYmluZGluZyBjb250ZXh0IHRvIGdldCB2YWx1ZXMgZnJvbVxuXHQgKiBAcmV0dXJucyBBcnJheSBvZiBmaWx0ZXJzIGZvciB0aGUgVmFsdWVMaXN0IHJlcXVlc3Rcblx0ICovXG5cdGNyZWF0ZVZhbHVlTGlzdEZpbHRlcnM6IGZ1bmN0aW9uIChcblx0XHR2YWx1ZUxpc3RJbmZvOiBBbm5vdGF0aW9uVmFsdWVMaXN0VHlwZSxcblx0XHRwcm9wZXJ0eUlkOiBzdHJpbmcsXG5cdFx0cHJvcGVydHlWYWx1ZTogc3RyaW5nLFxuXHRcdGJpbmRpbmdDb250ZXh0OiBCYXNlQ29udGV4dCB8IG51bGwgfCB1bmRlZmluZWRcblx0KTogRmlsdGVyW10ge1xuXHRcdC8vIFN0YXJ0IHdpdGggdGhlIGtleSBmaWx0ZXJcblx0XHRjb25zdCBmaWx0ZXJzOiBGaWx0ZXJbXSA9IFtcblx0XHRcdG5ldyBGaWx0ZXIoe1xuXHRcdFx0XHRwYXRoOiBwcm9wZXJ0eUlkLFxuXHRcdFx0XHRvcGVyYXRvcjogXCJFUVwiLFxuXHRcdFx0XHR2YWx1ZTE6IHByb3BlcnR5VmFsdWVcblx0XHRcdH0pXG5cdFx0XTtcblxuXHRcdGlmIChiaW5kaW5nQ29udGV4dCAmJiB2YWx1ZUxpc3RJbmZvLlBhcmFtZXRlcnMpIHtcblx0XHRcdGNvbnN0IHJlbGV2YW50UGFyYW1ldGVycyA9IHZhbHVlTGlzdEluZm8uUGFyYW1ldGVycy5maWx0ZXIoKHBhcmFtZXRlcikgPT4ge1xuXHRcdFx0XHRjb25zdCBpc0luT3JJbk91dCA9XG5cdFx0XHRcdFx0cGFyYW1ldGVyLiRUeXBlID09PSBcImNvbS5zYXAudm9jYWJ1bGFyaWVzLkNvbW1vbi52MS5WYWx1ZUxpc3RQYXJhbWV0ZXJJblwiIHx8XG5cdFx0XHRcdFx0cGFyYW1ldGVyLiRUeXBlID09PSBcImNvbS5zYXAudm9jYWJ1bGFyaWVzLkNvbW1vbi52MS5WYWx1ZUxpc3RQYXJhbWV0ZXJJbk91dFwiO1xuXHRcdFx0XHRyZXR1cm4gKFxuXHRcdFx0XHRcdGlzSW5PckluT3V0ICYmXG5cdFx0XHRcdFx0cGFyYW1ldGVyLkxvY2FsRGF0YVByb3BlcnR5Py4kUHJvcGVydHlQYXRoICYmXG5cdFx0XHRcdFx0cGFyYW1ldGVyLlZhbHVlTGlzdFByb3BlcnR5ICYmXG5cdFx0XHRcdFx0cGFyYW1ldGVyLlZhbHVlTGlzdFByb3BlcnR5ICE9PSBwcm9wZXJ0eUlkXG5cdFx0XHRcdCk7XG5cdFx0XHR9KTtcblxuXHRcdFx0cmVsZXZhbnRQYXJhbWV0ZXJzLmZvckVhY2goKHBhcmFtZXRlcikgPT4ge1xuXHRcdFx0XHRjb25zdCBsb2NhbFZhbHVlID0gYmluZGluZ0NvbnRleHQuZ2V0UHJvcGVydHkocGFyYW1ldGVyLkxvY2FsRGF0YVByb3BlcnR5IS4kUHJvcGVydHlQYXRoKTtcblx0XHRcdFx0aWYgKGxvY2FsVmFsdWUgIT09IHVuZGVmaW5lZCAmJiBsb2NhbFZhbHVlICE9PSBudWxsICYmIGxvY2FsVmFsdWUgIT09IFwiXCIpIHtcblx0XHRcdFx0XHRmaWx0ZXJzLnB1c2goXG5cdFx0XHRcdFx0XHRuZXcgRmlsdGVyKHtcblx0XHRcdFx0XHRcdFx0cGF0aDogcGFyYW1ldGVyLlZhbHVlTGlzdFByb3BlcnR5LFxuXHRcdFx0XHRcdFx0XHRvcGVyYXRvcjogXCJFUVwiLFxuXHRcdFx0XHRcdFx0XHR2YWx1ZTE6IGxvY2FsVmFsdWVcblx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGZpbHRlcnM7XG5cdH0sXG5cblx0LyoqXG5cdCAqIE1ldGhvZCB0byByZXRyaWV2ZSB0ZXh0IGZyb20gdGhlIHZhbHVlIGxpc3QgZm9yIERhdGFGaWVsZC5cblx0ICogVGhpcyBpcyBhIGZvcm1hdHRlciBpbiBkaXNndWlzZS5cblx0ICogQHBhcmFtIHNQcm9wZXJ0eVZhbHVlIFRoZSBwcm9wZXJ0eSB2YWx1ZSBvZiB0aGUgZGF0YSBmaWVsZC5cblx0ICogQHBhcmFtIHNQcm9wZXJ0eUZ1bGxQYXRoIFRoZSBmdWxsIHBhdGggdG8gdGhlIHByb3BlcnR5IGluIHRoZSBtZXRhZGF0YS5cblx0ICogQHBhcmFtIHNEaXNwbGF5Rm9ybWF0IFRoZSBkaXNwbGF5IGZvcm1hdCBmb3IgdGhlIGRhdGEgZmllbGQuXG5cdCAqIEByZXR1cm5zIFRoZSBmb3JtYXR0ZWQgdmFsdWUgYmFzZWQgb24gdGhlIGRpc3BsYXkgZm9ybWF0LlxuXHQgKi9cblx0cmV0cmlldmVUZXh0RnJvbVZhbHVlTGlzdDogYXN5bmMgZnVuY3Rpb24gKFxuXHRcdHRoaXM6IENvbnRyb2wsXG5cdFx0c1Byb3BlcnR5VmFsdWU6IHN0cmluZyxcblx0XHRzUHJvcGVydHlGdWxsUGF0aDogc3RyaW5nLFxuXHRcdHNEaXNwbGF5Rm9ybWF0OiBzdHJpbmdcblx0KTogUHJvbWlzZTxzdHJpbmc+IHtcblx0XHRsZXQgc1RleHRQcm9wZXJ0eTogc3RyaW5nO1xuXHRcdGxldCBvTWV0YU1vZGVsO1xuXHRcdGxldCBzUHJvcGVydHlOYW1lOiBzdHJpbmc7XG5cdFx0aWYgKHNQcm9wZXJ0eVZhbHVlKSB7XG5cdFx0XHRvTWV0YU1vZGVsID0gKHRoaXMuZ2V0TW9kZWwoKT8uZ2V0TWV0YU1vZGVsKCkgYXMgT0RhdGFNZXRhTW9kZWwpIHx8IENvbW1vbkhlbHBlci5nZXRNZXRhTW9kZWwoKTtcblx0XHRcdHNQcm9wZXJ0eU5hbWUgPSBvTWV0YU1vZGVsLmdldE9iamVjdChgJHtzUHJvcGVydHlGdWxsUGF0aH1Ac2FwdWkubmFtZWApO1xuXHRcdFx0Y29uc3QgYmluZGluZ0NvbnRleHQgPSB0aGlzLmdldEJpbmRpbmdDb250ZXh0KCk7XG5cdFx0XHRyZXR1cm4gb01ldGFNb2RlbFxuXHRcdFx0XHQucmVxdWVzdFZhbHVlTGlzdEluZm8oc1Byb3BlcnR5RnVsbFBhdGgsIHRydWUpXG5cdFx0XHRcdC50aGVuKGZ1bmN0aW9uIChtVmFsdWVMaXN0SW5mbykge1xuXHRcdFx0XHRcdC8vIHRha2UgdGhlIFwiXCIgb25lIGlmIGV4aXN0cywgb3RoZXJ3aXNlIHRha2UgdGhlIGZpcnN0IG9uZSBpbiB0aGUgb2JqZWN0IFRPRE86IHRvIGJlIGRpc2N1c3NlZFxuXHRcdFx0XHRcdGNvbnN0IG9WYWx1ZUxpc3RJbmZvID0gbVZhbHVlTGlzdEluZm9bbVZhbHVlTGlzdEluZm9bXCJcIl0gPyBcIlwiIDogT2JqZWN0LmtleXMobVZhbHVlTGlzdEluZm8pWzBdXTtcblx0XHRcdFx0XHRjb25zdCBvVmFsdWVMaXN0TW9kZWwgPSBvVmFsdWVMaXN0SW5mby4kbW9kZWw7XG5cdFx0XHRcdFx0Y29uc3Qgb01ldGFNb2RlbFZhbHVlTGlzdCA9IG9WYWx1ZUxpc3RNb2RlbC5nZXRNZXRhTW9kZWwoKTtcblx0XHRcdFx0XHRjb25zdCBvUGFyYW1XaXRoS2V5ID0gb1ZhbHVlTGlzdEluZm8uUGFyYW1ldGVycy5maW5kKGZ1bmN0aW9uIChvUGFyYW1ldGVyOiB7XG5cdFx0XHRcdFx0XHRMb2NhbERhdGFQcm9wZXJ0eT86IHsgJFByb3BlcnR5UGF0aDogc3RyaW5nIH07XG5cdFx0XHRcdFx0fSkge1xuXHRcdFx0XHRcdFx0cmV0dXJuIG9QYXJhbWV0ZXIuTG9jYWxEYXRhUHJvcGVydHkgJiYgb1BhcmFtZXRlci5Mb2NhbERhdGFQcm9wZXJ0eS4kUHJvcGVydHlQYXRoID09PSBzUHJvcGVydHlOYW1lO1xuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdGlmIChvUGFyYW1XaXRoS2V5ICYmICFvUGFyYW1XaXRoS2V5LlZhbHVlTGlzdFByb3BlcnR5KSB7XG5cdFx0XHRcdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEluY29uc2lzdGVudCB2YWx1ZSBoZWxwIGFubm90YXRpb24gZm9yICR7c1Byb3BlcnR5TmFtZX1gKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Y29uc3Qgb1RleHRBbm5vdGF0aW9uID0gb01ldGFNb2RlbFZhbHVlTGlzdC5nZXRPYmplY3QoXG5cdFx0XHRcdFx0XHRgLyR7b1ZhbHVlTGlzdEluZm8uQ29sbGVjdGlvblBhdGh9LyR7b1BhcmFtV2l0aEtleS5WYWx1ZUxpc3RQcm9wZXJ0eX1AY29tLnNhcC52b2NhYnVsYXJpZXMuQ29tbW9uLnYxLlRleHRgXG5cdFx0XHRcdFx0KTtcblxuXHRcdFx0XHRcdGlmIChvVGV4dEFubm90YXRpb24gJiYgb1RleHRBbm5vdGF0aW9uLiRQYXRoKSB7XG5cdFx0XHRcdFx0XHRzVGV4dFByb3BlcnR5ID0gb1RleHRBbm5vdGF0aW9uLiRQYXRoO1xuXG5cdFx0XHRcdFx0XHRjb25zdCBmaWx0ZXJzID0gRmllbGRSdW50aW1lLmNyZWF0ZVZhbHVlTGlzdEZpbHRlcnMoXG5cdFx0XHRcdFx0XHRcdG9WYWx1ZUxpc3RJbmZvLFxuXHRcdFx0XHRcdFx0XHRvUGFyYW1XaXRoS2V5LlZhbHVlTGlzdFByb3BlcnR5LFxuXHRcdFx0XHRcdFx0XHRzUHJvcGVydHlWYWx1ZSxcblx0XHRcdFx0XHRcdFx0YmluZGluZ0NvbnRleHRcblx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0XHRjb25zdCBsaXN0QmluZGluZyA9IG9WYWx1ZUxpc3RNb2RlbC5iaW5kTGlzdChgLyR7b1ZhbHVlTGlzdEluZm8uQ29sbGVjdGlvblBhdGh9YCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGZpbHRlcnMsIHtcblx0XHRcdFx0XHRcdFx0JHNlbGVjdDogc1RleHRQcm9wZXJ0eVxuXHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gbGlzdEJpbmRpbmcucmVxdWVzdENvbnRleHRzKDAsIDIpO1xuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRzRGlzcGxheUZvcm1hdCA9IFwiVmFsdWVcIjtcblx0XHRcdFx0XHRcdHJldHVybiBzUHJvcGVydHlWYWx1ZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHRcdC50aGVuKGZ1bmN0aW9uIChhQ29udGV4dHM6IENvbnRleHRbXSkge1xuXHRcdFx0XHRcdGNvbnN0IHNEZXNjcmlwdGlvbiA9IHNUZXh0UHJvcGVydHkgPyBhQ29udGV4dHNbMF0/LmdldE9iamVjdCgpW3NUZXh0UHJvcGVydHldIDogXCJcIjtcblx0XHRcdFx0XHRpZiAoIXNEZXNjcmlwdGlvbikge1xuXHRcdFx0XHRcdFx0cmV0dXJuIHNQcm9wZXJ0eVZhbHVlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRzd2l0Y2ggKHNEaXNwbGF5Rm9ybWF0KSB7XG5cdFx0XHRcdFx0XHRjYXNlIFwiRGVzY3JpcHRpb25cIjpcblx0XHRcdFx0XHRcdFx0cmV0dXJuIHNEZXNjcmlwdGlvbiB8fCBzUHJvcGVydHlWYWx1ZTtcblx0XHRcdFx0XHRcdGNhc2UgXCJEZXNjcmlwdGlvblZhbHVlXCI6XG5cdFx0XHRcdFx0XHRcdHJldHVybiBMaWJyYXJ5LmdldFJlc291cmNlQnVuZGxlRm9yKFwic2FwLmZlLmNvcmVcIikhLmdldFRleHQoXCJDX0ZPUk1BVF9GT1JfVEVYVF9BUlJBTkdFTUVOVFwiLCBbXG5cdFx0XHRcdFx0XHRcdFx0c0Rlc2NyaXB0aW9uLFxuXHRcdFx0XHRcdFx0XHRcdHNQcm9wZXJ0eVZhbHVlXG5cdFx0XHRcdFx0XHRcdF0pO1xuXHRcdFx0XHRcdFx0Y2FzZSBcIlZhbHVlRGVzY3JpcHRpb25cIjpcblx0XHRcdFx0XHRcdFx0cmV0dXJuIExpYnJhcnkuZ2V0UmVzb3VyY2VCdW5kbGVGb3IoXCJzYXAuZmUuY29yZVwiKSEuZ2V0VGV4dChcIkNfRk9STUFUX0ZPUl9URVhUX0FSUkFOR0VNRU5UXCIsIFtcblx0XHRcdFx0XHRcdFx0XHRzUHJvcGVydHlWYWx1ZSxcblx0XHRcdFx0XHRcdFx0XHRzRGVzY3JpcHRpb25cblx0XHRcdFx0XHRcdFx0XSk7XG5cdFx0XHRcdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gc1Byb3BlcnR5VmFsdWU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KVxuXHRcdFx0XHQuY2F0Y2goZnVuY3Rpb24gKG9FcnJvcjogdW5rbm93bikge1xuXHRcdFx0XHRcdGNvbnN0IGVycm9yT2JqID0gb0Vycm9yIGFzIHsgc3RhdHVzOiBudW1iZXI7IG1lc3NhZ2U6IHN0cmluZyB9O1xuXHRcdFx0XHRcdGNvbnN0IHNNc2cgPVxuXHRcdFx0XHRcdFx0ZXJyb3JPYmouc3RhdHVzICYmIGVycm9yT2JqLnN0YXR1cyA9PT0gNDA0XG5cdFx0XHRcdFx0XHRcdD8gYE1ldGFkYXRhIG5vdCBmb3VuZCAoJHtlcnJvck9iai5zdGF0dXN9KSBmb3IgdmFsdWUgaGVscCBvZiBwcm9wZXJ0eSAke3NQcm9wZXJ0eUZ1bGxQYXRofWBcblx0XHRcdFx0XHRcdFx0OiBlcnJvck9iai5tZXNzYWdlO1xuXHRcdFx0XHRcdExvZy5lcnJvcihzTXNnKTtcblx0XHRcdFx0fSk7XG5cdFx0fVxuXHRcdHJldHVybiBzUHJvcGVydHlWYWx1ZTtcblx0fSxcblxuXHRkaXNwbGF5QWdncmVnYXRlRGV0YWlsczogYXN5bmMgZnVuY3Rpb24gKGV2ZW50OiBFdmVudCwgYWdncmVnYXRlZFByb3BlcnR5UGF0aD86IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuXHRcdGlmICghYWdncmVnYXRlZFByb3BlcnR5UGF0aCkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRjb25zdCBsaW5rID0gZXZlbnQuZ2V0U291cmNlPExpbms+KCk7XG5cdFx0Y29uc3QgYW5hbHl0aWNhbFRhYmxlID0gRlBNSGVscGVyLmdldE1kY1RhYmxlKGxpbmspITtcblxuXHRcdGNvbnN0IHBvcG92ZXJJZCA9IGAke2FuYWx5dGljYWxUYWJsZS5nZXRJZCgpfS1tdWx0aVVuaXRQb3BvdmVyYDtcblx0XHRpZiAoYW5hbHl0aWNhbFRhYmxlLmdldERlcGVuZGVudHMoKS5zb21lKChkZXBlbmRlbnQpID0+IGRlcGVuZGVudC5nZXRJZCgpID09PSBwb3BvdmVySWQpKSB7XG5cdFx0XHQvLyBQb3BvdmVyIGlzIGFscmVhZHkgb3BlbiBmb3IgdGhlIHNhbWUgbGluayAob3RoZXJ3aXNlIHRoZSBkZXBlbmRlbnQgd291bGQgaGF2ZSBiZWVuIHJlbW92ZWQgYW5kIGRlc3Ryb3llZCBvbiBjbG9zZSlcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRjb25zdCByb3dDb250ZXh0ID0gbGluay5nZXRCaW5kaW5nQ29udGV4dCgpIGFzIENvbnRleHQ7XG5cdFx0Y29uc3QgdGFibGVSb3dCaW5kaW5nID0gcm93Q29udGV4dC5nZXRCaW5kaW5nKCkgYXMgT0RhdGFMaXN0QmluZGluZztcblxuXHRcdC8vIEdldCB0aGUgZmlsdGVycyBjb3JyZXNwb25kaW5nIHRvIHRoZSB0b3RhbCByb3dcblx0XHRjb25zdCByb3dDb250ZXh0RGF0YSA9IHJvd0NvbnRleHQuZ2V0T2JqZWN0KCk7XG5cdFx0Y29uc3Qgcm93U3BlY2lmaWNGaWx0ZXI6IEZpbHRlcltdID0gW107XG5cdFx0Y29uc3Qgcm93RmlsdGVyID0gcm93Q29udGV4dC5nZXRGaWx0ZXIoKTtcblx0XHRpZiAocm93RmlsdGVyKSB7XG5cdFx0XHRyb3dTcGVjaWZpY0ZpbHRlci5wdXNoKHJvd0ZpbHRlcik7XG5cdFx0fVxuXG5cdFx0Ly8gQWRkIHRoZSBmaWx0ZXJzIGFwcGxpZWQgdG8gdGhlIG9yaWdpbmFsIHRhYmxlXG5cdFx0Y29uc3QgYWxsRmlsdGVycyA9IHJvd1NwZWNpZmljRmlsdGVyLmNvbmNhdCh0YWJsZVJvd0JpbmRpbmcuZ2V0RmlsdGVycyhcIkFwcGxpY2F0aW9uXCIpLCB0YWJsZVJvd0JpbmRpbmcuZ2V0RmlsdGVycyhcIkNvbnRyb2xcIikpO1xuXG5cdFx0Ly8gQ2FsY3VsYXRlICQkYWdncmVnYXRpb24gcGFyYW1ldGVycyBmb3IgdGhlIHRhYmxlIGluIHRoZSBwb3BvdmVyIChhZ2dyZWdhdGUgYW1vdW50LCBncm91cCBieSBjdXJyZW5jeS91bml0KVxuXHRcdGNvbnN0IGFnZ3JlZ2F0aW9uID0gdGFibGVSb3dCaW5kaW5nLmdldEFnZ3JlZ2F0aW9uKCkgYXMge1xuXHRcdFx0Z3JvdXA6IFJlY29yZDxzdHJpbmcsIG9iamVjdD47XG5cdFx0XHRhZ2dyZWdhdGU6IFJlY29yZDxzdHJpbmcsIHsgdW5pdDogc3RyaW5nIH0+O1xuXHRcdFx0c2VhcmNoPzogc3RyaW5nO1xuXHRcdH07XG5cdFx0Y29uc3QgdW5pdE9yQ3VycmVuY3lOYW1lID0gYWdncmVnYXRpb24uYWdncmVnYXRlW2FnZ3JlZ2F0ZWRQcm9wZXJ0eVBhdGhdLnVuaXQ7XG5cdFx0Y29uc3QgZ3JvdXA6IFJlY29yZDxzdHJpbmcsIG9iamVjdD4gPSB7fTtcblx0XHRncm91cFt1bml0T3JDdXJyZW5jeU5hbWVdID0ge307XG5cdFx0Y29uc3QgYWdncmVnYXRlOiBSZWNvcmQ8c3RyaW5nLCBvYmplY3Q+ID0ge307XG5cdFx0YWdncmVnYXRlW2FnZ3JlZ2F0ZWRQcm9wZXJ0eVBhdGhdID0geyBncmFuZFRvdGFsOiBmYWxzZSwgc3VidG90YWxzOiBmYWxzZSwgdW5pdDogdW5pdE9yQ3VycmVuY3lOYW1lIH07XG5cblx0XHQvLyBUaGUgaXRlbSBkaXNwbGF5ZWQgaW4gdGhlIHRhYmxlIGluIHRoZSBwb3BvdmVyIGlzIGEgY29weSBvZiB0aGUgaXRlbSBkaXNwbGF5ZWQgaW4gdGhlIHRhYmxlXG5cdFx0Y29uc3QgdGFibGVJdGVtID0gbGluay5nZXREZXBlbmRlbnRzKClbMF0uY2xvbmUoKTtcblx0XHRjb25zdCBjdXJyZW5jeU9yUXVhbnRpdHlFbmFibGVkTGF5b3V0ID0gbmV3IEhCb3goe1xuXHRcdFx0cmVuZGVyVHlwZTogXCJCYXJlXCIsXG5cdFx0XHRqdXN0aWZ5Q29udGVudDogXCJFbmRcIixcblx0XHRcdGl0ZW1zOiBbdGFibGVJdGVtXVxuXHRcdH0gYXMgJEhCb3hTZXR0aW5ncyk7XG5cblx0XHRjb25zdCBhZ2dyZWdhdGlvblBhcmFtZXRlcnM6IHtcblx0XHRcdGdyb3VwOiBSZWNvcmQ8c3RyaW5nLCBvYmplY3Q+O1xuXHRcdFx0YWdncmVnYXRlOiBSZWNvcmQ8c3RyaW5nLCBvYmplY3Q+O1xuXHRcdFx0c2VhcmNoPzogc3RyaW5nO1xuXHRcdH0gPSB7IGdyb3VwLCBhZ2dyZWdhdGUgfTtcblx0XHRpZiAoYWdncmVnYXRpb24uc2VhcmNoKSB7XG5cdFx0XHRhZ2dyZWdhdGlvblBhcmFtZXRlcnMuc2VhcmNoID0gYWdncmVnYXRpb24uc2VhcmNoO1xuXHRcdH1cblxuXHRcdGNvbnN0IG9JdGVtc0JpbmRpbmdJbmZvID0ge1xuXHRcdFx0cGF0aDogdGFibGVSb3dCaW5kaW5nLmdldFJlc29sdmVkUGF0aCgpLFxuXHRcdFx0ZmlsdGVyczogYWxsRmlsdGVycyxcblx0XHRcdHBhcmFtZXRlcnM6IHtcblx0XHRcdFx0JCRhZ2dyZWdhdGlvbjogYWdncmVnYXRpb25QYXJhbWV0ZXJzXG5cdFx0XHR9LFxuXHRcdFx0c29ydGVyOiBuZXcgU29ydGVyKHVuaXRPckN1cnJlbmN5TmFtZSwgZmFsc2UpIC8vIE9yZGVyIGJ5IGN1cnJlbmN5XG5cdFx0fTtcblxuXHRcdGNvbnN0IGlzUG9wb3ZlckZvckdyYW5kVG90YWwgPSByb3dDb250ZXh0RGF0YVtcIkAkdWk1Lm5vZGUubGV2ZWxcIl0gPT09IDA7XG5cdFx0Y29uc3QgcG9wb3ZlcjogUmVzcG9uc2l2ZVBvcG92ZXIgPSBhd2FpdCBVdGlsLmNyZWF0ZU9yVXBkYXRlTXVsdGlVbml0UG9wb3Zlcihwb3BvdmVySWQsIHtcblx0XHRcdGNvbnRyb2w6IGFuYWx5dGljYWxUYWJsZSxcblx0XHRcdGdyYW5kVG90YWw6IGlzUG9wb3ZlckZvckdyYW5kVG90YWwsXG5cdFx0XHRpdGVtc0JpbmRpbmdJbmZvOiBvSXRlbXNCaW5kaW5nSW5mbyxcblx0XHRcdGxpc3RJdGVtQ29udGVudFRlbXBsYXRlOiBjdXJyZW5jeU9yUXVhbnRpdHlFbmFibGVkTGF5b3V0XG5cdFx0fSk7XG5cdFx0YW5hbHl0aWNhbFRhYmxlLmFkZERlcGVuZGVudChwb3BvdmVyKTtcblxuXHRcdGNvbnN0IGZuT25DbG9zZSA9ICgpOiB2b2lkID0+IHtcblx0XHRcdGFuYWx5dGljYWxUYWJsZS5yZW1vdmVEZXBlbmRlbnQocG9wb3Zlcik7XG5cdFx0XHRwb3BvdmVyLmRldGFjaEV2ZW50KFwiYWZ0ZXJDbG9zZVwiLCBmbk9uQ2xvc2UpO1xuXHRcdFx0cG9wb3Zlci5kZXN0cm95KCk7XG5cdFx0fTtcblx0XHRwb3BvdmVyLmF0dGFjaEV2ZW50KFwiYWZ0ZXJDbG9zZVwiLCBmbk9uQ2xvc2UpO1xuXHRcdHBvcG92ZXIub3BlbkJ5KGxpbmspO1xuXHR9XG59O1xuXG5PYmplY3RQYXRoLnNldChcInNhcC5mZS5tYWNyb3MuZmllbGQuRmllbGRSdW50aW1lXCIsIEZpZWxkUnVudGltZSk7XG5cbmV4cG9ydCBkZWZhdWx0IEZpZWxkUnVudGltZTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztFQXdCQTtBQUNBO0FBQ0E7QUFDQTtFQUNBLE1BQU1BLFlBQVksR0FBRztJQUNwQkMsY0FBYyxFQUFFLENBQUMsQ0FBNEQ7SUFDN0VDLG1CQUFtQixFQUFFLEtBQUs7SUFFMUI7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0lBQ0NDLHVCQUF1QixFQUFFLFNBQUFBLENBQ3hCQyxhQUFxQixFQUNyQkMsNkJBQXFDLEVBQ3JDQyxjQUF3QixFQUN4QkMsY0FBd0IsRUFDeEJDLGFBQXVCLEVBQ2I7TUFDVixJQUFJRCxjQUFjLEtBQUtFLFNBQVMsSUFBSUgsY0FBYyxLQUFLRyxTQUFTLEtBQUssQ0FBQ0YsY0FBYyxJQUFJRCxjQUFjLENBQUMsSUFBSSxDQUFDRSxhQUFhLEVBQUU7UUFDMUgsT0FBT0osYUFBYSxLQUFLQyw2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
|
|
@@ -226,6 +226,12 @@ const FieldRuntime = {
|
|
|
226
226
|
const link = event.getSource<Link>();
|
|
227
227
|
const analyticalTable = FPMHelper.getMdcTable(link)!;
|
|
228
228
|
|
|
229
|
+
const popoverId = `${analyticalTable.getId()}-multiUnitPopover`;
|
|
230
|
+
if (analyticalTable.getDependents().some((dependent) => dependent.getId() === popoverId)) {
|
|
231
|
+
// Popover is already open for the same link (otherwise the dependent would have been removed and destroyed on close)
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
|
|
229
235
|
const rowContext = link.getBindingContext() as Context;
|
|
230
236
|
const tableRowBinding = rowContext.getBinding() as ODataListBinding;
|
|
231
237
|
|
|
@@ -279,7 +285,7 @@ const FieldRuntime = {
|
|
|
279
285
|
};
|
|
280
286
|
|
|
281
287
|
const isPopoverForGrandTotal = rowContextData["@$ui5.node.level"] === 0;
|
|
282
|
-
const popover: ResponsivePopover = await Util.createOrUpdateMultiUnitPopover(
|
|
288
|
+
const popover: ResponsivePopover = await Util.createOrUpdateMultiUnitPopover(popoverId, {
|
|
283
289
|
control: analyticalTable,
|
|
284
290
|
grandTotal: isPopoverForGrandTotal,
|
|
285
291
|
itemsBindingInfo: oItemsBindingInfo,
|