UNPKG

254 kBSource Map (JSON)View Raw
1{"version":3,"file":"downshift.umd.js","sources":["../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/cjs/react-is.development.js","../node_modules/react-is/index.js","../node_modules/object-assign/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/prop-types/checkPropTypes.js","../node_modules/prop-types/factoryWithTypeCheckers.js","../node_modules/prop-types/index.js","../node_modules/compute-scroll-into-view/es/index.js","../src/utils.js","../src/set-a11y-status.js","../src/stateChangeTypes.js","../src/downshift.js","../node_modules/keyboard-key/src/keyboardKey.js","../node_modules/@reach/auto-id/es/index.js","../src/hooks/utils.js","../src/hooks/useSelect/utils.js","../src/hooks/useSelect/stateChangeTypes.js","../src/hooks/useSelect/reducer.js","../src/hooks/useSelect/index.js"],"sourcesContent":["export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","export default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}","/** @license React v16.9.0\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';Object.defineProperty(exports,\"__esModule\",{value:!0});\nvar b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?Symbol.for(\"react.suspense_list\"):\n60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.fundamental\"):60117,w=b?Symbol.for(\"react.responder\"):60118;function x(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case h:return a;default:return u}}case t:case r:case d:return u}}}function y(a){return x(a)===m}exports.typeOf=x;exports.AsyncMode=l;\nexports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;exports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===v||a.$$typeof===w)};exports.isAsyncMode=function(a){return y(a)||x(a)===l};exports.isConcurrentMode=y;exports.isContextConsumer=function(a){return x(a)===k};exports.isContextProvider=function(a){return x(a)===h};\nexports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return x(a)===n};exports.isFragment=function(a){return x(a)===e};exports.isLazy=function(a){return x(a)===t};exports.isMemo=function(a){return x(a)===r};exports.isPortal=function(a){return x(a)===d};exports.isProfiler=function(a){return x(a)===g};exports.isStrictMode=function(a){return x(a)===f};exports.isSuspense=function(a){return x(a)===p};\n","/** @license React v16.9.0\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\n\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace;\n// TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' ||\n // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE);\n}\n\n/**\n * Forked from fbjs/warning:\n * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js\n *\n * Only change is we use console.warn instead of console.error,\n * and do nothing when 'console' is not supported.\n * This really simplifies the code.\n * ---\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar lowPriorityWarning = function () {};\n\n{\n var printWarning = function (format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.warn(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n lowPriorityWarning = function (condition, format) {\n if (format === undefined) {\n throw new Error('`lowPriorityWarning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n}\n\nvar lowPriorityWarning$1 = lowPriorityWarning;\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n default:\n return $$typeof;\n }\n }\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n}\n\n// AsyncMode is deprecated along with isAsyncMode\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\n\nvar hasWarnedAboutDeprecatedIsAsyncMode = false;\n\n// AsyncMode should be deprecated\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true;\n lowPriorityWarning$1(false, 'The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.typeOf = typeOf;\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isValidElementType = isValidElementType;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = Function.call.bind(Object.prototype.hasOwnProperty);\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar has = Function.call.bind(Object.prototype.hasOwnProperty);\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<<anonymous>>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message) {\n this.message = message;\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n return null;\n }\n }\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (!checker) {\n continue;\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from\n // props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","function isElement(el) {\n return el != null && typeof el === 'object' && el.nodeType === 1;\n}\n\nfunction canOverflow(overflow, skipOverflowHiddenElements) {\n if (skipOverflowHiddenElements && overflow === 'hidden') {\n return false;\n }\n\n return overflow !== 'visible' && overflow !== 'clip';\n}\n\nfunction isScrollable(el, skipOverflowHiddenElements) {\n if (el.clientHeight < el.scrollHeight || el.clientWidth < el.scrollWidth) {\n var style = getComputedStyle(el, null);\n return canOverflow(style.overflowY, skipOverflowHiddenElements) || canOverflow(style.overflowX, skipOverflowHiddenElements);\n }\n\n return false;\n}\n\nfunction alignNearest(scrollingEdgeStart, scrollingEdgeEnd, scrollingSize, scrollingBorderStart, scrollingBorderEnd, elementEdgeStart, elementEdgeEnd, elementSize) {\n if (elementEdgeStart < scrollingEdgeStart && elementEdgeEnd > scrollingEdgeEnd || elementEdgeStart > scrollingEdgeStart && elementEdgeEnd < scrollingEdgeEnd) {\n return 0;\n }\n\n if (elementEdgeStart <= scrollingEdgeStart && elementSize <= scrollingSize || elementEdgeEnd >= scrollingEdgeEnd && elementSize >= scrollingSize) {\n return elementEdgeStart - scrollingEdgeStart - scrollingBorderStart;\n }\n\n if (elementEdgeEnd > scrollingEdgeEnd && elementSize < scrollingSize || elementEdgeStart < scrollingEdgeStart && elementSize > scrollingSize) {\n return elementEdgeEnd - scrollingEdgeEnd + scrollingBorderEnd;\n }\n\n return 0;\n}\n\nexport default (function (target, options) {\n var scrollMode = options.scrollMode,\n block = options.block,\n inline = options.inline,\n boundary = options.boundary,\n skipOverflowHiddenElements = options.skipOverflowHiddenElements;\n var checkBoundary = typeof boundary === 'function' ? boundary : function (node) {\n return node !== boundary;\n };\n\n if (!isElement(target)) {\n throw new TypeError('Invalid target');\n }\n\n var scrollingElement = document.scrollingElement || document.documentElement;\n var frames = [];\n var cursor = target;\n\n while (isElement(cursor) && checkBoundary(cursor)) {\n cursor = cursor.parentNode;\n\n if (cursor === scrollingElement) {\n frames.push(cursor);\n break;\n }\n\n if (cursor === document.body && isScrollable(cursor) && !isScrollable(document.documentElement)) {\n continue;\n }\n\n if (isScrollable(cursor, skipOverflowHiddenElements)) {\n frames.push(cursor);\n }\n }\n\n var viewportWidth = window.visualViewport ? visualViewport.width : innerWidth;\n var viewportHeight = window.visualViewport ? visualViewport.height : innerHeight;\n var viewportX = window.scrollX || pageXOffset;\n var viewportY = window.scrollY || pageYOffset;\n\n var _target$getBoundingCl = target.getBoundingClientRect(),\n targetHeight = _target$getBoundingCl.height,\n targetWidth = _target$getBoundingCl.width,\n targetTop = _target$getBoundingCl.top,\n targetRight = _target$getBoundingCl.right,\n targetBottom = _target$getBoundingCl.bottom,\n targetLeft = _target$getBoundingCl.left;\n\n var targetBlock = block === 'start' || block === 'nearest' ? targetTop : block === 'end' ? targetBottom : targetTop + targetHeight / 2;\n var targetInline = inline === 'center' ? targetLeft + targetWidth / 2 : inline === 'end' ? targetRight : targetLeft;\n var computations = [];\n\n for (var index = 0; index < frames.length; index++) {\n var frame = frames[index];\n\n var _frame$getBoundingCli = frame.getBoundingClientRect(),\n _height = _frame$getBoundingCli.height,\n _width = _frame$getBoundingCli.width,\n _top = _frame$getBoundingCli.top,\n right = _frame$getBoundingCli.right,\n bottom = _frame$getBoundingCli.bottom,\n _left = _frame$getBoundingCli.left;\n\n if (scrollMode === 'if-needed' && targetTop >= 0 && targetLeft >= 0 && targetBottom <= viewportHeight && targetRight <= viewportWidth && targetTop >= _top && targetBottom <= bottom && targetLeft >= _left && targetRight <= right) {\n return computations;\n }\n\n var frameStyle = getComputedStyle(frame);\n var borderLeft = parseInt(frameStyle.borderLeftWidth, 10);\n var borderTop = parseInt(frameStyle.borderTopWidth, 10);\n var borderRight = parseInt(frameStyle.borderRightWidth, 10);\n var borderBottom = parseInt(frameStyle.borderBottomWidth, 10);\n var blockScroll = 0;\n var inlineScroll = 0;\n var scrollbarWidth = 'offsetWidth' in frame ? frame.offsetWidth - frame.clientWidth - borderLeft - borderRight : 0;\n var scrollbarHeight = 'offsetHeight' in frame ? frame.offsetHeight - frame.clientHeight - borderTop - borderBottom : 0;\n\n if (scrollingElement === frame) {\n if (block === 'start') {\n blockScroll = targetBlock;\n } else if (block === 'end') {\n blockScroll = targetBlock - viewportHeight;\n } else if (block === 'nearest') {\n blockScroll = alignNearest(viewportY, viewportY + viewportHeight, viewportHeight, borderTop, borderBottom, viewportY + targetBlock, viewportY + targetBlock + targetHeight, targetHeight);\n } else {\n blockScroll = targetBlock - viewportHeight / 2;\n }\n\n if (inline === 'start') {\n inlineScroll = targetInline;\n } else if (inline === 'center') {\n inlineScroll = targetInline - viewportWidth / 2;\n } else if (inline === 'end') {\n inlineScroll = targetInline - viewportWidth;\n } else {\n inlineScroll = alignNearest(viewportX, viewportX + viewportWidth, viewportWidth, borderLeft, borderRight, viewportX + targetInline, viewportX + targetInline + targetWidth, targetWidth);\n }\n\n blockScroll = Math.max(0, blockScroll + viewportY);\n inlineScroll = Math.max(0, inlineScroll + viewportX);\n } else {\n if (block === 'start') {\n blockScroll = targetBlock - _top - borderTop;\n } else if (block === 'end') {\n blockScroll = targetBlock - bottom + borderBottom + scrollbarHeight;\n } else if (block === 'nearest') {\n blockScroll = alignNearest(_top, bottom, _height, borderTop, borderBottom + scrollbarHeight, targetBlock, targetBlock + targetHeight, targetHeight);\n } else {\n blockScroll = targetBlock - (_top + _height / 2) + scrollbarHeight / 2;\n }\n\n if (inline === 'start') {\n inlineScroll = targetInline - _left - borderLeft;\n } else if (inline === 'center') {\n inlineScroll = targetInline - (_left + _width / 2) + scrollbarWidth / 2;\n } else if (inline === 'end') {\n inlineScroll = targetInline - right + borderRight + scrollbarWidth;\n } else {\n inlineScroll = alignNearest(_left, right, _width, borderLeft, borderRight + scrollbarWidth, targetInline, targetInline + targetWidth, targetWidth);\n }\n\n var scrollLeft = frame.scrollLeft,\n scrollTop = frame.scrollTop;\n blockScroll = Math.max(0, Math.min(scrollTop + blockScroll, frame.scrollHeight - _height + scrollbarHeight));\n inlineScroll = Math.max(0, Math.min(scrollLeft + inlineScroll, frame.scrollWidth - _width + scrollbarWidth));\n targetBlock += scrollTop - blockScroll;\n targetInline += scrollLeft - inlineScroll;\n }\n\n computations.push({\n el: frame,\n top: blockScroll,\n left: inlineScroll\n });\n }\n\n return computations;\n});","import computeScrollIntoView from 'compute-scroll-into-view'\nimport {isPreact} from './is.macro'\n\nlet idCounter = 0\n\n/**\n * Accepts a parameter and returns it if it's a function\n * or a noop function if it's not. This allows us to\n * accept a callback, but not worry about it if it's not\n * passed.\n * @param {Function} cb the callback\n * @return {Function} a function\n */\nfunction cbToCb(cb) {\n return typeof cb === 'function' ? cb : noop\n}\n\nfunction noop() {}\n\n/**\n * Scroll node into view if necessary\n * @param {HTMLElement} node the element that should scroll into view\n * @param {HTMLElement} menuNode the menu element of the component\n */\nfunction scrollIntoView(node, menuNode) {\n if (node === null) {\n return\n }\n\n const actions = computeScrollIntoView(node, {\n boundary: menuNode,\n block: 'nearest',\n scrollMode: 'if-needed',\n })\n actions.forEach(({el, top, left}) => {\n el.scrollTop = top\n el.scrollLeft = left\n })\n}\n\n/**\n * @param {HTMLElement} parent the parent node\n * @param {HTMLElement} child the child node\n * @return {Boolean} whether the parent is the child or the child is in the parent\n */\nfunction isOrContainsNode(parent, child) {\n return parent === child || (parent.contains && parent.contains(child))\n}\n\n/**\n * Simple debounce implementation. Will call the given\n * function once after the time given has passed since\n * it was last called.\n * @param {Function} fn the function to call after the time\n * @param {Number} time the time to wait\n * @return {Function} the debounced function\n */\nfunction debounce(fn, time) {\n let timeoutId\n\n function cancel() {\n if (timeoutId) {\n clearTimeout(timeoutId)\n }\n }\n\n function wrapper(...args) {\n cancel()\n timeoutId = setTimeout(() => {\n timeoutId = null\n fn(...args)\n }, time)\n }\n\n wrapper.cancel = cancel\n\n return wrapper\n}\n\n/**\n * This is intended to be used to compose event handlers.\n * They are executed in order until one of them sets\n * `event.preventDownshiftDefault = true`.\n * @param {...Function} fns the event handler functions\n * @return {Function} the event handler to add to an element\n */\nfunction callAllEventHandlers(...fns) {\n return (event, ...args) =>\n fns.some(fn => {\n if (fn) {\n fn(event, ...args)\n }\n return (\n event.preventDownshiftDefault ||\n (event.hasOwnProperty('nativeEvent') &&\n event.nativeEvent.preventDownshiftDefault)\n )\n })\n}\n\n/**\n * This return a function that will call all the given functions with\n * the arguments with which it's called. It does a null-check before\n * attempting to call the functions and can take any number of functions.\n * @param {...Function} fns the functions to call\n * @return {Function} the function that calls all the functions\n */\nfunction callAll(...fns) {\n return (...args) => {\n fns.forEach(fn => {\n if (fn) {\n fn(...args)\n }\n })\n }\n}\n\n/**\n * This generates a unique ID for an instance of Downshift\n * @return {String} the unique ID\n */\nfunction generateId() {\n return String(idCounter++)\n}\n\n/**\n * This is only used in tests\n * @param {Number} num the number to set the idCounter to\n */\nfunction setIdCounter(num) {\n idCounter = num\n}\n\n/**\n * Resets idCounter to 0. Used for SSR.\n */\nfunction resetIdCounter() {\n idCounter = 0\n}\n\n/**\n * @param {Object} param the downshift state and other relevant properties\n * @return {String} the a11y status message\n */\nfunction getA11yStatusMessage({\n isOpen,\n selectedItem,\n resultCount,\n previousResultCount,\n itemToString,\n}) {\n if (!isOpen) {\n return selectedItem ? itemToString(selectedItem) : ''\n }\n if (!resultCount) {\n return 'No results are available.'\n }\n if (resultCount !== previousResultCount) {\n return `${resultCount} result${\n resultCount === 1 ? ' is' : 's are'\n } available, use up and down arrow keys to navigate. Press Enter key to select.`\n }\n return ''\n}\n\n/**\n * Takes an argument and if it's an array, returns the first item in the array\n * otherwise returns the argument\n * @param {*} arg the maybe-array\n * @param {*} defaultValue the value if arg is falsey not defined\n * @return {*} the arg or it's first item\n */\nfunction unwrapArray(arg, defaultValue) {\n arg = Array.isArray(arg) ? /* istanbul ignore next (preact) */ arg[0] : arg\n if (!arg && defaultValue) {\n return defaultValue\n } else {\n return arg\n }\n}\n\n/**\n * @param {Object} element (P)react element\n * @return {Boolean} whether it's a DOM element\n */\nfunction isDOMElement(element) {\n /* istanbul ignore if */\n if (isPreact) {\n // then this is preact\n return typeof element.nodeName === 'string'\n }\n\n // then we assume this is react\n return typeof element.type === 'string'\n}\n\n/**\n * @param {Object} element (P)react element\n * @return {Object} the props\n */\nfunction getElementProps(element) {\n // props for react, attributes for preact\n\n /* istanbul ignore if */\n if (isPreact) {\n return element.attributes\n }\n\n return element.props\n}\n\n/**\n * Throws a helpful error message for required properties. Useful\n * to be used as a default in destructuring or object params.\n * @param {String} fnName the function name\n * @param {String} propName the prop name\n */\nfunction requiredProp(fnName, propName) {\n // eslint-disable-next-line no-console\n console.error(`The property \"${propName}\" is required in \"${fnName}\"`)\n}\n\nconst stateKeys = [\n 'highlightedIndex',\n 'inputValue',\n 'isOpen',\n 'selectedItem',\n 'type',\n]\n/**\n * @param {Object} state the state object\n * @return {Object} state that is relevant to downshift\n */\nfunction pickState(state = {}) {\n const result = {}\n stateKeys.forEach(k => {\n if (state.hasOwnProperty(k)) {\n result[k] = state[k]\n }\n })\n return result\n}\n\n/**\n * Normalizes the 'key' property of a KeyboardEvent in IE/Edge\n * @param {Object} event a keyboardEvent object\n * @return {String} keyboard key\n */\nfunction normalizeArrowKey(event) {\n const {key, keyCode} = event\n /* istanbul ignore next (ie) */\n if (keyCode >= 37 && keyCode <= 40 && key.indexOf('Arrow') !== 0) {\n return `Arrow${key}`\n }\n return key\n}\n\n/**\n * Simple check if the value passed is object literal\n * @param {*} obj any things\n * @return {Boolean} whether it's object literal\n */\nfunction isPlainObject(obj) {\n return Object.prototype.toString.call(obj) === '[object Object]'\n}\n\n/**\n * Returns the new index in the list, in a circular way. If next value is out of bonds from the total,\n * it will wrap to either 0 or itemCount - 1.\n *\n * @param {number} moveAmount Number of positions to move. Negative to move backwards, positive forwards.\n * @param {number} baseIndex The initial position to move from.\n * @param {number} itemCount The total number of items.\n * @returns {number} The new index after the move.\n */\nfunction getNextWrappingIndex(moveAmount, baseIndex, itemCount) {\n const itemsLastIndex = itemCount - 1\n\n if (\n typeof baseIndex !== 'number' ||\n baseIndex < 0 ||\n baseIndex >= itemCount\n ) {\n baseIndex = moveAmount > 0 ? -1 : itemsLastIndex + 1\n }\n let newIndex = baseIndex + moveAmount\n if (newIndex < 0) {\n newIndex = itemsLastIndex\n } else if (newIndex > itemsLastIndex) {\n newIndex = 0\n }\n return newIndex\n}\n\nexport {\n cbToCb,\n callAllEventHandlers,\n callAll,\n debounce,\n scrollIntoView,\n generateId,\n getA11yStatusMessage,\n unwrapArray,\n isDOMElement,\n getElementProps,\n isOrContainsNode,\n noop,\n requiredProp,\n setIdCounter,\n resetIdCounter,\n pickState,\n isPlainObject,\n normalizeArrowKey,\n getNextWrappingIndex,\n}\n","import {debounce} from './utils'\n\nlet statusDiv\n\nconst cleanupStatus = debounce(() => {\n getStatusDiv().textContent = ''\n}, 500)\n\n/**\n * @param {String} status the status message\n * @param {Object} documentProp document passed by the user.\n */\nfunction setStatus(status, documentProp) {\n const div = getStatusDiv(documentProp)\n if (!status) {\n return\n }\n\n div.textContent = status\n cleanupStatus()\n}\n\n/**\n * Get the status node or create it if it does not already exist.\n * @param {Object} documentProp document passed by the user.\n * @return {HTMLElement} the status node.\n */\nfunction getStatusDiv(documentProp = document) {\n if (statusDiv) {\n return statusDiv\n }\n\n statusDiv = documentProp.createElement('div')\n statusDiv.setAttribute('id', 'a11y-status-message')\n statusDiv.setAttribute('role', 'status')\n statusDiv.setAttribute('aria-live', 'polite')\n statusDiv.setAttribute('aria-relevant', 'additions text')\n Object.assign(statusDiv.style, {\n border: '0',\n clip: 'rect(0 0 0 0)',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: '0',\n position: 'absolute',\n width: '1px',\n })\n documentProp.body.appendChild(statusDiv)\n return statusDiv\n}\n\nexport default setStatus\n","import productionEnum from './productionEnum.macro'\n\nexport const unknown = productionEnum('__autocomplete_unknown__')\nexport const mouseUp = productionEnum('__autocomplete_mouseup__')\nexport const itemMouseEnter = productionEnum('__autocomplete_item_mouseenter__')\nexport const keyDownArrowUp = productionEnum(\n '__autocomplete_keydown_arrow_up__',\n)\nexport const keyDownArrowDown = productionEnum(\n '__autocomplete_keydown_arrow_down__',\n)\nexport const keyDownEscape = productionEnum('__autocomplete_keydown_escape__')\nexport const keyDownEnter = productionEnum('__autocomplete_keydown_enter__')\nexport const keyDownHome = productionEnum('__autocomplete_keydown_home__')\nexport const keyDownEnd = productionEnum('__autocomplete_keydown_end__')\nexport const clickItem = productionEnum('__autocomplete_click_item__')\nexport const blurInput = productionEnum('__autocomplete_blur_input__')\nexport const changeInput = productionEnum('__autocomplete_change_input__')\nexport const keyDownSpaceButton = productionEnum(\n '__autocomplete_keydown_space_button__',\n)\nexport const clickButton = productionEnum('__autocomplete_click_button__')\nexport const blurButton = productionEnum('__autocomplete_blur_button__')\nexport const controlledPropUpdatedSelectedItem = productionEnum(\n '__autocomplete_controlled_prop_updated_selected_item__',\n)\nexport const touchEnd = productionEnum('__autocomplete_touchend__')\n","/* eslint camelcase:0 */\n\nimport PropTypes from 'prop-types'\nimport React, {Component} from 'react'\nimport {isForwardRef} from 'react-is'\nimport {isPreact, isReactNative} from './is.macro'\nimport setA11yStatus from './set-a11y-status'\nimport * as stateChangeTypes from './stateChangeTypes'\nimport {\n callAll,\n callAllEventHandlers,\n cbToCb,\n debounce,\n generateId,\n getA11yStatusMessage,\n getElementProps,\n isDOMElement,\n isOrContainsNode,\n isPlainObject,\n noop,\n normalizeArrowKey,\n pickState,\n requiredProp,\n scrollIntoView,\n unwrapArray,\n getNextWrappingIndex,\n} from './utils'\n\nclass Downshift extends Component {\n static propTypes = {\n children: PropTypes.func,\n defaultHighlightedIndex: PropTypes.number,\n defaultIsOpen: PropTypes.bool,\n initialHighlightedIndex: PropTypes.number,\n initialSelectedItem: PropTypes.any,\n initialInputValue: PropTypes.string,\n initialIsOpen: PropTypes.bool,\n getA11yStatusMessage: PropTypes.func,\n itemToString: PropTypes.func,\n onChange: PropTypes.func,\n onSelect: PropTypes.func,\n onStateChange: PropTypes.func,\n onInputValueChange: PropTypes.func,\n onUserAction: PropTypes.func,\n onOuterClick: PropTypes.func,\n selectedItemChanged: PropTypes.func,\n stateReducer: PropTypes.func,\n itemCount: PropTypes.number,\n id: PropTypes.string,\n environment: PropTypes.shape({\n addEventListener: PropTypes.func,\n removeEventListener: PropTypes.func,\n document: PropTypes.shape({\n getElementById: PropTypes.func,\n activeElement: PropTypes.any,\n body: PropTypes.any,\n }),\n }),\n suppressRefError: PropTypes.bool,\n scrollIntoView: PropTypes.func,\n // things we keep in state for uncontrolled components\n // but can accept as props for controlled components\n /* eslint-disable react/no-unused-prop-types */\n selectedItem: PropTypes.any,\n isOpen: PropTypes.bool,\n inputValue: PropTypes.string,\n highlightedIndex: PropTypes.number,\n labelId: PropTypes.string,\n inputId: PropTypes.string,\n menuId: PropTypes.string,\n getItemId: PropTypes.func,\n /* eslint-enable react/no-unused-prop-types */\n }\n\n static defaultProps = {\n defaultHighlightedIndex: null,\n defaultIsOpen: false,\n getA11yStatusMessage,\n itemToString: i => {\n if (i == null) {\n return ''\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n isPlainObject(i) &&\n !i.hasOwnProperty('toString')\n ) {\n // eslint-disable-next-line no-console\n console.warn(\n 'downshift: An object was passed to the default implementation of `itemToString`. You should probably provide your own `itemToString` implementation. Please refer to the `itemToString` API documentation.',\n 'The object that was passed:',\n i,\n )\n }\n return String(i)\n },\n onStateChange: noop,\n onInputValueChange: noop,\n onUserAction: noop,\n onChange: noop,\n onSelect: noop,\n onOuterClick: noop,\n selectedItemChanged: (prevItem, item) => prevItem !== item,\n environment:\n typeof window === 'undefined' /* istanbul ignore next (ssr) */\n ? {}\n : window,\n stateReducer: (state, stateToSet) => stateToSet,\n suppressRefError: false,\n scrollIntoView,\n }\n\n static stateChangeTypes = stateChangeTypes\n\n constructor(props) {\n super(props)\n // fancy destructuring + defaults + aliases\n // this basically says each value of state should either be set to\n // the initial value or the default value if the initial value is not provided\n const {\n defaultHighlightedIndex,\n initialHighlightedIndex: highlightedIndex = defaultHighlightedIndex,\n defaultIsOpen,\n initialIsOpen: isOpen = defaultIsOpen,\n initialInputValue: inputValue = '',\n initialSelectedItem: selectedItem = null,\n } = this.props\n const state = this.getState({\n highlightedIndex,\n isOpen,\n inputValue,\n selectedItem,\n })\n if (\n state.selectedItem != null &&\n this.props.initialInputValue === undefined\n ) {\n state.inputValue = this.props.itemToString(state.selectedItem)\n }\n this.state = state\n }\n\n id = this.props.id || `downshift-${generateId()}`\n menuId = this.props.menuId || `${this.id}-menu`\n labelId = this.props.labelId || `${this.id}-label`\n inputId = this.props.inputId || `${this.id}-input`\n getItemId = this.props.getItemId || (index => `${this.id}-item-${index}`)\n\n input = null\n items = []\n // itemCount can be changed asynchronously\n // from within downshift (so it can't come from a prop)\n // this is why we store it as an instance and use\n // getItemCount rather than just use items.length\n // (to support windowing + async)\n itemCount = null\n previousResultCount = 0\n\n timeoutIds = []\n\n /**\n * @param {Function} fn the function to call after the time\n * @param {Number} time the time to wait\n */\n internalSetTimeout = (fn, time) => {\n const id = setTimeout(() => {\n this.timeoutIds = this.timeoutIds.filter(i => i !== id)\n fn()\n }, time)\n\n this.timeoutIds.push(id)\n }\n\n /**\n * Clear all running timeouts\n */\n internalClearTimeouts() {\n this.timeoutIds.forEach(id => {\n clearTimeout(id)\n })\n\n this.timeoutIds = []\n }\n\n /**\n * Gets the state based on internal state or props\n * If a state value is passed via props, then that\n * is the value given, otherwise it's retrieved from\n * stateToMerge\n *\n * This will perform a shallow merge of the given state object\n * with the state coming from props\n * (for the controlled component scenario)\n * This is used in state updater functions so they're referencing\n * the right state regardless of where it comes from.\n *\n * @param {Object} stateToMerge defaults to this.state\n * @return {Object} the state\n */\n getState(stateToMerge = this.state) {\n return Object.keys(stateToMerge).reduce((state, key) => {\n state[key] = this.isControlledProp(key)\n ? this.props[key]\n : stateToMerge[key]\n return state\n }, {})\n }\n\n /**\n * This determines whether a prop is a \"controlled prop\" meaning it is\n * state which is controlled by the outside of this component rather\n * than within this component.\n * @param {String} key the key to check\n * @return {Boolean} whether it is a controlled controlled prop\n */\n isControlledProp(key) {\n return this.props[key] !== undefined\n }\n\n getItemCount() {\n // things read better this way. They're in priority order:\n // 1. `this.itemCount`\n // 2. `this.props.itemCount`\n // 3. `this.items.length`\n let itemCount = this.items.length\n if (this.itemCount != null) {\n itemCount = this.itemCount\n } else if (this.props.itemCount !== undefined) {\n itemCount = this.props.itemCount\n }\n return itemCount\n }\n\n setItemCount = count => {\n this.itemCount = count\n }\n\n unsetItemCount = () => {\n this.itemCount = null\n }\n\n getItemNodeFromIndex(index) {\n return this.props.environment.document.getElementById(this.getItemId(index))\n }\n\n setHighlightedIndex = (\n highlightedIndex = this.props.defaultHighlightedIndex,\n otherStateToSet = {},\n ) => {\n otherStateToSet = pickState(otherStateToSet)\n this.internalSetState({highlightedIndex, ...otherStateToSet})\n }\n\n scrollHighlightedItemIntoView() {\n /* istanbul ignore else (react-native) */\n if (!isReactNative) {\n const node = this.getItemNodeFromIndex(this.getState().highlightedIndex)\n this.props.scrollIntoView(node, this._menuNode)\n }\n }\n\n moveHighlightedIndex(amount, otherStateToSet) {\n const itemCount = this.getItemCount()\n if (itemCount > 0) {\n const nextHighlightedIndex = getNextWrappingIndex(\n amount,\n this.getState().highlightedIndex,\n itemCount,\n )\n this.setHighlightedIndex(nextHighlightedIndex, otherStateToSet)\n }\n }\n\n highlightFirstOrLastIndex(event, first, otherStateToSet) {\n const itemsLastIndex = this.getItemCount() - 1\n if (itemsLastIndex < 0 || !this.getState().isOpen) {\n return\n }\n event.preventDefault()\n this.setHighlightedIndex(first ? 0 : itemsLastIndex, otherStateToSet)\n }\n\n clearSelection = cb => {\n this.internalSetState(\n {\n selectedItem: null,\n inputValue: '',\n highlightedIndex: this.props.defaultHighlightedIndex,\n isOpen: this.props.defaultIsOpen,\n },\n cb,\n )\n }\n\n selectItem = (item, otherStateToSet, cb) => {\n otherStateToSet = pickState(otherStateToSet)\n this.internalSetState(\n {\n isOpen: this.props.defaultIsOpen,\n highlightedIndex: this.props.defaultHighlightedIndex,\n selectedItem: item,\n inputValue: this.props.itemToString(item),\n ...otherStateToSet,\n },\n cb,\n )\n }\n\n selectItemAtIndex = (itemIndex, otherStateToSet, cb) => {\n const item = this.items[itemIndex]\n if (item == null) {\n return\n }\n this.selectItem(item, otherStateToSet, cb)\n }\n\n selectHighlightedItem = (otherStateToSet, cb) => {\n return this.selectItemAtIndex(\n this.getState().highlightedIndex,\n otherStateToSet,\n cb,\n )\n }\n\n // any piece of our state can live in two places:\n // 1. Uncontrolled: it's internal (this.state)\n // We will call this.setState to update that state\n // 2. Controlled: it's external (this.props)\n // We will call this.props.onStateChange to update that state\n //\n // In addition, we'll call this.props.onChange if the\n // selectedItem is changed.\n internalSetState = (stateToSet, cb) => {\n let isItemSelected, onChangeArg\n\n const onStateChangeArg = {}\n const isStateToSetFunction = typeof stateToSet === 'function'\n\n // we want to call `onInputValueChange` before the `setState` call\n // so someone controlling the `inputValue` state gets notified of\n // the input change as soon as possible. This avoids issues with\n // preserving the cursor position.\n // See https://github.com/downshift-js/downshift/issues/217 for more info.\n if (!isStateToSetFunction && stateToSet.hasOwnProperty('inputValue')) {\n this.props.onInputValueChange(stateToSet.inputValue, {\n ...this.getStateAndHelpers(),\n ...stateToSet,\n })\n }\n return this.setState(\n state => {\n state = this.getState(state)\n let newStateToSet = isStateToSetFunction\n ? stateToSet(state)\n : stateToSet\n\n // Your own function that could modify the state that will be set.\n newStateToSet = this.props.stateReducer(state, newStateToSet)\n\n // checks if an item is selected, regardless of if it's different from\n // what was selected before\n // used to determine if onSelect and onChange callbacks should be called\n isItemSelected = newStateToSet.hasOwnProperty('selectedItem')\n // this keeps track of the object we want to call with setState\n const nextState = {}\n // this is just used to tell whether the state changed\n const nextFullState = {}\n // we need to call on change if the outside world is controlling any of our state\n // and we're trying to update that state. OR if the selection has changed and we're\n // trying to update the selection\n if (\n isItemSelected &&\n newStateToSet.selectedItem !== state.selectedItem\n ) {\n onChangeArg = newStateToSet.selectedItem\n }\n newStateToSet.type = newStateToSet.type || stateChangeTypes.unknown\n\n Object.keys(newStateToSet).forEach(key => {\n // onStateChangeArg should only have the state that is\n // actually changing\n if (state[key] !== newStateToSet[key]) {\n onStateChangeArg[key] = newStateToSet[key]\n }\n // the type is useful for the onStateChangeArg\n // but we don't actually want to set it in internal state.\n // this is an undocumented feature for now... Not all internalSetState\n // calls support it and I'm not certain we want them to yet.\n // But it enables users controlling the isOpen state to know when\n // the isOpen state changes due to mouseup events which is quite handy.\n if (key === 'type') {\n return\n }\n nextFullState[key] = newStateToSet[key]\n // if it's coming from props, then we don't care to set it internally\n if (!this.isControlledProp(key)) {\n nextState[key] = newStateToSet[key]\n }\n })\n\n // if stateToSet is a function, then we weren't able to call onInputValueChange\n // earlier, so we'll call it now that we know what the inputValue state will be.\n if (\n isStateToSetFunction &&\n newStateToSet.hasOwnProperty('inputValue')\n ) {\n this.props.onInputValueChange(newStateToSet.inputValue, {\n ...this.getStateAndHelpers(),\n ...newStateToSet,\n })\n }\n\n return nextState\n },\n () => {\n // call the provided callback if it's a function\n cbToCb(cb)()\n\n // only call the onStateChange and onChange callbacks if\n // we have relevant information to pass them.\n const hasMoreStateThanType = Object.keys(onStateChangeArg).length > 1\n if (hasMoreStateThanType) {\n this.props.onStateChange(onStateChangeArg, this.getStateAndHelpers())\n }\n\n if (isItemSelected) {\n this.props.onSelect(\n stateToSet.selectedItem,\n this.getStateAndHelpers(),\n )\n }\n\n if (onChangeArg !== undefined) {\n this.props.onChange(onChangeArg, this.getStateAndHelpers())\n }\n // this is currently undocumented and therefore subject to change\n // We'll try to not break it, but just be warned.\n this.props.onUserAction(onStateChangeArg, this.getStateAndHelpers())\n },\n )\n }\n\n getStateAndHelpers() {\n const {highlightedIndex, inputValue, selectedItem, isOpen} = this.getState()\n const {itemToString} = this.props\n const {id} = this\n const {\n getRootProps,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getInputProps,\n getItemProps,\n openMenu,\n closeMenu,\n toggleMenu,\n selectItem,\n selectItemAtIndex,\n selectHighlightedItem,\n setHighlightedIndex,\n clearSelection,\n clearItems,\n reset,\n setItemCount,\n unsetItemCount,\n internalSetState: setState,\n } = this\n return {\n // prop getters\n getRootProps,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getInputProps,\n getItemProps,\n\n // actions\n reset,\n openMenu,\n closeMenu,\n toggleMenu,\n selectItem,\n selectItemAtIndex,\n selectHighlightedItem,\n setHighlightedIndex,\n clearSelection,\n clearItems,\n setItemCount,\n unsetItemCount,\n setState,\n\n // props\n itemToString,\n\n // derived\n id,\n\n // state\n highlightedIndex,\n inputValue,\n isOpen,\n selectedItem,\n }\n }\n\n //////////////////////////// ROOT\n\n rootRef = node => (this._rootNode = node)\n\n getRootProps = (\n {refKey = 'ref', ref, ...rest} = {},\n {suppressRefError = false} = {},\n ) => {\n // this is used in the render to know whether the user has called getRootProps.\n // It uses that to know whether to apply the props automatically\n this.getRootProps.called = true\n this.getRootProps.refKey = refKey\n this.getRootProps.suppressRefError = suppressRefError\n const {isOpen} = this.getState()\n return {\n [refKey]: callAll(ref, this.rootRef),\n role: 'combobox',\n 'aria-expanded': isOpen,\n 'aria-haspopup': 'listbox',\n 'aria-owns': isOpen ? this.menuId : null,\n 'aria-labelledby': this.labelId,\n ...rest,\n }\n }\n\n //\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ ROOT\n\n keyDownHandlers = {\n ArrowDown(event) {\n event.preventDefault()\n\n if (this.getState().isOpen) {\n const amount = event.shiftKey ? 5 : 1\n this.moveHighlightedIndex(amount, {\n type: stateChangeTypes.keyDownArrowDown,\n })\n } else {\n this.internalSetState(\n {\n isOpen: true,\n type: stateChangeTypes.keyDownArrowDown,\n },\n () => {\n const itemCount = this.getItemCount()\n if (itemCount > 0) {\n this.setHighlightedIndex(\n getNextWrappingIndex(\n 1,\n this.getState().highlightedIndex,\n itemCount,\n ),\n {type: stateChangeTypes.keyDownArrowDown},\n )\n }\n },\n )\n }\n },\n\n ArrowUp(event) {\n event.preventDefault()\n\n if (this.getState().isOpen) {\n const amount = event.shiftKey ? -5 : -1\n this.moveHighlightedIndex(amount, {\n type: stateChangeTypes.keyDownArrowUp,\n })\n } else {\n this.internalSetState(\n {\n isOpen: true,\n type: stateChangeTypes.keyDownArrowUp,\n },\n () => {\n const itemCount = this.getItemCount()\n if (itemCount > 0) {\n this.setHighlightedIndex(\n getNextWrappingIndex(\n -1,\n this.getState().highlightedIndex,\n itemCount,\n ),\n {type: stateChangeTypes.keyDownArrowDown},\n )\n }\n },\n )\n }\n },\n\n Enter(event) {\n const {isOpen, highlightedIndex} = this.getState()\n if (isOpen && highlightedIndex != null) {\n event.preventDefault()\n const item = this.items[highlightedIndex]\n const itemNode = this.getItemNodeFromIndex(highlightedIndex)\n if (item == null || (itemNode && itemNode.hasAttribute('disabled'))) {\n return\n }\n this.selectHighlightedItem({\n type: stateChangeTypes.keyDownEnter,\n })\n }\n },\n\n Escape(event) {\n event.preventDefault()\n this.reset({\n type: stateChangeTypes.keyDownEscape,\n selectedItem: null,\n inputValue: '',\n })\n },\n }\n\n //////////////////////////// BUTTON\n\n buttonKeyDownHandlers = {\n ...this.keyDownHandlers,\n\n ' '(event) {\n event.preventDefault()\n this.toggleMenu({type: stateChangeTypes.keyDownSpaceButton})\n },\n }\n\n inputKeyDownHandlers = {\n ...this.keyDownHandlers,\n Home(event) {\n this.highlightFirstOrLastIndex(event, true, {\n type: stateChangeTypes.keyDownHome,\n })\n },\n\n End(event) {\n this.highlightFirstOrLastIndex(event, false, {\n type: stateChangeTypes.keyDownEnd,\n })\n },\n }\n\n getToggleButtonProps = ({\n onClick,\n onPress,\n onKeyDown,\n onKeyUp,\n onBlur,\n ...rest\n } = {}) => {\n const {isOpen} = this.getState()\n const enabledEventHandlers = isReactNative\n ? /* istanbul ignore next (react-native) */\n {\n onPress: callAllEventHandlers(onPress, this.buttonHandleClick),\n }\n : {\n onClick: callAllEventHandlers(onClick, this.buttonHandleClick),\n onKeyDown: callAllEventHandlers(onKeyDown, this.buttonHandleKeyDown),\n onKeyUp: callAllEventHandlers(onKeyUp, this.buttonHandleKeyUp),\n onBlur: callAllEventHandlers(onBlur, this.buttonHandleBlur),\n }\n const eventHandlers = rest.disabled ? {} : enabledEventHandlers\n return {\n type: 'button',\n role: 'button',\n 'aria-label': isOpen ? 'close menu' : 'open menu',\n 'aria-haspopup': true,\n 'data-toggle': true,\n ...eventHandlers,\n ...rest,\n }\n }\n\n buttonHandleKeyUp = event => {\n // Prevent click event from emitting in Firefox\n event.preventDefault()\n }\n\n buttonHandleKeyDown = event => {\n const key = normalizeArrowKey(event)\n if (this.buttonKeyDownHandlers[key]) {\n this.buttonKeyDownHandlers[key].call(this, event)\n }\n }\n\n buttonHandleClick = event => {\n event.preventDefault()\n // handle odd case for Safari and Firefox which\n // don't give the button the focus properly.\n /* istanbul ignore if (can't reasonably test this) */\n if (\n !isReactNative &&\n this.props.environment.document.activeElement ===\n this.props.environment.document.body\n ) {\n event.target.focus()\n }\n // to simplify testing components that use downshift, we'll not wrap this in a setTimeout\n // if the NODE_ENV is test. With the proper build system, this should be dead code eliminated\n // when building for production and should therefore have no impact on production code.\n if (process.env.NODE_ENV === 'test') {\n this.toggleMenu({type: stateChangeTypes.clickButton})\n } else {\n // Ensure that toggle of menu occurs after the potential blur event in iOS\n this.internalSetTimeout(() =>\n this.toggleMenu({type: stateChangeTypes.clickButton}),\n )\n }\n }\n\n buttonHandleBlur = event => {\n const blurTarget = event.target // Save blur target for comparison with activeElement later\n // Need setTimeout, so that when the user presses Tab, the activeElement is the next focused element, not body element\n this.internalSetTimeout(() => {\n if (\n !this.isMouseDown &&\n (this.props.environment.document.activeElement == null ||\n this.props.environment.document.activeElement.id !== this.inputId) &&\n this.props.environment.document.activeElement !== blurTarget // Do nothing if we refocus the same element again (to solve issue in Safari on iOS)\n ) {\n this.reset({type: stateChangeTypes.blurButton})\n }\n })\n }\n\n //\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ BUTTON\n\n /////////////////////////////// LABEL\n\n getLabelProps = props => {\n return {htmlFor: this.inputId, id: this.labelId, ...props}\n }\n\n //\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ LABEL\n\n /////////////////////////////// INPUT\n\n getInputProps = ({\n onKeyDown,\n onBlur,\n onChange,\n onInput,\n onChangeText,\n ...rest\n } = {}) => {\n let onChangeKey\n let eventHandlers = {}\n\n /* istanbul ignore next (preact) */\n if (isPreact) {\n onChangeKey = 'onInput'\n } else {\n onChangeKey = 'onChange'\n }\n const {inputValue, isOpen, highlightedIndex} = this.getState()\n\n if (!rest.disabled) {\n eventHandlers = {\n [onChangeKey]: callAllEventHandlers(\n onChange,\n onInput,\n this.inputHandleChange,\n ),\n onKeyDown: callAllEventHandlers(onKeyDown, this.inputHandleKeyDown),\n onBlur: callAllEventHandlers(onBlur, this.inputHandleBlur),\n }\n }\n\n /* istanbul ignore if (react-native) */\n if (isReactNative) {\n eventHandlers = {\n onChange: callAllEventHandlers(\n onChange,\n onInput,\n this.inputHandleChange,\n ),\n onChangeText: callAllEventHandlers(\n onChangeText,\n onInput,\n text => this.inputHandleChange({nativeEvent: {text}}),\n this.inputHandleTextChange,\n ),\n onBlur: callAllEventHandlers(onBlur, this.inputHandleBlur),\n }\n }\n\n return {\n 'aria-autocomplete': 'list',\n 'aria-activedescendant':\n isOpen && typeof highlightedIndex === 'number' && highlightedIndex >= 0\n ? this.getItemId(highlightedIndex)\n : null,\n 'aria-controls': isOpen ? this.menuId : null,\n 'aria-labelledby': this.labelId,\n // https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion\n // revert back since autocomplete=\"nope\" is ignored on latest Chrome and Opera\n autoComplete: 'off',\n value: inputValue,\n id: this.inputId,\n ...eventHandlers,\n ...rest,\n }\n }\n\n inputHandleKeyDown = event => {\n const key = normalizeArrowKey(event)\n if (key && this.inputKeyDownHandlers[key]) {\n this.inputKeyDownHandlers[key].call(this, event)\n }\n }\n\n inputHandleChange = event => {\n this.internalSetState({\n type: stateChangeTypes.changeInput,\n isOpen: true,\n inputValue: isReactNative\n ? /* istanbul ignore next (react-native) */ event.nativeEvent.text\n : event.target.value,\n highlightedIndex: this.props.defaultHighlightedIndex,\n })\n }\n\n inputHandleBlur = () => {\n // Need setTimeout, so that when the user presses Tab, the activeElement is the next focused element, not the body element\n this.internalSetTimeout(() => {\n const downshiftButtonIsActive =\n this.props.environment.document &&\n !!this.props.environment.document.activeElement &&\n !!this.props.environment.document.activeElement.dataset &&\n this.props.environment.document.activeElement.dataset.toggle &&\n (this._rootNode &&\n this._rootNode.contains(\n this.props.environment.document.activeElement,\n ))\n if (!this.isMouseDown && !downshiftButtonIsActive) {\n this.reset({type: stateChangeTypes.blurInput})\n }\n })\n }\n\n //\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ INPUT\n\n /////////////////////////////// MENU\n\n menuRef = node => {\n this._menuNode = node\n }\n\n getMenuProps = (\n {refKey = 'ref', ref, ...props} = {},\n {suppressRefError = false} = {},\n ) => {\n this.getMenuProps.called = true\n this.getMenuProps.refKey = refKey\n this.getMenuProps.suppressRefError = suppressRefError\n\n return {\n [refKey]: callAll(ref, this.menuRef),\n role: 'listbox',\n 'aria-labelledby': props && props['aria-label'] ? null : this.labelId,\n id: this.menuId,\n ...props,\n }\n }\n //\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ MENU\n\n /////////////////////////////// ITEM\n getItemProps = ({\n onMouseMove,\n onMouseDown,\n onClick,\n onPress,\n index,\n item = process.env.NODE_ENV === 'production'\n ? /* istanbul ignore next */ undefined\n : requiredProp('getItemProps', 'item'),\n ...rest\n } = {}) => {\n if (index === undefined) {\n this.items.push(item)\n index = this.items.indexOf(item)\n } else {\n this.items[index] = item\n }\n\n const onSelectKey = isReactNative\n ? /* istanbul ignore next (react-native) */ 'onPress'\n : 'onClick'\n const customClickHandler = isReactNative\n ? /* istanbul ignore next (react-native) */ onPress\n : onClick\n\n const enabledEventHandlers = {\n // onMouseMove is used over onMouseEnter here. onMouseMove\n // is only triggered on actual mouse movement while onMouseEnter\n // can fire on DOM changes, interrupting keyboard navigation\n onMouseMove: callAllEventHandlers(onMouseMove, () => {\n if (index === this.getState().highlightedIndex) {\n return\n }\n this.setHighlightedIndex(index, {\n type: stateChangeTypes.itemMouseEnter,\n })\n\n // We never want to manually scroll when changing state based\n // on `onMouseMove` because we will be moving the element out\n // from under the user which is currently scrolling/moving the\n // cursor\n this.avoidScrolling = true\n this.internalSetTimeout(() => (this.avoidScrolling = false), 250)\n }),\n onMouseDown: callAllEventHandlers(onMouseDown, event => {\n // This prevents the activeElement from being changed\n // to the item so it can remain with the current activeElement\n // which is a more common use case.\n event.preventDefault()\n }),\n [onSelectKey]: callAllEventHandlers(customClickHandler, () => {\n this.selectItemAtIndex(index, {\n type: stateChangeTypes.clickItem,\n })\n }),\n }\n\n // Passing down the onMouseDown handler to prevent redirect\n // of the activeElement if clicking on disabled items\n const eventHandlers = rest.disabled\n ? {onMouseDown: enabledEventHandlers.onMouseDown}\n : enabledEventHandlers\n\n return {\n id: this.getItemId(index),\n role: 'option',\n 'aria-selected': this.getState().highlightedIndex === index,\n ...eventHandlers,\n ...rest,\n }\n }\n //\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ ITEM\n\n clearItems = () => {\n this.items = []\n }\n\n reset = (otherStateToSet = {}, cb) => {\n otherStateToSet = pickState(otherStateToSet)\n this.internalSetState(\n ({selectedItem}) => ({\n isOpen: this.props.defaultIsOpen,\n highlightedIndex: this.props.defaultHighlightedIndex,\n inputValue: this.props.itemToString(selectedItem),\n ...otherStateToSet,\n }),\n cb,\n )\n }\n\n toggleMenu = (otherStateToSet = {}, cb) => {\n otherStateToSet = pickState(otherStateToSet)\n this.internalSetState(\n ({isOpen}) => {\n return {\n isOpen: !isOpen,\n ...(isOpen && {\n highlightedIndex: this.props.defaultHighlightedIndex,\n }),\n ...otherStateToSet,\n }\n },\n () => {\n const {isOpen, highlightedIndex} = this.getState()\n if (isOpen) {\n if (this.getItemCount() > 0 && typeof highlightedIndex === 'number') {\n this.setHighlightedIndex(highlightedIndex, otherStateToSet)\n }\n }\n cbToCb(cb)()\n },\n )\n }\n\n openMenu = cb => {\n this.internalSetState({isOpen: true}, cb)\n }\n\n closeMenu = cb => {\n this.internalSetState({isOpen: false}, cb)\n }\n\n updateStatus = debounce(() => {\n const state = this.getState()\n const item = this.items[state.highlightedIndex]\n const resultCount = this.getItemCount()\n const status = this.props.getA11yStatusMessage({\n itemToString: this.props.itemToString,\n previousResultCount: this.previousResultCount,\n resultCount,\n highlightedItem: item,\n ...state,\n })\n this.previousResultCount = resultCount\n\n setA11yStatus(status, this.props.environment.document)\n }, 200)\n\n componentDidMount() {\n /* istanbul ignore if (react-native) */\n if (\n process.env.NODE_ENV !== 'production' &&\n !isReactNative &&\n this.getMenuProps.called &&\n !this.getMenuProps.suppressRefError\n ) {\n validateGetMenuPropsCalledCorrectly(this._menuNode, this.getMenuProps)\n }\n\n /* istanbul ignore if (react-native) */\n if (isReactNative) {\n this.cleanup = () => {\n this.internalClearTimeouts()\n }\n } else {\n const targetWithinDownshift = (target, checkActiveElement = true) => {\n const {document} = this.props.environment\n return [this._rootNode, this._menuNode].some(\n contextNode =>\n contextNode &&\n (isOrContainsNode(contextNode, target) ||\n (checkActiveElement &&\n isOrContainsNode(contextNode, document.activeElement))),\n )\n }\n // this.isMouseDown helps us track whether the mouse is currently held down.\n // This is useful when the user clicks on an item in the list, but holds the mouse\n // down long enough for the list to disappear (because the blur event fires on the input)\n // this.isMouseDown is used in the blur handler on the input to determine whether the blur event should\n // trigger hiding the menu.\n const onMouseDown = () => {\n this.isMouseDown = true\n }\n const onMouseUp = event => {\n this.isMouseDown = false\n // if the target element or the activeElement is within a downshift node\n // then we don't want to reset downshift\n const contextWithinDownshift = targetWithinDownshift(event.target)\n if (!contextWithinDownshift && this.getState().isOpen) {\n this.reset({type: stateChangeTypes.mouseUp}, () =>\n this.props.onOuterClick(this.getStateAndHelpers()),\n )\n }\n }\n // Touching an element in iOS gives focus and hover states, but touching out of\n // the element will remove hover, and persist the focus state, resulting in the\n // blur event not being triggered.\n // this.isTouchMove helps us track whether the user is tapping or swiping on a touch screen.\n // If the user taps outside of Downshift, the component should be reset,\n // but not if the user is swiping\n const onTouchStart = () => {\n this.isTouchMove = false\n }\n\n const onTouchMove = () => {\n this.isTouchMove = true\n }\n\n const onTouchEnd = event => {\n const contextWithinDownshift = targetWithinDownshift(\n event.target,\n false,\n )\n if (\n !this.isTouchMove &&\n !contextWithinDownshift &&\n this.getState().isOpen\n ) {\n this.reset({type: stateChangeTypes.touchEnd}, () =>\n this.props.onOuterClick(this.getStateAndHelpers()),\n )\n }\n }\n const {environment} = this.props\n\n environment.addEventListener('mousedown', onMouseDown)\n environment.addEventListener('mouseup', onMouseUp)\n environment.addEventListener('touchstart', onTouchStart)\n environment.addEventListener('touchmove', onTouchMove)\n environment.addEventListener('touchend', onTouchEnd)\n\n this.cleanup = () => {\n this.internalClearTimeouts()\n this.updateStatus.cancel()\n environment.removeEventListener('mousedown', onMouseDown)\n environment.removeEventListener('mouseup', onMouseUp)\n environment.removeEventListener('touchstart', onTouchStart)\n environment.removeEventListener('touchmove', onTouchMove)\n environment.removeEventListener('touchend', onTouchEnd)\n }\n }\n }\n\n shouldScroll(prevState, prevProps) {\n const {highlightedIndex: currentHighlightedIndex} =\n this.props.highlightedIndex === undefined ? this.getState() : this.props\n const {highlightedIndex: prevHighlightedIndex} =\n prevProps.highlightedIndex === undefined ? prevState : prevProps\n const scrollWhenOpen =\n currentHighlightedIndex && this.getState().isOpen && !prevState.isOpen\n const scrollWhenNavigating =\n currentHighlightedIndex !== prevHighlightedIndex\n\n return scrollWhenOpen || scrollWhenNavigating\n }\n\n componentDidUpdate(prevProps, prevState) {\n if (process.env.NODE_ENV !== 'production') {\n validateControlledUnchanged(prevProps, this.props)\n /* istanbul ignore if (react-native) */\n if (\n !isReactNative &&\n this.getMenuProps.called &&\n !this.getMenuProps.suppressRefError\n ) {\n validateGetMenuPropsCalledCorrectly(this._menuNode, this.getMenuProps)\n }\n }\n\n if (\n this.isControlledProp('selectedItem') &&\n this.props.selectedItemChanged(\n prevProps.selectedItem,\n this.props.selectedItem,\n )\n ) {\n this.internalSetState({\n type: stateChangeTypes.controlledPropUpdatedSelectedItem,\n inputValue: this.props.itemToString(this.props.selectedItem),\n })\n }\n\n if (!this.avoidScrolling && this.shouldScroll(prevState, prevProps)) {\n this.scrollHighlightedItemIntoView()\n }\n\n /* istanbul ignore else (react-native) */\n if (!isReactNative) {\n this.updateStatus()\n }\n }\n\n componentWillUnmount() {\n this.cleanup() // avoids memory leak\n }\n\n render() {\n const children = unwrapArray(this.props.children, noop)\n // because the items are rerendered every time we call the children\n // we clear this out each render and it will be populated again as\n // getItemProps is called.\n this.clearItems()\n // we reset this so we know whether the user calls getRootProps during\n // this render. If they do then we don't need to do anything,\n // if they don't then we need to clone the element they return and\n // apply the props for them.\n this.getRootProps.called = false\n this.getRootProps.refKey = undefined\n this.getRootProps.suppressRefError = undefined\n // we do something similar for getMenuProps\n this.getMenuProps.called = false\n this.getMenuProps.refKey = undefined\n this.getMenuProps.suppressRefError = undefined\n // we do something similar for getLabelProps\n this.getLabelProps.called = false\n // and something similar for getInputProps\n this.getInputProps.called = false\n const element = unwrapArray(children(this.getStateAndHelpers()))\n if (!element) {\n return null\n }\n\n if (this.getRootProps.called || this.props.suppressRefError) {\n if (\n process.env.NODE_ENV !== 'production' &&\n !this.getRootProps.suppressRefError &&\n !this.props.suppressRefError\n ) {\n validateGetRootPropsCalledCorrectly(element, this.getRootProps)\n }\n return element\n } else if (isDOMElement(element)) {\n // they didn't apply the root props, but we can clone\n // this and apply the props ourselves\n return React.cloneElement(\n element,\n this.getRootProps(getElementProps(element)),\n )\n }\n\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n // they didn't apply the root props, but they need to\n // otherwise we can't query around the autocomplete\n\n throw new Error(\n 'downshift: If you return a non-DOM element, you must use apply the getRootProps function',\n )\n }\n\n /* istanbul ignore next */\n return undefined\n }\n}\n\nexport default Downshift\n\nfunction validateGetMenuPropsCalledCorrectly(node, {refKey}) {\n if (!node) {\n // eslint-disable-next-line no-console\n console.error(\n `downshift: The ref prop \"${refKey}\" from getMenuProps was not applied correctly on your menu element.`,\n )\n }\n}\n\nfunction validateGetRootPropsCalledCorrectly(element, {refKey}) {\n const refKeySpecified = refKey !== 'ref'\n const isComposite = !isDOMElement(element)\n if (isComposite && !refKeySpecified && !isForwardRef(element)) {\n // eslint-disable-next-line no-console\n console.error(\n 'downshift: You returned a non-DOM element. You must specify a refKey in getRootProps',\n )\n } else if (!isComposite && refKeySpecified) {\n // eslint-disable-next-line no-console\n console.error(\n `downshift: You returned a DOM element. You should not specify a refKey in getRootProps. You specified \"${refKey}\"`,\n )\n }\n if (!isForwardRef(element) && !getElementProps(element)[refKey]) {\n // eslint-disable-next-line no-console\n console.error(\n `downshift: You must apply the ref prop \"${refKey}\" from getRootProps onto your root element.`,\n )\n }\n}\n\nfunction validateControlledUnchanged(prevProps, nextProps) {\n const warningDescription = `This prop should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled Downshift element for the lifetime of the component. More info: https://github.com/downshift-js/downshift#control-props`\n ;['selectedItem', 'isOpen', 'inputValue', 'highlightedIndex'].forEach(\n propKey => {\n if (\n prevProps[propKey] !== undefined &&\n nextProps[propKey] === undefined\n ) {\n // eslint-disable-next-line no-console\n console.error(\n `downshift: A component has changed the controlled prop \"${propKey}\" to be uncontrolled. ${warningDescription}`,\n )\n } else if (\n prevProps[propKey] === undefined &&\n nextProps[propKey] !== undefined\n ) {\n // eslint-disable-next-line no-console\n console.error(\n `downshift: A component has changed the uncontrolled prop \"${propKey}\" to be controlled. ${warningDescription}`,\n )\n }\n },\n )\n}\n","'use strict'\n\nvar isObject = function isObject(val) {\n return val !== null && !Array.isArray(val) && typeof val === 'object'\n}\n\nvar codes = {\n // ----------------------------------------\n // By Code\n // ----------------------------------------\n 3: 'Cancel',\n 6: 'Help',\n 8: 'Backspace',\n 9: 'Tab',\n 12: 'Clear',\n 13: 'Enter',\n 16: 'Shift',\n 17: 'Control',\n 18: 'Alt',\n 19: 'Pause',\n 20: 'CapsLock',\n 27: 'Escape',\n 28: 'Convert',\n 29: 'NonConvert',\n 30: 'Accept',\n 31: 'ModeChange',\n 32: ' ',\n 33: 'PageUp',\n 34: 'PageDown',\n 35: 'End',\n 36: 'Home',\n 37: 'ArrowLeft',\n 38: 'ArrowUp',\n 39: 'ArrowRight',\n 40: 'ArrowDown',\n 41: 'Select',\n 42: 'Print',\n 43: 'Execute',\n 44: 'PrintScreen',\n 45: 'Insert',\n 46: 'Delete',\n 48: ['0', ')'],\n 49: ['1', '!'],\n 50: ['2', '@'],\n 51: ['3', '#'],\n 52: ['4', '$'],\n 53: ['5', '%'],\n 54: ['6', '^'],\n 55: ['7', '&'],\n 56: ['8', '*'],\n 57: ['9', '('],\n 91: 'OS',\n 93: 'ContextMenu',\n 144: 'NumLock',\n 145: 'ScrollLock',\n 181: 'VolumeMute',\n 182: 'VolumeDown',\n 183: 'VolumeUp',\n 186: [';', ':'],\n 187: ['=', '+'],\n 188: [',', '<'],\n 189: ['-', '_'],\n 190: ['.', '>'],\n 191: ['/', '?'],\n 192: ['`', '~'],\n 219: ['[', '{'],\n 220: ['\\\\', '|'],\n 221: [']', '}'],\n 222: [\"'\", '\"'],\n 224: 'Meta',\n 225: 'AltGraph',\n 246: 'Attn',\n 247: 'CrSel',\n 248: 'ExSel',\n 249: 'EraseEof',\n 250: 'Play',\n 251: 'ZoomOut',\n}\n\n// Function Keys (F1-24)\nfor (var i = 0; i < 24; i += 1) {\n codes[112 + i] = 'F' + (i + 1)\n}\n\n// Alphabet (a-Z)\nfor (var j = 0; j < 26; j += 1) {\n var n = j + 65\n codes[n] = [String.fromCharCode(n + 32), String.fromCharCode(n)]\n}\n\nvar keyboardKey = {\n codes: codes,\n\n /**\n * Get the `keyCode` or `which` value from a keyboard event or `key` name.\n * @param {string|object} eventOrKey A keyboard event-like object or `key` name.\n * @param {string} [eventOrKey.key] If object, it must have one of these keys.\n * @param {string} [eventOrKey.keyCode] If object, it must have one of these keys.\n * @param {string} [eventOrKey.which] If object, it must have one of these keys.\n * @returns {*}\n */\n getCode: function getCode(eventOrKey) {\n if (isObject(eventOrKey)) {\n return eventOrKey.keyCode || eventOrKey.which || this[eventOrKey.key]\n }\n return this[eventOrKey]\n },\n\n /**\n * Get the key name from a keyboard event, `keyCode`, or `which` value.\n * @param {number|object} eventOrCode A keyboard event-like object or key code.\n * @param {number} [eventOrCode.key] If object with a `key` name, it will be returned.\n * @param {number} [eventOrCode.keyCode] If object, it must have one of these keys.\n * @param {number} [eventOrCode.which] If object, it must have one of these keys.\n * @param {number} [eventOrCode.shiftKey] If object, it must have one of these keys.\n * @returns {*}\n */\n getKey: function getKey(eventOrCode) {\n var isEvent = isObject(eventOrCode)\n\n // handle events with a `key` already defined\n if (isEvent && eventOrCode.key) {\n return eventOrCode.key\n }\n\n var name = codes[isEvent ? eventOrCode.keyCode || eventOrCode.which : eventOrCode]\n\n if (Array.isArray(name)) {\n if (isEvent) {\n name = name[eventOrCode.shiftKey ? 1 : 0]\n } else {\n name = name[0]\n }\n }\n\n return name\n },\n\n // ----------------------------------------\n // By Name\n // ----------------------------------------\n // declare these manually for static analysis\n Cancel: 3,\n Help: 6,\n Backspace: 8,\n Tab: 9,\n Clear: 12,\n Enter: 13,\n Shift: 16,\n Control: 17,\n Alt: 18,\n Pause: 19,\n CapsLock: 20,\n Escape: 27,\n Convert: 28,\n NonConvert: 29,\n Accept: 30,\n ModeChange: 31,\n ' ': 32,\n PageUp: 33,\n PageDown: 34,\n End: 35,\n Home: 36,\n ArrowLeft: 37,\n ArrowUp: 38,\n ArrowRight: 39,\n ArrowDown: 40,\n Select: 41,\n Print: 42,\n Execute: 43,\n PrintScreen: 44,\n Insert: 45,\n Delete: 46,\n 0: 48,\n ')': 48,\n 1: 49,\n '!': 49,\n 2: 50,\n '@': 50,\n 3: 51,\n '#': 51,\n 4: 52,\n $: 52,\n 5: 53,\n '%': 53,\n 6: 54,\n '^': 54,\n 7: 55,\n '&': 55,\n 8: 56,\n '*': 56,\n 9: 57,\n '(': 57,\n a: 65,\n A: 65,\n b: 66,\n B: 66,\n c: 67,\n C: 67,\n d: 68,\n D: 68,\n e: 69,\n E: 69,\n f: 70,\n F: 70,\n g: 71,\n G: 71,\n h: 72,\n H: 72,\n i: 73,\n I: 73,\n j: 74,\n J: 74,\n k: 75,\n K: 75,\n l: 76,\n L: 76,\n m: 77,\n M: 77,\n n: 78,\n N: 78,\n o: 79,\n O: 79,\n p: 80,\n P: 80,\n q: 81,\n Q: 81,\n r: 82,\n R: 82,\n s: 83,\n S: 83,\n t: 84,\n T: 84,\n u: 85,\n U: 85,\n v: 86,\n V: 86,\n w: 87,\n W: 87,\n x: 88,\n X: 88,\n y: 89,\n Y: 89,\n z: 90,\n Z: 90,\n OS: 91,\n ContextMenu: 93,\n F1: 112,\n F2: 113,\n F3: 114,\n F4: 115,\n F5: 116,\n F6: 117,\n F7: 118,\n F8: 119,\n F9: 120,\n F10: 121,\n F11: 122,\n F12: 123,\n F13: 124,\n F14: 125,\n F15: 126,\n F16: 127,\n F17: 128,\n F18: 129,\n F19: 130,\n F20: 131,\n F21: 132,\n F22: 133,\n F23: 134,\n F24: 135,\n NumLock: 144,\n ScrollLock: 145,\n VolumeMute: 181,\n VolumeDown: 182,\n VolumeUp: 183,\n ';': 186,\n ':': 186,\n '=': 187,\n '+': 187,\n ',': 188,\n '<': 188,\n '-': 189,\n _: 189,\n '.': 190,\n '>': 190,\n '/': 191,\n '?': 191,\n '`': 192,\n '~': 192,\n '[': 219,\n '{': 219,\n '\\\\': 220,\n '|': 220,\n ']': 221,\n '}': 221,\n \"'\": 222,\n '\"': 222,\n Meta: 224,\n AltGraph: 225,\n Attn: 246,\n CrSel: 247,\n ExSel: 248,\n EraseEof: 249,\n Play: 250,\n ZoomOut: 251,\n}\n\n// ----------------------------------------\n// By Alias\n// ----------------------------------------\n// provide dot-notation accessible keys for all key names\nkeyboardKey.Spacebar = keyboardKey[' ']\nkeyboardKey.Digit0 = keyboardKey['0']\nkeyboardKey.Digit1 = keyboardKey['1']\nkeyboardKey.Digit2 = keyboardKey['2']\nkeyboardKey.Digit3 = keyboardKey['3']\nkeyboardKey.Digit4 = keyboardKey['4']\nkeyboardKey.Digit5 = keyboardKey['5']\nkeyboardKey.Digit6 = keyboardKey['6']\nkeyboardKey.Digit7 = keyboardKey['7']\nkeyboardKey.Digit8 = keyboardKey['8']\nkeyboardKey.Digit9 = keyboardKey['9']\nkeyboardKey.Tilde = keyboardKey['~']\nkeyboardKey.GraveAccent = keyboardKey['`']\nkeyboardKey.ExclamationPoint = keyboardKey['!']\nkeyboardKey.AtSign = keyboardKey['@']\nkeyboardKey.PoundSign = keyboardKey['#']\nkeyboardKey.PercentSign = keyboardKey['%']\nkeyboardKey.Caret = keyboardKey['^']\nkeyboardKey.Ampersand = keyboardKey['&']\nkeyboardKey.PlusSign = keyboardKey['+']\nkeyboardKey.MinusSign = keyboardKey['-']\nkeyboardKey.EqualsSign = keyboardKey['=']\nkeyboardKey.DivisionSign = keyboardKey['/']\nkeyboardKey.MultiplicationSign = keyboardKey['*']\nkeyboardKey.Comma = keyboardKey[',']\nkeyboardKey.Decimal = keyboardKey['.']\nkeyboardKey.Colon = keyboardKey[':']\nkeyboardKey.Semicolon = keyboardKey[';']\nkeyboardKey.Pipe = keyboardKey['|']\nkeyboardKey.BackSlash = keyboardKey['\\\\']\nkeyboardKey.QuestionMark = keyboardKey['?']\nkeyboardKey.SingleQuote = keyboardKey[\"'\"]\nkeyboardKey.DoubleQuote = keyboardKey['\"']\nkeyboardKey.LeftCurlyBrace = keyboardKey['{']\nkeyboardKey.RightCurlyBrace = keyboardKey['}']\nkeyboardKey.LeftParenthesis = keyboardKey['(']\nkeyboardKey.RightParenthesis = keyboardKey[')']\nkeyboardKey.LeftAngleBracket = keyboardKey['<']\nkeyboardKey.RightAngleBracket = keyboardKey['>']\nkeyboardKey.LeftSquareBracket = keyboardKey['[']\nkeyboardKey.RightSquareBracket = keyboardKey[']']\n\nmodule.exports = keyboardKey\n","import { useState, useEffect } from \"react\";\n\n// Could use UUID but if we hit 9,007,199,254,740,991 unique components over\n// the lifetime of the app before it gets reloaded, I mean ... come on.\n// I don't even know what xillion that is.\n// /me googles\n// Oh duh, quadrillion. Nine quadrillion components. I think we're okay.\nvar id = 0;\nvar genId = function genId() {\n return ++id;\n};\n\nexport var useId = function useId() {\n var _useState = useState(null),\n id = _useState[0],\n setId = _useState[1];\n\n useEffect(function () {\n return setId(genId());\n }, []);\n return id;\n};","import PropTypes from 'prop-types'\n\nfunction getElementIds(\n generateDefaultId,\n {id, labelId, menuId, getItemId, toggleButtonId} = {},\n) {\n const uniqueId = id === undefined ? `downshift-${generateDefaultId()}` : id\n\n return {\n labelId: labelId || `${uniqueId}-label`,\n menuId: menuId || `${uniqueId}-menu`,\n getItemId: getItemId || (index => `${uniqueId}-item-${index}`),\n toggleButtonId: toggleButtonId || `${uniqueId}-toggle-button`,\n }\n}\n\nfunction getNextWrappingIndex(moveAmount, baseIndex, itemsLength, circular) {\n if (baseIndex === -1) {\n return moveAmount > 0 ? 0 : itemsLength - 1\n }\n const nextIndex = baseIndex + moveAmount\n\n if (nextIndex < 0) {\n return circular ? itemsLength - 1 : 0\n }\n if (nextIndex >= itemsLength) {\n return circular ? 0 : itemsLength - 1\n }\n\n return nextIndex\n}\n\nfunction getItemIndexByCharacterKey(\n keysSoFar,\n highlightedIndex,\n items,\n itemToStringParam,\n) {\n let newHighlightedIndex = -1\n const itemStrings = items.map(item => itemToStringParam(item).toLowerCase())\n const startPosition = highlightedIndex + 1\n\n newHighlightedIndex = itemStrings\n .slice(startPosition)\n .findIndex(itemString => itemString.startsWith(keysSoFar))\n\n if (newHighlightedIndex > -1) {\n return newHighlightedIndex + startPosition\n } else {\n return itemStrings\n .slice(0, startPosition)\n .findIndex(itemString => itemString.startsWith(keysSoFar))\n }\n}\n\nfunction getState(state, props) {\n return Object.keys(state).reduce((prevState, key) => {\n // eslint-disable-next-line no-param-reassign\n prevState[key] = props[key] === undefined ? state[key] : props[key]\n return prevState\n }, {})\n}\n\nfunction getItemIndex(index, item, items) {\n if (index !== undefined) {\n return index\n }\n if (items.length === 0) {\n return -1\n }\n return items.indexOf(item)\n}\n\nfunction itemToString(item) {\n return item ? String(item) : ''\n}\n\nfunction getPropTypesValidator(caller, propTypes) {\n // istanbul ignore next\n return function validate(options = {}) {\n Object.entries(propTypes).forEach(([key]) => {\n PropTypes.checkPropTypes(propTypes, options, key, caller.name)\n })\n }\n}\n\nfunction isAcceptedCharacterKey(key) {\n return /^\\S{1}$/.test(key)\n}\n\nexport {\n getElementIds,\n getNextWrappingIndex,\n getItemIndexByCharacterKey,\n getState,\n getItemIndex,\n getPropTypesValidator,\n itemToString,\n isAcceptedCharacterKey,\n}\n","import PropTypes from 'prop-types'\nimport {getNextWrappingIndex} from '../utils'\n\nconst defaultStateValues = {\n highlightedIndex: -1,\n isOpen: false,\n selectedItem: null,\n}\n\nfunction getA11yStatusMessage({isOpen, items}) {\n if (!items) {\n return ''\n }\n const resultCount = items.length\n if (isOpen) {\n if (resultCount === 0) {\n return 'No results are available'\n }\n return `${resultCount} result${\n resultCount === 1 ? ' is' : 's are'\n } available, use up and down arrow keys to navigate. Press Enter key to select.`\n }\n return ''\n}\n\nfunction getA11ySelectionMessage({selectedItem, itemToString}) {\n return `${itemToString(selectedItem)} has been selected.`\n}\n\nfunction getHighlightedIndexOnOpen(props, state, offset) {\n const {items, initialHighlightedIndex, defaultHighlightedIndex} = props\n const {selectedItem, highlightedIndex} = state\n\n // initialHighlightedIndex will give value to highlightedIndex on initial state only.\n if (initialHighlightedIndex !== undefined && highlightedIndex > -1) {\n return initialHighlightedIndex\n }\n if (defaultHighlightedIndex !== undefined) {\n return defaultHighlightedIndex\n }\n if (selectedItem) {\n if (offset === 0) {\n return items.indexOf(selectedItem)\n }\n return getNextWrappingIndex(\n offset,\n items.indexOf(selectedItem),\n items.length,\n false,\n )\n }\n if (offset === 0) {\n return -1\n }\n return offset < 0 ? items.length - 1 : 0\n}\n\nfunction capitalizeString(string) {\n return `${string.slice(0, 1).toUpperCase()}${string.slice(1)}`\n}\n\nfunction getDefaultValue(props, propKey) {\n const defaultPropKey = `default${capitalizeString(propKey)}`\n if (props[defaultPropKey] !== undefined) {\n return props[defaultPropKey]\n }\n return defaultStateValues[propKey]\n}\n\nfunction getInitialValue(props, propKey) {\n if (props[propKey] !== undefined) {\n return props[propKey]\n }\n const initialPropKey = `initial${capitalizeString(propKey)}`\n if (props[initialPropKey] !== undefined) {\n return props[initialPropKey]\n }\n return getDefaultValue(props, propKey)\n}\n\nfunction getInitialState(props) {\n return {\n highlightedIndex: getInitialValue(props, 'highlightedIndex'),\n isOpen: getInitialValue(props, 'isOpen'),\n selectedItem: getInitialValue(props, 'selectedItem'),\n keysSoFar: '',\n }\n}\n\nfunction invokeOnChangeHandler(propKey, props, state, changes) {\n const handler = `on${capitalizeString(propKey)}Change`\n if (\n props[handler] &&\n changes[propKey] !== undefined &&\n changes[propKey] !== state[propKey]\n ) {\n props[handler](changes)\n }\n}\n\nfunction callOnChangeProps(props, state, changes) {\n ;['isOpen', 'highlightedIndex', 'selectedItem'].forEach(propKey => {\n invokeOnChangeHandler(propKey, props, state, changes)\n })\n\n if (props.onStateChange && changes !== undefined) {\n props.onStateChange(changes)\n }\n}\n\nconst propTypes = {\n items: PropTypes.array.isRequired,\n itemToString: PropTypes.func,\n getA11yStatusMessage: PropTypes.func,\n getA11ySelectionMessage: PropTypes.func,\n circularNavigation: PropTypes.bool,\n highlightedIndex: PropTypes.number,\n defaultHighlightedIndex: PropTypes.number,\n initialHighlightedIndex: PropTypes.number,\n isOpen: PropTypes.bool,\n defaultIsOpen: PropTypes.bool,\n initialIsOpen: PropTypes.bool,\n selectedItem: PropTypes.any,\n initialSelectedItem: PropTypes.any,\n defaultSelectedItem: PropTypes.any,\n id: PropTypes.string,\n labelId: PropTypes.string,\n menuId: PropTypes.string,\n getItemId: PropTypes.func,\n toggleButtonId: PropTypes.string,\n stateReducer: PropTypes.func,\n onSelectedItemChange: PropTypes.func,\n onHighlightedIndexChange: PropTypes.func,\n onStateChange: PropTypes.func,\n onIsOpenChange: PropTypes.func,\n environment: PropTypes.shape({\n addEventListener: PropTypes.func,\n removeEventListener: PropTypes.func,\n document: PropTypes.shape({\n getElementById: PropTypes.func,\n activeElement: PropTypes.any,\n body: PropTypes.any,\n }),\n }),\n}\n\nexport {\n getHighlightedIndexOnOpen,\n getA11yStatusMessage,\n getA11ySelectionMessage,\n getInitialState,\n defaultStateValues,\n propTypes,\n getDefaultValue,\n callOnChangeProps,\n}\n","import productionEnum from '../../productionEnum.macro'\n\nexport const MenuKeyDownArrowDown = productionEnum(\n '__menu_keydown_arrow_down__',\n)\nexport const MenuKeyDownArrowUp = productionEnum('__menu_keydown_arrow_up__')\nexport const MenuKeyDownEscape = productionEnum('__menu_keydown_escape__')\nexport const MenuKeyDownHome = productionEnum('__menu_keydown_home__')\nexport const MenuKeyDownEnd = productionEnum('__menu_keydown_end__')\nexport const MenuKeyDownEnter = productionEnum('__menu_keydown_enter__')\nexport const MenuKeyDownCharacter = productionEnum('__menu_keydown_character__')\nexport const MenuBlur = productionEnum('__menu_blur__')\nexport const ItemMouseMove = productionEnum('__item_mouse_move__')\nexport const ItemClick = productionEnum('__item_click__')\nexport const ToggleButtonKeyDownCharacter = productionEnum(\n '__togglebutton_keydown_character__',\n)\nexport const ToggleButtonKeyDownArrowDown = productionEnum(\n '__togglebutton_keydown_arrow_down__',\n)\nexport const ToggleButtonKeyDownArrowUp = productionEnum(\n '__togglebutton_keydown_arrow_up__',\n)\nexport const ToggleButtonClick = productionEnum('__togglebutton_click__')\nexport const FunctionToggleMenu = productionEnum('__function_toggle_menu__')\nexport const FunctionOpenMenu = productionEnum('__function_open_menu__')\nexport const FunctionCloseMenu = productionEnum('__function_close_menu__')\nexport const FunctionSetHighlightedIndex = productionEnum(\n '__function_set_highlighted_index__',\n)\nexport const FunctionSelectItem = productionEnum('__function_select_item__')\nexport const FunctionClearKeysSoFar = productionEnum(\n '__function_clear_keys_so_far__',\n)\nexport const FunctionReset = productionEnum('__function_reset__')\n","import {getNextWrappingIndex, getItemIndexByCharacterKey} from '../utils'\nimport {getHighlightedIndexOnOpen, getDefaultValue} from './utils'\nimport * as stateChangeTypes from './stateChangeTypes'\n\n/* eslint-disable complexity */\nexport default function downshiftSelectReducer(state, action) {\n const {type, props, shiftKey} = action\n let changes\n\n switch (type) {\n case stateChangeTypes.ItemMouseMove:\n changes = {\n highlightedIndex: action.index,\n }\n break\n case stateChangeTypes.ItemClick:\n changes = {\n isOpen: getDefaultValue(props, 'isOpen'),\n highlightedIndex: getDefaultValue(props, 'highlightedIndex'),\n selectedItem: props.items[action.index],\n }\n break\n case stateChangeTypes.MenuBlur:\n changes = {\n isOpen: false,\n highlightedIndex: -1,\n ...(state.highlightedIndex >= 0 && {\n selectedItem: props.items[state.highlightedIndex],\n }),\n }\n break\n case stateChangeTypes.MenuKeyDownArrowDown:\n changes = {\n highlightedIndex: getNextWrappingIndex(\n shiftKey ? 5 : 1,\n state.highlightedIndex,\n props.items.length,\n props.circularNavigation,\n ),\n }\n break\n case stateChangeTypes.MenuKeyDownArrowUp:\n changes = {\n highlightedIndex: getNextWrappingIndex(\n shiftKey ? -5 : -1,\n state.highlightedIndex,\n props.items.length,\n props.circularNavigation,\n ),\n }\n break\n case stateChangeTypes.MenuKeyDownHome:\n changes = {\n highlightedIndex: 0,\n }\n break\n case stateChangeTypes.MenuKeyDownEnd:\n changes = {\n highlightedIndex: props.items.length - 1,\n }\n break\n case stateChangeTypes.MenuKeyDownEscape:\n changes = {\n isOpen: false,\n highlightedIndex: -1,\n }\n break\n case stateChangeTypes.MenuKeyDownEnter:\n changes = {\n isOpen: getDefaultValue(props, 'isOpen'),\n highlightedIndex: getDefaultValue(props, 'highlightedIndex'),\n ...(state.highlightedIndex >= 0 && {\n selectedItem: props.items[state.highlightedIndex],\n }),\n }\n break\n case stateChangeTypes.MenuKeyDownCharacter:\n {\n const lowercasedKey = action.key\n const keysSoFar = `${state.keysSoFar}${lowercasedKey}`\n const highlightedIndex = getItemIndexByCharacterKey(\n keysSoFar,\n state.highlightedIndex,\n props.items,\n props.itemToString,\n )\n changes = {\n keysSoFar,\n ...(highlightedIndex >= 0 && {\n highlightedIndex,\n }),\n }\n }\n break\n case stateChangeTypes.ToggleButtonKeyDownCharacter:\n {\n const lowercasedKey = action.key\n const keysSoFar = `${state.keysSoFar}${lowercasedKey}`\n const itemIndex = getItemIndexByCharacterKey(\n keysSoFar,\n state.selectedItem ? props.items.indexOf(state.selectedItem) : -1,\n props.items,\n props.itemToString,\n )\n changes = {\n keysSoFar,\n ...(itemIndex >= 0 && {\n selectedItem: props.items[itemIndex],\n }),\n }\n }\n break\n case stateChangeTypes.ToggleButtonKeyDownArrowDown: {\n changes = {\n isOpen: true,\n highlightedIndex: getHighlightedIndexOnOpen(props, state, 1),\n }\n break\n }\n case stateChangeTypes.ToggleButtonKeyDownArrowUp:\n changes = {\n isOpen: true,\n highlightedIndex: getHighlightedIndexOnOpen(props, state, -1),\n }\n break\n case stateChangeTypes.ToggleButtonClick:\n case stateChangeTypes.FunctionToggleMenu:\n changes = {\n isOpen: !state.isOpen,\n highlightedIndex: state.isOpen\n ? -1\n : getHighlightedIndexOnOpen(props, state, 0),\n }\n break\n case stateChangeTypes.FunctionOpenMenu:\n changes = {\n isOpen: true,\n highlightedIndex: getHighlightedIndexOnOpen(props, state, 0),\n }\n break\n case stateChangeTypes.FunctionCloseMenu:\n changes = {\n isOpen: false,\n }\n break\n case stateChangeTypes.FunctionSetHighlightedIndex:\n changes = {\n highlightedIndex: action.highlightedIndex,\n }\n break\n case stateChangeTypes.FunctionSelectItem:\n changes = {\n selectedItem: action.selectedItem,\n }\n break\n case stateChangeTypes.FunctionClearKeysSoFar:\n changes = {\n keysSoFar: '',\n }\n break\n case stateChangeTypes.FunctionReset:\n changes = {\n highlightedIndex: getDefaultValue(props, 'highlightedIndex'),\n isOpen: getDefaultValue(props, 'isOpen'),\n selectedItem: getDefaultValue(props, 'selectedItem'),\n }\n break\n default:\n throw new Error('Reducer called without proper action type.')\n }\n\n return {\n ...state,\n ...changes,\n }\n}\n/* eslint-enable complexity */\n","/* eslint-disable max-statements */\nimport {useReducer, useRef, useEffect} from 'react'\nimport keyboardKey from 'keyboard-key'\nimport {useId} from '@reach/auto-id'\nimport {\n getElementIds,\n getState,\n getItemIndex,\n getPropTypesValidator,\n itemToString as defaultItemToString,\n isAcceptedCharacterKey,\n} from '../utils'\nimport setStatus from '../../set-a11y-status'\nimport {\n callAllEventHandlers,\n callAll,\n debounce,\n scrollIntoView as defaultScrollIntoView,\n} from '../../utils'\nimport downshiftSelectReducer from './reducer'\nimport {\n getA11yStatusMessage as defaultGetA11yStatusMessage,\n getA11ySelectionMessage as defaultGetA11ySelectionMessage,\n getInitialState,\n propTypes,\n callOnChangeProps,\n} from './utils'\nimport * as stateChangeTypes from './stateChangeTypes'\n\nconst validatePropTypes = getPropTypesValidator(useSelect, propTypes)\nconst defaultProps = {\n itemToString: defaultItemToString,\n stateReducer: (s, a) => a.changes,\n getA11yStatusMessage: defaultGetA11yStatusMessage,\n getA11ySelectionMessage: defaultGetA11ySelectionMessage,\n scrollIntoView: defaultScrollIntoView,\n environment:\n typeof window === 'undefined' /* istanbul ignore next (ssr) */\n ? {}\n : window,\n}\n\nlet clearTimeout\n\nuseSelect.stateChangeTypes = stateChangeTypes\n\nfunction useSelect(userProps = {}) {\n validatePropTypes(userProps)\n // Props defaults and destructuring.\n const props = {\n ...defaultProps,\n ...userProps,\n }\n const {\n items,\n itemToString,\n getA11yStatusMessage,\n getA11ySelectionMessage,\n initialIsOpen,\n defaultIsOpen,\n stateReducer,\n scrollIntoView,\n environment,\n } = props\n // Initial state depending on controlled props.\n const initialState = getInitialState(props)\n\n // Reducer init.\n const [\n {isOpen, highlightedIndex, selectedItem, keysSoFar},\n dispatch,\n ] = useReducer((state, action) => {\n const changes = downshiftSelectReducer(state, action) // state after original reducer.\n const reducedState = stateReducer(state, {...action, changes}) // state after user reducer.\n\n callOnChangeProps(props, state, reducedState) // call onChange with state resulted.\n\n return getState(reducedState, props) // state is merged with controlled props.\n }, initialState)\n\n // IDs generation.\n const {labelId, getItemId, menuId, toggleButtonId} = getElementIds(\n useId,\n props,\n )\n\n /* Refs */\n const toggleButtonRef = useRef(null)\n const menuRef = useRef(null)\n const itemRefs = useRef()\n itemRefs.current = []\n const isInitialMount = useRef(true)\n const shouldScroll = useRef(true)\n\n /* Effects */\n /* Sets a11y status message on changes in isOpen. */\n useEffect(() => {\n if (isInitialMount.current) {\n return\n }\n setStatus(\n getA11yStatusMessage({\n isOpen,\n items,\n selectedItem,\n itemToString,\n }),\n )\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isOpen])\n /* Sets a11y status message on changes in selectedItem. */\n useEffect(() => {\n if (isInitialMount.current) {\n return\n }\n setStatus(\n getA11ySelectionMessage({\n isOpen,\n items,\n selectedItem,\n itemToString,\n }),\n )\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedItem])\n /* Sets cleanup for the keysSoFar after 500ms. */\n useEffect(() => {\n // init the clean function here as we need access to dispatch.\n if (isInitialMount.current) {\n clearTimeout = debounce(() => {\n dispatch({\n type: stateChangeTypes.FunctionClearKeysSoFar,\n props,\n })\n }, 500)\n }\n if (!keysSoFar) {\n return\n }\n clearTimeout()\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [keysSoFar])\n /* Controls the focus on the menu or the toggle button. */\n useEffect(() => {\n // Don't focus menu on first render.\n if (isInitialMount.current) {\n // Unless it was initialised as open.\n if (initialIsOpen || defaultIsOpen || isOpen) {\n menuRef.current.focus()\n }\n return\n }\n // Focus menu on open.\n // istanbul ignore next\n if (isOpen) {\n menuRef.current.focus()\n // Focus toggleButton on close.\n } else if (environment.document.activeElement === menuRef.current) {\n toggleButtonRef.current.focus()\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isOpen])\n /* Scroll on highlighted item if change comes from keyboard. */\n useEffect(() => {\n if (highlightedIndex < 0 || !isOpen || !itemRefs.current.length) {\n return\n }\n if (shouldScroll.current === false) {\n shouldScroll.current = true\n } else {\n scrollIntoView(itemRefs.current[highlightedIndex], menuRef.current)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [highlightedIndex])\n /* Make initial ref false. */\n useEffect(() => {\n isInitialMount.current = false\n }, [])\n\n /* Event handler functions */\n const menuKeyDownHandlers = {\n ArrowDown(event) {\n event.preventDefault()\n dispatch({\n type: stateChangeTypes.MenuKeyDownArrowDown,\n props,\n shiftKey: event.shiftKey,\n })\n },\n ArrowUp(event) {\n event.preventDefault()\n dispatch({\n type: stateChangeTypes.MenuKeyDownArrowUp,\n props,\n shiftKey: event.shiftKey,\n })\n },\n Home(event) {\n event.preventDefault()\n dispatch({\n type: stateChangeTypes.MenuKeyDownHome,\n props,\n })\n },\n End(event) {\n event.preventDefault()\n dispatch({\n type: stateChangeTypes.MenuKeyDownEnd,\n props,\n })\n },\n Escape() {\n dispatch({\n type: stateChangeTypes.MenuKeyDownEscape,\n props,\n })\n },\n Enter() {\n dispatch({\n type: stateChangeTypes.MenuKeyDownEnter,\n props,\n })\n },\n Tab(event) {\n // The exception that calls MenuBlur.\n // istanbul ignore next\n if (event.shiftKey) {\n dispatch({\n type: stateChangeTypes.MenuBlur,\n props,\n })\n }\n },\n }\n const toggleButtonKeyDownHandlers = {\n ArrowDown(event) {\n event.preventDefault()\n dispatch({\n type: stateChangeTypes.ToggleButtonKeyDownArrowDown,\n props,\n })\n },\n ArrowUp(event) {\n event.preventDefault()\n dispatch({\n type: stateChangeTypes.ToggleButtonKeyDownArrowUp,\n props,\n })\n },\n }\n\n // Event handlers.\n const menuHandleKeyDown = event => {\n const key = keyboardKey.getKey(event)\n if (key && menuKeyDownHandlers[key]) {\n menuKeyDownHandlers[key](event)\n } else if (isAcceptedCharacterKey(key)) {\n dispatch({\n type: stateChangeTypes.MenuKeyDownCharacter,\n key,\n props,\n })\n }\n }\n // Focus going back to the toggleButton is something we control (Escape, Enter, Click).\n // We are toggleing special actions for these cases in reducer, not MenuBlur.\n // Since Shift-Tab also lands focus on toggleButton, we will handle it as exception and call MenuBlur.\n const menuHandleBlur = event => {\n if (event.relatedTarget !== toggleButtonRef.current) {\n dispatch({\n type: stateChangeTypes.MenuBlur,\n props,\n })\n }\n }\n const toggleButtonHandleClick = () => {\n dispatch({\n type: stateChangeTypes.ToggleButtonClick,\n props,\n })\n }\n const toggleButtonHandleKeyDown = event => {\n const key = keyboardKey.getKey(event)\n if (key && toggleButtonKeyDownHandlers[key]) {\n toggleButtonKeyDownHandlers[key](event)\n } else if (isAcceptedCharacterKey(key)) {\n dispatch({\n type: stateChangeTypes.ToggleButtonKeyDownCharacter,\n key,\n props,\n })\n }\n }\n const itemHandleMouseMove = index => {\n if (index === highlightedIndex) {\n return\n }\n shouldScroll.current = false\n dispatch({\n type: stateChangeTypes.ItemMouseMove,\n props,\n index,\n })\n }\n const itemHandleClick = index => {\n dispatch({\n type: stateChangeTypes.ItemClick,\n props,\n index,\n })\n }\n\n // returns\n const toggleMenu = () => {\n dispatch({\n type: stateChangeTypes.FunctionToggleMenu,\n props,\n })\n }\n const closeMenu = () => {\n dispatch({\n type: stateChangeTypes.FunctionCloseMenu,\n })\n }\n const openMenu = () => {\n dispatch({\n type: stateChangeTypes.FunctionOpenMenu,\n props,\n })\n }\n const setHighlightedIndex = newHighlightedIndex => {\n dispatch({\n type: stateChangeTypes.FunctionSetHighlightedIndex,\n highlightedIndex: newHighlightedIndex,\n })\n }\n const selectItem = newSelectedItem => {\n dispatch({\n type: stateChangeTypes.FunctionSelectItem,\n selectedItem: newSelectedItem,\n })\n }\n const reset = () => {\n dispatch({\n type: stateChangeTypes.FunctionReset,\n props,\n })\n }\n const getLabelProps = labelProps => ({\n id: labelId,\n ...labelProps,\n })\n const getMenuProps = ({\n onKeyDown,\n onBlur,\n refKey = 'ref',\n ref,\n ...rest\n } = {}) => ({\n [refKey]: callAll(ref, menuNode => {\n menuRef.current = menuNode\n }),\n id: menuId,\n role: 'listbox',\n 'aria-labelledby': labelId,\n tabIndex: -1,\n ...(highlightedIndex > -1 && {\n 'aria-activedescendant': getItemId(highlightedIndex),\n }),\n onKeyDown: callAllEventHandlers(onKeyDown, menuHandleKeyDown),\n onBlur: callAllEventHandlers(onBlur, menuHandleBlur),\n ...rest,\n })\n const getToggleButtonProps = ({\n onClick,\n onKeyDown,\n refKey = 'ref',\n ref,\n ...rest\n } = {}) => ({\n [refKey]: callAll(ref, toggleButtonNode => {\n toggleButtonRef.current = toggleButtonNode\n }),\n id: toggleButtonId,\n 'aria-haspopup': 'listbox',\n 'aria-expanded': isOpen,\n 'aria-labelledby': `${labelId} ${toggleButtonId}`,\n onClick: callAllEventHandlers(onClick, toggleButtonHandleClick),\n onKeyDown: callAllEventHandlers(onKeyDown, toggleButtonHandleKeyDown),\n ...rest,\n })\n const getItemProps = ({\n item,\n index,\n refKey = 'ref',\n ref,\n onMouseMove,\n onClick,\n ...rest\n } = {}) => {\n const itemIndex = getItemIndex(index, item, items)\n if (itemIndex < 0) {\n throw new Error('Pass either item or item index in getItemProps!')\n }\n return {\n [refKey]: callAll(ref, itemNode => {\n if (itemNode) {\n itemRefs.current.push(itemNode)\n }\n }),\n role: 'option',\n ...(itemIndex === highlightedIndex && {'aria-selected': true}),\n id: getItemId(itemIndex),\n onMouseMove: callAllEventHandlers(onMouseMove, () =>\n itemHandleMouseMove(itemIndex),\n ),\n onClick: callAllEventHandlers(onClick, () => itemHandleClick(itemIndex)),\n ...rest,\n }\n }\n\n return {\n // prop getters.\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getItemProps,\n // actions.\n toggleMenu,\n openMenu,\n closeMenu,\n setHighlightedIndex,\n selectItem,\n reset,\n // state.\n highlightedIndex,\n isOpen,\n selectedItem,\n }\n}\n\nexport default useSelect\n"],"names":["_objectWithoutPropertiesLoose","source","excluded","target","sourceKeys","Object","keys","key","i","length","indexOf","_extends","assign","arguments","prototype","hasOwnProperty","call","apply","_assertThisInitialized","self","ReferenceError","_inheritsLoose","subClass","superClass","create","constructor","__proto__","defineProperty","exports","value","b","Symbol","for","c","d","e","f","g","h","k","l","m","n","p","q","r","t","v","w","x","a","u","$$typeof","type","y","hasSymbol","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_PROVIDER_TYPE","REACT_CONTEXT_TYPE","REACT_ASYNC_MODE_TYPE","REACT_CONCURRENT_MODE_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_FUNDAMENTAL_TYPE","REACT_RESPONDER_TYPE","lowPriorityWarning","printWarning","format","_len","args","Array","_key","argIndex","message","replace","console","warn","Error","condition","undefined","_len2","_key2","concat","lowPriorityWarning$1","typeOf","object","$$typeofType","hasWarnedAboutDeprecatedIsAsyncMode","isAsyncMode","isConcurrentMode","module","require$$1","getOwnPropertySymbols","propIsEnumerable","propertyIsEnumerable","toObject","val","TypeError","shouldUseNative","test1","String","getOwnPropertyNames","test2","fromCharCode","order2","map","join","test3","split","forEach","letter","err","from","to","symbols","s","ReactPropTypesSecret","require$$0","loggedTypeFailures","has","Function","bind","text","error","checkPropTypes","typeSpecs","values","location","componentName","getStack","typeSpecName","name","ex","stack","resetWarningCache","emptyFunctionThatReturnsNull","isValidElement","throwOnDirectAccess","ITERATOR_SYMBOL","iterator","getIteratorFn","maybeIterable","iteratorFn","ANONYMOUS","ReactPropTypes","array","createPrimitiveTypeChecker","bool","func","number","string","symbol","any","createChainableTypeChecker","arrayOf","typeChecker","props","propName","propFullName","PropTypeError","propValue","isArray","propType","getPropType","element","elementType","ReactIs","isValidElementType","instanceOf","expectedClass","expectedClassName","actualClassName","getClassName","node","isNode","objectOf","oneOf","createEnumTypeChecker","oneOfType","createUnionTypeChecker","shape","shapeTypes","checker","exact","allKeys","JSON","stringify","is","validate","manualPropTypeCallCache","manualPropTypeWarningCount","checkType","isRequired","secret","cacheKey","chainedCheckType","expectedType","preciseType","getPreciseType","expectedValues","valuesString","arrayOfTypeCheckers","getPostfixForTypeWarning","every","step","entries","next","done","entry","isSymbol","RegExp","Date","PropTypes","isElement","el","nodeType","canOverflow","overflow","skipOverflowHiddenElements","isScrollable","clientHeight","scrollHeight","clientWidth","scrollWidth","style","getComputedStyle","overflowY","overflowX","alignNearest","scrollingEdgeStart","scrollingEdgeEnd","scrollingSize","scrollingBorderStart","scrollingBorderEnd","elementEdgeStart","elementEdgeEnd","elementSize","options","scrollMode","block","inline","boundary","checkBoundary","scrollingElement","document","documentElement","frames","cursor","parentNode","push","body","viewportWidth","window","visualViewport","width","innerWidth","viewportHeight","height","innerHeight","viewportX","scrollX","pageXOffset","viewportY","scrollY","pageYOffset","_target$getBoundingCl","getBoundingClientRect","targetHeight","targetWidth","targetTop","top","targetRight","right","targetBottom","bottom","targetLeft","left","targetBlock","targetInline","computations","index","frame","_frame$getBoundingCli","_height","_width","_top","_left","frameStyle","borderLeft","parseInt","borderLeftWidth","borderTop","borderTopWidth","borderRight","borderRightWidth","borderBottom","borderBottomWidth","blockScroll","inlineScroll","scrollbarWidth","offsetWidth","scrollbarHeight","offsetHeight","Math","max","scrollLeft","scrollTop","min","idCounter","cbToCb","cb","noop","scrollIntoView","menuNode","actions","computeScrollIntoView","isOrContainsNode","parent","child","contains","debounce","fn","time","timeoutId","cancel","clearTimeout","wrapper","setTimeout","callAllEventHandlers","fns","event","some","preventDownshiftDefault","nativeEvent","callAll","generateId","resetIdCounter","getA11yStatusMessage","isOpen","selectedItem","resultCount","previousResultCount","itemToString","unwrapArray","arg","defaultValue","isDOMElement","getElementProps","requiredProp","fnName","stateKeys","pickState","state","result","normalizeArrowKey","keyCode","isPlainObject","obj","toString","getNextWrappingIndex","moveAmount","baseIndex","itemCount","itemsLastIndex","newIndex","statusDiv","cleanupStatus","getStatusDiv","textContent","setStatus","status","documentProp","div","createElement","setAttribute","border","clip","margin","padding","position","appendChild","unknown","mouseUp","itemMouseEnter","keyDownArrowUp","keyDownArrowDown","keyDownEscape","keyDownEnter","keyDownHome","keyDownEnd","clickItem","blurInput","changeInput","keyDownSpaceButton","clickButton","blurButton","controlledPropUpdatedSelectedItem","touchEnd","Downshift","id","menuId","labelId","inputId","getItemId","input","items","timeoutIds","internalSetTimeout","filter","setItemCount","count","unsetItemCount","setHighlightedIndex","highlightedIndex","otherStateToSet","defaultHighlightedIndex","internalSetState","clearSelection","inputValue","defaultIsOpen","selectItem","item","selectItemAtIndex","itemIndex","selectHighlightedItem","getState","stateToSet","isItemSelected","onChangeArg","onStateChangeArg","isStateToSetFunction","onInputValueChange","getStateAndHelpers","setState","newStateToSet","stateReducer","nextState","nextFullState","stateChangeTypes","isControlledProp","hasMoreStateThanType","onStateChange","onSelect","onChange","onUserAction","rootRef","_rootNode","getRootProps","refKey","ref","rest","suppressRefError","called","role","keyDownHandlers","ArrowDown","preventDefault","amount","shiftKey","moveHighlightedIndex","getItemCount","ArrowUp","Enter","itemNode","getItemNodeFromIndex","hasAttribute","Escape","reset","buttonKeyDownHandlers","toggleMenu","inputKeyDownHandlers","Home","highlightFirstOrLastIndex","End","getToggleButtonProps","onClick","onPress","onKeyDown","onKeyUp","onBlur","enabledEventHandlers","buttonHandleClick","buttonHandleKeyDown","buttonHandleKeyUp","buttonHandleBlur","eventHandlers","disabled","environment","activeElement","focus","blurTarget","isMouseDown","getLabelProps","htmlFor","getInputProps","onInput","onChangeText","onChangeKey","inputHandleChange","inputHandleKeyDown","inputHandleBlur","autoComplete","downshiftButtonIsActive","dataset","toggle","menuRef","_menuNode","getMenuProps","getItemProps","onMouseMove","onMouseDown","onSelectKey","customClickHandler","avoidScrolling","clearItems","openMenu","closeMenu","updateStatus","highlightedItem","setA11yStatus","initialHighlightedIndex","initialIsOpen","initialInputValue","initialSelectedItem","internalClearTimeouts","stateToMerge","reduce","getElementById","scrollHighlightedItemIntoView","nextHighlightedIndex","first","componentDidMount","validateGetMenuPropsCalledCorrectly","targetWithinDownshift","checkActiveElement","contextNode","onMouseUp","contextWithinDownshift","onOuterClick","onTouchStart","isTouchMove","onTouchMove","onTouchEnd","addEventListener","cleanup","removeEventListener","shouldScroll","prevState","prevProps","currentHighlightedIndex","prevHighlightedIndex","scrollWhenOpen","componentDidUpdate","validateControlledUnchanged","selectedItemChanged","componentWillUnmount","render","children","validateGetRootPropsCalledCorrectly","React","cloneElement","Component","defaultProps","prevItem","propTypes","refKeySpecified","isComposite","isForwardRef","nextProps","warningDescription","propKey","isObject","codes","j","keyboardKey","getCode","eventOrKey","which","getKey","eventOrCode","isEvent","Cancel","Help","Backspace","Tab","Clear","Shift","Control","Alt","Pause","CapsLock","Convert","NonConvert","Accept","ModeChange","PageUp","PageDown","ArrowLeft","ArrowRight","Select","Print","Execute","PrintScreen","Insert","Delete","$","A","B","C","D","E","F","G","H","I","J","K","L","M","N","o","O","P","Q","R","S","T","U","V","W","X","Y","z","Z","OS","ContextMenu","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","F16","F17","F18","F19","F20","F21","F22","F23","F24","NumLock","ScrollLock","VolumeMute","VolumeDown","VolumeUp","_","Meta","AltGraph","Attn","CrSel","ExSel","EraseEof","Play","ZoomOut","Spacebar","Digit0","Digit1","Digit2","Digit3","Digit4","Digit5","Digit6","Digit7","Digit8","Digit9","Tilde","GraveAccent","ExclamationPoint","AtSign","PoundSign","PercentSign","Caret","Ampersand","PlusSign","MinusSign","EqualsSign","DivisionSign","MultiplicationSign","Comma","Decimal","Colon","Semicolon","Pipe","BackSlash","QuestionMark","SingleQuote","DoubleQuote","LeftCurlyBrace","RightCurlyBrace","LeftParenthesis","RightParenthesis","LeftAngleBracket","RightAngleBracket","LeftSquareBracket","RightSquareBracket","genId","useId","_useState","useState","setId","useEffect","getElementIds","generateDefaultId","toggleButtonId","uniqueId","itemsLength","circular","nextIndex","getItemIndexByCharacterKey","keysSoFar","itemToStringParam","newHighlightedIndex","itemStrings","toLowerCase","startPosition","slice","findIndex","itemString","startsWith","getItemIndex","getPropTypesValidator","caller","isAcceptedCharacterKey","test","defaultStateValues","getA11ySelectionMessage","getHighlightedIndexOnOpen","offset","capitalizeString","toUpperCase","getDefaultValue","defaultPropKey","getInitialValue","initialPropKey","getInitialState","invokeOnChangeHandler","changes","handler","callOnChangeProps","circularNavigation","defaultSelectedItem","onSelectedItemChange","onHighlightedIndexChange","onIsOpenChange","MenuKeyDownArrowDown","MenuKeyDownArrowUp","MenuKeyDownEscape","MenuKeyDownHome","MenuKeyDownEnd","MenuKeyDownEnter","MenuKeyDownCharacter","MenuBlur","ItemMouseMove","ItemClick","ToggleButtonKeyDownCharacter","ToggleButtonKeyDownArrowDown","ToggleButtonKeyDownArrowUp","ToggleButtonClick","FunctionToggleMenu","FunctionOpenMenu","FunctionCloseMenu","FunctionSetHighlightedIndex","FunctionSelectItem","FunctionClearKeysSoFar","FunctionReset","downshiftSelectReducer","action","lowercasedKey","validatePropTypes","useSelect","defaultItemToString","defaultGetA11yStatusMessage","defaultGetA11ySelectionMessage","defaultScrollIntoView","userProps","initialState","useReducer","reducedState","dispatch","toggleButtonRef","useRef","itemRefs","current","isInitialMount","menuKeyDownHandlers","toggleButtonKeyDownHandlers","menuHandleKeyDown","menuHandleBlur","relatedTarget","toggleButtonHandleClick","toggleButtonHandleKeyDown","itemHandleMouseMove","itemHandleClick","toggleButtonNode","labelProps","tabIndex","newSelectedItem"],"mappings":";;;;;;;;EAAe,SAASA,6BAAT,CAAuCC,MAAvC,EAA+CC,QAA/C,EAAyD;EACtE,MAAID,MAAM,IAAI,IAAd,EAAoB,OAAO,EAAP;EACpB,MAAIE,MAAM,GAAG,EAAb;EACA,MAAIC,UAAU,GAAGC,MAAM,CAACC,IAAP,CAAYL,MAAZ,CAAjB;EACA,MAAIM,GAAJ,EAASC,CAAT;;EAEA,OAAKA,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGJ,UAAU,CAACK,MAA3B,EAAmCD,CAAC,EAApC,EAAwC;EACtCD,IAAAA,GAAG,GAAGH,UAAU,CAACI,CAAD,CAAhB;EACA,QAAIN,QAAQ,CAACQ,OAAT,CAAiBH,GAAjB,KAAyB,CAA7B,EAAgC;EAChCJ,IAAAA,MAAM,CAACI,GAAD,CAAN,GAAcN,MAAM,CAACM,GAAD,CAApB;EACD;;EAED,SAAOJ,MAAP;EACD;;ECbc,SAASQ,QAAT,GAAoB;EACjCA,EAAAA,QAAQ,GAAGN,MAAM,CAACO,MAAP,IAAiB,UAAUT,MAAV,EAAkB;EAC5C,SAAK,IAAIK,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGK,SAAS,CAACJ,MAA9B,EAAsCD,CAAC,EAAvC,EAA2C;EACzC,UAAIP,MAAM,GAAGY,SAAS,CAACL,CAAD,CAAtB;;EAEA,WAAK,IAAID,GAAT,IAAgBN,MAAhB,EAAwB;EACtB,YAAII,MAAM,CAACS,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCf,MAArC,EAA6CM,GAA7C,CAAJ,EAAuD;EACrDJ,UAAAA,MAAM,CAACI,GAAD,CAAN,GAAcN,MAAM,CAACM,GAAD,CAApB;EACD;EACF;EACF;;EAED,WAAOJ,MAAP;EACD,GAZD;;EAcA,SAAOQ,QAAQ,CAACM,KAAT,CAAe,IAAf,EAAqBJ,SAArB,CAAP;EACD;;EChBc,SAASK,sBAAT,CAAgCC,IAAhC,EAAsC;EACnD,MAAIA,IAAI,KAAK,KAAK,CAAlB,EAAqB;EACnB,UAAM,IAAIC,cAAJ,CAAmB,2DAAnB,CAAN;EACD;;EAED,SAAOD,IAAP;EACD;;ECNc,SAASE,cAAT,CAAwBC,QAAxB,EAAkCC,UAAlC,EAA8C;EAC3DD,EAAAA,QAAQ,CAACR,SAAT,GAAqBT,MAAM,CAACmB,MAAP,CAAcD,UAAU,CAACT,SAAzB,CAArB;EACAQ,EAAAA,QAAQ,CAACR,SAAT,CAAmBW,WAAnB,GAAiCH,QAAjC;EACAA,EAAAA,QAAQ,CAACI,SAAT,GAAqBH,UAArB;EACD;;;;;;;;;;;ACJD;EASalB,EAAAA,MAAM,CAACsB,cAAP,CAAsBC,OAAtB,EAA8B,YAA9B,EAA2C;EAACC,IAAAA,KAAK,EAAC,CAAC;EAAR,GAA3C;EACb,MAAIC,CAAC,GAAC,eAAa,OAAOC,MAApB,IAA4BA,MAAM,CAACC,GAAzC;EAAA,MAA6CC,CAAC,GAACH,CAAC,GAACC,MAAM,CAACC,GAAP,CAAW,eAAX,CAAD,GAA6B,KAA7E;EAAA,MAAmFE,CAAC,GAACJ,CAAC,GAACC,MAAM,CAACC,GAAP,CAAW,cAAX,CAAD,GAA4B,KAAlH;EAAA,MAAwHG,CAAC,GAACL,CAAC,GAACC,MAAM,CAACC,GAAP,CAAW,gBAAX,CAAD,GAA8B,KAAzJ;EAAA,MAA+JI,CAAC,GAACN,CAAC,GAACC,MAAM,CAACC,GAAP,CAAW,mBAAX,CAAD,GAAiC,KAAnM;EAAA,MAAyMK,CAAC,GAACP,CAAC,GAACC,MAAM,CAACC,GAAP,CAAW,gBAAX,CAAD,GAA8B,KAA1O;EAAA,MAAgPM,CAAC,GAACR,CAAC,GAACC,MAAM,CAACC,GAAP,CAAW,gBAAX,CAAD,GAA8B,KAAjR;EAAA,MAAuRO,CAAC,GAACT,CAAC,GAACC,MAAM,CAACC,GAAP,CAAW,eAAX,CAAD,GAA6B,KAAvT;EAAA,MAA6TQ,CAAC,GAACV,CAAC,GAACC,MAAM,CAACC,GAAP,CAAW,kBAAX,CAAD,GAAgC,KAAhW;EAAA,MAAsWS,CAAC,GAACX,CAAC,GAACC,MAAM,CAACC,GAAP,CAAW,uBAAX,CAAD,GAAqC,KAA9Y;EAAA,MAAoZU,CAAC,GAACZ,CAAC,GAACC,MAAM,CAACC,GAAP,CAAW,mBAAX,CAAD,GAAiC,KAAxb;EAAA,MAA8bW,CAAC,GAACb,CAAC,GAACC,MAAM,CAACC,GAAP,CAAW,gBAAX,CAAD,GAA8B,KAA/d;EAAA,MAAqeY,CAAC,GAACd,CAAC,GAACC,MAAM,CAACC,GAAP,CAAW,qBAAX,CAAD,GACxe,KADA;EAAA,MACMa,CAAC,GAACf,CAAC,GAACC,MAAM,CAACC,GAAP,CAAW,YAAX,CAAD,GAA0B,KADnC;EAAA,MACyCc,CAAC,GAAChB,CAAC,GAACC,MAAM,CAACC,GAAP,CAAW,YAAX,CAAD,GAA0B,KADtE;EAAA,MAC4Ee,CAAC,GAACjB,CAAC,GAACC,MAAM,CAACC,GAAP,CAAW,mBAAX,CAAD,GAAiC,KADhH;EAAA,MACsHgB,CAAC,GAAClB,CAAC,GAACC,MAAM,CAACC,GAAP,CAAW,iBAAX,CAAD,GAA+B,KADxJ;;EAC8J,WAASiB,CAAT,CAAWC,CAAX,EAAa;EAAC,QAAG,aAAW,OAAOA,CAAlB,IAAqB,SAAOA,CAA/B,EAAiC;EAAC,UAAIC,CAAC,GAACD,CAAC,CAACE,QAAR;;EAAiB,cAAOD,CAAP;EAAU,aAAKlB,CAAL;EAAO,kBAAOiB,CAAC,GAACA,CAAC,CAACG,IAAJ,EAASH,CAAhB;EAAmB,iBAAKV,CAAL;EAAO,iBAAKC,CAAL;EAAO,iBAAKN,CAAL;EAAO,iBAAKE,CAAL;EAAO,iBAAKD,CAAL;EAAO,iBAAKO,CAAL;EAAO,qBAAOO,CAAP;;EAAS;EAAQ,sBAAOA,CAAC,GAACA,CAAC,IAAEA,CAAC,CAACE,QAAP,EAAgBF,CAAvB;EAA0B,qBAAKX,CAAL;EAAO,qBAAKG,CAAL;EAAO,qBAAKJ,CAAL;EAAO,yBAAOY,CAAP;;EAAS;EAAQ,yBAAOC,CAAP;EAAhE;;EAA9E;;EAAwJ,aAAKL,CAAL;EAAO,aAAKD,CAAL;EAAO,aAAKX,CAAL;EAAO,iBAAOiB,CAAP;EAA9L;EAAwM;EAAC;;EAAA,WAASG,CAAT,CAAWJ,CAAX,EAAa;EAAC,WAAOD,CAAC,CAACC,CAAD,CAAD,KAAOT,CAAd;EAAgB;;EAAAb,EAAAA,cAAA,GAAeqB,CAAf;EAAiBrB,EAAAA,iBAAA,GAAkBY,CAAlB;EACvdZ,EAAAA,sBAAA,GAAuBa,CAAvB;EAAyBb,EAAAA,uBAAA,GAAwBW,CAAxB;EAA0BX,EAAAA,uBAAA,GAAwBU,CAAxB;EAA0BV,EAAAA,eAAA,GAAgBK,CAAhB;EAAkBL,EAAAA,kBAAA,GAAmBc,CAAnB;EAAqBd,EAAAA,gBAAA,GAAiBO,CAAjB;EAAmBP,EAAAA,YAAA,GAAakB,CAAb;EAAelB,EAAAA,YAAA,GAAaiB,CAAb;EAAejB,EAAAA,cAAA,GAAeM,CAAf;EAAiBN,EAAAA,gBAAA,GAAiBS,CAAjB;EAAmBT,EAAAA,kBAAA,GAAmBQ,CAAnB;EAAqBR,EAAAA,gBAAA,GAAiBe,CAAjB;;EAC9Nf,EAAAA,0BAAA,GAA2B,UAASsB,CAAT,EAAW;EAAC,WAAM,aAAW,OAAOA,CAAlB,IAAqB,eAAa,OAAOA,CAAzC,IAA4CA,CAAC,KAAGf,CAAhD,IAAmDe,CAAC,KAAGT,CAAvD,IAA0DS,CAAC,KAAGb,CAA9D,IAAiEa,CAAC,KAAGd,CAArE,IAAwEc,CAAC,KAAGP,CAA5E,IAA+EO,CAAC,KAAGN,CAAnF,IAAsF,aAAW,OAAOM,CAAlB,IAAqB,SAAOA,CAA5B,KAAgCA,CAAC,CAACE,QAAF,KAAaN,CAAb,IAAgBI,CAAC,CAACE,QAAF,KAAaP,CAA7B,IAAgCK,CAAC,CAACE,QAAF,KAAad,CAA7C,IAAgDY,CAAC,CAACE,QAAF,KAAab,CAA7D,IAAgEW,CAAC,CAACE,QAAF,KAAaV,CAA7E,IAAgFQ,CAAC,CAACE,QAAF,KAAaL,CAA7F,IAAgGG,CAAC,CAACE,QAAF,KAAaJ,CAA7I,CAA5F;EAA4O,GAAnR;;EAAoRpB,EAAAA,mBAAA,GAAoB,UAASsB,CAAT,EAAW;EAAC,WAAOI,CAAC,CAACJ,CAAD,CAAD,IAAMD,CAAC,CAACC,CAAD,CAAD,KAAOV,CAApB;EAAsB,GAAtD;;EAAuDZ,EAAAA,wBAAA,GAAyB0B,CAAzB;;EAA2B1B,EAAAA,yBAAA,GAA0B,UAASsB,CAAT,EAAW;EAAC,WAAOD,CAAC,CAACC,CAAD,CAAD,KAAOX,CAAd;EAAgB,GAAtD;;EAAuDX,EAAAA,yBAAA,GAA0B,UAASsB,CAAT,EAAW;EAAC,WAAOD,CAAC,CAACC,CAAD,CAAD,KAAOZ,CAAd;EAAgB,GAAtD;;EAC7ZV,EAAAA,iBAAA,GAAkB,UAASsB,CAAT,EAAW;EAAC,WAAM,aAAW,OAAOA,CAAlB,IAAqB,SAAOA,CAA5B,IAA+BA,CAAC,CAACE,QAAF,KAAanB,CAAlD;EAAoD,GAAlF;;EAAmFL,EAAAA,oBAAA,GAAqB,UAASsB,CAAT,EAAW;EAAC,WAAOD,CAAC,CAACC,CAAD,CAAD,KAAOR,CAAd;EAAgB,GAAjD;;EAAkDd,EAAAA,kBAAA,GAAmB,UAASsB,CAAT,EAAW;EAAC,WAAOD,CAAC,CAACC,CAAD,CAAD,KAAOf,CAAd;EAAgB,GAA/C;;EAAgDP,EAAAA,cAAA,GAAe,UAASsB,CAAT,EAAW;EAAC,WAAOD,CAAC,CAACC,CAAD,CAAD,KAAOJ,CAAd;EAAgB,GAA3C;;EAA4ClB,EAAAA,cAAA,GAAe,UAASsB,CAAT,EAAW;EAAC,WAAOD,CAAC,CAACC,CAAD,CAAD,KAAOL,CAAd;EAAgB,GAA3C;;EAA4CjB,EAAAA,gBAAA,GAAiB,UAASsB,CAAT,EAAW;EAAC,WAAOD,CAAC,CAACC,CAAD,CAAD,KAAOhB,CAAd;EAAgB,GAA7C;;EAA8CN,EAAAA,kBAAA,GAAmB,UAASsB,CAAT,EAAW;EAAC,WAAOD,CAAC,CAACC,CAAD,CAAD,KAAOb,CAAd;EAAgB,GAA/C;;EAAgDT,EAAAA,oBAAA,GAAqB,UAASsB,CAAT,EAAW;EAAC,WAAOD,CAAC,CAACC,CAAD,CAAD,KAAOd,CAAd;EAAgB,GAAjD;;EAAkDR,EAAAA,kBAAA,GAAmB,UAASsB,CAAT,EAAW;EAAC,WAAOD,CAAC,CAACC,CAAD,CAAD,KAAOP,CAAd;EAAgB,GAA/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACd7Z;EAcE,GAAC,YAAW;EAGdtC,IAAAA,MAAM,CAACsB,cAAP,CAAsBC,OAAtB,EAA+B,YAA/B,EAA6C;EAAEC,MAAAA,KAAK,EAAE;EAAT,KAA7C,EAHc;;;EAOd,QAAI0B,SAAS,GAAG,OAAOxB,MAAP,KAAkB,UAAlB,IAAgCA,MAAM,CAACC,GAAvD;EAEA,QAAIwB,kBAAkB,GAAGD,SAAS,GAAGxB,MAAM,CAACC,GAAP,CAAW,eAAX,CAAH,GAAiC,MAAnE;EACA,QAAIyB,iBAAiB,GAAGF,SAAS,GAAGxB,MAAM,CAACC,GAAP,CAAW,cAAX,CAAH,GAAgC,MAAjE;EACA,QAAI0B,mBAAmB,GAAGH,SAAS,GAAGxB,MAAM,CAACC,GAAP,CAAW,gBAAX,CAAH,GAAkC,MAArE;EACA,QAAI2B,sBAAsB,GAAGJ,SAAS,GAAGxB,MAAM,CAACC,GAAP,CAAW,mBAAX,CAAH,GAAqC,MAA3E;EACA,QAAI4B,mBAAmB,GAAGL,SAAS,GAAGxB,MAAM,CAACC,GAAP,CAAW,gBAAX,CAAH,GAAkC,MAArE;EACA,QAAI6B,mBAAmB,GAAGN,SAAS,GAAGxB,MAAM,CAACC,GAAP,CAAW,gBAAX,CAAH,GAAkC,MAArE;EACA,QAAI8B,kBAAkB,GAAGP,SAAS,GAAGxB,MAAM,CAACC,GAAP,CAAW,eAAX,CAAH,GAAiC,MAAnE,CAfc;;;EAkBd,QAAI+B,qBAAqB,GAAGR,SAAS,GAAGxB,MAAM,CAACC,GAAP,CAAW,kBAAX,CAAH,GAAoC,MAAzE;EACA,QAAIgC,0BAA0B,GAAGT,SAAS,GAAGxB,MAAM,CAACC,GAAP,CAAW,uBAAX,CAAH,GAAyC,MAAnF;EACA,QAAIiC,sBAAsB,GAAGV,SAAS,GAAGxB,MAAM,CAACC,GAAP,CAAW,mBAAX,CAAH,GAAqC,MAA3E;EACA,QAAIkC,mBAAmB,GAAGX,SAAS,GAAGxB,MAAM,CAACC,GAAP,CAAW,gBAAX,CAAH,GAAkC,MAArE;EACA,QAAImC,wBAAwB,GAAGZ,SAAS,GAAGxB,MAAM,CAACC,GAAP,CAAW,qBAAX,CAAH,GAAuC,MAA/E;EACA,QAAIoC,eAAe,GAAGb,SAAS,GAAGxB,MAAM,CAACC,GAAP,CAAW,YAAX,CAAH,GAA8B,MAA7D;EACA,QAAIqC,eAAe,GAAGd,SAAS,GAAGxB,MAAM,CAACC,GAAP,CAAW,YAAX,CAAH,GAA8B,MAA7D;EACA,QAAIsC,sBAAsB,GAAGf,SAAS,GAAGxB,MAAM,CAACC,GAAP,CAAW,mBAAX,CAAH,GAAqC,MAA3E;EACA,QAAIuC,oBAAoB,GAAGhB,SAAS,GAAGxB,MAAM,CAACC,GAAP,CAAW,iBAAX,CAAH,GAAmC,MAAvE;;;;;;;;;;;;;;;EAsBA,QAAIwC,kBAAkB,GAAG,YAAY,EAArC;;EAEA;EACE,UAAIC,YAAY,GAAG,UAAUC,MAAV,EAAkB;EACnC,aAAK,IAAIC,IAAI,GAAG9D,SAAS,CAACJ,MAArB,EAA6BmE,IAAI,GAAGC,KAAK,CAACF,IAAI,GAAG,CAAP,GAAWA,IAAI,GAAG,CAAlB,GAAsB,CAAvB,CAAzC,EAAoEG,IAAI,GAAG,CAAhF,EAAmFA,IAAI,GAAGH,IAA1F,EAAgGG,IAAI,EAApG,EAAwG;EACtGF,UAAAA,IAAI,CAACE,IAAI,GAAG,CAAR,CAAJ,GAAiBjE,SAAS,CAACiE,IAAD,CAA1B;EACD;;EAED,YAAIC,QAAQ,GAAG,CAAf;EACA,YAAIC,OAAO,GAAG,cAAcN,MAAM,CAACO,OAAP,CAAe,KAAf,EAAsB,YAAY;EAC5D,iBAAOL,IAAI,CAACG,QAAQ,EAAT,CAAX;EACD,SAF2B,CAA5B;;EAGA,YAAI,OAAOG,OAAP,KAAmB,WAAvB,EAAoC;EAClCA,UAAAA,OAAO,CAACC,IAAR,CAAaH,OAAb;EACD;;EACD,YAAI;;;;EAIF,gBAAM,IAAII,KAAJ,CAAUJ,OAAV,CAAN;EACD,SALD,CAKE,OAAO/B,CAAP,EAAU;EACb,OAlBD;;EAoBAuB,MAAAA,kBAAkB,GAAG,UAAUa,SAAV,EAAqBX,MAArB,EAA6B;EAChD,YAAIA,MAAM,KAAKY,SAAf,EAA0B;EACxB,gBAAM,IAAIF,KAAJ,CAAU,yEAAyE,kBAAnF,CAAN;EACD;;EACD,YAAI,CAACC,SAAL,EAAgB;EACd,eAAK,IAAIE,KAAK,GAAG1E,SAAS,CAACJ,MAAtB,EAA8BmE,IAAI,GAAGC,KAAK,CAACU,KAAK,GAAG,CAAR,GAAYA,KAAK,GAAG,CAApB,GAAwB,CAAzB,CAA1C,EAAuEC,KAAK,GAAG,CAApF,EAAuFA,KAAK,GAAGD,KAA/F,EAAsGC,KAAK,EAA3G,EAA+G;EAC7GZ,YAAAA,IAAI,CAACY,KAAK,GAAG,CAAT,CAAJ,GAAkB3E,SAAS,CAAC2E,KAAD,CAA3B;EACD;;EAEDf,UAAAA,YAAY,CAACxD,KAAb,CAAmBqE,SAAnB,EAA8B,CAACZ,MAAD,EAASe,MAAT,CAAgBb,IAAhB,CAA9B;EACD;EACF,OAXD;EAYD;EAED,QAAIc,oBAAoB,GAAGlB,kBAA3B;;EAEA,aAASmB,MAAT,CAAgBC,MAAhB,EAAwB;EACtB,UAAI,OAAOA,MAAP,KAAkB,QAAlB,IAA8BA,MAAM,KAAK,IAA7C,EAAmD;EACjD,YAAIxC,QAAQ,GAAGwC,MAAM,CAACxC,QAAtB;;EACA,gBAAQA,QAAR;EACE,eAAKI,kBAAL;EACE,gBAAIH,IAAI,GAAGuC,MAAM,CAACvC,IAAlB;;EAEA,oBAAQA,IAAR;EACE,mBAAKU,qBAAL;EACA,mBAAKC,0BAAL;EACA,mBAAKN,mBAAL;EACA,mBAAKE,mBAAL;EACA,mBAAKD,sBAAL;EACA,mBAAKO,mBAAL;EACE,uBAAOb,IAAP;;EACF;EACE,oBAAIwC,YAAY,GAAGxC,IAAI,IAAIA,IAAI,CAACD,QAAhC;;EAEA,wBAAQyC,YAAR;EACE,uBAAK/B,kBAAL;EACA,uBAAKG,sBAAL;EACA,uBAAKJ,mBAAL;EACE,2BAAOgC,YAAP;;EACF;EACE,2BAAOzC,QAAP;EANJ;;EAXJ;;EAoBF,eAAKiB,eAAL;EACA,eAAKD,eAAL;EACA,eAAKX,iBAAL;EACE,mBAAOL,QAAP;EA3BJ;EA6BD;;EAED,aAAOkC,SAAP;EACD,KA1Ha;;;EA2Id,QAAIQ,mCAAmC,GAAG,KAA1C,CA3Ic;;EA8Id,aAASC,WAAT,CAAqBH,MAArB,EAA6B;EAC3B;EACE,YAAI,CAACE,mCAAL,EAA0C;EACxCA,UAAAA,mCAAmC,GAAG,IAAtC;EACAJ,UAAAA,oBAAoB,CAAC,KAAD,EAAQ,0DAA0D,4DAA1D,GAAyH,gEAAjI,CAApB;EACD;EACF;EACD,aAAOM,gBAAgB,CAACJ,MAAD,CAAhB,IAA4BD,MAAM,CAACC,MAAD,CAAN,KAAmB7B,qBAAtD;EACD;;EACD,aAASiC,gBAAT,CAA0BJ,MAA1B,EAAkC;EAChC,aAAOD,MAAM,CAACC,MAAD,CAAN,KAAmB5B,0BAA1B;EACD;;EAmCDpC,IAAAA,cAAA,GAAiB+D,MAAjB;EACA/D,IAAAA,iBAAA,GAhEgBmC,qBAgEhB;EACAnC,IAAAA,sBAAA,GAhEqBoC,0BAgErB;EACApC,IAAAA,uBAAA,GAhEsBkC,kBAgEtB;EACAlC,IAAAA,uBAAA,GAhEsBiC,mBAgEtB;EACAjC,IAAAA,eAAA,GAhEc4B,kBAgEd;EACA5B,IAAAA,kBAAA,GAhEiBqC,sBAgEjB;EACArC,IAAAA,gBAAA,GAhEe8B,mBAgEf;EACA9B,IAAAA,YAAA,GAhEWyC,eAgEX;EACAzC,IAAAA,YAAA,GAhEWwC,eAgEX;EACAxC,IAAAA,cAAA,GAhEa6B,iBAgEb;EACA7B,IAAAA,gBAAA,GAhEegC,mBAgEf;EACAhC,IAAAA,kBAAA,GAhEiB+B,sBAgEjB;EACA/B,IAAAA,gBAAA,GAhEesC,mBAgEf;;EACAtC,IAAAA,0BAAA,GA9KA,UAA4ByB,IAA5B,EAAkC;EAChC,aAAO,OAAOA,IAAP,KAAgB,QAAhB,IAA4B,OAAOA,IAAP,KAAgB,UAA5C;EAEPA,MAAAA,IAAI,KAAKK,mBAFF,IAEyBL,IAAI,KAAKW,0BAFlC,IAEgEX,IAAI,KAAKO,mBAFzE,IAEgGP,IAAI,KAAKM,sBAFzG,IAEmIN,IAAI,KAAKa,mBAF5I,IAEmKb,IAAI,KAAKc,wBAF5K,IAEwM,OAAOd,IAAP,KAAgB,QAAhB,IAA4BA,IAAI,KAAK,IAArC,KAA8CA,IAAI,CAACD,QAAL,KAAkBiB,eAAlB,IAAqChB,IAAI,CAACD,QAAL,KAAkBgB,eAAvD,IAA0Ef,IAAI,CAACD,QAAL,KAAkBS,mBAA5F,IAAmHR,IAAI,CAACD,QAAL,KAAkBU,kBAArI,IAA2JT,IAAI,CAACD,QAAL,KAAkBa,sBAA7K,IAAuMZ,IAAI,CAACD,QAAL,KAAkBkB,sBAAzN,IAAmPjB,IAAI,CAACD,QAAL,KAAkBmB,oBAAnT,CAF/M;EAGD,KA0KD;;EACA3C,IAAAA,mBAAA,GAAsBmE,WAAtB;EACAnE,IAAAA,wBAAA,GAA2BoE,gBAA3B;;EACApE,IAAAA,yBAAA,GAnDA,UAA2BgE,MAA3B,EAAmC;EACjC,aAAOD,MAAM,CAACC,MAAD,CAAN,KAAmB9B,kBAA1B;EACD,KAiDD;;EACAlC,IAAAA,yBAAA,GAjDA,UAA2BgE,MAA3B,EAAmC;EACjC,aAAOD,MAAM,CAACC,MAAD,CAAN,KAAmB/B,mBAA1B;EACD,KA+CD;;EACAjC,IAAAA,iBAAA,GA/CA,UAAmBgE,MAAnB,EAA2B;EACzB,aAAO,OAAOA,MAAP,KAAkB,QAAlB,IAA8BA,MAAM,KAAK,IAAzC,IAAiDA,MAAM,CAACxC,QAAP,KAAoBI,kBAA5E;EACD,KA6CD;;EACA5B,IAAAA,oBAAA,GA7CA,UAAsBgE,MAAtB,EAA8B;EAC5B,aAAOD,MAAM,CAACC,MAAD,CAAN,KAAmB3B,sBAA1B;EACD,KA2CD;;EACArC,IAAAA,kBAAA,GA3CA,UAAoBgE,MAApB,EAA4B;EAC1B,aAAOD,MAAM,CAACC,MAAD,CAAN,KAAmBlC,mBAA1B;EACD,KAyCD;;EACA9B,IAAAA,cAAA,GAzCA,UAAgBgE,MAAhB,EAAwB;EACtB,aAAOD,MAAM,CAACC,MAAD,CAAN,KAAmBvB,eAA1B;EACD,KAuCD;;EACAzC,IAAAA,cAAA,GAvCA,UAAgBgE,MAAhB,EAAwB;EACtB,aAAOD,MAAM,CAACC,MAAD,CAAN,KAAmBxB,eAA1B;EACD,KAqCD;;EACAxC,IAAAA,gBAAA,GArCA,UAAkBgE,MAAlB,EAA0B;EACxB,aAAOD,MAAM,CAACC,MAAD,CAAN,KAAmBnC,iBAA1B;EACD,KAmCD;;EACA7B,IAAAA,kBAAA,GAnCA,UAAoBgE,MAApB,EAA4B;EAC1B,aAAOD,MAAM,CAACC,MAAD,CAAN,KAAmBhC,mBAA1B;EACD,KAiCD;;EACAhC,IAAAA,oBAAA,GAjCA,UAAsBgE,MAAtB,EAA8B;EAC5B,aAAOD,MAAM,CAACC,MAAD,CAAN,KAAmBjC,sBAA1B;EACD,KA+BD;;EACA/B,IAAAA,kBAAA,GA/BA,UAAoBgE,MAApB,EAA4B;EAC1B,aAAOD,MAAM,CAACC,MAAD,CAAN,KAAmB1B,mBAA1B;EACD,KA6BD;EACG,GAxND;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACdF;EAKE+B,EAAAA,cAAA,GAAiBC,mBAAjB;;;;ECLF;;;;;AAMA;;EAEA,IAAIC,qBAAqB,GAAG9F,MAAM,CAAC8F,qBAAnC;EACA,IAAIpF,cAAc,GAAGV,MAAM,CAACS,SAAP,CAAiBC,cAAtC;EACA,IAAIqF,gBAAgB,GAAG/F,MAAM,CAACS,SAAP,CAAiBuF,oBAAxC;;EAEA,SAASC,QAAT,CAAkBC,GAAlB,EAAuB;EACtB,MAAIA,GAAG,KAAK,IAAR,IAAgBA,GAAG,KAAKjB,SAA5B,EAAuC;EACtC,UAAM,IAAIkB,SAAJ,CAAc,uDAAd,CAAN;EACA;;EAED,SAAOnG,MAAM,CAACkG,GAAD,CAAb;EACA;;EAED,SAASE,eAAT,GAA2B;EAC1B,MAAI;EACH,QAAI,CAACpG,MAAM,CAACO,MAAZ,EAAoB;EACnB,aAAO,KAAP;EACA,KAHE;;;;EAQH,QAAI8F,KAAK,GAAG,IAAIC,MAAJ,CAAW,KAAX,CAAZ,CARG;;EASHD,IAAAA,KAAK,CAAC,CAAD,CAAL,GAAW,IAAX;;EACA,QAAIrG,MAAM,CAACuG,mBAAP,CAA2BF,KAA3B,EAAkC,CAAlC,MAAyC,GAA7C,EAAkD;EACjD,aAAO,KAAP;EACA,KAZE;;;EAeH,QAAIG,KAAK,GAAG,EAAZ;;EACA,SAAK,IAAIrG,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,EAApB,EAAwBA,CAAC,EAAzB,EAA6B;EAC5BqG,MAAAA,KAAK,CAAC,MAAMF,MAAM,CAACG,YAAP,CAAoBtG,CAApB,CAAP,CAAL,GAAsCA,CAAtC;EACA;;EACD,QAAIuG,MAAM,GAAG1G,MAAM,CAACuG,mBAAP,CAA2BC,KAA3B,EAAkCG,GAAlC,CAAsC,UAAUtE,CAAV,EAAa;EAC/D,aAAOmE,KAAK,CAACnE,CAAD,CAAZ;EACA,KAFY,CAAb;;EAGA,QAAIqE,MAAM,CAACE,IAAP,CAAY,EAAZ,MAAoB,YAAxB,EAAsC;EACrC,aAAO,KAAP;EACA,KAxBE;;;EA2BH,QAAIC,KAAK,GAAG,EAAZ;EACA,2BAAuBC,KAAvB,CAA6B,EAA7B,EAAiCC,OAAjC,CAAyC,UAAUC,MAAV,EAAkB;EAC1DH,MAAAA,KAAK,CAACG,MAAD,CAAL,GAAgBA,MAAhB;EACA,KAFD;;EAGA,QAAIhH,MAAM,CAACC,IAAP,CAAYD,MAAM,CAACO,MAAP,CAAc,EAAd,EAAkBsG,KAAlB,CAAZ,EAAsCD,IAAtC,CAA2C,EAA3C,MACF,sBADF,EAC0B;EACzB,aAAO,KAAP;EACA;;EAED,WAAO,IAAP;EACA,GArCD,CAqCE,OAAOK,GAAP,EAAY;;EAEb,WAAO,KAAP;EACA;EACD;;EAED,gBAAc,GAAGb,eAAe,KAAKpG,MAAM,CAACO,MAAZ,GAAqB,UAAUT,MAAV,EAA0B;EAC9E,MAAIoH,IAAJ;EACA,MAAIC,EAAE,GAAGlB,QAAQ,CAACnG,MAAD,CAAjB;EACA,MAAIsH,OAAJ;;EAEA,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG7G,SAAS,CAACJ,MAA9B,EAAsCiH,CAAC,EAAvC,EAA2C;EAC1CH,IAAAA,IAAI,GAAGlH,MAAM,CAACQ,SAAS,CAAC6G,CAAD,CAAV,CAAb;;EAEA,SAAK,IAAInH,GAAT,IAAgBgH,IAAhB,EAAsB;EACrB,UAAIxG,cAAc,CAACC,IAAf,CAAoBuG,IAApB,EAA0BhH,GAA1B,CAAJ,EAAoC;EACnCiH,QAAAA,EAAE,CAACjH,GAAD,CAAF,GAAUgH,IAAI,CAAChH,GAAD,CAAd;EACA;EACD;;EAED,QAAI4F,qBAAJ,EAA2B;EAC1BsB,MAAAA,OAAO,GAAGtB,qBAAqB,CAACoB,IAAD,CAA/B;;EACA,WAAK,IAAI/G,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGiH,OAAO,CAAChH,MAA5B,EAAoCD,CAAC,EAArC,EAAyC;EACxC,YAAI4F,gBAAgB,CAACpF,IAAjB,CAAsBuG,IAAtB,EAA4BE,OAAO,CAACjH,CAAD,CAAnC,CAAJ,EAA6C;EAC5CgH,UAAAA,EAAE,CAACC,OAAO,CAACjH,CAAD,CAAR,CAAF,GAAiB+G,IAAI,CAACE,OAAO,CAACjH,CAAD,CAAR,CAArB;EACA;EACD;EACD;EACD;;EAED,SAAOgH,EAAP;EACA,CAzBD;;EChEA;;;;;;AAOA;EAEA,IAAIG,oBAAoB,GAAG,8CAA3B;EAEA,0BAAc,GAAGA,oBAAjB;;ECXA;;;;;;;EASA,IAAIlD,YAAY,GAAG,YAAW,EAA9B;;EAGE,IAAIkD,sBAAoB,GAAGC,sBAA3B;EACA,IAAIC,kBAAkB,GAAG,EAAzB;EACA,IAAIC,GAAG,GAAGC,QAAQ,CAAC/G,IAAT,CAAcgH,IAAd,CAAmB3H,MAAM,CAACS,SAAP,CAAiBC,cAApC,CAAV;;EAEA0D,YAAY,GAAG,UAASwD,IAAT,EAAe;EAC5B,MAAIjD,OAAO,GAAG,cAAciD,IAA5B;;EACA,MAAI,OAAO/C,OAAP,KAAmB,WAAvB,EAAoC;EAClCA,IAAAA,OAAO,CAACgD,KAAR,CAAclD,OAAd;EACD;;EACD,MAAI;;;;EAIF,UAAM,IAAII,KAAJ,CAAUJ,OAAV,CAAN;EACD,GALD,CAKE,OAAO/B,CAAP,EAAU;EACb,CAXD;;;;;;;;;;;;;;EAyBF,SAASkF,cAAT,CAAwBC,SAAxB,EAAmCC,MAAnC,EAA2CC,QAA3C,EAAqDC,aAArD,EAAoEC,QAApE,EAA8E;EAE1E,OAAK,IAAIC,YAAT,IAAyBL,SAAzB,EAAoC;EAClC,QAAIN,GAAG,CAACM,SAAD,EAAYK,YAAZ,CAAP,EAAkC;EAChC,UAAIP,KAAJ,CADgC;;;;EAKhC,UAAI;;;EAGF,YAAI,OAAOE,SAAS,CAACK,YAAD,CAAhB,KAAmC,UAAvC,EAAmD;EACjD,cAAInB,GAAG,GAAGlC,KAAK,CACb,CAACmD,aAAa,IAAI,aAAlB,IAAmC,IAAnC,GAA0CD,QAA1C,GAAqD,SAArD,GAAiEG,YAAjE,GAAgF,gBAAhF,GACA,8EADA,GACiF,OAAOL,SAAS,CAACK,YAAD,CADjG,GACkH,IAFrG,CAAf;EAIAnB,UAAAA,GAAG,CAACoB,IAAJ,GAAW,qBAAX;EACA,gBAAMpB,GAAN;EACD;;EACDY,QAAAA,KAAK,GAAGE,SAAS,CAACK,YAAD,CAAT,CAAwBJ,MAAxB,EAAgCI,YAAhC,EAA8CF,aAA9C,EAA6DD,QAA7D,EAAuE,IAAvE,EAA6EX,sBAA7E,CAAR;EACD,OAZD,CAYE,OAAOgB,EAAP,EAAW;EACXT,QAAAA,KAAK,GAAGS,EAAR;EACD;;EACD,UAAIT,KAAK,IAAI,EAAEA,KAAK,YAAY9C,KAAnB,CAAb,EAAwC;EACtCX,QAAAA,YAAY,CACV,CAAC8D,aAAa,IAAI,aAAlB,IAAmC,0BAAnC,GACAD,QADA,GACW,IADX,GACkBG,YADlB,GACiC,iCADjC,GAEA,2DAFA,GAE8D,OAAOP,KAFrE,GAE6E,IAF7E,GAGA,iEAHA,GAIA,gEAJA,GAKA,iCANU,CAAZ;EAQD;;EACD,UAAIA,KAAK,YAAY9C,KAAjB,IAA0B,EAAE8C,KAAK,CAAClD,OAAN,IAAiB6C,kBAAnB,CAA9B,EAAsE;;;EAGpEA,QAAAA,kBAAkB,CAACK,KAAK,CAAClD,OAAP,CAAlB,GAAoC,IAApC;EAEA,YAAI4D,KAAK,GAAGJ,QAAQ,GAAGA,QAAQ,EAAX,GAAgB,EAApC;EAEA/D,QAAAA,YAAY,CACV,YAAY6D,QAAZ,GAAuB,SAAvB,GAAmCJ,KAAK,CAAClD,OAAzC,IAAoD4D,KAAK,IAAI,IAAT,GAAgBA,KAAhB,GAAwB,EAA5E,CADU,CAAZ;EAGD;EACF;EACF;EAEJ;;;;;;;;EAODT,cAAc,CAACU,iBAAf,GAAmC,YAAW;EAE1ChB,EAAAA,kBAAkB,GAAG,EAArB;EAEH,CAJD;;EAMA,oBAAc,GAAGM,cAAjB;;ECrGA;;;;;;;EAeA,IAAIL,KAAG,GAAGC,QAAQ,CAAC/G,IAAT,CAAcgH,IAAd,CAAmB3H,MAAM,CAACS,SAAP,CAAiBC,cAApC,CAAV;;EACA,IAAI0D,cAAY,GAAG,YAAW,EAA9B;;AAGEA,gBAAY,GAAG,UAASwD,IAAT,EAAe;EAC5B,MAAIjD,OAAO,GAAG,cAAciD,IAA5B;;EACA,MAAI,OAAO/C,OAAP,KAAmB,WAAvB,EAAoC;EAClCA,IAAAA,OAAO,CAACgD,KAAR,CAAclD,OAAd;EACD;;EACD,MAAI;;;;EAIF,UAAM,IAAII,KAAJ,CAAUJ,OAAV,CAAN;EACD,GALD,CAKE,OAAO/B,CAAP,EAAU;EACb,CAXD;;EAcF,SAAS6F,4BAAT,GAAwC;EACtC,SAAO,IAAP;EACD;;EAED,2BAAc,GAAG,UAASC,cAAT,EAAyBC,mBAAzB,EAA8C;;EAE7D,MAAIC,eAAe,GAAG,OAAOlH,MAAP,KAAkB,UAAlB,IAAgCA,MAAM,CAACmH,QAA7D;;;;;;;;;;;;;;;;;;EAiBA,WAASC,aAAT,CAAuBC,aAAvB,EAAsC;EACpC,QAAIC,UAAU,GAAGD,aAAa,KAAKH,eAAe,IAAIG,aAAa,CAACH,eAAD,CAAhC,IAAqDG,aAAa,CAjB5E,YAiB4E,CAAvE,CAA9B;;EACA,QAAI,OAAOC,UAAP,KAAsB,UAA1B,EAAsC;EACpC,aAAOA,UAAP;EACD;EACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiDD,MAAIC,SAAS,GAAG,eAAhB,CAzE6D;;;EA6E7D,MAAIC,cAAc,GAAG;EACnBC,IAAAA,KAAK,EAAEC,0BAA0B,CAAC,OAAD,CADd;EAEnBC,IAAAA,IAAI,EAAED,0BAA0B,CAAC,SAAD,CAFb;EAGnBE,IAAAA,IAAI,EAAEF,0BAA0B,CAAC,UAAD,CAHb;EAInBG,IAAAA,MAAM,EAAEH,0BAA0B,CAAC,QAAD,CAJf;EAKnB7D,IAAAA,MAAM,EAAE6D,0BAA0B,CAAC,QAAD,CALf;EAMnBI,IAAAA,MAAM,EAAEJ,0BAA0B,CAAC,QAAD,CANf;EAOnBK,IAAAA,MAAM,EAAEL,0BAA0B,CAAC,QAAD,CAPf;EASnBM,IAAAA,GAAG,EAwHL,YAAgC;EAC9B,aAAOC,0BAA0B,CAAClB,4BAAD,CAAjC;EACD,KA1HM,EATc;EAUnBmB,IAAAA,OAAO,EA2HT,UAAkCC,WAAlC,EAA+C;EAkB7C,aAAOF,0BAA0B,CAjBjC,UAAkBG,KAAlB,EAAyBC,QAAzB,EAAmC7B,aAAnC,EAAkDD,QAAlD,EAA4D+B,YAA5D,EAA0E;EACxE,YAAI,OAAOH,WAAP,KAAuB,UAA3B,EAAuC;EACrC,iBAAO,IAAII,aAAJ,CAAkB,eAAeD,YAAf,GAA8B,kBAA9B,GAAmD9B,aAAnD,GAAmE,iDAArF,CAAP;EACD;;EACD,YAAIgC,SAAS,GAAGJ,KAAK,CAACC,QAAD,CAArB;;EACA,YAAI,CAACvF,KAAK,CAAC2F,OAAN,CAAcD,SAAd,CAAL,EAA+B;EAC7B,cAAIE,QAAQ,GAAGC,WAAW,CAACH,SAAD,CAA1B;EACA,iBAAO,IAAID,aAAJ,CAAkB,aAAahC,QAAb,GAAwB,IAAxB,GAA+B+B,YAA/B,GAA8C,YAA9C,IAA8D,MAAMI,QAAN,GAAiB,iBAAjB,GAAqClC,aAArC,GAAqD,uBAAnH,CAAlB,CAAP;EACD;;EACD,aAAK,IAAI/H,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG+J,SAAS,CAAC9J,MAA9B,EAAsCD,CAAC,EAAvC,EAA2C;EACzC,cAAI0H,KAAK,GAAGgC,WAAW,CAACK,SAAD,EAAY/J,CAAZ,EAAe+H,aAAf,EAA8BD,QAA9B,EAAwC+B,YAAY,GAAG,GAAf,GAAqB7J,CAArB,GAAyB,GAAjE,EAAsEmH,sBAAtE,CAAvB;;EACA,cAAIO,KAAK,YAAY9C,KAArB,EAA4B;EAC1B,mBAAO8C,KAAP;EACD;EACF;;EACD,eAAO,IAAP;EACD,OACgC,CAAjC;EACD,KAxJoB;EAWnByC,IAAAA,OAAO,EA+IT,YAAoC;EASlC,aAAOX,0BAA0B,CARjC,UAAkBG,KAAlB,EAAyBC,QAAzB,EAAmC7B,aAAnC,EAAkDD,QAAlD,EAA4D+B,YAA5D,EAA0E;EACxE,YAAIE,SAAS,GAAGJ,KAAK,CAACC,QAAD,CAArB;;EACA,YAAI,CAACrB,cAAc,CAACwB,SAAD,CAAnB,EAAgC;EAC9B,cAAIE,QAAQ,GAAGC,WAAW,CAACH,SAAD,CAA1B;EACA,iBAAO,IAAID,aAAJ,CAAkB,aAAahC,QAAb,GAAwB,IAAxB,GAA+B+B,YAA/B,GAA8C,YAA9C,IAA8D,MAAMI,QAAN,GAAiB,iBAAjB,GAAqClC,aAArC,GAAqD,oCAAnH,CAAlB,CAAP;EACD;;EACD,eAAO,IAAP;EACD,OACgC,CAAjC;EACD,KAzJU,EAXU;EAYnBqC,IAAAA,WAAW,EA0Jb,YAAwC;EAStC,aAAOZ,0BAA0B,CARjC,UAAkBG,KAAlB,EAAyBC,QAAzB,EAAmC7B,aAAnC,EAAkDD,QAAlD,EAA4D+B,YAA5D,EAA0E;EACxE,YAAIE,SAAS,GAAGJ,KAAK,CAACC,QAAD,CAArB;;EACA,YAAI,CAACS,OAAO,CAACC,kBAAR,CAA2BP,SAA3B,CAAL,EAA4C;EAC1C,cAAIE,QAAQ,GAAGC,WAAW,CAACH,SAAD,CAA1B;EACA,iBAAO,IAAID,aAAJ,CAAkB,aAAahC,QAAb,GAAwB,IAAxB,GAA+B+B,YAA/B,GAA8C,YAA9C,IAA8D,MAAMI,QAAN,GAAiB,iBAAjB,GAAqClC,aAArC,GAAqD,yCAAnH,CAAlB,CAAP;EACD;;EACD,eAAO,IAAP;EACD,OACgC,CAAjC;EACD,KApKc,EAZM;EAanBwC,IAAAA,UAAU,EAqKZ,UAAmCC,aAAnC,EAAkD;EAShD,aAAOhB,0BAA0B,CARjC,UAAkBG,KAAlB,EAAyBC,QAAzB,EAAmC7B,aAAnC,EAAkDD,QAAlD,EAA4D+B,YAA5D,EAA0E;EACxE,YAAI,EAAEF,KAAK,CAACC,QAAD,CAAL,YAA2BY,aAA7B,CAAJ,EAAiD;EAC/C,cAAIC,iBAAiB,GAAGD,aAAa,CAACtC,IAAd,IAAsBY,SAA9C;EACA,cAAI4B,eAAe,GAAGC,YAAY,CAAChB,KAAK,CAACC,QAAD,CAAN,CAAlC;EACA,iBAAO,IAAIE,aAAJ,CAAkB,aAAahC,QAAb,GAAwB,IAAxB,GAA+B+B,YAA/B,GAA8C,YAA9C,IAA8D,MAAMa,eAAN,GAAwB,iBAAxB,GAA4C3C,aAA5C,GAA4D,cAA1H,KAA6I,kBAAkB0C,iBAAlB,GAAsC,IAAnL,CAAlB,CAAP;EACD;;EACD,eAAO,IAAP;EACD,OACgC,CAAjC;EACD,KA5LoB;EAcnBG,IAAAA,IAAI,EAwQN,YAA6B;EAO3B,aAAOpB,0BAA0B,CANjC,UAAkBG,KAAlB,EAAyBC,QAAzB,EAAmC7B,aAAnC,EAAkDD,QAAlD,EAA4D+B,YAA5D,EAA0E;EACxE,YAAI,CAACgB,MAAM,CAAClB,KAAK,CAACC,QAAD,CAAN,CAAX,EAA8B;EAC5B,iBAAO,IAAIE,aAAJ,CAAkB,aAAahC,QAAb,GAAwB,IAAxB,GAA+B+B,YAA/B,GAA8C,gBAA9C,IAAkE,MAAM9B,aAAN,GAAsB,0BAAxF,CAAlB,CAAP;EACD;;EACD,eAAO,IAAP;EACD,OACgC,CAAjC;EACD,KAhRO,EAda;EAenB+C,IAAAA,QAAQ,EAkNV,UAAmCpB,WAAnC,EAAgD;EAoB9C,aAAOF,0BAA0B,CAnBjC,UAAkBG,KAAlB,EAAyBC,QAAzB,EAAmC7B,aAAnC,EAAkDD,QAAlD,EAA4D+B,YAA5D,EAA0E;EACxE,YAAI,OAAOH,WAAP,KAAuB,UAA3B,EAAuC;EACrC,iBAAO,IAAII,aAAJ,CAAkB,eAAeD,YAAf,GAA8B,kBAA9B,GAAmD9B,aAAnD,GAAmE,kDAArF,CAAP;EACD;;EACD,YAAIgC,SAAS,GAAGJ,KAAK,CAACC,QAAD,CAArB;EACA,YAAIK,QAAQ,GAAGC,WAAW,CAACH,SAAD,CAA1B;;EACA,YAAIE,QAAQ,KAAK,QAAjB,EAA2B;EACzB,iBAAO,IAAIH,aAAJ,CAAkB,aAAahC,QAAb,GAAwB,IAAxB,GAA+B+B,YAA/B,GAA8C,YAA9C,IAA8D,MAAMI,QAAN,GAAiB,iBAAjB,GAAqClC,aAArC,GAAqD,wBAAnH,CAAlB,CAAP;EACD;;EACD,aAAK,IAAIhI,GAAT,IAAgBgK,SAAhB,EAA2B;EACzB,cAAIzC,KAAG,CAACyC,SAAD,EAAYhK,GAAZ,CAAP,EAAyB;EACvB,gBAAI2H,KAAK,GAAGgC,WAAW,CAACK,SAAD,EAAYhK,GAAZ,EAAiBgI,aAAjB,EAAgCD,QAAhC,EAA0C+B,YAAY,GAAG,GAAf,GAAqB9J,GAA/D,EAAoEoH,sBAApE,CAAvB;;EACA,gBAAIO,KAAK,YAAY9C,KAArB,EAA4B;EAC1B,qBAAO8C,KAAP;EACD;EACF;EACF;;EACD,eAAO,IAAP;EACD,OACgC,CAAjC;EACD,KAtPoB;EAgBnBqD,IAAAA,KAAK,EAAEC,qBAhBY;EAiBnBC,IAAAA,SAAS,EAAEC,sBAjBQ;EAkBnBC,IAAAA,KAAK,EA8QP,UAAgCC,UAAhC,EAA4C;EAmB1C,aAAO5B,0BAA0B,CAlBjC,UAAkBG,KAAlB,EAAyBC,QAAzB,EAAmC7B,aAAnC,EAAkDD,QAAlD,EAA4D+B,YAA5D,EAA0E;EACxE,YAAIE,SAAS,GAAGJ,KAAK,CAACC,QAAD,CAArB;EACA,YAAIK,QAAQ,GAAGC,WAAW,CAACH,SAAD,CAA1B;;EACA,YAAIE,QAAQ,KAAK,QAAjB,EAA2B;EACzB,iBAAO,IAAIH,aAAJ,CAAkB,aAAahC,QAAb,GAAwB,IAAxB,GAA+B+B,YAA/B,GAA8C,aAA9C,GAA8DI,QAA9D,GAAyE,IAAzE,IAAiF,kBAAkBlC,aAAlB,GAAkC,uBAAnH,CAAlB,CAAP;EACD;;EACD,aAAK,IAAIhI,GAAT,IAAgBqL,UAAhB,EAA4B;EAC1B,cAAIC,OAAO,GAAGD,UAAU,CAACrL,GAAD,CAAxB;;EACA,cAAI,CAACsL,OAAL,EAAc;EACZ;EACD;;EACD,cAAI3D,KAAK,GAAG2D,OAAO,CAACtB,SAAD,EAAYhK,GAAZ,EAAiBgI,aAAjB,EAAgCD,QAAhC,EAA0C+B,YAAY,GAAG,GAAf,GAAqB9J,GAA/D,EAAoEoH,sBAApE,CAAnB;;EACA,cAAIO,KAAJ,EAAW;EACT,mBAAOA,KAAP;EACD;EACF;;EACD,eAAO,IAAP;EACD,OACgC,CAAjC;EACD,KApToB;EAmBnB4D,IAAAA,KAAK,EAmSP,UAAsCF,UAAtC,EAAkD;EA2BhD,aAAO5B,0BAA0B,CA1BjC,UAAkBG,KAAlB,EAAyBC,QAAzB,EAAmC7B,aAAnC,EAAkDD,QAAlD,EAA4D+B,YAA5D,EAA0E;EACxE,YAAIE,SAAS,GAAGJ,KAAK,CAACC,QAAD,CAArB;EACA,YAAIK,QAAQ,GAAGC,WAAW,CAACH,SAAD,CAA1B;;EACA,YAAIE,QAAQ,KAAK,QAAjB,EAA2B;EACzB,iBAAO,IAAIH,aAAJ,CAAkB,aAAahC,QAAb,GAAwB,IAAxB,GAA+B+B,YAA/B,GAA8C,aAA9C,GAA8DI,QAA9D,GAAyE,IAAzE,IAAiF,kBAAkBlC,aAAlB,GAAkC,uBAAnH,CAAlB,CAAP;EACD,SALuE;;;;EAQxE,YAAIwD,OAAO,GAAGnL,YAAM,CAAC,EAAD,EAAKuJ,KAAK,CAACC,QAAD,CAAV,EAAsBwB,UAAtB,CAApB;;EACA,aAAK,IAAIrL,GAAT,IAAgBwL,OAAhB,EAAyB;EACvB,cAAIF,OAAO,GAAGD,UAAU,CAACrL,GAAD,CAAxB;;EACA,cAAI,CAACsL,OAAL,EAAc;EACZ,mBAAO,IAAIvB,aAAJ,CACL,aAAahC,QAAb,GAAwB,IAAxB,GAA+B+B,YAA/B,GAA8C,SAA9C,GAA0D9J,GAA1D,GAAgE,iBAAhE,GAAoFgI,aAApF,GAAoG,IAApG,GACA,gBADA,GACmByD,IAAI,CAACC,SAAL,CAAe9B,KAAK,CAACC,QAAD,CAApB,EAAgC,IAAhC,EAAsC,IAAtC,CADnB,GAEA,gBAFA,GAEoB4B,IAAI,CAACC,SAAL,CAAe5L,MAAM,CAACC,IAAP,CAAYsL,UAAZ,CAAf,EAAwC,IAAxC,EAA8C,IAA9C,CAHf,CAAP;EAKD;;EACD,cAAI1D,KAAK,GAAG2D,OAAO,CAACtB,SAAD,EAAYhK,GAAZ,EAAiBgI,aAAjB,EAAgCD,QAAhC,EAA0C+B,YAAY,GAAG,GAAf,GAAqB9J,GAA/D,EAAoEoH,sBAApE,CAAnB;;EACA,cAAIO,KAAJ,EAAW;EACT,mBAAOA,KAAP;EACD;EACF;;EACD,eAAO,IAAP;EACD,OAEgC,CAAjC;EACD;EAlVoB,GAArB;;;;;;;;EA2BA,WAASgE,EAAT,CAAYjJ,CAAZ,EAAeK,CAAf,EAAkB;;EAEhB,QAAIL,CAAC,KAAKK,CAAV,EAAa;;;EAGX,aAAOL,CAAC,KAAK,CAAN,IAAW,IAAIA,CAAJ,KAAU,IAAIK,CAAhC;EACD,KAJD,MAIO;;EAEL,aAAOL,CAAC,KAAKA,CAAN,IAAWK,CAAC,KAAKA,CAAxB;EACD;EACF;;;;;;;;;;;;EAUD,WAASgH,aAAT,CAAuBtF,OAAvB,EAAgC;EAC9B,SAAKA,OAAL,GAAeA,OAAf;EACA,SAAK4D,KAAL,GAAa,EAAb;EACD,GA/H4D;;;EAiI7D0B,EAAAA,aAAa,CAACxJ,SAAd,GAA0BsE,KAAK,CAACtE,SAAhC;;EAEA,WAASkJ,0BAAT,CAAoCmC,QAApC,EAA8C;EAE1C,QAAIC,uBAAuB,GAAG,EAA9B;EACA,QAAIC,0BAA0B,GAAG,CAAjC;;EAEF,aAASC,SAAT,CAAmBC,UAAnB,EAA+BpC,KAA/B,EAAsCC,QAAtC,EAAgD7B,aAAhD,EAA+DD,QAA/D,EAAyE+B,YAAzE,EAAuFmC,MAAvF,EAA+F;EAC7FjE,MAAAA,aAAa,GAAGA,aAAa,IAAIe,SAAjC;EACAe,MAAAA,YAAY,GAAGA,YAAY,IAAID,QAA/B;;EAEA,UAAIoC,MAAM,KAAK7E,sBAAf,EAAqC;EACnC,YAAIqB,mBAAJ,EAAyB;;EAEvB,cAAI1B,GAAG,GAAG,IAAIlC,KAAJ,CACR,yFACA,iDADA,GAEA,gDAHQ,CAAV;EAKAkC,UAAAA,GAAG,CAACoB,IAAJ,GAAW,qBAAX;EACA,gBAAMpB,GAAN;EACD,SATD,MASO,IAAI,CAAyC,OAAOpC,OAAP,KAAmB,WAAhE,EAA6E;;EAElF,cAAIuH,QAAQ,GAAGlE,aAAa,GAAG,GAAhB,GAAsB6B,QAArC;;EACA,cACE,CAACgC,uBAAuB,CAACK,QAAD,CAAxB;EAEAJ,UAAAA,0BAA0B,GAAG,CAH/B,EAIE;EACA5H,YAAAA,cAAY,CACV,2DACA,oBADA,GACuB4F,YADvB,GACsC,aADtC,GACsD9B,aADtD,GACuE,wBADvE,GAEA,yDAFA,GAGA,gEAHA,GAIA,+DAJA,GAIkE,cALxD,CAAZ;EAOA6D,YAAAA,uBAAuB,CAACK,QAAD,CAAvB,GAAoC,IAApC;EACAJ,YAAAA,0BAA0B;EAC3B;EACF;EACF;;EACD,UAAIlC,KAAK,CAACC,QAAD,CAAL,IAAmB,IAAvB,EAA6B;EAC3B,YAAImC,UAAJ,EAAgB;EACd,cAAIpC,KAAK,CAACC,QAAD,CAAL,KAAoB,IAAxB,EAA8B;EAC5B,mBAAO,IAAIE,aAAJ,CAAkB,SAAShC,QAAT,GAAoB,IAApB,GAA2B+B,YAA3B,GAA0C,0BAA1C,IAAwE,SAAS9B,aAAT,GAAyB,6BAAjG,CAAlB,CAAP;EACD;;EACD,iBAAO,IAAI+B,aAAJ,CAAkB,SAAShC,QAAT,GAAoB,IAApB,GAA2B+B,YAA3B,GAA0C,6BAA1C,IAA2E,MAAM9B,aAAN,GAAsB,kCAAjG,CAAlB,CAAP;EACD;;EACD,eAAO,IAAP;EACD,OARD,MAQO;EACL,eAAO4D,QAAQ,CAAChC,KAAD,EAAQC,QAAR,EAAkB7B,aAAlB,EAAiCD,QAAjC,EAA2C+B,YAA3C,CAAf;EACD;EACF;;EAED,QAAIqC,gBAAgB,GAAGJ,SAAS,CAACtE,IAAV,CAAe,IAAf,EAAqB,KAArB,CAAvB;EACA0E,IAAAA,gBAAgB,CAACH,UAAjB,GAA8BD,SAAS,CAACtE,IAAV,CAAe,IAAf,EAAqB,IAArB,CAA9B;EAEA,WAAO0E,gBAAP;EACD;;EAED,WAASjD,0BAAT,CAAoCkD,YAApC,EAAkD;EAchD,WAAO3C,0BAA0B,CAbjC,UAAkBG,KAAlB,EAAyBC,QAAzB,EAAmC7B,aAAnC,EAAkDD,QAAlD,EAA4D+B,YAA5D,EAAkF;EAChF,UAAIE,SAAS,GAAGJ,KAAK,CAACC,QAAD,CAArB;EACA,UAAIK,QAAQ,GAAGC,WAAW,CAACH,SAAD,CAA1B;;EACA,UAAIE,QAAQ,KAAKkC,YAAjB,EAA+B;;;;EAI7B,YAAIC,WAAW,GAAGC,cAAc,CAACtC,SAAD,CAAhC;EAEA,eAAO,IAAID,aAAJ,CAAkB,aAAahC,QAAb,GAAwB,IAAxB,GAA+B+B,YAA/B,GAA8C,YAA9C,IAA8D,MAAMuC,WAAN,GAAoB,iBAApB,GAAwCrE,aAAxC,GAAwD,cAAtH,KAAyI,MAAMoE,YAAN,GAAqB,IAA9J,CAAlB,CAAP;EACD;;EACD,aAAO,IAAP;EACD,KACgC,CAAjC;EACD;;EA+DD,WAASnB,qBAAT,CAA+BsB,cAA/B,EAA+C;EAC7C,QAAI,CAACjI,KAAK,CAAC2F,OAAN,CAAcsC,cAAd,CAAL,EAAoC;EAEhC,UAAIjM,SAAS,CAACJ,MAAV,GAAmB,CAAvB,EAA0B;EACxBgE,QAAAA,cAAY,CACV,iEAAiE5D,SAAS,CAACJ,MAA3E,GAAoF,cAApF,GACA,0EAFU,CAAZ;EAID,OALD,MAKO;EACLgE,QAAAA,cAAY,CAAC,wDAAD,CAAZ;EACD;;EAEH,aAAOqE,4BAAP;EACD;;EAmBD,WAAOkB,0BAA0B,CAjBjC,UAAkBG,KAAlB,EAAyBC,QAAzB,EAAmC7B,aAAnC,EAAkDD,QAAlD,EAA4D+B,YAA5D,EAA0E;EACxE,UAAIE,SAAS,GAAGJ,KAAK,CAACC,QAAD,CAArB;;EACA,WAAK,IAAI5J,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGsM,cAAc,CAACrM,MAAnC,EAA2CD,CAAC,EAA5C,EAAgD;EAC9C,YAAI0L,EAAE,CAAC3B,SAAD,EAAYuC,cAAc,CAACtM,CAAD,CAA1B,CAAN,EAAsC;EACpC,iBAAO,IAAP;EACD;EACF;;EAED,UAAIuM,YAAY,GAAGf,IAAI,CAACC,SAAL,CAAea,cAAf,EAA+B,UAAkBvM,GAAlB,EAAuBsB,KAAvB,EAA8B;EAC9E,YAAIwB,IAAI,GAAGwJ,cAAc,CAAChL,KAAD,CAAzB;;EACA,YAAIwB,IAAI,KAAK,QAAb,EAAuB;EACrB,iBAAOsD,MAAM,CAAC9E,KAAD,CAAb;EACD;;EACD,eAAOA,KAAP;EACD,OANkB,CAAnB;EAOA,aAAO,IAAIyI,aAAJ,CAAkB,aAAahC,QAAb,GAAwB,IAAxB,GAA+B+B,YAA/B,GAA8C,cAA9C,GAA+D1D,MAAM,CAAC4D,SAAD,CAArE,GAAmF,IAAnF,IAA2F,kBAAkBhC,aAAlB,GAAkC,qBAAlC,GAA0DwE,YAA1D,GAAyE,GAApK,CAAlB,CAAP;EACD,KACgC,CAAjC;EACD;;EAyBD,WAASrB,sBAAT,CAAgCsB,mBAAhC,EAAqD;EACnD,QAAI,CAACnI,KAAK,CAAC2F,OAAN,CAAcwC,mBAAd,CAAL,EAAyC;EACCvI,MAAAA,cAAY,CAAC,wEAAD,CAApD;EACA,aAAOqE,4BAAP;EACD;;EAED,SAAK,IAAItI,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGwM,mBAAmB,CAACvM,MAAxC,EAAgDD,CAAC,EAAjD,EAAqD;EACnD,UAAIqL,OAAO,GAAGmB,mBAAmB,CAACxM,CAAD,CAAjC;;EACA,UAAI,OAAOqL,OAAP,KAAmB,UAAvB,EAAmC;EACjCpH,QAAAA,cAAY,CACV,uFACA,WADA,GACcwI,wBAAwB,CAACpB,OAAD,CADtC,GACkD,YADlD,GACiErL,CADjE,GACqE,GAF3D,CAAZ;EAIA,eAAOsI,4BAAP;EACD;EACF;;EAED,aAASqD,QAAT,CAAkBhC,KAAlB,EAAyBC,QAAzB,EAAmC7B,aAAnC,EAAkDD,QAAlD,EAA4D+B,YAA5D,EAA0E;EACxE,WAAK,IAAI7J,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGwM,mBAAmB,CAACvM,MAAxC,EAAgDD,CAAC,EAAjD,EAAqD;EACnD,YAAIqL,OAAO,GAAGmB,mBAAmB,CAACxM,CAAD,CAAjC;;EACA,YAAIqL,OAAO,CAAC1B,KAAD,EAAQC,QAAR,EAAkB7B,aAAlB,EAAiCD,QAAjC,EAA2C+B,YAA3C,EAAyD1C,sBAAzD,CAAP,IAAyF,IAA7F,EAAmG;EACjG,iBAAO,IAAP;EACD;EACF;;EAED,aAAO,IAAI2C,aAAJ,CAAkB,aAAahC,QAAb,GAAwB,IAAxB,GAA+B+B,YAA/B,GAA8C,gBAA9C,IAAkE,MAAM9B,aAAN,GAAsB,IAAxF,CAAlB,CAAP;EACD;;EACD,WAAOyB,0BAA0B,CAACmC,QAAD,CAAjC;EACD;;EAgED,WAASd,MAAT,CAAgBd,SAAhB,EAA2B;EACzB,YAAQ,OAAOA,SAAf;EACE,WAAK,QAAL;EACA,WAAK,QAAL;EACA,WAAK,WAAL;EACE,eAAO,IAAP;;EACF,WAAK,SAAL;EACE,eAAO,CAACA,SAAR;;EACF,WAAK,QAAL;EACE,YAAI1F,KAAK,CAAC2F,OAAN,CAAcD,SAAd,CAAJ,EAA8B;EAC5B,iBAAOA,SAAS,CAAC2C,KAAV,CAAgB7B,MAAhB,CAAP;EACD;;EACD,YAAId,SAAS,KAAK,IAAd,IAAsBxB,cAAc,CAACwB,SAAD,CAAxC,EAAqD;EACnD,iBAAO,IAAP;EACD;;EAED,YAAIlB,UAAU,GAAGF,aAAa,CAACoB,SAAD,CAA9B;;EACA,YAAIlB,UAAJ,EAAgB;EACd,cAAIH,QAAQ,GAAGG,UAAU,CAACrI,IAAX,CAAgBuJ,SAAhB,CAAf;EACA,cAAI4C,IAAJ;;EACA,cAAI9D,UAAU,KAAKkB,SAAS,CAAC6C,OAA7B,EAAsC;EACpC,mBAAO,CAAC,CAACD,IAAI,GAAGjE,QAAQ,CAACmE,IAAT,EAAR,EAAyBC,IAAjC,EAAuC;EACrC,kBAAI,CAACjC,MAAM,CAAC8B,IAAI,CAACtL,KAAN,CAAX,EAAyB;EACvB,uBAAO,KAAP;EACD;EACF;EACF,WAND,MAMO;;EAEL,mBAAO,CAAC,CAACsL,IAAI,GAAGjE,QAAQ,CAACmE,IAAT,EAAR,EAAyBC,IAAjC,EAAuC;EACrC,kBAAIC,KAAK,GAAGJ,IAAI,CAACtL,KAAjB;;EACA,kBAAI0L,KAAJ,EAAW;EACT,oBAAI,CAAClC,MAAM,CAACkC,KAAK,CAAC,CAAD,CAAN,CAAX,EAAuB;EACrB,yBAAO,KAAP;EACD;EACF;EACF;EACF;EACF,SApBD,MAoBO;EACL,iBAAO,KAAP;EACD;;EAED,eAAO,IAAP;;EACF;EACE,eAAO,KAAP;EA1CJ;EA4CD;;EAED,WAASC,QAAT,CAAkB/C,QAAlB,EAA4BF,SAA5B,EAAuC;;EAErC,QAAIE,QAAQ,KAAK,QAAjB,EAA2B;EACzB,aAAO,IAAP;EACD,KAJoC;;;EAOrC,QAAI,CAACF,SAAL,EAAgB;EACd,aAAO,KAAP;EACD,KAToC;;;EAYrC,QAAIA,SAAS,CAAC,eAAD,CAAT,KAA+B,QAAnC,EAA6C;EAC3C,aAAO,IAAP;EACD,KAdoC;;;EAiBrC,QAAI,OAAOxI,MAAP,KAAkB,UAAlB,IAAgCwI,SAAS,YAAYxI,MAAzD,EAAiE;EAC/D,aAAO,IAAP;EACD;;EAED,WAAO,KAAP;EACD,GAte4D;;;EAye7D,WAAS2I,WAAT,CAAqBH,SAArB,EAAgC;EAC9B,QAAIE,QAAQ,GAAG,OAAOF,SAAtB;;EACA,QAAI1F,KAAK,CAAC2F,OAAN,CAAcD,SAAd,CAAJ,EAA8B;EAC5B,aAAO,OAAP;EACD;;EACD,QAAIA,SAAS,YAAYkD,MAAzB,EAAiC;;;;EAI/B,aAAO,QAAP;EACD;;EACD,QAAID,QAAQ,CAAC/C,QAAD,EAAWF,SAAX,CAAZ,EAAmC;EACjC,aAAO,QAAP;EACD;;EACD,WAAOE,QAAP;EACD,GAxf4D;;;;EA4f7D,WAASoC,cAAT,CAAwBtC,SAAxB,EAAmC;EACjC,QAAI,OAAOA,SAAP,KAAqB,WAArB,IAAoCA,SAAS,KAAK,IAAtD,EAA4D;EAC1D,aAAO,KAAKA,SAAZ;EACD;;EACD,QAAIE,QAAQ,GAAGC,WAAW,CAACH,SAAD,CAA1B;;EACA,QAAIE,QAAQ,KAAK,QAAjB,EAA2B;EACzB,UAAIF,SAAS,YAAYmD,IAAzB,EAA+B;EAC7B,eAAO,MAAP;EACD,OAFD,MAEO,IAAInD,SAAS,YAAYkD,MAAzB,EAAiC;EACtC,eAAO,QAAP;EACD;EACF;;EACD,WAAOhD,QAAP;EACD,GAzgB4D;;;;EA6gB7D,WAASwC,wBAAT,CAAkCpL,KAAlC,EAAyC;EACvC,QAAIwB,IAAI,GAAGwJ,cAAc,CAAChL,KAAD,CAAzB;;EACA,YAAQwB,IAAR;EACE,WAAK,OAAL;EACA,WAAK,QAAL;EACE,eAAO,QAAQA,IAAf;;EACF,WAAK,SAAL;EACA,WAAK,MAAL;EACA,WAAK,QAAL;EACE,eAAO,OAAOA,IAAd;;EACF;EACE,eAAOA,IAAP;EATJ;EAWD,GA1hB4D;;;EA6hB7D,WAAS8H,YAAT,CAAsBZ,SAAtB,EAAiC;EAC/B,QAAI,CAACA,SAAS,CAAC9I,WAAX,IAA0B,CAAC8I,SAAS,CAAC9I,WAAV,CAAsBiH,IAArD,EAA2D;EACzD,aAAOY,SAAP;EACD;;EACD,WAAOiB,SAAS,CAAC9I,WAAV,CAAsBiH,IAA7B;EACD;;EAEDa,EAAAA,cAAc,CAACpB,cAAf,GAAgCA,gBAAhC;EACAoB,EAAAA,cAAc,CAACV,iBAAf,GAAmCV,gBAAc,CAACU,iBAAlD;EACAU,EAAAA,cAAc,CAACoE,SAAf,GAA2BpE,cAA3B;EAEA,SAAOA,cAAP;EACD,CAziBD;;;ECrCA;;;;;;;;EAaEtD,EAAAA,cAAA,GAAiBC,uBAAoC,CALvC0B,OAKwC,CAAQgG,SAAT,EAD3B,IAC2B,CAArD;;;ECbF,SAASA,SAAT,CAAmBC,EAAnB,EAAuB;EACrB,SAAOA,EAAE,IAAI,IAAN,IAAc,OAAOA,EAAP,KAAc,QAA5B,IAAwCA,EAAE,CAACC,QAAH,KAAgB,CAA/D;EACD;;EAED,SAASC,WAAT,CAAqBC,QAArB,EAA+BC,0BAA/B,EAA2D;EACzD,MAAIA,0BAA0B,IAAID,QAAQ,KAAK,QAA/C,EAAyD;EACvD,WAAO,KAAP;EACD;;EAED,SAAOA,QAAQ,KAAK,SAAb,IAA0BA,QAAQ,KAAK,MAA9C;EACD;;EAED,SAASE,YAAT,CAAsBL,EAAtB,EAA0BI,0BAA1B,EAAsD;EACpD,MAAIJ,EAAE,CAACM,YAAH,GAAkBN,EAAE,CAACO,YAArB,IAAqCP,EAAE,CAACQ,WAAH,GAAiBR,EAAE,CAACS,WAA7D,EAA0E;EACxE,QAAIC,KAAK,GAAGC,gBAAgB,CAACX,EAAD,EAAK,IAAL,CAA5B;EACA,WAAOE,WAAW,CAACQ,KAAK,CAACE,SAAP,EAAkBR,0BAAlB,CAAX,IAA4DF,WAAW,CAACQ,KAAK,CAACG,SAAP,EAAkBT,0BAAlB,CAA9E;EACD;;EAED,SAAO,KAAP;EACD;;EAED,SAASU,YAAT,CAAsBC,kBAAtB,EAA0CC,gBAA1C,EAA4DC,aAA5D,EAA2EC,oBAA3E,EAAiGC,kBAAjG,EAAqHC,gBAArH,EAAuIC,cAAvI,EAAuJC,WAAvJ,EAAoK;EAClK,MAAIF,gBAAgB,GAAGL,kBAAnB,IAAyCM,cAAc,GAAGL,gBAA1D,IAA8EI,gBAAgB,GAAGL,kBAAnB,IAAyCM,cAAc,GAAGL,gBAA5I,EAA8J;EAC5J,WAAO,CAAP;EACD;;EAED,MAAII,gBAAgB,IAAIL,kBAApB,IAA0CO,WAAW,IAAIL,aAAzD,IAA0EI,cAAc,IAAIL,gBAAlB,IAAsCM,WAAW,IAAIL,aAAnI,EAAkJ;EAChJ,WAAOG,gBAAgB,GAAGL,kBAAnB,GAAwCG,oBAA/C;EACD;;EAED,MAAIG,cAAc,GAAGL,gBAAjB,IAAqCM,WAAW,GAAGL,aAAnD,IAAoEG,gBAAgB,GAAGL,kBAAnB,IAAyCO,WAAW,GAAGL,aAA/H,EAA8I;EAC5I,WAAOI,cAAc,GAAGL,gBAAjB,GAAoCG,kBAA3C;EACD;;EAED,SAAO,CAAP;EACD;;AAED,+BAAgB,UAAU7O,MAAV,EAAkBiP,OAAlB,EAA2B;EACzC,MAAIC,UAAU,GAAGD,OAAO,CAACC,UAAzB;EAAA,MACIC,KAAK,GAAGF,OAAO,CAACE,KADpB;EAAA,MAEIC,MAAM,GAAGH,OAAO,CAACG,MAFrB;EAAA,MAGIC,QAAQ,GAAGJ,OAAO,CAACI,QAHvB;EAAA,MAIIvB,0BAA0B,GAAGmB,OAAO,CAACnB,0BAJzC;EAKA,MAAIwB,aAAa,GAAG,OAAOD,QAAP,KAAoB,UAApB,GAAiCA,QAAjC,GAA4C,UAAUpE,IAAV,EAAgB;EAC9E,WAAOA,IAAI,KAAKoE,QAAhB;EACD,GAFD;;EAIA,MAAI,CAAC5B,SAAS,CAACzN,MAAD,CAAd,EAAwB;EACtB,UAAM,IAAIqG,SAAJ,CAAc,gBAAd,CAAN;EACD;;EAED,MAAIkJ,gBAAgB,GAAGC,QAAQ,CAACD,gBAAT,IAA6BC,QAAQ,CAACC,eAA7D;EACA,MAAIC,MAAM,GAAG,EAAb;EACA,MAAIC,MAAM,GAAG3P,MAAb;;EAEA,SAAOyN,SAAS,CAACkC,MAAD,CAAT,IAAqBL,aAAa,CAACK,MAAD,CAAzC,EAAmD;EACjDA,IAAAA,MAAM,GAAGA,MAAM,CAACC,UAAhB;;EAEA,QAAID,MAAM,KAAKJ,gBAAf,EAAiC;EAC/BG,MAAAA,MAAM,CAACG,IAAP,CAAYF,MAAZ;EACA;EACD;;EAED,QAAIA,MAAM,KAAKH,QAAQ,CAACM,IAApB,IAA4B/B,YAAY,CAAC4B,MAAD,CAAxC,IAAoD,CAAC5B,YAAY,CAACyB,QAAQ,CAACC,eAAV,CAArE,EAAiG;EAC/F;EACD;;EAED,QAAI1B,YAAY,CAAC4B,MAAD,EAAS7B,0BAAT,CAAhB,EAAsD;EACpD4B,MAAAA,MAAM,CAACG,IAAP,CAAYF,MAAZ;EACD;EACF;;EAED,MAAII,aAAa,GAAGC,MAAM,CAACC,cAAP,GAAwBA,cAAc,CAACC,KAAvC,GAA+CC,UAAnE;EACA,MAAIC,cAAc,GAAGJ,MAAM,CAACC,cAAP,GAAwBA,cAAc,CAACI,MAAvC,GAAgDC,WAArE;EACA,MAAIC,SAAS,GAAGP,MAAM,CAACQ,OAAP,IAAkBC,WAAlC;EACA,MAAIC,SAAS,GAAGV,MAAM,CAACW,OAAP,IAAkBC,WAAlC;;EAEA,MAAIC,qBAAqB,GAAG7Q,MAAM,CAAC8Q,qBAAP,EAA5B;EAAA,MACIC,YAAY,GAAGF,qBAAqB,CAACR,MADzC;EAAA,MAEIW,WAAW,GAAGH,qBAAqB,CAACX,KAFxC;EAAA,MAGIe,SAAS,GAAGJ,qBAAqB,CAACK,GAHtC;EAAA,MAIIC,WAAW,GAAGN,qBAAqB,CAACO,KAJxC;EAAA,MAKIC,YAAY,GAAGR,qBAAqB,CAACS,MALzC;EAAA,MAMIC,UAAU,GAAGV,qBAAqB,CAACW,IANvC;;EAQA,MAAIC,WAAW,GAAGtC,KAAK,KAAK,OAAV,IAAqBA,KAAK,KAAK,SAA/B,GAA2C8B,SAA3C,GAAuD9B,KAAK,KAAK,KAAV,GAAkBkC,YAAlB,GAAiCJ,SAAS,GAAGF,YAAY,GAAG,CAArI;EACA,MAAIW,YAAY,GAAGtC,MAAM,KAAK,QAAX,GAAsBmC,UAAU,GAAGP,WAAW,GAAG,CAAjD,GAAqD5B,MAAM,KAAK,KAAX,GAAmB+B,WAAnB,GAAiCI,UAAzG;EACA,MAAII,YAAY,GAAG,EAAnB;;EAEA,OAAK,IAAIC,KAAK,GAAG,CAAjB,EAAoBA,KAAK,GAAGlC,MAAM,CAACpP,MAAnC,EAA2CsR,KAAK,EAAhD,EAAoD;EAClD,QAAIC,KAAK,GAAGnC,MAAM,CAACkC,KAAD,CAAlB;;EAEA,QAAIE,qBAAqB,GAAGD,KAAK,CAACf,qBAAN,EAA5B;EAAA,QACIiB,OAAO,GAAGD,qBAAqB,CAACzB,MADpC;EAAA,QAEI2B,MAAM,GAAGF,qBAAqB,CAAC5B,KAFnC;EAAA,QAGI+B,IAAI,GAAGH,qBAAqB,CAACZ,GAHjC;EAAA,QAIIE,KAAK,GAAGU,qBAAqB,CAACV,KAJlC;EAAA,QAKIE,MAAM,GAAGQ,qBAAqB,CAACR,MALnC;EAAA,QAMIY,KAAK,GAAGJ,qBAAqB,CAACN,IANlC;;EAQA,QAAItC,UAAU,KAAK,WAAf,IAA8B+B,SAAS,IAAI,CAA3C,IAAgDM,UAAU,IAAI,CAA9D,IAAmEF,YAAY,IAAIjB,cAAnF,IAAqGe,WAAW,IAAIpB,aAApH,IAAqIkB,SAAS,IAAIgB,IAAlJ,IAA0JZ,YAAY,IAAIC,MAA1K,IAAoLC,UAAU,IAAIW,KAAlM,IAA2Mf,WAAW,IAAIC,KAA9N,EAAqO;EACnO,aAAOO,YAAP;EACD;;EAED,QAAIQ,UAAU,GAAG9D,gBAAgB,CAACwD,KAAD,CAAjC;EACA,QAAIO,UAAU,GAAGC,QAAQ,CAACF,UAAU,CAACG,eAAZ,EAA6B,EAA7B,CAAzB;EACA,QAAIC,SAAS,GAAGF,QAAQ,CAACF,UAAU,CAACK,cAAZ,EAA4B,EAA5B,CAAxB;EACA,QAAIC,WAAW,GAAGJ,QAAQ,CAACF,UAAU,CAACO,gBAAZ,EAA8B,EAA9B,CAA1B;EACA,QAAIC,YAAY,GAAGN,QAAQ,CAACF,UAAU,CAACS,iBAAZ,EAA+B,EAA/B,CAA3B;EACA,QAAIC,WAAW,GAAG,CAAlB;EACA,QAAIC,YAAY,GAAG,CAAnB;EACA,QAAIC,cAAc,GAAG,iBAAiBlB,KAAjB,GAAyBA,KAAK,CAACmB,WAAN,GAAoBnB,KAAK,CAAC3D,WAA1B,GAAwCkE,UAAxC,GAAqDK,WAA9E,GAA4F,CAAjH;EACA,QAAIQ,eAAe,GAAG,kBAAkBpB,KAAlB,GAA0BA,KAAK,CAACqB,YAAN,GAAqBrB,KAAK,CAAC7D,YAA3B,GAA0CuE,SAA1C,GAAsDI,YAAhF,GAA+F,CAArH;;EAEA,QAAIpD,gBAAgB,KAAKsC,KAAzB,EAAgC;EAC9B,UAAI1C,KAAK,KAAK,OAAd,EAAuB;EACrB0D,QAAAA,WAAW,GAAGpB,WAAd;EACD,OAFD,MAEO,IAAItC,KAAK,KAAK,KAAd,EAAqB;EAC1B0D,QAAAA,WAAW,GAAGpB,WAAW,GAAGrB,cAA5B;EACD,OAFM,MAEA,IAAIjB,KAAK,KAAK,SAAd,EAAyB;EAC9B0D,QAAAA,WAAW,GAAGrE,YAAY,CAACkC,SAAD,EAAYA,SAAS,GAAGN,cAAxB,EAAwCA,cAAxC,EAAwDmC,SAAxD,EAAmEI,YAAnE,EAAiFjC,SAAS,GAAGe,WAA7F,EAA0Gf,SAAS,GAAGe,WAAZ,GAA0BV,YAApI,EAAkJA,YAAlJ,CAA1B;EACD,OAFM,MAEA;EACL8B,QAAAA,WAAW,GAAGpB,WAAW,GAAGrB,cAAc,GAAG,CAA7C;EACD;;EAED,UAAIhB,MAAM,KAAK,OAAf,EAAwB;EACtB0D,QAAAA,YAAY,GAAGpB,YAAf;EACD,OAFD,MAEO,IAAItC,MAAM,KAAK,QAAf,EAAyB;EAC9B0D,QAAAA,YAAY,GAAGpB,YAAY,GAAG3B,aAAa,GAAG,CAA9C;EACD,OAFM,MAEA,IAAIX,MAAM,KAAK,KAAf,EAAsB;EAC3B0D,QAAAA,YAAY,GAAGpB,YAAY,GAAG3B,aAA9B;EACD,OAFM,MAEA;EACL+C,QAAAA,YAAY,GAAGtE,YAAY,CAAC+B,SAAD,EAAYA,SAAS,GAAGR,aAAxB,EAAuCA,aAAvC,EAAsDqC,UAAtD,EAAkEK,WAAlE,EAA+ElC,SAAS,GAAGmB,YAA3F,EAAyGnB,SAAS,GAAGmB,YAAZ,GAA2BV,WAApI,EAAiJA,WAAjJ,CAA3B;EACD;;EAED6B,MAAAA,WAAW,GAAGM,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYP,WAAW,GAAGnC,SAA1B,CAAd;EACAoC,MAAAA,YAAY,GAAGK,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYN,YAAY,GAAGvC,SAA3B,CAAf;EACD,KAvBD,MAuBO;EACL,UAAIpB,KAAK,KAAK,OAAd,EAAuB;EACrB0D,QAAAA,WAAW,GAAGpB,WAAW,GAAGQ,IAAd,GAAqBM,SAAnC;EACD,OAFD,MAEO,IAAIpD,KAAK,KAAK,KAAd,EAAqB;EAC1B0D,QAAAA,WAAW,GAAGpB,WAAW,GAAGH,MAAd,GAAuBqB,YAAvB,GAAsCM,eAApD;EACD,OAFM,MAEA,IAAI9D,KAAK,KAAK,SAAd,EAAyB;EAC9B0D,QAAAA,WAAW,GAAGrE,YAAY,CAACyD,IAAD,EAAOX,MAAP,EAAeS,OAAf,EAAwBQ,SAAxB,EAAmCI,YAAY,GAAGM,eAAlD,EAAmExB,WAAnE,EAAgFA,WAAW,GAAGV,YAA9F,EAA4GA,YAA5G,CAA1B;EACD,OAFM,MAEA;EACL8B,QAAAA,WAAW,GAAGpB,WAAW,IAAIQ,IAAI,GAAGF,OAAO,GAAG,CAArB,CAAX,GAAqCkB,eAAe,GAAG,CAArE;EACD;;EAED,UAAI7D,MAAM,KAAK,OAAf,EAAwB;EACtB0D,QAAAA,YAAY,GAAGpB,YAAY,GAAGQ,KAAf,GAAuBE,UAAtC;EACD,OAFD,MAEO,IAAIhD,MAAM,KAAK,QAAf,EAAyB;EAC9B0D,QAAAA,YAAY,GAAGpB,YAAY,IAAIQ,KAAK,GAAGF,MAAM,GAAG,CAArB,CAAZ,GAAsCe,cAAc,GAAG,CAAtE;EACD,OAFM,MAEA,IAAI3D,MAAM,KAAK,KAAf,EAAsB;EAC3B0D,QAAAA,YAAY,GAAGpB,YAAY,GAAGN,KAAf,GAAuBqB,WAAvB,GAAqCM,cAApD;EACD,OAFM,MAEA;EACLD,QAAAA,YAAY,GAAGtE,YAAY,CAAC0D,KAAD,EAAQd,KAAR,EAAeY,MAAf,EAAuBI,UAAvB,EAAmCK,WAAW,GAAGM,cAAjD,EAAiErB,YAAjE,EAA+EA,YAAY,GAAGV,WAA9F,EAA2GA,WAA3G,CAA3B;EACD;;EAED,UAAIqC,UAAU,GAAGxB,KAAK,CAACwB,UAAvB;EAAA,UACIC,SAAS,GAAGzB,KAAK,CAACyB,SADtB;EAEAT,MAAAA,WAAW,GAAGM,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYD,IAAI,CAACI,GAAL,CAASD,SAAS,GAAGT,WAArB,EAAkChB,KAAK,CAAC5D,YAAN,GAAqB8D,OAArB,GAA+BkB,eAAjE,CAAZ,CAAd;EACAH,MAAAA,YAAY,GAAGK,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYD,IAAI,CAACI,GAAL,CAASF,UAAU,GAAGP,YAAtB,EAAoCjB,KAAK,CAAC1D,WAAN,GAAoB6D,MAApB,GAA6Be,cAAjE,CAAZ,CAAf;EACAtB,MAAAA,WAAW,IAAI6B,SAAS,GAAGT,WAA3B;EACAnB,MAAAA,YAAY,IAAI2B,UAAU,GAAGP,YAA7B;EACD;;EAEDnB,IAAAA,YAAY,CAAC9B,IAAb,CAAkB;EAChBnC,MAAAA,EAAE,EAAEmE,KADY;EAEhBX,MAAAA,GAAG,EAAE2B,WAFW;EAGhBrB,MAAAA,IAAI,EAAEsB;EAHU,KAAlB;EAKD;;EAED,SAAOnB,YAAP;EACD,CAzID;;EClCA,IAAI6B,SAAS,GAAG,CAAhB;EAEA;;;;;;;;;EAQA,SAASC,MAAT,CAAgBC,EAAhB,EAAoB;EAClB,SAAO,OAAOA,EAAP,KAAc,UAAd,GAA2BA,EAA3B,GAAgCC,IAAvC;EACD;;EAED,SAASA,IAAT,GAAgB;EAEhB;;;;;;;EAKA,SAASC,cAAT,CAAwB3I,IAAxB,EAA8B4I,QAA9B,EAAwC;EACtC,MAAI5I,IAAI,KAAK,IAAb,EAAmB;EACjB;EACD;;EAED,MAAM6I,OAAO,GAAGC,qBAAqB,CAAC9I,IAAD,EAAO;EAC1CoE,IAAAA,QAAQ,EAAEwE,QADgC;EAE1C1E,IAAAA,KAAK,EAAE,SAFmC;EAG1CD,IAAAA,UAAU,EAAE;EAH8B,GAAP,CAArC;EAKA4E,EAAAA,OAAO,CAAC7M,OAAR,CAAgB,gBAAqB;EAAA,QAAnByG,EAAmB,QAAnBA,EAAmB;EAAA,QAAfwD,GAAe,QAAfA,GAAe;EAAA,QAAVM,IAAU,QAAVA,IAAU;EACnC9D,IAAAA,EAAE,CAAC4F,SAAH,GAAepC,GAAf;EACAxD,IAAAA,EAAE,CAAC2F,UAAH,GAAgB7B,IAAhB;EACD,GAHD;EAID;EAED;;;;;;;EAKA,SAASwC,gBAAT,CAA0BC,MAA1B,EAAkCC,KAAlC,EAAyC;EACvC,SAAOD,MAAM,KAAKC,KAAX,IAAqBD,MAAM,CAACE,QAAP,IAAmBF,MAAM,CAACE,QAAP,CAAgBD,KAAhB,CAA/C;EACD;EAED;;;;;;;;;;EAQA,SAASE,QAAT,CAAkBC,EAAlB,EAAsBC,IAAtB,EAA4B;EAC1B,MAAIC,SAAJ;;EAEA,WAASC,MAAT,GAAkB;EAChB,QAAID,SAAJ,EAAe;EACbE,MAAAA,YAAY,CAACF,SAAD,CAAZ;EACD;EACF;;EAED,WAASG,OAAT,GAA0B;EAAA,sCAANjQ,IAAM;EAANA,MAAAA,IAAM;EAAA;;EACxB+P,IAAAA,MAAM;EACND,IAAAA,SAAS,GAAGI,UAAU,CAAC,YAAM;EAC3BJ,MAAAA,SAAS,GAAG,IAAZ;EACAF,MAAAA,EAAE,MAAF,SAAM5P,IAAN;EACD,KAHqB,EAGnB6P,IAHmB,CAAtB;EAID;;EAEDI,EAAAA,OAAO,CAACF,MAAR,GAAiBA,MAAjB;EAEA,SAAOE,OAAP;EACD;EAED;;;;;;;;;EAOA,SAASE,oBAAT,GAAsC;EAAA,qCAALC,GAAK;EAALA,IAAAA,GAAK;EAAA;;EACpC,SAAO,UAACC,KAAD;EAAA,uCAAWrQ,IAAX;EAAWA,MAAAA,IAAX;EAAA;;EAAA,WACLoQ,GAAG,CAACE,IAAJ,CAAS,UAAAV,EAAE,EAAI;EACb,UAAIA,EAAJ,EAAQ;EACNA,QAAAA,EAAE,MAAF,UAAGS,KAAH,SAAarQ,IAAb;EACD;;EACD,aACEqQ,KAAK,CAACE,uBAAN,IACCF,KAAK,CAAClU,cAAN,CAAqB,aAArB,KACCkU,KAAK,CAACG,WAAN,CAAkBD,uBAHtB;EAKD,KATD,CADK;EAAA,GAAP;EAWD;EAED;;;;;;;;;EAOA,SAASE,OAAT,GAAyB;EAAA,qCAALL,GAAK;EAALA,IAAAA,GAAK;EAAA;;EACvB,SAAO,YAAa;EAAA,uCAATpQ,IAAS;EAATA,MAAAA,IAAS;EAAA;;EAClBoQ,IAAAA,GAAG,CAAC5N,OAAJ,CAAY,UAAAoN,EAAE,EAAI;EAChB,UAAIA,EAAJ,EAAQ;EACNA,QAAAA,EAAE,MAAF,SAAM5P,IAAN;EACD;EACF,KAJD;EAKD,GAND;EAOD;EAED;;;;;;EAIA,SAAS0Q,UAAT,GAAsB;EACpB,SAAO3O,MAAM,CAACgN,SAAS,EAAV,CAAb;EACD;AAED,EAQA;;;;;EAGA,SAAS4B,cAAT,GAA0B;EACxB5B,EAAAA,SAAS,GAAG,CAAZ;EACD;EAED;;;;;;EAIA,SAAS6B,oBAAT,QAMG;EAAA,MALDC,MAKC,SALDA,MAKC;EAAA,MAJDC,YAIC,SAJDA,YAIC;EAAA,MAHDC,WAGC,SAHDA,WAGC;EAAA,MAFDC,mBAEC,SAFDA,mBAEC;EAAA,MADDC,YACC,SADDA,YACC;;EACD,MAAI,CAACJ,MAAL,EAAa;EACX,WAAOC,YAAY,GAAGG,YAAY,CAACH,YAAD,CAAf,GAAgC,EAAnD;EACD;;EACD,MAAI,CAACC,WAAL,EAAkB;EAChB,WAAO,2BAAP;EACD;;EACD,MAAIA,WAAW,KAAKC,mBAApB,EAAyC;EACvC,WAAUD,WAAV,gBACEA,WAAW,KAAK,CAAhB,GAAoB,KAApB,GAA4B,OAD9B;EAGD;;EACD,SAAO,EAAP;EACD;EAED;;;;;;;;;EAOA,SAASG,WAAT,CAAqBC,GAArB,EAA0BC,YAA1B,EAAwC;EACtCD,EAAAA,GAAG,GAAGlR,KAAK,CAAC2F,OAAN,CAAcuL,GAAd;EAAqB;EAAoCA,EAAAA,GAAG,CAAC,CAAD,CAA5D,GAAkEA,GAAxE;;EACA,MAAI,CAACA,GAAD,IAAQC,YAAZ,EAA0B;EACxB,WAAOA,YAAP;EACD,GAFD,MAEO;EACL,WAAOD,GAAP;EACD;EACF;EAED;;;;;;EAIA,SAASE,YAAT,CAAsBtL,OAAtB,EAA+B;EAO7B;EACA,SAAO,OAAOA,OAAO,CAACtH,IAAf,KAAwB,QAA/B;EACD;EAED;;;;;;EAIA,SAAS6S,eAAT,CAAyBvL,OAAzB,EAAkC;EAQhC,SAAOA,OAAO,CAACR,KAAf;EACD;EAED;;;;;;;;EAMA,SAASgM,YAAT,CAAsBC,MAAtB,EAA8BhM,QAA9B,EAAwC;EACtC;EACAlF,EAAAA,OAAO,CAACgD,KAAR,qBAA+BkC,QAA/B,4BAA4DgM,MAA5D;EACD;;EAED,IAAMC,SAAS,GAAG,CAChB,kBADgB,EAEhB,YAFgB,EAGhB,QAHgB,EAIhB,cAJgB,EAKhB,MALgB,CAAlB;EAOA;;;;;EAIA,SAASC,SAAT,CAAmBC,KAAnB,EAA+B;EAAA,MAAZA,KAAY;EAAZA,IAAAA,KAAY,GAAJ,EAAI;EAAA;;EAC7B,MAAMC,MAAM,GAAG,EAAf;EACAH,EAAAA,SAAS,CAACjP,OAAV,CAAkB,UAAA7E,CAAC,EAAI;EACrB,QAAIgU,KAAK,CAACxV,cAAN,CAAqBwB,CAArB,CAAJ,EAA6B;EAC3BiU,MAAAA,MAAM,CAACjU,CAAD,CAAN,GAAYgU,KAAK,CAAChU,CAAD,CAAjB;EACD;EACF,GAJD;EAKA,SAAOiU,MAAP;EACD;EAED;;;;;;;EAKA,SAASC,iBAAT,CAA2BxB,KAA3B,EAAkC;EAAA,MACzB1U,GADyB,GACT0U,KADS,CACzB1U,GADyB;EAAA,MACpBmW,OADoB,GACTzB,KADS,CACpByB,OADoB;EAEhC;;EACA,MAAIA,OAAO,IAAI,EAAX,IAAiBA,OAAO,IAAI,EAA5B,IAAkCnW,GAAG,CAACG,OAAJ,CAAY,OAAZ,MAAyB,CAA/D,EAAkE;EAChE,qBAAeH,GAAf;EACD;;EACD,SAAOA,GAAP;EACD;EAED;;;;;;;EAKA,SAASoW,aAAT,CAAuBC,GAAvB,EAA4B;EAC1B,SAAOvW,MAAM,CAACS,SAAP,CAAiB+V,QAAjB,CAA0B7V,IAA1B,CAA+B4V,GAA/B,MAAwC,iBAA/C;EACD;EAED;;;;;;;;;;;EASA,SAASE,oBAAT,CAA8BC,UAA9B,EAA0CC,SAA1C,EAAqDC,SAArD,EAAgE;EAC9D,MAAMC,cAAc,GAAGD,SAAS,GAAG,CAAnC;;EAEA,MACE,OAAOD,SAAP,KAAqB,QAArB,IACAA,SAAS,GAAG,CADZ,IAEAA,SAAS,IAAIC,SAHf,EAIE;EACAD,IAAAA,SAAS,GAAGD,UAAU,GAAG,CAAb,GAAiB,CAAC,CAAlB,GAAsBG,cAAc,GAAG,CAAnD;EACD;;EACD,MAAIC,QAAQ,GAAGH,SAAS,GAAGD,UAA3B;;EACA,MAAII,QAAQ,GAAG,CAAf,EAAkB;EAChBA,IAAAA,QAAQ,GAAGD,cAAX;EACD,GAFD,MAEO,IAAIC,QAAQ,GAAGD,cAAf,EAA+B;EACpCC,IAAAA,QAAQ,GAAG,CAAX;EACD;;EACD,SAAOA,QAAP;EACD;;EClSD,IAAIC,SAAJ;EAEA,IAAMC,aAAa,GAAG9C,QAAQ,CAAC,YAAM;EACnC+C,EAAAA,YAAY,GAAGC,WAAf,GAA6B,EAA7B;EACD,CAF6B,EAE3B,GAF2B,CAA9B;EAIA;;;;;EAIA,SAASC,SAAT,CAAmBC,MAAnB,EAA2BC,YAA3B,EAAyC;EACvC,MAAMC,GAAG,GAAGL,YAAY,CAACI,YAAD,CAAxB;;EACA,MAAI,CAACD,MAAL,EAAa;EACX;EACD;;EAEDE,EAAAA,GAAG,CAACJ,WAAJ,GAAkBE,MAAlB;EACAJ,EAAAA,aAAa;EACd;EAED;;;;;;;EAKA,SAASC,YAAT,CAAsBI,YAAtB,EAA+C;EAAA,MAAzBA,YAAyB;EAAzBA,IAAAA,YAAyB,GAAV/H,QAAU;EAAA;;EAC7C,MAAIyH,SAAJ,EAAe;EACb,WAAOA,SAAP;EACD;;EAEDA,EAAAA,SAAS,GAAGM,YAAY,CAACE,aAAb,CAA2B,KAA3B,CAAZ;EACAR,EAAAA,SAAS,CAACS,YAAV,CAAuB,IAAvB,EAA6B,qBAA7B;EACAT,EAAAA,SAAS,CAACS,YAAV,CAAuB,MAAvB,EAA+B,QAA/B;EACAT,EAAAA,SAAS,CAACS,YAAV,CAAuB,WAAvB,EAAoC,QAApC;EACAT,EAAAA,SAAS,CAACS,YAAV,CAAuB,eAAvB,EAAwC,gBAAxC;EACAxX,EAAAA,MAAM,CAACO,MAAP,CAAcwW,SAAS,CAAC7I,KAAxB,EAA+B;EAC7BuJ,IAAAA,MAAM,EAAE,GADqB;EAE7BC,IAAAA,IAAI,EAAE,eAFuB;EAG7BvH,IAAAA,MAAM,EAAE,KAHqB;EAI7BwH,IAAAA,MAAM,EAAE,MAJqB;EAK7BhK,IAAAA,QAAQ,EAAE,QALmB;EAM7BiK,IAAAA,OAAO,EAAE,GANoB;EAO7BC,IAAAA,QAAQ,EAAE,UAPmB;EAQ7B7H,IAAAA,KAAK,EAAE;EARsB,GAA/B;EAUAqH,EAAAA,YAAY,CAACzH,IAAb,CAAkBkI,WAAlB,CAA8Bf,SAA9B;EACA,SAAOA,SAAP;EACD;;EC/CM,IAAMgB,OAAO,GAAkB,0BAA/B;AACP,EAAO,IAAMC,OAAO,GAAkB,0BAA/B;AACP,EAAO,IAAMC,cAAc,GAAkB,kCAAtC;AACP,EAAO,IAAMC,cAAc,GACzB,mCADK;AAGP,EAAO,IAAMC,gBAAgB,GAC3B,qCADK;AAGP,EAAO,IAAMC,aAAa,GAAkB,iCAArC;AACP,EAAO,IAAMC,YAAY,GAAkB,gCAApC;AACP,EAAO,IAAMC,WAAW,GAAkB,+BAAnC;AACP,EAAO,IAAMC,UAAU,GAAkB,8BAAlC;AACP,EAAO,IAAMC,SAAS,GAAkB,6BAAjC;AACP,EAAO,IAAMC,SAAS,GAAkB,6BAAjC;AACP,EAAO,IAAMC,WAAW,GAAkB,+BAAnC;AACP,EAAO,IAAMC,kBAAkB,GAC7B,uCADK;AAGP,EAAO,IAAMC,WAAW,GAAkB,+BAAnC;AACP,EAAO,IAAMC,UAAU,GAAkB,8BAAlC;AACP,EAAO,IAAMC,iCAAiC,GAC5C,wDADK;AAGP,EAAO,IAAMC,QAAQ,GAAkB,2BAAhC;;;;;;;;;;;;;;;;;;;;;;MCEDC;;;;;EAsFJ,qBAAYlP,MAAZ,EAAmB;EAAA,gBACjB,sBAAMA,MAAN,CADiB;;EAAA,UA4BnBmP,EA5BmB,GA4Bd,MAAKnP,KAAL,CAAWmP,EAAX,mBAA8BhE,UAAU,EA5B1B;EAAA,UA6BnBiE,MA7BmB,GA6BV,MAAKpP,KAAL,CAAWoP,MAAX,IAAwB,MAAKD,EAA7B,UA7BU;EAAA,UA8BnBE,OA9BmB,GA8BT,MAAKrP,KAAL,CAAWqP,OAAX,IAAyB,MAAKF,EAA9B,WA9BS;EAAA,UA+BnBG,OA/BmB,GA+BT,MAAKtP,KAAL,CAAWsP,OAAX,IAAyB,MAAKH,EAA9B,WA/BS;;EAAA,UAgCnBI,SAhCmB,GAgCP,MAAKvP,KAAL,CAAWuP,SAAX,IAAyB,UAAA3H,KAAK;EAAA,aAAO,MAAKuH,EAAZ,cAAuBvH,KAAvB;EAAA,KAhCvB;;EAAA,UAkCnB4H,KAlCmB,GAkCX,IAlCW;EAAA,UAmCnBC,KAnCmB,GAmCX,EAnCW;EAAA,UAyCnB3C,SAzCmB,GAyCP,IAzCO;EAAA,UA0CnBrB,mBA1CmB,GA0CG,CA1CH;EAAA,UA4CnBiE,UA5CmB,GA4CN,EA5CM;;EAAA,UAkDnBC,kBAlDmB,GAkDE,UAACtF,EAAD,EAAKC,IAAL,EAAc;EACjC,UAAM6E,EAAE,GAAGxE,UAAU,CAAC,YAAM;EAC1B,cAAK+E,UAAL,GAAkB,MAAKA,UAAL,CAAgBE,MAAhB,CAAuB,UAAAvZ,CAAC;EAAA,iBAAIA,CAAC,KAAK8Y,EAAV;EAAA,SAAxB,CAAlB;EACA9E,QAAAA,EAAE;EACH,OAHoB,EAGlBC,IAHkB,CAArB;;EAKA,YAAKoF,UAAL,CAAgB7J,IAAhB,CAAqBsJ,EAArB;EACD,KAzDkB;;EAAA,UAuHnBU,YAvHmB,GAuHJ,UAAAC,KAAK,EAAI;EACtB,YAAKhD,SAAL,GAAiBgD,KAAjB;EACD,KAzHkB;;EAAA,UA2HnBC,cA3HmB,GA2HF,YAAM;EACrB,YAAKjD,SAAL,GAAiB,IAAjB;EACD,KA7HkB;;EAAA,UAmInBkD,mBAnImB,GAmIG,UACpBC,gBADoB,EAEpBC,eAFoB,EAGjB;EAAA,UAFHD,gBAEG;EAFHA,QAAAA,gBAEG,GAFgB,MAAKjQ,KAAL,CAAWmQ,uBAE3B;EAAA;;EAAA,UADHD,eACG;EADHA,QAAAA,eACG,GADe,EACf;EAAA;;EACHA,MAAAA,eAAe,GAAG/D,SAAS,CAAC+D,eAAD,CAA3B;;EACA,YAAKE,gBAAL;EAAuBH,QAAAA,gBAAgB,EAAhBA;EAAvB,SAA4CC,eAA5C;EACD,KAzIkB;;EAAA,UAwKnBG,cAxKmB,GAwKF,UAAA3G,EAAE,EAAI;EACrB,YAAK0G,gBAAL,CACE;EACE7E,QAAAA,YAAY,EAAE,IADhB;EAEE+E,QAAAA,UAAU,EAAE,EAFd;EAGEL,QAAAA,gBAAgB,EAAE,MAAKjQ,KAAL,CAAWmQ,uBAH/B;EAIE7E,QAAAA,MAAM,EAAE,MAAKtL,KAAL,CAAWuQ;EAJrB,OADF,EAOE7G,EAPF;EASD,KAlLkB;;EAAA,UAoLnB8G,UApLmB,GAoLN,UAACC,IAAD,EAAOP,eAAP,EAAwBxG,EAAxB,EAA+B;EAC1CwG,MAAAA,eAAe,GAAG/D,SAAS,CAAC+D,eAAD,CAA3B;;EACA,YAAKE,gBAAL;EAEI9E,QAAAA,MAAM,EAAE,MAAKtL,KAAL,CAAWuQ,aAFvB;EAGIN,QAAAA,gBAAgB,EAAE,MAAKjQ,KAAL,CAAWmQ,uBAHjC;EAII5E,QAAAA,YAAY,EAAEkF,IAJlB;EAKIH,QAAAA,UAAU,EAAE,MAAKtQ,KAAL,CAAW0L,YAAX,CAAwB+E,IAAxB;EALhB,SAMOP,eANP,GAQExG,EARF;EAUD,KAhMkB;;EAAA,UAkMnBgH,iBAlMmB,GAkMC,UAACC,SAAD,EAAYT,eAAZ,EAA6BxG,EAA7B,EAAoC;EACtD,UAAM+G,IAAI,GAAG,MAAKhB,KAAL,CAAWkB,SAAX,CAAb;;EACA,UAAIF,IAAI,IAAI,IAAZ,EAAkB;EAChB;EACD;;EACD,YAAKD,UAAL,CAAgBC,IAAhB,EAAsBP,eAAtB,EAAuCxG,EAAvC;EACD,KAxMkB;;EAAA,UA0MnBkH,qBA1MmB,GA0MK,UAACV,eAAD,EAAkBxG,EAAlB,EAAyB;EAC/C,aAAO,MAAKgH,iBAAL,CACL,MAAKG,QAAL,GAAgBZ,gBADX,EAELC,eAFK,EAGLxG,EAHK,CAAP;EAKD,KAhNkB;;EAAA,UA0NnB0G,gBA1NmB,GA0NA,UAACU,UAAD,EAAapH,EAAb,EAAoB;EACrC,UAAIqH,cAAJ,EAAoBC,WAApB;EAEA,UAAMC,gBAAgB,GAAG,EAAzB;EACA,UAAMC,oBAAoB,GAAG,OAAOJ,UAAP,KAAsB,UAAnD,CAJqC;EAOrC;EACA;EACA;EACA;;EACA,UAAI,CAACI,oBAAD,IAAyBJ,UAAU,CAACla,cAAX,CAA0B,YAA1B,CAA7B,EAAsE;EACpE,cAAKoJ,KAAL,CAAWmR,kBAAX,CAA8BL,UAAU,CAACR,UAAzC,eACK,MAAKc,kBAAL,EADL,MAEKN,UAFL;EAID;;EACD,aAAO,MAAKO,QAAL,CACL,UAAAjF,KAAK,EAAI;EACPA,QAAAA,KAAK,GAAG,MAAKyE,QAAL,CAAczE,KAAd,CAAR;EACA,YAAIkF,aAAa,GAAGJ,oBAAoB,GACpCJ,UAAU,CAAC1E,KAAD,CAD0B,GAEpC0E,UAFJ,CAFO;;EAOPQ,QAAAA,aAAa,GAAG,MAAKtR,KAAL,CAAWuR,YAAX,CAAwBnF,KAAxB,EAA+BkF,aAA/B,CAAhB,CAPO;EAUP;EACA;;EACAP,QAAAA,cAAc,GAAGO,aAAa,CAAC1a,cAAd,CAA6B,cAA7B,CAAjB,CAZO;;EAcP,YAAM4a,SAAS,GAAG,EAAlB,CAdO;;EAgBP,YAAMC,aAAa,GAAG,EAAtB,CAhBO;EAkBP;EACA;;EACA,YACEV,cAAc,IACdO,aAAa,CAAC/F,YAAd,KAA+Ba,KAAK,CAACb,YAFvC,EAGE;EACAyF,UAAAA,WAAW,GAAGM,aAAa,CAAC/F,YAA5B;EACD;;EACD+F,QAAAA,aAAa,CAACpY,IAAd,GAAqBoY,aAAa,CAACpY,IAAd,IAAsBwY,OAA3C;EAEAxb,QAAAA,MAAM,CAACC,IAAP,CAAYmb,aAAZ,EAA2BrU,OAA3B,CAAmC,UAAA7G,GAAG,EAAI;EACxC;EACA;EACA,cAAIgW,KAAK,CAAChW,GAAD,CAAL,KAAekb,aAAa,CAAClb,GAAD,CAAhC,EAAuC;EACrC6a,YAAAA,gBAAgB,CAAC7a,GAAD,CAAhB,GAAwBkb,aAAa,CAAClb,GAAD,CAArC;EACD,WALuC;EAOxC;EACA;EACA;EACA;EACA;;;EACA,cAAIA,GAAG,KAAK,MAAZ,EAAoB;EAClB;EACD;;EACDqb,UAAAA,aAAa,CAACrb,GAAD,CAAb,GAAqBkb,aAAa,CAAClb,GAAD,CAAlC,CAfwC;;EAiBxC,cAAI,CAAC,MAAKub,gBAAL,CAAsBvb,GAAtB,CAAL,EAAiC;EAC/Bob,YAAAA,SAAS,CAACpb,GAAD,CAAT,GAAiBkb,aAAa,CAAClb,GAAD,CAA9B;EACD;EACF,SApBD,EA5BO;EAmDP;;EACA,YACE8a,oBAAoB,IACpBI,aAAa,CAAC1a,cAAd,CAA6B,YAA7B,CAFF,EAGE;EACA,gBAAKoJ,KAAL,CAAWmR,kBAAX,CAA8BG,aAAa,CAAChB,UAA5C,eACK,MAAKc,kBAAL,EADL,MAEKE,aAFL;EAID;;EAED,eAAOE,SAAP;EACD,OAhEI,EAiEL,YAAM;EACJ;EACA/H,QAAAA,MAAM,CAACC,EAAD,CAAN,GAFI;EAKJ;;EACA,YAAMkI,oBAAoB,GAAG1b,MAAM,CAACC,IAAP,CAAY8a,gBAAZ,EAA8B3a,MAA9B,GAAuC,CAApE;;EACA,YAAIsb,oBAAJ,EAA0B;EACxB,gBAAK5R,KAAL,CAAW6R,aAAX,CAAyBZ,gBAAzB,EAA2C,MAAKG,kBAAL,EAA3C;EACD;;EAED,YAAIL,cAAJ,EAAoB;EAClB,gBAAK/Q,KAAL,CAAW8R,QAAX,CACEhB,UAAU,CAACvF,YADb,EAEE,MAAK6F,kBAAL,EAFF;EAID;;EAED,YAAIJ,WAAW,KAAK7V,SAApB,EAA+B;EAC7B,gBAAK6E,KAAL,CAAW+R,QAAX,CAAoBf,WAApB,EAAiC,MAAKI,kBAAL,EAAjC;EACD,SApBG;EAsBJ;;;EACA,cAAKpR,KAAL,CAAWgS,YAAX,CAAwBf,gBAAxB,EAA0C,MAAKG,kBAAL,EAA1C;EACD,OAzFI,CAAP;EA2FD,KAtUkB;;EAAA,UAyYnBa,OAzYmB,GAyYT,UAAAhR,IAAI;EAAA,aAAK,MAAKiR,SAAL,GAAiBjR,IAAtB;EAAA,KAzYK;;EAAA,UA2YnBkR,YA3YmB,GA2YJ,yBAGV;EAAA;;EAAA,oCAF8B,EAE9B;EAAA,6BAFFC,MAEE;EAAA,UAFFA,MAEE,4BAFO,KAEP;EAAA,UAFcC,GAEd,QAFcA,GAEd;EAAA,UAFsBC,IAEtB;;EAAA,sCAD0B,EAC1B;EAAA,wCADFC,gBACE;EAAA,UADFA,gBACE,sCADiB,KACjB;;EACH;EACA;EACA,YAAKJ,YAAL,CAAkBK,MAAlB,GAA2B,IAA3B;EACA,YAAKL,YAAL,CAAkBC,MAAlB,GAA2BA,MAA3B;EACA,YAAKD,YAAL,CAAkBI,gBAAlB,GAAqCA,gBAArC;;EALG,2BAMc,MAAK1B,QAAL,EANd;EAAA,UAMIvF,MANJ,kBAMIA,MANJ;;EAOH,iDACG8G,MADH,IACYlH,OAAO,CAACmH,GAAD,EAAM,MAAKJ,OAAX,CADnB,YAEEQ,IAFF,GAEQ,UAFR,YAGE,eAHF,IAGmBnH,MAHnB,YAIE,eAJF,IAImB,SAJnB,YAKE,WALF,IAKeA,MAAM,GAAG,MAAK8D,MAAR,GAAiB,IALtC,YAME,iBANF,IAMqB,MAAKC,OAN1B,cAOKiD,IAPL;EASD,KA9ZkB;;EAAA,UAkanBI,eAlamB,GAkaD;EAChBC,MAAAA,SADgB,qBACN7H,KADM,EACC;EAAA;;EACfA,QAAAA,KAAK,CAAC8H,cAAN;;EAEA,YAAI,KAAK/B,QAAL,GAAgBvF,MAApB,EAA4B;EAC1B,cAAMuH,MAAM,GAAG/H,KAAK,CAACgI,QAAN,GAAiB,CAAjB,GAAqB,CAApC;EACA,eAAKC,oBAAL,CAA0BF,MAA1B,EAAkC;EAChC3Z,YAAAA,IAAI,EAAEwY;EAD0B,WAAlC;EAGD,SALD,MAKO;EACL,eAAKtB,gBAAL,CACE;EACE9E,YAAAA,MAAM,EAAE,IADV;EAEEpS,YAAAA,IAAI,EAAEwY;EAFR,WADF,EAKE,YAAM;EACJ,gBAAM5E,SAAS,GAAG,MAAI,CAACkG,YAAL,EAAlB;;EACA,gBAAIlG,SAAS,GAAG,CAAhB,EAAmB;EACjB,cAAA,MAAI,CAACkD,mBAAL,CACErD,oBAAoB,CAClB,CADkB,EAElB,MAAI,CAACkE,QAAL,GAAgBZ,gBAFE,EAGlBnD,SAHkB,CADtB,EAME;EAAC5T,gBAAAA,IAAI,EAAEwY;EAAP,eANF;EAQD;EACF,WAjBH;EAmBD;EACF,OA9Be;EAgChBuB,MAAAA,OAhCgB,mBAgCRnI,KAhCQ,EAgCD;EAAA;;EACbA,QAAAA,KAAK,CAAC8H,cAAN;;EAEA,YAAI,KAAK/B,QAAL,GAAgBvF,MAApB,EAA4B;EAC1B,cAAMuH,MAAM,GAAG/H,KAAK,CAACgI,QAAN,GAAiB,CAAC,CAAlB,GAAsB,CAAC,CAAtC;EACA,eAAKC,oBAAL,CAA0BF,MAA1B,EAAkC;EAChC3Z,YAAAA,IAAI,EAAEwY;EAD0B,WAAlC;EAGD,SALD,MAKO;EACL,eAAKtB,gBAAL,CACE;EACE9E,YAAAA,MAAM,EAAE,IADV;EAEEpS,YAAAA,IAAI,EAAEwY;EAFR,WADF,EAKE,YAAM;EACJ,gBAAM5E,SAAS,GAAG,MAAI,CAACkG,YAAL,EAAlB;;EACA,gBAAIlG,SAAS,GAAG,CAAhB,EAAmB;EACjB,cAAA,MAAI,CAACkD,mBAAL,CACErD,oBAAoB,CAClB,CAAC,CADiB,EAElB,MAAI,CAACkE,QAAL,GAAgBZ,gBAFE,EAGlBnD,SAHkB,CADtB,EAME;EAAC5T,gBAAAA,IAAI,EAAEwY;EAAP,eANF;EAQD;EACF,WAjBH;EAmBD;EACF,OA7De;EA+DhBwB,MAAAA,KA/DgB,iBA+DVpI,KA/DU,EA+DH;EAAA,8BACwB,KAAK+F,QAAL,EADxB;EAAA,YACJvF,MADI,mBACJA,MADI;EAAA,YACI2E,gBADJ,mBACIA,gBADJ;;EAEX,YAAI3E,MAAM,IAAI2E,gBAAgB,IAAI,IAAlC,EAAwC;EACtCnF,UAAAA,KAAK,CAAC8H,cAAN;EACA,cAAMnC,IAAI,GAAG,KAAKhB,KAAL,CAAWQ,gBAAX,CAAb;EACA,cAAMkD,QAAQ,GAAG,KAAKC,oBAAL,CAA0BnD,gBAA1B,CAAjB;;EACA,cAAIQ,IAAI,IAAI,IAAR,IAAiB0C,QAAQ,IAAIA,QAAQ,CAACE,YAAT,CAAsB,UAAtB,CAAjC,EAAqE;EACnE;EACD;;EACD,eAAKzC,qBAAL,CAA2B;EACzB1X,YAAAA,IAAI,EAAEwY;EADmB,WAA3B;EAGD;EACF,OA5Ee;EA8EhB4B,MAAAA,MA9EgB,kBA8ETxI,KA9ES,EA8EF;EACZA,QAAAA,KAAK,CAAC8H,cAAN;EACA,aAAKW,KAAL,CAAW;EACTra,UAAAA,IAAI,EAAEwY,aADG;EAETnG,UAAAA,YAAY,EAAE,IAFL;EAGT+E,UAAAA,UAAU,EAAE;EAHH,SAAX;EAKD;EArFe,KAlaC;EAAA,UA4fnBkD,qBA5fmB,gBA6fd,MAAKd,eA7fS;EA+fjB,SA/fiB,aA+fb5H,KA/fa,EA+fN;EACTA,QAAAA,KAAK,CAAC8H,cAAN;EACA,aAAKa,UAAL,CAAgB;EAACva,UAAAA,IAAI,EAAEwY;EAAP,SAAhB;EACD;EAlgBgB;EAAA,UAqgBnBgC,oBArgBmB,gBAsgBd,MAAKhB,eAtgBS;EAugBjBiB,MAAAA,IAvgBiB,gBAugBZ7I,KAvgBY,EAugBL;EACV,aAAK8I,yBAAL,CAA+B9I,KAA/B,EAAsC,IAAtC,EAA4C;EAC1C5R,UAAAA,IAAI,EAAEwY;EADoC,SAA5C;EAGD,OA3gBgB;EA6gBjBmC,MAAAA,GA7gBiB,eA6gBb/I,KA7gBa,EA6gBN;EACT,aAAK8I,yBAAL,CAA+B9I,KAA/B,EAAsC,KAAtC,EAA6C;EAC3C5R,UAAAA,IAAI,EAAEwY;EADqC,SAA7C;EAGD;EAjhBgB;;EAAA,UAohBnBoC,oBAphBmB,GAohBI,kBAOZ;EAAA,sCAAP,EAAO;EAAA,UANTC,OAMS,SANTA,OAMS;EAAA,UALTC,OAKS,SALTA,OAKS;EAAA,UAJTC,SAIS,SAJTA,SAIS;EAAA,UAHTC,OAGS,SAHTA,OAGS;EAAA,UAFTC,MAES,SAFTA,MAES;EAAA,UADN7B,IACM;;EAAA,4BACQ,MAAKzB,QAAL,EADR;EAAA,UACFvF,MADE,mBACFA,MADE;;EAET,UAAM8I,oBAAoB,GAKtB;EACEL,QAAAA,OAAO,EAAEnJ,oBAAoB,CAACmJ,OAAD,EAAU,MAAKM,iBAAf,CAD/B;EAEEJ,QAAAA,SAAS,EAAErJ,oBAAoB,CAACqJ,SAAD,EAAY,MAAKK,mBAAjB,CAFjC;EAGEJ,QAAAA,OAAO,EAAEtJ,oBAAoB,CAACsJ,OAAD,EAAU,MAAKK,iBAAf,CAH/B;EAIEJ,QAAAA,MAAM,EAAEvJ,oBAAoB,CAACuJ,MAAD,EAAS,MAAKK,gBAAd;EAJ9B,OALJ;EAWA,UAAMC,aAAa,GAAGnC,IAAI,CAACoC,QAAL,GAAgB,EAAhB,GAAqBN,oBAA3C;EACA;EACElb,QAAAA,IAAI,EAAE,QADR;EAEEuZ,QAAAA,IAAI,EAAE,QAFR;EAGE,sBAAcnH,MAAM,GAAG,YAAH,GAAkB,WAHxC;EAIE,yBAAiB,IAJnB;EAKE,uBAAe;EALjB,SAMKmJ,aANL,MAOKnC,IAPL;EASD,KAljBkB;;EAAA,UAojBnBiC,iBApjBmB,GAojBC,UAAAzJ,KAAK,EAAI;EAC3B;EACAA,MAAAA,KAAK,CAAC8H,cAAN;EACD,KAvjBkB;;EAAA,UAyjBnB0B,mBAzjBmB,GAyjBG,UAAAxJ,KAAK,EAAI;EAC7B,UAAM1U,GAAG,GAAGkW,iBAAiB,CAACxB,KAAD,CAA7B;;EACA,UAAI,MAAK0I,qBAAL,CAA2Bpd,GAA3B,CAAJ,EAAqC;EACnC,cAAKod,qBAAL,CAA2Bpd,GAA3B,EAAgCS,IAAhC,gCAA2CiU,KAA3C;EACD;EACF,KA9jBkB;;EAAA,UAgkBnBuJ,iBAhkBmB,GAgkBC,UAAAvJ,KAAK,EAAI;EAC3BA,MAAAA,KAAK,CAAC8H,cAAN,GAD2B;EAG3B;;EACA;;EACA,UACE,CACA,MAAK5S,KAAL,CAAW2U,WAAX,CAAuBnP,QAAvB,CAAgCoP,aAAhC,KACE,MAAK5U,KAAL,CAAW2U,WAAX,CAAuBnP,QAAvB,CAAgCM,IAHpC,EAIE;EACAgF,QAAAA,KAAK,CAAC9U,MAAN,CAAa6e,KAAb;EACD,OAX0B;EAa3B;EACA;;;EAIE;EACA,YAAKlF,kBAAL,CAAwB;EAAA,eACtB,MAAK8D,UAAL,CAAgB;EAACva,UAAAA,IAAI,EAAEwY;EAAP,SAAhB,CADsB;EAAA,OAAxB;EAIH,KAvlBkB;;EAAA,UAylBnB8C,gBAzlBmB,GAylBA,UAAA1J,KAAK,EAAI;EAC1B,UAAMgK,UAAU,GAAGhK,KAAK,CAAC9U,MAAzB,CAD0B;EAE1B;;EACA,YAAK2Z,kBAAL,CAAwB,YAAM;EAC5B,YACE,CAAC,MAAKoF,WAAN,KACC,MAAK/U,KAAL,CAAW2U,WAAX,CAAuBnP,QAAvB,CAAgCoP,aAAhC,IAAiD,IAAjD,IACC,MAAK5U,KAAL,CAAW2U,WAAX,CAAuBnP,QAAvB,CAAgCoP,aAAhC,CAA8CzF,EAA9C,KAAqD,MAAKG,OAF5D,KAGA,MAAKtP,KAAL,CAAW2U,WAAX,CAAuBnP,QAAvB,CAAgCoP,aAAhC,KAAkDE,UAJpD;EAAA,UAKE;EACA,kBAAKvB,KAAL,CAAW;EAACra,cAAAA,IAAI,EAAEwY;EAAP,aAAX;EACD;EACF,OATD;EAUD,KAtmBkB;;EAAA,UA4mBnBsD,aA5mBmB,GA4mBH,UAAAhV,KAAK,EAAI;EACvB;EAAQiV,QAAAA,OAAO,EAAE,MAAK3F,OAAtB;EAA+BH,QAAAA,EAAE,EAAE,MAAKE;EAAxC,SAAoDrP,KAApD;EACD,KA9mBkB;;EAAA,UAonBnBkV,aApnBmB,GAonBH,kBAOL;EAAA,sCAAP,EAAO;EAAA,UANTjB,SAMS,SANTA,SAMS;EAAA,UALTE,MAKS,SALTA,MAKS;EAAA,UAJTpC,QAIS,SAJTA,QAIS;EAAA,UAHToD,OAGS,SAHTA,OAGS;EAAA,UAFTC,YAES,SAFTA,YAES;EAAA,UADN9C,IACM;;EACT,UAAI+C,WAAJ;EACA,UAAIZ,aAAa,GAAG,EAApB;EAEA;;EAIEY,MAAAA,WAAW,GAAG,UAAd;;EARO,4BAUsC,MAAKxE,QAAL,EAVtC;EAAA,UAUFP,UAVE,mBAUFA,UAVE;EAAA,UAUUhF,MAVV,mBAUUA,MAVV;EAAA,UAUkB2E,gBAVlB,mBAUkBA,gBAVlB;;EAYT,UAAI,CAACqC,IAAI,CAACoC,QAAV,EAAoB;EAAA;;EAClBD,QAAAA,aAAa,wCACVY,WADU,IACIzK,oBAAoB,CACjCmH,QADiC,EAEjCoD,OAFiC,EAGjC,MAAKG,iBAH4B,CADxB,iBAMXrB,SANW,GAMArJ,oBAAoB,CAACqJ,SAAD,EAAY,MAAKsB,kBAAjB,CANpB,iBAOXpB,MAPW,GAOHvJ,oBAAoB,CAACuJ,MAAD,EAAS,MAAKqB,eAAd,CAPjB,iBAAb;EASD;EAED;;;EAkBA;EACE,6BAAqB,MADvB;EAEE,iCACElK,MAAM,IAAI,OAAO2E,gBAAP,KAA4B,QAAtC,IAAkDA,gBAAgB,IAAI,CAAtE,GACI,MAAKV,SAAL,CAAeU,gBAAf,CADJ,GAEI,IALR;EAME,yBAAiB3E,MAAM,GAAG,MAAK8D,MAAR,GAAiB,IAN1C;EAOE,2BAAmB,MAAKC,OAP1B;EAQE;EACA;EACAoG,QAAAA,YAAY,EAAE,KAVhB;EAWE/d,QAAAA,KAAK,EAAE4Y,UAXT;EAYEnB,QAAAA,EAAE,EAAE,MAAKG;EAZX,SAaKmF,aAbL,MAcKnC,IAdL;EAgBD,KArrBkB;;EAAA,UAurBnBiD,kBAvrBmB,GAurBE,UAAAzK,KAAK,EAAI;EAC5B,UAAM1U,GAAG,GAAGkW,iBAAiB,CAACxB,KAAD,CAA7B;;EACA,UAAI1U,GAAG,IAAI,MAAKsd,oBAAL,CAA0Btd,GAA1B,CAAX,EAA2C;EACzC,cAAKsd,oBAAL,CAA0Btd,GAA1B,EAA+BS,IAA/B,gCAA0CiU,KAA1C;EACD;EACF,KA5rBkB;;EAAA,UA8rBnBwK,iBA9rBmB,GA8rBC,UAAAxK,KAAK,EAAI;EAC3B,YAAKsF,gBAAL,CAAsB;EACpBlX,QAAAA,IAAI,EAAEwY,WADc;EAEpBpG,QAAAA,MAAM,EAAE,IAFY;EAGpBgF,QAAAA,UAAU,EAENxF,KAAK,CAAC9U,MAAN,CAAa0B,KALG;EAMpBuY,QAAAA,gBAAgB,EAAE,MAAKjQ,KAAL,CAAWmQ;EANT,OAAtB;EAQD,KAvsBkB;;EAAA,UAysBnBqF,eAzsBmB,GAysBD,YAAM;EACtB;EACA,YAAK7F,kBAAL,CAAwB,YAAM;EAC5B,YAAM+F,uBAAuB,GAC3B,MAAK1V,KAAL,CAAW2U,WAAX,CAAuBnP,QAAvB,IACA,CAAC,CAAC,MAAKxF,KAAL,CAAW2U,WAAX,CAAuBnP,QAAvB,CAAgCoP,aADlC,IAEA,CAAC,CAAC,MAAK5U,KAAL,CAAW2U,WAAX,CAAuBnP,QAAvB,CAAgCoP,aAAhC,CAA8Ce,OAFhD,IAGA,MAAK3V,KAAL,CAAW2U,WAAX,CAAuBnP,QAAvB,CAAgCoP,aAAhC,CAA8Ce,OAA9C,CAAsDC,MAHtD,IAIC,MAAK1D,SAAL,IACC,MAAKA,SAAL,CAAe/H,QAAf,CACE,MAAKnK,KAAL,CAAW2U,WAAX,CAAuBnP,QAAvB,CAAgCoP,aADlC,CANJ;;EASA,YAAI,CAAC,MAAKG,WAAN,IAAqB,CAACW,uBAA1B,EAAmD;EACjD,gBAAKnC,KAAL,CAAW;EAACra,YAAAA,IAAI,EAAEwY;EAAP,WAAX;EACD;EACF,OAbD;EAcD,KAztBkB;;EAAA,UA+tBnBmE,OA/tBmB,GA+tBT,UAAA5U,IAAI,EAAI;EAChB,YAAK6U,SAAL,GAAiB7U,IAAjB;EACD,KAjuBkB;;EAAA,UAmuBnB8U,YAnuBmB,GAmuBJ,0BAGV;EAAA;;EAAA,sCAF+B,EAE/B;EAAA,+BAFF3D,MAEE;EAAA,UAFFA,MAEE,6BAFO,KAEP;EAAA,UAFcC,GAEd,SAFcA,GAEd;EAAA,UAFsBrS,KAEtB;;EAAA,sCAD0B,EAC1B;EAAA,wCADFuS,gBACE;EAAA,UADFA,gBACE,sCADiB,KACjB;;EACH,YAAKwD,YAAL,CAAkBvD,MAAlB,GAA2B,IAA3B;EACA,YAAKuD,YAAL,CAAkB3D,MAAlB,GAA2BA,MAA3B;EACA,YAAK2D,YAAL,CAAkBxD,gBAAlB,GAAqCA,gBAArC;EAEA,iDACGH,MADH,IACYlH,OAAO,CAACmH,GAAD,EAAM,MAAKwD,OAAX,CADnB,YAEEpD,IAFF,GAEQ,SAFR,YAGE,iBAHF,IAGqBzS,KAAK,IAAIA,KAAK,CAAC,YAAD,CAAd,GAA+B,IAA/B,GAAsC,MAAKqP,OAHhE,YAIEF,EAJF,GAIM,MAAKC,MAJX,cAKKpP,KALL;EAOD,KAlvBkB;;EAAA,UAsvBnBgW,YAtvBmB,GAsvBJ,kBAUJ;EAAA;;EAAA,sCAAP,EAAO;EAAA,UATTC,WASS,SATTA,WASS;EAAA,UARTC,WAQS,SARTA,WAQS;EAAA,UAPTnC,OAOS,SAPTA,OAOS;EAAA,UANTC,OAMS,SANTA,OAMS;EAAA,UALTpM,KAKS,SALTA,KAKS;EAAA,6BAJT6I,IAIS;EAAA,UAJTA,IAIS,2BAFLzE,YAAY,CAAC,cAAD,EAAiB,MAAjB,CAEP;EAAA,UADNsG,IACM;;EACT,UAAI1K,KAAK,KAAKzM,SAAd,EAAyB;EACvB,cAAKsU,KAAL,CAAW5J,IAAX,CAAgB4K,IAAhB;;EACA7I,QAAAA,KAAK,GAAG,MAAK6H,KAAL,CAAWlZ,OAAX,CAAmBka,IAAnB,CAAR;EACD,OAHD,MAGO;EACL,cAAKhB,KAAL,CAAW7H,KAAX,IAAoB6I,IAApB;EACD;;EAED,UAAM0F,WAAW,GAEb,SAFJ;EAGA,UAAMC,kBAAkB,GAEpBrC,OAFJ;EAIA,UAAMK,oBAAoB;EACxB;EACA;EACA;EACA6B,QAAAA,WAAW,EAAErL,oBAAoB,CAACqL,WAAD,EAAc,YAAM;EACnD,cAAIrO,KAAK,KAAK,MAAKiJ,QAAL,GAAgBZ,gBAA9B,EAAgD;EAC9C;EACD;;EACD,gBAAKD,mBAAL,CAAyBpI,KAAzB,EAAgC;EAC9B1O,YAAAA,IAAI,EAAEwY;EADwB,WAAhC,EAJmD;EASnD;EACA;EACA;;;EACA,gBAAK2E,cAAL,GAAsB,IAAtB;;EACA,gBAAK1G,kBAAL,CAAwB;EAAA,mBAAO,MAAK0G,cAAL,GAAsB,KAA7B;EAAA,WAAxB,EAA6D,GAA7D;EACD,SAdgC,CAJT;EAmBxBH,QAAAA,WAAW,EAAEtL,oBAAoB,CAACsL,WAAD,EAAc,UAAApL,KAAK,EAAI;EACtD;EACA;EACA;EACAA,UAAAA,KAAK,CAAC8H,cAAN;EACD,SALgC;EAnBT,+BAyBvBuD,WAzBuB,IAyBTvL,oBAAoB,CAACwL,kBAAD,EAAqB,YAAM;EAC5D,cAAK1F,iBAAL,CAAuB9I,KAAvB,EAA8B;EAC5B1O,UAAAA,IAAI,EAAEwY;EADsB,SAA9B;EAGD,OAJkC,CAzBX,wBAA1B,CAfS;EAgDT;;EACA,UAAM+C,aAAa,GAAGnC,IAAI,CAACoC,QAAL,GAClB;EAACwB,QAAAA,WAAW,EAAE9B,oBAAoB,CAAC8B;EAAnC,OADkB,GAElB9B,oBAFJ;EAIA;EACEjF,QAAAA,EAAE,EAAE,MAAKI,SAAL,CAAe3H,KAAf,CADN;EAEE6K,QAAAA,IAAI,EAAE,QAFR;EAGE,yBAAiB,MAAK5B,QAAL,GAAgBZ,gBAAhB,KAAqCrI;EAHxD,SAIK6M,aAJL,MAKKnC,IALL;EAOD,KA5zBkB;;EAAA,UA+zBnBgE,UA/zBmB,GA+zBN,YAAM;EACjB,YAAK7G,KAAL,GAAa,EAAb;EACD,KAj0BkB;;EAAA,UAm0BnB8D,KAn0BmB,GAm0BX,UAACrD,eAAD,EAAuBxG,EAAvB,EAA8B;EAAA,UAA7BwG,eAA6B;EAA7BA,QAAAA,eAA6B,GAAX,EAAW;EAAA;;EACpCA,MAAAA,eAAe,GAAG/D,SAAS,CAAC+D,eAAD,CAA3B;;EACA,YAAKE,gBAAL,CACE;EAAA,YAAE7E,YAAF,SAAEA,YAAF;EAAA;EACED,UAAAA,MAAM,EAAE,MAAKtL,KAAL,CAAWuQ,aADrB;EAEEN,UAAAA,gBAAgB,EAAE,MAAKjQ,KAAL,CAAWmQ,uBAF/B;EAGEG,UAAAA,UAAU,EAAE,MAAKtQ,KAAL,CAAW0L,YAAX,CAAwBH,YAAxB;EAHd,WAIK2E,eAJL;EAAA,OADF,EAOExG,EAPF;EASD,KA90BkB;;EAAA,UAg1BnB+J,UAh1BmB,GAg1BN,UAACvD,eAAD,EAAuBxG,EAAvB,EAA8B;EAAA,UAA7BwG,eAA6B;EAA7BA,QAAAA,eAA6B,GAAX,EAAW;EAAA;;EACzCA,MAAAA,eAAe,GAAG/D,SAAS,CAAC+D,eAAD,CAA3B;;EACA,YAAKE,gBAAL,CACE,iBAAc;EAAA,YAAZ9E,MAAY,SAAZA,MAAY;EACZ;EACEA,UAAAA,MAAM,EAAE,CAACA;EADX,WAEMA,MAAM,IAAI;EACZ2E,UAAAA,gBAAgB,EAAE,MAAKjQ,KAAL,CAAWmQ;EADjB,SAFhB,MAKKD,eALL;EAOD,OATH,EAUE,YAAM;EAAA,8BAC+B,MAAKW,QAAL,EAD/B;EAAA,YACGvF,MADH,mBACGA,MADH;EAAA,YACW2E,gBADX,mBACWA,gBADX;;EAEJ,YAAI3E,MAAJ,EAAY;EACV,cAAI,MAAK0H,YAAL,KAAsB,CAAtB,IAA2B,OAAO/C,gBAAP,KAA4B,QAA3D,EAAqE;EACnE,kBAAKD,mBAAL,CAAyBC,gBAAzB,EAA2CC,eAA3C;EACD;EACF;;EACDzG,QAAAA,MAAM,CAACC,EAAD,CAAN;EACD,OAlBH;EAoBD,KAt2BkB;;EAAA,UAw2BnB6M,QAx2BmB,GAw2BR,UAAA7M,EAAE,EAAI;EACf,YAAK0G,gBAAL,CAAsB;EAAC9E,QAAAA,MAAM,EAAE;EAAT,OAAtB,EAAsC5B,EAAtC;EACD,KA12BkB;;EAAA,UA42BnB8M,SA52BmB,GA42BP,UAAA9M,EAAE,EAAI;EAChB,YAAK0G,gBAAL,CAAsB;EAAC9E,QAAAA,MAAM,EAAE;EAAT,OAAtB,EAAuC5B,EAAvC;EACD,KA92BkB;;EAAA,UAg3BnB+M,YAh3BmB,GAg3BJrM,QAAQ,CAAC,YAAM;EAC5B,UAAMgC,KAAK,GAAG,MAAKyE,QAAL,EAAd;;EACA,UAAMJ,IAAI,GAAG,MAAKhB,KAAL,CAAWrD,KAAK,CAAC6D,gBAAjB,CAAb;;EACA,UAAMzE,WAAW,GAAG,MAAKwH,YAAL,EAApB;;EACA,UAAM1F,MAAM,GAAG,MAAKtN,KAAL,CAAWqL,oBAAX;EACbK,QAAAA,YAAY,EAAE,MAAK1L,KAAL,CAAW0L,YADZ;EAEbD,QAAAA,mBAAmB,EAAE,MAAKA,mBAFb;EAGbD,QAAAA,WAAW,EAAXA,WAHa;EAIbkL,QAAAA,eAAe,EAAEjG;EAJJ,SAKVrE,KALU,EAAf;;EAOA,YAAKX,mBAAL,GAA2BD,WAA3B;EAEAmL,MAAAA,SAAa,CAACrJ,MAAD,EAAS,MAAKtN,KAAL,CAAW2U,WAAX,CAAuBnP,QAAhC,CAAb;EACD,KAdsB,EAcpB,GAdoB,CAh3BJ;;EAEjB;EACA;EACA;EAJiB,sBAYb,MAAKxF,KAZQ;EAAA,QAMfmQ,uBANe,eAMfA,uBANe;EAAA,4CAOfyG,uBAPe;EAAA,QAOU3G,iBAPV,sCAO6BE,uBAP7B;EAAA,QAQfI,aARe,eAQfA,aARe;EAAA,4CASfsG,aATe;EAAA,QASAvL,OATA,sCASSiF,aATT;EAAA,4CAUfuG,iBAVe;EAAA,QAUIxG,WAVJ,sCAUiB,EAVjB;EAAA,4CAWfyG,mBAXe;EAAA,QAWMxL,aAXN,sCAWqB,IAXrB;;EAajB,QAAMa,MAAK,GAAG,MAAKyE,QAAL,CAAc;EAC1BZ,MAAAA,gBAAgB,EAAhBA,iBAD0B;EAE1B3E,MAAAA,MAAM,EAANA,OAF0B;EAG1BgF,MAAAA,UAAU,EAAVA,WAH0B;EAI1B/E,MAAAA,YAAY,EAAZA;EAJ0B,KAAd,CAAd;;EAMA,QACEa,MAAK,CAACb,YAAN,IAAsB,IAAtB,IACA,MAAKvL,KAAL,CAAW8W,iBAAX,KAAiC3b,SAFnC,EAGE;EACAiR,MAAAA,MAAK,CAACkE,UAAN,GAAmB,MAAKtQ,KAAL,CAAW0L,YAAX,CAAwBU,MAAK,CAACb,YAA9B,CAAnB;EACD;;EACD,UAAKa,KAAL,GAAaA,MAAb;EAzBiB;EA0BlB;;;;EAiCD;;;WAGA4K,wBAAA,iCAAwB;EACtB,SAAKtH,UAAL,CAAgBzS,OAAhB,CAAwB,UAAAkS,EAAE,EAAI;EAC5B1E,MAAAA,YAAY,CAAC0E,EAAD,CAAZ;EACD,KAFD;EAIA,SAAKO,UAAL,GAAkB,EAAlB;EACD;EAED;;;;;;;;;;;;;;;;;WAeAmB,WAAA,kBAASoG,YAAT,EAAoC;EAAA;;EAAA,QAA3BA,YAA2B;EAA3BA,MAAAA,YAA2B,GAAZ,KAAK7K,KAAO;EAAA;;EAClC,WAAOlW,MAAM,CAACC,IAAP,CAAY8gB,YAAZ,EAA0BC,MAA1B,CAAiC,UAAC9K,KAAD,EAAQhW,GAAR,EAAgB;EACtDgW,MAAAA,KAAK,CAAChW,GAAD,CAAL,GAAa,MAAI,CAACub,gBAAL,CAAsBvb,GAAtB,IACT,MAAI,CAAC4J,KAAL,CAAW5J,GAAX,CADS,GAET6gB,YAAY,CAAC7gB,GAAD,CAFhB;EAGA,aAAOgW,KAAP;EACD,KALM,EAKJ,EALI,CAAP;EAMD;EAED;;;;;;;;;WAOAuF,mBAAA,0BAAiBvb,GAAjB,EAAsB;EACpB,WAAO,KAAK4J,KAAL,CAAW5J,GAAX,MAAoB+E,SAA3B;EACD;;WAED6X,eAAA,wBAAe;EACb;EACA;EACA;EACA;EACA,QAAIlG,SAAS,GAAG,KAAK2C,KAAL,CAAWnZ,MAA3B;;EACA,QAAI,KAAKwW,SAAL,IAAkB,IAAtB,EAA4B;EAC1BA,MAAAA,SAAS,GAAG,KAAKA,SAAjB;EACD,KAFD,MAEO,IAAI,KAAK9M,KAAL,CAAW8M,SAAX,KAAyB3R,SAA7B,EAAwC;EAC7C2R,MAAAA,SAAS,GAAG,KAAK9M,KAAL,CAAW8M,SAAvB;EACD;;EACD,WAAOA,SAAP;EACD;;WAUDsG,uBAAA,8BAAqBxL,KAArB,EAA4B;EAC1B,WAAO,KAAK5H,KAAL,CAAW2U,WAAX,CAAuBnP,QAAvB,CAAgC2R,cAAhC,CAA+C,KAAK5H,SAAL,CAAe3H,KAAf,CAA/C,CAAP;EACD;;WAUDwP,gCAAA,yCAAgC;EAC9B;EACoB;EAClB,UAAMnW,IAAI,GAAG,KAAKmS,oBAAL,CAA0B,KAAKvC,QAAL,GAAgBZ,gBAA1C,CAAb;EACA,WAAKjQ,KAAL,CAAW4J,cAAX,CAA0B3I,IAA1B,EAAgC,KAAK6U,SAArC;EACD;EACF;;WAED/C,uBAAA,8BAAqBF,MAArB,EAA6B3C,eAA7B,EAA8C;EAC5C,QAAMpD,SAAS,GAAG,KAAKkG,YAAL,EAAlB;;EACA,QAAIlG,SAAS,GAAG,CAAhB,EAAmB;EACjB,UAAMuK,oBAAoB,GAAG1K,oBAAoB,CAC/CkG,MAD+C,EAE/C,KAAKhC,QAAL,GAAgBZ,gBAF+B,EAG/CnD,SAH+C,CAAjD;EAKA,WAAKkD,mBAAL,CAAyBqH,oBAAzB,EAA+CnH,eAA/C;EACD;EACF;;WAED0D,4BAAA,mCAA0B9I,KAA1B,EAAiCwM,KAAjC,EAAwCpH,eAAxC,EAAyD;EACvD,QAAMnD,cAAc,GAAG,KAAKiG,YAAL,KAAsB,CAA7C;;EACA,QAAIjG,cAAc,GAAG,CAAjB,IAAsB,CAAC,KAAK8D,QAAL,GAAgBvF,MAA3C,EAAmD;EACjD;EACD;;EACDR,IAAAA,KAAK,CAAC8H,cAAN;EACA,SAAK5C,mBAAL,CAAyBsH,KAAK,GAAG,CAAH,GAAOvK,cAArC,EAAqDmD,eAArD;EACD;;WAkKDkB,qBAAA,8BAAqB;EAAA,0BAC0C,KAAKP,QAAL,EAD1C;EAAA,QACZZ,gBADY,mBACZA,gBADY;EAAA,QACMK,UADN,mBACMA,UADN;EAAA,QACkB/E,YADlB,mBACkBA,YADlB;EAAA,QACgCD,MADhC,mBACgCA,MADhC;;EAAA,QAEZI,YAFY,GAEI,KAAK1L,KAFT,CAEZ0L,YAFY;EAAA,QAGZyD,EAHY,GAGN,IAHM,CAGZA,EAHY;EAAA,QAKjBgD,YALiB,GAwBf,IAxBe,CAKjBA,YALiB;EAAA,QAMjB2B,oBANiB,GAwBf,IAxBe,CAMjBA,oBANiB;EAAA,QAOjBkB,aAPiB,GAwBf,IAxBe,CAOjBA,aAPiB;EAAA,QAQjBe,YARiB,GAwBf,IAxBe,CAQjBA,YARiB;EAAA,QASjBb,aATiB,GAwBf,IAxBe,CASjBA,aATiB;EAAA,QAUjBc,YAViB,GAwBf,IAxBe,CAUjBA,YAViB;EAAA,QAWjBO,QAXiB,GAwBf,IAxBe,CAWjBA,QAXiB;EAAA,QAYjBC,SAZiB,GAwBf,IAxBe,CAYjBA,SAZiB;EAAA,QAajB/C,UAbiB,GAwBf,IAxBe,CAajBA,UAbiB;EAAA,QAcjBjD,UAdiB,GAwBf,IAxBe,CAcjBA,UAdiB;EAAA,QAejBE,iBAfiB,GAwBf,IAxBe,CAejBA,iBAfiB;EAAA,QAgBjBE,qBAhBiB,GAwBf,IAxBe,CAgBjBA,qBAhBiB;EAAA,QAiBjBZ,mBAjBiB,GAwBf,IAxBe,CAiBjBA,mBAjBiB;EAAA,QAkBjBK,cAlBiB,GAwBf,IAxBe,CAkBjBA,cAlBiB;EAAA,QAmBjBiG,UAnBiB,GAwBf,IAxBe,CAmBjBA,UAnBiB;EAAA,QAoBjB/C,KApBiB,GAwBf,IAxBe,CAoBjBA,KApBiB;EAAA,QAqBjB1D,YArBiB,GAwBf,IAxBe,CAqBjBA,YArBiB;EAAA,QAsBjBE,cAtBiB,GAwBf,IAxBe,CAsBjBA,cAtBiB;EAAA,QAuBCsB,QAvBD,GAwBf,IAxBe,CAuBjBjB,gBAvBiB;EAyBnB,WAAO;EACL;EACA+B,MAAAA,YAAY,EAAZA,YAFK;EAGL2B,MAAAA,oBAAoB,EAApBA,oBAHK;EAILkB,MAAAA,aAAa,EAAbA,aAJK;EAKLe,MAAAA,YAAY,EAAZA,YALK;EAMLb,MAAAA,aAAa,EAAbA,aANK;EAOLc,MAAAA,YAAY,EAAZA,YAPK;EASL;EACAzC,MAAAA,KAAK,EAALA,KAVK;EAWLgD,MAAAA,QAAQ,EAARA,QAXK;EAYLC,MAAAA,SAAS,EAATA,SAZK;EAaL/C,MAAAA,UAAU,EAAVA,UAbK;EAcLjD,MAAAA,UAAU,EAAVA,UAdK;EAeLE,MAAAA,iBAAiB,EAAjBA,iBAfK;EAgBLE,MAAAA,qBAAqB,EAArBA,qBAhBK;EAiBLZ,MAAAA,mBAAmB,EAAnBA,mBAjBK;EAkBLK,MAAAA,cAAc,EAAdA,cAlBK;EAmBLiG,MAAAA,UAAU,EAAVA,UAnBK;EAoBLzG,MAAAA,YAAY,EAAZA,YApBK;EAqBLE,MAAAA,cAAc,EAAdA,cArBK;EAsBLsB,MAAAA,QAAQ,EAARA,QAtBK;EAwBL;EACA3F,MAAAA,YAAY,EAAZA,YAzBK;EA2BL;EACAyD,MAAAA,EAAE,EAAFA,EA5BK;EA8BL;EACAc,MAAAA,gBAAgB,EAAhBA,gBA/BK;EAgCLK,MAAAA,UAAU,EAAVA,UAhCK;EAiCLhF,MAAAA,MAAM,EAANA,MAjCK;EAkCLC,MAAAA,YAAY,EAAZA;EAlCK,KAAP;EAoCD;;;WA2fDgM,oBAAA,6BAAoB;EAAA;;EAClB;EACA,QACE,CAEA,KAAKxB,YAAL,CAAkBvD,MAFlB,IAGA,CAAC,KAAKuD,YAAL,CAAkBxD,gBAJrB,EAKE;EACAiF,MAAAA,mCAAmC,CAAC,KAAK1B,SAAN,EAAiB,KAAKC,YAAtB,CAAnC;EACD;EAED;;;EAKO;EACL,UAAM0B,qBAAqB,GAAG,UAACzhB,MAAD,EAAS0hB,kBAAT,EAAuC;EAAA,YAA9BA,kBAA8B;EAA9BA,UAAAA,kBAA8B,GAAT,IAAS;EAAA;;EAAA,YAC5DlS,QAD4D,GAChD,MAAI,CAACxF,KAAL,CAAW2U,WADqC,CAC5DnP,QAD4D;EAEnE,eAAO,CAAC,MAAI,CAAC0M,SAAN,EAAiB,MAAI,CAAC4D,SAAtB,EAAiC/K,IAAjC,CACL,UAAA4M,WAAW;EAAA,iBACTA,WAAW,KACV3N,gBAAgB,CAAC2N,WAAD,EAAc3hB,MAAd,CAAhB,IACE0hB,kBAAkB,IACjB1N,gBAAgB,CAAC2N,WAAD,EAAcnS,QAAQ,CAACoP,aAAvB,CAHT,CADF;EAAA,SADN,CAAP;EAOD,OATD,CADK;EAYL;EACA;EACA;EACA;;;EACA,UAAMsB,WAAW,GAAG,YAAM;EACxB,QAAA,MAAI,CAACnB,WAAL,GAAmB,IAAnB;EACD,OAFD;;EAGA,UAAM6C,SAAS,GAAG,UAAA9M,KAAK,EAAI;EACzB,QAAA,MAAI,CAACiK,WAAL,GAAmB,KAAnB,CADyB;EAGzB;;EACA,YAAM8C,sBAAsB,GAAGJ,qBAAqB,CAAC3M,KAAK,CAAC9U,MAAP,CAApD;;EACA,YAAI,CAAC6hB,sBAAD,IAA2B,MAAI,CAAChH,QAAL,GAAgBvF,MAA/C,EAAuD;EACrD,UAAA,MAAI,CAACiI,KAAL,CAAW;EAACra,YAAAA,IAAI,EAAEwY;EAAP,WAAX,EAA6C;EAAA,mBAC3C,MAAI,CAAC1R,KAAL,CAAW8X,YAAX,CAAwB,MAAI,CAAC1G,kBAAL,EAAxB,CAD2C;EAAA,WAA7C;EAGD;EACF,OAVD,CAnBK;EA+BL;EACA;EACA;EACA;EACA;;;EACA,UAAM2G,YAAY,GAAG,YAAM;EACzB,QAAA,MAAI,CAACC,WAAL,GAAmB,KAAnB;EACD,OAFD;;EAIA,UAAMC,WAAW,GAAG,YAAM;EACxB,QAAA,MAAI,CAACD,WAAL,GAAmB,IAAnB;EACD,OAFD;;EAIA,UAAME,UAAU,GAAG,UAAApN,KAAK,EAAI;EAC1B,YAAM+M,sBAAsB,GAAGJ,qBAAqB,CAClD3M,KAAK,CAAC9U,MAD4C,EAElD,KAFkD,CAApD;;EAIA,YACE,CAAC,MAAI,CAACgiB,WAAN,IACA,CAACH,sBADD,IAEA,MAAI,CAAChH,QAAL,GAAgBvF,MAHlB,EAIE;EACA,UAAA,MAAI,CAACiI,KAAL,CAAW;EAACra,YAAAA,IAAI,EAAEwY;EAAP,WAAX,EAA8C;EAAA,mBAC5C,MAAI,CAAC1R,KAAL,CAAW8X,YAAX,CAAwB,MAAI,CAAC1G,kBAAL,EAAxB,CAD4C;EAAA,WAA9C;EAGD;EACF,OAdD;;EA5CK,UA2DEuD,WA3DF,GA2DiB,KAAK3U,KA3DtB,CA2DE2U,WA3DF;EA6DLA,MAAAA,WAAW,CAACwD,gBAAZ,CAA6B,WAA7B,EAA0CjC,WAA1C;EACAvB,MAAAA,WAAW,CAACwD,gBAAZ,CAA6B,SAA7B,EAAwCP,SAAxC;EACAjD,MAAAA,WAAW,CAACwD,gBAAZ,CAA6B,YAA7B,EAA2CJ,YAA3C;EACApD,MAAAA,WAAW,CAACwD,gBAAZ,CAA6B,WAA7B,EAA0CF,WAA1C;EACAtD,MAAAA,WAAW,CAACwD,gBAAZ,CAA6B,UAA7B,EAAyCD,UAAzC;;EAEA,WAAKE,OAAL,GAAe,YAAM;EACnB,QAAA,MAAI,CAACpB,qBAAL;;EACA,QAAA,MAAI,CAACP,YAAL,CAAkBjM,MAAlB;;EACAmK,QAAAA,WAAW,CAAC0D,mBAAZ,CAAgC,WAAhC,EAA6CnC,WAA7C;EACAvB,QAAAA,WAAW,CAAC0D,mBAAZ,CAAgC,SAAhC,EAA2CT,SAA3C;EACAjD,QAAAA,WAAW,CAAC0D,mBAAZ,CAAgC,YAAhC,EAA8CN,YAA9C;EACApD,QAAAA,WAAW,CAAC0D,mBAAZ,CAAgC,WAAhC,EAA6CJ,WAA7C;EACAtD,QAAAA,WAAW,CAAC0D,mBAAZ,CAAgC,UAAhC,EAA4CH,UAA5C;EACD,OARD;EASD;EACF;;WAEDI,eAAA,sBAAaC,SAAb,EAAwBC,SAAxB,EAAmC;EAAA,iBAE/B,KAAKxY,KAAL,CAAWiQ,gBAAX,KAAgC9U,SAAhC,GAA4C,KAAK0V,QAAL,EAA5C,GAA8D,KAAK7Q,KAFpC;EAAA,QACRyY,uBADQ,UAC1BxI,gBAD0B;;EAAA,iBAI/BuI,SAAS,CAACvI,gBAAV,KAA+B9U,SAA/B,GAA2Cod,SAA3C,GAAuDC,SAJxB;EAAA,QAGRE,oBAHQ,UAG1BzI,gBAH0B;;EAKjC,QAAM0I,cAAc,GAClBF,uBAAuB,IAAI,KAAK5H,QAAL,GAAgBvF,MAA3C,IAAqD,CAACiN,SAAS,CAACjN,MADlE;EAKA,WAAOqN,cAAc,IAFnBF,uBAAuB,KAAKC,oBAE9B;EACD;;WAEDE,qBAAA,4BAAmBJ,SAAnB,EAA8BD,SAA9B,EAAyC;EAErCM,IAAAA,2BAA2B,CAACL,SAAD,EAAY,KAAKxY,KAAjB,CAA3B;EACA;;EACA,QACE,CACA,KAAK+V,YAAL,CAAkBvD,MADlB,IAEA,CAAC,KAAKuD,YAAL,CAAkBxD,gBAHrB,EAIE;EACAiF,MAAAA,mCAAmC,CAAC,KAAK1B,SAAN,EAAiB,KAAKC,YAAtB,CAAnC;EACD;;EAGH,QACE,KAAKpE,gBAAL,CAAsB,cAAtB,KACA,KAAK3R,KAAL,CAAW8Y,mBAAX,CACEN,SAAS,CAACjN,YADZ,EAEE,KAAKvL,KAAL,CAAWuL,YAFb,CAFF,EAME;EACA,WAAK6E,gBAAL,CAAsB;EACpBlX,QAAAA,IAAI,EAAEwY,iCADc;EAEpBpB,QAAAA,UAAU,EAAE,KAAKtQ,KAAL,CAAW0L,YAAX,CAAwB,KAAK1L,KAAL,CAAWuL,YAAnC;EAFQ,OAAtB;EAID;;EAED,QAAI,CAAC,KAAK8K,cAAN,IAAwB,KAAKiC,YAAL,CAAkBC,SAAlB,EAA6BC,SAA7B,CAA5B,EAAqE;EACnE,WAAKpB,6BAAL;EACD;EAED;;;EAEE,SAAKX,YAAL;EAEH;;WAEDsC,uBAAA,gCAAuB;EACrB,SAAKX,OAAL,GADqB;EAEtB;;WAEDY,SAAA,kBAAS;EACP,QAAMC,QAAQ,GAAGtN,WAAW,CAAC,KAAK3L,KAAL,CAAWiZ,QAAZ,EAAsBtP,IAAtB,CAA5B,CADO;EAGP;EACA;;EACA,SAAK2M,UAAL,GALO;EAOP;EACA;EACA;;EACA,SAAKnE,YAAL,CAAkBK,MAAlB,GAA2B,KAA3B;EACA,SAAKL,YAAL,CAAkBC,MAAlB,GAA2BjX,SAA3B;EACA,SAAKgX,YAAL,CAAkBI,gBAAlB,GAAqCpX,SAArC,CAZO;;EAcP,SAAK4a,YAAL,CAAkBvD,MAAlB,GAA2B,KAA3B;EACA,SAAKuD,YAAL,CAAkB3D,MAAlB,GAA2BjX,SAA3B;EACA,SAAK4a,YAAL,CAAkBxD,gBAAlB,GAAqCpX,SAArC,CAhBO;;EAkBP,SAAK6Z,aAAL,CAAmBxC,MAAnB,GAA4B,KAA5B,CAlBO;;EAoBP,SAAK0C,aAAL,CAAmB1C,MAAnB,GAA4B,KAA5B;EACA,QAAMhS,OAAO,GAAGmL,WAAW,CAACsN,QAAQ,CAAC,KAAK7H,kBAAL,EAAD,CAAT,CAA3B;;EACA,QAAI,CAAC5Q,OAAL,EAAc;EACZ,aAAO,IAAP;EACD;;EAED,QAAI,KAAK2R,YAAL,CAAkBK,MAAlB,IAA4B,KAAKxS,KAAL,CAAWuS,gBAA3C,EAA6D;EAC3D,UACE,CACA,CAAC,KAAKJ,YAAL,CAAkBI,gBADnB,IAEA,CAAC,KAAKvS,KAAL,CAAWuS,gBAHd,EAIE;EACA2G,QAAAA,mCAAmC,CAAC1Y,OAAD,EAAU,KAAK2R,YAAf,CAAnC;EACD;;EACD,aAAO3R,OAAP;EACD,KATD,MASO,IAAIsL,YAAY,CAACtL,OAAD,CAAhB,EAA2B;EAChC;EACA;EACA,aAAO2Y,cAAK,CAACC,YAAN,CACL5Y,OADK,EAEL,KAAK2R,YAAL,CAAkBpG,eAAe,CAACvL,OAAD,CAAjC,CAFK,CAAP;EAID;EAED;;;EAEE;EACA;EAEA,UAAM,IAAIvF,KAAJ,CACJ,0FADI,CAAN;EAKF;EAED;;;IAlqCqBoe;;EAAlBnK,UA8CGoK,eAAe;EACpBnJ,EAAAA,uBAAuB,EAAE,IADL;EAEpBI,EAAAA,aAAa,EAAE,KAFK;EAGpBlF,EAAAA,oBAAoB,EAApBA,oBAHoB;EAIpBK,EAAAA,YAAY,EAAE,sBAAArV,CAAC,EAAI;EACjB,QAAIA,CAAC,IAAI,IAAT,EAAe;EACb,aAAO,EAAP;EACD;;EACD,QACE,CACAmW,aAAa,CAACnW,CAAD,CADb,IAEA,CAACA,CAAC,CAACO,cAAF,CAAiB,UAAjB,CAHH,EAIE;EACA;EACAmE,MAAAA,OAAO,CAACC,IAAR,CACE,4MADF,EAEE,6BAFF,EAGE3E,CAHF;EAKD;;EACD,WAAOmG,MAAM,CAACnG,CAAD,CAAb;EACD,GArBmB;EAsBpBwb,EAAAA,aAAa,EAAElI,IAtBK;EAuBpBwH,EAAAA,kBAAkB,EAAExH,IAvBA;EAwBpBqI,EAAAA,YAAY,EAAErI,IAxBM;EAyBpBoI,EAAAA,QAAQ,EAAEpI,IAzBU;EA0BpBmI,EAAAA,QAAQ,EAAEnI,IA1BU;EA2BpBmO,EAAAA,YAAY,EAAEnO,IA3BM;EA4BpBmP,EAAAA,mBAAmB,EAAE,6BAACS,QAAD,EAAW9I,IAAX;EAAA,WAAoB8I,QAAQ,KAAK9I,IAAjC;EAAA,GA5BD;EA6BpBkE,EAAAA,WAAW,EACT,OAAO3O,MAAP,KAAkB;EAAY;EAA9B,IACI,EADJ,GAEIA,MAhCc;EAiCpBuL,EAAAA,YAAY,EAAE,sBAACnF,KAAD,EAAQ0E,UAAR;EAAA,WAAuBA,UAAvB;EAAA,GAjCM;EAkCpByB,EAAAA,gBAAgB,EAAE,KAlCE;EAmCpB3I,EAAAA,cAAc,EAAdA;EAnCoB;EA9ClBsF,UAoFGwC,mBAAmBA;EApFtBxC,UACGsK,YAAY;EACjBP,EAAAA,QAAQ,EAAEzV,SAAS,CAAChE,IADH;EAEjB2Q,EAAAA,uBAAuB,EAAE3M,SAAS,CAAC/D,MAFlB;EAGjB8Q,EAAAA,aAAa,EAAE/M,SAAS,CAACjE,IAHR;EAIjBqX,EAAAA,uBAAuB,EAAEpT,SAAS,CAAC/D,MAJlB;EAKjBsX,EAAAA,mBAAmB,EAAEvT,SAAS,CAAC5D,GALd;EAMjBkX,EAAAA,iBAAiB,EAAEtT,SAAS,CAAC9D,MANZ;EAOjBmX,EAAAA,aAAa,EAAErT,SAAS,CAACjE,IAPR;EAQjB8L,EAAAA,oBAAoB,EAAE7H,SAAS,CAAChE,IARf;EASjBkM,EAAAA,YAAY,EAAElI,SAAS,CAAChE,IATP;EAUjBuS,EAAAA,QAAQ,EAAEvO,SAAS,CAAChE,IAVH;EAWjBsS,EAAAA,QAAQ,EAAEtO,SAAS,CAAChE,IAXH;EAYjBqS,EAAAA,aAAa,EAAErO,SAAS,CAAChE,IAZR;EAajB2R,EAAAA,kBAAkB,EAAE3N,SAAS,CAAChE,IAbb;EAcjBwS,EAAAA,YAAY,EAAExO,SAAS,CAAChE,IAdP;EAejBsY,EAAAA,YAAY,EAAEtU,SAAS,CAAChE,IAfP;EAgBjBsZ,EAAAA,mBAAmB,EAAEtV,SAAS,CAAChE,IAhBd;EAiBjB+R,EAAAA,YAAY,EAAE/N,SAAS,CAAChE,IAjBP;EAkBjBsN,EAAAA,SAAS,EAAEtJ,SAAS,CAAC/D,MAlBJ;EAmBjB0P,EAAAA,EAAE,EAAE3L,SAAS,CAAC9D,MAnBG;EAoBjBiV,EAAAA,WAAW,EAAEnR,SAAS,CAAChC,KAAV,CAAgB;EAC3B2W,IAAAA,gBAAgB,EAAE3U,SAAS,CAAChE,IADD;EAE3B6Y,IAAAA,mBAAmB,EAAE7U,SAAS,CAAChE,IAFJ;EAG3BgG,IAAAA,QAAQ,EAAEhC,SAAS,CAAChC,KAAV,CAAgB;EACxB2V,MAAAA,cAAc,EAAE3T,SAAS,CAAChE,IADF;EAExBoV,MAAAA,aAAa,EAAEpR,SAAS,CAAC5D,GAFD;EAGxBkG,MAAAA,IAAI,EAAEtC,SAAS,CAAC5D;EAHQ,KAAhB;EAHiB,GAAhB,CApBI;EA6BjB2S,EAAAA,gBAAgB,EAAE/O,SAAS,CAACjE,IA7BX;EA8BjBqK,EAAAA,cAAc,EAAEpG,SAAS,CAAChE,IA9BT;EA+BjB;EACA;;EACA;EACA+L,EAAAA,YAAY,EAAE/H,SAAS,CAAC5D,GAlCP;EAmCjB0L,EAAAA,MAAM,EAAE9H,SAAS,CAACjE,IAnCD;EAoCjB+Q,EAAAA,UAAU,EAAE9M,SAAS,CAAC9D,MApCL;EAqCjBuQ,EAAAA,gBAAgB,EAAEzM,SAAS,CAAC/D,MArCX;EAsCjB4P,EAAAA,OAAO,EAAE7L,SAAS,CAAC9D,MAtCF;EAuCjB4P,EAAAA,OAAO,EAAE9L,SAAS,CAAC9D,MAvCF;EAwCjB0P,EAAAA,MAAM,EAAE5L,SAAS,CAAC9D,MAxCD;EAyCjB6P,EAAAA,SAAS,EAAE/L,SAAS,CAAChE;EACrB;;EA1CiB;AAoqCrB;EAEA,SAASgY,mCAAT,CAA6CvW,IAA7C,UAA6D;EAAA,MAATmR,MAAS,UAATA,MAAS;;EAC3D,MAAI,CAACnR,IAAL,EAAW;EACT;EACAlG,IAAAA,OAAO,CAACgD,KAAR,gCAC8BqU,MAD9B;EAGD;EACF;;EAED,SAAS8G,mCAAT,CAA6C1Y,OAA7C,UAAgE;EAAA,MAAT4R,MAAS,UAATA,MAAS;EAC9D,MAAMqH,eAAe,GAAGrH,MAAM,KAAK,KAAnC;EACA,MAAMsH,WAAW,GAAG,CAAC5N,YAAY,CAACtL,OAAD,CAAjC;;EACA,MAAIkZ,WAAW,IAAI,CAACD,eAAhB,IAAmC,CAACE,SAAY,CAACnZ,OAAD,CAApD,EAA+D;EAC7D;EACAzF,IAAAA,OAAO,CAACgD,KAAR,CACE,sFADF;EAGD,GALD,MAKO,IAAI,CAAC2b,WAAD,IAAgBD,eAApB,EAAqC;EAC1C;EACA1e,IAAAA,OAAO,CAACgD,KAAR,8GAC4GqU,MAD5G;EAGD;;EACD,MAAI,CAACuH,SAAY,CAACnZ,OAAD,CAAb,IAA0B,CAACuL,eAAe,CAACvL,OAAD,CAAf,CAAyB4R,MAAzB,CAA/B,EAAiE;EAC/D;EACArX,IAAAA,OAAO,CAACgD,KAAR,+CAC6CqU,MAD7C;EAGD;EACF;;EAED,SAASyG,2BAAT,CAAqCL,SAArC,EAAgDoB,SAAhD,EAA2D;EACzD,MAAMC,kBAAkB,2PAAxB;EACC,GAAC,cAAD,EAAiB,QAAjB,EAA2B,YAA3B,EAAyC,kBAAzC,EAA6D5c,OAA7D,CACC,UAAA6c,OAAO,EAAI;EACT,QACEtB,SAAS,CAACsB,OAAD,CAAT,KAAuB3e,SAAvB,IACAye,SAAS,CAACE,OAAD,CAAT,KAAuB3e,SAFzB,EAGE;EACA;EACAJ,MAAAA,OAAO,CAACgD,KAAR,+DAC6D+b,OAD7D,+BAC6FD,kBAD7F;EAGD,KARD,MAQO,IACLrB,SAAS,CAACsB,OAAD,CAAT,KAAuB3e,SAAvB,IACAye,SAAS,CAACE,OAAD,CAAT,KAAuB3e,SAFlB,EAGL;EACA;EACAJ,MAAAA,OAAO,CAACgD,KAAR,iEAC+D+b,OAD/D,6BAC6FD,kBAD7F;EAGD;EACF,GAnBF;EAqBF;;ECvvCD,IAAIE,QAAQ,GAAG,UAAkB3d,GAAlB,EAAuB;EACpC,SAAOA,GAAG,KAAK,IAAR,IAAgB,CAAC1B,KAAK,CAAC2F,OAAN,CAAcjE,GAAd,CAAjB,IAAuC,OAAOA,GAAP,KAAe,QAA7D;EACD,CAFD;;EAIA,IAAI4d,KAAK,GAAG;;;;EAIV,KAAG,QAJO;EAKV,KAAG,MALO;EAMV,KAAG,WANO;EAOV,KAAG,KAPO;EAQV,MAAI,OARM;EASV,MAAI,OATM;EAUV,MAAI,OAVM;EAWV,MAAI,SAXM;EAYV,MAAI,KAZM;EAaV,MAAI,OAbM;EAcV,MAAI,UAdM;EAeV,MAAI,QAfM;EAgBV,MAAI,SAhBM;EAiBV,MAAI,YAjBM;EAkBV,MAAI,QAlBM;EAmBV,MAAI,YAnBM;EAoBV,MAAI,GApBM;EAqBV,MAAI,QArBM;EAsBV,MAAI,UAtBM;EAuBV,MAAI,KAvBM;EAwBV,MAAI,MAxBM;EAyBV,MAAI,WAzBM;EA0BV,MAAI,SA1BM;EA2BV,MAAI,YA3BM;EA4BV,MAAI,WA5BM;EA6BV,MAAI,QA7BM;EA8BV,MAAI,OA9BM;EA+BV,MAAI,SA/BM;EAgCV,MAAI,aAhCM;EAiCV,MAAI,QAjCM;EAkCV,MAAI,QAlCM;EAmCV,MAAI,CAAC,GAAD,EAAM,GAAN,CAnCM;EAoCV,MAAI,CAAC,GAAD,EAAM,GAAN,CApCM;EAqCV,MAAI,CAAC,GAAD,EAAM,GAAN,CArCM;EAsCV,MAAI,CAAC,GAAD,EAAM,GAAN,CAtCM;EAuCV,MAAI,CAAC,GAAD,EAAM,GAAN,CAvCM;EAwCV,MAAI,CAAC,GAAD,EAAM,GAAN,CAxCM;EAyCV,MAAI,CAAC,GAAD,EAAM,GAAN,CAzCM;EA0CV,MAAI,CAAC,GAAD,EAAM,GAAN,CA1CM;EA2CV,MAAI,CAAC,GAAD,EAAM,GAAN,CA3CM;EA4CV,MAAI,CAAC,GAAD,EAAM,GAAN,CA5CM;EA6CV,MAAI,IA7CM;EA8CV,MAAI,aA9CM;EA+CV,OAAK,SA/CK;EAgDV,OAAK,YAhDK;EAiDV,OAAK,YAjDK;EAkDV,OAAK,YAlDK;EAmDV,OAAK,UAnDK;EAoDV,OAAK,CAAC,GAAD,EAAM,GAAN,CApDK;EAqDV,OAAK,CAAC,GAAD,EAAM,GAAN,CArDK;EAsDV,OAAK,CAAC,GAAD,EAAM,GAAN,CAtDK;EAuDV,OAAK,CAAC,GAAD,EAAM,GAAN,CAvDK;EAwDV,OAAK,CAAC,GAAD,EAAM,GAAN,CAxDK;EAyDV,OAAK,CAAC,GAAD,EAAM,GAAN,CAzDK;EA0DV,OAAK,CAAC,GAAD,EAAM,GAAN,CA1DK;EA2DV,OAAK,CAAC,GAAD,EAAM,GAAN,CA3DK;EA4DV,OAAK,CAAC,IAAD,EAAO,GAAP,CA5DK;EA6DV,OAAK,CAAC,GAAD,EAAM,GAAN,CA7DK;EA8DV,OAAK,CAAC,GAAD,EAAM,GAAN,CA9DK;EA+DV,OAAK,MA/DK;EAgEV,OAAK,UAhEK;EAiEV,OAAK,MAjEK;EAkEV,OAAK,OAlEK;EAmEV,OAAK,OAnEK;EAoEV,OAAK,UApEK;EAqEV,OAAK,MArEK;EAsEV,OAAK,SAtEK;;EAAA,CAAZ;;EA0EA,KAAK,IAAI3jB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,EAApB,EAAwBA,CAAC,IAAI,CAA7B,EAAgC;EAC9B2jB,EAAAA,KAAK,CAAC,MAAM3jB,CAAP,CAAL,GAAiB,OAAOA,CAAC,GAAG,CAAX,CAAjB;EACD;;;EAGD,KAAK,IAAI4jB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,EAApB,EAAwBA,CAAC,IAAI,CAA7B,EAAgC;EAC9B,MAAI1hB,CAAC,GAAG0hB,CAAC,GAAG,EAAZ;EACAD,EAAAA,KAAK,CAACzhB,CAAD,CAAL,GAAW,CAACiE,MAAM,CAACG,YAAP,CAAoBpE,CAAC,GAAG,EAAxB,CAAD,EAA8BiE,MAAM,CAACG,YAAP,CAAoBpE,CAApB,CAA9B,CAAX;EACD;;EAED,IAAI2hB,WAAW,GAAG;EAChBF,EAAAA,KAAK,EAAEA,KADS;;;;;;;;;;EAWhBG,EAAAA,OAAO,EAAE,UAAiBC,UAAjB,EAA6B;EACpC,QAAIL,QAAQ,CAACK,UAAD,CAAZ,EAA0B;EACxB,aAAOA,UAAU,CAAC7N,OAAX,IAAsB6N,UAAU,CAACC,KAAjC,IAA0C,KAAKD,UAAU,CAAChkB,GAAhB,CAAjD;EACD;;EACD,WAAO,KAAKgkB,UAAL,CAAP;EACD,GAhBe;;;;;;;;;;;EA2BhBE,EAAAA,MAAM,EAAE,UAAgBC,WAAhB,EAA6B;EACnC,QAAIC,OAAO,GAAGT,QAAQ,CAACQ,WAAD,CAAtB,CADmC;;EAInC,QAAIC,OAAO,IAAID,WAAW,CAACnkB,GAA3B,EAAgC;EAC9B,aAAOmkB,WAAW,CAACnkB,GAAnB;EACD;;EAED,QAAImI,IAAI,GAAGyb,KAAK,CAACQ,OAAO,GAAGD,WAAW,CAAChO,OAAZ,IAAuBgO,WAAW,CAACF,KAAtC,GAA8CE,WAAtD,CAAhB;;EAEA,QAAI7f,KAAK,CAAC2F,OAAN,CAAc9B,IAAd,CAAJ,EAAyB;EACvB,UAAIic,OAAJ,EAAa;EACXjc,QAAAA,IAAI,GAAGA,IAAI,CAACgc,WAAW,CAACzH,QAAZ,GAAuB,CAAvB,GAA2B,CAA5B,CAAX;EACD,OAFD,MAEO;EACLvU,QAAAA,IAAI,GAAGA,IAAI,CAAC,CAAD,CAAX;EACD;EACF;;EAED,WAAOA,IAAP;EACD,GA9Ce;;;;;EAoDhBkc,EAAAA,MAAM,EAAE,CApDQ;EAqDhBC,EAAAA,IAAI,EAAE,CArDU;EAsDhBC,EAAAA,SAAS,EAAE,CAtDK;EAuDhBC,EAAAA,GAAG,EAAE,CAvDW;EAwDhBC,EAAAA,KAAK,EAAE,EAxDS;EAyDhB3H,EAAAA,KAAK,EAAE,EAzDS;EA0DhB4H,EAAAA,KAAK,EAAE,EA1DS;EA2DhBC,EAAAA,OAAO,EAAE,EA3DO;EA4DhBC,EAAAA,GAAG,EAAE,EA5DW;EA6DhBC,EAAAA,KAAK,EAAE,EA7DS;EA8DhBC,EAAAA,QAAQ,EAAE,EA9DM;EA+DhB5H,EAAAA,MAAM,EAAE,EA/DQ;EAgEhB6H,EAAAA,OAAO,EAAE,EAhEO;EAiEhBC,EAAAA,UAAU,EAAE,EAjEI;EAkEhBC,EAAAA,MAAM,EAAE,EAlEQ;EAmEhBC,EAAAA,UAAU,EAAE,EAnEI;EAoEhB,OAAK,EApEW;EAqEhBC,EAAAA,MAAM,EAAE,EArEQ;EAsEhBC,EAAAA,QAAQ,EAAE,EAtEM;EAuEhB3H,EAAAA,GAAG,EAAE,EAvEW;EAwEhBF,EAAAA,IAAI,EAAE,EAxEU;EAyEhB8H,EAAAA,SAAS,EAAE,EAzEK;EA0EhBxI,EAAAA,OAAO,EAAE,EA1EO;EA2EhByI,EAAAA,UAAU,EAAE,EA3EI;EA4EhB/I,EAAAA,SAAS,EAAE,EA5EK;EA6EhBgJ,EAAAA,MAAM,EAAE,EA7EQ;EA8EhBC,EAAAA,KAAK,EAAE,EA9ES;EA+EhBC,EAAAA,OAAO,EAAE,EA/EO;EAgFhBC,EAAAA,WAAW,EAAE,EAhFG;EAiFhBC,EAAAA,MAAM,EAAE,EAjFQ;EAkFhBC,EAAAA,MAAM,EAAE,EAlFQ;EAmFhB,KAAG,EAnFa;EAoFhB,OAAK,EApFW;EAqFhB,KAAG,EArFa;EAsFhB,OAAK,EAtFW;EAuFhB,KAAG,EAvFa;EAwFhB,OAAK,EAxFW;EAyFhB,KAAG,EAzFa;EA0FhB,OAAK,EA1FW;EA2FhB,KAAG,EA3Fa;EA4FhBC,EAAAA,CAAC,EAAE,EA5Fa;EA6FhB,KAAG,EA7Fa;EA8FhB,OAAK,EA9FW;EA+FhB,KAAG,EA/Fa;EAgGhB,OAAK,EAhGW;EAiGhB,KAAG,EAjGa;EAkGhB,OAAK,EAlGW;EAmGhB,KAAG,EAnGa;EAoGhB,OAAK,EApGW;EAqGhB,KAAG,EArGa;EAsGhB,OAAK,EAtGW;EAuGhBljB,EAAAA,CAAC,EAAE,EAvGa;EAwGhBmjB,EAAAA,CAAC,EAAE,EAxGa;EAyGhBvkB,EAAAA,CAAC,EAAE,EAzGa;EA0GhBwkB,EAAAA,CAAC,EAAE,EA1Ga;EA2GhBrkB,EAAAA,CAAC,EAAE,EA3Ga;EA4GhBskB,EAAAA,CAAC,EAAE,EA5Ga;EA6GhBrkB,EAAAA,CAAC,EAAE,EA7Ga;EA8GhBskB,EAAAA,CAAC,EAAE,EA9Ga;EA+GhBrkB,EAAAA,CAAC,EAAE,EA/Ga;EAgHhBskB,EAAAA,CAAC,EAAE,EAhHa;EAiHhBrkB,EAAAA,CAAC,EAAE,EAjHa;EAkHhBskB,EAAAA,CAAC,EAAE,EAlHa;EAmHhBrkB,EAAAA,CAAC,EAAE,EAnHa;EAoHhBskB,EAAAA,CAAC,EAAE,EApHa;EAqHhBrkB,EAAAA,CAAC,EAAE,EArHa;EAsHhBskB,EAAAA,CAAC,EAAE,EAtHa;EAuHhBpmB,EAAAA,CAAC,EAAE,EAvHa;EAwHhBqmB,EAAAA,CAAC,EAAE,EAxHa;EAyHhBzC,EAAAA,CAAC,EAAE,EAzHa;EA0HhB0C,EAAAA,CAAC,EAAE,EA1Ha;EA2HhBvkB,EAAAA,CAAC,EAAE,EA3Ha;EA4HhBwkB,EAAAA,CAAC,EAAE,EA5Ha;EA6HhBvkB,EAAAA,CAAC,EAAE,EA7Ha;EA8HhBwkB,EAAAA,CAAC,EAAE,EA9Ha;EA+HhBvkB,EAAAA,CAAC,EAAE,EA/Ha;EAgIhBwkB,EAAAA,CAAC,EAAE,EAhIa;EAiIhBvkB,EAAAA,CAAC,EAAE,EAjIa;EAkIhBwkB,EAAAA,CAAC,EAAE,EAlIa;EAmIhBC,EAAAA,CAAC,EAAE,EAnIa;EAoIhBC,EAAAA,CAAC,EAAE,EApIa;EAqIhBzkB,EAAAA,CAAC,EAAE,EArIa;EAsIhB0kB,EAAAA,CAAC,EAAE,EAtIa;EAuIhBzkB,EAAAA,CAAC,EAAE,EAvIa;EAwIhB0kB,EAAAA,CAAC,EAAE,EAxIa;EAyIhBzkB,EAAAA,CAAC,EAAE,EAzIa;EA0IhB0kB,EAAAA,CAAC,EAAE,EA1Ia;EA2IhB7f,EAAAA,CAAC,EAAE,EA3Ia;EA4IhB8f,EAAAA,CAAC,EAAE,EA5Ia;EA6IhB1kB,EAAAA,CAAC,EAAE,EA7Ia;EA8IhB2kB,EAAAA,CAAC,EAAE,EA9Ia;EA+IhBtkB,EAAAA,CAAC,EAAE,EA/Ia;EAgJhBukB,EAAAA,CAAC,EAAE,EAhJa;EAiJhB3kB,EAAAA,CAAC,EAAE,EAjJa;EAkJhB4kB,EAAAA,CAAC,EAAE,EAlJa;EAmJhB3kB,EAAAA,CAAC,EAAE,EAnJa;EAoJhB4kB,EAAAA,CAAC,EAAE,EApJa;EAqJhB3kB,EAAAA,CAAC,EAAE,EArJa;EAsJhB4kB,EAAAA,CAAC,EAAE,EAtJa;EAuJhBvkB,EAAAA,CAAC,EAAE,EAvJa;EAwJhBwkB,EAAAA,CAAC,EAAE,EAxJa;EAyJhBC,EAAAA,CAAC,EAAE,EAzJa;EA0JhBC,EAAAA,CAAC,EAAE,EA1Ja;EA2JhBC,EAAAA,EAAE,EAAE,EA3JY;EA4JhBC,EAAAA,WAAW,EAAE,EA5JG;EA6JhBC,EAAAA,EAAE,EAAE,GA7JY;EA8JhBC,EAAAA,EAAE,EAAE,GA9JY;EA+JhBC,EAAAA,EAAE,EAAE,GA/JY;EAgKhBC,EAAAA,EAAE,EAAE,GAhKY;EAiKhBC,EAAAA,EAAE,EAAE,GAjKY;EAkKhBC,EAAAA,EAAE,EAAE,GAlKY;EAmKhBC,EAAAA,EAAE,EAAE,GAnKY;EAoKhBC,EAAAA,EAAE,EAAE,GApKY;EAqKhBC,EAAAA,EAAE,EAAE,GArKY;EAsKhBC,EAAAA,GAAG,EAAE,GAtKW;EAuKhBC,EAAAA,GAAG,EAAE,GAvKW;EAwKhBC,EAAAA,GAAG,EAAE,GAxKW;EAyKhBC,EAAAA,GAAG,EAAE,GAzKW;EA0KhBC,EAAAA,GAAG,EAAE,GA1KW;EA2KhBC,EAAAA,GAAG,EAAE,GA3KW;EA4KhBC,EAAAA,GAAG,EAAE,GA5KW;EA6KhBC,EAAAA,GAAG,EAAE,GA7KW;EA8KhBC,EAAAA,GAAG,EAAE,GA9KW;EA+KhBC,EAAAA,GAAG,EAAE,GA/KW;EAgLhBC,EAAAA,GAAG,EAAE,GAhLW;EAiLhBC,EAAAA,GAAG,EAAE,GAjLW;EAkLhBC,EAAAA,GAAG,EAAE,GAlLW;EAmLhBC,EAAAA,GAAG,EAAE,GAnLW;EAoLhBC,EAAAA,GAAG,EAAE,GApLW;EAqLhBC,EAAAA,OAAO,EAAE,GArLO;EAsLhBC,EAAAA,UAAU,EAAE,GAtLI;EAuLhBC,EAAAA,UAAU,EAAE,GAvLI;EAwLhBC,EAAAA,UAAU,EAAE,GAxLI;EAyLhBC,EAAAA,QAAQ,EAAE,GAzLM;EA0LhB,OAAK,GA1LW;EA2LhB,OAAK,GA3LW;EA4LhB,OAAK,GA5LW;EA6LhB,OAAK,GA7LW;EA8LhB,OAAK,GA9LW;EA+LhB,OAAK,GA/LW;EAgMhB,OAAK,GAhMW;EAiMhBC,EAAAA,CAAC,EAAE,GAjMa;EAkMhB,OAAK,GAlMW;EAmMhB,OAAK,GAnMW;EAoMhB,OAAK,GApMW;EAqMhB,OAAK,GArMW;EAsMhB,OAAK,GAtMW;EAuMhB,OAAK,GAvMW;EAwMhB,OAAK,GAxMW;EAyMhB,OAAK,GAzMW;EA0MhB,QAAM,GA1MU;EA2MhB,OAAK,GA3MW;EA4MhB,OAAK,GA5MW;EA6MhB,OAAK,GA7MW;EA8MhB,OAAK,GA9MW;EA+MhB,OAAK,GA/MW;EAgNhBC,EAAAA,IAAI,EAAE,GAhNU;EAiNhBC,EAAAA,QAAQ,EAAE,GAjNM;EAkNhBC,EAAAA,IAAI,EAAE,GAlNU;EAmNhBC,EAAAA,KAAK,EAAE,GAnNS;EAoNhBC,EAAAA,KAAK,EAAE,GApNS;EAqNhBC,EAAAA,QAAQ,EAAE,GArNM;EAsNhBC,EAAAA,IAAI,EAAE,GAtNU;EAuNhBC,EAAAA,OAAO,EAAE,GAvNO;;;;;EAAA,CAAlB;EA8NAnG,WAAW,CAACoG,QAAZ,GAAuBpG,WAAW,CAAC,GAAD,CAAlC;EACAA,WAAW,CAACqG,MAAZ,GAAqBrG,WAAW,CAAC,GAAD,CAAhC;EACAA,WAAW,CAACsG,MAAZ,GAAqBtG,WAAW,CAAC,GAAD,CAAhC;EACAA,WAAW,CAACuG,MAAZ,GAAqBvG,WAAW,CAAC,GAAD,CAAhC;EACAA,WAAW,CAACwG,MAAZ,GAAqBxG,WAAW,CAAC,GAAD,CAAhC;EACAA,WAAW,CAACyG,MAAZ,GAAqBzG,WAAW,CAAC,GAAD,CAAhC;EACAA,WAAW,CAAC0G,MAAZ,GAAqB1G,WAAW,CAAC,GAAD,CAAhC;EACAA,WAAW,CAAC2G,MAAZ,GAAqB3G,WAAW,CAAC,GAAD,CAAhC;EACAA,WAAW,CAAC4G,MAAZ,GAAqB5G,WAAW,CAAC,GAAD,CAAhC;EACAA,WAAW,CAAC6G,MAAZ,GAAqB7G,WAAW,CAAC,GAAD,CAAhC;EACAA,WAAW,CAAC8G,MAAZ,GAAqB9G,WAAW,CAAC,GAAD,CAAhC;EACAA,WAAW,CAAC+G,KAAZ,GAAoB/G,WAAW,CAAC,GAAD,CAA/B;EACAA,WAAW,CAACgH,WAAZ,GAA0BhH,WAAW,CAAC,GAAD,CAArC;EACAA,WAAW,CAACiH,gBAAZ,GAA+BjH,WAAW,CAAC,GAAD,CAA1C;EACAA,WAAW,CAACkH,MAAZ,GAAqBlH,WAAW,CAAC,GAAD,CAAhC;EACAA,WAAW,CAACmH,SAAZ,GAAwBnH,WAAW,CAAC,GAAD,CAAnC;EACAA,WAAW,CAACoH,WAAZ,GAA0BpH,WAAW,CAAC,GAAD,CAArC;EACAA,WAAW,CAACqH,KAAZ,GAAoBrH,WAAW,CAAC,GAAD,CAA/B;EACAA,WAAW,CAACsH,SAAZ,GAAwBtH,WAAW,CAAC,GAAD,CAAnC;EACAA,WAAW,CAACuH,QAAZ,GAAuBvH,WAAW,CAAC,GAAD,CAAlC;EACAA,WAAW,CAACwH,SAAZ,GAAwBxH,WAAW,CAAC,GAAD,CAAnC;EACAA,WAAW,CAACyH,UAAZ,GAAyBzH,WAAW,CAAC,GAAD,CAApC;EACAA,WAAW,CAAC0H,YAAZ,GAA2B1H,WAAW,CAAC,GAAD,CAAtC;EACAA,WAAW,CAAC2H,kBAAZ,GAAiC3H,WAAW,CAAC,GAAD,CAA5C;EACAA,WAAW,CAAC4H,KAAZ,GAAoB5H,WAAW,CAAC,GAAD,CAA/B;EACAA,WAAW,CAAC6H,OAAZ,GAAsB7H,WAAW,CAAC,GAAD,CAAjC;EACAA,WAAW,CAAC8H,KAAZ,GAAoB9H,WAAW,CAAC,GAAD,CAA/B;EACAA,WAAW,CAAC+H,SAAZ,GAAwB/H,WAAW,CAAC,GAAD,CAAnC;EACAA,WAAW,CAACgI,IAAZ,GAAmBhI,WAAW,CAAC,GAAD,CAA9B;EACAA,WAAW,CAACiI,SAAZ,GAAwBjI,WAAW,CAAC,IAAD,CAAnC;EACAA,WAAW,CAACkI,YAAZ,GAA2BlI,WAAW,CAAC,GAAD,CAAtC;EACAA,WAAW,CAACmI,WAAZ,GAA0BnI,WAAW,CAAC,GAAD,CAArC;EACAA,WAAW,CAACoI,WAAZ,GAA0BpI,WAAW,CAAC,GAAD,CAArC;EACAA,WAAW,CAACqI,cAAZ,GAA6BrI,WAAW,CAAC,GAAD,CAAxC;EACAA,WAAW,CAACsI,eAAZ,GAA8BtI,WAAW,CAAC,GAAD,CAAzC;EACAA,WAAW,CAACuI,eAAZ,GAA8BvI,WAAW,CAAC,GAAD,CAAzC;EACAA,WAAW,CAACwI,gBAAZ,GAA+BxI,WAAW,CAAC,GAAD,CAA1C;EACAA,WAAW,CAACyI,gBAAZ,GAA+BzI,WAAW,CAAC,GAAD,CAA1C;EACAA,WAAW,CAAC0I,iBAAZ,GAAgC1I,WAAW,CAAC,GAAD,CAA3C;EACAA,WAAW,CAAC2I,iBAAZ,GAAgC3I,WAAW,CAAC,GAAD,CAA3C;EACAA,WAAW,CAAC4I,kBAAZ,GAAiC5I,WAAW,CAAC,GAAD,CAA5C;EAEA,iBAAc,GAAGA,WAAjB;;EC/VA;EACA;EACA;EACA;;EACA,IAAI/K,EAAE,GAAG,CAAT;;EACA,IAAI4T,KAAK,GAAG,YAAiB;EAC3B,SAAO,EAAE5T,EAAT;EACD,CAFD;;AAIA,EAAO,IAAI6T,KAAK,GAAG,YAAiB;EAClC,MAAIC,SAAS,GAAGC,cAAQ,CAAC,IAAD,CAAxB;EAAA,MACI/T,EAAE,GAAG8T,SAAS,CAAC,CAAD,CADlB;EAAA,MAEIE,KAAK,GAAGF,SAAS,CAAC,CAAD,CAFrB;;EAIAG,EAAAA,eAAS,CAAC,YAAY;EACpB,WAAOD,KAAK,CAACJ,KAAK,EAAN,CAAZ;EACD,GAFQ,EAEN,EAFM,CAAT;EAGA,SAAO5T,EAAP;EACD,CATM;;ECVP,SAASkU,aAAT,CACEC,iBADF,SAGE;EAAA,gCADmD,EACnD;EAAA,MADCnU,EACD,QADCA,EACD;EAAA,MADKE,OACL,QADKA,OACL;EAAA,MADcD,MACd,QADcA,MACd;EAAA,MADsBG,SACtB,QADsBA,SACtB;EAAA,MADiCgU,cACjC,QADiCA,cACjC;;EACA,MAAMC,QAAQ,GAAGrU,EAAE,KAAKhU,SAAP,kBAAgCmoB,iBAAiB,EAAjD,GAAwDnU,EAAzE;EAEA,SAAO;EACLE,IAAAA,OAAO,EAAEA,OAAO,IAAOmU,QAAP,WADX;EAELpU,IAAAA,MAAM,EAAEA,MAAM,IAAOoU,QAAP,UAFT;EAGLjU,IAAAA,SAAS,EAAEA,SAAS,IAAK,UAAA3H,KAAK;EAAA,aAAO4b,QAAP,cAAwB5b,KAAxB;EAAA,KAHzB;EAIL2b,IAAAA,cAAc,EAAEA,cAAc,IAAOC,QAAP;EAJzB,GAAP;EAMD;;EAED,SAAS7W,sBAAT,CAA8BC,UAA9B,EAA0CC,SAA1C,EAAqD4W,WAArD,EAAkEC,QAAlE,EAA4E;EAC1E,MAAI7W,SAAS,KAAK,CAAC,CAAnB,EAAsB;EACpB,WAAOD,UAAU,GAAG,CAAb,GAAiB,CAAjB,GAAqB6W,WAAW,GAAG,CAA1C;EACD;;EACD,MAAME,SAAS,GAAG9W,SAAS,GAAGD,UAA9B;;EAEA,MAAI+W,SAAS,GAAG,CAAhB,EAAmB;EACjB,WAAOD,QAAQ,GAAGD,WAAW,GAAG,CAAjB,GAAqB,CAApC;EACD;;EACD,MAAIE,SAAS,IAAIF,WAAjB,EAA8B;EAC5B,WAAOC,QAAQ,GAAG,CAAH,GAAOD,WAAW,GAAG,CAApC;EACD;;EAED,SAAOE,SAAP;EACD;;EAED,SAASC,0BAAT,CACEC,SADF,EAEE5T,gBAFF,EAGER,KAHF,EAIEqU,iBAJF,EAKE;EACA,MAAIC,mBAAmB,GAAG,CAAC,CAA3B;EACA,MAAMC,WAAW,GAAGvU,KAAK,CAAC5S,GAAN,CAAU,UAAA4T,IAAI;EAAA,WAAIqT,iBAAiB,CAACrT,IAAD,CAAjB,CAAwBwT,WAAxB,EAAJ;EAAA,GAAd,CAApB;EACA,MAAMC,aAAa,GAAGjU,gBAAgB,GAAG,CAAzC;EAEA8T,EAAAA,mBAAmB,GAAGC,WAAW,CAC9BG,KADmB,CACbD,aADa,EAEnBE,SAFmB,CAET,UAAAC,UAAU;EAAA,WAAIA,UAAU,CAACC,UAAX,CAAsBT,SAAtB,CAAJ;EAAA,GAFD,CAAtB;;EAIA,MAAIE,mBAAmB,GAAG,CAAC,CAA3B,EAA8B;EAC5B,WAAOA,mBAAmB,GAAGG,aAA7B;EACD,GAFD,MAEO;EACL,WAAOF,WAAW,CACfG,KADI,CACE,CADF,EACKD,aADL,EAEJE,SAFI,CAEM,UAAAC,UAAU;EAAA,aAAIA,UAAU,CAACC,UAAX,CAAsBT,SAAtB,CAAJ;EAAA,KAFhB,CAAP;EAGD;EACF;;EAED,SAAShT,QAAT,CAAkBzE,KAAlB,EAAyBpM,KAAzB,EAAgC;EAC9B,SAAO9J,MAAM,CAACC,IAAP,CAAYiW,KAAZ,EAAmB8K,MAAnB,CAA0B,UAACqB,SAAD,EAAYniB,GAAZ,EAAoB;EACnD;EACAmiB,IAAAA,SAAS,CAACniB,GAAD,CAAT,GAAiB4J,KAAK,CAAC5J,GAAD,CAAL,KAAe+E,SAAf,GAA2BiR,KAAK,CAAChW,GAAD,CAAhC,GAAwC4J,KAAK,CAAC5J,GAAD,CAA9D;EACA,WAAOmiB,SAAP;EACD,GAJM,EAIJ,EAJI,CAAP;EAKD;;EAED,SAASgM,YAAT,CAAsB3c,KAAtB,EAA6B6I,IAA7B,EAAmChB,KAAnC,EAA0C;EACxC,MAAI7H,KAAK,KAAKzM,SAAd,EAAyB;EACvB,WAAOyM,KAAP;EACD;;EACD,MAAI6H,KAAK,CAACnZ,MAAN,KAAiB,CAArB,EAAwB;EACtB,WAAO,CAAC,CAAR;EACD;;EACD,SAAOmZ,KAAK,CAAClZ,OAAN,CAAcka,IAAd,CAAP;EACD;;EAED,SAAS/E,YAAT,CAAsB+E,IAAtB,EAA4B;EAC1B,SAAOA,IAAI,GAAGjU,MAAM,CAACiU,IAAD,CAAT,GAAkB,EAA7B;EACD;;EAED,SAAS+T,qBAAT,CAA+BC,MAA/B,EAAuCjL,WAAvC,EAAkD;EAChD;EACA,SAAO,UAAkBvU,OAAlB,EAAgC;EAAA,QAAdA,OAAc;EAAdA,MAAAA,OAAc,GAAJ,EAAI;EAAA;;EACrC/O,IAAAA,MAAM,CAAC+M,OAAP,CAAeuW,WAAf,EAA0Bvc,OAA1B,CAAkC,iBAAW;EAAA,UAAT7G,GAAS;EAC3CoN,MAAAA,SAAS,CAACxF,cAAV,CAAyBwb,WAAzB,EAAoCvU,OAApC,EAA6C7O,GAA7C,EAAkDquB,MAAM,CAAClmB,IAAzD;EACD,KAFD;EAGD,GAJD;EAKD;;EAED,SAASmmB,sBAAT,CAAgCtuB,GAAhC,EAAqC;EACnC,SAAO,UAAUuuB,IAAV,CAAevuB,GAAf,CAAP;EACD;;ECrFD,IAAMwuB,kBAAkB,GAAG;EACzB3U,EAAAA,gBAAgB,EAAE,CAAC,CADM;EAEzB3E,EAAAA,MAAM,EAAE,KAFiB;EAGzBC,EAAAA,YAAY,EAAE;EAHW,CAA3B;;EAMA,SAASF,sBAAT,OAA+C;EAAA,MAAhBC,MAAgB,QAAhBA,MAAgB;EAAA,MAARmE,KAAQ,QAARA,KAAQ;;EAC7C,MAAI,CAACA,KAAL,EAAY;EACV,WAAO,EAAP;EACD;;EACD,MAAMjE,WAAW,GAAGiE,KAAK,CAACnZ,MAA1B;;EACA,MAAIgV,MAAJ,EAAY;EACV,QAAIE,WAAW,KAAK,CAApB,EAAuB;EACrB,aAAO,0BAAP;EACD;;EACD,WAAUA,WAAV,gBACEA,WAAW,KAAK,CAAhB,GAAoB,KAApB,GAA4B,OAD9B;EAGD;;EACD,SAAO,EAAP;EACD;;EAED,SAASqZ,uBAAT,QAA+D;EAAA,MAA7BtZ,YAA6B,SAA7BA,YAA6B;EAAA,MAAfG,YAAe,SAAfA,YAAe;EAC7D,SAAUA,YAAY,CAACH,YAAD,CAAtB;EACD;;EAED,SAASuZ,yBAAT,CAAmC9kB,KAAnC,EAA0CoM,KAA1C,EAAiD2Y,MAAjD,EAAyD;EAAA,MAChDtV,KADgD,GACWzP,KADX,CAChDyP,KADgD;EAAA,MACzCmH,uBADyC,GACW5W,KADX,CACzC4W,uBADyC;EAAA,MAChBzG,uBADgB,GACWnQ,KADX,CAChBmQ,uBADgB;EAAA,MAEhD5E,YAFgD,GAEda,KAFc,CAEhDb,YAFgD;EAAA,MAElC0E,gBAFkC,GAEd7D,KAFc,CAElC6D,gBAFkC;;EAKvD,MAAI2G,uBAAuB,KAAKzb,SAA5B,IAAyC8U,gBAAgB,GAAG,CAAC,CAAjE,EAAoE;EAClE,WAAO2G,uBAAP;EACD;;EACD,MAAIzG,uBAAuB,KAAKhV,SAAhC,EAA2C;EACzC,WAAOgV,uBAAP;EACD;;EACD,MAAI5E,YAAJ,EAAkB;EAChB,QAAIwZ,MAAM,KAAK,CAAf,EAAkB;EAChB,aAAOtV,KAAK,CAAClZ,OAAN,CAAcgV,YAAd,CAAP;EACD;;EACD,WAAOoB,sBAAoB,CACzBoY,MADyB,EAEzBtV,KAAK,CAAClZ,OAAN,CAAcgV,YAAd,CAFyB,EAGzBkE,KAAK,CAACnZ,MAHmB,EAIzB,KAJyB,CAA3B;EAMD;;EACD,MAAIyuB,MAAM,KAAK,CAAf,EAAkB;EAChB,WAAO,CAAC,CAAR;EACD;;EACD,SAAOA,MAAM,GAAG,CAAT,GAAatV,KAAK,CAACnZ,MAAN,GAAe,CAA5B,GAAgC,CAAvC;EACD;;EAED,SAAS0uB,gBAAT,CAA0BtlB,MAA1B,EAAkC;EAChC,cAAUA,MAAM,CAACykB,KAAP,CAAa,CAAb,EAAgB,CAAhB,EAAmBc,WAAnB,EAAV,GAA6CvlB,MAAM,CAACykB,KAAP,CAAa,CAAb,CAA7C;EACD;;EAED,SAASe,eAAT,CAAyBllB,KAAzB,EAAgC8Z,OAAhC,EAAyC;EACvC,MAAMqL,cAAc,eAAaH,gBAAgB,CAAClL,OAAD,CAAjD;;EACA,MAAI9Z,KAAK,CAACmlB,cAAD,CAAL,KAA0BhqB,SAA9B,EAAyC;EACvC,WAAO6E,KAAK,CAACmlB,cAAD,CAAZ;EACD;;EACD,SAAOP,kBAAkB,CAAC9K,OAAD,CAAzB;EACD;;EAED,SAASsL,eAAT,CAAyBplB,KAAzB,EAAgC8Z,OAAhC,EAAyC;EACvC,MAAI9Z,KAAK,CAAC8Z,OAAD,CAAL,KAAmB3e,SAAvB,EAAkC;EAChC,WAAO6E,KAAK,CAAC8Z,OAAD,CAAZ;EACD;;EACD,MAAMuL,cAAc,eAAaL,gBAAgB,CAAClL,OAAD,CAAjD;;EACA,MAAI9Z,KAAK,CAACqlB,cAAD,CAAL,KAA0BlqB,SAA9B,EAAyC;EACvC,WAAO6E,KAAK,CAACqlB,cAAD,CAAZ;EACD;;EACD,SAAOH,eAAe,CAACllB,KAAD,EAAQ8Z,OAAR,CAAtB;EACD;;EAED,SAASwL,eAAT,CAAyBtlB,KAAzB,EAAgC;EAC9B,SAAO;EACLiQ,IAAAA,gBAAgB,EAAEmV,eAAe,CAACplB,KAAD,EAAQ,kBAAR,CAD5B;EAELsL,IAAAA,MAAM,EAAE8Z,eAAe,CAACplB,KAAD,EAAQ,QAAR,CAFlB;EAGLuL,IAAAA,YAAY,EAAE6Z,eAAe,CAACplB,KAAD,EAAQ,cAAR,CAHxB;EAIL6jB,IAAAA,SAAS,EAAE;EAJN,GAAP;EAMD;;EAED,SAAS0B,qBAAT,CAA+BzL,OAA/B,EAAwC9Z,KAAxC,EAA+CoM,KAA/C,EAAsDoZ,OAAtD,EAA+D;EAC7D,MAAMC,OAAO,UAAQT,gBAAgB,CAAClL,OAAD,CAAxB,WAAb;;EACA,MACE9Z,KAAK,CAACylB,OAAD,CAAL,IACAD,OAAO,CAAC1L,OAAD,CAAP,KAAqB3e,SADrB,IAEAqqB,OAAO,CAAC1L,OAAD,CAAP,KAAqB1N,KAAK,CAAC0N,OAAD,CAH5B,EAIE;EACA9Z,IAAAA,KAAK,CAACylB,OAAD,CAAL,CAAeD,OAAf;EACD;EACF;;EAED,SAASE,iBAAT,CAA2B1lB,KAA3B,EAAkCoM,KAAlC,EAAyCoZ,OAAzC,EAAkD;EAC/C,GAAC,QAAD,EAAW,kBAAX,EAA+B,cAA/B,EAA+CvoB,OAA/C,CAAuD,UAAA6c,OAAO,EAAI;EACjEyL,IAAAA,qBAAqB,CAACzL,OAAD,EAAU9Z,KAAV,EAAiBoM,KAAjB,EAAwBoZ,OAAxB,CAArB;EACD,GAFA;;EAID,MAAIxlB,KAAK,CAAC6R,aAAN,IAAuB2T,OAAO,KAAKrqB,SAAvC,EAAkD;EAChD6E,IAAAA,KAAK,CAAC6R,aAAN,CAAoB2T,OAApB;EACD;EACF;;EAED,IAAMhM,WAAS,GAAG;EAChB/J,EAAAA,KAAK,EAAEjM,SAAS,CAACnE,KAAV,CAAgB+C,UADP;EAEhBsJ,EAAAA,YAAY,EAAElI,SAAS,CAAChE,IAFR;EAGhB6L,EAAAA,oBAAoB,EAAE7H,SAAS,CAAChE,IAHhB;EAIhBqlB,EAAAA,uBAAuB,EAAErhB,SAAS,CAAChE,IAJnB;EAKhBmmB,EAAAA,kBAAkB,EAAEniB,SAAS,CAACjE,IALd;EAMhB0Q,EAAAA,gBAAgB,EAAEzM,SAAS,CAAC/D,MANZ;EAOhB0Q,EAAAA,uBAAuB,EAAE3M,SAAS,CAAC/D,MAPnB;EAQhBmX,EAAAA,uBAAuB,EAAEpT,SAAS,CAAC/D,MARnB;EAShB6L,EAAAA,MAAM,EAAE9H,SAAS,CAACjE,IATF;EAUhBgR,EAAAA,aAAa,EAAE/M,SAAS,CAACjE,IAVT;EAWhBsX,EAAAA,aAAa,EAAErT,SAAS,CAACjE,IAXT;EAYhBgM,EAAAA,YAAY,EAAE/H,SAAS,CAAC5D,GAZR;EAahBmX,EAAAA,mBAAmB,EAAEvT,SAAS,CAAC5D,GAbf;EAchBgmB,EAAAA,mBAAmB,EAAEpiB,SAAS,CAAC5D,GAdf;EAehBuP,EAAAA,EAAE,EAAE3L,SAAS,CAAC9D,MAfE;EAgBhB2P,EAAAA,OAAO,EAAE7L,SAAS,CAAC9D,MAhBH;EAiBhB0P,EAAAA,MAAM,EAAE5L,SAAS,CAAC9D,MAjBF;EAkBhB6P,EAAAA,SAAS,EAAE/L,SAAS,CAAChE,IAlBL;EAmBhB+jB,EAAAA,cAAc,EAAE/f,SAAS,CAAC9D,MAnBV;EAoBhB6R,EAAAA,YAAY,EAAE/N,SAAS,CAAChE,IApBR;EAqBhBqmB,EAAAA,oBAAoB,EAAEriB,SAAS,CAAChE,IArBhB;EAsBhBsmB,EAAAA,wBAAwB,EAAEtiB,SAAS,CAAChE,IAtBpB;EAuBhBqS,EAAAA,aAAa,EAAErO,SAAS,CAAChE,IAvBT;EAwBhBumB,EAAAA,cAAc,EAAEviB,SAAS,CAAChE,IAxBV;EAyBhBmV,EAAAA,WAAW,EAAEnR,SAAS,CAAChC,KAAV,CAAgB;EAC3B2W,IAAAA,gBAAgB,EAAE3U,SAAS,CAAChE,IADD;EAE3B6Y,IAAAA,mBAAmB,EAAE7U,SAAS,CAAChE,IAFJ;EAG3BgG,IAAAA,QAAQ,EAAEhC,SAAS,CAAChC,KAAV,CAAgB;EACxB2V,MAAAA,cAAc,EAAE3T,SAAS,CAAChE,IADF;EAExBoV,MAAAA,aAAa,EAAEpR,SAAS,CAAC5D,GAFD;EAGxBkG,MAAAA,IAAI,EAAEtC,SAAS,CAAC5D;EAHQ,KAAhB;EAHiB,GAAhB;EAzBG,CAAlB;;EC5GO,IAAMomB,oBAAoB,GAC/B,6BADK;AAGP,EAAO,IAAMC,kBAAkB,GAAkB,2BAA1C;AACP,EAAO,IAAMC,iBAAiB,GAAkB,yBAAzC;AACP,EAAO,IAAMC,eAAe,GAAkB,uBAAvC;AACP,EAAO,IAAMC,cAAc,GAAkB,sBAAtC;AACP,EAAO,IAAMC,gBAAgB,GAAkB,wBAAxC;AACP,EAAO,IAAMC,oBAAoB,GAAkB,4BAA5C;AACP,EAAO,IAAMC,QAAQ,GAAkB,eAAhC;AACP,EAAO,IAAMC,aAAa,GAAkB,qBAArC;AACP,EAAO,IAAMC,SAAS,GAAkB,gBAAjC;AACP,EAAO,IAAMC,4BAA4B,GACvC,oCADK;AAGP,EAAO,IAAMC,4BAA4B,GACvC,qCADK;AAGP,EAAO,IAAMC,0BAA0B,GACrC,mCADK;AAGP,EAAO,IAAMC,iBAAiB,GAAkB,wBAAzC;AACP,EAAO,IAAMC,kBAAkB,GAAkB,0BAA1C;AACP,EAAO,IAAMC,gBAAgB,GAAkB,wBAAxC;AACP,EAAO,IAAMC,iBAAiB,GAAkB,yBAAzC;AACP,EAAO,IAAMC,2BAA2B,GACtC,oCADK;AAGP,EAAO,IAAMC,kBAAkB,GAAkB,0BAA1C;AACP,EAAO,IAAMC,sBAAsB,GACjC,gCADK;AAGP,EAAO,IAAMC,aAAa,GAAkB,oBAArC;;;;;;;;;;;;;;;;;;;;;;;;;;EC9BP;;AACA,EAAe,SAASC,sBAAT,CAAgCjb,KAAhC,EAAuCkb,MAAvC,EAA+C;EAAA,MACrDpuB,IADqD,GAC5BouB,MAD4B,CACrDpuB,IADqD;EAAA,MAC/C8G,KAD+C,GAC5BsnB,MAD4B,CAC/CtnB,KAD+C;EAAA,MACxC8S,QADwC,GAC5BwU,MAD4B,CACxCxU,QADwC;EAE5D,MAAI0S,OAAJ;;EAEA,UAAQtsB,IAAR;EACE,SAAKwY,aAAL;EACE8T,MAAAA,OAAO,GAAG;EACRvV,QAAAA,gBAAgB,EAAEqX,MAAM,CAAC1f;EADjB,OAAV;EAGA;;EACF,SAAK8J,SAAL;EACE8T,MAAAA,OAAO,GAAG;EACRla,QAAAA,MAAM,EAAE4Z,eAAe,CAACllB,KAAD,EAAQ,QAAR,CADf;EAERiQ,QAAAA,gBAAgB,EAAEiV,eAAe,CAACllB,KAAD,EAAQ,kBAAR,CAFzB;EAGRuL,QAAAA,YAAY,EAAEvL,KAAK,CAACyP,KAAN,CAAY6X,MAAM,CAAC1f,KAAnB;EAHN,OAAV;EAKA;;EACF,SAAK8J,QAAL;EACE8T,MAAAA,OAAO;EACLla,QAAAA,MAAM,EAAE,KADH;EAEL2E,QAAAA,gBAAgB,EAAE,CAAC;EAFd,SAGD7D,KAAK,CAAC6D,gBAAN,IAA0B,CAA1B,IAA+B;EACjC1E,QAAAA,YAAY,EAAEvL,KAAK,CAACyP,KAAN,CAAYrD,KAAK,CAAC6D,gBAAlB;EADmB,OAH9B,CAAP;EAOA;;EACF,SAAKyB,oBAAL;EACE8T,MAAAA,OAAO,GAAG;EACRvV,QAAAA,gBAAgB,EAAEtD,sBAAoB,CACpCmG,QAAQ,GAAG,CAAH,GAAO,CADqB,EAEpC1G,KAAK,CAAC6D,gBAF8B,EAGpCjQ,KAAK,CAACyP,KAAN,CAAYnZ,MAHwB,EAIpC0J,KAAK,CAAC2lB,kBAJ8B;EAD9B,OAAV;EAQA;;EACF,SAAKjU,kBAAL;EACE8T,MAAAA,OAAO,GAAG;EACRvV,QAAAA,gBAAgB,EAAEtD,sBAAoB,CACpCmG,QAAQ,GAAG,CAAC,CAAJ,GAAQ,CAAC,CADmB,EAEpC1G,KAAK,CAAC6D,gBAF8B,EAGpCjQ,KAAK,CAACyP,KAAN,CAAYnZ,MAHwB,EAIpC0J,KAAK,CAAC2lB,kBAJ8B;EAD9B,OAAV;EAQA;;EACF,SAAKjU,eAAL;EACE8T,MAAAA,OAAO,GAAG;EACRvV,QAAAA,gBAAgB,EAAE;EADV,OAAV;EAGA;;EACF,SAAKyB,cAAL;EACE8T,MAAAA,OAAO,GAAG;EACRvV,QAAAA,gBAAgB,EAAEjQ,KAAK,CAACyP,KAAN,CAAYnZ,MAAZ,GAAqB;EAD/B,OAAV;EAGA;;EACF,SAAKob,iBAAL;EACE8T,MAAAA,OAAO,GAAG;EACRla,QAAAA,MAAM,EAAE,KADA;EAER2E,QAAAA,gBAAgB,EAAE,CAAC;EAFX,OAAV;EAIA;;EACF,SAAKyB,gBAAL;EACE8T,MAAAA,OAAO;EACLla,QAAAA,MAAM,EAAE4Z,eAAe,CAACllB,KAAD,EAAQ,QAAR,CADlB;EAELiQ,QAAAA,gBAAgB,EAAEiV,eAAe,CAACllB,KAAD,EAAQ,kBAAR;EAF5B,SAGDoM,KAAK,CAAC6D,gBAAN,IAA0B,CAA1B,IAA+B;EACjC1E,QAAAA,YAAY,EAAEvL,KAAK,CAACyP,KAAN,CAAYrD,KAAK,CAAC6D,gBAAlB;EADmB,OAH9B,CAAP;EAOA;;EACF,SAAKyB,oBAAL;EACE;EACE,YAAM6V,aAAa,GAAGD,MAAM,CAAClxB,GAA7B;EACA,YAAMytB,SAAS,QAAMzX,KAAK,CAACyX,SAAZ,GAAwB0D,aAAvC;EACA,YAAMtX,gBAAgB,GAAG2T,0BAA0B,CACjDC,SADiD,EAEjDzX,KAAK,CAAC6D,gBAF2C,EAGjDjQ,KAAK,CAACyP,KAH2C,EAIjDzP,KAAK,CAAC0L,YAJ2C,CAAnD;EAMA8Z,QAAAA,OAAO;EACL3B,UAAAA,SAAS,EAATA;EADK,WAED5T,gBAAgB,IAAI,CAApB,IAAyB;EAC3BA,UAAAA,gBAAgB,EAAhBA;EAD2B,SAFxB,CAAP;EAMD;EACD;;EACF,SAAKyB,4BAAL;EACE;EACE,YAAM6V,cAAa,GAAGD,MAAM,CAAClxB,GAA7B;;EACA,YAAMytB,UAAS,QAAMzX,KAAK,CAACyX,SAAZ,GAAwB0D,cAAvC;;EACA,YAAM5W,SAAS,GAAGiT,0BAA0B,CAC1CC,UAD0C,EAE1CzX,KAAK,CAACb,YAAN,GAAqBvL,KAAK,CAACyP,KAAN,CAAYlZ,OAAZ,CAAoB6V,KAAK,CAACb,YAA1B,CAArB,GAA+D,CAAC,CAFtB,EAG1CvL,KAAK,CAACyP,KAHoC,EAI1CzP,KAAK,CAAC0L,YAJoC,CAA5C;EAMA8Z,QAAAA,OAAO;EACL3B,UAAAA,SAAS,EAATA;EADK,WAEDlT,SAAS,IAAI,CAAb,IAAkB;EACpBpF,UAAAA,YAAY,EAAEvL,KAAK,CAACyP,KAAN,CAAYkB,SAAZ;EADM,SAFjB,CAAP;EAMD;EACD;;EACF,SAAKe,4BAAL;EAAoD;EAClD8T,QAAAA,OAAO,GAAG;EACRla,UAAAA,MAAM,EAAE,IADA;EAER2E,UAAAA,gBAAgB,EAAE6U,yBAAyB,CAAC9kB,KAAD,EAAQoM,KAAR,EAAe,CAAf;EAFnC,SAAV;EAIA;EACD;;EACD,SAAKsF,0BAAL;EACE8T,MAAAA,OAAO,GAAG;EACRla,QAAAA,MAAM,EAAE,IADA;EAER2E,QAAAA,gBAAgB,EAAE6U,yBAAyB,CAAC9kB,KAAD,EAAQoM,KAAR,EAAe,CAAC,CAAhB;EAFnC,OAAV;EAIA;;EACF,SAAKsF,iBAAL;EACA,SAAKA,kBAAL;EACE8T,MAAAA,OAAO,GAAG;EACRla,QAAAA,MAAM,EAAE,CAACc,KAAK,CAACd,MADP;EAER2E,QAAAA,gBAAgB,EAAE7D,KAAK,CAACd,MAAN,GACd,CAAC,CADa,GAEdwZ,yBAAyB,CAAC9kB,KAAD,EAAQoM,KAAR,EAAe,CAAf;EAJrB,OAAV;EAMA;;EACF,SAAKsF,gBAAL;EACE8T,MAAAA,OAAO,GAAG;EACRla,QAAAA,MAAM,EAAE,IADA;EAER2E,QAAAA,gBAAgB,EAAE6U,yBAAyB,CAAC9kB,KAAD,EAAQoM,KAAR,EAAe,CAAf;EAFnC,OAAV;EAIA;;EACF,SAAKsF,iBAAL;EACE8T,MAAAA,OAAO,GAAG;EACRla,QAAAA,MAAM,EAAE;EADA,OAAV;EAGA;;EACF,SAAKoG,2BAAL;EACE8T,MAAAA,OAAO,GAAG;EACRvV,QAAAA,gBAAgB,EAAEqX,MAAM,CAACrX;EADjB,OAAV;EAGA;;EACF,SAAKyB,kBAAL;EACE8T,MAAAA,OAAO,GAAG;EACRja,QAAAA,YAAY,EAAE+b,MAAM,CAAC/b;EADb,OAAV;EAGA;;EACF,SAAKmG,sBAAL;EACE8T,MAAAA,OAAO,GAAG;EACR3B,QAAAA,SAAS,EAAE;EADH,OAAV;EAGA;;EACF,SAAKnS,aAAL;EACE8T,MAAAA,OAAO,GAAG;EACRvV,QAAAA,gBAAgB,EAAEiV,eAAe,CAACllB,KAAD,EAAQ,kBAAR,CADzB;EAERsL,QAAAA,MAAM,EAAE4Z,eAAe,CAACllB,KAAD,EAAQ,QAAR,CAFf;EAGRuL,QAAAA,YAAY,EAAE2Z,eAAe,CAACllB,KAAD,EAAQ,cAAR;EAHrB,OAAV;EAKA;;EACF;EACE,YAAM,IAAI/E,KAAJ,CAAU,4CAAV,CAAN;EA/JJ;;EAkKA,sBACKmR,KADL,MAEKoZ,OAFL;EAID;EACD;;ECnJA,IAAMgC,iBAAiB,GAAGhD,qBAAqB,CAACiD,SAAD,EAAYjO,WAAZ,CAA/C;EACA,IAAMF,YAAY,GAAG;EACnB5N,EAAAA,YAAY,EAAEgc,YADK;EAEnBnW,EAAAA,YAAY,EAAE,sBAAChU,CAAD,EAAIxE,CAAJ;EAAA,WAAUA,CAAC,CAACysB,OAAZ;EAAA,GAFK;EAGnBna,EAAAA,oBAAoB,EAAEsc,sBAHH;EAInB9C,EAAAA,uBAAuB,EAAE+C,uBAJN;EAKnBhe,EAAAA,cAAc,EAAEie,cALG;EAMnBlT,EAAAA,WAAW,EACT,OAAO3O,MAAP,KAAkB;EAAY;EAA9B,IACI,EADJ,GAEIA;EATa,CAArB;EAYA,IAAIyE,cAAJ;EAEAgd,SAAS,CAAC/V,gBAAV,GAA6BA,kBAA7B;;EAEA,SAAS+V,SAAT,CAAmBK,SAAnB,EAAmC;EAAA,MAAhBA,SAAgB;EAAhBA,IAAAA,SAAgB,GAAJ,EAAI;EAAA;;EACjCN,EAAAA,iBAAiB,CAACM,SAAD,CAAjB,CADiC;;EAGjC,MAAM9nB,KAAK,gBACNsZ,YADM,MAENwO,SAFM,CAAX;;EAHiC,MAQ/BrY,KAR+B,GAiB7BzP,KAjB6B,CAQ/ByP,KAR+B;EAAA,MAS/B/D,YAT+B,GAiB7B1L,KAjB6B,CAS/B0L,YAT+B;EAAA,MAU/BL,oBAV+B,GAiB7BrL,KAjB6B,CAU/BqL,oBAV+B;EAAA,MAW/BwZ,uBAX+B,GAiB7B7kB,KAjB6B,CAW/B6kB,uBAX+B;EAAA,MAY/BhO,aAZ+B,GAiB7B7W,KAjB6B,CAY/B6W,aAZ+B;EAAA,MAa/BtG,aAb+B,GAiB7BvQ,KAjB6B,CAa/BuQ,aAb+B;EAAA,MAc/BgB,YAd+B,GAiB7BvR,KAjB6B,CAc/BuR,YAd+B;EAAA,MAe/B3H,cAf+B,GAiB7B5J,KAjB6B,CAe/B4J,cAf+B;EAAA,MAgB/B+K,WAhB+B,GAiB7B3U,KAjB6B,CAgB/B2U,WAhB+B;;EAmBjC,MAAMoT,YAAY,GAAGzC,eAAe,CAACtlB,KAAD,CAApC,CAnBiC;;EAAA,oBAyB7BgoB,gBAAU,CAAC,UAAC5b,KAAD,EAAQkb,MAAR,EAAmB;EAChC,QAAM9B,OAAO,GAAG6B,sBAAsB,CAACjb,KAAD,EAAQkb,MAAR,CAAtC,CADgC;;EAEhC,QAAMW,YAAY,GAAG1W,YAAY,CAACnF,KAAD,eAAYkb,MAAZ;EAAoB9B,MAAAA,OAAO,EAAPA;EAApB,OAAjC,CAFgC;;EAIhCE,IAAAA,iBAAiB,CAAC1lB,KAAD,EAAQoM,KAAR,EAAe6b,YAAf,CAAjB,CAJgC;;EAMhC,WAAOpX,QAAQ,CAACoX,YAAD,EAAejoB,KAAf,CAAf,CANgC;EAOjC,GAPa,EAOX+nB,YAPW,CAzBmB;EAAA;EAAA,MAuB9Bzc,MAvB8B,gBAuB9BA,MAvB8B;EAAA,MAuBtB2E,gBAvBsB,gBAuBtBA,gBAvBsB;EAAA,MAuBJ1E,YAvBI,gBAuBJA,YAvBI;EAAA,MAuBUsY,SAvBV,gBAuBUA,SAvBV;EAAA,MAwB/BqE,QAxB+B;;;EAAA,uBAmCoB7E,aAAa,CAChEL,KADgE,EAEhEhjB,KAFgE,CAnCjC;EAAA,MAmC1BqP,OAnC0B,kBAmC1BA,OAnC0B;EAAA,MAmCjBE,SAnCiB,kBAmCjBA,SAnCiB;EAAA,MAmCNH,MAnCM,kBAmCNA,MAnCM;EAAA,MAmCEmU,cAnCF,kBAmCEA,cAnCF;EAwCjC;;;EACA,MAAM4E,eAAe,GAAGC,YAAM,CAAC,IAAD,CAA9B;EACA,MAAMvS,OAAO,GAAGuS,YAAM,CAAC,IAAD,CAAtB;EACA,MAAMC,QAAQ,GAAGD,YAAM,EAAvB;EACAC,EAAAA,QAAQ,CAACC,OAAT,GAAmB,EAAnB;EACA,MAAMC,cAAc,GAAGH,YAAM,CAAC,IAAD,CAA7B;EACA,MAAM9P,YAAY,GAAG8P,YAAM,CAAC,IAAD,CAA3B;EAEA;;EACA;;EACAhF,EAAAA,eAAS,CAAC,YAAM;EACd,QAAImF,cAAc,CAACD,OAAnB,EAA4B;EAC1B;EACD;;EACDjb,IAAAA,SAAS,CACPhC,oBAAoB,CAAC;EACnBC,MAAAA,MAAM,EAANA,MADmB;EAEnBmE,MAAAA,KAAK,EAALA,KAFmB;EAGnBlE,MAAAA,YAAY,EAAZA,YAHmB;EAInBG,MAAAA,YAAY,EAAZA;EAJmB,KAAD,CADb,CAAT,CAJc;EAaf,GAbQ,EAaN,CAACJ,MAAD,CAbM,CAAT;EAcA;;EACA8X,EAAAA,eAAS,CAAC,YAAM;EACd,QAAImF,cAAc,CAACD,OAAnB,EAA4B;EAC1B;EACD;;EACDjb,IAAAA,SAAS,CACPwX,uBAAuB,CAAC;EACtBvZ,MAAAA,MAAM,EAANA,MADsB;EAEtBmE,MAAAA,KAAK,EAALA,KAFsB;EAGtBlE,MAAAA,YAAY,EAAZA,YAHsB;EAItBG,MAAAA,YAAY,EAAZA;EAJsB,KAAD,CADhB,CAAT,CAJc;EAaf,GAbQ,EAaN,CAACH,YAAD,CAbM,CAAT;EAcA;;EACA6X,EAAAA,eAAS,CAAC,YAAM;EACd;EACA,QAAImF,cAAc,CAACD,OAAnB,EAA4B;EAC1B7d,MAAAA,cAAY,GAAGL,QAAQ,CAAC,YAAM;EAC5B8d,QAAAA,QAAQ,CAAC;EACPhvB,UAAAA,IAAI,EAAEwY,sBADC;EAEP1R,UAAAA,KAAK,EAALA;EAFO,SAAD,CAAR;EAID,OALsB,EAKpB,GALoB,CAAvB;EAMD;;EACD,QAAI,CAAC6jB,SAAL,EAAgB;EACd;EACD;;EACDpZ,IAAAA,cAAY,GAbE;EAef,GAfQ,EAeN,CAACoZ,SAAD,CAfM,CAAT;EAgBA;;EACAT,EAAAA,eAAS,CAAC,YAAM;EACd;EACA,QAAImF,cAAc,CAACD,OAAnB,EAA4B;EAC1B;EACA,UAAIzR,aAAa,IAAItG,aAAjB,IAAkCjF,MAAtC,EAA8C;EAC5CuK,QAAAA,OAAO,CAACyS,OAAR,CAAgBzT,KAAhB;EACD;;EACD;EACD,KARa;EAUd;;;EACA,QAAIvJ,MAAJ,EAAY;EACVuK,MAAAA,OAAO,CAACyS,OAAR,CAAgBzT,KAAhB,GADU;EAGX,KAHD,MAGO,IAAIF,WAAW,CAACnP,QAAZ,CAAqBoP,aAArB,KAAuCiB,OAAO,CAACyS,OAAnD,EAA4D;EACjEH,MAAAA,eAAe,CAACG,OAAhB,CAAwBzT,KAAxB;EACD,KAhBa;;EAkBf,GAlBQ,EAkBN,CAACvJ,MAAD,CAlBM,CAAT;EAmBA;;EACA8X,EAAAA,eAAS,CAAC,YAAM;EACd,QAAInT,gBAAgB,GAAG,CAAnB,IAAwB,CAAC3E,MAAzB,IAAmC,CAAC+c,QAAQ,CAACC,OAAT,CAAiBhyB,MAAzD,EAAiE;EAC/D;EACD;;EACD,QAAIgiB,YAAY,CAACgQ,OAAb,KAAyB,KAA7B,EAAoC;EAClChQ,MAAAA,YAAY,CAACgQ,OAAb,GAAuB,IAAvB;EACD,KAFD,MAEO;EACL1e,MAAAA,cAAc,CAACye,QAAQ,CAACC,OAAT,CAAiBrY,gBAAjB,CAAD,EAAqC4F,OAAO,CAACyS,OAA7C,CAAd;EACD,KARa;;EAUf,GAVQ,EAUN,CAACrY,gBAAD,CAVM,CAAT;EAWA;;EACAmT,EAAAA,eAAS,CAAC,YAAM;EACdmF,IAAAA,cAAc,CAACD,OAAf,GAAyB,KAAzB;EACD,GAFQ,EAEN,EAFM,CAAT;EAIA;;EACA,MAAME,mBAAmB,GAAG;EAC1B7V,IAAAA,SAD0B,qBAChB7H,KADgB,EACT;EACfA,MAAAA,KAAK,CAAC8H,cAAN;EACAsV,MAAAA,QAAQ,CAAC;EACPhvB,QAAAA,IAAI,EAAEwY,oBADC;EAEP1R,QAAAA,KAAK,EAALA,KAFO;EAGP8S,QAAAA,QAAQ,EAAEhI,KAAK,CAACgI;EAHT,OAAD,CAAR;EAKD,KARyB;EAS1BG,IAAAA,OAT0B,mBASlBnI,KATkB,EASX;EACbA,MAAAA,KAAK,CAAC8H,cAAN;EACAsV,MAAAA,QAAQ,CAAC;EACPhvB,QAAAA,IAAI,EAAEwY,kBADC;EAEP1R,QAAAA,KAAK,EAALA,KAFO;EAGP8S,QAAAA,QAAQ,EAAEhI,KAAK,CAACgI;EAHT,OAAD,CAAR;EAKD,KAhByB;EAiB1Ba,IAAAA,IAjB0B,gBAiBrB7I,KAjBqB,EAiBd;EACVA,MAAAA,KAAK,CAAC8H,cAAN;EACAsV,MAAAA,QAAQ,CAAC;EACPhvB,QAAAA,IAAI,EAAEwY,eADC;EAEP1R,QAAAA,KAAK,EAALA;EAFO,OAAD,CAAR;EAID,KAvByB;EAwB1B6T,IAAAA,GAxB0B,eAwBtB/I,KAxBsB,EAwBf;EACTA,MAAAA,KAAK,CAAC8H,cAAN;EACAsV,MAAAA,QAAQ,CAAC;EACPhvB,QAAAA,IAAI,EAAEwY,cADC;EAEP1R,QAAAA,KAAK,EAALA;EAFO,OAAD,CAAR;EAID,KA9ByB;EA+B1BsT,IAAAA,MA/B0B,oBA+BjB;EACP4U,MAAAA,QAAQ,CAAC;EACPhvB,QAAAA,IAAI,EAAEwY,iBADC;EAEP1R,QAAAA,KAAK,EAALA;EAFO,OAAD,CAAR;EAID,KApCyB;EAqC1BkT,IAAAA,KArC0B,mBAqClB;EACNgV,MAAAA,QAAQ,CAAC;EACPhvB,QAAAA,IAAI,EAAEwY,gBADC;EAEP1R,QAAAA,KAAK,EAALA;EAFO,OAAD,CAAR;EAID,KA1CyB;EA2C1B4a,IAAAA,GA3C0B,eA2CtB9P,KA3CsB,EA2Cf;EACT;EACA;EACA,UAAIA,KAAK,CAACgI,QAAV,EAAoB;EAClBoV,QAAAA,QAAQ,CAAC;EACPhvB,UAAAA,IAAI,EAAEwY,QADC;EAEP1R,UAAAA,KAAK,EAALA;EAFO,SAAD,CAAR;EAID;EACF;EApDyB,GAA5B;EAsDA,MAAMyoB,2BAA2B,GAAG;EAClC9V,IAAAA,SADkC,qBACxB7H,KADwB,EACjB;EACfA,MAAAA,KAAK,CAAC8H,cAAN;EACAsV,MAAAA,QAAQ,CAAC;EACPhvB,QAAAA,IAAI,EAAEwY,4BADC;EAEP1R,QAAAA,KAAK,EAALA;EAFO,OAAD,CAAR;EAID,KAPiC;EAQlCiT,IAAAA,OARkC,mBAQ1BnI,KAR0B,EAQnB;EACbA,MAAAA,KAAK,CAAC8H,cAAN;EACAsV,MAAAA,QAAQ,CAAC;EACPhvB,QAAAA,IAAI,EAAEwY,0BADC;EAEP1R,QAAAA,KAAK,EAALA;EAFO,OAAD,CAAR;EAID;EAdiC,GAApC,CA5LiC;;EA8MjC,MAAM0oB,iBAAiB,GAAG,UAAA5d,KAAK,EAAI;EACjC,QAAM1U,GAAG,GAAG8jB,aAAW,CAACI,MAAZ,CAAmBxP,KAAnB,CAAZ;;EACA,QAAI1U,GAAG,IAAIoyB,mBAAmB,CAACpyB,GAAD,CAA9B,EAAqC;EACnCoyB,MAAAA,mBAAmB,CAACpyB,GAAD,CAAnB,CAAyB0U,KAAzB;EACD,KAFD,MAEO,IAAI4Z,sBAAsB,CAACtuB,GAAD,CAA1B,EAAiC;EACtC8xB,MAAAA,QAAQ,CAAC;EACPhvB,QAAAA,IAAI,EAAEwY,oBADC;EAEPtb,QAAAA,GAAG,EAAHA,GAFO;EAGP4J,QAAAA,KAAK,EAALA;EAHO,OAAD,CAAR;EAKD;EACF,GAXD,CA9MiC;EA2NjC;EACA;;;EACA,MAAM2oB,cAAc,GAAG,UAAA7d,KAAK,EAAI;EAC9B,QAAIA,KAAK,CAAC8d,aAAN,KAAwBT,eAAe,CAACG,OAA5C,EAAqD;EACnDJ,MAAAA,QAAQ,CAAC;EACPhvB,QAAAA,IAAI,EAAEwY,QADC;EAEP1R,QAAAA,KAAK,EAALA;EAFO,OAAD,CAAR;EAID;EACF,GAPD;;EAQA,MAAM6oB,uBAAuB,GAAG,YAAM;EACpCX,IAAAA,QAAQ,CAAC;EACPhvB,MAAAA,IAAI,EAAEwY,iBADC;EAEP1R,MAAAA,KAAK,EAALA;EAFO,KAAD,CAAR;EAID,GALD;;EAMA,MAAM8oB,yBAAyB,GAAG,UAAAhe,KAAK,EAAI;EACzC,QAAM1U,GAAG,GAAG8jB,aAAW,CAACI,MAAZ,CAAmBxP,KAAnB,CAAZ;;EACA,QAAI1U,GAAG,IAAIqyB,2BAA2B,CAACryB,GAAD,CAAtC,EAA6C;EAC3CqyB,MAAAA,2BAA2B,CAACryB,GAAD,CAA3B,CAAiC0U,KAAjC;EACD,KAFD,MAEO,IAAI4Z,sBAAsB,CAACtuB,GAAD,CAA1B,EAAiC;EACtC8xB,MAAAA,QAAQ,CAAC;EACPhvB,QAAAA,IAAI,EAAEwY,4BADC;EAEPtb,QAAAA,GAAG,EAAHA,GAFO;EAGP4J,QAAAA,KAAK,EAALA;EAHO,OAAD,CAAR;EAKD;EACF,GAXD;;EAYA,MAAM+oB,mBAAmB,GAAG,UAAAnhB,KAAK,EAAI;EACnC,QAAIA,KAAK,KAAKqI,gBAAd,EAAgC;EAC9B;EACD;;EACDqI,IAAAA,YAAY,CAACgQ,OAAb,GAAuB,KAAvB;EACAJ,IAAAA,QAAQ,CAAC;EACPhvB,MAAAA,IAAI,EAAEwY,aADC;EAEP1R,MAAAA,KAAK,EAALA,KAFO;EAGP4H,MAAAA,KAAK,EAALA;EAHO,KAAD,CAAR;EAKD,GAVD;;EAWA,MAAMohB,eAAe,GAAG,UAAAphB,KAAK,EAAI;EAC/BsgB,IAAAA,QAAQ,CAAC;EACPhvB,MAAAA,IAAI,EAAEwY,SADC;EAEP1R,MAAAA,KAAK,EAALA,KAFO;EAGP4H,MAAAA,KAAK,EAALA;EAHO,KAAD,CAAR;EAKD,GAND,CAlQiC;;;EAuXjC,SAAO;EACL;EACAkM,IAAAA,oBAAoB,EAlDO,SAAvBA,oBAAuB;EAAA;;EAAA,sCAMzB,EANyB;EAAA,UAC3BC,OAD2B,SAC3BA,OAD2B;EAAA,UAE3BE,SAF2B,SAE3BA,SAF2B;EAAA,+BAG3B7B,MAH2B;EAAA,UAG3BA,MAH2B,6BAGlB,KAHkB;EAAA,UAI3BC,GAJ2B,SAI3BA,GAJ2B;EAAA,UAKxBC,IALwB;;EAAA,iDAO1BF,MAP0B,IAOjBlH,OAAO,CAACmH,GAAD,EAAM,UAAA4W,gBAAgB,EAAI;EACzCd,QAAAA,eAAe,CAACG,OAAhB,GAA0BW,gBAA1B;EACD,OAFgB,CAPU,YAU3B9Z,EAV2B,GAUvBoU,cAVuB,YAW3B,eAX2B,IAWV,SAXU,YAY3B,eAZ2B,IAYVjY,MAZU,YAa3B,iBAb2B,IAaL+D,OAbK,SAaMkU,cAbN,YAc3BxP,OAd2B,GAclBnJ,oBAAoB,CAACmJ,OAAD,EAAU8U,uBAAV,CAdF,YAe3B5U,SAf2B,GAehBrJ,oBAAoB,CAACqJ,SAAD,EAAY6U,yBAAZ,CAfJ,cAgBxBxW,IAhBwB;EAAA,KAgDtB;EAGL0C,IAAAA,aAAa,EA5EO,SAAhBA,aAAgB,CAAAkU,UAAU;EAAA;EAC9B/Z,QAAAA,EAAE,EAAEE;EAD0B,SAE3B6Z,UAF2B;EAAA,KAyEzB;EAILnT,IAAAA,YAAY,EAzEO,SAAfA,YAAe;EAAA;;EAAA,oCAMjB,EANiB;EAAA,UACnB9B,SADmB,QACnBA,SADmB;EAAA,UAEnBE,MAFmB,QAEnBA,MAFmB;EAAA,6BAGnB/B,MAHmB;EAAA,UAGnBA,MAHmB,4BAGV,KAHU;EAAA,UAInBC,GAJmB,QAInBA,GAJmB;EAAA,UAKhBC,IALgB;;EAAA,iDAOlBF,MAPkB,IAOTlH,OAAO,CAACmH,GAAD,EAAM,UAAAxI,QAAQ,EAAI;EACjCgM,QAAAA,OAAO,CAACyS,OAAR,GAAkBze,QAAlB;EACD,OAFgB,CAPE,YAUnBsF,EAVmB,GAUfC,MAVe,YAWnBqD,IAXmB,GAWb,SAXa,YAYnB,iBAZmB,IAYApD,OAZA,YAanB8Z,QAbmB,GAaT,CAAC,CAbQ,cAcflZ,gBAAgB,GAAG,CAAC,CAApB,IAAyB;EAC3B,iCAAyBV,SAAS,CAACU,gBAAD;EADP,OAdV;EAiBnBgE,QAAAA,SAAS,EAAErJ,oBAAoB,CAACqJ,SAAD,EAAYyU,iBAAZ,CAjBZ;EAkBnBvU,QAAAA,MAAM,EAAEvJ,oBAAoB,CAACuJ,MAAD,EAASwU,cAAT;EAlBT,SAmBhBrW,IAnBgB;EAAA,KAqEd;EAKL0D,IAAAA,YAAY,EAnCO,SAAfA,YAAe,SAQV;EAAA;;EAAA,sCAAP,EAAO;EAAA,UAPTvF,IAOS,SAPTA,IAOS;EAAA,UANT7I,KAMS,SANTA,KAMS;EAAA,+BALTwK,MAKS;EAAA,UALTA,MAKS,6BALA,KAKA;EAAA,UAJTC,GAIS,SAJTA,GAIS;EAAA,UAHT4D,WAGS,SAHTA,WAGS;EAAA,UAFTlC,OAES,SAFTA,OAES;EAAA,UADNzB,IACM;;EACT,UAAM3B,SAAS,GAAG4T,YAAY,CAAC3c,KAAD,EAAQ6I,IAAR,EAAchB,KAAd,CAA9B;;EACA,UAAIkB,SAAS,GAAG,CAAhB,EAAmB;EACjB,cAAM,IAAI1V,KAAJ,CAAU,iDAAV,CAAN;EACD;;EACD,iDACGmX,MADH,IACYlH,OAAO,CAACmH,GAAD,EAAM,UAAAc,QAAQ,EAAI;EACjC,YAAIA,QAAJ,EAAc;EACZkV,UAAAA,QAAQ,CAACC,OAAT,CAAiBziB,IAAjB,CAAsBsN,QAAtB;EACD;EACF,OAJgB,CADnB,YAMEV,IANF,GAMQ,QANR,cAOM9B,SAAS,KAAKV,gBAAd,IAAkC;EAAC,yBAAiB;EAAlB,OAPxC;EAQEd,QAAAA,EAAE,EAAEI,SAAS,CAACoB,SAAD,CARf;EASEsF,QAAAA,WAAW,EAAErL,oBAAoB,CAACqL,WAAD,EAAc;EAAA,iBAC7C8S,mBAAmB,CAACpY,SAAD,CAD0B;EAAA,SAAd,CATnC;EAYEoD,QAAAA,OAAO,EAAEnJ,oBAAoB,CAACmJ,OAAD,EAAU;EAAA,iBAAMiV,eAAe,CAACrY,SAAD,CAArB;EAAA,SAAV;EAZ/B,SAaK2B,IAbL;EAeD,KAEM;EAML;EACAmB,IAAAA,UAAU,EAnHO,SAAbA,UAAa,GAAM;EACvByU,MAAAA,QAAQ,CAAC;EACPhvB,QAAAA,IAAI,EAAEwY,kBADC;EAEP1R,QAAAA,KAAK,EAALA;EAFO,OAAD,CAAR;EAID,KAuGM;EAQLuW,IAAAA,QAAQ,EAzGO,SAAXA,QAAW,GAAM;EACrB2R,MAAAA,QAAQ,CAAC;EACPhvB,QAAAA,IAAI,EAAEwY,gBADC;EAEP1R,QAAAA,KAAK,EAALA;EAFO,OAAD,CAAR;EAID,KA4FM;EASLwW,IAAAA,SAAS,EA/GO,SAAZA,SAAY,GAAM;EACtB0R,MAAAA,QAAQ,CAAC;EACPhvB,QAAAA,IAAI,EAAEwY;EADC,OAAD,CAAR;EAGD,KAkGM;EAUL1B,IAAAA,mBAAmB,EArGO,SAAtBA,mBAAsB,CAAA+T,mBAAmB,EAAI;EACjDmE,MAAAA,QAAQ,CAAC;EACPhvB,QAAAA,IAAI,EAAEwY,2BADC;EAEPzB,QAAAA,gBAAgB,EAAE8T;EAFX,OAAD,CAAR;EAID,KAsFM;EAWLvT,IAAAA,UAAU,EAhGO,SAAbA,UAAa,CAAA4Y,eAAe,EAAI;EACpClB,MAAAA,QAAQ,CAAC;EACPhvB,QAAAA,IAAI,EAAEwY,kBADC;EAEPnG,QAAAA,YAAY,EAAE6d;EAFP,OAAD,CAAR;EAID,KAgFM;EAYL7V,IAAAA,KAAK,EA3FO,SAARA,KAAQ,GAAM;EAClB2U,MAAAA,QAAQ,CAAC;EACPhvB,QAAAA,IAAI,EAAEwY,aADC;EAEP1R,QAAAA,KAAK,EAALA;EAFO,OAAD,CAAR;EAID,KA0EM;EAaL;EACAiQ,IAAAA,gBAAgB,EAAhBA,gBAdK;EAeL3E,IAAAA,MAAM,EAANA,MAfK;EAgBLC,IAAAA,YAAY,EAAZA;EAhBK,GAAP;EAkBD;;;;;;;;;;;;;;"}
\No newline at end of file