@commercetools-uikit/localized-rich-text-input 14.0.6 → 15.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.
@@ -7,18 +7,17 @@ import _Object$defineProperties from '@babel/runtime-corejs3/core-js-stable/obje
7
7
  import _Object$defineProperty from '@babel/runtime-corejs3/core-js-stable/object/define-property';
8
8
  import _slicedToArray from '@babel/runtime-corejs3/helpers/esm/slicedToArray';
9
9
  import _defineProperty from '@babel/runtime-corejs3/helpers/esm/defineProperty';
10
- import _pt from 'prop-types';
11
10
  import _reduceInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/reduce';
12
11
  import _Object$keys from '@babel/runtime-corejs3/core-js-stable/object/keys';
13
12
  import _mapInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/map';
14
- import { cloneElement, useRef, useState, useCallback, useEffect, PureComponent, useReducer } from 'react';
15
- import { css, useTheme } from '@emotion/react';
13
+ import { forwardRef, useRef, useMemo, useState, useCallback, useEffect, useImperativeHandle, PureComponent, useReducer } from 'react';
14
+ import { css, useTheme, createElement } from '@emotion/react';
16
15
  import Stack from '@commercetools-uikit/spacings-stack';
17
16
  import Constraints from '@commercetools-uikit/constraints';
18
- import { usePrevious, useToggleState } from '@commercetools-uikit/hooks';
17
+ import { useToggleState } from '@commercetools-uikit/hooks';
19
18
  import { sortLanguages, getHasErrorOnRemainingLanguages, getHasWarningOnRemainingLanguages, createLocalizedDataAttributes, getId, getName, isTouched } from '@commercetools-uikit/localized-utils';
20
19
  import { messagesMultilineInput, messagesLocalizedInput, LocalizedInputToggle } from '@commercetools-uikit/input-utils';
21
- import { HiddenInput, RichTextBody, html, richTextPlugins, localized } from '@commercetools-uikit/rich-text-utils';
20
+ import { resetEditor, RichTextBody, focusEditor, toggleMark, HiddenInput, Element, Leaf, validSlateStateAdapter, html, localized } from '@commercetools-uikit/rich-text-utils';
22
21
  import { warning, filterDataAttributes } from '@commercetools-uikit/utils';
23
22
  import _Reflect$construct from '@babel/runtime-corejs3/core-js-stable/reflect/construct';
24
23
  import _classCallCheck from '@babel/runtime-corejs3/helpers/esm/classCallCheck';
@@ -26,10 +25,8 @@ import _createClass from '@babel/runtime-corejs3/helpers/esm/createClass';
26
25
  import _inherits from '@babel/runtime-corejs3/helpers/esm/inherits';
27
26
  import _possibleConstructorReturn from '@babel/runtime-corejs3/helpers/esm/possibleConstructorReturn';
28
27
  import _getPrototypeOf from '@babel/runtime-corejs3/helpers/esm/getPrototypeOf';
28
+ import _pt from 'prop-types';
29
29
  import _concatInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/concat';
30
- import _setTimeout from '@babel/runtime-corejs3/core-js-stable/set-timeout';
31
- import pick from 'lodash/pick';
32
- import { Editor as Editor$2 } from 'slate-react';
33
30
  import _styled from '@emotion/styled/base';
34
31
  import { useIntl, FormattedMessage } from 'react-intl';
35
32
  import { customProperties, designTokens } from '@commercetools-uikit/design-system';
@@ -37,7 +34,12 @@ import CollapsibleMotion from '@commercetools-uikit/collapsible-motion';
37
34
  import { AngleUpIcon, AngleDownIcon } from '@commercetools-uikit/icons';
38
35
  import Text from '@commercetools-uikit/text';
39
36
  import FlatButton from '@commercetools-uikit/flat-button';
40
- import { jsxs, jsx } from '@emotion/react/jsx-runtime';
37
+ import { withReact, Slate, Editable, ReactEditor } from 'slate-react';
38
+ import { createEditor } from 'slate';
39
+ import { withHistory } from 'slate-history';
40
+ import isHotkey from 'is-hotkey';
41
+ import pipe from 'lodash/fp/pipe';
42
+ import { jsx, jsxs } from '@emotion/react/jsx-runtime';
41
43
  import { ErrorMessage } from '@commercetools-uikit/messages';
42
44
 
43
45
  function ownKeys$4(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
@@ -86,6 +88,12 @@ function ownKeys$3(object, enumerableOnly) { var keys = _Object$keys(object); if
86
88
  function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys$3(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys$3(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
87
89
 
88
90
  function _EMOTION_STRINGIFIED_CSS_ERROR__$1() { 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)."; }
91
+ var HOTKEYS = {
92
+ 'mod+b': 'bold',
93
+ 'mod+i': 'italic',
94
+ 'mod+u': 'underline',
95
+ 'mod+`': 'code'
96
+ };
89
97
  var COLLAPSED_HEIGHT = 32;
90
98
 
91
99
  var LeftColumn = _styled("div", process.env.NODE_ENV === "production" ? {
@@ -99,7 +107,7 @@ var LeftColumn = _styled("div", process.env.NODE_ENV === "production" ? {
99
107
  } : {
100
108
  name: "147rp59",
101
109
  styles: "flex:1;display:flex;align-items:flex-start",
102
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImVkaXRvci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0M2QiIsImZpbGUiOiJlZGl0b3IudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgY2xvbmVFbGVtZW50LFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBSZWFjdEVsZW1lbnQsXG4gIHR5cGUgTGVnYWN5UmVmLFxuICB0eXBlIFJlZk9iamVjdCxcbiAgdHlwZSBSZWYsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCBwaWNrIGZyb20gJ2xvZGFzaC9waWNrJztcbmltcG9ydCB7IGNzcywgdXNlVGhlbWUgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VJbnRsIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgeyBjdXN0b21Qcm9wZXJ0aWVzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyBmaWx0ZXJEYXRhQXR0cmlidXRlcywgd2FybmluZyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3V0aWxzJztcbmltcG9ydCB7IHVzZVByZXZpb3VzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaG9va3MnO1xuaW1wb3J0IENvbGxhcHNpYmxlTW90aW9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2NvbGxhcHNpYmxlLW1vdGlvbic7XG5pbXBvcnQgU3RhY2sgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc3BhY2luZ3Mtc3RhY2snO1xuaW1wb3J0IHsgQW5nbGVVcEljb24sIEFuZ2xlRG93bkljb24gfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgVGV4dCBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC90ZXh0JztcbmltcG9ydCBGbGF0QnV0dG9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ZsYXQtYnV0dG9uJztcbmltcG9ydCB7IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pbnB1dC11dGlscyc7XG5pbXBvcnQge1xuICBSaWNoVGV4dEJvZHksXG4gIEhpZGRlbklucHV0LFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9yaWNoLXRleHQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgRWRpdG9yV3JhcHBlcixcbiAgRWRpdG9yTGFuZ3VhZ2VMYWJlbCxcbiAgVG9nZ2xlQnV0dG9uV3JhcHBlcixcbn0gZnJvbSAnLi9lZGl0b3Iuc3R5bGVzJztcbmltcG9ydCB0eXBlIHsgVEVkaXRvciB9IGZyb20gJy4vZWRpdG9yLnR5cGVzJztcblxuY29uc3QgQ09MTEFQU0VEX0hFSUdIVCA9IDMyO1xuXG5jb25zdCBMZWZ0Q29sdW1uID0gc3R5bGVkLmRpdmBcbiAgZmxleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5gO1xuXG5jb25zdCBSaWdodENvbHVtbiA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5gO1xuXG5jb25zdCBSb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuYDtcblxuZXhwb3J0IHR5cGUgVEVkaXRvclByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBpZD86IHN0cmluZztcbiAgaXNPcGVuOiBib29sZWFuO1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgaXNSZWFkT25seT86IGJvb2xlYW47XG4gIGhhc1dhcm5pbmc/OiBib29sZWFuO1xuICBoYXNFcnJvcj86IGJvb2xlYW47XG4gIGVkaXRvcj86IFRFZGl0b3I7XG4gIGVycm9yPzogUmVhY3ROb2RlO1xuICB3YXJuaW5nPzogUmVhY3ROb2RlO1xuICBkZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dDogYm9vbGVhbjtcbiAgdG9nZ2xlTGFuZ3VhZ2U6IChsYW5ndWFnZTogc3RyaW5nKSA9PiB2b2lkO1xuICBsYW5ndWFnZTogc3RyaW5nO1xuICBzaG93RXhwYW5kSWNvbjogYm9vbGVhbjtcbiAgb25DbGlja0V4cGFuZD86ICgpID0+IGJvb2xlYW47XG4gIGhhc0xhbmd1YWdlc0NvbnRyb2w/OiBib29sZWFuO1xufTtcblxudHlwZSBUTm9kZVJlZk9iamVjdCA9IHtcbiAgY2xpZW50SGVpZ2h0OiBudW1iZXI7XG59ICYgTGVnYWN5UmVmPEhUTUxEaXZFbGVtZW50PjtcblxudHlwZSBUUmljaFRleHRFZGl0b3JCb2R5UmVmID0ge1xuICByZWdpc3RlckNvbnRlbnROb2RlOiBUTm9kZVJlZk9iamVjdDtcbiAgY29udGFpbmVyUmVmOiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xufTtcblxuY29uc3QgRWRpdG9yID0gKHByb3BzOiBURWRpdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgaW50bCA9IHVzZUludGwoKTtcbiAgY29uc3QgcmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PigpO1xuICBjb25zdCBwcmV2SXNGb2N1c2VkID0gdXNlUHJldmlvdXMocHJvcHMuZWRpdG9yPy52YWx1ZS5zZWxlY3Rpb24uaXNGb2N1c2VkKTtcblxuICBpZiAocHJvcHMuc2hvd0V4cGFuZEljb24pIHtcbiAgICB3YXJuaW5nKFxuICAgICAgdHlwZW9mIHByb3BzLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAnRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IFtyZW5kZXJUb2dnbGVCdXR0b24sIHNldFJlbmRlclRvZ2dsZUJ1dHRvbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgeyB0b2dnbGVMYW5ndWFnZSB9ID0gcHJvcHM7XG4gIGNvbnN0IG9uVG9nZ2xlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHRvZ2dsZUxhbmd1YWdlKHByb3BzLmxhbmd1YWdlKTtcbiAgfSwgW3RvZ2dsZUxhbmd1YWdlLCBwcm9wcy5sYW5ndWFnZV0pO1xuXG4gIGNvbnN0IHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgPVxuICAgICAgTnVtYmVyKHJlZi5jdXJyZW50Py5jbGllbnRIZWlnaHQpID4gQ09MTEFQU0VEX0hFSUdIVDtcblxuICAgIGlmIChkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgJiYgIXJlbmRlclRvZ2dsZUJ1dHRvbikge1xuICAgICAgc2V0UmVuZGVyVG9nZ2xlQnV0dG9uKHRydWUpO1xuICAgIH1cbiAgICBpZiAoIWRvZXNFeGNlZWRDb2xsYXBzZWRIZWlnaHRMaW1pdCAmJiByZW5kZXJUb2dnbGVCdXR0b24pIHtcbiAgICAgIHNldFJlbmRlclRvZ2dsZUJ1dHRvbihmYWxzZSk7XG4gICAgfVxuICB9LCBbc2V0UmVuZGVyVG9nZ2xlQnV0dG9uLCByZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbigpO1xuICB9LCBbcHJvcHMuZWRpdG9yPy52YWx1ZS5kb2N1bWVudCwgdXBkYXRlUmVuZGVyVG9nZ2xlQnV0dG9uXSk7XG5cbiAgLy8gb3BlbnMgdGhlIGlucHV0IGlmIGl0IHJlZ2FpbnMgZm9jdXMgYW5kIGl0J3MgY2xvc2VkXG4gIGlmIChcbiAgICBwcmV2SXNGb2N1c2VkICE9PSBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQgJiZcbiAgICBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQgJiZcbiAgICAhcHJvcHMuaXNPcGVuXG4gICkge1xuICAgIG9uVG9nZ2xlKCk7XG4gIH1cblxuICBjb25zdCBzaG91bGRUb2dnbGVCdXR0b25UYWtlU3BhY2UgPVxuICAgIC8qXG4gICAgICAtIGlmIGhhc0xhbmd1YWdlc0NvbnRyb2wgYW5kIHRoZXJlIGFyZSBubyBlcnJvcnMvd2FybmluZ3MgdG8gZGlzcGxheVxuICAgICAgLSB0aGVuIHRoZSB0b2dnbGVCdXR0b24gaXMgYWJzb2x1dGVseSBwb3NpdGlvbmVkXG4gICAgICBUaGlzIGlzIGJlY2F1c2UgdGhlIHRvZ2dsZSBidXR0b24gaXMgcGxhY2VkIG5leHQgdG8gdGhlIExvY2FsaXplZElucHV0VG9nZ2xlIHdpdGhvdXQgYmVpbmcgc2libGluZ3MgaW4gdGhlIERPTS5cbiAgICAgIElmIHRoZXJlIGlzIGEgZXJyb3Igb3Igd2FybmluZyBzaG93aW5nLFxuICAgICAgdGhlbiBpdCBjYW4gYmUgcGxhY2VkIHN0YXRpY2FsbHkgYmVjYXVzZSBpdCB3aWxsIHRoZW4gYmUgYSBzaWJsaW5nIHRvIHRoZSBlcnJvci93YXJuaW5nIG1lc3NhZ2VcbiAgICAgIGFuZCBMb2NhbGl6ZWRJbnB1dFRvZ2dsZSBpcyBwbGFjZWQgYmVsb3cgdGhlIGVycm9ycy93YXJuaW5ncy5cbiAgICAqL1xuICAgIChyZW5kZXJUb2dnbGVCdXR0b24gJiYgIXByb3BzLmhhc0xhbmd1YWdlc0NvbnRyb2wpIHx8XG4gICAgcHJvcHMuZXJyb3IgfHxcbiAgICBwcm9wcy53YXJuaW5nO1xuXG4gIGNvbnN0IHRoZW1lID0gdXNlVGhlbWUoKTtcblxuICByZXR1cm4gKFxuICAgIDxDb2xsYXBzaWJsZU1vdGlvblxuICAgICAgbWluSGVpZ2h0PXtDT0xMQVBTRURfSEVJR0hUfVxuICAgICAgaXNDbG9zZWQ9eyFwcm9wcy5pc09wZW59XG4gICAgICBvblRvZ2dsZT17b25Ub2dnbGV9XG4gICAgICBpc0RlZmF1bHRDbG9zZWQ9eyFwcm9wcy5kZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dH1cbiAgICA+XG4gICAgICB7KHsgaXNPcGVuLCB0b2dnbGUsIGNvbnRhaW5lclN0eWxlcywgcmVnaXN0ZXJDb250ZW50Tm9kZSB9KSA9PiB7XG4gICAgICAgIGNvbnN0IHJlZk9iaiA9IHtcbiAgICAgICAgICBjb250YWluZXJSZWY6IHJlZixcbiAgICAgICAgICByZWdpc3RlckNvbnRlbnROb2RlLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPFN0YWNrIHNjYWxlPVwieHNcIj5cbiAgICAgICAgICAgIDxFZGl0b3JXcmFwcGVyXG4gICAgICAgICAgICAgIGtleT17cHJvcHMubGFuZ3VhZ2V9XG4gICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgIGlzUmVhZE9ubHk9e3Byb3BzLmlzUmVhZE9ubHl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxFZGl0b3JMYW5ndWFnZUxhYmVsIGh0bWxGb3I9e3Byb3BzLmlkfSB0aGVtZT17dGhlbWV9PlxuICAgICAgICAgICAgICAgIHsvKiBGSVhNRTogYWRkIHByb3BlciB0b25lIGZvciBkaXNhYmxlZCB3aGVuIHRvbmVzIGFyZSByZWZhY3RvcmVkICovfVxuICAgICAgICAgICAgICAgIDxUZXh0LkRldGFpbCB0b25lPVwic2Vjb25kYXJ5XCI+XG4gICAgICAgICAgICAgICAgICB7cHJvcHMubGFuZ3VhZ2UudG9VcHBlckNhc2UoKX1cbiAgICAgICAgICAgICAgICA8L1RleHQuRGV0YWlsPlxuICAgICAgICAgICAgICA8L0VkaXRvckxhbmd1YWdlTGFiZWw+XG5cbiAgICAgICAgICAgICAgPFJpY2hUZXh0Qm9keVxuICAgICAgICAgICAgICAgIHJlZj17cmVmT2JqIGFzIHVua25vd24gYXMgUmVmPFRSaWNoVGV4dEVkaXRvckJvZHlSZWY+fVxuICAgICAgICAgICAgICAgIHN0eWxlcz17e1xuICAgICAgICAgICAgICAgICAgY29udGFpbmVyOiBjc3NgXG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIGhhc0Vycm9yPXtwcm9wcy5oYXNFcnJvcn1cbiAgICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkfVxuICAgICAgICAgICAgICAgIGhhc1dhcm5pbmc9e3Byb3BzLmhhc1dhcm5pbmd9XG4gICAgICAgICAgICAgICAgaXNSZWFkT25seT17Qm9vbGVhbihwcm9wcy5pc1JlYWRPbmx5KX1cbiAgICAgICAgICAgICAgICBlZGl0b3I9e3Byb3BzLmVkaXRvciBhcyBURWRpdG9yfVxuICAgICAgICAgICAgICAgIGNvbnRhaW5lclN0eWxlcz17Y29udGFpbmVyU3R5bGVzfVxuICAgICAgICAgICAgICAgIHNob3dFeHBhbmRJY29uPXtwcm9wcy5zaG93RXhwYW5kSWNvbn1cbiAgICAgICAgICAgICAgICBvbkNsaWNrRXhwYW5kPXtwcm9wcy5vbkNsaWNrRXhwYW5kfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgICAgICA8L1JpY2hUZXh0Qm9keT5cbiAgICAgICAgICAgIDwvRWRpdG9yV3JhcHBlcj5cbiAgICAgICAgICAgIDxSb3dcbiAgICAgICAgICAgICAgLy8gTk9URTogYXBwbHlpbmcgdGhpcyBzdHlsZSB3aXRoaW5nIHRoZSBgc3R5bGVkYCBjb21wb25lbnQgcmVzdWx0cyBpbiB0aGUgcHJvZHVjdGlvblxuICAgICAgICAgICAgICAvLyBidW5kbGUgdG8gYXBwbHkgdGhlIHN0eWxlIGluIHRoZSB3cm9uZyBvcmRlci5cbiAgICAgICAgICAgICAgLy8gRm9yIGluc3RhbmNlLCB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSBtYXJnaW5nIG9mIHRoZSBzcGFjaW5nIGNvbXBvbmVudCwgd2hpY2ggYWxzb1xuICAgICAgICAgICAgICAvLyB1c2VzIGAhaW1wb3J0YW50YC5cbiAgICAgICAgICAgICAgLy8gQW55d2F5LCBhcHBhcmVudGx5IGJ5IHBhc3NpbmcgdGhlIHN0eWxlIGFzIGEgYGNzc2AgcHJvcCB0byB0aGUgYHN0eWxlZGAgY29tcG9uZW50XG4gICAgICAgICAgICAgIC8vIGRvZXMgdGhlIHRyaWNrLlxuICAgICAgICAgICAgICAvLyBUT0RPOiByZXZpc2l0IHRoZSBsb2dpYyBhbmQgdGhlIGltcGxlbWVudGF0aW9uIHRvIG1heWJlIGF2b2lkIGhhdmluZyB0byBhcHBseSB0aGlzIHN0eWxlLlxuICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAke3Nob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZVxuICAgICAgICAgICAgICAgICAgPyAnaW5oZXJpdCdcbiAgICAgICAgICAgICAgICAgIDogJzBweCAhaW1wb3J0YW50J307XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy5lcnJvcilcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxMZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXY+e3Byb3BzLmVycm9yfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L0xlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy53YXJuaW5nKVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPExlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdj57cHJvcHMud2FybmluZ308L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9MZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICAgICAge3JlbmRlclRvZ2dsZUJ1dHRvbiAmJiAoXG4gICAgICAgICAgICAgICAgPFJpZ2h0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgPFRvZ2dsZUJ1dHRvbldyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICAgICAgICAgICAgIXNob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICR7Y3VzdG9tUHJvcGVydGllcy5zcGFjaW5nWHN9O1xuICAgICAgICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICAgICAgXX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPEZsYXRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0b2dnbGV9XG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e2ludGwuZm9ybWF0TWVzc2FnZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzT3BlblxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQuY29sbGFwc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBtZXNzYWdlc011bHRpbGluZUlucHV0LmV4cGFuZFxuICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgaWNvbj17XG4gICAgICAgICAgICAgICAgICAgICAgICBpc09wZW4gPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxBbmdsZVVwSWNvbiBzaXplPVwic21hbGxcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEFuZ2xlRG93bkljb24gc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1RvZ2dsZUJ1dHRvbldyYXBwZXI+XG4gICAgICAgICAgICAgICAgPC9SaWdodENvbHVtbj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvUm93PlxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICk7XG4gICAgICB9fVxuICAgIDwvQ29sbGFwc2libGVNb3Rpb24+XG4gICk7XG59O1xuXG50eXBlIFRPcHRpb25zID0ge1xuICBsYW5ndWFnZTogc3RyaW5nO1xuICBlcnJvcj86IFJlYWN0Tm9kZTtcbiAgd2FybmluZz86IFJlYWN0Tm9kZTtcbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgZGVmYXVsdEV4cGFuZE11bHRpbGluZVRleHQ6IGJvb2xlYW47XG4gIHRvZ2dsZUxhbmd1YWdlOiAobGFuZ3VhZ2U6IHN0cmluZykgPT4gdm9pZDtcbiAgaXNPcGVuOiBib29sZWFuO1xuICBzaG93RXhwYW5kSWNvbjogYm9vbGVhbjtcbiAgb25DbGlja0V4cGFuZD86ICgpID0+IGJvb2xlYW47XG4gIGhhc0xhbmd1YWdlc0NvbnRyb2w/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgVFJlbmRlckVkaXRvclByb3BzID0ge1xuICBpZD86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICByZWFkT25seT86IGJvb2xlYW47XG4gIGVkaXRvcj86IFRFZGl0b3I7XG4gIG9wdGlvbnM6IFRPcHRpb25zO1xufTtcbmV4cG9ydCB0eXBlIFRSZW5kZXJFZGl0b3IgPSAoXG4gIHByb3BzOiBUUmVuZGVyRWRpdG9yUHJvcHMsXG4gIGVkaXRvcjogVEVkaXRvcixcbiAgbmV4dDogKCkgPT4gUmVhY3RFbGVtZW50XG4pID0+IFJldHVyblR5cGU8dHlwZW9mIEVkaXRvcj47XG5cbmNvbnN0IHJlbmRlckVkaXRvcjogVFJlbmRlckVkaXRvciA9IChwcm9wcywgZWRpdG9yLCBuZXh0KSA9PiB7XG4gIGlmIChwcm9wcy5vcHRpb25zLnNob3dFeHBhbmRJY29uKSB7XG4gICAgd2FybmluZyhcbiAgICAgIHR5cGVvZiBwcm9wcy5vcHRpb25zLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAncmVuZGVyRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IGludGVybmFsSWQgPSBgJHtwcm9wcy5pZH1fX2ludGVybmFsX19pZGA7XG5cbiAgY29uc3QgY2hpbGRyZW4gPSBjbG9uZUVsZW1lbnQobmV4dCgpLCB7XG4gICAgaWQ6IGludGVybmFsSWQsXG4gIH0pO1xuXG4gIGNvbnN0IHBhc3NlZFByb3BzID0ge1xuICAgIGlkOiBwcm9wcy5pZCxcbiAgICBpc0Rpc2FibGVkOiBwcm9wcy5kaXNhYmxlZCxcbiAgICBpc1JlYWRPbmx5OiBwcm9wcy5yZWFkT25seSxcbiAgICAuLi5waWNrKHByb3BzLm9wdGlvbnMsIFtcbiAgICAgICdkZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dCcsXG4gICAgICAnbGFuZ3VhZ2UnLFxuICAgICAgJ3dhcm5pbmcnLFxuICAgICAgJ2Vycm9yJyxcbiAgICAgICdoYXNXYXJuaW5nJyxcbiAgICAgICdoYXNFcnJvcicsXG4gICAgICAndG9nZ2xlTGFuZ3VhZ2UnLFxuICAgICAgJ2lzT3BlbicsXG4gICAgICAnc2hvd0V4cGFuZEljb24nLFxuICAgICAgJ29uQ2xpY2tFeHBhbmQnLFxuICAgICAgJ2hhc0xhbmd1YWdlc0NvbnRyb2wnLFxuICAgIF0pLFxuICAgIC4uLmZpbHRlckRhdGFBdHRyaWJ1dGVzKHByb3BzKSxcbiAgfTtcblxuICBjb25zdCBpc0ZvY3VzZWQgPSBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQ7XG5cbiAgcmV0dXJuIChcbiAgICA8RWRpdG9yIGVkaXRvcj17ZWRpdG9yfSB7Li4ucGFzc2VkUHJvcHN9PlxuICAgICAge2NoaWxkcmVufVxuICAgICAgPEhpZGRlbklucHV0XG4gICAgICAgIGlzRm9jdXNlZD17Qm9vbGVhbihpc0ZvY3VzZWQpfVxuICAgICAgICBoYW5kbGVGb2N1cz17ZWRpdG9yLmZvY3VzfVxuICAgICAgICBkaXNhYmxlZD17cHJvcHMuZGlzYWJsZWR9XG4gICAgICAgIHJlYWRPbmx5PXtwcm9wcy5yZWFkT25seX1cbiAgICAgICAgaWQ9e3Byb3BzLmlkfVxuICAgICAgLz5cbiAgICA8L0VkaXRvcj5cbiAgKTtcbn07XG5cbkVkaXRvci5kaXNwbGF5TmFtZSA9ICdFZGl0b3InO1xuXG5leHBvcnQgZGVmYXVsdCByZW5kZXJFZGl0b3I7XG4iXX0= */",
110
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImVkaXRvci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNkQ2QiIsImZpbGUiOiJlZGl0b3IudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgZm9yd2FyZFJlZixcbiAgdHlwZSBSZWFjdE5vZGUsXG4gIHR5cGUgTGVnYWN5UmVmLFxuICB0eXBlIFJlZk9iamVjdCxcbiAgdHlwZSBSZWYsXG4gIHR5cGUgRm9jdXNFdmVudEhhbmRsZXIsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcywgdXNlVGhlbWUgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VJbnRsIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgeyBjdXN0b21Qcm9wZXJ0aWVzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyB3YXJuaW5nLCBmaWx0ZXJEYXRhQXR0cmlidXRlcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3V0aWxzJztcbmltcG9ydCBDb2xsYXBzaWJsZU1vdGlvbiBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9jb2xsYXBzaWJsZS1tb3Rpb24nO1xuaW1wb3J0IFN0YWNrIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NwYWNpbmdzLXN0YWNrJztcbmltcG9ydCB7IEFuZ2xlVXBJY29uLCBBbmdsZURvd25JY29uIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IFRleHQgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvdGV4dCc7XG5pbXBvcnQgRmxhdEJ1dHRvbiBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9mbGF0LWJ1dHRvbic7XG5pbXBvcnQgeyBtZXNzYWdlc011bHRpbGluZUlucHV0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaW5wdXQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgUmljaFRleHRCb2R5LFxuICBIaWRkZW5JbnB1dCxcbiAgRWxlbWVudCxcbiAgTGVhZixcbiAgdG9nZ2xlTWFyayxcbiAgcmVzZXRFZGl0b3IsXG4gIGZvY3VzRWRpdG9yLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9yaWNoLXRleHQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgRWRpdGFibGUsXG4gIHdpdGhSZWFjdCxcbiAgU2xhdGUsXG4gIFJlYWN0RWRpdG9yLFxuICB0eXBlIFJlbmRlckVsZW1lbnRQcm9wcyxcbiAgdHlwZSBSZW5kZXJMZWFmUHJvcHMsXG59IGZyb20gJ3NsYXRlLXJlYWN0JztcbmltcG9ydCB7IGNyZWF0ZUVkaXRvciwgdHlwZSBEZXNjZW5kYW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgd2l0aEhpc3RvcnkgfSBmcm9tICdzbGF0ZS1oaXN0b3J5JztcbmltcG9ydCBpc0hvdGtleSBmcm9tICdpcy1ob3RrZXknO1xuaW1wb3J0IHBpcGUgZnJvbSAnbG9kYXNoL2ZwL3BpcGUnO1xuaW1wb3J0IHtcbiAgRWRpdG9yV3JhcHBlcixcbiAgRWRpdG9yTGFuZ3VhZ2VMYWJlbCxcbiAgVG9nZ2xlQnV0dG9uV3JhcHBlcixcbn0gZnJvbSAnLi9lZGl0b3Iuc3R5bGVzJztcblxuY29uc3QgSE9US0VZUyA9IHtcbiAgJ21vZCtiJzogJ2JvbGQnLFxuICAnbW9kK2knOiAnaXRhbGljJyxcbiAgJ21vZCt1JzogJ3VuZGVybGluZScsXG4gICdtb2QrYCc6ICdjb2RlJyxcbn07XG5cbmNvbnN0IENPTExBUFNFRF9IRUlHSFQgPSAzMjtcblxuY29uc3QgTGVmdENvbHVtbiA9IHN0eWxlZC5kaXZgXG4gIGZsZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgUmlnaHRDb2x1bW4gPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgUm93ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmV4cG9ydCB0eXBlIFRFZGl0b3JQcm9wcyA9IHtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGlkPzogc3RyaW5nO1xuICBpc09wZW46IGJvb2xlYW47XG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xuICBpc1JlYWRPbmx5PzogYm9vbGVhbjtcbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgZXJyb3I/OiBSZWFjdE5vZGU7XG4gIHdhcm5pbmc/OiBSZWFjdE5vZGU7XG4gIGRlZmF1bHRFeHBhbmRNdWx0aWxpbmVUZXh0OiBib29sZWFuO1xuICB0b2dnbGVMYW5ndWFnZTogKGxhbmd1YWdlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIGxhbmd1YWdlOiBzdHJpbmc7XG4gIHNob3dFeHBhbmRJY29uOiBib29sZWFuO1xuICBvbkNsaWNrRXhwYW5kPzogKCkgPT4gYm9vbGVhbjtcbiAgaGFzTGFuZ3VhZ2VzQ29udHJvbD86IGJvb2xlYW47XG4gIHZhbHVlOiBEZXNjZW5kYW50W107XG4gIG9uQ2hhbmdlOiAoc3RhdGU6IERlc2NlbmRhbnRbXSkgPT4gdm9pZDtcbiAgb25Gb2N1cz86IEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgb25CbHVyPzogRm9jdXNFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xuICBpc0F1dG9mb2N1c2VkPzogYm9vbGVhbjtcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIHJlZj86IFJlZjx1bmtub3duPjtcbn07XG5cbnR5cGUgVE5vZGVSZWZPYmplY3QgPSB7XG4gIGNsaWVudEhlaWdodDogbnVtYmVyO1xufSAmIExlZ2FjeVJlZjxIVE1MRGl2RWxlbWVudD47XG5cbnR5cGUgVFJpY2hUZXh0RWRpdG9yQm9keVJlZiA9IHtcbiAgcmVnaXN0ZXJDb250ZW50Tm9kZTogVE5vZGVSZWZPYmplY3Q7XG4gIGNvbnRhaW5lclJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50Pjtcbn07XG5cbmNvbnN0IHJlbmRlckVsZW1lbnQgPSAocHJvcHM6IFJlbmRlckVsZW1lbnRQcm9wcykgPT4gPEVsZW1lbnQgey4uLnByb3BzfSAvPjtcbmNvbnN0IHJlbmRlckxlYWYgPSAocHJvcHM6IFJlbmRlckxlYWZQcm9wcykgPT4gPExlYWYgey4uLnByb3BzfSAvPjtcblxuY29uc3QgRWRpdG9yID0gZm9yd2FyZFJlZigocHJvcHM6IFRFZGl0b3JQcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gIGNvbnN0IGludGwgPSB1c2VJbnRsKCk7XG4gIGNvbnN0IHJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4oKTtcblxuICBjb25zdCBjcmVhdGVFZGl0b3JXaXRoUGx1Z2lucyA9IHBpcGUod2l0aFJlYWN0LCB3aXRoSGlzdG9yeSk7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgY29uc3QgZWRpdG9yID0gdXNlTWVtbygoKSA9PiBjcmVhdGVFZGl0b3JXaXRoUGx1Z2lucyhjcmVhdGVFZGl0b3IoKSksIFtdKTtcblxuICBpZiAocHJvcHMuc2hvd0V4cGFuZEljb24pIHtcbiAgICB3YXJuaW5nKFxuICAgICAgdHlwZW9mIHByb3BzLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAnRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IFtyZW5kZXJUb2dnbGVCdXR0b24sIHNldFJlbmRlclRvZ2dsZUJ1dHRvbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgeyB0b2dnbGVMYW5ndWFnZSB9ID0gcHJvcHM7XG4gIGNvbnN0IG9uVG9nZ2xlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHRvZ2dsZUxhbmd1YWdlKHByb3BzLmxhbmd1YWdlKTtcbiAgfSwgW3RvZ2dsZUxhbmd1YWdlLCBwcm9wcy5sYW5ndWFnZV0pO1xuXG4gIGNvbnN0IHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgPVxuICAgICAgTnVtYmVyKHJlZi5jdXJyZW50Py5jbGllbnRIZWlnaHQpID4gQ09MTEFQU0VEX0hFSUdIVDtcblxuICAgIGlmIChkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgJiYgIXJlbmRlclRvZ2dsZUJ1dHRvbikge1xuICAgICAgc2V0UmVuZGVyVG9nZ2xlQnV0dG9uKHRydWUpO1xuICAgIH1cbiAgICBpZiAoIWRvZXNFeGNlZWRDb2xsYXBzZWRIZWlnaHRMaW1pdCAmJiByZW5kZXJUb2dnbGVCdXR0b24pIHtcbiAgICAgIHNldFJlbmRlclRvZ2dsZUJ1dHRvbihmYWxzZSk7XG4gICAgfVxuICB9LCBbc2V0UmVuZGVyVG9nZ2xlQnV0dG9uLCByZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbigpO1xuICB9LCBbZWRpdG9yLCB1cGRhdGVSZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICAvLyByZXNldHRpbmdcbiAgY29uc3QgcmVzZXRWYWx1ZSA9IHVzZUNhbGxiYWNrKFxuICAgIChuZXdWYWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgICByZXNldEVkaXRvcihlZGl0b3IsIG5ld1ZhbHVlKTtcbiAgICB9LFxuICAgIFtlZGl0b3JdXG4gICk7XG4gIC8qIFxuICBSZXNldHRpbmcgdGhlIGVkaXRvciByZXF1aXJlcyBhY2Nlc3MgdG8gYGVkaXRvcmAgb2JqZWN0IHJldHVybmVkIGZyb20gYHVzZVNsYXRlYCBob29rLlxuICBUaGVyZWZvcmUsIGByZXNldGAgZnVuY3Rpb24gaXMgYXR0YWNoZWQgdG8gdGhlIHBhc3NlZCBgcmVmYCBvYmplY3QgdmlhIGB1c2VJbXBlcmF0aXZlSGFuZGxlYCBcbiAgdG8gYmUgY2FsbGVkIGZyb20gdGhlIHBhcmVudCBjb21wb25lbnQuIFxuICBlLmcuIDxidXR0b24gb25Nb3VzZURvd249eygpID0+IHJlZi5jdXJyZW50Py5yZXNldFZhbHVlKFwiPHA+PHN0cm9uZz5WYWx1ZSBhZnRlciByZXNldDwvc3Ryb25nPjwvcD5cIil9PlJlc2V0PC9idXR0b24+XG4gICovXG4gIHVzZUltcGVyYXRpdmVIYW5kbGUoZm9yd2FyZGVkUmVmLCAoKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJlc2V0VmFsdWUsXG4gICAgfTtcbiAgfSk7XG5cbiAgY29uc3Qgc2hvdWxkVG9nZ2xlQnV0dG9uVGFrZVNwYWNlID1cbiAgICAvKiBcbiAgICAgIC0gaWYgaGFzTGFuZ3VhZ2VzQ29udHJvbCBhbmQgdGhlcmUgYXJlIG5vIGVycm9ycy93YXJuaW5ncyB0byBkaXNwbGF5XG4gICAgICAtIHRoZW4gdGhlIHRvZ2dsZUJ1dHRvbiBpcyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWRcbiAgICAgIFRoaXMgaXMgYmVjYXVzZSB0aGUgdG9nZ2xlIGJ1dHRvbiBpcyBwbGFjZWQgbmV4dCB0byB0aGUgTG9jYWxpemVkSW5wdXRUb2dnbGUgd2l0aG91dCBiZWluZyBzaWJsaW5ncyBpbiB0aGUgRE9NLlxuICAgICAgSWYgdGhlcmUgaXMgYSBlcnJvciBvciB3YXJuaW5nIHNob3dpbmcsXG4gICAgICB0aGVuIGl0IGNhbiBiZSBwbGFjZWQgc3RhdGljYWxseSBiZWNhdXNlIGl0IHdpbGwgdGhlbiBiZSBhIHNpYmxpbmcgdG8gdGhlIGVycm9yL3dhcm5pbmcgbWVzc2FnZVxuICAgICAgYW5kIExvY2FsaXplZElucHV0VG9nZ2xlIGlzIHBsYWNlZCBiZWxvdyB0aGUgZXJyb3JzL3dhcm5pbmdzLiBcbiAgICAqL1xuXG4gICAgKHJlbmRlclRvZ2dsZUJ1dHRvbiAmJiAhcHJvcHMuaGFzTGFuZ3VhZ2VzQ29udHJvbCkgfHxcbiAgICBwcm9wcy5lcnJvciB8fFxuICAgIHByb3BzLndhcm5pbmc7XG5cbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuXG4gIHJldHVybiAoXG4gICAgPENvbGxhcHNpYmxlTW90aW9uXG4gICAgICBtaW5IZWlnaHQ9e0NPTExBUFNFRF9IRUlHSFR9XG4gICAgICBpc0Nsb3NlZD17IXByb3BzLmlzT3Blbn1cbiAgICAgIG9uVG9nZ2xlPXtvblRvZ2dsZX1cbiAgICAgIGlzRGVmYXVsdENsb3NlZD17IXByb3BzLmRlZmF1bHRFeHBhbmRNdWx0aWxpbmVUZXh0fVxuICAgID5cbiAgICAgIHsoeyBpc09wZW4sIHRvZ2dsZSwgY29udGFpbmVyU3R5bGVzLCByZWdpc3RlckNvbnRlbnROb2RlIH0pID0+IHtcbiAgICAgICAgY29uc3QgcmVmT2JqID0ge1xuICAgICAgICAgIGNvbnRhaW5lclJlZjogcmVmLFxuICAgICAgICAgIHJlZ2lzdGVyQ29udGVudE5vZGUsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8U3RhY2sgc2NhbGU9XCJ4c1wiPlxuICAgICAgICAgICAgPEVkaXRvcldyYXBwZXJcbiAgICAgICAgICAgICAga2V5PXtwcm9wcy5sYW5ndWFnZX1cbiAgICAgICAgICAgICAgaXNEaXNhYmxlZD17cHJvcHMuaXNEaXNhYmxlZH1cbiAgICAgICAgICAgICAgaXNSZWFkT25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFNsYXRlXG4gICAgICAgICAgICAgICAgZWRpdG9yPXtlZGl0b3J9XG4gICAgICAgICAgICAgICAgdmFsdWU9e3Byb3BzLnZhbHVlfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtwcm9wcy5vbkNoYW5nZX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxFZGl0b3JMYW5ndWFnZUxhYmVsIGh0bWxGb3I9e3Byb3BzLmlkfSB0aGVtZT17dGhlbWV9PlxuICAgICAgICAgICAgICAgICAgey8qIEZJWE1FOiBhZGQgcHJvcGVyIHRvbmUgZm9yIGRpc2FibGVkIHdoZW4gdG9uZXMgYXJlIHJlZmFjdG9yZWQgKi99XG4gICAgICAgICAgICAgICAgICA8VGV4dC5EZXRhaWwgdG9uZT1cInNlY29uZGFyeVwiPlxuICAgICAgICAgICAgICAgICAgICB7cHJvcHMubGFuZ3VhZ2UudG9VcHBlckNhc2UoKX1cbiAgICAgICAgICAgICAgICAgIDwvVGV4dC5EZXRhaWw+XG4gICAgICAgICAgICAgICAgPC9FZGl0b3JMYW5ndWFnZUxhYmVsPlxuICAgICAgICAgICAgICAgIDxSaWNoVGV4dEJvZHlcbiAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgIHJlZj17cmVmT2JqIGFzIHVua25vd24gYXMgUmVmPFRSaWNoVGV4dEVkaXRvckJvZHlSZWY+fVxuICAgICAgICAgICAgICAgICAgc3R5bGVzPXt7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogY3NzYFxuICAgICAgICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICBgLFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIGhhc0Vycm9yPXtwcm9wcy5oYXNFcnJvcn1cbiAgICAgICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICBoYXNXYXJuaW5nPXtwcm9wcy5oYXNXYXJuaW5nfVxuICAgICAgICAgICAgICAgICAgaXNSZWFkT25seT17Qm9vbGVhbihwcm9wcy5pc1JlYWRPbmx5KX1cbiAgICAgICAgICAgICAgICAgIHNob3dFeHBhbmRJY29uPXtCb29sZWFuKHByb3BzLnNob3dFeHBhbmRJY29uKX1cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2tFeHBhbmQ9e3Byb3BzLm9uQ2xpY2tFeHBhbmR9XG4gICAgICAgICAgICAgICAgICBjb250YWluZXJTdHlsZXM9e2NvbnRhaW5lclN0eWxlc31cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8RWRpdGFibGVcbiAgICAgICAgICAgICAgICAgICAgey4uLmZpbHRlckRhdGFBdHRyaWJ1dGVzKHByb3BzKX1cbiAgICAgICAgICAgICAgICAgICAgbmFtZT17cHJvcHMubmFtZX1cbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyRWxlbWVudD17cmVuZGVyRWxlbWVudH1cbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyTGVhZj17cmVuZGVyTGVhZn1cbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3Byb3BzLnBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgICAgICAgICBhdXRvRm9jdXM9e3Byb3BzLmlzQXV0b2ZvY3VzZWR9XG4gICAgICAgICAgICAgICAgICAgIG9uQmx1cj17cHJvcHMub25CbHVyfVxuICAgICAgICAgICAgICAgICAgICBvbkZvY3VzPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5vbkZvY3VzPy4oZXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICAgIC8vIG9wZW5zIHRoZSBpbnB1dCBpZiBpdCByZWdhaW5zIGZvY3VzIGFuZCBpdCdzIGNsb3NlZFxuICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNPcGVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzRWRpdG9yKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICByZWFkT25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBob3RrZXkgaW4gSE9US0VZUykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzSG90a2V5KGhvdGtleSwgZXZlbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hcmsgPSBIT1RLRVlTW2hvdGtleSBhcyBrZXlvZiB0eXBlb2YgSE9US0VZU107XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZU1hcmsoZWRpdG9yLCBtYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgIDxIaWRkZW5JbnB1dFxuICAgICAgICAgICAgICAgICAgICBpc0ZvY3VzZWQ9e1JlYWN0RWRpdG9yLmlzRm9jdXNlZChlZGl0b3IpfVxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVGb2N1cz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGZvY3VzRWRpdG9yKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIGlkPXtwcm9wcy5pZH1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXtwcm9wcy5pc1JlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L1JpY2hUZXh0Qm9keT5cbiAgICAgICAgICAgICAgPC9TbGF0ZT5cbiAgICAgICAgICAgIDwvRWRpdG9yV3JhcHBlcj5cbiAgICAgICAgICAgIDxSb3dcbiAgICAgICAgICAgICAgLy8gTk9URTogYXBwbHlpbmcgdGhpcyBzdHlsZSB3aXRoaW5nIHRoZSBgc3R5bGVkYCBjb21wb25lbnQgcmVzdWx0cyBpbiB0aGUgcHJvZHVjdGlvblxuICAgICAgICAgICAgICAvLyBidW5kbGUgdG8gYXBwbHkgdGhlIHN0eWxlIGluIHRoZSB3cm9uZyBvcmRlci5cbiAgICAgICAgICAgICAgLy8gRm9yIGluc3RhbmNlLCB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSBtYXJnaW5nIG9mIHRoZSBzcGFjaW5nIGNvbXBvbmVudCwgd2hpY2ggYWxzb1xuICAgICAgICAgICAgICAvLyB1c2VzIGAhaW1wb3J0YW50YC5cbiAgICAgICAgICAgICAgLy8gQW55d2F5LCBhcHBhcmVudGx5IGJ5IHBhc3NpbmcgdGhlIHN0eWxlIGFzIGEgYGNzc2AgcHJvcCB0byB0aGUgYHN0eWxlZGAgY29tcG9uZW50XG4gICAgICAgICAgICAgIC8vIGRvZXMgdGhlIHRyaWNrLlxuICAgICAgICAgICAgICAvLyBUT0RPOiByZXZpc2l0IHRoZSBsb2dpYyBhbmQgdGhlIGltcGxlbWVudGF0aW9uIHRvIG1heWJlIGF2b2lkIGhhdmluZyB0byBhcHBseSB0aGlzIHN0eWxlLlxuICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAke3Nob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZVxuICAgICAgICAgICAgICAgICAgPyAnaW5oZXJpdCdcbiAgICAgICAgICAgICAgICAgIDogJzBweCAhaW1wb3J0YW50J307XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy5lcnJvcilcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxMZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXY+e3Byb3BzLmVycm9yfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L0xlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy53YXJuaW5nKVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPExlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdj57cHJvcHMud2FybmluZ308L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9MZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICAgICAge3JlbmRlclRvZ2dsZUJ1dHRvbiAmJiAoXG4gICAgICAgICAgICAgICAgPFJpZ2h0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgPFRvZ2dsZUJ1dHRvbldyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICAgICAgICAgICAgIXNob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICR7Y3VzdG9tUHJvcGVydGllcy5zcGFjaW5nWHN9O1xuICAgICAgICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICAgICAgXX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPEZsYXRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0b2dnbGV9XG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e2ludGwuZm9ybWF0TWVzc2FnZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzT3BlblxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQuY29sbGFwc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBtZXNzYWdlc011bHRpbGluZUlucHV0LmV4cGFuZFxuICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgaWNvbj17XG4gICAgICAgICAgICAgICAgICAgICAgICBpc09wZW4gPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxBbmdsZVVwSWNvbiBzaXplPVwic21hbGxcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEFuZ2xlRG93bkljb24gc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1RvZ2dsZUJ1dHRvbldyYXBwZXI+XG4gICAgICAgICAgICAgICAgPC9SaWdodENvbHVtbj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvUm93PlxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICk7XG4gICAgICB9fVxuICAgIDwvQ29sbGFwc2libGVNb3Rpb24+XG4gICk7XG59KTtcbkVkaXRvci5kaXNwbGF5TmFtZSA9ICdFZGl0b3InO1xuXG5leHBvcnQgZGVmYXVsdCBFZGl0b3I7XG4iXX0= */",
103
111
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1
104
112
  });
105
113
 
@@ -114,7 +122,7 @@ var RightColumn = _styled("div", process.env.NODE_ENV === "production" ? {
114
122
  } : {
115
123
  name: "1m04uhl",
116
124
  styles: "position:relative;flex:0;display:flex;align-items:flex-start",
117
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImVkaXRvci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNEM4QiIsImZpbGUiOiJlZGl0b3IudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgY2xvbmVFbGVtZW50LFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBSZWFjdEVsZW1lbnQsXG4gIHR5cGUgTGVnYWN5UmVmLFxuICB0eXBlIFJlZk9iamVjdCxcbiAgdHlwZSBSZWYsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCBwaWNrIGZyb20gJ2xvZGFzaC9waWNrJztcbmltcG9ydCB7IGNzcywgdXNlVGhlbWUgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VJbnRsIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgeyBjdXN0b21Qcm9wZXJ0aWVzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyBmaWx0ZXJEYXRhQXR0cmlidXRlcywgd2FybmluZyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3V0aWxzJztcbmltcG9ydCB7IHVzZVByZXZpb3VzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaG9va3MnO1xuaW1wb3J0IENvbGxhcHNpYmxlTW90aW9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2NvbGxhcHNpYmxlLW1vdGlvbic7XG5pbXBvcnQgU3RhY2sgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc3BhY2luZ3Mtc3RhY2snO1xuaW1wb3J0IHsgQW5nbGVVcEljb24sIEFuZ2xlRG93bkljb24gfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgVGV4dCBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC90ZXh0JztcbmltcG9ydCBGbGF0QnV0dG9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ZsYXQtYnV0dG9uJztcbmltcG9ydCB7IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pbnB1dC11dGlscyc7XG5pbXBvcnQge1xuICBSaWNoVGV4dEJvZHksXG4gIEhpZGRlbklucHV0LFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9yaWNoLXRleHQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgRWRpdG9yV3JhcHBlcixcbiAgRWRpdG9yTGFuZ3VhZ2VMYWJlbCxcbiAgVG9nZ2xlQnV0dG9uV3JhcHBlcixcbn0gZnJvbSAnLi9lZGl0b3Iuc3R5bGVzJztcbmltcG9ydCB0eXBlIHsgVEVkaXRvciB9IGZyb20gJy4vZWRpdG9yLnR5cGVzJztcblxuY29uc3QgQ09MTEFQU0VEX0hFSUdIVCA9IDMyO1xuXG5jb25zdCBMZWZ0Q29sdW1uID0gc3R5bGVkLmRpdmBcbiAgZmxleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5gO1xuXG5jb25zdCBSaWdodENvbHVtbiA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5gO1xuXG5jb25zdCBSb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuYDtcblxuZXhwb3J0IHR5cGUgVEVkaXRvclByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBpZD86IHN0cmluZztcbiAgaXNPcGVuOiBib29sZWFuO1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgaXNSZWFkT25seT86IGJvb2xlYW47XG4gIGhhc1dhcm5pbmc/OiBib29sZWFuO1xuICBoYXNFcnJvcj86IGJvb2xlYW47XG4gIGVkaXRvcj86IFRFZGl0b3I7XG4gIGVycm9yPzogUmVhY3ROb2RlO1xuICB3YXJuaW5nPzogUmVhY3ROb2RlO1xuICBkZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dDogYm9vbGVhbjtcbiAgdG9nZ2xlTGFuZ3VhZ2U6IChsYW5ndWFnZTogc3RyaW5nKSA9PiB2b2lkO1xuICBsYW5ndWFnZTogc3RyaW5nO1xuICBzaG93RXhwYW5kSWNvbjogYm9vbGVhbjtcbiAgb25DbGlja0V4cGFuZD86ICgpID0+IGJvb2xlYW47XG4gIGhhc0xhbmd1YWdlc0NvbnRyb2w/OiBib29sZWFuO1xufTtcblxudHlwZSBUTm9kZVJlZk9iamVjdCA9IHtcbiAgY2xpZW50SGVpZ2h0OiBudW1iZXI7XG59ICYgTGVnYWN5UmVmPEhUTUxEaXZFbGVtZW50PjtcblxudHlwZSBUUmljaFRleHRFZGl0b3JCb2R5UmVmID0ge1xuICByZWdpc3RlckNvbnRlbnROb2RlOiBUTm9kZVJlZk9iamVjdDtcbiAgY29udGFpbmVyUmVmOiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xufTtcblxuY29uc3QgRWRpdG9yID0gKHByb3BzOiBURWRpdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgaW50bCA9IHVzZUludGwoKTtcbiAgY29uc3QgcmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PigpO1xuICBjb25zdCBwcmV2SXNGb2N1c2VkID0gdXNlUHJldmlvdXMocHJvcHMuZWRpdG9yPy52YWx1ZS5zZWxlY3Rpb24uaXNGb2N1c2VkKTtcblxuICBpZiAocHJvcHMuc2hvd0V4cGFuZEljb24pIHtcbiAgICB3YXJuaW5nKFxuICAgICAgdHlwZW9mIHByb3BzLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAnRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IFtyZW5kZXJUb2dnbGVCdXR0b24sIHNldFJlbmRlclRvZ2dsZUJ1dHRvbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgeyB0b2dnbGVMYW5ndWFnZSB9ID0gcHJvcHM7XG4gIGNvbnN0IG9uVG9nZ2xlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHRvZ2dsZUxhbmd1YWdlKHByb3BzLmxhbmd1YWdlKTtcbiAgfSwgW3RvZ2dsZUxhbmd1YWdlLCBwcm9wcy5sYW5ndWFnZV0pO1xuXG4gIGNvbnN0IHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgPVxuICAgICAgTnVtYmVyKHJlZi5jdXJyZW50Py5jbGllbnRIZWlnaHQpID4gQ09MTEFQU0VEX0hFSUdIVDtcblxuICAgIGlmIChkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgJiYgIXJlbmRlclRvZ2dsZUJ1dHRvbikge1xuICAgICAgc2V0UmVuZGVyVG9nZ2xlQnV0dG9uKHRydWUpO1xuICAgIH1cbiAgICBpZiAoIWRvZXNFeGNlZWRDb2xsYXBzZWRIZWlnaHRMaW1pdCAmJiByZW5kZXJUb2dnbGVCdXR0b24pIHtcbiAgICAgIHNldFJlbmRlclRvZ2dsZUJ1dHRvbihmYWxzZSk7XG4gICAgfVxuICB9LCBbc2V0UmVuZGVyVG9nZ2xlQnV0dG9uLCByZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbigpO1xuICB9LCBbcHJvcHMuZWRpdG9yPy52YWx1ZS5kb2N1bWVudCwgdXBkYXRlUmVuZGVyVG9nZ2xlQnV0dG9uXSk7XG5cbiAgLy8gb3BlbnMgdGhlIGlucHV0IGlmIGl0IHJlZ2FpbnMgZm9jdXMgYW5kIGl0J3MgY2xvc2VkXG4gIGlmIChcbiAgICBwcmV2SXNGb2N1c2VkICE9PSBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQgJiZcbiAgICBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQgJiZcbiAgICAhcHJvcHMuaXNPcGVuXG4gICkge1xuICAgIG9uVG9nZ2xlKCk7XG4gIH1cblxuICBjb25zdCBzaG91bGRUb2dnbGVCdXR0b25UYWtlU3BhY2UgPVxuICAgIC8qXG4gICAgICAtIGlmIGhhc0xhbmd1YWdlc0NvbnRyb2wgYW5kIHRoZXJlIGFyZSBubyBlcnJvcnMvd2FybmluZ3MgdG8gZGlzcGxheVxuICAgICAgLSB0aGVuIHRoZSB0b2dnbGVCdXR0b24gaXMgYWJzb2x1dGVseSBwb3NpdGlvbmVkXG4gICAgICBUaGlzIGlzIGJlY2F1c2UgdGhlIHRvZ2dsZSBidXR0b24gaXMgcGxhY2VkIG5leHQgdG8gdGhlIExvY2FsaXplZElucHV0VG9nZ2xlIHdpdGhvdXQgYmVpbmcgc2libGluZ3MgaW4gdGhlIERPTS5cbiAgICAgIElmIHRoZXJlIGlzIGEgZXJyb3Igb3Igd2FybmluZyBzaG93aW5nLFxuICAgICAgdGhlbiBpdCBjYW4gYmUgcGxhY2VkIHN0YXRpY2FsbHkgYmVjYXVzZSBpdCB3aWxsIHRoZW4gYmUgYSBzaWJsaW5nIHRvIHRoZSBlcnJvci93YXJuaW5nIG1lc3NhZ2VcbiAgICAgIGFuZCBMb2NhbGl6ZWRJbnB1dFRvZ2dsZSBpcyBwbGFjZWQgYmVsb3cgdGhlIGVycm9ycy93YXJuaW5ncy5cbiAgICAqL1xuICAgIChyZW5kZXJUb2dnbGVCdXR0b24gJiYgIXByb3BzLmhhc0xhbmd1YWdlc0NvbnRyb2wpIHx8XG4gICAgcHJvcHMuZXJyb3IgfHxcbiAgICBwcm9wcy53YXJuaW5nO1xuXG4gIGNvbnN0IHRoZW1lID0gdXNlVGhlbWUoKTtcblxuICByZXR1cm4gKFxuICAgIDxDb2xsYXBzaWJsZU1vdGlvblxuICAgICAgbWluSGVpZ2h0PXtDT0xMQVBTRURfSEVJR0hUfVxuICAgICAgaXNDbG9zZWQ9eyFwcm9wcy5pc09wZW59XG4gICAgICBvblRvZ2dsZT17b25Ub2dnbGV9XG4gICAgICBpc0RlZmF1bHRDbG9zZWQ9eyFwcm9wcy5kZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dH1cbiAgICA+XG4gICAgICB7KHsgaXNPcGVuLCB0b2dnbGUsIGNvbnRhaW5lclN0eWxlcywgcmVnaXN0ZXJDb250ZW50Tm9kZSB9KSA9PiB7XG4gICAgICAgIGNvbnN0IHJlZk9iaiA9IHtcbiAgICAgICAgICBjb250YWluZXJSZWY6IHJlZixcbiAgICAgICAgICByZWdpc3RlckNvbnRlbnROb2RlLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPFN0YWNrIHNjYWxlPVwieHNcIj5cbiAgICAgICAgICAgIDxFZGl0b3JXcmFwcGVyXG4gICAgICAgICAgICAgIGtleT17cHJvcHMubGFuZ3VhZ2V9XG4gICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgIGlzUmVhZE9ubHk9e3Byb3BzLmlzUmVhZE9ubHl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxFZGl0b3JMYW5ndWFnZUxhYmVsIGh0bWxGb3I9e3Byb3BzLmlkfSB0aGVtZT17dGhlbWV9PlxuICAgICAgICAgICAgICAgIHsvKiBGSVhNRTogYWRkIHByb3BlciB0b25lIGZvciBkaXNhYmxlZCB3aGVuIHRvbmVzIGFyZSByZWZhY3RvcmVkICovfVxuICAgICAgICAgICAgICAgIDxUZXh0LkRldGFpbCB0b25lPVwic2Vjb25kYXJ5XCI+XG4gICAgICAgICAgICAgICAgICB7cHJvcHMubGFuZ3VhZ2UudG9VcHBlckNhc2UoKX1cbiAgICAgICAgICAgICAgICA8L1RleHQuRGV0YWlsPlxuICAgICAgICAgICAgICA8L0VkaXRvckxhbmd1YWdlTGFiZWw+XG5cbiAgICAgICAgICAgICAgPFJpY2hUZXh0Qm9keVxuICAgICAgICAgICAgICAgIHJlZj17cmVmT2JqIGFzIHVua25vd24gYXMgUmVmPFRSaWNoVGV4dEVkaXRvckJvZHlSZWY+fVxuICAgICAgICAgICAgICAgIHN0eWxlcz17e1xuICAgICAgICAgICAgICAgICAgY29udGFpbmVyOiBjc3NgXG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIGhhc0Vycm9yPXtwcm9wcy5oYXNFcnJvcn1cbiAgICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkfVxuICAgICAgICAgICAgICAgIGhhc1dhcm5pbmc9e3Byb3BzLmhhc1dhcm5pbmd9XG4gICAgICAgICAgICAgICAgaXNSZWFkT25seT17Qm9vbGVhbihwcm9wcy5pc1JlYWRPbmx5KX1cbiAgICAgICAgICAgICAgICBlZGl0b3I9e3Byb3BzLmVkaXRvciBhcyBURWRpdG9yfVxuICAgICAgICAgICAgICAgIGNvbnRhaW5lclN0eWxlcz17Y29udGFpbmVyU3R5bGVzfVxuICAgICAgICAgICAgICAgIHNob3dFeHBhbmRJY29uPXtwcm9wcy5zaG93RXhwYW5kSWNvbn1cbiAgICAgICAgICAgICAgICBvbkNsaWNrRXhwYW5kPXtwcm9wcy5vbkNsaWNrRXhwYW5kfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgICAgICA8L1JpY2hUZXh0Qm9keT5cbiAgICAgICAgICAgIDwvRWRpdG9yV3JhcHBlcj5cbiAgICAgICAgICAgIDxSb3dcbiAgICAgICAgICAgICAgLy8gTk9URTogYXBwbHlpbmcgdGhpcyBzdHlsZSB3aXRoaW5nIHRoZSBgc3R5bGVkYCBjb21wb25lbnQgcmVzdWx0cyBpbiB0aGUgcHJvZHVjdGlvblxuICAgICAgICAgICAgICAvLyBidW5kbGUgdG8gYXBwbHkgdGhlIHN0eWxlIGluIHRoZSB3cm9uZyBvcmRlci5cbiAgICAgICAgICAgICAgLy8gRm9yIGluc3RhbmNlLCB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSBtYXJnaW5nIG9mIHRoZSBzcGFjaW5nIGNvbXBvbmVudCwgd2hpY2ggYWxzb1xuICAgICAgICAgICAgICAvLyB1c2VzIGAhaW1wb3J0YW50YC5cbiAgICAgICAgICAgICAgLy8gQW55d2F5LCBhcHBhcmVudGx5IGJ5IHBhc3NpbmcgdGhlIHN0eWxlIGFzIGEgYGNzc2AgcHJvcCB0byB0aGUgYHN0eWxlZGAgY29tcG9uZW50XG4gICAgICAgICAgICAgIC8vIGRvZXMgdGhlIHRyaWNrLlxuICAgICAgICAgICAgICAvLyBUT0RPOiByZXZpc2l0IHRoZSBsb2dpYyBhbmQgdGhlIGltcGxlbWVudGF0aW9uIHRvIG1heWJlIGF2b2lkIGhhdmluZyB0byBhcHBseSB0aGlzIHN0eWxlLlxuICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAke3Nob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZVxuICAgICAgICAgICAgICAgICAgPyAnaW5oZXJpdCdcbiAgICAgICAgICAgICAgICAgIDogJzBweCAhaW1wb3J0YW50J307XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy5lcnJvcilcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxMZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXY+e3Byb3BzLmVycm9yfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L0xlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy53YXJuaW5nKVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPExlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdj57cHJvcHMud2FybmluZ308L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9MZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICAgICAge3JlbmRlclRvZ2dsZUJ1dHRvbiAmJiAoXG4gICAgICAgICAgICAgICAgPFJpZ2h0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgPFRvZ2dsZUJ1dHRvbldyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICAgICAgICAgICAgIXNob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICR7Y3VzdG9tUHJvcGVydGllcy5zcGFjaW5nWHN9O1xuICAgICAgICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICAgICAgXX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPEZsYXRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0b2dnbGV9XG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e2ludGwuZm9ybWF0TWVzc2FnZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzT3BlblxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQuY29sbGFwc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBtZXNzYWdlc011bHRpbGluZUlucHV0LmV4cGFuZFxuICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgaWNvbj17XG4gICAgICAgICAgICAgICAgICAgICAgICBpc09wZW4gPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxBbmdsZVVwSWNvbiBzaXplPVwic21hbGxcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEFuZ2xlRG93bkljb24gc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1RvZ2dsZUJ1dHRvbldyYXBwZXI+XG4gICAgICAgICAgICAgICAgPC9SaWdodENvbHVtbj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvUm93PlxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICk7XG4gICAgICB9fVxuICAgIDwvQ29sbGFwc2libGVNb3Rpb24+XG4gICk7XG59O1xuXG50eXBlIFRPcHRpb25zID0ge1xuICBsYW5ndWFnZTogc3RyaW5nO1xuICBlcnJvcj86IFJlYWN0Tm9kZTtcbiAgd2FybmluZz86IFJlYWN0Tm9kZTtcbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgZGVmYXVsdEV4cGFuZE11bHRpbGluZVRleHQ6IGJvb2xlYW47XG4gIHRvZ2dsZUxhbmd1YWdlOiAobGFuZ3VhZ2U6IHN0cmluZykgPT4gdm9pZDtcbiAgaXNPcGVuOiBib29sZWFuO1xuICBzaG93RXhwYW5kSWNvbjogYm9vbGVhbjtcbiAgb25DbGlja0V4cGFuZD86ICgpID0+IGJvb2xlYW47XG4gIGhhc0xhbmd1YWdlc0NvbnRyb2w/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgVFJlbmRlckVkaXRvclByb3BzID0ge1xuICBpZD86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICByZWFkT25seT86IGJvb2xlYW47XG4gIGVkaXRvcj86IFRFZGl0b3I7XG4gIG9wdGlvbnM6IFRPcHRpb25zO1xufTtcbmV4cG9ydCB0eXBlIFRSZW5kZXJFZGl0b3IgPSAoXG4gIHByb3BzOiBUUmVuZGVyRWRpdG9yUHJvcHMsXG4gIGVkaXRvcjogVEVkaXRvcixcbiAgbmV4dDogKCkgPT4gUmVhY3RFbGVtZW50XG4pID0+IFJldHVyblR5cGU8dHlwZW9mIEVkaXRvcj47XG5cbmNvbnN0IHJlbmRlckVkaXRvcjogVFJlbmRlckVkaXRvciA9IChwcm9wcywgZWRpdG9yLCBuZXh0KSA9PiB7XG4gIGlmIChwcm9wcy5vcHRpb25zLnNob3dFeHBhbmRJY29uKSB7XG4gICAgd2FybmluZyhcbiAgICAgIHR5cGVvZiBwcm9wcy5vcHRpb25zLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAncmVuZGVyRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IGludGVybmFsSWQgPSBgJHtwcm9wcy5pZH1fX2ludGVybmFsX19pZGA7XG5cbiAgY29uc3QgY2hpbGRyZW4gPSBjbG9uZUVsZW1lbnQobmV4dCgpLCB7XG4gICAgaWQ6IGludGVybmFsSWQsXG4gIH0pO1xuXG4gIGNvbnN0IHBhc3NlZFByb3BzID0ge1xuICAgIGlkOiBwcm9wcy5pZCxcbiAgICBpc0Rpc2FibGVkOiBwcm9wcy5kaXNhYmxlZCxcbiAgICBpc1JlYWRPbmx5OiBwcm9wcy5yZWFkT25seSxcbiAgICAuLi5waWNrKHByb3BzLm9wdGlvbnMsIFtcbiAgICAgICdkZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dCcsXG4gICAgICAnbGFuZ3VhZ2UnLFxuICAgICAgJ3dhcm5pbmcnLFxuICAgICAgJ2Vycm9yJyxcbiAgICAgICdoYXNXYXJuaW5nJyxcbiAgICAgICdoYXNFcnJvcicsXG4gICAgICAndG9nZ2xlTGFuZ3VhZ2UnLFxuICAgICAgJ2lzT3BlbicsXG4gICAgICAnc2hvd0V4cGFuZEljb24nLFxuICAgICAgJ29uQ2xpY2tFeHBhbmQnLFxuICAgICAgJ2hhc0xhbmd1YWdlc0NvbnRyb2wnLFxuICAgIF0pLFxuICAgIC4uLmZpbHRlckRhdGFBdHRyaWJ1dGVzKHByb3BzKSxcbiAgfTtcblxuICBjb25zdCBpc0ZvY3VzZWQgPSBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQ7XG5cbiAgcmV0dXJuIChcbiAgICA8RWRpdG9yIGVkaXRvcj17ZWRpdG9yfSB7Li4ucGFzc2VkUHJvcHN9PlxuICAgICAge2NoaWxkcmVufVxuICAgICAgPEhpZGRlbklucHV0XG4gICAgICAgIGlzRm9jdXNlZD17Qm9vbGVhbihpc0ZvY3VzZWQpfVxuICAgICAgICBoYW5kbGVGb2N1cz17ZWRpdG9yLmZvY3VzfVxuICAgICAgICBkaXNhYmxlZD17cHJvcHMuZGlzYWJsZWR9XG4gICAgICAgIHJlYWRPbmx5PXtwcm9wcy5yZWFkT25seX1cbiAgICAgICAgaWQ9e3Byb3BzLmlkfVxuICAgICAgLz5cbiAgICA8L0VkaXRvcj5cbiAgKTtcbn07XG5cbkVkaXRvci5kaXNwbGF5TmFtZSA9ICdFZGl0b3InO1xuXG5leHBvcnQgZGVmYXVsdCByZW5kZXJFZGl0b3I7XG4iXX0= */",
125
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImVkaXRvci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUU4QiIsImZpbGUiOiJlZGl0b3IudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgZm9yd2FyZFJlZixcbiAgdHlwZSBSZWFjdE5vZGUsXG4gIHR5cGUgTGVnYWN5UmVmLFxuICB0eXBlIFJlZk9iamVjdCxcbiAgdHlwZSBSZWYsXG4gIHR5cGUgRm9jdXNFdmVudEhhbmRsZXIsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcywgdXNlVGhlbWUgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VJbnRsIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgeyBjdXN0b21Qcm9wZXJ0aWVzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyB3YXJuaW5nLCBmaWx0ZXJEYXRhQXR0cmlidXRlcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3V0aWxzJztcbmltcG9ydCBDb2xsYXBzaWJsZU1vdGlvbiBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9jb2xsYXBzaWJsZS1tb3Rpb24nO1xuaW1wb3J0IFN0YWNrIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NwYWNpbmdzLXN0YWNrJztcbmltcG9ydCB7IEFuZ2xlVXBJY29uLCBBbmdsZURvd25JY29uIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IFRleHQgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvdGV4dCc7XG5pbXBvcnQgRmxhdEJ1dHRvbiBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9mbGF0LWJ1dHRvbic7XG5pbXBvcnQgeyBtZXNzYWdlc011bHRpbGluZUlucHV0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaW5wdXQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgUmljaFRleHRCb2R5LFxuICBIaWRkZW5JbnB1dCxcbiAgRWxlbWVudCxcbiAgTGVhZixcbiAgdG9nZ2xlTWFyayxcbiAgcmVzZXRFZGl0b3IsXG4gIGZvY3VzRWRpdG9yLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9yaWNoLXRleHQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgRWRpdGFibGUsXG4gIHdpdGhSZWFjdCxcbiAgU2xhdGUsXG4gIFJlYWN0RWRpdG9yLFxuICB0eXBlIFJlbmRlckVsZW1lbnRQcm9wcyxcbiAgdHlwZSBSZW5kZXJMZWFmUHJvcHMsXG59IGZyb20gJ3NsYXRlLXJlYWN0JztcbmltcG9ydCB7IGNyZWF0ZUVkaXRvciwgdHlwZSBEZXNjZW5kYW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgd2l0aEhpc3RvcnkgfSBmcm9tICdzbGF0ZS1oaXN0b3J5JztcbmltcG9ydCBpc0hvdGtleSBmcm9tICdpcy1ob3RrZXknO1xuaW1wb3J0IHBpcGUgZnJvbSAnbG9kYXNoL2ZwL3BpcGUnO1xuaW1wb3J0IHtcbiAgRWRpdG9yV3JhcHBlcixcbiAgRWRpdG9yTGFuZ3VhZ2VMYWJlbCxcbiAgVG9nZ2xlQnV0dG9uV3JhcHBlcixcbn0gZnJvbSAnLi9lZGl0b3Iuc3R5bGVzJztcblxuY29uc3QgSE9US0VZUyA9IHtcbiAgJ21vZCtiJzogJ2JvbGQnLFxuICAnbW9kK2knOiAnaXRhbGljJyxcbiAgJ21vZCt1JzogJ3VuZGVybGluZScsXG4gICdtb2QrYCc6ICdjb2RlJyxcbn07XG5cbmNvbnN0IENPTExBUFNFRF9IRUlHSFQgPSAzMjtcblxuY29uc3QgTGVmdENvbHVtbiA9IHN0eWxlZC5kaXZgXG4gIGZsZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgUmlnaHRDb2x1bW4gPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgUm93ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmV4cG9ydCB0eXBlIFRFZGl0b3JQcm9wcyA9IHtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGlkPzogc3RyaW5nO1xuICBpc09wZW46IGJvb2xlYW47XG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xuICBpc1JlYWRPbmx5PzogYm9vbGVhbjtcbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgZXJyb3I/OiBSZWFjdE5vZGU7XG4gIHdhcm5pbmc/OiBSZWFjdE5vZGU7XG4gIGRlZmF1bHRFeHBhbmRNdWx0aWxpbmVUZXh0OiBib29sZWFuO1xuICB0b2dnbGVMYW5ndWFnZTogKGxhbmd1YWdlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIGxhbmd1YWdlOiBzdHJpbmc7XG4gIHNob3dFeHBhbmRJY29uOiBib29sZWFuO1xuICBvbkNsaWNrRXhwYW5kPzogKCkgPT4gYm9vbGVhbjtcbiAgaGFzTGFuZ3VhZ2VzQ29udHJvbD86IGJvb2xlYW47XG4gIHZhbHVlOiBEZXNjZW5kYW50W107XG4gIG9uQ2hhbmdlOiAoc3RhdGU6IERlc2NlbmRhbnRbXSkgPT4gdm9pZDtcbiAgb25Gb2N1cz86IEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgb25CbHVyPzogRm9jdXNFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xuICBpc0F1dG9mb2N1c2VkPzogYm9vbGVhbjtcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIHJlZj86IFJlZjx1bmtub3duPjtcbn07XG5cbnR5cGUgVE5vZGVSZWZPYmplY3QgPSB7XG4gIGNsaWVudEhlaWdodDogbnVtYmVyO1xufSAmIExlZ2FjeVJlZjxIVE1MRGl2RWxlbWVudD47XG5cbnR5cGUgVFJpY2hUZXh0RWRpdG9yQm9keVJlZiA9IHtcbiAgcmVnaXN0ZXJDb250ZW50Tm9kZTogVE5vZGVSZWZPYmplY3Q7XG4gIGNvbnRhaW5lclJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50Pjtcbn07XG5cbmNvbnN0IHJlbmRlckVsZW1lbnQgPSAocHJvcHM6IFJlbmRlckVsZW1lbnRQcm9wcykgPT4gPEVsZW1lbnQgey4uLnByb3BzfSAvPjtcbmNvbnN0IHJlbmRlckxlYWYgPSAocHJvcHM6IFJlbmRlckxlYWZQcm9wcykgPT4gPExlYWYgey4uLnByb3BzfSAvPjtcblxuY29uc3QgRWRpdG9yID0gZm9yd2FyZFJlZigocHJvcHM6IFRFZGl0b3JQcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gIGNvbnN0IGludGwgPSB1c2VJbnRsKCk7XG4gIGNvbnN0IHJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4oKTtcblxuICBjb25zdCBjcmVhdGVFZGl0b3JXaXRoUGx1Z2lucyA9IHBpcGUod2l0aFJlYWN0LCB3aXRoSGlzdG9yeSk7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgY29uc3QgZWRpdG9yID0gdXNlTWVtbygoKSA9PiBjcmVhdGVFZGl0b3JXaXRoUGx1Z2lucyhjcmVhdGVFZGl0b3IoKSksIFtdKTtcblxuICBpZiAocHJvcHMuc2hvd0V4cGFuZEljb24pIHtcbiAgICB3YXJuaW5nKFxuICAgICAgdHlwZW9mIHByb3BzLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAnRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IFtyZW5kZXJUb2dnbGVCdXR0b24sIHNldFJlbmRlclRvZ2dsZUJ1dHRvbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgeyB0b2dnbGVMYW5ndWFnZSB9ID0gcHJvcHM7XG4gIGNvbnN0IG9uVG9nZ2xlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHRvZ2dsZUxhbmd1YWdlKHByb3BzLmxhbmd1YWdlKTtcbiAgfSwgW3RvZ2dsZUxhbmd1YWdlLCBwcm9wcy5sYW5ndWFnZV0pO1xuXG4gIGNvbnN0IHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgPVxuICAgICAgTnVtYmVyKHJlZi5jdXJyZW50Py5jbGllbnRIZWlnaHQpID4gQ09MTEFQU0VEX0hFSUdIVDtcblxuICAgIGlmIChkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgJiYgIXJlbmRlclRvZ2dsZUJ1dHRvbikge1xuICAgICAgc2V0UmVuZGVyVG9nZ2xlQnV0dG9uKHRydWUpO1xuICAgIH1cbiAgICBpZiAoIWRvZXNFeGNlZWRDb2xsYXBzZWRIZWlnaHRMaW1pdCAmJiByZW5kZXJUb2dnbGVCdXR0b24pIHtcbiAgICAgIHNldFJlbmRlclRvZ2dsZUJ1dHRvbihmYWxzZSk7XG4gICAgfVxuICB9LCBbc2V0UmVuZGVyVG9nZ2xlQnV0dG9uLCByZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbigpO1xuICB9LCBbZWRpdG9yLCB1cGRhdGVSZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICAvLyByZXNldHRpbmdcbiAgY29uc3QgcmVzZXRWYWx1ZSA9IHVzZUNhbGxiYWNrKFxuICAgIChuZXdWYWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgICByZXNldEVkaXRvcihlZGl0b3IsIG5ld1ZhbHVlKTtcbiAgICB9LFxuICAgIFtlZGl0b3JdXG4gICk7XG4gIC8qIFxuICBSZXNldHRpbmcgdGhlIGVkaXRvciByZXF1aXJlcyBhY2Nlc3MgdG8gYGVkaXRvcmAgb2JqZWN0IHJldHVybmVkIGZyb20gYHVzZVNsYXRlYCBob29rLlxuICBUaGVyZWZvcmUsIGByZXNldGAgZnVuY3Rpb24gaXMgYXR0YWNoZWQgdG8gdGhlIHBhc3NlZCBgcmVmYCBvYmplY3QgdmlhIGB1c2VJbXBlcmF0aXZlSGFuZGxlYCBcbiAgdG8gYmUgY2FsbGVkIGZyb20gdGhlIHBhcmVudCBjb21wb25lbnQuIFxuICBlLmcuIDxidXR0b24gb25Nb3VzZURvd249eygpID0+IHJlZi5jdXJyZW50Py5yZXNldFZhbHVlKFwiPHA+PHN0cm9uZz5WYWx1ZSBhZnRlciByZXNldDwvc3Ryb25nPjwvcD5cIil9PlJlc2V0PC9idXR0b24+XG4gICovXG4gIHVzZUltcGVyYXRpdmVIYW5kbGUoZm9yd2FyZGVkUmVmLCAoKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJlc2V0VmFsdWUsXG4gICAgfTtcbiAgfSk7XG5cbiAgY29uc3Qgc2hvdWxkVG9nZ2xlQnV0dG9uVGFrZVNwYWNlID1cbiAgICAvKiBcbiAgICAgIC0gaWYgaGFzTGFuZ3VhZ2VzQ29udHJvbCBhbmQgdGhlcmUgYXJlIG5vIGVycm9ycy93YXJuaW5ncyB0byBkaXNwbGF5XG4gICAgICAtIHRoZW4gdGhlIHRvZ2dsZUJ1dHRvbiBpcyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWRcbiAgICAgIFRoaXMgaXMgYmVjYXVzZSB0aGUgdG9nZ2xlIGJ1dHRvbiBpcyBwbGFjZWQgbmV4dCB0byB0aGUgTG9jYWxpemVkSW5wdXRUb2dnbGUgd2l0aG91dCBiZWluZyBzaWJsaW5ncyBpbiB0aGUgRE9NLlxuICAgICAgSWYgdGhlcmUgaXMgYSBlcnJvciBvciB3YXJuaW5nIHNob3dpbmcsXG4gICAgICB0aGVuIGl0IGNhbiBiZSBwbGFjZWQgc3RhdGljYWxseSBiZWNhdXNlIGl0IHdpbGwgdGhlbiBiZSBhIHNpYmxpbmcgdG8gdGhlIGVycm9yL3dhcm5pbmcgbWVzc2FnZVxuICAgICAgYW5kIExvY2FsaXplZElucHV0VG9nZ2xlIGlzIHBsYWNlZCBiZWxvdyB0aGUgZXJyb3JzL3dhcm5pbmdzLiBcbiAgICAqL1xuXG4gICAgKHJlbmRlclRvZ2dsZUJ1dHRvbiAmJiAhcHJvcHMuaGFzTGFuZ3VhZ2VzQ29udHJvbCkgfHxcbiAgICBwcm9wcy5lcnJvciB8fFxuICAgIHByb3BzLndhcm5pbmc7XG5cbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuXG4gIHJldHVybiAoXG4gICAgPENvbGxhcHNpYmxlTW90aW9uXG4gICAgICBtaW5IZWlnaHQ9e0NPTExBUFNFRF9IRUlHSFR9XG4gICAgICBpc0Nsb3NlZD17IXByb3BzLmlzT3Blbn1cbiAgICAgIG9uVG9nZ2xlPXtvblRvZ2dsZX1cbiAgICAgIGlzRGVmYXVsdENsb3NlZD17IXByb3BzLmRlZmF1bHRFeHBhbmRNdWx0aWxpbmVUZXh0fVxuICAgID5cbiAgICAgIHsoeyBpc09wZW4sIHRvZ2dsZSwgY29udGFpbmVyU3R5bGVzLCByZWdpc3RlckNvbnRlbnROb2RlIH0pID0+IHtcbiAgICAgICAgY29uc3QgcmVmT2JqID0ge1xuICAgICAgICAgIGNvbnRhaW5lclJlZjogcmVmLFxuICAgICAgICAgIHJlZ2lzdGVyQ29udGVudE5vZGUsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8U3RhY2sgc2NhbGU9XCJ4c1wiPlxuICAgICAgICAgICAgPEVkaXRvcldyYXBwZXJcbiAgICAgICAgICAgICAga2V5PXtwcm9wcy5sYW5ndWFnZX1cbiAgICAgICAgICAgICAgaXNEaXNhYmxlZD17cHJvcHMuaXNEaXNhYmxlZH1cbiAgICAgICAgICAgICAgaXNSZWFkT25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFNsYXRlXG4gICAgICAgICAgICAgICAgZWRpdG9yPXtlZGl0b3J9XG4gICAgICAgICAgICAgICAgdmFsdWU9e3Byb3BzLnZhbHVlfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtwcm9wcy5vbkNoYW5nZX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxFZGl0b3JMYW5ndWFnZUxhYmVsIGh0bWxGb3I9e3Byb3BzLmlkfSB0aGVtZT17dGhlbWV9PlxuICAgICAgICAgICAgICAgICAgey8qIEZJWE1FOiBhZGQgcHJvcGVyIHRvbmUgZm9yIGRpc2FibGVkIHdoZW4gdG9uZXMgYXJlIHJlZmFjdG9yZWQgKi99XG4gICAgICAgICAgICAgICAgICA8VGV4dC5EZXRhaWwgdG9uZT1cInNlY29uZGFyeVwiPlxuICAgICAgICAgICAgICAgICAgICB7cHJvcHMubGFuZ3VhZ2UudG9VcHBlckNhc2UoKX1cbiAgICAgICAgICAgICAgICAgIDwvVGV4dC5EZXRhaWw+XG4gICAgICAgICAgICAgICAgPC9FZGl0b3JMYW5ndWFnZUxhYmVsPlxuICAgICAgICAgICAgICAgIDxSaWNoVGV4dEJvZHlcbiAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgIHJlZj17cmVmT2JqIGFzIHVua25vd24gYXMgUmVmPFRSaWNoVGV4dEVkaXRvckJvZHlSZWY+fVxuICAgICAgICAgICAgICAgICAgc3R5bGVzPXt7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogY3NzYFxuICAgICAgICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICBgLFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIGhhc0Vycm9yPXtwcm9wcy5oYXNFcnJvcn1cbiAgICAgICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICBoYXNXYXJuaW5nPXtwcm9wcy5oYXNXYXJuaW5nfVxuICAgICAgICAgICAgICAgICAgaXNSZWFkT25seT17Qm9vbGVhbihwcm9wcy5pc1JlYWRPbmx5KX1cbiAgICAgICAgICAgICAgICAgIHNob3dFeHBhbmRJY29uPXtCb29sZWFuKHByb3BzLnNob3dFeHBhbmRJY29uKX1cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2tFeHBhbmQ9e3Byb3BzLm9uQ2xpY2tFeHBhbmR9XG4gICAgICAgICAgICAgICAgICBjb250YWluZXJTdHlsZXM9e2NvbnRhaW5lclN0eWxlc31cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8RWRpdGFibGVcbiAgICAgICAgICAgICAgICAgICAgey4uLmZpbHRlckRhdGFBdHRyaWJ1dGVzKHByb3BzKX1cbiAgICAgICAgICAgICAgICAgICAgbmFtZT17cHJvcHMubmFtZX1cbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyRWxlbWVudD17cmVuZGVyRWxlbWVudH1cbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyTGVhZj17cmVuZGVyTGVhZn1cbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3Byb3BzLnBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgICAgICAgICBhdXRvRm9jdXM9e3Byb3BzLmlzQXV0b2ZvY3VzZWR9XG4gICAgICAgICAgICAgICAgICAgIG9uQmx1cj17cHJvcHMub25CbHVyfVxuICAgICAgICAgICAgICAgICAgICBvbkZvY3VzPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5vbkZvY3VzPy4oZXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICAgIC8vIG9wZW5zIHRoZSBpbnB1dCBpZiBpdCByZWdhaW5zIGZvY3VzIGFuZCBpdCdzIGNsb3NlZFxuICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNPcGVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzRWRpdG9yKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICByZWFkT25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBob3RrZXkgaW4gSE9US0VZUykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzSG90a2V5KGhvdGtleSwgZXZlbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hcmsgPSBIT1RLRVlTW2hvdGtleSBhcyBrZXlvZiB0eXBlb2YgSE9US0VZU107XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZU1hcmsoZWRpdG9yLCBtYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgIDxIaWRkZW5JbnB1dFxuICAgICAgICAgICAgICAgICAgICBpc0ZvY3VzZWQ9e1JlYWN0RWRpdG9yLmlzRm9jdXNlZChlZGl0b3IpfVxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVGb2N1cz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGZvY3VzRWRpdG9yKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIGlkPXtwcm9wcy5pZH1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXtwcm9wcy5pc1JlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L1JpY2hUZXh0Qm9keT5cbiAgICAgICAgICAgICAgPC9TbGF0ZT5cbiAgICAgICAgICAgIDwvRWRpdG9yV3JhcHBlcj5cbiAgICAgICAgICAgIDxSb3dcbiAgICAgICAgICAgICAgLy8gTk9URTogYXBwbHlpbmcgdGhpcyBzdHlsZSB3aXRoaW5nIHRoZSBgc3R5bGVkYCBjb21wb25lbnQgcmVzdWx0cyBpbiB0aGUgcHJvZHVjdGlvblxuICAgICAgICAgICAgICAvLyBidW5kbGUgdG8gYXBwbHkgdGhlIHN0eWxlIGluIHRoZSB3cm9uZyBvcmRlci5cbiAgICAgICAgICAgICAgLy8gRm9yIGluc3RhbmNlLCB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSBtYXJnaW5nIG9mIHRoZSBzcGFjaW5nIGNvbXBvbmVudCwgd2hpY2ggYWxzb1xuICAgICAgICAgICAgICAvLyB1c2VzIGAhaW1wb3J0YW50YC5cbiAgICAgICAgICAgICAgLy8gQW55d2F5LCBhcHBhcmVudGx5IGJ5IHBhc3NpbmcgdGhlIHN0eWxlIGFzIGEgYGNzc2AgcHJvcCB0byB0aGUgYHN0eWxlZGAgY29tcG9uZW50XG4gICAgICAgICAgICAgIC8vIGRvZXMgdGhlIHRyaWNrLlxuICAgICAgICAgICAgICAvLyBUT0RPOiByZXZpc2l0IHRoZSBsb2dpYyBhbmQgdGhlIGltcGxlbWVudGF0aW9uIHRvIG1heWJlIGF2b2lkIGhhdmluZyB0byBhcHBseSB0aGlzIHN0eWxlLlxuICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAke3Nob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZVxuICAgICAgICAgICAgICAgICAgPyAnaW5oZXJpdCdcbiAgICAgICAgICAgICAgICAgIDogJzBweCAhaW1wb3J0YW50J307XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy5lcnJvcilcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxMZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXY+e3Byb3BzLmVycm9yfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L0xlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy53YXJuaW5nKVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPExlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdj57cHJvcHMud2FybmluZ308L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9MZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICAgICAge3JlbmRlclRvZ2dsZUJ1dHRvbiAmJiAoXG4gICAgICAgICAgICAgICAgPFJpZ2h0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgPFRvZ2dsZUJ1dHRvbldyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICAgICAgICAgICAgIXNob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICR7Y3VzdG9tUHJvcGVydGllcy5zcGFjaW5nWHN9O1xuICAgICAgICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICAgICAgXX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPEZsYXRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0b2dnbGV9XG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e2ludGwuZm9ybWF0TWVzc2FnZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzT3BlblxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQuY29sbGFwc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBtZXNzYWdlc011bHRpbGluZUlucHV0LmV4cGFuZFxuICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgaWNvbj17XG4gICAgICAgICAgICAgICAgICAgICAgICBpc09wZW4gPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxBbmdsZVVwSWNvbiBzaXplPVwic21hbGxcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEFuZ2xlRG93bkljb24gc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1RvZ2dsZUJ1dHRvbldyYXBwZXI+XG4gICAgICAgICAgICAgICAgPC9SaWdodENvbHVtbj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvUm93PlxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICk7XG4gICAgICB9fVxuICAgIDwvQ29sbGFwc2libGVNb3Rpb24+XG4gICk7XG59KTtcbkVkaXRvci5kaXNwbGF5TmFtZSA9ICdFZGl0b3InO1xuXG5leHBvcnQgZGVmYXVsdCBFZGl0b3I7XG4iXX0= */",
118
126
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1
119
127
  });
120
128
 
@@ -129,26 +137,36 @@ var Row = _styled("div", process.env.NODE_ENV === "production" ? {
129
137
  } : {
130
138
  name: "skgbeu",
131
139
  styles: "display:flex;justify-content:flex-end",
132
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImVkaXRvci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbURzQiIsImZpbGUiOiJlZGl0b3IudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgY2xvbmVFbGVtZW50LFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBSZWFjdEVsZW1lbnQsXG4gIHR5cGUgTGVnYWN5UmVmLFxuICB0eXBlIFJlZk9iamVjdCxcbiAgdHlwZSBSZWYsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCBwaWNrIGZyb20gJ2xvZGFzaC9waWNrJztcbmltcG9ydCB7IGNzcywgdXNlVGhlbWUgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VJbnRsIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgeyBjdXN0b21Qcm9wZXJ0aWVzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyBmaWx0ZXJEYXRhQXR0cmlidXRlcywgd2FybmluZyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3V0aWxzJztcbmltcG9ydCB7IHVzZVByZXZpb3VzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaG9va3MnO1xuaW1wb3J0IENvbGxhcHNpYmxlTW90aW9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2NvbGxhcHNpYmxlLW1vdGlvbic7XG5pbXBvcnQgU3RhY2sgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc3BhY2luZ3Mtc3RhY2snO1xuaW1wb3J0IHsgQW5nbGVVcEljb24sIEFuZ2xlRG93bkljb24gfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgVGV4dCBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC90ZXh0JztcbmltcG9ydCBGbGF0QnV0dG9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ZsYXQtYnV0dG9uJztcbmltcG9ydCB7IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pbnB1dC11dGlscyc7XG5pbXBvcnQge1xuICBSaWNoVGV4dEJvZHksXG4gIEhpZGRlbklucHV0LFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9yaWNoLXRleHQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgRWRpdG9yV3JhcHBlcixcbiAgRWRpdG9yTGFuZ3VhZ2VMYWJlbCxcbiAgVG9nZ2xlQnV0dG9uV3JhcHBlcixcbn0gZnJvbSAnLi9lZGl0b3Iuc3R5bGVzJztcbmltcG9ydCB0eXBlIHsgVEVkaXRvciB9IGZyb20gJy4vZWRpdG9yLnR5cGVzJztcblxuY29uc3QgQ09MTEFQU0VEX0hFSUdIVCA9IDMyO1xuXG5jb25zdCBMZWZ0Q29sdW1uID0gc3R5bGVkLmRpdmBcbiAgZmxleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5gO1xuXG5jb25zdCBSaWdodENvbHVtbiA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5gO1xuXG5jb25zdCBSb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuYDtcblxuZXhwb3J0IHR5cGUgVEVkaXRvclByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBpZD86IHN0cmluZztcbiAgaXNPcGVuOiBib29sZWFuO1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgaXNSZWFkT25seT86IGJvb2xlYW47XG4gIGhhc1dhcm5pbmc/OiBib29sZWFuO1xuICBoYXNFcnJvcj86IGJvb2xlYW47XG4gIGVkaXRvcj86IFRFZGl0b3I7XG4gIGVycm9yPzogUmVhY3ROb2RlO1xuICB3YXJuaW5nPzogUmVhY3ROb2RlO1xuICBkZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dDogYm9vbGVhbjtcbiAgdG9nZ2xlTGFuZ3VhZ2U6IChsYW5ndWFnZTogc3RyaW5nKSA9PiB2b2lkO1xuICBsYW5ndWFnZTogc3RyaW5nO1xuICBzaG93RXhwYW5kSWNvbjogYm9vbGVhbjtcbiAgb25DbGlja0V4cGFuZD86ICgpID0+IGJvb2xlYW47XG4gIGhhc0xhbmd1YWdlc0NvbnRyb2w/OiBib29sZWFuO1xufTtcblxudHlwZSBUTm9kZVJlZk9iamVjdCA9IHtcbiAgY2xpZW50SGVpZ2h0OiBudW1iZXI7XG59ICYgTGVnYWN5UmVmPEhUTUxEaXZFbGVtZW50PjtcblxudHlwZSBUUmljaFRleHRFZGl0b3JCb2R5UmVmID0ge1xuICByZWdpc3RlckNvbnRlbnROb2RlOiBUTm9kZVJlZk9iamVjdDtcbiAgY29udGFpbmVyUmVmOiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xufTtcblxuY29uc3QgRWRpdG9yID0gKHByb3BzOiBURWRpdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgaW50bCA9IHVzZUludGwoKTtcbiAgY29uc3QgcmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PigpO1xuICBjb25zdCBwcmV2SXNGb2N1c2VkID0gdXNlUHJldmlvdXMocHJvcHMuZWRpdG9yPy52YWx1ZS5zZWxlY3Rpb24uaXNGb2N1c2VkKTtcblxuICBpZiAocHJvcHMuc2hvd0V4cGFuZEljb24pIHtcbiAgICB3YXJuaW5nKFxuICAgICAgdHlwZW9mIHByb3BzLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAnRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IFtyZW5kZXJUb2dnbGVCdXR0b24sIHNldFJlbmRlclRvZ2dsZUJ1dHRvbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgeyB0b2dnbGVMYW5ndWFnZSB9ID0gcHJvcHM7XG4gIGNvbnN0IG9uVG9nZ2xlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHRvZ2dsZUxhbmd1YWdlKHByb3BzLmxhbmd1YWdlKTtcbiAgfSwgW3RvZ2dsZUxhbmd1YWdlLCBwcm9wcy5sYW5ndWFnZV0pO1xuXG4gIGNvbnN0IHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgPVxuICAgICAgTnVtYmVyKHJlZi5jdXJyZW50Py5jbGllbnRIZWlnaHQpID4gQ09MTEFQU0VEX0hFSUdIVDtcblxuICAgIGlmIChkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgJiYgIXJlbmRlclRvZ2dsZUJ1dHRvbikge1xuICAgICAgc2V0UmVuZGVyVG9nZ2xlQnV0dG9uKHRydWUpO1xuICAgIH1cbiAgICBpZiAoIWRvZXNFeGNlZWRDb2xsYXBzZWRIZWlnaHRMaW1pdCAmJiByZW5kZXJUb2dnbGVCdXR0b24pIHtcbiAgICAgIHNldFJlbmRlclRvZ2dsZUJ1dHRvbihmYWxzZSk7XG4gICAgfVxuICB9LCBbc2V0UmVuZGVyVG9nZ2xlQnV0dG9uLCByZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbigpO1xuICB9LCBbcHJvcHMuZWRpdG9yPy52YWx1ZS5kb2N1bWVudCwgdXBkYXRlUmVuZGVyVG9nZ2xlQnV0dG9uXSk7XG5cbiAgLy8gb3BlbnMgdGhlIGlucHV0IGlmIGl0IHJlZ2FpbnMgZm9jdXMgYW5kIGl0J3MgY2xvc2VkXG4gIGlmIChcbiAgICBwcmV2SXNGb2N1c2VkICE9PSBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQgJiZcbiAgICBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQgJiZcbiAgICAhcHJvcHMuaXNPcGVuXG4gICkge1xuICAgIG9uVG9nZ2xlKCk7XG4gIH1cblxuICBjb25zdCBzaG91bGRUb2dnbGVCdXR0b25UYWtlU3BhY2UgPVxuICAgIC8qXG4gICAgICAtIGlmIGhhc0xhbmd1YWdlc0NvbnRyb2wgYW5kIHRoZXJlIGFyZSBubyBlcnJvcnMvd2FybmluZ3MgdG8gZGlzcGxheVxuICAgICAgLSB0aGVuIHRoZSB0b2dnbGVCdXR0b24gaXMgYWJzb2x1dGVseSBwb3NpdGlvbmVkXG4gICAgICBUaGlzIGlzIGJlY2F1c2UgdGhlIHRvZ2dsZSBidXR0b24gaXMgcGxhY2VkIG5leHQgdG8gdGhlIExvY2FsaXplZElucHV0VG9nZ2xlIHdpdGhvdXQgYmVpbmcgc2libGluZ3MgaW4gdGhlIERPTS5cbiAgICAgIElmIHRoZXJlIGlzIGEgZXJyb3Igb3Igd2FybmluZyBzaG93aW5nLFxuICAgICAgdGhlbiBpdCBjYW4gYmUgcGxhY2VkIHN0YXRpY2FsbHkgYmVjYXVzZSBpdCB3aWxsIHRoZW4gYmUgYSBzaWJsaW5nIHRvIHRoZSBlcnJvci93YXJuaW5nIG1lc3NhZ2VcbiAgICAgIGFuZCBMb2NhbGl6ZWRJbnB1dFRvZ2dsZSBpcyBwbGFjZWQgYmVsb3cgdGhlIGVycm9ycy93YXJuaW5ncy5cbiAgICAqL1xuICAgIChyZW5kZXJUb2dnbGVCdXR0b24gJiYgIXByb3BzLmhhc0xhbmd1YWdlc0NvbnRyb2wpIHx8XG4gICAgcHJvcHMuZXJyb3IgfHxcbiAgICBwcm9wcy53YXJuaW5nO1xuXG4gIGNvbnN0IHRoZW1lID0gdXNlVGhlbWUoKTtcblxuICByZXR1cm4gKFxuICAgIDxDb2xsYXBzaWJsZU1vdGlvblxuICAgICAgbWluSGVpZ2h0PXtDT0xMQVBTRURfSEVJR0hUfVxuICAgICAgaXNDbG9zZWQ9eyFwcm9wcy5pc09wZW59XG4gICAgICBvblRvZ2dsZT17b25Ub2dnbGV9XG4gICAgICBpc0RlZmF1bHRDbG9zZWQ9eyFwcm9wcy5kZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dH1cbiAgICA+XG4gICAgICB7KHsgaXNPcGVuLCB0b2dnbGUsIGNvbnRhaW5lclN0eWxlcywgcmVnaXN0ZXJDb250ZW50Tm9kZSB9KSA9PiB7XG4gICAgICAgIGNvbnN0IHJlZk9iaiA9IHtcbiAgICAgICAgICBjb250YWluZXJSZWY6IHJlZixcbiAgICAgICAgICByZWdpc3RlckNvbnRlbnROb2RlLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPFN0YWNrIHNjYWxlPVwieHNcIj5cbiAgICAgICAgICAgIDxFZGl0b3JXcmFwcGVyXG4gICAgICAgICAgICAgIGtleT17cHJvcHMubGFuZ3VhZ2V9XG4gICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgIGlzUmVhZE9ubHk9e3Byb3BzLmlzUmVhZE9ubHl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxFZGl0b3JMYW5ndWFnZUxhYmVsIGh0bWxGb3I9e3Byb3BzLmlkfSB0aGVtZT17dGhlbWV9PlxuICAgICAgICAgICAgICAgIHsvKiBGSVhNRTogYWRkIHByb3BlciB0b25lIGZvciBkaXNhYmxlZCB3aGVuIHRvbmVzIGFyZSByZWZhY3RvcmVkICovfVxuICAgICAgICAgICAgICAgIDxUZXh0LkRldGFpbCB0b25lPVwic2Vjb25kYXJ5XCI+XG4gICAgICAgICAgICAgICAgICB7cHJvcHMubGFuZ3VhZ2UudG9VcHBlckNhc2UoKX1cbiAgICAgICAgICAgICAgICA8L1RleHQuRGV0YWlsPlxuICAgICAgICAgICAgICA8L0VkaXRvckxhbmd1YWdlTGFiZWw+XG5cbiAgICAgICAgICAgICAgPFJpY2hUZXh0Qm9keVxuICAgICAgICAgICAgICAgIHJlZj17cmVmT2JqIGFzIHVua25vd24gYXMgUmVmPFRSaWNoVGV4dEVkaXRvckJvZHlSZWY+fVxuICAgICAgICAgICAgICAgIHN0eWxlcz17e1xuICAgICAgICAgICAgICAgICAgY29udGFpbmVyOiBjc3NgXG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIGhhc0Vycm9yPXtwcm9wcy5oYXNFcnJvcn1cbiAgICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkfVxuICAgICAgICAgICAgICAgIGhhc1dhcm5pbmc9e3Byb3BzLmhhc1dhcm5pbmd9XG4gICAgICAgICAgICAgICAgaXNSZWFkT25seT17Qm9vbGVhbihwcm9wcy5pc1JlYWRPbmx5KX1cbiAgICAgICAgICAgICAgICBlZGl0b3I9e3Byb3BzLmVkaXRvciBhcyBURWRpdG9yfVxuICAgICAgICAgICAgICAgIGNvbnRhaW5lclN0eWxlcz17Y29udGFpbmVyU3R5bGVzfVxuICAgICAgICAgICAgICAgIHNob3dFeHBhbmRJY29uPXtwcm9wcy5zaG93RXhwYW5kSWNvbn1cbiAgICAgICAgICAgICAgICBvbkNsaWNrRXhwYW5kPXtwcm9wcy5vbkNsaWNrRXhwYW5kfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgICAgICA8L1JpY2hUZXh0Qm9keT5cbiAgICAgICAgICAgIDwvRWRpdG9yV3JhcHBlcj5cbiAgICAgICAgICAgIDxSb3dcbiAgICAgICAgICAgICAgLy8gTk9URTogYXBwbHlpbmcgdGhpcyBzdHlsZSB3aXRoaW5nIHRoZSBgc3R5bGVkYCBjb21wb25lbnQgcmVzdWx0cyBpbiB0aGUgcHJvZHVjdGlvblxuICAgICAgICAgICAgICAvLyBidW5kbGUgdG8gYXBwbHkgdGhlIHN0eWxlIGluIHRoZSB3cm9uZyBvcmRlci5cbiAgICAgICAgICAgICAgLy8gRm9yIGluc3RhbmNlLCB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSBtYXJnaW5nIG9mIHRoZSBzcGFjaW5nIGNvbXBvbmVudCwgd2hpY2ggYWxzb1xuICAgICAgICAgICAgICAvLyB1c2VzIGAhaW1wb3J0YW50YC5cbiAgICAgICAgICAgICAgLy8gQW55d2F5LCBhcHBhcmVudGx5IGJ5IHBhc3NpbmcgdGhlIHN0eWxlIGFzIGEgYGNzc2AgcHJvcCB0byB0aGUgYHN0eWxlZGAgY29tcG9uZW50XG4gICAgICAgICAgICAgIC8vIGRvZXMgdGhlIHRyaWNrLlxuICAgICAgICAgICAgICAvLyBUT0RPOiByZXZpc2l0IHRoZSBsb2dpYyBhbmQgdGhlIGltcGxlbWVudGF0aW9uIHRvIG1heWJlIGF2b2lkIGhhdmluZyB0byBhcHBseSB0aGlzIHN0eWxlLlxuICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAke3Nob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZVxuICAgICAgICAgICAgICAgICAgPyAnaW5oZXJpdCdcbiAgICAgICAgICAgICAgICAgIDogJzBweCAhaW1wb3J0YW50J307XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy5lcnJvcilcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxMZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXY+e3Byb3BzLmVycm9yfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L0xlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy53YXJuaW5nKVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPExlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdj57cHJvcHMud2FybmluZ308L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9MZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICAgICAge3JlbmRlclRvZ2dsZUJ1dHRvbiAmJiAoXG4gICAgICAgICAgICAgICAgPFJpZ2h0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgPFRvZ2dsZUJ1dHRvbldyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICAgICAgICAgICAgIXNob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICR7Y3VzdG9tUHJvcGVydGllcy5zcGFjaW5nWHN9O1xuICAgICAgICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICAgICAgXX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPEZsYXRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0b2dnbGV9XG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e2ludGwuZm9ybWF0TWVzc2FnZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzT3BlblxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQuY29sbGFwc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBtZXNzYWdlc011bHRpbGluZUlucHV0LmV4cGFuZFxuICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgaWNvbj17XG4gICAgICAgICAgICAgICAgICAgICAgICBpc09wZW4gPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxBbmdsZVVwSWNvbiBzaXplPVwic21hbGxcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEFuZ2xlRG93bkljb24gc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1RvZ2dsZUJ1dHRvbldyYXBwZXI+XG4gICAgICAgICAgICAgICAgPC9SaWdodENvbHVtbj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvUm93PlxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICk7XG4gICAgICB9fVxuICAgIDwvQ29sbGFwc2libGVNb3Rpb24+XG4gICk7XG59O1xuXG50eXBlIFRPcHRpb25zID0ge1xuICBsYW5ndWFnZTogc3RyaW5nO1xuICBlcnJvcj86IFJlYWN0Tm9kZTtcbiAgd2FybmluZz86IFJlYWN0Tm9kZTtcbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgZGVmYXVsdEV4cGFuZE11bHRpbGluZVRleHQ6IGJvb2xlYW47XG4gIHRvZ2dsZUxhbmd1YWdlOiAobGFuZ3VhZ2U6IHN0cmluZykgPT4gdm9pZDtcbiAgaXNPcGVuOiBib29sZWFuO1xuICBzaG93RXhwYW5kSWNvbjogYm9vbGVhbjtcbiAgb25DbGlja0V4cGFuZD86ICgpID0+IGJvb2xlYW47XG4gIGhhc0xhbmd1YWdlc0NvbnRyb2w/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgVFJlbmRlckVkaXRvclByb3BzID0ge1xuICBpZD86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICByZWFkT25seT86IGJvb2xlYW47XG4gIGVkaXRvcj86IFRFZGl0b3I7XG4gIG9wdGlvbnM6IFRPcHRpb25zO1xufTtcbmV4cG9ydCB0eXBlIFRSZW5kZXJFZGl0b3IgPSAoXG4gIHByb3BzOiBUUmVuZGVyRWRpdG9yUHJvcHMsXG4gIGVkaXRvcjogVEVkaXRvcixcbiAgbmV4dDogKCkgPT4gUmVhY3RFbGVtZW50XG4pID0+IFJldHVyblR5cGU8dHlwZW9mIEVkaXRvcj47XG5cbmNvbnN0IHJlbmRlckVkaXRvcjogVFJlbmRlckVkaXRvciA9IChwcm9wcywgZWRpdG9yLCBuZXh0KSA9PiB7XG4gIGlmIChwcm9wcy5vcHRpb25zLnNob3dFeHBhbmRJY29uKSB7XG4gICAgd2FybmluZyhcbiAgICAgIHR5cGVvZiBwcm9wcy5vcHRpb25zLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAncmVuZGVyRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IGludGVybmFsSWQgPSBgJHtwcm9wcy5pZH1fX2ludGVybmFsX19pZGA7XG5cbiAgY29uc3QgY2hpbGRyZW4gPSBjbG9uZUVsZW1lbnQobmV4dCgpLCB7XG4gICAgaWQ6IGludGVybmFsSWQsXG4gIH0pO1xuXG4gIGNvbnN0IHBhc3NlZFByb3BzID0ge1xuICAgIGlkOiBwcm9wcy5pZCxcbiAgICBpc0Rpc2FibGVkOiBwcm9wcy5kaXNhYmxlZCxcbiAgICBpc1JlYWRPbmx5OiBwcm9wcy5yZWFkT25seSxcbiAgICAuLi5waWNrKHByb3BzLm9wdGlvbnMsIFtcbiAgICAgICdkZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dCcsXG4gICAgICAnbGFuZ3VhZ2UnLFxuICAgICAgJ3dhcm5pbmcnLFxuICAgICAgJ2Vycm9yJyxcbiAgICAgICdoYXNXYXJuaW5nJyxcbiAgICAgICdoYXNFcnJvcicsXG4gICAgICAndG9nZ2xlTGFuZ3VhZ2UnLFxuICAgICAgJ2lzT3BlbicsXG4gICAgICAnc2hvd0V4cGFuZEljb24nLFxuICAgICAgJ29uQ2xpY2tFeHBhbmQnLFxuICAgICAgJ2hhc0xhbmd1YWdlc0NvbnRyb2wnLFxuICAgIF0pLFxuICAgIC4uLmZpbHRlckRhdGFBdHRyaWJ1dGVzKHByb3BzKSxcbiAgfTtcblxuICBjb25zdCBpc0ZvY3VzZWQgPSBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQ7XG5cbiAgcmV0dXJuIChcbiAgICA8RWRpdG9yIGVkaXRvcj17ZWRpdG9yfSB7Li4ucGFzc2VkUHJvcHN9PlxuICAgICAge2NoaWxkcmVufVxuICAgICAgPEhpZGRlbklucHV0XG4gICAgICAgIGlzRm9jdXNlZD17Qm9vbGVhbihpc0ZvY3VzZWQpfVxuICAgICAgICBoYW5kbGVGb2N1cz17ZWRpdG9yLmZvY3VzfVxuICAgICAgICBkaXNhYmxlZD17cHJvcHMuZGlzYWJsZWR9XG4gICAgICAgIHJlYWRPbmx5PXtwcm9wcy5yZWFkT25seX1cbiAgICAgICAgaWQ9e3Byb3BzLmlkfVxuICAgICAgLz5cbiAgICA8L0VkaXRvcj5cbiAgKTtcbn07XG5cbkVkaXRvci5kaXNwbGF5TmFtZSA9ICdFZGl0b3InO1xuXG5leHBvcnQgZGVmYXVsdCByZW5kZXJFZGl0b3I7XG4iXX0= */",
140
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImVkaXRvci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMEVzQiIsImZpbGUiOiJlZGl0b3IudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgZm9yd2FyZFJlZixcbiAgdHlwZSBSZWFjdE5vZGUsXG4gIHR5cGUgTGVnYWN5UmVmLFxuICB0eXBlIFJlZk9iamVjdCxcbiAgdHlwZSBSZWYsXG4gIHR5cGUgRm9jdXNFdmVudEhhbmRsZXIsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcywgdXNlVGhlbWUgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VJbnRsIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgeyBjdXN0b21Qcm9wZXJ0aWVzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyB3YXJuaW5nLCBmaWx0ZXJEYXRhQXR0cmlidXRlcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3V0aWxzJztcbmltcG9ydCBDb2xsYXBzaWJsZU1vdGlvbiBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9jb2xsYXBzaWJsZS1tb3Rpb24nO1xuaW1wb3J0IFN0YWNrIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NwYWNpbmdzLXN0YWNrJztcbmltcG9ydCB7IEFuZ2xlVXBJY29uLCBBbmdsZURvd25JY29uIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IFRleHQgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvdGV4dCc7XG5pbXBvcnQgRmxhdEJ1dHRvbiBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9mbGF0LWJ1dHRvbic7XG5pbXBvcnQgeyBtZXNzYWdlc011bHRpbGluZUlucHV0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaW5wdXQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgUmljaFRleHRCb2R5LFxuICBIaWRkZW5JbnB1dCxcbiAgRWxlbWVudCxcbiAgTGVhZixcbiAgdG9nZ2xlTWFyayxcbiAgcmVzZXRFZGl0b3IsXG4gIGZvY3VzRWRpdG9yLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9yaWNoLXRleHQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgRWRpdGFibGUsXG4gIHdpdGhSZWFjdCxcbiAgU2xhdGUsXG4gIFJlYWN0RWRpdG9yLFxuICB0eXBlIFJlbmRlckVsZW1lbnRQcm9wcyxcbiAgdHlwZSBSZW5kZXJMZWFmUHJvcHMsXG59IGZyb20gJ3NsYXRlLXJlYWN0JztcbmltcG9ydCB7IGNyZWF0ZUVkaXRvciwgdHlwZSBEZXNjZW5kYW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgd2l0aEhpc3RvcnkgfSBmcm9tICdzbGF0ZS1oaXN0b3J5JztcbmltcG9ydCBpc0hvdGtleSBmcm9tICdpcy1ob3RrZXknO1xuaW1wb3J0IHBpcGUgZnJvbSAnbG9kYXNoL2ZwL3BpcGUnO1xuaW1wb3J0IHtcbiAgRWRpdG9yV3JhcHBlcixcbiAgRWRpdG9yTGFuZ3VhZ2VMYWJlbCxcbiAgVG9nZ2xlQnV0dG9uV3JhcHBlcixcbn0gZnJvbSAnLi9lZGl0b3Iuc3R5bGVzJztcblxuY29uc3QgSE9US0VZUyA9IHtcbiAgJ21vZCtiJzogJ2JvbGQnLFxuICAnbW9kK2knOiAnaXRhbGljJyxcbiAgJ21vZCt1JzogJ3VuZGVybGluZScsXG4gICdtb2QrYCc6ICdjb2RlJyxcbn07XG5cbmNvbnN0IENPTExBUFNFRF9IRUlHSFQgPSAzMjtcblxuY29uc3QgTGVmdENvbHVtbiA9IHN0eWxlZC5kaXZgXG4gIGZsZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgUmlnaHRDb2x1bW4gPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgUm93ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmV4cG9ydCB0eXBlIFRFZGl0b3JQcm9wcyA9IHtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGlkPzogc3RyaW5nO1xuICBpc09wZW46IGJvb2xlYW47XG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xuICBpc1JlYWRPbmx5PzogYm9vbGVhbjtcbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgZXJyb3I/OiBSZWFjdE5vZGU7XG4gIHdhcm5pbmc/OiBSZWFjdE5vZGU7XG4gIGRlZmF1bHRFeHBhbmRNdWx0aWxpbmVUZXh0OiBib29sZWFuO1xuICB0b2dnbGVMYW5ndWFnZTogKGxhbmd1YWdlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIGxhbmd1YWdlOiBzdHJpbmc7XG4gIHNob3dFeHBhbmRJY29uOiBib29sZWFuO1xuICBvbkNsaWNrRXhwYW5kPzogKCkgPT4gYm9vbGVhbjtcbiAgaGFzTGFuZ3VhZ2VzQ29udHJvbD86IGJvb2xlYW47XG4gIHZhbHVlOiBEZXNjZW5kYW50W107XG4gIG9uQ2hhbmdlOiAoc3RhdGU6IERlc2NlbmRhbnRbXSkgPT4gdm9pZDtcbiAgb25Gb2N1cz86IEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgb25CbHVyPzogRm9jdXNFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xuICBpc0F1dG9mb2N1c2VkPzogYm9vbGVhbjtcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIHJlZj86IFJlZjx1bmtub3duPjtcbn07XG5cbnR5cGUgVE5vZGVSZWZPYmplY3QgPSB7XG4gIGNsaWVudEhlaWdodDogbnVtYmVyO1xufSAmIExlZ2FjeVJlZjxIVE1MRGl2RWxlbWVudD47XG5cbnR5cGUgVFJpY2hUZXh0RWRpdG9yQm9keVJlZiA9IHtcbiAgcmVnaXN0ZXJDb250ZW50Tm9kZTogVE5vZGVSZWZPYmplY3Q7XG4gIGNvbnRhaW5lclJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50Pjtcbn07XG5cbmNvbnN0IHJlbmRlckVsZW1lbnQgPSAocHJvcHM6IFJlbmRlckVsZW1lbnRQcm9wcykgPT4gPEVsZW1lbnQgey4uLnByb3BzfSAvPjtcbmNvbnN0IHJlbmRlckxlYWYgPSAocHJvcHM6IFJlbmRlckxlYWZQcm9wcykgPT4gPExlYWYgey4uLnByb3BzfSAvPjtcblxuY29uc3QgRWRpdG9yID0gZm9yd2FyZFJlZigocHJvcHM6IFRFZGl0b3JQcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gIGNvbnN0IGludGwgPSB1c2VJbnRsKCk7XG4gIGNvbnN0IHJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4oKTtcblxuICBjb25zdCBjcmVhdGVFZGl0b3JXaXRoUGx1Z2lucyA9IHBpcGUod2l0aFJlYWN0LCB3aXRoSGlzdG9yeSk7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgY29uc3QgZWRpdG9yID0gdXNlTWVtbygoKSA9PiBjcmVhdGVFZGl0b3JXaXRoUGx1Z2lucyhjcmVhdGVFZGl0b3IoKSksIFtdKTtcblxuICBpZiAocHJvcHMuc2hvd0V4cGFuZEljb24pIHtcbiAgICB3YXJuaW5nKFxuICAgICAgdHlwZW9mIHByb3BzLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAnRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IFtyZW5kZXJUb2dnbGVCdXR0b24sIHNldFJlbmRlclRvZ2dsZUJ1dHRvbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgeyB0b2dnbGVMYW5ndWFnZSB9ID0gcHJvcHM7XG4gIGNvbnN0IG9uVG9nZ2xlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHRvZ2dsZUxhbmd1YWdlKHByb3BzLmxhbmd1YWdlKTtcbiAgfSwgW3RvZ2dsZUxhbmd1YWdlLCBwcm9wcy5sYW5ndWFnZV0pO1xuXG4gIGNvbnN0IHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgPVxuICAgICAgTnVtYmVyKHJlZi5jdXJyZW50Py5jbGllbnRIZWlnaHQpID4gQ09MTEFQU0VEX0hFSUdIVDtcblxuICAgIGlmIChkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgJiYgIXJlbmRlclRvZ2dsZUJ1dHRvbikge1xuICAgICAgc2V0UmVuZGVyVG9nZ2xlQnV0dG9uKHRydWUpO1xuICAgIH1cbiAgICBpZiAoIWRvZXNFeGNlZWRDb2xsYXBzZWRIZWlnaHRMaW1pdCAmJiByZW5kZXJUb2dnbGVCdXR0b24pIHtcbiAgICAgIHNldFJlbmRlclRvZ2dsZUJ1dHRvbihmYWxzZSk7XG4gICAgfVxuICB9LCBbc2V0UmVuZGVyVG9nZ2xlQnV0dG9uLCByZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbigpO1xuICB9LCBbZWRpdG9yLCB1cGRhdGVSZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICAvLyByZXNldHRpbmdcbiAgY29uc3QgcmVzZXRWYWx1ZSA9IHVzZUNhbGxiYWNrKFxuICAgIChuZXdWYWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgICByZXNldEVkaXRvcihlZGl0b3IsIG5ld1ZhbHVlKTtcbiAgICB9LFxuICAgIFtlZGl0b3JdXG4gICk7XG4gIC8qIFxuICBSZXNldHRpbmcgdGhlIGVkaXRvciByZXF1aXJlcyBhY2Nlc3MgdG8gYGVkaXRvcmAgb2JqZWN0IHJldHVybmVkIGZyb20gYHVzZVNsYXRlYCBob29rLlxuICBUaGVyZWZvcmUsIGByZXNldGAgZnVuY3Rpb24gaXMgYXR0YWNoZWQgdG8gdGhlIHBhc3NlZCBgcmVmYCBvYmplY3QgdmlhIGB1c2VJbXBlcmF0aXZlSGFuZGxlYCBcbiAgdG8gYmUgY2FsbGVkIGZyb20gdGhlIHBhcmVudCBjb21wb25lbnQuIFxuICBlLmcuIDxidXR0b24gb25Nb3VzZURvd249eygpID0+IHJlZi5jdXJyZW50Py5yZXNldFZhbHVlKFwiPHA+PHN0cm9uZz5WYWx1ZSBhZnRlciByZXNldDwvc3Ryb25nPjwvcD5cIil9PlJlc2V0PC9idXR0b24+XG4gICovXG4gIHVzZUltcGVyYXRpdmVIYW5kbGUoZm9yd2FyZGVkUmVmLCAoKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJlc2V0VmFsdWUsXG4gICAgfTtcbiAgfSk7XG5cbiAgY29uc3Qgc2hvdWxkVG9nZ2xlQnV0dG9uVGFrZVNwYWNlID1cbiAgICAvKiBcbiAgICAgIC0gaWYgaGFzTGFuZ3VhZ2VzQ29udHJvbCBhbmQgdGhlcmUgYXJlIG5vIGVycm9ycy93YXJuaW5ncyB0byBkaXNwbGF5XG4gICAgICAtIHRoZW4gdGhlIHRvZ2dsZUJ1dHRvbiBpcyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWRcbiAgICAgIFRoaXMgaXMgYmVjYXVzZSB0aGUgdG9nZ2xlIGJ1dHRvbiBpcyBwbGFjZWQgbmV4dCB0byB0aGUgTG9jYWxpemVkSW5wdXRUb2dnbGUgd2l0aG91dCBiZWluZyBzaWJsaW5ncyBpbiB0aGUgRE9NLlxuICAgICAgSWYgdGhlcmUgaXMgYSBlcnJvciBvciB3YXJuaW5nIHNob3dpbmcsXG4gICAgICB0aGVuIGl0IGNhbiBiZSBwbGFjZWQgc3RhdGljYWxseSBiZWNhdXNlIGl0IHdpbGwgdGhlbiBiZSBhIHNpYmxpbmcgdG8gdGhlIGVycm9yL3dhcm5pbmcgbWVzc2FnZVxuICAgICAgYW5kIExvY2FsaXplZElucHV0VG9nZ2xlIGlzIHBsYWNlZCBiZWxvdyB0aGUgZXJyb3JzL3dhcm5pbmdzLiBcbiAgICAqL1xuXG4gICAgKHJlbmRlclRvZ2dsZUJ1dHRvbiAmJiAhcHJvcHMuaGFzTGFuZ3VhZ2VzQ29udHJvbCkgfHxcbiAgICBwcm9wcy5lcnJvciB8fFxuICAgIHByb3BzLndhcm5pbmc7XG5cbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuXG4gIHJldHVybiAoXG4gICAgPENvbGxhcHNpYmxlTW90aW9uXG4gICAgICBtaW5IZWlnaHQ9e0NPTExBUFNFRF9IRUlHSFR9XG4gICAgICBpc0Nsb3NlZD17IXByb3BzLmlzT3Blbn1cbiAgICAgIG9uVG9nZ2xlPXtvblRvZ2dsZX1cbiAgICAgIGlzRGVmYXVsdENsb3NlZD17IXByb3BzLmRlZmF1bHRFeHBhbmRNdWx0aWxpbmVUZXh0fVxuICAgID5cbiAgICAgIHsoeyBpc09wZW4sIHRvZ2dsZSwgY29udGFpbmVyU3R5bGVzLCByZWdpc3RlckNvbnRlbnROb2RlIH0pID0+IHtcbiAgICAgICAgY29uc3QgcmVmT2JqID0ge1xuICAgICAgICAgIGNvbnRhaW5lclJlZjogcmVmLFxuICAgICAgICAgIHJlZ2lzdGVyQ29udGVudE5vZGUsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8U3RhY2sgc2NhbGU9XCJ4c1wiPlxuICAgICAgICAgICAgPEVkaXRvcldyYXBwZXJcbiAgICAgICAgICAgICAga2V5PXtwcm9wcy5sYW5ndWFnZX1cbiAgICAgICAgICAgICAgaXNEaXNhYmxlZD17cHJvcHMuaXNEaXNhYmxlZH1cbiAgICAgICAgICAgICAgaXNSZWFkT25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFNsYXRlXG4gICAgICAgICAgICAgICAgZWRpdG9yPXtlZGl0b3J9XG4gICAgICAgICAgICAgICAgdmFsdWU9e3Byb3BzLnZhbHVlfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtwcm9wcy5vbkNoYW5nZX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxFZGl0b3JMYW5ndWFnZUxhYmVsIGh0bWxGb3I9e3Byb3BzLmlkfSB0aGVtZT17dGhlbWV9PlxuICAgICAgICAgICAgICAgICAgey8qIEZJWE1FOiBhZGQgcHJvcGVyIHRvbmUgZm9yIGRpc2FibGVkIHdoZW4gdG9uZXMgYXJlIHJlZmFjdG9yZWQgKi99XG4gICAgICAgICAgICAgICAgICA8VGV4dC5EZXRhaWwgdG9uZT1cInNlY29uZGFyeVwiPlxuICAgICAgICAgICAgICAgICAgICB7cHJvcHMubGFuZ3VhZ2UudG9VcHBlckNhc2UoKX1cbiAgICAgICAgICAgICAgICAgIDwvVGV4dC5EZXRhaWw+XG4gICAgICAgICAgICAgICAgPC9FZGl0b3JMYW5ndWFnZUxhYmVsPlxuICAgICAgICAgICAgICAgIDxSaWNoVGV4dEJvZHlcbiAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgIHJlZj17cmVmT2JqIGFzIHVua25vd24gYXMgUmVmPFRSaWNoVGV4dEVkaXRvckJvZHlSZWY+fVxuICAgICAgICAgICAgICAgICAgc3R5bGVzPXt7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogY3NzYFxuICAgICAgICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICBgLFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIGhhc0Vycm9yPXtwcm9wcy5oYXNFcnJvcn1cbiAgICAgICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICBoYXNXYXJuaW5nPXtwcm9wcy5oYXNXYXJuaW5nfVxuICAgICAgICAgICAgICAgICAgaXNSZWFkT25seT17Qm9vbGVhbihwcm9wcy5pc1JlYWRPbmx5KX1cbiAgICAgICAgICAgICAgICAgIHNob3dFeHBhbmRJY29uPXtCb29sZWFuKHByb3BzLnNob3dFeHBhbmRJY29uKX1cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2tFeHBhbmQ9e3Byb3BzLm9uQ2xpY2tFeHBhbmR9XG4gICAgICAgICAgICAgICAgICBjb250YWluZXJTdHlsZXM9e2NvbnRhaW5lclN0eWxlc31cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8RWRpdGFibGVcbiAgICAgICAgICAgICAgICAgICAgey4uLmZpbHRlckRhdGFBdHRyaWJ1dGVzKHByb3BzKX1cbiAgICAgICAgICAgICAgICAgICAgbmFtZT17cHJvcHMubmFtZX1cbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyRWxlbWVudD17cmVuZGVyRWxlbWVudH1cbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyTGVhZj17cmVuZGVyTGVhZn1cbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3Byb3BzLnBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgICAgICAgICBhdXRvRm9jdXM9e3Byb3BzLmlzQXV0b2ZvY3VzZWR9XG4gICAgICAgICAgICAgICAgICAgIG9uQmx1cj17cHJvcHMub25CbHVyfVxuICAgICAgICAgICAgICAgICAgICBvbkZvY3VzPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5vbkZvY3VzPy4oZXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICAgIC8vIG9wZW5zIHRoZSBpbnB1dCBpZiBpdCByZWdhaW5zIGZvY3VzIGFuZCBpdCdzIGNsb3NlZFxuICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNPcGVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzRWRpdG9yKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICByZWFkT25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBob3RrZXkgaW4gSE9US0VZUykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzSG90a2V5KGhvdGtleSwgZXZlbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hcmsgPSBIT1RLRVlTW2hvdGtleSBhcyBrZXlvZiB0eXBlb2YgSE9US0VZU107XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZU1hcmsoZWRpdG9yLCBtYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgIDxIaWRkZW5JbnB1dFxuICAgICAgICAgICAgICAgICAgICBpc0ZvY3VzZWQ9e1JlYWN0RWRpdG9yLmlzRm9jdXNlZChlZGl0b3IpfVxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVGb2N1cz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGZvY3VzRWRpdG9yKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIGlkPXtwcm9wcy5pZH1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXtwcm9wcy5pc1JlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L1JpY2hUZXh0Qm9keT5cbiAgICAgICAgICAgICAgPC9TbGF0ZT5cbiAgICAgICAgICAgIDwvRWRpdG9yV3JhcHBlcj5cbiAgICAgICAgICAgIDxSb3dcbiAgICAgICAgICAgICAgLy8gTk9URTogYXBwbHlpbmcgdGhpcyBzdHlsZSB3aXRoaW5nIHRoZSBgc3R5bGVkYCBjb21wb25lbnQgcmVzdWx0cyBpbiB0aGUgcHJvZHVjdGlvblxuICAgICAgICAgICAgICAvLyBidW5kbGUgdG8gYXBwbHkgdGhlIHN0eWxlIGluIHRoZSB3cm9uZyBvcmRlci5cbiAgICAgICAgICAgICAgLy8gRm9yIGluc3RhbmNlLCB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSBtYXJnaW5nIG9mIHRoZSBzcGFjaW5nIGNvbXBvbmVudCwgd2hpY2ggYWxzb1xuICAgICAgICAgICAgICAvLyB1c2VzIGAhaW1wb3J0YW50YC5cbiAgICAgICAgICAgICAgLy8gQW55d2F5LCBhcHBhcmVudGx5IGJ5IHBhc3NpbmcgdGhlIHN0eWxlIGFzIGEgYGNzc2AgcHJvcCB0byB0aGUgYHN0eWxlZGAgY29tcG9uZW50XG4gICAgICAgICAgICAgIC8vIGRvZXMgdGhlIHRyaWNrLlxuICAgICAgICAgICAgICAvLyBUT0RPOiByZXZpc2l0IHRoZSBsb2dpYyBhbmQgdGhlIGltcGxlbWVudGF0aW9uIHRvIG1heWJlIGF2b2lkIGhhdmluZyB0byBhcHBseSB0aGlzIHN0eWxlLlxuICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAke3Nob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZVxuICAgICAgICAgICAgICAgICAgPyAnaW5oZXJpdCdcbiAgICAgICAgICAgICAgICAgIDogJzBweCAhaW1wb3J0YW50J307XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy5lcnJvcilcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxMZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXY+e3Byb3BzLmVycm9yfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L0xlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy53YXJuaW5nKVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPExlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdj57cHJvcHMud2FybmluZ308L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9MZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICAgICAge3JlbmRlclRvZ2dsZUJ1dHRvbiAmJiAoXG4gICAgICAgICAgICAgICAgPFJpZ2h0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgPFRvZ2dsZUJ1dHRvbldyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICAgICAgICAgICAgIXNob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICR7Y3VzdG9tUHJvcGVydGllcy5zcGFjaW5nWHN9O1xuICAgICAgICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICAgICAgXX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPEZsYXRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0b2dnbGV9XG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e2ludGwuZm9ybWF0TWVzc2FnZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzT3BlblxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQuY29sbGFwc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBtZXNzYWdlc011bHRpbGluZUlucHV0LmV4cGFuZFxuICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgaWNvbj17XG4gICAgICAgICAgICAgICAgICAgICAgICBpc09wZW4gPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxBbmdsZVVwSWNvbiBzaXplPVwic21hbGxcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEFuZ2xlRG93bkljb24gc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1RvZ2dsZUJ1dHRvbldyYXBwZXI+XG4gICAgICAgICAgICAgICAgPC9SaWdodENvbHVtbj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvUm93PlxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICk7XG4gICAgICB9fVxuICAgIDwvQ29sbGFwc2libGVNb3Rpb24+XG4gICk7XG59KTtcbkVkaXRvci5kaXNwbGF5TmFtZSA9ICdFZGl0b3InO1xuXG5leHBvcnQgZGVmYXVsdCBFZGl0b3I7XG4iXX0= */",
133
141
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1
134
142
  });
135
143
 
144
+ var renderElement = function renderElement(props) {
145
+ return jsx(Element, _objectSpread$3({}, props));
146
+ };
147
+
148
+ var renderLeaf = function renderLeaf(props) {
149
+ return jsx(Leaf, _objectSpread$3({}, props));
150
+ };
151
+
136
152
  var _ref$1 = process.env.NODE_ENV === "production" ? {
137
153
  name: "bcltzc",
138
154
  styles: "flex:auto;width:0;border-top-left-radius:0;border-bottom-left-radius:0"
139
155
  } : {
140
156
  name: "16ohn6x-container",
141
157
  styles: "flex:auto;width:0;border-top-left-radius:0;border-bottom-left-radius:0;label:container;",
142
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImVkaXRvci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNktnQyIsImZpbGUiOiJlZGl0b3IudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgY2xvbmVFbGVtZW50LFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBSZWFjdEVsZW1lbnQsXG4gIHR5cGUgTGVnYWN5UmVmLFxuICB0eXBlIFJlZk9iamVjdCxcbiAgdHlwZSBSZWYsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCBwaWNrIGZyb20gJ2xvZGFzaC9waWNrJztcbmltcG9ydCB7IGNzcywgdXNlVGhlbWUgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VJbnRsIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgeyBjdXN0b21Qcm9wZXJ0aWVzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyBmaWx0ZXJEYXRhQXR0cmlidXRlcywgd2FybmluZyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3V0aWxzJztcbmltcG9ydCB7IHVzZVByZXZpb3VzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaG9va3MnO1xuaW1wb3J0IENvbGxhcHNpYmxlTW90aW9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2NvbGxhcHNpYmxlLW1vdGlvbic7XG5pbXBvcnQgU3RhY2sgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc3BhY2luZ3Mtc3RhY2snO1xuaW1wb3J0IHsgQW5nbGVVcEljb24sIEFuZ2xlRG93bkljb24gfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgVGV4dCBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC90ZXh0JztcbmltcG9ydCBGbGF0QnV0dG9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ZsYXQtYnV0dG9uJztcbmltcG9ydCB7IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pbnB1dC11dGlscyc7XG5pbXBvcnQge1xuICBSaWNoVGV4dEJvZHksXG4gIEhpZGRlbklucHV0LFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9yaWNoLXRleHQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgRWRpdG9yV3JhcHBlcixcbiAgRWRpdG9yTGFuZ3VhZ2VMYWJlbCxcbiAgVG9nZ2xlQnV0dG9uV3JhcHBlcixcbn0gZnJvbSAnLi9lZGl0b3Iuc3R5bGVzJztcbmltcG9ydCB0eXBlIHsgVEVkaXRvciB9IGZyb20gJy4vZWRpdG9yLnR5cGVzJztcblxuY29uc3QgQ09MTEFQU0VEX0hFSUdIVCA9IDMyO1xuXG5jb25zdCBMZWZ0Q29sdW1uID0gc3R5bGVkLmRpdmBcbiAgZmxleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5gO1xuXG5jb25zdCBSaWdodENvbHVtbiA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5gO1xuXG5jb25zdCBSb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuYDtcblxuZXhwb3J0IHR5cGUgVEVkaXRvclByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBpZD86IHN0cmluZztcbiAgaXNPcGVuOiBib29sZWFuO1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgaXNSZWFkT25seT86IGJvb2xlYW47XG4gIGhhc1dhcm5pbmc/OiBib29sZWFuO1xuICBoYXNFcnJvcj86IGJvb2xlYW47XG4gIGVkaXRvcj86IFRFZGl0b3I7XG4gIGVycm9yPzogUmVhY3ROb2RlO1xuICB3YXJuaW5nPzogUmVhY3ROb2RlO1xuICBkZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dDogYm9vbGVhbjtcbiAgdG9nZ2xlTGFuZ3VhZ2U6IChsYW5ndWFnZTogc3RyaW5nKSA9PiB2b2lkO1xuICBsYW5ndWFnZTogc3RyaW5nO1xuICBzaG93RXhwYW5kSWNvbjogYm9vbGVhbjtcbiAgb25DbGlja0V4cGFuZD86ICgpID0+IGJvb2xlYW47XG4gIGhhc0xhbmd1YWdlc0NvbnRyb2w/OiBib29sZWFuO1xufTtcblxudHlwZSBUTm9kZVJlZk9iamVjdCA9IHtcbiAgY2xpZW50SGVpZ2h0OiBudW1iZXI7XG59ICYgTGVnYWN5UmVmPEhUTUxEaXZFbGVtZW50PjtcblxudHlwZSBUUmljaFRleHRFZGl0b3JCb2R5UmVmID0ge1xuICByZWdpc3RlckNvbnRlbnROb2RlOiBUTm9kZVJlZk9iamVjdDtcbiAgY29udGFpbmVyUmVmOiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xufTtcblxuY29uc3QgRWRpdG9yID0gKHByb3BzOiBURWRpdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgaW50bCA9IHVzZUludGwoKTtcbiAgY29uc3QgcmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PigpO1xuICBjb25zdCBwcmV2SXNGb2N1c2VkID0gdXNlUHJldmlvdXMocHJvcHMuZWRpdG9yPy52YWx1ZS5zZWxlY3Rpb24uaXNGb2N1c2VkKTtcblxuICBpZiAocHJvcHMuc2hvd0V4cGFuZEljb24pIHtcbiAgICB3YXJuaW5nKFxuICAgICAgdHlwZW9mIHByb3BzLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAnRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IFtyZW5kZXJUb2dnbGVCdXR0b24sIHNldFJlbmRlclRvZ2dsZUJ1dHRvbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgeyB0b2dnbGVMYW5ndWFnZSB9ID0gcHJvcHM7XG4gIGNvbnN0IG9uVG9nZ2xlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHRvZ2dsZUxhbmd1YWdlKHByb3BzLmxhbmd1YWdlKTtcbiAgfSwgW3RvZ2dsZUxhbmd1YWdlLCBwcm9wcy5sYW5ndWFnZV0pO1xuXG4gIGNvbnN0IHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgPVxuICAgICAgTnVtYmVyKHJlZi5jdXJyZW50Py5jbGllbnRIZWlnaHQpID4gQ09MTEFQU0VEX0hFSUdIVDtcblxuICAgIGlmIChkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgJiYgIXJlbmRlclRvZ2dsZUJ1dHRvbikge1xuICAgICAgc2V0UmVuZGVyVG9nZ2xlQnV0dG9uKHRydWUpO1xuICAgIH1cbiAgICBpZiAoIWRvZXNFeGNlZWRDb2xsYXBzZWRIZWlnaHRMaW1pdCAmJiByZW5kZXJUb2dnbGVCdXR0b24pIHtcbiAgICAgIHNldFJlbmRlclRvZ2dsZUJ1dHRvbihmYWxzZSk7XG4gICAgfVxuICB9LCBbc2V0UmVuZGVyVG9nZ2xlQnV0dG9uLCByZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbigpO1xuICB9LCBbcHJvcHMuZWRpdG9yPy52YWx1ZS5kb2N1bWVudCwgdXBkYXRlUmVuZGVyVG9nZ2xlQnV0dG9uXSk7XG5cbiAgLy8gb3BlbnMgdGhlIGlucHV0IGlmIGl0IHJlZ2FpbnMgZm9jdXMgYW5kIGl0J3MgY2xvc2VkXG4gIGlmIChcbiAgICBwcmV2SXNGb2N1c2VkICE9PSBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQgJiZcbiAgICBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQgJiZcbiAgICAhcHJvcHMuaXNPcGVuXG4gICkge1xuICAgIG9uVG9nZ2xlKCk7XG4gIH1cblxuICBjb25zdCBzaG91bGRUb2dnbGVCdXR0b25UYWtlU3BhY2UgPVxuICAgIC8qXG4gICAgICAtIGlmIGhhc0xhbmd1YWdlc0NvbnRyb2wgYW5kIHRoZXJlIGFyZSBubyBlcnJvcnMvd2FybmluZ3MgdG8gZGlzcGxheVxuICAgICAgLSB0aGVuIHRoZSB0b2dnbGVCdXR0b24gaXMgYWJzb2x1dGVseSBwb3NpdGlvbmVkXG4gICAgICBUaGlzIGlzIGJlY2F1c2UgdGhlIHRvZ2dsZSBidXR0b24gaXMgcGxhY2VkIG5leHQgdG8gdGhlIExvY2FsaXplZElucHV0VG9nZ2xlIHdpdGhvdXQgYmVpbmcgc2libGluZ3MgaW4gdGhlIERPTS5cbiAgICAgIElmIHRoZXJlIGlzIGEgZXJyb3Igb3Igd2FybmluZyBzaG93aW5nLFxuICAgICAgdGhlbiBpdCBjYW4gYmUgcGxhY2VkIHN0YXRpY2FsbHkgYmVjYXVzZSBpdCB3aWxsIHRoZW4gYmUgYSBzaWJsaW5nIHRvIHRoZSBlcnJvci93YXJuaW5nIG1lc3NhZ2VcbiAgICAgIGFuZCBMb2NhbGl6ZWRJbnB1dFRvZ2dsZSBpcyBwbGFjZWQgYmVsb3cgdGhlIGVycm9ycy93YXJuaW5ncy5cbiAgICAqL1xuICAgIChyZW5kZXJUb2dnbGVCdXR0b24gJiYgIXByb3BzLmhhc0xhbmd1YWdlc0NvbnRyb2wpIHx8XG4gICAgcHJvcHMuZXJyb3IgfHxcbiAgICBwcm9wcy53YXJuaW5nO1xuXG4gIGNvbnN0IHRoZW1lID0gdXNlVGhlbWUoKTtcblxuICByZXR1cm4gKFxuICAgIDxDb2xsYXBzaWJsZU1vdGlvblxuICAgICAgbWluSGVpZ2h0PXtDT0xMQVBTRURfSEVJR0hUfVxuICAgICAgaXNDbG9zZWQ9eyFwcm9wcy5pc09wZW59XG4gICAgICBvblRvZ2dsZT17b25Ub2dnbGV9XG4gICAgICBpc0RlZmF1bHRDbG9zZWQ9eyFwcm9wcy5kZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dH1cbiAgICA+XG4gICAgICB7KHsgaXNPcGVuLCB0b2dnbGUsIGNvbnRhaW5lclN0eWxlcywgcmVnaXN0ZXJDb250ZW50Tm9kZSB9KSA9PiB7XG4gICAgICAgIGNvbnN0IHJlZk9iaiA9IHtcbiAgICAgICAgICBjb250YWluZXJSZWY6IHJlZixcbiAgICAgICAgICByZWdpc3RlckNvbnRlbnROb2RlLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPFN0YWNrIHNjYWxlPVwieHNcIj5cbiAgICAgICAgICAgIDxFZGl0b3JXcmFwcGVyXG4gICAgICAgICAgICAgIGtleT17cHJvcHMubGFuZ3VhZ2V9XG4gICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgIGlzUmVhZE9ubHk9e3Byb3BzLmlzUmVhZE9ubHl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxFZGl0b3JMYW5ndWFnZUxhYmVsIGh0bWxGb3I9e3Byb3BzLmlkfSB0aGVtZT17dGhlbWV9PlxuICAgICAgICAgICAgICAgIHsvKiBGSVhNRTogYWRkIHByb3BlciB0b25lIGZvciBkaXNhYmxlZCB3aGVuIHRvbmVzIGFyZSByZWZhY3RvcmVkICovfVxuICAgICAgICAgICAgICAgIDxUZXh0LkRldGFpbCB0b25lPVwic2Vjb25kYXJ5XCI+XG4gICAgICAgICAgICAgICAgICB7cHJvcHMubGFuZ3VhZ2UudG9VcHBlckNhc2UoKX1cbiAgICAgICAgICAgICAgICA8L1RleHQuRGV0YWlsPlxuICAgICAgICAgICAgICA8L0VkaXRvckxhbmd1YWdlTGFiZWw+XG5cbiAgICAgICAgICAgICAgPFJpY2hUZXh0Qm9keVxuICAgICAgICAgICAgICAgIHJlZj17cmVmT2JqIGFzIHVua25vd24gYXMgUmVmPFRSaWNoVGV4dEVkaXRvckJvZHlSZWY+fVxuICAgICAgICAgICAgICAgIHN0eWxlcz17e1xuICAgICAgICAgICAgICAgICAgY29udGFpbmVyOiBjc3NgXG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIGhhc0Vycm9yPXtwcm9wcy5oYXNFcnJvcn1cbiAgICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkfVxuICAgICAgICAgICAgICAgIGhhc1dhcm5pbmc9e3Byb3BzLmhhc1dhcm5pbmd9XG4gICAgICAgICAgICAgICAgaXNSZWFkT25seT17Qm9vbGVhbihwcm9wcy5pc1JlYWRPbmx5KX1cbiAgICAgICAgICAgICAgICBlZGl0b3I9e3Byb3BzLmVkaXRvciBhcyBURWRpdG9yfVxuICAgICAgICAgICAgICAgIGNvbnRhaW5lclN0eWxlcz17Y29udGFpbmVyU3R5bGVzfVxuICAgICAgICAgICAgICAgIHNob3dFeHBhbmRJY29uPXtwcm9wcy5zaG93RXhwYW5kSWNvbn1cbiAgICAgICAgICAgICAgICBvbkNsaWNrRXhwYW5kPXtwcm9wcy5vbkNsaWNrRXhwYW5kfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgICAgICA8L1JpY2hUZXh0Qm9keT5cbiAgICAgICAgICAgIDwvRWRpdG9yV3JhcHBlcj5cbiAgICAgICAgICAgIDxSb3dcbiAgICAgICAgICAgICAgLy8gTk9URTogYXBwbHlpbmcgdGhpcyBzdHlsZSB3aXRoaW5nIHRoZSBgc3R5bGVkYCBjb21wb25lbnQgcmVzdWx0cyBpbiB0aGUgcHJvZHVjdGlvblxuICAgICAgICAgICAgICAvLyBidW5kbGUgdG8gYXBwbHkgdGhlIHN0eWxlIGluIHRoZSB3cm9uZyBvcmRlci5cbiAgICAgICAgICAgICAgLy8gRm9yIGluc3RhbmNlLCB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSBtYXJnaW5nIG9mIHRoZSBzcGFjaW5nIGNvbXBvbmVudCwgd2hpY2ggYWxzb1xuICAgICAgICAgICAgICAvLyB1c2VzIGAhaW1wb3J0YW50YC5cbiAgICAgICAgICAgICAgLy8gQW55d2F5LCBhcHBhcmVudGx5IGJ5IHBhc3NpbmcgdGhlIHN0eWxlIGFzIGEgYGNzc2AgcHJvcCB0byB0aGUgYHN0eWxlZGAgY29tcG9uZW50XG4gICAgICAgICAgICAgIC8vIGRvZXMgdGhlIHRyaWNrLlxuICAgICAgICAgICAgICAvLyBUT0RPOiByZXZpc2l0IHRoZSBsb2dpYyBhbmQgdGhlIGltcGxlbWVudGF0aW9uIHRvIG1heWJlIGF2b2lkIGhhdmluZyB0byBhcHBseSB0aGlzIHN0eWxlLlxuICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAke3Nob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZVxuICAgICAgICAgICAgICAgICAgPyAnaW5oZXJpdCdcbiAgICAgICAgICAgICAgICAgIDogJzBweCAhaW1wb3J0YW50J307XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy5lcnJvcilcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxMZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXY+e3Byb3BzLmVycm9yfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L0xlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy53YXJuaW5nKVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPExlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdj57cHJvcHMud2FybmluZ308L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9MZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICAgICAge3JlbmRlclRvZ2dsZUJ1dHRvbiAmJiAoXG4gICAgICAgICAgICAgICAgPFJpZ2h0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgPFRvZ2dsZUJ1dHRvbldyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICAgICAgICAgICAgIXNob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICR7Y3VzdG9tUHJvcGVydGllcy5zcGFjaW5nWHN9O1xuICAgICAgICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICAgICAgXX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPEZsYXRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0b2dnbGV9XG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e2ludGwuZm9ybWF0TWVzc2FnZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzT3BlblxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQuY29sbGFwc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBtZXNzYWdlc011bHRpbGluZUlucHV0LmV4cGFuZFxuICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgaWNvbj17XG4gICAgICAgICAgICAgICAgICAgICAgICBpc09wZW4gPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxBbmdsZVVwSWNvbiBzaXplPVwic21hbGxcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEFuZ2xlRG93bkljb24gc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1RvZ2dsZUJ1dHRvbldyYXBwZXI+XG4gICAgICAgICAgICAgICAgPC9SaWdodENvbHVtbj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvUm93PlxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICk7XG4gICAgICB9fVxuICAgIDwvQ29sbGFwc2libGVNb3Rpb24+XG4gICk7XG59O1xuXG50eXBlIFRPcHRpb25zID0ge1xuICBsYW5ndWFnZTogc3RyaW5nO1xuICBlcnJvcj86IFJlYWN0Tm9kZTtcbiAgd2FybmluZz86IFJlYWN0Tm9kZTtcbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgZGVmYXVsdEV4cGFuZE11bHRpbGluZVRleHQ6IGJvb2xlYW47XG4gIHRvZ2dsZUxhbmd1YWdlOiAobGFuZ3VhZ2U6IHN0cmluZykgPT4gdm9pZDtcbiAgaXNPcGVuOiBib29sZWFuO1xuICBzaG93RXhwYW5kSWNvbjogYm9vbGVhbjtcbiAgb25DbGlja0V4cGFuZD86ICgpID0+IGJvb2xlYW47XG4gIGhhc0xhbmd1YWdlc0NvbnRyb2w/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgVFJlbmRlckVkaXRvclByb3BzID0ge1xuICBpZD86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICByZWFkT25seT86IGJvb2xlYW47XG4gIGVkaXRvcj86IFRFZGl0b3I7XG4gIG9wdGlvbnM6IFRPcHRpb25zO1xufTtcbmV4cG9ydCB0eXBlIFRSZW5kZXJFZGl0b3IgPSAoXG4gIHByb3BzOiBUUmVuZGVyRWRpdG9yUHJvcHMsXG4gIGVkaXRvcjogVEVkaXRvcixcbiAgbmV4dDogKCkgPT4gUmVhY3RFbGVtZW50XG4pID0+IFJldHVyblR5cGU8dHlwZW9mIEVkaXRvcj47XG5cbmNvbnN0IHJlbmRlckVkaXRvcjogVFJlbmRlckVkaXRvciA9IChwcm9wcywgZWRpdG9yLCBuZXh0KSA9PiB7XG4gIGlmIChwcm9wcy5vcHRpb25zLnNob3dFeHBhbmRJY29uKSB7XG4gICAgd2FybmluZyhcbiAgICAgIHR5cGVvZiBwcm9wcy5vcHRpb25zLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAncmVuZGVyRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IGludGVybmFsSWQgPSBgJHtwcm9wcy5pZH1fX2ludGVybmFsX19pZGA7XG5cbiAgY29uc3QgY2hpbGRyZW4gPSBjbG9uZUVsZW1lbnQobmV4dCgpLCB7XG4gICAgaWQ6IGludGVybmFsSWQsXG4gIH0pO1xuXG4gIGNvbnN0IHBhc3NlZFByb3BzID0ge1xuICAgIGlkOiBwcm9wcy5pZCxcbiAgICBpc0Rpc2FibGVkOiBwcm9wcy5kaXNhYmxlZCxcbiAgICBpc1JlYWRPbmx5OiBwcm9wcy5yZWFkT25seSxcbiAgICAuLi5waWNrKHByb3BzLm9wdGlvbnMsIFtcbiAgICAgICdkZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dCcsXG4gICAgICAnbGFuZ3VhZ2UnLFxuICAgICAgJ3dhcm5pbmcnLFxuICAgICAgJ2Vycm9yJyxcbiAgICAgICdoYXNXYXJuaW5nJyxcbiAgICAgICdoYXNFcnJvcicsXG4gICAgICAndG9nZ2xlTGFuZ3VhZ2UnLFxuICAgICAgJ2lzT3BlbicsXG4gICAgICAnc2hvd0V4cGFuZEljb24nLFxuICAgICAgJ29uQ2xpY2tFeHBhbmQnLFxuICAgICAgJ2hhc0xhbmd1YWdlc0NvbnRyb2wnLFxuICAgIF0pLFxuICAgIC4uLmZpbHRlckRhdGFBdHRyaWJ1dGVzKHByb3BzKSxcbiAgfTtcblxuICBjb25zdCBpc0ZvY3VzZWQgPSBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQ7XG5cbiAgcmV0dXJuIChcbiAgICA8RWRpdG9yIGVkaXRvcj17ZWRpdG9yfSB7Li4ucGFzc2VkUHJvcHN9PlxuICAgICAge2NoaWxkcmVufVxuICAgICAgPEhpZGRlbklucHV0XG4gICAgICAgIGlzRm9jdXNlZD17Qm9vbGVhbihpc0ZvY3VzZWQpfVxuICAgICAgICBoYW5kbGVGb2N1cz17ZWRpdG9yLmZvY3VzfVxuICAgICAgICBkaXNhYmxlZD17cHJvcHMuZGlzYWJsZWR9XG4gICAgICAgIHJlYWRPbmx5PXtwcm9wcy5yZWFkT25seX1cbiAgICAgICAgaWQ9e3Byb3BzLmlkfVxuICAgICAgLz5cbiAgICA8L0VkaXRvcj5cbiAgKTtcbn07XG5cbkVkaXRvci5kaXNwbGF5TmFtZSA9ICdFZGl0b3InO1xuXG5leHBvcnQgZGVmYXVsdCByZW5kZXJFZGl0b3I7XG4iXX0= */",
158
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImVkaXRvci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaU9rQyIsImZpbGUiOiJlZGl0b3IudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgZm9yd2FyZFJlZixcbiAgdHlwZSBSZWFjdE5vZGUsXG4gIHR5cGUgTGVnYWN5UmVmLFxuICB0eXBlIFJlZk9iamVjdCxcbiAgdHlwZSBSZWYsXG4gIHR5cGUgRm9jdXNFdmVudEhhbmRsZXIsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcywgdXNlVGhlbWUgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VJbnRsIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgeyBjdXN0b21Qcm9wZXJ0aWVzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyB3YXJuaW5nLCBmaWx0ZXJEYXRhQXR0cmlidXRlcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3V0aWxzJztcbmltcG9ydCBDb2xsYXBzaWJsZU1vdGlvbiBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9jb2xsYXBzaWJsZS1tb3Rpb24nO1xuaW1wb3J0IFN0YWNrIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NwYWNpbmdzLXN0YWNrJztcbmltcG9ydCB7IEFuZ2xlVXBJY29uLCBBbmdsZURvd25JY29uIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IFRleHQgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvdGV4dCc7XG5pbXBvcnQgRmxhdEJ1dHRvbiBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9mbGF0LWJ1dHRvbic7XG5pbXBvcnQgeyBtZXNzYWdlc011bHRpbGluZUlucHV0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaW5wdXQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgUmljaFRleHRCb2R5LFxuICBIaWRkZW5JbnB1dCxcbiAgRWxlbWVudCxcbiAgTGVhZixcbiAgdG9nZ2xlTWFyayxcbiAgcmVzZXRFZGl0b3IsXG4gIGZvY3VzRWRpdG9yLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9yaWNoLXRleHQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgRWRpdGFibGUsXG4gIHdpdGhSZWFjdCxcbiAgU2xhdGUsXG4gIFJlYWN0RWRpdG9yLFxuICB0eXBlIFJlbmRlckVsZW1lbnRQcm9wcyxcbiAgdHlwZSBSZW5kZXJMZWFmUHJvcHMsXG59IGZyb20gJ3NsYXRlLXJlYWN0JztcbmltcG9ydCB7IGNyZWF0ZUVkaXRvciwgdHlwZSBEZXNjZW5kYW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgd2l0aEhpc3RvcnkgfSBmcm9tICdzbGF0ZS1oaXN0b3J5JztcbmltcG9ydCBpc0hvdGtleSBmcm9tICdpcy1ob3RrZXknO1xuaW1wb3J0IHBpcGUgZnJvbSAnbG9kYXNoL2ZwL3BpcGUnO1xuaW1wb3J0IHtcbiAgRWRpdG9yV3JhcHBlcixcbiAgRWRpdG9yTGFuZ3VhZ2VMYWJlbCxcbiAgVG9nZ2xlQnV0dG9uV3JhcHBlcixcbn0gZnJvbSAnLi9lZGl0b3Iuc3R5bGVzJztcblxuY29uc3QgSE9US0VZUyA9IHtcbiAgJ21vZCtiJzogJ2JvbGQnLFxuICAnbW9kK2knOiAnaXRhbGljJyxcbiAgJ21vZCt1JzogJ3VuZGVybGluZScsXG4gICdtb2QrYCc6ICdjb2RlJyxcbn07XG5cbmNvbnN0IENPTExBUFNFRF9IRUlHSFQgPSAzMjtcblxuY29uc3QgTGVmdENvbHVtbiA9IHN0eWxlZC5kaXZgXG4gIGZsZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgUmlnaHRDb2x1bW4gPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgUm93ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmV4cG9ydCB0eXBlIFRFZGl0b3JQcm9wcyA9IHtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGlkPzogc3RyaW5nO1xuICBpc09wZW46IGJvb2xlYW47XG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xuICBpc1JlYWRPbmx5PzogYm9vbGVhbjtcbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgZXJyb3I/OiBSZWFjdE5vZGU7XG4gIHdhcm5pbmc/OiBSZWFjdE5vZGU7XG4gIGRlZmF1bHRFeHBhbmRNdWx0aWxpbmVUZXh0OiBib29sZWFuO1xuICB0b2dnbGVMYW5ndWFnZTogKGxhbmd1YWdlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIGxhbmd1YWdlOiBzdHJpbmc7XG4gIHNob3dFeHBhbmRJY29uOiBib29sZWFuO1xuICBvbkNsaWNrRXhwYW5kPzogKCkgPT4gYm9vbGVhbjtcbiAgaGFzTGFuZ3VhZ2VzQ29udHJvbD86IGJvb2xlYW47XG4gIHZhbHVlOiBEZXNjZW5kYW50W107XG4gIG9uQ2hhbmdlOiAoc3RhdGU6IERlc2NlbmRhbnRbXSkgPT4gdm9pZDtcbiAgb25Gb2N1cz86IEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgb25CbHVyPzogRm9jdXNFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xuICBpc0F1dG9mb2N1c2VkPzogYm9vbGVhbjtcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIHJlZj86IFJlZjx1bmtub3duPjtcbn07XG5cbnR5cGUgVE5vZGVSZWZPYmplY3QgPSB7XG4gIGNsaWVudEhlaWdodDogbnVtYmVyO1xufSAmIExlZ2FjeVJlZjxIVE1MRGl2RWxlbWVudD47XG5cbnR5cGUgVFJpY2hUZXh0RWRpdG9yQm9keVJlZiA9IHtcbiAgcmVnaXN0ZXJDb250ZW50Tm9kZTogVE5vZGVSZWZPYmplY3Q7XG4gIGNvbnRhaW5lclJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50Pjtcbn07XG5cbmNvbnN0IHJlbmRlckVsZW1lbnQgPSAocHJvcHM6IFJlbmRlckVsZW1lbnRQcm9wcykgPT4gPEVsZW1lbnQgey4uLnByb3BzfSAvPjtcbmNvbnN0IHJlbmRlckxlYWYgPSAocHJvcHM6IFJlbmRlckxlYWZQcm9wcykgPT4gPExlYWYgey4uLnByb3BzfSAvPjtcblxuY29uc3QgRWRpdG9yID0gZm9yd2FyZFJlZigocHJvcHM6IFRFZGl0b3JQcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gIGNvbnN0IGludGwgPSB1c2VJbnRsKCk7XG4gIGNvbnN0IHJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4oKTtcblxuICBjb25zdCBjcmVhdGVFZGl0b3JXaXRoUGx1Z2lucyA9IHBpcGUod2l0aFJlYWN0LCB3aXRoSGlzdG9yeSk7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgY29uc3QgZWRpdG9yID0gdXNlTWVtbygoKSA9PiBjcmVhdGVFZGl0b3JXaXRoUGx1Z2lucyhjcmVhdGVFZGl0b3IoKSksIFtdKTtcblxuICBpZiAocHJvcHMuc2hvd0V4cGFuZEljb24pIHtcbiAgICB3YXJuaW5nKFxuICAgICAgdHlwZW9mIHByb3BzLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAnRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IFtyZW5kZXJUb2dnbGVCdXR0b24sIHNldFJlbmRlclRvZ2dsZUJ1dHRvbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgeyB0b2dnbGVMYW5ndWFnZSB9ID0gcHJvcHM7XG4gIGNvbnN0IG9uVG9nZ2xlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHRvZ2dsZUxhbmd1YWdlKHByb3BzLmxhbmd1YWdlKTtcbiAgfSwgW3RvZ2dsZUxhbmd1YWdlLCBwcm9wcy5sYW5ndWFnZV0pO1xuXG4gIGNvbnN0IHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgPVxuICAgICAgTnVtYmVyKHJlZi5jdXJyZW50Py5jbGllbnRIZWlnaHQpID4gQ09MTEFQU0VEX0hFSUdIVDtcblxuICAgIGlmIChkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgJiYgIXJlbmRlclRvZ2dsZUJ1dHRvbikge1xuICAgICAgc2V0UmVuZGVyVG9nZ2xlQnV0dG9uKHRydWUpO1xuICAgIH1cbiAgICBpZiAoIWRvZXNFeGNlZWRDb2xsYXBzZWRIZWlnaHRMaW1pdCAmJiByZW5kZXJUb2dnbGVCdXR0b24pIHtcbiAgICAgIHNldFJlbmRlclRvZ2dsZUJ1dHRvbihmYWxzZSk7XG4gICAgfVxuICB9LCBbc2V0UmVuZGVyVG9nZ2xlQnV0dG9uLCByZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbigpO1xuICB9LCBbZWRpdG9yLCB1cGRhdGVSZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICAvLyByZXNldHRpbmdcbiAgY29uc3QgcmVzZXRWYWx1ZSA9IHVzZUNhbGxiYWNrKFxuICAgIChuZXdWYWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgICByZXNldEVkaXRvcihlZGl0b3IsIG5ld1ZhbHVlKTtcbiAgICB9LFxuICAgIFtlZGl0b3JdXG4gICk7XG4gIC8qIFxuICBSZXNldHRpbmcgdGhlIGVkaXRvciByZXF1aXJlcyBhY2Nlc3MgdG8gYGVkaXRvcmAgb2JqZWN0IHJldHVybmVkIGZyb20gYHVzZVNsYXRlYCBob29rLlxuICBUaGVyZWZvcmUsIGByZXNldGAgZnVuY3Rpb24gaXMgYXR0YWNoZWQgdG8gdGhlIHBhc3NlZCBgcmVmYCBvYmplY3QgdmlhIGB1c2VJbXBlcmF0aXZlSGFuZGxlYCBcbiAgdG8gYmUgY2FsbGVkIGZyb20gdGhlIHBhcmVudCBjb21wb25lbnQuIFxuICBlLmcuIDxidXR0b24gb25Nb3VzZURvd249eygpID0+IHJlZi5jdXJyZW50Py5yZXNldFZhbHVlKFwiPHA+PHN0cm9uZz5WYWx1ZSBhZnRlciByZXNldDwvc3Ryb25nPjwvcD5cIil9PlJlc2V0PC9idXR0b24+XG4gICovXG4gIHVzZUltcGVyYXRpdmVIYW5kbGUoZm9yd2FyZGVkUmVmLCAoKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJlc2V0VmFsdWUsXG4gICAgfTtcbiAgfSk7XG5cbiAgY29uc3Qgc2hvdWxkVG9nZ2xlQnV0dG9uVGFrZVNwYWNlID1cbiAgICAvKiBcbiAgICAgIC0gaWYgaGFzTGFuZ3VhZ2VzQ29udHJvbCBhbmQgdGhlcmUgYXJlIG5vIGVycm9ycy93YXJuaW5ncyB0byBkaXNwbGF5XG4gICAgICAtIHRoZW4gdGhlIHRvZ2dsZUJ1dHRvbiBpcyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWRcbiAgICAgIFRoaXMgaXMgYmVjYXVzZSB0aGUgdG9nZ2xlIGJ1dHRvbiBpcyBwbGFjZWQgbmV4dCB0byB0aGUgTG9jYWxpemVkSW5wdXRUb2dnbGUgd2l0aG91dCBiZWluZyBzaWJsaW5ncyBpbiB0aGUgRE9NLlxuICAgICAgSWYgdGhlcmUgaXMgYSBlcnJvciBvciB3YXJuaW5nIHNob3dpbmcsXG4gICAgICB0aGVuIGl0IGNhbiBiZSBwbGFjZWQgc3RhdGljYWxseSBiZWNhdXNlIGl0IHdpbGwgdGhlbiBiZSBhIHNpYmxpbmcgdG8gdGhlIGVycm9yL3dhcm5pbmcgbWVzc2FnZVxuICAgICAgYW5kIExvY2FsaXplZElucHV0VG9nZ2xlIGlzIHBsYWNlZCBiZWxvdyB0aGUgZXJyb3JzL3dhcm5pbmdzLiBcbiAgICAqL1xuXG4gICAgKHJlbmRlclRvZ2dsZUJ1dHRvbiAmJiAhcHJvcHMuaGFzTGFuZ3VhZ2VzQ29udHJvbCkgfHxcbiAgICBwcm9wcy5lcnJvciB8fFxuICAgIHByb3BzLndhcm5pbmc7XG5cbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuXG4gIHJldHVybiAoXG4gICAgPENvbGxhcHNpYmxlTW90aW9uXG4gICAgICBtaW5IZWlnaHQ9e0NPTExBUFNFRF9IRUlHSFR9XG4gICAgICBpc0Nsb3NlZD17IXByb3BzLmlzT3Blbn1cbiAgICAgIG9uVG9nZ2xlPXtvblRvZ2dsZX1cbiAgICAgIGlzRGVmYXVsdENsb3NlZD17IXByb3BzLmRlZmF1bHRFeHBhbmRNdWx0aWxpbmVUZXh0fVxuICAgID5cbiAgICAgIHsoeyBpc09wZW4sIHRvZ2dsZSwgY29udGFpbmVyU3R5bGVzLCByZWdpc3RlckNvbnRlbnROb2RlIH0pID0+IHtcbiAgICAgICAgY29uc3QgcmVmT2JqID0ge1xuICAgICAgICAgIGNvbnRhaW5lclJlZjogcmVmLFxuICAgICAgICAgIHJlZ2lzdGVyQ29udGVudE5vZGUsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8U3RhY2sgc2NhbGU9XCJ4c1wiPlxuICAgICAgICAgICAgPEVkaXRvcldyYXBwZXJcbiAgICAgICAgICAgICAga2V5PXtwcm9wcy5sYW5ndWFnZX1cbiAgICAgICAgICAgICAgaXNEaXNhYmxlZD17cHJvcHMuaXNEaXNhYmxlZH1cbiAgICAgICAgICAgICAgaXNSZWFkT25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFNsYXRlXG4gICAgICAgICAgICAgICAgZWRpdG9yPXtlZGl0b3J9XG4gICAgICAgICAgICAgICAgdmFsdWU9e3Byb3BzLnZhbHVlfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtwcm9wcy5vbkNoYW5nZX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxFZGl0b3JMYW5ndWFnZUxhYmVsIGh0bWxGb3I9e3Byb3BzLmlkfSB0aGVtZT17dGhlbWV9PlxuICAgICAgICAgICAgICAgICAgey8qIEZJWE1FOiBhZGQgcHJvcGVyIHRvbmUgZm9yIGRpc2FibGVkIHdoZW4gdG9uZXMgYXJlIHJlZmFjdG9yZWQgKi99XG4gICAgICAgICAgICAgICAgICA8VGV4dC5EZXRhaWwgdG9uZT1cInNlY29uZGFyeVwiPlxuICAgICAgICAgICAgICAgICAgICB7cHJvcHMubGFuZ3VhZ2UudG9VcHBlckNhc2UoKX1cbiAgICAgICAgICAgICAgICAgIDwvVGV4dC5EZXRhaWw+XG4gICAgICAgICAgICAgICAgPC9FZGl0b3JMYW5ndWFnZUxhYmVsPlxuICAgICAgICAgICAgICAgIDxSaWNoVGV4dEJvZHlcbiAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgIHJlZj17cmVmT2JqIGFzIHVua25vd24gYXMgUmVmPFRSaWNoVGV4dEVkaXRvckJvZHlSZWY+fVxuICAgICAgICAgICAgICAgICAgc3R5bGVzPXt7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogY3NzYFxuICAgICAgICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICBgLFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIGhhc0Vycm9yPXtwcm9wcy5oYXNFcnJvcn1cbiAgICAgICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICBoYXNXYXJuaW5nPXtwcm9wcy5oYXNXYXJuaW5nfVxuICAgICAgICAgICAgICAgICAgaXNSZWFkT25seT17Qm9vbGVhbihwcm9wcy5pc1JlYWRPbmx5KX1cbiAgICAgICAgICAgICAgICAgIHNob3dFeHBhbmRJY29uPXtCb29sZWFuKHByb3BzLnNob3dFeHBhbmRJY29uKX1cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2tFeHBhbmQ9e3Byb3BzLm9uQ2xpY2tFeHBhbmR9XG4gICAgICAgICAgICAgICAgICBjb250YWluZXJTdHlsZXM9e2NvbnRhaW5lclN0eWxlc31cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8RWRpdGFibGVcbiAgICAgICAgICAgICAgICAgICAgey4uLmZpbHRlckRhdGFBdHRyaWJ1dGVzKHByb3BzKX1cbiAgICAgICAgICAgICAgICAgICAgbmFtZT17cHJvcHMubmFtZX1cbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyRWxlbWVudD17cmVuZGVyRWxlbWVudH1cbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyTGVhZj17cmVuZGVyTGVhZn1cbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3Byb3BzLnBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgICAgICAgICBhdXRvRm9jdXM9e3Byb3BzLmlzQXV0b2ZvY3VzZWR9XG4gICAgICAgICAgICAgICAgICAgIG9uQmx1cj17cHJvcHMub25CbHVyfVxuICAgICAgICAgICAgICAgICAgICBvbkZvY3VzPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5vbkZvY3VzPy4oZXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICAgIC8vIG9wZW5zIHRoZSBpbnB1dCBpZiBpdCByZWdhaW5zIGZvY3VzIGFuZCBpdCdzIGNsb3NlZFxuICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNPcGVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzRWRpdG9yKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICByZWFkT25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBob3RrZXkgaW4gSE9US0VZUykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzSG90a2V5KGhvdGtleSwgZXZlbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hcmsgPSBIT1RLRVlTW2hvdGtleSBhcyBrZXlvZiB0eXBlb2YgSE9US0VZU107XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZU1hcmsoZWRpdG9yLCBtYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgIDxIaWRkZW5JbnB1dFxuICAgICAgICAgICAgICAgICAgICBpc0ZvY3VzZWQ9e1JlYWN0RWRpdG9yLmlzRm9jdXNlZChlZGl0b3IpfVxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVGb2N1cz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGZvY3VzRWRpdG9yKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIGlkPXtwcm9wcy5pZH1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXtwcm9wcy5pc1JlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L1JpY2hUZXh0Qm9keT5cbiAgICAgICAgICAgICAgPC9TbGF0ZT5cbiAgICAgICAgICAgIDwvRWRpdG9yV3JhcHBlcj5cbiAgICAgICAgICAgIDxSb3dcbiAgICAgICAgICAgICAgLy8gTk9URTogYXBwbHlpbmcgdGhpcyBzdHlsZSB3aXRoaW5nIHRoZSBgc3R5bGVkYCBjb21wb25lbnQgcmVzdWx0cyBpbiB0aGUgcHJvZHVjdGlvblxuICAgICAgICAgICAgICAvLyBidW5kbGUgdG8gYXBwbHkgdGhlIHN0eWxlIGluIHRoZSB3cm9uZyBvcmRlci5cbiAgICAgICAgICAgICAgLy8gRm9yIGluc3RhbmNlLCB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSBtYXJnaW5nIG9mIHRoZSBzcGFjaW5nIGNvbXBvbmVudCwgd2hpY2ggYWxzb1xuICAgICAgICAgICAgICAvLyB1c2VzIGAhaW1wb3J0YW50YC5cbiAgICAgICAgICAgICAgLy8gQW55d2F5LCBhcHBhcmVudGx5IGJ5IHBhc3NpbmcgdGhlIHN0eWxlIGFzIGEgYGNzc2AgcHJvcCB0byB0aGUgYHN0eWxlZGAgY29tcG9uZW50XG4gICAgICAgICAgICAgIC8vIGRvZXMgdGhlIHRyaWNrLlxuICAgICAgICAgICAgICAvLyBUT0RPOiByZXZpc2l0IHRoZSBsb2dpYyBhbmQgdGhlIGltcGxlbWVudGF0aW9uIHRvIG1heWJlIGF2b2lkIGhhdmluZyB0byBhcHBseSB0aGlzIHN0eWxlLlxuICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAke3Nob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZVxuICAgICAgICAgICAgICAgICAgPyAnaW5oZXJpdCdcbiAgICAgICAgICAgICAgICAgIDogJzBweCAhaW1wb3J0YW50J307XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy5lcnJvcilcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxMZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXY+e3Byb3BzLmVycm9yfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L0xlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy53YXJuaW5nKVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPExlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdj57cHJvcHMud2FybmluZ308L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9MZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICAgICAge3JlbmRlclRvZ2dsZUJ1dHRvbiAmJiAoXG4gICAgICAgICAgICAgICAgPFJpZ2h0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgPFRvZ2dsZUJ1dHRvbldyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICAgICAgICAgICAgIXNob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICR7Y3VzdG9tUHJvcGVydGllcy5zcGFjaW5nWHN9O1xuICAgICAgICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICAgICAgXX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPEZsYXRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0b2dnbGV9XG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e2ludGwuZm9ybWF0TWVzc2FnZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzT3BlblxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQuY29sbGFwc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBtZXNzYWdlc011bHRpbGluZUlucHV0LmV4cGFuZFxuICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgaWNvbj17XG4gICAgICAgICAgICAgICAgICAgICAgICBpc09wZW4gPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxBbmdsZVVwSWNvbiBzaXplPVwic21hbGxcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEFuZ2xlRG93bkljb24gc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1RvZ2dsZUJ1dHRvbldyYXBwZXI+XG4gICAgICAgICAgICAgICAgPC9SaWdodENvbHVtbj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvUm93PlxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICk7XG4gICAgICB9fVxuICAgIDwvQ29sbGFwc2libGVNb3Rpb24+XG4gICk7XG59KTtcbkVkaXRvci5kaXNwbGF5TmFtZSA9ICdFZGl0b3InO1xuXG5leHBvcnQgZGVmYXVsdCBFZGl0b3I7XG4iXX0= */",
143
159
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1
144
160
  };
145
161
 
146
- var Editor$1 = function Editor(props) {
147
- var _props$editor, _props$editor2, _props$editor3, _props$editor4;
148
-
162
+ var Editor = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
149
163
  var intl = useIntl();
150
164
  var ref = useRef();
151
- var prevIsFocused = usePrevious((_props$editor = props.editor) === null || _props$editor === void 0 ? void 0 : _props$editor.value.selection.isFocused);
165
+ var createEditorWithPlugins = pipe(withReact, withHistory); // eslint-disable-next-line react-hooks/exhaustive-deps
166
+
167
+ var editor = useMemo(function () {
168
+ return createEditorWithPlugins(createEditor());
169
+ }, []);
152
170
 
153
171
  if (props.showExpandIcon) {
154
172
  process.env.NODE_ENV !== "production" ? warning(typeof props.onClickExpand === 'function', 'Editor: "onClickExpand" is required when showExpandIcon is true') : void 0;
@@ -178,20 +196,31 @@ var Editor$1 = function Editor(props) {
178
196
  }, [setRenderToggleButton, renderToggleButton]);
179
197
  useEffect(function () {
180
198
  updateRenderToggleButton();
181
- }, [(_props$editor2 = props.editor) === null || _props$editor2 === void 0 ? void 0 : _props$editor2.value.document, updateRenderToggleButton]); // opens the input if it regains focus and it's closed
182
-
183
- if (prevIsFocused !== ((_props$editor3 = props.editor) === null || _props$editor3 === void 0 ? void 0 : _props$editor3.value.selection.isFocused) && (_props$editor4 = props.editor) !== null && _props$editor4 !== void 0 && _props$editor4.value.selection.isFocused && !props.isOpen) {
184
- onToggle();
185
- }
199
+ }, [editor, updateRenderToggleButton]); // resetting
200
+
201
+ var resetValue = useCallback(function (newValue) {
202
+ resetEditor(editor, newValue);
203
+ }, [editor]);
204
+ /*
205
+ Resetting the editor requires access to `editor` object returned from `useSlate` hook.
206
+ Therefore, `reset` function is attached to the passed `ref` object via `useImperativeHandle`
207
+ to be called from the parent component.
208
+ e.g. <button onMouseDown={() => ref.current?.resetValue("<p><strong>Value after reset</strong></p>")}>Reset</button>
209
+ */
186
210
 
211
+ useImperativeHandle(forwardedRef, function () {
212
+ return {
213
+ resetValue: resetValue
214
+ };
215
+ });
187
216
  var shouldToggleButtonTakeSpace =
188
- /*
217
+ /*
189
218
  - if hasLanguagesControl and there are no errors/warnings to display
190
219
  - then the toggleButton is absolutely positioned
191
220
  This is because the toggle button is placed next to the LocalizedInputToggle without being siblings in the DOM.
192
221
  If there is a error or warning showing,
193
222
  then it can be placed statically because it will then be a sibling to the error/warning message
194
- and LocalizedInputToggle is placed below the errors/warnings.
223
+ and LocalizedInputToggle is placed below the errors/warnings.
195
224
  */
196
225
  renderToggleButton && !props.hasLanguagesControl || props.error || props.warning;
197
226
  var theme = useTheme();
@@ -211,31 +240,73 @@ var Editor$1 = function Editor(props) {
211
240
  };
212
241
  return jsxs(Stack, {
213
242
  scale: "xs",
214
- children: [jsxs(EditorWrapper, {
243
+ children: [jsx(EditorWrapper, {
215
244
  isDisabled: props.isDisabled,
216
245
  isReadOnly: props.isReadOnly,
217
- children: [jsx(EditorLanguageLabel, {
218
- htmlFor: props.id,
219
- theme: theme,
220
- children: jsx(Text.Detail, {
221
- tone: "secondary",
222
- children: props.language.toUpperCase()
223
- })
224
- }), jsx(RichTextBody, {
225
- ref: refObj,
226
- styles: {
227
- container: _ref$1
228
- },
229
- hasError: props.hasError,
230
- isDisabled: props.isDisabled,
231
- hasWarning: props.hasWarning,
232
- isReadOnly: Boolean(props.isReadOnly),
233
- editor: props.editor,
234
- containerStyles: containerStyles,
235
- showExpandIcon: props.showExpandIcon,
236
- onClickExpand: props.onClickExpand,
237
- children: props.children
238
- })]
246
+ children: jsxs(Slate, {
247
+ editor: editor,
248
+ value: props.value,
249
+ onChange: props.onChange,
250
+ children: [jsx(EditorLanguageLabel, {
251
+ htmlFor: props.id,
252
+ theme: theme,
253
+ children: jsx(Text.Detail, {
254
+ tone: "secondary",
255
+ children: props.language.toUpperCase()
256
+ })
257
+ }), jsxs(RichTextBody // @ts-ignore
258
+ , {
259
+ ref: refObj,
260
+ styles: {
261
+ container: _ref$1
262
+ },
263
+ hasError: props.hasError,
264
+ isDisabled: props.isDisabled,
265
+ hasWarning: props.hasWarning,
266
+ isReadOnly: Boolean(props.isReadOnly),
267
+ showExpandIcon: Boolean(props.showExpandIcon),
268
+ onClickExpand: props.onClickExpand,
269
+ containerStyles: containerStyles,
270
+ children: [jsx(Editable, _objectSpread$3(_objectSpread$3({}, filterDataAttributes(props)), {}, {
271
+ name: props.name,
272
+ renderElement: renderElement,
273
+ renderLeaf: renderLeaf,
274
+ placeholder: props.placeholder,
275
+ autoFocus: props.isAutofocused,
276
+ onBlur: props.onBlur,
277
+ onFocus: function onFocus(event) {
278
+ var _props$onFocus;
279
+
280
+ (_props$onFocus = props.onFocus) === null || _props$onFocus === void 0 ? void 0 : _props$onFocus.call(props, event); // opens the input if it regains focus and it's closed
281
+
282
+ if (!isOpen) {
283
+ toggle();
284
+ focusEditor(editor);
285
+ }
286
+ },
287
+ readOnly: props.isReadOnly,
288
+ disabled: props.isDisabled,
289
+ onKeyDown: function onKeyDown(event) {
290
+ for (var hotkey in HOTKEYS) {
291
+ if (isHotkey(hotkey, event)) {
292
+ event.preventDefault();
293
+ var mark = HOTKEYS[hotkey];
294
+ toggleMark(editor, mark);
295
+ break;
296
+ }
297
+ }
298
+ }
299
+ })), props.children, jsx(HiddenInput, {
300
+ isFocused: ReactEditor.isFocused(editor),
301
+ handleFocus: function handleFocus() {
302
+ focusEditor(editor);
303
+ },
304
+ id: props.id,
305
+ disabled: props.isDisabled,
306
+ readOnly: props.isReadOnly
307
+ })]
308
+ })]
309
+ })
239
310
  }, props.language), jsxs(Row // NOTE: applying this style withing the `styled` component results in the production
240
311
  // bundle to apply the style in the wrong order.
241
312
  // For instance, we need to override the marging of the spacing component, which also
@@ -244,7 +315,7 @@ var Editor$1 = function Editor(props) {
244
315
  // does the trick.
245
316
  // TODO: revisit the logic and the implementation to maybe avoid having to apply this style.
246
317
  , {
247
- css: /*#__PURE__*/css("margin-top:", shouldToggleButtonTakeSpace ? 'inherit' : '0px !important', ";" + (process.env.NODE_ENV === "production" ? "" : ";label:Editor;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImVkaXRvci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd01zQiIsImZpbGUiOiJlZGl0b3IudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgY2xvbmVFbGVtZW50LFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBSZWFjdEVsZW1lbnQsXG4gIHR5cGUgTGVnYWN5UmVmLFxuICB0eXBlIFJlZk9iamVjdCxcbiAgdHlwZSBSZWYsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCBwaWNrIGZyb20gJ2xvZGFzaC9waWNrJztcbmltcG9ydCB7IGNzcywgdXNlVGhlbWUgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VJbnRsIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgeyBjdXN0b21Qcm9wZXJ0aWVzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyBmaWx0ZXJEYXRhQXR0cmlidXRlcywgd2FybmluZyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3V0aWxzJztcbmltcG9ydCB7IHVzZVByZXZpb3VzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaG9va3MnO1xuaW1wb3J0IENvbGxhcHNpYmxlTW90aW9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2NvbGxhcHNpYmxlLW1vdGlvbic7XG5pbXBvcnQgU3RhY2sgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc3BhY2luZ3Mtc3RhY2snO1xuaW1wb3J0IHsgQW5nbGVVcEljb24sIEFuZ2xlRG93bkljb24gfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgVGV4dCBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC90ZXh0JztcbmltcG9ydCBGbGF0QnV0dG9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ZsYXQtYnV0dG9uJztcbmltcG9ydCB7IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pbnB1dC11dGlscyc7XG5pbXBvcnQge1xuICBSaWNoVGV4dEJvZHksXG4gIEhpZGRlbklucHV0LFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9yaWNoLXRleHQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgRWRpdG9yV3JhcHBlcixcbiAgRWRpdG9yTGFuZ3VhZ2VMYWJlbCxcbiAgVG9nZ2xlQnV0dG9uV3JhcHBlcixcbn0gZnJvbSAnLi9lZGl0b3Iuc3R5bGVzJztcbmltcG9ydCB0eXBlIHsgVEVkaXRvciB9IGZyb20gJy4vZWRpdG9yLnR5cGVzJztcblxuY29uc3QgQ09MTEFQU0VEX0hFSUdIVCA9IDMyO1xuXG5jb25zdCBMZWZ0Q29sdW1uID0gc3R5bGVkLmRpdmBcbiAgZmxleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5gO1xuXG5jb25zdCBSaWdodENvbHVtbiA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5gO1xuXG5jb25zdCBSb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuYDtcblxuZXhwb3J0IHR5cGUgVEVkaXRvclByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBpZD86IHN0cmluZztcbiAgaXNPcGVuOiBib29sZWFuO1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgaXNSZWFkT25seT86IGJvb2xlYW47XG4gIGhhc1dhcm5pbmc/OiBib29sZWFuO1xuICBoYXNFcnJvcj86IGJvb2xlYW47XG4gIGVkaXRvcj86IFRFZGl0b3I7XG4gIGVycm9yPzogUmVhY3ROb2RlO1xuICB3YXJuaW5nPzogUmVhY3ROb2RlO1xuICBkZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dDogYm9vbGVhbjtcbiAgdG9nZ2xlTGFuZ3VhZ2U6IChsYW5ndWFnZTogc3RyaW5nKSA9PiB2b2lkO1xuICBsYW5ndWFnZTogc3RyaW5nO1xuICBzaG93RXhwYW5kSWNvbjogYm9vbGVhbjtcbiAgb25DbGlja0V4cGFuZD86ICgpID0+IGJvb2xlYW47XG4gIGhhc0xhbmd1YWdlc0NvbnRyb2w/OiBib29sZWFuO1xufTtcblxudHlwZSBUTm9kZVJlZk9iamVjdCA9IHtcbiAgY2xpZW50SGVpZ2h0OiBudW1iZXI7XG59ICYgTGVnYWN5UmVmPEhUTUxEaXZFbGVtZW50PjtcblxudHlwZSBUUmljaFRleHRFZGl0b3JCb2R5UmVmID0ge1xuICByZWdpc3RlckNvbnRlbnROb2RlOiBUTm9kZVJlZk9iamVjdDtcbiAgY29udGFpbmVyUmVmOiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xufTtcblxuY29uc3QgRWRpdG9yID0gKHByb3BzOiBURWRpdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgaW50bCA9IHVzZUludGwoKTtcbiAgY29uc3QgcmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PigpO1xuICBjb25zdCBwcmV2SXNGb2N1c2VkID0gdXNlUHJldmlvdXMocHJvcHMuZWRpdG9yPy52YWx1ZS5zZWxlY3Rpb24uaXNGb2N1c2VkKTtcblxuICBpZiAocHJvcHMuc2hvd0V4cGFuZEljb24pIHtcbiAgICB3YXJuaW5nKFxuICAgICAgdHlwZW9mIHByb3BzLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAnRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IFtyZW5kZXJUb2dnbGVCdXR0b24sIHNldFJlbmRlclRvZ2dsZUJ1dHRvbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgeyB0b2dnbGVMYW5ndWFnZSB9ID0gcHJvcHM7XG4gIGNvbnN0IG9uVG9nZ2xlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHRvZ2dsZUxhbmd1YWdlKHByb3BzLmxhbmd1YWdlKTtcbiAgfSwgW3RvZ2dsZUxhbmd1YWdlLCBwcm9wcy5sYW5ndWFnZV0pO1xuXG4gIGNvbnN0IHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgPVxuICAgICAgTnVtYmVyKHJlZi5jdXJyZW50Py5jbGllbnRIZWlnaHQpID4gQ09MTEFQU0VEX0hFSUdIVDtcblxuICAgIGlmIChkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgJiYgIXJlbmRlclRvZ2dsZUJ1dHRvbikge1xuICAgICAgc2V0UmVuZGVyVG9nZ2xlQnV0dG9uKHRydWUpO1xuICAgIH1cbiAgICBpZiAoIWRvZXNFeGNlZWRDb2xsYXBzZWRIZWlnaHRMaW1pdCAmJiByZW5kZXJUb2dnbGVCdXR0b24pIHtcbiAgICAgIHNldFJlbmRlclRvZ2dsZUJ1dHRvbihmYWxzZSk7XG4gICAgfVxuICB9LCBbc2V0UmVuZGVyVG9nZ2xlQnV0dG9uLCByZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbigpO1xuICB9LCBbcHJvcHMuZWRpdG9yPy52YWx1ZS5kb2N1bWVudCwgdXBkYXRlUmVuZGVyVG9nZ2xlQnV0dG9uXSk7XG5cbiAgLy8gb3BlbnMgdGhlIGlucHV0IGlmIGl0IHJlZ2FpbnMgZm9jdXMgYW5kIGl0J3MgY2xvc2VkXG4gIGlmIChcbiAgICBwcmV2SXNGb2N1c2VkICE9PSBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQgJiZcbiAgICBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQgJiZcbiAgICAhcHJvcHMuaXNPcGVuXG4gICkge1xuICAgIG9uVG9nZ2xlKCk7XG4gIH1cblxuICBjb25zdCBzaG91bGRUb2dnbGVCdXR0b25UYWtlU3BhY2UgPVxuICAgIC8qXG4gICAgICAtIGlmIGhhc0xhbmd1YWdlc0NvbnRyb2wgYW5kIHRoZXJlIGFyZSBubyBlcnJvcnMvd2FybmluZ3MgdG8gZGlzcGxheVxuICAgICAgLSB0aGVuIHRoZSB0b2dnbGVCdXR0b24gaXMgYWJzb2x1dGVseSBwb3NpdGlvbmVkXG4gICAgICBUaGlzIGlzIGJlY2F1c2UgdGhlIHRvZ2dsZSBidXR0b24gaXMgcGxhY2VkIG5leHQgdG8gdGhlIExvY2FsaXplZElucHV0VG9nZ2xlIHdpdGhvdXQgYmVpbmcgc2libGluZ3MgaW4gdGhlIERPTS5cbiAgICAgIElmIHRoZXJlIGlzIGEgZXJyb3Igb3Igd2FybmluZyBzaG93aW5nLFxuICAgICAgdGhlbiBpdCBjYW4gYmUgcGxhY2VkIHN0YXRpY2FsbHkgYmVjYXVzZSBpdCB3aWxsIHRoZW4gYmUgYSBzaWJsaW5nIHRvIHRoZSBlcnJvci93YXJuaW5nIG1lc3NhZ2VcbiAgICAgIGFuZCBMb2NhbGl6ZWRJbnB1dFRvZ2dsZSBpcyBwbGFjZWQgYmVsb3cgdGhlIGVycm9ycy93YXJuaW5ncy5cbiAgICAqL1xuICAgIChyZW5kZXJUb2dnbGVCdXR0b24gJiYgIXByb3BzLmhhc0xhbmd1YWdlc0NvbnRyb2wpIHx8XG4gICAgcHJvcHMuZXJyb3IgfHxcbiAgICBwcm9wcy53YXJuaW5nO1xuXG4gIGNvbnN0IHRoZW1lID0gdXNlVGhlbWUoKTtcblxuICByZXR1cm4gKFxuICAgIDxDb2xsYXBzaWJsZU1vdGlvblxuICAgICAgbWluSGVpZ2h0PXtDT0xMQVBTRURfSEVJR0hUfVxuICAgICAgaXNDbG9zZWQ9eyFwcm9wcy5pc09wZW59XG4gICAgICBvblRvZ2dsZT17b25Ub2dnbGV9XG4gICAgICBpc0RlZmF1bHRDbG9zZWQ9eyFwcm9wcy5kZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dH1cbiAgICA+XG4gICAgICB7KHsgaXNPcGVuLCB0b2dnbGUsIGNvbnRhaW5lclN0eWxlcywgcmVnaXN0ZXJDb250ZW50Tm9kZSB9KSA9PiB7XG4gICAgICAgIGNvbnN0IHJlZk9iaiA9IHtcbiAgICAgICAgICBjb250YWluZXJSZWY6IHJlZixcbiAgICAgICAgICByZWdpc3RlckNvbnRlbnROb2RlLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPFN0YWNrIHNjYWxlPVwieHNcIj5cbiAgICAgICAgICAgIDxFZGl0b3JXcmFwcGVyXG4gICAgICAgICAgICAgIGtleT17cHJvcHMubGFuZ3VhZ2V9XG4gICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgIGlzUmVhZE9ubHk9e3Byb3BzLmlzUmVhZE9ubHl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxFZGl0b3JMYW5ndWFnZUxhYmVsIGh0bWxGb3I9e3Byb3BzLmlkfSB0aGVtZT17dGhlbWV9PlxuICAgICAgICAgICAgICAgIHsvKiBGSVhNRTogYWRkIHByb3BlciB0b25lIGZvciBkaXNhYmxlZCB3aGVuIHRvbmVzIGFyZSByZWZhY3RvcmVkICovfVxuICAgICAgICAgICAgICAgIDxUZXh0LkRldGFpbCB0b25lPVwic2Vjb25kYXJ5XCI+XG4gICAgICAgICAgICAgICAgICB7cHJvcHMubGFuZ3VhZ2UudG9VcHBlckNhc2UoKX1cbiAgICAgICAgICAgICAgICA8L1RleHQuRGV0YWlsPlxuICAgICAgICAgICAgICA8L0VkaXRvckxhbmd1YWdlTGFiZWw+XG5cbiAgICAgICAgICAgICAgPFJpY2hUZXh0Qm9keVxuICAgICAgICAgICAgICAgIHJlZj17cmVmT2JqIGFzIHVua25vd24gYXMgUmVmPFRSaWNoVGV4dEVkaXRvckJvZHlSZWY+fVxuICAgICAgICAgICAgICAgIHN0eWxlcz17e1xuICAgICAgICAgICAgICAgICAgY29udGFpbmVyOiBjc3NgXG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIGhhc0Vycm9yPXtwcm9wcy5oYXNFcnJvcn1cbiAgICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkfVxuICAgICAgICAgICAgICAgIGhhc1dhcm5pbmc9e3Byb3BzLmhhc1dhcm5pbmd9XG4gICAgICAgICAgICAgICAgaXNSZWFkT25seT17Qm9vbGVhbihwcm9wcy5pc1JlYWRPbmx5KX1cbiAgICAgICAgICAgICAgICBlZGl0b3I9e3Byb3BzLmVkaXRvciBhcyBURWRpdG9yfVxuICAgICAgICAgICAgICAgIGNvbnRhaW5lclN0eWxlcz17Y29udGFpbmVyU3R5bGVzfVxuICAgICAgICAgICAgICAgIHNob3dFeHBhbmRJY29uPXtwcm9wcy5zaG93RXhwYW5kSWNvbn1cbiAgICAgICAgICAgICAgICBvbkNsaWNrRXhwYW5kPXtwcm9wcy5vbkNsaWNrRXhwYW5kfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgICAgICA8L1JpY2hUZXh0Qm9keT5cbiAgICAgICAgICAgIDwvRWRpdG9yV3JhcHBlcj5cbiAgICAgICAgICAgIDxSb3dcbiAgICAgICAgICAgICAgLy8gTk9URTogYXBwbHlpbmcgdGhpcyBzdHlsZSB3aXRoaW5nIHRoZSBgc3R5bGVkYCBjb21wb25lbnQgcmVzdWx0cyBpbiB0aGUgcHJvZHVjdGlvblxuICAgICAgICAgICAgICAvLyBidW5kbGUgdG8gYXBwbHkgdGhlIHN0eWxlIGluIHRoZSB3cm9uZyBvcmRlci5cbiAgICAgICAgICAgICAgLy8gRm9yIGluc3RhbmNlLCB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSBtYXJnaW5nIG9mIHRoZSBzcGFjaW5nIGNvbXBvbmVudCwgd2hpY2ggYWxzb1xuICAgICAgICAgICAgICAvLyB1c2VzIGAhaW1wb3J0YW50YC5cbiAgICAgICAgICAgICAgLy8gQW55d2F5LCBhcHBhcmVudGx5IGJ5IHBhc3NpbmcgdGhlIHN0eWxlIGFzIGEgYGNzc2AgcHJvcCB0byB0aGUgYHN0eWxlZGAgY29tcG9uZW50XG4gICAgICAgICAgICAgIC8vIGRvZXMgdGhlIHRyaWNrLlxuICAgICAgICAgICAgICAvLyBUT0RPOiByZXZpc2l0IHRoZSBsb2dpYyBhbmQgdGhlIGltcGxlbWVudGF0aW9uIHRvIG1heWJlIGF2b2lkIGhhdmluZyB0byBhcHBseSB0aGlzIHN0eWxlLlxuICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAke3Nob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZVxuICAgICAgICAgICAgICAgICAgPyAnaW5oZXJpdCdcbiAgICAgICAgICAgICAgICAgIDogJzBweCAhaW1wb3J0YW50J307XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy5lcnJvcilcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxMZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXY+e3Byb3BzLmVycm9yfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L0xlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy53YXJuaW5nKVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPExlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdj57cHJvcHMud2FybmluZ308L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9MZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICAgICAge3JlbmRlclRvZ2dsZUJ1dHRvbiAmJiAoXG4gICAgICAgICAgICAgICAgPFJpZ2h0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgPFRvZ2dsZUJ1dHRvbldyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICAgICAgICAgICAgIXNob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICR7Y3VzdG9tUHJvcGVydGllcy5zcGFjaW5nWHN9O1xuICAgICAgICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICAgICAgXX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPEZsYXRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0b2dnbGV9XG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e2ludGwuZm9ybWF0TWVzc2FnZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzT3BlblxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQuY29sbGFwc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBtZXNzYWdlc011bHRpbGluZUlucHV0LmV4cGFuZFxuICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgaWNvbj17XG4gICAgICAgICAgICAgICAgICAgICAgICBpc09wZW4gPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxBbmdsZVVwSWNvbiBzaXplPVwic21hbGxcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEFuZ2xlRG93bkljb24gc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1RvZ2dsZUJ1dHRvbldyYXBwZXI+XG4gICAgICAgICAgICAgICAgPC9SaWdodENvbHVtbj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvUm93PlxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICk7XG4gICAgICB9fVxuICAgIDwvQ29sbGFwc2libGVNb3Rpb24+XG4gICk7XG59O1xuXG50eXBlIFRPcHRpb25zID0ge1xuICBsYW5ndWFnZTogc3RyaW5nO1xuICBlcnJvcj86IFJlYWN0Tm9kZTtcbiAgd2FybmluZz86IFJlYWN0Tm9kZTtcbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgZGVmYXVsdEV4cGFuZE11bHRpbGluZVRleHQ6IGJvb2xlYW47XG4gIHRvZ2dsZUxhbmd1YWdlOiAobGFuZ3VhZ2U6IHN0cmluZykgPT4gdm9pZDtcbiAgaXNPcGVuOiBib29sZWFuO1xuICBzaG93RXhwYW5kSWNvbjogYm9vbGVhbjtcbiAgb25DbGlja0V4cGFuZD86ICgpID0+IGJvb2xlYW47XG4gIGhhc0xhbmd1YWdlc0NvbnRyb2w/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgVFJlbmRlckVkaXRvclByb3BzID0ge1xuICBpZD86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICByZWFkT25seT86IGJvb2xlYW47XG4gIGVkaXRvcj86IFRFZGl0b3I7XG4gIG9wdGlvbnM6IFRPcHRpb25zO1xufTtcbmV4cG9ydCB0eXBlIFRSZW5kZXJFZGl0b3IgPSAoXG4gIHByb3BzOiBUUmVuZGVyRWRpdG9yUHJvcHMsXG4gIGVkaXRvcjogVEVkaXRvcixcbiAgbmV4dDogKCkgPT4gUmVhY3RFbGVtZW50XG4pID0+IFJldHVyblR5cGU8dHlwZW9mIEVkaXRvcj47XG5cbmNvbnN0IHJlbmRlckVkaXRvcjogVFJlbmRlckVkaXRvciA9IChwcm9wcywgZWRpdG9yLCBuZXh0KSA9PiB7XG4gIGlmIChwcm9wcy5vcHRpb25zLnNob3dFeHBhbmRJY29uKSB7XG4gICAgd2FybmluZyhcbiAgICAgIHR5cGVvZiBwcm9wcy5vcHRpb25zLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAncmVuZGVyRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IGludGVybmFsSWQgPSBgJHtwcm9wcy5pZH1fX2ludGVybmFsX19pZGA7XG5cbiAgY29uc3QgY2hpbGRyZW4gPSBjbG9uZUVsZW1lbnQobmV4dCgpLCB7XG4gICAgaWQ6IGludGVybmFsSWQsXG4gIH0pO1xuXG4gIGNvbnN0IHBhc3NlZFByb3BzID0ge1xuICAgIGlkOiBwcm9wcy5pZCxcbiAgICBpc0Rpc2FibGVkOiBwcm9wcy5kaXNhYmxlZCxcbiAgICBpc1JlYWRPbmx5OiBwcm9wcy5yZWFkT25seSxcbiAgICAuLi5waWNrKHByb3BzLm9wdGlvbnMsIFtcbiAgICAgICdkZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dCcsXG4gICAgICAnbGFuZ3VhZ2UnLFxuICAgICAgJ3dhcm5pbmcnLFxuICAgICAgJ2Vycm9yJyxcbiAgICAgICdoYXNXYXJuaW5nJyxcbiAgICAgICdoYXNFcnJvcicsXG4gICAgICAndG9nZ2xlTGFuZ3VhZ2UnLFxuICAgICAgJ2lzT3BlbicsXG4gICAgICAnc2hvd0V4cGFuZEljb24nLFxuICAgICAgJ29uQ2xpY2tFeHBhbmQnLFxuICAgICAgJ2hhc0xhbmd1YWdlc0NvbnRyb2wnLFxuICAgIF0pLFxuICAgIC4uLmZpbHRlckRhdGFBdHRyaWJ1dGVzKHByb3BzKSxcbiAgfTtcblxuICBjb25zdCBpc0ZvY3VzZWQgPSBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQ7XG5cbiAgcmV0dXJuIChcbiAgICA8RWRpdG9yIGVkaXRvcj17ZWRpdG9yfSB7Li4ucGFzc2VkUHJvcHN9PlxuICAgICAge2NoaWxkcmVufVxuICAgICAgPEhpZGRlbklucHV0XG4gICAgICAgIGlzRm9jdXNlZD17Qm9vbGVhbihpc0ZvY3VzZWQpfVxuICAgICAgICBoYW5kbGVGb2N1cz17ZWRpdG9yLmZvY3VzfVxuICAgICAgICBkaXNhYmxlZD17cHJvcHMuZGlzYWJsZWR9XG4gICAgICAgIHJlYWRPbmx5PXtwcm9wcy5yZWFkT25seX1cbiAgICAgICAgaWQ9e3Byb3BzLmlkfVxuICAgICAgLz5cbiAgICA8L0VkaXRvcj5cbiAgKTtcbn07XG5cbkVkaXRvci5kaXNwbGF5TmFtZSA9ICdFZGl0b3InO1xuXG5leHBvcnQgZGVmYXVsdCByZW5kZXJFZGl0b3I7XG4iXX0= */"),
318
+ css: /*#__PURE__*/css("margin-top:", shouldToggleButtonTakeSpace ? 'inherit' : '0px !important', ";" + (process.env.NODE_ENV === "production" ? "" : ";label:Editor;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImVkaXRvci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa1NzQiIsImZpbGUiOiJlZGl0b3IudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgZm9yd2FyZFJlZixcbiAgdHlwZSBSZWFjdE5vZGUsXG4gIHR5cGUgTGVnYWN5UmVmLFxuICB0eXBlIFJlZk9iamVjdCxcbiAgdHlwZSBSZWYsXG4gIHR5cGUgRm9jdXNFdmVudEhhbmRsZXIsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcywgdXNlVGhlbWUgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VJbnRsIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgeyBjdXN0b21Qcm9wZXJ0aWVzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyB3YXJuaW5nLCBmaWx0ZXJEYXRhQXR0cmlidXRlcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3V0aWxzJztcbmltcG9ydCBDb2xsYXBzaWJsZU1vdGlvbiBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9jb2xsYXBzaWJsZS1tb3Rpb24nO1xuaW1wb3J0IFN0YWNrIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NwYWNpbmdzLXN0YWNrJztcbmltcG9ydCB7IEFuZ2xlVXBJY29uLCBBbmdsZURvd25JY29uIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IFRleHQgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvdGV4dCc7XG5pbXBvcnQgRmxhdEJ1dHRvbiBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9mbGF0LWJ1dHRvbic7XG5pbXBvcnQgeyBtZXNzYWdlc011bHRpbGluZUlucHV0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaW5wdXQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgUmljaFRleHRCb2R5LFxuICBIaWRkZW5JbnB1dCxcbiAgRWxlbWVudCxcbiAgTGVhZixcbiAgdG9nZ2xlTWFyayxcbiAgcmVzZXRFZGl0b3IsXG4gIGZvY3VzRWRpdG9yLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9yaWNoLXRleHQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgRWRpdGFibGUsXG4gIHdpdGhSZWFjdCxcbiAgU2xhdGUsXG4gIFJlYWN0RWRpdG9yLFxuICB0eXBlIFJlbmRlckVsZW1lbnRQcm9wcyxcbiAgdHlwZSBSZW5kZXJMZWFmUHJvcHMsXG59IGZyb20gJ3NsYXRlLXJlYWN0JztcbmltcG9ydCB7IGNyZWF0ZUVkaXRvciwgdHlwZSBEZXNjZW5kYW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgd2l0aEhpc3RvcnkgfSBmcm9tICdzbGF0ZS1oaXN0b3J5JztcbmltcG9ydCBpc0hvdGtleSBmcm9tICdpcy1ob3RrZXknO1xuaW1wb3J0IHBpcGUgZnJvbSAnbG9kYXNoL2ZwL3BpcGUnO1xuaW1wb3J0IHtcbiAgRWRpdG9yV3JhcHBlcixcbiAgRWRpdG9yTGFuZ3VhZ2VMYWJlbCxcbiAgVG9nZ2xlQnV0dG9uV3JhcHBlcixcbn0gZnJvbSAnLi9lZGl0b3Iuc3R5bGVzJztcblxuY29uc3QgSE9US0VZUyA9IHtcbiAgJ21vZCtiJzogJ2JvbGQnLFxuICAnbW9kK2knOiAnaXRhbGljJyxcbiAgJ21vZCt1JzogJ3VuZGVybGluZScsXG4gICdtb2QrYCc6ICdjb2RlJyxcbn07XG5cbmNvbnN0IENPTExBUFNFRF9IRUlHSFQgPSAzMjtcblxuY29uc3QgTGVmdENvbHVtbiA9IHN0eWxlZC5kaXZgXG4gIGZsZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgUmlnaHRDb2x1bW4gPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgUm93ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmV4cG9ydCB0eXBlIFRFZGl0b3JQcm9wcyA9IHtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGlkPzogc3RyaW5nO1xuICBpc09wZW46IGJvb2xlYW47XG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xuICBpc1JlYWRPbmx5PzogYm9vbGVhbjtcbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgZXJyb3I/OiBSZWFjdE5vZGU7XG4gIHdhcm5pbmc/OiBSZWFjdE5vZGU7XG4gIGRlZmF1bHRFeHBhbmRNdWx0aWxpbmVUZXh0OiBib29sZWFuO1xuICB0b2dnbGVMYW5ndWFnZTogKGxhbmd1YWdlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIGxhbmd1YWdlOiBzdHJpbmc7XG4gIHNob3dFeHBhbmRJY29uOiBib29sZWFuO1xuICBvbkNsaWNrRXhwYW5kPzogKCkgPT4gYm9vbGVhbjtcbiAgaGFzTGFuZ3VhZ2VzQ29udHJvbD86IGJvb2xlYW47XG4gIHZhbHVlOiBEZXNjZW5kYW50W107XG4gIG9uQ2hhbmdlOiAoc3RhdGU6IERlc2NlbmRhbnRbXSkgPT4gdm9pZDtcbiAgb25Gb2N1cz86IEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgb25CbHVyPzogRm9jdXNFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xuICBpc0F1dG9mb2N1c2VkPzogYm9vbGVhbjtcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIHJlZj86IFJlZjx1bmtub3duPjtcbn07XG5cbnR5cGUgVE5vZGVSZWZPYmplY3QgPSB7XG4gIGNsaWVudEhlaWdodDogbnVtYmVyO1xufSAmIExlZ2FjeVJlZjxIVE1MRGl2RWxlbWVudD47XG5cbnR5cGUgVFJpY2hUZXh0RWRpdG9yQm9keVJlZiA9IHtcbiAgcmVnaXN0ZXJDb250ZW50Tm9kZTogVE5vZGVSZWZPYmplY3Q7XG4gIGNvbnRhaW5lclJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50Pjtcbn07XG5cbmNvbnN0IHJlbmRlckVsZW1lbnQgPSAocHJvcHM6IFJlbmRlckVsZW1lbnRQcm9wcykgPT4gPEVsZW1lbnQgey4uLnByb3BzfSAvPjtcbmNvbnN0IHJlbmRlckxlYWYgPSAocHJvcHM6IFJlbmRlckxlYWZQcm9wcykgPT4gPExlYWYgey4uLnByb3BzfSAvPjtcblxuY29uc3QgRWRpdG9yID0gZm9yd2FyZFJlZigocHJvcHM6IFRFZGl0b3JQcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gIGNvbnN0IGludGwgPSB1c2VJbnRsKCk7XG4gIGNvbnN0IHJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4oKTtcblxuICBjb25zdCBjcmVhdGVFZGl0b3JXaXRoUGx1Z2lucyA9IHBpcGUod2l0aFJlYWN0LCB3aXRoSGlzdG9yeSk7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgY29uc3QgZWRpdG9yID0gdXNlTWVtbygoKSA9PiBjcmVhdGVFZGl0b3JXaXRoUGx1Z2lucyhjcmVhdGVFZGl0b3IoKSksIFtdKTtcblxuICBpZiAocHJvcHMuc2hvd0V4cGFuZEljb24pIHtcbiAgICB3YXJuaW5nKFxuICAgICAgdHlwZW9mIHByb3BzLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAnRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IFtyZW5kZXJUb2dnbGVCdXR0b24sIHNldFJlbmRlclRvZ2dsZUJ1dHRvbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgeyB0b2dnbGVMYW5ndWFnZSB9ID0gcHJvcHM7XG4gIGNvbnN0IG9uVG9nZ2xlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHRvZ2dsZUxhbmd1YWdlKHByb3BzLmxhbmd1YWdlKTtcbiAgfSwgW3RvZ2dsZUxhbmd1YWdlLCBwcm9wcy5sYW5ndWFnZV0pO1xuXG4gIGNvbnN0IHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgPVxuICAgICAgTnVtYmVyKHJlZi5jdXJyZW50Py5jbGllbnRIZWlnaHQpID4gQ09MTEFQU0VEX0hFSUdIVDtcblxuICAgIGlmIChkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgJiYgIXJlbmRlclRvZ2dsZUJ1dHRvbikge1xuICAgICAgc2V0UmVuZGVyVG9nZ2xlQnV0dG9uKHRydWUpO1xuICAgIH1cbiAgICBpZiAoIWRvZXNFeGNlZWRDb2xsYXBzZWRIZWlnaHRMaW1pdCAmJiByZW5kZXJUb2dnbGVCdXR0b24pIHtcbiAgICAgIHNldFJlbmRlclRvZ2dsZUJ1dHRvbihmYWxzZSk7XG4gICAgfVxuICB9LCBbc2V0UmVuZGVyVG9nZ2xlQnV0dG9uLCByZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbigpO1xuICB9LCBbZWRpdG9yLCB1cGRhdGVSZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICAvLyByZXNldHRpbmdcbiAgY29uc3QgcmVzZXRWYWx1ZSA9IHVzZUNhbGxiYWNrKFxuICAgIChuZXdWYWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgICByZXNldEVkaXRvcihlZGl0b3IsIG5ld1ZhbHVlKTtcbiAgICB9LFxuICAgIFtlZGl0b3JdXG4gICk7XG4gIC8qIFxuICBSZXNldHRpbmcgdGhlIGVkaXRvciByZXF1aXJlcyBhY2Nlc3MgdG8gYGVkaXRvcmAgb2JqZWN0IHJldHVybmVkIGZyb20gYHVzZVNsYXRlYCBob29rLlxuICBUaGVyZWZvcmUsIGByZXNldGAgZnVuY3Rpb24gaXMgYXR0YWNoZWQgdG8gdGhlIHBhc3NlZCBgcmVmYCBvYmplY3QgdmlhIGB1c2VJbXBlcmF0aXZlSGFuZGxlYCBcbiAgdG8gYmUgY2FsbGVkIGZyb20gdGhlIHBhcmVudCBjb21wb25lbnQuIFxuICBlLmcuIDxidXR0b24gb25Nb3VzZURvd249eygpID0+IHJlZi5jdXJyZW50Py5yZXNldFZhbHVlKFwiPHA+PHN0cm9uZz5WYWx1ZSBhZnRlciByZXNldDwvc3Ryb25nPjwvcD5cIil9PlJlc2V0PC9idXR0b24+XG4gICovXG4gIHVzZUltcGVyYXRpdmVIYW5kbGUoZm9yd2FyZGVkUmVmLCAoKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJlc2V0VmFsdWUsXG4gICAgfTtcbiAgfSk7XG5cbiAgY29uc3Qgc2hvdWxkVG9nZ2xlQnV0dG9uVGFrZVNwYWNlID1cbiAgICAvKiBcbiAgICAgIC0gaWYgaGFzTGFuZ3VhZ2VzQ29udHJvbCBhbmQgdGhlcmUgYXJlIG5vIGVycm9ycy93YXJuaW5ncyB0byBkaXNwbGF5XG4gICAgICAtIHRoZW4gdGhlIHRvZ2dsZUJ1dHRvbiBpcyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWRcbiAgICAgIFRoaXMgaXMgYmVjYXVzZSB0aGUgdG9nZ2xlIGJ1dHRvbiBpcyBwbGFjZWQgbmV4dCB0byB0aGUgTG9jYWxpemVkSW5wdXRUb2dnbGUgd2l0aG91dCBiZWluZyBzaWJsaW5ncyBpbiB0aGUgRE9NLlxuICAgICAgSWYgdGhlcmUgaXMgYSBlcnJvciBvciB3YXJuaW5nIHNob3dpbmcsXG4gICAgICB0aGVuIGl0IGNhbiBiZSBwbGFjZWQgc3RhdGljYWxseSBiZWNhdXNlIGl0IHdpbGwgdGhlbiBiZSBhIHNpYmxpbmcgdG8gdGhlIGVycm9yL3dhcm5pbmcgbWVzc2FnZVxuICAgICAgYW5kIExvY2FsaXplZElucHV0VG9nZ2xlIGlzIHBsYWNlZCBiZWxvdyB0aGUgZXJyb3JzL3dhcm5pbmdzLiBcbiAgICAqL1xuXG4gICAgKHJlbmRlclRvZ2dsZUJ1dHRvbiAmJiAhcHJvcHMuaGFzTGFuZ3VhZ2VzQ29udHJvbCkgfHxcbiAgICBwcm9wcy5lcnJvciB8fFxuICAgIHByb3BzLndhcm5pbmc7XG5cbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuXG4gIHJldHVybiAoXG4gICAgPENvbGxhcHNpYmxlTW90aW9uXG4gICAgICBtaW5IZWlnaHQ9e0NPTExBUFNFRF9IRUlHSFR9XG4gICAgICBpc0Nsb3NlZD17IXByb3BzLmlzT3Blbn1cbiAgICAgIG9uVG9nZ2xlPXtvblRvZ2dsZX1cbiAgICAgIGlzRGVmYXVsdENsb3NlZD17IXByb3BzLmRlZmF1bHRFeHBhbmRNdWx0aWxpbmVUZXh0fVxuICAgID5cbiAgICAgIHsoeyBpc09wZW4sIHRvZ2dsZSwgY29udGFpbmVyU3R5bGVzLCByZWdpc3RlckNvbnRlbnROb2RlIH0pID0+IHtcbiAgICAgICAgY29uc3QgcmVmT2JqID0ge1xuICAgICAgICAgIGNvbnRhaW5lclJlZjogcmVmLFxuICAgICAgICAgIHJlZ2lzdGVyQ29udGVudE5vZGUsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8U3RhY2sgc2NhbGU9XCJ4c1wiPlxuICAgICAgICAgICAgPEVkaXRvcldyYXBwZXJcbiAgICAgICAgICAgICAga2V5PXtwcm9wcy5sYW5ndWFnZX1cbiAgICAgICAgICAgICAgaXNEaXNhYmxlZD17cHJvcHMuaXNEaXNhYmxlZH1cbiAgICAgICAgICAgICAgaXNSZWFkT25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFNsYXRlXG4gICAgICAgICAgICAgICAgZWRpdG9yPXtlZGl0b3J9XG4gICAgICAgICAgICAgICAgdmFsdWU9e3Byb3BzLnZhbHVlfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtwcm9wcy5vbkNoYW5nZX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxFZGl0b3JMYW5ndWFnZUxhYmVsIGh0bWxGb3I9e3Byb3BzLmlkfSB0aGVtZT17dGhlbWV9PlxuICAgICAgICAgICAgICAgICAgey8qIEZJWE1FOiBhZGQgcHJvcGVyIHRvbmUgZm9yIGRpc2FibGVkIHdoZW4gdG9uZXMgYXJlIHJlZmFjdG9yZWQgKi99XG4gICAgICAgICAgICAgICAgICA8VGV4dC5EZXRhaWwgdG9uZT1cInNlY29uZGFyeVwiPlxuICAgICAgICAgICAgICAgICAgICB7cHJvcHMubGFuZ3VhZ2UudG9VcHBlckNhc2UoKX1cbiAgICAgICAgICAgICAgICAgIDwvVGV4dC5EZXRhaWw+XG4gICAgICAgICAgICAgICAgPC9FZGl0b3JMYW5ndWFnZUxhYmVsPlxuICAgICAgICAgICAgICAgIDxSaWNoVGV4dEJvZHlcbiAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgIHJlZj17cmVmT2JqIGFzIHVua25vd24gYXMgUmVmPFRSaWNoVGV4dEVkaXRvckJvZHlSZWY+fVxuICAgICAgICAgICAgICAgICAgc3R5bGVzPXt7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogY3NzYFxuICAgICAgICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICBgLFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIGhhc0Vycm9yPXtwcm9wcy5oYXNFcnJvcn1cbiAgICAgICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICBoYXNXYXJuaW5nPXtwcm9wcy5oYXNXYXJuaW5nfVxuICAgICAgICAgICAgICAgICAgaXNSZWFkT25seT17Qm9vbGVhbihwcm9wcy5pc1JlYWRPbmx5KX1cbiAgICAgICAgICAgICAgICAgIHNob3dFeHBhbmRJY29uPXtCb29sZWFuKHByb3BzLnNob3dFeHBhbmRJY29uKX1cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2tFeHBhbmQ9e3Byb3BzLm9uQ2xpY2tFeHBhbmR9XG4gICAgICAgICAgICAgICAgICBjb250YWluZXJTdHlsZXM9e2NvbnRhaW5lclN0eWxlc31cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8RWRpdGFibGVcbiAgICAgICAgICAgICAgICAgICAgey4uLmZpbHRlckRhdGFBdHRyaWJ1dGVzKHByb3BzKX1cbiAgICAgICAgICAgICAgICAgICAgbmFtZT17cHJvcHMubmFtZX1cbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyRWxlbWVudD17cmVuZGVyRWxlbWVudH1cbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyTGVhZj17cmVuZGVyTGVhZn1cbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3Byb3BzLnBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgICAgICAgICBhdXRvRm9jdXM9e3Byb3BzLmlzQXV0b2ZvY3VzZWR9XG4gICAgICAgICAgICAgICAgICAgIG9uQmx1cj17cHJvcHMub25CbHVyfVxuICAgICAgICAgICAgICAgICAgICBvbkZvY3VzPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5vbkZvY3VzPy4oZXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICAgIC8vIG9wZW5zIHRoZSBpbnB1dCBpZiBpdCByZWdhaW5zIGZvY3VzIGFuZCBpdCdzIGNsb3NlZFxuICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNPcGVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzRWRpdG9yKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICByZWFkT25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBob3RrZXkgaW4gSE9US0VZUykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzSG90a2V5KGhvdGtleSwgZXZlbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hcmsgPSBIT1RLRVlTW2hvdGtleSBhcyBrZXlvZiB0eXBlb2YgSE9US0VZU107XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZU1hcmsoZWRpdG9yLCBtYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgIDxIaWRkZW5JbnB1dFxuICAgICAgICAgICAgICAgICAgICBpc0ZvY3VzZWQ9e1JlYWN0RWRpdG9yLmlzRm9jdXNlZChlZGl0b3IpfVxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVGb2N1cz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGZvY3VzRWRpdG9yKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIGlkPXtwcm9wcy5pZH1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXtwcm9wcy5pc1JlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L1JpY2hUZXh0Qm9keT5cbiAgICAgICAgICAgICAgPC9TbGF0ZT5cbiAgICAgICAgICAgIDwvRWRpdG9yV3JhcHBlcj5cbiAgICAgICAgICAgIDxSb3dcbiAgICAgICAgICAgICAgLy8gTk9URTogYXBwbHlpbmcgdGhpcyBzdHlsZSB3aXRoaW5nIHRoZSBgc3R5bGVkYCBjb21wb25lbnQgcmVzdWx0cyBpbiB0aGUgcHJvZHVjdGlvblxuICAgICAgICAgICAgICAvLyBidW5kbGUgdG8gYXBwbHkgdGhlIHN0eWxlIGluIHRoZSB3cm9uZyBvcmRlci5cbiAgICAgICAgICAgICAgLy8gRm9yIGluc3RhbmNlLCB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSBtYXJnaW5nIG9mIHRoZSBzcGFjaW5nIGNvbXBvbmVudCwgd2hpY2ggYWxzb1xuICAgICAgICAgICAgICAvLyB1c2VzIGAhaW1wb3J0YW50YC5cbiAgICAgICAgICAgICAgLy8gQW55d2F5LCBhcHBhcmVudGx5IGJ5IHBhc3NpbmcgdGhlIHN0eWxlIGFzIGEgYGNzc2AgcHJvcCB0byB0aGUgYHN0eWxlZGAgY29tcG9uZW50XG4gICAgICAgICAgICAgIC8vIGRvZXMgdGhlIHRyaWNrLlxuICAgICAgICAgICAgICAvLyBUT0RPOiByZXZpc2l0IHRoZSBsb2dpYyBhbmQgdGhlIGltcGxlbWVudGF0aW9uIHRvIG1heWJlIGF2b2lkIGhhdmluZyB0byBhcHBseSB0aGlzIHN0eWxlLlxuICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAke3Nob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZVxuICAgICAgICAgICAgICAgICAgPyAnaW5oZXJpdCdcbiAgICAgICAgICAgICAgICAgIDogJzBweCAhaW1wb3J0YW50J307XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy5lcnJvcilcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxMZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXY+e3Byb3BzLmVycm9yfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L0xlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy53YXJuaW5nKVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPExlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdj57cHJvcHMud2FybmluZ308L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9MZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICAgICAge3JlbmRlclRvZ2dsZUJ1dHRvbiAmJiAoXG4gICAgICAgICAgICAgICAgPFJpZ2h0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgPFRvZ2dsZUJ1dHRvbldyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICAgICAgICAgICAgIXNob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICR7Y3VzdG9tUHJvcGVydGllcy5zcGFjaW5nWHN9O1xuICAgICAgICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICAgICAgXX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPEZsYXRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0b2dnbGV9XG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e2ludGwuZm9ybWF0TWVzc2FnZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzT3BlblxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQuY29sbGFwc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBtZXNzYWdlc011bHRpbGluZUlucHV0LmV4cGFuZFxuICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgaWNvbj17XG4gICAgICAgICAgICAgICAgICAgICAgICBpc09wZW4gPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxBbmdsZVVwSWNvbiBzaXplPVwic21hbGxcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEFuZ2xlRG93bkljb24gc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1RvZ2dsZUJ1dHRvbldyYXBwZXI+XG4gICAgICAgICAgICAgICAgPC9SaWdodENvbHVtbj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvUm93PlxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICk7XG4gICAgICB9fVxuICAgIDwvQ29sbGFwc2libGVNb3Rpb24+XG4gICk7XG59KTtcbkVkaXRvci5kaXNwbGF5TmFtZSA9ICdFZGl0b3InO1xuXG5leHBvcnQgZGVmYXVsdCBFZGl0b3I7XG4iXX0= */"),
248
319
  children: [function () {
249
320
  if (props.error) return jsx(LeftColumn, {
250
321
  children: jsx("div", {
@@ -259,7 +330,7 @@ var Editor$1 = function Editor(props) {
259
330
  return null;
260
331
  }(), renderToggleButton && jsx(RightColumn, {
261
332
  children: jsx(ToggleButtonWrapper, {
262
- css: [!shouldToggleButtonTakeSpace && /*#__PURE__*/css("position:absolute;top:0;right:0;margin-top:", customProperties.spacingXs, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:Editor;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImVkaXRvci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa08yQiIsImZpbGUiOiJlZGl0b3IudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgY2xvbmVFbGVtZW50LFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBSZWFjdEVsZW1lbnQsXG4gIHR5cGUgTGVnYWN5UmVmLFxuICB0eXBlIFJlZk9iamVjdCxcbiAgdHlwZSBSZWYsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCBwaWNrIGZyb20gJ2xvZGFzaC9waWNrJztcbmltcG9ydCB7IGNzcywgdXNlVGhlbWUgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VJbnRsIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgeyBjdXN0b21Qcm9wZXJ0aWVzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyBmaWx0ZXJEYXRhQXR0cmlidXRlcywgd2FybmluZyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3V0aWxzJztcbmltcG9ydCB7IHVzZVByZXZpb3VzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaG9va3MnO1xuaW1wb3J0IENvbGxhcHNpYmxlTW90aW9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2NvbGxhcHNpYmxlLW1vdGlvbic7XG5pbXBvcnQgU3RhY2sgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc3BhY2luZ3Mtc3RhY2snO1xuaW1wb3J0IHsgQW5nbGVVcEljb24sIEFuZ2xlRG93bkljb24gfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgVGV4dCBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC90ZXh0JztcbmltcG9ydCBGbGF0QnV0dG9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ZsYXQtYnV0dG9uJztcbmltcG9ydCB7IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pbnB1dC11dGlscyc7XG5pbXBvcnQge1xuICBSaWNoVGV4dEJvZHksXG4gIEhpZGRlbklucHV0LFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9yaWNoLXRleHQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgRWRpdG9yV3JhcHBlcixcbiAgRWRpdG9yTGFuZ3VhZ2VMYWJlbCxcbiAgVG9nZ2xlQnV0dG9uV3JhcHBlcixcbn0gZnJvbSAnLi9lZGl0b3Iuc3R5bGVzJztcbmltcG9ydCB0eXBlIHsgVEVkaXRvciB9IGZyb20gJy4vZWRpdG9yLnR5cGVzJztcblxuY29uc3QgQ09MTEFQU0VEX0hFSUdIVCA9IDMyO1xuXG5jb25zdCBMZWZ0Q29sdW1uID0gc3R5bGVkLmRpdmBcbiAgZmxleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5gO1xuXG5jb25zdCBSaWdodENvbHVtbiA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5gO1xuXG5jb25zdCBSb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuYDtcblxuZXhwb3J0IHR5cGUgVEVkaXRvclByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBpZD86IHN0cmluZztcbiAgaXNPcGVuOiBib29sZWFuO1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgaXNSZWFkT25seT86IGJvb2xlYW47XG4gIGhhc1dhcm5pbmc/OiBib29sZWFuO1xuICBoYXNFcnJvcj86IGJvb2xlYW47XG4gIGVkaXRvcj86IFRFZGl0b3I7XG4gIGVycm9yPzogUmVhY3ROb2RlO1xuICB3YXJuaW5nPzogUmVhY3ROb2RlO1xuICBkZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dDogYm9vbGVhbjtcbiAgdG9nZ2xlTGFuZ3VhZ2U6IChsYW5ndWFnZTogc3RyaW5nKSA9PiB2b2lkO1xuICBsYW5ndWFnZTogc3RyaW5nO1xuICBzaG93RXhwYW5kSWNvbjogYm9vbGVhbjtcbiAgb25DbGlja0V4cGFuZD86ICgpID0+IGJvb2xlYW47XG4gIGhhc0xhbmd1YWdlc0NvbnRyb2w/OiBib29sZWFuO1xufTtcblxudHlwZSBUTm9kZVJlZk9iamVjdCA9IHtcbiAgY2xpZW50SGVpZ2h0OiBudW1iZXI7XG59ICYgTGVnYWN5UmVmPEhUTUxEaXZFbGVtZW50PjtcblxudHlwZSBUUmljaFRleHRFZGl0b3JCb2R5UmVmID0ge1xuICByZWdpc3RlckNvbnRlbnROb2RlOiBUTm9kZVJlZk9iamVjdDtcbiAgY29udGFpbmVyUmVmOiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xufTtcblxuY29uc3QgRWRpdG9yID0gKHByb3BzOiBURWRpdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgaW50bCA9IHVzZUludGwoKTtcbiAgY29uc3QgcmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PigpO1xuICBjb25zdCBwcmV2SXNGb2N1c2VkID0gdXNlUHJldmlvdXMocHJvcHMuZWRpdG9yPy52YWx1ZS5zZWxlY3Rpb24uaXNGb2N1c2VkKTtcblxuICBpZiAocHJvcHMuc2hvd0V4cGFuZEljb24pIHtcbiAgICB3YXJuaW5nKFxuICAgICAgdHlwZW9mIHByb3BzLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAnRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IFtyZW5kZXJUb2dnbGVCdXR0b24sIHNldFJlbmRlclRvZ2dsZUJ1dHRvbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgeyB0b2dnbGVMYW5ndWFnZSB9ID0gcHJvcHM7XG4gIGNvbnN0IG9uVG9nZ2xlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHRvZ2dsZUxhbmd1YWdlKHByb3BzLmxhbmd1YWdlKTtcbiAgfSwgW3RvZ2dsZUxhbmd1YWdlLCBwcm9wcy5sYW5ndWFnZV0pO1xuXG4gIGNvbnN0IHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgPVxuICAgICAgTnVtYmVyKHJlZi5jdXJyZW50Py5jbGllbnRIZWlnaHQpID4gQ09MTEFQU0VEX0hFSUdIVDtcblxuICAgIGlmIChkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgJiYgIXJlbmRlclRvZ2dsZUJ1dHRvbikge1xuICAgICAgc2V0UmVuZGVyVG9nZ2xlQnV0dG9uKHRydWUpO1xuICAgIH1cbiAgICBpZiAoIWRvZXNFeGNlZWRDb2xsYXBzZWRIZWlnaHRMaW1pdCAmJiByZW5kZXJUb2dnbGVCdXR0b24pIHtcbiAgICAgIHNldFJlbmRlclRvZ2dsZUJ1dHRvbihmYWxzZSk7XG4gICAgfVxuICB9LCBbc2V0UmVuZGVyVG9nZ2xlQnV0dG9uLCByZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbigpO1xuICB9LCBbcHJvcHMuZWRpdG9yPy52YWx1ZS5kb2N1bWVudCwgdXBkYXRlUmVuZGVyVG9nZ2xlQnV0dG9uXSk7XG5cbiAgLy8gb3BlbnMgdGhlIGlucHV0IGlmIGl0IHJlZ2FpbnMgZm9jdXMgYW5kIGl0J3MgY2xvc2VkXG4gIGlmIChcbiAgICBwcmV2SXNGb2N1c2VkICE9PSBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQgJiZcbiAgICBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQgJiZcbiAgICAhcHJvcHMuaXNPcGVuXG4gICkge1xuICAgIG9uVG9nZ2xlKCk7XG4gIH1cblxuICBjb25zdCBzaG91bGRUb2dnbGVCdXR0b25UYWtlU3BhY2UgPVxuICAgIC8qXG4gICAgICAtIGlmIGhhc0xhbmd1YWdlc0NvbnRyb2wgYW5kIHRoZXJlIGFyZSBubyBlcnJvcnMvd2FybmluZ3MgdG8gZGlzcGxheVxuICAgICAgLSB0aGVuIHRoZSB0b2dnbGVCdXR0b24gaXMgYWJzb2x1dGVseSBwb3NpdGlvbmVkXG4gICAgICBUaGlzIGlzIGJlY2F1c2UgdGhlIHRvZ2dsZSBidXR0b24gaXMgcGxhY2VkIG5leHQgdG8gdGhlIExvY2FsaXplZElucHV0VG9nZ2xlIHdpdGhvdXQgYmVpbmcgc2libGluZ3MgaW4gdGhlIERPTS5cbiAgICAgIElmIHRoZXJlIGlzIGEgZXJyb3Igb3Igd2FybmluZyBzaG93aW5nLFxuICAgICAgdGhlbiBpdCBjYW4gYmUgcGxhY2VkIHN0YXRpY2FsbHkgYmVjYXVzZSBpdCB3aWxsIHRoZW4gYmUgYSBzaWJsaW5nIHRvIHRoZSBlcnJvci93YXJuaW5nIG1lc3NhZ2VcbiAgICAgIGFuZCBMb2NhbGl6ZWRJbnB1dFRvZ2dsZSBpcyBwbGFjZWQgYmVsb3cgdGhlIGVycm9ycy93YXJuaW5ncy5cbiAgICAqL1xuICAgIChyZW5kZXJUb2dnbGVCdXR0b24gJiYgIXByb3BzLmhhc0xhbmd1YWdlc0NvbnRyb2wpIHx8XG4gICAgcHJvcHMuZXJyb3IgfHxcbiAgICBwcm9wcy53YXJuaW5nO1xuXG4gIGNvbnN0IHRoZW1lID0gdXNlVGhlbWUoKTtcblxuICByZXR1cm4gKFxuICAgIDxDb2xsYXBzaWJsZU1vdGlvblxuICAgICAgbWluSGVpZ2h0PXtDT0xMQVBTRURfSEVJR0hUfVxuICAgICAgaXNDbG9zZWQ9eyFwcm9wcy5pc09wZW59XG4gICAgICBvblRvZ2dsZT17b25Ub2dnbGV9XG4gICAgICBpc0RlZmF1bHRDbG9zZWQ9eyFwcm9wcy5kZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dH1cbiAgICA+XG4gICAgICB7KHsgaXNPcGVuLCB0b2dnbGUsIGNvbnRhaW5lclN0eWxlcywgcmVnaXN0ZXJDb250ZW50Tm9kZSB9KSA9PiB7XG4gICAgICAgIGNvbnN0IHJlZk9iaiA9IHtcbiAgICAgICAgICBjb250YWluZXJSZWY6IHJlZixcbiAgICAgICAgICByZWdpc3RlckNvbnRlbnROb2RlLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPFN0YWNrIHNjYWxlPVwieHNcIj5cbiAgICAgICAgICAgIDxFZGl0b3JXcmFwcGVyXG4gICAgICAgICAgICAgIGtleT17cHJvcHMubGFuZ3VhZ2V9XG4gICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgIGlzUmVhZE9ubHk9e3Byb3BzLmlzUmVhZE9ubHl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxFZGl0b3JMYW5ndWFnZUxhYmVsIGh0bWxGb3I9e3Byb3BzLmlkfSB0aGVtZT17dGhlbWV9PlxuICAgICAgICAgICAgICAgIHsvKiBGSVhNRTogYWRkIHByb3BlciB0b25lIGZvciBkaXNhYmxlZCB3aGVuIHRvbmVzIGFyZSByZWZhY3RvcmVkICovfVxuICAgICAgICAgICAgICAgIDxUZXh0LkRldGFpbCB0b25lPVwic2Vjb25kYXJ5XCI+XG4gICAgICAgICAgICAgICAgICB7cHJvcHMubGFuZ3VhZ2UudG9VcHBlckNhc2UoKX1cbiAgICAgICAgICAgICAgICA8L1RleHQuRGV0YWlsPlxuICAgICAgICAgICAgICA8L0VkaXRvckxhbmd1YWdlTGFiZWw+XG5cbiAgICAgICAgICAgICAgPFJpY2hUZXh0Qm9keVxuICAgICAgICAgICAgICAgIHJlZj17cmVmT2JqIGFzIHVua25vd24gYXMgUmVmPFRSaWNoVGV4dEVkaXRvckJvZHlSZWY+fVxuICAgICAgICAgICAgICAgIHN0eWxlcz17e1xuICAgICAgICAgICAgICAgICAgY29udGFpbmVyOiBjc3NgXG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIGhhc0Vycm9yPXtwcm9wcy5oYXNFcnJvcn1cbiAgICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkfVxuICAgICAgICAgICAgICAgIGhhc1dhcm5pbmc9e3Byb3BzLmhhc1dhcm5pbmd9XG4gICAgICAgICAgICAgICAgaXNSZWFkT25seT17Qm9vbGVhbihwcm9wcy5pc1JlYWRPbmx5KX1cbiAgICAgICAgICAgICAgICBlZGl0b3I9e3Byb3BzLmVkaXRvciBhcyBURWRpdG9yfVxuICAgICAgICAgICAgICAgIGNvbnRhaW5lclN0eWxlcz17Y29udGFpbmVyU3R5bGVzfVxuICAgICAgICAgICAgICAgIHNob3dFeHBhbmRJY29uPXtwcm9wcy5zaG93RXhwYW5kSWNvbn1cbiAgICAgICAgICAgICAgICBvbkNsaWNrRXhwYW5kPXtwcm9wcy5vbkNsaWNrRXhwYW5kfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgICAgICA8L1JpY2hUZXh0Qm9keT5cbiAgICAgICAgICAgIDwvRWRpdG9yV3JhcHBlcj5cbiAgICAgICAgICAgIDxSb3dcbiAgICAgICAgICAgICAgLy8gTk9URTogYXBwbHlpbmcgdGhpcyBzdHlsZSB3aXRoaW5nIHRoZSBgc3R5bGVkYCBjb21wb25lbnQgcmVzdWx0cyBpbiB0aGUgcHJvZHVjdGlvblxuICAgICAgICAgICAgICAvLyBidW5kbGUgdG8gYXBwbHkgdGhlIHN0eWxlIGluIHRoZSB3cm9uZyBvcmRlci5cbiAgICAgICAgICAgICAgLy8gRm9yIGluc3RhbmNlLCB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSBtYXJnaW5nIG9mIHRoZSBzcGFjaW5nIGNvbXBvbmVudCwgd2hpY2ggYWxzb1xuICAgICAgICAgICAgICAvLyB1c2VzIGAhaW1wb3J0YW50YC5cbiAgICAgICAgICAgICAgLy8gQW55d2F5LCBhcHBhcmVudGx5IGJ5IHBhc3NpbmcgdGhlIHN0eWxlIGFzIGEgYGNzc2AgcHJvcCB0byB0aGUgYHN0eWxlZGAgY29tcG9uZW50XG4gICAgICAgICAgICAgIC8vIGRvZXMgdGhlIHRyaWNrLlxuICAgICAgICAgICAgICAvLyBUT0RPOiByZXZpc2l0IHRoZSBsb2dpYyBhbmQgdGhlIGltcGxlbWVudGF0aW9uIHRvIG1heWJlIGF2b2lkIGhhdmluZyB0byBhcHBseSB0aGlzIHN0eWxlLlxuICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAke3Nob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZVxuICAgICAgICAgICAgICAgICAgPyAnaW5oZXJpdCdcbiAgICAgICAgICAgICAgICAgIDogJzBweCAhaW1wb3J0YW50J307XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy5lcnJvcilcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxMZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXY+e3Byb3BzLmVycm9yfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L0xlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy53YXJuaW5nKVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPExlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdj57cHJvcHMud2FybmluZ308L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9MZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICAgICAge3JlbmRlclRvZ2dsZUJ1dHRvbiAmJiAoXG4gICAgICAgICAgICAgICAgPFJpZ2h0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgPFRvZ2dsZUJ1dHRvbldyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICAgICAgICAgICAgIXNob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICR7Y3VzdG9tUHJvcGVydGllcy5zcGFjaW5nWHN9O1xuICAgICAgICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICAgICAgXX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPEZsYXRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0b2dnbGV9XG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e2ludGwuZm9ybWF0TWVzc2FnZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzT3BlblxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQuY29sbGFwc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBtZXNzYWdlc011bHRpbGluZUlucHV0LmV4cGFuZFxuICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgaWNvbj17XG4gICAgICAgICAgICAgICAgICAgICAgICBpc09wZW4gPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxBbmdsZVVwSWNvbiBzaXplPVwic21hbGxcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEFuZ2xlRG93bkljb24gc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1RvZ2dsZUJ1dHRvbldyYXBwZXI+XG4gICAgICAgICAgICAgICAgPC9SaWdodENvbHVtbj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvUm93PlxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICk7XG4gICAgICB9fVxuICAgIDwvQ29sbGFwc2libGVNb3Rpb24+XG4gICk7XG59O1xuXG50eXBlIFRPcHRpb25zID0ge1xuICBsYW5ndWFnZTogc3RyaW5nO1xuICBlcnJvcj86IFJlYWN0Tm9kZTtcbiAgd2FybmluZz86IFJlYWN0Tm9kZTtcbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgZGVmYXVsdEV4cGFuZE11bHRpbGluZVRleHQ6IGJvb2xlYW47XG4gIHRvZ2dsZUxhbmd1YWdlOiAobGFuZ3VhZ2U6IHN0cmluZykgPT4gdm9pZDtcbiAgaXNPcGVuOiBib29sZWFuO1xuICBzaG93RXhwYW5kSWNvbjogYm9vbGVhbjtcbiAgb25DbGlja0V4cGFuZD86ICgpID0+IGJvb2xlYW47XG4gIGhhc0xhbmd1YWdlc0NvbnRyb2w/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgVFJlbmRlckVkaXRvclByb3BzID0ge1xuICBpZD86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICByZWFkT25seT86IGJvb2xlYW47XG4gIGVkaXRvcj86IFRFZGl0b3I7XG4gIG9wdGlvbnM6IFRPcHRpb25zO1xufTtcbmV4cG9ydCB0eXBlIFRSZW5kZXJFZGl0b3IgPSAoXG4gIHByb3BzOiBUUmVuZGVyRWRpdG9yUHJvcHMsXG4gIGVkaXRvcjogVEVkaXRvcixcbiAgbmV4dDogKCkgPT4gUmVhY3RFbGVtZW50XG4pID0+IFJldHVyblR5cGU8dHlwZW9mIEVkaXRvcj47XG5cbmNvbnN0IHJlbmRlckVkaXRvcjogVFJlbmRlckVkaXRvciA9IChwcm9wcywgZWRpdG9yLCBuZXh0KSA9PiB7XG4gIGlmIChwcm9wcy5vcHRpb25zLnNob3dFeHBhbmRJY29uKSB7XG4gICAgd2FybmluZyhcbiAgICAgIHR5cGVvZiBwcm9wcy5vcHRpb25zLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAncmVuZGVyRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IGludGVybmFsSWQgPSBgJHtwcm9wcy5pZH1fX2ludGVybmFsX19pZGA7XG5cbiAgY29uc3QgY2hpbGRyZW4gPSBjbG9uZUVsZW1lbnQobmV4dCgpLCB7XG4gICAgaWQ6IGludGVybmFsSWQsXG4gIH0pO1xuXG4gIGNvbnN0IHBhc3NlZFByb3BzID0ge1xuICAgIGlkOiBwcm9wcy5pZCxcbiAgICBpc0Rpc2FibGVkOiBwcm9wcy5kaXNhYmxlZCxcbiAgICBpc1JlYWRPbmx5OiBwcm9wcy5yZWFkT25seSxcbiAgICAuLi5waWNrKHByb3BzLm9wdGlvbnMsIFtcbiAgICAgICdkZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dCcsXG4gICAgICAnbGFuZ3VhZ2UnLFxuICAgICAgJ3dhcm5pbmcnLFxuICAgICAgJ2Vycm9yJyxcbiAgICAgICdoYXNXYXJuaW5nJyxcbiAgICAgICdoYXNFcnJvcicsXG4gICAgICAndG9nZ2xlTGFuZ3VhZ2UnLFxuICAgICAgJ2lzT3BlbicsXG4gICAgICAnc2hvd0V4cGFuZEljb24nLFxuICAgICAgJ29uQ2xpY2tFeHBhbmQnLFxuICAgICAgJ2hhc0xhbmd1YWdlc0NvbnRyb2wnLFxuICAgIF0pLFxuICAgIC4uLmZpbHRlckRhdGFBdHRyaWJ1dGVzKHByb3BzKSxcbiAgfTtcblxuICBjb25zdCBpc0ZvY3VzZWQgPSBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQ7XG5cbiAgcmV0dXJuIChcbiAgICA8RWRpdG9yIGVkaXRvcj17ZWRpdG9yfSB7Li4ucGFzc2VkUHJvcHN9PlxuICAgICAge2NoaWxkcmVufVxuICAgICAgPEhpZGRlbklucHV0XG4gICAgICAgIGlzRm9jdXNlZD17Qm9vbGVhbihpc0ZvY3VzZWQpfVxuICAgICAgICBoYW5kbGVGb2N1cz17ZWRpdG9yLmZvY3VzfVxuICAgICAgICBkaXNhYmxlZD17cHJvcHMuZGlzYWJsZWR9XG4gICAgICAgIHJlYWRPbmx5PXtwcm9wcy5yZWFkT25seX1cbiAgICAgICAgaWQ9e3Byb3BzLmlkfVxuICAgICAgLz5cbiAgICA8L0VkaXRvcj5cbiAgKTtcbn07XG5cbkVkaXRvci5kaXNwbGF5TmFtZSA9ICdFZGl0b3InO1xuXG5leHBvcnQgZGVmYXVsdCByZW5kZXJFZGl0b3I7XG4iXX0= */"), process.env.NODE_ENV === "production" ? "" : ";label:Editor;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImVkaXRvci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ09vQiIsImZpbGUiOiJlZGl0b3IudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgY2xvbmVFbGVtZW50LFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBSZWFjdEVsZW1lbnQsXG4gIHR5cGUgTGVnYWN5UmVmLFxuICB0eXBlIFJlZk9iamVjdCxcbiAgdHlwZSBSZWYsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCBwaWNrIGZyb20gJ2xvZGFzaC9waWNrJztcbmltcG9ydCB7IGNzcywgdXNlVGhlbWUgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VJbnRsIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgeyBjdXN0b21Qcm9wZXJ0aWVzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyBmaWx0ZXJEYXRhQXR0cmlidXRlcywgd2FybmluZyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3V0aWxzJztcbmltcG9ydCB7IHVzZVByZXZpb3VzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaG9va3MnO1xuaW1wb3J0IENvbGxhcHNpYmxlTW90aW9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2NvbGxhcHNpYmxlLW1vdGlvbic7XG5pbXBvcnQgU3RhY2sgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc3BhY2luZ3Mtc3RhY2snO1xuaW1wb3J0IHsgQW5nbGVVcEljb24sIEFuZ2xlRG93bkljb24gfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgVGV4dCBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC90ZXh0JztcbmltcG9ydCBGbGF0QnV0dG9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ZsYXQtYnV0dG9uJztcbmltcG9ydCB7IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pbnB1dC11dGlscyc7XG5pbXBvcnQge1xuICBSaWNoVGV4dEJvZHksXG4gIEhpZGRlbklucHV0LFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9yaWNoLXRleHQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgRWRpdG9yV3JhcHBlcixcbiAgRWRpdG9yTGFuZ3VhZ2VMYWJlbCxcbiAgVG9nZ2xlQnV0dG9uV3JhcHBlcixcbn0gZnJvbSAnLi9lZGl0b3Iuc3R5bGVzJztcbmltcG9ydCB0eXBlIHsgVEVkaXRvciB9IGZyb20gJy4vZWRpdG9yLnR5cGVzJztcblxuY29uc3QgQ09MTEFQU0VEX0hFSUdIVCA9IDMyO1xuXG5jb25zdCBMZWZ0Q29sdW1uID0gc3R5bGVkLmRpdmBcbiAgZmxleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5gO1xuXG5jb25zdCBSaWdodENvbHVtbiA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5gO1xuXG5jb25zdCBSb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuYDtcblxuZXhwb3J0IHR5cGUgVEVkaXRvclByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBpZD86IHN0cmluZztcbiAgaXNPcGVuOiBib29sZWFuO1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgaXNSZWFkT25seT86IGJvb2xlYW47XG4gIGhhc1dhcm5pbmc/OiBib29sZWFuO1xuICBoYXNFcnJvcj86IGJvb2xlYW47XG4gIGVkaXRvcj86IFRFZGl0b3I7XG4gIGVycm9yPzogUmVhY3ROb2RlO1xuICB3YXJuaW5nPzogUmVhY3ROb2RlO1xuICBkZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dDogYm9vbGVhbjtcbiAgdG9nZ2xlTGFuZ3VhZ2U6IChsYW5ndWFnZTogc3RyaW5nKSA9PiB2b2lkO1xuICBsYW5ndWFnZTogc3RyaW5nO1xuICBzaG93RXhwYW5kSWNvbjogYm9vbGVhbjtcbiAgb25DbGlja0V4cGFuZD86ICgpID0+IGJvb2xlYW47XG4gIGhhc0xhbmd1YWdlc0NvbnRyb2w/OiBib29sZWFuO1xufTtcblxudHlwZSBUTm9kZVJlZk9iamVjdCA9IHtcbiAgY2xpZW50SGVpZ2h0OiBudW1iZXI7XG59ICYgTGVnYWN5UmVmPEhUTUxEaXZFbGVtZW50PjtcblxudHlwZSBUUmljaFRleHRFZGl0b3JCb2R5UmVmID0ge1xuICByZWdpc3RlckNvbnRlbnROb2RlOiBUTm9kZVJlZk9iamVjdDtcbiAgY29udGFpbmVyUmVmOiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+O1xufTtcblxuY29uc3QgRWRpdG9yID0gKHByb3BzOiBURWRpdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgaW50bCA9IHVzZUludGwoKTtcbiAgY29uc3QgcmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PigpO1xuICBjb25zdCBwcmV2SXNGb2N1c2VkID0gdXNlUHJldmlvdXMocHJvcHMuZWRpdG9yPy52YWx1ZS5zZWxlY3Rpb24uaXNGb2N1c2VkKTtcblxuICBpZiAocHJvcHMuc2hvd0V4cGFuZEljb24pIHtcbiAgICB3YXJuaW5nKFxuICAgICAgdHlwZW9mIHByb3BzLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAnRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IFtyZW5kZXJUb2dnbGVCdXR0b24sIHNldFJlbmRlclRvZ2dsZUJ1dHRvbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgeyB0b2dnbGVMYW5ndWFnZSB9ID0gcHJvcHM7XG4gIGNvbnN0IG9uVG9nZ2xlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHRvZ2dsZUxhbmd1YWdlKHByb3BzLmxhbmd1YWdlKTtcbiAgfSwgW3RvZ2dsZUxhbmd1YWdlLCBwcm9wcy5sYW5ndWFnZV0pO1xuXG4gIGNvbnN0IHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgPVxuICAgICAgTnVtYmVyKHJlZi5jdXJyZW50Py5jbGllbnRIZWlnaHQpID4gQ09MTEFQU0VEX0hFSUdIVDtcblxuICAgIGlmIChkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgJiYgIXJlbmRlclRvZ2dsZUJ1dHRvbikge1xuICAgICAgc2V0UmVuZGVyVG9nZ2xlQnV0dG9uKHRydWUpO1xuICAgIH1cbiAgICBpZiAoIWRvZXNFeGNlZWRDb2xsYXBzZWRIZWlnaHRMaW1pdCAmJiByZW5kZXJUb2dnbGVCdXR0b24pIHtcbiAgICAgIHNldFJlbmRlclRvZ2dsZUJ1dHRvbihmYWxzZSk7XG4gICAgfVxuICB9LCBbc2V0UmVuZGVyVG9nZ2xlQnV0dG9uLCByZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbigpO1xuICB9LCBbcHJvcHMuZWRpdG9yPy52YWx1ZS5kb2N1bWVudCwgdXBkYXRlUmVuZGVyVG9nZ2xlQnV0dG9uXSk7XG5cbiAgLy8gb3BlbnMgdGhlIGlucHV0IGlmIGl0IHJlZ2FpbnMgZm9jdXMgYW5kIGl0J3MgY2xvc2VkXG4gIGlmIChcbiAgICBwcmV2SXNGb2N1c2VkICE9PSBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQgJiZcbiAgICBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQgJiZcbiAgICAhcHJvcHMuaXNPcGVuXG4gICkge1xuICAgIG9uVG9nZ2xlKCk7XG4gIH1cblxuICBjb25zdCBzaG91bGRUb2dnbGVCdXR0b25UYWtlU3BhY2UgPVxuICAgIC8qXG4gICAgICAtIGlmIGhhc0xhbmd1YWdlc0NvbnRyb2wgYW5kIHRoZXJlIGFyZSBubyBlcnJvcnMvd2FybmluZ3MgdG8gZGlzcGxheVxuICAgICAgLSB0aGVuIHRoZSB0b2dnbGVCdXR0b24gaXMgYWJzb2x1dGVseSBwb3NpdGlvbmVkXG4gICAgICBUaGlzIGlzIGJlY2F1c2UgdGhlIHRvZ2dsZSBidXR0b24gaXMgcGxhY2VkIG5leHQgdG8gdGhlIExvY2FsaXplZElucHV0VG9nZ2xlIHdpdGhvdXQgYmVpbmcgc2libGluZ3MgaW4gdGhlIERPTS5cbiAgICAgIElmIHRoZXJlIGlzIGEgZXJyb3Igb3Igd2FybmluZyBzaG93aW5nLFxuICAgICAgdGhlbiBpdCBjYW4gYmUgcGxhY2VkIHN0YXRpY2FsbHkgYmVjYXVzZSBpdCB3aWxsIHRoZW4gYmUgYSBzaWJsaW5nIHRvIHRoZSBlcnJvci93YXJuaW5nIG1lc3NhZ2VcbiAgICAgIGFuZCBMb2NhbGl6ZWRJbnB1dFRvZ2dsZSBpcyBwbGFjZWQgYmVsb3cgdGhlIGVycm9ycy93YXJuaW5ncy5cbiAgICAqL1xuICAgIChyZW5kZXJUb2dnbGVCdXR0b24gJiYgIXByb3BzLmhhc0xhbmd1YWdlc0NvbnRyb2wpIHx8XG4gICAgcHJvcHMuZXJyb3IgfHxcbiAgICBwcm9wcy53YXJuaW5nO1xuXG4gIGNvbnN0IHRoZW1lID0gdXNlVGhlbWUoKTtcblxuICByZXR1cm4gKFxuICAgIDxDb2xsYXBzaWJsZU1vdGlvblxuICAgICAgbWluSGVpZ2h0PXtDT0xMQVBTRURfSEVJR0hUfVxuICAgICAgaXNDbG9zZWQ9eyFwcm9wcy5pc09wZW59XG4gICAgICBvblRvZ2dsZT17b25Ub2dnbGV9XG4gICAgICBpc0RlZmF1bHRDbG9zZWQ9eyFwcm9wcy5kZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dH1cbiAgICA+XG4gICAgICB7KHsgaXNPcGVuLCB0b2dnbGUsIGNvbnRhaW5lclN0eWxlcywgcmVnaXN0ZXJDb250ZW50Tm9kZSB9KSA9PiB7XG4gICAgICAgIGNvbnN0IHJlZk9iaiA9IHtcbiAgICAgICAgICBjb250YWluZXJSZWY6IHJlZixcbiAgICAgICAgICByZWdpc3RlckNvbnRlbnROb2RlLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPFN0YWNrIHNjYWxlPVwieHNcIj5cbiAgICAgICAgICAgIDxFZGl0b3JXcmFwcGVyXG4gICAgICAgICAgICAgIGtleT17cHJvcHMubGFuZ3VhZ2V9XG4gICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgIGlzUmVhZE9ubHk9e3Byb3BzLmlzUmVhZE9ubHl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxFZGl0b3JMYW5ndWFnZUxhYmVsIGh0bWxGb3I9e3Byb3BzLmlkfSB0aGVtZT17dGhlbWV9PlxuICAgICAgICAgICAgICAgIHsvKiBGSVhNRTogYWRkIHByb3BlciB0b25lIGZvciBkaXNhYmxlZCB3aGVuIHRvbmVzIGFyZSByZWZhY3RvcmVkICovfVxuICAgICAgICAgICAgICAgIDxUZXh0LkRldGFpbCB0b25lPVwic2Vjb25kYXJ5XCI+XG4gICAgICAgICAgICAgICAgICB7cHJvcHMubGFuZ3VhZ2UudG9VcHBlckNhc2UoKX1cbiAgICAgICAgICAgICAgICA8L1RleHQuRGV0YWlsPlxuICAgICAgICAgICAgICA8L0VkaXRvckxhbmd1YWdlTGFiZWw+XG5cbiAgICAgICAgICAgICAgPFJpY2hUZXh0Qm9keVxuICAgICAgICAgICAgICAgIHJlZj17cmVmT2JqIGFzIHVua25vd24gYXMgUmVmPFRSaWNoVGV4dEVkaXRvckJvZHlSZWY+fVxuICAgICAgICAgICAgICAgIHN0eWxlcz17e1xuICAgICAgICAgICAgICAgICAgY29udGFpbmVyOiBjc3NgXG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIGhhc0Vycm9yPXtwcm9wcy5oYXNFcnJvcn1cbiAgICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkfVxuICAgICAgICAgICAgICAgIGhhc1dhcm5pbmc9e3Byb3BzLmhhc1dhcm5pbmd9XG4gICAgICAgICAgICAgICAgaXNSZWFkT25seT17Qm9vbGVhbihwcm9wcy5pc1JlYWRPbmx5KX1cbiAgICAgICAgICAgICAgICBlZGl0b3I9e3Byb3BzLmVkaXRvciBhcyBURWRpdG9yfVxuICAgICAgICAgICAgICAgIGNvbnRhaW5lclN0eWxlcz17Y29udGFpbmVyU3R5bGVzfVxuICAgICAgICAgICAgICAgIHNob3dFeHBhbmRJY29uPXtwcm9wcy5zaG93RXhwYW5kSWNvbn1cbiAgICAgICAgICAgICAgICBvbkNsaWNrRXhwYW5kPXtwcm9wcy5vbkNsaWNrRXhwYW5kfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgICAgICA8L1JpY2hUZXh0Qm9keT5cbiAgICAgICAgICAgIDwvRWRpdG9yV3JhcHBlcj5cbiAgICAgICAgICAgIDxSb3dcbiAgICAgICAgICAgICAgLy8gTk9URTogYXBwbHlpbmcgdGhpcyBzdHlsZSB3aXRoaW5nIHRoZSBgc3R5bGVkYCBjb21wb25lbnQgcmVzdWx0cyBpbiB0aGUgcHJvZHVjdGlvblxuICAgICAgICAgICAgICAvLyBidW5kbGUgdG8gYXBwbHkgdGhlIHN0eWxlIGluIHRoZSB3cm9uZyBvcmRlci5cbiAgICAgICAgICAgICAgLy8gRm9yIGluc3RhbmNlLCB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSBtYXJnaW5nIG9mIHRoZSBzcGFjaW5nIGNvbXBvbmVudCwgd2hpY2ggYWxzb1xuICAgICAgICAgICAgICAvLyB1c2VzIGAhaW1wb3J0YW50YC5cbiAgICAgICAgICAgICAgLy8gQW55d2F5LCBhcHBhcmVudGx5IGJ5IHBhc3NpbmcgdGhlIHN0eWxlIGFzIGEgYGNzc2AgcHJvcCB0byB0aGUgYHN0eWxlZGAgY29tcG9uZW50XG4gICAgICAgICAgICAgIC8vIGRvZXMgdGhlIHRyaWNrLlxuICAgICAgICAgICAgICAvLyBUT0RPOiByZXZpc2l0IHRoZSBsb2dpYyBhbmQgdGhlIGltcGxlbWVudGF0aW9uIHRvIG1heWJlIGF2b2lkIGhhdmluZyB0byBhcHBseSB0aGlzIHN0eWxlLlxuICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAke3Nob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZVxuICAgICAgICAgICAgICAgICAgPyAnaW5oZXJpdCdcbiAgICAgICAgICAgICAgICAgIDogJzBweCAhaW1wb3J0YW50J307XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy5lcnJvcilcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxMZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXY+e3Byb3BzLmVycm9yfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L0xlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy53YXJuaW5nKVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPExlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdj57cHJvcHMud2FybmluZ308L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9MZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICAgICAge3JlbmRlclRvZ2dsZUJ1dHRvbiAmJiAoXG4gICAgICAgICAgICAgICAgPFJpZ2h0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgPFRvZ2dsZUJ1dHRvbldyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICAgICAgICAgICAgIXNob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICR7Y3VzdG9tUHJvcGVydGllcy5zcGFjaW5nWHN9O1xuICAgICAgICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICAgICAgXX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPEZsYXRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0b2dnbGV9XG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e2ludGwuZm9ybWF0TWVzc2FnZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzT3BlblxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQuY29sbGFwc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBtZXNzYWdlc011bHRpbGluZUlucHV0LmV4cGFuZFxuICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgaWNvbj17XG4gICAgICAgICAgICAgICAgICAgICAgICBpc09wZW4gPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxBbmdsZVVwSWNvbiBzaXplPVwic21hbGxcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEFuZ2xlRG93bkljb24gc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1RvZ2dsZUJ1dHRvbldyYXBwZXI+XG4gICAgICAgICAgICAgICAgPC9SaWdodENvbHVtbj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvUm93PlxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICk7XG4gICAgICB9fVxuICAgIDwvQ29sbGFwc2libGVNb3Rpb24+XG4gICk7XG59O1xuXG50eXBlIFRPcHRpb25zID0ge1xuICBsYW5ndWFnZTogc3RyaW5nO1xuICBlcnJvcj86IFJlYWN0Tm9kZTtcbiAgd2FybmluZz86IFJlYWN0Tm9kZTtcbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgZGVmYXVsdEV4cGFuZE11bHRpbGluZVRleHQ6IGJvb2xlYW47XG4gIHRvZ2dsZUxhbmd1YWdlOiAobGFuZ3VhZ2U6IHN0cmluZykgPT4gdm9pZDtcbiAgaXNPcGVuOiBib29sZWFuO1xuICBzaG93RXhwYW5kSWNvbjogYm9vbGVhbjtcbiAgb25DbGlja0V4cGFuZD86ICgpID0+IGJvb2xlYW47XG4gIGhhc0xhbmd1YWdlc0NvbnRyb2w/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgVFJlbmRlckVkaXRvclByb3BzID0ge1xuICBpZD86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICByZWFkT25seT86IGJvb2xlYW47XG4gIGVkaXRvcj86IFRFZGl0b3I7XG4gIG9wdGlvbnM6IFRPcHRpb25zO1xufTtcbmV4cG9ydCB0eXBlIFRSZW5kZXJFZGl0b3IgPSAoXG4gIHByb3BzOiBUUmVuZGVyRWRpdG9yUHJvcHMsXG4gIGVkaXRvcjogVEVkaXRvcixcbiAgbmV4dDogKCkgPT4gUmVhY3RFbGVtZW50XG4pID0+IFJldHVyblR5cGU8dHlwZW9mIEVkaXRvcj47XG5cbmNvbnN0IHJlbmRlckVkaXRvcjogVFJlbmRlckVkaXRvciA9IChwcm9wcywgZWRpdG9yLCBuZXh0KSA9PiB7XG4gIGlmIChwcm9wcy5vcHRpb25zLnNob3dFeHBhbmRJY29uKSB7XG4gICAgd2FybmluZyhcbiAgICAgIHR5cGVvZiBwcm9wcy5vcHRpb25zLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAncmVuZGVyRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IGludGVybmFsSWQgPSBgJHtwcm9wcy5pZH1fX2ludGVybmFsX19pZGA7XG5cbiAgY29uc3QgY2hpbGRyZW4gPSBjbG9uZUVsZW1lbnQobmV4dCgpLCB7XG4gICAgaWQ6IGludGVybmFsSWQsXG4gIH0pO1xuXG4gIGNvbnN0IHBhc3NlZFByb3BzID0ge1xuICAgIGlkOiBwcm9wcy5pZCxcbiAgICBpc0Rpc2FibGVkOiBwcm9wcy5kaXNhYmxlZCxcbiAgICBpc1JlYWRPbmx5OiBwcm9wcy5yZWFkT25seSxcbiAgICAuLi5waWNrKHByb3BzLm9wdGlvbnMsIFtcbiAgICAgICdkZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dCcsXG4gICAgICAnbGFuZ3VhZ2UnLFxuICAgICAgJ3dhcm5pbmcnLFxuICAgICAgJ2Vycm9yJyxcbiAgICAgICdoYXNXYXJuaW5nJyxcbiAgICAgICdoYXNFcnJvcicsXG4gICAgICAndG9nZ2xlTGFuZ3VhZ2UnLFxuICAgICAgJ2lzT3BlbicsXG4gICAgICAnc2hvd0V4cGFuZEljb24nLFxuICAgICAgJ29uQ2xpY2tFeHBhbmQnLFxuICAgICAgJ2hhc0xhbmd1YWdlc0NvbnRyb2wnLFxuICAgIF0pLFxuICAgIC4uLmZpbHRlckRhdGFBdHRyaWJ1dGVzKHByb3BzKSxcbiAgfTtcblxuICBjb25zdCBpc0ZvY3VzZWQgPSBwcm9wcy5lZGl0b3I/LnZhbHVlLnNlbGVjdGlvbi5pc0ZvY3VzZWQ7XG5cbiAgcmV0dXJuIChcbiAgICA8RWRpdG9yIGVkaXRvcj17ZWRpdG9yfSB7Li4ucGFzc2VkUHJvcHN9PlxuICAgICAge2NoaWxkcmVufVxuICAgICAgPEhpZGRlbklucHV0XG4gICAgICAgIGlzRm9jdXNlZD17Qm9vbGVhbihpc0ZvY3VzZWQpfVxuICAgICAgICBoYW5kbGVGb2N1cz17ZWRpdG9yLmZvY3VzfVxuICAgICAgICBkaXNhYmxlZD17cHJvcHMuZGlzYWJsZWR9XG4gICAgICAgIHJlYWRPbmx5PXtwcm9wcy5yZWFkT25seX1cbiAgICAgICAgaWQ9e3Byb3BzLmlkfVxuICAgICAgLz5cbiAgICA8L0VkaXRvcj5cbiAgKTtcbn07XG5cbkVkaXRvci5kaXNwbGF5TmFtZSA9ICdFZGl0b3InO1xuXG5leHBvcnQgZGVmYXVsdCByZW5kZXJFZGl0b3I7XG4iXX0= */"],
333
+ css: [!shouldToggleButtonTakeSpace && /*#__PURE__*/css("position:absolute;top:0;right:0;margin-top:", customProperties.spacingXs, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:Editor;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImVkaXRvci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNFQyQiIsImZpbGUiOiJlZGl0b3IudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgZm9yd2FyZFJlZixcbiAgdHlwZSBSZWFjdE5vZGUsXG4gIHR5cGUgTGVnYWN5UmVmLFxuICB0eXBlIFJlZk9iamVjdCxcbiAgdHlwZSBSZWYsXG4gIHR5cGUgRm9jdXNFdmVudEhhbmRsZXIsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcywgdXNlVGhlbWUgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VJbnRsIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgeyBjdXN0b21Qcm9wZXJ0aWVzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyB3YXJuaW5nLCBmaWx0ZXJEYXRhQXR0cmlidXRlcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3V0aWxzJztcbmltcG9ydCBDb2xsYXBzaWJsZU1vdGlvbiBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9jb2xsYXBzaWJsZS1tb3Rpb24nO1xuaW1wb3J0IFN0YWNrIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NwYWNpbmdzLXN0YWNrJztcbmltcG9ydCB7IEFuZ2xlVXBJY29uLCBBbmdsZURvd25JY29uIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IFRleHQgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvdGV4dCc7XG5pbXBvcnQgRmxhdEJ1dHRvbiBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9mbGF0LWJ1dHRvbic7XG5pbXBvcnQgeyBtZXNzYWdlc011bHRpbGluZUlucHV0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaW5wdXQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgUmljaFRleHRCb2R5LFxuICBIaWRkZW5JbnB1dCxcbiAgRWxlbWVudCxcbiAgTGVhZixcbiAgdG9nZ2xlTWFyayxcbiAgcmVzZXRFZGl0b3IsXG4gIGZvY3VzRWRpdG9yLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9yaWNoLXRleHQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgRWRpdGFibGUsXG4gIHdpdGhSZWFjdCxcbiAgU2xhdGUsXG4gIFJlYWN0RWRpdG9yLFxuICB0eXBlIFJlbmRlckVsZW1lbnRQcm9wcyxcbiAgdHlwZSBSZW5kZXJMZWFmUHJvcHMsXG59IGZyb20gJ3NsYXRlLXJlYWN0JztcbmltcG9ydCB7IGNyZWF0ZUVkaXRvciwgdHlwZSBEZXNjZW5kYW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgd2l0aEhpc3RvcnkgfSBmcm9tICdzbGF0ZS1oaXN0b3J5JztcbmltcG9ydCBpc0hvdGtleSBmcm9tICdpcy1ob3RrZXknO1xuaW1wb3J0IHBpcGUgZnJvbSAnbG9kYXNoL2ZwL3BpcGUnO1xuaW1wb3J0IHtcbiAgRWRpdG9yV3JhcHBlcixcbiAgRWRpdG9yTGFuZ3VhZ2VMYWJlbCxcbiAgVG9nZ2xlQnV0dG9uV3JhcHBlcixcbn0gZnJvbSAnLi9lZGl0b3Iuc3R5bGVzJztcblxuY29uc3QgSE9US0VZUyA9IHtcbiAgJ21vZCtiJzogJ2JvbGQnLFxuICAnbW9kK2knOiAnaXRhbGljJyxcbiAgJ21vZCt1JzogJ3VuZGVybGluZScsXG4gICdtb2QrYCc6ICdjb2RlJyxcbn07XG5cbmNvbnN0IENPTExBUFNFRF9IRUlHSFQgPSAzMjtcblxuY29uc3QgTGVmdENvbHVtbiA9IHN0eWxlZC5kaXZgXG4gIGZsZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgUmlnaHRDb2x1bW4gPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgUm93ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmV4cG9ydCB0eXBlIFRFZGl0b3JQcm9wcyA9IHtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGlkPzogc3RyaW5nO1xuICBpc09wZW46IGJvb2xlYW47XG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xuICBpc1JlYWRPbmx5PzogYm9vbGVhbjtcbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgZXJyb3I/OiBSZWFjdE5vZGU7XG4gIHdhcm5pbmc/OiBSZWFjdE5vZGU7XG4gIGRlZmF1bHRFeHBhbmRNdWx0aWxpbmVUZXh0OiBib29sZWFuO1xuICB0b2dnbGVMYW5ndWFnZTogKGxhbmd1YWdlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIGxhbmd1YWdlOiBzdHJpbmc7XG4gIHNob3dFeHBhbmRJY29uOiBib29sZWFuO1xuICBvbkNsaWNrRXhwYW5kPzogKCkgPT4gYm9vbGVhbjtcbiAgaGFzTGFuZ3VhZ2VzQ29udHJvbD86IGJvb2xlYW47XG4gIHZhbHVlOiBEZXNjZW5kYW50W107XG4gIG9uQ2hhbmdlOiAoc3RhdGU6IERlc2NlbmRhbnRbXSkgPT4gdm9pZDtcbiAgb25Gb2N1cz86IEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgb25CbHVyPzogRm9jdXNFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xuICBpc0F1dG9mb2N1c2VkPzogYm9vbGVhbjtcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIHJlZj86IFJlZjx1bmtub3duPjtcbn07XG5cbnR5cGUgVE5vZGVSZWZPYmplY3QgPSB7XG4gIGNsaWVudEhlaWdodDogbnVtYmVyO1xufSAmIExlZ2FjeVJlZjxIVE1MRGl2RWxlbWVudD47XG5cbnR5cGUgVFJpY2hUZXh0RWRpdG9yQm9keVJlZiA9IHtcbiAgcmVnaXN0ZXJDb250ZW50Tm9kZTogVE5vZGVSZWZPYmplY3Q7XG4gIGNvbnRhaW5lclJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50Pjtcbn07XG5cbmNvbnN0IHJlbmRlckVsZW1lbnQgPSAocHJvcHM6IFJlbmRlckVsZW1lbnRQcm9wcykgPT4gPEVsZW1lbnQgey4uLnByb3BzfSAvPjtcbmNvbnN0IHJlbmRlckxlYWYgPSAocHJvcHM6IFJlbmRlckxlYWZQcm9wcykgPT4gPExlYWYgey4uLnByb3BzfSAvPjtcblxuY29uc3QgRWRpdG9yID0gZm9yd2FyZFJlZigocHJvcHM6IFRFZGl0b3JQcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gIGNvbnN0IGludGwgPSB1c2VJbnRsKCk7XG4gIGNvbnN0IHJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4oKTtcblxuICBjb25zdCBjcmVhdGVFZGl0b3JXaXRoUGx1Z2lucyA9IHBpcGUod2l0aFJlYWN0LCB3aXRoSGlzdG9yeSk7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgY29uc3QgZWRpdG9yID0gdXNlTWVtbygoKSA9PiBjcmVhdGVFZGl0b3JXaXRoUGx1Z2lucyhjcmVhdGVFZGl0b3IoKSksIFtdKTtcblxuICBpZiAocHJvcHMuc2hvd0V4cGFuZEljb24pIHtcbiAgICB3YXJuaW5nKFxuICAgICAgdHlwZW9mIHByb3BzLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAnRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IFtyZW5kZXJUb2dnbGVCdXR0b24sIHNldFJlbmRlclRvZ2dsZUJ1dHRvbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgeyB0b2dnbGVMYW5ndWFnZSB9ID0gcHJvcHM7XG4gIGNvbnN0IG9uVG9nZ2xlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHRvZ2dsZUxhbmd1YWdlKHByb3BzLmxhbmd1YWdlKTtcbiAgfSwgW3RvZ2dsZUxhbmd1YWdlLCBwcm9wcy5sYW5ndWFnZV0pO1xuXG4gIGNvbnN0IHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgPVxuICAgICAgTnVtYmVyKHJlZi5jdXJyZW50Py5jbGllbnRIZWlnaHQpID4gQ09MTEFQU0VEX0hFSUdIVDtcblxuICAgIGlmIChkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgJiYgIXJlbmRlclRvZ2dsZUJ1dHRvbikge1xuICAgICAgc2V0UmVuZGVyVG9nZ2xlQnV0dG9uKHRydWUpO1xuICAgIH1cbiAgICBpZiAoIWRvZXNFeGNlZWRDb2xsYXBzZWRIZWlnaHRMaW1pdCAmJiByZW5kZXJUb2dnbGVCdXR0b24pIHtcbiAgICAgIHNldFJlbmRlclRvZ2dsZUJ1dHRvbihmYWxzZSk7XG4gICAgfVxuICB9LCBbc2V0UmVuZGVyVG9nZ2xlQnV0dG9uLCByZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbigpO1xuICB9LCBbZWRpdG9yLCB1cGRhdGVSZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICAvLyByZXNldHRpbmdcbiAgY29uc3QgcmVzZXRWYWx1ZSA9IHVzZUNhbGxiYWNrKFxuICAgIChuZXdWYWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgICByZXNldEVkaXRvcihlZGl0b3IsIG5ld1ZhbHVlKTtcbiAgICB9LFxuICAgIFtlZGl0b3JdXG4gICk7XG4gIC8qIFxuICBSZXNldHRpbmcgdGhlIGVkaXRvciByZXF1aXJlcyBhY2Nlc3MgdG8gYGVkaXRvcmAgb2JqZWN0IHJldHVybmVkIGZyb20gYHVzZVNsYXRlYCBob29rLlxuICBUaGVyZWZvcmUsIGByZXNldGAgZnVuY3Rpb24gaXMgYXR0YWNoZWQgdG8gdGhlIHBhc3NlZCBgcmVmYCBvYmplY3QgdmlhIGB1c2VJbXBlcmF0aXZlSGFuZGxlYCBcbiAgdG8gYmUgY2FsbGVkIGZyb20gdGhlIHBhcmVudCBjb21wb25lbnQuIFxuICBlLmcuIDxidXR0b24gb25Nb3VzZURvd249eygpID0+IHJlZi5jdXJyZW50Py5yZXNldFZhbHVlKFwiPHA+PHN0cm9uZz5WYWx1ZSBhZnRlciByZXNldDwvc3Ryb25nPjwvcD5cIil9PlJlc2V0PC9idXR0b24+XG4gICovXG4gIHVzZUltcGVyYXRpdmVIYW5kbGUoZm9yd2FyZGVkUmVmLCAoKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJlc2V0VmFsdWUsXG4gICAgfTtcbiAgfSk7XG5cbiAgY29uc3Qgc2hvdWxkVG9nZ2xlQnV0dG9uVGFrZVNwYWNlID1cbiAgICAvKiBcbiAgICAgIC0gaWYgaGFzTGFuZ3VhZ2VzQ29udHJvbCBhbmQgdGhlcmUgYXJlIG5vIGVycm9ycy93YXJuaW5ncyB0byBkaXNwbGF5XG4gICAgICAtIHRoZW4gdGhlIHRvZ2dsZUJ1dHRvbiBpcyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWRcbiAgICAgIFRoaXMgaXMgYmVjYXVzZSB0aGUgdG9nZ2xlIGJ1dHRvbiBpcyBwbGFjZWQgbmV4dCB0byB0aGUgTG9jYWxpemVkSW5wdXRUb2dnbGUgd2l0aG91dCBiZWluZyBzaWJsaW5ncyBpbiB0aGUgRE9NLlxuICAgICAgSWYgdGhlcmUgaXMgYSBlcnJvciBvciB3YXJuaW5nIHNob3dpbmcsXG4gICAgICB0aGVuIGl0IGNhbiBiZSBwbGFjZWQgc3RhdGljYWxseSBiZWNhdXNlIGl0IHdpbGwgdGhlbiBiZSBhIHNpYmxpbmcgdG8gdGhlIGVycm9yL3dhcm5pbmcgbWVzc2FnZVxuICAgICAgYW5kIExvY2FsaXplZElucHV0VG9nZ2xlIGlzIHBsYWNlZCBiZWxvdyB0aGUgZXJyb3JzL3dhcm5pbmdzLiBcbiAgICAqL1xuXG4gICAgKHJlbmRlclRvZ2dsZUJ1dHRvbiAmJiAhcHJvcHMuaGFzTGFuZ3VhZ2VzQ29udHJvbCkgfHxcbiAgICBwcm9wcy5lcnJvciB8fFxuICAgIHByb3BzLndhcm5pbmc7XG5cbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuXG4gIHJldHVybiAoXG4gICAgPENvbGxhcHNpYmxlTW90aW9uXG4gICAgICBtaW5IZWlnaHQ9e0NPTExBUFNFRF9IRUlHSFR9XG4gICAgICBpc0Nsb3NlZD17IXByb3BzLmlzT3Blbn1cbiAgICAgIG9uVG9nZ2xlPXtvblRvZ2dsZX1cbiAgICAgIGlzRGVmYXVsdENsb3NlZD17IXByb3BzLmRlZmF1bHRFeHBhbmRNdWx0aWxpbmVUZXh0fVxuICAgID5cbiAgICAgIHsoeyBpc09wZW4sIHRvZ2dsZSwgY29udGFpbmVyU3R5bGVzLCByZWdpc3RlckNvbnRlbnROb2RlIH0pID0+IHtcbiAgICAgICAgY29uc3QgcmVmT2JqID0ge1xuICAgICAgICAgIGNvbnRhaW5lclJlZjogcmVmLFxuICAgICAgICAgIHJlZ2lzdGVyQ29udGVudE5vZGUsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8U3RhY2sgc2NhbGU9XCJ4c1wiPlxuICAgICAgICAgICAgPEVkaXRvcldyYXBwZXJcbiAgICAgICAgICAgICAga2V5PXtwcm9wcy5sYW5ndWFnZX1cbiAgICAgICAgICAgICAgaXNEaXNhYmxlZD17cHJvcHMuaXNEaXNhYmxlZH1cbiAgICAgICAgICAgICAgaXNSZWFkT25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFNsYXRlXG4gICAgICAgICAgICAgICAgZWRpdG9yPXtlZGl0b3J9XG4gICAgICAgICAgICAgICAgdmFsdWU9e3Byb3BzLnZhbHVlfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtwcm9wcy5vbkNoYW5nZX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxFZGl0b3JMYW5ndWFnZUxhYmVsIGh0bWxGb3I9e3Byb3BzLmlkfSB0aGVtZT17dGhlbWV9PlxuICAgICAgICAgICAgICAgICAgey8qIEZJWE1FOiBhZGQgcHJvcGVyIHRvbmUgZm9yIGRpc2FibGVkIHdoZW4gdG9uZXMgYXJlIHJlZmFjdG9yZWQgKi99XG4gICAgICAgICAgICAgICAgICA8VGV4dC5EZXRhaWwgdG9uZT1cInNlY29uZGFyeVwiPlxuICAgICAgICAgICAgICAgICAgICB7cHJvcHMubGFuZ3VhZ2UudG9VcHBlckNhc2UoKX1cbiAgICAgICAgICAgICAgICAgIDwvVGV4dC5EZXRhaWw+XG4gICAgICAgICAgICAgICAgPC9FZGl0b3JMYW5ndWFnZUxhYmVsPlxuICAgICAgICAgICAgICAgIDxSaWNoVGV4dEJvZHlcbiAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgIHJlZj17cmVmT2JqIGFzIHVua25vd24gYXMgUmVmPFRSaWNoVGV4dEVkaXRvckJvZHlSZWY+fVxuICAgICAgICAgICAgICAgICAgc3R5bGVzPXt7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogY3NzYFxuICAgICAgICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICBgLFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIGhhc0Vycm9yPXtwcm9wcy5oYXNFcnJvcn1cbiAgICAgICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICBoYXNXYXJuaW5nPXtwcm9wcy5oYXNXYXJuaW5nfVxuICAgICAgICAgICAgICAgICAgaXNSZWFkT25seT17Qm9vbGVhbihwcm9wcy5pc1JlYWRPbmx5KX1cbiAgICAgICAgICAgICAgICAgIHNob3dFeHBhbmRJY29uPXtCb29sZWFuKHByb3BzLnNob3dFeHBhbmRJY29uKX1cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2tFeHBhbmQ9e3Byb3BzLm9uQ2xpY2tFeHBhbmR9XG4gICAgICAgICAgICAgICAgICBjb250YWluZXJTdHlsZXM9e2NvbnRhaW5lclN0eWxlc31cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8RWRpdGFibGVcbiAgICAgICAgICAgICAgICAgICAgey4uLmZpbHRlckRhdGFBdHRyaWJ1dGVzKHByb3BzKX1cbiAgICAgICAgICAgICAgICAgICAgbmFtZT17cHJvcHMubmFtZX1cbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyRWxlbWVudD17cmVuZGVyRWxlbWVudH1cbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyTGVhZj17cmVuZGVyTGVhZn1cbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3Byb3BzLnBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgICAgICAgICBhdXRvRm9jdXM9e3Byb3BzLmlzQXV0b2ZvY3VzZWR9XG4gICAgICAgICAgICAgICAgICAgIG9uQmx1cj17cHJvcHMub25CbHVyfVxuICAgICAgICAgICAgICAgICAgICBvbkZvY3VzPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5vbkZvY3VzPy4oZXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICAgIC8vIG9wZW5zIHRoZSBpbnB1dCBpZiBpdCByZWdhaW5zIGZvY3VzIGFuZCBpdCdzIGNsb3NlZFxuICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNPcGVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzRWRpdG9yKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICByZWFkT25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBob3RrZXkgaW4gSE9US0VZUykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzSG90a2V5KGhvdGtleSwgZXZlbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hcmsgPSBIT1RLRVlTW2hvdGtleSBhcyBrZXlvZiB0eXBlb2YgSE9US0VZU107XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZU1hcmsoZWRpdG9yLCBtYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgIDxIaWRkZW5JbnB1dFxuICAgICAgICAgICAgICAgICAgICBpc0ZvY3VzZWQ9e1JlYWN0RWRpdG9yLmlzRm9jdXNlZChlZGl0b3IpfVxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVGb2N1cz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGZvY3VzRWRpdG9yKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIGlkPXtwcm9wcy5pZH1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXtwcm9wcy5pc1JlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L1JpY2hUZXh0Qm9keT5cbiAgICAgICAgICAgICAgPC9TbGF0ZT5cbiAgICAgICAgICAgIDwvRWRpdG9yV3JhcHBlcj5cbiAgICAgICAgICAgIDxSb3dcbiAgICAgICAgICAgICAgLy8gTk9URTogYXBwbHlpbmcgdGhpcyBzdHlsZSB3aXRoaW5nIHRoZSBgc3R5bGVkYCBjb21wb25lbnQgcmVzdWx0cyBpbiB0aGUgcHJvZHVjdGlvblxuICAgICAgICAgICAgICAvLyBidW5kbGUgdG8gYXBwbHkgdGhlIHN0eWxlIGluIHRoZSB3cm9uZyBvcmRlci5cbiAgICAgICAgICAgICAgLy8gRm9yIGluc3RhbmNlLCB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSBtYXJnaW5nIG9mIHRoZSBzcGFjaW5nIGNvbXBvbmVudCwgd2hpY2ggYWxzb1xuICAgICAgICAgICAgICAvLyB1c2VzIGAhaW1wb3J0YW50YC5cbiAgICAgICAgICAgICAgLy8gQW55d2F5LCBhcHBhcmVudGx5IGJ5IHBhc3NpbmcgdGhlIHN0eWxlIGFzIGEgYGNzc2AgcHJvcCB0byB0aGUgYHN0eWxlZGAgY29tcG9uZW50XG4gICAgICAgICAgICAgIC8vIGRvZXMgdGhlIHRyaWNrLlxuICAgICAgICAgICAgICAvLyBUT0RPOiByZXZpc2l0IHRoZSBsb2dpYyBhbmQgdGhlIGltcGxlbWVudGF0aW9uIHRvIG1heWJlIGF2b2lkIGhhdmluZyB0byBhcHBseSB0aGlzIHN0eWxlLlxuICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAke3Nob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZVxuICAgICAgICAgICAgICAgICAgPyAnaW5oZXJpdCdcbiAgICAgICAgICAgICAgICAgIDogJzBweCAhaW1wb3J0YW50J307XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy5lcnJvcilcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxMZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXY+e3Byb3BzLmVycm9yfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L0xlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy53YXJuaW5nKVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPExlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdj57cHJvcHMud2FybmluZ308L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9MZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICAgICAge3JlbmRlclRvZ2dsZUJ1dHRvbiAmJiAoXG4gICAgICAgICAgICAgICAgPFJpZ2h0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgPFRvZ2dsZUJ1dHRvbldyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICAgICAgICAgICAgIXNob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICR7Y3VzdG9tUHJvcGVydGllcy5zcGFjaW5nWHN9O1xuICAgICAgICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICAgICAgXX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPEZsYXRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0b2dnbGV9XG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e2ludGwuZm9ybWF0TWVzc2FnZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzT3BlblxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQuY29sbGFwc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBtZXNzYWdlc011bHRpbGluZUlucHV0LmV4cGFuZFxuICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgaWNvbj17XG4gICAgICAgICAgICAgICAgICAgICAgICBpc09wZW4gPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxBbmdsZVVwSWNvbiBzaXplPVwic21hbGxcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEFuZ2xlRG93bkljb24gc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1RvZ2dsZUJ1dHRvbldyYXBwZXI+XG4gICAgICAgICAgICAgICAgPC9SaWdodENvbHVtbj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvUm93PlxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICk7XG4gICAgICB9fVxuICAgIDwvQ29sbGFwc2libGVNb3Rpb24+XG4gICk7XG59KTtcbkVkaXRvci5kaXNwbGF5TmFtZSA9ICdFZGl0b3InO1xuXG5leHBvcnQgZGVmYXVsdCBFZGl0b3I7XG4iXX0= */"), process.env.NODE_ENV === "production" ? "" : ";label:Editor;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImVkaXRvci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMFRvQiIsImZpbGUiOiJlZGl0b3IudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgZm9yd2FyZFJlZixcbiAgdHlwZSBSZWFjdE5vZGUsXG4gIHR5cGUgTGVnYWN5UmVmLFxuICB0eXBlIFJlZk9iamVjdCxcbiAgdHlwZSBSZWYsXG4gIHR5cGUgRm9jdXNFdmVudEhhbmRsZXIsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcywgdXNlVGhlbWUgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VJbnRsIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgeyBjdXN0b21Qcm9wZXJ0aWVzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyB3YXJuaW5nLCBmaWx0ZXJEYXRhQXR0cmlidXRlcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3V0aWxzJztcbmltcG9ydCBDb2xsYXBzaWJsZU1vdGlvbiBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9jb2xsYXBzaWJsZS1tb3Rpb24nO1xuaW1wb3J0IFN0YWNrIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NwYWNpbmdzLXN0YWNrJztcbmltcG9ydCB7IEFuZ2xlVXBJY29uLCBBbmdsZURvd25JY29uIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IFRleHQgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvdGV4dCc7XG5pbXBvcnQgRmxhdEJ1dHRvbiBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9mbGF0LWJ1dHRvbic7XG5pbXBvcnQgeyBtZXNzYWdlc011bHRpbGluZUlucHV0IH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaW5wdXQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgUmljaFRleHRCb2R5LFxuICBIaWRkZW5JbnB1dCxcbiAgRWxlbWVudCxcbiAgTGVhZixcbiAgdG9nZ2xlTWFyayxcbiAgcmVzZXRFZGl0b3IsXG4gIGZvY3VzRWRpdG9yLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9yaWNoLXRleHQtdXRpbHMnO1xuaW1wb3J0IHtcbiAgRWRpdGFibGUsXG4gIHdpdGhSZWFjdCxcbiAgU2xhdGUsXG4gIFJlYWN0RWRpdG9yLFxuICB0eXBlIFJlbmRlckVsZW1lbnRQcm9wcyxcbiAgdHlwZSBSZW5kZXJMZWFmUHJvcHMsXG59IGZyb20gJ3NsYXRlLXJlYWN0JztcbmltcG9ydCB7IGNyZWF0ZUVkaXRvciwgdHlwZSBEZXNjZW5kYW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgd2l0aEhpc3RvcnkgfSBmcm9tICdzbGF0ZS1oaXN0b3J5JztcbmltcG9ydCBpc0hvdGtleSBmcm9tICdpcy1ob3RrZXknO1xuaW1wb3J0IHBpcGUgZnJvbSAnbG9kYXNoL2ZwL3BpcGUnO1xuaW1wb3J0IHtcbiAgRWRpdG9yV3JhcHBlcixcbiAgRWRpdG9yTGFuZ3VhZ2VMYWJlbCxcbiAgVG9nZ2xlQnV0dG9uV3JhcHBlcixcbn0gZnJvbSAnLi9lZGl0b3Iuc3R5bGVzJztcblxuY29uc3QgSE9US0VZUyA9IHtcbiAgJ21vZCtiJzogJ2JvbGQnLFxuICAnbW9kK2knOiAnaXRhbGljJyxcbiAgJ21vZCt1JzogJ3VuZGVybGluZScsXG4gICdtb2QrYCc6ICdjb2RlJyxcbn07XG5cbmNvbnN0IENPTExBUFNFRF9IRUlHSFQgPSAzMjtcblxuY29uc3QgTGVmdENvbHVtbiA9IHN0eWxlZC5kaXZgXG4gIGZsZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgUmlnaHRDb2x1bW4gPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuYDtcblxuY29uc3QgUm93ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmV4cG9ydCB0eXBlIFRFZGl0b3JQcm9wcyA9IHtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGlkPzogc3RyaW5nO1xuICBpc09wZW46IGJvb2xlYW47XG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xuICBpc1JlYWRPbmx5PzogYm9vbGVhbjtcbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgZXJyb3I/OiBSZWFjdE5vZGU7XG4gIHdhcm5pbmc/OiBSZWFjdE5vZGU7XG4gIGRlZmF1bHRFeHBhbmRNdWx0aWxpbmVUZXh0OiBib29sZWFuO1xuICB0b2dnbGVMYW5ndWFnZTogKGxhbmd1YWdlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIGxhbmd1YWdlOiBzdHJpbmc7XG4gIHNob3dFeHBhbmRJY29uOiBib29sZWFuO1xuICBvbkNsaWNrRXhwYW5kPzogKCkgPT4gYm9vbGVhbjtcbiAgaGFzTGFuZ3VhZ2VzQ29udHJvbD86IGJvb2xlYW47XG4gIHZhbHVlOiBEZXNjZW5kYW50W107XG4gIG9uQ2hhbmdlOiAoc3RhdGU6IERlc2NlbmRhbnRbXSkgPT4gdm9pZDtcbiAgb25Gb2N1cz86IEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgb25CbHVyPzogRm9jdXNFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xuICBpc0F1dG9mb2N1c2VkPzogYm9vbGVhbjtcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIHJlZj86IFJlZjx1bmtub3duPjtcbn07XG5cbnR5cGUgVE5vZGVSZWZPYmplY3QgPSB7XG4gIGNsaWVudEhlaWdodDogbnVtYmVyO1xufSAmIExlZ2FjeVJlZjxIVE1MRGl2RWxlbWVudD47XG5cbnR5cGUgVFJpY2hUZXh0RWRpdG9yQm9keVJlZiA9IHtcbiAgcmVnaXN0ZXJDb250ZW50Tm9kZTogVE5vZGVSZWZPYmplY3Q7XG4gIGNvbnRhaW5lclJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50Pjtcbn07XG5cbmNvbnN0IHJlbmRlckVsZW1lbnQgPSAocHJvcHM6IFJlbmRlckVsZW1lbnRQcm9wcykgPT4gPEVsZW1lbnQgey4uLnByb3BzfSAvPjtcbmNvbnN0IHJlbmRlckxlYWYgPSAocHJvcHM6IFJlbmRlckxlYWZQcm9wcykgPT4gPExlYWYgey4uLnByb3BzfSAvPjtcblxuY29uc3QgRWRpdG9yID0gZm9yd2FyZFJlZigocHJvcHM6IFRFZGl0b3JQcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gIGNvbnN0IGludGwgPSB1c2VJbnRsKCk7XG4gIGNvbnN0IHJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4oKTtcblxuICBjb25zdCBjcmVhdGVFZGl0b3JXaXRoUGx1Z2lucyA9IHBpcGUod2l0aFJlYWN0LCB3aXRoSGlzdG9yeSk7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgY29uc3QgZWRpdG9yID0gdXNlTWVtbygoKSA9PiBjcmVhdGVFZGl0b3JXaXRoUGx1Z2lucyhjcmVhdGVFZGl0b3IoKSksIFtdKTtcblxuICBpZiAocHJvcHMuc2hvd0V4cGFuZEljb24pIHtcbiAgICB3YXJuaW5nKFxuICAgICAgdHlwZW9mIHByb3BzLm9uQ2xpY2tFeHBhbmQgPT09ICdmdW5jdGlvbicsXG4gICAgICAnRWRpdG9yOiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IFtyZW5kZXJUb2dnbGVCdXR0b24sIHNldFJlbmRlclRvZ2dsZUJ1dHRvbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgeyB0b2dnbGVMYW5ndWFnZSB9ID0gcHJvcHM7XG4gIGNvbnN0IG9uVG9nZ2xlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHRvZ2dsZUxhbmd1YWdlKHByb3BzLmxhbmd1YWdlKTtcbiAgfSwgW3RvZ2dsZUxhbmd1YWdlLCBwcm9wcy5sYW5ndWFnZV0pO1xuXG4gIGNvbnN0IHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgPVxuICAgICAgTnVtYmVyKHJlZi5jdXJyZW50Py5jbGllbnRIZWlnaHQpID4gQ09MTEFQU0VEX0hFSUdIVDtcblxuICAgIGlmIChkb2VzRXhjZWVkQ29sbGFwc2VkSGVpZ2h0TGltaXQgJiYgIXJlbmRlclRvZ2dsZUJ1dHRvbikge1xuICAgICAgc2V0UmVuZGVyVG9nZ2xlQnV0dG9uKHRydWUpO1xuICAgIH1cbiAgICBpZiAoIWRvZXNFeGNlZWRDb2xsYXBzZWRIZWlnaHRMaW1pdCAmJiByZW5kZXJUb2dnbGVCdXR0b24pIHtcbiAgICAgIHNldFJlbmRlclRvZ2dsZUJ1dHRvbihmYWxzZSk7XG4gICAgfVxuICB9LCBbc2V0UmVuZGVyVG9nZ2xlQnV0dG9uLCByZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHVwZGF0ZVJlbmRlclRvZ2dsZUJ1dHRvbigpO1xuICB9LCBbZWRpdG9yLCB1cGRhdGVSZW5kZXJUb2dnbGVCdXR0b25dKTtcblxuICAvLyByZXNldHRpbmdcbiAgY29uc3QgcmVzZXRWYWx1ZSA9IHVzZUNhbGxiYWNrKFxuICAgIChuZXdWYWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgICByZXNldEVkaXRvcihlZGl0b3IsIG5ld1ZhbHVlKTtcbiAgICB9LFxuICAgIFtlZGl0b3JdXG4gICk7XG4gIC8qIFxuICBSZXNldHRpbmcgdGhlIGVkaXRvciByZXF1aXJlcyBhY2Nlc3MgdG8gYGVkaXRvcmAgb2JqZWN0IHJldHVybmVkIGZyb20gYHVzZVNsYXRlYCBob29rLlxuICBUaGVyZWZvcmUsIGByZXNldGAgZnVuY3Rpb24gaXMgYXR0YWNoZWQgdG8gdGhlIHBhc3NlZCBgcmVmYCBvYmplY3QgdmlhIGB1c2VJbXBlcmF0aXZlSGFuZGxlYCBcbiAgdG8gYmUgY2FsbGVkIGZyb20gdGhlIHBhcmVudCBjb21wb25lbnQuIFxuICBlLmcuIDxidXR0b24gb25Nb3VzZURvd249eygpID0+IHJlZi5jdXJyZW50Py5yZXNldFZhbHVlKFwiPHA+PHN0cm9uZz5WYWx1ZSBhZnRlciByZXNldDwvc3Ryb25nPjwvcD5cIil9PlJlc2V0PC9idXR0b24+XG4gICovXG4gIHVzZUltcGVyYXRpdmVIYW5kbGUoZm9yd2FyZGVkUmVmLCAoKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJlc2V0VmFsdWUsXG4gICAgfTtcbiAgfSk7XG5cbiAgY29uc3Qgc2hvdWxkVG9nZ2xlQnV0dG9uVGFrZVNwYWNlID1cbiAgICAvKiBcbiAgICAgIC0gaWYgaGFzTGFuZ3VhZ2VzQ29udHJvbCBhbmQgdGhlcmUgYXJlIG5vIGVycm9ycy93YXJuaW5ncyB0byBkaXNwbGF5XG4gICAgICAtIHRoZW4gdGhlIHRvZ2dsZUJ1dHRvbiBpcyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWRcbiAgICAgIFRoaXMgaXMgYmVjYXVzZSB0aGUgdG9nZ2xlIGJ1dHRvbiBpcyBwbGFjZWQgbmV4dCB0byB0aGUgTG9jYWxpemVkSW5wdXRUb2dnbGUgd2l0aG91dCBiZWluZyBzaWJsaW5ncyBpbiB0aGUgRE9NLlxuICAgICAgSWYgdGhlcmUgaXMgYSBlcnJvciBvciB3YXJuaW5nIHNob3dpbmcsXG4gICAgICB0aGVuIGl0IGNhbiBiZSBwbGFjZWQgc3RhdGljYWxseSBiZWNhdXNlIGl0IHdpbGwgdGhlbiBiZSBhIHNpYmxpbmcgdG8gdGhlIGVycm9yL3dhcm5pbmcgbWVzc2FnZVxuICAgICAgYW5kIExvY2FsaXplZElucHV0VG9nZ2xlIGlzIHBsYWNlZCBiZWxvdyB0aGUgZXJyb3JzL3dhcm5pbmdzLiBcbiAgICAqL1xuXG4gICAgKHJlbmRlclRvZ2dsZUJ1dHRvbiAmJiAhcHJvcHMuaGFzTGFuZ3VhZ2VzQ29udHJvbCkgfHxcbiAgICBwcm9wcy5lcnJvciB8fFxuICAgIHByb3BzLndhcm5pbmc7XG5cbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuXG4gIHJldHVybiAoXG4gICAgPENvbGxhcHNpYmxlTW90aW9uXG4gICAgICBtaW5IZWlnaHQ9e0NPTExBUFNFRF9IRUlHSFR9XG4gICAgICBpc0Nsb3NlZD17IXByb3BzLmlzT3Blbn1cbiAgICAgIG9uVG9nZ2xlPXtvblRvZ2dsZX1cbiAgICAgIGlzRGVmYXVsdENsb3NlZD17IXByb3BzLmRlZmF1bHRFeHBhbmRNdWx0aWxpbmVUZXh0fVxuICAgID5cbiAgICAgIHsoeyBpc09wZW4sIHRvZ2dsZSwgY29udGFpbmVyU3R5bGVzLCByZWdpc3RlckNvbnRlbnROb2RlIH0pID0+IHtcbiAgICAgICAgY29uc3QgcmVmT2JqID0ge1xuICAgICAgICAgIGNvbnRhaW5lclJlZjogcmVmLFxuICAgICAgICAgIHJlZ2lzdGVyQ29udGVudE5vZGUsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8U3RhY2sgc2NhbGU9XCJ4c1wiPlxuICAgICAgICAgICAgPEVkaXRvcldyYXBwZXJcbiAgICAgICAgICAgICAga2V5PXtwcm9wcy5sYW5ndWFnZX1cbiAgICAgICAgICAgICAgaXNEaXNhYmxlZD17cHJvcHMuaXNEaXNhYmxlZH1cbiAgICAgICAgICAgICAgaXNSZWFkT25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFNsYXRlXG4gICAgICAgICAgICAgICAgZWRpdG9yPXtlZGl0b3J9XG4gICAgICAgICAgICAgICAgdmFsdWU9e3Byb3BzLnZhbHVlfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtwcm9wcy5vbkNoYW5nZX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxFZGl0b3JMYW5ndWFnZUxhYmVsIGh0bWxGb3I9e3Byb3BzLmlkfSB0aGVtZT17dGhlbWV9PlxuICAgICAgICAgICAgICAgICAgey8qIEZJWE1FOiBhZGQgcHJvcGVyIHRvbmUgZm9yIGRpc2FibGVkIHdoZW4gdG9uZXMgYXJlIHJlZmFjdG9yZWQgKi99XG4gICAgICAgICAgICAgICAgICA8VGV4dC5EZXRhaWwgdG9uZT1cInNlY29uZGFyeVwiPlxuICAgICAgICAgICAgICAgICAgICB7cHJvcHMubGFuZ3VhZ2UudG9VcHBlckNhc2UoKX1cbiAgICAgICAgICAgICAgICAgIDwvVGV4dC5EZXRhaWw+XG4gICAgICAgICAgICAgICAgPC9FZGl0b3JMYW5ndWFnZUxhYmVsPlxuICAgICAgICAgICAgICAgIDxSaWNoVGV4dEJvZHlcbiAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgIHJlZj17cmVmT2JqIGFzIHVua25vd24gYXMgUmVmPFRSaWNoVGV4dEVkaXRvckJvZHlSZWY+fVxuICAgICAgICAgICAgICAgICAgc3R5bGVzPXt7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogY3NzYFxuICAgICAgICAgICAgICAgICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICBgLFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIGhhc0Vycm9yPXtwcm9wcy5oYXNFcnJvcn1cbiAgICAgICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICBoYXNXYXJuaW5nPXtwcm9wcy5oYXNXYXJuaW5nfVxuICAgICAgICAgICAgICAgICAgaXNSZWFkT25seT17Qm9vbGVhbihwcm9wcy5pc1JlYWRPbmx5KX1cbiAgICAgICAgICAgICAgICAgIHNob3dFeHBhbmRJY29uPXtCb29sZWFuKHByb3BzLnNob3dFeHBhbmRJY29uKX1cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2tFeHBhbmQ9e3Byb3BzLm9uQ2xpY2tFeHBhbmR9XG4gICAgICAgICAgICAgICAgICBjb250YWluZXJTdHlsZXM9e2NvbnRhaW5lclN0eWxlc31cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8RWRpdGFibGVcbiAgICAgICAgICAgICAgICAgICAgey4uLmZpbHRlckRhdGFBdHRyaWJ1dGVzKHByb3BzKX1cbiAgICAgICAgICAgICAgICAgICAgbmFtZT17cHJvcHMubmFtZX1cbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyRWxlbWVudD17cmVuZGVyRWxlbWVudH1cbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyTGVhZj17cmVuZGVyTGVhZn1cbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3Byb3BzLnBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgICAgICAgICBhdXRvRm9jdXM9e3Byb3BzLmlzQXV0b2ZvY3VzZWR9XG4gICAgICAgICAgICAgICAgICAgIG9uQmx1cj17cHJvcHMub25CbHVyfVxuICAgICAgICAgICAgICAgICAgICBvbkZvY3VzPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5vbkZvY3VzPy4oZXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICAgIC8vIG9wZW5zIHRoZSBpbnB1dCBpZiBpdCByZWdhaW5zIGZvY3VzIGFuZCBpdCdzIGNsb3NlZFxuICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNPcGVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzRWRpdG9yKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICByZWFkT25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBob3RrZXkgaW4gSE9US0VZUykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzSG90a2V5KGhvdGtleSwgZXZlbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hcmsgPSBIT1RLRVlTW2hvdGtleSBhcyBrZXlvZiB0eXBlb2YgSE9US0VZU107XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZU1hcmsoZWRpdG9yLCBtYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgIDxIaWRkZW5JbnB1dFxuICAgICAgICAgICAgICAgICAgICBpc0ZvY3VzZWQ9e1JlYWN0RWRpdG9yLmlzRm9jdXNlZChlZGl0b3IpfVxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVGb2N1cz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGZvY3VzRWRpdG9yKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIGlkPXtwcm9wcy5pZH1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3Byb3BzLmlzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXtwcm9wcy5pc1JlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L1JpY2hUZXh0Qm9keT5cbiAgICAgICAgICAgICAgPC9TbGF0ZT5cbiAgICAgICAgICAgIDwvRWRpdG9yV3JhcHBlcj5cbiAgICAgICAgICAgIDxSb3dcbiAgICAgICAgICAgICAgLy8gTk9URTogYXBwbHlpbmcgdGhpcyBzdHlsZSB3aXRoaW5nIHRoZSBgc3R5bGVkYCBjb21wb25lbnQgcmVzdWx0cyBpbiB0aGUgcHJvZHVjdGlvblxuICAgICAgICAgICAgICAvLyBidW5kbGUgdG8gYXBwbHkgdGhlIHN0eWxlIGluIHRoZSB3cm9uZyBvcmRlci5cbiAgICAgICAgICAgICAgLy8gRm9yIGluc3RhbmNlLCB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSBtYXJnaW5nIG9mIHRoZSBzcGFjaW5nIGNvbXBvbmVudCwgd2hpY2ggYWxzb1xuICAgICAgICAgICAgICAvLyB1c2VzIGAhaW1wb3J0YW50YC5cbiAgICAgICAgICAgICAgLy8gQW55d2F5LCBhcHBhcmVudGx5IGJ5IHBhc3NpbmcgdGhlIHN0eWxlIGFzIGEgYGNzc2AgcHJvcCB0byB0aGUgYHN0eWxlZGAgY29tcG9uZW50XG4gICAgICAgICAgICAgIC8vIGRvZXMgdGhlIHRyaWNrLlxuICAgICAgICAgICAgICAvLyBUT0RPOiByZXZpc2l0IHRoZSBsb2dpYyBhbmQgdGhlIGltcGxlbWVudGF0aW9uIHRvIG1heWJlIGF2b2lkIGhhdmluZyB0byBhcHBseSB0aGlzIHN0eWxlLlxuICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAke3Nob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZVxuICAgICAgICAgICAgICAgICAgPyAnaW5oZXJpdCdcbiAgICAgICAgICAgICAgICAgIDogJzBweCAhaW1wb3J0YW50J307XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy5lcnJvcilcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxMZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXY+e3Byb3BzLmVycm9yfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L0xlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy53YXJuaW5nKVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPExlZnRDb2x1bW4+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdj57cHJvcHMud2FybmluZ308L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9MZWZ0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICAgICAge3JlbmRlclRvZ2dsZUJ1dHRvbiAmJiAoXG4gICAgICAgICAgICAgICAgPFJpZ2h0Q29sdW1uPlxuICAgICAgICAgICAgICAgICAgPFRvZ2dsZUJ1dHRvbldyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICAgICAgICAgICAgIXNob3VsZFRvZ2dsZUJ1dHRvblRha2VTcGFjZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICR7Y3VzdG9tUHJvcGVydGllcy5zcGFjaW5nWHN9O1xuICAgICAgICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICAgICAgXX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPEZsYXRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0b2dnbGV9XG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e2ludGwuZm9ybWF0TWVzc2FnZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzT3BlblxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IG1lc3NhZ2VzTXVsdGlsaW5lSW5wdXQuY29sbGFwc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBtZXNzYWdlc011bHRpbGluZUlucHV0LmV4cGFuZFxuICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgaWNvbj17XG4gICAgICAgICAgICAgICAgICAgICAgICBpc09wZW4gPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxBbmdsZVVwSWNvbiBzaXplPVwic21hbGxcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEFuZ2xlRG93bkljb24gc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1RvZ2dsZUJ1dHRvbldyYXBwZXI+XG4gICAgICAgICAgICAgICAgPC9SaWdodENvbHVtbj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvUm93PlxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICk7XG4gICAgICB9fVxuICAgIDwvQ29sbGFwc2libGVNb3Rpb24+XG4gICk7XG59KTtcbkVkaXRvci5kaXNwbGF5TmFtZSA9ICdFZGl0b3InO1xuXG5leHBvcnQgZGVmYXVsdCBFZGl0b3I7XG4iXX0= */"],
263
334
  children: jsx(FlatButton, {
264
335
  onClick: toggle,
265
336
  label: intl.formatMessage(isOpen ? messagesMultilineInput.collapse : messagesMultilineInput.expand),
@@ -275,88 +346,17 @@ var Editor$1 = function Editor(props) {
275
346
  });
276
347
  }
277
348
  });
278
- };
279
-
280
- Editor$1.propTypes = process.env.NODE_ENV !== "production" ? {
281
- children: _pt.node.isRequired,
282
- id: _pt.string,
283
- isOpen: _pt.bool.isRequired,
284
- isDisabled: _pt.bool,
285
- isReadOnly: _pt.bool,
286
- hasWarning: _pt.bool,
287
- hasError: _pt.bool,
288
- editor: _pt.any,
289
- error: _pt.node,
290
- warning: _pt.node,
291
- defaultExpandMultilineText: _pt.bool.isRequired,
292
- toggleLanguage: _pt.func.isRequired,
293
- language: _pt.string.isRequired,
294
- showExpandIcon: _pt.bool.isRequired,
295
- onClickExpand: _pt.func,
296
- hasLanguagesControl: _pt.bool
297
- } : {};
298
-
299
- var renderEditor = function renderEditor(props, editor, next) {
300
- var _props$editor5;
301
-
302
- if (props.options.showExpandIcon) {
303
- process.env.NODE_ENV !== "production" ? warning(typeof props.options.onClickExpand === 'function', 'renderEditor: "onClickExpand" is required when showExpandIcon is true') : void 0;
304
- }
305
-
306
- var internalId = "".concat(props.id, "__internal__id");
307
- var children = /*#__PURE__*/cloneElement(next(), {
308
- id: internalId
309
- });
310
-
311
- var passedProps = _objectSpread$3(_objectSpread$3({
312
- id: props.id,
313
- isDisabled: props.disabled,
314
- isReadOnly: props.readOnly
315
- }, pick(props.options, ['defaultExpandMultilineText', 'language', 'warning', 'error', 'hasWarning', 'hasError', 'toggleLanguage', 'isOpen', 'showExpandIcon', 'onClickExpand', 'hasLanguagesControl'])), filterDataAttributes(props));
316
-
317
- var isFocused = (_props$editor5 = props.editor) === null || _props$editor5 === void 0 ? void 0 : _props$editor5.value.selection.isFocused;
318
- return jsxs(Editor$1, _objectSpread$3(_objectSpread$3({
319
- editor: editor
320
- }, passedProps), {}, {
321
- children: [children, jsx(HiddenInput, {
322
- isFocused: Boolean(isFocused),
323
- handleFocus: editor.focus,
324
- disabled: props.disabled,
325
- readOnly: props.readOnly,
326
- id: props.id
327
- })]
328
- }));
329
- };
330
-
331
- Editor$1.displayName = 'Editor';
332
- var renderEditor$1 = renderEditor;
333
-
334
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
335
-
336
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
349
+ });
350
+ Editor.displayName = 'Editor';
351
+ var Editor$1 = Editor;
337
352
 
338
353
  function ownKeys$2(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
339
354
 
340
355
  function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var _context2, _context3; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context2 = ownKeys$2(Object(source), !0)).call(_context2, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context3 = ownKeys$2(Object(source))).call(_context3, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
341
356
 
342
- // This is a temporary wrapper component helping to mitigate typing issues of `slate-react@0.22.10` package.
343
- // TODO: remove after upgrade of `slate-react` to the latest version
344
- var Editor = function Editor(props) {
345
- return jsx(Editor$2, _objectSpread$2({}, props));
346
- };
357
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
347
358
 
348
- Editor.propTypes = process.env.NODE_ENV !== "production" ? {
349
- id: _pt.string,
350
- name: _pt.string,
351
- onFocus: _pt.func,
352
- onBlur: _pt.func,
353
- disabled: _pt.bool,
354
- readOnly: _pt.bool,
355
- value: _pt.any.isRequired,
356
- onChange: _pt.func,
357
- plugins: _pt.any.isRequired,
358
- renderEditor: _pt.any.isRequired
359
- } : {};
359
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
360
360
 
361
361
  var RichTextInput = /*#__PURE__*/function (_PureComponent) {
362
362
  _inherits(RichTextInput, _PureComponent);
@@ -376,33 +376,25 @@ var RichTextInput = /*#__PURE__*/function (_PureComponent) {
376
376
 
377
377
  _this = _super.call.apply(_super, _concatInstanceProperty(_context = [this]).call(_context, args));
378
378
  _this.serializedValue = _this.props.value || '';
379
- _this.internalSlateValue = html.deserialize(_this.props.value || '');
379
+ _this.internalSlateValue = validSlateStateAdapter(html.deserialize(_this.props.value || ''));
380
380
 
381
- _this.onValueChange = function (event) {
382
- var serializedValue = html.serialize(event.value); // because we are not using setState, we need to make sure that
381
+ _this.onValueChange = function (state) {
382
+ var serializedValue = html.serialize(state); // because we are not using setState, we need to make sure that
383
383
  // we perform an update when the slate value changes
384
384
  // as this can contain things like cursor location
385
385
  // in this case, the internalSlateValue would change
386
386
  // but the serializedValue would NOT change.
387
387
 
388
- var hasInternalSlateValueChanged = _this.internalSlateValue !== event.value;
388
+ var hasInternalSlateValueChanged = _this.internalSlateValue !== state;
389
389
  var hasSerializedValueChanged = serializedValue !== _this.serializedValue;
390
- _this.internalSlateValue = event.value;
390
+ _this.internalSlateValue = validSlateStateAdapter(state);
391
391
  _this.serializedValue = serializedValue; // the consumer only cares about the serializedValue, so it doesn't make sense to call
392
392
  // onChange unless this value changes.
393
393
 
394
394
  if (hasSerializedValueChanged) {
395
395
  var _this$props$onChange, _this$props;
396
396
 
397
- var fakeEvent = {
398
- target: {
399
- id: _this.props.id,
400
- name: _this.props.name,
401
- language: _this.props.language,
402
- value: serializedValue
403
- }
404
- };
405
- (_this$props$onChange = (_this$props = _this.props).onChange) === null || _this$props$onChange === void 0 ? void 0 : _this$props$onChange.call(_this$props, fakeEvent);
397
+ (_this$props$onChange = (_this$props = _this.props).onChange) === null || _this$props$onChange === void 0 ? void 0 : _this$props$onChange.call(_this$props, html.serialize(state));
406
398
  }
407
399
 
408
400
  if (hasInternalSlateValueChanged && !hasSerializedValueChanged) {
@@ -411,44 +403,6 @@ var RichTextInput = /*#__PURE__*/function (_PureComponent) {
411
403
  }
412
404
  };
413
405
 
414
- _this.onBlur = function (_event, _editor, next) {
415
- next();
416
-
417
- if (_this.props.onBlur) {
418
- var fakeEvent = {
419
- target: {
420
- id: _this.props.id,
421
- name: _this.props.name
422
- }
423
- };
424
-
425
- _setTimeout(function () {
426
- var _this$props$onBlur, _this$props2;
427
-
428
- return (_this$props$onBlur = (_this$props2 = _this.props).onBlur) === null || _this$props$onBlur === void 0 ? void 0 : _this$props$onBlur.call(_this$props2, fakeEvent);
429
- }, 0);
430
- }
431
- };
432
-
433
- _this.onFocus = function (_event, _editor, next) {
434
- next();
435
-
436
- if (_this.props.onFocus) {
437
- var fakeEvent = {
438
- target: {
439
- id: _this.props.id,
440
- name: _this.props.name
441
- }
442
- };
443
-
444
- _setTimeout(function () {
445
- var _this$props$onFocus, _this$props3;
446
-
447
- return (_this$props$onFocus = (_this$props3 = _this.props).onFocus) === null || _this$props$onFocus === void 0 ? void 0 : _this$props$onFocus.call(_this$props3, fakeEvent);
448
- }, 0);
449
- }
450
- };
451
-
452
406
  return _this;
453
407
  }
454
408
 
@@ -456,7 +410,7 @@ var RichTextInput = /*#__PURE__*/function (_PureComponent) {
456
410
  key: "componentDidUpdate",
457
411
  value: function componentDidUpdate() {
458
412
  if (this.props.value !== this.serializedValue) {
459
- this.internalSlateValue = html.deserialize(this.props.value);
413
+ this.internalSlateValue = validSlateStateAdapter(html.deserialize(this.props.value));
460
414
  this.serializedValue = this.props.value;
461
415
  this.forceUpdate();
462
416
  }
@@ -472,21 +426,28 @@ var RichTextInput = /*#__PURE__*/function (_PureComponent) {
472
426
  process.env.NODE_ENV !== "production" ? warning(typeof this.props.onClickExpand === 'function', 'RichTextInput: "onClickExpand" is required when showExpandIcon is true') : void 0;
473
427
  }
474
428
 
475
- return jsx(Editor, _objectSpread$2(_objectSpread$2({}, filterDataAttributes(this.props)), {}, {
476
- id: this.props.id,
429
+ return jsx(Editor$1, _objectSpread$2(_objectSpread$2({}, filterDataAttributes(this.props)), {}, {
477
430
  name: this.props.name,
478
- disabled: this.props.isDisabled,
479
- readOnly: this.props.isReadOnly || this.props.isDisabled,
480
- value: this.internalSlateValue,
481
- onFocus: this.onFocus,
482
- onBlur: this.onBlur // we can only pass this.props to the Editor that Slate understands without getting
483
- // warning in the console,
484
- // so instead we pass our extra this.props through this `options` prop.
485
- ,
486
- options: pick(this.props, ['language', 'onToggle', 'toggleLanguage', 'isOpen', 'warning', 'error', 'defaultExpandMultilineText', 'hasWarning', 'hasError', 'placeholder', 'onClickExpand', 'showExpandIcon', 'hasLanguagesControl']),
431
+ isReadOnly: this.props.isReadOnly || this.props.isDisabled,
487
432
  onChange: this.onValueChange,
488
- plugins: richTextPlugins,
489
- renderEditor: renderEditor$1
433
+ id: this.props.id,
434
+ value: this.internalSlateValue,
435
+ onFocus: this.props.onFocus,
436
+ onBlur: this.props.onBlur,
437
+ isDisabled: this.props.isDisabled,
438
+ defaultExpandMultilineText: this.props.defaultExpandMultilineText,
439
+ hasWarning: this.props.hasWarning,
440
+ hasError: this.props.hasError,
441
+ placeholder: this.props.placeholder,
442
+ showExpandIcon: this.props.showExpandIcon,
443
+ onClickExpand: this.props.onClickExpand,
444
+ language: this.props.language,
445
+ toggleLanguage: this.props.toggleLanguage,
446
+ isOpen: this.props.isOpen,
447
+ warning: this.props.warning,
448
+ error: this.props.error,
449
+ hasLanguagesControl: this.props.hasLanguagesControl,
450
+ ref: this.props.parentRef
490
451
  }));
491
452
  }
492
453
  }]);
@@ -500,28 +461,23 @@ RichTextInput.defaultProps = {
500
461
  };
501
462
  RichTextInput.displayName = 'RichTextInput';
502
463
  RichTextInput.propTypes = process.env.NODE_ENV !== "production" ? {
503
- defaultExpandMultilineText: _pt.bool,
504
- hasError: _pt.bool,
505
- hasWarning: _pt.bool,
506
- id: _pt.string,
507
464
  name: _pt.string,
508
- placeholder: _pt.string,
509
- isDisabled: _pt.bool,
510
- isReadOnly: _pt.bool,
511
465
  onChange: _pt.func,
512
- onBlur: _pt.func,
513
- onFocus: _pt.func,
514
466
  value: _pt.string.isRequired,
515
- showExpandIcon: _pt.bool.isRequired,
516
- onClickExpand: _pt.func,
517
- hasLanguagesControl: _pt.bool,
467
+ parentRef: _pt.any,
518
468
  language: _pt.string.isRequired,
519
469
  isOpen: _pt.bool.isRequired,
520
470
  toggleLanguage: _pt.func.isRequired,
521
471
  warning: _pt.node,
522
472
  error: _pt.string
523
473
  } : {};
524
- var RichTextInput$1 = RichTextInput;
474
+ var RichTextInputWithRef = /*#__PURE__*/forwardRef(function (props, ref) {
475
+ return jsx(RichTextInput, _objectSpread$2({
476
+ parentRef: ref
477
+ }, props));
478
+ });
479
+ RichTextInputWithRef.displayName = 'RichTextInputWithRef';
480
+ var RichTextInput$1 = RichTextInputWithRef;
525
481
 
526
482
  function ownKeys$1(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
527
483
 
@@ -579,11 +535,11 @@ var _ref = process.env.NODE_ENV === "production" ? {
579
535
  } : {
580
536
  name: "9a4cy7-LocalizedRichTextInput",
581
537
  styles: "align-self:flex-start;label:LocalizedRichTextInput;",
582
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvY2FsaXplZC1yaWNoLXRleHQtaW5wdXQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFUb0IiLCJmaWxlIjoibG9jYWxpemVkLXJpY2gtdGV4dC1pbnB1dC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB1c2VSZWR1Y2VyLFxuICB1c2VDYWxsYmFjayxcbiAgdHlwZSBSZWFjdE5vZGUsXG4gIHR5cGUgTW91c2VFdmVudCxcbiAgdHlwZSBLZXlib2FyZEV2ZW50LFxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgU3RhY2sgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc3BhY2luZ3Mtc3RhY2snO1xuaW1wb3J0IENvbnN0cmFpbnRzIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2NvbnN0cmFpbnRzJztcbmltcG9ydCB7IHVzZVRvZ2dsZVN0YXRlIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaG9va3MnO1xuaW1wb3J0IHtcbiAgc29ydExhbmd1YWdlcyxcbiAgY3JlYXRlTG9jYWxpemVkRGF0YUF0dHJpYnV0ZXMsXG4gIGdldEhhc0Vycm9yT25SZW1haW5pbmdMYW5ndWFnZXMsXG4gIGdldEhhc1dhcm5pbmdPblJlbWFpbmluZ0xhbmd1YWdlcyxcbiAgaXNUb3VjaGVkLFxuICBnZXRJZCxcbiAgZ2V0TmFtZSxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvbG9jYWxpemVkLXV0aWxzJztcbmltcG9ydCB7IExvY2FsaXplZElucHV0VG9nZ2xlIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaW5wdXQtdXRpbHMnO1xuaW1wb3J0IHsgbG9jYWxpemVkIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvcmljaC10ZXh0LXV0aWxzJztcbmltcG9ydCB7IHdhcm5pbmcgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC91dGlscyc7XG5pbXBvcnQgUmljaFRleHRJbnB1dCBmcm9tICcuL3JpY2gtdGV4dC1pbnB1dCc7XG5pbXBvcnQgUmVxdWlyZWRWYWx1ZUVycm9yTWVzc2FnZSBmcm9tICcuL3JlcXVpcmVkLXZhbHVlLWVycm9yLW1lc3NhZ2UnO1xuXG50eXBlIFRFcnJvcnMgPSBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xudHlwZSBUV2FybmluZ3MgPSBSZWNvcmQ8c3RyaW5nLCBSZWFjdE5vZGU+O1xuXG50eXBlIFRDdXN0b21FdmVudCA9IHtcbiAgdGFyZ2V0OiB7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICBsYW5ndWFnZT86IHN0cmluZztcbiAgICB2YWx1ZT86IHN0cmluZztcbiAgfTtcbn07XG5cbnR5cGUgVExvY2FsaXplZFJpY2hUZXh0SW5wdXRQcm9wcyA9IHtcbiAgLyoqXG4gICAqIFVzZWQgYXMgcHJlZml4IG9mIEhUTUwgYGlkYCBwcm9wZXJ0eS4gRWFjaCBpbnB1dCBmaWVsZCBpZCB3aWxsIGhhdmUgdGhlIGxhbmd1YWdlIGFzIGEgc3VmZml4IChgJHtpZFByZWZpeH0uJHtsYW5nfWApLCBlLmcuIGBmb28uZW5cbiAgICovXG4gIGlkPzogc3RyaW5nO1xuICAvKipcbiAgICogVXNlZCBhcyBIVE1MIGBuYW1lYCBwcm9wZXJ0eSBmb3IgZWFjaCBpbnB1dCBmaWVsZC4gRWFjaCBpbnB1dCBmaWVsZCBuYW1lIHdpbGwgaGF2ZSB0aGUgbGFuZ3VhZ2UgYXMgYSBzdWZmaXggKGAke25hbWVQcmVmaXh9LiR7bGFuZ31gKSwgZS5nLiBgZm9vLmVuYFxuICAgKi9cbiAgbmFtZT86IHN0cmluZztcbiAgLy8gdGhlbiBpbnB1dCBkb2Vzbid0IGFjY2VwdCBhIFwibGFuZ3VhZ2VzXCIgcHJvcCwgaW5zdGVhZCBhbGwgcG9zc2libGVcbiAgLy8gbGFuZ3VhZ2VzIGhhdmUgdG8gZXhpc3QgKHdpdGggZW1wdHkgb3IgZmlsbGVkIHNsYXRlIHZhbHVlcykgb24gdGhlIHZhbHVlOlxuICAvLyAgIHsgZW46IHNsYXRlVmFsdWUsIGRlOiBzbGF0ZVZhbHVlLCBlczogc2xhdGVWYWx1ZSB9XG4gIC8qKlxuICAgKiBWYWx1ZXMgdG8gdXNlLiBLZXllZCBieSBsYW5ndWFnZSwgdGhlIHZhbHVlcyBhcmUgdGhlIGFjdHVhbCB2YWx1ZXMsIGUuZy4gYHsgZW46ICc8cD5Ib3JzZTwvcD4nLCBkZTogJzxwPlBmZXJkPC9wPicgfVxuICAgKi9cbiAgdmFsdWU6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIC8qKlxuICAgKiBHZXRzIGNhbGxlZCB3aGVuIGFueSBpbnB1dCBpcyBjaGFuZ2VkLiBJcyBjYWxsZWQgd2l0aCB0aGUgY2hhbmdlIGV2ZW50IG9mIHRoZSBjaGFuZ2VkIGlucHV0LlxuICAgKi9cbiAgb25DaGFuZ2U/OiAoZXZlbnQ6IFRDdXN0b21FdmVudCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB3aGljaCBsYW5ndWFnZSB3aWxsIGJlIHNob3duIGluIGNhc2UgdGhlIGBMb2NhbGl6ZWRSaWNoVGV4dElucHV0YCBpcyBjb2xsYXBzZWQuXG4gICAqL1xuICBzZWxlY3RlZExhbmd1YWdlOiBzdHJpbmc7XG4gIC8qKlxuICAgKkNhbGxlZCB3aGVuIGFueSBmaWVsZCBpcyBibHVycmVkLiBJcyBjYWxsZWQgd2l0aCB0aGUgYGV2ZW50YCBvZiB0aGF0IGZpZWxkLlxuICAgKi9cbiAgb25CbHVyPzogKGV2ZW50OiBUQ3VzdG9tRXZlbnQpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiBhbnkgZmllbGQgaXMgZm9jdXNzZWQuIElzIGNhbGxlZCB3aXRoIHRoZSBgZXZlbnRgIG9mIHRoYXQgZmllbGQuXG4gICAqL1xuICBvbkZvY3VzPzogKGV2ZW50OiBUQ3VzdG9tRXZlbnQpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBFeHBhbmRzIGlucHV0IGNvbXBvbmVudHMgaG9sZGluZyBtdWx0aWxpbmUgdmFsdWVzIGluc3RlYWQgb2YgY29sbGFwc2luZyB0aGVtIGJ5IGRlZmF1bHQuXG4gICAqL1xuICBkZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaWxsIGhpZGUgdGhlIGxhbmd1YWdlIGV4cGFuc2lvbiBjb250cm9scyB3aGVuIHNldCB0byBgdHJ1ZWAuIEFsbCBsYW5ndWFnZXMgd2lsbCBiZSBzaG93biB3aGVuIHNldCB0byBgdHJ1ZWBcbiAgICovXG4gIGhpZGVMYW5ndWFnZUV4cGFuc2lvbkNvbnRyb2xzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIENvbnRyb2xzIHdoZXRoZXIgb25lIG9yIGFsbCBsYW5ndWFnZXMgYXJlIHZpc2libGUgYnkgZGVmYXVsdC4gUGFzcyBgdHJ1ZWAgdG8gc2hvdyBhbGwgbGFuZ3VhZ2VzIGJ5IGRlZmF1bHQuXG4gICAqL1xuICBkZWZhdWx0RXhwYW5kTGFuZ3VhZ2VzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIERpc2FibGVzIGFsbCBpbnB1dFxuICAgKi9cbiAgaXNEaXNhYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEaXNhYmxlcyBhbGwgaW5wdXQgZmllbGRzIGFuZCBzaG93cyB0aGVtIGluIHJlYWQtb25seSBtb2RlLlxuICAgKi9cbiAgaXNSZWFkT25seT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBQbGFjZWhvbGRlcnMgZm9yIGVhY2ggbGFuZ3VhZ2UuIE9iamVjdCBvZiB0aGUgc2FtZSBzaGFwZSBhc1xuICAgKi9cbiAgcGxhY2Vob2xkZXI/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAvKipcbiAgICogSG9yaXpvbnRhbCBzaXplIGxpbWl0IG9mIHRoZSBpbnB1dCBmaWVsZHMuXG4gICAqL1xuICBob3Jpem9udGFsQ29uc3RyYWludD86XG4gICAgfCA3XG4gICAgfCA4XG4gICAgfCA5XG4gICAgfCAxMFxuICAgIHwgMTFcbiAgICB8IDEyXG4gICAgfCAxM1xuICAgIHwgMTRcbiAgICB8IDE1XG4gICAgfCAxNlxuICAgIHwgJ3NjYWxlJ1xuICAgIHwgJ2F1dG8nO1xuICAvKipcbiAgICogV2lsbCBhcHBseSB0aGUgZXJyb3Igc3RhdGUgdG8gZWFjaCBpbnB1dCB3aXRob3V0IHNob3dpbmcgYW55IGVycm9yIG1lc3NhZ2UuXG4gICAqL1xuICBoYXNFcnJvcj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaWxsIGFwcGx5IHRoZSB3YXJuaW5nIHN0YXRlIHRvIGVhY2ggaW5wdXQgd2l0aG91dCBzaG93aW5nIGFueSB3YXJuaW5nIG1lc3NhZ2UuXG4gICAqL1xuICBoYXNXYXJuaW5nPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFVzZWQgdG8gc2hvdyBlcnJvcnMgdW5kZXJuZWF0aCB0aGUgaW5wdXRzIG9mIHNwZWNpZmljIGxhbmd1YWdlcy4gUGFzcyBhbiBvYmplY3Qgd2hvc2Uga2V5IGlzIGEgbGFuZ3VhZ2UgYW5kIHdob3NlIHZhbHVlIGlzIHRoZSBlcnJvciB0byBzaG93IGZvciB0aGF0IGtleS5cbiAgICovXG4gIGVycm9ycz86IFRFcnJvcnM7XG4gIC8qKlxuICAgKiBVc2VkIHRvIHNob3cgd2FybmluZ3MgdW5kZXJuZWF0aCB0aGUgaW5wdXRzIG9mIHNwZWNpZmljIGxhbmd1YWdlcy4gUGFzcyBhbiBvYmplY3Qgd2hvc2Uga2V5IGlzIGEgbGFuZ3VhZ2UgYW5kIHdob3NlIHZhbHVlIGlzIHRoZSB3YXJuaW5nIHRvIHNob3cgZm9yIHRoYXQga2V5LlxuICAgKi9cbiAgd2FybmluZ3M/OiBUV2FybmluZ3M7XG4gIC8qKlxuICAgKiBTaG93cyBhbiBgZXhwYW5kYCBpY29uIGluIHRoZSB0b29sYmFyXG4gICAqL1xuICBzaG93RXhwYW5kSWNvbjogYm9vbGVhbjtcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBgZXhwYW5kYCBidXR0b24gaXMgY2xpY2tlZFxuICAgKi9cbiAgb25DbGlja0V4cGFuZD86ICgpID0+IGJvb2xlYW47XG59O1xuXG50eXBlIFRSZWR1Y2VyU3RhdGUgPSB7XG4gIFtpZDogc3RyaW5nXTogYm9vbGVhbjtcbn07XG5cbnR5cGUgVFJlZHVjZXJBY3Rpb24gPVxuICB8IHsgdHlwZTogJ3RvZ2dsZSc7IHBheWxvYWQ6IHN0cmluZyB9XG4gIHwgeyB0eXBlOiAndG9nZ2xlQWxsJzsgcGF5bG9hZDogc3RyaW5nIH07XG5cbmNvbnN0IGRlZmF1bHRQcm9wczogUGljazxcbiAgVExvY2FsaXplZFJpY2hUZXh0SW5wdXRQcm9wcyxcbiAgJ2hvcml6b250YWxDb25zdHJhaW50JyB8ICdzaG93RXhwYW5kSWNvbidcbj4gPSB7XG4gIGhvcml6b250YWxDb25zdHJhaW50OiAnc2NhbGUnLFxuICBzaG93RXhwYW5kSWNvbjogZmFsc2UsXG59O1xuXG5jb25zdCBleHBhbmRlZFRyYW5zbGF0aW9uc1JlZHVjZXIgPSAoXG4gIHN0YXRlOiBUUmVkdWNlclN0YXRlLFxuICBhY3Rpb246IFRSZWR1Y2VyQWN0aW9uXG4pID0+IHtcbiAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgIGNhc2UgJ3RvZ2dsZSc6XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgW2FjdGlvbi5wYXlsb2FkXTogIXN0YXRlW2FjdGlvbi5wYXlsb2FkXSxcbiAgICAgIH07XG5cbiAgICBjYXNlICd0b2dnbGVBbGwnOiB7XG4gICAgICBjb25zdCBuZXdTdGF0ZSA9IE9iamVjdC5rZXlzKHN0YXRlKS5yZWR1Y2UoKHRyYW5zbGF0aW9ucywgbG9jYWxlKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgW2xvY2FsZV06IHRydWUsXG4gICAgICAgICAgLi4udHJhbnNsYXRpb25zLFxuICAgICAgICB9O1xuICAgICAgfSwge30pO1xuICAgICAgcmV0dXJuIG5ld1N0YXRlO1xuICAgIH1cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHN0YXRlO1xuICB9XG59O1xuXG4vLyBUaGlzIGNvbXBvbmVudCBzdXBwb3J0cyBleHBhbmRpbmcvY29sbGFwc2luZyByaWNoIHRleHQgaW5wdXRzLCBidXQgaXQgYWxzb1xuLy8gc3VwcG9ydHMgc2hvd2luZy9oaWRpbmcgdGhlIHJlbWFpbmluZyBsYW5ndWFnZXMuXG4vLyBUaGVzZSB0d28gZmVhdHVyZXMgYXJlIGJvdGggYWJvdXQgb3BlbmluZy9jbG9zaW5nIHNvbWV0aGluZywgYW5kIHNvIHRoZSBjb2RlXG4vLyBjYW4gZ2V0IHF1aXRlIGNvbmZ1c2luZy4gV2UgdHJ5IHRvIHN0aWNrIHRvIGV4cGFuZC9jb2xsYXBzZSBmb3IgdGhlXG4vLyBtdWx0aWxpbmUgaW5wdXRzLCB3aGlsZSB3ZSB1c2Ugc2hvdy9oaWRlL29wZW4vY2xvc2UgZm9yIHRoZSByZW1haW5pbmdcbi8vIGxhbmd1YWdlcy5cbmNvbnN0IExvY2FsaXplZFJpY2hUZXh0SW5wdXQgPSAocHJvcHM6IFRMb2NhbGl6ZWRSaWNoVGV4dElucHV0UHJvcHMpID0+IHtcbiAgaWYgKCFwcm9wcy5pc1JlYWRPbmx5KSB7XG4gICAgd2FybmluZyhcbiAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyxcbiAgICAgICdMb2NhbGl6ZWRSaWNoVGV4dElucHV0OiBgb25DaGFuZ2VgIGlzIHJlcXVpcmVkIHdoZW4gaW5wdXQgaXMgbm90IHJlYWQgb25seS4nXG4gICAgKTtcbiAgfVxuXG4gIGlmIChwcm9wcy5zaG93RXhwYW5kSWNvbikge1xuICAgIHdhcm5pbmcoXG4gICAgICB0eXBlb2YgcHJvcHMub25DbGlja0V4cGFuZCA9PT0gJ2Z1bmN0aW9uJyxcbiAgICAgICdMb2NhbGl6ZWRSaWNoVGV4dElucHV0OiBcIm9uQ2xpY2tFeHBhbmRcIiBpcyByZXF1aXJlZCB3aGVuIHNob3dFeHBhbmRJY29uIGlzIHRydWUnXG4gICAgKTtcbiAgfVxuXG4gIGlmIChwcm9wcy5oaWRlTGFuZ3VhZ2VFeHBhbnNpb25Db250cm9scykge1xuICAgIHdhcm5pbmcoXG4gICAgICB0eXBlb2YgcHJvcHMuZGVmYXVsdEV4cGFuZExhbmd1YWdlcyAhPT0gJ2Jvb2xlYW4nLFxuICAgICAgJ0xvY2FsaXplZFJpY2hUZXh0SW5wdXQ6IFwiZGVmYXVsdEV4cGFuZExhbmd1YWdlc1wiIGRvZXMgbm90IGhhdmUgYW55IGVmZmVjdCB3aGVuIFwiaGlkZUxhbmd1YWdlRXhwYW5zaW9uQ29udHJvbHNcIiBpcyBzZXQuJ1xuICAgICk7XG4gIH1cblxuICBjb25zdCBpbml0aWFsRXhwYW5kZWRUcmFuc2xhdGlvbnNTdGF0ZSA9IE9iamVjdC5rZXlzKHByb3BzLnZhbHVlKS5yZWR1Y2UoXG4gICAgKHRyYW5zbGF0aW9ucywgbG9jYWxlKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBbbG9jYWxlXTogQm9vbGVhbihwcm9wcy5kZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dCksXG4gICAgICAgIC4uLnRyYW5zbGF0aW9ucyxcbiAgICAgIH07XG4gICAgfSxcbiAgICB7fVxuICApO1xuXG4gIGNvbnN0IFtleHBhbmRlZFRyYW5zbGF0aW9uc1N0YXRlLCBleHBhbmRlZFRyYW5zbGF0aW9uc0Rpc3BhdGNoXSA9IHVzZVJlZHVjZXIoXG4gICAgZXhwYW5kZWRUcmFuc2xhdGlvbnNSZWR1Y2VyLFxuICAgIGluaXRpYWxFeHBhbmRlZFRyYW5zbGF0aW9uc1N0YXRlXG4gICk7XG5cbiAgY29uc3QgZGVmYXVsdEV4cGFuc2lvblN0YXRlID1cbiAgICBwcm9wcy5oaWRlTGFuZ3VhZ2VFeHBhbnNpb25Db250cm9scyB8fFxuICAgIHByb3BzLmRlZmF1bHRFeHBhbmRMYW5ndWFnZXMgfHxcbiAgICAvLyB1c2VUb2dnbGVTdGF0ZSdzIGRlZmF1bHQgaXMgYHRydWVgLCBidXQgd2Ugd2FudCBgZmFsc2VgXG4gICAgZmFsc2U7XG5cbiAgY29uc3QgW2FyZUxhbmd1YWdlc09wZW5lZCwgdG9nZ2xlTGFuZ3VhZ2VzXSA9IHVzZVRvZ2dsZVN0YXRlKFxuICAgIGRlZmF1bHRFeHBhbnNpb25TdGF0ZVxuICApO1xuXG4gIGNvbnN0IHRvZ2dsZUxhbmd1YWdlID0gdXNlQ2FsbGJhY2soXG4gICAgKGxhbmd1YWdlKSA9PiB7XG4gICAgICBleHBhbmRlZFRyYW5zbGF0aW9uc0Rpc3BhdGNoKHsgdHlwZTogJ3RvZ2dsZScsIHBheWxvYWQ6IGxhbmd1YWdlIH0pO1xuICAgIH0sXG4gICAgW2V4cGFuZGVkVHJhbnNsYXRpb25zRGlzcGF0Y2hdXG4gICk7XG5cbiAgY29uc3QgbGFuZ3VhZ2VzID0gc29ydExhbmd1YWdlcyhcbiAgICBwcm9wcy5zZWxlY3RlZExhbmd1YWdlLFxuICAgIE9iamVjdC5rZXlzKHByb3BzLnZhbHVlKVxuICApO1xuXG4gIGNvbnN0IGhhc0Vycm9ySW5SZW1haW5pbmdMYW5ndWFnZXMgPVxuICAgIHByb3BzLmhhc0Vycm9yIHx8XG4gICAgZ2V0SGFzRXJyb3JPblJlbWFpbmluZ0xhbmd1YWdlcyhwcm9wcy5lcnJvcnMsIHByb3BzLnNlbGVjdGVkTGFuZ3VhZ2UpO1xuXG4gIGNvbnN0IGhhc1dhcm5pbmdJblJlbWFpbmluZ0xhbmd1YWdlcyA9XG4gICAgcHJvcHMuaGFzV2FybmluZyB8fFxuICAgIGdldEhhc1dhcm5pbmdPblJlbWFpbmluZ0xhbmd1YWdlcyhwcm9wcy53YXJuaW5ncywgcHJvcHMuc2VsZWN0ZWRMYW5ndWFnZSk7XG5cbiAgaWYgKGhhc0Vycm9ySW5SZW1haW5pbmdMYW5ndWFnZXMgfHwgaGFzV2FybmluZ0luUmVtYWluaW5nTGFuZ3VhZ2VzKSB7XG4gICAgaWYgKCFhcmVMYW5ndWFnZXNPcGVuZWQpIHtcbiAgICAgIC8vIHRoaXMgdXBkYXRlIHdpdGhpbiByZW5kZXIgcmVwbGFjZXMgdGhlIG9sZCBgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzYCBmdW5jdGlvbmFsaXR5XG4gICAgICAvLyBodHRwczovL3JlYWN0anMub3JnL2RvY3MvaG9va3MtZmFxLmh0bWwjaG93LWRvLWktaW1wbGVtZW50LWdldGRlcml2ZWRzdGF0ZWZyb21wcm9wc1xuICAgICAgdG9nZ2xlTGFuZ3VhZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgY29uc3Qgc2hvdWxkUmVuZGVyTGFuZ3VhZ2VzQ29udHJvbCA9XG4gICAgbGFuZ3VhZ2VzLmxlbmd0aCA+IDEgJiYgIXByb3BzLmhpZGVMYW5ndWFnZUV4cGFuc2lvbkNvbnRyb2xzO1xuXG4gIHJldHVybiAoXG4gICAgPENvbnN0cmFpbnRzLkhvcml6b250YWwgbWF4PXtwcm9wcy5ob3Jpem9udGFsQ29uc3RyYWludH0+XG4gICAgICA8U3RhY2sgc2NhbGU9XCJ4c1wiPlxuICAgICAgICA8U3RhY2s+XG4gICAgICAgICAge2xhbmd1YWdlcy5tYXAoKGxhbmd1YWdlLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaXNGaXJzdExhbmd1YWdlID0gaW5kZXggPT09IDA7XG4gICAgICAgICAgICBpZiAoIWlzRmlyc3RMYW5ndWFnZSAmJiAhYXJlTGFuZ3VhZ2VzT3BlbmVkKSByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIGNvbnN0IGlzTGFzdExhbmd1YWdlID0gaW5kZXggPT09IGxhbmd1YWdlcy5sZW5ndGggLSAxO1xuXG4gICAgICAgICAgICBjb25zdCBoYXNMYW5ndWFnZXNDb250cm9sID1cbiAgICAgICAgICAgICAgKGlzRmlyc3RMYW5ndWFnZSAmJiAhYXJlTGFuZ3VhZ2VzT3BlbmVkKSB8fCBpc0xhc3RMYW5ndWFnZTtcblxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPFJpY2hUZXh0SW5wdXRcbiAgICAgICAgICAgICAgICBrZXk9e2xhbmd1YWdlfVxuICAgICAgICAgICAgICAgIGlkPXtMb2NhbGl6ZWRSaWNoVGV4dElucHV0LmdldElkKHByb3BzLmlkLCBsYW5ndWFnZSl9XG4gICAgICAgICAgICAgICAgbmFtZT17TG9jYWxpemVkUmljaFRleHRJbnB1dC5nZXROYW1lKHByb3BzLm5hbWUsIGxhbmd1YWdlKX1cbiAgICAgICAgICAgICAgICB2YWx1ZT17cHJvcHMudmFsdWVbbGFuZ3VhZ2VdfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtwcm9wcy5vbkNoYW5nZX1cbiAgICAgICAgICAgICAgICBsYW5ndWFnZT17bGFuZ3VhZ2V9XG4gICAgICAgICAgICAgICAgaXNPcGVuPXtleHBhbmRlZFRyYW5zbGF0aW9uc1N0YXRlW2xhbmd1YWdlXX1cbiAgICAgICAgICAgICAgICB0b2dnbGVMYW5ndWFnZT17dG9nZ2xlTGFuZ3VhZ2V9XG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e1xuICAgICAgICAgICAgICAgICAgcHJvcHMucGxhY2Vob2xkZXIgPyBwcm9wcy5wbGFjZWhvbGRlcltsYW5ndWFnZV0gOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgb25CbHVyPXtwcm9wcy5vbkJsdXJ9XG4gICAgICAgICAgICAgICAgb25Gb2N1cz17cHJvcHMub25Gb2N1c31cbiAgICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkfVxuICAgICAgICAgICAgICAgIGlzUmVhZE9ubHk9e3Byb3BzLmlzUmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgaGFzRXJyb3I9e0Jvb2xlYW4oXG4gICAgICAgICAgICAgICAgICBwcm9wcy5oYXNFcnJvciB8fCAocHJvcHMuZXJyb3JzICYmIHByb3BzLmVycm9yc1tsYW5ndWFnZV0pXG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICBoYXNXYXJuaW5nPXtCb29sZWFuKFxuICAgICAgICAgICAgICAgICAgcHJvcHMuaGFzV2FybmluZyB8fFxuICAgICAgICAgICAgICAgICAgICAocHJvcHMud2FybmluZ3MgJiYgcHJvcHMud2FybmluZ3NbbGFuZ3VhZ2VdKVxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgd2FybmluZz17cHJvcHMud2FybmluZ3MgJiYgcHJvcHMud2FybmluZ3NbbGFuZ3VhZ2VdfVxuICAgICAgICAgICAgICAgIGVycm9yPXtwcm9wcy5lcnJvcnMgJiYgcHJvcHMuZXJyb3JzW2xhbmd1YWdlXX1cbiAgICAgICAgICAgICAgICBzaG93RXhwYW5kSWNvbj17cHJvcHMuc2hvd0V4cGFuZEljb259XG4gICAgICAgICAgICAgICAgb25DbGlja0V4cGFuZD17cHJvcHMub25DbGlja0V4cGFuZH1cbiAgICAgICAgICAgICAgICBoYXNMYW5ndWFnZXNDb250cm9sPXtoYXNMYW5ndWFnZXNDb250cm9sfVxuICAgICAgICAgICAgICAgIHsuLi5jcmVhdGVMb2NhbGl6ZWREYXRhQXR0cmlidXRlcyhwcm9wcywgbGFuZ3VhZ2UpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KX1cbiAgICAgICAgPC9TdGFjaz5cbiAgICAgICAge3Nob3VsZFJlbmRlckxhbmd1YWdlc0NvbnRyb2wgJiYgKFxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgYH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8TG9jYWxpemVkSW5wdXRUb2dnbGVcbiAgICAgICAgICAgICAgaXNPcGVuPXthcmVMYW5ndWFnZXNPcGVuZWR9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9e1xuICAgICAgICAgICAgICAgIHRvZ2dsZUxhbmd1YWdlcyBhcyAoXG4gICAgICAgICAgICAgICAgICBldmVudDpcbiAgICAgICAgICAgICAgICAgICAgfCBNb3VzZUV2ZW50PEhUTUxCdXR0b25FbGVtZW50PlxuICAgICAgICAgICAgICAgICAgICB8IEtleWJvYXJkRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQ+XG4gICAgICAgICAgICAgICAgICAgIHwgYm9vbGVhblxuICAgICAgICAgICAgICAgICkgPT4gdm9pZFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e1xuICAgICAgICAgICAgICAgIGFyZUxhbmd1YWdlc09wZW5lZCAmJlxuICAgICAgICAgICAgICAgIEJvb2xlYW4oXG4gICAgICAgICAgICAgICAgICBoYXNFcnJvckluUmVtYWluaW5nTGFuZ3VhZ2VzIHx8IGhhc1dhcm5pbmdJblJlbWFpbmluZ0xhbmd1YWdlc1xuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZW1haW5pbmdMb2NhbGl6YXRpb25zPXtsYW5ndWFnZXMubGVuZ3RoIC0gMX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG4gICAgICA8L1N0YWNrPlxuICAgIDwvQ29uc3RyYWludHMuSG9yaXpvbnRhbD5cbiAgKTtcbn07XG5cbkxvY2FsaXplZFJpY2hUZXh0SW5wdXQuZGlzcGxheU5hbWUgPSAnTG9jYWxpemVkUmljaFRleHRJbnB1dCc7XG5cbkxvY2FsaXplZFJpY2hUZXh0SW5wdXQuUmVxdWlyZWRWYWx1ZUVycm9yTWVzc2FnZSA9IFJlcXVpcmVkVmFsdWVFcnJvck1lc3NhZ2U7XG5cbkxvY2FsaXplZFJpY2hUZXh0SW5wdXQuZ2V0SWQgPSBnZXRJZDtcblxuTG9jYWxpemVkUmljaFRleHRJbnB1dC5nZXROYW1lID0gZ2V0TmFtZTtcblxuTG9jYWxpemVkUmljaFRleHRJbnB1dC5kZWZhdWx0UHJvcHMgPSBkZWZhdWx0UHJvcHM7XG5cbkxvY2FsaXplZFJpY2hUZXh0SW5wdXQuY3JlYXRlTG9jYWxpemVkU3RyaW5nID0gbG9jYWxpemVkLmNyZWF0ZUxvY2FsaXplZFN0cmluZztcblxuTG9jYWxpemVkUmljaFRleHRJbnB1dC5pc0VtcHR5ID0gbG9jYWxpemVkLmlzRW1wdHk7XG5cbkxvY2FsaXplZFJpY2hUZXh0SW5wdXQub21pdEVtcHR5VHJhbnNsYXRpb25zID0gbG9jYWxpemVkLm9taXRFbXB0eVRyYW5zbGF0aW9ucztcblxuTG9jYWxpemVkUmljaFRleHRJbnB1dC5pc1RvdWNoZWQgPSBpc1RvdWNoZWQ7XG5cbmV4cG9ydCBkZWZhdWx0IExvY2FsaXplZFJpY2hUZXh0SW5wdXQ7XG4iXX0= */",
538
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvY2FsaXplZC1yaWNoLXRleHQtaW5wdXQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNWc0IiLCJmaWxlIjoibG9jYWxpemVkLXJpY2gtdGV4dC1pbnB1dC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB1c2VSZWR1Y2VyLFxuICB1c2VDYWxsYmFjayxcbiAgZm9yd2FyZFJlZixcbiAgdHlwZSBSZWFjdE5vZGUsXG4gIHR5cGUgTW91c2VFdmVudCxcbiAgdHlwZSBLZXlib2FyZEV2ZW50LFxuICB0eXBlIEZvcndhcmRSZWZFeG90aWNDb21wb25lbnQsXG4gIHR5cGUgUmVmQXR0cmlidXRlcyxcbiAgdHlwZSBGb2N1c0V2ZW50SGFuZGxlcixcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IFN0YWNrIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NwYWNpbmdzLXN0YWNrJztcbmltcG9ydCBDb25zdHJhaW50cyBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9jb25zdHJhaW50cyc7XG5pbXBvcnQgeyB1c2VUb2dnbGVTdGF0ZSB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2hvb2tzJztcbmltcG9ydCB7XG4gIHNvcnRMYW5ndWFnZXMsXG4gIGNyZWF0ZUxvY2FsaXplZERhdGFBdHRyaWJ1dGVzLFxuICBnZXRIYXNFcnJvck9uUmVtYWluaW5nTGFuZ3VhZ2VzLFxuICBnZXRIYXNXYXJuaW5nT25SZW1haW5pbmdMYW5ndWFnZXMsXG4gIGlzVG91Y2hlZCxcbiAgZ2V0SWQsXG4gIGdldE5hbWUsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2xvY2FsaXplZC11dGlscyc7XG5pbXBvcnQgeyBMb2NhbGl6ZWRJbnB1dFRvZ2dsZSB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2lucHV0LXV0aWxzJztcbmltcG9ydCB7IGxvY2FsaXplZCB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3JpY2gtdGV4dC11dGlscyc7XG5pbXBvcnQgeyB3YXJuaW5nLCBmaWx0ZXJEYXRhQXR0cmlidXRlcyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3V0aWxzJztcbmltcG9ydCBSaWNoVGV4dElucHV0IGZyb20gJy4vcmljaC10ZXh0LWlucHV0JztcbmltcG9ydCBSZXF1aXJlZFZhbHVlRXJyb3JNZXNzYWdlIGZyb20gJy4vcmVxdWlyZWQtdmFsdWUtZXJyb3ItbWVzc2FnZSc7XG5cbnR5cGUgVEVycm9ycyA9IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG50eXBlIFRXYXJuaW5ncyA9IFJlY29yZDxzdHJpbmcsIFJlYWN0Tm9kZT47XG50eXBlIFRDdXN0b21FdmVudCA9IHtcbiAgdGFyZ2V0OiB7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICBsYW5ndWFnZT86IHN0cmluZztcbiAgICB2YWx1ZT86IHN0cmluZztcbiAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIFRMb2NhbGl6ZWRSaWNoVGV4dElucHV0UHJvcHMgPSB7XG4gIC8qKlxuICAgKiBVc2VkIGFzIHByZWZpeCBvZiBIVE1MIGBpZGAgcHJvcGVydHkuIEVhY2ggaW5wdXQgZmllbGQgaWQgd2lsbCBoYXZlIHRoZSBsYW5ndWFnZSBhcyBhIHN1ZmZpeCAoYCR7aWRQcmVmaXh9LiR7bGFuZ31gKSwgZS5nLiBgZm9vLmVuXG4gICAqL1xuICBpZD86IHN0cmluZztcbiAgLyoqXG4gICAqIFVzZWQgYXMgSFRNTCBgbmFtZWAgcHJvcGVydHkgZm9yIGVhY2ggaW5wdXQgZmllbGQuIEVhY2ggaW5wdXQgZmllbGQgbmFtZSB3aWxsIGhhdmUgdGhlIGxhbmd1YWdlIGFzIGEgc3VmZml4IChgJHtuYW1lUHJlZml4fS4ke2xhbmd9YCksIGUuZy4gYGZvby5lbmBcbiAgICovXG4gIG5hbWU/OiBzdHJpbmc7XG4gIC8vIHRoZW4gaW5wdXQgZG9lc24ndCBhY2NlcHQgYSBcImxhbmd1YWdlc1wiIHByb3AsIGluc3RlYWQgYWxsIHBvc3NpYmxlXG4gIC8vIGxhbmd1YWdlcyBoYXZlIHRvIGV4aXN0ICh3aXRoIGVtcHR5IG9yIGZpbGxlZCBzbGF0ZSB2YWx1ZXMpIG9uIHRoZSB2YWx1ZTpcbiAgLy8gICB7IGVuOiBzbGF0ZVZhbHVlLCBkZTogc2xhdGVWYWx1ZSwgZXM6IHNsYXRlVmFsdWUgfVxuICAvKipcbiAgICogVmFsdWVzIHRvIHVzZS4gS2V5ZWQgYnkgbGFuZ3VhZ2UsIHRoZSB2YWx1ZXMgYXJlIHRoZSBhY3R1YWwgdmFsdWVzLCBlLmcuIGB7IGVuOiAnPHA+SG9yc2U8L3A+JywgZGU6ICc8cD5QZmVyZDwvcD4nIH1cbiAgICovXG4gIHZhbHVlOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAvKipcbiAgICogR2V0cyBjYWxsZWQgd2hlbiBhbnkgaW5wdXQgaXMgY2hhbmdlZC4gSXMgY2FsbGVkIHdpdGggdGhlIGNoYW5nZSBldmVudCBvZiB0aGUgY2hhbmdlZCBpbnB1dC5cbiAgICovXG4gIG9uQ2hhbmdlPzogKGV2ZW50OiBUQ3VzdG9tRXZlbnQpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgd2hpY2ggbGFuZ3VhZ2Ugd2lsbCBiZSBzaG93biBpbiBjYXNlIHRoZSBgTG9jYWxpemVkUmljaFRleHRJbnB1dGAgaXMgY29sbGFwc2VkLlxuICAgKi9cbiAgc2VsZWN0ZWRMYW5ndWFnZTogc3RyaW5nO1xuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gYW55IGZpZWxkIGlzIGJsdXJyZWQuIElzIGNhbGxlZCB3aXRoIHRoZSBgZXZlbnRgIG9mIHRoYXQgZmllbGQuXG4gICAqL1xuICBvbkJsdXI/OiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD47XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiBhbnkgZmllbGQgaXMgZm9jdXNzZWQuIElzIGNhbGxlZCB3aXRoIHRoZSBgZXZlbnRgIG9mIHRoYXQgZmllbGQuXG4gICAqL1xuICBvbkZvY3VzPzogRm9jdXNFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xuICAvKipcbiAgICogRXhwYW5kcyBpbnB1dCBjb21wb25lbnRzIGhvbGRpbmcgbXVsdGlsaW5lIHZhbHVlcyBpbnN0ZWFkIG9mIGNvbGxhcHNpbmcgdGhlbSBieSBkZWZhdWx0LlxuICAgKi9cbiAgZGVmYXVsdEV4cGFuZE11bHRpbGluZVRleHQ/OiBib29sZWFuO1xuICAvKipcbiAgICogV2lsbCBoaWRlIHRoZSBsYW5ndWFnZSBleHBhbnNpb24gY29udHJvbHMgd2hlbiBzZXQgdG8gYHRydWVgLiBBbGwgbGFuZ3VhZ2VzIHdpbGwgYmUgc2hvd24gd2hlbiBzZXQgdG8gYHRydWVgXG4gICAqL1xuICBoaWRlTGFuZ3VhZ2VFeHBhbnNpb25Db250cm9scz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDb250cm9scyB3aGV0aGVyIG9uZSBvciBhbGwgbGFuZ3VhZ2VzIGFyZSB2aXNpYmxlIGJ5IGRlZmF1bHQuIFBhc3MgYHRydWVgIHRvIHNob3cgYWxsIGxhbmd1YWdlcyBieSBkZWZhdWx0LlxuICAgKi9cbiAgZGVmYXVsdEV4cGFuZExhbmd1YWdlcz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEaXNhYmxlcyBhbGwgaW5wdXRcbiAgICovXG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogRGlzYWJsZXMgYWxsIGlucHV0IGZpZWxkcyBhbmQgc2hvd3MgdGhlbSBpbiByZWFkLW9ubHkgbW9kZS5cbiAgICovXG4gIGlzUmVhZE9ubHk/OiBib29sZWFuO1xuICAvKipcbiAgICogUGxhY2Vob2xkZXJzIGZvciBlYWNoIGxhbmd1YWdlLiBPYmplY3Qgb2YgdGhlIHNhbWUgc2hhcGUgYXNcbiAgICovXG4gIHBsYWNlaG9sZGVyPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgLyoqXG4gICAqIEhvcml6b250YWwgc2l6ZSBsaW1pdCBvZiB0aGUgaW5wdXQgZmllbGRzLlxuICAgKi9cbiAgaG9yaXpvbnRhbENvbnN0cmFpbnQ/OlxuICAgIHwgN1xuICAgIHwgOFxuICAgIHwgOVxuICAgIHwgMTBcbiAgICB8IDExXG4gICAgfCAxMlxuICAgIHwgMTNcbiAgICB8IDE0XG4gICAgfCAxNVxuICAgIHwgMTZcbiAgICB8ICdzY2FsZSdcbiAgICB8ICdhdXRvJztcbiAgLyoqXG4gICAqIFdpbGwgYXBwbHkgdGhlIGVycm9yIHN0YXRlIHRvIGVhY2ggaW5wdXQgd2l0aG91dCBzaG93aW5nIGFueSBlcnJvciBtZXNzYWdlLlxuICAgKi9cbiAgaGFzRXJyb3I/OiBib29sZWFuO1xuICAvKipcbiAgICogV2lsbCBhcHBseSB0aGUgd2FybmluZyBzdGF0ZSB0byBlYWNoIGlucHV0IHdpdGhvdXQgc2hvd2luZyBhbnkgd2FybmluZyBtZXNzYWdlLlxuICAgKi9cbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBVc2VkIHRvIHNob3cgZXJyb3JzIHVuZGVybmVhdGggdGhlIGlucHV0cyBvZiBzcGVjaWZpYyBsYW5ndWFnZXMuIFBhc3MgYW4gb2JqZWN0IHdob3NlIGtleSBpcyBhIGxhbmd1YWdlIGFuZCB3aG9zZSB2YWx1ZSBpcyB0aGUgZXJyb3IgdG8gc2hvdyBmb3IgdGhhdCBrZXkuXG4gICAqL1xuICBlcnJvcnM/OiBURXJyb3JzO1xuICAvKipcbiAgICogVXNlZCB0byBzaG93IHdhcm5pbmdzIHVuZGVybmVhdGggdGhlIGlucHV0cyBvZiBzcGVjaWZpYyBsYW5ndWFnZXMuIFBhc3MgYW4gb2JqZWN0IHdob3NlIGtleSBpcyBhIGxhbmd1YWdlIGFuZCB3aG9zZSB2YWx1ZSBpcyB0aGUgd2FybmluZyB0byBzaG93IGZvciB0aGF0IGtleS5cbiAgICovXG4gIHdhcm5pbmdzPzogVFdhcm5pbmdzO1xuICAvKipcbiAgICogU2hvd3MgYW4gYGV4cGFuZGAgaWNvbiBpbiB0aGUgdG9vbGJhclxuICAgKi9cbiAgc2hvd0V4cGFuZEljb246IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiB0aGUgYGV4cGFuZGAgYnV0dG9uIGlzIGNsaWNrZWRcbiAgICovXG4gIG9uQ2xpY2tFeHBhbmQ/OiAoKSA9PiBib29sZWFuO1xufTtcblxuLy8gV2hlbiBjb21wb25lbnQgaXMgdXNpbmcgYGZvcndhcmRSZWZgIG9ubHkgYGRlZmF1bHRQcm9wc2AgYW5kIGBkaXNwbGF5TmFtZWAgYXJlIHJlY29nbml6ZWQgYnkgZGVmYXVsdCBhcyBzdGF0aWMgcHJvcHNcbnR5cGUgU3RhdGljUHJvcHMgPSB7XG4gIFJlcXVpcmVkVmFsdWVFcnJvck1lc3NhZ2U6IHR5cGVvZiBSZXF1aXJlZFZhbHVlRXJyb3JNZXNzYWdlO1xuICBnZXRJZDogdHlwZW9mIGdldElkO1xuICBnZXROYW1lOiB0eXBlb2YgZ2V0TmFtZTtcbiAgY3JlYXRlTG9jYWxpemVkU3RyaW5nOiB0eXBlb2YgbG9jYWxpemVkLmNyZWF0ZUxvY2FsaXplZFN0cmluZztcbiAgaXNFbXB0eTogdHlwZW9mIGxvY2FsaXplZC5pc0VtcHR5O1xuICBvbWl0RW1wdHlUcmFuc2xhdGlvbnM6IHR5cGVvZiBsb2NhbGl6ZWQub21pdEVtcHR5VHJhbnNsYXRpb25zO1xuICBpc1RvdWNoZWQ6IHR5cGVvZiBpc1RvdWNoZWQ7XG59O1xuXG50eXBlIFRSZWR1Y2VyU3RhdGUgPSB7XG4gIFtpZDogc3RyaW5nXTogYm9vbGVhbjtcbn07XG5cbnR5cGUgVFJlZHVjZXJBY3Rpb24gPVxuICB8IHsgdHlwZTogJ3RvZ2dsZSc7IHBheWxvYWQ6IHN0cmluZyB9XG4gIHwgeyB0eXBlOiAndG9nZ2xlQWxsJzsgcGF5bG9hZDogc3RyaW5nIH07XG5cbmNvbnN0IGRlZmF1bHRQcm9wczogUGljazxcbiAgVExvY2FsaXplZFJpY2hUZXh0SW5wdXRQcm9wcyxcbiAgJ2hvcml6b250YWxDb25zdHJhaW50JyB8ICdzaG93RXhwYW5kSWNvbidcbj4gPSB7XG4gIGhvcml6b250YWxDb25zdHJhaW50OiAnc2NhbGUnLFxuICBzaG93RXhwYW5kSWNvbjogZmFsc2UsXG59O1xuXG5jb25zdCBleHBhbmRlZFRyYW5zbGF0aW9uc1JlZHVjZXIgPSAoXG4gIHN0YXRlOiBUUmVkdWNlclN0YXRlLFxuICBhY3Rpb246IFRSZWR1Y2VyQWN0aW9uXG4pID0+IHtcbiAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgIGNhc2UgJ3RvZ2dsZSc6XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgW2FjdGlvbi5wYXlsb2FkXTogIXN0YXRlW2FjdGlvbi5wYXlsb2FkXSxcbiAgICAgIH07XG5cbiAgICBjYXNlICd0b2dnbGVBbGwnOiB7XG4gICAgICBjb25zdCBuZXdTdGF0ZSA9IE9iamVjdC5rZXlzKHN0YXRlKS5yZWR1Y2UoKHRyYW5zbGF0aW9ucywgbG9jYWxlKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgW2xvY2FsZV06IHRydWUsXG4gICAgICAgICAgLi4udHJhbnNsYXRpb25zLFxuICAgICAgICB9O1xuICAgICAgfSwge30pO1xuICAgICAgcmV0dXJuIG5ld1N0YXRlO1xuICAgIH1cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHN0YXRlO1xuICB9XG59O1xuXG4vLyBUaGlzIGNvbXBvbmVudCBzdXBwb3J0cyBleHBhbmRpbmcvY29sbGFwc2luZyByaWNoIHRleHQgaW5wdXRzLCBidXQgaXQgYWxzb1xuLy8gc3VwcG9ydHMgc2hvd2luZy9oaWRpbmcgdGhlIHJlbWFpbmluZyBsYW5ndWFnZXMuXG4vLyBUaGVzZSB0d28gZmVhdHVyZXMgYXJlIGJvdGggYWJvdXQgb3BlbmluZy9jbG9zaW5nIHNvbWV0aGluZywgYW5kIHNvIHRoZSBjb2RlXG4vLyBjYW4gZ2V0IHF1aXRlIGNvbmZ1c2luZy4gV2UgdHJ5IHRvIHN0aWNrIHRvIGV4cGFuZC9jb2xsYXBzZSBmb3IgdGhlXG4vLyBtdWx0aWxpbmUgaW5wdXRzLCB3aGlsZSB3ZSB1c2Ugc2hvdy9oaWRlL29wZW4vY2xvc2UgZm9yIHRoZSByZW1haW5pbmdcbi8vIGxhbmd1YWdlcy5cbmNvbnN0IExvY2FsaXplZFJpY2hUZXh0SW5wdXQ6IEZvcndhcmRSZWZFeG90aWNDb21wb25lbnQ8XG4gIFRMb2NhbGl6ZWRSaWNoVGV4dElucHV0UHJvcHMgJiBSZWZBdHRyaWJ1dGVzPHVua25vd24+XG4+ICZcbiAgUGFydGlhbDxTdGF0aWNQcm9wcz4gPSBmb3J3YXJkUmVmKFxuICAocHJvcHM6IFRMb2NhbGl6ZWRSaWNoVGV4dElucHV0UHJvcHMsIHJlZikgPT4ge1xuICAgIGlmICghcHJvcHMuaXNSZWFkT25seSkge1xuICAgICAgd2FybmluZyhcbiAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nLFxuICAgICAgICAnTG9jYWxpemVkUmljaFRleHRJbnB1dDogYG9uQ2hhbmdlYCBpcyByZXF1aXJlZCB3aGVuIGlucHV0IGlzIG5vdCByZWFkIG9ubHkuJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAocHJvcHMuc2hvd0V4cGFuZEljb24pIHtcbiAgICAgIHdhcm5pbmcoXG4gICAgICAgIHR5cGVvZiBwcm9wcy5vbkNsaWNrRXhwYW5kID09PSAnZnVuY3Rpb24nLFxuICAgICAgICAnTG9jYWxpemVkUmljaFRleHRJbnB1dDogXCJvbkNsaWNrRXhwYW5kXCIgaXMgcmVxdWlyZWQgd2hlbiBzaG93RXhwYW5kSWNvbiBpcyB0cnVlJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAocHJvcHMuaGlkZUxhbmd1YWdlRXhwYW5zaW9uQ29udHJvbHMpIHtcbiAgICAgIHdhcm5pbmcoXG4gICAgICAgIHR5cGVvZiBwcm9wcy5kZWZhdWx0RXhwYW5kTGFuZ3VhZ2VzICE9PSAnYm9vbGVhbicsXG4gICAgICAgICdMb2NhbGl6ZWRSaWNoVGV4dElucHV0OiBcImRlZmF1bHRFeHBhbmRMYW5ndWFnZXNcIiBkb2VzIG5vdCBoYXZlIGFueSBlZmZlY3Qgd2hlbiBcImhpZGVMYW5ndWFnZUV4cGFuc2lvbkNvbnRyb2xzXCIgaXMgc2V0LidcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgaW5pdGlhbEV4cGFuZGVkVHJhbnNsYXRpb25zU3RhdGUgPSBPYmplY3Qua2V5cyhwcm9wcy52YWx1ZSkucmVkdWNlKFxuICAgICAgKHRyYW5zbGF0aW9ucywgbG9jYWxlKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgW2xvY2FsZV06IEJvb2xlYW4ocHJvcHMuZGVmYXVsdEV4cGFuZE11bHRpbGluZVRleHQpLFxuICAgICAgICAgIC4uLnRyYW5zbGF0aW9ucyxcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgICB7fVxuICAgICk7XG5cbiAgICBjb25zdCBbZXhwYW5kZWRUcmFuc2xhdGlvbnNTdGF0ZSwgZXhwYW5kZWRUcmFuc2xhdGlvbnNEaXNwYXRjaF0gPVxuICAgICAgdXNlUmVkdWNlcihleHBhbmRlZFRyYW5zbGF0aW9uc1JlZHVjZXIsIGluaXRpYWxFeHBhbmRlZFRyYW5zbGF0aW9uc1N0YXRlKTtcblxuICAgIGNvbnN0IGRlZmF1bHRFeHBhbnNpb25TdGF0ZSA9IEJvb2xlYW4oXG4gICAgICBwcm9wcy5oaWRlTGFuZ3VhZ2VFeHBhbnNpb25Db250cm9scyB8fCBwcm9wcy5kZWZhdWx0RXhwYW5kTGFuZ3VhZ2VzXG4gICAgKTtcblxuICAgIGNvbnN0IFthcmVMYW5ndWFnZXNPcGVuZWQsIHRvZ2dsZUxhbmd1YWdlc10gPSB1c2VUb2dnbGVTdGF0ZShcbiAgICAgIGRlZmF1bHRFeHBhbnNpb25TdGF0ZVxuICAgICk7XG5cbiAgICBjb25zdCB0b2dnbGVMYW5ndWFnZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgKGxhbmd1YWdlKSA9PiB7XG4gICAgICAgIGV4cGFuZGVkVHJhbnNsYXRpb25zRGlzcGF0Y2goeyB0eXBlOiAndG9nZ2xlJywgcGF5bG9hZDogbGFuZ3VhZ2UgfSk7XG4gICAgICB9LFxuICAgICAgW2V4cGFuZGVkVHJhbnNsYXRpb25zRGlzcGF0Y2hdXG4gICAgKTtcblxuICAgIGNvbnN0IGNyZWF0ZUNoYW5nZUhhbmRsZXIgPSB1c2VDYWxsYmFjayhcbiAgICAgIChsYW5ndWFnZTogc3RyaW5nKSA9PiAoc3RhdGU6IHN0cmluZykgPT5cbiAgICAgICAgcHJvcHMub25DaGFuZ2U/Lih7XG4gICAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgICBpZDogcHJvcHMuaWQsXG4gICAgICAgICAgICBuYW1lOiBwcm9wcy5uYW1lLFxuICAgICAgICAgICAgbGFuZ3VhZ2UsXG4gICAgICAgICAgICB2YWx1ZTogc3RhdGUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gICAgICBbcHJvcHMuaWQsIHByb3BzLm5hbWUsIHByb3BzLm9uQ2hhbmdlXVxuICAgICk7XG5cbiAgICBjb25zdCBsYW5ndWFnZXMgPSBzb3J0TGFuZ3VhZ2VzKFxuICAgICAgcHJvcHMuc2VsZWN0ZWRMYW5ndWFnZSxcbiAgICAgIE9iamVjdC5rZXlzKHByb3BzLnZhbHVlKVxuICAgICk7XG5cbiAgICBjb25zdCBoYXNFcnJvckluUmVtYWluaW5nTGFuZ3VhZ2VzID1cbiAgICAgIHByb3BzLmhhc0Vycm9yIHx8XG4gICAgICBnZXRIYXNFcnJvck9uUmVtYWluaW5nTGFuZ3VhZ2VzKHByb3BzLmVycm9ycywgcHJvcHMuc2VsZWN0ZWRMYW5ndWFnZSk7XG5cbiAgICBjb25zdCBoYXNXYXJuaW5nSW5SZW1haW5pbmdMYW5ndWFnZXMgPVxuICAgICAgcHJvcHMuaGFzV2FybmluZyB8fFxuICAgICAgZ2V0SGFzV2FybmluZ09uUmVtYWluaW5nTGFuZ3VhZ2VzKHByb3BzLndhcm5pbmdzLCBwcm9wcy5zZWxlY3RlZExhbmd1YWdlKTtcblxuICAgIGlmIChoYXNFcnJvckluUmVtYWluaW5nTGFuZ3VhZ2VzIHx8IGhhc1dhcm5pbmdJblJlbWFpbmluZ0xhbmd1YWdlcykge1xuICAgICAgaWYgKCFhcmVMYW5ndWFnZXNPcGVuZWQpIHtcbiAgICAgICAgLy8gdGhpcyB1cGRhdGUgd2l0aGluIHJlbmRlciByZXBsYWNlcyB0aGUgb2xkIGBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHNgIGZ1bmN0aW9uYWxpdHlcbiAgICAgICAgLy8gaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL2hvb2tzLWZhcS5odG1sI2hvdy1kby1pLWltcGxlbWVudC1nZXRkZXJpdmVkc3RhdGVmcm9tcHJvcHNcbiAgICAgICAgdG9nZ2xlTGFuZ3VhZ2VzKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3Qgc2hvdWxkUmVuZGVyTGFuZ3VhZ2VzQ29udHJvbCA9XG4gICAgICBsYW5ndWFnZXMubGVuZ3RoID4gMSAmJiAhcHJvcHMuaGlkZUxhbmd1YWdlRXhwYW5zaW9uQ29udHJvbHM7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPENvbnN0cmFpbnRzLkhvcml6b250YWwgbWF4PXtwcm9wcy5ob3Jpem9udGFsQ29uc3RyYWludH0+XG4gICAgICAgIDxTdGFjayBzY2FsZT1cInhzXCI+XG4gICAgICAgICAgPFN0YWNrPlxuICAgICAgICAgICAge2xhbmd1YWdlcy5tYXAoKGxhbmd1YWdlLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBpc0ZpcnN0TGFuZ3VhZ2UgPSBpbmRleCA9PT0gMDtcbiAgICAgICAgICAgICAgaWYgKCFpc0ZpcnN0TGFuZ3VhZ2UgJiYgIWFyZUxhbmd1YWdlc09wZW5lZCkgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgIGNvbnN0IGlzTGFzdExhbmd1YWdlID0gaW5kZXggPT09IGxhbmd1YWdlcy5sZW5ndGggLSAxO1xuXG4gICAgICAgICAgICAgIGNvbnN0IGhhc0xhbmd1YWdlc0NvbnRyb2wgPVxuICAgICAgICAgICAgICAgIChpc0ZpcnN0TGFuZ3VhZ2UgJiYgIWFyZUxhbmd1YWdlc09wZW5lZCkgfHwgaXNMYXN0TGFuZ3VhZ2U7XG5cbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8UmljaFRleHRJbnB1dFxuICAgICAgICAgICAgICAgICAgey4uLmZpbHRlckRhdGFBdHRyaWJ1dGVzKHByb3BzKX1cbiAgICAgICAgICAgICAgICAgIGtleT17bGFuZ3VhZ2V9XG4gICAgICAgICAgICAgICAgICBpZD17Z2V0SWQocHJvcHMuaWQsIGxhbmd1YWdlKX1cbiAgICAgICAgICAgICAgICAgIG5hbWU9e2dldE5hbWUocHJvcHMubmFtZSwgbGFuZ3VhZ2UpfVxuICAgICAgICAgICAgICAgICAgdmFsdWU9e3Byb3BzLnZhbHVlW2xhbmd1YWdlXX1cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtjcmVhdGVDaGFuZ2VIYW5kbGVyKGxhbmd1YWdlKX1cbiAgICAgICAgICAgICAgICAgIGxhbmd1YWdlPXtsYW5ndWFnZX1cbiAgICAgICAgICAgICAgICAgIGlzT3Blbj17ZXhwYW5kZWRUcmFuc2xhdGlvbnNTdGF0ZVtsYW5ndWFnZV19XG4gICAgICAgICAgICAgICAgICB0b2dnbGVMYW5ndWFnZT17dG9nZ2xlTGFuZ3VhZ2V9XG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17XG4gICAgICAgICAgICAgICAgICAgIHByb3BzLnBsYWNlaG9sZGVyID8gcHJvcHMucGxhY2Vob2xkZXJbbGFuZ3VhZ2VdIDogdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBvbkJsdXI9e3Byb3BzLm9uQmx1cn1cbiAgICAgICAgICAgICAgICAgIG9uRm9jdXM9e3Byb3BzLm9uRm9jdXN9XG4gICAgICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgaXNSZWFkT25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgICAgICAgIGhhc0Vycm9yPXtCb29sZWFuKFxuICAgICAgICAgICAgICAgICAgICBwcm9wcy5oYXNFcnJvciB8fCAocHJvcHMuZXJyb3JzICYmIHByb3BzLmVycm9yc1tsYW5ndWFnZV0pXG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgaGFzV2FybmluZz17Qm9vbGVhbihcbiAgICAgICAgICAgICAgICAgICAgcHJvcHMuaGFzV2FybmluZyB8fFxuICAgICAgICAgICAgICAgICAgICAgIChwcm9wcy53YXJuaW5ncyAmJiBwcm9wcy53YXJuaW5nc1tsYW5ndWFnZV0pXG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgd2FybmluZz17cHJvcHMud2FybmluZ3MgJiYgcHJvcHMud2FybmluZ3NbbGFuZ3VhZ2VdfVxuICAgICAgICAgICAgICAgICAgZXJyb3I9e3Byb3BzLmVycm9ycyAmJiBwcm9wcy5lcnJvcnNbbGFuZ3VhZ2VdfVxuICAgICAgICAgICAgICAgICAgc2hvd0V4cGFuZEljb249e3Byb3BzLnNob3dFeHBhbmRJY29ufVxuICAgICAgICAgICAgICAgICAgb25DbGlja0V4cGFuZD17cHJvcHMub25DbGlja0V4cGFuZH1cbiAgICAgICAgICAgICAgICAgIGhhc0xhbmd1YWdlc0NvbnRyb2w9e2hhc0xhbmd1YWdlc0NvbnRyb2x9XG4gICAgICAgICAgICAgICAgICBkZWZhdWx0RXhwYW5kTXVsdGlsaW5lVGV4dD17Qm9vbGVhbihcbiAgICAgICAgICAgICAgICAgICAgcHJvcHMuZGVmYXVsdEV4cGFuZE11bHRpbGluZVRleHRcbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgICAgICAgICAgIHsuLi5jcmVhdGVMb2NhbGl6ZWREYXRhQXR0cmlidXRlcyhwcm9wcywgbGFuZ3VhZ2UpfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgIHtzaG91bGRSZW5kZXJMYW5ndWFnZXNDb250cm9sICYmIChcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPExvY2FsaXplZElucHV0VG9nZ2xlXG4gICAgICAgICAgICAgICAgaXNPcGVuPXthcmVMYW5ndWFnZXNPcGVuZWR9XG4gICAgICAgICAgICAgICAgb25DbGljaz17XG4gICAgICAgICAgICAgICAgICB0b2dnbGVMYW5ndWFnZXMgYXMgKFxuICAgICAgICAgICAgICAgICAgICBldmVudDpcbiAgICAgICAgICAgICAgICAgICAgICB8IE1vdXNlRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgfCBLZXlib2FyZEV2ZW50PEhUTUxCdXR0b25FbGVtZW50PlxuICAgICAgICAgICAgICAgICAgICAgIHwgYm9vbGVhblxuICAgICAgICAgICAgICAgICAgKSA9PiB2b2lkXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e1xuICAgICAgICAgICAgICAgICAgYXJlTGFuZ3VhZ2VzT3BlbmVkICYmXG4gICAgICAgICAgICAgICAgICBCb29sZWFuKFxuICAgICAgICAgICAgICAgICAgICBoYXNFcnJvckluUmVtYWluaW5nTGFuZ3VhZ2VzIHx8XG4gICAgICAgICAgICAgICAgICAgICAgaGFzV2FybmluZ0luUmVtYWluaW5nTGFuZ3VhZ2VzXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJlbWFpbmluZ0xvY2FsaXphdGlvbnM9e2xhbmd1YWdlcy5sZW5ndGggLSAxfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9TdGFjaz5cbiAgICAgIDwvQ29uc3RyYWludHMuSG9yaXpvbnRhbD5cbiAgICApO1xuICB9XG4pO1xuXG5Mb2NhbGl6ZWRSaWNoVGV4dElucHV0LmRpc3BsYXlOYW1lID0gJ0xvY2FsaXplZFJpY2hUZXh0SW5wdXQnO1xuXG5Mb2NhbGl6ZWRSaWNoVGV4dElucHV0LlJlcXVpcmVkVmFsdWVFcnJvck1lc3NhZ2UgPSBSZXF1aXJlZFZhbHVlRXJyb3JNZXNzYWdlO1xuXG5Mb2NhbGl6ZWRSaWNoVGV4dElucHV0LmdldElkID0gZ2V0SWQ7XG5cbkxvY2FsaXplZFJpY2hUZXh0SW5wdXQuZ2V0TmFtZSA9IGdldE5hbWU7XG5cbkxvY2FsaXplZFJpY2hUZXh0SW5wdXQuZGVmYXVsdFByb3BzID0gZGVmYXVsdFByb3BzO1xuXG5Mb2NhbGl6ZWRSaWNoVGV4dElucHV0LmNyZWF0ZUxvY2FsaXplZFN0cmluZyA9IGxvY2FsaXplZC5jcmVhdGVMb2NhbGl6ZWRTdHJpbmc7XG5cbkxvY2FsaXplZFJpY2hUZXh0SW5wdXQuaXNFbXB0eSA9IGxvY2FsaXplZC5pc0VtcHR5O1xuXG5Mb2NhbGl6ZWRSaWNoVGV4dElucHV0Lm9taXRFbXB0eVRyYW5zbGF0aW9ucyA9IGxvY2FsaXplZC5vbWl0RW1wdHlUcmFuc2xhdGlvbnM7XG5cbkxvY2FsaXplZFJpY2hUZXh0SW5wdXQuaXNUb3VjaGVkID0gaXNUb3VjaGVkO1xuXG5leHBvcnQgZGVmYXVsdCBMb2NhbGl6ZWRSaWNoVGV4dElucHV0O1xuIl19 */",
583
539
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
584
540
  };
585
541
 
586
- var LocalizedRichTextInput = function LocalizedRichTextInput(props) {
542
+ var LocalizedRichTextInput = /*#__PURE__*/forwardRef(function (props, ref) {
587
543
  var _context2;
588
544
 
589
545
  if (!props.isReadOnly) {
@@ -607,8 +563,7 @@ var LocalizedRichTextInput = function LocalizedRichTextInput(props) {
607
563
  expandedTranslationsState = _useReducer2[0],
608
564
  expandedTranslationsDispatch = _useReducer2[1];
609
565
 
610
- var defaultExpansionState = props.hideLanguageExpansionControls || props.defaultExpandLanguages || // useToggleState's default is `true`, but we want `false`
611
- false;
566
+ var defaultExpansionState = Boolean(props.hideLanguageExpansionControls || props.defaultExpandLanguages);
612
567
 
613
568
  var _useToggleState = useToggleState(defaultExpansionState),
614
569
  _useToggleState2 = _slicedToArray(_useToggleState, 2),
@@ -621,6 +576,21 @@ var LocalizedRichTextInput = function LocalizedRichTextInput(props) {
621
576
  payload: language
622
577
  });
623
578
  }, [expandedTranslationsDispatch]);
579
+ var createChangeHandler = useCallback(function (language) {
580
+ return function (state) {
581
+ var _props$onChange;
582
+
583
+ return (_props$onChange = props.onChange) === null || _props$onChange === void 0 ? void 0 : _props$onChange.call(props, {
584
+ target: {
585
+ id: props.id,
586
+ name: props.name,
587
+ language: language,
588
+ value: state
589
+ }
590
+ });
591
+ };
592
+ }, // eslint-disable-next-line react-hooks/exhaustive-deps
593
+ [props.id, props.name, props.onChange]);
624
594
  var languages = sortLanguages(props.selectedLanguage, _Object$keys(props.value));
625
595
  var hasErrorInRemainingLanguages = props.hasError || getHasErrorOnRemainingLanguages(props.errors, props.selectedLanguage);
626
596
  var hasWarningInRemainingLanguages = props.hasWarning || getHasWarningOnRemainingLanguages(props.warnings, props.selectedLanguage);
@@ -644,11 +614,12 @@ var LocalizedRichTextInput = function LocalizedRichTextInput(props) {
644
614
  if (!isFirstLanguage && !areLanguagesOpened) return null;
645
615
  var isLastLanguage = index === languages.length - 1;
646
616
  var hasLanguagesControl = isFirstLanguage && !areLanguagesOpened || isLastLanguage;
647
- return jsx(RichTextInput$1, _objectSpread({
648
- id: LocalizedRichTextInput.getId(props.id, language),
649
- name: LocalizedRichTextInput.getName(props.name, language),
617
+ return createElement(RichTextInput$1, _objectSpread(_objectSpread({}, filterDataAttributes(props)), {}, {
618
+ key: language,
619
+ id: getId(props.id, language),
620
+ name: getName(props.name, language),
650
621
  value: props.value[language],
651
- onChange: props.onChange,
622
+ onChange: createChangeHandler(language),
652
623
  language: language,
653
624
  isOpen: expandedTranslationsState[language],
654
625
  toggleLanguage: toggleLanguage,
@@ -663,8 +634,10 @@ var LocalizedRichTextInput = function LocalizedRichTextInput(props) {
663
634
  error: props.errors && props.errors[language],
664
635
  showExpandIcon: props.showExpandIcon,
665
636
  onClickExpand: props.onClickExpand,
666
- hasLanguagesControl: hasLanguagesControl
667
- }, createLocalizedDataAttributes(props, language)), language);
637
+ hasLanguagesControl: hasLanguagesControl,
638
+ defaultExpandMultilineText: Boolean(props.defaultExpandMultilineText),
639
+ ref: ref
640
+ }, createLocalizedDataAttributes(props, language)));
668
641
  })
669
642
  }), shouldRenderLanguagesControl && jsx("div", {
670
643
  css: _ref,
@@ -677,30 +650,7 @@ var LocalizedRichTextInput = function LocalizedRichTextInput(props) {
677
650
  })]
678
651
  })
679
652
  });
680
- };
681
-
682
- LocalizedRichTextInput.propTypes = process.env.NODE_ENV !== "production" ? {
683
- id: _pt.string,
684
- name: _pt.string,
685
- value: _pt.objectOf(_pt.string).isRequired,
686
- onChange: _pt.func,
687
- selectedLanguage: _pt.string.isRequired,
688
- onBlur: _pt.func,
689
- onFocus: _pt.func,
690
- defaultExpandMultilineText: _pt.bool,
691
- hideLanguageExpansionControls: _pt.bool,
692
- defaultExpandLanguages: _pt.bool,
693
- isDisabled: _pt.bool,
694
- isReadOnly: _pt.bool,
695
- placeholder: _pt.objectOf(_pt.string),
696
- horizontalConstraint: _pt.oneOf([7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 'scale', 'auto']),
697
- hasError: _pt.bool,
698
- hasWarning: _pt.bool,
699
- errors: _pt.objectOf(_pt.string),
700
- warnings: _pt.objectOf(_pt.node),
701
- showExpandIcon: _pt.bool.isRequired,
702
- onClickExpand: _pt.func
703
- } : {};
653
+ });
704
654
  LocalizedRichTextInput.displayName = 'LocalizedRichTextInput';
705
655
  LocalizedRichTextInput.RequiredValueErrorMessage = RequiredValueErrorMessage$1;
706
656
  LocalizedRichTextInput.getId = getId;
@@ -713,6 +663,6 @@ LocalizedRichTextInput.isTouched = isTouched;
713
663
  var LocalizedRichTextInput$1 = LocalizedRichTextInput;
714
664
 
715
665
  // NOTE: This string will be replaced on build time with the package version.
716
- var version = "14.0.6";
666
+ var version = "15.0.0";
717
667
 
718
668
  export { LocalizedRichTextInput$1 as default, version };