@commercetools-uikit/selectable-search-input 19.26.0 → 20.0.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/dist/commercetools-uikit-selectable-search-input.cjs.dev.js +14 -69
- package/dist/commercetools-uikit-selectable-search-input.cjs.prod.js +10 -12
- package/dist/commercetools-uikit-selectable-search-input.esm.js +14 -68
- package/dist/declarations/src/selectable-search-input.d.ts +1 -1
- package/package.json +16 -17
|
@@ -14,7 +14,6 @@ var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
|
|
|
14
14
|
var _objectWithoutProperties = require('@babel/runtime-corejs3/helpers/objectWithoutProperties');
|
|
15
15
|
var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
|
|
16
16
|
var _styled = require('@emotion/styled/base');
|
|
17
|
-
var _pt = require('prop-types');
|
|
18
17
|
var _Object$fromEntries = require('@babel/runtime-corejs3/core-js-stable/object/from-entries');
|
|
19
18
|
var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
|
|
20
19
|
var _Object$entries = require('@babel/runtime-corejs3/core-js-stable/object/entries');
|
|
@@ -47,7 +46,6 @@ var _Object$getOwnPropertyDescriptors__default = /*#__PURE__*/_interopDefault(_O
|
|
|
47
46
|
var _Object$defineProperties__default = /*#__PURE__*/_interopDefault(_Object$defineProperties);
|
|
48
47
|
var _Object$defineProperty__default = /*#__PURE__*/_interopDefault(_Object$defineProperty);
|
|
49
48
|
var _styled__default = /*#__PURE__*/_interopDefault(_styled);
|
|
50
|
-
var _pt__default = /*#__PURE__*/_interopDefault(_pt);
|
|
51
49
|
var _Object$fromEntries__default = /*#__PURE__*/_interopDefault(_Object$fromEntries);
|
|
52
50
|
var _mapInstanceProperty__default = /*#__PURE__*/_interopDefault(_mapInstanceProperty);
|
|
53
51
|
var _Object$entries__default = /*#__PURE__*/_interopDefault(_Object$entries);
|
|
@@ -208,11 +206,6 @@ const SingleValue = _ref => {
|
|
|
208
206
|
}))
|
|
209
207
|
}));
|
|
210
208
|
};
|
|
211
|
-
SingleValue.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
212
|
-
children: _pt__default["default"].node,
|
|
213
|
-
dataProps: _pt__default["default"].objectOf(_pt__default["default"].string),
|
|
214
|
-
id: _pt__default["default"].string
|
|
215
|
-
} : {};
|
|
216
209
|
const SelectableSelect = props => {
|
|
217
210
|
const intl = reactIntl.useIntl();
|
|
218
211
|
const dropdownStyles = createSelectableSelectStyles({
|
|
@@ -257,18 +250,9 @@ const SelectableSelect = props => {
|
|
|
257
250
|
})
|
|
258
251
|
});
|
|
259
252
|
};
|
|
260
|
-
SelectableSelect.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
261
|
-
dropdownHasFocus: _pt__default["default"].bool.isRequired,
|
|
262
|
-
isCondensed: _pt__default["default"].bool.isRequired,
|
|
263
|
-
handleDropdownFocus: _pt__default["default"].func.isRequired,
|
|
264
|
-
handleDropdownBlur: _pt__default["default"].func.isRequired,
|
|
265
|
-
textInputRef: _pt__default["default"].any.isRequired,
|
|
266
|
-
selectedOption: _pt__default["default"].any,
|
|
267
|
-
dataProps: _pt__default["default"].objectOf(_pt__default["default"].string)
|
|
268
|
-
} : {};
|
|
269
253
|
var SelectableSelect$1 = SelectableSelect;
|
|
270
254
|
|
|
271
|
-
const _excluded = ["horizontalConstraint", "isClearable", "menuHorizontalConstraint", "showSubmitButton", "menuPortalZIndex"];
|
|
255
|
+
const _excluded = ["horizontalConstraint", "isClearable", "menuHorizontalConstraint", "showSubmitButton", "menuPortalZIndex", "onChange"];
|
|
272
256
|
function ownKeys(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
273
257
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context4, _context5; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context4 = ownKeys(Object(t), !0)).call(_context4, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context5 = ownKeys(Object(t))).call(_context5, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
|
|
274
258
|
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
@@ -282,7 +266,7 @@ const Container = /*#__PURE__*/_styled__default["default"]("div", process.env.NO
|
|
|
282
266
|
styles: "display:flex"
|
|
283
267
|
} : {
|
|
284
268
|
name: "zjik7",
|
|
285
|
-
styles: "display:flex/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNlbGVjdGFibGUtc2VhcmNoLWlucHV0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtQzRCIiwiZmlsZSI6InNlbGVjdGFibGUtc2VhcmNoLWlucHV0LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgTW91c2VFdmVudCxcbiAgdHlwZSBLZXlib2FyZEV2ZW50LFxuICB0eXBlIENoYW5nZUV2ZW50LFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdXNlU3RhdGUsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VSZWYsXG4gIFJlYWN0RWxlbWVudCxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFNlY29uZGFyeUljb25CdXR0b24gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc2Vjb25kYXJ5LWljb24tYnV0dG9uJztcbmltcG9ydCBJY29uQnV0dG9uLCB7XG4gIHR5cGUgVEljb25CdXR0b25Qcm9wcyxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbi1idXR0b24nO1xuaW1wb3J0IENvbnN0cmFpbnRzIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2NvbnN0cmFpbnRzJztcbmltcG9ydCB7IFNlYXJjaEljb24sIENsb3NlSWNvbiB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zJztcbmltcG9ydCB7XG4gIGNyZWF0ZVNlcXVlbnRpYWxJZCxcbiAgZmlsdGVyRGF0YUF0dHJpYnV0ZXMsXG4gIHdhcm5pbmcsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3V0aWxzJztcbmltcG9ydCB7IHdhcm5JZk1lbnVQb3J0YWxQcm9wc0FyZU1pc3NpbmcgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9zZWxlY3QtdXRpbHMnO1xuaW1wb3J0IHtcbiAgZ2V0Q2xlYXJJY29uQnV0dG9uU3R5bGVzLFxuICBnZXRTZWFyY2hJY29uQnV0dG9uU3R5bGVzLFxuICBnZXRTZWxlY3RhYmxlU2VhcmNoSW5wdXRDb250YWluZXJTdHlsZXMsXG4gIGdldFNlbGVjdGFibGVTZWFyY2hJbnB1dFN0eWxlcyxcbn0gZnJvbSAnLi9zZWxlY3RhYmxlLXNlYXJjaC1pbnB1dC5zdHlsZXMnO1xuaW1wb3J0IFNlbGVjdGFibGVTZWxlY3QgZnJvbSAnLi9zZWxlY3RhYmxlLXNlbGVjdCc7XG5pbXBvcnQgeyB1c2VGaWVsZElkLCB1c2VUb2dnbGVTdGF0ZSB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2hvb2tzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGRlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgdHlwZSBQcm9wcyBhcyBSZWFjdFNlbGVjdFByb3BzIH0gZnJvbSAncmVhY3Qtc2VsZWN0JztcblxuY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbmA7XG5cbmNvbnN0IGdldFRleHRJbnB1dE5hbWUgPSAobmFtZT86IHN0cmluZykgPT5cbiAgbmFtZSA/IGAke25hbWV9LnRleHRJbnB1dGAgOiB1bmRlZmluZWQ7XG5cbmNvbnN0IGdldERyb3Bkb3duTmFtZSA9IChuYW1lPzogc3RyaW5nKSA9PlxuICBuYW1lID8gYCR7bmFtZX0uZHJvcGRvd25gIDogdW5kZWZpbmVkO1xuXG5leHBvcnQgdHlwZSBUQ3VzdG9tRXZlbnQgPSB7XG4gIHRhcmdldDoge1xuICAgIGlkPzogc3RyaW5nO1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgdmFsdWU/OiBzdHJpbmcgfCBzdHJpbmdbXSB8IG51bGw7XG4gIH07XG4gIHBlcnNpc3Q/OiAoKSA9PiB2b2lkO1xufTtcblxuZXhwb3J0IHR5cGUgVFZhbHVlID0ge1xuICB0ZXh0OiBzdHJpbmc7XG4gIG9wdGlvbjogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgVE9wdGlvbiA9IHtcbiAgdmFsdWU6IHN0cmluZztcbiAgbGFiZWw/OiBSZWFjdE5vZGU7XG59O1xuXG5leHBvcnQgdHlwZSBUT3B0aW9uT2JqZWN0ID0ge1xuICBvcHRpb25zOiBUT3B0aW9uW107XG59O1xuXG5leHBvcnQgdHlwZSBUT3B0aW9ucyA9IFRPcHRpb25bXSB8IFRPcHRpb25PYmplY3RbXTtcblxuZXhwb3J0IHR5cGUgVFNlbGVjdGFibGVTZWFyY2hJbnB1dFByb3BzID0ge1xuICAvKipcbiAgICogVXNlZCBhcyBIVE1MIGlkIHByb3BlcnR5LiBBbiBpZCBpcyBhdXRvLWdlbmVyYXRlZCB3aGVuIGl0IGlzIG5vdCBzcGVjaWZpZWQuXG4gICAqL1xuICBpZD86IHN0cmluZztcbiAgLyoqXG4gICAqIFVzZWQgYXMgSFRNTCBhdXRvY29tcGxldGUgcHJvcGVydHlcbiAgICovXG4gIGF1dG9Db21wbGV0ZT86IHN0cmluZztcbiAgLyoqXG4gICAqIEluZGljYXRlIGlmIHRoZSB2YWx1ZSBlbnRlcmVkIGluIHRoZSBpbnB1dCBpcyBpbnZhbGlkLlxuICAgKi9cbiAgJ2FyaWEtaW52YWxpZCc/OiBib29sZWFuO1xuICAvKipcbiAgICogSFRNTCBJRCBvZiBhbiBlbGVtZW50IGNvbnRhaW5pbmcgYW4gZXJyb3IgbWVzc2FnZSByZWxhdGVkIHRvIHRoZSBpbnB1dC5cbiAgICovXG4gICdhcmlhLWVycm9ybWVzc2FnZSc/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBVc2VkIGFzIEhUTUwgbmFtZSBvZiB0aGUgaW5wdXQgY29tcG9uZW50IHByb3BlcnR5LlxuICAgKi9cbiAgbmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFZhbHVlIG9mIHRoZSBpbnB1dC4gQ29uc2lzdHMgb2YgdGV4dCBpbnB1dCBhbmQgc2VsZWN0ZWQgb3B0aW9uLlxuICAgKi9cbiAgdmFsdWU6IFRWYWx1ZTtcbiAgX2V4cGVyaW1lbnRhbFZhbHVlPzogVFZhbHVlO1xuICAvKipcbiAgICogQ2FsbGVkIHdpdGggdGhlIGV2ZW50IG9mIHRoZSBpbnB1dCBvciBkcm9wZG93biB3aGVuIGVpdGhlciB0aGUgc2VsZWN0YWJsZSBkcm9wZG93biBvciB0aGUgdGV4dCBpbnB1dCBoYXZlIGNoYW5nZWQuXG4gICAqIFRoZSBjaGFuZ2UgZXZlbnQgZnJvbSB0aGUgdGV4dCBpbnB1dCBoYXMgYSBzdWZmaXggb2YgYC50ZXh0SW5wdXRgIGFuZCB0aGUgY2hhbmdlIGV2ZW50IGZyb20gdGhlIGRyb3Bkb3duIGhhcyBhIHN1ZmZpeCBvZiBgLmRyb3Bkb3duYC5cbiAgICovXG4gIG9uQ2hhbmdlPzogKGV2ZW50OiBUQ3VzdG9tRXZlbnQpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiBpbnB1dCBpcyBibHVycmVkXG4gICAqL1xuICBvbkJsdXI/OiAoZXZlbnQ6IFRDdXN0b21FdmVudCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGlucHV0IGlzIGZvY3VzZWRcbiAgICovXG4gIG9uRm9jdXM/OiAoZXZlbnQ6IFRDdXN0b21FdmVudCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIEhhbmRsZXIgd2hlbiB0aGUgc2VhcmNoIGJ1dHRvbiBpcyBjbGlja2VkLlxuICAgKi9cbiAgb25TdWJtaXQ6ICh2YWx1ZTogVFZhbHVlKSA9PiB2b2lkO1xuICAvKipcbiAgICogSGFuZGxlciB3aGVuIHRoZSBjbGVhciBidXR0b24gaXMgY2xpY2tlZC5cbiAgICovXG4gIG9uUmVzZXQ/OiAoKSA9PiB2b2lkO1xuICAvKipcbiAgICogRm9jdXMgdGhlIGlucHV0IG9uIGluaXRpYWwgcmVuZGVyXG4gICAqL1xuICBpc0F1dG9mb2N1c3NlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgdGhhdCB0aGUgaW5wdXQgY2Fubm90IGJlIG1vZGlmaWVkIChlLmcgbm90IGF1dGhvcml6ZWQsIG9yIGNoYW5nZXMgY3VycmVudGx5IHNhdmluZykuXG4gICAqL1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyB0aGF0IHRoZSBmaWVsZCBpcyBkaXNwbGF5aW5nIHJlYWQtb25seSBjb250ZW50XG4gICAqL1xuICBpc1JlYWRPbmx5PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgaW5wdXQgaGFzIGludmFsaWQgdmFsdWVzXG4gICAqL1xuICBoYXNFcnJvcj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGlucHV0IGhhcyB3YXJuaW5nIHZhbHVlc1xuICAgKi9cbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBQbGFjZWhvbGRlciB0ZXh0IGZvciB0aGUgaW5wdXRcbiAgICovXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBpbnB1dCBzaG91bGQgYmUgY2xlYXJlZCB3aGVuIHRoZSBjbGVhciBidXR0b24gaXMgY2xpY2tlZC5cbiAgICogRGVmYXVsdHMgdG8gdHJ1ZS5cbiAgICpcbiAgICovXG4gIGlzQ2xlYXJhYmxlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFVzZSB0aGlzIHByb3BlcnR5IHRvIHJlZHVjZSB0aGUgcGFkZGluZ3Mgb2YgdGhlIGNvbXBvbmVudCBmb3IgYSB1aSBjb21wYWN0IHZhcmlhbnRcbiAgICovXG4gIGlzQ29uZGVuc2VkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEhvcml6b250YWwgc2l6ZSBsaW1pdCBvZiB0aGUgaW5wdXQgZmllbGRzLlxuICAgKi9cbiAgaG9yaXpvbnRhbENvbnN0cmFpbnQ/OiAxMCB8IDExIHwgMTIgfCAxMyB8IDE0IHwgMTUgfCAxNiB8ICdzY2FsZScgfCAnYXV0byc7XG4gIC8qKlxuICAgKiBBcnJheSBvZiBvcHRpb25zIHRoYXQgcG9wdWxhdGUgdGhlIHNlbGVjdCBtZW51XG4gICAqL1xuICBvcHRpb25zOiBUT3B0aW9ucztcbiAgLyoqXG4gICAqIHotaW5kZXggdmFsdWUgZm9yIHRoZSBtZW51IHBvcnRhbFxuICAgKiA8YnI+XG4gICAqIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIGBtZW51UG9ydGFsVGFyZ2V0YFxuICAgKi9cbiAgbWVudVBvcnRhbFpJbmRleD86IG51bWJlcjtcbiAgLyoqXG4gICAqIERvbSBlbGVtZW50IHRvIHBvcnRhbCB0aGUgc2VsZWN0IG1lbnUgdG9cbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIG1lbnVQb3J0YWxUYXJnZXQ/OiBSZWFjdFNlbGVjdFByb3BzWydtZW51UG9ydGFsVGFyZ2V0J107XG4gIC8qKlxuICAgKiB3aGV0aGVyIHRoZSBtZW51IHNob3VsZCBibG9jayBzY3JvbGwgd2hpbGUgb3BlblxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgbWVudVNob3VsZEJsb2NrU2Nyb2xsPzogUmVhY3RTZWxlY3RQcm9wc1snbWVudVNob3VsZEJsb2NrU2Nyb2xsJ107XG4gIC8qKlxuICAgKiBIYW5kbGUgY2hhbmdlIGV2ZW50cyBvbiB0aGUgbWVudSBpbnB1dFxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgb25NZW51SW5wdXRDaGFuZ2U/OiBSZWFjdFNlbGVjdFByb3BzWydvbklucHV0Q2hhbmdlJ107XG4gIC8qKlxuICAgKiBDYW4gYmUgdXNlZCB0byByZW5kZXIgYSBjdXN0b20gdmFsdWUgd2hlbiB0aGVyZSBhcmUgbm8gb3B0aW9ucyAoZWl0aGVyIGJlY2F1c2Ugb2Ygbm8gc2VhcmNoIHJlc3VsdHMsIG9yIGFsbCBvcHRpb25zIGhhdmUgYmVlbiB1c2VkLCBvciB0aGVyZSB3ZXJlIG5vbmUgaW4gdGhlIGZpcnN0IHBsYWNlKS4gR2V0cyBjYWxsZWQgd2l0aCB7IGlucHV0VmFsdWU6IFN0cmluZyB9LlxuICAgKiA8YnIgLz5cbiAgICogYGlucHV0VmFsdWVgIHdpbGwgYmUgYW4gZW1wdHkgc3RyaW5nIHdoZW4gbm8gc2VhcmNoIHRleHQgaXMgcHJlc2VudC5cbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIG5vTWVudU9wdGlvbnNNZXNzYWdlPzogUmVhY3RTZWxlY3RQcm9wc1snbm9PcHRpb25zTWVzc2FnZSddO1xuICAvKipcbiAgICogV2hldGhlciB0byBlbmFibGUgc2VhcmNoIGZ1bmN0aW9uYWxpdHkuXG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBpc01lbnVTZWFyY2hhYmxlPzogUmVhY3RTZWxlY3RQcm9wc1snaXNTZWFyY2hhYmxlJ107XG4gIC8qKlxuICAgKiBNYXhpbXVtIGhlaWdodCBvZiB0aGUgbWVudSBiZWZvcmUgc2Nyb2xsaW5nXG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBtYXhNZW51SGVpZ2h0PzogUmVhY3RTZWxlY3RQcm9wc1snbWF4TWVudUhlaWdodCddO1xuICAvKipcbiAgICogV2hldGhlciB0aGUgbWVudSBzaG91bGQgY2xvc2UgYWZ0ZXIgYSB2YWx1ZSBpcyBzZWxlY3RlZC4gRGVmYXVsdHMgdG8gYHRydWVgLlxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgY2xvc2VNZW51T25TZWxlY3Q/OiBSZWFjdFNlbGVjdFByb3BzWydjbG9zZU1lbnVPblNlbGVjdCddO1xuICAvKipcbiAgICogSG9yaXpvbnRhbCBzaXplIGxpbWl0IGZvciB0aGUgZHJvcGRvd24gbWVudS5cbiAgICovXG4gIG1lbnVIb3Jpem9udGFsQ29uc3RyYWludD86IDMgfCA0IHwgNTtcbiAgLyoqXG4gICAqIFNob3cgc3VibWl0IGJ1dHRvbiBpbiB0aGUgaW5wdXRcbiAgICovXG4gIHNob3dTdWJtaXRCdXR0b24/OiBib29sZWFuO1xuICAvKipcbiAgICogIHVzZWQgdG8gcGFzcyBkYXRhLSogcHJvcHMgdG8gdGhlIHNlbGVjdCBjb21wb25lbnQuXG4gICAqIGVnOiBzZWxlY3REYXRhUHJvcHM9e1t7ICdwcm9wLTEnOiAndmFsdWUtMScgfSwgeyAncHJvcC0yJzogJ3ZhbHVlLTInIH1dfVxuICAgKi9cbiAgc2VsZWN0RGF0YVByb3BzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgLyoqXG4gICAqICB1c2VkIHRvIHBhc3MgZGF0YS0qIHByb3BzIHRvIHRoZSBpbnB1dCBlbGVtZW50LlxuICAgKiBlZzogaW5wdXREYXRhUHJvcHM9e1t7ICdwcm9wLTEnOiAndmFsdWUtMScgfSwgeyAncHJvcC0yJzogJ3ZhbHVlLTInIH1dfVxuICAgKi9cbiAgaW5wdXREYXRhUHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAvKipcbiAgICogTWFwIG9mIGNvbXBvbmVudHMgdG8gb3ZlcndyaXRlIHRoZSBkZWZhdWx0IG9uZXMsIHNlZSB3aGF0IGNvbXBvbmVudHMgeW91IGNhbiBvdmVycmlkZVxuICAgKiA8YnIvPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIHNlbGVjdEN1c3RvbUNvbXBvbmVudHM/OiBSZWFjdFNlbGVjdFByb3BzWydjb21wb25lbnRzJ107XG5cbiAgLyoqXG4gICAqIEN1c3RvbSBhY3Rpb24gaWNvbiB0byBiZSBkaXNwbGF5ZWQgb24gdGhlIHJpZ2h0IHNpZGUgb2YgdGhlIGlucHV0LlxuICAgKi9cbiAgcmlnaHRBY3Rpb25JY29uPzogUmVhY3RFbGVtZW50O1xuICAvKipcbiAgICogUHJvcHMgZm9yIHRoZSByaWdodC1hY3Rpb24gaWNvbi1idXR0b24uIFJlcXVpcmVkIHdoZW4gcmlnaHRBY3Rpb25JY29uIGlzIHByb3ZpZGVkLlxuICAgKiBBdCBsZWFzdCBhIGBsYWJlbGAgYW5kIGFuIGBvbkNsaWNrYCBwcm9wL2Z1bmN0aW9uIG5lZWQgdG8gYmUgcHJvdmlkZWQuXG4gICAqL1xuICByaWdodEFjdGlvblByb3BzPzogVEljb25CdXR0b25Qcm9wcztcbn07XG5cbmNvbnN0IHNlbGVjdGFibGVTZWFyY2hJbnB1dFNlcXVlbnRpYWxJZCA9IGNyZWF0ZVNlcXVlbnRpYWxJZChcbiAgJ3NlbGVjdGFibGUtc2VhcmNoLWlucHV0LSdcbik7XG5cbmNvbnN0IGlzT3B0aW9uT2JqZWN0ID0gKFxuICBvcHRpb246IFRPcHRpb24gfCBUT3B0aW9uT2JqZWN0XG4pOiBvcHRpb24gaXMgVE9wdGlvbk9iamVjdCA9PiAob3B0aW9uIGFzIFRPcHRpb25PYmplY3QpLm9wdGlvbnMgIT09IHVuZGVmaW5lZDtcblxuY29uc3QgdHJhbnNmb3JtRGF0YVByb3BzID0gKGRhdGFQcm9wcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pID0+XG4gIE9iamVjdC5mcm9tRW50cmllcyhcbiAgICBPYmplY3QuZW50cmllcyhkYXRhUHJvcHMgfHwge30pLm1hcCgoW2tleSwgdmFsdWVdKSA9PiBbXG4gICAgICBgZGF0YS0ke2tleX1gLFxuICAgICAgdmFsdWUsXG4gICAgXSlcbiAgKTtcblxuY29uc3QgU2VsZWN0YWJsZVNlYXJjaElucHV0ID0gKHtcbiAgaG9yaXpvbnRhbENvbnN0cmFpbnQgPSAnc2NhbGUnLFxuICBpc0NsZWFyYWJsZSA9IHRydWUsXG4gIG1lbnVIb3Jpem9udGFsQ29uc3RyYWludCA9IDMsXG4gIHNob3dTdWJtaXRCdXR0b24gPSB0cnVlLFxuICBtZW51UG9ydGFsWkluZGV4ID0gMSxcbiAgLi4ucHJvcHNcbn06IFRTZWxlY3RhYmxlU2VhcmNoSW5wdXRQcm9wcykgPT4ge1xuICBjb25zdCBbZHJvcGRvd25IYXNGb2N1cywgdG9nZ2xlRHJvcGRvd25IYXNGb2N1c10gPSB1c2VUb2dnbGVTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtzZWFyY2hWYWx1ZSwgc2V0U2VhcmNoVmFsdWVdID0gdXNlU3RhdGUocHJvcHMudmFsdWUudGV4dCB8fCAnJyk7XG4gIGNvbnN0IFtzZWFyY2hPcHRpb24sIHNldFNlYXJjaE9wdGlvbl0gPSB1c2VTdGF0ZShwcm9wcy52YWx1ZS5vcHRpb24gfHwgJycpO1xuICBjb25zdCBjb250YWluZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCB0ZXh0SW5wdXRSZWYgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbCk7XG5cbiAgY29uc3QgYWxsUHJvcHMgPSB7XG4gICAgaG9yaXpvbnRhbENvbnN0cmFpbnQsXG4gICAgaXNDbGVhcmFibGUsXG4gICAgbWVudUhvcml6b250YWxDb25zdHJhaW50LFxuICAgIHNob3dTdWJtaXRCdXR0b24sXG4gICAgbWVudVBvcnRhbFpJbmRleCxcbiAgICAuLi5wcm9wcyxcbiAgfTtcbiAgY29uc3QgbGVnYWN5RGF0YVByb3BzID0gZmlsdGVyRGF0YUF0dHJpYnV0ZXMocHJvcHMpO1xuICBjb25zdCB0cmFuc2Zvcm1lZFNlbGVjdERhdGFQcm9wcyA9IHRyYW5zZm9ybURhdGFQcm9wcyhwcm9wcy5zZWxlY3REYXRhUHJvcHMpO1xuICBjb25zdCB0cmFuc2Zvcm1lZElucHV0RGF0YVByb3BzID0gdHJhbnNmb3JtRGF0YVByb3BzKHByb3BzLmlucHV0RGF0YVByb3BzKTtcbiAgY29uc3Qgc2VhcmNoSW5wdXRWYWx1ZSA9IHByb3BzLl9leHBlcmltZW50YWxWYWx1ZT8udGV4dCA/PyBzZWFyY2hWYWx1ZTtcbiAgY29uc3Qgc2VhcmNoSW5wdXRPcHRpb24gPSBwcm9wcy5fZXhwZXJpbWVudGFsVmFsdWU/Lm9wdGlvbiA/PyBzZWFyY2hPcHRpb247XG5cbiAgY29uc3Qgb3B0aW9uc1dpdGhvdXRHcm91cHMgPSBwcm9wcy5vcHRpb25zLmZsYXRNYXAoKG9wdGlvbikgPT4ge1xuICAgIGlmIChpc09wdGlvbk9iamVjdChvcHRpb24pKSB7XG4gICAgICByZXR1cm4gb3B0aW9uLm9wdGlvbnM7XG4gICAgfVxuICAgIHJldHVybiBvcHRpb247XG4gIH0pO1xuXG4gIGNvbnN0IHNlbGVjdGVkT3B0aW9uID0gb3B0aW9uc1dpdGhvdXRHcm91cHMuZmluZChcbiAgICAob3B0aW9uKSA9PiBvcHRpb24udmFsdWUgPT09IHNlYXJjaElucHV0T3B0aW9uXG4gICk7XG5cbiAgaWYgKHByb3BzLnJpZ2h0QWN0aW9uSWNvbiAmJiAhcHJvcHMucmlnaHRBY3Rpb25Qcm9wcykge1xuICAgIHdhcm5pbmcoXG4gICAgICBmYWxzZSxcbiAgICAgICdTZWxlY3RhYmxlU2VhcmNoSW5wdXQ6IGByaWdodEFjdGlvbkljb25gIGlzIHByb3ZpZGVkIGJ1dCBgcmlnaHRBY3Rpb25Qcm9wc2AgaXMgbWlzc2luZy4gUHJvdmlkZSBhbiBvYmplY3Qgd2l0aCBhIGBsYWJlbGAgYW5kIGBvbkNsaWNrYCBwcm9wZXJ0eS4nXG4gICAgKTtcbiAgfVxuICBjb25zdCBzZWxlY3RhYmxTZWFyY2hJbnB1dElkID0gdXNlRmllbGRJZChcbiAgICBwcm9wcy5pZCxcbiAgICBzZWxlY3RhYmxlU2VhcmNoSW5wdXRTZXF1ZW50aWFsSWRcbiAgKTtcblxuICBpZiAoIXByb3BzLmlzUmVhZE9ubHkpIHtcbiAgICB3YXJuaW5nKFxuICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nLFxuICAgICAgJ1NlbGVjdGFibGVTZWFyY2hJbnB1dDogYG9uQ2hhbmdlYCBpcyByZXF1aXJlZCB3aGVuIGlzIG5vdCByZWFkIG9ubHkuJ1xuICAgICk7XG4gIH1cblxuICB3YXJuSWZNZW51UG9ydGFsUHJvcHNBcmVNaXNzaW5nKHtcbiAgICBtZW51UG9ydGFsWkluZGV4OiBtZW51UG9ydGFsWkluZGV4LFxuICAgIG1lbnVQb3J0YWxUYXJnZXQ6IHByb3BzLm1lbnVQb3J0YWxUYXJnZXQsXG4gICAgY29tcG9uZW50TmFtZTogJ1NlbGVjdGFibGVTZWFyY2hJbnB1dCcsXG4gIH0pO1xuXG4gIGNvbnN0IHsgb25Gb2N1cywgb25CbHVyLCBuYW1lIH0gPSBwcm9wcztcbiAgY29uc3QgaGFuZGxlVGV4dElucHV0Rm9jdXMgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKG9uRm9jdXMpIHtcbiAgICAgIG9uRm9jdXMoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpLFxuICAgICAgICAgIG5hbWU6IGdldFRleHRJbnB1dE5hbWUobmFtZSksXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtvbkZvY3VzLCBzZWxlY3RhYmxTZWFyY2hJbnB1dElkLCBuYW1lXSk7XG5cbiAgY29uc3QgaGFuZGxlVGV4dElucHV0Qmx1ciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAob25CbHVyKSB7XG4gICAgICBvbkJsdXIoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpLFxuICAgICAgICAgIG5hbWU6IGdldFRleHRJbnB1dE5hbWUobmFtZSksXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtvbkJsdXIsIHNlbGVjdGFibFNlYXJjaElucHV0SWQsIG5hbWVdKTtcblxuICBjb25zdCBoYW5kbGVDbGVhciA9ICgpID0+IHtcbiAgICBzZXRTZWFyY2hWYWx1ZSgnJyk7XG4gICAgaWYgKHByb3BzLm9uUmVzZXQpIHtcbiAgICAgIHByb3BzLm9uUmVzZXQoKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlVGV4dElucHV0Q2hhbmdlID0gKGV2ZW50OiBDaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgIHNldFNlYXJjaFZhbHVlKGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gICAgaWYgKHByb3BzLm9uQ2hhbmdlKSB7XG4gICAgICBwcm9wcy5vbkNoYW5nZSh7XG4gICAgICAgIHRhcmdldDoge1xuICAgICAgICAgIGlkOiBTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0VGV4dElucHV0SWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCksXG4gICAgICAgICAgbmFtZTogZ2V0VGV4dElucHV0TmFtZShwcm9wcy5uYW1lKSxcbiAgICAgICAgICB2YWx1ZTogZXZlbnQudGFyZ2V0LnZhbHVlLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVN1Ym1pdCA9IChcbiAgICBldmVudDpcbiAgICAgIHwgS2V5Ym9hcmRFdmVudDxIVE1MQnV0dG9uRWxlbWVudD5cbiAgICAgIHwgTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudD5cbiAgICAgIHwgS2V5Ym9hcmRFdmVudDxIVE1MSW5wdXRFbGVtZW50PlxuICApID0+IHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGlmIChwcm9wcy5vblN1Ym1pdCkge1xuICAgICAgcHJvcHMub25TdWJtaXQoe1xuICAgICAgICB0ZXh0OiBzZWFyY2hJbnB1dFZhbHVlLFxuICAgICAgICBvcHRpb246IHNlbGVjdGVkT3B0aW9uPy52YWx1ZSA/PyAnJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBkcm9wZG93bk5hbWUgPSBnZXREcm9wZG93bk5hbWUocHJvcHMubmFtZSk7XG4gIGNvbnN0IGRyb3Bkb3duSWQgPSBTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0RHJvcGRvd25JZChcbiAgICBzZWxlY3RhYmxTZWFyY2hJbnB1dElkXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlRHJvcGRvd25Gb2N1cyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAob25Gb2N1cykge1xuICAgICAgb25Gb2N1cyh7XG4gICAgICAgIHRhcmdldDoge1xuICAgICAgICAgIGlkOiBkcm9wZG93bklkLFxuICAgICAgICAgIG5hbWU6IGRyb3Bkb3duTmFtZSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0b2dnbGVEcm9wZG93bkhhc0ZvY3VzKHRydWUpO1xuICB9LCBbb25Gb2N1cywgdG9nZ2xlRHJvcGRvd25IYXNGb2N1cywgZHJvcGRvd25OYW1lLCBkcm9wZG93bklkXSk7XG5cbiAgY29uc3QgaGFuZGxlRHJvcGRvd25CbHVyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChvbkJsdXIpIHtcbiAgICAgIG9uQmx1cih7XG4gICAgICAgIHRhcmdldDoge1xuICAgICAgICAgIGlkOiBkcm9wZG93bklkLFxuICAgICAgICAgIG5hbWU6IGRyb3Bkb3duTmFtZSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0b2dnbGVEcm9wZG93bkhhc0ZvY3VzKGZhbHNlKTtcbiAgfSwgW3RvZ2dsZURyb3Bkb3duSGFzRm9jdXMsIG9uQmx1ciwgZHJvcGRvd25OYW1lLCBkcm9wZG93bklkXSk7XG5cbiAgY29uc3QgaGFuZGxlQ29udGFpbmVyQmx1ciA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudCkgPT4ge1xuICAgICAgLy8gZW5zdXJlcyB0aGF0IGJvdGggZmllbGRzIGFyZSBtYXJrZWQgYXMgdG91Y2hlZCB3aGVuIG9uZSBvZiB0aGVtXG4gICAgICAvLyBpcyBibHVycmVkXG4gICAgICBpZiAoXG4gICAgICAgIHR5cGVvZiBvbkJsdXIgPT09ICdmdW5jdGlvbicgJiZcbiAgICAgICAgIWNvbnRhaW5lclJlZi5jdXJyZW50Py5jb250YWlucyhldmVudC5yZWxhdGVkVGFyZ2V0KVxuICAgICAgKSB7XG4gICAgICAgIG9uQmx1cih7XG4gICAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgICBpZDogU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldERyb3Bkb3duSWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCksXG4gICAgICAgICAgICBuYW1lOiBnZXREcm9wZG93bk5hbWUobmFtZSksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIG9uQmx1cih7XG4gICAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgICBpZDogU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpLFxuICAgICAgICAgICAgbmFtZTogZ2V0VGV4dElucHV0TmFtZShuYW1lKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtvbkJsdXIsIHNlbGVjdGFibFNlYXJjaElucHV0SWQsIG5hbWVdXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlRHJvcGRvd25DaGFuZ2UgPSB1c2VDYWxsYmFjayhcbiAgICAobmV4dFNlbGVjdGVkT3B0aW9ucykgPT4ge1xuICAgICAgc2V0U2VhcmNoT3B0aW9uKG5leHRTZWxlY3RlZE9wdGlvbnMudmFsdWUpO1xuICAgICAgaWYgKHByb3BzLm9uQ2hhbmdlKSB7XG4gICAgICAgIHByb3BzLm9uQ2hhbmdlKHtcbiAgICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICAgIGlkOiBTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0RHJvcGRvd25JZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKSxcbiAgICAgICAgICAgIG5hbWU6IGdldERyb3Bkb3duTmFtZShuYW1lKSxcbiAgICAgICAgICAgIHZhbHVlOiBuZXh0U2VsZWN0ZWRPcHRpb25zLnZhbHVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgdGV4dElucHV0UmVmLmN1cnJlbnQ/LmZvY3VzKCk7XG4gICAgfSxcbiAgICBbcHJvcHMub25DaGFuZ2UsIHNlbGVjdGFibFNlYXJjaElucHV0SWQsIG5hbWVdXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8Q29uc3RyYWludHMuSG9yaXpvbnRhbCBtYXg9e2hvcml6b250YWxDb25zdHJhaW50fT5cbiAgICAgIDxDb250YWluZXJcbiAgICAgICAgcmVmPXtjb250YWluZXJSZWZ9XG4gICAgICAgIG9uQmx1cj17aGFuZGxlQ29udGFpbmVyQmx1cn1cbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJzZWxlY3RhYmxlLXNlYXJjaC1pbnB1dC1jb250YWluZXJcIlxuICAgICAgPlxuICAgICAgICA8Q29uc3RyYWludHMuSG9yaXpvbnRhbCBtYXg9e21lbnVIb3Jpem9udGFsQ29uc3RyYWludH0+XG4gICAgICAgICAgPFNlbGVjdGFibGVTZWxlY3RcbiAgICAgICAgICAgIHsuLi5hbGxQcm9wc31cbiAgICAgICAgICAgIGlkPXtTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0RHJvcGRvd25JZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKX1cbiAgICAgICAgICAgIG5hbWU9e2dldERyb3Bkb3duTmFtZShwcm9wcy5uYW1lKX1cbiAgICAgICAgICAgIGRyb3Bkb3duSGFzRm9jdXM9e2Ryb3Bkb3duSGFzRm9jdXN9XG4gICAgICAgICAgICBpc0NvbmRlbnNlZD17cHJvcHMuaXNDb25kZW5zZWQgPz8gZmFsc2V9XG4gICAgICAgICAgICBoYW5kbGVEcm9wZG93bkZvY3VzPXtoYW5kbGVEcm9wZG93bkZvY3VzfVxuICAgICAgICAgICAgaGFuZGxlRHJvcGRvd25CbHVyPXtoYW5kbGVEcm9wZG93bkJsdXJ9XG4gICAgICAgICAgICBoYW5kbGVEcm9wZG93bkNoYW5nZT17aGFuZGxlRHJvcGRvd25DaGFuZ2V9XG4gICAgICAgICAgICB0ZXh0SW5wdXRSZWY9e3RleHRJbnB1dFJlZn1cbiAgICAgICAgICAgIHNlbGVjdGVkT3B0aW9uPXtzZWxlY3RlZE9wdGlvbn1cbiAgICAgICAgICAgIGRhdGFQcm9wcz17dHJhbnNmb3JtZWRTZWxlY3REYXRhUHJvcHN9XG4gICAgICAgICAgICBzZWxlY3RDdXN0b21Db21wb25lbnRzPXtwcm9wcy5zZWxlY3RDdXN0b21Db21wb25lbnRzfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvQ29uc3RyYWludHMuSG9yaXpvbnRhbD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNzcz17W1xuICAgICAgICAgICAgZ2V0U2VsZWN0YWJsZVNlYXJjaElucHV0Q29udGFpbmVyU3R5bGVzKGFsbFByb3BzKSxcbiAgICAgICAgICAgIGRyb3Bkb3duSGFzRm9jdXMgJiZcbiAgICAgICAgICAgICAgIXByb3BzLmlzUmVhZE9ubHkgJiZcbiAgICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAke2Rlc2lnblRva2Vucy5ib3JkZXJDb2xvckZvcklucHV0V2hlbkZvY3VzZWR9O1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR7ZGVzaWduVG9rZW5zLmJvcmRlckNvbG9yRm9ySW5wdXRXaGVuRm9jdXNlZH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBgLFxuICAgICAgICAgIF19XG4gICAgICAgID5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHJlZj17dGV4dElucHV0UmVmfVxuICAgICAgICAgICAgaWQ9e1NlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKX1cbiAgICAgICAgICAgIG5hbWU9e2dldFRleHRJbnB1dE5hbWUocHJvcHMubmFtZSl9XG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICB2YWx1ZT17c2VhcmNoSW5wdXRWYWx1ZX1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVUZXh0SW5wdXRDaGFuZ2V9XG4gICAgICAgICAgICBvbkJsdXI9e2hhbmRsZVRleHRJbnB1dEJsdXJ9XG4gICAgICAgICAgICBvbkZvY3VzPXtoYW5kbGVUZXh0SW5wdXRGb2N1c31cbiAgICAgICAgICAgIGRpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkfVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3Byb3BzLnBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgcmVhZE9ubHk9e3Byb3BzLmlzUmVhZE9ubHl9XG4gICAgICAgICAgICBhdXRvRm9jdXM9e3Byb3BzLmlzQXV0b2ZvY3Vzc2VkfVxuICAgICAgICAgICAgYXV0b0NvbXBsZXRlPXtwcm9wcy5hdXRvQ29tcGxldGV9XG4gICAgICAgICAgICBhcmlhLXJlYWRvbmx5PXtwcm9wcy5pc1JlYWRPbmx5fVxuICAgICAgICAgICAgY29udGVudEVkaXRhYmxlPXshcHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgIGNzcz17Z2V0U2VsZWN0YWJsZVNlYXJjaElucHV0U3R5bGVzKGFsbFByb3BzKX1cbiAgICAgICAgICAgIHsuLi50cmFuc2Zvcm1lZElucHV0RGF0YVByb3BzfVxuICAgICAgICAgICAgey4uLmxlZ2FjeURhdGFQcm9wc31cbiAgICAgICAgICAgIC8qIEFSSUEgKi9cbiAgICAgICAgICAgIGFyaWEtaW52YWxpZD17cHJvcHNbJ2FyaWEtaW52YWxpZCddfVxuICAgICAgICAgICAgYXJpYS1lcnJvcm1lc3NhZ2U9e3Byb3BzWydhcmlhLWVycm9ybWVzc2FnZSddfVxuICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJzZWxlY3RhYmxlLWlucHV0XCJcbiAgICAgICAgICAgIG9uS2V5RG93bj17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgIGlmICghcHJvcHMuaXNSZWFkT25seSAmJiBldmVudC5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgICAgICAgICAgICBoYW5kbGVTdWJtaXQoZXZlbnQpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2lzQ2xlYXJhYmxlICYmXG4gICAgICAgICAgICBzZWFyY2hJbnB1dFZhbHVlICYmXG4gICAgICAgICAgICAhcHJvcHMuaXNEaXNhYmxlZCAmJlxuICAgICAgICAgICAgIXByb3BzLmlzUmVhZE9ubHkgJiYgKFxuICAgICAgICAgICAgICA8U2Vjb25kYXJ5SWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgIGljb249ezxDbG9zZUljb24gLz59XG4gICAgICAgICAgICAgICAgc2l6ZT17cHJvcHMuaXNDb25kZW5zZWQgPyAnMTAnIDogJzIwJ31cbiAgICAgICAgICAgICAgICBsYWJlbD17J2NsZWFyLWJ1dHRvbid9XG4gICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlQ2xlYXJ9XG4gICAgICAgICAgICAgICAgY3NzPXtnZXRDbGVhckljb25CdXR0b25TdHlsZXMoYWxsUHJvcHMpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICB7c2hvd1N1Ym1pdEJ1dHRvbiAmJiAoXG4gICAgICAgICAgICA8U2Vjb25kYXJ5SWNvbkJ1dHRvblxuICAgICAgICAgICAgICBpY29uPXs8U2VhcmNoSWNvbiAvPn1cbiAgICAgICAgICAgICAgc2l6ZT17cHJvcHMuaXNDb25kZW5zZWQgPyAnMjAnIDogJzQwJ31cbiAgICAgICAgICAgICAgbGFiZWw9eydzZWFyY2gtYnV0dG9uJ31cbiAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlU3VibWl0fVxuICAgICAgICAgICAgICBjc3M9e2dldFNlYXJjaEljb25CdXR0b25TdHlsZXMoYWxsUHJvcHMpfVxuICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAge3Byb3BzLnJpZ2h0QWN0aW9uSWNvbiAmJiBwcm9wcy5yaWdodEFjdGlvblByb3BzICYmIChcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgb3JkZXI6IDQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH07XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgdGhlbWU9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkIHx8IHByb3BzLmlzUmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgc2l6ZT17cHJvcHMuaXNDb25kZW5zZWQgPyAnMTAnIDogJzIwJ31cbiAgICAgICAgICAgICAgICBpY29uPXtwcm9wcy5yaWdodEFjdGlvbkljb259XG4gICAgICAgICAgICAgICAgey4uLnByb3BzLnJpZ2h0QWN0aW9uUHJvcHN9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvQ29udGFpbmVyPlxuICAgIDwvQ29uc3RyYWludHMuSG9yaXpvbnRhbD5cbiAgKTtcbn07XG5cblNlbGVjdGFibGVTZWFyY2hJbnB1dC5kaXNwbGF5TmFtZSA9ICdTZWxlY3RhYmxlU2VhcmNoSW5wdXQnO1xuU2VsZWN0YWJsZVNlYXJjaElucHV0LmlzRW1wdHkgPSAoXG4gIGZvcm1WYWx1ZTogVFNlbGVjdGFibGVTZWFyY2hJbnB1dFByb3BzWyd2YWx1ZSddXG4pID0+ICFmb3JtVmFsdWUgfHwgZm9ybVZhbHVlLnRleHQudHJpbSgpID09PSAnJztcblNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZCA9IGdldFRleHRJbnB1dE5hbWU7XG5TZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0RHJvcGRvd25JZCA9IGdldERyb3Bkb3duTmFtZTtcblxuZXhwb3J0IGRlZmF1bHQgU2VsZWN0YWJsZVNlYXJjaElucHV0O1xuIl19 */",
|
|
269
|
+
styles: "display:flex/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNlbGVjdGFibGUtc2VhcmNoLWlucHV0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvQzRCIiwiZmlsZSI6InNlbGVjdGFibGUtc2VhcmNoLWlucHV0LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgTW91c2VFdmVudCxcbiAgdHlwZSBLZXlib2FyZEV2ZW50LFxuICB0eXBlIENoYW5nZUV2ZW50LFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBGb2N1c0V2ZW50LFxuICB1c2VTdGF0ZSxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZVJlZixcbiAgUmVhY3RFbGVtZW50LFxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgU2Vjb25kYXJ5SWNvbkJ1dHRvbiBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9zZWNvbmRhcnktaWNvbi1idXR0b24nO1xuaW1wb3J0IEljb25CdXR0b24sIHtcbiAgdHlwZSBUSWNvbkJ1dHRvblByb3BzLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29uLWJ1dHRvbic7XG5pbXBvcnQgQ29uc3RyYWludHMgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvY29uc3RyYWludHMnO1xuaW1wb3J0IHsgU2VhcmNoSWNvbiwgQ2xvc2VJY29uIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IHtcbiAgY3JlYXRlU2VxdWVudGlhbElkLFxuICBmaWx0ZXJEYXRhQXR0cmlidXRlcyxcbiAgd2FybmluZyxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvdXRpbHMnO1xuaW1wb3J0IHsgd2FybklmTWVudVBvcnRhbFByb3BzQXJlTWlzc2luZyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NlbGVjdC11dGlscyc7XG5pbXBvcnQge1xuICBnZXRDbGVhckljb25CdXR0b25TdHlsZXMsXG4gIGdldFNlYXJjaEljb25CdXR0b25TdHlsZXMsXG4gIGdldFNlbGVjdGFibGVTZWFyY2hJbnB1dENvbnRhaW5lclN0eWxlcyxcbiAgZ2V0U2VsZWN0YWJsZVNlYXJjaElucHV0U3R5bGVzLFxufSBmcm9tICcuL3NlbGVjdGFibGUtc2VhcmNoLWlucHV0LnN0eWxlcyc7XG5pbXBvcnQgU2VsZWN0YWJsZVNlbGVjdCBmcm9tICcuL3NlbGVjdGFibGUtc2VsZWN0JztcbmltcG9ydCB7IHVzZUZpZWxkSWQsIHVzZVRvZ2dsZVN0YXRlIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaG9va3MnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgZGVzaWduVG9rZW5zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyB0eXBlIFByb3BzIGFzIFJlYWN0U2VsZWN0UHJvcHMgfSBmcm9tICdyZWFjdC1zZWxlY3QnO1xuXG5jb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuYDtcblxuY29uc3QgZ2V0VGV4dElucHV0TmFtZSA9IChuYW1lPzogc3RyaW5nKSA9PlxuICBuYW1lID8gYCR7bmFtZX0udGV4dElucHV0YCA6IHVuZGVmaW5lZDtcblxuY29uc3QgZ2V0RHJvcGRvd25OYW1lID0gKG5hbWU/OiBzdHJpbmcpID0+XG4gIG5hbWUgPyBgJHtuYW1lfS5kcm9wZG93bmAgOiB1bmRlZmluZWQ7XG5cbmV4cG9ydCB0eXBlIFRDdXN0b21FdmVudCA9IHtcbiAgdGFyZ2V0OiB7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICB2YWx1ZT86IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbDtcbiAgfTtcbiAgcGVyc2lzdD86ICgpID0+IHZvaWQ7XG59O1xuXG5leHBvcnQgdHlwZSBUVmFsdWUgPSB7XG4gIHRleHQ6IHN0cmluZztcbiAgb3B0aW9uOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBUT3B0aW9uID0ge1xuICB2YWx1ZTogc3RyaW5nO1xuICBsYWJlbD86IFJlYWN0Tm9kZTtcbn07XG5cbmV4cG9ydCB0eXBlIFRPcHRpb25PYmplY3QgPSB7XG4gIG9wdGlvbnM6IFRPcHRpb25bXTtcbn07XG5cbmV4cG9ydCB0eXBlIFRPcHRpb25zID0gVE9wdGlvbltdIHwgVE9wdGlvbk9iamVjdFtdO1xuXG5leHBvcnQgdHlwZSBUU2VsZWN0YWJsZVNlYXJjaElucHV0UHJvcHMgPSB7XG4gIC8qKlxuICAgKiBVc2VkIGFzIEhUTUwgaWQgcHJvcGVydHkuIEFuIGlkIGlzIGF1dG8tZ2VuZXJhdGVkIHdoZW4gaXQgaXMgbm90IHNwZWNpZmllZC5cbiAgICovXG4gIGlkPzogc3RyaW5nO1xuICAvKipcbiAgICogVXNlZCBhcyBIVE1MIGF1dG9jb21wbGV0ZSBwcm9wZXJ0eVxuICAgKi9cbiAgYXV0b0NvbXBsZXRlPzogc3RyaW5nO1xuICAvKipcbiAgICogSW5kaWNhdGUgaWYgdGhlIHZhbHVlIGVudGVyZWQgaW4gdGhlIGlucHV0IGlzIGludmFsaWQuXG4gICAqL1xuICAnYXJpYS1pbnZhbGlkJz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBIVE1MIElEIG9mIGFuIGVsZW1lbnQgY29udGFpbmluZyBhbiBlcnJvciBtZXNzYWdlIHJlbGF0ZWQgdG8gdGhlIGlucHV0LlxuICAgKi9cbiAgJ2FyaWEtZXJyb3JtZXNzYWdlJz86IHN0cmluZztcbiAgLyoqXG4gICAqIFVzZWQgYXMgSFRNTCBuYW1lIG9mIHRoZSBpbnB1dCBjb21wb25lbnQgcHJvcGVydHkuXG4gICAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogVmFsdWUgb2YgdGhlIGlucHV0LiBDb25zaXN0cyBvZiB0ZXh0IGlucHV0IGFuZCBzZWxlY3RlZCBvcHRpb24uXG4gICAqL1xuICB2YWx1ZTogVFZhbHVlO1xuICBfZXhwZXJpbWVudGFsVmFsdWU/OiBUVmFsdWU7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2l0aCB0aGUgZXZlbnQgb2YgdGhlIGlucHV0IG9yIGRyb3Bkb3duIHdoZW4gZWl0aGVyIHRoZSBzZWxlY3RhYmxlIGRyb3Bkb3duIG9yIHRoZSB0ZXh0IGlucHV0IGhhdmUgY2hhbmdlZC5cbiAgICogVGhlIGNoYW5nZSBldmVudCBmcm9tIHRoZSB0ZXh0IGlucHV0IGhhcyBhIHN1ZmZpeCBvZiBgLnRleHRJbnB1dGAgYW5kIHRoZSBjaGFuZ2UgZXZlbnQgZnJvbSB0aGUgZHJvcGRvd24gaGFzIGEgc3VmZml4IG9mIGAuZHJvcGRvd25gLlxuICAgKi9cbiAgb25DaGFuZ2U/OiAoZXZlbnQ6IFRDdXN0b21FdmVudCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGlucHV0IGlzIGJsdXJyZWRcbiAgICovXG4gIG9uQmx1cj86IChldmVudDogVEN1c3RvbUV2ZW50KSA9PiB2b2lkO1xuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gaW5wdXQgaXMgZm9jdXNlZFxuICAgKi9cbiAgb25Gb2N1cz86IChldmVudDogVEN1c3RvbUV2ZW50KSA9PiB2b2lkO1xuICAvKipcbiAgICogSGFuZGxlciB3aGVuIHRoZSBzZWFyY2ggYnV0dG9uIGlzIGNsaWNrZWQuXG4gICAqL1xuICBvblN1Ym1pdDogKHZhbHVlOiBUVmFsdWUpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBIYW5kbGVyIHdoZW4gdGhlIGNsZWFyIGJ1dHRvbiBpcyBjbGlja2VkLlxuICAgKi9cbiAgb25SZXNldD86ICgpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBGb2N1cyB0aGUgaW5wdXQgb24gaW5pdGlhbCByZW5kZXJcbiAgICovXG4gIGlzQXV0b2ZvY3Vzc2VkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyB0aGF0IHRoZSBpbnB1dCBjYW5ub3QgYmUgbW9kaWZpZWQgKGUuZyBub3QgYXV0aG9yaXplZCwgb3IgY2hhbmdlcyBjdXJyZW50bHkgc2F2aW5nKS5cbiAgICovXG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogSW5kaWNhdGVzIHRoYXQgdGhlIGZpZWxkIGlzIGRpc3BsYXlpbmcgcmVhZC1vbmx5IGNvbnRlbnRcbiAgICovXG4gIGlzUmVhZE9ubHk/OiBib29sZWFuO1xuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBpbnB1dCBoYXMgaW52YWxpZCB2YWx1ZXNcbiAgICovXG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgaW5wdXQgaGFzIHdhcm5pbmcgdmFsdWVzXG4gICAqL1xuICBoYXNXYXJuaW5nPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFBsYWNlaG9sZGVyIHRleHQgZm9yIHRoZSBpbnB1dFxuICAgKi9cbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGlucHV0IHNob3VsZCBiZSBjbGVhcmVkIHdoZW4gdGhlIGNsZWFyIGJ1dHRvbiBpcyBjbGlja2VkLlxuICAgKiBEZWZhdWx0cyB0byB0cnVlLlxuICAgKlxuICAgKi9cbiAgaXNDbGVhcmFibGU/OiBib29sZWFuO1xuICAvKipcbiAgICogVXNlIHRoaXMgcHJvcGVydHkgdG8gcmVkdWNlIHRoZSBwYWRkaW5ncyBvZiB0aGUgY29tcG9uZW50IGZvciBhIHVpIGNvbXBhY3QgdmFyaWFudFxuICAgKi9cbiAgaXNDb25kZW5zZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogSG9yaXpvbnRhbCBzaXplIGxpbWl0IG9mIHRoZSBpbnB1dCBmaWVsZHMuXG4gICAqL1xuICBob3Jpem9udGFsQ29uc3RyYWludD86IDEwIHwgMTEgfCAxMiB8IDEzIHwgMTQgfCAxNSB8IDE2IHwgJ3NjYWxlJyB8ICdhdXRvJztcbiAgLyoqXG4gICAqIEFycmF5IG9mIG9wdGlvbnMgdGhhdCBwb3B1bGF0ZSB0aGUgc2VsZWN0IG1lbnVcbiAgICovXG4gIG9wdGlvbnM6IFRPcHRpb25zO1xuICAvKipcbiAgICogei1pbmRleCB2YWx1ZSBmb3IgdGhlIG1lbnUgcG9ydGFsXG4gICAqIDxicj5cbiAgICogVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggYG1lbnVQb3J0YWxUYXJnZXRgXG4gICAqL1xuICBtZW51UG9ydGFsWkluZGV4PzogbnVtYmVyO1xuICAvKipcbiAgICogRG9tIGVsZW1lbnQgdG8gcG9ydGFsIHRoZSBzZWxlY3QgbWVudSB0b1xuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgbWVudVBvcnRhbFRhcmdldD86IFJlYWN0U2VsZWN0UHJvcHNbJ21lbnVQb3J0YWxUYXJnZXQnXTtcbiAgLyoqXG4gICAqIHdoZXRoZXIgdGhlIG1lbnUgc2hvdWxkIGJsb2NrIHNjcm9sbCB3aGlsZSBvcGVuXG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBtZW51U2hvdWxkQmxvY2tTY3JvbGw/OiBSZWFjdFNlbGVjdFByb3BzWydtZW51U2hvdWxkQmxvY2tTY3JvbGwnXTtcbiAgLyoqXG4gICAqIEhhbmRsZSBjaGFuZ2UgZXZlbnRzIG9uIHRoZSBtZW51IGlucHV0XG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBvbk1lbnVJbnB1dENoYW5nZT86IFJlYWN0U2VsZWN0UHJvcHNbJ29uSW5wdXRDaGFuZ2UnXTtcbiAgLyoqXG4gICAqIENhbiBiZSB1c2VkIHRvIHJlbmRlciBhIGN1c3RvbSB2YWx1ZSB3aGVuIHRoZXJlIGFyZSBubyBvcHRpb25zIChlaXRoZXIgYmVjYXVzZSBvZiBubyBzZWFyY2ggcmVzdWx0cywgb3IgYWxsIG9wdGlvbnMgaGF2ZSBiZWVuIHVzZWQsIG9yIHRoZXJlIHdlcmUgbm9uZSBpbiB0aGUgZmlyc3QgcGxhY2UpLiBHZXRzIGNhbGxlZCB3aXRoIHsgaW5wdXRWYWx1ZTogU3RyaW5nIH0uXG4gICAqIDxiciAvPlxuICAgKiBgaW5wdXRWYWx1ZWAgd2lsbCBiZSBhbiBlbXB0eSBzdHJpbmcgd2hlbiBubyBzZWFyY2ggdGV4dCBpcyBwcmVzZW50LlxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgbm9NZW51T3B0aW9uc01lc3NhZ2U/OiBSZWFjdFNlbGVjdFByb3BzWydub09wdGlvbnNNZXNzYWdlJ107XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGVuYWJsZSBzZWFyY2ggZnVuY3Rpb25hbGl0eS5cbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIGlzTWVudVNlYXJjaGFibGU/OiBSZWFjdFNlbGVjdFByb3BzWydpc1NlYXJjaGFibGUnXTtcbiAgLyoqXG4gICAqIE1heGltdW0gaGVpZ2h0IG9mIHRoZSBtZW51IGJlZm9yZSBzY3JvbGxpbmdcbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIG1heE1lbnVIZWlnaHQ/OiBSZWFjdFNlbGVjdFByb3BzWydtYXhNZW51SGVpZ2h0J107XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBtZW51IHNob3VsZCBjbG9zZSBhZnRlciBhIHZhbHVlIGlzIHNlbGVjdGVkLiBEZWZhdWx0cyB0byBgdHJ1ZWAuXG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBjbG9zZU1lbnVPblNlbGVjdD86IFJlYWN0U2VsZWN0UHJvcHNbJ2Nsb3NlTWVudU9uU2VsZWN0J107XG4gIC8qKlxuICAgKiBIb3Jpem9udGFsIHNpemUgbGltaXQgZm9yIHRoZSBkcm9wZG93biBtZW51LlxuICAgKi9cbiAgbWVudUhvcml6b250YWxDb25zdHJhaW50PzogMyB8IDQgfCA1O1xuICAvKipcbiAgICogU2hvdyBzdWJtaXQgYnV0dG9uIGluIHRoZSBpbnB1dFxuICAgKi9cbiAgc2hvd1N1Ym1pdEJ1dHRvbj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiAgdXNlZCB0byBwYXNzIGRhdGEtKiBwcm9wcyB0byB0aGUgc2VsZWN0IGNvbXBvbmVudC5cbiAgICogZWc6IHNlbGVjdERhdGFQcm9wcz17W3sgJ3Byb3AtMSc6ICd2YWx1ZS0xJyB9LCB7ICdwcm9wLTInOiAndmFsdWUtMicgfV19XG4gICAqL1xuICBzZWxlY3REYXRhUHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAvKipcbiAgICogIHVzZWQgdG8gcGFzcyBkYXRhLSogcHJvcHMgdG8gdGhlIGlucHV0IGVsZW1lbnQuXG4gICAqIGVnOiBpbnB1dERhdGFQcm9wcz17W3sgJ3Byb3AtMSc6ICd2YWx1ZS0xJyB9LCB7ICdwcm9wLTInOiAndmFsdWUtMicgfV19XG4gICAqL1xuICBpbnB1dERhdGFQcm9wcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIC8qKlxuICAgKiBNYXAgb2YgY29tcG9uZW50cyB0byBvdmVyd3JpdGUgdGhlIGRlZmF1bHQgb25lcywgc2VlIHdoYXQgY29tcG9uZW50cyB5b3UgY2FuIG92ZXJyaWRlXG4gICAqIDxici8+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgc2VsZWN0Q3VzdG9tQ29tcG9uZW50cz86IFJlYWN0U2VsZWN0UHJvcHNbJ2NvbXBvbmVudHMnXTtcblxuICAvKipcbiAgICogQ3VzdG9tIGFjdGlvbiBpY29uIHRvIGJlIGRpc3BsYXllZCBvbiB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgaW5wdXQuXG4gICAqL1xuICByaWdodEFjdGlvbkljb24/OiBSZWFjdEVsZW1lbnQ7XG4gIC8qKlxuICAgKiBQcm9wcyBmb3IgdGhlIHJpZ2h0LWFjdGlvbiBpY29uLWJ1dHRvbi4gUmVxdWlyZWQgd2hlbiByaWdodEFjdGlvbkljb24gaXMgcHJvdmlkZWQuXG4gICAqIEF0IGxlYXN0IGEgYGxhYmVsYCBhbmQgYW4gYG9uQ2xpY2tgIHByb3AvZnVuY3Rpb24gbmVlZCB0byBiZSBwcm92aWRlZC5cbiAgICovXG4gIHJpZ2h0QWN0aW9uUHJvcHM/OiBUSWNvbkJ1dHRvblByb3BzO1xufTtcblxuY29uc3Qgc2VsZWN0YWJsZVNlYXJjaElucHV0U2VxdWVudGlhbElkID0gY3JlYXRlU2VxdWVudGlhbElkKFxuICAnc2VsZWN0YWJsZS1zZWFyY2gtaW5wdXQtJ1xuKTtcblxuY29uc3QgaXNPcHRpb25PYmplY3QgPSAoXG4gIG9wdGlvbjogVE9wdGlvbiB8IFRPcHRpb25PYmplY3Rcbik6IG9wdGlvbiBpcyBUT3B0aW9uT2JqZWN0ID0+IChvcHRpb24gYXMgVE9wdGlvbk9iamVjdCkub3B0aW9ucyAhPT0gdW5kZWZpbmVkO1xuXG5jb25zdCB0cmFuc2Zvcm1EYXRhUHJvcHMgPSAoZGF0YVByb3BzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPikgPT5cbiAgT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgIE9iamVjdC5lbnRyaWVzKGRhdGFQcm9wcyB8fCB7fSkubWFwKChba2V5LCB2YWx1ZV0pID0+IFtcbiAgICAgIGBkYXRhLSR7a2V5fWAsXG4gICAgICB2YWx1ZSxcbiAgICBdKVxuICApO1xuXG5jb25zdCBTZWxlY3RhYmxlU2VhcmNoSW5wdXQgPSAoe1xuICBob3Jpem9udGFsQ29uc3RyYWludCA9ICdzY2FsZScsXG4gIGlzQ2xlYXJhYmxlID0gdHJ1ZSxcbiAgbWVudUhvcml6b250YWxDb25zdHJhaW50ID0gMyxcbiAgc2hvd1N1Ym1pdEJ1dHRvbiA9IHRydWUsXG4gIG1lbnVQb3J0YWxaSW5kZXggPSAxLFxuICBvbkNoYW5nZSxcbiAgLi4ucHJvcHNcbn06IFRTZWxlY3RhYmxlU2VhcmNoSW5wdXRQcm9wcykgPT4ge1xuICBjb25zdCBbZHJvcGRvd25IYXNGb2N1cywgdG9nZ2xlRHJvcGRvd25IYXNGb2N1c10gPSB1c2VUb2dnbGVTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtzZWFyY2hWYWx1ZSwgc2V0U2VhcmNoVmFsdWVdID0gdXNlU3RhdGUocHJvcHMudmFsdWUudGV4dCB8fCAnJyk7XG4gIGNvbnN0IFtzZWFyY2hPcHRpb24sIHNldFNlYXJjaE9wdGlvbl0gPSB1c2VTdGF0ZShwcm9wcy52YWx1ZS5vcHRpb24gfHwgJycpO1xuICBjb25zdCBjb250YWluZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQgfCBudWxsPihudWxsKTtcbiAgY29uc3QgdGV4dElucHV0UmVmID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KG51bGwpO1xuXG4gIGNvbnN0IGFsbFByb3BzID0ge1xuICAgIGhvcml6b250YWxDb25zdHJhaW50LFxuICAgIGlzQ2xlYXJhYmxlLFxuICAgIG1lbnVIb3Jpem9udGFsQ29uc3RyYWludCxcbiAgICBzaG93U3VibWl0QnV0dG9uLFxuICAgIG1lbnVQb3J0YWxaSW5kZXgsXG4gICAgb25DaGFuZ2UsXG4gICAgLi4ucHJvcHMsXG4gIH07XG4gIGNvbnN0IGxlZ2FjeURhdGFQcm9wcyA9IGZpbHRlckRhdGFBdHRyaWJ1dGVzKHByb3BzKTtcbiAgY29uc3QgdHJhbnNmb3JtZWRTZWxlY3REYXRhUHJvcHMgPSB0cmFuc2Zvcm1EYXRhUHJvcHMocHJvcHMuc2VsZWN0RGF0YVByb3BzKTtcbiAgY29uc3QgdHJhbnNmb3JtZWRJbnB1dERhdGFQcm9wcyA9IHRyYW5zZm9ybURhdGFQcm9wcyhwcm9wcy5pbnB1dERhdGFQcm9wcyk7XG4gIGNvbnN0IHNlYXJjaElucHV0VmFsdWUgPSBwcm9wcy5fZXhwZXJpbWVudGFsVmFsdWU/LnRleHQgPz8gc2VhcmNoVmFsdWU7XG4gIGNvbnN0IHNlYXJjaElucHV0T3B0aW9uID0gcHJvcHMuX2V4cGVyaW1lbnRhbFZhbHVlPy5vcHRpb24gPz8gc2VhcmNoT3B0aW9uO1xuXG4gIGNvbnN0IG9wdGlvbnNXaXRob3V0R3JvdXBzID0gcHJvcHMub3B0aW9ucy5mbGF0TWFwKChvcHRpb24pID0+IHtcbiAgICBpZiAoaXNPcHRpb25PYmplY3Qob3B0aW9uKSkge1xuICAgICAgcmV0dXJuIG9wdGlvbi5vcHRpb25zO1xuICAgIH1cbiAgICByZXR1cm4gb3B0aW9uO1xuICB9KTtcblxuICBjb25zdCBzZWxlY3RlZE9wdGlvbiA9IG9wdGlvbnNXaXRob3V0R3JvdXBzLmZpbmQoXG4gICAgKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSBzZWFyY2hJbnB1dE9wdGlvblxuICApO1xuXG4gIGlmIChwcm9wcy5yaWdodEFjdGlvbkljb24gJiYgIXByb3BzLnJpZ2h0QWN0aW9uUHJvcHMpIHtcbiAgICB3YXJuaW5nKFxuICAgICAgZmFsc2UsXG4gICAgICAnU2VsZWN0YWJsZVNlYXJjaElucHV0OiBgcmlnaHRBY3Rpb25JY29uYCBpcyBwcm92aWRlZCBidXQgYHJpZ2h0QWN0aW9uUHJvcHNgIGlzIG1pc3NpbmcuIFByb3ZpZGUgYW4gb2JqZWN0IHdpdGggYSBgbGFiZWxgIGFuZCBgb25DbGlja2AgcHJvcGVydHkuJ1xuICAgICk7XG4gIH1cbiAgY29uc3Qgc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCA9IHVzZUZpZWxkSWQoXG4gICAgcHJvcHMuaWQsXG4gICAgc2VsZWN0YWJsZVNlYXJjaElucHV0U2VxdWVudGlhbElkXG4gICk7XG5cbiAgaWYgKCFwcm9wcy5pc1JlYWRPbmx5KSB7XG4gICAgd2FybmluZyhcbiAgICAgIHR5cGVvZiBvbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyxcbiAgICAgICdTZWxlY3RhYmxlU2VhcmNoSW5wdXQ6IGBvbkNoYW5nZWAgaXMgcmVxdWlyZWQgd2hlbiBpcyBub3QgcmVhZCBvbmx5LidcbiAgICApO1xuICB9XG5cbiAgd2FybklmTWVudVBvcnRhbFByb3BzQXJlTWlzc2luZyh7XG4gICAgbWVudVBvcnRhbFpJbmRleDogbWVudVBvcnRhbFpJbmRleCxcbiAgICBtZW51UG9ydGFsVGFyZ2V0OiBwcm9wcy5tZW51UG9ydGFsVGFyZ2V0LFxuICAgIGNvbXBvbmVudE5hbWU6ICdTZWxlY3RhYmxlU2VhcmNoSW5wdXQnLFxuICB9KTtcblxuICBjb25zdCB7IG9uRm9jdXMsIG9uQmx1ciwgbmFtZSB9ID0gcHJvcHM7XG4gIGNvbnN0IGhhbmRsZVRleHRJbnB1dEZvY3VzID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChvbkZvY3VzKSB7XG4gICAgICBvbkZvY3VzKHtcbiAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgaWQ6IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKSxcbiAgICAgICAgICBuYW1lOiBnZXRUZXh0SW5wdXROYW1lKG5hbWUpLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbb25Gb2N1cywgc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCwgbmFtZV0pO1xuXG4gIGNvbnN0IGhhbmRsZVRleHRJbnB1dEJsdXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKG9uQmx1cikge1xuICAgICAgb25CbHVyKHtcbiAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgaWQ6IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKSxcbiAgICAgICAgICBuYW1lOiBnZXRUZXh0SW5wdXROYW1lKG5hbWUpLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbb25CbHVyLCBzZWxlY3RhYmxTZWFyY2hJbnB1dElkLCBuYW1lXSk7XG5cbiAgY29uc3QgaGFuZGxlQ2xlYXIgPSAoKSA9PiB7XG4gICAgc2V0U2VhcmNoVmFsdWUoJycpO1xuICAgIGlmIChwcm9wcy5vblJlc2V0KSB7XG4gICAgICBwcm9wcy5vblJlc2V0KCk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVRleHRJbnB1dENoYW5nZSA9IChldmVudDogQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHtcbiAgICBzZXRTZWFyY2hWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xuICAgIGlmIChvbkNoYW5nZSkge1xuICAgICAgb25DaGFuZ2Uoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpLFxuICAgICAgICAgIG5hbWU6IGdldFRleHRJbnB1dE5hbWUocHJvcHMubmFtZSksXG4gICAgICAgICAgdmFsdWU6IGV2ZW50LnRhcmdldC52YWx1ZSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVTdWJtaXQgPSAoXG4gICAgZXZlbnQ6XG4gICAgICB8IEtleWJvYXJkRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQ+XG4gICAgICB8IE1vdXNlRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQ+XG4gICAgICB8IEtleWJvYXJkRXZlbnQ8SFRNTElucHV0RWxlbWVudD5cbiAgKSA9PiB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAocHJvcHMub25TdWJtaXQpIHtcbiAgICAgIHByb3BzLm9uU3VibWl0KHtcbiAgICAgICAgdGV4dDogc2VhcmNoSW5wdXRWYWx1ZSxcbiAgICAgICAgb3B0aW9uOiBzZWxlY3RlZE9wdGlvbj8udmFsdWUgPz8gJycsXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgZHJvcGRvd25OYW1lID0gZ2V0RHJvcGRvd25OYW1lKHByb3BzLm5hbWUpO1xuICBjb25zdCBkcm9wZG93bklkID0gU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldERyb3Bkb3duSWQoXG4gICAgc2VsZWN0YWJsU2VhcmNoSW5wdXRJZFxuICApO1xuXG4gIGNvbnN0IGhhbmRsZURyb3Bkb3duRm9jdXMgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKG9uRm9jdXMpIHtcbiAgICAgIG9uRm9jdXMoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogZHJvcGRvd25JZCxcbiAgICAgICAgICBuYW1lOiBkcm9wZG93bk5hbWUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gICAgdG9nZ2xlRHJvcGRvd25IYXNGb2N1cyh0cnVlKTtcbiAgfSwgW29uRm9jdXMsIHRvZ2dsZURyb3Bkb3duSGFzRm9jdXMsIGRyb3Bkb3duTmFtZSwgZHJvcGRvd25JZF0pO1xuXG4gIGNvbnN0IGhhbmRsZURyb3Bkb3duQmx1ciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAob25CbHVyKSB7XG4gICAgICBvbkJsdXIoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogZHJvcGRvd25JZCxcbiAgICAgICAgICBuYW1lOiBkcm9wZG93bk5hbWUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gICAgdG9nZ2xlRHJvcGRvd25IYXNGb2N1cyhmYWxzZSk7XG4gIH0sIFt0b2dnbGVEcm9wZG93bkhhc0ZvY3VzLCBvbkJsdXIsIGRyb3Bkb3duTmFtZSwgZHJvcGRvd25JZF0pO1xuXG4gIGNvbnN0IGhhbmRsZUNvbnRhaW5lckJsdXIgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQ6IEZvY3VzRXZlbnQpID0+IHtcbiAgICAgIC8vIGVuc3VyZXMgdGhhdCBib3RoIGZpZWxkcyBhcmUgbWFya2VkIGFzIHRvdWNoZWQgd2hlbiBvbmUgb2YgdGhlbVxuICAgICAgLy8gaXMgYmx1cnJlZFxuICAgICAgaWYgKFxuICAgICAgICB0eXBlb2Ygb25CbHVyID09PSAnZnVuY3Rpb24nICYmXG4gICAgICAgICFjb250YWluZXJSZWYuY3VycmVudD8uY29udGFpbnMoZXZlbnQucmVsYXRlZFRhcmdldClcbiAgICAgICkge1xuICAgICAgICBvbkJsdXIoe1xuICAgICAgICAgIHRhcmdldDoge1xuICAgICAgICAgICAgaWQ6IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXREcm9wZG93bklkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpLFxuICAgICAgICAgICAgbmFtZTogZ2V0RHJvcGRvd25OYW1lKG5hbWUpLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBvbkJsdXIoe1xuICAgICAgICAgIHRhcmdldDoge1xuICAgICAgICAgICAgaWQ6IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKSxcbiAgICAgICAgICAgIG5hbWU6IGdldFRleHRJbnB1dE5hbWUobmFtZSksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbb25CbHVyLCBzZWxlY3RhYmxTZWFyY2hJbnB1dElkLCBuYW1lXVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZURyb3Bkb3duQ2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgKG5leHRTZWxlY3RlZE9wdGlvbnM6IHsgdmFsdWU6IHN0cmluZyB9ICYgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IHtcbiAgICAgIHNldFNlYXJjaE9wdGlvbihuZXh0U2VsZWN0ZWRPcHRpb25zLnZhbHVlKTtcbiAgICAgIGlmIChvbkNoYW5nZSkge1xuICAgICAgICBvbkNoYW5nZSh7XG4gICAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgICBpZDogU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldERyb3Bkb3duSWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCksXG4gICAgICAgICAgICBuYW1lOiBnZXREcm9wZG93bk5hbWUobmFtZSksXG4gICAgICAgICAgICB2YWx1ZTogbmV4dFNlbGVjdGVkT3B0aW9ucy52YWx1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHRleHRJbnB1dFJlZi5jdXJyZW50Py5mb2N1cygpO1xuICAgIH0sXG4gICAgW29uQ2hhbmdlLCBzZWxlY3RhYmxTZWFyY2hJbnB1dElkLCBuYW1lXVxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPENvbnN0cmFpbnRzLkhvcml6b250YWwgbWF4PXtob3Jpem9udGFsQ29uc3RyYWludH0+XG4gICAgICA8Q29udGFpbmVyXG4gICAgICAgIHJlZj17Y29udGFpbmVyUmVmfVxuICAgICAgICBvbkJsdXI9e2hhbmRsZUNvbnRhaW5lckJsdXJ9XG4gICAgICAgIGRhdGEtdGVzdGlkPVwic2VsZWN0YWJsZS1zZWFyY2gtaW5wdXQtY29udGFpbmVyXCJcbiAgICAgID5cbiAgICAgICAgPENvbnN0cmFpbnRzLkhvcml6b250YWwgbWF4PXttZW51SG9yaXpvbnRhbENvbnN0cmFpbnR9PlxuICAgICAgICAgIDxTZWxlY3RhYmxlU2VsZWN0XG4gICAgICAgICAgICB7Li4uYWxsUHJvcHN9XG4gICAgICAgICAgICBpZD17U2VsZWN0YWJsZVNlYXJjaElucHV0LmdldERyb3Bkb3duSWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCl9XG4gICAgICAgICAgICBuYW1lPXtnZXREcm9wZG93bk5hbWUocHJvcHMubmFtZSl9XG4gICAgICAgICAgICBkcm9wZG93bkhhc0ZvY3VzPXtkcm9wZG93bkhhc0ZvY3VzfVxuICAgICAgICAgICAgaXNDb25kZW5zZWQ9e3Byb3BzLmlzQ29uZGVuc2VkID8/IGZhbHNlfVxuICAgICAgICAgICAgaGFuZGxlRHJvcGRvd25Gb2N1cz17aGFuZGxlRHJvcGRvd25Gb2N1c31cbiAgICAgICAgICAgIGhhbmRsZURyb3Bkb3duQmx1cj17aGFuZGxlRHJvcGRvd25CbHVyfVxuICAgICAgICAgICAgaGFuZGxlRHJvcGRvd25DaGFuZ2U9e1xuICAgICAgICAgICAgICBoYW5kbGVEcm9wZG93bkNoYW5nZSBhcyBSZWFjdFNlbGVjdFByb3BzWydvbkNoYW5nZSddXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0ZXh0SW5wdXRSZWY9e3RleHRJbnB1dFJlZn1cbiAgICAgICAgICAgIHNlbGVjdGVkT3B0aW9uPXtzZWxlY3RlZE9wdGlvbn1cbiAgICAgICAgICAgIGRhdGFQcm9wcz17dHJhbnNmb3JtZWRTZWxlY3REYXRhUHJvcHN9XG4gICAgICAgICAgICBzZWxlY3RDdXN0b21Db21wb25lbnRzPXtwcm9wcy5zZWxlY3RDdXN0b21Db21wb25lbnRzfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvQ29uc3RyYWludHMuSG9yaXpvbnRhbD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNzcz17W1xuICAgICAgICAgICAgZ2V0U2VsZWN0YWJsZVNlYXJjaElucHV0Q29udGFpbmVyU3R5bGVzKGFsbFByb3BzKSxcbiAgICAgICAgICAgIGRyb3Bkb3duSGFzRm9jdXMgJiZcbiAgICAgICAgICAgICAgIXByb3BzLmlzUmVhZE9ubHkgJiZcbiAgICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAke2Rlc2lnblRva2Vucy5ib3JkZXJDb2xvckZvcklucHV0V2hlbkZvY3VzZWR9O1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR7ZGVzaWduVG9rZW5zLmJvcmRlckNvbG9yRm9ySW5wdXRXaGVuRm9jdXNlZH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBgLFxuICAgICAgICAgIF19XG4gICAgICAgID5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHJlZj17dGV4dElucHV0UmVmfVxuICAgICAgICAgICAgaWQ9e1NlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKX1cbiAgICAgICAgICAgIG5hbWU9e2dldFRleHRJbnB1dE5hbWUocHJvcHMubmFtZSl9XG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICB2YWx1ZT17c2VhcmNoSW5wdXRWYWx1ZX1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVUZXh0SW5wdXRDaGFuZ2V9XG4gICAgICAgICAgICBvbkJsdXI9e2hhbmRsZVRleHRJbnB1dEJsdXJ9XG4gICAgICAgICAgICBvbkZvY3VzPXtoYW5kbGVUZXh0SW5wdXRGb2N1c31cbiAgICAgICAgICAgIGRpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkfVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3Byb3BzLnBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgcmVhZE9ubHk9e3Byb3BzLmlzUmVhZE9ubHl9XG4gICAgICAgICAgICBhdXRvRm9jdXM9e3Byb3BzLmlzQXV0b2ZvY3Vzc2VkfVxuICAgICAgICAgICAgYXV0b0NvbXBsZXRlPXtwcm9wcy5hdXRvQ29tcGxldGV9XG4gICAgICAgICAgICBhcmlhLXJlYWRvbmx5PXtwcm9wcy5pc1JlYWRPbmx5fVxuICAgICAgICAgICAgY29udGVudEVkaXRhYmxlPXshcHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgIGNzcz17Z2V0U2VsZWN0YWJsZVNlYXJjaElucHV0U3R5bGVzKGFsbFByb3BzKX1cbiAgICAgICAgICAgIHsuLi50cmFuc2Zvcm1lZElucHV0RGF0YVByb3BzfVxuICAgICAgICAgICAgey4uLmxlZ2FjeURhdGFQcm9wc31cbiAgICAgICAgICAgIC8qIEFSSUEgKi9cbiAgICAgICAgICAgIGFyaWEtaW52YWxpZD17cHJvcHNbJ2FyaWEtaW52YWxpZCddfVxuICAgICAgICAgICAgYXJpYS1lcnJvcm1lc3NhZ2U9e3Byb3BzWydhcmlhLWVycm9ybWVzc2FnZSddfVxuICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJzZWxlY3RhYmxlLWlucHV0XCJcbiAgICAgICAgICAgIG9uS2V5RG93bj17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgIGlmICghcHJvcHMuaXNSZWFkT25seSAmJiBldmVudC5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgICAgICAgICAgICBoYW5kbGVTdWJtaXQoZXZlbnQpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2lzQ2xlYXJhYmxlICYmXG4gICAgICAgICAgICBzZWFyY2hJbnB1dFZhbHVlICYmXG4gICAgICAgICAgICAhcHJvcHMuaXNEaXNhYmxlZCAmJlxuICAgICAgICAgICAgIXByb3BzLmlzUmVhZE9ubHkgJiYgKFxuICAgICAgICAgICAgICA8U2Vjb25kYXJ5SWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgIGljb249ezxDbG9zZUljb24gLz59XG4gICAgICAgICAgICAgICAgc2l6ZT17cHJvcHMuaXNDb25kZW5zZWQgPyAnMTAnIDogJzIwJ31cbiAgICAgICAgICAgICAgICBsYWJlbD17J2NsZWFyLWJ1dHRvbid9XG4gICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlQ2xlYXJ9XG4gICAgICAgICAgICAgICAgY3NzPXtnZXRDbGVhckljb25CdXR0b25TdHlsZXMoYWxsUHJvcHMpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICB7c2hvd1N1Ym1pdEJ1dHRvbiAmJiAoXG4gICAgICAgICAgICA8U2Vjb25kYXJ5SWNvbkJ1dHRvblxuICAgICAgICAgICAgICBpY29uPXs8U2VhcmNoSWNvbiAvPn1cbiAgICAgICAgICAgICAgc2l6ZT17cHJvcHMuaXNDb25kZW5zZWQgPyAnMjAnIDogJzQwJ31cbiAgICAgICAgICAgICAgbGFiZWw9eydzZWFyY2gtYnV0dG9uJ31cbiAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlU3VibWl0fVxuICAgICAgICAgICAgICBjc3M9e2dldFNlYXJjaEljb25CdXR0b25TdHlsZXMoYWxsUHJvcHMpfVxuICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAge3Byb3BzLnJpZ2h0QWN0aW9uSWNvbiAmJiBwcm9wcy5yaWdodEFjdGlvblByb3BzICYmIChcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgb3JkZXI6IDQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH07XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgdGhlbWU9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkIHx8IHByb3BzLmlzUmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgc2l6ZT17cHJvcHMuaXNDb25kZW5zZWQgPyAnMTAnIDogJzIwJ31cbiAgICAgICAgICAgICAgICBpY29uPXtwcm9wcy5yaWdodEFjdGlvbkljb259XG4gICAgICAgICAgICAgICAgey4uLnByb3BzLnJpZ2h0QWN0aW9uUHJvcHN9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvQ29udGFpbmVyPlxuICAgIDwvQ29uc3RyYWludHMuSG9yaXpvbnRhbD5cbiAgKTtcbn07XG5cblNlbGVjdGFibGVTZWFyY2hJbnB1dC5kaXNwbGF5TmFtZSA9ICdTZWxlY3RhYmxlU2VhcmNoSW5wdXQnO1xuU2VsZWN0YWJsZVNlYXJjaElucHV0LmlzRW1wdHkgPSAoXG4gIGZvcm1WYWx1ZTogVFNlbGVjdGFibGVTZWFyY2hJbnB1dFByb3BzWyd2YWx1ZSddXG4pID0+ICFmb3JtVmFsdWUgfHwgZm9ybVZhbHVlLnRleHQudHJpbSgpID09PSAnJztcblNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZCA9IGdldFRleHRJbnB1dE5hbWU7XG5TZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0RHJvcGRvd25JZCA9IGdldERyb3Bkb3duTmFtZTtcblxuZXhwb3J0IGRlZmF1bHQgU2VsZWN0YWJsZVNlYXJjaElucHV0O1xuIl19 */",
|
|
286
270
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
287
271
|
});
|
|
288
272
|
const getTextInputName = name => name ? `${name}.textInput` : undefined;
|
|
@@ -310,6 +294,7 @@ const SelectableSearchInput = _ref3 => {
|
|
|
310
294
|
showSubmitButton = _ref3$showSubmitButto === void 0 ? true : _ref3$showSubmitButto,
|
|
311
295
|
_ref3$menuPortalZInde = _ref3.menuPortalZIndex,
|
|
312
296
|
menuPortalZIndex = _ref3$menuPortalZInde === void 0 ? 1 : _ref3$menuPortalZInde,
|
|
297
|
+
onChange = _ref3.onChange,
|
|
313
298
|
props = _objectWithoutProperties(_ref3, _excluded);
|
|
314
299
|
const _useToggleState = hooks.useToggleState(false),
|
|
315
300
|
_useToggleState2 = _slicedToArray(_useToggleState, 2),
|
|
@@ -330,7 +315,8 @@ const SelectableSearchInput = _ref3 => {
|
|
|
330
315
|
isClearable,
|
|
331
316
|
menuHorizontalConstraint,
|
|
332
317
|
showSubmitButton,
|
|
333
|
-
menuPortalZIndex
|
|
318
|
+
menuPortalZIndex,
|
|
319
|
+
onChange
|
|
334
320
|
}, props);
|
|
335
321
|
const legacyDataProps = utils.filterDataAttributes(props);
|
|
336
322
|
const transformedSelectDataProps = transformDataProps(props.selectDataProps);
|
|
@@ -349,7 +335,7 @@ const SelectableSearchInput = _ref3 => {
|
|
|
349
335
|
}
|
|
350
336
|
const selectablSearchInputId = hooks.useFieldId(props.id, selectableSearchInputSequentialId);
|
|
351
337
|
if (!props.isReadOnly) {
|
|
352
|
-
process.env.NODE_ENV !== "production" ? utils.warning(typeof
|
|
338
|
+
process.env.NODE_ENV !== "production" ? utils.warning(typeof onChange === 'function', 'SelectableSearchInput: `onChange` is required when is not read only.') : void 0;
|
|
353
339
|
}
|
|
354
340
|
selectUtils.warnIfMenuPortalPropsAreMissing({
|
|
355
341
|
menuPortalZIndex: menuPortalZIndex,
|
|
@@ -387,8 +373,8 @@ const SelectableSearchInput = _ref3 => {
|
|
|
387
373
|
};
|
|
388
374
|
const handleTextInputChange = event => {
|
|
389
375
|
setSearchValue(event.target.value);
|
|
390
|
-
if (
|
|
391
|
-
|
|
376
|
+
if (onChange) {
|
|
377
|
+
onChange({
|
|
392
378
|
target: {
|
|
393
379
|
id: SelectableSearchInput.getTextInputId(selectablSearchInputId),
|
|
394
380
|
name: getTextInputName(props.name),
|
|
@@ -450,8 +436,8 @@ const SelectableSearchInput = _ref3 => {
|
|
|
450
436
|
}, [onBlur, selectablSearchInputId, name]);
|
|
451
437
|
const handleDropdownChange = react$1.useCallback(nextSelectedOptions => {
|
|
452
438
|
setSearchOption(nextSelectedOptions.value);
|
|
453
|
-
if (
|
|
454
|
-
|
|
439
|
+
if (onChange) {
|
|
440
|
+
onChange({
|
|
455
441
|
target: {
|
|
456
442
|
id: SelectableSearchInput.getDropdownId(selectablSearchInputId),
|
|
457
443
|
name: getDropdownName(name),
|
|
@@ -460,7 +446,7 @@ const SelectableSearchInput = _ref3 => {
|
|
|
460
446
|
});
|
|
461
447
|
}
|
|
462
448
|
textInputRef.current?.focus();
|
|
463
|
-
}, [
|
|
449
|
+
}, [onChange, selectablSearchInputId, name]);
|
|
464
450
|
return jsxRuntime.jsx(Constraints__default["default"].Horizontal, {
|
|
465
451
|
max: horizontalConstraint,
|
|
466
452
|
children: jsxRuntime.jsxs(Container, {
|
|
@@ -483,7 +469,7 @@ const SelectableSearchInput = _ref3 => {
|
|
|
483
469
|
selectCustomComponents: props.selectCustomComponents
|
|
484
470
|
}))
|
|
485
471
|
}), jsxRuntime.jsxs("div", {
|
|
486
|
-
css: [getSelectableSearchInputContainerStyles(allProps), dropdownHasFocus && !props.isReadOnly && /*#__PURE__*/react.css("border-left-color:", designSystem.designTokens.borderColorForInputWhenFocused, ";&:hover{border-left-color:", designSystem.designTokens.borderColorForInputWhenFocused, ";}" + (process.env.NODE_ENV === "production" ? "" : ";label:SelectableSearchInput;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNlbGVjdGFibGUtc2VhcmNoLWlucHV0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpZWlCIiwiZmlsZSI6InNlbGVjdGFibGUtc2VhcmNoLWlucHV0LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgTW91c2VFdmVudCxcbiAgdHlwZSBLZXlib2FyZEV2ZW50LFxuICB0eXBlIENoYW5nZUV2ZW50LFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdXNlU3RhdGUsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VSZWYsXG4gIFJlYWN0RWxlbWVudCxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFNlY29uZGFyeUljb25CdXR0b24gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc2Vjb25kYXJ5LWljb24tYnV0dG9uJztcbmltcG9ydCBJY29uQnV0dG9uLCB7XG4gIHR5cGUgVEljb25CdXR0b25Qcm9wcyxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbi1idXR0b24nO1xuaW1wb3J0IENvbnN0cmFpbnRzIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2NvbnN0cmFpbnRzJztcbmltcG9ydCB7IFNlYXJjaEljb24sIENsb3NlSWNvbiB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zJztcbmltcG9ydCB7XG4gIGNyZWF0ZVNlcXVlbnRpYWxJZCxcbiAgZmlsdGVyRGF0YUF0dHJpYnV0ZXMsXG4gIHdhcm5pbmcsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3V0aWxzJztcbmltcG9ydCB7IHdhcm5JZk1lbnVQb3J0YWxQcm9wc0FyZU1pc3NpbmcgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9zZWxlY3QtdXRpbHMnO1xuaW1wb3J0IHtcbiAgZ2V0Q2xlYXJJY29uQnV0dG9uU3R5bGVzLFxuICBnZXRTZWFyY2hJY29uQnV0dG9uU3R5bGVzLFxuICBnZXRTZWxlY3RhYmxlU2VhcmNoSW5wdXRDb250YWluZXJTdHlsZXMsXG4gIGdldFNlbGVjdGFibGVTZWFyY2hJbnB1dFN0eWxlcyxcbn0gZnJvbSAnLi9zZWxlY3RhYmxlLXNlYXJjaC1pbnB1dC5zdHlsZXMnO1xuaW1wb3J0IFNlbGVjdGFibGVTZWxlY3QgZnJvbSAnLi9zZWxlY3RhYmxlLXNlbGVjdCc7XG5pbXBvcnQgeyB1c2VGaWVsZElkLCB1c2VUb2dnbGVTdGF0ZSB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2hvb2tzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGRlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgdHlwZSBQcm9wcyBhcyBSZWFjdFNlbGVjdFByb3BzIH0gZnJvbSAncmVhY3Qtc2VsZWN0JztcblxuY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbmA7XG5cbmNvbnN0IGdldFRleHRJbnB1dE5hbWUgPSAobmFtZT86IHN0cmluZykgPT5cbiAgbmFtZSA/IGAke25hbWV9LnRleHRJbnB1dGAgOiB1bmRlZmluZWQ7XG5cbmNvbnN0IGdldERyb3Bkb3duTmFtZSA9IChuYW1lPzogc3RyaW5nKSA9PlxuICBuYW1lID8gYCR7bmFtZX0uZHJvcGRvd25gIDogdW5kZWZpbmVkO1xuXG5leHBvcnQgdHlwZSBUQ3VzdG9tRXZlbnQgPSB7XG4gIHRhcmdldDoge1xuICAgIGlkPzogc3RyaW5nO1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgdmFsdWU/OiBzdHJpbmcgfCBzdHJpbmdbXSB8IG51bGw7XG4gIH07XG4gIHBlcnNpc3Q/OiAoKSA9PiB2b2lkO1xufTtcblxuZXhwb3J0IHR5cGUgVFZhbHVlID0ge1xuICB0ZXh0OiBzdHJpbmc7XG4gIG9wdGlvbjogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgVE9wdGlvbiA9IHtcbiAgdmFsdWU6IHN0cmluZztcbiAgbGFiZWw/OiBSZWFjdE5vZGU7XG59O1xuXG5leHBvcnQgdHlwZSBUT3B0aW9uT2JqZWN0ID0ge1xuICBvcHRpb25zOiBUT3B0aW9uW107XG59O1xuXG5leHBvcnQgdHlwZSBUT3B0aW9ucyA9IFRPcHRpb25bXSB8IFRPcHRpb25PYmplY3RbXTtcblxuZXhwb3J0IHR5cGUgVFNlbGVjdGFibGVTZWFyY2hJbnB1dFByb3BzID0ge1xuICAvKipcbiAgICogVXNlZCBhcyBIVE1MIGlkIHByb3BlcnR5LiBBbiBpZCBpcyBhdXRvLWdlbmVyYXRlZCB3aGVuIGl0IGlzIG5vdCBzcGVjaWZpZWQuXG4gICAqL1xuICBpZD86IHN0cmluZztcbiAgLyoqXG4gICAqIFVzZWQgYXMgSFRNTCBhdXRvY29tcGxldGUgcHJvcGVydHlcbiAgICovXG4gIGF1dG9Db21wbGV0ZT86IHN0cmluZztcbiAgLyoqXG4gICAqIEluZGljYXRlIGlmIHRoZSB2YWx1ZSBlbnRlcmVkIGluIHRoZSBpbnB1dCBpcyBpbnZhbGlkLlxuICAgKi9cbiAgJ2FyaWEtaW52YWxpZCc/OiBib29sZWFuO1xuICAvKipcbiAgICogSFRNTCBJRCBvZiBhbiBlbGVtZW50IGNvbnRhaW5pbmcgYW4gZXJyb3IgbWVzc2FnZSByZWxhdGVkIHRvIHRoZSBpbnB1dC5cbiAgICovXG4gICdhcmlhLWVycm9ybWVzc2FnZSc/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBVc2VkIGFzIEhUTUwgbmFtZSBvZiB0aGUgaW5wdXQgY29tcG9uZW50IHByb3BlcnR5LlxuICAgKi9cbiAgbmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFZhbHVlIG9mIHRoZSBpbnB1dC4gQ29uc2lzdHMgb2YgdGV4dCBpbnB1dCBhbmQgc2VsZWN0ZWQgb3B0aW9uLlxuICAgKi9cbiAgdmFsdWU6IFRWYWx1ZTtcbiAgX2V4cGVyaW1lbnRhbFZhbHVlPzogVFZhbHVlO1xuICAvKipcbiAgICogQ2FsbGVkIHdpdGggdGhlIGV2ZW50IG9mIHRoZSBpbnB1dCBvciBkcm9wZG93biB3aGVuIGVpdGhlciB0aGUgc2VsZWN0YWJsZSBkcm9wZG93biBvciB0aGUgdGV4dCBpbnB1dCBoYXZlIGNoYW5nZWQuXG4gICAqIFRoZSBjaGFuZ2UgZXZlbnQgZnJvbSB0aGUgdGV4dCBpbnB1dCBoYXMgYSBzdWZmaXggb2YgYC50ZXh0SW5wdXRgIGFuZCB0aGUgY2hhbmdlIGV2ZW50IGZyb20gdGhlIGRyb3Bkb3duIGhhcyBhIHN1ZmZpeCBvZiBgLmRyb3Bkb3duYC5cbiAgICovXG4gIG9uQ2hhbmdlPzogKGV2ZW50OiBUQ3VzdG9tRXZlbnQpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiBpbnB1dCBpcyBibHVycmVkXG4gICAqL1xuICBvbkJsdXI/OiAoZXZlbnQ6IFRDdXN0b21FdmVudCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGlucHV0IGlzIGZvY3VzZWRcbiAgICovXG4gIG9uRm9jdXM/OiAoZXZlbnQ6IFRDdXN0b21FdmVudCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIEhhbmRsZXIgd2hlbiB0aGUgc2VhcmNoIGJ1dHRvbiBpcyBjbGlja2VkLlxuICAgKi9cbiAgb25TdWJtaXQ6ICh2YWx1ZTogVFZhbHVlKSA9PiB2b2lkO1xuICAvKipcbiAgICogSGFuZGxlciB3aGVuIHRoZSBjbGVhciBidXR0b24gaXMgY2xpY2tlZC5cbiAgICovXG4gIG9uUmVzZXQ/OiAoKSA9PiB2b2lkO1xuICAvKipcbiAgICogRm9jdXMgdGhlIGlucHV0IG9uIGluaXRpYWwgcmVuZGVyXG4gICAqL1xuICBpc0F1dG9mb2N1c3NlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgdGhhdCB0aGUgaW5wdXQgY2Fubm90IGJlIG1vZGlmaWVkIChlLmcgbm90IGF1dGhvcml6ZWQsIG9yIGNoYW5nZXMgY3VycmVudGx5IHNhdmluZykuXG4gICAqL1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyB0aGF0IHRoZSBmaWVsZCBpcyBkaXNwbGF5aW5nIHJlYWQtb25seSBjb250ZW50XG4gICAqL1xuICBpc1JlYWRPbmx5PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgaW5wdXQgaGFzIGludmFsaWQgdmFsdWVzXG4gICAqL1xuICBoYXNFcnJvcj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGlucHV0IGhhcyB3YXJuaW5nIHZhbHVlc1xuICAgKi9cbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBQbGFjZWhvbGRlciB0ZXh0IGZvciB0aGUgaW5wdXRcbiAgICovXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBpbnB1dCBzaG91bGQgYmUgY2xlYXJlZCB3aGVuIHRoZSBjbGVhciBidXR0b24gaXMgY2xpY2tlZC5cbiAgICogRGVmYXVsdHMgdG8gdHJ1ZS5cbiAgICpcbiAgICovXG4gIGlzQ2xlYXJhYmxlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFVzZSB0aGlzIHByb3BlcnR5IHRvIHJlZHVjZSB0aGUgcGFkZGluZ3Mgb2YgdGhlIGNvbXBvbmVudCBmb3IgYSB1aSBjb21wYWN0IHZhcmlhbnRcbiAgICovXG4gIGlzQ29uZGVuc2VkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEhvcml6b250YWwgc2l6ZSBsaW1pdCBvZiB0aGUgaW5wdXQgZmllbGRzLlxuICAgKi9cbiAgaG9yaXpvbnRhbENvbnN0cmFpbnQ/OiAxMCB8IDExIHwgMTIgfCAxMyB8IDE0IHwgMTUgfCAxNiB8ICdzY2FsZScgfCAnYXV0byc7XG4gIC8qKlxuICAgKiBBcnJheSBvZiBvcHRpb25zIHRoYXQgcG9wdWxhdGUgdGhlIHNlbGVjdCBtZW51XG4gICAqL1xuICBvcHRpb25zOiBUT3B0aW9ucztcbiAgLyoqXG4gICAqIHotaW5kZXggdmFsdWUgZm9yIHRoZSBtZW51IHBvcnRhbFxuICAgKiA8YnI+XG4gICAqIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIGBtZW51UG9ydGFsVGFyZ2V0YFxuICAgKi9cbiAgbWVudVBvcnRhbFpJbmRleD86IG51bWJlcjtcbiAgLyoqXG4gICAqIERvbSBlbGVtZW50IHRvIHBvcnRhbCB0aGUgc2VsZWN0IG1lbnUgdG9cbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIG1lbnVQb3J0YWxUYXJnZXQ/OiBSZWFjdFNlbGVjdFByb3BzWydtZW51UG9ydGFsVGFyZ2V0J107XG4gIC8qKlxuICAgKiB3aGV0aGVyIHRoZSBtZW51IHNob3VsZCBibG9jayBzY3JvbGwgd2hpbGUgb3BlblxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgbWVudVNob3VsZEJsb2NrU2Nyb2xsPzogUmVhY3RTZWxlY3RQcm9wc1snbWVudVNob3VsZEJsb2NrU2Nyb2xsJ107XG4gIC8qKlxuICAgKiBIYW5kbGUgY2hhbmdlIGV2ZW50cyBvbiB0aGUgbWVudSBpbnB1dFxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgb25NZW51SW5wdXRDaGFuZ2U/OiBSZWFjdFNlbGVjdFByb3BzWydvbklucHV0Q2hhbmdlJ107XG4gIC8qKlxuICAgKiBDYW4gYmUgdXNlZCB0byByZW5kZXIgYSBjdXN0b20gdmFsdWUgd2hlbiB0aGVyZSBhcmUgbm8gb3B0aW9ucyAoZWl0aGVyIGJlY2F1c2Ugb2Ygbm8gc2VhcmNoIHJlc3VsdHMsIG9yIGFsbCBvcHRpb25zIGhhdmUgYmVlbiB1c2VkLCBvciB0aGVyZSB3ZXJlIG5vbmUgaW4gdGhlIGZpcnN0IHBsYWNlKS4gR2V0cyBjYWxsZWQgd2l0aCB7IGlucHV0VmFsdWU6IFN0cmluZyB9LlxuICAgKiA8YnIgLz5cbiAgICogYGlucHV0VmFsdWVgIHdpbGwgYmUgYW4gZW1wdHkgc3RyaW5nIHdoZW4gbm8gc2VhcmNoIHRleHQgaXMgcHJlc2VudC5cbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIG5vTWVudU9wdGlvbnNNZXNzYWdlPzogUmVhY3RTZWxlY3RQcm9wc1snbm9PcHRpb25zTWVzc2FnZSddO1xuICAvKipcbiAgICogV2hldGhlciB0byBlbmFibGUgc2VhcmNoIGZ1bmN0aW9uYWxpdHkuXG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBpc01lbnVTZWFyY2hhYmxlPzogUmVhY3RTZWxlY3RQcm9wc1snaXNTZWFyY2hhYmxlJ107XG4gIC8qKlxuICAgKiBNYXhpbXVtIGhlaWdodCBvZiB0aGUgbWVudSBiZWZvcmUgc2Nyb2xsaW5nXG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBtYXhNZW51SGVpZ2h0PzogUmVhY3RTZWxlY3RQcm9wc1snbWF4TWVudUhlaWdodCddO1xuICAvKipcbiAgICogV2hldGhlciB0aGUgbWVudSBzaG91bGQgY2xvc2UgYWZ0ZXIgYSB2YWx1ZSBpcyBzZWxlY3RlZC4gRGVmYXVsdHMgdG8gYHRydWVgLlxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgY2xvc2VNZW51T25TZWxlY3Q/OiBSZWFjdFNlbGVjdFByb3BzWydjbG9zZU1lbnVPblNlbGVjdCddO1xuICAvKipcbiAgICogSG9yaXpvbnRhbCBzaXplIGxpbWl0IGZvciB0aGUgZHJvcGRvd24gbWVudS5cbiAgICovXG4gIG1lbnVIb3Jpem9udGFsQ29uc3RyYWludD86IDMgfCA0IHwgNTtcbiAgLyoqXG4gICAqIFNob3cgc3VibWl0IGJ1dHRvbiBpbiB0aGUgaW5wdXRcbiAgICovXG4gIHNob3dTdWJtaXRCdXR0b24/OiBib29sZWFuO1xuICAvKipcbiAgICogIHVzZWQgdG8gcGFzcyBkYXRhLSogcHJvcHMgdG8gdGhlIHNlbGVjdCBjb21wb25lbnQuXG4gICAqIGVnOiBzZWxlY3REYXRhUHJvcHM9e1t7ICdwcm9wLTEnOiAndmFsdWUtMScgfSwgeyAncHJvcC0yJzogJ3ZhbHVlLTInIH1dfVxuICAgKi9cbiAgc2VsZWN0RGF0YVByb3BzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgLyoqXG4gICAqICB1c2VkIHRvIHBhc3MgZGF0YS0qIHByb3BzIHRvIHRoZSBpbnB1dCBlbGVtZW50LlxuICAgKiBlZzogaW5wdXREYXRhUHJvcHM9e1t7ICdwcm9wLTEnOiAndmFsdWUtMScgfSwgeyAncHJvcC0yJzogJ3ZhbHVlLTInIH1dfVxuICAgKi9cbiAgaW5wdXREYXRhUHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAvKipcbiAgICogTWFwIG9mIGNvbXBvbmVudHMgdG8gb3ZlcndyaXRlIHRoZSBkZWZhdWx0IG9uZXMsIHNlZSB3aGF0IGNvbXBvbmVudHMgeW91IGNhbiBvdmVycmlkZVxuICAgKiA8YnIvPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIHNlbGVjdEN1c3RvbUNvbXBvbmVudHM/OiBSZWFjdFNlbGVjdFByb3BzWydjb21wb25lbnRzJ107XG5cbiAgLyoqXG4gICAqIEN1c3RvbSBhY3Rpb24gaWNvbiB0byBiZSBkaXNwbGF5ZWQgb24gdGhlIHJpZ2h0IHNpZGUgb2YgdGhlIGlucHV0LlxuICAgKi9cbiAgcmlnaHRBY3Rpb25JY29uPzogUmVhY3RFbGVtZW50O1xuICAvKipcbiAgICogUHJvcHMgZm9yIHRoZSByaWdodC1hY3Rpb24gaWNvbi1idXR0b24uIFJlcXVpcmVkIHdoZW4gcmlnaHRBY3Rpb25JY29uIGlzIHByb3ZpZGVkLlxuICAgKiBBdCBsZWFzdCBhIGBsYWJlbGAgYW5kIGFuIGBvbkNsaWNrYCBwcm9wL2Z1bmN0aW9uIG5lZWQgdG8gYmUgcHJvdmlkZWQuXG4gICAqL1xuICByaWdodEFjdGlvblByb3BzPzogVEljb25CdXR0b25Qcm9wcztcbn07XG5cbmNvbnN0IHNlbGVjdGFibGVTZWFyY2hJbnB1dFNlcXVlbnRpYWxJZCA9IGNyZWF0ZVNlcXVlbnRpYWxJZChcbiAgJ3NlbGVjdGFibGUtc2VhcmNoLWlucHV0LSdcbik7XG5cbmNvbnN0IGlzT3B0aW9uT2JqZWN0ID0gKFxuICBvcHRpb246IFRPcHRpb24gfCBUT3B0aW9uT2JqZWN0XG4pOiBvcHRpb24gaXMgVE9wdGlvbk9iamVjdCA9PiAob3B0aW9uIGFzIFRPcHRpb25PYmplY3QpLm9wdGlvbnMgIT09IHVuZGVmaW5lZDtcblxuY29uc3QgdHJhbnNmb3JtRGF0YVByb3BzID0gKGRhdGFQcm9wcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pID0+XG4gIE9iamVjdC5mcm9tRW50cmllcyhcbiAgICBPYmplY3QuZW50cmllcyhkYXRhUHJvcHMgfHwge30pLm1hcCgoW2tleSwgdmFsdWVdKSA9PiBbXG4gICAgICBgZGF0YS0ke2tleX1gLFxuICAgICAgdmFsdWUsXG4gICAgXSlcbiAgKTtcblxuY29uc3QgU2VsZWN0YWJsZVNlYXJjaElucHV0ID0gKHtcbiAgaG9yaXpvbnRhbENvbnN0cmFpbnQgPSAnc2NhbGUnLFxuICBpc0NsZWFyYWJsZSA9IHRydWUsXG4gIG1lbnVIb3Jpem9udGFsQ29uc3RyYWludCA9IDMsXG4gIHNob3dTdWJtaXRCdXR0b24gPSB0cnVlLFxuICBtZW51UG9ydGFsWkluZGV4ID0gMSxcbiAgLi4ucHJvcHNcbn06IFRTZWxlY3RhYmxlU2VhcmNoSW5wdXRQcm9wcykgPT4ge1xuICBjb25zdCBbZHJvcGRvd25IYXNGb2N1cywgdG9nZ2xlRHJvcGRvd25IYXNGb2N1c10gPSB1c2VUb2dnbGVTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtzZWFyY2hWYWx1ZSwgc2V0U2VhcmNoVmFsdWVdID0gdXNlU3RhdGUocHJvcHMudmFsdWUudGV4dCB8fCAnJyk7XG4gIGNvbnN0IFtzZWFyY2hPcHRpb24sIHNldFNlYXJjaE9wdGlvbl0gPSB1c2VTdGF0ZShwcm9wcy52YWx1ZS5vcHRpb24gfHwgJycpO1xuICBjb25zdCBjb250YWluZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCB0ZXh0SW5wdXRSZWYgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbCk7XG5cbiAgY29uc3QgYWxsUHJvcHMgPSB7XG4gICAgaG9yaXpvbnRhbENvbnN0cmFpbnQsXG4gICAgaXNDbGVhcmFibGUsXG4gICAgbWVudUhvcml6b250YWxDb25zdHJhaW50LFxuICAgIHNob3dTdWJtaXRCdXR0b24sXG4gICAgbWVudVBvcnRhbFpJbmRleCxcbiAgICAuLi5wcm9wcyxcbiAgfTtcbiAgY29uc3QgbGVnYWN5RGF0YVByb3BzID0gZmlsdGVyRGF0YUF0dHJpYnV0ZXMocHJvcHMpO1xuICBjb25zdCB0cmFuc2Zvcm1lZFNlbGVjdERhdGFQcm9wcyA9IHRyYW5zZm9ybURhdGFQcm9wcyhwcm9wcy5zZWxlY3REYXRhUHJvcHMpO1xuICBjb25zdCB0cmFuc2Zvcm1lZElucHV0RGF0YVByb3BzID0gdHJhbnNmb3JtRGF0YVByb3BzKHByb3BzLmlucHV0RGF0YVByb3BzKTtcbiAgY29uc3Qgc2VhcmNoSW5wdXRWYWx1ZSA9IHByb3BzLl9leHBlcmltZW50YWxWYWx1ZT8udGV4dCA/PyBzZWFyY2hWYWx1ZTtcbiAgY29uc3Qgc2VhcmNoSW5wdXRPcHRpb24gPSBwcm9wcy5fZXhwZXJpbWVudGFsVmFsdWU/Lm9wdGlvbiA/PyBzZWFyY2hPcHRpb247XG5cbiAgY29uc3Qgb3B0aW9uc1dpdGhvdXRHcm91cHMgPSBwcm9wcy5vcHRpb25zLmZsYXRNYXAoKG9wdGlvbikgPT4ge1xuICAgIGlmIChpc09wdGlvbk9iamVjdChvcHRpb24pKSB7XG4gICAgICByZXR1cm4gb3B0aW9uLm9wdGlvbnM7XG4gICAgfVxuICAgIHJldHVybiBvcHRpb247XG4gIH0pO1xuXG4gIGNvbnN0IHNlbGVjdGVkT3B0aW9uID0gb3B0aW9uc1dpdGhvdXRHcm91cHMuZmluZChcbiAgICAob3B0aW9uKSA9PiBvcHRpb24udmFsdWUgPT09IHNlYXJjaElucHV0T3B0aW9uXG4gICk7XG5cbiAgaWYgKHByb3BzLnJpZ2h0QWN0aW9uSWNvbiAmJiAhcHJvcHMucmlnaHRBY3Rpb25Qcm9wcykge1xuICAgIHdhcm5pbmcoXG4gICAgICBmYWxzZSxcbiAgICAgICdTZWxlY3RhYmxlU2VhcmNoSW5wdXQ6IGByaWdodEFjdGlvbkljb25gIGlzIHByb3ZpZGVkIGJ1dCBgcmlnaHRBY3Rpb25Qcm9wc2AgaXMgbWlzc2luZy4gUHJvdmlkZSBhbiBvYmplY3Qgd2l0aCBhIGBsYWJlbGAgYW5kIGBvbkNsaWNrYCBwcm9wZXJ0eS4nXG4gICAgKTtcbiAgfVxuICBjb25zdCBzZWxlY3RhYmxTZWFyY2hJbnB1dElkID0gdXNlRmllbGRJZChcbiAgICBwcm9wcy5pZCxcbiAgICBzZWxlY3RhYmxlU2VhcmNoSW5wdXRTZXF1ZW50aWFsSWRcbiAgKTtcblxuICBpZiAoIXByb3BzLmlzUmVhZE9ubHkpIHtcbiAgICB3YXJuaW5nKFxuICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nLFxuICAgICAgJ1NlbGVjdGFibGVTZWFyY2hJbnB1dDogYG9uQ2hhbmdlYCBpcyByZXF1aXJlZCB3aGVuIGlzIG5vdCByZWFkIG9ubHkuJ1xuICAgICk7XG4gIH1cblxuICB3YXJuSWZNZW51UG9ydGFsUHJvcHNBcmVNaXNzaW5nKHtcbiAgICBtZW51UG9ydGFsWkluZGV4OiBtZW51UG9ydGFsWkluZGV4LFxuICAgIG1lbnVQb3J0YWxUYXJnZXQ6IHByb3BzLm1lbnVQb3J0YWxUYXJnZXQsXG4gICAgY29tcG9uZW50TmFtZTogJ1NlbGVjdGFibGVTZWFyY2hJbnB1dCcsXG4gIH0pO1xuXG4gIGNvbnN0IHsgb25Gb2N1cywgb25CbHVyLCBuYW1lIH0gPSBwcm9wcztcbiAgY29uc3QgaGFuZGxlVGV4dElucHV0Rm9jdXMgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKG9uRm9jdXMpIHtcbiAgICAgIG9uRm9jdXMoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpLFxuICAgICAgICAgIG5hbWU6IGdldFRleHRJbnB1dE5hbWUobmFtZSksXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtvbkZvY3VzLCBzZWxlY3RhYmxTZWFyY2hJbnB1dElkLCBuYW1lXSk7XG5cbiAgY29uc3QgaGFuZGxlVGV4dElucHV0Qmx1ciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAob25CbHVyKSB7XG4gICAgICBvbkJsdXIoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpLFxuICAgICAgICAgIG5hbWU6IGdldFRleHRJbnB1dE5hbWUobmFtZSksXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtvbkJsdXIsIHNlbGVjdGFibFNlYXJjaElucHV0SWQsIG5hbWVdKTtcblxuICBjb25zdCBoYW5kbGVDbGVhciA9ICgpID0+IHtcbiAgICBzZXRTZWFyY2hWYWx1ZSgnJyk7XG4gICAgaWYgKHByb3BzLm9uUmVzZXQpIHtcbiAgICAgIHByb3BzLm9uUmVzZXQoKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlVGV4dElucHV0Q2hhbmdlID0gKGV2ZW50OiBDaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgIHNldFNlYXJjaFZhbHVlKGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gICAgaWYgKHByb3BzLm9uQ2hhbmdlKSB7XG4gICAgICBwcm9wcy5vbkNoYW5nZSh7XG4gICAgICAgIHRhcmdldDoge1xuICAgICAgICAgIGlkOiBTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0VGV4dElucHV0SWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCksXG4gICAgICAgICAgbmFtZTogZ2V0VGV4dElucHV0TmFtZShwcm9wcy5uYW1lKSxcbiAgICAgICAgICB2YWx1ZTogZXZlbnQudGFyZ2V0LnZhbHVlLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVN1Ym1pdCA9IChcbiAgICBldmVudDpcbiAgICAgIHwgS2V5Ym9hcmRFdmVudDxIVE1MQnV0dG9uRWxlbWVudD5cbiAgICAgIHwgTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudD5cbiAgICAgIHwgS2V5Ym9hcmRFdmVudDxIVE1MSW5wdXRFbGVtZW50PlxuICApID0+IHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGlmIChwcm9wcy5vblN1Ym1pdCkge1xuICAgICAgcHJvcHMub25TdWJtaXQoe1xuICAgICAgICB0ZXh0OiBzZWFyY2hJbnB1dFZhbHVlLFxuICAgICAgICBvcHRpb246IHNlbGVjdGVkT3B0aW9uPy52YWx1ZSA/PyAnJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBkcm9wZG93bk5hbWUgPSBnZXREcm9wZG93bk5hbWUocHJvcHMubmFtZSk7XG4gIGNvbnN0IGRyb3Bkb3duSWQgPSBTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0RHJvcGRvd25JZChcbiAgICBzZWxlY3RhYmxTZWFyY2hJbnB1dElkXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlRHJvcGRvd25Gb2N1cyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAob25Gb2N1cykge1xuICAgICAgb25Gb2N1cyh7XG4gICAgICAgIHRhcmdldDoge1xuICAgICAgICAgIGlkOiBkcm9wZG93bklkLFxuICAgICAgICAgIG5hbWU6IGRyb3Bkb3duTmFtZSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0b2dnbGVEcm9wZG93bkhhc0ZvY3VzKHRydWUpO1xuICB9LCBbb25Gb2N1cywgdG9nZ2xlRHJvcGRvd25IYXNGb2N1cywgZHJvcGRvd25OYW1lLCBkcm9wZG93bklkXSk7XG5cbiAgY29uc3QgaGFuZGxlRHJvcGRvd25CbHVyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChvbkJsdXIpIHtcbiAgICAgIG9uQmx1cih7XG4gICAgICAgIHRhcmdldDoge1xuICAgICAgICAgIGlkOiBkcm9wZG93bklkLFxuICAgICAgICAgIG5hbWU6IGRyb3Bkb3duTmFtZSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0b2dnbGVEcm9wZG93bkhhc0ZvY3VzKGZhbHNlKTtcbiAgfSwgW3RvZ2dsZURyb3Bkb3duSGFzRm9jdXMsIG9uQmx1ciwgZHJvcGRvd25OYW1lLCBkcm9wZG93bklkXSk7XG5cbiAgY29uc3QgaGFuZGxlQ29udGFpbmVyQmx1ciA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudCkgPT4ge1xuICAgICAgLy8gZW5zdXJlcyB0aGF0IGJvdGggZmllbGRzIGFyZSBtYXJrZWQgYXMgdG91Y2hlZCB3aGVuIG9uZSBvZiB0aGVtXG4gICAgICAvLyBpcyBibHVycmVkXG4gICAgICBpZiAoXG4gICAgICAgIHR5cGVvZiBvbkJsdXIgPT09ICdmdW5jdGlvbicgJiZcbiAgICAgICAgIWNvbnRhaW5lclJlZi5jdXJyZW50Py5jb250YWlucyhldmVudC5yZWxhdGVkVGFyZ2V0KVxuICAgICAgKSB7XG4gICAgICAgIG9uQmx1cih7XG4gICAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgICBpZDogU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldERyb3Bkb3duSWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCksXG4gICAgICAgICAgICBuYW1lOiBnZXREcm9wZG93bk5hbWUobmFtZSksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIG9uQmx1cih7XG4gICAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgICBpZDogU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpLFxuICAgICAgICAgICAgbmFtZTogZ2V0VGV4dElucHV0TmFtZShuYW1lKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtvbkJsdXIsIHNlbGVjdGFibFNlYXJjaElucHV0SWQsIG5hbWVdXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlRHJvcGRvd25DaGFuZ2UgPSB1c2VDYWxsYmFjayhcbiAgICAobmV4dFNlbGVjdGVkT3B0aW9ucykgPT4ge1xuICAgICAgc2V0U2VhcmNoT3B0aW9uKG5leHRTZWxlY3RlZE9wdGlvbnMudmFsdWUpO1xuICAgICAgaWYgKHByb3BzLm9uQ2hhbmdlKSB7XG4gICAgICAgIHByb3BzLm9uQ2hhbmdlKHtcbiAgICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICAgIGlkOiBTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0RHJvcGRvd25JZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKSxcbiAgICAgICAgICAgIG5hbWU6IGdldERyb3Bkb3duTmFtZShuYW1lKSxcbiAgICAgICAgICAgIHZhbHVlOiBuZXh0U2VsZWN0ZWRPcHRpb25zLnZhbHVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgdGV4dElucHV0UmVmLmN1cnJlbnQ/LmZvY3VzKCk7XG4gICAgfSxcbiAgICBbcHJvcHMub25DaGFuZ2UsIHNlbGVjdGFibFNlYXJjaElucHV0SWQsIG5hbWVdXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8Q29uc3RyYWludHMuSG9yaXpvbnRhbCBtYXg9e2hvcml6b250YWxDb25zdHJhaW50fT5cbiAgICAgIDxDb250YWluZXJcbiAgICAgICAgcmVmPXtjb250YWluZXJSZWZ9XG4gICAgICAgIG9uQmx1cj17aGFuZGxlQ29udGFpbmVyQmx1cn1cbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJzZWxlY3RhYmxlLXNlYXJjaC1pbnB1dC1jb250YWluZXJcIlxuICAgICAgPlxuICAgICAgICA8Q29uc3RyYWludHMuSG9yaXpvbnRhbCBtYXg9e21lbnVIb3Jpem9udGFsQ29uc3RyYWludH0+XG4gICAgICAgICAgPFNlbGVjdGFibGVTZWxlY3RcbiAgICAgICAgICAgIHsuLi5hbGxQcm9wc31cbiAgICAgICAgICAgIGlkPXtTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0RHJvcGRvd25JZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKX1cbiAgICAgICAgICAgIG5hbWU9e2dldERyb3Bkb3duTmFtZShwcm9wcy5uYW1lKX1cbiAgICAgICAgICAgIGRyb3Bkb3duSGFzRm9jdXM9e2Ryb3Bkb3duSGFzRm9jdXN9XG4gICAgICAgICAgICBpc0NvbmRlbnNlZD17cHJvcHMuaXNDb25kZW5zZWQgPz8gZmFsc2V9XG4gICAgICAgICAgICBoYW5kbGVEcm9wZG93bkZvY3VzPXtoYW5kbGVEcm9wZG93bkZvY3VzfVxuICAgICAgICAgICAgaGFuZGxlRHJvcGRvd25CbHVyPXtoYW5kbGVEcm9wZG93bkJsdXJ9XG4gICAgICAgICAgICBoYW5kbGVEcm9wZG93bkNoYW5nZT17aGFuZGxlRHJvcGRvd25DaGFuZ2V9XG4gICAgICAgICAgICB0ZXh0SW5wdXRSZWY9e3RleHRJbnB1dFJlZn1cbiAgICAgICAgICAgIHNlbGVjdGVkT3B0aW9uPXtzZWxlY3RlZE9wdGlvbn1cbiAgICAgICAgICAgIGRhdGFQcm9wcz17dHJhbnNmb3JtZWRTZWxlY3REYXRhUHJvcHN9XG4gICAgICAgICAgICBzZWxlY3RDdXN0b21Db21wb25lbnRzPXtwcm9wcy5zZWxlY3RDdXN0b21Db21wb25lbnRzfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvQ29uc3RyYWludHMuSG9yaXpvbnRhbD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNzcz17W1xuICAgICAgICAgICAgZ2V0U2VsZWN0YWJsZVNlYXJjaElucHV0Q29udGFpbmVyU3R5bGVzKGFsbFByb3BzKSxcbiAgICAgICAgICAgIGRyb3Bkb3duSGFzRm9jdXMgJiZcbiAgICAgICAgICAgICAgIXByb3BzLmlzUmVhZE9ubHkgJiZcbiAgICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAke2Rlc2lnblRva2Vucy5ib3JkZXJDb2xvckZvcklucHV0V2hlbkZvY3VzZWR9O1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR7ZGVzaWduVG9rZW5zLmJvcmRlckNvbG9yRm9ySW5wdXRXaGVuRm9jdXNlZH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBgLFxuICAgICAgICAgIF19XG4gICAgICAgID5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHJlZj17dGV4dElucHV0UmVmfVxuICAgICAgICAgICAgaWQ9e1NlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKX1cbiAgICAgICAgICAgIG5hbWU9e2dldFRleHRJbnB1dE5hbWUocHJvcHMubmFtZSl9XG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICB2YWx1ZT17c2VhcmNoSW5wdXRWYWx1ZX1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVUZXh0SW5wdXRDaGFuZ2V9XG4gICAgICAgICAgICBvbkJsdXI9e2hhbmRsZVRleHRJbnB1dEJsdXJ9XG4gICAgICAgICAgICBvbkZvY3VzPXtoYW5kbGVUZXh0SW5wdXRGb2N1c31cbiAgICAgICAgICAgIGRpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkfVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3Byb3BzLnBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgcmVhZE9ubHk9e3Byb3BzLmlzUmVhZE9ubHl9XG4gICAgICAgICAgICBhdXRvRm9jdXM9e3Byb3BzLmlzQXV0b2ZvY3Vzc2VkfVxuICAgICAgICAgICAgYXV0b0NvbXBsZXRlPXtwcm9wcy5hdXRvQ29tcGxldGV9XG4gICAgICAgICAgICBhcmlhLXJlYWRvbmx5PXtwcm9wcy5pc1JlYWRPbmx5fVxuICAgICAgICAgICAgY29udGVudEVkaXRhYmxlPXshcHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgIGNzcz17Z2V0U2VsZWN0YWJsZVNlYXJjaElucHV0U3R5bGVzKGFsbFByb3BzKX1cbiAgICAgICAgICAgIHsuLi50cmFuc2Zvcm1lZElucHV0RGF0YVByb3BzfVxuICAgICAgICAgICAgey4uLmxlZ2FjeURhdGFQcm9wc31cbiAgICAgICAgICAgIC8qIEFSSUEgKi9cbiAgICAgICAgICAgIGFyaWEtaW52YWxpZD17cHJvcHNbJ2FyaWEtaW52YWxpZCddfVxuICAgICAgICAgICAgYXJpYS1lcnJvcm1lc3NhZ2U9e3Byb3BzWydhcmlhLWVycm9ybWVzc2FnZSddfVxuICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJzZWxlY3RhYmxlLWlucHV0XCJcbiAgICAgICAgICAgIG9uS2V5RG93bj17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgIGlmICghcHJvcHMuaXNSZWFkT25seSAmJiBldmVudC5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgICAgICAgICAgICBoYW5kbGVTdWJtaXQoZXZlbnQpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2lzQ2xlYXJhYmxlICYmXG4gICAgICAgICAgICBzZWFyY2hJbnB1dFZhbHVlICYmXG4gICAgICAgICAgICAhcHJvcHMuaXNEaXNhYmxlZCAmJlxuICAgICAgICAgICAgIXByb3BzLmlzUmVhZE9ubHkgJiYgKFxuICAgICAgICAgICAgICA8U2Vjb25kYXJ5SWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgIGljb249ezxDbG9zZUljb24gLz59XG4gICAgICAgICAgICAgICAgc2l6ZT17cHJvcHMuaXNDb25kZW5zZWQgPyAnMTAnIDogJzIwJ31cbiAgICAgICAgICAgICAgICBsYWJlbD17J2NsZWFyLWJ1dHRvbid9XG4gICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlQ2xlYXJ9XG4gICAgICAgICAgICAgICAgY3NzPXtnZXRDbGVhckljb25CdXR0b25TdHlsZXMoYWxsUHJvcHMpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICB7c2hvd1N1Ym1pdEJ1dHRvbiAmJiAoXG4gICAgICAgICAgICA8U2Vjb25kYXJ5SWNvbkJ1dHRvblxuICAgICAgICAgICAgICBpY29uPXs8U2VhcmNoSWNvbiAvPn1cbiAgICAgICAgICAgICAgc2l6ZT17cHJvcHMuaXNDb25kZW5zZWQgPyAnMjAnIDogJzQwJ31cbiAgICAgICAgICAgICAgbGFiZWw9eydzZWFyY2gtYnV0dG9uJ31cbiAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlU3VibWl0fVxuICAgICAgICAgICAgICBjc3M9e2dldFNlYXJjaEljb25CdXR0b25TdHlsZXMoYWxsUHJvcHMpfVxuICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAge3Byb3BzLnJpZ2h0QWN0aW9uSWNvbiAmJiBwcm9wcy5yaWdodEFjdGlvblByb3BzICYmIChcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgb3JkZXI6IDQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH07XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgdGhlbWU9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkIHx8IHByb3BzLmlzUmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgc2l6ZT17cHJvcHMuaXNDb25kZW5zZWQgPyAnMTAnIDogJzIwJ31cbiAgICAgICAgICAgICAgICBpY29uPXtwcm9wcy5yaWdodEFjdGlvbkljb259XG4gICAgICAgICAgICAgICAgey4uLnByb3BzLnJpZ2h0QWN0aW9uUHJvcHN9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvQ29udGFpbmVyPlxuICAgIDwvQ29uc3RyYWludHMuSG9yaXpvbnRhbD5cbiAgKTtcbn07XG5cblNlbGVjdGFibGVTZWFyY2hJbnB1dC5kaXNwbGF5TmFtZSA9ICdTZWxlY3RhYmxlU2VhcmNoSW5wdXQnO1xuU2VsZWN0YWJsZVNlYXJjaElucHV0LmlzRW1wdHkgPSAoXG4gIGZvcm1WYWx1ZTogVFNlbGVjdGFibGVTZWFyY2hJbnB1dFByb3BzWyd2YWx1ZSddXG4pID0+ICFmb3JtVmFsdWUgfHwgZm9ybVZhbHVlLnRleHQudHJpbSgpID09PSAnJztcblNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZCA9IGdldFRleHRJbnB1dE5hbWU7XG5TZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0RHJvcGRvd25JZCA9IGdldERyb3Bkb3duTmFtZTtcblxuZXhwb3J0IGRlZmF1bHQgU2VsZWN0YWJsZVNlYXJjaElucHV0O1xuIl19 */"), process.env.NODE_ENV === "production" ? "" : ";label:SelectableSearchInput;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNlbGVjdGFibGUtc2VhcmNoLWlucHV0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE2ZFUiLCJmaWxlIjoic2VsZWN0YWJsZS1zZWFyY2gtaW5wdXQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBNb3VzZUV2ZW50LFxuICB0eXBlIEtleWJvYXJkRXZlbnQsXG4gIHR5cGUgQ2hhbmdlRXZlbnQsXG4gIHR5cGUgUmVhY3ROb2RlLFxuICB1c2VTdGF0ZSxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZVJlZixcbiAgUmVhY3RFbGVtZW50LFxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgU2Vjb25kYXJ5SWNvbkJ1dHRvbiBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9zZWNvbmRhcnktaWNvbi1idXR0b24nO1xuaW1wb3J0IEljb25CdXR0b24sIHtcbiAgdHlwZSBUSWNvbkJ1dHRvblByb3BzLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29uLWJ1dHRvbic7XG5pbXBvcnQgQ29uc3RyYWludHMgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvY29uc3RyYWludHMnO1xuaW1wb3J0IHsgU2VhcmNoSWNvbiwgQ2xvc2VJY29uIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IHtcbiAgY3JlYXRlU2VxdWVudGlhbElkLFxuICBmaWx0ZXJEYXRhQXR0cmlidXRlcyxcbiAgd2FybmluZyxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvdXRpbHMnO1xuaW1wb3J0IHsgd2FybklmTWVudVBvcnRhbFByb3BzQXJlTWlzc2luZyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NlbGVjdC11dGlscyc7XG5pbXBvcnQge1xuICBnZXRDbGVhckljb25CdXR0b25TdHlsZXMsXG4gIGdldFNlYXJjaEljb25CdXR0b25TdHlsZXMsXG4gIGdldFNlbGVjdGFibGVTZWFyY2hJbnB1dENvbnRhaW5lclN0eWxlcyxcbiAgZ2V0U2VsZWN0YWJsZVNlYXJjaElucHV0U3R5bGVzLFxufSBmcm9tICcuL3NlbGVjdGFibGUtc2VhcmNoLWlucHV0LnN0eWxlcyc7XG5pbXBvcnQgU2VsZWN0YWJsZVNlbGVjdCBmcm9tICcuL3NlbGVjdGFibGUtc2VsZWN0JztcbmltcG9ydCB7IHVzZUZpZWxkSWQsIHVzZVRvZ2dsZVN0YXRlIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaG9va3MnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgZGVzaWduVG9rZW5zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyB0eXBlIFByb3BzIGFzIFJlYWN0U2VsZWN0UHJvcHMgfSBmcm9tICdyZWFjdC1zZWxlY3QnO1xuXG5jb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuYDtcblxuY29uc3QgZ2V0VGV4dElucHV0TmFtZSA9IChuYW1lPzogc3RyaW5nKSA9PlxuICBuYW1lID8gYCR7bmFtZX0udGV4dElucHV0YCA6IHVuZGVmaW5lZDtcblxuY29uc3QgZ2V0RHJvcGRvd25OYW1lID0gKG5hbWU/OiBzdHJpbmcpID0+XG4gIG5hbWUgPyBgJHtuYW1lfS5kcm9wZG93bmAgOiB1bmRlZmluZWQ7XG5cbmV4cG9ydCB0eXBlIFRDdXN0b21FdmVudCA9IHtcbiAgdGFyZ2V0OiB7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICB2YWx1ZT86IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbDtcbiAgfTtcbiAgcGVyc2lzdD86ICgpID0+IHZvaWQ7XG59O1xuXG5leHBvcnQgdHlwZSBUVmFsdWUgPSB7XG4gIHRleHQ6IHN0cmluZztcbiAgb3B0aW9uOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBUT3B0aW9uID0ge1xuICB2YWx1ZTogc3RyaW5nO1xuICBsYWJlbD86IFJlYWN0Tm9kZTtcbn07XG5cbmV4cG9ydCB0eXBlIFRPcHRpb25PYmplY3QgPSB7XG4gIG9wdGlvbnM6IFRPcHRpb25bXTtcbn07XG5cbmV4cG9ydCB0eXBlIFRPcHRpb25zID0gVE9wdGlvbltdIHwgVE9wdGlvbk9iamVjdFtdO1xuXG5leHBvcnQgdHlwZSBUU2VsZWN0YWJsZVNlYXJjaElucHV0UHJvcHMgPSB7XG4gIC8qKlxuICAgKiBVc2VkIGFzIEhUTUwgaWQgcHJvcGVydHkuIEFuIGlkIGlzIGF1dG8tZ2VuZXJhdGVkIHdoZW4gaXQgaXMgbm90IHNwZWNpZmllZC5cbiAgICovXG4gIGlkPzogc3RyaW5nO1xuICAvKipcbiAgICogVXNlZCBhcyBIVE1MIGF1dG9jb21wbGV0ZSBwcm9wZXJ0eVxuICAgKi9cbiAgYXV0b0NvbXBsZXRlPzogc3RyaW5nO1xuICAvKipcbiAgICogSW5kaWNhdGUgaWYgdGhlIHZhbHVlIGVudGVyZWQgaW4gdGhlIGlucHV0IGlzIGludmFsaWQuXG4gICAqL1xuICAnYXJpYS1pbnZhbGlkJz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBIVE1MIElEIG9mIGFuIGVsZW1lbnQgY29udGFpbmluZyBhbiBlcnJvciBtZXNzYWdlIHJlbGF0ZWQgdG8gdGhlIGlucHV0LlxuICAgKi9cbiAgJ2FyaWEtZXJyb3JtZXNzYWdlJz86IHN0cmluZztcbiAgLyoqXG4gICAqIFVzZWQgYXMgSFRNTCBuYW1lIG9mIHRoZSBpbnB1dCBjb21wb25lbnQgcHJvcGVydHkuXG4gICAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogVmFsdWUgb2YgdGhlIGlucHV0LiBDb25zaXN0cyBvZiB0ZXh0IGlucHV0IGFuZCBzZWxlY3RlZCBvcHRpb24uXG4gICAqL1xuICB2YWx1ZTogVFZhbHVlO1xuICBfZXhwZXJpbWVudGFsVmFsdWU/OiBUVmFsdWU7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2l0aCB0aGUgZXZlbnQgb2YgdGhlIGlucHV0IG9yIGRyb3Bkb3duIHdoZW4gZWl0aGVyIHRoZSBzZWxlY3RhYmxlIGRyb3Bkb3duIG9yIHRoZSB0ZXh0IGlucHV0IGhhdmUgY2hhbmdlZC5cbiAgICogVGhlIGNoYW5nZSBldmVudCBmcm9tIHRoZSB0ZXh0IGlucHV0IGhhcyBhIHN1ZmZpeCBvZiBgLnRleHRJbnB1dGAgYW5kIHRoZSBjaGFuZ2UgZXZlbnQgZnJvbSB0aGUgZHJvcGRvd24gaGFzIGEgc3VmZml4IG9mIGAuZHJvcGRvd25gLlxuICAgKi9cbiAgb25DaGFuZ2U/OiAoZXZlbnQ6IFRDdXN0b21FdmVudCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGlucHV0IGlzIGJsdXJyZWRcbiAgICovXG4gIG9uQmx1cj86IChldmVudDogVEN1c3RvbUV2ZW50KSA9PiB2b2lkO1xuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gaW5wdXQgaXMgZm9jdXNlZFxuICAgKi9cbiAgb25Gb2N1cz86IChldmVudDogVEN1c3RvbUV2ZW50KSA9PiB2b2lkO1xuICAvKipcbiAgICogSGFuZGxlciB3aGVuIHRoZSBzZWFyY2ggYnV0dG9uIGlzIGNsaWNrZWQuXG4gICAqL1xuICBvblN1Ym1pdDogKHZhbHVlOiBUVmFsdWUpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBIYW5kbGVyIHdoZW4gdGhlIGNsZWFyIGJ1dHRvbiBpcyBjbGlja2VkLlxuICAgKi9cbiAgb25SZXNldD86ICgpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBGb2N1cyB0aGUgaW5wdXQgb24gaW5pdGlhbCByZW5kZXJcbiAgICovXG4gIGlzQXV0b2ZvY3Vzc2VkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyB0aGF0IHRoZSBpbnB1dCBjYW5ub3QgYmUgbW9kaWZpZWQgKGUuZyBub3QgYXV0aG9yaXplZCwgb3IgY2hhbmdlcyBjdXJyZW50bHkgc2F2aW5nKS5cbiAgICovXG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogSW5kaWNhdGVzIHRoYXQgdGhlIGZpZWxkIGlzIGRpc3BsYXlpbmcgcmVhZC1vbmx5IGNvbnRlbnRcbiAgICovXG4gIGlzUmVhZE9ubHk/OiBib29sZWFuO1xuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBpbnB1dCBoYXMgaW52YWxpZCB2YWx1ZXNcbiAgICovXG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgaW5wdXQgaGFzIHdhcm5pbmcgdmFsdWVzXG4gICAqL1xuICBoYXNXYXJuaW5nPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFBsYWNlaG9sZGVyIHRleHQgZm9yIHRoZSBpbnB1dFxuICAgKi9cbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGlucHV0IHNob3VsZCBiZSBjbGVhcmVkIHdoZW4gdGhlIGNsZWFyIGJ1dHRvbiBpcyBjbGlja2VkLlxuICAgKiBEZWZhdWx0cyB0byB0cnVlLlxuICAgKlxuICAgKi9cbiAgaXNDbGVhcmFibGU/OiBib29sZWFuO1xuICAvKipcbiAgICogVXNlIHRoaXMgcHJvcGVydHkgdG8gcmVkdWNlIHRoZSBwYWRkaW5ncyBvZiB0aGUgY29tcG9uZW50IGZvciBhIHVpIGNvbXBhY3QgdmFyaWFudFxuICAgKi9cbiAgaXNDb25kZW5zZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogSG9yaXpvbnRhbCBzaXplIGxpbWl0IG9mIHRoZSBpbnB1dCBmaWVsZHMuXG4gICAqL1xuICBob3Jpem9udGFsQ29uc3RyYWludD86IDEwIHwgMTEgfCAxMiB8IDEzIHwgMTQgfCAxNSB8IDE2IHwgJ3NjYWxlJyB8ICdhdXRvJztcbiAgLyoqXG4gICAqIEFycmF5IG9mIG9wdGlvbnMgdGhhdCBwb3B1bGF0ZSB0aGUgc2VsZWN0IG1lbnVcbiAgICovXG4gIG9wdGlvbnM6IFRPcHRpb25zO1xuICAvKipcbiAgICogei1pbmRleCB2YWx1ZSBmb3IgdGhlIG1lbnUgcG9ydGFsXG4gICAqIDxicj5cbiAgICogVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggYG1lbnVQb3J0YWxUYXJnZXRgXG4gICAqL1xuICBtZW51UG9ydGFsWkluZGV4PzogbnVtYmVyO1xuICAvKipcbiAgICogRG9tIGVsZW1lbnQgdG8gcG9ydGFsIHRoZSBzZWxlY3QgbWVudSB0b1xuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgbWVudVBvcnRhbFRhcmdldD86IFJlYWN0U2VsZWN0UHJvcHNbJ21lbnVQb3J0YWxUYXJnZXQnXTtcbiAgLyoqXG4gICAqIHdoZXRoZXIgdGhlIG1lbnUgc2hvdWxkIGJsb2NrIHNjcm9sbCB3aGlsZSBvcGVuXG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBtZW51U2hvdWxkQmxvY2tTY3JvbGw/OiBSZWFjdFNlbGVjdFByb3BzWydtZW51U2hvdWxkQmxvY2tTY3JvbGwnXTtcbiAgLyoqXG4gICAqIEhhbmRsZSBjaGFuZ2UgZXZlbnRzIG9uIHRoZSBtZW51IGlucHV0XG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBvbk1lbnVJbnB1dENoYW5nZT86IFJlYWN0U2VsZWN0UHJvcHNbJ29uSW5wdXRDaGFuZ2UnXTtcbiAgLyoqXG4gICAqIENhbiBiZSB1c2VkIHRvIHJlbmRlciBhIGN1c3RvbSB2YWx1ZSB3aGVuIHRoZXJlIGFyZSBubyBvcHRpb25zIChlaXRoZXIgYmVjYXVzZSBvZiBubyBzZWFyY2ggcmVzdWx0cywgb3IgYWxsIG9wdGlvbnMgaGF2ZSBiZWVuIHVzZWQsIG9yIHRoZXJlIHdlcmUgbm9uZSBpbiB0aGUgZmlyc3QgcGxhY2UpLiBHZXRzIGNhbGxlZCB3aXRoIHsgaW5wdXRWYWx1ZTogU3RyaW5nIH0uXG4gICAqIDxiciAvPlxuICAgKiBgaW5wdXRWYWx1ZWAgd2lsbCBiZSBhbiBlbXB0eSBzdHJpbmcgd2hlbiBubyBzZWFyY2ggdGV4dCBpcyBwcmVzZW50LlxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgbm9NZW51T3B0aW9uc01lc3NhZ2U/OiBSZWFjdFNlbGVjdFByb3BzWydub09wdGlvbnNNZXNzYWdlJ107XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGVuYWJsZSBzZWFyY2ggZnVuY3Rpb25hbGl0eS5cbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIGlzTWVudVNlYXJjaGFibGU/OiBSZWFjdFNlbGVjdFByb3BzWydpc1NlYXJjaGFibGUnXTtcbiAgLyoqXG4gICAqIE1heGltdW0gaGVpZ2h0IG9mIHRoZSBtZW51IGJlZm9yZSBzY3JvbGxpbmdcbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIG1heE1lbnVIZWlnaHQ/OiBSZWFjdFNlbGVjdFByb3BzWydtYXhNZW51SGVpZ2h0J107XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBtZW51IHNob3VsZCBjbG9zZSBhZnRlciBhIHZhbHVlIGlzIHNlbGVjdGVkLiBEZWZhdWx0cyB0byBgdHJ1ZWAuXG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBjbG9zZU1lbnVPblNlbGVjdD86IFJlYWN0U2VsZWN0UHJvcHNbJ2Nsb3NlTWVudU9uU2VsZWN0J107XG4gIC8qKlxuICAgKiBIb3Jpem9udGFsIHNpemUgbGltaXQgZm9yIHRoZSBkcm9wZG93biBtZW51LlxuICAgKi9cbiAgbWVudUhvcml6b250YWxDb25zdHJhaW50PzogMyB8IDQgfCA1O1xuICAvKipcbiAgICogU2hvdyBzdWJtaXQgYnV0dG9uIGluIHRoZSBpbnB1dFxuICAgKi9cbiAgc2hvd1N1Ym1pdEJ1dHRvbj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiAgdXNlZCB0byBwYXNzIGRhdGEtKiBwcm9wcyB0byB0aGUgc2VsZWN0IGNvbXBvbmVudC5cbiAgICogZWc6IHNlbGVjdERhdGFQcm9wcz17W3sgJ3Byb3AtMSc6ICd2YWx1ZS0xJyB9LCB7ICdwcm9wLTInOiAndmFsdWUtMicgfV19XG4gICAqL1xuICBzZWxlY3REYXRhUHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAvKipcbiAgICogIHVzZWQgdG8gcGFzcyBkYXRhLSogcHJvcHMgdG8gdGhlIGlucHV0IGVsZW1lbnQuXG4gICAqIGVnOiBpbnB1dERhdGFQcm9wcz17W3sgJ3Byb3AtMSc6ICd2YWx1ZS0xJyB9LCB7ICdwcm9wLTInOiAndmFsdWUtMicgfV19XG4gICAqL1xuICBpbnB1dERhdGFQcm9wcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIC8qKlxuICAgKiBNYXAgb2YgY29tcG9uZW50cyB0byBvdmVyd3JpdGUgdGhlIGRlZmF1bHQgb25lcywgc2VlIHdoYXQgY29tcG9uZW50cyB5b3UgY2FuIG92ZXJyaWRlXG4gICAqIDxici8+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgc2VsZWN0Q3VzdG9tQ29tcG9uZW50cz86IFJlYWN0U2VsZWN0UHJvcHNbJ2NvbXBvbmVudHMnXTtcblxuICAvKipcbiAgICogQ3VzdG9tIGFjdGlvbiBpY29uIHRvIGJlIGRpc3BsYXllZCBvbiB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgaW5wdXQuXG4gICAqL1xuICByaWdodEFjdGlvbkljb24/OiBSZWFjdEVsZW1lbnQ7XG4gIC8qKlxuICAgKiBQcm9wcyBmb3IgdGhlIHJpZ2h0LWFjdGlvbiBpY29uLWJ1dHRvbi4gUmVxdWlyZWQgd2hlbiByaWdodEFjdGlvbkljb24gaXMgcHJvdmlkZWQuXG4gICAqIEF0IGxlYXN0IGEgYGxhYmVsYCBhbmQgYW4gYG9uQ2xpY2tgIHByb3AvZnVuY3Rpb24gbmVlZCB0byBiZSBwcm92aWRlZC5cbiAgICovXG4gIHJpZ2h0QWN0aW9uUHJvcHM/OiBUSWNvbkJ1dHRvblByb3BzO1xufTtcblxuY29uc3Qgc2VsZWN0YWJsZVNlYXJjaElucHV0U2VxdWVudGlhbElkID0gY3JlYXRlU2VxdWVudGlhbElkKFxuICAnc2VsZWN0YWJsZS1zZWFyY2gtaW5wdXQtJ1xuKTtcblxuY29uc3QgaXNPcHRpb25PYmplY3QgPSAoXG4gIG9wdGlvbjogVE9wdGlvbiB8IFRPcHRpb25PYmplY3Rcbik6IG9wdGlvbiBpcyBUT3B0aW9uT2JqZWN0ID0+IChvcHRpb24gYXMgVE9wdGlvbk9iamVjdCkub3B0aW9ucyAhPT0gdW5kZWZpbmVkO1xuXG5jb25zdCB0cmFuc2Zvcm1EYXRhUHJvcHMgPSAoZGF0YVByb3BzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPikgPT5cbiAgT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgIE9iamVjdC5lbnRyaWVzKGRhdGFQcm9wcyB8fCB7fSkubWFwKChba2V5LCB2YWx1ZV0pID0+IFtcbiAgICAgIGBkYXRhLSR7a2V5fWAsXG4gICAgICB2YWx1ZSxcbiAgICBdKVxuICApO1xuXG5jb25zdCBTZWxlY3RhYmxlU2VhcmNoSW5wdXQgPSAoe1xuICBob3Jpem9udGFsQ29uc3RyYWludCA9ICdzY2FsZScsXG4gIGlzQ2xlYXJhYmxlID0gdHJ1ZSxcbiAgbWVudUhvcml6b250YWxDb25zdHJhaW50ID0gMyxcbiAgc2hvd1N1Ym1pdEJ1dHRvbiA9IHRydWUsXG4gIG1lbnVQb3J0YWxaSW5kZXggPSAxLFxuICAuLi5wcm9wc1xufTogVFNlbGVjdGFibGVTZWFyY2hJbnB1dFByb3BzKSA9PiB7XG4gIGNvbnN0IFtkcm9wZG93bkhhc0ZvY3VzLCB0b2dnbGVEcm9wZG93bkhhc0ZvY3VzXSA9IHVzZVRvZ2dsZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW3NlYXJjaFZhbHVlLCBzZXRTZWFyY2hWYWx1ZV0gPSB1c2VTdGF0ZShwcm9wcy52YWx1ZS50ZXh0IHx8ICcnKTtcbiAgY29uc3QgW3NlYXJjaE9wdGlvbiwgc2V0U2VhcmNoT3B0aW9uXSA9IHVzZVN0YXRlKHByb3BzLnZhbHVlLm9wdGlvbiB8fCAnJyk7XG4gIGNvbnN0IGNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IHRleHRJbnB1dFJlZiA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKTtcblxuICBjb25zdCBhbGxQcm9wcyA9IHtcbiAgICBob3Jpem9udGFsQ29uc3RyYWludCxcbiAgICBpc0NsZWFyYWJsZSxcbiAgICBtZW51SG9yaXpvbnRhbENvbnN0cmFpbnQsXG4gICAgc2hvd1N1Ym1pdEJ1dHRvbixcbiAgICBtZW51UG9ydGFsWkluZGV4LFxuICAgIC4uLnByb3BzLFxuICB9O1xuICBjb25zdCBsZWdhY3lEYXRhUHJvcHMgPSBmaWx0ZXJEYXRhQXR0cmlidXRlcyhwcm9wcyk7XG4gIGNvbnN0IHRyYW5zZm9ybWVkU2VsZWN0RGF0YVByb3BzID0gdHJhbnNmb3JtRGF0YVByb3BzKHByb3BzLnNlbGVjdERhdGFQcm9wcyk7XG4gIGNvbnN0IHRyYW5zZm9ybWVkSW5wdXREYXRhUHJvcHMgPSB0cmFuc2Zvcm1EYXRhUHJvcHMocHJvcHMuaW5wdXREYXRhUHJvcHMpO1xuICBjb25zdCBzZWFyY2hJbnB1dFZhbHVlID0gcHJvcHMuX2V4cGVyaW1lbnRhbFZhbHVlPy50ZXh0ID8/IHNlYXJjaFZhbHVlO1xuICBjb25zdCBzZWFyY2hJbnB1dE9wdGlvbiA9IHByb3BzLl9leHBlcmltZW50YWxWYWx1ZT8ub3B0aW9uID8/IHNlYXJjaE9wdGlvbjtcblxuICBjb25zdCBvcHRpb25zV2l0aG91dEdyb3VwcyA9IHByb3BzLm9wdGlvbnMuZmxhdE1hcCgob3B0aW9uKSA9PiB7XG4gICAgaWYgKGlzT3B0aW9uT2JqZWN0KG9wdGlvbikpIHtcbiAgICAgIHJldHVybiBvcHRpb24ub3B0aW9ucztcbiAgICB9XG4gICAgcmV0dXJuIG9wdGlvbjtcbiAgfSk7XG5cbiAgY29uc3Qgc2VsZWN0ZWRPcHRpb24gPSBvcHRpb25zV2l0aG91dEdyb3Vwcy5maW5kKFxuICAgIChvcHRpb24pID0+IG9wdGlvbi52YWx1ZSA9PT0gc2VhcmNoSW5wdXRPcHRpb25cbiAgKTtcblxuICBpZiAocHJvcHMucmlnaHRBY3Rpb25JY29uICYmICFwcm9wcy5yaWdodEFjdGlvblByb3BzKSB7XG4gICAgd2FybmluZyhcbiAgICAgIGZhbHNlLFxuICAgICAgJ1NlbGVjdGFibGVTZWFyY2hJbnB1dDogYHJpZ2h0QWN0aW9uSWNvbmAgaXMgcHJvdmlkZWQgYnV0IGByaWdodEFjdGlvblByb3BzYCBpcyBtaXNzaW5nLiBQcm92aWRlIGFuIG9iamVjdCB3aXRoIGEgYGxhYmVsYCBhbmQgYG9uQ2xpY2tgIHByb3BlcnR5LidcbiAgICApO1xuICB9XG4gIGNvbnN0IHNlbGVjdGFibFNlYXJjaElucHV0SWQgPSB1c2VGaWVsZElkKFxuICAgIHByb3BzLmlkLFxuICAgIHNlbGVjdGFibGVTZWFyY2hJbnB1dFNlcXVlbnRpYWxJZFxuICApO1xuXG4gIGlmICghcHJvcHMuaXNSZWFkT25seSkge1xuICAgIHdhcm5pbmcoXG4gICAgICB0eXBlb2YgcHJvcHMub25DaGFuZ2UgPT09ICdmdW5jdGlvbicsXG4gICAgICAnU2VsZWN0YWJsZVNlYXJjaElucHV0OiBgb25DaGFuZ2VgIGlzIHJlcXVpcmVkIHdoZW4gaXMgbm90IHJlYWQgb25seS4nXG4gICAgKTtcbiAgfVxuXG4gIHdhcm5JZk1lbnVQb3J0YWxQcm9wc0FyZU1pc3Npbmcoe1xuICAgIG1lbnVQb3J0YWxaSW5kZXg6IG1lbnVQb3J0YWxaSW5kZXgsXG4gICAgbWVudVBvcnRhbFRhcmdldDogcHJvcHMubWVudVBvcnRhbFRhcmdldCxcbiAgICBjb21wb25lbnROYW1lOiAnU2VsZWN0YWJsZVNlYXJjaElucHV0JyxcbiAgfSk7XG5cbiAgY29uc3QgeyBvbkZvY3VzLCBvbkJsdXIsIG5hbWUgfSA9IHByb3BzO1xuICBjb25zdCBoYW5kbGVUZXh0SW5wdXRGb2N1cyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAob25Gb2N1cykge1xuICAgICAgb25Gb2N1cyh7XG4gICAgICAgIHRhcmdldDoge1xuICAgICAgICAgIGlkOiBTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0VGV4dElucHV0SWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCksXG4gICAgICAgICAgbmFtZTogZ2V0VGV4dElucHV0TmFtZShuYW1lKSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgW29uRm9jdXMsIHNlbGVjdGFibFNlYXJjaElucHV0SWQsIG5hbWVdKTtcblxuICBjb25zdCBoYW5kbGVUZXh0SW5wdXRCbHVyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChvbkJsdXIpIHtcbiAgICAgIG9uQmx1cih7XG4gICAgICAgIHRhcmdldDoge1xuICAgICAgICAgIGlkOiBTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0VGV4dElucHV0SWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCksXG4gICAgICAgICAgbmFtZTogZ2V0VGV4dElucHV0TmFtZShuYW1lKSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgW29uQmx1ciwgc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCwgbmFtZV0pO1xuXG4gIGNvbnN0IGhhbmRsZUNsZWFyID0gKCkgPT4ge1xuICAgIHNldFNlYXJjaFZhbHVlKCcnKTtcbiAgICBpZiAocHJvcHMub25SZXNldCkge1xuICAgICAgcHJvcHMub25SZXNldCgpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVUZXh0SW5wdXRDaGFuZ2UgPSAoZXZlbnQ6IENoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgc2V0U2VhcmNoVmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICBpZiAocHJvcHMub25DaGFuZ2UpIHtcbiAgICAgIHByb3BzLm9uQ2hhbmdlKHtcbiAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgaWQ6IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKSxcbiAgICAgICAgICBuYW1lOiBnZXRUZXh0SW5wdXROYW1lKHByb3BzLm5hbWUpLFxuICAgICAgICAgIHZhbHVlOiBldmVudC50YXJnZXQudmFsdWUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlU3VibWl0ID0gKFxuICAgIGV2ZW50OlxuICAgICAgfCBLZXlib2FyZEV2ZW50PEhUTUxCdXR0b25FbGVtZW50PlxuICAgICAgfCBNb3VzZUV2ZW50PEhUTUxCdXR0b25FbGVtZW50PlxuICAgICAgfCBLZXlib2FyZEV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+XG4gICkgPT4ge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKHByb3BzLm9uU3VibWl0KSB7XG4gICAgICBwcm9wcy5vblN1Ym1pdCh7XG4gICAgICAgIHRleHQ6IHNlYXJjaElucHV0VmFsdWUsXG4gICAgICAgIG9wdGlvbjogc2VsZWN0ZWRPcHRpb24/LnZhbHVlID8/ICcnLFxuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGRyb3Bkb3duTmFtZSA9IGdldERyb3Bkb3duTmFtZShwcm9wcy5uYW1lKTtcbiAgY29uc3QgZHJvcGRvd25JZCA9IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXREcm9wZG93bklkKFxuICAgIHNlbGVjdGFibFNlYXJjaElucHV0SWRcbiAgKTtcblxuICBjb25zdCBoYW5kbGVEcm9wZG93bkZvY3VzID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChvbkZvY3VzKSB7XG4gICAgICBvbkZvY3VzKHtcbiAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgaWQ6IGRyb3Bkb3duSWQsXG4gICAgICAgICAgbmFtZTogZHJvcGRvd25OYW1lLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICAgIHRvZ2dsZURyb3Bkb3duSGFzRm9jdXModHJ1ZSk7XG4gIH0sIFtvbkZvY3VzLCB0b2dnbGVEcm9wZG93bkhhc0ZvY3VzLCBkcm9wZG93bk5hbWUsIGRyb3Bkb3duSWRdKTtcblxuICBjb25zdCBoYW5kbGVEcm9wZG93bkJsdXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKG9uQmx1cikge1xuICAgICAgb25CbHVyKHtcbiAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgaWQ6IGRyb3Bkb3duSWQsXG4gICAgICAgICAgbmFtZTogZHJvcGRvd25OYW1lLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICAgIHRvZ2dsZURyb3Bkb3duSGFzRm9jdXMoZmFsc2UpO1xuICB9LCBbdG9nZ2xlRHJvcGRvd25IYXNGb2N1cywgb25CbHVyLCBkcm9wZG93bk5hbWUsIGRyb3Bkb3duSWRdKTtcblxuICBjb25zdCBoYW5kbGVDb250YWluZXJCbHVyID0gdXNlQ2FsbGJhY2soXG4gICAgKGV2ZW50KSA9PiB7XG4gICAgICAvLyBlbnN1cmVzIHRoYXQgYm90aCBmaWVsZHMgYXJlIG1hcmtlZCBhcyB0b3VjaGVkIHdoZW4gb25lIG9mIHRoZW1cbiAgICAgIC8vIGlzIGJsdXJyZWRcbiAgICAgIGlmIChcbiAgICAgICAgdHlwZW9mIG9uQmx1ciA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgICAgICAhY29udGFpbmVyUmVmLmN1cnJlbnQ/LmNvbnRhaW5zKGV2ZW50LnJlbGF0ZWRUYXJnZXQpXG4gICAgICApIHtcbiAgICAgICAgb25CbHVyKHtcbiAgICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICAgIGlkOiBTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0RHJvcGRvd25JZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKSxcbiAgICAgICAgICAgIG5hbWU6IGdldERyb3Bkb3duTmFtZShuYW1lKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgICAgb25CbHVyKHtcbiAgICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICAgIGlkOiBTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0VGV4dElucHV0SWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCksXG4gICAgICAgICAgICBuYW1lOiBnZXRUZXh0SW5wdXROYW1lKG5hbWUpLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0sXG4gICAgW29uQmx1ciwgc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCwgbmFtZV1cbiAgKTtcblxuICBjb25zdCBoYW5kbGVEcm9wZG93bkNoYW5nZSA9IHVzZUNhbGxiYWNrKFxuICAgIChuZXh0U2VsZWN0ZWRPcHRpb25zKSA9PiB7XG4gICAgICBzZXRTZWFyY2hPcHRpb24obmV4dFNlbGVjdGVkT3B0aW9ucy52YWx1ZSk7XG4gICAgICBpZiAocHJvcHMub25DaGFuZ2UpIHtcbiAgICAgICAgcHJvcHMub25DaGFuZ2Uoe1xuICAgICAgICAgIHRhcmdldDoge1xuICAgICAgICAgICAgaWQ6IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXREcm9wZG93bklkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpLFxuICAgICAgICAgICAgbmFtZTogZ2V0RHJvcGRvd25OYW1lKG5hbWUpLFxuICAgICAgICAgICAgdmFsdWU6IG5leHRTZWxlY3RlZE9wdGlvbnMudmFsdWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICB0ZXh0SW5wdXRSZWYuY3VycmVudD8uZm9jdXMoKTtcbiAgICB9LFxuICAgIFtwcm9wcy5vbkNoYW5nZSwgc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCwgbmFtZV1cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxDb25zdHJhaW50cy5Ib3Jpem9udGFsIG1heD17aG9yaXpvbnRhbENvbnN0cmFpbnR9PlxuICAgICAgPENvbnRhaW5lclxuICAgICAgICByZWY9e2NvbnRhaW5lclJlZn1cbiAgICAgICAgb25CbHVyPXtoYW5kbGVDb250YWluZXJCbHVyfVxuICAgICAgICBkYXRhLXRlc3RpZD1cInNlbGVjdGFibGUtc2VhcmNoLWlucHV0LWNvbnRhaW5lclwiXG4gICAgICA+XG4gICAgICAgIDxDb25zdHJhaW50cy5Ib3Jpem9udGFsIG1heD17bWVudUhvcml6b250YWxDb25zdHJhaW50fT5cbiAgICAgICAgICA8U2VsZWN0YWJsZVNlbGVjdFxuICAgICAgICAgICAgey4uLmFsbFByb3BzfVxuICAgICAgICAgICAgaWQ9e1NlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXREcm9wZG93bklkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpfVxuICAgICAgICAgICAgbmFtZT17Z2V0RHJvcGRvd25OYW1lKHByb3BzLm5hbWUpfVxuICAgICAgICAgICAgZHJvcGRvd25IYXNGb2N1cz17ZHJvcGRvd25IYXNGb2N1c31cbiAgICAgICAgICAgIGlzQ29uZGVuc2VkPXtwcm9wcy5pc0NvbmRlbnNlZCA/PyBmYWxzZX1cbiAgICAgICAgICAgIGhhbmRsZURyb3Bkb3duRm9jdXM9e2hhbmRsZURyb3Bkb3duRm9jdXN9XG4gICAgICAgICAgICBoYW5kbGVEcm9wZG93bkJsdXI9e2hhbmRsZURyb3Bkb3duQmx1cn1cbiAgICAgICAgICAgIGhhbmRsZURyb3Bkb3duQ2hhbmdlPXtoYW5kbGVEcm9wZG93bkNoYW5nZX1cbiAgICAgICAgICAgIHRleHRJbnB1dFJlZj17dGV4dElucHV0UmVmfVxuICAgICAgICAgICAgc2VsZWN0ZWRPcHRpb249e3NlbGVjdGVkT3B0aW9ufVxuICAgICAgICAgICAgZGF0YVByb3BzPXt0cmFuc2Zvcm1lZFNlbGVjdERhdGFQcm9wc31cbiAgICAgICAgICAgIHNlbGVjdEN1c3RvbUNvbXBvbmVudHM9e3Byb3BzLnNlbGVjdEN1c3RvbUNvbXBvbmVudHN9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9Db25zdHJhaW50cy5Ib3Jpem9udGFsPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICBnZXRTZWxlY3RhYmxlU2VhcmNoSW5wdXRDb250YWluZXJTdHlsZXMoYWxsUHJvcHMpLFxuICAgICAgICAgICAgZHJvcGRvd25IYXNGb2N1cyAmJlxuICAgICAgICAgICAgICAhcHJvcHMuaXNSZWFkT25seSAmJlxuICAgICAgICAgICAgICBjc3NgXG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR7ZGVzaWduVG9rZW5zLmJvcmRlckNvbG9yRm9ySW5wdXRXaGVuRm9jdXNlZH07XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHtkZXNpZ25Ub2tlbnMuYm9yZGVyQ29sb3JGb3JJbnB1dFdoZW5Gb2N1c2VkfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGAsXG4gICAgICAgICAgXX1cbiAgICAgICAgPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgcmVmPXt0ZXh0SW5wdXRSZWZ9XG4gICAgICAgICAgICBpZD17U2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpfVxuICAgICAgICAgICAgbmFtZT17Z2V0VGV4dElucHV0TmFtZShwcm9wcy5uYW1lKX1cbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIHZhbHVlPXtzZWFyY2hJbnB1dFZhbHVlfVxuICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZVRleHRJbnB1dENoYW5nZX1cbiAgICAgICAgICAgIG9uQmx1cj17aGFuZGxlVGV4dElucHV0Qmx1cn1cbiAgICAgICAgICAgIG9uRm9jdXM9e2hhbmRsZVRleHRJbnB1dEZvY3VzfVxuICAgICAgICAgICAgZGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICBwbGFjZWhvbGRlcj17cHJvcHMucGxhY2Vob2xkZXJ9XG4gICAgICAgICAgICByZWFkT25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgIGF1dG9Gb2N1cz17cHJvcHMuaXNBdXRvZm9jdXNzZWR9XG4gICAgICAgICAgICBhdXRvQ29tcGxldGU9e3Byb3BzLmF1dG9Db21wbGV0ZX1cbiAgICAgICAgICAgIGFyaWEtcmVhZG9ubHk9e3Byb3BzLmlzUmVhZE9ubHl9XG4gICAgICAgICAgICBjb250ZW50RWRpdGFibGU9eyFwcm9wcy5pc1JlYWRPbmx5fVxuICAgICAgICAgICAgY3NzPXtnZXRTZWxlY3RhYmxlU2VhcmNoSW5wdXRTdHlsZXMoYWxsUHJvcHMpfVxuICAgICAgICAgICAgey4uLnRyYW5zZm9ybWVkSW5wdXREYXRhUHJvcHN9XG4gICAgICAgICAgICB7Li4ubGVnYWN5RGF0YVByb3BzfVxuICAgICAgICAgICAgLyogQVJJQSAqL1xuICAgICAgICAgICAgYXJpYS1pbnZhbGlkPXtwcm9wc1snYXJpYS1pbnZhbGlkJ119XG4gICAgICAgICAgICBhcmlhLWVycm9ybWVzc2FnZT17cHJvcHNbJ2FyaWEtZXJyb3JtZXNzYWdlJ119XG4gICAgICAgICAgICBkYXRhLXRlc3RpZD1cInNlbGVjdGFibGUtaW5wdXRcIlxuICAgICAgICAgICAgb25LZXlEb3duPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgaWYgKCFwcm9wcy5pc1JlYWRPbmx5ICYmIGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgICAgICAgICAgIGhhbmRsZVN1Ym1pdChldmVudCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH19XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7aXNDbGVhcmFibGUgJiZcbiAgICAgICAgICAgIHNlYXJjaElucHV0VmFsdWUgJiZcbiAgICAgICAgICAgICFwcm9wcy5pc0Rpc2FibGVkICYmXG4gICAgICAgICAgICAhcHJvcHMuaXNSZWFkT25seSAmJiAoXG4gICAgICAgICAgICAgIDxTZWNvbmRhcnlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgaWNvbj17PENsb3NlSWNvbiAvPn1cbiAgICAgICAgICAgICAgICBzaXplPXtwcm9wcy5pc0NvbmRlbnNlZCA/ICcxMCcgOiAnMjAnfVxuICAgICAgICAgICAgICAgIGxhYmVsPXsnY2xlYXItYnV0dG9uJ31cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbGVhcn1cbiAgICAgICAgICAgICAgICBjc3M9e2dldENsZWFySWNvbkJ1dHRvblN0eWxlcyhhbGxQcm9wcyl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIHtzaG93U3VibWl0QnV0dG9uICYmIChcbiAgICAgICAgICAgIDxTZWNvbmRhcnlJY29uQnV0dG9uXG4gICAgICAgICAgICAgIGljb249ezxTZWFyY2hJY29uIC8+fVxuICAgICAgICAgICAgICBzaXplPXtwcm9wcy5pc0NvbmRlbnNlZCA/ICcyMCcgOiAnNDAnfVxuICAgICAgICAgICAgICBsYWJlbD17J3NlYXJjaC1idXR0b24nfVxuICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVTdWJtaXR9XG4gICAgICAgICAgICAgIGNzcz17Z2V0U2VhcmNoSWNvbkJ1dHRvblN0eWxlcyhhbGxQcm9wcyl9XG4gICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG5cbiAgICAgICAgICB7cHJvcHMucmlnaHRBY3Rpb25JY29uICYmIHByb3BzLnJpZ2h0QWN0aW9uUHJvcHMgJiYgKFxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICBvcmRlcjogNDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPEljb25CdXR0b25cbiAgICAgICAgICAgICAgICB0aGVtZT1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWQgfHwgcHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgICAgICBzaXplPXtwcm9wcy5pc0NvbmRlbnNlZCA/ICcxMCcgOiAnMjAnfVxuICAgICAgICAgICAgICAgIGljb249e3Byb3BzLnJpZ2h0QWN0aW9uSWNvbn1cbiAgICAgICAgICAgICAgICB7Li4ucHJvcHMucmlnaHRBY3Rpb25Qcm9wc31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9Db250YWluZXI+XG4gICAgPC9Db25zdHJhaW50cy5Ib3Jpem9udGFsPlxuICApO1xufTtcblxuU2VsZWN0YWJsZVNlYXJjaElucHV0LmRpc3BsYXlOYW1lID0gJ1NlbGVjdGFibGVTZWFyY2hJbnB1dCc7XG5TZWxlY3RhYmxlU2VhcmNoSW5wdXQuaXNFbXB0eSA9IChcbiAgZm9ybVZhbHVlOiBUU2VsZWN0YWJsZVNlYXJjaElucHV0UHJvcHNbJ3ZhbHVlJ11cbikgPT4gIWZvcm1WYWx1ZSB8fCBmb3JtVmFsdWUudGV4dC50cmltKCkgPT09ICcnO1xuU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkID0gZ2V0VGV4dElucHV0TmFtZTtcblNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXREcm9wZG93bklkID0gZ2V0RHJvcGRvd25OYW1lO1xuXG5leHBvcnQgZGVmYXVsdCBTZWxlY3RhYmxlU2VhcmNoSW5wdXQ7XG4iXX0= */"],
|
|
472
|
+
css: [getSelectableSearchInputContainerStyles(allProps), dropdownHasFocus && !props.isReadOnly && /*#__PURE__*/react.css("border-left-color:", designSystem.designTokens.borderColorForInputWhenFocused, ";&:hover{border-left-color:", designSystem.designTokens.borderColorForInputWhenFocused, ";}" + (process.env.NODE_ENV === "production" ? "" : ";label:SelectableSearchInput;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNlbGVjdGFibGUtc2VhcmNoLWlucHV0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzZWlCIiwiZmlsZSI6InNlbGVjdGFibGUtc2VhcmNoLWlucHV0LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgTW91c2VFdmVudCxcbiAgdHlwZSBLZXlib2FyZEV2ZW50LFxuICB0eXBlIENoYW5nZUV2ZW50LFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBGb2N1c0V2ZW50LFxuICB1c2VTdGF0ZSxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZVJlZixcbiAgUmVhY3RFbGVtZW50LFxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgU2Vjb25kYXJ5SWNvbkJ1dHRvbiBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9zZWNvbmRhcnktaWNvbi1idXR0b24nO1xuaW1wb3J0IEljb25CdXR0b24sIHtcbiAgdHlwZSBUSWNvbkJ1dHRvblByb3BzLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29uLWJ1dHRvbic7XG5pbXBvcnQgQ29uc3RyYWludHMgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvY29uc3RyYWludHMnO1xuaW1wb3J0IHsgU2VhcmNoSWNvbiwgQ2xvc2VJY29uIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IHtcbiAgY3JlYXRlU2VxdWVudGlhbElkLFxuICBmaWx0ZXJEYXRhQXR0cmlidXRlcyxcbiAgd2FybmluZyxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvdXRpbHMnO1xuaW1wb3J0IHsgd2FybklmTWVudVBvcnRhbFByb3BzQXJlTWlzc2luZyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NlbGVjdC11dGlscyc7XG5pbXBvcnQge1xuICBnZXRDbGVhckljb25CdXR0b25TdHlsZXMsXG4gIGdldFNlYXJjaEljb25CdXR0b25TdHlsZXMsXG4gIGdldFNlbGVjdGFibGVTZWFyY2hJbnB1dENvbnRhaW5lclN0eWxlcyxcbiAgZ2V0U2VsZWN0YWJsZVNlYXJjaElucHV0U3R5bGVzLFxufSBmcm9tICcuL3NlbGVjdGFibGUtc2VhcmNoLWlucHV0LnN0eWxlcyc7XG5pbXBvcnQgU2VsZWN0YWJsZVNlbGVjdCBmcm9tICcuL3NlbGVjdGFibGUtc2VsZWN0JztcbmltcG9ydCB7IHVzZUZpZWxkSWQsIHVzZVRvZ2dsZVN0YXRlIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaG9va3MnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgZGVzaWduVG9rZW5zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyB0eXBlIFByb3BzIGFzIFJlYWN0U2VsZWN0UHJvcHMgfSBmcm9tICdyZWFjdC1zZWxlY3QnO1xuXG5jb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuYDtcblxuY29uc3QgZ2V0VGV4dElucHV0TmFtZSA9IChuYW1lPzogc3RyaW5nKSA9PlxuICBuYW1lID8gYCR7bmFtZX0udGV4dElucHV0YCA6IHVuZGVmaW5lZDtcblxuY29uc3QgZ2V0RHJvcGRvd25OYW1lID0gKG5hbWU/OiBzdHJpbmcpID0+XG4gIG5hbWUgPyBgJHtuYW1lfS5kcm9wZG93bmAgOiB1bmRlZmluZWQ7XG5cbmV4cG9ydCB0eXBlIFRDdXN0b21FdmVudCA9IHtcbiAgdGFyZ2V0OiB7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICB2YWx1ZT86IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbDtcbiAgfTtcbiAgcGVyc2lzdD86ICgpID0+IHZvaWQ7XG59O1xuXG5leHBvcnQgdHlwZSBUVmFsdWUgPSB7XG4gIHRleHQ6IHN0cmluZztcbiAgb3B0aW9uOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBUT3B0aW9uID0ge1xuICB2YWx1ZTogc3RyaW5nO1xuICBsYWJlbD86IFJlYWN0Tm9kZTtcbn07XG5cbmV4cG9ydCB0eXBlIFRPcHRpb25PYmplY3QgPSB7XG4gIG9wdGlvbnM6IFRPcHRpb25bXTtcbn07XG5cbmV4cG9ydCB0eXBlIFRPcHRpb25zID0gVE9wdGlvbltdIHwgVE9wdGlvbk9iamVjdFtdO1xuXG5leHBvcnQgdHlwZSBUU2VsZWN0YWJsZVNlYXJjaElucHV0UHJvcHMgPSB7XG4gIC8qKlxuICAgKiBVc2VkIGFzIEhUTUwgaWQgcHJvcGVydHkuIEFuIGlkIGlzIGF1dG8tZ2VuZXJhdGVkIHdoZW4gaXQgaXMgbm90IHNwZWNpZmllZC5cbiAgICovXG4gIGlkPzogc3RyaW5nO1xuICAvKipcbiAgICogVXNlZCBhcyBIVE1MIGF1dG9jb21wbGV0ZSBwcm9wZXJ0eVxuICAgKi9cbiAgYXV0b0NvbXBsZXRlPzogc3RyaW5nO1xuICAvKipcbiAgICogSW5kaWNhdGUgaWYgdGhlIHZhbHVlIGVudGVyZWQgaW4gdGhlIGlucHV0IGlzIGludmFsaWQuXG4gICAqL1xuICAnYXJpYS1pbnZhbGlkJz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBIVE1MIElEIG9mIGFuIGVsZW1lbnQgY29udGFpbmluZyBhbiBlcnJvciBtZXNzYWdlIHJlbGF0ZWQgdG8gdGhlIGlucHV0LlxuICAgKi9cbiAgJ2FyaWEtZXJyb3JtZXNzYWdlJz86IHN0cmluZztcbiAgLyoqXG4gICAqIFVzZWQgYXMgSFRNTCBuYW1lIG9mIHRoZSBpbnB1dCBjb21wb25lbnQgcHJvcGVydHkuXG4gICAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogVmFsdWUgb2YgdGhlIGlucHV0LiBDb25zaXN0cyBvZiB0ZXh0IGlucHV0IGFuZCBzZWxlY3RlZCBvcHRpb24uXG4gICAqL1xuICB2YWx1ZTogVFZhbHVlO1xuICBfZXhwZXJpbWVudGFsVmFsdWU/OiBUVmFsdWU7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2l0aCB0aGUgZXZlbnQgb2YgdGhlIGlucHV0IG9yIGRyb3Bkb3duIHdoZW4gZWl0aGVyIHRoZSBzZWxlY3RhYmxlIGRyb3Bkb3duIG9yIHRoZSB0ZXh0IGlucHV0IGhhdmUgY2hhbmdlZC5cbiAgICogVGhlIGNoYW5nZSBldmVudCBmcm9tIHRoZSB0ZXh0IGlucHV0IGhhcyBhIHN1ZmZpeCBvZiBgLnRleHRJbnB1dGAgYW5kIHRoZSBjaGFuZ2UgZXZlbnQgZnJvbSB0aGUgZHJvcGRvd24gaGFzIGEgc3VmZml4IG9mIGAuZHJvcGRvd25gLlxuICAgKi9cbiAgb25DaGFuZ2U/OiAoZXZlbnQ6IFRDdXN0b21FdmVudCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGlucHV0IGlzIGJsdXJyZWRcbiAgICovXG4gIG9uQmx1cj86IChldmVudDogVEN1c3RvbUV2ZW50KSA9PiB2b2lkO1xuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gaW5wdXQgaXMgZm9jdXNlZFxuICAgKi9cbiAgb25Gb2N1cz86IChldmVudDogVEN1c3RvbUV2ZW50KSA9PiB2b2lkO1xuICAvKipcbiAgICogSGFuZGxlciB3aGVuIHRoZSBzZWFyY2ggYnV0dG9uIGlzIGNsaWNrZWQuXG4gICAqL1xuICBvblN1Ym1pdDogKHZhbHVlOiBUVmFsdWUpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBIYW5kbGVyIHdoZW4gdGhlIGNsZWFyIGJ1dHRvbiBpcyBjbGlja2VkLlxuICAgKi9cbiAgb25SZXNldD86ICgpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBGb2N1cyB0aGUgaW5wdXQgb24gaW5pdGlhbCByZW5kZXJcbiAgICovXG4gIGlzQXV0b2ZvY3Vzc2VkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyB0aGF0IHRoZSBpbnB1dCBjYW5ub3QgYmUgbW9kaWZpZWQgKGUuZyBub3QgYXV0aG9yaXplZCwgb3IgY2hhbmdlcyBjdXJyZW50bHkgc2F2aW5nKS5cbiAgICovXG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogSW5kaWNhdGVzIHRoYXQgdGhlIGZpZWxkIGlzIGRpc3BsYXlpbmcgcmVhZC1vbmx5IGNvbnRlbnRcbiAgICovXG4gIGlzUmVhZE9ubHk/OiBib29sZWFuO1xuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBpbnB1dCBoYXMgaW52YWxpZCB2YWx1ZXNcbiAgICovXG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgaW5wdXQgaGFzIHdhcm5pbmcgdmFsdWVzXG4gICAqL1xuICBoYXNXYXJuaW5nPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFBsYWNlaG9sZGVyIHRleHQgZm9yIHRoZSBpbnB1dFxuICAgKi9cbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGlucHV0IHNob3VsZCBiZSBjbGVhcmVkIHdoZW4gdGhlIGNsZWFyIGJ1dHRvbiBpcyBjbGlja2VkLlxuICAgKiBEZWZhdWx0cyB0byB0cnVlLlxuICAgKlxuICAgKi9cbiAgaXNDbGVhcmFibGU/OiBib29sZWFuO1xuICAvKipcbiAgICogVXNlIHRoaXMgcHJvcGVydHkgdG8gcmVkdWNlIHRoZSBwYWRkaW5ncyBvZiB0aGUgY29tcG9uZW50IGZvciBhIHVpIGNvbXBhY3QgdmFyaWFudFxuICAgKi9cbiAgaXNDb25kZW5zZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogSG9yaXpvbnRhbCBzaXplIGxpbWl0IG9mIHRoZSBpbnB1dCBmaWVsZHMuXG4gICAqL1xuICBob3Jpem9udGFsQ29uc3RyYWludD86IDEwIHwgMTEgfCAxMiB8IDEzIHwgMTQgfCAxNSB8IDE2IHwgJ3NjYWxlJyB8ICdhdXRvJztcbiAgLyoqXG4gICAqIEFycmF5IG9mIG9wdGlvbnMgdGhhdCBwb3B1bGF0ZSB0aGUgc2VsZWN0IG1lbnVcbiAgICovXG4gIG9wdGlvbnM6IFRPcHRpb25zO1xuICAvKipcbiAgICogei1pbmRleCB2YWx1ZSBmb3IgdGhlIG1lbnUgcG9ydGFsXG4gICAqIDxicj5cbiAgICogVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggYG1lbnVQb3J0YWxUYXJnZXRgXG4gICAqL1xuICBtZW51UG9ydGFsWkluZGV4PzogbnVtYmVyO1xuICAvKipcbiAgICogRG9tIGVsZW1lbnQgdG8gcG9ydGFsIHRoZSBzZWxlY3QgbWVudSB0b1xuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgbWVudVBvcnRhbFRhcmdldD86IFJlYWN0U2VsZWN0UHJvcHNbJ21lbnVQb3J0YWxUYXJnZXQnXTtcbiAgLyoqXG4gICAqIHdoZXRoZXIgdGhlIG1lbnUgc2hvdWxkIGJsb2NrIHNjcm9sbCB3aGlsZSBvcGVuXG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBtZW51U2hvdWxkQmxvY2tTY3JvbGw/OiBSZWFjdFNlbGVjdFByb3BzWydtZW51U2hvdWxkQmxvY2tTY3JvbGwnXTtcbiAgLyoqXG4gICAqIEhhbmRsZSBjaGFuZ2UgZXZlbnRzIG9uIHRoZSBtZW51IGlucHV0XG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBvbk1lbnVJbnB1dENoYW5nZT86IFJlYWN0U2VsZWN0UHJvcHNbJ29uSW5wdXRDaGFuZ2UnXTtcbiAgLyoqXG4gICAqIENhbiBiZSB1c2VkIHRvIHJlbmRlciBhIGN1c3RvbSB2YWx1ZSB3aGVuIHRoZXJlIGFyZSBubyBvcHRpb25zIChlaXRoZXIgYmVjYXVzZSBvZiBubyBzZWFyY2ggcmVzdWx0cywgb3IgYWxsIG9wdGlvbnMgaGF2ZSBiZWVuIHVzZWQsIG9yIHRoZXJlIHdlcmUgbm9uZSBpbiB0aGUgZmlyc3QgcGxhY2UpLiBHZXRzIGNhbGxlZCB3aXRoIHsgaW5wdXRWYWx1ZTogU3RyaW5nIH0uXG4gICAqIDxiciAvPlxuICAgKiBgaW5wdXRWYWx1ZWAgd2lsbCBiZSBhbiBlbXB0eSBzdHJpbmcgd2hlbiBubyBzZWFyY2ggdGV4dCBpcyBwcmVzZW50LlxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgbm9NZW51T3B0aW9uc01lc3NhZ2U/OiBSZWFjdFNlbGVjdFByb3BzWydub09wdGlvbnNNZXNzYWdlJ107XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGVuYWJsZSBzZWFyY2ggZnVuY3Rpb25hbGl0eS5cbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIGlzTWVudVNlYXJjaGFibGU/OiBSZWFjdFNlbGVjdFByb3BzWydpc1NlYXJjaGFibGUnXTtcbiAgLyoqXG4gICAqIE1heGltdW0gaGVpZ2h0IG9mIHRoZSBtZW51IGJlZm9yZSBzY3JvbGxpbmdcbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIG1heE1lbnVIZWlnaHQ/OiBSZWFjdFNlbGVjdFByb3BzWydtYXhNZW51SGVpZ2h0J107XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBtZW51IHNob3VsZCBjbG9zZSBhZnRlciBhIHZhbHVlIGlzIHNlbGVjdGVkLiBEZWZhdWx0cyB0byBgdHJ1ZWAuXG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBjbG9zZU1lbnVPblNlbGVjdD86IFJlYWN0U2VsZWN0UHJvcHNbJ2Nsb3NlTWVudU9uU2VsZWN0J107XG4gIC8qKlxuICAgKiBIb3Jpem9udGFsIHNpemUgbGltaXQgZm9yIHRoZSBkcm9wZG93biBtZW51LlxuICAgKi9cbiAgbWVudUhvcml6b250YWxDb25zdHJhaW50PzogMyB8IDQgfCA1O1xuICAvKipcbiAgICogU2hvdyBzdWJtaXQgYnV0dG9uIGluIHRoZSBpbnB1dFxuICAgKi9cbiAgc2hvd1N1Ym1pdEJ1dHRvbj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiAgdXNlZCB0byBwYXNzIGRhdGEtKiBwcm9wcyB0byB0aGUgc2VsZWN0IGNvbXBvbmVudC5cbiAgICogZWc6IHNlbGVjdERhdGFQcm9wcz17W3sgJ3Byb3AtMSc6ICd2YWx1ZS0xJyB9LCB7ICdwcm9wLTInOiAndmFsdWUtMicgfV19XG4gICAqL1xuICBzZWxlY3REYXRhUHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAvKipcbiAgICogIHVzZWQgdG8gcGFzcyBkYXRhLSogcHJvcHMgdG8gdGhlIGlucHV0IGVsZW1lbnQuXG4gICAqIGVnOiBpbnB1dERhdGFQcm9wcz17W3sgJ3Byb3AtMSc6ICd2YWx1ZS0xJyB9LCB7ICdwcm9wLTInOiAndmFsdWUtMicgfV19XG4gICAqL1xuICBpbnB1dERhdGFQcm9wcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIC8qKlxuICAgKiBNYXAgb2YgY29tcG9uZW50cyB0byBvdmVyd3JpdGUgdGhlIGRlZmF1bHQgb25lcywgc2VlIHdoYXQgY29tcG9uZW50cyB5b3UgY2FuIG92ZXJyaWRlXG4gICAqIDxici8+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgc2VsZWN0Q3VzdG9tQ29tcG9uZW50cz86IFJlYWN0U2VsZWN0UHJvcHNbJ2NvbXBvbmVudHMnXTtcblxuICAvKipcbiAgICogQ3VzdG9tIGFjdGlvbiBpY29uIHRvIGJlIGRpc3BsYXllZCBvbiB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgaW5wdXQuXG4gICAqL1xuICByaWdodEFjdGlvbkljb24/OiBSZWFjdEVsZW1lbnQ7XG4gIC8qKlxuICAgKiBQcm9wcyBmb3IgdGhlIHJpZ2h0LWFjdGlvbiBpY29uLWJ1dHRvbi4gUmVxdWlyZWQgd2hlbiByaWdodEFjdGlvbkljb24gaXMgcHJvdmlkZWQuXG4gICAqIEF0IGxlYXN0IGEgYGxhYmVsYCBhbmQgYW4gYG9uQ2xpY2tgIHByb3AvZnVuY3Rpb24gbmVlZCB0byBiZSBwcm92aWRlZC5cbiAgICovXG4gIHJpZ2h0QWN0aW9uUHJvcHM/OiBUSWNvbkJ1dHRvblByb3BzO1xufTtcblxuY29uc3Qgc2VsZWN0YWJsZVNlYXJjaElucHV0U2VxdWVudGlhbElkID0gY3JlYXRlU2VxdWVudGlhbElkKFxuICAnc2VsZWN0YWJsZS1zZWFyY2gtaW5wdXQtJ1xuKTtcblxuY29uc3QgaXNPcHRpb25PYmplY3QgPSAoXG4gIG9wdGlvbjogVE9wdGlvbiB8IFRPcHRpb25PYmplY3Rcbik6IG9wdGlvbiBpcyBUT3B0aW9uT2JqZWN0ID0+IChvcHRpb24gYXMgVE9wdGlvbk9iamVjdCkub3B0aW9ucyAhPT0gdW5kZWZpbmVkO1xuXG5jb25zdCB0cmFuc2Zvcm1EYXRhUHJvcHMgPSAoZGF0YVByb3BzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPikgPT5cbiAgT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgIE9iamVjdC5lbnRyaWVzKGRhdGFQcm9wcyB8fCB7fSkubWFwKChba2V5LCB2YWx1ZV0pID0+IFtcbiAgICAgIGBkYXRhLSR7a2V5fWAsXG4gICAgICB2YWx1ZSxcbiAgICBdKVxuICApO1xuXG5jb25zdCBTZWxlY3RhYmxlU2VhcmNoSW5wdXQgPSAoe1xuICBob3Jpem9udGFsQ29uc3RyYWludCA9ICdzY2FsZScsXG4gIGlzQ2xlYXJhYmxlID0gdHJ1ZSxcbiAgbWVudUhvcml6b250YWxDb25zdHJhaW50ID0gMyxcbiAgc2hvd1N1Ym1pdEJ1dHRvbiA9IHRydWUsXG4gIG1lbnVQb3J0YWxaSW5kZXggPSAxLFxuICBvbkNoYW5nZSxcbiAgLi4ucHJvcHNcbn06IFRTZWxlY3RhYmxlU2VhcmNoSW5wdXRQcm9wcykgPT4ge1xuICBjb25zdCBbZHJvcGRvd25IYXNGb2N1cywgdG9nZ2xlRHJvcGRvd25IYXNGb2N1c10gPSB1c2VUb2dnbGVTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtzZWFyY2hWYWx1ZSwgc2V0U2VhcmNoVmFsdWVdID0gdXNlU3RhdGUocHJvcHMudmFsdWUudGV4dCB8fCAnJyk7XG4gIGNvbnN0IFtzZWFyY2hPcHRpb24sIHNldFNlYXJjaE9wdGlvbl0gPSB1c2VTdGF0ZShwcm9wcy52YWx1ZS5vcHRpb24gfHwgJycpO1xuICBjb25zdCBjb250YWluZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQgfCBudWxsPihudWxsKTtcbiAgY29uc3QgdGV4dElucHV0UmVmID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KG51bGwpO1xuXG4gIGNvbnN0IGFsbFByb3BzID0ge1xuICAgIGhvcml6b250YWxDb25zdHJhaW50LFxuICAgIGlzQ2xlYXJhYmxlLFxuICAgIG1lbnVIb3Jpem9udGFsQ29uc3RyYWludCxcbiAgICBzaG93U3VibWl0QnV0dG9uLFxuICAgIG1lbnVQb3J0YWxaSW5kZXgsXG4gICAgb25DaGFuZ2UsXG4gICAgLi4ucHJvcHMsXG4gIH07XG4gIGNvbnN0IGxlZ2FjeURhdGFQcm9wcyA9IGZpbHRlckRhdGFBdHRyaWJ1dGVzKHByb3BzKTtcbiAgY29uc3QgdHJhbnNmb3JtZWRTZWxlY3REYXRhUHJvcHMgPSB0cmFuc2Zvcm1EYXRhUHJvcHMocHJvcHMuc2VsZWN0RGF0YVByb3BzKTtcbiAgY29uc3QgdHJhbnNmb3JtZWRJbnB1dERhdGFQcm9wcyA9IHRyYW5zZm9ybURhdGFQcm9wcyhwcm9wcy5pbnB1dERhdGFQcm9wcyk7XG4gIGNvbnN0IHNlYXJjaElucHV0VmFsdWUgPSBwcm9wcy5fZXhwZXJpbWVudGFsVmFsdWU/LnRleHQgPz8gc2VhcmNoVmFsdWU7XG4gIGNvbnN0IHNlYXJjaElucHV0T3B0aW9uID0gcHJvcHMuX2V4cGVyaW1lbnRhbFZhbHVlPy5vcHRpb24gPz8gc2VhcmNoT3B0aW9uO1xuXG4gIGNvbnN0IG9wdGlvbnNXaXRob3V0R3JvdXBzID0gcHJvcHMub3B0aW9ucy5mbGF0TWFwKChvcHRpb24pID0+IHtcbiAgICBpZiAoaXNPcHRpb25PYmplY3Qob3B0aW9uKSkge1xuICAgICAgcmV0dXJuIG9wdGlvbi5vcHRpb25zO1xuICAgIH1cbiAgICByZXR1cm4gb3B0aW9uO1xuICB9KTtcblxuICBjb25zdCBzZWxlY3RlZE9wdGlvbiA9IG9wdGlvbnNXaXRob3V0R3JvdXBzLmZpbmQoXG4gICAgKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSBzZWFyY2hJbnB1dE9wdGlvblxuICApO1xuXG4gIGlmIChwcm9wcy5yaWdodEFjdGlvbkljb24gJiYgIXByb3BzLnJpZ2h0QWN0aW9uUHJvcHMpIHtcbiAgICB3YXJuaW5nKFxuICAgICAgZmFsc2UsXG4gICAgICAnU2VsZWN0YWJsZVNlYXJjaElucHV0OiBgcmlnaHRBY3Rpb25JY29uYCBpcyBwcm92aWRlZCBidXQgYHJpZ2h0QWN0aW9uUHJvcHNgIGlzIG1pc3NpbmcuIFByb3ZpZGUgYW4gb2JqZWN0IHdpdGggYSBgbGFiZWxgIGFuZCBgb25DbGlja2AgcHJvcGVydHkuJ1xuICAgICk7XG4gIH1cbiAgY29uc3Qgc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCA9IHVzZUZpZWxkSWQoXG4gICAgcHJvcHMuaWQsXG4gICAgc2VsZWN0YWJsZVNlYXJjaElucHV0U2VxdWVudGlhbElkXG4gICk7XG5cbiAgaWYgKCFwcm9wcy5pc1JlYWRPbmx5KSB7XG4gICAgd2FybmluZyhcbiAgICAgIHR5cGVvZiBvbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyxcbiAgICAgICdTZWxlY3RhYmxlU2VhcmNoSW5wdXQ6IGBvbkNoYW5nZWAgaXMgcmVxdWlyZWQgd2hlbiBpcyBub3QgcmVhZCBvbmx5LidcbiAgICApO1xuICB9XG5cbiAgd2FybklmTWVudVBvcnRhbFByb3BzQXJlTWlzc2luZyh7XG4gICAgbWVudVBvcnRhbFpJbmRleDogbWVudVBvcnRhbFpJbmRleCxcbiAgICBtZW51UG9ydGFsVGFyZ2V0OiBwcm9wcy5tZW51UG9ydGFsVGFyZ2V0LFxuICAgIGNvbXBvbmVudE5hbWU6ICdTZWxlY3RhYmxlU2VhcmNoSW5wdXQnLFxuICB9KTtcblxuICBjb25zdCB7IG9uRm9jdXMsIG9uQmx1ciwgbmFtZSB9ID0gcHJvcHM7XG4gIGNvbnN0IGhhbmRsZVRleHRJbnB1dEZvY3VzID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChvbkZvY3VzKSB7XG4gICAgICBvbkZvY3VzKHtcbiAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgaWQ6IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKSxcbiAgICAgICAgICBuYW1lOiBnZXRUZXh0SW5wdXROYW1lKG5hbWUpLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbb25Gb2N1cywgc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCwgbmFtZV0pO1xuXG4gIGNvbnN0IGhhbmRsZVRleHRJbnB1dEJsdXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKG9uQmx1cikge1xuICAgICAgb25CbHVyKHtcbiAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgaWQ6IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKSxcbiAgICAgICAgICBuYW1lOiBnZXRUZXh0SW5wdXROYW1lKG5hbWUpLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbb25CbHVyLCBzZWxlY3RhYmxTZWFyY2hJbnB1dElkLCBuYW1lXSk7XG5cbiAgY29uc3QgaGFuZGxlQ2xlYXIgPSAoKSA9PiB7XG4gICAgc2V0U2VhcmNoVmFsdWUoJycpO1xuICAgIGlmIChwcm9wcy5vblJlc2V0KSB7XG4gICAgICBwcm9wcy5vblJlc2V0KCk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVRleHRJbnB1dENoYW5nZSA9IChldmVudDogQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHtcbiAgICBzZXRTZWFyY2hWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xuICAgIGlmIChvbkNoYW5nZSkge1xuICAgICAgb25DaGFuZ2Uoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpLFxuICAgICAgICAgIG5hbWU6IGdldFRleHRJbnB1dE5hbWUocHJvcHMubmFtZSksXG4gICAgICAgICAgdmFsdWU6IGV2ZW50LnRhcmdldC52YWx1ZSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVTdWJtaXQgPSAoXG4gICAgZXZlbnQ6XG4gICAgICB8IEtleWJvYXJkRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQ+XG4gICAgICB8IE1vdXNlRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQ+XG4gICAgICB8IEtleWJvYXJkRXZlbnQ8SFRNTElucHV0RWxlbWVudD5cbiAgKSA9PiB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAocHJvcHMub25TdWJtaXQpIHtcbiAgICAgIHByb3BzLm9uU3VibWl0KHtcbiAgICAgICAgdGV4dDogc2VhcmNoSW5wdXRWYWx1ZSxcbiAgICAgICAgb3B0aW9uOiBzZWxlY3RlZE9wdGlvbj8udmFsdWUgPz8gJycsXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgZHJvcGRvd25OYW1lID0gZ2V0RHJvcGRvd25OYW1lKHByb3BzLm5hbWUpO1xuICBjb25zdCBkcm9wZG93bklkID0gU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldERyb3Bkb3duSWQoXG4gICAgc2VsZWN0YWJsU2VhcmNoSW5wdXRJZFxuICApO1xuXG4gIGNvbnN0IGhhbmRsZURyb3Bkb3duRm9jdXMgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKG9uRm9jdXMpIHtcbiAgICAgIG9uRm9jdXMoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogZHJvcGRvd25JZCxcbiAgICAgICAgICBuYW1lOiBkcm9wZG93bk5hbWUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gICAgdG9nZ2xlRHJvcGRvd25IYXNGb2N1cyh0cnVlKTtcbiAgfSwgW29uRm9jdXMsIHRvZ2dsZURyb3Bkb3duSGFzRm9jdXMsIGRyb3Bkb3duTmFtZSwgZHJvcGRvd25JZF0pO1xuXG4gIGNvbnN0IGhhbmRsZURyb3Bkb3duQmx1ciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAob25CbHVyKSB7XG4gICAgICBvbkJsdXIoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogZHJvcGRvd25JZCxcbiAgICAgICAgICBuYW1lOiBkcm9wZG93bk5hbWUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gICAgdG9nZ2xlRHJvcGRvd25IYXNGb2N1cyhmYWxzZSk7XG4gIH0sIFt0b2dnbGVEcm9wZG93bkhhc0ZvY3VzLCBvbkJsdXIsIGRyb3Bkb3duTmFtZSwgZHJvcGRvd25JZF0pO1xuXG4gIGNvbnN0IGhhbmRsZUNvbnRhaW5lckJsdXIgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQ6IEZvY3VzRXZlbnQpID0+IHtcbiAgICAgIC8vIGVuc3VyZXMgdGhhdCBib3RoIGZpZWxkcyBhcmUgbWFya2VkIGFzIHRvdWNoZWQgd2hlbiBvbmUgb2YgdGhlbVxuICAgICAgLy8gaXMgYmx1cnJlZFxuICAgICAgaWYgKFxuICAgICAgICB0eXBlb2Ygb25CbHVyID09PSAnZnVuY3Rpb24nICYmXG4gICAgICAgICFjb250YWluZXJSZWYuY3VycmVudD8uY29udGFpbnMoZXZlbnQucmVsYXRlZFRhcmdldClcbiAgICAgICkge1xuICAgICAgICBvbkJsdXIoe1xuICAgICAgICAgIHRhcmdldDoge1xuICAgICAgICAgICAgaWQ6IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXREcm9wZG93bklkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpLFxuICAgICAgICAgICAgbmFtZTogZ2V0RHJvcGRvd25OYW1lKG5hbWUpLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBvbkJsdXIoe1xuICAgICAgICAgIHRhcmdldDoge1xuICAgICAgICAgICAgaWQ6IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKSxcbiAgICAgICAgICAgIG5hbWU6IGdldFRleHRJbnB1dE5hbWUobmFtZSksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbb25CbHVyLCBzZWxlY3RhYmxTZWFyY2hJbnB1dElkLCBuYW1lXVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZURyb3Bkb3duQ2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgKG5leHRTZWxlY3RlZE9wdGlvbnM6IHsgdmFsdWU6IHN0cmluZyB9ICYgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IHtcbiAgICAgIHNldFNlYXJjaE9wdGlvbihuZXh0U2VsZWN0ZWRPcHRpb25zLnZhbHVlKTtcbiAgICAgIGlmIChvbkNoYW5nZSkge1xuICAgICAgICBvbkNoYW5nZSh7XG4gICAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgICBpZDogU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldERyb3Bkb3duSWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCksXG4gICAgICAgICAgICBuYW1lOiBnZXREcm9wZG93bk5hbWUobmFtZSksXG4gICAgICAgICAgICB2YWx1ZTogbmV4dFNlbGVjdGVkT3B0aW9ucy52YWx1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHRleHRJbnB1dFJlZi5jdXJyZW50Py5mb2N1cygpO1xuICAgIH0sXG4gICAgW29uQ2hhbmdlLCBzZWxlY3RhYmxTZWFyY2hJbnB1dElkLCBuYW1lXVxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPENvbnN0cmFpbnRzLkhvcml6b250YWwgbWF4PXtob3Jpem9udGFsQ29uc3RyYWludH0+XG4gICAgICA8Q29udGFpbmVyXG4gICAgICAgIHJlZj17Y29udGFpbmVyUmVmfVxuICAgICAgICBvbkJsdXI9e2hhbmRsZUNvbnRhaW5lckJsdXJ9XG4gICAgICAgIGRhdGEtdGVzdGlkPVwic2VsZWN0YWJsZS1zZWFyY2gtaW5wdXQtY29udGFpbmVyXCJcbiAgICAgID5cbiAgICAgICAgPENvbnN0cmFpbnRzLkhvcml6b250YWwgbWF4PXttZW51SG9yaXpvbnRhbENvbnN0cmFpbnR9PlxuICAgICAgICAgIDxTZWxlY3RhYmxlU2VsZWN0XG4gICAgICAgICAgICB7Li4uYWxsUHJvcHN9XG4gICAgICAgICAgICBpZD17U2VsZWN0YWJsZVNlYXJjaElucHV0LmdldERyb3Bkb3duSWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCl9XG4gICAgICAgICAgICBuYW1lPXtnZXREcm9wZG93bk5hbWUocHJvcHMubmFtZSl9XG4gICAgICAgICAgICBkcm9wZG93bkhhc0ZvY3VzPXtkcm9wZG93bkhhc0ZvY3VzfVxuICAgICAgICAgICAgaXNDb25kZW5zZWQ9e3Byb3BzLmlzQ29uZGVuc2VkID8/IGZhbHNlfVxuICAgICAgICAgICAgaGFuZGxlRHJvcGRvd25Gb2N1cz17aGFuZGxlRHJvcGRvd25Gb2N1c31cbiAgICAgICAgICAgIGhhbmRsZURyb3Bkb3duQmx1cj17aGFuZGxlRHJvcGRvd25CbHVyfVxuICAgICAgICAgICAgaGFuZGxlRHJvcGRvd25DaGFuZ2U9e1xuICAgICAgICAgICAgICBoYW5kbGVEcm9wZG93bkNoYW5nZSBhcyBSZWFjdFNlbGVjdFByb3BzWydvbkNoYW5nZSddXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0ZXh0SW5wdXRSZWY9e3RleHRJbnB1dFJlZn1cbiAgICAgICAgICAgIHNlbGVjdGVkT3B0aW9uPXtzZWxlY3RlZE9wdGlvbn1cbiAgICAgICAgICAgIGRhdGFQcm9wcz17dHJhbnNmb3JtZWRTZWxlY3REYXRhUHJvcHN9XG4gICAgICAgICAgICBzZWxlY3RDdXN0b21Db21wb25lbnRzPXtwcm9wcy5zZWxlY3RDdXN0b21Db21wb25lbnRzfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvQ29uc3RyYWludHMuSG9yaXpvbnRhbD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNzcz17W1xuICAgICAgICAgICAgZ2V0U2VsZWN0YWJsZVNlYXJjaElucHV0Q29udGFpbmVyU3R5bGVzKGFsbFByb3BzKSxcbiAgICAgICAgICAgIGRyb3Bkb3duSGFzRm9jdXMgJiZcbiAgICAgICAgICAgICAgIXByb3BzLmlzUmVhZE9ubHkgJiZcbiAgICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAke2Rlc2lnblRva2Vucy5ib3JkZXJDb2xvckZvcklucHV0V2hlbkZvY3VzZWR9O1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR7ZGVzaWduVG9rZW5zLmJvcmRlckNvbG9yRm9ySW5wdXRXaGVuRm9jdXNlZH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBgLFxuICAgICAgICAgIF19XG4gICAgICAgID5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHJlZj17dGV4dElucHV0UmVmfVxuICAgICAgICAgICAgaWQ9e1NlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKX1cbiAgICAgICAgICAgIG5hbWU9e2dldFRleHRJbnB1dE5hbWUocHJvcHMubmFtZSl9XG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICB2YWx1ZT17c2VhcmNoSW5wdXRWYWx1ZX1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVUZXh0SW5wdXRDaGFuZ2V9XG4gICAgICAgICAgICBvbkJsdXI9e2hhbmRsZVRleHRJbnB1dEJsdXJ9XG4gICAgICAgICAgICBvbkZvY3VzPXtoYW5kbGVUZXh0SW5wdXRGb2N1c31cbiAgICAgICAgICAgIGRpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkfVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3Byb3BzLnBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgcmVhZE9ubHk9e3Byb3BzLmlzUmVhZE9ubHl9XG4gICAgICAgICAgICBhdXRvRm9jdXM9e3Byb3BzLmlzQXV0b2ZvY3Vzc2VkfVxuICAgICAgICAgICAgYXV0b0NvbXBsZXRlPXtwcm9wcy5hdXRvQ29tcGxldGV9XG4gICAgICAgICAgICBhcmlhLXJlYWRvbmx5PXtwcm9wcy5pc1JlYWRPbmx5fVxuICAgICAgICAgICAgY29udGVudEVkaXRhYmxlPXshcHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgIGNzcz17Z2V0U2VsZWN0YWJsZVNlYXJjaElucHV0U3R5bGVzKGFsbFByb3BzKX1cbiAgICAgICAgICAgIHsuLi50cmFuc2Zvcm1lZElucHV0RGF0YVByb3BzfVxuICAgICAgICAgICAgey4uLmxlZ2FjeURhdGFQcm9wc31cbiAgICAgICAgICAgIC8qIEFSSUEgKi9cbiAgICAgICAgICAgIGFyaWEtaW52YWxpZD17cHJvcHNbJ2FyaWEtaW52YWxpZCddfVxuICAgICAgICAgICAgYXJpYS1lcnJvcm1lc3NhZ2U9e3Byb3BzWydhcmlhLWVycm9ybWVzc2FnZSddfVxuICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJzZWxlY3RhYmxlLWlucHV0XCJcbiAgICAgICAgICAgIG9uS2V5RG93bj17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgIGlmICghcHJvcHMuaXNSZWFkT25seSAmJiBldmVudC5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgICAgICAgICAgICBoYW5kbGVTdWJtaXQoZXZlbnQpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2lzQ2xlYXJhYmxlICYmXG4gICAgICAgICAgICBzZWFyY2hJbnB1dFZhbHVlICYmXG4gICAgICAgICAgICAhcHJvcHMuaXNEaXNhYmxlZCAmJlxuICAgICAgICAgICAgIXByb3BzLmlzUmVhZE9ubHkgJiYgKFxuICAgICAgICAgICAgICA8U2Vjb25kYXJ5SWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgIGljb249ezxDbG9zZUljb24gLz59XG4gICAgICAgICAgICAgICAgc2l6ZT17cHJvcHMuaXNDb25kZW5zZWQgPyAnMTAnIDogJzIwJ31cbiAgICAgICAgICAgICAgICBsYWJlbD17J2NsZWFyLWJ1dHRvbid9XG4gICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlQ2xlYXJ9XG4gICAgICAgICAgICAgICAgY3NzPXtnZXRDbGVhckljb25CdXR0b25TdHlsZXMoYWxsUHJvcHMpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICB7c2hvd1N1Ym1pdEJ1dHRvbiAmJiAoXG4gICAgICAgICAgICA8U2Vjb25kYXJ5SWNvbkJ1dHRvblxuICAgICAgICAgICAgICBpY29uPXs8U2VhcmNoSWNvbiAvPn1cbiAgICAgICAgICAgICAgc2l6ZT17cHJvcHMuaXNDb25kZW5zZWQgPyAnMjAnIDogJzQwJ31cbiAgICAgICAgICAgICAgbGFiZWw9eydzZWFyY2gtYnV0dG9uJ31cbiAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlU3VibWl0fVxuICAgICAgICAgICAgICBjc3M9e2dldFNlYXJjaEljb25CdXR0b25TdHlsZXMoYWxsUHJvcHMpfVxuICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAge3Byb3BzLnJpZ2h0QWN0aW9uSWNvbiAmJiBwcm9wcy5yaWdodEFjdGlvblByb3BzICYmIChcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgb3JkZXI6IDQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH07XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgdGhlbWU9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkIHx8IHByb3BzLmlzUmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgc2l6ZT17cHJvcHMuaXNDb25kZW5zZWQgPyAnMTAnIDogJzIwJ31cbiAgICAgICAgICAgICAgICBpY29uPXtwcm9wcy5yaWdodEFjdGlvbkljb259XG4gICAgICAgICAgICAgICAgey4uLnByb3BzLnJpZ2h0QWN0aW9uUHJvcHN9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvQ29udGFpbmVyPlxuICAgIDwvQ29uc3RyYWludHMuSG9yaXpvbnRhbD5cbiAgKTtcbn07XG5cblNlbGVjdGFibGVTZWFyY2hJbnB1dC5kaXNwbGF5TmFtZSA9ICdTZWxlY3RhYmxlU2VhcmNoSW5wdXQnO1xuU2VsZWN0YWJsZVNlYXJjaElucHV0LmlzRW1wdHkgPSAoXG4gIGZvcm1WYWx1ZTogVFNlbGVjdGFibGVTZWFyY2hJbnB1dFByb3BzWyd2YWx1ZSddXG4pID0+ICFmb3JtVmFsdWUgfHwgZm9ybVZhbHVlLnRleHQudHJpbSgpID09PSAnJztcblNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZCA9IGdldFRleHRJbnB1dE5hbWU7XG5TZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0RHJvcGRvd25JZCA9IGdldERyb3Bkb3duTmFtZTtcblxuZXhwb3J0IGRlZmF1bHQgU2VsZWN0YWJsZVNlYXJjaElucHV0O1xuIl19 */"), process.env.NODE_ENV === "production" ? "" : ";label:SelectableSearchInput;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNlbGVjdGFibGUtc2VhcmNoLWlucHV0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrZVUiLCJmaWxlIjoic2VsZWN0YWJsZS1zZWFyY2gtaW5wdXQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBNb3VzZUV2ZW50LFxuICB0eXBlIEtleWJvYXJkRXZlbnQsXG4gIHR5cGUgQ2hhbmdlRXZlbnQsXG4gIHR5cGUgUmVhY3ROb2RlLFxuICB0eXBlIEZvY3VzRXZlbnQsXG4gIHVzZVN0YXRlLFxuICB1c2VDYWxsYmFjayxcbiAgdXNlUmVmLFxuICBSZWFjdEVsZW1lbnQsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCBTZWNvbmRhcnlJY29uQnV0dG9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NlY29uZGFyeS1pY29uLWJ1dHRvbic7XG5pbXBvcnQgSWNvbkJ1dHRvbiwge1xuICB0eXBlIFRJY29uQnV0dG9uUHJvcHMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb24tYnV0dG9uJztcbmltcG9ydCBDb25zdHJhaW50cyBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9jb25zdHJhaW50cyc7XG5pbXBvcnQgeyBTZWFyY2hJY29uLCBDbG9zZUljb24gfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQge1xuICBjcmVhdGVTZXF1ZW50aWFsSWQsXG4gIGZpbHRlckRhdGFBdHRyaWJ1dGVzLFxuICB3YXJuaW5nLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC91dGlscyc7XG5pbXBvcnQgeyB3YXJuSWZNZW51UG9ydGFsUHJvcHNBcmVNaXNzaW5nIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc2VsZWN0LXV0aWxzJztcbmltcG9ydCB7XG4gIGdldENsZWFySWNvbkJ1dHRvblN0eWxlcyxcbiAgZ2V0U2VhcmNoSWNvbkJ1dHRvblN0eWxlcyxcbiAgZ2V0U2VsZWN0YWJsZVNlYXJjaElucHV0Q29udGFpbmVyU3R5bGVzLFxuICBnZXRTZWxlY3RhYmxlU2VhcmNoSW5wdXRTdHlsZXMsXG59IGZyb20gJy4vc2VsZWN0YWJsZS1zZWFyY2gtaW5wdXQuc3R5bGVzJztcbmltcG9ydCBTZWxlY3RhYmxlU2VsZWN0IGZyb20gJy4vc2VsZWN0YWJsZS1zZWxlY3QnO1xuaW1wb3J0IHsgdXNlRmllbGRJZCwgdXNlVG9nZ2xlU3RhdGUgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9ob29rcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBkZXNpZ25Ub2tlbnMgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9kZXNpZ24tc3lzdGVtJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IHR5cGUgUHJvcHMgYXMgUmVhY3RTZWxlY3RQcm9wcyB9IGZyb20gJ3JlYWN0LXNlbGVjdCc7XG5cbmNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xuXG5jb25zdCBnZXRUZXh0SW5wdXROYW1lID0gKG5hbWU/OiBzdHJpbmcpID0+XG4gIG5hbWUgPyBgJHtuYW1lfS50ZXh0SW5wdXRgIDogdW5kZWZpbmVkO1xuXG5jb25zdCBnZXREcm9wZG93bk5hbWUgPSAobmFtZT86IHN0cmluZykgPT5cbiAgbmFtZSA/IGAke25hbWV9LmRyb3Bkb3duYCA6IHVuZGVmaW5lZDtcblxuZXhwb3J0IHR5cGUgVEN1c3RvbUV2ZW50ID0ge1xuICB0YXJnZXQ6IHtcbiAgICBpZD86IHN0cmluZztcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIHZhbHVlPzogc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsO1xuICB9O1xuICBwZXJzaXN0PzogKCkgPT4gdm9pZDtcbn07XG5cbmV4cG9ydCB0eXBlIFRWYWx1ZSA9IHtcbiAgdGV4dDogc3RyaW5nO1xuICBvcHRpb246IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFRPcHRpb24gPSB7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGxhYmVsPzogUmVhY3ROb2RlO1xufTtcblxuZXhwb3J0IHR5cGUgVE9wdGlvbk9iamVjdCA9IHtcbiAgb3B0aW9uczogVE9wdGlvbltdO1xufTtcblxuZXhwb3J0IHR5cGUgVE9wdGlvbnMgPSBUT3B0aW9uW10gfCBUT3B0aW9uT2JqZWN0W107XG5cbmV4cG9ydCB0eXBlIFRTZWxlY3RhYmxlU2VhcmNoSW5wdXRQcm9wcyA9IHtcbiAgLyoqXG4gICAqIFVzZWQgYXMgSFRNTCBpZCBwcm9wZXJ0eS4gQW4gaWQgaXMgYXV0by1nZW5lcmF0ZWQgd2hlbiBpdCBpcyBub3Qgc3BlY2lmaWVkLlxuICAgKi9cbiAgaWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBVc2VkIGFzIEhUTUwgYXV0b2NvbXBsZXRlIHByb3BlcnR5XG4gICAqL1xuICBhdXRvQ29tcGxldGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZSBpZiB0aGUgdmFsdWUgZW50ZXJlZCBpbiB0aGUgaW5wdXQgaXMgaW52YWxpZC5cbiAgICovXG4gICdhcmlhLWludmFsaWQnPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEhUTUwgSUQgb2YgYW4gZWxlbWVudCBjb250YWluaW5nIGFuIGVycm9yIG1lc3NhZ2UgcmVsYXRlZCB0byB0aGUgaW5wdXQuXG4gICAqL1xuICAnYXJpYS1lcnJvcm1lc3NhZ2UnPzogc3RyaW5nO1xuICAvKipcbiAgICogVXNlZCBhcyBIVE1MIG5hbWUgb2YgdGhlIGlucHV0IGNvbXBvbmVudCBwcm9wZXJ0eS5cbiAgICovXG4gIG5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBWYWx1ZSBvZiB0aGUgaW5wdXQuIENvbnNpc3RzIG9mIHRleHQgaW5wdXQgYW5kIHNlbGVjdGVkIG9wdGlvbi5cbiAgICovXG4gIHZhbHVlOiBUVmFsdWU7XG4gIF9leHBlcmltZW50YWxWYWx1ZT86IFRWYWx1ZTtcbiAgLyoqXG4gICAqIENhbGxlZCB3aXRoIHRoZSBldmVudCBvZiB0aGUgaW5wdXQgb3IgZHJvcGRvd24gd2hlbiBlaXRoZXIgdGhlIHNlbGVjdGFibGUgZHJvcGRvd24gb3IgdGhlIHRleHQgaW5wdXQgaGF2ZSBjaGFuZ2VkLlxuICAgKiBUaGUgY2hhbmdlIGV2ZW50IGZyb20gdGhlIHRleHQgaW5wdXQgaGFzIGEgc3VmZml4IG9mIGAudGV4dElucHV0YCBhbmQgdGhlIGNoYW5nZSBldmVudCBmcm9tIHRoZSBkcm9wZG93biBoYXMgYSBzdWZmaXggb2YgYC5kcm9wZG93bmAuXG4gICAqL1xuICBvbkNoYW5nZT86IChldmVudDogVEN1c3RvbUV2ZW50KSA9PiB2b2lkO1xuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gaW5wdXQgaXMgYmx1cnJlZFxuICAgKi9cbiAgb25CbHVyPzogKGV2ZW50OiBUQ3VzdG9tRXZlbnQpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiBpbnB1dCBpcyBmb2N1c2VkXG4gICAqL1xuICBvbkZvY3VzPzogKGV2ZW50OiBUQ3VzdG9tRXZlbnQpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBIYW5kbGVyIHdoZW4gdGhlIHNlYXJjaCBidXR0b24gaXMgY2xpY2tlZC5cbiAgICovXG4gIG9uU3VibWl0OiAodmFsdWU6IFRWYWx1ZSkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIEhhbmRsZXIgd2hlbiB0aGUgY2xlYXIgYnV0dG9uIGlzIGNsaWNrZWQuXG4gICAqL1xuICBvblJlc2V0PzogKCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIEZvY3VzIHRoZSBpbnB1dCBvbiBpbml0aWFsIHJlbmRlclxuICAgKi9cbiAgaXNBdXRvZm9jdXNzZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogSW5kaWNhdGVzIHRoYXQgdGhlIGlucHV0IGNhbm5vdCBiZSBtb2RpZmllZCAoZS5nIG5vdCBhdXRob3JpemVkLCBvciBjaGFuZ2VzIGN1cnJlbnRseSBzYXZpbmcpLlxuICAgKi9cbiAgaXNEaXNhYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgdGhhdCB0aGUgZmllbGQgaXMgZGlzcGxheWluZyByZWFkLW9ubHkgY29udGVudFxuICAgKi9cbiAgaXNSZWFkT25seT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGlucHV0IGhhcyBpbnZhbGlkIHZhbHVlc1xuICAgKi9cbiAgaGFzRXJyb3I/OiBib29sZWFuO1xuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBpbnB1dCBoYXMgd2FybmluZyB2YWx1ZXNcbiAgICovXG4gIGhhc1dhcm5pbmc/OiBib29sZWFuO1xuICAvKipcbiAgICogUGxhY2Vob2xkZXIgdGV4dCBmb3IgdGhlIGlucHV0XG4gICAqL1xuICBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgaW5wdXQgc2hvdWxkIGJlIGNsZWFyZWQgd2hlbiB0aGUgY2xlYXIgYnV0dG9uIGlzIGNsaWNrZWQuXG4gICAqIERlZmF1bHRzIHRvIHRydWUuXG4gICAqXG4gICAqL1xuICBpc0NsZWFyYWJsZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBVc2UgdGhpcyBwcm9wZXJ0eSB0byByZWR1Y2UgdGhlIHBhZGRpbmdzIG9mIHRoZSBjb21wb25lbnQgZm9yIGEgdWkgY29tcGFjdCB2YXJpYW50XG4gICAqL1xuICBpc0NvbmRlbnNlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBIb3Jpem9udGFsIHNpemUgbGltaXQgb2YgdGhlIGlucHV0IGZpZWxkcy5cbiAgICovXG4gIGhvcml6b250YWxDb25zdHJhaW50PzogMTAgfCAxMSB8IDEyIHwgMTMgfCAxNCB8IDE1IHwgMTYgfCAnc2NhbGUnIHwgJ2F1dG8nO1xuICAvKipcbiAgICogQXJyYXkgb2Ygb3B0aW9ucyB0aGF0IHBvcHVsYXRlIHRoZSBzZWxlY3QgbWVudVxuICAgKi9cbiAgb3B0aW9uczogVE9wdGlvbnM7XG4gIC8qKlxuICAgKiB6LWluZGV4IHZhbHVlIGZvciB0aGUgbWVudSBwb3J0YWxcbiAgICogPGJyPlxuICAgKiBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCBgbWVudVBvcnRhbFRhcmdldGBcbiAgICovXG4gIG1lbnVQb3J0YWxaSW5kZXg/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBEb20gZWxlbWVudCB0byBwb3J0YWwgdGhlIHNlbGVjdCBtZW51IHRvXG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBtZW51UG9ydGFsVGFyZ2V0PzogUmVhY3RTZWxlY3RQcm9wc1snbWVudVBvcnRhbFRhcmdldCddO1xuICAvKipcbiAgICogd2hldGhlciB0aGUgbWVudSBzaG91bGQgYmxvY2sgc2Nyb2xsIHdoaWxlIG9wZW5cbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIG1lbnVTaG91bGRCbG9ja1Njcm9sbD86IFJlYWN0U2VsZWN0UHJvcHNbJ21lbnVTaG91bGRCbG9ja1Njcm9sbCddO1xuICAvKipcbiAgICogSGFuZGxlIGNoYW5nZSBldmVudHMgb24gdGhlIG1lbnUgaW5wdXRcbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIG9uTWVudUlucHV0Q2hhbmdlPzogUmVhY3RTZWxlY3RQcm9wc1snb25JbnB1dENoYW5nZSddO1xuICAvKipcbiAgICogQ2FuIGJlIHVzZWQgdG8gcmVuZGVyIGEgY3VzdG9tIHZhbHVlIHdoZW4gdGhlcmUgYXJlIG5vIG9wdGlvbnMgKGVpdGhlciBiZWNhdXNlIG9mIG5vIHNlYXJjaCByZXN1bHRzLCBvciBhbGwgb3B0aW9ucyBoYXZlIGJlZW4gdXNlZCwgb3IgdGhlcmUgd2VyZSBub25lIGluIHRoZSBmaXJzdCBwbGFjZSkuIEdldHMgY2FsbGVkIHdpdGggeyBpbnB1dFZhbHVlOiBTdHJpbmcgfS5cbiAgICogPGJyIC8+XG4gICAqIGBpbnB1dFZhbHVlYCB3aWxsIGJlIGFuIGVtcHR5IHN0cmluZyB3aGVuIG5vIHNlYXJjaCB0ZXh0IGlzIHByZXNlbnQuXG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBub01lbnVPcHRpb25zTWVzc2FnZT86IFJlYWN0U2VsZWN0UHJvcHNbJ25vT3B0aW9uc01lc3NhZ2UnXTtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZW5hYmxlIHNlYXJjaCBmdW5jdGlvbmFsaXR5LlxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgaXNNZW51U2VhcmNoYWJsZT86IFJlYWN0U2VsZWN0UHJvcHNbJ2lzU2VhcmNoYWJsZSddO1xuICAvKipcbiAgICogTWF4aW11bSBoZWlnaHQgb2YgdGhlIG1lbnUgYmVmb3JlIHNjcm9sbGluZ1xuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgbWF4TWVudUhlaWdodD86IFJlYWN0U2VsZWN0UHJvcHNbJ21heE1lbnVIZWlnaHQnXTtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIG1lbnUgc2hvdWxkIGNsb3NlIGFmdGVyIGEgdmFsdWUgaXMgc2VsZWN0ZWQuIERlZmF1bHRzIHRvIGB0cnVlYC5cbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIGNsb3NlTWVudU9uU2VsZWN0PzogUmVhY3RTZWxlY3RQcm9wc1snY2xvc2VNZW51T25TZWxlY3QnXTtcbiAgLyoqXG4gICAqIEhvcml6b250YWwgc2l6ZSBsaW1pdCBmb3IgdGhlIGRyb3Bkb3duIG1lbnUuXG4gICAqL1xuICBtZW51SG9yaXpvbnRhbENvbnN0cmFpbnQ/OiAzIHwgNCB8IDU7XG4gIC8qKlxuICAgKiBTaG93IHN1Ym1pdCBidXR0b24gaW4gdGhlIGlucHV0XG4gICAqL1xuICBzaG93U3VibWl0QnV0dG9uPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqICB1c2VkIHRvIHBhc3MgZGF0YS0qIHByb3BzIHRvIHRoZSBzZWxlY3QgY29tcG9uZW50LlxuICAgKiBlZzogc2VsZWN0RGF0YVByb3BzPXtbeyAncHJvcC0xJzogJ3ZhbHVlLTEnIH0sIHsgJ3Byb3AtMic6ICd2YWx1ZS0yJyB9XX1cbiAgICovXG4gIHNlbGVjdERhdGFQcm9wcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIC8qKlxuICAgKiAgdXNlZCB0byBwYXNzIGRhdGEtKiBwcm9wcyB0byB0aGUgaW5wdXQgZWxlbWVudC5cbiAgICogZWc6IGlucHV0RGF0YVByb3BzPXtbeyAncHJvcC0xJzogJ3ZhbHVlLTEnIH0sIHsgJ3Byb3AtMic6ICd2YWx1ZS0yJyB9XX1cbiAgICovXG4gIGlucHV0RGF0YVByb3BzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgLyoqXG4gICAqIE1hcCBvZiBjb21wb25lbnRzIHRvIG92ZXJ3cml0ZSB0aGUgZGVmYXVsdCBvbmVzLCBzZWUgd2hhdCBjb21wb25lbnRzIHlvdSBjYW4gb3ZlcnJpZGVcbiAgICogPGJyLz5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBzZWxlY3RDdXN0b21Db21wb25lbnRzPzogUmVhY3RTZWxlY3RQcm9wc1snY29tcG9uZW50cyddO1xuXG4gIC8qKlxuICAgKiBDdXN0b20gYWN0aW9uIGljb24gdG8gYmUgZGlzcGxheWVkIG9uIHRoZSByaWdodCBzaWRlIG9mIHRoZSBpbnB1dC5cbiAgICovXG4gIHJpZ2h0QWN0aW9uSWNvbj86IFJlYWN0RWxlbWVudDtcbiAgLyoqXG4gICAqIFByb3BzIGZvciB0aGUgcmlnaHQtYWN0aW9uIGljb24tYnV0dG9uLiBSZXF1aXJlZCB3aGVuIHJpZ2h0QWN0aW9uSWNvbiBpcyBwcm92aWRlZC5cbiAgICogQXQgbGVhc3QgYSBgbGFiZWxgIGFuZCBhbiBgb25DbGlja2AgcHJvcC9mdW5jdGlvbiBuZWVkIHRvIGJlIHByb3ZpZGVkLlxuICAgKi9cbiAgcmlnaHRBY3Rpb25Qcm9wcz86IFRJY29uQnV0dG9uUHJvcHM7XG59O1xuXG5jb25zdCBzZWxlY3RhYmxlU2VhcmNoSW5wdXRTZXF1ZW50aWFsSWQgPSBjcmVhdGVTZXF1ZW50aWFsSWQoXG4gICdzZWxlY3RhYmxlLXNlYXJjaC1pbnB1dC0nXG4pO1xuXG5jb25zdCBpc09wdGlvbk9iamVjdCA9IChcbiAgb3B0aW9uOiBUT3B0aW9uIHwgVE9wdGlvbk9iamVjdFxuKTogb3B0aW9uIGlzIFRPcHRpb25PYmplY3QgPT4gKG9wdGlvbiBhcyBUT3B0aW9uT2JqZWN0KS5vcHRpb25zICE9PSB1bmRlZmluZWQ7XG5cbmNvbnN0IHRyYW5zZm9ybURhdGFQcm9wcyA9IChkYXRhUHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KSA9PlxuICBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgT2JqZWN0LmVudHJpZXMoZGF0YVByb3BzIHx8IHt9KS5tYXAoKFtrZXksIHZhbHVlXSkgPT4gW1xuICAgICAgYGRhdGEtJHtrZXl9YCxcbiAgICAgIHZhbHVlLFxuICAgIF0pXG4gICk7XG5cbmNvbnN0IFNlbGVjdGFibGVTZWFyY2hJbnB1dCA9ICh7XG4gIGhvcml6b250YWxDb25zdHJhaW50ID0gJ3NjYWxlJyxcbiAgaXNDbGVhcmFibGUgPSB0cnVlLFxuICBtZW51SG9yaXpvbnRhbENvbnN0cmFpbnQgPSAzLFxuICBzaG93U3VibWl0QnV0dG9uID0gdHJ1ZSxcbiAgbWVudVBvcnRhbFpJbmRleCA9IDEsXG4gIG9uQ2hhbmdlLFxuICAuLi5wcm9wc1xufTogVFNlbGVjdGFibGVTZWFyY2hJbnB1dFByb3BzKSA9PiB7XG4gIGNvbnN0IFtkcm9wZG93bkhhc0ZvY3VzLCB0b2dnbGVEcm9wZG93bkhhc0ZvY3VzXSA9IHVzZVRvZ2dsZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW3NlYXJjaFZhbHVlLCBzZXRTZWFyY2hWYWx1ZV0gPSB1c2VTdGF0ZShwcm9wcy52YWx1ZS50ZXh0IHx8ICcnKTtcbiAgY29uc3QgW3NlYXJjaE9wdGlvbiwgc2V0U2VhcmNoT3B0aW9uXSA9IHVzZVN0YXRlKHByb3BzLnZhbHVlLm9wdGlvbiB8fCAnJyk7XG4gIGNvbnN0IGNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpO1xuICBjb25zdCB0ZXh0SW5wdXRSZWYgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbCk7XG5cbiAgY29uc3QgYWxsUHJvcHMgPSB7XG4gICAgaG9yaXpvbnRhbENvbnN0cmFpbnQsXG4gICAgaXNDbGVhcmFibGUsXG4gICAgbWVudUhvcml6b250YWxDb25zdHJhaW50LFxuICAgIHNob3dTdWJtaXRCdXR0b24sXG4gICAgbWVudVBvcnRhbFpJbmRleCxcbiAgICBvbkNoYW5nZSxcbiAgICAuLi5wcm9wcyxcbiAgfTtcbiAgY29uc3QgbGVnYWN5RGF0YVByb3BzID0gZmlsdGVyRGF0YUF0dHJpYnV0ZXMocHJvcHMpO1xuICBjb25zdCB0cmFuc2Zvcm1lZFNlbGVjdERhdGFQcm9wcyA9IHRyYW5zZm9ybURhdGFQcm9wcyhwcm9wcy5zZWxlY3REYXRhUHJvcHMpO1xuICBjb25zdCB0cmFuc2Zvcm1lZElucHV0RGF0YVByb3BzID0gdHJhbnNmb3JtRGF0YVByb3BzKHByb3BzLmlucHV0RGF0YVByb3BzKTtcbiAgY29uc3Qgc2VhcmNoSW5wdXRWYWx1ZSA9IHByb3BzLl9leHBlcmltZW50YWxWYWx1ZT8udGV4dCA/PyBzZWFyY2hWYWx1ZTtcbiAgY29uc3Qgc2VhcmNoSW5wdXRPcHRpb24gPSBwcm9wcy5fZXhwZXJpbWVudGFsVmFsdWU/Lm9wdGlvbiA/PyBzZWFyY2hPcHRpb247XG5cbiAgY29uc3Qgb3B0aW9uc1dpdGhvdXRHcm91cHMgPSBwcm9wcy5vcHRpb25zLmZsYXRNYXAoKG9wdGlvbikgPT4ge1xuICAgIGlmIChpc09wdGlvbk9iamVjdChvcHRpb24pKSB7XG4gICAgICByZXR1cm4gb3B0aW9uLm9wdGlvbnM7XG4gICAgfVxuICAgIHJldHVybiBvcHRpb247XG4gIH0pO1xuXG4gIGNvbnN0IHNlbGVjdGVkT3B0aW9uID0gb3B0aW9uc1dpdGhvdXRHcm91cHMuZmluZChcbiAgICAob3B0aW9uKSA9PiBvcHRpb24udmFsdWUgPT09IHNlYXJjaElucHV0T3B0aW9uXG4gICk7XG5cbiAgaWYgKHByb3BzLnJpZ2h0QWN0aW9uSWNvbiAmJiAhcHJvcHMucmlnaHRBY3Rpb25Qcm9wcykge1xuICAgIHdhcm5pbmcoXG4gICAgICBmYWxzZSxcbiAgICAgICdTZWxlY3RhYmxlU2VhcmNoSW5wdXQ6IGByaWdodEFjdGlvbkljb25gIGlzIHByb3ZpZGVkIGJ1dCBgcmlnaHRBY3Rpb25Qcm9wc2AgaXMgbWlzc2luZy4gUHJvdmlkZSBhbiBvYmplY3Qgd2l0aCBhIGBsYWJlbGAgYW5kIGBvbkNsaWNrYCBwcm9wZXJ0eS4nXG4gICAgKTtcbiAgfVxuICBjb25zdCBzZWxlY3RhYmxTZWFyY2hJbnB1dElkID0gdXNlRmllbGRJZChcbiAgICBwcm9wcy5pZCxcbiAgICBzZWxlY3RhYmxlU2VhcmNoSW5wdXRTZXF1ZW50aWFsSWRcbiAgKTtcblxuICBpZiAoIXByb3BzLmlzUmVhZE9ubHkpIHtcbiAgICB3YXJuaW5nKFxuICAgICAgdHlwZW9mIG9uQ2hhbmdlID09PSAnZnVuY3Rpb24nLFxuICAgICAgJ1NlbGVjdGFibGVTZWFyY2hJbnB1dDogYG9uQ2hhbmdlYCBpcyByZXF1aXJlZCB3aGVuIGlzIG5vdCByZWFkIG9ubHkuJ1xuICAgICk7XG4gIH1cblxuICB3YXJuSWZNZW51UG9ydGFsUHJvcHNBcmVNaXNzaW5nKHtcbiAgICBtZW51UG9ydGFsWkluZGV4OiBtZW51UG9ydGFsWkluZGV4LFxuICAgIG1lbnVQb3J0YWxUYXJnZXQ6IHByb3BzLm1lbnVQb3J0YWxUYXJnZXQsXG4gICAgY29tcG9uZW50TmFtZTogJ1NlbGVjdGFibGVTZWFyY2hJbnB1dCcsXG4gIH0pO1xuXG4gIGNvbnN0IHsgb25Gb2N1cywgb25CbHVyLCBuYW1lIH0gPSBwcm9wcztcbiAgY29uc3QgaGFuZGxlVGV4dElucHV0Rm9jdXMgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKG9uRm9jdXMpIHtcbiAgICAgIG9uRm9jdXMoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpLFxuICAgICAgICAgIG5hbWU6IGdldFRleHRJbnB1dE5hbWUobmFtZSksXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtvbkZvY3VzLCBzZWxlY3RhYmxTZWFyY2hJbnB1dElkLCBuYW1lXSk7XG5cbiAgY29uc3QgaGFuZGxlVGV4dElucHV0Qmx1ciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAob25CbHVyKSB7XG4gICAgICBvbkJsdXIoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpLFxuICAgICAgICAgIG5hbWU6IGdldFRleHRJbnB1dE5hbWUobmFtZSksXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtvbkJsdXIsIHNlbGVjdGFibFNlYXJjaElucHV0SWQsIG5hbWVdKTtcblxuICBjb25zdCBoYW5kbGVDbGVhciA9ICgpID0+IHtcbiAgICBzZXRTZWFyY2hWYWx1ZSgnJyk7XG4gICAgaWYgKHByb3BzLm9uUmVzZXQpIHtcbiAgICAgIHByb3BzLm9uUmVzZXQoKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlVGV4dElucHV0Q2hhbmdlID0gKGV2ZW50OiBDaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgIHNldFNlYXJjaFZhbHVlKGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gICAgaWYgKG9uQ2hhbmdlKSB7XG4gICAgICBvbkNoYW5nZSh7XG4gICAgICAgIHRhcmdldDoge1xuICAgICAgICAgIGlkOiBTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0VGV4dElucHV0SWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCksXG4gICAgICAgICAgbmFtZTogZ2V0VGV4dElucHV0TmFtZShwcm9wcy5uYW1lKSxcbiAgICAgICAgICB2YWx1ZTogZXZlbnQudGFyZ2V0LnZhbHVlLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVN1Ym1pdCA9IChcbiAgICBldmVudDpcbiAgICAgIHwgS2V5Ym9hcmRFdmVudDxIVE1MQnV0dG9uRWxlbWVudD5cbiAgICAgIHwgTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudD5cbiAgICAgIHwgS2V5Ym9hcmRFdmVudDxIVE1MSW5wdXRFbGVtZW50PlxuICApID0+IHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGlmIChwcm9wcy5vblN1Ym1pdCkge1xuICAgICAgcHJvcHMub25TdWJtaXQoe1xuICAgICAgICB0ZXh0OiBzZWFyY2hJbnB1dFZhbHVlLFxuICAgICAgICBvcHRpb246IHNlbGVjdGVkT3B0aW9uPy52YWx1ZSA/PyAnJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBkcm9wZG93bk5hbWUgPSBnZXREcm9wZG93bk5hbWUocHJvcHMubmFtZSk7XG4gIGNvbnN0IGRyb3Bkb3duSWQgPSBTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0RHJvcGRvd25JZChcbiAgICBzZWxlY3RhYmxTZWFyY2hJbnB1dElkXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlRHJvcGRvd25Gb2N1cyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAob25Gb2N1cykge1xuICAgICAgb25Gb2N1cyh7XG4gICAgICAgIHRhcmdldDoge1xuICAgICAgICAgIGlkOiBkcm9wZG93bklkLFxuICAgICAgICAgIG5hbWU6IGRyb3Bkb3duTmFtZSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0b2dnbGVEcm9wZG93bkhhc0ZvY3VzKHRydWUpO1xuICB9LCBbb25Gb2N1cywgdG9nZ2xlRHJvcGRvd25IYXNGb2N1cywgZHJvcGRvd25OYW1lLCBkcm9wZG93bklkXSk7XG5cbiAgY29uc3QgaGFuZGxlRHJvcGRvd25CbHVyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChvbkJsdXIpIHtcbiAgICAgIG9uQmx1cih7XG4gICAgICAgIHRhcmdldDoge1xuICAgICAgICAgIGlkOiBkcm9wZG93bklkLFxuICAgICAgICAgIG5hbWU6IGRyb3Bkb3duTmFtZSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0b2dnbGVEcm9wZG93bkhhc0ZvY3VzKGZhbHNlKTtcbiAgfSwgW3RvZ2dsZURyb3Bkb3duSGFzRm9jdXMsIG9uQmx1ciwgZHJvcGRvd25OYW1lLCBkcm9wZG93bklkXSk7XG5cbiAgY29uc3QgaGFuZGxlQ29udGFpbmVyQmx1ciA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudDogRm9jdXNFdmVudCkgPT4ge1xuICAgICAgLy8gZW5zdXJlcyB0aGF0IGJvdGggZmllbGRzIGFyZSBtYXJrZWQgYXMgdG91Y2hlZCB3aGVuIG9uZSBvZiB0aGVtXG4gICAgICAvLyBpcyBibHVycmVkXG4gICAgICBpZiAoXG4gICAgICAgIHR5cGVvZiBvbkJsdXIgPT09ICdmdW5jdGlvbicgJiZcbiAgICAgICAgIWNvbnRhaW5lclJlZi5jdXJyZW50Py5jb250YWlucyhldmVudC5yZWxhdGVkVGFyZ2V0KVxuICAgICAgKSB7XG4gICAgICAgIG9uQmx1cih7XG4gICAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgICBpZDogU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldERyb3Bkb3duSWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCksXG4gICAgICAgICAgICBuYW1lOiBnZXREcm9wZG93bk5hbWUobmFtZSksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIG9uQmx1cih7XG4gICAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgICBpZDogU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpLFxuICAgICAgICAgICAgbmFtZTogZ2V0VGV4dElucHV0TmFtZShuYW1lKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtvbkJsdXIsIHNlbGVjdGFibFNlYXJjaElucHV0SWQsIG5hbWVdXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlRHJvcGRvd25DaGFuZ2UgPSB1c2VDYWxsYmFjayhcbiAgICAobmV4dFNlbGVjdGVkT3B0aW9uczogeyB2YWx1ZTogc3RyaW5nIH0gJiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikgPT4ge1xuICAgICAgc2V0U2VhcmNoT3B0aW9uKG5leHRTZWxlY3RlZE9wdGlvbnMudmFsdWUpO1xuICAgICAgaWYgKG9uQ2hhbmdlKSB7XG4gICAgICAgIG9uQ2hhbmdlKHtcbiAgICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICAgIGlkOiBTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0RHJvcGRvd25JZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKSxcbiAgICAgICAgICAgIG5hbWU6IGdldERyb3Bkb3duTmFtZShuYW1lKSxcbiAgICAgICAgICAgIHZhbHVlOiBuZXh0U2VsZWN0ZWRPcHRpb25zLnZhbHVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgdGV4dElucHV0UmVmLmN1cnJlbnQ/LmZvY3VzKCk7XG4gICAgfSxcbiAgICBbb25DaGFuZ2UsIHNlbGVjdGFibFNlYXJjaElucHV0SWQsIG5hbWVdXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8Q29uc3RyYWludHMuSG9yaXpvbnRhbCBtYXg9e2hvcml6b250YWxDb25zdHJhaW50fT5cbiAgICAgIDxDb250YWluZXJcbiAgICAgICAgcmVmPXtjb250YWluZXJSZWZ9XG4gICAgICAgIG9uQmx1cj17aGFuZGxlQ29udGFpbmVyQmx1cn1cbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJzZWxlY3RhYmxlLXNlYXJjaC1pbnB1dC1jb250YWluZXJcIlxuICAgICAgPlxuICAgICAgICA8Q29uc3RyYWludHMuSG9yaXpvbnRhbCBtYXg9e21lbnVIb3Jpem9udGFsQ29uc3RyYWludH0+XG4gICAgICAgICAgPFNlbGVjdGFibGVTZWxlY3RcbiAgICAgICAgICAgIHsuLi5hbGxQcm9wc31cbiAgICAgICAgICAgIGlkPXtTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0RHJvcGRvd25JZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKX1cbiAgICAgICAgICAgIG5hbWU9e2dldERyb3Bkb3duTmFtZShwcm9wcy5uYW1lKX1cbiAgICAgICAgICAgIGRyb3Bkb3duSGFzRm9jdXM9e2Ryb3Bkb3duSGFzRm9jdXN9XG4gICAgICAgICAgICBpc0NvbmRlbnNlZD17cHJvcHMuaXNDb25kZW5zZWQgPz8gZmFsc2V9XG4gICAgICAgICAgICBoYW5kbGVEcm9wZG93bkZvY3VzPXtoYW5kbGVEcm9wZG93bkZvY3VzfVxuICAgICAgICAgICAgaGFuZGxlRHJvcGRvd25CbHVyPXtoYW5kbGVEcm9wZG93bkJsdXJ9XG4gICAgICAgICAgICBoYW5kbGVEcm9wZG93bkNoYW5nZT17XG4gICAgICAgICAgICAgIGhhbmRsZURyb3Bkb3duQ2hhbmdlIGFzIFJlYWN0U2VsZWN0UHJvcHNbJ29uQ2hhbmdlJ11cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRleHRJbnB1dFJlZj17dGV4dElucHV0UmVmfVxuICAgICAgICAgICAgc2VsZWN0ZWRPcHRpb249e3NlbGVjdGVkT3B0aW9ufVxuICAgICAgICAgICAgZGF0YVByb3BzPXt0cmFuc2Zvcm1lZFNlbGVjdERhdGFQcm9wc31cbiAgICAgICAgICAgIHNlbGVjdEN1c3RvbUNvbXBvbmVudHM9e3Byb3BzLnNlbGVjdEN1c3RvbUNvbXBvbmVudHN9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9Db25zdHJhaW50cy5Ib3Jpem9udGFsPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICBnZXRTZWxlY3RhYmxlU2VhcmNoSW5wdXRDb250YWluZXJTdHlsZXMoYWxsUHJvcHMpLFxuICAgICAgICAgICAgZHJvcGRvd25IYXNGb2N1cyAmJlxuICAgICAgICAgICAgICAhcHJvcHMuaXNSZWFkT25seSAmJlxuICAgICAgICAgICAgICBjc3NgXG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR7ZGVzaWduVG9rZW5zLmJvcmRlckNvbG9yRm9ySW5wdXRXaGVuRm9jdXNlZH07XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHtkZXNpZ25Ub2tlbnMuYm9yZGVyQ29sb3JGb3JJbnB1dFdoZW5Gb2N1c2VkfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGAsXG4gICAgICAgICAgXX1cbiAgICAgICAgPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgcmVmPXt0ZXh0SW5wdXRSZWZ9XG4gICAgICAgICAgICBpZD17U2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpfVxuICAgICAgICAgICAgbmFtZT17Z2V0VGV4dElucHV0TmFtZShwcm9wcy5uYW1lKX1cbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIHZhbHVlPXtzZWFyY2hJbnB1dFZhbHVlfVxuICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZVRleHRJbnB1dENoYW5nZX1cbiAgICAgICAgICAgIG9uQmx1cj17aGFuZGxlVGV4dElucHV0Qmx1cn1cbiAgICAgICAgICAgIG9uRm9jdXM9e2hhbmRsZVRleHRJbnB1dEZvY3VzfVxuICAgICAgICAgICAgZGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICBwbGFjZWhvbGRlcj17cHJvcHMucGxhY2Vob2xkZXJ9XG4gICAgICAgICAgICByZWFkT25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgIGF1dG9Gb2N1cz17cHJvcHMuaXNBdXRvZm9jdXNzZWR9XG4gICAgICAgICAgICBhdXRvQ29tcGxldGU9e3Byb3BzLmF1dG9Db21wbGV0ZX1cbiAgICAgICAgICAgIGFyaWEtcmVhZG9ubHk9e3Byb3BzLmlzUmVhZE9ubHl9XG4gICAgICAgICAgICBjb250ZW50RWRpdGFibGU9eyFwcm9wcy5pc1JlYWRPbmx5fVxuICAgICAgICAgICAgY3NzPXtnZXRTZWxlY3RhYmxlU2VhcmNoSW5wdXRTdHlsZXMoYWxsUHJvcHMpfVxuICAgICAgICAgICAgey4uLnRyYW5zZm9ybWVkSW5wdXREYXRhUHJvcHN9XG4gICAgICAgICAgICB7Li4ubGVnYWN5RGF0YVByb3BzfVxuICAgICAgICAgICAgLyogQVJJQSAqL1xuICAgICAgICAgICAgYXJpYS1pbnZhbGlkPXtwcm9wc1snYXJpYS1pbnZhbGlkJ119XG4gICAgICAgICAgICBhcmlhLWVycm9ybWVzc2FnZT17cHJvcHNbJ2FyaWEtZXJyb3JtZXNzYWdlJ119XG4gICAgICAgICAgICBkYXRhLXRlc3RpZD1cInNlbGVjdGFibGUtaW5wdXRcIlxuICAgICAgICAgICAgb25LZXlEb3duPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgaWYgKCFwcm9wcy5pc1JlYWRPbmx5ICYmIGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgICAgICAgICAgIGhhbmRsZVN1Ym1pdChldmVudCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH19XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7aXNDbGVhcmFibGUgJiZcbiAgICAgICAgICAgIHNlYXJjaElucHV0VmFsdWUgJiZcbiAgICAgICAgICAgICFwcm9wcy5pc0Rpc2FibGVkICYmXG4gICAgICAgICAgICAhcHJvcHMuaXNSZWFkT25seSAmJiAoXG4gICAgICAgICAgICAgIDxTZWNvbmRhcnlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgaWNvbj17PENsb3NlSWNvbiAvPn1cbiAgICAgICAgICAgICAgICBzaXplPXtwcm9wcy5pc0NvbmRlbnNlZCA/ICcxMCcgOiAnMjAnfVxuICAgICAgICAgICAgICAgIGxhYmVsPXsnY2xlYXItYnV0dG9uJ31cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbGVhcn1cbiAgICAgICAgICAgICAgICBjc3M9e2dldENsZWFySWNvbkJ1dHRvblN0eWxlcyhhbGxQcm9wcyl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIHtzaG93U3VibWl0QnV0dG9uICYmIChcbiAgICAgICAgICAgIDxTZWNvbmRhcnlJY29uQnV0dG9uXG4gICAgICAgICAgICAgIGljb249ezxTZWFyY2hJY29uIC8+fVxuICAgICAgICAgICAgICBzaXplPXtwcm9wcy5pc0NvbmRlbnNlZCA/ICcyMCcgOiAnNDAnfVxuICAgICAgICAgICAgICBsYWJlbD17J3NlYXJjaC1idXR0b24nfVxuICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVTdWJtaXR9XG4gICAgICAgICAgICAgIGNzcz17Z2V0U2VhcmNoSWNvbkJ1dHRvblN0eWxlcyhhbGxQcm9wcyl9XG4gICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG5cbiAgICAgICAgICB7cHJvcHMucmlnaHRBY3Rpb25JY29uICYmIHByb3BzLnJpZ2h0QWN0aW9uUHJvcHMgJiYgKFxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICBvcmRlcjogNDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPEljb25CdXR0b25cbiAgICAgICAgICAgICAgICB0aGVtZT1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWQgfHwgcHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgICAgICBzaXplPXtwcm9wcy5pc0NvbmRlbnNlZCA/ICcxMCcgOiAnMjAnfVxuICAgICAgICAgICAgICAgIGljb249e3Byb3BzLnJpZ2h0QWN0aW9uSWNvbn1cbiAgICAgICAgICAgICAgICB7Li4ucHJvcHMucmlnaHRBY3Rpb25Qcm9wc31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9Db250YWluZXI+XG4gICAgPC9Db25zdHJhaW50cy5Ib3Jpem9udGFsPlxuICApO1xufTtcblxuU2VsZWN0YWJsZVNlYXJjaElucHV0LmRpc3BsYXlOYW1lID0gJ1NlbGVjdGFibGVTZWFyY2hJbnB1dCc7XG5TZWxlY3RhYmxlU2VhcmNoSW5wdXQuaXNFbXB0eSA9IChcbiAgZm9ybVZhbHVlOiBUU2VsZWN0YWJsZVNlYXJjaElucHV0UHJvcHNbJ3ZhbHVlJ11cbikgPT4gIWZvcm1WYWx1ZSB8fCBmb3JtVmFsdWUudGV4dC50cmltKCkgPT09ICcnO1xuU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkID0gZ2V0VGV4dElucHV0TmFtZTtcblNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXREcm9wZG93bklkID0gZ2V0RHJvcGRvd25OYW1lO1xuXG5leHBvcnQgZGVmYXVsdCBTZWxlY3RhYmxlU2VhcmNoSW5wdXQ7XG4iXX0= */"],
|
|
487
473
|
children: [jsxRuntime.jsx("input", _objectSpread(_objectSpread(_objectSpread({
|
|
488
474
|
ref: textInputRef,
|
|
489
475
|
id: SelectableSearchInput.getTextInputId(selectablSearchInputId),
|
|
@@ -525,7 +511,7 @@ const SelectableSearchInput = _ref3 => {
|
|
|
525
511
|
css: getSearchIconButtonStyles(allProps),
|
|
526
512
|
isDisabled: props.isDisabled
|
|
527
513
|
}), props.rightActionIcon && props.rightActionProps && jsxRuntime.jsx("div", {
|
|
528
|
-
css: /*#__PURE__*/react.css("order:4;margin-left:", designSystem.designTokens.spacing30, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:SelectableSearchInput;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNlbGVjdGFibGUtc2VhcmNoLWlucHV0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEraEJzQiIsImZpbGUiOiJzZWxlY3RhYmxlLXNlYXJjaC1pbnB1dC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIE1vdXNlRXZlbnQsXG4gIHR5cGUgS2V5Ym9hcmRFdmVudCxcbiAgdHlwZSBDaGFuZ2VFdmVudCxcbiAgdHlwZSBSZWFjdE5vZGUsXG4gIHVzZVN0YXRlLFxuICB1c2VDYWxsYmFjayxcbiAgdXNlUmVmLFxuICBSZWFjdEVsZW1lbnQsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCBTZWNvbmRhcnlJY29uQnV0dG9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NlY29uZGFyeS1pY29uLWJ1dHRvbic7XG5pbXBvcnQgSWNvbkJ1dHRvbiwge1xuICB0eXBlIFRJY29uQnV0dG9uUHJvcHMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb24tYnV0dG9uJztcbmltcG9ydCBDb25zdHJhaW50cyBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9jb25zdHJhaW50cyc7XG5pbXBvcnQgeyBTZWFyY2hJY29uLCBDbG9zZUljb24gfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQge1xuICBjcmVhdGVTZXF1ZW50aWFsSWQsXG4gIGZpbHRlckRhdGFBdHRyaWJ1dGVzLFxuICB3YXJuaW5nLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC91dGlscyc7XG5pbXBvcnQgeyB3YXJuSWZNZW51UG9ydGFsUHJvcHNBcmVNaXNzaW5nIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc2VsZWN0LXV0aWxzJztcbmltcG9ydCB7XG4gIGdldENsZWFySWNvbkJ1dHRvblN0eWxlcyxcbiAgZ2V0U2VhcmNoSWNvbkJ1dHRvblN0eWxlcyxcbiAgZ2V0U2VsZWN0YWJsZVNlYXJjaElucHV0Q29udGFpbmVyU3R5bGVzLFxuICBnZXRTZWxlY3RhYmxlU2VhcmNoSW5wdXRTdHlsZXMsXG59IGZyb20gJy4vc2VsZWN0YWJsZS1zZWFyY2gtaW5wdXQuc3R5bGVzJztcbmltcG9ydCBTZWxlY3RhYmxlU2VsZWN0IGZyb20gJy4vc2VsZWN0YWJsZS1zZWxlY3QnO1xuaW1wb3J0IHsgdXNlRmllbGRJZCwgdXNlVG9nZ2xlU3RhdGUgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9ob29rcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBkZXNpZ25Ub2tlbnMgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9kZXNpZ24tc3lzdGVtJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IHR5cGUgUHJvcHMgYXMgUmVhY3RTZWxlY3RQcm9wcyB9IGZyb20gJ3JlYWN0LXNlbGVjdCc7XG5cbmNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xuXG5jb25zdCBnZXRUZXh0SW5wdXROYW1lID0gKG5hbWU/OiBzdHJpbmcpID0+XG4gIG5hbWUgPyBgJHtuYW1lfS50ZXh0SW5wdXRgIDogdW5kZWZpbmVkO1xuXG5jb25zdCBnZXREcm9wZG93bk5hbWUgPSAobmFtZT86IHN0cmluZykgPT5cbiAgbmFtZSA/IGAke25hbWV9LmRyb3Bkb3duYCA6IHVuZGVmaW5lZDtcblxuZXhwb3J0IHR5cGUgVEN1c3RvbUV2ZW50ID0ge1xuICB0YXJnZXQ6IHtcbiAgICBpZD86IHN0cmluZztcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIHZhbHVlPzogc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsO1xuICB9O1xuICBwZXJzaXN0PzogKCkgPT4gdm9pZDtcbn07XG5cbmV4cG9ydCB0eXBlIFRWYWx1ZSA9IHtcbiAgdGV4dDogc3RyaW5nO1xuICBvcHRpb246IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFRPcHRpb24gPSB7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGxhYmVsPzogUmVhY3ROb2RlO1xufTtcblxuZXhwb3J0IHR5cGUgVE9wdGlvbk9iamVjdCA9IHtcbiAgb3B0aW9uczogVE9wdGlvbltdO1xufTtcblxuZXhwb3J0IHR5cGUgVE9wdGlvbnMgPSBUT3B0aW9uW10gfCBUT3B0aW9uT2JqZWN0W107XG5cbmV4cG9ydCB0eXBlIFRTZWxlY3RhYmxlU2VhcmNoSW5wdXRQcm9wcyA9IHtcbiAgLyoqXG4gICAqIFVzZWQgYXMgSFRNTCBpZCBwcm9wZXJ0eS4gQW4gaWQgaXMgYXV0by1nZW5lcmF0ZWQgd2hlbiBpdCBpcyBub3Qgc3BlY2lmaWVkLlxuICAgKi9cbiAgaWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBVc2VkIGFzIEhUTUwgYXV0b2NvbXBsZXRlIHByb3BlcnR5XG4gICAqL1xuICBhdXRvQ29tcGxldGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZSBpZiB0aGUgdmFsdWUgZW50ZXJlZCBpbiB0aGUgaW5wdXQgaXMgaW52YWxpZC5cbiAgICovXG4gICdhcmlhLWludmFsaWQnPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEhUTUwgSUQgb2YgYW4gZWxlbWVudCBjb250YWluaW5nIGFuIGVycm9yIG1lc3NhZ2UgcmVsYXRlZCB0byB0aGUgaW5wdXQuXG4gICAqL1xuICAnYXJpYS1lcnJvcm1lc3NhZ2UnPzogc3RyaW5nO1xuICAvKipcbiAgICogVXNlZCBhcyBIVE1MIG5hbWUgb2YgdGhlIGlucHV0IGNvbXBvbmVudCBwcm9wZXJ0eS5cbiAgICovXG4gIG5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBWYWx1ZSBvZiB0aGUgaW5wdXQuIENvbnNpc3RzIG9mIHRleHQgaW5wdXQgYW5kIHNlbGVjdGVkIG9wdGlvbi5cbiAgICovXG4gIHZhbHVlOiBUVmFsdWU7XG4gIF9leHBlcmltZW50YWxWYWx1ZT86IFRWYWx1ZTtcbiAgLyoqXG4gICAqIENhbGxlZCB3aXRoIHRoZSBldmVudCBvZiB0aGUgaW5wdXQgb3IgZHJvcGRvd24gd2hlbiBlaXRoZXIgdGhlIHNlbGVjdGFibGUgZHJvcGRvd24gb3IgdGhlIHRleHQgaW5wdXQgaGF2ZSBjaGFuZ2VkLlxuICAgKiBUaGUgY2hhbmdlIGV2ZW50IGZyb20gdGhlIHRleHQgaW5wdXQgaGFzIGEgc3VmZml4IG9mIGAudGV4dElucHV0YCBhbmQgdGhlIGNoYW5nZSBldmVudCBmcm9tIHRoZSBkcm9wZG93biBoYXMgYSBzdWZmaXggb2YgYC5kcm9wZG93bmAuXG4gICAqL1xuICBvbkNoYW5nZT86IChldmVudDogVEN1c3RvbUV2ZW50KSA9PiB2b2lkO1xuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gaW5wdXQgaXMgYmx1cnJlZFxuICAgKi9cbiAgb25CbHVyPzogKGV2ZW50OiBUQ3VzdG9tRXZlbnQpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiBpbnB1dCBpcyBmb2N1c2VkXG4gICAqL1xuICBvbkZvY3VzPzogKGV2ZW50OiBUQ3VzdG9tRXZlbnQpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBIYW5kbGVyIHdoZW4gdGhlIHNlYXJjaCBidXR0b24gaXMgY2xpY2tlZC5cbiAgICovXG4gIG9uU3VibWl0OiAodmFsdWU6IFRWYWx1ZSkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIEhhbmRsZXIgd2hlbiB0aGUgY2xlYXIgYnV0dG9uIGlzIGNsaWNrZWQuXG4gICAqL1xuICBvblJlc2V0PzogKCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIEZvY3VzIHRoZSBpbnB1dCBvbiBpbml0aWFsIHJlbmRlclxuICAgKi9cbiAgaXNBdXRvZm9jdXNzZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogSW5kaWNhdGVzIHRoYXQgdGhlIGlucHV0IGNhbm5vdCBiZSBtb2RpZmllZCAoZS5nIG5vdCBhdXRob3JpemVkLCBvciBjaGFuZ2VzIGN1cnJlbnRseSBzYXZpbmcpLlxuICAgKi9cbiAgaXNEaXNhYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgdGhhdCB0aGUgZmllbGQgaXMgZGlzcGxheWluZyByZWFkLW9ubHkgY29udGVudFxuICAgKi9cbiAgaXNSZWFkT25seT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGlucHV0IGhhcyBpbnZhbGlkIHZhbHVlc1xuICAgKi9cbiAgaGFzRXJyb3I/OiBib29sZWFuO1xuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBpbnB1dCBoYXMgd2FybmluZyB2YWx1ZXNcbiAgICovXG4gIGhhc1dhcm5pbmc/OiBib29sZWFuO1xuICAvKipcbiAgICogUGxhY2Vob2xkZXIgdGV4dCBmb3IgdGhlIGlucHV0XG4gICAqL1xuICBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgaW5wdXQgc2hvdWxkIGJlIGNsZWFyZWQgd2hlbiB0aGUgY2xlYXIgYnV0dG9uIGlzIGNsaWNrZWQuXG4gICAqIERlZmF1bHRzIHRvIHRydWUuXG4gICAqXG4gICAqL1xuICBpc0NsZWFyYWJsZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBVc2UgdGhpcyBwcm9wZXJ0eSB0byByZWR1Y2UgdGhlIHBhZGRpbmdzIG9mIHRoZSBjb21wb25lbnQgZm9yIGEgdWkgY29tcGFjdCB2YXJpYW50XG4gICAqL1xuICBpc0NvbmRlbnNlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBIb3Jpem9udGFsIHNpemUgbGltaXQgb2YgdGhlIGlucHV0IGZpZWxkcy5cbiAgICovXG4gIGhvcml6b250YWxDb25zdHJhaW50PzogMTAgfCAxMSB8IDEyIHwgMTMgfCAxNCB8IDE1IHwgMTYgfCAnc2NhbGUnIHwgJ2F1dG8nO1xuICAvKipcbiAgICogQXJyYXkgb2Ygb3B0aW9ucyB0aGF0IHBvcHVsYXRlIHRoZSBzZWxlY3QgbWVudVxuICAgKi9cbiAgb3B0aW9uczogVE9wdGlvbnM7XG4gIC8qKlxuICAgKiB6LWluZGV4IHZhbHVlIGZvciB0aGUgbWVudSBwb3J0YWxcbiAgICogPGJyPlxuICAgKiBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCBgbWVudVBvcnRhbFRhcmdldGBcbiAgICovXG4gIG1lbnVQb3J0YWxaSW5kZXg/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBEb20gZWxlbWVudCB0byBwb3J0YWwgdGhlIHNlbGVjdCBtZW51IHRvXG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBtZW51UG9ydGFsVGFyZ2V0PzogUmVhY3RTZWxlY3RQcm9wc1snbWVudVBvcnRhbFRhcmdldCddO1xuICAvKipcbiAgICogd2hldGhlciB0aGUgbWVudSBzaG91bGQgYmxvY2sgc2Nyb2xsIHdoaWxlIG9wZW5cbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIG1lbnVTaG91bGRCbG9ja1Njcm9sbD86IFJlYWN0U2VsZWN0UHJvcHNbJ21lbnVTaG91bGRCbG9ja1Njcm9sbCddO1xuICAvKipcbiAgICogSGFuZGxlIGNoYW5nZSBldmVudHMgb24gdGhlIG1lbnUgaW5wdXRcbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIG9uTWVudUlucHV0Q2hhbmdlPzogUmVhY3RTZWxlY3RQcm9wc1snb25JbnB1dENoYW5nZSddO1xuICAvKipcbiAgICogQ2FuIGJlIHVzZWQgdG8gcmVuZGVyIGEgY3VzdG9tIHZhbHVlIHdoZW4gdGhlcmUgYXJlIG5vIG9wdGlvbnMgKGVpdGhlciBiZWNhdXNlIG9mIG5vIHNlYXJjaCByZXN1bHRzLCBvciBhbGwgb3B0aW9ucyBoYXZlIGJlZW4gdXNlZCwgb3IgdGhlcmUgd2VyZSBub25lIGluIHRoZSBmaXJzdCBwbGFjZSkuIEdldHMgY2FsbGVkIHdpdGggeyBpbnB1dFZhbHVlOiBTdHJpbmcgfS5cbiAgICogPGJyIC8+XG4gICAqIGBpbnB1dFZhbHVlYCB3aWxsIGJlIGFuIGVtcHR5IHN0cmluZyB3aGVuIG5vIHNlYXJjaCB0ZXh0IGlzIHByZXNlbnQuXG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBub01lbnVPcHRpb25zTWVzc2FnZT86IFJlYWN0U2VsZWN0UHJvcHNbJ25vT3B0aW9uc01lc3NhZ2UnXTtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZW5hYmxlIHNlYXJjaCBmdW5jdGlvbmFsaXR5LlxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgaXNNZW51U2VhcmNoYWJsZT86IFJlYWN0U2VsZWN0UHJvcHNbJ2lzU2VhcmNoYWJsZSddO1xuICAvKipcbiAgICogTWF4aW11bSBoZWlnaHQgb2YgdGhlIG1lbnUgYmVmb3JlIHNjcm9sbGluZ1xuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgbWF4TWVudUhlaWdodD86IFJlYWN0U2VsZWN0UHJvcHNbJ21heE1lbnVIZWlnaHQnXTtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIG1lbnUgc2hvdWxkIGNsb3NlIGFmdGVyIGEgdmFsdWUgaXMgc2VsZWN0ZWQuIERlZmF1bHRzIHRvIGB0cnVlYC5cbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIGNsb3NlTWVudU9uU2VsZWN0PzogUmVhY3RTZWxlY3RQcm9wc1snY2xvc2VNZW51T25TZWxlY3QnXTtcbiAgLyoqXG4gICAqIEhvcml6b250YWwgc2l6ZSBsaW1pdCBmb3IgdGhlIGRyb3Bkb3duIG1lbnUuXG4gICAqL1xuICBtZW51SG9yaXpvbnRhbENvbnN0cmFpbnQ/OiAzIHwgNCB8IDU7XG4gIC8qKlxuICAgKiBTaG93IHN1Ym1pdCBidXR0b24gaW4gdGhlIGlucHV0XG4gICAqL1xuICBzaG93U3VibWl0QnV0dG9uPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqICB1c2VkIHRvIHBhc3MgZGF0YS0qIHByb3BzIHRvIHRoZSBzZWxlY3QgY29tcG9uZW50LlxuICAgKiBlZzogc2VsZWN0RGF0YVByb3BzPXtbeyAncHJvcC0xJzogJ3ZhbHVlLTEnIH0sIHsgJ3Byb3AtMic6ICd2YWx1ZS0yJyB9XX1cbiAgICovXG4gIHNlbGVjdERhdGFQcm9wcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIC8qKlxuICAgKiAgdXNlZCB0byBwYXNzIGRhdGEtKiBwcm9wcyB0byB0aGUgaW5wdXQgZWxlbWVudC5cbiAgICogZWc6IGlucHV0RGF0YVByb3BzPXtbeyAncHJvcC0xJzogJ3ZhbHVlLTEnIH0sIHsgJ3Byb3AtMic6ICd2YWx1ZS0yJyB9XX1cbiAgICovXG4gIGlucHV0RGF0YVByb3BzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgLyoqXG4gICAqIE1hcCBvZiBjb21wb25lbnRzIHRvIG92ZXJ3cml0ZSB0aGUgZGVmYXVsdCBvbmVzLCBzZWUgd2hhdCBjb21wb25lbnRzIHlvdSBjYW4gb3ZlcnJpZGVcbiAgICogPGJyLz5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBzZWxlY3RDdXN0b21Db21wb25lbnRzPzogUmVhY3RTZWxlY3RQcm9wc1snY29tcG9uZW50cyddO1xuXG4gIC8qKlxuICAgKiBDdXN0b20gYWN0aW9uIGljb24gdG8gYmUgZGlzcGxheWVkIG9uIHRoZSByaWdodCBzaWRlIG9mIHRoZSBpbnB1dC5cbiAgICovXG4gIHJpZ2h0QWN0aW9uSWNvbj86IFJlYWN0RWxlbWVudDtcbiAgLyoqXG4gICAqIFByb3BzIGZvciB0aGUgcmlnaHQtYWN0aW9uIGljb24tYnV0dG9uLiBSZXF1aXJlZCB3aGVuIHJpZ2h0QWN0aW9uSWNvbiBpcyBwcm92aWRlZC5cbiAgICogQXQgbGVhc3QgYSBgbGFiZWxgIGFuZCBhbiBgb25DbGlja2AgcHJvcC9mdW5jdGlvbiBuZWVkIHRvIGJlIHByb3ZpZGVkLlxuICAgKi9cbiAgcmlnaHRBY3Rpb25Qcm9wcz86IFRJY29uQnV0dG9uUHJvcHM7XG59O1xuXG5jb25zdCBzZWxlY3RhYmxlU2VhcmNoSW5wdXRTZXF1ZW50aWFsSWQgPSBjcmVhdGVTZXF1ZW50aWFsSWQoXG4gICdzZWxlY3RhYmxlLXNlYXJjaC1pbnB1dC0nXG4pO1xuXG5jb25zdCBpc09wdGlvbk9iamVjdCA9IChcbiAgb3B0aW9uOiBUT3B0aW9uIHwgVE9wdGlvbk9iamVjdFxuKTogb3B0aW9uIGlzIFRPcHRpb25PYmplY3QgPT4gKG9wdGlvbiBhcyBUT3B0aW9uT2JqZWN0KS5vcHRpb25zICE9PSB1bmRlZmluZWQ7XG5cbmNvbnN0IHRyYW5zZm9ybURhdGFQcm9wcyA9IChkYXRhUHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KSA9PlxuICBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgT2JqZWN0LmVudHJpZXMoZGF0YVByb3BzIHx8IHt9KS5tYXAoKFtrZXksIHZhbHVlXSkgPT4gW1xuICAgICAgYGRhdGEtJHtrZXl9YCxcbiAgICAgIHZhbHVlLFxuICAgIF0pXG4gICk7XG5cbmNvbnN0IFNlbGVjdGFibGVTZWFyY2hJbnB1dCA9ICh7XG4gIGhvcml6b250YWxDb25zdHJhaW50ID0gJ3NjYWxlJyxcbiAgaXNDbGVhcmFibGUgPSB0cnVlLFxuICBtZW51SG9yaXpvbnRhbENvbnN0cmFpbnQgPSAzLFxuICBzaG93U3VibWl0QnV0dG9uID0gdHJ1ZSxcbiAgbWVudVBvcnRhbFpJbmRleCA9IDEsXG4gIC4uLnByb3BzXG59OiBUU2VsZWN0YWJsZVNlYXJjaElucHV0UHJvcHMpID0+IHtcbiAgY29uc3QgW2Ryb3Bkb3duSGFzRm9jdXMsIHRvZ2dsZURyb3Bkb3duSGFzRm9jdXNdID0gdXNlVG9nZ2xlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbc2VhcmNoVmFsdWUsIHNldFNlYXJjaFZhbHVlXSA9IHVzZVN0YXRlKHByb3BzLnZhbHVlLnRleHQgfHwgJycpO1xuICBjb25zdCBbc2VhcmNoT3B0aW9uLCBzZXRTZWFyY2hPcHRpb25dID0gdXNlU3RhdGUocHJvcHMudmFsdWUub3B0aW9uIHx8ICcnKTtcbiAgY29uc3QgY29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3QgdGV4dElucHV0UmVmID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KG51bGwpO1xuXG4gIGNvbnN0IGFsbFByb3BzID0ge1xuICAgIGhvcml6b250YWxDb25zdHJhaW50LFxuICAgIGlzQ2xlYXJhYmxlLFxuICAgIG1lbnVIb3Jpem9udGFsQ29uc3RyYWludCxcbiAgICBzaG93U3VibWl0QnV0dG9uLFxuICAgIG1lbnVQb3J0YWxaSW5kZXgsXG4gICAgLi4ucHJvcHMsXG4gIH07XG4gIGNvbnN0IGxlZ2FjeURhdGFQcm9wcyA9IGZpbHRlckRhdGFBdHRyaWJ1dGVzKHByb3BzKTtcbiAgY29uc3QgdHJhbnNmb3JtZWRTZWxlY3REYXRhUHJvcHMgPSB0cmFuc2Zvcm1EYXRhUHJvcHMocHJvcHMuc2VsZWN0RGF0YVByb3BzKTtcbiAgY29uc3QgdHJhbnNmb3JtZWRJbnB1dERhdGFQcm9wcyA9IHRyYW5zZm9ybURhdGFQcm9wcyhwcm9wcy5pbnB1dERhdGFQcm9wcyk7XG4gIGNvbnN0IHNlYXJjaElucHV0VmFsdWUgPSBwcm9wcy5fZXhwZXJpbWVudGFsVmFsdWU/LnRleHQgPz8gc2VhcmNoVmFsdWU7XG4gIGNvbnN0IHNlYXJjaElucHV0T3B0aW9uID0gcHJvcHMuX2V4cGVyaW1lbnRhbFZhbHVlPy5vcHRpb24gPz8gc2VhcmNoT3B0aW9uO1xuXG4gIGNvbnN0IG9wdGlvbnNXaXRob3V0R3JvdXBzID0gcHJvcHMub3B0aW9ucy5mbGF0TWFwKChvcHRpb24pID0+IHtcbiAgICBpZiAoaXNPcHRpb25PYmplY3Qob3B0aW9uKSkge1xuICAgICAgcmV0dXJuIG9wdGlvbi5vcHRpb25zO1xuICAgIH1cbiAgICByZXR1cm4gb3B0aW9uO1xuICB9KTtcblxuICBjb25zdCBzZWxlY3RlZE9wdGlvbiA9IG9wdGlvbnNXaXRob3V0R3JvdXBzLmZpbmQoXG4gICAgKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSBzZWFyY2hJbnB1dE9wdGlvblxuICApO1xuXG4gIGlmIChwcm9wcy5yaWdodEFjdGlvbkljb24gJiYgIXByb3BzLnJpZ2h0QWN0aW9uUHJvcHMpIHtcbiAgICB3YXJuaW5nKFxuICAgICAgZmFsc2UsXG4gICAgICAnU2VsZWN0YWJsZVNlYXJjaElucHV0OiBgcmlnaHRBY3Rpb25JY29uYCBpcyBwcm92aWRlZCBidXQgYHJpZ2h0QWN0aW9uUHJvcHNgIGlzIG1pc3NpbmcuIFByb3ZpZGUgYW4gb2JqZWN0IHdpdGggYSBgbGFiZWxgIGFuZCBgb25DbGlja2AgcHJvcGVydHkuJ1xuICAgICk7XG4gIH1cbiAgY29uc3Qgc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCA9IHVzZUZpZWxkSWQoXG4gICAgcHJvcHMuaWQsXG4gICAgc2VsZWN0YWJsZVNlYXJjaElucHV0U2VxdWVudGlhbElkXG4gICk7XG5cbiAgaWYgKCFwcm9wcy5pc1JlYWRPbmx5KSB7XG4gICAgd2FybmluZyhcbiAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyxcbiAgICAgICdTZWxlY3RhYmxlU2VhcmNoSW5wdXQ6IGBvbkNoYW5nZWAgaXMgcmVxdWlyZWQgd2hlbiBpcyBub3QgcmVhZCBvbmx5LidcbiAgICApO1xuICB9XG5cbiAgd2FybklmTWVudVBvcnRhbFByb3BzQXJlTWlzc2luZyh7XG4gICAgbWVudVBvcnRhbFpJbmRleDogbWVudVBvcnRhbFpJbmRleCxcbiAgICBtZW51UG9ydGFsVGFyZ2V0OiBwcm9wcy5tZW51UG9ydGFsVGFyZ2V0LFxuICAgIGNvbXBvbmVudE5hbWU6ICdTZWxlY3RhYmxlU2VhcmNoSW5wdXQnLFxuICB9KTtcblxuICBjb25zdCB7IG9uRm9jdXMsIG9uQmx1ciwgbmFtZSB9ID0gcHJvcHM7XG4gIGNvbnN0IGhhbmRsZVRleHRJbnB1dEZvY3VzID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChvbkZvY3VzKSB7XG4gICAgICBvbkZvY3VzKHtcbiAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgaWQ6IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKSxcbiAgICAgICAgICBuYW1lOiBnZXRUZXh0SW5wdXROYW1lKG5hbWUpLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbb25Gb2N1cywgc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCwgbmFtZV0pO1xuXG4gIGNvbnN0IGhhbmRsZVRleHRJbnB1dEJsdXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKG9uQmx1cikge1xuICAgICAgb25CbHVyKHtcbiAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgaWQ6IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKSxcbiAgICAgICAgICBuYW1lOiBnZXRUZXh0SW5wdXROYW1lKG5hbWUpLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbb25CbHVyLCBzZWxlY3RhYmxTZWFyY2hJbnB1dElkLCBuYW1lXSk7XG5cbiAgY29uc3QgaGFuZGxlQ2xlYXIgPSAoKSA9PiB7XG4gICAgc2V0U2VhcmNoVmFsdWUoJycpO1xuICAgIGlmIChwcm9wcy5vblJlc2V0KSB7XG4gICAgICBwcm9wcy5vblJlc2V0KCk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVRleHRJbnB1dENoYW5nZSA9IChldmVudDogQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHtcbiAgICBzZXRTZWFyY2hWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xuICAgIGlmIChwcm9wcy5vbkNoYW5nZSkge1xuICAgICAgcHJvcHMub25DaGFuZ2Uoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldFRleHRJbnB1dElkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpLFxuICAgICAgICAgIG5hbWU6IGdldFRleHRJbnB1dE5hbWUocHJvcHMubmFtZSksXG4gICAgICAgICAgdmFsdWU6IGV2ZW50LnRhcmdldC52YWx1ZSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVTdWJtaXQgPSAoXG4gICAgZXZlbnQ6XG4gICAgICB8IEtleWJvYXJkRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQ+XG4gICAgICB8IE1vdXNlRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQ+XG4gICAgICB8IEtleWJvYXJkRXZlbnQ8SFRNTElucHV0RWxlbWVudD5cbiAgKSA9PiB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAocHJvcHMub25TdWJtaXQpIHtcbiAgICAgIHByb3BzLm9uU3VibWl0KHtcbiAgICAgICAgdGV4dDogc2VhcmNoSW5wdXRWYWx1ZSxcbiAgICAgICAgb3B0aW9uOiBzZWxlY3RlZE9wdGlvbj8udmFsdWUgPz8gJycsXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgZHJvcGRvd25OYW1lID0gZ2V0RHJvcGRvd25OYW1lKHByb3BzLm5hbWUpO1xuICBjb25zdCBkcm9wZG93bklkID0gU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldERyb3Bkb3duSWQoXG4gICAgc2VsZWN0YWJsU2VhcmNoSW5wdXRJZFxuICApO1xuXG4gIGNvbnN0IGhhbmRsZURyb3Bkb3duRm9jdXMgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKG9uRm9jdXMpIHtcbiAgICAgIG9uRm9jdXMoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogZHJvcGRvd25JZCxcbiAgICAgICAgICBuYW1lOiBkcm9wZG93bk5hbWUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gICAgdG9nZ2xlRHJvcGRvd25IYXNGb2N1cyh0cnVlKTtcbiAgfSwgW29uRm9jdXMsIHRvZ2dsZURyb3Bkb3duSGFzRm9jdXMsIGRyb3Bkb3duTmFtZSwgZHJvcGRvd25JZF0pO1xuXG4gIGNvbnN0IGhhbmRsZURyb3Bkb3duQmx1ciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAob25CbHVyKSB7XG4gICAgICBvbkJsdXIoe1xuICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICBpZDogZHJvcGRvd25JZCxcbiAgICAgICAgICBuYW1lOiBkcm9wZG93bk5hbWUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gICAgdG9nZ2xlRHJvcGRvd25IYXNGb2N1cyhmYWxzZSk7XG4gIH0sIFt0b2dnbGVEcm9wZG93bkhhc0ZvY3VzLCBvbkJsdXIsIGRyb3Bkb3duTmFtZSwgZHJvcGRvd25JZF0pO1xuXG4gIGNvbnN0IGhhbmRsZUNvbnRhaW5lckJsdXIgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQpID0+IHtcbiAgICAgIC8vIGVuc3VyZXMgdGhhdCBib3RoIGZpZWxkcyBhcmUgbWFya2VkIGFzIHRvdWNoZWQgd2hlbiBvbmUgb2YgdGhlbVxuICAgICAgLy8gaXMgYmx1cnJlZFxuICAgICAgaWYgKFxuICAgICAgICB0eXBlb2Ygb25CbHVyID09PSAnZnVuY3Rpb24nICYmXG4gICAgICAgICFjb250YWluZXJSZWYuY3VycmVudD8uY29udGFpbnMoZXZlbnQucmVsYXRlZFRhcmdldClcbiAgICAgICkge1xuICAgICAgICBvbkJsdXIoe1xuICAgICAgICAgIHRhcmdldDoge1xuICAgICAgICAgICAgaWQ6IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXREcm9wZG93bklkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpLFxuICAgICAgICAgICAgbmFtZTogZ2V0RHJvcGRvd25OYW1lKG5hbWUpLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBvbkJsdXIoe1xuICAgICAgICAgIHRhcmdldDoge1xuICAgICAgICAgICAgaWQ6IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKSxcbiAgICAgICAgICAgIG5hbWU6IGdldFRleHRJbnB1dE5hbWUobmFtZSksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbb25CbHVyLCBzZWxlY3RhYmxTZWFyY2hJbnB1dElkLCBuYW1lXVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZURyb3Bkb3duQ2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgKG5leHRTZWxlY3RlZE9wdGlvbnMpID0+IHtcbiAgICAgIHNldFNlYXJjaE9wdGlvbihuZXh0U2VsZWN0ZWRPcHRpb25zLnZhbHVlKTtcbiAgICAgIGlmIChwcm9wcy5vbkNoYW5nZSkge1xuICAgICAgICBwcm9wcy5vbkNoYW5nZSh7XG4gICAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgICBpZDogU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldERyb3Bkb3duSWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCksXG4gICAgICAgICAgICBuYW1lOiBnZXREcm9wZG93bk5hbWUobmFtZSksXG4gICAgICAgICAgICB2YWx1ZTogbmV4dFNlbGVjdGVkT3B0aW9ucy52YWx1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHRleHRJbnB1dFJlZi5jdXJyZW50Py5mb2N1cygpO1xuICAgIH0sXG4gICAgW3Byb3BzLm9uQ2hhbmdlLCBzZWxlY3RhYmxTZWFyY2hJbnB1dElkLCBuYW1lXVxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPENvbnN0cmFpbnRzLkhvcml6b250YWwgbWF4PXtob3Jpem9udGFsQ29uc3RyYWludH0+XG4gICAgICA8Q29udGFpbmVyXG4gICAgICAgIHJlZj17Y29udGFpbmVyUmVmfVxuICAgICAgICBvbkJsdXI9e2hhbmRsZUNvbnRhaW5lckJsdXJ9XG4gICAgICAgIGRhdGEtdGVzdGlkPVwic2VsZWN0YWJsZS1zZWFyY2gtaW5wdXQtY29udGFpbmVyXCJcbiAgICAgID5cbiAgICAgICAgPENvbnN0cmFpbnRzLkhvcml6b250YWwgbWF4PXttZW51SG9yaXpvbnRhbENvbnN0cmFpbnR9PlxuICAgICAgICAgIDxTZWxlY3RhYmxlU2VsZWN0XG4gICAgICAgICAgICB7Li4uYWxsUHJvcHN9XG4gICAgICAgICAgICBpZD17U2VsZWN0YWJsZVNlYXJjaElucHV0LmdldERyb3Bkb3duSWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCl9XG4gICAgICAgICAgICBuYW1lPXtnZXREcm9wZG93bk5hbWUocHJvcHMubmFtZSl9XG4gICAgICAgICAgICBkcm9wZG93bkhhc0ZvY3VzPXtkcm9wZG93bkhhc0ZvY3VzfVxuICAgICAgICAgICAgaXNDb25kZW5zZWQ9e3Byb3BzLmlzQ29uZGVuc2VkID8/IGZhbHNlfVxuICAgICAgICAgICAgaGFuZGxlRHJvcGRvd25Gb2N1cz17aGFuZGxlRHJvcGRvd25Gb2N1c31cbiAgICAgICAgICAgIGhhbmRsZURyb3Bkb3duQmx1cj17aGFuZGxlRHJvcGRvd25CbHVyfVxuICAgICAgICAgICAgaGFuZGxlRHJvcGRvd25DaGFuZ2U9e2hhbmRsZURyb3Bkb3duQ2hhbmdlfVxuICAgICAgICAgICAgdGV4dElucHV0UmVmPXt0ZXh0SW5wdXRSZWZ9XG4gICAgICAgICAgICBzZWxlY3RlZE9wdGlvbj17c2VsZWN0ZWRPcHRpb259XG4gICAgICAgICAgICBkYXRhUHJvcHM9e3RyYW5zZm9ybWVkU2VsZWN0RGF0YVByb3BzfVxuICAgICAgICAgICAgc2VsZWN0Q3VzdG9tQ29tcG9uZW50cz17cHJvcHMuc2VsZWN0Q3VzdG9tQ29tcG9uZW50c31cbiAgICAgICAgICAvPlxuICAgICAgICA8L0NvbnN0cmFpbnRzLkhvcml6b250YWw+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjc3M9e1tcbiAgICAgICAgICAgIGdldFNlbGVjdGFibGVTZWFyY2hJbnB1dENvbnRhaW5lclN0eWxlcyhhbGxQcm9wcyksXG4gICAgICAgICAgICBkcm9wZG93bkhhc0ZvY3VzICYmXG4gICAgICAgICAgICAgICFwcm9wcy5pc1JlYWRPbmx5ICYmXG4gICAgICAgICAgICAgIGNzc2BcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHtkZXNpZ25Ub2tlbnMuYm9yZGVyQ29sb3JGb3JJbnB1dFdoZW5Gb2N1c2VkfTtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAke2Rlc2lnblRva2Vucy5ib3JkZXJDb2xvckZvcklucHV0V2hlbkZvY3VzZWR9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgYCxcbiAgICAgICAgICBdfVxuICAgICAgICA+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICByZWY9e3RleHRJbnB1dFJlZn1cbiAgICAgICAgICAgIGlkPXtTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0VGV4dElucHV0SWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCl9XG4gICAgICAgICAgICBuYW1lPXtnZXRUZXh0SW5wdXROYW1lKHByb3BzLm5hbWUpfVxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgdmFsdWU9e3NlYXJjaElucHV0VmFsdWV9XG4gICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlVGV4dElucHV0Q2hhbmdlfVxuICAgICAgICAgICAgb25CbHVyPXtoYW5kbGVUZXh0SW5wdXRCbHVyfVxuICAgICAgICAgICAgb25Gb2N1cz17aGFuZGxlVGV4dElucHV0Rm9jdXN9XG4gICAgICAgICAgICBkaXNhYmxlZD17cHJvcHMuaXNEaXNhYmxlZH1cbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtwcm9wcy5wbGFjZWhvbGRlcn1cbiAgICAgICAgICAgIHJlYWRPbmx5PXtwcm9wcy5pc1JlYWRPbmx5fVxuICAgICAgICAgICAgYXV0b0ZvY3VzPXtwcm9wcy5pc0F1dG9mb2N1c3NlZH1cbiAgICAgICAgICAgIGF1dG9Db21wbGV0ZT17cHJvcHMuYXV0b0NvbXBsZXRlfVxuICAgICAgICAgICAgYXJpYS1yZWFkb25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgIGNvbnRlbnRFZGl0YWJsZT17IXByb3BzLmlzUmVhZE9ubHl9XG4gICAgICAgICAgICBjc3M9e2dldFNlbGVjdGFibGVTZWFyY2hJbnB1dFN0eWxlcyhhbGxQcm9wcyl9XG4gICAgICAgICAgICB7Li4udHJhbnNmb3JtZWRJbnB1dERhdGFQcm9wc31cbiAgICAgICAgICAgIHsuLi5sZWdhY3lEYXRhUHJvcHN9XG4gICAgICAgICAgICAvKiBBUklBICovXG4gICAgICAgICAgICBhcmlhLWludmFsaWQ9e3Byb3BzWydhcmlhLWludmFsaWQnXX1cbiAgICAgICAgICAgIGFyaWEtZXJyb3JtZXNzYWdlPXtwcm9wc1snYXJpYS1lcnJvcm1lc3NhZ2UnXX1cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwic2VsZWN0YWJsZS1pbnB1dFwiXG4gICAgICAgICAgICBvbktleURvd249eyhldmVudCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoIXByb3BzLmlzUmVhZE9ubHkgJiYgZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICAgICAgICAgICAgaGFuZGxlU3VibWl0KGV2ZW50KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHtpc0NsZWFyYWJsZSAmJlxuICAgICAgICAgICAgc2VhcmNoSW5wdXRWYWx1ZSAmJlxuICAgICAgICAgICAgIXByb3BzLmlzRGlzYWJsZWQgJiZcbiAgICAgICAgICAgICFwcm9wcy5pc1JlYWRPbmx5ICYmIChcbiAgICAgICAgICAgICAgPFNlY29uZGFyeUljb25CdXR0b25cbiAgICAgICAgICAgICAgICBpY29uPXs8Q2xvc2VJY29uIC8+fVxuICAgICAgICAgICAgICAgIHNpemU9e3Byb3BzLmlzQ29uZGVuc2VkID8gJzEwJyA6ICcyMCd9XG4gICAgICAgICAgICAgICAgbGFiZWw9eydjbGVhci1idXR0b24nfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZUNsZWFyfVxuICAgICAgICAgICAgICAgIGNzcz17Z2V0Q2xlYXJJY29uQnV0dG9uU3R5bGVzKGFsbFByb3BzKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAge3Nob3dTdWJtaXRCdXR0b24gJiYgKFxuICAgICAgICAgICAgPFNlY29uZGFyeUljb25CdXR0b25cbiAgICAgICAgICAgICAgaWNvbj17PFNlYXJjaEljb24gLz59XG4gICAgICAgICAgICAgIHNpemU9e3Byb3BzLmlzQ29uZGVuc2VkID8gJzIwJyA6ICc0MCd9XG4gICAgICAgICAgICAgIGxhYmVsPXsnc2VhcmNoLWJ1dHRvbid9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVN1Ym1pdH1cbiAgICAgICAgICAgICAgY3NzPXtnZXRTZWFyY2hJY29uQnV0dG9uU3R5bGVzKGFsbFByb3BzKX1cbiAgICAgICAgICAgICAgaXNEaXNhYmxlZD17cHJvcHMuaXNEaXNhYmxlZH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cblxuICAgICAgICAgIHtwcm9wcy5yaWdodEFjdGlvbkljb24gJiYgcHJvcHMucmlnaHRBY3Rpb25Qcm9wcyAmJiAoXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgIG9yZGVyOiA0O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAke2Rlc2lnblRva2Vucy5zcGFjaW5nMzB9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8SWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgIHRoZW1lPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgaXNEaXNhYmxlZD17cHJvcHMuaXNEaXNhYmxlZCB8fCBwcm9wcy5pc1JlYWRPbmx5fVxuICAgICAgICAgICAgICAgIHNpemU9e3Byb3BzLmlzQ29uZGVuc2VkID8gJzEwJyA6ICcyMCd9XG4gICAgICAgICAgICAgICAgaWNvbj17cHJvcHMucmlnaHRBY3Rpb25JY29ufVxuICAgICAgICAgICAgICAgIHsuLi5wcm9wcy5yaWdodEFjdGlvblByb3BzfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L0NvbnRhaW5lcj5cbiAgICA8L0NvbnN0cmFpbnRzLkhvcml6b250YWw+XG4gICk7XG59O1xuXG5TZWxlY3RhYmxlU2VhcmNoSW5wdXQuZGlzcGxheU5hbWUgPSAnU2VsZWN0YWJsZVNlYXJjaElucHV0JztcblNlbGVjdGFibGVTZWFyY2hJbnB1dC5pc0VtcHR5ID0gKFxuICBmb3JtVmFsdWU6IFRTZWxlY3RhYmxlU2VhcmNoSW5wdXRQcm9wc1sndmFsdWUnXVxuKSA9PiAhZm9ybVZhbHVlIHx8IGZvcm1WYWx1ZS50ZXh0LnRyaW0oKSA9PT0gJyc7XG5TZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0VGV4dElucHV0SWQgPSBnZXRUZXh0SW5wdXROYW1lO1xuU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldERyb3Bkb3duSWQgPSBnZXREcm9wZG93bk5hbWU7XG5cbmV4cG9ydCBkZWZhdWx0IFNlbGVjdGFibGVTZWFyY2hJbnB1dDtcbiJdfQ== */"),
|
|
514
|
+
css: /*#__PURE__*/react.css("order:4;margin-left:", designSystem.designTokens.spacing30, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:SelectableSearchInput;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNlbGVjdGFibGUtc2VhcmNoLWlucHV0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvaUJzQiIsImZpbGUiOiJzZWxlY3RhYmxlLXNlYXJjaC1pbnB1dC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIE1vdXNlRXZlbnQsXG4gIHR5cGUgS2V5Ym9hcmRFdmVudCxcbiAgdHlwZSBDaGFuZ2VFdmVudCxcbiAgdHlwZSBSZWFjdE5vZGUsXG4gIHR5cGUgRm9jdXNFdmVudCxcbiAgdXNlU3RhdGUsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VSZWYsXG4gIFJlYWN0RWxlbWVudCxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFNlY29uZGFyeUljb25CdXR0b24gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc2Vjb25kYXJ5LWljb24tYnV0dG9uJztcbmltcG9ydCBJY29uQnV0dG9uLCB7XG4gIHR5cGUgVEljb25CdXR0b25Qcm9wcyxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbi1idXR0b24nO1xuaW1wb3J0IENvbnN0cmFpbnRzIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2NvbnN0cmFpbnRzJztcbmltcG9ydCB7IFNlYXJjaEljb24sIENsb3NlSWNvbiB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zJztcbmltcG9ydCB7XG4gIGNyZWF0ZVNlcXVlbnRpYWxJZCxcbiAgZmlsdGVyRGF0YUF0dHJpYnV0ZXMsXG4gIHdhcm5pbmcsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3V0aWxzJztcbmltcG9ydCB7IHdhcm5JZk1lbnVQb3J0YWxQcm9wc0FyZU1pc3NpbmcgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9zZWxlY3QtdXRpbHMnO1xuaW1wb3J0IHtcbiAgZ2V0Q2xlYXJJY29uQnV0dG9uU3R5bGVzLFxuICBnZXRTZWFyY2hJY29uQnV0dG9uU3R5bGVzLFxuICBnZXRTZWxlY3RhYmxlU2VhcmNoSW5wdXRDb250YWluZXJTdHlsZXMsXG4gIGdldFNlbGVjdGFibGVTZWFyY2hJbnB1dFN0eWxlcyxcbn0gZnJvbSAnLi9zZWxlY3RhYmxlLXNlYXJjaC1pbnB1dC5zdHlsZXMnO1xuaW1wb3J0IFNlbGVjdGFibGVTZWxlY3QgZnJvbSAnLi9zZWxlY3RhYmxlLXNlbGVjdCc7XG5pbXBvcnQgeyB1c2VGaWVsZElkLCB1c2VUb2dnbGVTdGF0ZSB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2hvb2tzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGRlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgdHlwZSBQcm9wcyBhcyBSZWFjdFNlbGVjdFByb3BzIH0gZnJvbSAncmVhY3Qtc2VsZWN0JztcblxuY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbmA7XG5cbmNvbnN0IGdldFRleHRJbnB1dE5hbWUgPSAobmFtZT86IHN0cmluZykgPT5cbiAgbmFtZSA/IGAke25hbWV9LnRleHRJbnB1dGAgOiB1bmRlZmluZWQ7XG5cbmNvbnN0IGdldERyb3Bkb3duTmFtZSA9IChuYW1lPzogc3RyaW5nKSA9PlxuICBuYW1lID8gYCR7bmFtZX0uZHJvcGRvd25gIDogdW5kZWZpbmVkO1xuXG5leHBvcnQgdHlwZSBUQ3VzdG9tRXZlbnQgPSB7XG4gIHRhcmdldDoge1xuICAgIGlkPzogc3RyaW5nO1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgdmFsdWU/OiBzdHJpbmcgfCBzdHJpbmdbXSB8IG51bGw7XG4gIH07XG4gIHBlcnNpc3Q/OiAoKSA9PiB2b2lkO1xufTtcblxuZXhwb3J0IHR5cGUgVFZhbHVlID0ge1xuICB0ZXh0OiBzdHJpbmc7XG4gIG9wdGlvbjogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgVE9wdGlvbiA9IHtcbiAgdmFsdWU6IHN0cmluZztcbiAgbGFiZWw/OiBSZWFjdE5vZGU7XG59O1xuXG5leHBvcnQgdHlwZSBUT3B0aW9uT2JqZWN0ID0ge1xuICBvcHRpb25zOiBUT3B0aW9uW107XG59O1xuXG5leHBvcnQgdHlwZSBUT3B0aW9ucyA9IFRPcHRpb25bXSB8IFRPcHRpb25PYmplY3RbXTtcblxuZXhwb3J0IHR5cGUgVFNlbGVjdGFibGVTZWFyY2hJbnB1dFByb3BzID0ge1xuICAvKipcbiAgICogVXNlZCBhcyBIVE1MIGlkIHByb3BlcnR5LiBBbiBpZCBpcyBhdXRvLWdlbmVyYXRlZCB3aGVuIGl0IGlzIG5vdCBzcGVjaWZpZWQuXG4gICAqL1xuICBpZD86IHN0cmluZztcbiAgLyoqXG4gICAqIFVzZWQgYXMgSFRNTCBhdXRvY29tcGxldGUgcHJvcGVydHlcbiAgICovXG4gIGF1dG9Db21wbGV0ZT86IHN0cmluZztcbiAgLyoqXG4gICAqIEluZGljYXRlIGlmIHRoZSB2YWx1ZSBlbnRlcmVkIGluIHRoZSBpbnB1dCBpcyBpbnZhbGlkLlxuICAgKi9cbiAgJ2FyaWEtaW52YWxpZCc/OiBib29sZWFuO1xuICAvKipcbiAgICogSFRNTCBJRCBvZiBhbiBlbGVtZW50IGNvbnRhaW5pbmcgYW4gZXJyb3IgbWVzc2FnZSByZWxhdGVkIHRvIHRoZSBpbnB1dC5cbiAgICovXG4gICdhcmlhLWVycm9ybWVzc2FnZSc/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBVc2VkIGFzIEhUTUwgbmFtZSBvZiB0aGUgaW5wdXQgY29tcG9uZW50IHByb3BlcnR5LlxuICAgKi9cbiAgbmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFZhbHVlIG9mIHRoZSBpbnB1dC4gQ29uc2lzdHMgb2YgdGV4dCBpbnB1dCBhbmQgc2VsZWN0ZWQgb3B0aW9uLlxuICAgKi9cbiAgdmFsdWU6IFRWYWx1ZTtcbiAgX2V4cGVyaW1lbnRhbFZhbHVlPzogVFZhbHVlO1xuICAvKipcbiAgICogQ2FsbGVkIHdpdGggdGhlIGV2ZW50IG9mIHRoZSBpbnB1dCBvciBkcm9wZG93biB3aGVuIGVpdGhlciB0aGUgc2VsZWN0YWJsZSBkcm9wZG93biBvciB0aGUgdGV4dCBpbnB1dCBoYXZlIGNoYW5nZWQuXG4gICAqIFRoZSBjaGFuZ2UgZXZlbnQgZnJvbSB0aGUgdGV4dCBpbnB1dCBoYXMgYSBzdWZmaXggb2YgYC50ZXh0SW5wdXRgIGFuZCB0aGUgY2hhbmdlIGV2ZW50IGZyb20gdGhlIGRyb3Bkb3duIGhhcyBhIHN1ZmZpeCBvZiBgLmRyb3Bkb3duYC5cbiAgICovXG4gIG9uQ2hhbmdlPzogKGV2ZW50OiBUQ3VzdG9tRXZlbnQpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiBpbnB1dCBpcyBibHVycmVkXG4gICAqL1xuICBvbkJsdXI/OiAoZXZlbnQ6IFRDdXN0b21FdmVudCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGlucHV0IGlzIGZvY3VzZWRcbiAgICovXG4gIG9uRm9jdXM/OiAoZXZlbnQ6IFRDdXN0b21FdmVudCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIEhhbmRsZXIgd2hlbiB0aGUgc2VhcmNoIGJ1dHRvbiBpcyBjbGlja2VkLlxuICAgKi9cbiAgb25TdWJtaXQ6ICh2YWx1ZTogVFZhbHVlKSA9PiB2b2lkO1xuICAvKipcbiAgICogSGFuZGxlciB3aGVuIHRoZSBjbGVhciBidXR0b24gaXMgY2xpY2tlZC5cbiAgICovXG4gIG9uUmVzZXQ/OiAoKSA9PiB2b2lkO1xuICAvKipcbiAgICogRm9jdXMgdGhlIGlucHV0IG9uIGluaXRpYWwgcmVuZGVyXG4gICAqL1xuICBpc0F1dG9mb2N1c3NlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgdGhhdCB0aGUgaW5wdXQgY2Fubm90IGJlIG1vZGlmaWVkIChlLmcgbm90IGF1dGhvcml6ZWQsIG9yIGNoYW5nZXMgY3VycmVudGx5IHNhdmluZykuXG4gICAqL1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyB0aGF0IHRoZSBmaWVsZCBpcyBkaXNwbGF5aW5nIHJlYWQtb25seSBjb250ZW50XG4gICAqL1xuICBpc1JlYWRPbmx5PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgaW5wdXQgaGFzIGludmFsaWQgdmFsdWVzXG4gICAqL1xuICBoYXNFcnJvcj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGlucHV0IGhhcyB3YXJuaW5nIHZhbHVlc1xuICAgKi9cbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBQbGFjZWhvbGRlciB0ZXh0IGZvciB0aGUgaW5wdXRcbiAgICovXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBpbnB1dCBzaG91bGQgYmUgY2xlYXJlZCB3aGVuIHRoZSBjbGVhciBidXR0b24gaXMgY2xpY2tlZC5cbiAgICogRGVmYXVsdHMgdG8gdHJ1ZS5cbiAgICpcbiAgICovXG4gIGlzQ2xlYXJhYmxlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFVzZSB0aGlzIHByb3BlcnR5IHRvIHJlZHVjZSB0aGUgcGFkZGluZ3Mgb2YgdGhlIGNvbXBvbmVudCBmb3IgYSB1aSBjb21wYWN0IHZhcmlhbnRcbiAgICovXG4gIGlzQ29uZGVuc2VkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEhvcml6b250YWwgc2l6ZSBsaW1pdCBvZiB0aGUgaW5wdXQgZmllbGRzLlxuICAgKi9cbiAgaG9yaXpvbnRhbENvbnN0cmFpbnQ/OiAxMCB8IDExIHwgMTIgfCAxMyB8IDE0IHwgMTUgfCAxNiB8ICdzY2FsZScgfCAnYXV0byc7XG4gIC8qKlxuICAgKiBBcnJheSBvZiBvcHRpb25zIHRoYXQgcG9wdWxhdGUgdGhlIHNlbGVjdCBtZW51XG4gICAqL1xuICBvcHRpb25zOiBUT3B0aW9ucztcbiAgLyoqXG4gICAqIHotaW5kZXggdmFsdWUgZm9yIHRoZSBtZW51IHBvcnRhbFxuICAgKiA8YnI+XG4gICAqIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIGBtZW51UG9ydGFsVGFyZ2V0YFxuICAgKi9cbiAgbWVudVBvcnRhbFpJbmRleD86IG51bWJlcjtcbiAgLyoqXG4gICAqIERvbSBlbGVtZW50IHRvIHBvcnRhbCB0aGUgc2VsZWN0IG1lbnUgdG9cbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIG1lbnVQb3J0YWxUYXJnZXQ/OiBSZWFjdFNlbGVjdFByb3BzWydtZW51UG9ydGFsVGFyZ2V0J107XG4gIC8qKlxuICAgKiB3aGV0aGVyIHRoZSBtZW51IHNob3VsZCBibG9jayBzY3JvbGwgd2hpbGUgb3BlblxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgbWVudVNob3VsZEJsb2NrU2Nyb2xsPzogUmVhY3RTZWxlY3RQcm9wc1snbWVudVNob3VsZEJsb2NrU2Nyb2xsJ107XG4gIC8qKlxuICAgKiBIYW5kbGUgY2hhbmdlIGV2ZW50cyBvbiB0aGUgbWVudSBpbnB1dFxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgb25NZW51SW5wdXRDaGFuZ2U/OiBSZWFjdFNlbGVjdFByb3BzWydvbklucHV0Q2hhbmdlJ107XG4gIC8qKlxuICAgKiBDYW4gYmUgdXNlZCB0byByZW5kZXIgYSBjdXN0b20gdmFsdWUgd2hlbiB0aGVyZSBhcmUgbm8gb3B0aW9ucyAoZWl0aGVyIGJlY2F1c2Ugb2Ygbm8gc2VhcmNoIHJlc3VsdHMsIG9yIGFsbCBvcHRpb25zIGhhdmUgYmVlbiB1c2VkLCBvciB0aGVyZSB3ZXJlIG5vbmUgaW4gdGhlIGZpcnN0IHBsYWNlKS4gR2V0cyBjYWxsZWQgd2l0aCB7IGlucHV0VmFsdWU6IFN0cmluZyB9LlxuICAgKiA8YnIgLz5cbiAgICogYGlucHV0VmFsdWVgIHdpbGwgYmUgYW4gZW1wdHkgc3RyaW5nIHdoZW4gbm8gc2VhcmNoIHRleHQgaXMgcHJlc2VudC5cbiAgICogPGJyPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIG5vTWVudU9wdGlvbnNNZXNzYWdlPzogUmVhY3RTZWxlY3RQcm9wc1snbm9PcHRpb25zTWVzc2FnZSddO1xuICAvKipcbiAgICogV2hldGhlciB0byBlbmFibGUgc2VhcmNoIGZ1bmN0aW9uYWxpdHkuXG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBpc01lbnVTZWFyY2hhYmxlPzogUmVhY3RTZWxlY3RQcm9wc1snaXNTZWFyY2hhYmxlJ107XG4gIC8qKlxuICAgKiBNYXhpbXVtIGhlaWdodCBvZiB0aGUgbWVudSBiZWZvcmUgc2Nyb2xsaW5nXG4gICAqIDxicj5cbiAgICogW1Byb3BzIGZyb20gUmVhY3Qgc2VsZWN0IHdhcyB1c2VkXShodHRwczovL3JlYWN0LXNlbGVjdC5jb20vcHJvcHMpXG4gICAqL1xuICBtYXhNZW51SGVpZ2h0PzogUmVhY3RTZWxlY3RQcm9wc1snbWF4TWVudUhlaWdodCddO1xuICAvKipcbiAgICogV2hldGhlciB0aGUgbWVudSBzaG91bGQgY2xvc2UgYWZ0ZXIgYSB2YWx1ZSBpcyBzZWxlY3RlZC4gRGVmYXVsdHMgdG8gYHRydWVgLlxuICAgKiA8YnI+XG4gICAqIFtQcm9wcyBmcm9tIFJlYWN0IHNlbGVjdCB3YXMgdXNlZF0oaHR0cHM6Ly9yZWFjdC1zZWxlY3QuY29tL3Byb3BzKVxuICAgKi9cbiAgY2xvc2VNZW51T25TZWxlY3Q/OiBSZWFjdFNlbGVjdFByb3BzWydjbG9zZU1lbnVPblNlbGVjdCddO1xuICAvKipcbiAgICogSG9yaXpvbnRhbCBzaXplIGxpbWl0IGZvciB0aGUgZHJvcGRvd24gbWVudS5cbiAgICovXG4gIG1lbnVIb3Jpem9udGFsQ29uc3RyYWludD86IDMgfCA0IHwgNTtcbiAgLyoqXG4gICAqIFNob3cgc3VibWl0IGJ1dHRvbiBpbiB0aGUgaW5wdXRcbiAgICovXG4gIHNob3dTdWJtaXRCdXR0b24/OiBib29sZWFuO1xuICAvKipcbiAgICogIHVzZWQgdG8gcGFzcyBkYXRhLSogcHJvcHMgdG8gdGhlIHNlbGVjdCBjb21wb25lbnQuXG4gICAqIGVnOiBzZWxlY3REYXRhUHJvcHM9e1t7ICdwcm9wLTEnOiAndmFsdWUtMScgfSwgeyAncHJvcC0yJzogJ3ZhbHVlLTInIH1dfVxuICAgKi9cbiAgc2VsZWN0RGF0YVByb3BzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgLyoqXG4gICAqICB1c2VkIHRvIHBhc3MgZGF0YS0qIHByb3BzIHRvIHRoZSBpbnB1dCBlbGVtZW50LlxuICAgKiBlZzogaW5wdXREYXRhUHJvcHM9e1t7ICdwcm9wLTEnOiAndmFsdWUtMScgfSwgeyAncHJvcC0yJzogJ3ZhbHVlLTInIH1dfVxuICAgKi9cbiAgaW5wdXREYXRhUHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAvKipcbiAgICogTWFwIG9mIGNvbXBvbmVudHMgdG8gb3ZlcndyaXRlIHRoZSBkZWZhdWx0IG9uZXMsIHNlZSB3aGF0IGNvbXBvbmVudHMgeW91IGNhbiBvdmVycmlkZVxuICAgKiA8YnIvPlxuICAgKiBbUHJvcHMgZnJvbSBSZWFjdCBzZWxlY3Qgd2FzIHVzZWRdKGh0dHBzOi8vcmVhY3Qtc2VsZWN0LmNvbS9wcm9wcylcbiAgICovXG4gIHNlbGVjdEN1c3RvbUNvbXBvbmVudHM/OiBSZWFjdFNlbGVjdFByb3BzWydjb21wb25lbnRzJ107XG5cbiAgLyoqXG4gICAqIEN1c3RvbSBhY3Rpb24gaWNvbiB0byBiZSBkaXNwbGF5ZWQgb24gdGhlIHJpZ2h0IHNpZGUgb2YgdGhlIGlucHV0LlxuICAgKi9cbiAgcmlnaHRBY3Rpb25JY29uPzogUmVhY3RFbGVtZW50O1xuICAvKipcbiAgICogUHJvcHMgZm9yIHRoZSByaWdodC1hY3Rpb24gaWNvbi1idXR0b24uIFJlcXVpcmVkIHdoZW4gcmlnaHRBY3Rpb25JY29uIGlzIHByb3ZpZGVkLlxuICAgKiBBdCBsZWFzdCBhIGBsYWJlbGAgYW5kIGFuIGBvbkNsaWNrYCBwcm9wL2Z1bmN0aW9uIG5lZWQgdG8gYmUgcHJvdmlkZWQuXG4gICAqL1xuICByaWdodEFjdGlvblByb3BzPzogVEljb25CdXR0b25Qcm9wcztcbn07XG5cbmNvbnN0IHNlbGVjdGFibGVTZWFyY2hJbnB1dFNlcXVlbnRpYWxJZCA9IGNyZWF0ZVNlcXVlbnRpYWxJZChcbiAgJ3NlbGVjdGFibGUtc2VhcmNoLWlucHV0LSdcbik7XG5cbmNvbnN0IGlzT3B0aW9uT2JqZWN0ID0gKFxuICBvcHRpb246IFRPcHRpb24gfCBUT3B0aW9uT2JqZWN0XG4pOiBvcHRpb24gaXMgVE9wdGlvbk9iamVjdCA9PiAob3B0aW9uIGFzIFRPcHRpb25PYmplY3QpLm9wdGlvbnMgIT09IHVuZGVmaW5lZDtcblxuY29uc3QgdHJhbnNmb3JtRGF0YVByb3BzID0gKGRhdGFQcm9wcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pID0+XG4gIE9iamVjdC5mcm9tRW50cmllcyhcbiAgICBPYmplY3QuZW50cmllcyhkYXRhUHJvcHMgfHwge30pLm1hcCgoW2tleSwgdmFsdWVdKSA9PiBbXG4gICAgICBgZGF0YS0ke2tleX1gLFxuICAgICAgdmFsdWUsXG4gICAgXSlcbiAgKTtcblxuY29uc3QgU2VsZWN0YWJsZVNlYXJjaElucHV0ID0gKHtcbiAgaG9yaXpvbnRhbENvbnN0cmFpbnQgPSAnc2NhbGUnLFxuICBpc0NsZWFyYWJsZSA9IHRydWUsXG4gIG1lbnVIb3Jpem9udGFsQ29uc3RyYWludCA9IDMsXG4gIHNob3dTdWJtaXRCdXR0b24gPSB0cnVlLFxuICBtZW51UG9ydGFsWkluZGV4ID0gMSxcbiAgb25DaGFuZ2UsXG4gIC4uLnByb3BzXG59OiBUU2VsZWN0YWJsZVNlYXJjaElucHV0UHJvcHMpID0+IHtcbiAgY29uc3QgW2Ryb3Bkb3duSGFzRm9jdXMsIHRvZ2dsZURyb3Bkb3duSGFzRm9jdXNdID0gdXNlVG9nZ2xlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbc2VhcmNoVmFsdWUsIHNldFNlYXJjaFZhbHVlXSA9IHVzZVN0YXRlKHByb3BzLnZhbHVlLnRleHQgfHwgJycpO1xuICBjb25zdCBbc2VhcmNoT3B0aW9uLCBzZXRTZWFyY2hPcHRpb25dID0gdXNlU3RhdGUocHJvcHMudmFsdWUub3B0aW9uIHx8ICcnKTtcbiAgY29uc3QgY29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IHRleHRJbnB1dFJlZiA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKTtcblxuICBjb25zdCBhbGxQcm9wcyA9IHtcbiAgICBob3Jpem9udGFsQ29uc3RyYWludCxcbiAgICBpc0NsZWFyYWJsZSxcbiAgICBtZW51SG9yaXpvbnRhbENvbnN0cmFpbnQsXG4gICAgc2hvd1N1Ym1pdEJ1dHRvbixcbiAgICBtZW51UG9ydGFsWkluZGV4LFxuICAgIG9uQ2hhbmdlLFxuICAgIC4uLnByb3BzLFxuICB9O1xuICBjb25zdCBsZWdhY3lEYXRhUHJvcHMgPSBmaWx0ZXJEYXRhQXR0cmlidXRlcyhwcm9wcyk7XG4gIGNvbnN0IHRyYW5zZm9ybWVkU2VsZWN0RGF0YVByb3BzID0gdHJhbnNmb3JtRGF0YVByb3BzKHByb3BzLnNlbGVjdERhdGFQcm9wcyk7XG4gIGNvbnN0IHRyYW5zZm9ybWVkSW5wdXREYXRhUHJvcHMgPSB0cmFuc2Zvcm1EYXRhUHJvcHMocHJvcHMuaW5wdXREYXRhUHJvcHMpO1xuICBjb25zdCBzZWFyY2hJbnB1dFZhbHVlID0gcHJvcHMuX2V4cGVyaW1lbnRhbFZhbHVlPy50ZXh0ID8/IHNlYXJjaFZhbHVlO1xuICBjb25zdCBzZWFyY2hJbnB1dE9wdGlvbiA9IHByb3BzLl9leHBlcmltZW50YWxWYWx1ZT8ub3B0aW9uID8/IHNlYXJjaE9wdGlvbjtcblxuICBjb25zdCBvcHRpb25zV2l0aG91dEdyb3VwcyA9IHByb3BzLm9wdGlvbnMuZmxhdE1hcCgob3B0aW9uKSA9PiB7XG4gICAgaWYgKGlzT3B0aW9uT2JqZWN0KG9wdGlvbikpIHtcbiAgICAgIHJldHVybiBvcHRpb24ub3B0aW9ucztcbiAgICB9XG4gICAgcmV0dXJuIG9wdGlvbjtcbiAgfSk7XG5cbiAgY29uc3Qgc2VsZWN0ZWRPcHRpb24gPSBvcHRpb25zV2l0aG91dEdyb3Vwcy5maW5kKFxuICAgIChvcHRpb24pID0+IG9wdGlvbi52YWx1ZSA9PT0gc2VhcmNoSW5wdXRPcHRpb25cbiAgKTtcblxuICBpZiAocHJvcHMucmlnaHRBY3Rpb25JY29uICYmICFwcm9wcy5yaWdodEFjdGlvblByb3BzKSB7XG4gICAgd2FybmluZyhcbiAgICAgIGZhbHNlLFxuICAgICAgJ1NlbGVjdGFibGVTZWFyY2hJbnB1dDogYHJpZ2h0QWN0aW9uSWNvbmAgaXMgcHJvdmlkZWQgYnV0IGByaWdodEFjdGlvblByb3BzYCBpcyBtaXNzaW5nLiBQcm92aWRlIGFuIG9iamVjdCB3aXRoIGEgYGxhYmVsYCBhbmQgYG9uQ2xpY2tgIHByb3BlcnR5LidcbiAgICApO1xuICB9XG4gIGNvbnN0IHNlbGVjdGFibFNlYXJjaElucHV0SWQgPSB1c2VGaWVsZElkKFxuICAgIHByb3BzLmlkLFxuICAgIHNlbGVjdGFibGVTZWFyY2hJbnB1dFNlcXVlbnRpYWxJZFxuICApO1xuXG4gIGlmICghcHJvcHMuaXNSZWFkT25seSkge1xuICAgIHdhcm5pbmcoXG4gICAgICB0eXBlb2Ygb25DaGFuZ2UgPT09ICdmdW5jdGlvbicsXG4gICAgICAnU2VsZWN0YWJsZVNlYXJjaElucHV0OiBgb25DaGFuZ2VgIGlzIHJlcXVpcmVkIHdoZW4gaXMgbm90IHJlYWQgb25seS4nXG4gICAgKTtcbiAgfVxuXG4gIHdhcm5JZk1lbnVQb3J0YWxQcm9wc0FyZU1pc3Npbmcoe1xuICAgIG1lbnVQb3J0YWxaSW5kZXg6IG1lbnVQb3J0YWxaSW5kZXgsXG4gICAgbWVudVBvcnRhbFRhcmdldDogcHJvcHMubWVudVBvcnRhbFRhcmdldCxcbiAgICBjb21wb25lbnROYW1lOiAnU2VsZWN0YWJsZVNlYXJjaElucHV0JyxcbiAgfSk7XG5cbiAgY29uc3QgeyBvbkZvY3VzLCBvbkJsdXIsIG5hbWUgfSA9IHByb3BzO1xuICBjb25zdCBoYW5kbGVUZXh0SW5wdXRGb2N1cyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAob25Gb2N1cykge1xuICAgICAgb25Gb2N1cyh7XG4gICAgICAgIHRhcmdldDoge1xuICAgICAgICAgIGlkOiBTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0VGV4dElucHV0SWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCksXG4gICAgICAgICAgbmFtZTogZ2V0VGV4dElucHV0TmFtZShuYW1lKSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgW29uRm9jdXMsIHNlbGVjdGFibFNlYXJjaElucHV0SWQsIG5hbWVdKTtcblxuICBjb25zdCBoYW5kbGVUZXh0SW5wdXRCbHVyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChvbkJsdXIpIHtcbiAgICAgIG9uQmx1cih7XG4gICAgICAgIHRhcmdldDoge1xuICAgICAgICAgIGlkOiBTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0VGV4dElucHV0SWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCksXG4gICAgICAgICAgbmFtZTogZ2V0VGV4dElucHV0TmFtZShuYW1lKSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgW29uQmx1ciwgc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCwgbmFtZV0pO1xuXG4gIGNvbnN0IGhhbmRsZUNsZWFyID0gKCkgPT4ge1xuICAgIHNldFNlYXJjaFZhbHVlKCcnKTtcbiAgICBpZiAocHJvcHMub25SZXNldCkge1xuICAgICAgcHJvcHMub25SZXNldCgpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVUZXh0SW5wdXRDaGFuZ2UgPSAoZXZlbnQ6IENoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgc2V0U2VhcmNoVmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICBpZiAob25DaGFuZ2UpIHtcbiAgICAgIG9uQ2hhbmdlKHtcbiAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgaWQ6IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXRUZXh0SW5wdXRJZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKSxcbiAgICAgICAgICBuYW1lOiBnZXRUZXh0SW5wdXROYW1lKHByb3BzLm5hbWUpLFxuICAgICAgICAgIHZhbHVlOiBldmVudC50YXJnZXQudmFsdWUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlU3VibWl0ID0gKFxuICAgIGV2ZW50OlxuICAgICAgfCBLZXlib2FyZEV2ZW50PEhUTUxCdXR0b25FbGVtZW50PlxuICAgICAgfCBNb3VzZUV2ZW50PEhUTUxCdXR0b25FbGVtZW50PlxuICAgICAgfCBLZXlib2FyZEV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+XG4gICkgPT4ge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKHByb3BzLm9uU3VibWl0KSB7XG4gICAgICBwcm9wcy5vblN1Ym1pdCh7XG4gICAgICAgIHRleHQ6IHNlYXJjaElucHV0VmFsdWUsXG4gICAgICAgIG9wdGlvbjogc2VsZWN0ZWRPcHRpb24/LnZhbHVlID8/ICcnLFxuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGRyb3Bkb3duTmFtZSA9IGdldERyb3Bkb3duTmFtZShwcm9wcy5uYW1lKTtcbiAgY29uc3QgZHJvcGRvd25JZCA9IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXREcm9wZG93bklkKFxuICAgIHNlbGVjdGFibFNlYXJjaElucHV0SWRcbiAgKTtcblxuICBjb25zdCBoYW5kbGVEcm9wZG93bkZvY3VzID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChvbkZvY3VzKSB7XG4gICAgICBvbkZvY3VzKHtcbiAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgaWQ6IGRyb3Bkb3duSWQsXG4gICAgICAgICAgbmFtZTogZHJvcGRvd25OYW1lLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICAgIHRvZ2dsZURyb3Bkb3duSGFzRm9jdXModHJ1ZSk7XG4gIH0sIFtvbkZvY3VzLCB0b2dnbGVEcm9wZG93bkhhc0ZvY3VzLCBkcm9wZG93bk5hbWUsIGRyb3Bkb3duSWRdKTtcblxuICBjb25zdCBoYW5kbGVEcm9wZG93bkJsdXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKG9uQmx1cikge1xuICAgICAgb25CbHVyKHtcbiAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgaWQ6IGRyb3Bkb3duSWQsXG4gICAgICAgICAgbmFtZTogZHJvcGRvd25OYW1lLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICAgIHRvZ2dsZURyb3Bkb3duSGFzRm9jdXMoZmFsc2UpO1xuICB9LCBbdG9nZ2xlRHJvcGRvd25IYXNGb2N1cywgb25CbHVyLCBkcm9wZG93bk5hbWUsIGRyb3Bkb3duSWRdKTtcblxuICBjb25zdCBoYW5kbGVDb250YWluZXJCbHVyID0gdXNlQ2FsbGJhY2soXG4gICAgKGV2ZW50OiBGb2N1c0V2ZW50KSA9PiB7XG4gICAgICAvLyBlbnN1cmVzIHRoYXQgYm90aCBmaWVsZHMgYXJlIG1hcmtlZCBhcyB0b3VjaGVkIHdoZW4gb25lIG9mIHRoZW1cbiAgICAgIC8vIGlzIGJsdXJyZWRcbiAgICAgIGlmIChcbiAgICAgICAgdHlwZW9mIG9uQmx1ciA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgICAgICAhY29udGFpbmVyUmVmLmN1cnJlbnQ/LmNvbnRhaW5zKGV2ZW50LnJlbGF0ZWRUYXJnZXQpXG4gICAgICApIHtcbiAgICAgICAgb25CbHVyKHtcbiAgICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICAgIGlkOiBTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0RHJvcGRvd25JZChzZWxlY3RhYmxTZWFyY2hJbnB1dElkKSxcbiAgICAgICAgICAgIG5hbWU6IGdldERyb3Bkb3duTmFtZShuYW1lKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgICAgb25CbHVyKHtcbiAgICAgICAgICB0YXJnZXQ6IHtcbiAgICAgICAgICAgIGlkOiBTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0VGV4dElucHV0SWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCksXG4gICAgICAgICAgICBuYW1lOiBnZXRUZXh0SW5wdXROYW1lKG5hbWUpLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0sXG4gICAgW29uQmx1ciwgc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCwgbmFtZV1cbiAgKTtcblxuICBjb25zdCBoYW5kbGVEcm9wZG93bkNoYW5nZSA9IHVzZUNhbGxiYWNrKFxuICAgIChuZXh0U2VsZWN0ZWRPcHRpb25zOiB7IHZhbHVlOiBzdHJpbmcgfSAmIFJlY29yZDxzdHJpbmcsIHVua25vd24+KSA9PiB7XG4gICAgICBzZXRTZWFyY2hPcHRpb24obmV4dFNlbGVjdGVkT3B0aW9ucy52YWx1ZSk7XG4gICAgICBpZiAob25DaGFuZ2UpIHtcbiAgICAgICAgb25DaGFuZ2Uoe1xuICAgICAgICAgIHRhcmdldDoge1xuICAgICAgICAgICAgaWQ6IFNlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXREcm9wZG93bklkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpLFxuICAgICAgICAgICAgbmFtZTogZ2V0RHJvcGRvd25OYW1lKG5hbWUpLFxuICAgICAgICAgICAgdmFsdWU6IG5leHRTZWxlY3RlZE9wdGlvbnMudmFsdWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICB0ZXh0SW5wdXRSZWYuY3VycmVudD8uZm9jdXMoKTtcbiAgICB9LFxuICAgIFtvbkNoYW5nZSwgc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCwgbmFtZV1cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxDb25zdHJhaW50cy5Ib3Jpem9udGFsIG1heD17aG9yaXpvbnRhbENvbnN0cmFpbnR9PlxuICAgICAgPENvbnRhaW5lclxuICAgICAgICByZWY9e2NvbnRhaW5lclJlZn1cbiAgICAgICAgb25CbHVyPXtoYW5kbGVDb250YWluZXJCbHVyfVxuICAgICAgICBkYXRhLXRlc3RpZD1cInNlbGVjdGFibGUtc2VhcmNoLWlucHV0LWNvbnRhaW5lclwiXG4gICAgICA+XG4gICAgICAgIDxDb25zdHJhaW50cy5Ib3Jpem9udGFsIG1heD17bWVudUhvcml6b250YWxDb25zdHJhaW50fT5cbiAgICAgICAgICA8U2VsZWN0YWJsZVNlbGVjdFxuICAgICAgICAgICAgey4uLmFsbFByb3BzfVxuICAgICAgICAgICAgaWQ9e1NlbGVjdGFibGVTZWFyY2hJbnB1dC5nZXREcm9wZG93bklkKHNlbGVjdGFibFNlYXJjaElucHV0SWQpfVxuICAgICAgICAgICAgbmFtZT17Z2V0RHJvcGRvd25OYW1lKHByb3BzLm5hbWUpfVxuICAgICAgICAgICAgZHJvcGRvd25IYXNGb2N1cz17ZHJvcGRvd25IYXNGb2N1c31cbiAgICAgICAgICAgIGlzQ29uZGVuc2VkPXtwcm9wcy5pc0NvbmRlbnNlZCA/PyBmYWxzZX1cbiAgICAgICAgICAgIGhhbmRsZURyb3Bkb3duRm9jdXM9e2hhbmRsZURyb3Bkb3duRm9jdXN9XG4gICAgICAgICAgICBoYW5kbGVEcm9wZG93bkJsdXI9e2hhbmRsZURyb3Bkb3duQmx1cn1cbiAgICAgICAgICAgIGhhbmRsZURyb3Bkb3duQ2hhbmdlPXtcbiAgICAgICAgICAgICAgaGFuZGxlRHJvcGRvd25DaGFuZ2UgYXMgUmVhY3RTZWxlY3RQcm9wc1snb25DaGFuZ2UnXVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGV4dElucHV0UmVmPXt0ZXh0SW5wdXRSZWZ9XG4gICAgICAgICAgICBzZWxlY3RlZE9wdGlvbj17c2VsZWN0ZWRPcHRpb259XG4gICAgICAgICAgICBkYXRhUHJvcHM9e3RyYW5zZm9ybWVkU2VsZWN0RGF0YVByb3BzfVxuICAgICAgICAgICAgc2VsZWN0Q3VzdG9tQ29tcG9uZW50cz17cHJvcHMuc2VsZWN0Q3VzdG9tQ29tcG9uZW50c31cbiAgICAgICAgICAvPlxuICAgICAgICA8L0NvbnN0cmFpbnRzLkhvcml6b250YWw+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjc3M9e1tcbiAgICAgICAgICAgIGdldFNlbGVjdGFibGVTZWFyY2hJbnB1dENvbnRhaW5lclN0eWxlcyhhbGxQcm9wcyksXG4gICAgICAgICAgICBkcm9wZG93bkhhc0ZvY3VzICYmXG4gICAgICAgICAgICAgICFwcm9wcy5pc1JlYWRPbmx5ICYmXG4gICAgICAgICAgICAgIGNzc2BcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHtkZXNpZ25Ub2tlbnMuYm9yZGVyQ29sb3JGb3JJbnB1dFdoZW5Gb2N1c2VkfTtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAke2Rlc2lnblRva2Vucy5ib3JkZXJDb2xvckZvcklucHV0V2hlbkZvY3VzZWR9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgYCxcbiAgICAgICAgICBdfVxuICAgICAgICA+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICByZWY9e3RleHRJbnB1dFJlZn1cbiAgICAgICAgICAgIGlkPXtTZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0VGV4dElucHV0SWQoc2VsZWN0YWJsU2VhcmNoSW5wdXRJZCl9XG4gICAgICAgICAgICBuYW1lPXtnZXRUZXh0SW5wdXROYW1lKHByb3BzLm5hbWUpfVxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgdmFsdWU9e3NlYXJjaElucHV0VmFsdWV9XG4gICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlVGV4dElucHV0Q2hhbmdlfVxuICAgICAgICAgICAgb25CbHVyPXtoYW5kbGVUZXh0SW5wdXRCbHVyfVxuICAgICAgICAgICAgb25Gb2N1cz17aGFuZGxlVGV4dElucHV0Rm9jdXN9XG4gICAgICAgICAgICBkaXNhYmxlZD17cHJvcHMuaXNEaXNhYmxlZH1cbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtwcm9wcy5wbGFjZWhvbGRlcn1cbiAgICAgICAgICAgIHJlYWRPbmx5PXtwcm9wcy5pc1JlYWRPbmx5fVxuICAgICAgICAgICAgYXV0b0ZvY3VzPXtwcm9wcy5pc0F1dG9mb2N1c3NlZH1cbiAgICAgICAgICAgIGF1dG9Db21wbGV0ZT17cHJvcHMuYXV0b0NvbXBsZXRlfVxuICAgICAgICAgICAgYXJpYS1yZWFkb25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgIGNvbnRlbnRFZGl0YWJsZT17IXByb3BzLmlzUmVhZE9ubHl9XG4gICAgICAgICAgICBjc3M9e2dldFNlbGVjdGFibGVTZWFyY2hJbnB1dFN0eWxlcyhhbGxQcm9wcyl9XG4gICAgICAgICAgICB7Li4udHJhbnNmb3JtZWRJbnB1dERhdGFQcm9wc31cbiAgICAgICAgICAgIHsuLi5sZWdhY3lEYXRhUHJvcHN9XG4gICAgICAgICAgICAvKiBBUklBICovXG4gICAgICAgICAgICBhcmlhLWludmFsaWQ9e3Byb3BzWydhcmlhLWludmFsaWQnXX1cbiAgICAgICAgICAgIGFyaWEtZXJyb3JtZXNzYWdlPXtwcm9wc1snYXJpYS1lcnJvcm1lc3NhZ2UnXX1cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwic2VsZWN0YWJsZS1pbnB1dFwiXG4gICAgICAgICAgICBvbktleURvd249eyhldmVudCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoIXByb3BzLmlzUmVhZE9ubHkgJiYgZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICAgICAgICAgICAgaGFuZGxlU3VibWl0KGV2ZW50KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHtpc0NsZWFyYWJsZSAmJlxuICAgICAgICAgICAgc2VhcmNoSW5wdXRWYWx1ZSAmJlxuICAgICAgICAgICAgIXByb3BzLmlzRGlzYWJsZWQgJiZcbiAgICAgICAgICAgICFwcm9wcy5pc1JlYWRPbmx5ICYmIChcbiAgICAgICAgICAgICAgPFNlY29uZGFyeUljb25CdXR0b25cbiAgICAgICAgICAgICAgICBpY29uPXs8Q2xvc2VJY29uIC8+fVxuICAgICAgICAgICAgICAgIHNpemU9e3Byb3BzLmlzQ29uZGVuc2VkID8gJzEwJyA6ICcyMCd9XG4gICAgICAgICAgICAgICAgbGFiZWw9eydjbGVhci1idXR0b24nfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZUNsZWFyfVxuICAgICAgICAgICAgICAgIGNzcz17Z2V0Q2xlYXJJY29uQnV0dG9uU3R5bGVzKGFsbFByb3BzKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAge3Nob3dTdWJtaXRCdXR0b24gJiYgKFxuICAgICAgICAgICAgPFNlY29uZGFyeUljb25CdXR0b25cbiAgICAgICAgICAgICAgaWNvbj17PFNlYXJjaEljb24gLz59XG4gICAgICAgICAgICAgIHNpemU9e3Byb3BzLmlzQ29uZGVuc2VkID8gJzIwJyA6ICc0MCd9XG4gICAgICAgICAgICAgIGxhYmVsPXsnc2VhcmNoLWJ1dHRvbid9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVN1Ym1pdH1cbiAgICAgICAgICAgICAgY3NzPXtnZXRTZWFyY2hJY29uQnV0dG9uU3R5bGVzKGFsbFByb3BzKX1cbiAgICAgICAgICAgICAgaXNEaXNhYmxlZD17cHJvcHMuaXNEaXNhYmxlZH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cblxuICAgICAgICAgIHtwcm9wcy5yaWdodEFjdGlvbkljb24gJiYgcHJvcHMucmlnaHRBY3Rpb25Qcm9wcyAmJiAoXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgIG9yZGVyOiA0O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAke2Rlc2lnblRva2Vucy5zcGFjaW5nMzB9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8SWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgIHRoZW1lPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgaXNEaXNhYmxlZD17cHJvcHMuaXNEaXNhYmxlZCB8fCBwcm9wcy5pc1JlYWRPbmx5fVxuICAgICAgICAgICAgICAgIHNpemU9e3Byb3BzLmlzQ29uZGVuc2VkID8gJzEwJyA6ICcyMCd9XG4gICAgICAgICAgICAgICAgaWNvbj17cHJvcHMucmlnaHRBY3Rpb25JY29ufVxuICAgICAgICAgICAgICAgIHsuLi5wcm9wcy5yaWdodEFjdGlvblByb3BzfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L0NvbnRhaW5lcj5cbiAgICA8L0NvbnN0cmFpbnRzLkhvcml6b250YWw+XG4gICk7XG59O1xuXG5TZWxlY3RhYmxlU2VhcmNoSW5wdXQuZGlzcGxheU5hbWUgPSAnU2VsZWN0YWJsZVNlYXJjaElucHV0JztcblNlbGVjdGFibGVTZWFyY2hJbnB1dC5pc0VtcHR5ID0gKFxuICBmb3JtVmFsdWU6IFRTZWxlY3RhYmxlU2VhcmNoSW5wdXRQcm9wc1sndmFsdWUnXVxuKSA9PiAhZm9ybVZhbHVlIHx8IGZvcm1WYWx1ZS50ZXh0LnRyaW0oKSA9PT0gJyc7XG5TZWxlY3RhYmxlU2VhcmNoSW5wdXQuZ2V0VGV4dElucHV0SWQgPSBnZXRUZXh0SW5wdXROYW1lO1xuU2VsZWN0YWJsZVNlYXJjaElucHV0LmdldERyb3Bkb3duSWQgPSBnZXREcm9wZG93bk5hbWU7XG5cbmV4cG9ydCBkZWZhdWx0IFNlbGVjdGFibGVTZWFyY2hJbnB1dDtcbiJdfQ== */"),
|
|
529
515
|
children: jsxRuntime.jsx(IconButton__default["default"], _objectSpread({
|
|
530
516
|
theme: "primary",
|
|
531
517
|
isDisabled: props.isDisabled || props.isReadOnly,
|
|
@@ -537,47 +523,6 @@ const SelectableSearchInput = _ref3 => {
|
|
|
537
523
|
})
|
|
538
524
|
});
|
|
539
525
|
};
|
|
540
|
-
SelectableSearchInput.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
541
|
-
id: _pt__default["default"].string,
|
|
542
|
-
autoComplete: _pt__default["default"].string,
|
|
543
|
-
'aria-invalid': _pt__default["default"].bool,
|
|
544
|
-
'aria-errormessage': _pt__default["default"].string,
|
|
545
|
-
name: _pt__default["default"].string,
|
|
546
|
-
value: _pt__default["default"].shape({
|
|
547
|
-
text: _pt__default["default"].string.isRequired,
|
|
548
|
-
option: _pt__default["default"].string.isRequired
|
|
549
|
-
}).isRequired,
|
|
550
|
-
_experimentalValue: _pt__default["default"].shape({
|
|
551
|
-
text: _pt__default["default"].string.isRequired,
|
|
552
|
-
option: _pt__default["default"].string.isRequired
|
|
553
|
-
}),
|
|
554
|
-
onChange: _pt__default["default"].func,
|
|
555
|
-
onBlur: _pt__default["default"].func,
|
|
556
|
-
onFocus: _pt__default["default"].func,
|
|
557
|
-
onSubmit: _pt__default["default"].func.isRequired,
|
|
558
|
-
onReset: _pt__default["default"].func,
|
|
559
|
-
isAutofocussed: _pt__default["default"].bool,
|
|
560
|
-
isDisabled: _pt__default["default"].bool,
|
|
561
|
-
isReadOnly: _pt__default["default"].bool,
|
|
562
|
-
hasError: _pt__default["default"].bool,
|
|
563
|
-
hasWarning: _pt__default["default"].bool,
|
|
564
|
-
placeholder: _pt__default["default"].string,
|
|
565
|
-
isClearable: _pt__default["default"].bool,
|
|
566
|
-
isCondensed: _pt__default["default"].bool,
|
|
567
|
-
horizontalConstraint: _pt__default["default"].oneOf([10, 11, 12, 13, 14, 15, 16, 'scale', 'auto']),
|
|
568
|
-
options: _pt__default["default"].oneOfType([_pt__default["default"].arrayOf(_pt__default["default"].shape({
|
|
569
|
-
value: _pt__default["default"].string.isRequired,
|
|
570
|
-
label: _pt__default["default"].node
|
|
571
|
-
})), _pt__default["default"].arrayOf(_pt__default["default"].shape({
|
|
572
|
-
options: _pt__default["default"].arrayOf(_pt__default["default"].shape({
|
|
573
|
-
value: _pt__default["default"].string.isRequired,
|
|
574
|
-
label: _pt__default["default"].node
|
|
575
|
-
})).isRequired
|
|
576
|
-
}))]).isRequired,
|
|
577
|
-
menuPortalZIndex: _pt__default["default"].number,
|
|
578
|
-
menuHorizontalConstraint: _pt__default["default"].oneOf([3, 4, 5]),
|
|
579
|
-
showSubmitButton: _pt__default["default"].bool
|
|
580
|
-
} : {};
|
|
581
526
|
SelectableSearchInput.displayName = 'SelectableSearchInput';
|
|
582
527
|
SelectableSearchInput.isEmpty = formValue => {
|
|
583
528
|
var _context3;
|
|
@@ -588,7 +533,7 @@ SelectableSearchInput.getDropdownId = getDropdownName;
|
|
|
588
533
|
var SelectableSearchInput$1 = SelectableSearchInput;
|
|
589
534
|
|
|
590
535
|
// NOTE: This string will be replaced on build time with the package version.
|
|
591
|
-
var version = "
|
|
536
|
+
var version = "20.0.0";
|
|
592
537
|
|
|
593
538
|
exports["default"] = SelectableSearchInput$1;
|
|
594
539
|
exports.version = version;
|