@sapui5/sap.fe.test 1.127.2 → 1.129.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/test/.library +1 -1
- package/src/sap/fe/test/AppStateAdapter.js +1 -1
- package/src/sap/fe/test/BaseActions.js +0 -7
- package/src/sap/fe/test/BaseArrangements.js +0 -7
- package/src/sap/fe/test/BaseAssertions.js +0 -5
- package/src/sap/fe/test/CollaborationClient.js +1 -1
- package/src/sap/fe/test/FeMocks.js +1 -1
- package/src/sap/fe/test/Flexibility.js +2 -7
- package/src/sap/fe/test/JestFlexibilityHelper.js +1 -1
- package/src/sap/fe/test/JestTemplatingHelper.js +3 -12
- package/src/sap/fe/test/JestTemplatingHelper.tsx +2 -10
- package/src/sap/fe/test/JourneyRunner.js +0 -9
- package/src/sap/fe/test/ListReport.js +0 -14
- package/src/sap/fe/test/ObjectPage.js +144 -60
- package/src/sap/fe/test/Shell.js +0 -7
- package/src/sap/fe/test/TemplatePage.js +0 -17
- package/src/sap/fe/test/TemplatingTestUtils.js +0 -1
- package/src/sap/fe/test/UI5MockHelper.js +9 -18
- package/src/sap/fe/test/UI5MockHelper.ts +5 -16
- package/src/sap/fe/test/api/BaseAPI.js +0 -15
- package/src/sap/fe/test/api/ChartActions.js +0 -2
- package/src/sap/fe/test/api/ChartAssertions.js +0 -1
- package/src/sap/fe/test/api/CollaborationAPI.js +2 -10
- package/src/sap/fe/test/api/CollaborationAPI.ts +2 -9
- package/src/sap/fe/test/api/DialogAPI.js +0 -2
- package/src/sap/fe/test/api/DialogActions.js +0 -7
- package/src/sap/fe/test/api/DialogAssertions.js +0 -6
- package/src/sap/fe/test/api/DialogCreateActions.js +0 -2
- package/src/sap/fe/test/api/DialogCreateAssertions.js +0 -2
- package/src/sap/fe/test/api/DialogHelper.js +0 -1
- package/src/sap/fe/test/api/DialogMassEditActions.js +0 -4
- package/src/sap/fe/test/api/DialogMassEditAssertions.js +0 -5
- package/src/sap/fe/test/api/DialogMessageActions.js +0 -4
- package/src/sap/fe/test/api/DialogMessageAssertions.js +0 -4
- package/src/sap/fe/test/api/DialogType.js +0 -8
- package/src/sap/fe/test/api/DialogValueHelpActions.js +0 -12
- package/src/sap/fe/test/api/DialogValueHelpAssertions.js +0 -9
- package/src/sap/fe/test/api/EditState.js +0 -7
- package/src/sap/fe/test/api/FilterBarAPI.js +0 -6
- package/src/sap/fe/test/api/FilterBarActions.js +0 -12
- package/src/sap/fe/test/api/FilterBarAssertions.js +0 -10
- package/src/sap/fe/test/api/FooterAPI.js +0 -1
- package/src/sap/fe/test/api/FooterActionsBase.js +0 -2
- package/src/sap/fe/test/api/FooterActionsOP.js +0 -5
- package/src/sap/fe/test/api/FooterAssertionsBase.js +0 -3
- package/src/sap/fe/test/api/FooterAssertionsOP.js +0 -6
- package/src/sap/fe/test/api/FormAPI.js +0 -2
- package/src/sap/fe/test/api/FormActions.js +0 -8
- package/src/sap/fe/test/api/FormAssertions.js +0 -7
- package/src/sap/fe/test/api/HeaderAPI.js +0 -8
- package/src/sap/fe/test/api/HeaderActions.js +0 -14
- package/src/sap/fe/test/api/HeaderActionsLR.js +0 -4
- package/src/sap/fe/test/api/HeaderAssertions.js +0 -21
- package/src/sap/fe/test/api/HeaderAssertionsLR.js +0 -4
- package/src/sap/fe/test/api/HeaderLR.js +0 -2
- package/src/sap/fe/test/api/KPICardAPI.js +0 -1
- package/src/sap/fe/test/api/KPICardActions.js +0 -2
- package/src/sap/fe/test/api/KPICardAssertions.js +0 -8
- package/src/sap/fe/test/api/TableAPI.js +1 -14
- package/src/sap/fe/test/api/TableActions.js +0 -36
- package/src/sap/fe/test/api/TableAssertions.js +0 -28
- package/src/sap/fe/test/builder/FEBuilder.js +0 -5
- package/src/sap/fe/test/builder/KPIBuilder.js +0 -6
- package/src/sap/fe/test/builder/MacroFieldBuilder.js +0 -1
- package/src/sap/fe/test/builder/MdcFieldBuilder.js +0 -6
- package/src/sap/fe/test/builder/MdcFilterFieldBuilder.js +0 -2
- package/src/sap/fe/test/builder/MdcTableBuilder.js +2 -5
- package/src/sap/fe/test/builder/OverflowToolbarBuilder.js +12 -8
- package/src/sap/fe/test/builder/VMBuilder.js +0 -6
- package/src/sap/fe/test/internal/ConsoleErrorChecker.js +1 -1
- package/src/sap/fe/test/internal/FEArrangements.js +0 -1
- package/src/sap/fe/test/library.js +2 -3
- package/src/sap/fe/test/library.ts +0 -1
|
@@ -83,7 +83,6 @@ sap.ui.define(
|
|
|
83
83
|
/**
|
|
84
84
|
* Returns the matcher for states, which might be control specific. This function is meant to be overridden
|
|
85
85
|
* by concrete control builder if necessary.
|
|
86
|
-
*
|
|
87
86
|
* @param {any} mState
|
|
88
87
|
* @returns {Function} The state matcher function
|
|
89
88
|
* @protected
|
|
@@ -302,7 +301,6 @@ sap.ui.define(
|
|
|
302
301
|
/**
|
|
303
302
|
* Creates a matcher function that is identifying a control by id.
|
|
304
303
|
* The result will be true in case of the string was found, otherwise false.
|
|
305
|
-
*
|
|
306
304
|
* @param {string|RegExp} vId The string/RegExp to be used for identifying the control
|
|
307
305
|
* @returns {Function} The matcher function returning true/false
|
|
308
306
|
* @public
|
|
@@ -320,7 +318,6 @@ sap.ui.define(
|
|
|
320
318
|
/**
|
|
321
319
|
* Creates a matcher function that is identifying a control by type.
|
|
322
320
|
* The result will be true in case of the string was found, otherwise false.
|
|
323
|
-
*
|
|
324
321
|
* @param {string|RegExp} vType The string/RegExp to be used for identifying the control
|
|
325
322
|
* @returns {Function} The matcher function returning true/false
|
|
326
323
|
* @public
|
|
@@ -337,7 +334,6 @@ sap.ui.define(
|
|
|
337
334
|
},
|
|
338
335
|
/**
|
|
339
336
|
* Creates a matcher that returns the element at <code>iIndex</code> from input array.
|
|
340
|
-
*
|
|
341
337
|
* @param {number} iIndex The index of the element to be returned
|
|
342
338
|
* @returns {Function} The matcher function returning element at given index
|
|
343
339
|
*/
|
|
@@ -389,7 +385,6 @@ sap.ui.define(
|
|
|
389
385
|
},
|
|
390
386
|
/**
|
|
391
387
|
* Supports an aggregation path to deeper aggregations like "actions/action" or "content/items/control".
|
|
392
|
-
*
|
|
393
388
|
* @param {string} sAggregationPath The aggregation path
|
|
394
389
|
* @param {any} [vMatchers] Matchers against target controls
|
|
395
390
|
* @returns {function(*): *} A matcher function that returns always an array with matching controls
|
|
@@ -20,7 +20,6 @@ sap.ui.define(["./FEBuilder", "sap/ui/test/OpaBuilder", "sap/fe/test/Utils"], fu
|
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
22
|
* Checks if a KPI tag exists with a given label and other optional properties.
|
|
23
|
-
*
|
|
24
23
|
* @param {string} sKPILabel The label of the KPI
|
|
25
24
|
* @param {object} oKPIProperties Additional optional properties on the KPI (status, number, or unit)
|
|
26
25
|
* @returns {sap.fe.test.builder.KPIBuilder} This instance
|
|
@@ -51,7 +50,6 @@ sap.ui.define(["./FEBuilder", "sap/ui/test/OpaBuilder", "sap/fe/test/Utils"], fu
|
|
|
51
50
|
|
|
52
51
|
/**
|
|
53
52
|
* Clicks on a KPI tag to open the card.
|
|
54
|
-
*
|
|
55
53
|
* @param {string} sKPILabel The label of the KPI
|
|
56
54
|
* @returns {sap.fe.test.builder.KPIBuilder} This instance
|
|
57
55
|
* @private
|
|
@@ -64,7 +62,6 @@ sap.ui.define(["./FEBuilder", "sap/ui/test/OpaBuilder", "sap/fe/test/Utils"], fu
|
|
|
64
62
|
|
|
65
63
|
/**
|
|
66
64
|
* Checks if a KPI Card is displayed.
|
|
67
|
-
*
|
|
68
65
|
* @returns {sap.fe.test.builder.KPIBuilder} This instance
|
|
69
66
|
* @private
|
|
70
67
|
*/
|
|
@@ -74,7 +71,6 @@ sap.ui.define(["./FEBuilder", "sap/ui/test/OpaBuilder", "sap/fe/test/Utils"], fu
|
|
|
74
71
|
|
|
75
72
|
/**
|
|
76
73
|
* Clicks on the KPI card header.
|
|
77
|
-
*
|
|
78
74
|
* @returns {sap.fe.test.builder.KPIBuilder} This instance
|
|
79
75
|
*/
|
|
80
76
|
KPIBuilder.prototype.doClickKPICardHeader = function () {
|
|
@@ -83,7 +79,6 @@ sap.ui.define(["./FEBuilder", "sap/ui/test/OpaBuilder", "sap/fe/test/Utils"], fu
|
|
|
83
79
|
|
|
84
80
|
/**
|
|
85
81
|
* Applies a matcher to the content of the card header.
|
|
86
|
-
*
|
|
87
82
|
* @param {sap.ui.test.matchers.Matcher} vMatcher The matcher to filter child items
|
|
88
83
|
* @param {boolean} bDirectChild Specifies if the matcher should be applied only to direct children or all descendants
|
|
89
84
|
* @returns {sap.fe.test.builder.KPIBuilder} This instance
|
|
@@ -96,7 +91,6 @@ sap.ui.define(["./FEBuilder", "sap/ui/test/OpaBuilder", "sap/fe/test/Utils"], fu
|
|
|
96
91
|
|
|
97
92
|
/**
|
|
98
93
|
* Applies a matcher to the card chart.
|
|
99
|
-
*
|
|
100
94
|
* @param {sap.ui.test.matchers.Matcher} vMatcher The matcher to be applied to the chart
|
|
101
95
|
* @returns {sap.fe.test.builder.KPIBuilder} This instance
|
|
102
96
|
*/
|
|
@@ -15,7 +15,6 @@ sap.ui.define(
|
|
|
15
15
|
* This function checks whether the expected value is fulfilled by the checked value.
|
|
16
16
|
* Both values can be either an array or a single element.
|
|
17
17
|
* In case of arrays, the it checks the second parameter to start with the same vales as the expected value array.
|
|
18
|
-
*
|
|
19
18
|
* @param {any} vExpectedValue
|
|
20
19
|
* @param {any} vValueToCheck
|
|
21
20
|
* @returns {boolean} `true` if expected values are met, `false` else
|
|
@@ -32,7 +31,6 @@ sap.ui.define(
|
|
|
32
31
|
|
|
33
32
|
/**
|
|
34
33
|
* This function checks the current value against expected values with respect to the display type.
|
|
35
|
-
*
|
|
36
34
|
* @param {sap.ui.mdc.enums.FieldDisplay} sDisplay The type of display
|
|
37
35
|
* @param {any} oExpectedValue
|
|
38
36
|
* @param {any} oExpectedDescription
|
|
@@ -113,7 +111,6 @@ sap.ui.define(
|
|
|
113
111
|
|
|
114
112
|
/**
|
|
115
113
|
* Checks for certain condition value(s).
|
|
116
|
-
*
|
|
117
114
|
* @param {string|object|Array} [vValue] The expected value(s)
|
|
118
115
|
* @param {string} [sOperator] The expected operator
|
|
119
116
|
* @returns {sap.fe.test.builder.FieldBuilder} `this`
|
|
@@ -130,7 +127,6 @@ sap.ui.define(
|
|
|
130
127
|
|
|
131
128
|
/**
|
|
132
129
|
* Changes the value of the field.
|
|
133
|
-
*
|
|
134
130
|
* @param {string} vValue The new value
|
|
135
131
|
* @returns {sap.fe.test.builder.FieldBuilder} `this`
|
|
136
132
|
* @public
|
|
@@ -146,7 +142,6 @@ sap.ui.define(
|
|
|
146
142
|
|
|
147
143
|
/**
|
|
148
144
|
* Returns the state matcher for the MdcField control.
|
|
149
|
-
*
|
|
150
145
|
* @param {any} mState
|
|
151
146
|
* @returns {*} The state matcher.
|
|
152
147
|
* @protected
|
|
@@ -179,7 +174,6 @@ sap.ui.define(
|
|
|
179
174
|
},
|
|
180
175
|
/**
|
|
181
176
|
* Returns a matcher function that checks a field for given condition value(s) and operator (optional).
|
|
182
|
-
*
|
|
183
177
|
* @param {string|object|Array} vExpectedValue The expected value
|
|
184
178
|
* @param {string} [sOperator] The operator of the condition
|
|
185
179
|
* @returns {function(*=): *|boolean} The matcher function.
|
|
@@ -20,7 +20,6 @@ sap.ui.define(["./MdcFieldBuilder", "sap/fe/test/Utils"], function (FieldBuilder
|
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
22
|
* Checks for certain condition value(s).
|
|
23
|
-
*
|
|
24
23
|
* @param {string|Array} [vValue] The expected value(s)
|
|
25
24
|
* @param {string} [sOperator] The expected operator
|
|
26
25
|
* @returns {sap.fe.test.builder.FilterFieldBuilder} `this`
|
|
@@ -33,7 +32,6 @@ sap.ui.define(["./MdcFieldBuilder", "sap/fe/test/Utils"], function (FieldBuilder
|
|
|
33
32
|
|
|
34
33
|
/**
|
|
35
34
|
* Changes the value of the filter field.
|
|
36
|
-
*
|
|
37
35
|
* @param {string} vValue The new value
|
|
38
36
|
* @param {boolean} bClearFirst
|
|
39
37
|
* @returns {sap.fe.test.builder.FilterFieldBuilder} `this`
|
|
@@ -42,21 +42,18 @@ sap.ui.define(
|
|
|
42
42
|
var RowActionType = {
|
|
43
43
|
/**
|
|
44
44
|
* Custom defined Row Action.
|
|
45
|
-
*
|
|
46
45
|
* @public
|
|
47
46
|
*/
|
|
48
47
|
Custom: "Custom",
|
|
49
48
|
|
|
50
49
|
/**
|
|
51
50
|
* Navigation Row Action.
|
|
52
|
-
*
|
|
53
51
|
* @public
|
|
54
52
|
*/
|
|
55
53
|
Navigation: "Navigation",
|
|
56
54
|
|
|
57
55
|
/**
|
|
58
56
|
* Delete Row Action.
|
|
59
|
-
*
|
|
60
57
|
* @public
|
|
61
58
|
*/
|
|
62
59
|
Delete: "Delete"
|
|
@@ -517,12 +514,12 @@ sap.ui.define(
|
|
|
517
514
|
.isDialogElement()
|
|
518
515
|
.hasType("sap.m.CustomListItem")
|
|
519
516
|
.hasChildren(
|
|
520
|
-
OpaBuilder.create(this).hasType("sap.m.ComboBox").hasProperties({ placeholder: "Sort
|
|
517
|
+
OpaBuilder.create(this).hasType("sap.m.ComboBox").hasProperties({ placeholder: "Sort By" }).hasProperties({ value: "" })
|
|
521
518
|
)
|
|
522
519
|
.doOnChildren(
|
|
523
520
|
OpaBuilder.create(this)
|
|
524
521
|
.hasType("sap.m.ComboBox")
|
|
525
|
-
.hasProperties({ placeholder: "Sort
|
|
522
|
+
.hasProperties({ placeholder: "Sort By" })
|
|
526
523
|
.hasProperties({ value: "" })
|
|
527
524
|
.doEnterText(sFieldName, true, false, true)
|
|
528
525
|
)
|
|
@@ -57,10 +57,10 @@ sap.ui.define(
|
|
|
57
57
|
OverflowToolbarBuilder.prototype.doOnContent = function (vContentMatcher, vContentAction) {
|
|
58
58
|
var oOverflowToolbarBuilder = new FEBuilder(this.getOpaInstance(), this.build()).hasType("sap.m.OverflowToolbar"),
|
|
59
59
|
fnMatcherIsTextButton = function (oControl) {
|
|
60
|
-
if (oControl.isA("sap.fe.macros.ShareAPI")) {
|
|
61
|
-
// ShareAPI
|
|
62
|
-
// text property is on the MenuButton which is inside the shareAPI
|
|
63
|
-
// so we get the
|
|
60
|
+
if (oControl.isA("sap.fe.macros.ShareAPI") || oControl.isA("sap.fe.macros.DraftToggle")) {
|
|
61
|
+
// ShareAPI and DraftToggle don't have a text property
|
|
62
|
+
// text property is on the MenuButton which is inside the shareAPI, and on the Button inside DraftToggle BB
|
|
63
|
+
// so we get the control's content
|
|
64
64
|
return !!oControl.getContent().getText;
|
|
65
65
|
} else {
|
|
66
66
|
return !!oControl.getText;
|
|
@@ -89,8 +89,8 @@ sap.ui.define(
|
|
|
89
89
|
})
|
|
90
90
|
.do(function (oOverflowToolbar) {
|
|
91
91
|
var oToolbarButton = fnDeepAggregation(oOverflowToolbar)[0];
|
|
92
|
-
if (oToolbarButton.isA("sap.fe.macros.ShareAPI")) {
|
|
93
|
-
// MenuButton is inside the shareAPI so we do getContent
|
|
92
|
+
if (oToolbarButton.isA("sap.fe.macros.ShareAPI") || oToolbarButton.isA("sap.fe.macros.DraftToggle")) {
|
|
93
|
+
// MenuButton is inside the shareAPI and Button is inside DraftToggle BB so we do getContent
|
|
94
94
|
oToolbarButton = oToolbarButton.getContent();
|
|
95
95
|
}
|
|
96
96
|
var oButtonForAction =
|
|
@@ -117,11 +117,15 @@ sap.ui.define(
|
|
|
117
117
|
OpaBuilder.Matchers.not(
|
|
118
118
|
OpaBuilder.Matchers.aggregationMatcher("content", [vContentMatcher, FEBuilder.Matchers.states(mState)])
|
|
119
119
|
),
|
|
120
|
-
// for shareAPI look into the child menuButton
|
|
120
|
+
// for shareAPI and draftToggle look into the child (menuButton or Button)
|
|
121
121
|
OpaBuilder.Matchers.children(OpaBuilder.Matchers.match([vContentMatcher, FEBuilder.Matchers.states(mState)]))
|
|
122
122
|
);
|
|
123
123
|
} else {
|
|
124
|
-
oOverflowToolbarBuilder.
|
|
124
|
+
oOverflowToolbarBuilder.hasSome(
|
|
125
|
+
OpaBuilder.Matchers.aggregationMatcher("content", aMatchers),
|
|
126
|
+
// for DraftToggle look into child button
|
|
127
|
+
OpaBuilder.Matchers.children(OpaBuilder.Matchers.match([vContentMatcher, FEBuilder.Matchers.states(mState)]))
|
|
128
|
+
);
|
|
125
129
|
}
|
|
126
130
|
return this.doOpenOverflow().success(oOverflowToolbarBuilder);
|
|
127
131
|
};
|
|
@@ -20,7 +20,6 @@ sap.ui.define(["./FEBuilder", "sap/ui/test/OpaBuilder", "sap/fe/test/Utils"], fu
|
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
22
|
* Saves a variant under given name.
|
|
23
|
-
*
|
|
24
23
|
* @param {string} sVariantName The name of the new variant
|
|
25
24
|
* @param {boolean} bSetAsDefault
|
|
26
25
|
* @param {boolean} bApplyAutomatically
|
|
@@ -76,7 +75,6 @@ sap.ui.define(["./FEBuilder", "sap/ui/test/OpaBuilder", "sap/fe/test/Utils"], fu
|
|
|
76
75
|
|
|
77
76
|
/**
|
|
78
77
|
* Saves the current variant.
|
|
79
|
-
*
|
|
80
78
|
* @returns {sap.fe.test.builder.VMBuilder} This instance
|
|
81
79
|
* @public
|
|
82
80
|
* @ui5-restricted
|
|
@@ -97,7 +95,6 @@ sap.ui.define(["./FEBuilder", "sap/ui/test/OpaBuilder", "sap/fe/test/Utils"], fu
|
|
|
97
95
|
|
|
98
96
|
/**
|
|
99
97
|
* Select a variant under given name.
|
|
100
|
-
*
|
|
101
98
|
* @param {string} sVariantName The name of the variant to select
|
|
102
99
|
* @returns {sap.fe.test.builder.VMBuilder} This instance
|
|
103
100
|
* @public
|
|
@@ -122,7 +119,6 @@ sap.ui.define(["./FEBuilder", "sap/ui/test/OpaBuilder", "sap/fe/test/Utils"], fu
|
|
|
122
119
|
|
|
123
120
|
/**
|
|
124
121
|
* Removes a variant under given name.
|
|
125
|
-
*
|
|
126
122
|
* @param {string} sVariantName The name of the variant to remove
|
|
127
123
|
* @returns {sap.fe.test.builder.VMBuilder} This instance
|
|
128
124
|
* @public
|
|
@@ -170,7 +166,6 @@ sap.ui.define(["./FEBuilder", "sap/ui/test/OpaBuilder", "sap/fe/test/Utils"], fu
|
|
|
170
166
|
|
|
171
167
|
/**
|
|
172
168
|
* Selects a variant as the default.
|
|
173
|
-
*
|
|
174
169
|
* @param {string} sVariantName The name of the variant to be set as default
|
|
175
170
|
* @returns {sap.fe.test.builder.VMBuilder} `this` instance
|
|
176
171
|
* @public
|
|
@@ -211,7 +206,6 @@ sap.ui.define(["./FEBuilder", "sap/ui/test/OpaBuilder", "sap/fe/test/Utils"], fu
|
|
|
211
206
|
|
|
212
207
|
/**
|
|
213
208
|
* Resets the default variant to Standard.
|
|
214
|
-
*
|
|
215
209
|
* @returns {sap.fe.test.builder.VMBuilder} `this` instance
|
|
216
210
|
* @public
|
|
217
211
|
* @ui5-restricted
|
|
@@ -193,4 +193,4 @@ sap.ui.define([], function () {
|
|
|
193
193
|
}();
|
|
194
194
|
return ConsoleErrorChecker.getInstance(window);
|
|
195
195
|
}, false);
|
|
196
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ3cmFwUGF0dGVybnMiLCJwYXR0ZXJuIiwiUmVnRXhwIiwibWVzc2FnZSIsIm1hdGNoIiwiaW5jbHVkZXMiLCJHTE9CQUxMWV9BQ0NFUFRFRF9FUlJPUlMiLCJtYXAiLCJDb25zb2xlRXJyb3JDaGVja2VyIiwid2luZG93IiwibWF0Y2hlcnMiLCJtZXNzYWdlcyIsIm9ic2VydmVyIiwiTXV0YXRpb25PYnNlcnZlciIsIm11dGF0aW9ucyIsIm9wYUZyYW1lIiwicmVkdWNlIiwiaUZyYW1lIiwibXV0YXRpb24iLCJub2RlIiwiQXJyYXkiLCJmcm9tIiwiYWRkZWROb2RlcyIsIkVsZW1lbnQiLCJlbGVtZW50IiwicXVlcnlTZWxlY3RvciIsIkhUTUxJRnJhbWVFbGVtZW50IiwiY29udGVudFdpbmRvdyIsInByZXBhcmVXaW5kb3ciLCJRVW5pdCIsIm1vZHVsZVN0YXJ0Iiwib2JzZXJ2ZSIsImRvY3VtZW50IiwiYm9keSIsImNoaWxkTGlzdCIsIm1vZHVsZURvbmUiLCJkaXNjb25uZWN0IiwidGVzdFN0YXJ0IiwicmVzZXQiLCJsb2ciLCJoYW5kbGVGYWlsZWRNZXNzYWdlcyIsImthcm1hIiwiX19rYXJtYV9fIiwic2VhcmNoIiwiVVJMU2VhcmNoUGFyYW1zIiwibG9jYXRpb24iLCJ1cmxQYXJhbSIsImdldCIsImlzU3RyaWN0IiwiY29uZmlnIiwidWk1Iiwic3RyaWN0Y29uc29sZWVycm9ycyIsImZhaWxlZE1lc3NhZ2VzIiwibGVuZ3RoIiwiYXNzZXJ0IiwicHVzaFJlc3VsdCIsInJlc3VsdCIsInNvdXJjZSIsImFjdHVhbCIsImV4cGVjdGVkIiwic2V0QWNjZXB0ZWRFcnJvclBhdHRlcm5zIiwicGF0dGVybnMiLCJjb25jYXQiLCJjaGVja0FuZExvZyIsInR5cGUiLCJkYXRhIiwibWVzc2FnZVRleHQiLCJpc0FsbG93ZWQiLCJzb21lIiwibWF0Y2hlciIsInB1c2giLCJ3cmFwcGVkRGF0YSIsImQiLCJjb25zb2xlIiwicGF0Y2hDb25zb2xlTWV0aG9kIiwibWV0aG9kIiwiZm5PcmlnaW5hbCIsImFwcGx5IiwiY29uZGl0aW9uIiwiZmlyc3QiLCJ1bnNoaWZ0IiwiZXJyb3IiLCJvblByb21pc2VSZWplY3Rpb24iLCJldmVudCIsInJlYXNvbiIsInN0YWNrIiwib25FcnJvciIsImZpbGVuYW1lIiwiYWRkRXZlbnRMaXN0ZW5lciIsImJpbmQiLCJwYXNzaXZlIiwiZ2V0SW5zdGFuY2UiLCJzYXBGRUNvbnNvbGVFcnJvckNoZWNrZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkNvbnNvbGVFcnJvckNoZWNrZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsidHlwZSBNZXNzYWdlTWF0Y2hlckZ1bmN0aW9uID0gKG1lc3NhZ2U6IHN0cmluZykgPT4gYm9vbGVhbjtcbnR5cGUgS2FybWEgPSB7XG5cdGxvZzogKGxldmVsOiBhbnksIC4uLmRhdGE6IGFueVtdKSA9PiB2b2lkO1xuXHRjb25maWc6IHtcblx0XHR1aTU/OiB7XG5cdFx0XHRjb25maWc6IHtcblx0XHRcdFx0c3RyaWN0Y29uc29sZWVycm9ycz86IGJvb2xlYW47IC8vIEthcm1hIG9wdGlvbnMgYXJlIGFsbCBsb3dlcmNhc2UgYXQgcnVudGltZSFcblx0XHRcdH07XG5cdFx0fTtcblx0fTtcbn07XG5cbmZ1bmN0aW9uIHdyYXBQYXR0ZXJucyhwYXR0ZXJuOiBSZWdFeHAgfCBzdHJpbmcpOiBNZXNzYWdlTWF0Y2hlckZ1bmN0aW9uIHtcblx0aWYgKHBhdHRlcm4gaW5zdGFuY2VvZiBSZWdFeHApIHtcblx0XHRyZXR1cm4gKG1lc3NhZ2UpID0+IG1lc3NhZ2UubWF0Y2gocGF0dGVybikgIT09IG51bGw7XG5cdH0gZWxzZSB7XG5cdFx0cmV0dXJuIChtZXNzYWdlKSA9PiBtZXNzYWdlLmluY2x1ZGVzKHBhdHRlcm4pO1xuXHR9XG59XG5cbi8qKlxuICogTGlzdCBvZiBlcnJvciBtZXNzYWdlIHBhdHRlcm5zIHRoYXQgYXJlIGFsd2F5cyBhY2NlcHRlZC5cbiAqL1xuY29uc3QgR0xPQkFMTFlfQUNDRVBURURfRVJST1JTID0gW1xuXHQvbGlicmFyeS1wcmVsb2FkXFwuKGpzb258anMpLywgLy8gYWNjZXB0IGVycm9ycyByZWxhdGVkIHRvIGZpbGVzIHRoYXQgYXJlIG5vdCB0aGVyZSB3aGVuIHJ1bm5pbmcgZnJvbSBzb3VyY2UgdG8gcHJldmVudCBmYWxzZSBwb3NpdGl2ZXNcblx0XCIvcmVzb3VyY2VzL3NhcC9mZS9tYWNyb3MvbWFuaWZlc3QuanNvblwiIC8vIHNlZSBhYm92ZVxuXS5tYXAod3JhcFBhdHRlcm5zKTtcblxuY2xhc3MgQ29uc29sZUVycm9yQ2hlY2tlciB7XG5cdHByaXZhdGUgbWF0Y2hlcnM6IE1lc3NhZ2VNYXRjaGVyRnVuY3Rpb25bXSA9IFtdO1xuXG5cdHByaXZhdGUgbWVzc2FnZXM6IHN0cmluZ1tdID0gW107XG5cblx0cHJpdmF0ZSByZWFkb25seSBrYXJtYTogS2FybWEgfCB1bmRlZmluZWQ7XG5cblx0cHJpdmF0ZSByZWFkb25seSBpc1N0cmljdDogYm9vbGVhbjtcblxuXHRwcml2YXRlIHJlYWRvbmx5IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG11dGF0aW9ucykgPT4ge1xuXHRcdGNvbnN0IG9wYUZyYW1lID0gbXV0YXRpb25zLnJlZHVjZSgoaUZyYW1lOiBIVE1MSUZyYW1lRWxlbWVudCB8IG51bGwsIG11dGF0aW9uOiBNdXRhdGlvblJlY29yZCkgPT4ge1xuXHRcdFx0aWYgKGlGcmFtZSAhPT0gbnVsbCkge1xuXHRcdFx0XHRyZXR1cm4gaUZyYW1lO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3IgKGNvbnN0IG5vZGUgb2YgQXJyYXkuZnJvbShtdXRhdGlvbi5hZGRlZE5vZGVzKSkge1xuXHRcdFx0XHRpZiAobm9kZSBpbnN0YW5jZW9mIEVsZW1lbnQpIHtcblx0XHRcdFx0XHRjb25zdCBlbGVtZW50ID0gbm9kZS5xdWVyeVNlbGVjdG9yKFwiI09wYUZyYW1lXCIpO1xuXHRcdFx0XHRcdGlmIChlbGVtZW50IGluc3RhbmNlb2YgSFRNTElGcmFtZUVsZW1lbnQgJiYgZWxlbWVudC5jb250ZW50V2luZG93KSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gZWxlbWVudDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIGlGcmFtZTtcblx0XHR9LCBudWxsKTtcblxuXHRcdGlmIChvcGFGcmFtZSAmJiBvcGFGcmFtZS5jb250ZW50V2luZG93KSB7XG5cdFx0XHR0aGlzLnByZXBhcmVXaW5kb3cob3BhRnJhbWUuY29udGVudFdpbmRvdyk7XG5cdFx0fVxuXHR9KTtcblxuXHRjb25zdHJ1Y3Rvcih3aW5kb3c6IFdpbmRvdyAmIHsgX19rYXJtYV9fPzogS2FybWEgfSkge1xuXHRcdFFVbml0Lm1vZHVsZVN0YXJ0KCgpID0+IHtcblx0XHRcdHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZSh3aW5kb3cuZG9jdW1lbnQuYm9keSwgeyBjaGlsZExpc3Q6IHRydWUgfSk7XG5cdFx0fSk7XG5cblx0XHRRVW5pdC5tb2R1bGVEb25lKCgpID0+IHtcblx0XHRcdHRoaXMub2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuXHRcdH0pO1xuXG5cdFx0UVVuaXQudGVzdFN0YXJ0KCgpID0+IHtcblx0XHRcdHRoaXMucmVzZXQoKTtcblx0XHR9KTtcblxuXHRcdFFVbml0LmxvZygoKSA9PiB7XG5cdFx0XHR0aGlzLmhhbmRsZUZhaWxlZE1lc3NhZ2VzKCk7XG5cdFx0fSk7XG5cblx0XHR0aGlzLmthcm1hID0gd2luZG93Ll9fa2FybWFfXztcblxuXHRcdC8vIGVpdGhlciBnbyBmb3IgS2FybWEgY29uZmlnIG9wdGlvbiBcInVpNS5jb25maWcuc3RyaWN0Q29uc29sZUVycm9yc1wiIG9yIHVzZSBVUkwgcXVlcnkgcGFyYW1ldGVyIFwic3RyaWN0XCJcblx0XHRjb25zdCBzZWFyY2ggPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpO1xuXHRcdGNvbnN0IHVybFBhcmFtID0gc2VhcmNoLmdldChcInN0cmljdENvbnNvbGVFcnJvcnNcIik7XG5cdFx0aWYgKHVybFBhcmFtICE9PSBudWxsKSB7XG5cdFx0XHR0aGlzLmlzU3RyaWN0ID0gdXJsUGFyYW0gPT09IFwidHJ1ZVwiO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLmlzU3RyaWN0ID0gdGhpcy5rYXJtYT8uY29uZmlnLnVpNT8uY29uZmlnLnN0cmljdGNvbnNvbGVlcnJvcnMgPz8gZmFsc2U7XG5cdFx0fVxuXG5cdFx0dGhpcy5yZXNldCgpO1xuXHR9XG5cblx0cHJpdmF0ZSBoYW5kbGVGYWlsZWRNZXNzYWdlcygpIHtcblx0XHRjb25zdCBmYWlsZWRNZXNzYWdlcyA9IHRoaXMubWVzc2FnZXM7XG5cdFx0dGhpcy5tZXNzYWdlcyA9IFtdO1xuXG5cdFx0aWYgKGZhaWxlZE1lc3NhZ2VzLmxlbmd0aCA+IDApIHtcblx0XHRcdFFVbml0LmFzc2VydC5wdXNoUmVzdWx0KHtcblx0XHRcdFx0cmVzdWx0OiBmYWxzZSxcblx0XHRcdFx0c291cmNlOiBcIkZFIENvbnNvbGUgTG9nIENoZWNrXCIsXG5cdFx0XHRcdG1lc3NhZ2U6IGBUaGVyZSB3ZXJlICR7ZmFpbGVkTWVzc2FnZXMubGVuZ3RofSB1bmV4cGVjdGVkIGNvbnNvbGUgZXJyb3JzYCxcblx0XHRcdFx0YWN0dWFsOiBmYWlsZWRNZXNzYWdlcyxcblx0XHRcdFx0ZXhwZWN0ZWQ6IFtdXG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIHJlc2V0KCkge1xuXHRcdHRoaXMubWVzc2FnZXMgPSBbXTtcblxuXHRcdC8vIHRoaXMgc2V0cyB0aGUgZGVmYXVsdCB0byBhcHBseSBpZiBubyBhbGxvd2VkIHBhdHRlcm5zIGFyZSBzZXQgdmlhIHNldEFjY2VwdGVkRXJyb3JQYXR0ZXJucygpLlxuXHRcdGlmICh0aGlzLmlzU3RyaWN0KSB7XG5cdFx0XHR0aGlzLm1hdGNoZXJzID0gR0xPQkFMTFlfQUNDRVBURURfRVJST1JTO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLm1hdGNoZXJzID0gWygpID0+IHRydWVdO1xuXHRcdH1cblx0fVxuXG5cdHNldEFjY2VwdGVkRXJyb3JQYXR0ZXJucyhwYXR0ZXJucz86IChSZWdFeHAgfCBzdHJpbmcpW10pIHtcblx0XHRpZiAoIXBhdHRlcm5zIHx8IHBhdHRlcm5zLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0dGhpcy5tYXRjaGVycyA9IEdMT0JBTExZX0FDQ0VQVEVEX0VSUk9SUztcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5tYXRjaGVycyA9IHBhdHRlcm5zLm1hcCh3cmFwUGF0dGVybnMpLmNvbmNhdChHTE9CQUxMWV9BQ0NFUFRFRF9FUlJPUlMpO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgY2hlY2tBbmRMb2codHlwZTogYW55LCAuLi5kYXRhOiBhbnlbXSkge1xuXHRcdC8vIG9ubHkgY2hlY2sgdGhlIGVycm9yIG1lc3NhZ2VzXG5cdFx0aWYgKHR5cGUgPT09IFwiZXJyb3JcIikge1xuXHRcdFx0Y29uc3QgbWVzc2FnZVRleHQgPSBkYXRhWzBdO1xuXHRcdFx0Y29uc3QgaXNBbGxvd2VkID0gdGhpcy5tYXRjaGVycy5zb21lKChtYXRjaGVyKSA9PiBtYXRjaGVyKG1lc3NhZ2VUZXh0KSk7XG5cdFx0XHRpZiAoIWlzQWxsb3dlZCkge1xuXHRcdFx0XHR0aGlzLm1lc3NhZ2VzLnB1c2gobWVzc2FnZVRleHQpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGlmICh0aGlzLmthcm1hKSB7XG5cdFx0XHQvLyB3cmFwIHRoZSBkYXRhIHRvIGZhY2lsaXRhdGUgcGFyc2luZyBpbiB0aGUgYmFja2VuZFxuXHRcdFx0Y29uc3Qgd3JhcHBlZERhdGEgPSBkYXRhLm1hcCgoZCkgPT4gW2RdKTtcblx0XHRcdHRoaXMua2FybWEubG9nKHR5cGUsIHdyYXBwZWREYXRhKTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIHByZXBhcmVXaW5kb3cod2luZG93OiBXaW5kb3cpIHtcblx0XHRjb25zdCBjb25zb2xlOiBDb25zb2xlID0gKHdpbmRvdyBhcyBhbnkpLmNvbnNvbGU7XG5cblx0XHQvLyBjYXB0dXJlIGNvbnNvbGUubG9nKCksIGNvbnNvbGUuZGVidWcoKSwgZXRjLlxuXHRcdGNvbnN0IHBhdGNoQ29uc29sZU1ldGhvZCA9IChtZXRob2Q6IFwibG9nXCIgfCBcImluZm9cIiB8IFwid2FyblwiIHwgXCJlcnJvclwiIHwgXCJkZWJ1Z1wiKSA9PiB7XG5cdFx0XHRjb25zdCBmbk9yaWdpbmFsID0gY29uc29sZVttZXRob2RdO1xuXHRcdFx0Y29uc29sZVttZXRob2RdID0gKC4uLmRhdGE6IGFueVtdKTogdm9pZCA9PiB7XG5cdFx0XHRcdHRoaXMuY2hlY2tBbmRMb2cobWV0aG9kLCAuLi5kYXRhKTtcblx0XHRcdFx0cmV0dXJuIGZuT3JpZ2luYWwuYXBwbHkoY29uc29sZSwgZGF0YSk7XG5cdFx0XHR9O1xuXHRcdH07XG5cblx0XHRwYXRjaENvbnNvbGVNZXRob2QoXCJsb2dcIik7XG5cdFx0cGF0Y2hDb25zb2xlTWV0aG9kKFwiZGVidWdcIik7XG5cdFx0cGF0Y2hDb25zb2xlTWV0aG9kKFwiaW5mb1wiKTtcblx0XHRwYXRjaENvbnNvbGVNZXRob2QoXCJ3YXJuXCIpO1xuXHRcdHBhdGNoQ29uc29sZU1ldGhvZChcImVycm9yXCIpO1xuXG5cdFx0Ly8gY2FwdHVyZSBjb25zb2xlLmFzc2VydCgpXG5cdFx0Ly8gc2VlIGh0dHBzOi8vY29uc29sZS5zcGVjLndoYXR3Zy5vcmcvI2Fzc2VydFxuXHRcdGNvbnNvbGUuYXNzZXJ0ID0gZnVuY3Rpb24gKGNvbmRpdGlvbiA9IGZhbHNlLCAuLi5kYXRhOiBhbnlbXSkge1xuXHRcdFx0aWYgKGNvbmRpdGlvbikge1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IG1lc3NhZ2UgPSBcIkFzc2VydGlvbiBmYWlsZWRcIjtcblx0XHRcdGlmIChkYXRhLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0XHRkYXRhLnB1c2gobWVzc2FnZSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRsZXQgZmlyc3QgPSBkYXRhWzBdO1xuXHRcdFx0XHRpZiAodHlwZW9mIGZpcnN0ICE9PSBcInN0cmluZ1wiKSB7XG5cdFx0XHRcdFx0ZGF0YS51bnNoaWZ0KG1lc3NhZ2UpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdGZpcnN0ID0gYCR7bWVzc2FnZX06ICR7Zmlyc3R9YDtcblx0XHRcdFx0XHRkYXRhWzBdID0gZmlyc3Q7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Y29uc29sZS5lcnJvciguLi5kYXRhKTtcblx0XHR9O1xuXG5cdFx0Ly8gY2FwdHVyZSBlcnJvcnNcblx0XHRmdW5jdGlvbiBvblByb21pc2VSZWplY3Rpb24odGhpczogQ29uc29sZUVycm9yQ2hlY2tlciwgZXZlbnQ6IFByb21pc2VSZWplY3Rpb25FdmVudCkge1xuXHRcdFx0Y29uc3QgbWVzc2FnZSA9IGBVTkhBTkRMRUQgUFJPTUlTRSBSRUpFQ1RJT046ICR7ZXZlbnQucmVhc29ufWA7XG5cdFx0XHR0aGlzLmNoZWNrQW5kTG9nKFwiZXJyb3JcIiwgbWVzc2FnZSwgZXZlbnQucmVhc29uPy5zdGFjayk7XG5cdFx0fVxuXG5cdFx0ZnVuY3Rpb24gb25FcnJvcih0aGlzOiBDb25zb2xlRXJyb3JDaGVja2VyLCBldmVudDogRXJyb3JFdmVudCkge1xuXHRcdFx0Y29uc3QgbWVzc2FnZSA9IGV2ZW50Lm1lc3NhZ2U7XG5cdFx0XHR0aGlzLmNoZWNrQW5kTG9nKFwiZXJyb3JcIiwgbWVzc2FnZSwgZXZlbnQuZmlsZW5hbWUpO1xuXHRcdH1cblxuXHRcdHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwiZXJyb3JcIiwgb25FcnJvci5iaW5kKHRoaXMpLCB7IHBhc3NpdmU6IHRydWUgfSk7XG5cdFx0d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJ1bmhhbmRsZWRyZWplY3Rpb25cIiwgb25Qcm9taXNlUmVqZWN0aW9uLmJpbmQodGhpcyksIHsgcGFzc2l2ZTogdHJ1ZSB9KTtcblx0fVxuXG5cdHN0YXRpYyBnZXRJbnN0YW5jZSh3aW5kb3c6IFdpbmRvdyAmIHsgc2FwRkVDb25zb2xlRXJyb3JDaGVja2VyPzogQ29uc29sZUVycm9yQ2hlY2tlciB9KTogQ29uc29sZUVycm9yQ2hlY2tlciB7XG5cdFx0Ly8gdGhlIGdsb2JhbCBpbnN0YW5jZSBpcyBuZWVkZWQgdG8gc3VwcG9ydCBtdWx0aXBsZSB0ZXN0cyBpbiBhIHJvdyAoaW4gS2FybWEpXG5cdFx0aWYgKCF3aW5kb3cuc2FwRkVDb25zb2xlRXJyb3JDaGVja2VyKSB7XG5cdFx0XHR3aW5kb3cuc2FwRkVDb25zb2xlRXJyb3JDaGVja2VyID0gbmV3IENvbnNvbGVFcnJvckNoZWNrZXIod2luZG93KTtcblx0XHR9XG5cdFx0cmV0dXJuIHdpbmRvdy5zYXBGRUNvbnNvbGVFcnJvckNoZWNrZXI7XG5cdH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgQ29uc29sZUVycm9yQ2hlY2tlci5nZXRJbnN0YW5jZSh3aW5kb3cpO1xuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7O0VBWUEsU0FBU0EsWUFBWSxDQUFDQyxPQUF3QixFQUEwQjtJQUN2RSxJQUFJQSxPQUFPLFlBQVlDLE1BQU0sRUFBRTtNQUM5QixPQUFRQyxPQUFPLElBQUtBLE9BQU8sQ0FBQ0MsS0FBSyxDQUFDSCxPQUFPLENBQUMsS0FBSyxJQUFJO0lBQ3BELENBQUMsTUFBTTtNQUNOLE9BQVFFLE9BQU8sSUFBS0EsT0FBTyxDQUFDRSxRQUFRLENBQUNKLE9BQU8sQ0FBQztJQUM5QztFQUNEOztFQUVBO0FBQ0E7QUFDQTtFQUNBLE1BQU1LLHdCQUF3QixHQUFHLENBQ2hDLDRCQUE0QjtFQUFFO0VBQzlCLHdDQUF3QyxDQUFDO0VBQUEsQ0FDekMsQ0FBQ0MsR0FBRyxDQUFDUCxZQUFZLENBQUM7RUFBQyxJQUVkUSxtQkFBbUI7SUFnQ3hCLDZCQUFZQyxNQUFzQyxFQUFFO01BQUEsS0EvQjVDQyxRQUFRLEdBQTZCLEVBQUU7TUFBQSxLQUV2Q0MsUUFBUSxHQUFhLEVBQUU7TUFBQSxLQU1kQyxRQUFRLEdBQUcsSUFBSUMsZ0JBQWdCLENBQUVDLFNBQVMsSUFBSztRQUMvRCxNQUFNQyxRQUFRLEdBQUdELFNBQVMsQ0FBQ0UsTUFBTSxDQUFDLENBQUNDLE1BQWdDLEVBQUVDLFFBQXdCLEtBQUs7VUFDakcsSUFBSUQsTUFBTSxLQUFLLElBQUksRUFBRTtZQUNwQixPQUFPQSxNQUFNO1VBQ2Q7VUFFQSxLQUFLLE1BQU1FLElBQUksSUFBSUMsS0FBSyxDQUFDQyxJQUFJLENBQUNILFFBQVEsQ0FBQ0ksVUFBVSxDQUFDLEVBQUU7WUFDbkQsSUFBSUgsSUFBSSxZQUFZSSxPQUFPLEVBQUU7Y0FDNUIsTUFBTUMsT0FBTyxHQUFHTCxJQUFJLENBQUNNLGFBQWEsQ0FBQyxXQUFXLENBQUM7Y0FDL0MsSUFBSUQsT0FBTyxZQUFZRSxpQkFBaUIsSUFBSUYsT0FBTyxDQUFDRyxhQUFhLEVBQUU7Z0JBQ2xFLE9BQU9ILE9BQU87Y0FDZjtZQUNEO1VBQ0Q7VUFFQSxPQUFPUCxNQUFNO1FBQ2QsQ0FBQyxFQUFFLElBQUksQ0FBQztRQUVSLElBQUlGLFFBQVEsSUFBSUEsUUFBUSxDQUFDWSxhQUFhLEVBQUU7VUFDdkMsSUFBSSxDQUFDQyxhQUFhLENBQUNiLFFBQVEsQ0FBQ1ksYUFBYSxDQUFDO1FBQzNDO01BQ0QsQ0FBQyxDQUFDO01BR0RFLEtBQUssQ0FBQ0MsV0FBVyxDQUFDLE1BQU07UUFDdkIsSUFBSSxDQUFDbEIsUUFBUSxDQUFDbUIsT0FBTyxDQUFDdEIsTUFBTSxDQUFDdUIsUUFBUSxDQUFDQyxJQUFJLEVBQUU7VUFBRUMsU0FBUyxFQUFFO1FBQUssQ0FBQyxDQUFDO01BQ2pFLENBQUMsQ0FBQztNQUVGTCxLQUFLLENBQUNNLFVBQVUsQ0FBQyxNQUFNO1FBQ3RCLElBQUksQ0FBQ3ZCLFFBQVEsQ0FBQ3dCLFVBQVUsRUFBRTtNQUMzQixDQUFDLENBQUM7TUFFRlAsS0FBSyxDQUFDUSxTQUFTLENBQUMsTUFBTTtRQUNyQixJQUFJLENBQUNDLEtBQUssRUFBRTtNQUNiLENBQUMsQ0FBQztNQUVGVCxLQUFLLENBQUNVLEdBQUcsQ0FBQyxNQUFNO1FBQ2YsSUFBSSxDQUFDQyxvQkFBb0IsRUFBRTtNQUM1QixDQUFDLENBQUM7TUFFRixJQUFJLENBQUNDLEtBQUssR0FBR2hDLE1BQU0sQ0FBQ2lDLFNBQVM7O01BRTdCO01BQ0EsTUFBTUMsTUFBTSxHQUFHLElBQUlDLGVBQWUsQ0FBQ25DLE1BQU0sQ0FBQ29DLFFBQVEsQ0FBQ0YsTUFBTSxDQUFDO01BQzFELE1BQU1HLFFBQVEsR0FBR0gsTUFBTSxDQUFDSSxHQUFHLENBQUMscUJBQXFCLENBQUM7TUFDbEQsSUFBSUQsUUFBUSxLQUFLLElBQUksRUFBRTtRQUN0QixJQUFJLENBQUNFLFFBQVEsR0FBR0YsUUFBUSxLQUFLLE1BQU07TUFDcEMsQ0FBQyxNQUFNO1FBQUE7UUFDTixJQUFJLENBQUNFLFFBQVEsR0FBRyxvQkFBSSxDQUFDUCxLQUFLLHlFQUFWLFlBQVlRLE1BQU0sQ0FBQ0MsR0FBRywwREFBdEIsc0JBQXdCRCxNQUFNLENBQUNFLG1CQUFtQixLQUFJLEtBQUs7TUFDNUU7TUFFQSxJQUFJLENBQUNiLEtBQUssRUFBRTtJQUNiO0lBQUM7SUFBQSxPQUVPRSxvQkFBb0IsR0FBNUIsZ0NBQStCO01BQzlCLE1BQU1ZLGNBQWMsR0FBRyxJQUFJLENBQUN6QyxRQUFRO01BQ3BDLElBQUksQ0FBQ0EsUUFBUSxHQUFHLEVBQUU7TUFFbEIsSUFBSXlDLGNBQWMsQ0FBQ0MsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUM5QnhCLEtBQUssQ0FBQ3lCLE1BQU0sQ0FBQ0MsVUFBVSxDQUFDO1VBQ3ZCQyxNQUFNLEVBQUUsS0FBSztVQUNiQyxNQUFNLEVBQUUsc0JBQXNCO1VBQzlCdEQsT0FBTyxFQUFHLGNBQWFpRCxjQUFjLENBQUNDLE1BQU8sNEJBQTJCO1VBQ3hFSyxNQUFNLEVBQUVOLGNBQWM7VUFDdEJPLFFBQVEsRUFBRTtRQUNYLENBQUMsQ0FBQztNQUNIO0lBQ0QsQ0FBQztJQUFBLE9BRU9yQixLQUFLLEdBQWIsaUJBQWdCO01BQ2YsSUFBSSxDQUFDM0IsUUFBUSxHQUFHLEVBQUU7O01BRWxCO01BQ0EsSUFBSSxJQUFJLENBQUNxQyxRQUFRLEVBQUU7UUFDbEIsSUFBSSxDQUFDdEMsUUFBUSxHQUFHSix3QkFBd0I7TUFDekMsQ0FBQyxNQUFNO1FBQ04sSUFBSSxDQUFDSSxRQUFRLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQztNQUM3QjtJQUNELENBQUM7SUFBQSxPQUVEa0Qsd0JBQXdCLEdBQXhCLGtDQUF5QkMsUUFBOEIsRUFBRTtNQUN4RCxJQUFJLENBQUNBLFFBQVEsSUFBSUEsUUFBUSxDQUFDUixNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ3ZDLElBQUksQ0FBQzNDLFFBQVEsR0FBR0osd0JBQXdCO01BQ3pDLENBQUMsTUFBTTtRQUNOLElBQUksQ0FBQ0ksUUFBUSxHQUFHbUQsUUFBUSxDQUFDdEQsR0FBRyxDQUFDUCxZQUFZLENBQUMsQ0FBQzhELE1BQU0sQ0FBQ3hELHdCQUF3QixDQUFDO01BQzVFO0lBQ0QsQ0FBQztJQUFBLE9BRU95RCxXQUFXLEdBQW5CLHFCQUFvQkMsSUFBUyxFQUFrQjtNQUFBLGtDQUFiQyxJQUFJO1FBQUpBLElBQUk7TUFBQTtNQUNyQztNQUNBLElBQUlELElBQUksS0FBSyxPQUFPLEVBQUU7UUFDckIsTUFBTUUsV0FBVyxHQUFHRCxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzNCLE1BQU1FLFNBQVMsR0FBRyxJQUFJLENBQUN6RCxRQUFRLENBQUMwRCxJQUFJLENBQUVDLE9BQU8sSUFBS0EsT0FBTyxDQUFDSCxXQUFXLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUNDLFNBQVMsRUFBRTtVQUNmLElBQUksQ0FBQ3hELFFBQVEsQ0FBQzJELElBQUksQ0FBQ0osV0FBVyxDQUFDO1FBQ2hDO01BQ0Q7TUFFQSxJQUFJLElBQUksQ0FBQ3pCLEtBQUssRUFBRTtRQUNmO1FBQ0EsTUFBTThCLFdBQVcsR0FBR04sSUFBSSxDQUFDMUQsR0FBRyxDQUFFaUUsQ0FBQyxJQUFLLENBQUNBLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQy9CLEtBQUssQ0FBQ0YsR0FBRyxDQUFDeUIsSUFBSSxFQUFFTyxXQUFXLENBQUM7TUFDbEM7SUFDRCxDQUFDO0lBQUEsT0FFTzNDLGFBQWEsR0FBckIsdUJBQXNCbkIsTUFBYyxFQUFFO01BQUE7TUFDckMsTUFBTWdFLE9BQWdCLEdBQUloRSxNQUFNLENBQVNnRSxPQUFPOztNQUVoRDtNQUNBLE1BQU1DLGtCQUFrQixHQUFJQyxNQUFtRCxJQUFLO1FBQ25GLE1BQU1DLFVBQVUsR0FBR0gsT0FBTyxDQUFDRSxNQUFNLENBQUM7UUFDbENGLE9BQU8sQ0FBQ0UsTUFBTSxDQUFDLEdBQUcsWUFBMEI7VUFBQSxtQ0FBdEJWLElBQUk7WUFBSkEsSUFBSTtVQUFBO1VBQ3pCLEtBQUksQ0FBQ0YsV0FBVyxDQUFDWSxNQUFNLEVBQUUsR0FBR1YsSUFBSSxDQUFDO1VBQ2pDLE9BQU9XLFVBQVUsQ0FBQ0MsS0FBSyxDQUFDSixPQUFPLEVBQUVSLElBQUksQ0FBQztRQUN2QyxDQUFDO01BQ0YsQ0FBQztNQUVEUyxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7TUFDekJBLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztNQUMzQkEsa0JBQWtCLENBQUMsTUFBTSxDQUFDO01BQzFCQSxrQkFBa0IsQ0FBQyxNQUFNLENBQUM7TUFDMUJBLGtCQUFrQixDQUFDLE9BQU8sQ0FBQzs7TUFFM0I7TUFDQTtNQUNBRCxPQUFPLENBQUNuQixNQUFNLEdBQUcsWUFBNkM7UUFBQSxJQUFuQ3dCLFNBQVMsdUVBQUcsS0FBSztRQUMzQyxJQUFJQSxTQUFTLEVBQUU7VUFDZDtRQUNEO1FBRUEsTUFBTTNFLE9BQU8sR0FBRyxrQkFBa0I7UUFBQyxtQ0FMYThELElBQUk7VUFBSkEsSUFBSTtRQUFBO1FBTXBELElBQUlBLElBQUksQ0FBQ1osTUFBTSxLQUFLLENBQUMsRUFBRTtVQUN0QlksSUFBSSxDQUFDSyxJQUFJLENBQUNuRSxPQUFPLENBQUM7UUFDbkIsQ0FBQyxNQUFNO1VBQ04sSUFBSTRFLEtBQUssR0FBR2QsSUFBSSxDQUFDLENBQUMsQ0FBQztVQUNuQixJQUFJLE9BQU9jLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDOUJkLElBQUksQ0FBQ2UsT0FBTyxDQUFDN0UsT0FBTyxDQUFDO1VBQ3RCLENBQUMsTUFBTTtZQUNONEUsS0FBSyxHQUFJLEdBQUU1RSxPQUFRLEtBQUk0RSxLQUFNLEVBQUM7WUFDOUJkLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBR2MsS0FBSztVQUNoQjtRQUNEO1FBRUFOLE9BQU8sQ0FBQ1EsS0FBSyxDQUFDLEdBQUdoQixJQUFJLENBQUM7TUFDdkIsQ0FBQzs7TUFFRDtNQUNBLFNBQVNpQixrQkFBa0IsQ0FBNEJDLEtBQTRCLEVBQUU7UUFBQTtRQUNwRixNQUFNaEYsT0FBTyxHQUFJLGdDQUErQmdGLEtBQUssQ0FBQ0MsTUFBTyxFQUFDO1FBQzlELElBQUksQ0FBQ3JCLFdBQVcsQ0FBQyxPQUFPLEVBQUU1RCxPQUFPLG1CQUFFZ0YsS0FBSyxDQUFDQyxNQUFNLGtEQUFaLGNBQWNDLEtBQUssQ0FBQztNQUN4RDtNQUVBLFNBQVNDLE9BQU8sQ0FBNEJILEtBQWlCLEVBQUU7UUFDOUQsTUFBTWhGLE9BQU8sR0FBR2dGLEtBQUssQ0FBQ2hGLE9BQU87UUFDN0IsSUFBSSxDQUFDNEQsV0FBVyxDQUFDLE9BQU8sRUFBRTVELE9BQU8sRUFBRWdGLEtBQUssQ0FBQ0ksUUFBUSxDQUFDO01BQ25EO01BRUE5RSxNQUFNLENBQUMrRSxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUVGLE9BQU8sQ0FBQ0csSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQUVDLE9BQU8sRUFBRTtNQUFLLENBQUMsQ0FBQztNQUN2RWpGLE1BQU0sQ0FBQytFLGdCQUFnQixDQUFDLG9CQUFvQixFQUFFTixrQkFBa0IsQ0FBQ08sSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQUVDLE9BQU8sRUFBRTtNQUFLLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBQUEsb0JBRU1DLFdBQVcsR0FBbEIscUJBQW1CbEYsTUFBbUUsRUFBdUI7TUFDNUc7TUFDQSxJQUFJLENBQUNBLE1BQU0sQ0FBQ21GLHdCQUF3QixFQUFFO1FBQ3JDbkYsTUFBTSxDQUFDbUYsd0JBQXdCLEdBQUcsSUFBSXBGLG1CQUFtQixDQUFDQyxNQUFNLENBQUM7TUFDbEU7TUFDQSxPQUFPQSxNQUFNLENBQUNtRix3QkFBd0I7SUFDdkMsQ0FBQztJQUFBO0VBQUE7RUFBQSxPQUdhcEYsbUJBQW1CLENBQUNtRixXQUFXLENBQUNsRixNQUFNLENBQUM7QUFBQSJ9
|
|
196
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ3cmFwUGF0dGVybnMiLCJwYXR0ZXJuIiwiUmVnRXhwIiwibWVzc2FnZSIsIm1hdGNoIiwiaW5jbHVkZXMiLCJHTE9CQUxMWV9BQ0NFUFRFRF9FUlJPUlMiLCJtYXAiLCJDb25zb2xlRXJyb3JDaGVja2VyIiwid2luZG93IiwibWF0Y2hlcnMiLCJtZXNzYWdlcyIsIm9ic2VydmVyIiwiTXV0YXRpb25PYnNlcnZlciIsIm11dGF0aW9ucyIsIm9wYUZyYW1lIiwicmVkdWNlIiwiaUZyYW1lIiwibXV0YXRpb24iLCJub2RlIiwiQXJyYXkiLCJmcm9tIiwiYWRkZWROb2RlcyIsIkVsZW1lbnQiLCJlbGVtZW50IiwicXVlcnlTZWxlY3RvciIsIkhUTUxJRnJhbWVFbGVtZW50IiwiY29udGVudFdpbmRvdyIsInByZXBhcmVXaW5kb3ciLCJRVW5pdCIsIm1vZHVsZVN0YXJ0Iiwib2JzZXJ2ZSIsImRvY3VtZW50IiwiYm9keSIsImNoaWxkTGlzdCIsIm1vZHVsZURvbmUiLCJkaXNjb25uZWN0IiwidGVzdFN0YXJ0IiwicmVzZXQiLCJsb2ciLCJoYW5kbGVGYWlsZWRNZXNzYWdlcyIsImthcm1hIiwiX19rYXJtYV9fIiwic2VhcmNoIiwiVVJMU2VhcmNoUGFyYW1zIiwibG9jYXRpb24iLCJ1cmxQYXJhbSIsImdldCIsImlzU3RyaWN0IiwiX3RoaXMka2FybWEiLCJfdGhpcyRrYXJtYSRjb25maWckdWkiLCJjb25maWciLCJ1aTUiLCJzdHJpY3Rjb25zb2xlZXJyb3JzIiwiX3Byb3RvIiwicHJvdG90eXBlIiwiZmFpbGVkTWVzc2FnZXMiLCJsZW5ndGgiLCJhc3NlcnQiLCJwdXNoUmVzdWx0IiwicmVzdWx0Iiwic291cmNlIiwiYWN0dWFsIiwiZXhwZWN0ZWQiLCJzZXRBY2NlcHRlZEVycm9yUGF0dGVybnMiLCJwYXR0ZXJucyIsImNvbmNhdCIsImNoZWNrQW5kTG9nIiwidHlwZSIsIl9sZW4iLCJhcmd1bWVudHMiLCJkYXRhIiwiX2tleSIsIm1lc3NhZ2VUZXh0IiwiaXNBbGxvd2VkIiwic29tZSIsIm1hdGNoZXIiLCJwdXNoIiwid3JhcHBlZERhdGEiLCJkIiwiX3RoaXMiLCJjb25zb2xlIiwicGF0Y2hDb25zb2xlTWV0aG9kIiwibWV0aG9kIiwiZm5PcmlnaW5hbCIsIl9sZW4yIiwiX2tleTIiLCJhcHBseSIsImNvbmRpdGlvbiIsInVuZGVmaW5lZCIsIl9sZW4zIiwiX2tleTMiLCJmaXJzdCIsInVuc2hpZnQiLCJlcnJvciIsIm9uUHJvbWlzZVJlamVjdGlvbiIsImV2ZW50IiwiX2V2ZW50JHJlYXNvbiIsInJlYXNvbiIsInN0YWNrIiwib25FcnJvciIsImZpbGVuYW1lIiwiYWRkRXZlbnRMaXN0ZW5lciIsImJpbmQiLCJwYXNzaXZlIiwiZ2V0SW5zdGFuY2UiLCJzYXBGRUNvbnNvbGVFcnJvckNoZWNrZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkNvbnNvbGVFcnJvckNoZWNrZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsidHlwZSBNZXNzYWdlTWF0Y2hlckZ1bmN0aW9uID0gKG1lc3NhZ2U6IHN0cmluZykgPT4gYm9vbGVhbjtcbnR5cGUgS2FybWEgPSB7XG5cdGxvZzogKGxldmVsOiBhbnksIC4uLmRhdGE6IGFueVtdKSA9PiB2b2lkO1xuXHRjb25maWc6IHtcblx0XHR1aTU/OiB7XG5cdFx0XHRjb25maWc6IHtcblx0XHRcdFx0c3RyaWN0Y29uc29sZWVycm9ycz86IGJvb2xlYW47IC8vIEthcm1hIG9wdGlvbnMgYXJlIGFsbCBsb3dlcmNhc2UgYXQgcnVudGltZSFcblx0XHRcdH07XG5cdFx0fTtcblx0fTtcbn07XG5cbmZ1bmN0aW9uIHdyYXBQYXR0ZXJucyhwYXR0ZXJuOiBSZWdFeHAgfCBzdHJpbmcpOiBNZXNzYWdlTWF0Y2hlckZ1bmN0aW9uIHtcblx0aWYgKHBhdHRlcm4gaW5zdGFuY2VvZiBSZWdFeHApIHtcblx0XHRyZXR1cm4gKG1lc3NhZ2UpID0+IG1lc3NhZ2UubWF0Y2gocGF0dGVybikgIT09IG51bGw7XG5cdH0gZWxzZSB7XG5cdFx0cmV0dXJuIChtZXNzYWdlKSA9PiBtZXNzYWdlLmluY2x1ZGVzKHBhdHRlcm4pO1xuXHR9XG59XG5cbi8qKlxuICogTGlzdCBvZiBlcnJvciBtZXNzYWdlIHBhdHRlcm5zIHRoYXQgYXJlIGFsd2F5cyBhY2NlcHRlZC5cbiAqL1xuY29uc3QgR0xPQkFMTFlfQUNDRVBURURfRVJST1JTID0gW1xuXHQvbGlicmFyeS1wcmVsb2FkXFwuKGpzb258anMpLywgLy8gYWNjZXB0IGVycm9ycyByZWxhdGVkIHRvIGZpbGVzIHRoYXQgYXJlIG5vdCB0aGVyZSB3aGVuIHJ1bm5pbmcgZnJvbSBzb3VyY2UgdG8gcHJldmVudCBmYWxzZSBwb3NpdGl2ZXNcblx0XCIvcmVzb3VyY2VzL3NhcC9mZS9tYWNyb3MvbWFuaWZlc3QuanNvblwiIC8vIHNlZSBhYm92ZVxuXS5tYXAod3JhcFBhdHRlcm5zKTtcblxuY2xhc3MgQ29uc29sZUVycm9yQ2hlY2tlciB7XG5cdHByaXZhdGUgbWF0Y2hlcnM6IE1lc3NhZ2VNYXRjaGVyRnVuY3Rpb25bXSA9IFtdO1xuXG5cdHByaXZhdGUgbWVzc2FnZXM6IHN0cmluZ1tdID0gW107XG5cblx0cHJpdmF0ZSByZWFkb25seSBrYXJtYTogS2FybWEgfCB1bmRlZmluZWQ7XG5cblx0cHJpdmF0ZSByZWFkb25seSBpc1N0cmljdDogYm9vbGVhbjtcblxuXHRwcml2YXRlIHJlYWRvbmx5IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG11dGF0aW9ucykgPT4ge1xuXHRcdGNvbnN0IG9wYUZyYW1lID0gbXV0YXRpb25zLnJlZHVjZSgoaUZyYW1lOiBIVE1MSUZyYW1lRWxlbWVudCB8IG51bGwsIG11dGF0aW9uOiBNdXRhdGlvblJlY29yZCkgPT4ge1xuXHRcdFx0aWYgKGlGcmFtZSAhPT0gbnVsbCkge1xuXHRcdFx0XHRyZXR1cm4gaUZyYW1lO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3IgKGNvbnN0IG5vZGUgb2YgQXJyYXkuZnJvbShtdXRhdGlvbi5hZGRlZE5vZGVzKSkge1xuXHRcdFx0XHRpZiAobm9kZSBpbnN0YW5jZW9mIEVsZW1lbnQpIHtcblx0XHRcdFx0XHRjb25zdCBlbGVtZW50ID0gbm9kZS5xdWVyeVNlbGVjdG9yKFwiI09wYUZyYW1lXCIpO1xuXHRcdFx0XHRcdGlmIChlbGVtZW50IGluc3RhbmNlb2YgSFRNTElGcmFtZUVsZW1lbnQgJiYgZWxlbWVudC5jb250ZW50V2luZG93KSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gZWxlbWVudDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIGlGcmFtZTtcblx0XHR9LCBudWxsKTtcblxuXHRcdGlmIChvcGFGcmFtZSAmJiBvcGFGcmFtZS5jb250ZW50V2luZG93KSB7XG5cdFx0XHR0aGlzLnByZXBhcmVXaW5kb3cob3BhRnJhbWUuY29udGVudFdpbmRvdyk7XG5cdFx0fVxuXHR9KTtcblxuXHRjb25zdHJ1Y3Rvcih3aW5kb3c6IFdpbmRvdyAmIHsgX19rYXJtYV9fPzogS2FybWEgfSkge1xuXHRcdFFVbml0Lm1vZHVsZVN0YXJ0KCgpID0+IHtcblx0XHRcdHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZSh3aW5kb3cuZG9jdW1lbnQuYm9keSwgeyBjaGlsZExpc3Q6IHRydWUgfSk7XG5cdFx0fSk7XG5cblx0XHRRVW5pdC5tb2R1bGVEb25lKCgpID0+IHtcblx0XHRcdHRoaXMub2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuXHRcdH0pO1xuXG5cdFx0UVVuaXQudGVzdFN0YXJ0KCgpID0+IHtcblx0XHRcdHRoaXMucmVzZXQoKTtcblx0XHR9KTtcblxuXHRcdFFVbml0LmxvZygoKSA9PiB7XG5cdFx0XHR0aGlzLmhhbmRsZUZhaWxlZE1lc3NhZ2VzKCk7XG5cdFx0fSk7XG5cblx0XHR0aGlzLmthcm1hID0gd2luZG93Ll9fa2FybWFfXztcblxuXHRcdC8vIGVpdGhlciBnbyBmb3IgS2FybWEgY29uZmlnIG9wdGlvbiBcInVpNS5jb25maWcuc3RyaWN0Q29uc29sZUVycm9yc1wiIG9yIHVzZSBVUkwgcXVlcnkgcGFyYW1ldGVyIFwic3RyaWN0XCJcblx0XHRjb25zdCBzZWFyY2ggPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpO1xuXHRcdGNvbnN0IHVybFBhcmFtID0gc2VhcmNoLmdldChcInN0cmljdENvbnNvbGVFcnJvcnNcIik7XG5cdFx0aWYgKHVybFBhcmFtICE9PSBudWxsKSB7XG5cdFx0XHR0aGlzLmlzU3RyaWN0ID0gdXJsUGFyYW0gPT09IFwidHJ1ZVwiO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLmlzU3RyaWN0ID0gdGhpcy5rYXJtYT8uY29uZmlnLnVpNT8uY29uZmlnLnN0cmljdGNvbnNvbGVlcnJvcnMgPz8gZmFsc2U7XG5cdFx0fVxuXG5cdFx0dGhpcy5yZXNldCgpO1xuXHR9XG5cblx0cHJpdmF0ZSBoYW5kbGVGYWlsZWRNZXNzYWdlcygpIHtcblx0XHRjb25zdCBmYWlsZWRNZXNzYWdlcyA9IHRoaXMubWVzc2FnZXM7XG5cdFx0dGhpcy5tZXNzYWdlcyA9IFtdO1xuXG5cdFx0aWYgKGZhaWxlZE1lc3NhZ2VzLmxlbmd0aCA+IDApIHtcblx0XHRcdFFVbml0LmFzc2VydC5wdXNoUmVzdWx0KHtcblx0XHRcdFx0cmVzdWx0OiBmYWxzZSxcblx0XHRcdFx0c291cmNlOiBcIkZFIENvbnNvbGUgTG9nIENoZWNrXCIsXG5cdFx0XHRcdG1lc3NhZ2U6IGBUaGVyZSB3ZXJlICR7ZmFpbGVkTWVzc2FnZXMubGVuZ3RofSB1bmV4cGVjdGVkIGNvbnNvbGUgZXJyb3JzYCxcblx0XHRcdFx0YWN0dWFsOiBmYWlsZWRNZXNzYWdlcyxcblx0XHRcdFx0ZXhwZWN0ZWQ6IFtdXG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIHJlc2V0KCkge1xuXHRcdHRoaXMubWVzc2FnZXMgPSBbXTtcblxuXHRcdC8vIHRoaXMgc2V0cyB0aGUgZGVmYXVsdCB0byBhcHBseSBpZiBubyBhbGxvd2VkIHBhdHRlcm5zIGFyZSBzZXQgdmlhIHNldEFjY2VwdGVkRXJyb3JQYXR0ZXJucygpLlxuXHRcdGlmICh0aGlzLmlzU3RyaWN0KSB7XG5cdFx0XHR0aGlzLm1hdGNoZXJzID0gR0xPQkFMTFlfQUNDRVBURURfRVJST1JTO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLm1hdGNoZXJzID0gWygpID0+IHRydWVdO1xuXHRcdH1cblx0fVxuXG5cdHNldEFjY2VwdGVkRXJyb3JQYXR0ZXJucyhwYXR0ZXJucz86IChSZWdFeHAgfCBzdHJpbmcpW10pIHtcblx0XHRpZiAoIXBhdHRlcm5zIHx8IHBhdHRlcm5zLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0dGhpcy5tYXRjaGVycyA9IEdMT0JBTExZX0FDQ0VQVEVEX0VSUk9SUztcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5tYXRjaGVycyA9IHBhdHRlcm5zLm1hcCh3cmFwUGF0dGVybnMpLmNvbmNhdChHTE9CQUxMWV9BQ0NFUFRFRF9FUlJPUlMpO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgY2hlY2tBbmRMb2codHlwZTogYW55LCAuLi5kYXRhOiBhbnlbXSkge1xuXHRcdC8vIG9ubHkgY2hlY2sgdGhlIGVycm9yIG1lc3NhZ2VzXG5cdFx0aWYgKHR5cGUgPT09IFwiZXJyb3JcIikge1xuXHRcdFx0Y29uc3QgbWVzc2FnZVRleHQgPSBkYXRhWzBdO1xuXHRcdFx0Y29uc3QgaXNBbGxvd2VkID0gdGhpcy5tYXRjaGVycy5zb21lKChtYXRjaGVyKSA9PiBtYXRjaGVyKG1lc3NhZ2VUZXh0KSk7XG5cdFx0XHRpZiAoIWlzQWxsb3dlZCkge1xuXHRcdFx0XHR0aGlzLm1lc3NhZ2VzLnB1c2gobWVzc2FnZVRleHQpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGlmICh0aGlzLmthcm1hKSB7XG5cdFx0XHQvLyB3cmFwIHRoZSBkYXRhIHRvIGZhY2lsaXRhdGUgcGFyc2luZyBpbiB0aGUgYmFja2VuZFxuXHRcdFx0Y29uc3Qgd3JhcHBlZERhdGEgPSBkYXRhLm1hcCgoZCkgPT4gW2RdKTtcblx0XHRcdHRoaXMua2FybWEubG9nKHR5cGUsIHdyYXBwZWREYXRhKTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIHByZXBhcmVXaW5kb3cod2luZG93OiBXaW5kb3cpIHtcblx0XHRjb25zdCBjb25zb2xlOiBDb25zb2xlID0gKHdpbmRvdyBhcyBhbnkpLmNvbnNvbGU7XG5cblx0XHQvLyBjYXB0dXJlIGNvbnNvbGUubG9nKCksIGNvbnNvbGUuZGVidWcoKSwgZXRjLlxuXHRcdGNvbnN0IHBhdGNoQ29uc29sZU1ldGhvZCA9IChtZXRob2Q6IFwibG9nXCIgfCBcImluZm9cIiB8IFwid2FyblwiIHwgXCJlcnJvclwiIHwgXCJkZWJ1Z1wiKSA9PiB7XG5cdFx0XHRjb25zdCBmbk9yaWdpbmFsID0gY29uc29sZVttZXRob2RdO1xuXHRcdFx0Y29uc29sZVttZXRob2RdID0gKC4uLmRhdGE6IGFueVtdKTogdm9pZCA9PiB7XG5cdFx0XHRcdHRoaXMuY2hlY2tBbmRMb2cobWV0aG9kLCAuLi5kYXRhKTtcblx0XHRcdFx0cmV0dXJuIGZuT3JpZ2luYWwuYXBwbHkoY29uc29sZSwgZGF0YSk7XG5cdFx0XHR9O1xuXHRcdH07XG5cblx0XHRwYXRjaENvbnNvbGVNZXRob2QoXCJsb2dcIik7XG5cdFx0cGF0Y2hDb25zb2xlTWV0aG9kKFwiZGVidWdcIik7XG5cdFx0cGF0Y2hDb25zb2xlTWV0aG9kKFwiaW5mb1wiKTtcblx0XHRwYXRjaENvbnNvbGVNZXRob2QoXCJ3YXJuXCIpO1xuXHRcdHBhdGNoQ29uc29sZU1ldGhvZChcImVycm9yXCIpO1xuXG5cdFx0Ly8gY2FwdHVyZSBjb25zb2xlLmFzc2VydCgpXG5cdFx0Ly8gc2VlIGh0dHBzOi8vY29uc29sZS5zcGVjLndoYXR3Zy5vcmcvI2Fzc2VydFxuXHRcdGNvbnNvbGUuYXNzZXJ0ID0gZnVuY3Rpb24gKGNvbmRpdGlvbiA9IGZhbHNlLCAuLi5kYXRhOiBhbnlbXSkge1xuXHRcdFx0aWYgKGNvbmRpdGlvbikge1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IG1lc3NhZ2UgPSBcIkFzc2VydGlvbiBmYWlsZWRcIjtcblx0XHRcdGlmIChkYXRhLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0XHRkYXRhLnB1c2gobWVzc2FnZSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRsZXQgZmlyc3QgPSBkYXRhWzBdO1xuXHRcdFx0XHRpZiAodHlwZW9mIGZpcnN0ICE9PSBcInN0cmluZ1wiKSB7XG5cdFx0XHRcdFx0ZGF0YS51bnNoaWZ0KG1lc3NhZ2UpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdGZpcnN0ID0gYCR7bWVzc2FnZX06ICR7Zmlyc3R9YDtcblx0XHRcdFx0XHRkYXRhWzBdID0gZmlyc3Q7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Y29uc29sZS5lcnJvciguLi5kYXRhKTtcblx0XHR9O1xuXG5cdFx0Ly8gY2FwdHVyZSBlcnJvcnNcblx0XHRmdW5jdGlvbiBvblByb21pc2VSZWplY3Rpb24odGhpczogQ29uc29sZUVycm9yQ2hlY2tlciwgZXZlbnQ6IFByb21pc2VSZWplY3Rpb25FdmVudCkge1xuXHRcdFx0Y29uc3QgbWVzc2FnZSA9IGBVTkhBTkRMRUQgUFJPTUlTRSBSRUpFQ1RJT046ICR7ZXZlbnQucmVhc29ufWA7XG5cdFx0XHR0aGlzLmNoZWNrQW5kTG9nKFwiZXJyb3JcIiwgbWVzc2FnZSwgZXZlbnQucmVhc29uPy5zdGFjayk7XG5cdFx0fVxuXG5cdFx0ZnVuY3Rpb24gb25FcnJvcih0aGlzOiBDb25zb2xlRXJyb3JDaGVja2VyLCBldmVudDogRXJyb3JFdmVudCkge1xuXHRcdFx0Y29uc3QgbWVzc2FnZSA9IGV2ZW50Lm1lc3NhZ2U7XG5cdFx0XHR0aGlzLmNoZWNrQW5kTG9nKFwiZXJyb3JcIiwgbWVzc2FnZSwgZXZlbnQuZmlsZW5hbWUpO1xuXHRcdH1cblxuXHRcdHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwiZXJyb3JcIiwgb25FcnJvci5iaW5kKHRoaXMpLCB7IHBhc3NpdmU6IHRydWUgfSk7XG5cdFx0d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJ1bmhhbmRsZWRyZWplY3Rpb25cIiwgb25Qcm9taXNlUmVqZWN0aW9uLmJpbmQodGhpcyksIHsgcGFzc2l2ZTogdHJ1ZSB9KTtcblx0fVxuXG5cdHN0YXRpYyBnZXRJbnN0YW5jZSh3aW5kb3c6IFdpbmRvdyAmIHsgc2FwRkVDb25zb2xlRXJyb3JDaGVja2VyPzogQ29uc29sZUVycm9yQ2hlY2tlciB9KTogQ29uc29sZUVycm9yQ2hlY2tlciB7XG5cdFx0Ly8gdGhlIGdsb2JhbCBpbnN0YW5jZSBpcyBuZWVkZWQgdG8gc3VwcG9ydCBtdWx0aXBsZSB0ZXN0cyBpbiBhIHJvdyAoaW4gS2FybWEpXG5cdFx0aWYgKCF3aW5kb3cuc2FwRkVDb25zb2xlRXJyb3JDaGVja2VyKSB7XG5cdFx0XHR3aW5kb3cuc2FwRkVDb25zb2xlRXJyb3JDaGVja2VyID0gbmV3IENvbnNvbGVFcnJvckNoZWNrZXIod2luZG93KTtcblx0XHR9XG5cdFx0cmV0dXJuIHdpbmRvdy5zYXBGRUNvbnNvbGVFcnJvckNoZWNrZXI7XG5cdH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgQ29uc29sZUVycm9yQ2hlY2tlci5nZXRJbnN0YW5jZSh3aW5kb3cpO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0VBWUEsU0FBU0EsWUFBWUEsQ0FBQ0MsT0FBd0IsRUFBMEI7SUFDdkUsSUFBSUEsT0FBTyxZQUFZQyxNQUFNLEVBQUU7TUFDOUIsT0FBUUMsT0FBTyxJQUFLQSxPQUFPLENBQUNDLEtBQUssQ0FBQ0gsT0FBTyxDQUFDLEtBQUssSUFBSTtJQUNwRCxDQUFDLE1BQU07TUFDTixPQUFRRSxPQUFPLElBQUtBLE9BQU8sQ0FBQ0UsUUFBUSxDQUFDSixPQUFPLENBQUM7SUFDOUM7RUFDRDs7RUFFQTtBQUNBO0FBQ0E7RUFDQSxNQUFNSyx3QkFBd0IsR0FBRyxDQUNoQyw0QkFBNEI7RUFBRTtFQUM5Qix3Q0FBd0MsQ0FBQztFQUFBLENBQ3pDLENBQUNDLEdBQUcsQ0FBQ1AsWUFBWSxDQUFDO0VBQUMsSUFFZFEsbUJB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S0FBSyxHQUFHLEdBQUd6RixPQUFPLEtBQUt5RixLQUFLLEVBQUU7WUFDOUJyQixJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUdxQixLQUFLO1VBQ2hCO1FBQ0Q7UUFFQVgsT0FBTyxDQUFDYSxLQUFLLENBQUMsR0FBR3ZCLElBQUksQ0FBQztNQUN2QixDQUFDOztNQUVEO01BQ0EsU0FBU3dCLGtCQUFrQkEsQ0FBNEJDLEtBQTRCLEVBQUU7UUFBQSxJQUFBQyxhQUFBO1FBQ3BGLE1BQU05RixPQUFPLEdBQUcsZ0NBQWdDNkYsS0FBSyxDQUFDRSxNQUFNLEVBQUU7UUFDOUQsSUFBSSxDQUFDL0IsV0FBVyxDQUFDLE9BQU8sRUFBRWhFLE9BQU8sR0FBQThGLGFBQUEsR0FBRUQsS0FBSyxDQUFDRSxNQUFNLGNBQUFELGFBQUEsdUJBQVpBLGFBQUEsQ0FBY0UsS0FBSyxDQUFDO01BQ3hEO01BRUEsU0FBU0MsT0FBT0EsQ0FBNEJKLEtBQWlCLEVBQUU7UUFDOUQsTUFBTTdGLE9BQU8sR0FBRzZGLEtBQUssQ0FBQzdGLE9BQU87UUFDN0IsSUFBSSxDQUFDZ0UsV0FBVyxDQUFDLE9BQU8sRUFBRWhFLE9BQU8sRUFBRTZGLEtBQUssQ0FBQ0ssUUFBUSxDQUFDO01BQ25EO01BRUE1RixNQUFNLENBQUM2RixnQkFBZ0IsQ0FBQyxPQUFPLEVBQUVGLE9BQU8sQ0FBQ0csSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQUVDLE9BQU8sRUFBRTtNQUFLLENBQUMsQ0FBQztNQUN2RS9GLE1BQU0sQ0FBQzZGLGdCQUFnQixDQUFDLG9CQUFvQixFQUFFUCxrQkFBa0IsQ0FBQ1EsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQUVDLE9BQU8sRUFBRTtNQUFLLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBQUFoRyxtQkFBQSxDQUVNaUcsV0FBVyxHQUFsQixTQUFBQSxZQUFtQmhHLE1BQW1FLEVBQXVCO01BQzVHO01BQ0EsSUFBSSxDQUFDQSxNQUFNLENBQUNpRyx3QkFBd0IsRUFBRTtRQUNyQ2pHLE1BQU0sQ0FBQ2lHLHdCQUF3QixHQUFHLElBQUlsRyxtQkFBbUIsQ0FBQ0MsTUFBTSxDQUFDO01BQ2xFO01BQ0EsT0FBT0EsTUFBTSxDQUFDaUcsd0JBQXdCO0lBQ3ZDLENBQUM7SUFBQSxPQUFBbEcsbUJBQUE7RUFBQTtFQUFBLE9BR2FBLG1CQUFtQixDQUFDaUcsV0FBVyxDQUFDaEcsTUFBTSxDQUFDO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -71,7 +71,6 @@ sap.ui.define(
|
|
|
71
71
|
|
|
72
72
|
/**
|
|
73
73
|
* Fail the test if there are errors logged to the browser console.
|
|
74
|
-
*
|
|
75
74
|
* @param {Array<RegExp|string>} [aErrors] The allowed error messages. Either use regular expressions or strings. Pass undefined or an empty array to reject all error messages.
|
|
76
75
|
* @returns {*} The OPA promise
|
|
77
76
|
*/
|
|
@@ -7,7 +7,6 @@ sap.ui.define(["sap/ui/core/Lib", "sap/ui/core/library"], function (Library, _li
|
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Test library for SAP Fiori elements
|
|
10
|
-
*
|
|
11
10
|
* @namespace
|
|
12
11
|
* @name sap.fe.test
|
|
13
12
|
* @public
|
|
@@ -22,9 +21,9 @@ sap.ui.define(["sap/ui/core/Lib", "sap/ui/core/library"], function (Library, _li
|
|
|
22
21
|
controls: [],
|
|
23
22
|
elements: [],
|
|
24
23
|
// eslint-disable-next-line no-template-curly-in-string
|
|
25
|
-
version: "1.
|
|
24
|
+
version: "1.129.0",
|
|
26
25
|
noLibraryCSS: true
|
|
27
26
|
});
|
|
28
27
|
return thisLib;
|
|
29
28
|
}, false);
|
|
30
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ0aGlzTGliIiwiTGlicmFyeSIsImluaXQiLCJuYW1lIiwiZGVwZW5kZW5jaWVzIiwidHlwZXMiLCJpbnRlcmZhY2VzIiwiY29udHJvbHMiLCJlbGVtZW50cyIsInZlcnNpb24iLCJub0xpYnJhcnlDU1MiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbImxpYnJhcnkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExpYnJhcnkgZnJvbSBcInNhcC91aS9jb3JlL0xpYlwiO1xuaW1wb3J0IFwic2FwL3VpL2NvcmUvbGlicmFyeVwiO1xuXG4vKipcbiAqIFRlc3QgbGlicmFyeSBmb3IgU0FQIEZpb3JpIGVsZW1lbnRzXG4gKiBAbmFtZXNwYWNlXG4gKiBAbmFtZSBzYXAuZmUudGVzdFxuICogQHB1YmxpY1xuICovXG5cbi8vIGxpYnJhcnkgZGVwZW5kZW5jaWVzXG5jb25zdCB0aGlzTGliID0gTGlicmFyeS5pbml0KHtcblx0bmFtZTogXCJzYXAuZmUudGVzdFwiLFxuXHRkZXBlbmRlbmNpZXM6IFtcInNhcC51aS5jb3JlXCJdLFxuXHR0eXBlczogW10sXG5cdGludGVyZmFjZXM6IFtdLFxuXHRjb250cm9sczogW10sXG5cdGVsZW1lbnRzOiBbXSxcblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXRlbXBsYXRlLWN1cmx5LWluLXN0cmluZ1xuXHR2ZXJzaW9uOiBcIiR7dmVyc2lvbn1cIixcblx0bm9MaWJyYXJ5Q1NTOiB0cnVlXG59KTtcblxuZXhwb3J0IGRlZmF1bHQgdGhpc0xpYjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztFQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7RUFFQTtFQUNBLE1BQU1BLE9BQU8sR0FBR0MsT0FBTyxDQUFDQyxJQUFJLENBQUM7SUFDNUJDLElBQUksRUFBRSxhQUFhO0lBQ25CQyxZQUFZLEVBQUUsQ0FBQyxhQUFhLENBQUM7SUFDN0JDLEtBQUssRUFBRSxFQUFFO0lBQ1RDLFVBQVUsRUFBRSxFQUFFO0lBQ2RDLFFBQVEsRUFBRSxFQUFFO0lBQ1pDLFFBQVEsRUFBRSxFQUFFO0lBQ1o7SUFDQUMsT0FBTyxFQUFFLFlBQVk7SUFDckJDLFlBQVksRUFBRTtFQUNmLENBQUMsQ0FBQztFQUFDLE9BRVlWLE9BQU87QUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
|