@pdg/react-table 1.0.57 → 1.0.58

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../node_modules/classnames/index.js","../node_modules/lodash-es/_freeGlobal.js","../node_modules/lodash-es/_root.js","../node_modules/lodash-es/_Symbol.js","../node_modules/lodash-es/_getRawTag.js","../node_modules/lodash-es/_objectToString.js","../node_modules/lodash-es/_baseGetTag.js","../node_modules/lodash-es/isObjectLike.js","../node_modules/lodash-es/isSymbol.js","../node_modules/lodash-es/_trimmedEndIndex.js","../node_modules/lodash-es/_baseTrim.js","../node_modules/lodash-es/isObject.js","../node_modules/lodash-es/toNumber.js","../node_modules/lodash-es/now.js","../node_modules/lodash-es/debounce.js","../node_modules/lodash-es/throttle.js","../node_modules/can-use-dom/index.js","../node_modules/simplebar-core/dist/index.mjs","../node_modules/simplebar-react/dist/index.mjs","../node_modules/lodash/isObject.js","../node_modules/lodash/_freeGlobal.js","../node_modules/lodash/_root.js","../node_modules/lodash/now.js","../node_modules/lodash/_trimmedEndIndex.js","../node_modules/lodash/_baseTrim.js","../node_modules/lodash/_Symbol.js","../node_modules/lodash/_getRawTag.js","../node_modules/lodash/_objectToString.js","../node_modules/lodash/_baseGetTag.js","../node_modules/lodash/isObjectLike.js","../node_modules/lodash/isSymbol.js","../node_modules/lodash/toNumber.js","../node_modules/lodash/debounce.js","../node_modules/lodash/throttle.js","../node_modules/react-resize-detector/build/index.esm.js","../src/Table/Table.types.ts","../src/Table/Table.styles.ts","../src/TableBodyRow/TableBodyRow.types.ts","../node_modules/@dnd-kit/utilities/dist/utilities.esm.js","../src/@util/compare.ts","../src/@util/number.ts","../src/@util/table.ts","../src/TableContext/TableContext.types.ts","../src/TableContext/TableContext.ts","../src/TableContext/useTableState.ts","../src/TableCommonCell/TableCommonCell.tsx","../src/TableBodyCell/TableBodyCell.tsx","../src/TableBodyRow/TableBodyRow.tsx","../src/TableFooterCell/TableFooterCell.tsx","../src/TablePagination/TablePagination.tsx","../node_modules/@pdg/react-hook/dist/index.esm.js","../node_modules/style-inject/dist/style-inject.es.js","../src/TableContextProvider/TableContextProvider.tsx","../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/native.js","../node_modules/uuid/dist/esm-browser/v4.js","../src/TableTopHead/TableTopHead.types.ts","../src/TableTopHead/TableTopHead.style.ts","../src/TableHeadCell/TableHeadCell.tsx","../src/TableTopHead/TableTopHead.tsx","../src/Table/Table.tsx","../src/SearchTable/SearchTable.types.ts","../src/SearchTable/SearchTable.tsx","../src/TableButton/TableButton.types.ts","../src/TableIcon/TableIcon.types.ts","../src/TableIcon/TableIcon.tsx","../src/TableButton/TableButton.tsx","../src/TableMenuButton/TableMenuButton.types.ts","../src/TableMenuButton/TableMenuButton.tsx","../src/InfoTable/InfoTable.types.ts","../src/InfoTable/InfoTable.style.ts","../node_modules/toggle-selection/index.js","../node_modules/copy-to-clipboard/index.js","../node_modules/react-copy-to-clipboard/lib/Component.js","../node_modules/react-copy-to-clipboard/lib/index.js","../src/InfoTable/InfoTable.tsx"],"sourcesContent":["/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nexport default isSymbol;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nexport default trimmedEndIndex;\n","import trimmedEndIndex from './_trimmedEndIndex.js';\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nexport default baseTrim;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;\n","import baseTrim from './_baseTrim.js';\nimport isObject from './isObject.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nexport default toNumber;\n","import root from './_root.js';\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nexport default now;\n","import isObject from './isObject.js';\nimport now from './now.js';\nimport toNumber from './toNumber.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nexport default debounce;\n","import debounce from './debounce.js';\nimport isObject from './isObject.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nexport default throttle;\n","var canUseDOM = !!(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n);\n\nmodule.exports = canUseDOM;","/**\n * simplebar-core - v1.2.4\n * Scrollbars, simpler.\n * https://grsmto.github.io/simplebar/\n *\n * Made by Adrien Denat from a fork by Jonathan Nicol\n * Under MIT License\n */\n\nimport { throttle, debounce } from 'lodash-es';\nimport canUseDOM from 'can-use-dom';\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\n\nvar cachedScrollbarWidth = null;\nvar cachedDevicePixelRatio = null;\nif (canUseDOM) {\n window.addEventListener('resize', function () {\n if (cachedDevicePixelRatio !== window.devicePixelRatio) {\n cachedDevicePixelRatio = window.devicePixelRatio;\n cachedScrollbarWidth = null;\n }\n });\n}\nfunction scrollbarWidth() {\n if (cachedScrollbarWidth === null) {\n if (typeof document === 'undefined') {\n cachedScrollbarWidth = 0;\n return cachedScrollbarWidth;\n }\n var body = document.body;\n var box = document.createElement('div');\n box.classList.add('simplebar-hide-scrollbar');\n body.appendChild(box);\n var width = box.getBoundingClientRect().right;\n body.removeChild(box);\n cachedScrollbarWidth = width;\n }\n return cachedScrollbarWidth;\n}\n\nfunction getElementWindow$1(element) {\n if (!element ||\n !element.ownerDocument ||\n !element.ownerDocument.defaultView) {\n return window;\n }\n return element.ownerDocument.defaultView;\n}\nfunction getElementDocument$1(element) {\n if (!element || !element.ownerDocument) {\n return document;\n }\n return element.ownerDocument;\n}\n// Helper function to retrieve options from element attributes\nvar getOptions$1 = function (obj) {\n var initialObj = {};\n var options = Array.prototype.reduce.call(obj, function (acc, attribute) {\n var option = attribute.name.match(/data-simplebar-(.+)/);\n if (option) {\n var key = option[1].replace(/\\W+(.)/g, function (_, chr) { return chr.toUpperCase(); });\n switch (attribute.value) {\n case 'true':\n acc[key] = true;\n break;\n case 'false':\n acc[key] = false;\n break;\n case undefined:\n acc[key] = true;\n break;\n default:\n acc[key] = attribute.value;\n }\n }\n return acc;\n }, initialObj);\n return options;\n};\nfunction addClasses$1(el, classes) {\n var _a;\n if (!el)\n return;\n (_a = el.classList).add.apply(_a, classes.split(' '));\n}\nfunction removeClasses$1(el, classes) {\n if (!el)\n return;\n classes.split(' ').forEach(function (className) {\n el.classList.remove(className);\n });\n}\nfunction classNamesToQuery$1(classNames) {\n return \".\".concat(classNames.split(' ').join('.'));\n}\n\nvar helpers = /*#__PURE__*/Object.freeze({\n __proto__: null,\n getElementWindow: getElementWindow$1,\n getElementDocument: getElementDocument$1,\n getOptions: getOptions$1,\n addClasses: addClasses$1,\n removeClasses: removeClasses$1,\n classNamesToQuery: classNamesToQuery$1\n});\n\nvar getElementWindow = getElementWindow$1, getElementDocument = getElementDocument$1, getOptions = getOptions$1, addClasses = addClasses$1, removeClasses = removeClasses$1, classNamesToQuery = classNamesToQuery$1;\nvar SimpleBarCore = /** @class */ (function () {\n function SimpleBarCore(element, options) {\n if (options === void 0) { options = {}; }\n var _this = this;\n this.removePreventClickId = null;\n this.minScrollbarWidth = 20;\n this.stopScrollDelay = 175;\n this.isScrolling = false;\n this.isMouseEntering = false;\n this.scrollXTicking = false;\n this.scrollYTicking = false;\n this.wrapperEl = null;\n this.contentWrapperEl = null;\n this.contentEl = null;\n this.offsetEl = null;\n this.maskEl = null;\n this.placeholderEl = null;\n this.heightAutoObserverWrapperEl = null;\n this.heightAutoObserverEl = null;\n this.rtlHelpers = null;\n this.scrollbarWidth = 0;\n this.resizeObserver = null;\n this.mutationObserver = null;\n this.elStyles = null;\n this.isRtl = null;\n this.mouseX = 0;\n this.mouseY = 0;\n this.onMouseMove = function () { };\n this.onWindowResize = function () { };\n this.onStopScrolling = function () { };\n this.onMouseEntered = function () { };\n /**\n * On scroll event handling\n */\n this.onScroll = function () {\n var elWindow = getElementWindow(_this.el);\n if (!_this.scrollXTicking) {\n elWindow.requestAnimationFrame(_this.scrollX);\n _this.scrollXTicking = true;\n }\n if (!_this.scrollYTicking) {\n elWindow.requestAnimationFrame(_this.scrollY);\n _this.scrollYTicking = true;\n }\n if (!_this.isScrolling) {\n _this.isScrolling = true;\n addClasses(_this.el, _this.classNames.scrolling);\n }\n _this.showScrollbar('x');\n _this.showScrollbar('y');\n _this.onStopScrolling();\n };\n this.scrollX = function () {\n if (_this.axis.x.isOverflowing) {\n _this.positionScrollbar('x');\n }\n _this.scrollXTicking = false;\n };\n this.scrollY = function () {\n if (_this.axis.y.isOverflowing) {\n _this.positionScrollbar('y');\n }\n _this.scrollYTicking = false;\n };\n this._onStopScrolling = function () {\n removeClasses(_this.el, _this.classNames.scrolling);\n if (_this.options.autoHide) {\n _this.hideScrollbar('x');\n _this.hideScrollbar('y');\n }\n _this.isScrolling = false;\n };\n this.onMouseEnter = function () {\n if (!_this.isMouseEntering) {\n addClasses(_this.el, _this.classNames.mouseEntered);\n _this.showScrollbar('x');\n _this.showScrollbar('y');\n _this.isMouseEntering = true;\n }\n _this.onMouseEntered();\n };\n this._onMouseEntered = function () {\n removeClasses(_this.el, _this.classNames.mouseEntered);\n if (_this.options.autoHide) {\n _this.hideScrollbar('x');\n _this.hideScrollbar('y');\n }\n _this.isMouseEntering = false;\n };\n this._onMouseMove = function (e) {\n _this.mouseX = e.clientX;\n _this.mouseY = e.clientY;\n if (_this.axis.x.isOverflowing || _this.axis.x.forceVisible) {\n _this.onMouseMoveForAxis('x');\n }\n if (_this.axis.y.isOverflowing || _this.axis.y.forceVisible) {\n _this.onMouseMoveForAxis('y');\n }\n };\n this.onMouseLeave = function () {\n _this.onMouseMove.cancel();\n if (_this.axis.x.isOverflowing || _this.axis.x.forceVisible) {\n _this.onMouseLeaveForAxis('x');\n }\n if (_this.axis.y.isOverflowing || _this.axis.y.forceVisible) {\n _this.onMouseLeaveForAxis('y');\n }\n _this.mouseX = -1;\n _this.mouseY = -1;\n };\n this._onWindowResize = function () {\n // Recalculate scrollbarWidth in case it's a zoom\n _this.scrollbarWidth = _this.getScrollbarWidth();\n _this.hideNativeScrollbar();\n };\n this.onPointerEvent = function (e) {\n if (!_this.axis.x.track.el ||\n !_this.axis.y.track.el ||\n !_this.axis.x.scrollbar.el ||\n !_this.axis.y.scrollbar.el)\n return;\n var isWithinTrackXBounds, isWithinTrackYBounds;\n _this.axis.x.track.rect = _this.axis.x.track.el.getBoundingClientRect();\n _this.axis.y.track.rect = _this.axis.y.track.el.getBoundingClientRect();\n if (_this.axis.x.isOverflowing || _this.axis.x.forceVisible) {\n isWithinTrackXBounds = _this.isWithinBounds(_this.axis.x.track.rect);\n }\n if (_this.axis.y.isOverflowing || _this.axis.y.forceVisible) {\n isWithinTrackYBounds = _this.isWithinBounds(_this.axis.y.track.rect);\n }\n // If any pointer event is called on the scrollbar\n if (isWithinTrackXBounds || isWithinTrackYBounds) {\n // Prevent event leaking\n e.stopPropagation();\n if (e.type === 'pointerdown' && e.pointerType !== 'touch') {\n if (isWithinTrackXBounds) {\n _this.axis.x.scrollbar.rect =\n _this.axis.x.scrollbar.el.getBoundingClientRect();\n if (_this.isWithinBounds(_this.axis.x.scrollbar.rect)) {\n _this.onDragStart(e, 'x');\n }\n else {\n _this.onTrackClick(e, 'x');\n }\n }\n if (isWithinTrackYBounds) {\n _this.axis.y.scrollbar.rect =\n _this.axis.y.scrollbar.el.getBoundingClientRect();\n if (_this.isWithinBounds(_this.axis.y.scrollbar.rect)) {\n _this.onDragStart(e, 'y');\n }\n else {\n _this.onTrackClick(e, 'y');\n }\n }\n }\n }\n };\n /**\n * Drag scrollbar handle\n */\n this.drag = function (e) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;\n if (!_this.draggedAxis || !_this.contentWrapperEl)\n return;\n var eventOffset;\n var track = _this.axis[_this.draggedAxis].track;\n var trackSize = (_b = (_a = track.rect) === null || _a === void 0 ? void 0 : _a[_this.axis[_this.draggedAxis].sizeAttr]) !== null && _b !== void 0 ? _b : 0;\n var scrollbar = _this.axis[_this.draggedAxis].scrollbar;\n var contentSize = (_d = (_c = _this.contentWrapperEl) === null || _c === void 0 ? void 0 : _c[_this.axis[_this.draggedAxis].scrollSizeAttr]) !== null && _d !== void 0 ? _d : 0;\n var hostSize = parseInt((_f = (_e = _this.elStyles) === null || _e === void 0 ? void 0 : _e[_this.axis[_this.draggedAxis].sizeAttr]) !== null && _f !== void 0 ? _f : '0px', 10);\n e.preventDefault();\n e.stopPropagation();\n if (_this.draggedAxis === 'y') {\n eventOffset = e.pageY;\n }\n else {\n eventOffset = e.pageX;\n }\n // Calculate how far the user's mouse is from the top/left of the scrollbar (minus the dragOffset).\n var dragPos = eventOffset -\n ((_h = (_g = track.rect) === null || _g === void 0 ? void 0 : _g[_this.axis[_this.draggedAxis].offsetAttr]) !== null && _h !== void 0 ? _h : 0) -\n _this.axis[_this.draggedAxis].dragOffset;\n dragPos = _this.draggedAxis === 'x' && _this.isRtl\n ? ((_k = (_j = track.rect) === null || _j === void 0 ? void 0 : _j[_this.axis[_this.draggedAxis].sizeAttr]) !== null && _k !== void 0 ? _k : 0) -\n scrollbar.size -\n dragPos\n : dragPos;\n // Convert the mouse position into a percentage of the scrollbar height/width.\n var dragPerc = dragPos / (trackSize - scrollbar.size);\n // Scroll the content by the same percentage.\n var scrollPos = dragPerc * (contentSize - hostSize);\n // Fix browsers inconsistency on RTL\n if (_this.draggedAxis === 'x' && _this.isRtl) {\n scrollPos = ((_l = SimpleBarCore.getRtlHelpers()) === null || _l === void 0 ? void 0 : _l.isScrollingToNegative)\n ? -scrollPos\n : scrollPos;\n }\n _this.contentWrapperEl[_this.axis[_this.draggedAxis].scrollOffsetAttr] =\n scrollPos;\n };\n /**\n * End scroll handle drag\n */\n this.onEndDrag = function (e) {\n var elDocument = getElementDocument(_this.el);\n var elWindow = getElementWindow(_this.el);\n e.preventDefault();\n e.stopPropagation();\n removeClasses(_this.el, _this.classNames.dragging);\n elDocument.removeEventListener('mousemove', _this.drag, true);\n elDocument.removeEventListener('mouseup', _this.onEndDrag, true);\n _this.removePreventClickId = elWindow.setTimeout(function () {\n // Remove these asynchronously so we still suppress click events\n // generated simultaneously with mouseup.\n elDocument.removeEventListener('click', _this.preventClick, true);\n elDocument.removeEventListener('dblclick', _this.preventClick, true);\n _this.removePreventClickId = null;\n });\n };\n /**\n * Handler to ignore click events during drag\n */\n this.preventClick = function (e) {\n e.preventDefault();\n e.stopPropagation();\n };\n this.el = element;\n this.options = __assign(__assign({}, SimpleBarCore.defaultOptions), options);\n this.classNames = __assign(__assign({}, SimpleBarCore.defaultOptions.classNames), options.classNames);\n this.axis = {\n x: {\n scrollOffsetAttr: 'scrollLeft',\n sizeAttr: 'width',\n scrollSizeAttr: 'scrollWidth',\n offsetSizeAttr: 'offsetWidth',\n offsetAttr: 'left',\n overflowAttr: 'overflowX',\n dragOffset: 0,\n isOverflowing: true,\n forceVisible: false,\n track: { size: null, el: null, rect: null, isVisible: false },\n scrollbar: { size: null, el: null, rect: null, isVisible: false }\n },\n y: {\n scrollOffsetAttr: 'scrollTop',\n sizeAttr: 'height',\n scrollSizeAttr: 'scrollHeight',\n offsetSizeAttr: 'offsetHeight',\n offsetAttr: 'top',\n overflowAttr: 'overflowY',\n dragOffset: 0,\n isOverflowing: true,\n forceVisible: false,\n track: { size: null, el: null, rect: null, isVisible: false },\n scrollbar: { size: null, el: null, rect: null, isVisible: false }\n }\n };\n if (typeof this.el !== 'object' || !this.el.nodeName) {\n throw new Error(\"Argument passed to SimpleBar must be an HTML element instead of \".concat(this.el));\n }\n this.onMouseMove = throttle(this._onMouseMove, 64);\n this.onWindowResize = debounce(this._onWindowResize, 64, { leading: true });\n this.onStopScrolling = debounce(this._onStopScrolling, this.stopScrollDelay);\n this.onMouseEntered = debounce(this._onMouseEntered, this.stopScrollDelay);\n this.init();\n }\n /**\n * Helper to fix browsers inconsistency on RTL:\n * - Firefox inverts the scrollbar initial position\n * - IE11 inverts both scrollbar position and scrolling offset\n * Directly inspired by @KingSora's OverlayScrollbars https://github.com/KingSora/OverlayScrollbars/blob/master/js/OverlayScrollbars.js#L1634\n */\n SimpleBarCore.getRtlHelpers = function () {\n if (SimpleBarCore.rtlHelpers) {\n return SimpleBarCore.rtlHelpers;\n }\n var dummyDiv = document.createElement('div');\n dummyDiv.innerHTML =\n '<div class=\"simplebar-dummy-scrollbar-size\"><div></div></div>';\n var scrollbarDummyEl = dummyDiv.firstElementChild;\n var dummyChild = scrollbarDummyEl === null || scrollbarDummyEl === void 0 ? void 0 : scrollbarDummyEl.firstElementChild;\n if (!dummyChild)\n return null;\n document.body.appendChild(scrollbarDummyEl);\n scrollbarDummyEl.scrollLeft = 0;\n var dummyContainerOffset = SimpleBarCore.getOffset(scrollbarDummyEl);\n var dummyChildOffset = SimpleBarCore.getOffset(dummyChild);\n scrollbarDummyEl.scrollLeft = -999;\n var dummyChildOffsetAfterScroll = SimpleBarCore.getOffset(dummyChild);\n document.body.removeChild(scrollbarDummyEl);\n SimpleBarCore.rtlHelpers = {\n // determines if the scrolling is responding with negative values\n isScrollOriginAtZero: dummyContainerOffset.left !== dummyChildOffset.left,\n // determines if the origin scrollbar position is inverted or not (positioned on left or right)\n isScrollingToNegative: dummyChildOffset.left !== dummyChildOffsetAfterScroll.left\n };\n return SimpleBarCore.rtlHelpers;\n };\n SimpleBarCore.prototype.getScrollbarWidth = function () {\n // Try/catch for FF 56 throwing on undefined computedStyles\n try {\n // Detect browsers supporting CSS scrollbar styling and do not calculate\n if ((this.contentWrapperEl &&\n getComputedStyle(this.contentWrapperEl, '::-webkit-scrollbar')\n .display === 'none') ||\n 'scrollbarWidth' in document.documentElement.style ||\n '-ms-overflow-style' in document.documentElement.style) {\n return 0;\n }\n else {\n return scrollbarWidth();\n }\n }\n catch (e) {\n return scrollbarWidth();\n }\n };\n SimpleBarCore.getOffset = function (el) {\n var rect = el.getBoundingClientRect();\n var elDocument = getElementDocument(el);\n var elWindow = getElementWindow(el);\n return {\n top: rect.top +\n (elWindow.pageYOffset || elDocument.documentElement.scrollTop),\n left: rect.left +\n (elWindow.pageXOffset || elDocument.documentElement.scrollLeft)\n };\n };\n SimpleBarCore.prototype.init = function () {\n // We stop here on server-side\n if (canUseDOM) {\n this.initDOM();\n this.rtlHelpers = SimpleBarCore.getRtlHelpers();\n this.scrollbarWidth = this.getScrollbarWidth();\n this.recalculate();\n this.initListeners();\n }\n };\n SimpleBarCore.prototype.initDOM = function () {\n var _a, _b;\n // assume that element has his DOM already initiated\n this.wrapperEl = this.el.querySelector(classNamesToQuery(this.classNames.wrapper));\n this.contentWrapperEl =\n this.options.scrollableNode ||\n this.el.querySelector(classNamesToQuery(this.classNames.contentWrapper));\n this.contentEl =\n this.options.contentNode ||\n this.el.querySelector(classNamesToQuery(this.classNames.contentEl));\n this.offsetEl = this.el.querySelector(classNamesToQuery(this.classNames.offset));\n this.maskEl = this.el.querySelector(classNamesToQuery(this.classNames.mask));\n this.placeholderEl = this.findChild(this.wrapperEl, classNamesToQuery(this.classNames.placeholder));\n this.heightAutoObserverWrapperEl = this.el.querySelector(classNamesToQuery(this.classNames.heightAutoObserverWrapperEl));\n this.heightAutoObserverEl = this.el.querySelector(classNamesToQuery(this.classNames.heightAutoObserverEl));\n this.axis.x.track.el = this.findChild(this.el, \"\".concat(classNamesToQuery(this.classNames.track)).concat(classNamesToQuery(this.classNames.horizontal)));\n this.axis.y.track.el = this.findChild(this.el, \"\".concat(classNamesToQuery(this.classNames.track)).concat(classNamesToQuery(this.classNames.vertical)));\n this.axis.x.scrollbar.el =\n ((_a = this.axis.x.track.el) === null || _a === void 0 ? void 0 : _a.querySelector(classNamesToQuery(this.classNames.scrollbar))) || null;\n this.axis.y.scrollbar.el =\n ((_b = this.axis.y.track.el) === null || _b === void 0 ? void 0 : _b.querySelector(classNamesToQuery(this.classNames.scrollbar))) || null;\n if (!this.options.autoHide) {\n addClasses(this.axis.x.scrollbar.el, this.classNames.visible);\n addClasses(this.axis.y.scrollbar.el, this.classNames.visible);\n }\n };\n SimpleBarCore.prototype.initListeners = function () {\n var _this = this;\n var _a;\n var elWindow = getElementWindow(this.el);\n // Event listeners\n this.el.addEventListener('mouseenter', this.onMouseEnter);\n this.el.addEventListener('pointerdown', this.onPointerEvent, true);\n this.el.addEventListener('mousemove', this.onMouseMove);\n this.el.addEventListener('mouseleave', this.onMouseLeave);\n (_a = this.contentWrapperEl) === null || _a === void 0 ? void 0 : _a.addEventListener('scroll', this.onScroll);\n // Browser zoom triggers a window resize\n elWindow.addEventListener('resize', this.onWindowResize);\n if (!this.contentEl)\n return;\n if (window.ResizeObserver) {\n // Hack for https://github.com/WICG/ResizeObserver/issues/38\n var resizeObserverStarted_1 = false;\n var resizeObserver = elWindow.ResizeObserver || ResizeObserver;\n this.resizeObserver = new resizeObserver(function () {\n if (!resizeObserverStarted_1)\n return;\n elWindow.requestAnimationFrame(function () {\n _this.recalculate();\n });\n });\n this.resizeObserver.observe(this.el);\n this.resizeObserver.observe(this.contentEl);\n elWindow.requestAnimationFrame(function () {\n resizeObserverStarted_1 = true;\n });\n }\n // This is required to detect horizontal scroll. Vertical scroll only needs the resizeObserver.\n this.mutationObserver = new elWindow.MutationObserver(function () {\n elWindow.requestAnimationFrame(function () {\n _this.recalculate();\n });\n });\n this.mutationObserver.observe(this.contentEl, {\n childList: true,\n subtree: true,\n characterData: true\n });\n };\n SimpleBarCore.prototype.recalculate = function () {\n if (!this.heightAutoObserverEl ||\n !this.contentEl ||\n !this.contentWrapperEl ||\n !this.wrapperEl ||\n !this.placeholderEl)\n return;\n var elWindow = getElementWindow(this.el);\n this.elStyles = elWindow.getComputedStyle(this.el);\n this.isRtl = this.elStyles.direction === 'rtl';\n var contentElOffsetWidth = this.contentEl.offsetWidth;\n var isHeightAuto = this.heightAutoObserverEl.offsetHeight <= 1;\n var isWidthAuto = this.heightAutoObserverEl.offsetWidth <= 1 || contentElOffsetWidth > 0;\n var contentWrapperElOffsetWidth = this.contentWrapperEl.offsetWidth;\n var elOverflowX = this.elStyles.overflowX;\n var elOverflowY = this.elStyles.overflowY;\n this.contentEl.style.padding = \"\".concat(this.elStyles.paddingTop, \" \").concat(this.elStyles.paddingRight, \" \").concat(this.elStyles.paddingBottom, \" \").concat(this.elStyles.paddingLeft);\n this.wrapperEl.style.margin = \"-\".concat(this.elStyles.paddingTop, \" -\").concat(this.elStyles.paddingRight, \" -\").concat(this.elStyles.paddingBottom, \" -\").concat(this.elStyles.paddingLeft);\n var contentElScrollHeight = this.contentEl.scrollHeight;\n var contentElScrollWidth = this.contentEl.scrollWidth;\n this.contentWrapperEl.style.height = isHeightAuto ? 'auto' : '100%';\n // Determine placeholder size\n this.placeholderEl.style.width = isWidthAuto\n ? \"\".concat(contentElOffsetWidth || contentElScrollWidth, \"px\")\n : 'auto';\n this.placeholderEl.style.height = \"\".concat(contentElScrollHeight, \"px\");\n var contentWrapperElOffsetHeight = this.contentWrapperEl.offsetHeight;\n this.axis.x.isOverflowing =\n contentElOffsetWidth !== 0 && contentElScrollWidth > contentElOffsetWidth;\n this.axis.y.isOverflowing =\n contentElScrollHeight > contentWrapperElOffsetHeight;\n // Set isOverflowing to false if user explicitely set hidden overflow\n this.axis.x.isOverflowing =\n elOverflowX === 'hidden' ? false : this.axis.x.isOverflowing;\n this.axis.y.isOverflowing =\n elOverflowY === 'hidden' ? false : this.axis.y.isOverflowing;\n this.axis.x.forceVisible =\n this.options.forceVisible === 'x' || this.options.forceVisible === true;\n this.axis.y.forceVisible =\n this.options.forceVisible === 'y' || this.options.forceVisible === true;\n this.hideNativeScrollbar();\n // Set isOverflowing to false if scrollbar is not necessary (content is shorter than offset)\n var offsetForXScrollbar = this.axis.x.isOverflowing\n ? this.scrollbarWidth\n : 0;\n var offsetForYScrollbar = this.axis.y.isOverflowing\n ? this.scrollbarWidth\n : 0;\n this.axis.x.isOverflowing =\n this.axis.x.isOverflowing &&\n contentElScrollWidth > contentWrapperElOffsetWidth - offsetForYScrollbar;\n this.axis.y.isOverflowing =\n this.axis.y.isOverflowing &&\n contentElScrollHeight >\n contentWrapperElOffsetHeight - offsetForXScrollbar;\n this.axis.x.scrollbar.size = this.getScrollbarSize('x');\n this.axis.y.scrollbar.size = this.getScrollbarSize('y');\n if (this.axis.x.scrollbar.el)\n this.axis.x.scrollbar.el.style.width = \"\".concat(this.axis.x.scrollbar.size, \"px\");\n if (this.axis.y.scrollbar.el)\n this.axis.y.scrollbar.el.style.height = \"\".concat(this.axis.y.scrollbar.size, \"px\");\n this.positionScrollbar('x');\n this.positionScrollbar('y');\n this.toggleTrackVisibility('x');\n this.toggleTrackVisibility('y');\n };\n /**\n * Calculate scrollbar size\n */\n SimpleBarCore.prototype.getScrollbarSize = function (axis) {\n var _a, _b;\n if (axis === void 0) { axis = 'y'; }\n if (!this.axis[axis].isOverflowing || !this.contentEl) {\n return 0;\n }\n var contentSize = this.contentEl[this.axis[axis].scrollSizeAttr];\n var trackSize = (_b = (_a = this.axis[axis].track.el) === null || _a === void 0 ? void 0 : _a[this.axis[axis].offsetSizeAttr]) !== null && _b !== void 0 ? _b : 0;\n var scrollbarRatio = trackSize / contentSize;\n var scrollbarSize;\n // Calculate new height/position of drag handle.\n scrollbarSize = Math.max(~~(scrollbarRatio * trackSize), this.options.scrollbarMinSize);\n if (this.options.scrollbarMaxSize) {\n scrollbarSize = Math.min(scrollbarSize, this.options.scrollbarMaxSize);\n }\n return scrollbarSize;\n };\n SimpleBarCore.prototype.positionScrollbar = function (axis) {\n var _a, _b, _c;\n if (axis === void 0) { axis = 'y'; }\n var scrollbar = this.axis[axis].scrollbar;\n if (!this.axis[axis].isOverflowing ||\n !this.contentWrapperEl ||\n !scrollbar.el ||\n !this.elStyles) {\n return;\n }\n var contentSize = this.contentWrapperEl[this.axis[axis].scrollSizeAttr];\n var trackSize = ((_a = this.axis[axis].track.el) === null || _a === void 0 ? void 0 : _a[this.axis[axis].offsetSizeAttr]) || 0;\n var hostSize = parseInt(this.elStyles[this.axis[axis].sizeAttr], 10);\n var scrollOffset = this.contentWrapperEl[this.axis[axis].scrollOffsetAttr];\n scrollOffset =\n axis === 'x' &&\n this.isRtl &&\n ((_b = SimpleBarCore.getRtlHelpers()) === null || _b === void 0 ? void 0 : _b.isScrollOriginAtZero)\n ? -scrollOffset\n : scrollOffset;\n if (axis === 'x' && this.isRtl) {\n scrollOffset = ((_c = SimpleBarCore.getRtlHelpers()) === null || _c === void 0 ? void 0 : _c.isScrollingToNegative)\n ? scrollOffset\n : -scrollOffset;\n }\n var scrollPourcent = scrollOffset / (contentSize - hostSize);\n var handleOffset = ~~((trackSize - scrollbar.size) * scrollPourcent);\n handleOffset =\n axis === 'x' && this.isRtl\n ? -handleOffset + (trackSize - scrollbar.size)\n : handleOffset;\n scrollbar.el.style.transform =\n axis === 'x'\n ? \"translate3d(\".concat(handleOffset, \"px, 0, 0)\")\n : \"translate3d(0, \".concat(handleOffset, \"px, 0)\");\n };\n SimpleBarCore.prototype.toggleTrackVisibility = function (axis) {\n if (axis === void 0) { axis = 'y'; }\n var track = this.axis[axis].track.el;\n var scrollbar = this.axis[axis].scrollbar.el;\n if (!track || !scrollbar || !this.contentWrapperEl)\n return;\n if (this.axis[axis].isOverflowing || this.axis[axis].forceVisible) {\n track.style.visibility = 'visible';\n this.contentWrapperEl.style[this.axis[axis].overflowAttr] = 'scroll';\n this.el.classList.add(\"\".concat(this.classNames.scrollable, \"-\").concat(axis));\n }\n else {\n track.style.visibility = 'hidden';\n this.contentWrapperEl.style[this.axis[axis].overflowAttr] = 'hidden';\n this.el.classList.remove(\"\".concat(this.classNames.scrollable, \"-\").concat(axis));\n }\n // Even if forceVisible is enabled, scrollbar itself should be hidden\n if (this.axis[axis].isOverflowing) {\n scrollbar.style.display = 'block';\n }\n else {\n scrollbar.style.display = 'none';\n }\n };\n SimpleBarCore.prototype.showScrollbar = function (axis) {\n if (axis === void 0) { axis = 'y'; }\n if (this.axis[axis].isOverflowing && !this.axis[axis].scrollbar.isVisible) {\n addClasses(this.axis[axis].scrollbar.el, this.classNames.visible);\n this.axis[axis].scrollbar.isVisible = true;\n }\n };\n SimpleBarCore.prototype.hideScrollbar = function (axis) {\n if (axis === void 0) { axis = 'y'; }\n if (this.axis[axis].isOverflowing && this.axis[axis].scrollbar.isVisible) {\n removeClasses(this.axis[axis].scrollbar.el, this.classNames.visible);\n this.axis[axis].scrollbar.isVisible = false;\n }\n };\n SimpleBarCore.prototype.hideNativeScrollbar = function () {\n if (!this.offsetEl)\n return;\n this.offsetEl.style[this.isRtl ? 'left' : 'right'] =\n this.axis.y.isOverflowing || this.axis.y.forceVisible\n ? \"-\".concat(this.scrollbarWidth, \"px\")\n : '0px';\n this.offsetEl.style.bottom =\n this.axis.x.isOverflowing || this.axis.x.forceVisible\n ? \"-\".concat(this.scrollbarWidth, \"px\")\n : '0px';\n };\n SimpleBarCore.prototype.onMouseMoveForAxis = function (axis) {\n if (axis === void 0) { axis = 'y'; }\n var currentAxis = this.axis[axis];\n if (!currentAxis.track.el || !currentAxis.scrollbar.el)\n return;\n currentAxis.track.rect = currentAxis.track.el.getBoundingClientRect();\n currentAxis.scrollbar.rect =\n currentAxis.scrollbar.el.getBoundingClientRect();\n if (this.isWithinBounds(currentAxis.track.rect)) {\n this.showScrollbar(axis);\n addClasses(currentAxis.track.el, this.classNames.hover);\n if (this.isWithinBounds(currentAxis.scrollbar.rect)) {\n addClasses(currentAxis.scrollbar.el, this.classNames.hover);\n }\n else {\n removeClasses(currentAxis.scrollbar.el, this.classNames.hover);\n }\n }\n else {\n removeClasses(currentAxis.track.el, this.classNames.hover);\n if (this.options.autoHide) {\n this.hideScrollbar(axis);\n }\n }\n };\n SimpleBarCore.prototype.onMouseLeaveForAxis = function (axis) {\n if (axis === void 0) { axis = 'y'; }\n removeClasses(this.axis[axis].track.el, this.classNames.hover);\n removeClasses(this.axis[axis].scrollbar.el, this.classNames.hover);\n if (this.options.autoHide) {\n this.hideScrollbar(axis);\n }\n };\n /**\n * on scrollbar handle drag movement starts\n */\n SimpleBarCore.prototype.onDragStart = function (e, axis) {\n var _a;\n if (axis === void 0) { axis = 'y'; }\n var elDocument = getElementDocument(this.el);\n var elWindow = getElementWindow(this.el);\n var scrollbar = this.axis[axis].scrollbar;\n // Measure how far the user's mouse is from the top of the scrollbar drag handle.\n var eventOffset = axis === 'y' ? e.pageY : e.pageX;\n this.axis[axis].dragOffset =\n eventOffset - (((_a = scrollbar.rect) === null || _a === void 0 ? void 0 : _a[this.axis[axis].offsetAttr]) || 0);\n this.draggedAxis = axis;\n addClasses(this.el, this.classNames.dragging);\n elDocument.addEventListener('mousemove', this.drag, true);\n elDocument.addEventListener('mouseup', this.onEndDrag, true);\n if (this.removePreventClickId === null) {\n elDocument.addEventListener('click', this.preventClick, true);\n elDocument.addEventListener('dblclick', this.preventClick, true);\n }\n else {\n elWindow.clearTimeout(this.removePreventClickId);\n this.removePreventClickId = null;\n }\n };\n SimpleBarCore.prototype.onTrackClick = function (e, axis) {\n var _this = this;\n var _a, _b, _c, _d;\n if (axis === void 0) { axis = 'y'; }\n var currentAxis = this.axis[axis];\n if (!this.options.clickOnTrack ||\n !currentAxis.scrollbar.el ||\n !this.contentWrapperEl)\n return;\n // Preventing the event's default to trigger click underneath\n e.preventDefault();\n var elWindow = getElementWindow(this.el);\n this.axis[axis].scrollbar.rect =\n currentAxis.scrollbar.el.getBoundingClientRect();\n var scrollbar = this.axis[axis].scrollbar;\n var scrollbarOffset = (_b = (_a = scrollbar.rect) === null || _a === void 0 ? void 0 : _a[this.axis[axis].offsetAttr]) !== null && _b !== void 0 ? _b : 0;\n var hostSize = parseInt((_d = (_c = this.elStyles) === null || _c === void 0 ? void 0 : _c[this.axis[axis].sizeAttr]) !== null && _d !== void 0 ? _d : '0px', 10);\n var scrolled = this.contentWrapperEl[this.axis[axis].scrollOffsetAttr];\n var t = axis === 'y'\n ? this.mouseY - scrollbarOffset\n : this.mouseX - scrollbarOffset;\n var dir = t < 0 ? -1 : 1;\n var scrollSize = dir === -1 ? scrolled - hostSize : scrolled + hostSize;\n var speed = 40;\n var scrollTo = function () {\n if (!_this.contentWrapperEl)\n return;\n if (dir === -1) {\n if (scrolled > scrollSize) {\n scrolled -= speed;\n _this.contentWrapperEl[_this.axis[axis].scrollOffsetAttr] = scrolled;\n elWindow.requestAnimationFrame(scrollTo);\n }\n }\n else {\n if (scrolled < scrollSize) {\n scrolled += speed;\n _this.contentWrapperEl[_this.axis[axis].scrollOffsetAttr] = scrolled;\n elWindow.requestAnimationFrame(scrollTo);\n }\n }\n };\n scrollTo();\n };\n /**\n * Getter for content element\n */\n SimpleBarCore.prototype.getContentElement = function () {\n return this.contentEl;\n };\n /**\n * Getter for original scrolling element\n */\n SimpleBarCore.prototype.getScrollElement = function () {\n return this.contentWrapperEl;\n };\n SimpleBarCore.prototype.removeListeners = function () {\n var elWindow = getElementWindow(this.el);\n // Event listeners\n this.el.removeEventListener('mouseenter', this.onMouseEnter);\n this.el.removeEventListener('pointerdown', this.onPointerEvent, true);\n this.el.removeEventListener('mousemove', this.onMouseMove);\n this.el.removeEventListener('mouseleave', this.onMouseLeave);\n if (this.contentWrapperEl) {\n this.contentWrapperEl.removeEventListener('scroll', this.onScroll);\n }\n elWindow.removeEventListener('resize', this.onWindowResize);\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n // Cancel all debounced functions\n this.onMouseMove.cancel();\n this.onWindowResize.cancel();\n this.onStopScrolling.cancel();\n this.onMouseEntered.cancel();\n };\n /**\n * Remove all listeners from DOM nodes\n */\n SimpleBarCore.prototype.unMount = function () {\n this.removeListeners();\n };\n /**\n * Check if mouse is within bounds\n */\n SimpleBarCore.prototype.isWithinBounds = function (bbox) {\n return (this.mouseX >= bbox.left &&\n this.mouseX <= bbox.left + bbox.width &&\n this.mouseY >= bbox.top &&\n this.mouseY <= bbox.top + bbox.height);\n };\n /**\n * Find element children matches query\n */\n SimpleBarCore.prototype.findChild = function (el, query) {\n var matches = el.matches ||\n el.webkitMatchesSelector ||\n el.mozMatchesSelector ||\n el.msMatchesSelector;\n return Array.prototype.filter.call(el.children, function (child) {\n return matches.call(child, query);\n })[0];\n };\n SimpleBarCore.rtlHelpers = null;\n SimpleBarCore.defaultOptions = {\n forceVisible: false,\n clickOnTrack: true,\n scrollbarMinSize: 25,\n scrollbarMaxSize: 0,\n ariaLabel: 'scrollable content',\n classNames: {\n contentEl: 'simplebar-content',\n contentWrapper: 'simplebar-content-wrapper',\n offset: 'simplebar-offset',\n mask: 'simplebar-mask',\n wrapper: 'simplebar-wrapper',\n placeholder: 'simplebar-placeholder',\n scrollbar: 'simplebar-scrollbar',\n track: 'simplebar-track',\n heightAutoObserverWrapperEl: 'simplebar-height-auto-observer-wrapper',\n heightAutoObserverEl: 'simplebar-height-auto-observer',\n visible: 'simplebar-visible',\n horizontal: 'simplebar-horizontal',\n vertical: 'simplebar-vertical',\n hover: 'simplebar-hover',\n dragging: 'simplebar-dragging',\n scrolling: 'simplebar-scrolling',\n scrollable: 'simplebar-scrollable',\n mouseEntered: 'simplebar-mouse-entered'\n },\n scrollableNode: null,\n contentNode: null,\n autoHide: true\n };\n /**\n * Static functions\n */\n SimpleBarCore.getOptions = getOptions;\n SimpleBarCore.helpers = helpers;\n return SimpleBarCore;\n}());\n\nexport { SimpleBarCore as default };\n//# sourceMappingURL=index.mjs.map\n","/**\n * simplebar-react - v3.2.4\n * React component for SimpleBar\n * https://grsmto.github.io/simplebar/\n *\n * Made by Adrien Denat\n * Under MIT License\n */\n\nimport * as React from 'react';\nimport SimpleBarCore from 'simplebar-core';\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\n\nvar SimpleBar = React.forwardRef(function (_a, ref) {\n var children = _a.children, _b = _a.scrollableNodeProps, scrollableNodeProps = _b === void 0 ? {} : _b, otherProps = __rest(_a, [\"children\", \"scrollableNodeProps\"]);\n var elRef = React.useRef();\n var scrollableNodeRef = React.useRef();\n var contentNodeRef = React.useRef();\n var options = {};\n var rest = {};\n Object.keys(otherProps).forEach(function (key) {\n if (Object.prototype.hasOwnProperty.call(SimpleBarCore.defaultOptions, key)) {\n options[key] = otherProps[key];\n }\n else {\n rest[key] = otherProps[key];\n }\n });\n var classNames = __assign(__assign({}, SimpleBarCore.defaultOptions.classNames), options.classNames);\n var scrollableNodeFullProps = __assign(__assign({}, scrollableNodeProps), { className: \"\".concat(classNames.contentWrapper).concat(scrollableNodeProps.className ? \" \".concat(scrollableNodeProps.className) : ''), tabIndex: 0, role: 'region', 'aria-label': options.ariaLabel || SimpleBarCore.defaultOptions.ariaLabel });\n React.useEffect(function () {\n var instance;\n scrollableNodeRef.current = scrollableNodeFullProps.ref\n ? scrollableNodeFullProps.ref.current\n : scrollableNodeRef.current;\n if (elRef.current) {\n instance = new SimpleBarCore(elRef.current, __assign(__assign(__assign({}, options), (scrollableNodeRef.current && {\n scrollableNode: scrollableNodeRef.current\n })), (contentNodeRef.current && {\n contentNode: contentNodeRef.current\n })));\n if (typeof ref === 'function') {\n ref(instance);\n }\n else if (ref) {\n ref.current = instance;\n }\n }\n return function () {\n instance === null || instance === void 0 ? void 0 : instance.unMount();\n instance = null;\n if (typeof ref === 'function') {\n ref(null);\n }\n };\n }, []);\n return (React.createElement(\"div\", __assign({ \"data-simplebar\": \"init\", ref: elRef }, rest),\n React.createElement(\"div\", { className: classNames.wrapper },\n React.createElement(\"div\", { className: classNames.heightAutoObserverWrapperEl },\n React.createElement(\"div\", { className: classNames.heightAutoObserverEl })),\n React.createElement(\"div\", { className: classNames.mask },\n React.createElement(\"div\", { className: classNames.offset }, typeof children === 'function' ? (children({\n scrollableNodeRef: scrollableNodeRef,\n scrollableNodeProps: __assign(__assign({}, scrollableNodeFullProps), { ref: scrollableNodeRef }),\n contentNodeRef: contentNodeRef,\n contentNodeProps: {\n className: classNames.contentEl,\n ref: contentNodeRef\n }\n })) : (React.createElement(\"div\", __assign({}, scrollableNodeFullProps),\n React.createElement(\"div\", { className: classNames.contentEl }, children))))),\n React.createElement(\"div\", { className: classNames.placeholder })),\n React.createElement(\"div\", { className: \"\".concat(classNames.track, \" simplebar-horizontal\") },\n React.createElement(\"div\", { className: classNames.scrollbar })),\n React.createElement(\"div\", { className: \"\".concat(classNames.track, \" simplebar-vertical\") },\n React.createElement(\"div\", { className: classNames.scrollbar }))));\n});\nSimpleBar.displayName = 'SimpleBar';\n\nexport { SimpleBar as default };\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","var debounce = require('./debounce'),\n isObject = require('./isObject');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nmodule.exports = throttle;\n","import React,{isValidElement,createRef,cloneElement,PureComponent,Component,forwardRef,useRef,useState,useCallback,useEffect}from'react';import {findDOMNode}from'react-dom';import debounce from'lodash/debounce';import throttle from'lodash/throttle';/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\ntypeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};var patchResizeCallback = function (resizeCallback, refreshMode, refreshRate, refreshOptions) {\n switch (refreshMode) {\n case 'debounce':\n return debounce(resizeCallback, refreshRate, refreshOptions);\n case 'throttle':\n return throttle(resizeCallback, refreshRate, refreshOptions);\n default:\n return resizeCallback;\n }\n};\nvar isFunction = function (fn) { return typeof fn === 'function'; };\nvar isSSR = function () { return typeof window === 'undefined'; };\nvar isDOMElement = function (element) {\n return element instanceof Element || element instanceof HTMLDocument;\n};var ResizeDetector = /** @class */ (function (_super) {\n __extends(ResizeDetector, _super);\n function ResizeDetector(props) {\n var _this = _super.call(this, props) || this;\n _this.cancelHandler = function () {\n if (_this.resizeHandler && _this.resizeHandler.cancel) {\n // cancel debounced handler\n _this.resizeHandler.cancel();\n _this.resizeHandler = null;\n }\n };\n _this.attachObserver = function () {\n var _a = _this.props, targetRef = _a.targetRef, observerOptions = _a.observerOptions;\n if (isSSR()) {\n return;\n }\n if (targetRef && targetRef.current) {\n _this.targetRef.current = targetRef.current;\n }\n var element = _this.getElement();\n if (!element) {\n // can't find element to observe\n return;\n }\n if (_this.observableElement && _this.observableElement === element) {\n // element is already observed\n return;\n }\n _this.observableElement = element;\n _this.resizeObserver.observe(element, observerOptions);\n };\n _this.getElement = function () {\n var _a = _this.props, querySelector = _a.querySelector, targetDomEl = _a.targetDomEl;\n if (isSSR())\n return null;\n // in case we pass a querySelector\n if (querySelector)\n return document.querySelector(querySelector);\n // in case we pass a DOM element\n if (targetDomEl && isDOMElement(targetDomEl))\n return targetDomEl;\n // in case we pass a React ref using React.createRef()\n if (_this.targetRef && isDOMElement(_this.targetRef.current))\n return _this.targetRef.current;\n // the worse case when we don't receive any information from the parent and the library doesn't add any wrappers\n // we have to use a deprecated `findDOMNode` method in order to find a DOM element to attach to\n var currentElement = findDOMNode(_this);\n if (!currentElement)\n return null;\n var renderType = _this.getRenderType();\n switch (renderType) {\n case 'renderProp':\n return currentElement;\n case 'childFunction':\n return currentElement;\n case 'child':\n return currentElement;\n case 'childArray':\n return currentElement;\n default:\n return currentElement.parentElement;\n }\n };\n _this.createResizeHandler = function (entries) {\n var _a = _this.props, _b = _a.handleWidth, handleWidth = _b === void 0 ? true : _b, _c = _a.handleHeight, handleHeight = _c === void 0 ? true : _c, onResize = _a.onResize;\n if (!handleWidth && !handleHeight)\n return;\n var notifyResize = function (_a) {\n var width = _a.width, height = _a.height;\n if (_this.state.width === width && _this.state.height === height) {\n // skip if dimensions haven't changed\n return;\n }\n if ((_this.state.width === width && !handleHeight) || (_this.state.height === height && !handleWidth)) {\n // process `handleHeight/handleWidth` props\n return;\n }\n onResize === null || onResize === void 0 ? void 0 : onResize(width, height);\n _this.setState({ width: width, height: height });\n };\n entries.forEach(function (entry) {\n var _a = (entry && entry.contentRect) || {}, width = _a.width, height = _a.height;\n var shouldSetSize = !_this.skipOnMount && !isSSR();\n if (shouldSetSize) {\n notifyResize({ width: width, height: height });\n }\n _this.skipOnMount = false;\n });\n };\n _this.getRenderType = function () {\n var _a = _this.props, render = _a.render, children = _a.children;\n if (isFunction(render)) {\n // DEPRECATED. Use `Child Function Pattern` instead\n return 'renderProp';\n }\n if (isFunction(children)) {\n return 'childFunction';\n }\n if (isValidElement(children)) {\n return 'child';\n }\n if (Array.isArray(children)) {\n // DEPRECATED. Wrap children with a single parent\n return 'childArray';\n }\n // DEPRECATED. Use `Child Function Pattern` instead\n return 'parent';\n };\n var skipOnMount = props.skipOnMount, refreshMode = props.refreshMode, _a = props.refreshRate, refreshRate = _a === void 0 ? 1000 : _a, refreshOptions = props.refreshOptions;\n _this.state = {\n width: undefined,\n height: undefined\n };\n _this.sizeRef = {\n current: _this.state\n };\n _this.skipOnMount = skipOnMount;\n _this.targetRef = createRef();\n _this.observableElement = null;\n if (isSSR()) {\n return _this;\n }\n _this.resizeHandler = patchResizeCallback(_this.createResizeHandler, refreshMode, refreshRate, refreshOptions);\n _this.resizeObserver = new window.ResizeObserver(_this.resizeHandler);\n return _this;\n }\n ResizeDetector.prototype.componentDidMount = function () {\n this.attachObserver();\n };\n ResizeDetector.prototype.componentDidUpdate = function () {\n this.attachObserver();\n this.sizeRef.current = this.state;\n };\n ResizeDetector.prototype.componentWillUnmount = function () {\n if (isSSR()) {\n return;\n }\n this.observableElement = null;\n this.resizeObserver.disconnect();\n this.cancelHandler();\n };\n ResizeDetector.prototype.render = function () {\n var _a = this.props, render = _a.render, children = _a.children, _b = _a.nodeType, WrapperTag = _b === void 0 ? 'div' : _b;\n var _c = this.state, width = _c.width, height = _c.height;\n var childProps = { width: width, height: height, targetRef: this.targetRef };\n var renderType = this.getRenderType();\n switch (renderType) {\n case 'renderProp':\n return render === null || render === void 0 ? void 0 : render(childProps);\n case 'childFunction': {\n var childFunction = children;\n return childFunction === null || childFunction === void 0 ? void 0 : childFunction(childProps);\n }\n case 'child': {\n // @TODO bug prone logic\n var child = children;\n if (child.type && typeof child.type === 'string') {\n // child is a native DOM elements such as div, span etc\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n childProps.targetRef; var nativeProps = __rest(childProps, [\"targetRef\"]);\n return cloneElement(child, nativeProps);\n }\n // class or functional component otherwise\n return cloneElement(child, childProps);\n }\n case 'childArray': {\n var childArray = children;\n return childArray.map(function (el) { return !!el && cloneElement(el, childProps); });\n }\n default:\n return React.createElement(WrapperTag, null);\n }\n };\n return ResizeDetector;\n}(PureComponent));function withResizeDetector(ComponentInner, options) {\n if (options === void 0) { options = {}; }\n var ResizeDetectorHOC = /** @class */ (function (_super) {\n __extends(ResizeDetectorHOC, _super);\n function ResizeDetectorHOC() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.ref = createRef();\n return _this;\n }\n ResizeDetectorHOC.prototype.render = function () {\n var _a = this.props, forwardedRef = _a.forwardedRef, rest = __rest(_a, [\"forwardedRef\"]);\n var targetRef = forwardedRef !== null && forwardedRef !== void 0 ? forwardedRef : this.ref;\n return (React.createElement(ResizeDetector, __assign({}, options, { targetRef: targetRef }),\n React.createElement(ComponentInner, __assign({ targetRef: targetRef }, rest))));\n };\n return ResizeDetectorHOC;\n }(Component));\n function forwardRefWrapper(props, ref) {\n return React.createElement(ResizeDetectorHOC, __assign({}, props, { forwardedRef: ref }));\n }\n var name = ComponentInner.displayName || ComponentInner.name;\n forwardRefWrapper.displayName = \"withResizeDetector(\".concat(name, \")\");\n return forwardRef(forwardRefWrapper);\n}function useResizeDetector(_a) {\n var _b = _a === void 0 ? {} : _a, _c = _b.skipOnMount, skipOnMount = _c === void 0 ? false : _c, refreshMode = _b.refreshMode, _d = _b.refreshRate, refreshRate = _d === void 0 ? 1000 : _d, refreshOptions = _b.refreshOptions, _e = _b.handleWidth, handleWidth = _e === void 0 ? true : _e, _f = _b.handleHeight, handleHeight = _f === void 0 ? true : _f, targetRef = _b.targetRef, observerOptions = _b.observerOptions, onResize = _b.onResize;\n var skipResize = useRef(skipOnMount);\n var _g = useState({\n width: undefined,\n height: undefined\n }), size = _g[0], setSize = _g[1];\n // we are going to use this ref to store the last element that was passed to the hook\n var _h = useState((targetRef === null || targetRef === void 0 ? void 0 : targetRef.current) || null), refElement = _h[0], setRefElement = _h[1];\n // if targetRef is passed, we need to update the refElement\n // we have to use setTimeout because ref get assigned after the hook is called\n // in the future releases we are going to remove targetRef and force users to use ref returned by the hook\n if (targetRef) {\n setTimeout(function () {\n if (targetRef.current !== refElement) {\n setRefElement(targetRef.current);\n }\n }, 0);\n }\n // this is a callback that will be called every time the ref is changed\n // we call setState inside to trigger rerender\n var onRefChange = useCallback(function (node) {\n if (node !== refElement) {\n setRefElement(node);\n }\n }, [refElement]);\n // adding `current` to make it compatible with useRef shape\n onRefChange.current = refElement;\n var shouldSetSize = useCallback(function (prevSize, nextSize) {\n if (prevSize.width === nextSize.width && prevSize.height === nextSize.height) {\n // skip if dimensions haven't changed\n return false;\n }\n if ((prevSize.width === nextSize.width && !handleHeight) ||\n (prevSize.height === nextSize.height && !handleWidth)) {\n // process `handleHeight/handleWidth` props\n return false;\n }\n return true;\n }, [handleWidth, handleHeight]);\n var resizeCallback = useCallback(function (entries) {\n if (!handleWidth && !handleHeight)\n return;\n if (skipResize.current) {\n skipResize.current = false;\n return;\n }\n entries.forEach(function (entry) {\n var _a = (entry === null || entry === void 0 ? void 0 : entry.contentRect) || {}, width = _a.width, height = _a.height;\n setSize(function (prevSize) {\n if (!shouldSetSize(prevSize, { width: width, height: height }))\n return prevSize;\n return { width: width, height: height };\n });\n });\n }, [handleWidth, handleHeight, skipResize, shouldSetSize]);\n var resizeHandler = useCallback(patchResizeCallback(resizeCallback, refreshMode, refreshRate, refreshOptions), [\n resizeCallback,\n refreshMode,\n refreshRate,\n refreshOptions\n ]);\n // on refElement change\n useEffect(function () {\n var resizeObserver;\n if (refElement) {\n resizeObserver = new window.ResizeObserver(resizeHandler);\n resizeObserver.observe(refElement, observerOptions);\n }\n else {\n if (size.width || size.height) {\n setSize({ width: undefined, height: undefined });\n }\n }\n return function () {\n var _a, _b, _c;\n (_a = resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.disconnect) === null || _a === void 0 ? void 0 : _a.call(resizeObserver);\n (_c = (_b = resizeHandler).cancel) === null || _c === void 0 ? void 0 : _c.call(_b);\n };\n }, [resizeHandler, refElement]);\n useEffect(function () {\n onResize === null || onResize === void 0 ? void 0 : onResize(size.width, size.height);\n }, [size]);\n return __assign({ ref: onRefChange }, size);\n}export{ResizeDetector as default,useResizeDetector,withResizeDetector};//# sourceMappingURL=index.esm.js.map\n","import { ReactNode } from 'react';\nimport { TableCellProps, TooltipProps } from '@mui/material';\nimport { TablePaginationProps } from '../TablePagination/TablePagination.types';\nimport { CommonSxProps } from '../@types';\nimport { TableTopHeadProps } from '../TableTopHead';\n\n//--------------------------------------------------------------------------------------------------------------------\n\nexport interface TableItem {\n [key: string]: any;\n}\n\n//--------------------------------------------------------------------------------------------------------------------\n\nexport interface TableColumn<T = TableItem> {\n id: string;\n type?: 'text' | 'number' | 'date' | 'datetime' | 'img' | 'button' | 'buttons' | 'check';\n label?: ReactNode;\n name?: string;\n align?: TableCellProps['align'];\n width?: string | number;\n minWidth?: string | number;\n ellipsis?: boolean;\n dateFormat?: string;\n tooltipProps?: Omit<TooltipProps, 'children' | 'title'>;\n display?: { xs?: boolean; sm?: boolean; md?: boolean; lg?: boolean; xl?: boolean };\n head?: {\n className?: CommonSxProps['className'];\n style?: CommonSxProps['style'];\n sx?: CommonSxProps['sx'];\n onGetClassName?(): CommonSxProps['className'];\n onGetStyle?(): CommonSxProps['style'];\n onGetSx?(): CommonSxProps['sx'];\n onRender?(): ReactNode;\n };\n footer?: {\n value?: ReactNode;\n className?: CommonSxProps['className'];\n style?: CommonSxProps['style'];\n sx?: CommonSxProps['sx'];\n onGetClassName?(): CommonSxProps['className'];\n onGetStyle?(): CommonSxProps['style'];\n onGetSx?(): CommonSxProps['sx'];\n onRender?(): ReactNode;\n };\n className?: CommonSxProps['className'];\n style?: CommonSxProps['style'];\n sx?: CommonSxProps['sx'];\n onGetClassName?(item: T, index: number): CommonSxProps['className'];\n onGetStyle?(item: T, index: number): CommonSxProps['style'];\n onGetSx?(item: T, index: number): CommonSxProps['sx'];\n onHide?(item: T, index: number): boolean;\n onGetTooltip?(item: T, index: number): ReactNode;\n onRender?(item: T, index: number): ReactNode;\n onClick?(item: T, index: number): void;\n onInitChecked?(item: T): boolean;\n onCheckDisabled?(item: T): boolean;\n onCheckChange?(item: T, checked: boolean): void;\n onCheckDisabledChange?(item: T, checkDisabled: boolean): void;\n}\n\n//--------------------------------------------------------------------------------------------------------------------\n\nexport interface TableProps<T = TableItem> extends CommonSxProps {\n caption?: ReactNode;\n topHeadRows?: TableTopHeadProps['rows'];\n columns?: (TableColumn<T> | false | undefined | null)[];\n defaultAlign?: TableCellProps['align'];\n defaultEllipsis?: boolean;\n stickyHeader?: boolean;\n items?: T[];\n paging?: TablePaginationProps['paging'];\n pagingAlign?: TablePaginationProps['align'];\n height?: string | number;\n maxHeight?: string | number;\n minHeight?: string | number;\n fullHeight?: boolean;\n showOddColor?: boolean;\n showEvenColor?: boolean;\n cellPadding?: string | number;\n footer?: boolean;\n noData?: ReactNode;\n pagination?: {\n className?: CommonSxProps['className'];\n style?: CommonSxProps['style'];\n sx?: CommonSxProps['sx'];\n };\n sortable?: boolean;\n onClick?(item: T, index: number): void;\n onGetBodyRowSx?(item: T, index: number): CommonSxProps['sx'] | undefined;\n onPageChange?(page: number): void;\n onSortChange?(items: T[]): void;\n onCheckChange?(columnId: string, items: T[]): void;\n}\n\nexport const TableDefaultProps: Pick<TableProps, 'defaultAlign' | 'pagingAlign' | 'cellPadding'> = {\n defaultAlign: 'left',\n pagingAlign: 'center',\n cellPadding: 13,\n};\n\n//--------------------------------------------------------------------------------------------------------------------\n\nexport interface TableCommands<T = TableItem> {\n getColumns(): TableProps<T>['columns'];\n setColumns(columns: TableProps<T>['columns']): void;\n getItems(): TableProps<T>['items'];\n getPaging(): TableProps<T>['paging'];\n setItemsPaging(items: TableProps<T>['items'], paging: TableProps<T>['paging']): void;\n resetSort(): void;\n getCheckedItems(columnId: string): T[];\n scrollToTop(): void;\n}\n","import { styled, TableRow, lighten } from '@mui/material';\n\nexport const StyledBodyRow = styled(TableRow)(({ theme }) => ({\n '&.odd-color:nth-of-type(odd):not(:hover)': {\n backgroundColor: lighten(theme.palette.action.hover, 0.4),\n },\n '&.even-color:nth-of-type(even):not(:hover)': {\n backgroundColor: lighten(theme.palette.action.hover, 0.4),\n },\n}));\n\nexport const StyledNoDataDiv = styled('div')`\n text-align: center;\n padding: 30px 0;\n font-weight: 500;\n font-size: 13px;\n color: #94a0b2;\n opacity: 0.8;\n\n .material-icons {\n font-size: 40px;\n margin-bottom: 5px;\n }\n`;\n","import { TableCellProps, TableRowProps } from '@mui/material';\nimport { TableColumn, TableItem, TableProps } from '../Table';\nimport { TableBodyCellProps } from '../TableBodyCell';\n\nexport interface TableBodyRowProps extends Omit<TableRowProps, 'id' | 'onClick'> {\n id: string | number;\n index: number;\n defaultAlign?: TableCellProps['align'];\n defaultEllipsis?: boolean;\n sortable?: boolean;\n columns: TableColumn<TableItem>[];\n item: TableItem;\n onClick: TableProps['onClick'];\n onCheckChange: TableBodyCellProps['onCheckChange'];\n}\n\nexport const TableBodyRowDefaultProps = {};\n","import { useMemo, useLayoutEffect, useEffect, useRef, useCallback } from 'react';\n\nfunction useCombinedRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n return useMemo(() => node => {\n refs.forEach(ref => ref(node));\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n refs);\n}\n\n// https://github.com/facebook/react/blob/master/packages/shared/ExecutionEnvironment.js\nconst canUseDOM = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined';\n\nfunction isWindow(element) {\n const elementString = Object.prototype.toString.call(element);\n return elementString === '[object Window]' || // In Electron context the Window object serializes to [object global]\n elementString === '[object global]';\n}\n\nfunction isNode(node) {\n return 'nodeType' in node;\n}\n\nfunction getWindow(target) {\n var _target$ownerDocument, _target$ownerDocument2;\n\n if (!target) {\n return window;\n }\n\n if (isWindow(target)) {\n return target;\n }\n\n if (!isNode(target)) {\n return window;\n }\n\n return (_target$ownerDocument = (_target$ownerDocument2 = target.ownerDocument) == null ? void 0 : _target$ownerDocument2.defaultView) != null ? _target$ownerDocument : window;\n}\n\nfunction isDocument(node) {\n const {\n Document\n } = getWindow(node);\n return node instanceof Document;\n}\n\nfunction isHTMLElement(node) {\n if (isWindow(node)) {\n return false;\n }\n\n return node instanceof getWindow(node).HTMLElement;\n}\n\nfunction isSVGElement(node) {\n return node instanceof getWindow(node).SVGElement;\n}\n\nfunction getOwnerDocument(target) {\n if (!target) {\n return document;\n }\n\n if (isWindow(target)) {\n return target.document;\n }\n\n if (!isNode(target)) {\n return document;\n }\n\n if (isDocument(target)) {\n return target;\n }\n\n if (isHTMLElement(target) || isSVGElement(target)) {\n return target.ownerDocument;\n }\n\n return document;\n}\n\n/**\r\n * A hook that resolves to useEffect on the server and useLayoutEffect on the client\r\n * @param callback {function} Callback function that is invoked when the dependencies of the hook change\r\n */\n\nconst useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;\n\nfunction useEvent(handler) {\n const handlerRef = useRef(handler);\n useIsomorphicLayoutEffect(() => {\n handlerRef.current = handler;\n });\n return useCallback(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return handlerRef.current == null ? void 0 : handlerRef.current(...args);\n }, []);\n}\n\nfunction useInterval() {\n const intervalRef = useRef(null);\n const set = useCallback((listener, duration) => {\n intervalRef.current = setInterval(listener, duration);\n }, []);\n const clear = useCallback(() => {\n if (intervalRef.current !== null) {\n clearInterval(intervalRef.current);\n intervalRef.current = null;\n }\n }, []);\n return [set, clear];\n}\n\nfunction useLatestValue(value, dependencies) {\n if (dependencies === void 0) {\n dependencies = [value];\n }\n\n const valueRef = useRef(value);\n useIsomorphicLayoutEffect(() => {\n if (valueRef.current !== value) {\n valueRef.current = value;\n }\n }, dependencies);\n return valueRef;\n}\n\nfunction useLazyMemo(callback, dependencies) {\n const valueRef = useRef();\n return useMemo(() => {\n const newValue = callback(valueRef.current);\n valueRef.current = newValue;\n return newValue;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [...dependencies]);\n}\n\nfunction useNodeRef(onChange) {\n const onChangeHandler = useEvent(onChange);\n const node = useRef(null);\n const setNodeRef = useCallback(element => {\n if (element !== node.current) {\n onChangeHandler == null ? void 0 : onChangeHandler(element, node.current);\n }\n\n node.current = element;\n }, //eslint-disable-next-line\n []);\n return [node, setNodeRef];\n}\n\nfunction usePrevious(value) {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref.current;\n}\n\nlet ids = {};\nfunction useUniqueId(prefix, value) {\n return useMemo(() => {\n if (value) {\n return value;\n }\n\n const id = ids[prefix] == null ? 0 : ids[prefix] + 1;\n ids[prefix] = id;\n return prefix + \"-\" + id;\n }, [prefix, value]);\n}\n\nfunction createAdjustmentFn(modifier) {\n return function (object) {\n for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n adjustments[_key - 1] = arguments[_key];\n }\n\n return adjustments.reduce((accumulator, adjustment) => {\n const entries = Object.entries(adjustment);\n\n for (const [key, valueAdjustment] of entries) {\n const value = accumulator[key];\n\n if (value != null) {\n accumulator[key] = value + modifier * valueAdjustment;\n }\n }\n\n return accumulator;\n }, { ...object\n });\n };\n}\n\nconst add = /*#__PURE__*/createAdjustmentFn(1);\nconst subtract = /*#__PURE__*/createAdjustmentFn(-1);\n\nfunction hasViewportRelativeCoordinates(event) {\n return 'clientX' in event && 'clientY' in event;\n}\n\nfunction isKeyboardEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n KeyboardEvent\n } = getWindow(event.target);\n return KeyboardEvent && event instanceof KeyboardEvent;\n}\n\nfunction isTouchEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n TouchEvent\n } = getWindow(event.target);\n return TouchEvent && event instanceof TouchEvent;\n}\n\n/**\r\n * Returns the normalized x and y coordinates for mouse and touch events.\r\n */\n\nfunction getEventCoordinates(event) {\n if (isTouchEvent(event)) {\n if (event.touches && event.touches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.touches[0];\n return {\n x,\n y\n };\n } else if (event.changedTouches && event.changedTouches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.changedTouches[0];\n return {\n x,\n y\n };\n }\n }\n\n if (hasViewportRelativeCoordinates(event)) {\n return {\n x: event.clientX,\n y: event.clientY\n };\n }\n\n return null;\n}\n\nconst CSS = /*#__PURE__*/Object.freeze({\n Translate: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n x,\n y\n } = transform;\n return \"translate3d(\" + (x ? Math.round(x) : 0) + \"px, \" + (y ? Math.round(y) : 0) + \"px, 0)\";\n }\n\n },\n Scale: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n scaleX,\n scaleY\n } = transform;\n return \"scaleX(\" + scaleX + \") scaleY(\" + scaleY + \")\";\n }\n\n },\n Transform: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n return [CSS.Translate.toString(transform), CSS.Scale.toString(transform)].join(' ');\n }\n\n },\n Transition: {\n toString(_ref) {\n let {\n property,\n duration,\n easing\n } = _ref;\n return property + \" \" + duration + \"ms \" + easing;\n }\n\n }\n});\n\nconst SELECTOR = 'a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]';\nfunction findFirstFocusableNode(element) {\n if (element.matches(SELECTOR)) {\n return element;\n }\n\n return element.querySelector(SELECTOR);\n}\n\nexport { CSS, add, canUseDOM, findFirstFocusableNode, getEventCoordinates, getOwnerDocument, getWindow, hasViewportRelativeCoordinates, isDocument, isHTMLElement, isKeyboardEvent, isNode, isSVGElement, isTouchEvent, isWindow, subtract, useCombinedRefs, useEvent, useInterval, useIsomorphicLayoutEffect, useLatestValue, useLazyMemo, useNodeRef, usePrevious, useUniqueId };\n//# sourceMappingURL=utilities.esm.js.map\n","const empty = function (v: any) {\n let result = false;\n if (v == null) {\n result = true;\n } else if (typeof v === 'string') {\n result = v === '';\n } else if (typeof v === 'object') {\n if (Array.isArray(v)) {\n result = v.length === 0;\n } else if (!(v instanceof Date)) {\n result = Object.entries(v).length === 0;\n }\n }\n return result;\n};\n\nconst notEmpty = function (v: any) {\n return !empty(v);\n};\n\nconst equal = (v1: any, v2: any): boolean => {\n if (v1 === v2) return true;\n if (typeof v1 !== typeof v2) return false;\n if (v1 == null || v2 == null) return false;\n if (Array.isArray(v1) && Array.isArray(v2)) {\n if (v1.length !== v2.length) return false;\n for (let i = 0; i < v1.length; i += 1) {\n if (v1[i] !== v2[i]) return false;\n }\n } else {\n return v1 === v2;\n }\n return true;\n};\n\nexport { empty, notEmpty, equal };\n","export function numberWithThousandSeparator(x: string | number) {\n return x.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n}\n","import { TableColumn } from '../Table/Table.types';\nimport { CommonSxProps } from '../@types';\nimport { TypographyProps } from '@mui/material';\n\nexport function getTableColumnAlign(column: TableColumn, defaultAlign: TableColumn['align']): TableColumn['align'] {\n switch (column.type) {\n case 'number':\n return column.align ? column.align : 'right';\n default:\n return column.align || defaultAlign;\n }\n}\n\nexport function combineSx(...sx: (boolean | CommonSxProps['sx'])[]): CommonSxProps['sx'] {\n const finalSx: CommonSxProps['sx'] = [];\n if (Array.isArray(finalSx)) {\n sx.forEach((v) => v && finalSx.push(...(Array.isArray(v) ? v : [v])));\n }\n return finalSx;\n}\n\nexport function typographyColorToSxColor(color: TypographyProps['color']) {\n if (typeof color === 'string') {\n if (['primary', 'secondary', 'info', 'warning', 'error'].includes(color)) {\n return `${color}.main`;\n } else if (color === 'text') {\n return 'text.primary';\n } else {\n return color;\n }\n } else {\n return color;\n }\n}\n","import { TableColumn, TableItem } from '../Table';\nimport { TableBodyCellCommands } from '../TableBodyCell';\nimport { TableHeadCellCommands } from '../TableHeadCell';\n\nexport interface TableContextValue {\n menuOpen: boolean;\n openMenuId?: string;\n setMenuOpen(menuOpen: boolean, openMenuId?: string): void;\n setItemColumnChecked(item: TableItem, column: TableColumn, checked: boolean): void;\n setItemColumnCheckDisabled(item: TableItem, column: TableColumn, checkDisabled: boolean): void;\n setItemColumnCommands(item: TableItem, column: TableColumn, commands: TableBodyCellCommands): void;\n setHeadColumnChecked(column: TableColumn, checked: boolean): void;\n setHeadColumnCommands(column: TableColumn, commands: TableHeadCellCommands): void;\n}\n\nexport const TableContextDefaultValue: TableContextValue = {\n menuOpen: false,\n openMenuId: undefined,\n /* eslint-disable */\n setMenuOpen() {},\n setItemColumnChecked() {},\n setItemColumnCheckDisabled() {},\n setItemColumnCommands() {},\n setHeadColumnChecked() {},\n setHeadColumnCommands() {},\n /* eslint-enable */\n};\n","import { createContext } from 'react';\nimport { TableContextDefaultValue, TableContextValue } from './TableContext.types';\n\nconst TableContext = createContext<TableContextValue>(TableContextDefaultValue);\n\nexport default TableContext;\n","import TableContext from './TableContext';\nimport { TableContextValue } from './TableContext.types';\nimport { useContext } from 'react';\n\nexport default function useTableState(): TableContextValue {\n const value = useContext(TableContext);\n if (value === undefined) {\n throw new Error('useFormState should be used within TableContext.Provider');\n }\n return value;\n}\n","import React, { useCallback, useMemo } from 'react';\nimport classNames from 'classnames';\nimport { TableCell, styled } from '@mui/material';\nimport { TableCommonCellProps } from './TableCommonCell.types';\nimport { getTableColumnAlign } from '../@util';\nimport { CommonSxProps } from '../@types';\nimport useTableState from '../TableContext/useTableState';\n\nconst StyledTableCell = styled(TableCell)`\n &.ellipsis {\n position: relative;\n max-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n`;\n\nconst TableCommonCell: React.FC<TableCommonCellProps> = ({\n children,\n className: initClassName,\n style: initStyle,\n sx: initSx,\n type,\n column,\n defaultAlign,\n defaultEllipsis: initDefaultEllipsis,\n index,\n item,\n onClick,\n}) => {\n // Use ---------------------------------------------------------------------------------------------------------------\n\n const { menuOpen } = useTableState();\n\n // Memo --------------------------------------------------------------------------------------------------------------\n\n const align = useMemo(() => getTableColumnAlign(column, defaultAlign), [column, defaultAlign]);\n\n const ellipsis = useMemo(\n () =>\n type !== 'head' &&\n column.type !== 'img' &&\n column.type !== 'button' &&\n column.type !== 'buttons' &&\n (column.ellipsis != null ? column.ellipsis : !!initDefaultEllipsis),\n [type, column, initDefaultEllipsis]\n );\n\n const className = useMemo(() => {\n let className: CommonSxProps['className'];\n let getClassName: CommonSxProps['className'];\n\n switch (type) {\n case 'head':\n className = column.head?.className;\n getClassName = column.head?.onGetClassName ? column.head?.onGetClassName() : undefined;\n break;\n case 'body':\n className = column.className;\n if (item != null && index != null) {\n getClassName = column.onGetClassName ? column.onGetClassName(item, index) : undefined;\n }\n break;\n case 'footer':\n className = column.footer?.className;\n getClassName = column.footer?.onGetClassName ? column.footer?.onGetClassName() : undefined;\n break;\n }\n\n if (className || getClassName) {\n return classNames(initClassName, className, getClassName);\n } else {\n return initClassName;\n }\n }, [column, index, initClassName, item, type]);\n\n const style = useMemo(() => {\n let style: CommonSxProps['style'];\n let getStyle: CommonSxProps['style'];\n\n switch (type) {\n case 'head':\n style = column.head?.style;\n getStyle = column.head?.onGetStyle ? column.head?.onGetStyle() : undefined;\n break;\n case 'body':\n style = column.style;\n if (item != null && index != null) {\n getStyle = column.onGetStyle ? column.onGetStyle(item, index) : undefined;\n }\n break;\n case 'footer':\n style = column.footer?.style;\n getStyle = column.footer?.onGetStyle ? column.footer?.onGetStyle() : undefined;\n break;\n }\n\n return {\n ...initStyle,\n width: column.width,\n minWidth: column.minWidth,\n cursor: type === 'body' && (column.onClick || onClick) ? 'pointer' : undefined,\n ...style,\n ...getStyle,\n };\n }, [column, index, initStyle, item, onClick, type]);\n\n const sx = useMemo(() => {\n let sx: CommonSxProps['sx'];\n let getSx: CommonSxProps['sx'];\n let displaySx: CommonSxProps['sx'];\n\n switch (type) {\n case 'head':\n sx = column.head?.sx;\n getSx = column.head?.onGetSx ? column.head?.onGetSx() : undefined;\n break;\n case 'body':\n sx = column.sx;\n if (item != null && index != null) {\n getSx = column.onGetSx ? column.onGetSx(item, index) : undefined;\n }\n break;\n case 'footer':\n sx = column.footer?.sx;\n getSx = column.footer?.onGetSx ? column.footer?.onGetSx() : undefined;\n break;\n }\n\n if (column.display) {\n type DisplayValue = 'none' | 'table-cell';\n const display: {\n xs?: DisplayValue;\n sm?: DisplayValue;\n md?: DisplayValue;\n lg?: DisplayValue;\n xl?: DisplayValue;\n } = {};\n if (column.display.xs !== undefined) display.xs = column.display.xs ? 'table-cell' : 'none';\n if (column.display.sm !== undefined) display.sm = column.display.sm ? 'table-cell' : 'none';\n if (column.display.md !== undefined) display.md = column.display.md ? 'table-cell' : 'none';\n if (column.display.lg !== undefined) display.lg = column.display.lg ? 'table-cell' : 'none';\n if (column.display.xl !== undefined) display.xl = column.display.xl ? 'table-cell' : 'none';\n displaySx = { display };\n }\n\n const sxList = [];\n if (getSx) sxList.push(getSx);\n if (sx) sxList.push(sx);\n if (initSx) sxList.push(initSx);\n if (displaySx) sxList.push(displaySx);\n\n if (sxList.length > 0) {\n if (sxList.length === 1) {\n return sxList[0];\n } else {\n if (!sxList.find((sx) => typeof sx !== 'object')) {\n return sxList.reduce((res: object, sx: object) => {\n res = { ...res, ...sx };\n return res;\n }, {});\n }\n }\n }\n }, [column, index, initSx, item, type]);\n\n // Event Handler ---------------------------------------------------------------------------------------------------\n\n const handleClick = useCallback(\n (e: React.MouseEvent<HTMLTableCellElement>) => {\n if (\n !menuOpen &&\n column.type !== 'check' &&\n column.type !== 'button' &&\n column.type !== 'buttons' &&\n column.type !== 'img'\n ) {\n e.stopPropagation();\n\n if (type === 'body') {\n if (item != null && index != null) {\n if (column.onClick) {\n column.onClick(item, index);\n } else {\n if (onClick) onClick(item, index);\n }\n }\n }\n }\n },\n [menuOpen, type, item, index, column, onClick]\n );\n\n // Render ----------------------------------------------------------------------------------------------------------\n\n return (\n <StyledTableCell\n align={align}\n className={classNames(\n className,\n 'TableCommonCell',\n ellipsis && 'ellipsis',\n column.type ? `column-type-${column.type}` : false\n )}\n style={style}\n sx={sx}\n onClick={type === 'body' ? handleClick : undefined}\n >\n {children}\n </StyledTableCell>\n );\n};\n\nexport default TableCommonCell;\n","import React, { ReactNode, useCallback, useEffect, useMemo, useState } from 'react';\nimport { Box, Checkbox, styled, Tooltip } from '@mui/material';\nimport { TableBodyCellProps as Props } from './TableBodyCell.types';\nimport { getTableColumnAlign, numberWithThousandSeparator } from '../@util';\nimport TableCommonCell from '../TableCommonCell';\nimport { TableItem } from '../Table/Table.types';\nimport dayjs from 'dayjs';\nimport useTableState from '../TableContext/useTableState';\n\nconst StyledButtonsBox = styled(Box)`\n display: flex;\n flex-wrap: wrap;\n gap: 5px;\n`;\n\nconst TableBodyCell: React.FC<Props> = ({\n item,\n index,\n column,\n defaultAlign,\n defaultEllipsis,\n onClick,\n onCheckChange,\n}) => {\n // Use ---------------------------------------------------------------------------------------------------------------\n\n const { menuOpen, setItemColumnChecked, setItemColumnCheckDisabled, setItemColumnCommands } = useTableState();\n\n // State -------------------------------------------------------------------------------------------------------------\n\n const [checked, setChecked] = useState(false);\n const [checkDisabled, setCheckDisabled] = useState(false);\n\n // Effect ------------------------------------------------------------------------------------------------------------\n\n useEffect(() => {\n if (column.type === 'check') {\n setChecked(column.onInitChecked ? column.onInitChecked(item) : false);\n setCheckDisabled(column.onCheckDisabled ? column.onCheckDisabled(item) : false);\n }\n\n setItemColumnCommands(item, column, {\n setChecked(checked: boolean) {\n if (column.type === 'check') {\n setChecked(checked);\n }\n },\n setCheckDisabled(disabled: boolean) {\n if (column.type === 'check') {\n setCheckDisabled(disabled);\n }\n },\n });\n }, [column, item, setItemColumnCommands]);\n\n useEffect(() => {\n if (column.type === 'check') {\n setItemColumnChecked(item, column, checked);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [checked]);\n\n useEffect(() => {\n if (column.type === 'check') {\n setItemColumnCheckDisabled(item, column, checkDisabled);\n column.onCheckDisabledChange && column.onCheckDisabledChange(item, checkDisabled);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [checkDisabled]);\n\n // Memo --------------------------------------------------------------------------------------------------------------\n\n const isHidden = useMemo(() => (column.onHide ? column.onHide(item, index) : false), [column, index, item]);\n\n const buttonsBoxJustifyContent = useMemo(() => {\n switch (getTableColumnAlign(column, defaultAlign)) {\n case 'center':\n return 'center';\n case 'right':\n return 'end';\n default:\n return 'start';\n }\n }, [column, defaultAlign]);\n\n const data = useMemo(() => {\n let data;\n if (column.type !== 'check') {\n if (column.onRender) {\n data = column.onRender(item, index);\n } else if (column.name) {\n data = item[column.name];\n } else {\n data = undefined;\n }\n }\n\n switch (column.type) {\n case 'number':\n if (typeof data === 'string' || typeof data === 'number') {\n data = numberWithThousandSeparator(data);\n }\n break;\n case 'check':\n data = (\n <Box className='TableBoxyCell-check-box' onClick={menuOpen ? undefined : (e) => e.stopPropagation()}>\n <Checkbox\n checked={checked}\n disabled={checkDisabled}\n onChange={(e, newChecked) => {\n setChecked(newChecked);\n column.onCheckChange && column.onCheckChange(item, newChecked);\n onCheckChange && onCheckChange(item, column, newChecked);\n }}\n />\n </Box>\n );\n break;\n case 'button':\n data = (\n <Box className='TableBoxyCell-button-box' onClick={menuOpen ? undefined : (e) => e.stopPropagation()}>\n {data}\n </Box>\n );\n break;\n case 'buttons':\n data = (\n <StyledButtonsBox\n className='TableBodyCell-buttons-box'\n justifyContent={buttonsBoxJustifyContent}\n onClick={menuOpen ? undefined : (e) => e.stopPropagation()}\n >\n {data}\n </StyledButtonsBox>\n );\n break;\n }\n\n switch (column.type) {\n case 'img':\n {\n const img = <img src={data} style={{ maxWidth: '100%', verticalAlign: 'middle' }} alt='' />;\n const placement = column.tooltipProps?.placement ? column.tooltipProps?.placement : 'left';\n\n data = (\n <a\n href={data}\n target='_blank'\n onClick={\n menuOpen\n ? undefined\n : (e: React.MouseEvent<HTMLAnchorElement>) => {\n e.stopPropagation();\n }\n }\n >\n <Tooltip\n className='TableBodyCell-tooltip'\n title={<div style={{ paddingTop: 3, paddingBottom: 3 }}>{img}</div>}\n {...column.tooltipProps}\n placement={placement}\n >\n {img}\n </Tooltip>\n </a>\n );\n }\n break;\n case 'date':\n if (data) {\n data = dayjs(data, column.dateFormat).format('YYYY-MM-DD');\n }\n break;\n case 'datetime':\n if (data) {\n data = dayjs(data, column.dateFormat).format('YYYY-MM-DD HH:mm:ss');\n }\n break;\n }\n\n if (column.type !== 'img') {\n let tooltip: ReactNode;\n if (column.onGetTooltip) {\n tooltip = column.onGetTooltip(item, index);\n }\n if (tooltip) {\n data = (\n <Tooltip className='TableBodyCell-tooltip' title={tooltip} {...column.tooltipProps}>\n {React.isValidElement(data) ? (\n data.type === React.Fragment ? (\n <span>{data}</span>\n ) : (\n data\n )\n ) : (\n <span>{data}</span>\n )}\n </Tooltip>\n );\n }\n }\n return data;\n }, [column, item, index, menuOpen, checked, checkDisabled, buttonsBoxJustifyContent, onCheckChange]);\n\n // Event Handler ---------------------------------------------------------------------------------------------------\n\n const handleClick = useCallback(\n (item: TableItem, index: number) => {\n if (column.onClick) {\n column.onClick(item, index);\n } else {\n if (onClick) onClick(item, index);\n }\n },\n [column, onClick]\n );\n\n // Render ----------------------------------------------------------------------------------------------------------\n\n return (\n <TableCommonCell\n type='body'\n className='TableBodyCell'\n column={column}\n defaultAlign={defaultAlign}\n defaultEllipsis={defaultEllipsis}\n item={item}\n index={index}\n onClick={column.onClick || onClick ? handleClick : undefined}\n >\n {!isHidden && data}\n </TableCommonCell>\n );\n};\n\nexport default TableBodyCell;\n","import React, { useMemo } from 'react';\nimport classNames from 'classnames';\nimport { TableBodyRowProps as Props, TableBodyRowDefaultProps } from './TableBodyRow.types';\nimport { styled, TableRow, lighten } from '@mui/material';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport { TableColumn } from '../Table';\nimport TableBodyCell from '../TableBodyCell';\n\nexport const StyledBodyRow = styled(TableRow)(({ theme }) => ({\n '&.odd-color:nth-of-type(odd):not(:hover)': {\n backgroundColor: lighten(theme.palette.action.hover, 0.4),\n },\n '&.even-color:nth-of-type(even):not(:hover)': {\n backgroundColor: lighten(theme.palette.action.hover, 0.4),\n },\n}));\n\nconst TableBodyRow: React.FC<Props> = ({\n className,\n style,\n //--------------------------------------------------------------------------------------------------------------------\n id,\n index,\n defaultAlign,\n defaultEllipsis,\n sortable,\n columns,\n item,\n onClick,\n onCheckChange,\n // -------------------------------------------------------------------------------------------------------------------\n ...props\n}) => {\n const { attributes, listeners, setNodeRef, transform, transition } = useSortable({ id });\n\n const finalStyle = useMemo(\n () =>\n sortable\n ? {\n ...style,\n transform: CSS.Transform.toString(transform),\n transition,\n }\n : style,\n [sortable, style, transform, transition]\n );\n\n const sortableProps = useMemo(\n () =>\n sortable\n ? {\n ref: setNodeRef,\n ...attributes,\n ...listeners,\n }\n : {},\n [attributes, listeners, setNodeRef, sortable]\n );\n\n return (\n <StyledBodyRow className={classNames('TableBodyRow', className)} style={finalStyle} {...props} {...sortableProps}>\n {columns.map((column: TableColumn, columnIdx) => (\n <TableBodyCell\n key={columnIdx}\n index={index}\n item={item}\n defaultAlign={defaultAlign}\n defaultEllipsis={defaultEllipsis}\n column={column}\n onClick={onClick}\n onCheckChange={onCheckChange}\n />\n ))}\n </StyledBodyRow>\n );\n};\n\nTableBodyRow.displayName = 'TableBodyRow';\nTableBodyRow.defaultProps = TableBodyRowDefaultProps;\n\nexport default TableBodyRow;\n","import React, { useMemo } from 'react';\nimport { TableFooterCellProps } from './TableFooterCell.types';\nimport TableCommonCell from '../TableCommonCell';\n\nconst TableFooterCell: React.FC<TableFooterCellProps> = ({ column, defaultAlign }) => {\n const data = useMemo(() => {\n if (column.footer?.onRender) {\n return column.footer?.onRender();\n } else {\n return column.footer?.value;\n }\n }, [column]);\n\n return (\n <TableCommonCell type='head' className='TableFooterCell' column={column} defaultAlign={defaultAlign}>\n {data}\n </TableCommonCell>\n );\n};\n\nexport default TableFooterCell;\n","import React from 'react';\nimport classNames from 'classnames';\nimport { TablePaginationProps } from './TablePagination.types';\nimport { Pagination, Stack } from '@mui/material';\n\nconst TablePagination: React.FC<TablePaginationProps> = ({ className, style, sx, paging, align, onChange }) => {\n return (\n <Stack alignItems={align}>\n <Pagination\n count={paging.last_page}\n page={paging.current_page}\n color='primary'\n className={classNames('TablePagination', className)}\n style={style}\n sx={sx}\n onChange={(e, page) => {\n if (onChange) onChange(page);\n }}\n />\n </Stack>\n );\n};\n\nexport default TablePagination;\n","import {useRef,useEffect,useState,useCallback,useLayoutEffect}from'react';function useFirstSkipEffect(effect, deps) {\n var firstRef = useRef(true);\n useEffect(function () {\n if (firstRef.current) {\n firstRef.current = false;\n }\n else {\n effect();\n }\n }, deps);\n}var isSame = function (v1, v2) {\n if (v1 === v2)\n return true;\n if (typeof v1 !== typeof v2)\n return false;\n if (v1 == null || v2 == null)\n return false;\n if (Array.isArray(v1) && Array.isArray(v2)) {\n if (v1.length !== v2.length)\n return false;\n for (var i = 0; i < v1.length; i += 1) {\n if (v1[i] !== v2[i])\n return false;\n }\n }\n else {\n return v1 === v2;\n }\n return true;\n};function useAutoUpdateState(p1, p2) {\n var state = typeof p1 === 'function' ? undefined : p1;\n var finalStateCallback = typeof p1 === 'function' ? p1 : p2;\n var _a = useState(0), setUpdateKey = _a[1];\n var _initState = useState(function () {\n return finalStateCallback ? finalStateCallback(state) : state;\n })[0];\n var _state = useRef(_initState);\n var forceUpdate = useCallback(function () {\n setUpdateKey(function (updateKey) { return updateKey + 1; });\n }, []);\n useFirstSkipEffect(function () {\n var newState = finalStateCallback ? finalStateCallback(state) : state;\n if (!isSame(newState, _state.current)) {\n _state.current = newState;\n forceUpdate();\n }\n }, [state]);\n useFirstSkipEffect(function () {\n var newState = finalStateCallback ? finalStateCallback(_state.current) : _state.current;\n if (!isSame(newState, _state.current)) {\n _state.current = newState;\n forceUpdate();\n }\n }, [finalStateCallback]);\n var setState = useCallback(function (newState) {\n var finalNewState = typeof newState === 'function' ? newState(_state.current) : newState;\n if (!isSame(_state.current, finalNewState)) {\n _state.current = finalNewState;\n forceUpdate();\n }\n }, []);\n return [_state.current, setState];\n}function useFirstSkipLayoutEffect(effect, deps) {\n var firstRef = useRef(true);\n useLayoutEffect(function () {\n if (firstRef.current) {\n firstRef.current = false;\n }\n else {\n effect();\n }\n }, deps);\n}function useAutoUpdateLayoutState(p1, p2) {\n var state = typeof p1 === 'function' ? undefined : p1;\n var finalStateCallback = typeof p1 === 'function' ? p1 : p2;\n var _a = useState(0), setUpdateKey = _a[1];\n var _initState = useState(function () {\n return finalStateCallback ? finalStateCallback(state, 0) : state;\n })[0];\n var _state = useRef(_initState);\n var forceUpdate = useCallback(function () {\n setUpdateKey(function (updateKey) { return updateKey + 1; });\n }, []);\n useFirstSkipLayoutEffect(function () {\n var newState = finalStateCallback ? finalStateCallback(state) : state;\n if (!isSame(newState, _state.current)) {\n _state.current = newState;\n forceUpdate();\n }\n }, [state]);\n useFirstSkipLayoutEffect(function () {\n var newState = finalStateCallback ? finalStateCallback(_state.current) : _state.current;\n if (!isSame(newState, _state.current)) {\n _state.current = newState;\n forceUpdate();\n }\n }, [finalStateCallback]);\n var setState = useCallback(function (newState) {\n var finalNewState = typeof newState === 'function' ? newState(_state.current) : newState;\n if (!isSame(_state.current, finalNewState)) {\n _state.current = finalNewState;\n forceUpdate();\n }\n }, []);\n return [_state.current, setState];\n}export{useAutoUpdateLayoutState,useAutoUpdateState,useFirstSkipEffect,useFirstSkipLayoutEffect};//# sourceMappingURL=index.esm.js.map\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import React from 'react';\nimport { TableContextProviderProps as Props } from './TableContextProvider.types';\nimport TableContext from '../TableContext';\n\nconst TableContextProvider: React.FC<Props> = ({ children, value }) => {\n return <TableContext.Provider value={value}>{children}</TableContext.Provider>;\n};\n\nexport default TableContextProvider;\n","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;","import { ReactNode } from 'react';\nimport { TableCellProps } from '@mui/material';\nimport { TableColumn, TableProps } from '../Table/Table.types';\n\nexport interface TableTopHeadRowColumn {\n colSpan?: number;\n rowSpan?: number;\n label?: ReactNode;\n align?: TableCellProps['align'];\n}\n\nexport type TableTopHeadRowColumnValue = TableTopHeadRowColumn | false | undefined | null;\n\nexport interface TableTopHeadProps {\n caption?: ReactNode;\n rows?: TableTopHeadRowColumnValue[] | TableTopHeadRowColumnValue[][];\n columns: TableColumn[];\n defaultAlign: TableProps['defaultAlign'];\n onCheckChange(column: TableColumn, checked: boolean): void;\n}\n\nexport const TableTopHeadDefaultProps = {};\n","import { styled, TableRow } from '@mui/material';\n\nexport const TableTopHeadCaptionRow = styled(TableRow)(({ theme }) => ({\n '> th': {\n backgroundColor: theme.palette.grey.A100,\n textAlign: 'center',\n fontWeight: 700,\n },\n}));\n","import React, { useEffect, useMemo, useState } from 'react';\nimport { TableHeadCellProps } from './TableHeadCell.types';\nimport TableCommonCell from '../TableCommonCell';\nimport { Checkbox } from '@mui/material';\nimport useTableState from '../TableContext/useTableState';\n\nconst TableHeadCell: React.FC<TableHeadCellProps> = ({ column, defaultAlign, top, onCheckChange }) => {\n // Use ---------------------------------------------------------------------------------------------------------------\n\n const { setHeadColumnChecked, setHeadColumnCommands } = useTableState();\n\n // State -------------------------------------------------------------------------------------------------------------\n\n const [checked, setChecked] = useState(false);\n const [checkDisabled, setCheckDisabled] = useState(false);\n\n // Effect ------------------------------------------------------------------------------------------------------------\n\n useEffect(() => {\n if (column.type === 'check') {\n setHeadColumnChecked(column, checked);\n }\n }, [column, checked, setHeadColumnChecked]);\n\n useEffect(() => {\n setHeadColumnCommands(column, {\n setChecked(checked: boolean) {\n if (column.type === 'check') {\n setChecked(checked);\n }\n },\n setCheckDisabled(checkDisabled: boolean) {\n if (column.type === 'check') {\n setCheckDisabled(checkDisabled);\n }\n },\n });\n }, [setHeadColumnCommands, column]);\n\n // Memo --------------------------------------------------------------------------------------------------------------\n\n const style = useMemo(() => (top !== undefined ? { top } : undefined), [top]);\n\n const data = useMemo(() => {\n if (column.type === 'check') {\n return (\n <Checkbox\n checked={checked}\n disabled={checkDisabled}\n onChange={(e, newChecked) => {\n setChecked(newChecked);\n onCheckChange && onCheckChange(column, newChecked);\n }}\n />\n );\n } else {\n if (column.head?.onRender) {\n return column.head?.onRender();\n } else {\n if (typeof column.label === 'string') {\n return <div dangerouslySetInnerHTML={{ __html: column.label }} />;\n } else {\n return column.label;\n }\n }\n }\n }, [checkDisabled, checked, column, onCheckChange]);\n\n // Render ------------------------------------------------------------------------------------------------------------\n\n return (\n <TableCommonCell type='head' className='TableHeadCell' style={style} column={column} defaultAlign={defaultAlign}>\n {data}\n </TableCommonCell>\n );\n};\n\nexport default TableHeadCell;\n","import React, { ReactNode, useCallback, useMemo, useRef } from 'react';\nimport { TableTopHeadProps as Props, TableTopHeadDefaultProps, TableTopHeadRowColumnValue } from './TableTopHead.types';\nimport { styled, TableCell, TableHead, TableRow, useTheme } from '@mui/material';\nimport { useResizeDetector } from 'react-resize-detector';\nimport { TableTopHeadCaptionRow } from './TableTopHead.style';\nimport TableHeadCell from '../TableHeadCell';\n\nconst BottomLine = styled('div')`\n height: 1px;\n position: absolute;\n left: 3px;\n right: 3px;\n bottom: 0;\n`;\n\nconst TableTopHead: React.FC<Props> = ({ columns, rows, caption, defaultAlign, onCheckChange }) => {\n // Use ---------------------------------------------------------------------------------------------------------------\n\n const theme = useTheme();\n\n // Ref ---------------------------------------------------------------------------------------------------------------\n\n const captionRef = useRef<HTMLTableRowElement>(null);\n const row1Ref = useRef<HTMLTableRowElement>(null);\n const row2Ref = useRef<HTMLTableRowElement>(null);\n const row3Ref = useRef<HTMLTableRowElement>(null);\n\n // ResizeDetector ----------------------------------------------------------------------------------------------------\n\n const { height: captionHeight } = useResizeDetector({\n targetRef: captionRef,\n handleWidth: false,\n handleHeight: true,\n });\n const { height: row1Height } = useResizeDetector({ targetRef: row1Ref, handleWidth: false, handleHeight: true });\n const { height: row2Height } = useResizeDetector({ targetRef: row2Ref, handleWidth: false, handleHeight: true });\n const { height: row3Height } = useResizeDetector({ targetRef: row3Ref, handleWidth: false, handleHeight: true });\n\n // Function ----------------------------------------------------------------------------------------------------------\n\n const captionRow = useMemo(\n () =>\n !!caption && (\n <TableTopHeadCaptionRow ref={captionRef} className='TableTopHeadCaptionRow'>\n <TableCell colSpan={columns.length}>{caption}</TableCell>\n </TableTopHeadCaptionRow>\n ),\n [caption, columns]\n );\n\n const makeRowCells = useCallback(\n (row: TableTopHeadRowColumnValue[], top?: number) => {\n const cells = row\n .map(\n (info, idx) =>\n !!info && (\n <TableCell\n key={idx}\n colSpan={info.colSpan}\n align={info.align}\n style={{\n top,\n borderBottom: 0,\n }}\n >\n {info.label}\n {info.label != null && <BottomLine style={{ backgroundColor: theme.palette.divider }} />}\n </TableCell>\n )\n )\n .filter((cell) => !!cell) as ReactNode[];\n\n if (cells.length < columns.length) {\n cells.push(\n <TableCell key={columns.length} colSpan={columns.length - cells.length} style={{ top, borderBottom: 0 }} />\n );\n }\n return cells;\n },\n [columns, theme.palette.divider]\n );\n\n const columnRow = useMemo(() => {\n const top = (captionHeight || 0) + (row1Height || 0) + (row2Height || 0) + (row3Height || 0);\n\n return (\n <TableRow>\n {columns.map((column, idx) => (\n <TableHeadCell\n key={idx}\n column={column}\n defaultAlign={defaultAlign}\n top={top}\n onCheckChange={onCheckChange}\n />\n ))}\n </TableRow>\n );\n }, [captionHeight, columns, defaultAlign, onCheckChange, row1Height, row2Height, row3Height]);\n\n // Render ------------------------------------------------------------------------------------------------------------\n\n if (rows) {\n if (Array.isArray(rows[0])) {\n return (\n <TableHead className='TableHead'>\n {captionRow}\n {rows.map((row, idx) => {\n let ref: React.Ref<HTMLTableRowElement> | undefined = undefined;\n let top: number | undefined = undefined;\n\n switch (idx) {\n case 0:\n ref = row1Ref;\n top = captionHeight;\n break;\n case 1:\n ref = row2Ref;\n top = (captionHeight || 0) + (row1Height || 0);\n break;\n case 2:\n ref = row3Ref;\n top = (captionHeight || 0) + (row1Height || 0) + (row2Height || 0);\n break;\n case 3:\n top = (captionHeight || 0) + (row1Height || 0) + (row2Height || 0) + (row3Height || 0);\n }\n return (\n <TableRow key={idx} ref={ref} className='TableHeadRow'>\n {makeRowCells(row as TableTopHeadRowColumnValue[], top)}\n </TableRow>\n );\n })}\n </TableHead>\n );\n } else {\n return (\n <TableHead className='TableHead'>\n {captionRow}\n <TableRow ref={row1Ref} className='TableHeadRow'>\n {makeRowCells(rows as TableTopHeadRowColumnValue[], captionHeight)}\n </TableRow>\n {columnRow}\n </TableHead>\n );\n }\n } else {\n return (\n <TableHead className='TableHead'>\n {captionRow}\n {columnRow}\n </TableHead>\n );\n }\n};\n\nTableTopHead.displayName = 'TableTopHead';\nTableTopHead.defaultProps = TableTopHeadDefaultProps;\n\nexport default TableTopHead;\n","import React, { CSSProperties, useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport { Table as MuiTable, TableBody, TableRow, TableCell, Paper, Stack, TableFooter, Icon } from '@mui/material';\nimport SimpleBar from 'simplebar-react';\nimport SimpleBarCore from 'simplebar-core';\nimport { useResizeDetector } from 'react-resize-detector';\nimport { TableProps, TableDefaultProps, TableCommands, TableColumn, TableItem } from './Table.types';\nimport { StyledBodyRow, StyledNoDataDiv } from './Table.styles';\nimport TableBodyRow from '../TableBodyRow';\nimport { TableHeadCellCommands } from '../TableHeadCell';\nimport TableFooterCell from '../TableFooterCell';\nimport TablePagination from '../TablePagination';\nimport { useAutoUpdateLayoutState } from '@pdg/react-hook';\nimport {\n DndContext,\n closestCenter,\n KeyboardSensor,\n MouseSensor,\n TouchSensor,\n useSensor,\n useSensors,\n DragEndEvent,\n} from '@dnd-kit/core';\nimport {\n arrayMove,\n SortableContext,\n sortableKeyboardCoordinates,\n verticalListSortingStrategy,\n} from '@dnd-kit/sortable';\nimport 'simplebar-react/dist/simplebar.min.css';\nimport TableContextProvider from '../TableContextProvider';\nimport { v4 as uuid } from 'uuid';\nimport { TableBodyCellCommands } from '../TableBodyCell';\nimport TableTopHead from '../TableTopHead';\n\nfunction columnFilter<T>(v: T | undefined | null | false): v is T {\n return v !== undefined && v !== null && v !== false;\n}\n\ntype TLocalBodyData = Record<\n string | number,\n {\n item: TableItem;\n columns: Record<\n string,\n {\n column: TableColumn;\n checked: boolean;\n checkDisabled: boolean;\n commands?: TableBodyCellCommands;\n }\n >;\n }\n>;\n\ntype TLocalHeaderData = Record<string, { column: TableColumn; checked: boolean; commands?: TableHeadCellCommands }>;\n\ninterface WithForwardRefType<T = TableItem> extends React.FC<TableProps<T>> {\n <T = TableItem>(props: TableProps<T> & React.RefAttributes<TableCommands<T>>): ReturnType<React.FC<TableProps<T>>>;\n}\n\nconst Table: WithForwardRefType = React.forwardRef<TableCommands, TableProps>(\n (\n {\n caption,\n topHeadRows,\n columns: initColumns,\n items: initItems,\n paging: initPaging,\n pagingAlign,\n defaultAlign,\n defaultEllipsis,\n stickyHeader: initStickyHeader,\n height,\n minHeight,\n maxHeight,\n fullHeight,\n showOddColor,\n showEvenColor,\n cellPadding,\n footer,\n noData,\n pagination,\n sortable,\n onClick,\n onGetBodyRowSx,\n onPageChange,\n onSortChange,\n onCheckChange,\n // ---------------------------------------------------------------------------------------------------------------\n className,\n style: initStyle,\n sx,\n },\n ref\n ) => {\n // Ref ---------------------------------------------------------------------------------------------------------------\n\n const localHeaderDataRef = useRef<TLocalHeaderData>({});\n const localBodyDataRef = useRef<TLocalBodyData>({});\n const updateHeadCheckTimer = useRef<NodeJS.Timeout>();\n const fireOnCheckChangeTimer = useRef<Record<string, NodeJS.Timeout | undefined>>({});\n const simpleBarRef = useRef<SimpleBarCore>(null);\n\n // sortable --------------------------------------------------------------------------------------------------------\n\n const sensors = useSensors(\n useSensor(MouseSensor, {\n // Require the mouse to move by 10 pixels before activating\n activationConstraint: {\n distance: 10,\n },\n }),\n useSensor(TouchSensor, {\n // Press delay of 250ms, with tolerance of 5px of movement\n activationConstraint: {\n delay: 250,\n tolerance: 5,\n },\n }),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n })\n );\n\n // State -------------------------------------------------------------------------------------------------------------\n\n const [menuOpen, setMenuOpen] = useState(false);\n const [openMenuId, setOpenMenuId] = useState<string | undefined>(undefined);\n\n // State - containerHeight -------------------------------------------------------------------------------------------\n\n const [containerHeight, setContainerHeight] = useState<number | undefined>();\n\n const { ref: containerHeightDetector } = useResizeDetector({\n handleHeight: true,\n handleWidth: false,\n onResize() {\n if (containerHeightDetector.current) {\n setContainerHeight(containerHeightDetector.current.getBoundingClientRect().height);\n } else {\n setContainerHeight(undefined);\n }\n },\n });\n\n // State - footerHeight --------------------------------------------------------------------------------------------\n\n const [pagingHeight, setPagingHeight] = useState<number | undefined>();\n\n const { ref: pagingHeightResizeDetector } = useResizeDetector({\n handleHeight: true,\n handleWidth: false,\n onResize() {\n if (pagingHeightResizeDetector.current) {\n setPagingHeight(pagingHeightResizeDetector.current.getBoundingClientRect().height);\n } else {\n setPagingHeight(undefined);\n }\n },\n });\n\n // State -----------------------------------------------------------------------------------------------------------\n\n const [columns, setColumns] = useAutoUpdateLayoutState<TableProps['columns']>(initColumns);\n const [finalColumns, setFinalColumns] = useState<TableColumn<TableItem>[]>();\n const [items, setItems] = useAutoUpdateLayoutState<TableProps['items']>(initItems);\n const [sortableItems, setSortableItems] = useState<(TableItem & { id: number | string })[]>();\n const [paging, setPaging] = useAutoUpdateLayoutState<TableProps['paging']>(initPaging);\n\n // Memo --------------------------------------------------------------------------------------------------------------\n\n const tableSx = useMemo(() => {\n const sx = {\n padding: typeof cellPadding === 'number' ? `${cellPadding}px` : cellPadding,\n };\n\n return {\n '> .MuiTableHead-root > .MuiTableRow-root > .MuiTableCell-root ': sx,\n '> .MuiTableBody-root > .MuiTableRow-root > .MuiTableCell-root ': sx,\n '> .MuiTableFooter-root > .MuiTableRow-root > .MuiTableCell-root ': sx,\n };\n }, [cellPadding]);\n\n // Function --------------------------------------------------------------------------------------------------------\n\n const makeSortableItems = useCallback((items?: TableProps['items']) => {\n return items?.map<TableItem & { id: number | string }>(({ id, ...item }, index) => {\n return { id: id == null ? `${uuid()}_${index}` : id, ...item };\n });\n }, []);\n\n const updateHeadCheck = useCallback((column: TableColumn) => {\n if (updateHeadCheckTimer.current) {\n clearTimeout(updateHeadCheckTimer.current);\n updateHeadCheckTimer.current = undefined;\n }\n\n const headColumnData = localHeaderDataRef.current[column.id];\n if (headColumnData) {\n updateHeadCheckTimer.current = setTimeout(() => {\n updateHeadCheckTimer.current = undefined;\n\n const enabledCheckExists = !!Object.keys(localBodyDataRef.current).find((key) => {\n const columnData = localBodyDataRef.current[key].columns[column.id];\n if (columnData) {\n if (!columnData.checkDisabled) {\n return true;\n }\n }\n });\n\n const allChecked =\n enabledCheckExists &&\n !Object.keys(localBodyDataRef.current).find((key) => {\n const columnData = localBodyDataRef.current[key].columns[column.id];\n if (columnData) {\n if (!columnData.checkDisabled) {\n return !columnData.checked;\n }\n }\n });\n\n headColumnData.commands?.setCheckDisabled(!enabledCheckExists);\n headColumnData.commands?.setChecked(allChecked);\n }, 100);\n }\n }, []);\n\n const getCheckedItems = useCallback((columnId: string): TableItem[] => {\n const checkedItems: TableItem[] = [];\n Object.keys(localBodyDataRef.current).forEach((key) => {\n const itemData = localBodyDataRef.current[key];\n const columnData = itemData.columns[columnId];\n if (columnData) {\n if (columnData.checked) {\n checkedItems.push(itemData.item);\n }\n }\n });\n return checkedItems;\n }, []);\n\n const stopHeadCheckTimer = useCallback(() => {\n if (updateHeadCheckTimer.current) {\n clearTimeout(updateHeadCheckTimer.current);\n updateHeadCheckTimer.current = undefined;\n }\n }, []);\n\n const clearFireOnCheckChangeTimer = useCallback(() => {\n Object.keys(fireOnCheckChangeTimer.current).forEach((key) => {\n if (fireOnCheckChangeTimer.current[key]) {\n clearTimeout(fireOnCheckChangeTimer.current[key]);\n }\n });\n fireOnCheckChangeTimer.current = {};\n }, []);\n\n const fireOnCheckChange = useCallback(\n (columnId: string) => {\n if (fireOnCheckChangeTimer.current[columnId]) {\n clearTimeout(fireOnCheckChangeTimer.current[columnId]);\n fireOnCheckChangeTimer.current[columnId] = undefined;\n }\n if (onCheckChange) {\n fireOnCheckChangeTimer.current[columnId] = setTimeout(() => {\n fireOnCheckChangeTimer.current[columnId] = undefined;\n\n onCheckChange && onCheckChange(columnId, getCheckedItems(columnId));\n }, 100);\n }\n },\n [getCheckedItems, onCheckChange]\n );\n\n const simpleBarScrollToTop = useCallback(() => {\n simpleBarRef.current?.getScrollElement()?.scrollTo({ top: 0 });\n }, []);\n\n // Effect ----------------------------------------------------------------------------------------------------------\n\n useEffect(() => {\n return () => {\n stopHeadCheckTimer();\n clearFireOnCheckChangeTimer();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n stopHeadCheckTimer();\n clearFireOnCheckChangeTimer();\n\n Object.keys(localHeaderDataRef.current).forEach((key) => {\n if (localHeaderDataRef.current[key].column.type === 'check') {\n localHeaderDataRef.current[key].commands?.setChecked(false);\n }\n });\n\n Object.keys(localBodyDataRef.current).forEach((key) => {\n Object.keys(localBodyDataRef.current[key].columns).forEach((cKey) => {\n localBodyDataRef.current[key].columns[cKey].commands?.setChecked(false);\n });\n });\n\n setSortableItems(makeSortableItems(items));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [items]);\n\n useEffect(() => {\n stopHeadCheckTimer();\n clearFireOnCheckChangeTimer();\n\n setFinalColumns(columns?.filter(columnFilter));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [columns]);\n\n useLayoutEffect(() => {\n clearFireOnCheckChangeTimer();\n\n if (sortableItems) {\n localBodyDataRef.current = sortableItems.reduce<TLocalBodyData>((res, item) => {\n res[item.id] = {\n item,\n columns: {},\n };\n\n if (finalColumns) {\n finalColumns.forEach((c) => {\n const columnId = (c as TableColumn).id;\n\n if (localBodyDataRef.current[item.id]?.columns[columnId]) {\n res[item.id].columns[columnId] = localBodyDataRef.current[item.id].columns[columnId];\n } else {\n res[item.id].columns[columnId] = {\n column: c,\n checked: false,\n checkDisabled: false,\n };\n }\n });\n }\n return res;\n }, {});\n } else {\n localBodyDataRef.current = {};\n }\n }, [sortableItems, finalColumns, clearFireOnCheckChangeTimer]);\n\n useLayoutEffect(() => {\n if (finalColumns) {\n localHeaderDataRef.current = finalColumns.reduce<TLocalHeaderData>((res, c) => {\n res[(c as TableColumn).id] = { column: c, checked: false };\n return res;\n }, {});\n } else {\n localHeaderDataRef.current = {};\n }\n }, [finalColumns]);\n\n // Commands --------------------------------------------------------------------------------------------------------\n\n useLayoutEffect(() => {\n if (ref) {\n let lastColumns = columns;\n let lastItems = items;\n let lastPaging = paging;\n\n const commands: TableCommands = {\n getColumns: () => lastColumns,\n setColumns: (columns) => {\n lastColumns = columns;\n setColumns(lastColumns);\n },\n getItems: () => lastItems,\n getPaging: () => lastPaging,\n setItemsPaging: (items, paging) => {\n lastItems = items;\n lastPaging = paging;\n setItems(lastItems);\n setPaging(lastPaging);\n },\n resetSort() {\n setSortableItems(makeSortableItems(lastItems));\n },\n getCheckedItems,\n scrollToTop: simpleBarScrollToTop,\n };\n\n if (typeof ref === 'function') {\n ref(commands);\n } else {\n ref.current = commands;\n }\n }\n }, [\n ref,\n columns,\n items,\n paging,\n makeSortableItems,\n setColumns,\n setItems,\n setPaging,\n getCheckedItems,\n simpleBarScrollToTop,\n ]);\n\n // Event Handler ---------------------------------------------------------------------------------------------------\n\n const handleDragEnd = useCallback(\n (event: DragEndEvent) => {\n const { active, over } = event;\n\n if (active && over) {\n setSortableItems((items) => {\n if (items) {\n let oldIndex: number | null = null;\n let newIndex: number | null = null;\n\n items.find((item, idx) => {\n if (item.id === active.id) {\n oldIndex = idx;\n } else if (item.id === over.id) {\n newIndex = idx;\n }\n return oldIndex != null && newIndex != null;\n });\n\n if (oldIndex != null && newIndex != null) {\n const finalItems = arrayMove(items, oldIndex, newIndex);\n onSortChange && onSortChange(finalItems);\n return finalItems;\n } else {\n return items;\n }\n } else {\n return items;\n }\n });\n }\n },\n [onSortChange]\n );\n\n const handleHeadCheckChange = useCallback((column: TableColumn, checked: boolean) => {\n Object.keys(localBodyDataRef.current).forEach((key) => {\n const data = localBodyDataRef.current[key].columns[column.id];\n if (data) {\n if (!data.checkDisabled) {\n data.commands?.setChecked(checked);\n }\n }\n });\n }, []);\n\n const handleBodyCheckChange = useCallback(\n (item: TableItem, column: TableColumn) => {\n updateHeadCheck(column);\n },\n [updateHeadCheck]\n );\n\n const handlePageChange = useCallback(\n (page: number) => {\n simpleBarScrollToTop();\n onPageChange && onPageChange(page);\n },\n [onPageChange, simpleBarScrollToTop]\n );\n\n // TableContext Function ---------------------------------------------------------------------------------------------\n\n const TableContextSetMenuOpen = useCallback(\n (newMenuOpen: boolean, newOpenMenuId: string | undefined) => {\n if (newMenuOpen) {\n setMenuOpen(newMenuOpen);\n setOpenMenuId(newOpenMenuId);\n } else {\n if (openMenuId === newOpenMenuId) {\n setMenuOpen(false);\n setOpenMenuId(undefined);\n }\n }\n },\n [openMenuId]\n );\n\n const TableContextSetItemColumnChecked = useCallback(\n (item: TableItem, column: TableColumn, checked: boolean) => {\n const data = localBodyDataRef.current[item.id]?.columns[column.id];\n if (data) {\n data.checked = checked;\n fireOnCheckChange(column.id);\n }\n },\n [fireOnCheckChange]\n );\n\n const TableContextSetItemColumnCheckDisabled = useCallback(\n (item: TableItem, column: TableColumn, disabled: boolean) => {\n const data = localBodyDataRef.current[item.id]?.columns[column.id];\n if (data) {\n data.checkDisabled = disabled;\n updateHeadCheck(column);\n }\n },\n [updateHeadCheck]\n );\n\n const TableContextSetItemColumnCommands = useCallback(\n (item: TableItem, column: TableColumn, commands: TableBodyCellCommands) => {\n const data = localBodyDataRef.current[item.id]?.columns[column.id];\n if (data) {\n data.commands = commands;\n }\n },\n []\n );\n\n const TableContextSetHeadColumnChecked = useCallback((column: TableColumn, checked: boolean) => {\n const data = localHeaderDataRef.current[column.id];\n if (data) {\n data.checked = checked;\n }\n }, []);\n\n const TableContextSetHeadColumnCommands = useCallback((column: TableColumn, commands: TableHeadCellCommands) => {\n const data = localHeaderDataRef.current[column.id];\n if (data) {\n data.commands = commands;\n }\n }, []);\n\n // Memo --------------------------------------------------------------------------------------------------------------\n\n const tableContextValue = useMemo(\n () => ({\n menuOpen,\n openMenuId,\n setMenuOpen: TableContextSetMenuOpen,\n setItemColumnChecked: TableContextSetItemColumnChecked,\n setItemColumnCheckDisabled: TableContextSetItemColumnCheckDisabled,\n setItemColumnCommands: TableContextSetItemColumnCommands,\n setHeadColumnChecked: TableContextSetHeadColumnChecked,\n setHeadColumnCommands: TableContextSetHeadColumnCommands,\n }),\n [\n TableContextSetHeadColumnChecked,\n TableContextSetHeadColumnCommands,\n TableContextSetItemColumnCheckDisabled,\n TableContextSetItemColumnChecked,\n TableContextSetItemColumnCommands,\n TableContextSetMenuOpen,\n menuOpen,\n openMenuId,\n ]\n );\n\n // Memo --------------------------------------------------------------------------------------------------------------\n\n const isNoData = useMemo(() => !!sortableItems && sortableItems.length <= 0, [sortableItems]);\n const finalPagingHeight = useMemo(\n () => (paging && paging.total > 0 ? pagingHeight || 0 : 0),\n [paging, pagingHeight]\n );\n const stickyHeader = useMemo(() => !isNoData && initStickyHeader, [initStickyHeader, isNoData]);\n\n const style = useMemo((): CSSProperties => {\n if (fullHeight) {\n return {\n width: '100%',\n ...initStyle,\n flex: 1,\n justifyContent: 'flex-end',\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n position: 'relative',\n };\n } else {\n return { width: '100%', ...initStyle };\n }\n }, [initStyle, fullHeight]);\n\n const simpleBarStyle = useMemo((): CSSProperties => {\n if (fullHeight) {\n return {\n height: (containerHeight || 0) - (finalPagingHeight || 0) - 1,\n flex: 1,\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n marginBottom: finalPagingHeight || 0,\n };\n } else {\n return { height, minHeight, maxHeight, marginBottom: -1 };\n }\n }, [fullHeight, containerHeight, finalPagingHeight, height, minHeight, maxHeight]);\n\n const tableStyle = useMemo((): CSSProperties | undefined => {\n if (fullHeight && isNoData) {\n return { flex: 1, height: (containerHeight || 0) - finalPagingHeight - 2 };\n }\n }, [fullHeight, isNoData, containerHeight, finalPagingHeight]);\n\n const pagingStyle = useMemo((): CSSProperties => {\n const style = { padding: '13px 0', borderTop: '1px solid rgba(224, 224, 224, 1)' };\n if (fullHeight) {\n return { position: 'sticky', ...style };\n }\n return style;\n }, [fullHeight]);\n\n const tableTopHead = useMemo(\n () =>\n finalColumns && (\n <TableTopHead\n caption={caption}\n rows={topHeadRows}\n columns={finalColumns}\n defaultAlign={defaultAlign}\n onCheckChange={handleHeadCheckChange}\n />\n ),\n [caption, defaultAlign, finalColumns, handleHeadCheckChange, topHeadRows]\n );\n\n const tableBody = useMemo(\n () =>\n finalColumns && (\n <TableBody>\n {sortableItems ? (\n sortableItems.length > 0 ? (\n <SortableContext items={sortableItems} strategy={verticalListSortingStrategy}>\n {sortableItems.map((item, idx) => (\n <TableBodyRow\n key={item.id}\n className={classNames(!!showOddColor && 'odd-color', !!showEvenColor && 'even-color')}\n hover\n sx={onGetBodyRowSx ? onGetBodyRowSx(item, idx) : undefined}\n id={item.id}\n index={idx}\n defaultAlign={defaultAlign}\n defaultEllipsis={defaultEllipsis}\n sortable={sortable}\n columns={finalColumns}\n item={item}\n onClick={onClick}\n onCheckChange={handleBodyCheckChange}\n />\n ))}\n </SortableContext>\n ) : (\n <StyledBodyRow>\n <TableCell colSpan={finalColumns.length} style={{ flex: 1 }}>\n {noData ? (\n noData\n ) : (\n <StyledNoDataDiv>\n <div>\n <Icon>error</Icon>\n </div>\n <div>검색된 정보가 없습니다.</div>\n </StyledNoDataDiv>\n )}\n </TableCell>\n </StyledBodyRow>\n )\n ) : undefined}\n </TableBody>\n ),\n [\n defaultAlign,\n defaultEllipsis,\n finalColumns,\n handleBodyCheckChange,\n noData,\n onClick,\n onGetBodyRowSx,\n showEvenColor,\n showOddColor,\n sortable,\n sortableItems,\n ]\n );\n\n const tableFooter = useMemo(\n () =>\n finalColumns &&\n !isNoData &&\n footer && (\n <TableFooter>\n <TableRow>\n {finalColumns.map((column, idx) => (\n <TableFooterCell key={idx} column={column} defaultAlign={defaultAlign} />\n ))}\n </TableRow>\n </TableFooter>\n ),\n [defaultAlign, finalColumns, footer, isNoData]\n );\n\n const tablePaging = useMemo(\n () =>\n finalColumns &&\n paging &&\n paging.total > 0 && (\n <Stack ref={fullHeight ? pagingHeightResizeDetector : undefined} alignItems={pagingAlign} style={pagingStyle}>\n <TablePagination\n className={pagination?.className}\n style={pagination?.style}\n sx={pagination?.sx}\n paging={paging}\n align={pagingAlign}\n onChange={handlePageChange}\n />\n </Stack>\n ),\n [\n finalColumns,\n fullHeight,\n handlePageChange,\n pagination?.className,\n pagination?.style,\n pagination?.sx,\n paging,\n pagingAlign,\n pagingHeightResizeDetector,\n pagingStyle,\n ]\n );\n\n // Render ----------------------------------------------------------------------------------------------------------\n\n return finalColumns ? (\n <TableContextProvider value={tableContextValue}>\n <Paper\n ref={fullHeight ? containerHeightDetector : undefined}\n className={classNames(\n 'Table',\n className,\n !!stickyHeader && 'sticky-header',\n !!fullHeight && 'full-height',\n !!showOddColor && 'odd-color',\n !!showEvenColor && 'even-color',\n !!sortable && 'sortable'\n )}\n variant='outlined'\n style={style}\n sx={sx}\n >\n <SimpleBar ref={simpleBarRef} style={simpleBarStyle}>\n <DndContext sensors={sensors} collisionDetection={closestCenter} onDragEnd={handleDragEnd}>\n <MuiTable stickyHeader={stickyHeader} sx={tableSx} style={tableStyle}>\n {tableTopHead}\n {tableBody}\n {tableFooter}\n </MuiTable>\n </DndContext>\n </SimpleBar>\n {tablePaging}\n </Paper>\n </TableContextProvider>\n ) : null;\n }\n);\n\nTable.displayName = 'Table';\nTable.defaultProps = TableDefaultProps;\n\nexport default Table;\n","import React from 'react';\nimport { TableProps, TableCommands, TableItem } from '../Table';\nimport { FormValueMap, SearchCommands, SearchProps } from '@pdg/react-form';\nimport { ReactNode } from 'react';\nimport { CommonSxProps } from '../@types';\n\nexport interface SearchTableData<T = TableItem> {\n items: TableProps<T>['items'];\n paging?: TableProps<T>['paging'];\n}\n\nexport interface SearchTableSearchProps extends Omit<SearchProps, 'ref' | 'color' | 'autoSubmit' | 'onSubmit'> {\n ref?: React.ForwardedRef<SearchCommands>;\n searchGroups?: ReactNode;\n}\n\nexport interface SearchTableTableProps<T = TableItem>\n extends Omit<TableProps<T>, 'ref' | 'items' | 'paging' | 'onPageChange'> {\n ref?: React.ForwardedRef<TableCommands<T>>;\n}\n\nexport interface SearchTableProps<T = TableItem> extends CommonSxProps {\n color?: SearchProps['color'];\n hash?: boolean;\n stickyHeader?: boolean;\n fullHeight?: boolean;\n search?: SearchTableSearchProps;\n table: SearchTableTableProps<T>;\n betweenSearchTableComponent?: ReactNode;\n onGetData?(data: FormValueMap): Promise<SearchTableData<T>>;\n onRequestHashChange?(hash: string): void;\n}\n\nexport const SearchTableDefaultProps = {};\n\n//--------------------------------------------------------------------------------------------------------------------\n\nexport interface SearchTableCommands<T = TableItem> {\n reload(page?: number): void;\n getLastLoadData(): FormValueMap;\n getSearch(): SearchCommands | undefined;\n getTable(): TableCommands<T> | undefined;\n}\n","import React, { CSSProperties, useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport { Grid } from '@mui/material';\nimport {\n SearchTableProps,\n SearchTableDefaultProps,\n SearchTableSearchProps,\n SearchTableCommands,\n SearchTableData,\n SearchTableTableProps,\n} from './SearchTable.types';\nimport {\n FormCheckValueItemCommands,\n FormDateRangePickerCommands,\n FormDateValueItemCommands,\n FormHidden,\n FormValue,\n FormValueMap,\n Search,\n SearchCommands,\n SearchGroup,\n} from '@pdg/react-form';\nimport { Table, TableCommands, TableItem } from '../Table';\nimport { equal, notEmpty } from '../@util';\nimport dayjs from 'dayjs';\n\ninterface HashValueMap {\n [key: string]: string;\n}\n\ninterface SearchInfo {\n ref?: SearchTableSearchProps['ref'];\n searchGroups?: SearchTableSearchProps['searchGroups'];\n props?: Omit<SearchTableSearchProps, 'ref' | 'searchGroups'>;\n}\n\ninterface TableInfo {\n ref?: SearchTableTableProps['ref'];\n props?: Omit<SearchTableTableProps, 'ref'>;\n}\n\ninterface WithForwardRefType<T = TableItem> extends React.FC<SearchTableProps<T>> {\n <T = TableItem>(\n props: SearchTableProps<T> & React.RefAttributes<SearchTableCommands<T>>\n ): ReturnType<React.FC<SearchTableProps<T>>>;\n}\n\nconst SearchTable: WithForwardRefType = React.forwardRef<SearchTableCommands, SearchTableProps>(\n (\n {\n color,\n hash,\n stickyHeader,\n fullHeight,\n search,\n table,\n betweenSearchTableComponent,\n onGetData,\n onRequestHashChange,\n // ---------------------------------------------------------------------------------------------------------------\n className,\n style: initStyle,\n sx,\n },\n ref\n ) => {\n const searchRef = useRef<SearchCommands>();\n const tableRef = useRef<TableCommands>();\n\n //------------------------------------------------------------------------------------------------------------------\n\n const getSearchInfo = useCallback((search: SearchTableProps['search']) => {\n const searchInfo: SearchInfo = {};\n if (search) {\n const { ref, searchGroups, ...props } = search;\n searchInfo.ref = ref;\n searchInfo.searchGroups = searchGroups;\n searchInfo.props = props;\n }\n return searchInfo;\n }, []);\n\n const getTableInfo = useCallback((table: SearchTableProps['table']) => {\n const tableInfo: TableInfo = {};\n if (table) {\n const { ref, ...props } = table;\n tableInfo.ref = ref;\n tableInfo.props = props;\n }\n return tableInfo;\n }, []);\n\n // Ref -------------------------------------------------------------------------------------------------------------\n\n const lastGetDataDataRef = useRef<FormValueMap>({});\n\n // State -----------------------------------------------------------------------------------------------------------\n\n const [isFirstSearchSubmit, setIsFirstSearchSubmit] = useState(true);\n\n const [tableData, setTableData] = useState<SearchTableData>();\n\n // searchInfo ------------------------------------------------------------------------------------------------------\n\n const searchInfoFirstUseEffect = useRef(true);\n const [searchInfo, setSearchInfo] = useState<SearchInfo>(() => getSearchInfo(search));\n useEffect(() => {\n if (searchInfoFirstUseEffect.current) {\n searchInfoFirstUseEffect.current = false;\n } else {\n setSearchInfo(getSearchInfo(search));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [search]);\n\n // tableInfo -------------------------------------------------------------------------------------------------------\n\n const tableInfoFirstUseEffect = useRef(true);\n const [tableInfo, setTableInfo] = useState<TableInfo>(() => getTableInfo(table));\n useEffect(() => {\n if (tableInfoFirstUseEffect.current) {\n tableInfoFirstUseEffect.current = false;\n } else {\n setTableInfo(getTableInfo(table));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [table]);\n\n // Function - getData ----------------------------------------------------------------------------------------------\n\n const getData = useCallback(\n (data: FormValueMap) => {\n lastGetDataDataRef.current = data;\n\n if (onGetData) {\n onGetData(data).then(setTableData);\n }\n },\n [onGetData]\n );\n\n // Function ----------------------------------------------------------------------------------------------------------\n\n const deHash = useCallback((): HashValueMap => {\n const values: HashValueMap = {};\n const hash = window.location.hash.substring(1);\n hash.replace(/([^=&]+)=([^&]*)/g, (substring, key, value) => {\n values[decodeURIComponent(key)] = decodeURIComponent(value);\n return substring;\n });\n return values;\n }, []);\n\n const hashToSearchValue = useCallback((): FormValueMap | undefined => {\n const commands = searchRef.current;\n if (commands) {\n commands.resetAll();\n\n const hashValues = deHash();\n Object.keys(hashValues).forEach((name) => {\n const value: FormValue = hashValues[name];\n if (name === 'page') {\n commands.setValue(name, Number(value) || 1);\n } else {\n const itemCommands = commands.getItem(name);\n if (itemCommands) {\n switch (itemCommands.getType()) {\n case 'FormCheckbox':\n if (notEmpty(value)) {\n const checkCommands = itemCommands as FormCheckValueItemCommands<any>;\n if (value.toString() === itemCommands.getValue()?.toString()) {\n checkCommands.setChecked(true);\n } else if (value.toString() === checkCommands.getUncheckedValue()?.toString()) {\n checkCommands.setChecked(false);\n }\n }\n break;\n case 'FormDatePicker':\n case 'FormDateTimePicker':\n case 'FormTimePicker':\n {\n if (notEmpty(value)) {\n const dateCommands = itemCommands as FormDateValueItemCommands;\n const format = dateCommands.getFormValueFormat();\n const itemValue = dayjs(value, format);\n itemCommands.setValue(itemValue.isValid() ? itemValue : null);\n } else {\n itemCommands.setValue(null);\n }\n }\n break;\n case 'FormDateRangePicker':\n {\n const dateRangePickerCommands = itemCommands as FormDateRangePickerCommands;\n const itemName = dateRangePickerCommands.getName();\n const startNameSuffix = dateRangePickerCommands.getFormValueStartNameSuffix();\n const endNameSuffix = dateRangePickerCommands.getFormValueEndNameSuffix();\n const format = dateRangePickerCommands.getFormValueFormat();\n\n if (name === `${itemName}${startNameSuffix}`) {\n if (notEmpty(value)) {\n const startValue = dayjs(value, format);\n dateRangePickerCommands.setStartValue(startValue.isValid() ? startValue : null);\n } else {\n dateRangePickerCommands.setStartValue(null);\n }\n } else if (name === `${itemName}${endNameSuffix}`) {\n if (notEmpty(value)) {\n const endValue = dayjs(value, format);\n dateRangePickerCommands.setEndValue(endValue.isValid() ? endValue : null);\n } else {\n dateRangePickerCommands.setEndValue(null);\n }\n }\n }\n break;\n default:\n commands.setValue(name, value);\n break;\n }\n }\n }\n });\n return commands.getAllFormValue();\n }\n }, [searchRef, deHash]);\n\n // Commands --------------------------------------------------------------------------------------------------------\n\n useLayoutEffect(() => {\n if (ref) {\n const commands: SearchTableCommands = {\n reload: (page?: number) => {\n if (page != null) {\n tableRef.current?.scrollToTop();\n }\n\n let finalData: FormValueMap;\n if (lastGetDataDataRef.current) {\n finalData = { ...lastGetDataDataRef.current };\n if (page != null) {\n searchRef.current?.setValue('page', page);\n\n finalData.page = page;\n }\n } else {\n if (hash) {\n hashToSearchValue();\n }\n\n if (page != null) {\n searchRef.current?.setValue('page', page);\n }\n\n finalData = searchRef.current?.getAllFormValue() || {};\n }\n\n getData(finalData);\n },\n getLastLoadData: () => lastGetDataDataRef.current || {},\n getSearch: () => searchRef.current,\n getTable: () => tableRef.current,\n };\n\n if (typeof ref === 'function') {\n ref(commands);\n } else {\n ref.current = commands;\n }\n }\n }, [ref, hash, lastGetDataDataRef, searchRef, tableRef, getData, hashToSearchValue]);\n\n //--------------------------------------------------------------------------------------------------------------------\n\n useEffect(() => {\n if (hash) {\n const data = hashToSearchValue();\n if (data) getData(data);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [window.location.hash]);\n\n //--------------------------------------------------------------------------------------------------------------------\n\n const hashChange = useCallback(\n (params: FormValueMap) => {\n if (onRequestHashChange) {\n const hashes: string[] = [];\n Object.keys(params).forEach((name) => {\n const value = params[name];\n if (name === 'page') {\n if (Number(value) > 1) {\n hashes.push(`${name}=${value}`);\n }\n } else {\n if (searchRef.current) {\n const itemCommands = searchRef.current.getItem(name);\n\n if (itemCommands) {\n let resetValue: FormValue | null = null;\n\n switch (itemCommands.getType()) {\n case 'FormDateRangePicker':\n {\n const itemName = itemCommands.getName();\n const startSuffix = (itemCommands as FormDateRangePickerCommands).getFormValueStartNameSuffix();\n const endSuffix = (itemCommands as FormDateRangePickerCommands).getFormValueEndNameSuffix();\n\n if (name === `${itemName}${startSuffix}`) {\n resetValue = searchRef.current.getFormReset(itemName, startSuffix);\n } else if (name === `${itemName}${endSuffix}`) {\n resetValue = searchRef.current.getFormReset(itemName, endSuffix);\n }\n }\n break;\n default:\n resetValue = searchRef.current.getFormReset(name);\n break;\n }\n\n if (resetValue != null && !equal(resetValue, value)) {\n hashes.push(`${name}=${encodeURIComponent(value)}`);\n }\n }\n }\n }\n });\n const finalHash = hashes.join('&');\n if (window.location.hash.substring(1) === finalHash) {\n getData(params);\n } else {\n onRequestHashChange(hashes.join('&'));\n }\n }\n },\n [onRequestHashChange, getData]\n );\n\n //------------------------------------------------------------------------------------------------------------------\n\n const handlePageChange = useCallback(\n (page: number) => {\n searchRef.current?.setValue('page', page);\n\n let finalData: FormValueMap | undefined;\n if (lastGetDataDataRef.current) {\n finalData = { ...lastGetDataDataRef.current };\n finalData.page = page;\n } else {\n finalData = searchRef.current?.getAllFormValue();\n }\n\n if (hash) {\n hashChange(finalData || {});\n } else {\n getData(finalData || {});\n }\n },\n [searchRef, hash, hashChange, getData]\n );\n\n const handleSearchSubmit = useCallback(\n (data: FormValueMap) => {\n tableRef.current?.scrollToTop();\n\n if (isFirstSearchSubmit) {\n setIsFirstSearchSubmit(false);\n if (!hash) {\n getData(data);\n }\n } else {\n searchRef.current?.setValue('page', 1);\n const finalData: FormValueMap = { ...data, page: 1 };\n if (hash) {\n hashChange(finalData);\n } else {\n getData(finalData);\n }\n }\n },\n [searchRef, hash, hashChange, getData, isFirstSearchSubmit]\n );\n\n // Memo --------------------------------------------------------------------------------------------------------------\n\n const style = useMemo((): CSSProperties | undefined => {\n if (fullHeight) {\n return { ...initStyle, flex: 1, display: 'flex' };\n } else {\n return initStyle;\n }\n }, [initStyle, fullHeight]);\n\n const tableContainerStyle = useMemo((): CSSProperties | undefined => {\n if (fullHeight) {\n return { flex: 1, display: 'flex', flexDirection: 'column' };\n }\n }, [fullHeight]);\n\n //------------------------------------------------------------------------------------------------------------------\n\n return (\n <Grid\n container\n direction='column'\n spacing={1}\n className={classNames('SearchTable', className)}\n style={style}\n sx={sx}\n >\n <Grid item sx={{ display: searchInfo.searchGroups ? undefined : 'none' }}>\n <Search\n color={color}\n {...searchInfo.props}\n ref={(commands: SearchCommands) => {\n if (searchInfo.ref) {\n if (typeof searchInfo.ref === 'function') {\n searchInfo.ref(commands);\n } else {\n searchInfo.ref.current = commands;\n }\n }\n searchRef.current = commands || undefined;\n }}\n autoSubmit\n onSubmit={handleSearchSubmit}\n >\n <SearchGroup hidden>\n <FormHidden name='page' value={1} />\n </SearchGroup>\n {searchInfo.searchGroups}\n </Search>\n </Grid>\n {betweenSearchTableComponent && <Grid item>{betweenSearchTableComponent}</Grid>}\n <Grid item style={tableContainerStyle}>\n <Table\n {...tableInfo.props}\n stickyHeader={stickyHeader || tableInfo.props?.stickyHeader}\n fullHeight={fullHeight || tableInfo.props?.fullHeight}\n ref={(commands: TableCommands) => {\n if (tableInfo.ref) {\n if (typeof tableInfo.ref === 'function') {\n tableInfo.ref(commands);\n } else {\n tableInfo.ref.current = commands;\n }\n }\n tableRef.current = commands || undefined;\n }}\n items={tableData?.items}\n paging={tableData?.paging}\n onPageChange={handlePageChange}\n />\n </Grid>\n </Grid>\n );\n }\n);\n\nSearchTable.displayName = 'SearchTable';\nSearchTable.defaultProps = SearchTableDefaultProps;\n\nexport default SearchTable;\n","import { ButtonProps } from '@mui/material';\n\nexport interface TableButtonProps extends Omit<ButtonProps, 'size' | 'startIcon' | 'endIcon'> {\n icon?: string;\n startIcon?: string;\n endIcon?: string;\n}\n\nexport const TableButtonDefaultProps: Pick<TableButtonProps, 'variant' | 'color'> = {\n variant: 'outlined',\n color: 'primary',\n};\n","import { IconProps } from '@mui/material';\n\nexport interface TableIconProps extends IconProps {\n children: string;\n}\n\nexport const TableIconDefaultProps = {};\n","import React, { useMemo } from 'react';\nimport classNames from 'classnames';\nimport { Icon } from '@mui/material';\nimport { TableIconProps as Props, TableIconDefaultProps } from './TableIcon.types';\n\nconst TableIcon = React.forwardRef<HTMLAnchorElement, Props>(({ className, children: initChildren, ...props }, ref) => {\n // Memo --------------------------------------------------------------------------------------------------------------\n\n const children = useMemo(\n () => initChildren.replace(/[A-Z]/g, (letter, idx) => `${idx > 0 ? '_' : ''}${letter.toLowerCase()}`),\n [initChildren]\n );\n\n // Render ----------------------------------------------------------------------------------------------------------\n\n return (\n <Icon ref={ref} {...props} className={classNames('TableIcon', className)}>\n {children}\n </Icon>\n );\n});\n\nTableIcon.displayName = 'TableIcon';\nTableIcon.defaultProps = TableIconDefaultProps;\n\nexport default TableIcon;\n","import React, { useMemo } from 'react';\nimport classNames from 'classnames';\nimport { Button } from '@mui/material';\nimport { TableButtonProps as Props, TableButtonDefaultProps } from './TableButton.types';\nimport TableIcon from '../TableIcon';\n\nconst TableButton = React.forwardRef<HTMLButtonElement, Props>(\n ({ children, className, sx: initSx, color, icon, startIcon, endIcon, onClick, ...props }, ref) => {\n const sx = useMemo(\n () => ({ minWidth: 0, px: !startIcon && !endIcon ? 0.7 : 1.7, ...initSx }),\n [endIcon, initSx, startIcon]\n );\n\n // Render ----------------------------------------------------------------------------------------------------------\n\n return (\n <Button\n ref={ref}\n className={classNames(className, 'TableButton')}\n type='button'\n size='small'\n sx={sx}\n color={color}\n onClick={onClick}\n startIcon={\n startIcon ? (\n <TableIcon fontSize='small' sx={{ mr: -0.5 }}>\n {startIcon}\n </TableIcon>\n ) : undefined\n }\n endIcon={\n endIcon ? (\n <TableIcon fontSize='small' sx={{ ml: -0.5 }}>\n {endIcon}\n </TableIcon>\n ) : undefined\n }\n {...props}\n >\n {icon && (\n <TableIcon fontSize='small' color={color}>\n {icon}\n </TableIcon>\n )}\n {children}\n </Button>\n );\n }\n);\n\nTableButton.displayName = 'TableButton';\nTableButton.defaultProps = TableButtonDefaultProps;\n\nexport default TableButton;\n","import { ButtonProps } from '@mui/material';\nimport { ReactElement } from 'react';\nimport { PopperPlacementType } from '@mui/base/Popper/Popper.types';\n\nexport interface TableMenuButtonProps extends Omit<ButtonProps, 'size' | 'startIcon' | 'endIcon' | 'onClick'> {\n icon?: string;\n startIcon?: string;\n endIcon?: string;\n placement?: PopperPlacementType;\n inModal?: boolean;\n zIndex?: number;\n menuList: ReactElement;\n}\n\nexport const TableMenuButtonDefaultProps: Pick<TableMenuButtonProps, 'variant' | 'color' | 'placement'> = {\n variant: 'outlined',\n color: 'primary',\n placement: 'bottom',\n};\n","import React, { useCallback, useEffect, useId, useMemo, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport { Button, ClickAwayListener, Grow, Paper, Popper } from '@mui/material';\nimport { TableMenuButtonProps as Props, TableMenuButtonDefaultProps } from './TableMenuButton.types';\nimport TableIcon from '../TableIcon';\nimport useTableState from '../TableContext/useTableState';\n\nconst TableMenuButton = React.forwardRef<HTMLButtonElement, Props>(\n (\n {\n children,\n className,\n sx: initSx,\n color,\n icon,\n startIcon,\n endIcon,\n placement,\n inModal,\n zIndex,\n menuList,\n ...props\n },\n ref\n ) => {\n // ID ----------------------------------------------------------------------------------------------------------------\n\n const buttonId = useId();\n const menuId = useId();\n\n // Use ---------------------------------------------------------------------------------------------------------------\n\n const { menuOpen, openMenuId, setMenuOpen } = useTableState();\n\n // Ref ---------------------------------------------------------------------------------------------------------------\n\n const anchorRef = useRef<HTMLButtonElement | null>();\n\n // State -------------------------------------------------------------------------------------------------------------\n\n const [open, setOpen] = useState(false);\n\n // Effect ------------------------------------------------------------------------------------------------------------\n\n useEffect(() => {\n if (open && menuOpen && openMenuId !== menuId) {\n setOpen(false);\n }\n }, [menuId, menuOpen, open, openMenuId]);\n\n // Memo --------------------------------------------------------------------------------------------------------------\n\n const sx = useMemo(\n () => ({ minWidth: 0, px: !startIcon && !endIcon ? 0.7 : 1.7, ...initSx }),\n [endIcon, initSx, startIcon]\n );\n\n // Event Handler -----------------------------------------------------------------------------------------------------\n\n const handleClick = useCallback(() => {\n setOpen((old) => !old);\n if (!open) {\n setMenuOpen(true, menuId);\n } else {\n setMenuOpen(false, menuId);\n }\n }, [menuId, open, setMenuOpen]);\n\n const handleClose = useCallback(() => {\n if (open) {\n setOpen(false);\n setMenuOpen(false, menuId);\n }\n }, [menuId, open, setMenuOpen]);\n\n const handleListKeyDown = useCallback(\n (event: React.KeyboardEvent) => {\n if (event.key === 'Tab') {\n event.preventDefault();\n if (open) {\n setOpen(false);\n setMenuOpen(false, menuId);\n }\n } else if (event.key === 'Escape') {\n if (open) {\n setOpen(false);\n setMenuOpen(false, menuId);\n }\n }\n },\n [menuId, open, setMenuOpen]\n );\n\n // Memo --------------------------------------------------------------------------------------------------------------\n\n const finalMenuList = useMemo(() => {\n return React.cloneElement(menuList, {\n autoFocusItem: open,\n id: menuId,\n 'aria-labelledby': buttonId,\n onKeyDown: handleListKeyDown,\n onClick: handleClose,\n });\n }, [buttonId, handleClose, handleListKeyDown, menuId, menuList, open]);\n\n // Render ----------------------------------------------------------------------------------------------------------\n\n return (\n <span>\n <Button\n ref={(r) => {\n if (ref) {\n if (typeof ref === 'function') {\n ref(r);\n } else {\n ref.current = r;\n }\n }\n anchorRef.current = r;\n }}\n id={buttonId}\n aria-controls={open ? menuId : undefined}\n aria-expanded={open ? 'true' : undefined}\n aria-haspopup='true'\n className={classNames(className, 'TableMenuButton')}\n type='button'\n size='small'\n sx={sx}\n color={color}\n onClick={handleClick}\n startIcon={\n startIcon ? (\n <TableIcon fontSize='small' sx={{ mr: -0.5 }}>\n {startIcon}\n </TableIcon>\n ) : undefined\n }\n endIcon={\n endIcon ? (\n <TableIcon fontSize='small' sx={{ ml: -0.5 }}>\n {endIcon}\n </TableIcon>\n ) : undefined\n }\n {...props}\n >\n {icon && (\n <TableIcon fontSize='small' color={color}>\n {icon}\n </TableIcon>\n )}\n {children}\n </Button>\n <Popper\n className='TableMenuButton-Popper'\n open={open}\n anchorEl={anchorRef.current}\n role={undefined}\n placement={placement}\n transition\n style={{ zIndex: inModal ? (zIndex === undefined ? 1301 : zIndex) : zIndex }}\n >\n {({ TransitionProps, placement }) => {\n const placements = placement.split('-');\n let transformOrigin = '';\n if (placements[0] === 'left') {\n transformOrigin = 'right';\n // if (placements.length > 1) {\n // if (placements[1] === 'start') {\n // transformOrigin += ' top';\n // } else if (placements[1] === 'end') {\n // transformOrigin += ' bottom';\n // }\n // }\n } else if (placements[0] === 'right') {\n transformOrigin = 'left';\n // if (placements.length > 1) {\n // if (placements[1] === 'start') {\n // transformOrigin += ' top';\n // } else if (placements[1] === 'end') {\n // transformOrigin += ' bottom';\n // }\n // }\n } else if (placements[0] === 'top') {\n transformOrigin = 'bottom';\n // if (placements.length > 1) {\n // if (placements[1] === 'start') {\n // transformOrigin += ' left';\n // } else if (placements[1] === 'end') {\n // transformOrigin += ' right';\n // }\n // }\n } else if (placements[0] === 'bottom') {\n transformOrigin = 'top';\n // if (placements.length > 1) {\n // if (placements[1] === 'start') {\n // transformOrigin += ' left';\n // } else if (placements[1] === 'end') {\n // transformOrigin += ' right';\n // }\n // }\n } else {\n transformOrigin = 'top';\n }\n\n return (\n <Grow\n {...TransitionProps}\n style={{\n transformOrigin,\n }}\n >\n <Paper>\n <ClickAwayListener onClickAway={handleClose}>{finalMenuList}</ClickAwayListener>\n </Paper>\n </Grow>\n );\n }}\n </Popper>\n </span>\n );\n }\n);\n\nTableMenuButton.displayName = 'TableMenuButton';\nTableMenuButton.defaultProps = TableMenuButtonDefaultProps;\n\nexport default TableMenuButton;\n","import { ReactNode } from 'react';\nimport { BoxProps, GridProps, IconButtonProps, TypographyProps } from '@mui/material';\nimport { CommonSxProps } from '../@types';\n\nexport interface InfoTableInfo {\n [key: string]: any;\n}\n\nexport interface InfoTableItem<T = InfoTableInfo> {\n label: ReactNode;\n name?: keyof T;\n ellipsis?: boolean;\n className?: string;\n style?: CommonSxProps['style'];\n sx?: BoxProps['sx'];\n labelClassName?: string;\n labelColor?: TypographyProps['color'];\n labelStyle?: CommonSxProps['style'];\n labelSx?: BoxProps['sx'];\n valueClassName?: string;\n valueStyle?: CommonSxProps['style'];\n valueSx?: CommonSxProps['sx'];\n xs?: number;\n sm?: number;\n md?: number;\n lg?: number;\n xl?: number;\n clipboard?: boolean;\n clipboardIcon?: string;\n clipboardText?: string;\n clipboardProps?: Omit<IconButtonProps, 'children'>;\n onRender?(info: T): ReactNode;\n onRenderEmpty?(info: T): ReactNode;\n}\n\nexport type InfoTableItems<T = InfoTableInfo> = (InfoTableItem<T> | false | undefined | null)[];\n\nexport type InfoTableCols = 1 | 2 | 3 | 4 | 6 | 12;\n\nexport interface InfoTableProps<T = InfoTableInfo> {\n cols:\n | InfoTableCols\n | {\n xs?: InfoTableCols;\n sm?: InfoTableCols;\n md?: InfoTableCols;\n lg?: InfoTableCols;\n xl?: InfoTableCols;\n };\n spacing?: GridProps['spacing'];\n columnSpacing?: GridProps['spacing'];\n rowSpacing?: GridProps['spacing'];\n className?: string;\n style?: CommonSxProps['style'];\n sx?: CommonSxProps['sx'];\n labelClassName?: string;\n labelColor?: TypographyProps['color'];\n labelStyle?: CommonSxProps['style'];\n labelSx?: BoxProps['sx'];\n valueClassName?: string;\n valueStyle?: CommonSxProps['style'];\n valueSx?: CommonSxProps['sx'];\n ellipsis?: boolean;\n valueUnderline?: boolean;\n info: T;\n items: InfoTableItems<T>;\n onCopyToClipboard?(item: InfoTableItem<T>, text: string): void;\n}\n\nexport const InfoTableDefaultProps: Pick<InfoTableProps, 'spacing' | 'columnSpacing' | 'rowSpacing' | 'labelColor'> = {\n spacing: 2,\n rowSpacing: 3,\n labelColor: 'primary',\n};\n","import { Box, IconButton, styled } from '@mui/material';\n\nexport const Label = styled(Box)`\n font-size: 12px;\n font-weight: bold;\n`;\n\nexport const ValueWrap = styled(Box)`\n margin-top: 3px;\n position: relative;\n display: flex;\n flex-direction: row;\n`;\n\nexport const Value = styled('div')`\n flex: 1;\n`;\n\nexport const ValueEllipsis = styled('div')`\n flex: 1;\n position: relative;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n\nexport const ValueClipboard = styled('div')``;\n\nexport const ClipboardIconButton = styled(IconButton)`\n margin-top: -10px;\n margin-bottom: -10px;\n`;\n","\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n","\"use strict\";\n\nvar deselectCurrent = require(\"toggle-selection\");\n\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n}\n\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement(\"span\");\n mark.textContent = text;\n // avoid screen readers from reading out loud the text\n mark.ariaHidden = \"true\"\n // reset user styles for span element\n mark.style.all = \"unset\";\n // prevents scrolling to the end of the page\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = \"pre\";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === \"undefined\") { // IE 11\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"]\n window.clipboardData.setData(format, text);\n } else { // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CopyToClipboard = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _copyToClipboard = _interopRequireDefault(require(\"copy-to-clipboard\"));\n\nvar _excluded = [\"text\", \"onCopy\", \"options\", \"children\"];\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar CopyToClipboard = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(CopyToClipboard, _React$PureComponent);\n\n var _super = _createSuper(CopyToClipboard);\n\n function CopyToClipboard() {\n var _this;\n\n _classCallCheck(this, CopyToClipboard);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"onClick\", function (event) {\n var _this$props = _this.props,\n text = _this$props.text,\n onCopy = _this$props.onCopy,\n children = _this$props.children,\n options = _this$props.options;\n\n var elem = _react[\"default\"].Children.only(children);\n\n var result = (0, _copyToClipboard[\"default\"])(text, options);\n\n if (onCopy) {\n onCopy(text, result);\n } // Bypass onClick if it was present\n\n\n if (elem && elem.props && typeof elem.props.onClick === 'function') {\n elem.props.onClick(event);\n }\n });\n\n return _this;\n }\n\n _createClass(CopyToClipboard, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n _text = _this$props2.text,\n _onCopy = _this$props2.onCopy,\n _options = _this$props2.options,\n children = _this$props2.children,\n props = _objectWithoutProperties(_this$props2, _excluded);\n\n var elem = _react[\"default\"].Children.only(children);\n\n return /*#__PURE__*/_react[\"default\"].cloneElement(elem, _objectSpread(_objectSpread({}, props), {}, {\n onClick: this.onClick\n }));\n }\n }]);\n\n return CopyToClipboard;\n}(_react[\"default\"].PureComponent);\n\nexports.CopyToClipboard = CopyToClipboard;\n\n_defineProperty(CopyToClipboard, \"defaultProps\", {\n onCopy: undefined,\n options: undefined\n});","\"use strict\";\n\nvar _require = require('./Component'),\n CopyToClipboard = _require.CopyToClipboard;\n\nCopyToClipboard.CopyToClipboard = CopyToClipboard;\nmodule.exports = CopyToClipboard;","import React, { ReactNode, useMemo } from 'react';\nimport classNames from 'classnames';\nimport { InfoTableProps as Props, InfoTableDefaultProps, InfoTableInfo } from './InfoTable.types';\nimport { ClipboardIconButton, Label, Value, ValueClipboard, ValueEllipsis, ValueWrap } from './InfoTable.style';\nimport { Grid } from '@mui/material';\nimport { combineSx, empty, notEmpty, typographyColorToSxColor } from '../@util';\nimport TableIcon from '../TableIcon';\nimport { CopyToClipboard } from 'react-copy-to-clipboard';\n\ninterface WithType<T = InfoTableInfo> extends React.FC<Props<T>> {\n <T = InfoTableInfo>(props: Props<T>): ReturnType<React.FC<Props<T>>>;\n}\n\nconst InfoTable: WithType = ({\n cols,\n spacing,\n columnSpacing,\n rowSpacing,\n className,\n style,\n sx,\n labelClassName,\n labelColor,\n labelStyle,\n labelSx,\n valueClassName,\n valueStyle,\n valueSx,\n ellipsis,\n valueUnderline,\n info,\n items,\n onCopyToClipboard,\n}: Props) => {\n const sizeProps = useMemo(() => {\n const value: { xs?: number; sm?: number; md?: number; lg?: number; xl?: number } = {};\n if (typeof cols === 'number') {\n value.xs = 12 / cols;\n } else {\n if (cols.xs) value.xs = 12 / cols.xs;\n if (cols.sm) value.sm = 12 / cols.sm;\n if (cols.md) value.md = 12 / cols.md;\n if (cols.lg) value.lg = 12 / cols.lg;\n if (cols.xl) value.xl = 12 / cols.xl;\n }\n return value;\n }, [cols]);\n\n return (\n <Grid\n container\n spacing={spacing}\n columnSpacing={columnSpacing}\n rowSpacing={rowSpacing}\n className={classNames('InfoTable', className)}\n style={style}\n sx={sx}\n >\n {items.map((item, idx) => {\n if (item) {\n const finalLabelColor = typographyColorToSxColor(item.labelColor || labelColor);\n const finalLabelSx = combineSx(labelSx, item.labelSx, !!finalLabelColor && { color: finalLabelColor });\n const finalValueSx = combineSx(valueSx, item.valueSx);\n const valueUnderlineStyle = valueUnderline\n ? { borderBottom: '1px solid #efefef', paddingBottom: 5 }\n : undefined;\n\n const finalSizeProps = { ...sizeProps };\n if (item.xs) finalSizeProps.xs = item.xs;\n if (item.sm) finalSizeProps.sm = item.sm;\n if (item.md) finalSizeProps.md = item.md;\n if (item.lg) finalSizeProps.lg = item.lg;\n if (item.xl) finalSizeProps.xl = item.xl;\n\n let data: ReactNode | string | number = item.name !== undefined ? info[item.name] : undefined;\n if (item.onRender) data = item.onRender(info);\n if (empty(data)) data = item.onRenderEmpty ? item.onRenderEmpty(info) : <>&nbsp;</>;\n\n const copyToClipboardText =\n item.clipboardText || (typeof data === 'string' ? data : typeof data === 'number' ? data.toString() : '');\n\n return (\n <Grid key={idx} item {...finalSizeProps} className={item.className} style={item.style} sx={item.sx}>\n <Label\n className={classNames(labelClassName, item.labelClassName)}\n style={{ ...item.labelStyle, ...labelStyle }}\n sx={finalLabelSx}\n >\n {item.label}\n </Label>\n <ValueWrap\n className={classNames(valueClassName, item.valueClassName)}\n style={{ ...valueStyle, ...item.valueStyle, ...valueUnderlineStyle }}\n sx={finalValueSx}\n >\n {item.ellipsis || ellipsis ? <ValueEllipsis>{data}</ValueEllipsis> : <Value>{data}</Value>}\n {item.clipboard && notEmpty(copyToClipboardText) && (\n <ValueClipboard>\n <CopyToClipboard\n text={copyToClipboardText}\n onCopy={onCopyToClipboard ? () => onCopyToClipboard(item, copyToClipboardText) : undefined}\n >\n <ClipboardIconButton size='small' color='primary' {...item.clipboardProps}>\n <TableIcon>{item.clipboardIcon || 'ContentPaste'}</TableIcon>\n </ClipboardIconButton>\n </CopyToClipboard>\n </ValueClipboard>\n )}\n </ValueWrap>\n </Grid>\n );\n }\n })}\n </Grid>\n );\n};\n\nInfoTable.displayName = 'InfoTable';\nInfoTable.defaultProps = InfoTableDefaultProps;\n\nexport default InfoTable;\n"],"names":["freeGlobal","freeSelf","root","Symbol","objectProto","hasOwnProperty","nativeObjectToString","symToStringTag","getRawTag","objectToString","nullTag","undefinedTag","baseGetTag","isObjectLike","symbolTag","isSymbol","reWhitespace","trimmedEndIndex","reTrimStart","baseTrim","isObject","NAN","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","toNumber","now","FUNC_ERROR_TEXT","nativeMax","nativeMin","debounce","throttle","__assign","canUseDOM","__rest","React","global","require$$0","require$$1","require$$2","findDOMNode","isValidElement","createRef","cloneElement","PureComponent","useRef","useState","useCallback","useEffect","StyledBodyRow","styled","TableRow","lighten","templateObject_1","createContext","useContext","TableCell","useMemo","Box","Checkbox","Tooltip","sortable","useSortable","Stack","Pagination","useLayoutEffect","useTheme","TableHead","useSensors","useSensor","MouseSensor","TouchSensor","KeyboardSensor","sortableKeyboardCoordinates","uuid","arrayMove","TableBody","SortableContext","verticalListSortingStrategy","Icon","TableFooter","Paper","DndContext","closestCenter","MuiTable","Grid","Search","SearchGroup","FormHidden","Button","useId","Popper","Grow","ClickAwayListener","IconButton","CopyToClipboard"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA;AACA;AACA,CAAA,CAAC,YAAY;AAEb;AACA,EAAC,IAAI,MAAM,GAAG,EAAE,CAAC,cAAc,CAAC;AAChC;EACC,SAAS,UAAU,IAAI;AACxB,GAAE,IAAI,OAAO,GAAG,EAAE,CAAC;AACnB;AACA,GAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC7C,IAAG,IAAI,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,GAAG,EAAE;KACR,OAAO,GAAG,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;KAChD;IACD;AACH;GACE,OAAO,OAAO,CAAC;GACf;AACF;AACA,EAAC,SAAS,UAAU,EAAE,GAAG,EAAE;GACzB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;IACvD,OAAO,GAAG,CAAC;IACX;AACH;AACA,GAAE,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;IAC5B,OAAO,EAAE,CAAC;IACV;AACH;AACA,GAAE,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;IACvB,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACnC;AACH;GACE,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC,SAAS,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;AACxG,IAAG,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;IACtB;AACH;AACA,GAAE,IAAI,OAAO,GAAG,EAAE,CAAC;AACnB;AACA,GAAE,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE;AACvB,IAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE;KACtC,OAAO,GAAG,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;KACpC;IACD;AACH;GACE,OAAO,OAAO,CAAC;GACf;AACF;AACA,EAAC,SAAS,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE;GACtC,IAAI,CAAC,QAAQ,EAAE;IACd,OAAO,KAAK,CAAC;IACb;AACH;GACE,IAAI,KAAK,EAAE;AACb,IAAG,OAAO,KAAK,GAAG,GAAG,GAAG,QAAQ,CAAC;IAC9B;AACH;AACA,GAAE,OAAO,KAAK,GAAG,QAAQ,CAAC;GACxB;AACF;EACC,IAAqC,MAAM,CAAC,OAAO,EAAE;AACtD,GAAE,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC;GAChC,MAAA,CAAA,OAAA,GAAiB,UAAU,CAAC;AAC9B,GAAE,MAKM;AACR,GAAE,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;GAC/B;AACF,EAAC,EAAE,EAAA;;;;yEC5EH;AACA,IAAIA,YAAU,GAAG,OAAO,MAAM,IAAI,QAAQ,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC;AAC3F;AACA,mBAAeA,YAAU,CCDzB;AACA,IAAIC,UAAQ,GAAG,OAAO,IAAI,IAAI,QAAQ,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC;AACjF;AACA;AACA,IAAIC,MAAI,GAAGF,YAAU,IAAIC,UAAQ,IAAI,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;AAC/D;AACA,aAAeC,MAAI,CCNnB;AACA,IAAIC,QAAM,GAAGD,MAAI,CAAC,MAAM,CAAC;AACzB;AACA,eAAeC,QAAM,CCHrB;AACA,IAAIC,aAAW,GAAG,MAAM,CAAC,SAAS,CAAC;AACnC;AACA;AACA,IAAIC,gBAAc,GAAGD,aAAW,CAAC,cAAc,CAAC;AAChD;AACA;AACA;AACA;AACA;AACA;AACA,IAAIE,sBAAoB,GAAGF,aAAW,CAAC,QAAQ,CAAC;AAChD;AACA;AACA,IAAIG,gBAAc,GAAGJ,QAAM,GAAGA,QAAM,CAAC,WAAW,GAAG,SAAS,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASK,WAAS,CAAC,KAAK,EAAE;AAC1B,EAAE,IAAI,KAAK,GAAGH,gBAAc,CAAC,IAAI,CAAC,KAAK,EAAEE,gBAAc,CAAC;AACxD,MAAM,GAAG,GAAG,KAAK,CAACA,gBAAc,CAAC,CAAC;AAClC;AACA,EAAE,IAAI;AACN,IAAI,KAAK,CAACA,gBAAc,CAAC,GAAG,SAAS,CAAC;AACtC,IAAI,IAAI,QAAQ,GAAG,IAAI,CAAC;AACxB,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE;AAChB;AACA,EAAE,IAAI,MAAM,GAAGD,sBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChD,EAAE,IAAI,QAAQ,EAAE;AAChB,IAAI,IAAI,KAAK,EAAE;AACf,MAAM,KAAK,CAACC,gBAAc,CAAC,GAAG,GAAG,CAAC;AAClC,KAAK,MAAM;AACX,MAAM,OAAO,KAAK,CAACA,gBAAc,CAAC,CAAC;AACnC,KAAK;AACL,GAAG;AACH,EAAE,OAAO,MAAM,CAAC;AAChB,CC3CA;AACA,IAAIH,aAAW,GAAG,MAAM,CAAC,SAAS,CAAC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,IAAIE,sBAAoB,GAAGF,aAAW,CAAC,QAAQ,CAAC;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASK,gBAAc,CAAC,KAAK,EAAE;AAC/B,EAAE,OAAOH,sBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1C,CCfA;AACA,IAAII,SAAO,GAAG,eAAe;AAC7B,IAAIC,cAAY,GAAG,oBAAoB,CAAC;AACxC;AACA;AACA,IAAIJ,gBAAc,GAAGJ,QAAM,GAAGA,QAAM,CAAC,WAAW,GAAG,SAAS,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASS,YAAU,CAAC,KAAK,EAAE;AAC3B,EAAE,IAAI,KAAK,IAAI,IAAI,EAAE;AACrB,IAAI,OAAO,KAAK,KAAK,SAAS,GAAGD,cAAY,GAAGD,SAAO,CAAC;AACxD,GAAG;AACH,EAAE,OAAO,CAACH,gBAAc,IAAIA,gBAAc,IAAI,MAAM,CAAC,KAAK,CAAC;AAC3D,MAAMC,WAAS,CAAC,KAAK,CAAC;AACtB,MAAMC,gBAAc,CAAC,KAAK,CAAC,CAAC;AAC5B,CCzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASI,cAAY,CAAC,KAAK,EAAE;AAC7B,EAAE,OAAO,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,IAAI,QAAQ,CAAC;AACnD,CCvBA;AACA,IAAIC,WAAS,GAAG,iBAAiB,CAAC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,UAAQ,CAAC,KAAK,EAAE;AACzB,EAAE,OAAO,OAAO,KAAK,IAAI,QAAQ;AACjC,KAAKF,cAAY,CAAC,KAAK,CAAC,IAAID,YAAU,CAAC,KAAK,CAAC,IAAIE,WAAS,CAAC,CAAC;AAC5D,CC1BA;AACA,IAAIE,cAAY,GAAG,IAAI,CAAC;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,iBAAe,CAAC,MAAM,EAAE;AACjC,EAAE,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;AAC5B;AACA,EAAE,OAAO,KAAK,EAAE,IAAID,cAAY,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE;AAC/D,EAAE,OAAO,KAAK,CAAC;AACf,CCdA;AACA,IAAIE,aAAW,GAAG,MAAM,CAAC;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,UAAQ,CAAC,MAAM,EAAE;AAC1B,EAAE,OAAO,MAAM;AACf,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,EAAEF,iBAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAACC,aAAW,EAAE,EAAE,CAAC;AAC3E,MAAM,MAAM,CAAC;AACb,CChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASE,UAAQ,CAAC,KAAK,EAAE;AACzB,EAAE,IAAI,IAAI,GAAG,OAAO,KAAK,CAAC;AAC1B,EAAE,OAAO,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,QAAQ,IAAI,IAAI,IAAI,UAAU,CAAC,CAAC;AACnE,CCxBA;AACA,IAAIC,KAAG,GAAG,CAAC,GAAG,CAAC,CAAC;AAChB;AACA;AACA,IAAIC,YAAU,GAAG,oBAAoB,CAAC;AACtC;AACA;AACA,IAAIC,YAAU,GAAG,YAAY,CAAC;AAC9B;AACA;AACA,IAAIC,WAAS,GAAG,aAAa,CAAC;AAC9B;AACA;AACA,IAAIC,cAAY,GAAG,QAAQ,CAAC;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,UAAQ,CAAC,KAAK,EAAE;AACzB,EAAE,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;AAChC,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH,EAAE,IAAIX,UAAQ,CAAC,KAAK,CAAC,EAAE;AACvB,IAAI,OAAOM,KAAG,CAAC;AACf,GAAG;AACH,EAAE,IAAID,UAAQ,CAAC,KAAK,CAAC,EAAE;AACvB,IAAI,IAAI,KAAK,GAAG,OAAO,KAAK,CAAC,OAAO,IAAI,UAAU,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC;AAC7E,IAAI,KAAK,GAAGA,UAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,EAAE,IAAI,KAAK,CAAC;AACnD,GAAG;AACH,EAAE,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;AAChC,IAAI,OAAO,KAAK,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC;AACxC,GAAG;AACH,EAAE,KAAK,GAAGD,UAAQ,CAAC,KAAK,CAAC,CAAC;AAC1B,EAAE,IAAI,QAAQ,GAAGI,YAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxC,EAAE,OAAO,CAAC,QAAQ,IAAIC,WAAS,CAAC,IAAI,CAAC,KAAK,CAAC;AAC3C,MAAMC,cAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC;AACpD,OAAOH,YAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAGD,KAAG,GAAG,CAAC,KAAK,CAAC,CAAC;AAC9C,CC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIM,KAAG,GAAG,WAAW;AACrB,EAAE,OAAOzB,MAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AACzB,CAAC,CAAC;AACF;AACA,YAAeyB,KAAG,CClBlB;AACA,IAAIC,iBAAe,GAAG,qBAAqB,CAAC;AAC5C;AACA;AACA,IAAIC,WAAS,GAAG,IAAI,CAAC,GAAG;AACxB,IAAIC,WAAS,GAAG,IAAI,CAAC,GAAG,CAAC;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,UAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;AACvC,EAAE,IAAI,QAAQ;AACd,MAAM,QAAQ;AACd,MAAM,OAAO;AACb,MAAM,MAAM;AACZ,MAAM,OAAO;AACb,MAAM,YAAY;AAClB,MAAM,cAAc,GAAG,CAAC;AACxB,MAAM,OAAO,GAAG,KAAK;AACrB,MAAM,MAAM,GAAG,KAAK;AACpB,MAAM,QAAQ,GAAG,IAAI,CAAC;AACtB;AACA,EAAE,IAAI,OAAO,IAAI,IAAI,UAAU,EAAE;AACjC,IAAI,MAAM,IAAI,SAAS,CAACH,iBAAe,CAAC,CAAC;AACzC,GAAG;AACH,EAAE,IAAI,GAAGF,UAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7B,EAAE,IAAIN,UAAQ,CAAC,OAAO,CAAC,EAAE;AACzB,IAAI,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;AAChC,IAAI,MAAM,GAAG,SAAS,IAAI,OAAO,CAAC;AAClC,IAAI,OAAO,GAAG,MAAM,GAAGS,WAAS,CAACH,UAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC;AACjF,IAAI,QAAQ,GAAG,UAAU,IAAI,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACrE,GAAG;AACH;AACA,EAAE,SAAS,UAAU,CAAC,IAAI,EAAE;AAC5B,IAAI,IAAI,IAAI,GAAG,QAAQ;AACvB,QAAQ,OAAO,GAAG,QAAQ,CAAC;AAC3B;AACA,IAAI,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AACpC,IAAI,cAAc,GAAG,IAAI,CAAC;AAC1B,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACvC,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG;AACH;AACA,EAAE,SAAS,WAAW,CAAC,IAAI,EAAE;AAC7B;AACA,IAAI,cAAc,GAAG,IAAI,CAAC;AAC1B;AACA,IAAI,OAAO,GAAG,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AAC7C;AACA,IAAI,OAAO,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AAC/C,GAAG;AACH;AACA,EAAE,SAAS,aAAa,CAAC,IAAI,EAAE;AAC/B,IAAI,IAAI,iBAAiB,GAAG,IAAI,GAAG,YAAY;AAC/C,QAAQ,mBAAmB,GAAG,IAAI,GAAG,cAAc;AACnD,QAAQ,WAAW,GAAG,IAAI,GAAG,iBAAiB,CAAC;AAC/C;AACA,IAAI,OAAO,MAAM;AACjB,QAAQI,WAAS,CAAC,WAAW,EAAE,OAAO,GAAG,mBAAmB,CAAC;AAC7D,QAAQ,WAAW,CAAC;AACpB,GAAG;AACH;AACA,EAAE,SAAS,YAAY,CAAC,IAAI,EAAE;AAC9B,IAAI,IAAI,iBAAiB,GAAG,IAAI,GAAG,YAAY;AAC/C,QAAQ,mBAAmB,GAAG,IAAI,GAAG,cAAc,CAAC;AACpD;AACA;AACA;AACA;AACA,IAAI,QAAQ,YAAY,KAAK,SAAS,KAAK,iBAAiB,IAAI,IAAI,CAAC;AACrE,OAAO,iBAAiB,GAAG,CAAC,CAAC,KAAK,MAAM,IAAI,mBAAmB,IAAI,OAAO,CAAC,EAAE;AAC7E,GAAG;AACH;AACA,EAAE,SAAS,YAAY,GAAG;AAC1B,IAAI,IAAI,IAAI,GAAGH,KAAG,EAAE,CAAC;AACrB,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE;AAC5B,MAAM,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;AAChC,KAAK;AACL;AACA,IAAI,OAAO,GAAG,UAAU,CAAC,YAAY,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5D,GAAG;AACH;AACA,EAAE,SAAS,YAAY,CAAC,IAAI,EAAE;AAC9B,IAAI,OAAO,GAAG,SAAS,CAAC;AACxB;AACA;AACA;AACA,IAAI,IAAI,QAAQ,IAAI,QAAQ,EAAE;AAC9B,MAAM,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;AAC9B,KAAK;AACL,IAAI,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AACpC,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG;AACH;AACA,EAAE,SAAS,MAAM,GAAG;AACpB,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE;AAC/B,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;AAC5B,KAAK;AACL,IAAI,cAAc,GAAG,CAAC,CAAC;AACvB,IAAI,QAAQ,GAAG,YAAY,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAC7D,GAAG;AACH;AACA,EAAE,SAAS,KAAK,GAAG;AACnB,IAAI,OAAO,OAAO,KAAK,SAAS,GAAG,MAAM,GAAG,YAAY,CAACA,KAAG,EAAE,CAAC,CAAC;AAChE,GAAG;AACH;AACA,EAAE,SAAS,SAAS,GAAG;AACvB,IAAI,IAAI,IAAI,GAAGA,KAAG,EAAE;AACpB,QAAQ,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;AACxC;AACA,IAAI,QAAQ,GAAG,SAAS,CAAC;AACzB,IAAI,QAAQ,GAAG,IAAI,CAAC;AACpB,IAAI,YAAY,GAAG,IAAI,CAAC;AACxB;AACA,IAAI,IAAI,UAAU,EAAE;AACpB,MAAM,IAAI,OAAO,KAAK,SAAS,EAAE;AACjC,QAAQ,OAAO,WAAW,CAAC,YAAY,CAAC,CAAC;AACzC,OAAO;AACP,MAAM,IAAI,MAAM,EAAE;AAClB;AACA,QAAQ,YAAY,CAAC,OAAO,CAAC,CAAC;AAC9B,QAAQ,OAAO,GAAG,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AACjD,QAAQ,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC;AACxC,OAAO;AACP,KAAK;AACL,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE;AAC/B,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AAC/C,KAAK;AACL,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG;AACH,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC;AAC5B,EAAE,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC;AAC1B,EAAE,OAAO,SAAS,CAAC;AACnB,CCzLA;AACA,IAAIC,iBAAe,GAAG,qBAAqB,CAAC;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASI,UAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;AACvC,EAAE,IAAI,OAAO,GAAG,IAAI;AACpB,MAAM,QAAQ,GAAG,IAAI,CAAC;AACtB;AACA,EAAE,IAAI,OAAO,IAAI,IAAI,UAAU,EAAE;AACjC,IAAI,MAAM,IAAI,SAAS,CAACJ,iBAAe,CAAC,CAAC;AACzC,GAAG;AACH,EAAE,IAAIR,UAAQ,CAAC,OAAO,CAAC,EAAE;AACzB,IAAI,OAAO,GAAG,SAAS,IAAI,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;AACjE,IAAI,QAAQ,GAAG,UAAU,IAAI,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACrE,GAAG;AACH,EAAE,OAAOW,UAAQ,CAAC,IAAI,EAAE,IAAI,EAAE;AAC9B,IAAI,SAAS,EAAE,OAAO;AACtB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,UAAU,EAAE,QAAQ;AACxB,GAAG,CAAC,CAAC;AACL,CClEA,IAAI,SAAS,GAAG,CAAC;AACjB,EAAE,OAAO,MAAM,KAAK,WAAW;AAC/B,EAAE,MAAM,CAAC,QAAQ;AACjB,EAAE,MAAM,CAAC,QAAQ,CAAC,aAAa;AAC/B,CAAC,CAAC;AACF;AACA,IAAA,SAAc,GAAG,SAAS,CAAA;;kECN1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIE,UAAQ,GAAG,WAAW;AAC1B,IAAIA,UAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC,EAAE;AACrD,QAAQ,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAC7D,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AAC7B,YAAY,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACzF,SAAS;AACT,QAAQ,OAAO,CAAC,CAAC;AACjB,KAAK,CAAC;AACN,IAAI,OAAOA,UAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC3C,CAAC,CAAC;AACF;AACA,IAAI,oBAAoB,GAAG,IAAI,CAAC;AAChC,IAAI,sBAAsB,GAAG,IAAI,CAAC;AAClC,IAAIC,WAAS,EAAE;AACf,IAAI,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY;AAClD,QAAQ,IAAI,sBAAsB,KAAK,MAAM,CAAC,gBAAgB,EAAE;AAChE,YAAY,sBAAsB,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAC7D,YAAY,oBAAoB,GAAG,IAAI,CAAC;AACxC,SAAS;AACT,KAAK,CAAC,CAAC;AACP,CAAC;AACD,SAAS,cAAc,GAAG;AAC1B,IAAI,IAAI,oBAAoB,KAAK,IAAI,EAAE;AACvC,QAAQ,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;AAC7C,YAAY,oBAAoB,GAAG,CAAC,CAAC;AACrC,YAAY,OAAO,oBAAoB,CAAC;AACxC,SAAS;AACT,QAAQ,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;AACjC,QAAQ,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAChD,QAAQ,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;AACtD,QAAQ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;AAC9B,QAAQ,IAAI,KAAK,GAAG,GAAG,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;AACtD,QAAQ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;AAC9B,QAAQ,oBAAoB,GAAG,KAAK,CAAC;AACrC,KAAK;AACL,IAAI,OAAO,oBAAoB,CAAC;AAChC,CAAC;AACD;AACA,SAAS,kBAAkB,CAAC,OAAO,EAAE;AACrC,IAAI,IAAI,CAAC,OAAO;AAChB,QAAQ,CAAC,OAAO,CAAC,aAAa;AAC9B,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,EAAE;AAC5C,QAAQ,OAAO,MAAM,CAAC;AACtB,KAAK;AACL,IAAI,OAAO,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC;AAC7C,CAAC;AACD,SAAS,oBAAoB,CAAC,OAAO,EAAE;AACvC,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;AAC5C,QAAQ,OAAO,QAAQ,CAAC;AACxB,KAAK;AACL,IAAI,OAAO,OAAO,CAAC,aAAa,CAAC;AACjC,CAAC;AACD;AACA,IAAI,YAAY,GAAG,UAAU,GAAG,EAAE;AAClC,IAAI,IAAI,UAAU,GAAG,EAAE,CAAC;AACxB,IAAI,IAAI,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,GAAG,EAAE,SAAS,EAAE;AAC7E,QAAQ,IAAI,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;AACjE,QAAQ,IAAI,MAAM,EAAE;AACpB,YAAY,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;AACpG,YAAY,QAAQ,SAAS,CAAC,KAAK;AACnC,gBAAgB,KAAK,MAAM;AAC3B,oBAAoB,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;AACpC,oBAAoB,MAAM;AAC1B,gBAAgB,KAAK,OAAO;AAC5B,oBAAoB,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AACrC,oBAAoB,MAAM;AAC1B,gBAAgB,KAAK,SAAS;AAC9B,oBAAoB,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;AACpC,oBAAoB,MAAM;AAC1B,gBAAgB;AAChB,oBAAoB,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC;AAC/C,aAAa;AACb,SAAS;AACT,QAAQ,OAAO,GAAG,CAAC;AACnB,KAAK,EAAE,UAAU,CAAC,CAAC;AACnB,IAAI,OAAO,OAAO,CAAC;AACnB,CAAC,CAAC;AACF,SAAS,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE;AACnC,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,IAAI,CAAC,EAAE;AACX,QAAQ,OAAO;AACf,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,CAAC;AACD,SAAS,eAAe,CAAC,EAAE,EAAE,OAAO,EAAE;AACtC,IAAI,IAAI,CAAC,EAAE;AACX,QAAQ,OAAO;AACf,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,SAAS,EAAE;AACpD,QAAQ,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AACvC,KAAK,CAAC,CAAC;AACP,CAAC;AACD,SAAS,mBAAmB,CAAC,UAAU,EAAE;AACzC,IAAI,OAAO,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACvD,CAAC;AACD;AACA,IAAI,OAAO,gBAAgB,MAAM,CAAC,MAAM,CAAC;AACzC,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,gBAAgB,EAAE,kBAAkB;AACxC,IAAI,kBAAkB,EAAE,oBAAoB;AAC5C,IAAI,UAAU,EAAE,YAAY;AAC5B,IAAI,UAAU,EAAE,YAAY;AAC5B,IAAI,aAAa,EAAE,eAAe;AAClC,IAAI,iBAAiB,EAAE,mBAAmB;AAC1C,CAAC,CAAC,CAAC;AACH;AACA,IAAI,gBAAgB,GAAG,kBAAkB,EAAE,kBAAkB,GAAG,oBAAoB,EAAE,UAAU,GAAG,YAAY,EAAE,UAAU,GAAG,YAAY,EAAE,aAAa,GAAG,eAAe,EAAE,iBAAiB,GAAG,mBAAmB,CAAC;AACrN,IAAI,aAAa,kBAAkB,YAAY;AAC/C,IAAI,SAAS,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE;AAC7C,QAAQ,IAAI,OAAO,KAAK,KAAK,CAAC,EAAE,EAAE,OAAO,GAAG,EAAE,CAAC,EAAE;AACjD,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;AACzC,QAAQ,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;AACpC,QAAQ,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;AACnC,QAAQ,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;AACjC,QAAQ,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;AACrC,QAAQ,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;AACpC,QAAQ,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;AACpC,QAAQ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AAC9B,QAAQ,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;AACrC,QAAQ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AAC9B,QAAQ,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AAC7B,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;AAC3B,QAAQ,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;AAClC,QAAQ,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;AAChD,QAAQ,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;AACzC,QAAQ,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AAC/B,QAAQ,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;AAChC,QAAQ,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;AACrC,QAAQ,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AAC7B,QAAQ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AAC1B,QAAQ,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACxB,QAAQ,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACxB,QAAQ,IAAI,CAAC,WAAW,GAAG,YAAY,GAAG,CAAC;AAC3C,QAAQ,IAAI,CAAC,cAAc,GAAG,YAAY,GAAG,CAAC;AAC9C,QAAQ,IAAI,CAAC,eAAe,GAAG,YAAY,GAAG,CAAC;AAC/C,QAAQ,IAAI,CAAC,cAAc,GAAG,YAAY,GAAG,CAAC;AAC9C;AACA;AACA;AACA,QAAQ,IAAI,CAAC,QAAQ,GAAG,YAAY;AACpC,YAAY,IAAI,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AACtD,YAAY,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE;AACvC,gBAAgB,QAAQ,CAAC,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC9D,gBAAgB,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;AAC5C,aAAa;AACb,YAAY,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE;AACvC,gBAAgB,QAAQ,CAAC,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC9D,gBAAgB,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;AAC5C,aAAa;AACb,YAAY,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;AACpC,gBAAgB,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;AACzC,gBAAgB,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AACjE,aAAa;AACb,YAAY,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AACrC,YAAY,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AACrC,YAAY,KAAK,CAAC,eAAe,EAAE,CAAC;AACpC,SAAS,CAAC;AACV,QAAQ,IAAI,CAAC,OAAO,GAAG,YAAY;AACnC,YAAY,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE;AAC5C,gBAAgB,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;AAC7C,aAAa;AACb,YAAY,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC;AACzC,SAAS,CAAC;AACV,QAAQ,IAAI,CAAC,OAAO,GAAG,YAAY;AACnC,YAAY,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE;AAC5C,gBAAgB,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;AAC7C,aAAa;AACb,YAAY,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC;AACzC,SAAS,CAAC;AACV,QAAQ,IAAI,CAAC,gBAAgB,GAAG,YAAY;AAC5C,YAAY,aAAa,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AAChE,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE;AACxC,gBAAgB,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AACzC,gBAAgB,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AACzC,aAAa;AACb,YAAY,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC;AACtC,SAAS,CAAC;AACV,QAAQ,IAAI,CAAC,YAAY,GAAG,YAAY;AACxC,YAAY,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE;AACxC,gBAAgB,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACpE,gBAAgB,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AACzC,gBAAgB,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AACzC,gBAAgB,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC;AAC7C,aAAa;AACb,YAAY,KAAK,CAAC,cAAc,EAAE,CAAC;AACnC,SAAS,CAAC;AACV,QAAQ,IAAI,CAAC,eAAe,GAAG,YAAY;AAC3C,YAAY,aAAa,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACnE,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE;AACxC,gBAAgB,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AACzC,gBAAgB,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AACzC,aAAa;AACb,YAAY,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC;AAC1C,SAAS,CAAC;AACV,QAAQ,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,EAAE;AACzC,YAAY,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC;AACrC,YAAY,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC;AACrC,YAAY,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE;AACzE,gBAAgB,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;AAC9C,aAAa;AACb,YAAY,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE;AACzE,gBAAgB,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;AAC9C,aAAa;AACb,SAAS,CAAC;AACV,QAAQ,IAAI,CAAC,YAAY,GAAG,YAAY;AACxC,YAAY,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;AACvC,YAAY,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE;AACzE,gBAAgB,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;AAC/C,aAAa;AACb,YAAY,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE;AACzE,gBAAgB,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;AAC/C,aAAa;AACb,YAAY,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC9B,YAAY,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC9B,SAAS,CAAC;AACV,QAAQ,IAAI,CAAC,eAAe,GAAG,YAAY;AAC3C;AACA,YAAY,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC,iBAAiB,EAAE,CAAC;AAC7D,YAAY,KAAK,CAAC,mBAAmB,EAAE,CAAC;AACxC,SAAS,CAAC;AACV,QAAQ,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,EAAE;AAC3C,YAAY,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;AACtC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;AACtC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;AAC1C,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;AAC1C,gBAAgB,OAAO;AACvB,YAAY,IAAI,oBAAoB,EAAE,oBAAoB,CAAC;AAC3D,YAAY,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC;AACpF,YAAY,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC;AACpF,YAAY,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE;AACzE,gBAAgB,oBAAoB,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACrF,aAAa;AACb,YAAY,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE;AACzE,gBAAgB,oBAAoB,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACrF,aAAa;AACb;AACA,YAAY,IAAI,oBAAoB,IAAI,oBAAoB,EAAE;AAC9D;AACA,gBAAgB,CAAC,CAAC,eAAe,EAAE,CAAC;AACpC,gBAAgB,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,CAAC,WAAW,KAAK,OAAO,EAAE;AAC3E,oBAAoB,IAAI,oBAAoB,EAAE;AAC9C,wBAAwB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI;AACnD,4BAA4B,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC;AAC9E,wBAAwB,IAAI,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;AAC/E,4BAA4B,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACtD,yBAAyB;AACzB,6BAA6B;AAC7B,4BAA4B,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACvD,yBAAyB;AACzB,qBAAqB;AACrB,oBAAoB,IAAI,oBAAoB,EAAE;AAC9C,wBAAwB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI;AACnD,4BAA4B,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC;AAC9E,wBAAwB,IAAI,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;AAC/E,4BAA4B,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACtD,yBAAyB;AACzB,6BAA6B;AAC7B,4BAA4B,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACvD,yBAAyB;AACzB,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb,SAAS,CAAC;AACV;AACA;AACA;AACA,QAAQ,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,EAAE;AACjC,YAAY,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAC3D,YAAY,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,gBAAgB;AAC7D,gBAAgB,OAAO;AACvB,YAAY,IAAI,WAAW,CAAC;AAC5B,YAAY,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC;AAC5D,YAAY,IAAI,SAAS,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACxK,YAAY,IAAI,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC;AACpE,YAAY,IAAI,WAAW,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,gBAAgB,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC5L,YAAY,IAAI,QAAQ,GAAG,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,QAAQ,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC;AAC7L,YAAY,CAAC,CAAC,cAAc,EAAE,CAAC;AAC/B,YAAY,CAAC,CAAC,eAAe,EAAE,CAAC;AAChC,YAAY,IAAI,KAAK,CAAC,WAAW,KAAK,GAAG,EAAE;AAC3C,gBAAgB,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC;AACtC,aAAa;AACb,iBAAiB;AACjB,gBAAgB,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC;AACtC,aAAa;AACb;AACA,YAAY,IAAI,OAAO,GAAG,WAAW;AACrC,iBAAiB,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC/J,gBAAgB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC;AACzD,YAAY,OAAO,GAAG,KAAK,CAAC,WAAW,KAAK,GAAG,IAAI,KAAK,CAAC,KAAK;AAC9D,kBAAkB,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;AAC9J,oBAAoB,SAAS,CAAC,IAAI;AAClC,oBAAoB,OAAO;AAC3B,kBAAkB,OAAO,CAAC;AAC1B;AACA,YAAY,IAAI,QAAQ,GAAG,OAAO,IAAI,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAClE;AACA,YAAY,IAAI,SAAS,GAAG,QAAQ,IAAI,WAAW,GAAG,QAAQ,CAAC,CAAC;AAChE;AACA,YAAY,IAAI,KAAK,CAAC,WAAW,KAAK,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE;AAC1D,gBAAgB,SAAS,GAAG,CAAC,CAAC,EAAE,GAAG,aAAa,CAAC,aAAa,EAAE,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,qBAAqB;AAC/H,sBAAsB,CAAC,SAAS;AAChC,sBAAsB,SAAS,CAAC;AAChC,aAAa;AACb,YAAY,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,gBAAgB,CAAC;AAClF,gBAAgB,SAAS,CAAC;AAC1B,SAAS,CAAC;AACV;AACA;AACA;AACA,QAAQ,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,EAAE;AACtC,YAAY,IAAI,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAC1D,YAAY,IAAI,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AACtD,YAAY,CAAC,CAAC,cAAc,EAAE,CAAC;AAC/B,YAAY,CAAC,CAAC,eAAe,EAAE,CAAC;AAChC,YAAY,aAAa,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC/D,YAAY,UAAU,CAAC,mBAAmB,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC1E,YAAY,UAAU,CAAC,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAC7E,YAAY,KAAK,CAAC,oBAAoB,GAAG,QAAQ,CAAC,UAAU,CAAC,YAAY;AACzE;AACA;AACA,gBAAgB,UAAU,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AAClF,gBAAgB,UAAU,CAAC,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AACrF,gBAAgB,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC;AAClD,aAAa,CAAC,CAAC;AACf,SAAS,CAAC;AACV;AACA;AACA;AACA,QAAQ,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,EAAE;AACzC,YAAY,CAAC,CAAC,cAAc,EAAE,CAAC;AAC/B,YAAY,CAAC,CAAC,eAAe,EAAE,CAAC;AAChC,SAAS,CAAC;AACV,QAAQ,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC;AAC1B,QAAQ,IAAI,CAAC,OAAO,GAAGD,UAAQ,CAACA,UAAQ,CAAC,EAAE,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC;AACrF,QAAQ,IAAI,CAAC,UAAU,GAAGA,UAAQ,CAACA,UAAQ,CAAC,EAAE,EAAE,aAAa,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;AAC9G,QAAQ,IAAI,CAAC,IAAI,GAAG;AACpB,YAAY,CAAC,EAAE;AACf,gBAAgB,gBAAgB,EAAE,YAAY;AAC9C,gBAAgB,QAAQ,EAAE,OAAO;AACjC,gBAAgB,cAAc,EAAE,aAAa;AAC7C,gBAAgB,cAAc,EAAE,aAAa;AAC7C,gBAAgB,UAAU,EAAE,MAAM;AAClC,gBAAgB,YAAY,EAAE,WAAW;AACzC,gBAAgB,UAAU,EAAE,CAAC;AAC7B,gBAAgB,aAAa,EAAE,IAAI;AACnC,gBAAgB,YAAY,EAAE,KAAK;AACnC,gBAAgB,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE;AAC7E,gBAAgB,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE;AACjF,aAAa;AACb,YAAY,CAAC,EAAE;AACf,gBAAgB,gBAAgB,EAAE,WAAW;AAC7C,gBAAgB,QAAQ,EAAE,QAAQ;AAClC,gBAAgB,cAAc,EAAE,cAAc;AAC9C,gBAAgB,cAAc,EAAE,cAAc;AAC9C,gBAAgB,UAAU,EAAE,KAAK;AACjC,gBAAgB,YAAY,EAAE,WAAW;AACzC,gBAAgB,UAAU,EAAE,CAAC;AAC7B,gBAAgB,aAAa,EAAE,IAAI;AACnC,gBAAgB,YAAY,EAAE,KAAK;AACnC,gBAAgB,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE;AAC7E,gBAAgB,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE;AACjF,aAAa;AACb,SAAS,CAAC;AACV,QAAQ,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE;AAC9D,YAAY,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AAChH,SAAS;AACT,QAAQ,IAAI,CAAC,WAAW,GAAGD,UAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAC3D,QAAQ,IAAI,CAAC,cAAc,GAAGD,UAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AACpF,QAAQ,IAAI,CAAC,eAAe,GAAGA,UAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;AACrF,QAAQ,IAAI,CAAC,cAAc,GAAGA,UAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;AACnF,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;AACpB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,aAAa,CAAC,aAAa,GAAG,YAAY;AAC9C,QAAQ,IAAI,aAAa,CAAC,UAAU,EAAE;AACtC,YAAY,OAAO,aAAa,CAAC,UAAU,CAAC;AAC5C,SAAS;AACT,QAAQ,IAAI,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACrD,QAAQ,QAAQ,CAAC,SAAS;AAC1B,YAAY,+DAA+D,CAAC;AAC5E,QAAQ,IAAI,gBAAgB,GAAG,QAAQ,CAAC,iBAAiB,CAAC;AAC1D,QAAQ,IAAI,UAAU,GAAG,gBAAgB,KAAK,IAAI,IAAI,gBAAgB,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,gBAAgB,CAAC,iBAAiB,CAAC;AAChI,QAAQ,IAAI,CAAC,UAAU;AACvB,YAAY,OAAO,IAAI,CAAC;AACxB,QAAQ,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;AACpD,QAAQ,gBAAgB,CAAC,UAAU,GAAG,CAAC,CAAC;AACxC,QAAQ,IAAI,oBAAoB,GAAG,aAAa,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;AAC7E,QAAQ,IAAI,gBAAgB,GAAG,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;AACnE,QAAQ,gBAAgB,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC;AAC3C,QAAQ,IAAI,2BAA2B,GAAG,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;AAC9E,QAAQ,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;AACpD,QAAQ,aAAa,CAAC,UAAU,GAAG;AACnC;AACA,YAAY,oBAAoB,EAAE,oBAAoB,CAAC,IAAI,KAAK,gBAAgB,CAAC,IAAI;AACrF;AACA,YAAY,qBAAqB,EAAE,gBAAgB,CAAC,IAAI,KAAK,2BAA2B,CAAC,IAAI;AAC7F,SAAS,CAAC;AACV,QAAQ,OAAO,aAAa,CAAC,UAAU,CAAC;AACxC,KAAK,CAAC;AACN,IAAI,aAAa,CAAC,SAAS,CAAC,iBAAiB,GAAG,YAAY;AAC5D;AACA,QAAQ,IAAI;AACZ;AACA,YAAY,IAAI,CAAC,IAAI,CAAC,gBAAgB;AACtC,gBAAgB,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,EAAE,qBAAqB,CAAC;AAC9E,qBAAqB,OAAO,KAAK,MAAM;AACvC,gBAAgB,gBAAgB,IAAI,QAAQ,CAAC,eAAe,CAAC,KAAK;AAClE,gBAAgB,oBAAoB,IAAI,QAAQ,CAAC,eAAe,CAAC,KAAK,EAAE;AACxE,gBAAgB,OAAO,CAAC,CAAC;AACzB,aAAa;AACb,iBAAiB;AACjB,gBAAgB,OAAO,cAAc,EAAE,CAAC;AACxC,aAAa;AACb,SAAS;AACT,QAAQ,OAAO,CAAC,EAAE;AAClB,YAAY,OAAO,cAAc,EAAE,CAAC;AACpC,SAAS;AACT,KAAK,CAAC;AACN,IAAI,aAAa,CAAC,SAAS,GAAG,UAAU,EAAE,EAAE;AAC5C,QAAQ,IAAI,IAAI,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAC;AAC9C,QAAQ,IAAI,UAAU,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAC;AAChD,QAAQ,IAAI,QAAQ,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;AAC5C,QAAQ,OAAO;AACf,YAAY,GAAG,EAAE,IAAI,CAAC,GAAG;AACzB,iBAAiB,QAAQ,CAAC,WAAW,IAAI,UAAU,CAAC,eAAe,CAAC,SAAS,CAAC;AAC9E,YAAY,IAAI,EAAE,IAAI,CAAC,IAAI;AAC3B,iBAAiB,QAAQ,CAAC,WAAW,IAAI,UAAU,CAAC,eAAe,CAAC,UAAU,CAAC;AAC/E,SAAS,CAAC;AACV,KAAK,CAAC;AACN,IAAI,aAAa,CAAC,SAAS,CAAC,IAAI,GAAG,YAAY;AAC/C;AACA,QAAQ,IAAIG,WAAS,EAAE;AACvB,YAAY,IAAI,CAAC,OAAO,EAAE,CAAC;AAC3B,YAAY,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,aAAa,EAAE,CAAC;AAC5D,YAAY,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAC3D,YAAY,IAAI,CAAC,WAAW,EAAE,CAAC;AAC/B,YAAY,IAAI,CAAC,aAAa,EAAE,CAAC;AACjC,SAAS;AACT,KAAK,CAAC;AACN,IAAI,aAAa,CAAC,SAAS,CAAC,OAAO,GAAG,YAAY;AAClD,QAAQ,IAAI,EAAE,EAAE,EAAE,CAAC;AACnB;AACA,QAAQ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3F,QAAQ,IAAI,CAAC,gBAAgB;AAC7B,YAAY,IAAI,CAAC,OAAO,CAAC,cAAc;AACvC,gBAAgB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;AACzF,QAAQ,IAAI,CAAC,SAAS;AACtB,YAAY,IAAI,CAAC,OAAO,CAAC,WAAW;AACpC,gBAAgB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;AACpF,QAAQ,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AACzF,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AACrF,QAAQ,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;AAC5G,QAAQ,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC,CAAC;AACjI,QAAQ,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC;AACnH,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAClK,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAChK,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;AAChC,YAAY,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,IAAI,CAAC;AACtJ,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;AAChC,YAAY,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,IAAI,CAAC;AACtJ,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;AACpC,YAAY,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAC1E,YAAY,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAC1E,SAAS;AACT,KAAK,CAAC;AACN,IAAI,aAAa,CAAC,SAAS,CAAC,aAAa,GAAG,YAAY;AACxD,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,EAAE,CAAC;AACf,QAAQ,IAAI,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACjD;AACA,QAAQ,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;AAClE,QAAQ,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;AAC3E,QAAQ,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AAChE,QAAQ,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;AAClE,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AACvH;AACA,QAAQ,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;AACjE,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS;AAC3B,YAAY,OAAO;AACnB,QAAQ,IAAI,MAAM,CAAC,cAAc,EAAE;AACnC;AACA,YAAY,IAAI,uBAAuB,GAAG,KAAK,CAAC;AAChD,YAAY,IAAI,cAAc,GAAG,QAAQ,CAAC,cAAc,IAAI,cAAc,CAAC;AAC3E,YAAY,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,YAAY;AACjE,gBAAgB,IAAI,CAAC,uBAAuB;AAC5C,oBAAoB,OAAO;AAC3B,gBAAgB,QAAQ,CAAC,qBAAqB,CAAC,YAAY;AAC3D,oBAAoB,KAAK,CAAC,WAAW,EAAE,CAAC;AACxC,iBAAiB,CAAC,CAAC;AACnB,aAAa,CAAC,CAAC;AACf,YAAY,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACjD,YAAY,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACxD,YAAY,QAAQ,CAAC,qBAAqB,CAAC,YAAY;AACvD,gBAAgB,uBAAuB,GAAG,IAAI,CAAC;AAC/C,aAAa,CAAC,CAAC;AACf,SAAS;AACT;AACA,QAAQ,IAAI,CAAC,gBAAgB,GAAG,IAAI,QAAQ,CAAC,gBAAgB,CAAC,YAAY;AAC1E,YAAY,QAAQ,CAAC,qBAAqB,CAAC,YAAY;AACvD,gBAAgB,KAAK,CAAC,WAAW,EAAE,CAAC;AACpC,aAAa,CAAC,CAAC;AACf,SAAS,CAAC,CAAC;AACX,QAAQ,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE;AACtD,YAAY,SAAS,EAAE,IAAI;AAC3B,YAAY,OAAO,EAAE,IAAI;AACzB,YAAY,aAAa,EAAE,IAAI;AAC/B,SAAS,CAAC,CAAC;AACX,KAAK,CAAC;AACN,IAAI,aAAa,CAAC,SAAS,CAAC,WAAW,GAAG,YAAY;AACtD,QAAQ,IAAI,CAAC,IAAI,CAAC,oBAAoB;AACtC,YAAY,CAAC,IAAI,CAAC,SAAS;AAC3B,YAAY,CAAC,IAAI,CAAC,gBAAgB;AAClC,YAAY,CAAC,IAAI,CAAC,SAAS;AAC3B,YAAY,CAAC,IAAI,CAAC,aAAa;AAC/B,YAAY,OAAO;AACnB,QAAQ,IAAI,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACjD,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC3D,QAAQ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,KAAK,KAAK,CAAC;AACvD,QAAQ,IAAI,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;AAC9D,QAAQ,IAAI,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,IAAI,CAAC,CAAC;AACvE,QAAQ,IAAI,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,IAAI,CAAC,IAAI,oBAAoB,GAAG,CAAC,CAAC;AACjG,QAAQ,IAAI,2BAA2B,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC;AAC5E,QAAQ,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;AAClD,QAAQ,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;AAClD,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACnM,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACtM,QAAQ,IAAI,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;AAChE,QAAQ,IAAI,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;AAC9D,QAAQ,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,GAAG,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC;AAC5E;AACA,QAAQ,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,GAAG,WAAW;AACpD,cAAc,EAAE,CAAC,MAAM,CAAC,oBAAoB,IAAI,oBAAoB,EAAE,IAAI,CAAC;AAC3E,cAAc,MAAM,CAAC;AACrB,QAAQ,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;AACjF,QAAQ,IAAI,4BAA4B,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC;AAC9E,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa;AACjC,YAAY,oBAAoB,KAAK,CAAC,IAAI,oBAAoB,GAAG,oBAAoB,CAAC;AACtF,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa;AACjC,YAAY,qBAAqB,GAAG,4BAA4B,CAAC;AACjE;AACA,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa;AACjC,YAAY,WAAW,KAAK,QAAQ,GAAG,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC;AACzE,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa;AACjC,YAAY,WAAW,KAAK,QAAQ,GAAG,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC;AACzE,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY;AAChC,YAAY,IAAI,CAAC,OAAO,CAAC,YAAY,KAAK,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,KAAK,IAAI,CAAC;AACpF,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY;AAChC,YAAY,IAAI,CAAC,OAAO,CAAC,YAAY,KAAK,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,KAAK,IAAI,CAAC;AACpF,QAAQ,IAAI,CAAC,mBAAmB,EAAE,CAAC;AACnC;AACA,QAAQ,IAAI,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa;AAC3D,cAAc,IAAI,CAAC,cAAc;AACjC,cAAc,CAAC,CAAC;AAChB,QAAQ,IAAI,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa;AAC3D,cAAc,IAAI,CAAC,cAAc;AACjC,cAAc,CAAC,CAAC;AAChB,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa;AACjC,YAAY,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa;AACrC,gBAAgB,oBAAoB,GAAG,2BAA2B,GAAG,mBAAmB,CAAC;AACzF,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa;AACjC,YAAY,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa;AACrC,gBAAgB,qBAAqB;AACrC,oBAAoB,4BAA4B,GAAG,mBAAmB,CAAC;AACvE,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAChE,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAChE,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;AACpC,YAAY,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC/F,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;AACpC,YAAY,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAChG,QAAQ,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;AACpC,QAAQ,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;AACpC,QAAQ,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;AACxC,QAAQ,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;AACxC,KAAK,CAAC;AACN;AACA;AACA;AACA,IAAI,aAAa,CAAC,SAAS,CAAC,gBAAgB,GAAG,UAAU,IAAI,EAAE;AAC/D,QAAQ,IAAI,EAAE,EAAE,EAAE,CAAC;AACnB,QAAQ,IAAI,IAAI,KAAK,KAAK,CAAC,EAAE,EAAE,IAAI,GAAG,GAAG,CAAC,EAAE;AAC5C,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;AAC/D,YAAY,OAAO,CAAC,CAAC;AACrB,SAAS;AACT,QAAQ,IAAI,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC;AACzE,QAAQ,IAAI,SAAS,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC1K,QAAQ,IAAI,cAAc,GAAG,SAAS,GAAG,WAAW,CAAC;AACrD,QAAQ,IAAI,aAAa,CAAC;AAC1B;AACA,QAAQ,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAChG,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE;AAC3C,YAAY,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;AACnF,SAAS;AACT,QAAQ,OAAO,aAAa,CAAC;AAC7B,KAAK,CAAC;AACN,IAAI,aAAa,CAAC,SAAS,CAAC,iBAAiB,GAAG,UAAU,IAAI,EAAE;AAChE,QAAQ,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AACvB,QAAQ,IAAI,IAAI,KAAK,KAAK,CAAC,EAAE,EAAE,IAAI,GAAG,GAAG,CAAC,EAAE;AAC5C,QAAQ,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC;AAClD,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa;AAC1C,YAAY,CAAC,IAAI,CAAC,gBAAgB;AAClC,YAAY,CAAC,SAAS,CAAC,EAAE;AACzB,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE;AAC5B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC;AAChF,QAAQ,IAAI,SAAS,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AACvI,QAAQ,IAAI,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;AAC7E,QAAQ,IAAI,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC;AACnF,QAAQ,YAAY;AACpB,YAAY,IAAI,KAAK,GAAG;AACxB,gBAAgB,IAAI,CAAC,KAAK;AAC1B,iBAAiB,CAAC,EAAE,GAAG,aAAa,CAAC,aAAa,EAAE,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC;AACnH,kBAAkB,CAAC,YAAY;AAC/B,kBAAkB,YAAY,CAAC;AAC/B,QAAQ,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE;AACxC,YAAY,YAAY,GAAG,CAAC,CAAC,EAAE,GAAG,aAAa,CAAC,aAAa,EAAE,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,qBAAqB;AAC9H,kBAAkB,YAAY;AAC9B,kBAAkB,CAAC,YAAY,CAAC;AAChC,SAAS;AACT,QAAQ,IAAI,cAAc,GAAG,YAAY,IAAI,WAAW,GAAG,QAAQ,CAAC,CAAC;AACrE,QAAQ,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,IAAI,cAAc,CAAC,CAAC;AAC7E,QAAQ,YAAY;AACpB,YAAY,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK;AACtC,kBAAkB,CAAC,YAAY,IAAI,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC;AAC9D,kBAAkB,YAAY,CAAC;AAC/B,QAAQ,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS;AACpC,YAAY,IAAI,KAAK,GAAG;AACxB,kBAAkB,cAAc,CAAC,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC;AAClE,kBAAkB,iBAAiB,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;AACnE,KAAK,CAAC;AACN,IAAI,aAAa,CAAC,SAAS,CAAC,qBAAqB,GAAG,UAAU,IAAI,EAAE;AACpE,QAAQ,IAAI,IAAI,KAAK,KAAK,CAAC,EAAE,EAAE,IAAI,GAAG,GAAG,CAAC,EAAE;AAC5C,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;AAC7C,QAAQ,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;AACrD,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,gBAAgB;AAC1D,YAAY,OAAO;AACnB,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE;AAC3E,YAAY,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;AAC/C,YAAY,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC;AACjF,YAAY,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3F,SAAS;AACT,aAAa;AACb,YAAY,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;AAC9C,YAAY,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC;AACjF,YAAY,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9F,SAAS;AACT;AACA,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE;AAC3C,YAAY,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;AAC9C,SAAS;AACT,aAAa;AACb,YAAY,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;AAC7C,SAAS;AACT,KAAK,CAAC;AACN,IAAI,aAAa,CAAC,SAAS,CAAC,aAAa,GAAG,UAAU,IAAI,EAAE;AAC5D,QAAQ,IAAI,IAAI,KAAK,KAAK,CAAC,EAAE,EAAE,IAAI,GAAG,GAAG,CAAC,EAAE;AAC5C,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE;AACnF,YAAY,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAC9E,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC;AACvD,SAAS;AACT,KAAK,CAAC;AACN,IAAI,aAAa,CAAC,SAAS,CAAC,aAAa,GAAG,UAAU,IAAI,EAAE;AAC5D,QAAQ,IAAI,IAAI,KAAK,KAAK,CAAC,EAAE,EAAE,IAAI,GAAG,GAAG,CAAC,EAAE;AAC5C,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE;AAClF,YAAY,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACjF,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,GAAG,KAAK,CAAC;AACxD,SAAS;AACT,KAAK,CAAC;AACN,IAAI,aAAa,CAAC,SAAS,CAAC,mBAAmB,GAAG,YAAY;AAC9D,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ;AAC1B,YAAY,OAAO;AACnB,QAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;AAC1D,YAAY,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY;AACjE,kBAAkB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC;AACvD,kBAAkB,KAAK,CAAC;AACxB,QAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM;AAClC,YAAY,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY;AACjE,kBAAkB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC;AACvD,kBAAkB,KAAK,CAAC;AACxB,KAAK,CAAC;AACN,IAAI,aAAa,CAAC,SAAS,CAAC,kBAAkB,GAAG,UAAU,IAAI,EAAE;AACjE,QAAQ,IAAI,IAAI,KAAK,KAAK,CAAC,EAAE,EAAE,IAAI,GAAG,GAAG,CAAC,EAAE;AAC5C,QAAQ,IAAI,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1C,QAAQ,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE;AAC9D,YAAY,OAAO;AACnB,QAAQ,WAAW,CAAC,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC;AAC9E,QAAQ,WAAW,CAAC,SAAS,CAAC,IAAI;AAClC,YAAY,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC;AAC7D,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;AACzD,YAAY,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AACrC,YAAY,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACpE,YAAY,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;AACjE,gBAAgB,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAC5E,aAAa;AACb,iBAAiB;AACjB,gBAAgB,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAC/E,aAAa;AACb,SAAS;AACT,aAAa;AACb,YAAY,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACvE,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;AACvC,gBAAgB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AACzC,aAAa;AACb,SAAS;AACT,KAAK,CAAC;AACN,IAAI,aAAa,CAAC,SAAS,CAAC,mBAAmB,GAAG,UAAU,IAAI,EAAE;AAClE,QAAQ,IAAI,IAAI,KAAK,KAAK,CAAC,EAAE,EAAE,IAAI,GAAG,GAAG,CAAC,EAAE;AAC5C,QAAQ,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACvE,QAAQ,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAC3E,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;AACnC,YAAY,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AACrC,SAAS;AACT,KAAK,CAAC;AACN;AACA;AACA;AACA,IAAI,aAAa,CAAC,SAAS,CAAC,WAAW,GAAG,UAAU,CAAC,EAAE,IAAI,EAAE;AAC7D,QAAQ,IAAI,EAAE,CAAC;AACf,QAAQ,IAAI,IAAI,KAAK,KAAK,CAAC,EAAE,EAAE,IAAI,GAAG,GAAG,CAAC,EAAE;AAC5C,QAAQ,IAAI,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACrD,QAAQ,IAAI,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACjD,QAAQ,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC;AAClD;AACA,QAAQ,IAAI,WAAW,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;AAC3D,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU;AAClC,YAAY,WAAW,IAAI,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,IAAI,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7H,QAAQ,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;AAChC,QAAQ,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AACtD,QAAQ,UAAU,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAClE,QAAQ,UAAU,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AACrE,QAAQ,IAAI,IAAI,CAAC,oBAAoB,KAAK,IAAI,EAAE;AAChD,YAAY,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AAC1E,YAAY,UAAU,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AAC7E,SAAS;AACT,aAAa;AACb,YAAY,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AAC7D,YAAY,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;AAC7C,SAAS;AACT,KAAK,CAAC;AACN,IAAI,aAAa,CAAC,SAAS,CAAC,YAAY,GAAG,UAAU,CAAC,EAAE,IAAI,EAAE;AAC9D,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAC3B,QAAQ,IAAI,IAAI,KAAK,KAAK,CAAC,EAAE,EAAE,IAAI,GAAG,GAAG,CAAC,EAAE;AAC5C,QAAQ,IAAI,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1C,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;AACtC,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE;AACrC,YAAY,CAAC,IAAI,CAAC,gBAAgB;AAClC,YAAY,OAAO;AACnB;AACA,QAAQ,CAAC,CAAC,cAAc,EAAE,CAAC;AAC3B,QAAQ,IAAI,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACjD,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI;AACtC,YAAY,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC;AAC7D,QAAQ,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC;AAClD,QAAQ,IAAI,eAAe,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,SAAS,CAAC,IAAI,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAClK,QAAQ,IAAI,QAAQ,GAAG,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC;AAC1K,QAAQ,IAAI,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC;AAC/E,QAAQ,IAAI,CAAC,GAAG,IAAI,KAAK,GAAG;AAC5B,cAAc,IAAI,CAAC,MAAM,GAAG,eAAe;AAC3C,cAAc,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC;AAC5C,QAAQ,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACjC,QAAQ,IAAI,UAAU,GAAG,GAAG,KAAK,CAAC,CAAC,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAChF,QAAQ,IAAI,KAAK,GAAG,EAAE,CAAC;AACvB,QAAQ,IAAI,QAAQ,GAAG,YAAY;AACnC,YAAY,IAAI,CAAC,KAAK,CAAC,gBAAgB;AACvC,gBAAgB,OAAO;AACvB,YAAY,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE;AAC5B,gBAAgB,IAAI,QAAQ,GAAG,UAAU,EAAE;AAC3C,oBAAoB,QAAQ,IAAI,KAAK,CAAC;AACtC,oBAAoB,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,GAAG,QAAQ,CAAC;AACzF,oBAAoB,QAAQ,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;AAC7D,iBAAiB;AACjB,aAAa;AACb,iBAAiB;AACjB,gBAAgB,IAAI,QAAQ,GAAG,UAAU,EAAE;AAC3C,oBAAoB,QAAQ,IAAI,KAAK,CAAC;AACtC,oBAAoB,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,GAAG,QAAQ,CAAC;AACzF,oBAAoB,QAAQ,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;AAC7D,iBAAiB;AACjB,aAAa;AACb,SAAS,CAAC;AACV,QAAQ,QAAQ,EAAE,CAAC;AACnB,KAAK,CAAC;AACN;AACA;AACA;AACA,IAAI,aAAa,CAAC,SAAS,CAAC,iBAAiB,GAAG,YAAY;AAC5D,QAAQ,OAAO,IAAI,CAAC,SAAS,CAAC;AAC9B,KAAK,CAAC;AACN;AACA;AACA;AACA,IAAI,aAAa,CAAC,SAAS,CAAC,gBAAgB,GAAG,YAAY;AAC3D,QAAQ,OAAO,IAAI,CAAC,gBAAgB,CAAC;AACrC,KAAK,CAAC;AACN,IAAI,aAAa,CAAC,SAAS,CAAC,eAAe,GAAG,YAAY;AAC1D,QAAQ,IAAI,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACjD;AACA,QAAQ,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;AACrE,QAAQ,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;AAC9E,QAAQ,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AACnE,QAAQ,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;AACrE,QAAQ,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACnC,YAAY,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC/E,SAAS;AACT,QAAQ,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;AACpE,QAAQ,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACnC,YAAY,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;AAC/C,SAAS;AACT,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAE;AACjC,YAAY,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;AAC7C,SAAS;AACT;AACA,QAAQ,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;AAClC,QAAQ,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;AACrC,QAAQ,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;AACtC,QAAQ,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;AACrC,KAAK,CAAC;AACN;AACA;AACA;AACA,IAAI,aAAa,CAAC,SAAS,CAAC,OAAO,GAAG,YAAY;AAClD,QAAQ,IAAI,CAAC,eAAe,EAAE,CAAC;AAC/B,KAAK,CAAC;AACN;AACA;AACA;AACA,IAAI,aAAa,CAAC,SAAS,CAAC,cAAc,GAAG,UAAU,IAAI,EAAE;AAC7D,QAAQ,QAAQ,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI;AACxC,YAAY,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK;AACjD,YAAY,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG;AACnC,YAAY,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE;AACnD,KAAK,CAAC;AACN;AACA;AACA;AACA,IAAI,aAAa,CAAC,SAAS,CAAC,SAAS,GAAG,UAAU,EAAE,EAAE,KAAK,EAAE;AAC7D,QAAQ,IAAI,OAAO,GAAG,EAAE,CAAC,OAAO;AAChC,YAAY,EAAE,CAAC,qBAAqB;AACpC,YAAY,EAAE,CAAC,kBAAkB;AACjC,YAAY,EAAE,CAAC,iBAAiB,CAAC;AACjC,QAAQ,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,KAAK,EAAE;AACzE,YAAY,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC9C,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,KAAK,CAAC;AACN,IAAI,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC;AACpC,IAAI,aAAa,CAAC,cAAc,GAAG;AACnC,QAAQ,YAAY,EAAE,KAAK;AAC3B,QAAQ,YAAY,EAAE,IAAI;AAC1B,QAAQ,gBAAgB,EAAE,EAAE;AAC5B,QAAQ,gBAAgB,EAAE,CAAC;AAC3B,QAAQ,SAAS,EAAE,oBAAoB;AACvC,QAAQ,UAAU,EAAE;AACpB,YAAY,SAAS,EAAE,mBAAmB;AAC1C,YAAY,cAAc,EAAE,2BAA2B;AACvD,YAAY,MAAM,EAAE,kBAAkB;AACtC,YAAY,IAAI,EAAE,gBAAgB;AAClC,YAAY,OAAO,EAAE,mBAAmB;AACxC,YAAY,WAAW,EAAE,uBAAuB;AAChD,YAAY,SAAS,EAAE,qBAAqB;AAC5C,YAAY,KAAK,EAAE,iBAAiB;AACpC,YAAY,2BAA2B,EAAE,wCAAwC;AACjF,YAAY,oBAAoB,EAAE,gCAAgC;AAClE,YAAY,OAAO,EAAE,mBAAmB;AACxC,YAAY,UAAU,EAAE,sBAAsB;AAC9C,YAAY,QAAQ,EAAE,oBAAoB;AAC1C,YAAY,KAAK,EAAE,iBAAiB;AACpC,YAAY,QAAQ,EAAE,oBAAoB;AAC1C,YAAY,SAAS,EAAE,qBAAqB;AAC5C,YAAY,UAAU,EAAE,sBAAsB;AAC9C,YAAY,YAAY,EAAE,yBAAyB;AACnD,SAAS;AACT,QAAQ,cAAc,EAAE,IAAI;AAC5B,QAAQ,WAAW,EAAE,IAAI;AACzB,QAAQ,QAAQ,EAAE,IAAI;AACtB,KAAK,CAAC;AACN;AACA;AACA;AACA,IAAI,aAAa,CAAC,UAAU,GAAG,UAAU,CAAC;AAC1C,IAAI,aAAa,CAAC,OAAO,GAAG,OAAO,CAAC;AACpC,IAAI,OAAO,aAAa,CAAC;AACzB,CAAC,EAAE,CAAC,CCl5BJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAID,UAAQ,GAAG,WAAW;AAC1B,IAAIA,UAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC,EAAE;AACrD,QAAQ,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAC7D,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AAC7B,YAAY,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACzF,SAAS;AACT,QAAQ,OAAO,CAAC,CAAC;AACjB,KAAK,CAAC;AACN,IAAI,OAAOA,UAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC3C,CAAC,CAAC;AACF;AACA,SAASE,QAAM,CAAC,CAAC,EAAE,CAAC,EAAE;AACtB,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;AACf,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;AACvF,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACpB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;AACvE,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAChF,YAAY,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1F,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,SAAS;AACT,IAAI,OAAO,CAAC,CAAC;AACb,CAAC;AACD;AACA,IAAI,SAAS,GAAGC,gBAAK,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE;AACpD,IAAI,IAAI,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,mBAAmB,EAAE,mBAAmB,GAAG,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,GAAGD,QAAM,CAAC,EAAE,EAAE,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC,CAAC;AACzK,IAAI,IAAI,KAAK,GAAGC,gBAAK,CAAC,MAAM,EAAE,CAAC;AAC/B,IAAI,IAAI,iBAAiB,GAAGA,gBAAK,CAAC,MAAM,EAAE,CAAC;AAC3C,IAAI,IAAI,cAAc,GAAGA,gBAAK,CAAC,MAAM,EAAE,CAAC;AACxC,IAAI,IAAI,OAAO,GAAG,EAAE,CAAC;AACrB,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;AAClB,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,EAAE;AACnD,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,GAAG,CAAC,EAAE;AACrF,YAAY,OAAO,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;AAC3C,SAAS;AACT,aAAa;AACb,YAAY,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;AACxC,SAAS;AACT,KAAK,CAAC,CAAC;AACP,IAAI,IAAI,UAAU,GAAGH,UAAQ,CAACA,UAAQ,CAAC,EAAE,EAAE,aAAa,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;AACzG,IAAI,IAAI,uBAAuB,GAAGA,UAAQ,CAACA,UAAQ,CAAC,EAAE,EAAE,mBAAmB,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,SAAS,IAAI,aAAa,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC;AAClU,IAAIG,gBAAK,CAAC,SAAS,CAAC,YAAY;AAChC,QAAQ,IAAI,QAAQ,CAAC;AACrB,QAAQ,iBAAiB,CAAC,OAAO,GAAG,uBAAuB,CAAC,GAAG;AAC/D,cAAc,uBAAuB,CAAC,GAAG,CAAC,OAAO;AACjD,cAAc,iBAAiB,CAAC,OAAO,CAAC;AACxC,QAAQ,IAAI,KAAK,CAAC,OAAO,EAAE;AAC3B,YAAY,QAAQ,GAAG,IAAI,aAAa,CAAC,KAAK,CAAC,OAAO,EAAEH,UAAQ,CAACA,UAAQ,CAACA,UAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,iBAAiB,CAAC,OAAO,IAAI;AAC/H,gBAAgB,cAAc,EAAE,iBAAiB,CAAC,OAAO;AACzD,aAAa,EAAE,GAAG,cAAc,CAAC,OAAO,IAAI;AAC5C,gBAAgB,WAAW,EAAE,cAAc,CAAC,OAAO;AACnD,aAAa,EAAE,CAAC,CAAC;AACjB,YAAY,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE;AAC3C,gBAAgB,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC9B,aAAa;AACb,iBAAiB,IAAI,GAAG,EAAE;AAC1B,gBAAgB,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC;AACvC,aAAa;AACb,SAAS;AACT,QAAQ,OAAO,YAAY;AAC3B,YAAY,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;AACnF,YAAY,QAAQ,GAAG,IAAI,CAAC;AAC5B,YAAY,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE;AAC3C,gBAAgB,GAAG,CAAC,IAAI,CAAC,CAAC;AAC1B,aAAa;AACb,SAAS,CAAC;AACV,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,IAAI,QAAQG,gBAAK,CAAC,aAAa,CAAC,KAAK,EAAEH,UAAQ,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC;AAC/F,QAAQG,gBAAK,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,OAAO,EAAE;AACpE,YAAYA,gBAAK,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,2BAA2B,EAAE;AAC5F,gBAAgBA,gBAAK,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;AAC3F,YAAYA,gBAAK,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE;AACrE,gBAAgBA,gBAAK,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,EAAE,OAAO,QAAQ,KAAK,UAAU,IAAI,QAAQ,CAAC;AACxH,oBAAoB,iBAAiB,EAAE,iBAAiB;AACxD,oBAAoB,mBAAmB,EAAEH,UAAQ,CAACA,UAAQ,CAAC,EAAE,EAAE,uBAAuB,CAAC,EAAE,EAAE,GAAG,EAAE,iBAAiB,EAAE,CAAC;AACpH,oBAAoB,cAAc,EAAE,cAAc;AAClD,oBAAoB,gBAAgB,EAAE;AACtC,wBAAwB,SAAS,EAAE,UAAU,CAAC,SAAS;AACvD,wBAAwB,GAAG,EAAE,cAAc;AAC3C,qBAAqB;AACrB,iBAAiB,CAAC,KAAKG,gBAAK,CAAC,aAAa,CAAC,KAAK,EAAEH,UAAQ,CAAC,EAAE,EAAE,uBAAuB,CAAC;AACvF,oBAAoBG,gBAAK,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACjG,YAAYA,gBAAK,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;AAC9E,QAAQA,gBAAK,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,uBAAuB,CAAC,EAAE;AACtG,YAAYA,gBAAK,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;AAC5E,QAAQA,gBAAK,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,qBAAqB,CAAC,EAAE;AACpG,YAAYA,gBAAK,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE;AAC/E,CAAC,CAAC,CAAC;AACH,SAAS,CAAC,WAAW,GAAG,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;ACzFnC,SAAShB,UAAQ,CAAC,KAAK,EAAE;AACzB,EAAE,IAAI,IAAI,GAAG,OAAO,KAAK,CAAC;AAC1B,EAAE,OAAO,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,QAAQ,IAAI,IAAI,IAAI,UAAU,CAAC,CAAC;AACnE,CAAC;AACD;AACA,IAAA,UAAc,GAAGA,UAAQ;;AC7BzB,IAAIpB,YAAU,GAAG,OAAOqC,cAAM,IAAI,QAAQ,IAAIA,cAAM,IAAIA,cAAM,CAAC,MAAM,KAAK,MAAM,IAAIA,cAAM,CAAC;AAC3F;AACA,IAAA,WAAc,GAAGrC,YAAU,CCH3B,IAAI,UAAU,GAAGsC,WAAwB,CAAC;AAC1C;AACA;AACA,IAAI,QAAQ,GAAG,OAAO,IAAI,IAAI,QAAQ,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC;AACjF;AACA;AACA,IAAIpC,MAAI,GAAG,UAAU,IAAI,QAAQ,IAAI,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;AAC/D;AACA,IAAA,KAAc,GAAGA,MAAI,CCRrB,IAAIA,MAAI,GAAGoC,KAAkB,CAAC;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIX,KAAG,GAAG,WAAW;AACrB,EAAE,OAAOzB,MAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AACzB,CAAC,CAAC;AACF;AACA,IAAA,KAAc,GAAGyB,KAAG;;ACrBpB,IAAI,YAAY,GAAG,IAAI,CAAC;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASV,iBAAe,CAAC,MAAM,EAAE;AACjC,EAAE,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;AAC5B;AACA,EAAE,OAAO,KAAK,EAAE,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE;AAC/D,EAAE,OAAO,KAAK,CAAC;AACf,CAAC;AACD;AACA,IAAA,gBAAc,GAAGA,iBAAe,CClBhC,IAAI,eAAe,GAAGqB,gBAA6B,CAAC;AACpD;AACA;AACA,IAAI,WAAW,GAAG,MAAM,CAAC;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASnB,UAAQ,CAAC,MAAM,EAAE;AAC1B,EAAE,OAAO,MAAM;AACf,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;AAC3E,MAAM,MAAM,CAAC;AACb,CAAC;AACD;AACA,IAAA,SAAc,GAAGA,UAAQ,CClBzB,IAAI,IAAI,GAAGmB,KAAkB,CAAC;AAC9B;AACA;AACA,IAAInC,QAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AACzB;AACA,IAAA,OAAc,GAAGA,QAAM,CCLvB,IAAIA,QAAM,GAAGmC,OAAoB,CAAC;AAClC;AACA;AACA,IAAIlC,aAAW,GAAG,MAAM,CAAC,SAAS,CAAC;AACnC;AACA;AACA,IAAI,cAAc,GAAGA,aAAW,CAAC,cAAc,CAAC;AAChD;AACA;AACA;AACA;AACA;AACA;AACA,IAAIE,sBAAoB,GAAGF,aAAW,CAAC,QAAQ,CAAC;AAChD;AACA;AACA,IAAIG,gBAAc,GAAGJ,QAAM,GAAGA,QAAM,CAAC,WAAW,GAAG,SAAS,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASK,WAAS,CAAC,KAAK,EAAE;AAC1B,EAAE,IAAI,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,EAAED,gBAAc,CAAC;AACxD,MAAM,GAAG,GAAG,KAAK,CAACA,gBAAc,CAAC,CAAC;AAClC;AACA,EAAE,IAAI;AACN,IAAI,KAAK,CAACA,gBAAc,CAAC,GAAG,SAAS,CAAC;AACtC,IAAI,IAAI,QAAQ,GAAG,IAAI,CAAC;AACxB,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE;AAChB;AACA,EAAE,IAAI,MAAM,GAAGD,sBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChD,EAAE,IAAI,QAAQ,EAAE;AAChB,IAAI,IAAI,KAAK,EAAE;AACf,MAAM,KAAK,CAACC,gBAAc,CAAC,GAAG,GAAG,CAAC;AAClC,KAAK,MAAM;AACX,MAAM,OAAO,KAAK,CAACA,gBAAc,CAAC,CAAC;AACnC,KAAK;AACL,GAAG;AACH,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC;AACD;AACA,IAAA,UAAc,GAAGC,WAAS;;AC5C1B,IAAI,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,oBAAoB,GAAG,WAAW,CAAC,QAAQ,CAAC;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,gBAAc,CAAC,KAAK,EAAE;AAC/B,EAAE,OAAO,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1C,CAAC;AACD;AACA,IAAA,eAAc,GAAGA,gBAAc,CCrB/B,IAAIN,QAAM,GAAGmC,OAAoB;AACjC,IAAI,SAAS,GAAGC,UAAuB;AACvC,IAAI,cAAc,GAAGC,eAA4B,CAAC;AAClD;AACA;AACA,IAAI,OAAO,GAAG,eAAe;AAC7B,IAAI,YAAY,GAAG,oBAAoB,CAAC;AACxC;AACA;AACA,IAAI,cAAc,GAAGrC,QAAM,GAAGA,QAAM,CAAC,WAAW,GAAG,SAAS,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASS,YAAU,CAAC,KAAK,EAAE;AAC3B,EAAE,IAAI,KAAK,IAAI,IAAI,EAAE;AACrB,IAAI,OAAO,KAAK,KAAK,SAAS,GAAG,YAAY,GAAG,OAAO,CAAC;AACxD,GAAG;AACH,EAAE,OAAO,CAAC,cAAc,IAAI,cAAc,IAAI,MAAM,CAAC,KAAK,CAAC;AAC3D,MAAM,SAAS,CAAC,KAAK,CAAC;AACtB,MAAM,cAAc,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC;AACD;AACA,IAAA,WAAc,GAAGA,YAAU;;;;;;;;;;;;;;;;;;;;;;;;;ACH3B,SAASC,cAAY,CAAC,KAAK,EAAE;AAC7B,EAAE,OAAO,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,IAAI,QAAQ,CAAC;AACnD,CAAC;AACD;AACA,IAAA,cAAc,GAAGA,cAAY,CC5B7B,IAAI,UAAU,GAAGyB,WAAwB;AACzC,IAAI,YAAY,GAAGC,cAAyB,CAAC;AAC7C;AACA;AACA,IAAI,SAAS,GAAG,iBAAiB,CAAC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASxB,UAAQ,CAAC,KAAK,EAAE;AACzB,EAAE,OAAO,OAAO,KAAK,IAAI,QAAQ;AACjC,KAAK,YAAY,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,CAAC;AAC5D,CAAC;AACD;AACA,IAAA,UAAc,GAAGA,UAAQ,CC5BzB,IAAI,QAAQ,GAAGuB,SAAsB;AACrC,IAAIlB,UAAQ,GAAGmB,UAAqB;AACpC,IAAI,QAAQ,GAAGC,UAAqB,CAAC;AACrC;AACA;AACA,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;AAChB;AACA;AACA,IAAI,UAAU,GAAG,oBAAoB,CAAC;AACtC;AACA;AACA,IAAI,UAAU,GAAG,YAAY,CAAC;AAC9B;AACA;AACA,IAAI,SAAS,GAAG,aAAa,CAAC;AAC9B;AACA;AACA,IAAI,YAAY,GAAG,QAAQ,CAAC;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASd,UAAQ,CAAC,KAAK,EAAE;AACzB,EAAE,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;AAChC,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH,EAAE,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;AACvB,IAAI,OAAO,GAAG,CAAC;AACf,GAAG;AACH,EAAE,IAAIN,UAAQ,CAAC,KAAK,CAAC,EAAE;AACvB,IAAI,IAAI,KAAK,GAAG,OAAO,KAAK,CAAC,OAAO,IAAI,UAAU,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC;AAC7E,IAAI,KAAK,GAAGA,UAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,EAAE,IAAI,KAAK,CAAC;AACnD,GAAG;AACH,EAAE,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;AAChC,IAAI,OAAO,KAAK,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC;AACxC,GAAG;AACH,EAAE,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC1B,EAAE,IAAI,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxC,EAAE,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;AAC3C,MAAM,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC;AACpD,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;AAC9C,CAAC;AACD;AACA,IAAA,UAAc,GAAGM,UAAQ,CC/DzB,IAAIN,UAAQ,GAAGkB,UAAqB;AACpC,IAAI,GAAG,GAAGC,KAAgB;AAC1B,IAAI,QAAQ,GAAGC,UAAqB,CAAC;AACrC;AACA;AACA,IAAIZ,iBAAe,GAAG,qBAAqB,CAAC;AAC5C;AACA;AACA,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG;AACxB,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASG,UAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;AACvC,EAAE,IAAI,QAAQ;AACd,MAAM,QAAQ;AACd,MAAM,OAAO;AACb,MAAM,MAAM;AACZ,MAAM,OAAO;AACb,MAAM,YAAY;AAClB,MAAM,cAAc,GAAG,CAAC;AACxB,MAAM,OAAO,GAAG,KAAK;AACrB,MAAM,MAAM,GAAG,KAAK;AACpB,MAAM,QAAQ,GAAG,IAAI,CAAC;AACtB;AACA,EAAE,IAAI,OAAO,IAAI,IAAI,UAAU,EAAE;AACjC,IAAI,MAAM,IAAI,SAAS,CAACH,iBAAe,CAAC,CAAC;AACzC,GAAG;AACH,EAAE,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7B,EAAE,IAAIR,UAAQ,CAAC,OAAO,CAAC,EAAE;AACzB,IAAI,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;AAChC,IAAI,MAAM,GAAG,SAAS,IAAI,OAAO,CAAC;AAClC,IAAI,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC;AACjF,IAAI,QAAQ,GAAG,UAAU,IAAI,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACrE,GAAG;AACH;AACA,EAAE,SAAS,UAAU,CAAC,IAAI,EAAE;AAC5B,IAAI,IAAI,IAAI,GAAG,QAAQ;AACvB,QAAQ,OAAO,GAAG,QAAQ,CAAC;AAC3B;AACA,IAAI,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AACpC,IAAI,cAAc,GAAG,IAAI,CAAC;AAC1B,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACvC,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG;AACH;AACA,EAAE,SAAS,WAAW,CAAC,IAAI,EAAE;AAC7B;AACA,IAAI,cAAc,GAAG,IAAI,CAAC;AAC1B;AACA,IAAI,OAAO,GAAG,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AAC7C;AACA,IAAI,OAAO,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AAC/C,GAAG;AACH;AACA,EAAE,SAAS,aAAa,CAAC,IAAI,EAAE;AAC/B,IAAI,IAAI,iBAAiB,GAAG,IAAI,GAAG,YAAY;AAC/C,QAAQ,mBAAmB,GAAG,IAAI,GAAG,cAAc;AACnD,QAAQ,WAAW,GAAG,IAAI,GAAG,iBAAiB,CAAC;AAC/C;AACA,IAAI,OAAO,MAAM;AACjB,QAAQ,SAAS,CAAC,WAAW,EAAE,OAAO,GAAG,mBAAmB,CAAC;AAC7D,QAAQ,WAAW,CAAC;AACpB,GAAG;AACH;AACA,EAAE,SAAS,YAAY,CAAC,IAAI,EAAE;AAC9B,IAAI,IAAI,iBAAiB,GAAG,IAAI,GAAG,YAAY;AAC/C,QAAQ,mBAAmB,GAAG,IAAI,GAAG,cAAc,CAAC;AACpD;AACA;AACA;AACA;AACA,IAAI,QAAQ,YAAY,KAAK,SAAS,KAAK,iBAAiB,IAAI,IAAI,CAAC;AACrE,OAAO,iBAAiB,GAAG,CAAC,CAAC,KAAK,MAAM,IAAI,mBAAmB,IAAI,OAAO,CAAC,EAAE;AAC7E,GAAG;AACH;AACA,EAAE,SAAS,YAAY,GAAG;AAC1B,IAAI,IAAI,IAAI,GAAG,GAAG,EAAE,CAAC;AACrB,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE;AAC5B,MAAM,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;AAChC,KAAK;AACL;AACA,IAAI,OAAO,GAAG,UAAU,CAAC,YAAY,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5D,GAAG;AACH;AACA,EAAE,SAAS,YAAY,CAAC,IAAI,EAAE;AAC9B,IAAI,OAAO,GAAG,SAAS,CAAC;AACxB;AACA;AACA;AACA,IAAI,IAAI,QAAQ,IAAI,QAAQ,EAAE;AAC9B,MAAM,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;AAC9B,KAAK;AACL,IAAI,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AACpC,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG;AACH;AACA,EAAE,SAAS,MAAM,GAAG;AACpB,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE;AAC/B,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;AAC5B,KAAK;AACL,IAAI,cAAc,GAAG,CAAC,CAAC;AACvB,IAAI,QAAQ,GAAG,YAAY,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAC7D,GAAG;AACH;AACA,EAAE,SAAS,KAAK,GAAG;AACnB,IAAI,OAAO,OAAO,KAAK,SAAS,GAAG,MAAM,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC;AAChE,GAAG;AACH;AACA,EAAE,SAAS,SAAS,GAAG;AACvB,IAAI,IAAI,IAAI,GAAG,GAAG,EAAE;AACpB,QAAQ,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;AACxC;AACA,IAAI,QAAQ,GAAG,SAAS,CAAC;AACzB,IAAI,QAAQ,GAAG,IAAI,CAAC;AACpB,IAAI,YAAY,GAAG,IAAI,CAAC;AACxB;AACA,IAAI,IAAI,UAAU,EAAE;AACpB,MAAM,IAAI,OAAO,KAAK,SAAS,EAAE;AACjC,QAAQ,OAAO,WAAW,CAAC,YAAY,CAAC,CAAC;AACzC,OAAO;AACP,MAAM,IAAI,MAAM,EAAE;AAClB;AACA,QAAQ,YAAY,CAAC,OAAO,CAAC,CAAC;AAC9B,QAAQ,OAAO,GAAG,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AACjD,QAAQ,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC;AACxC,OAAO;AACP,KAAK;AACL,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE;AAC/B,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AAC/C,KAAK;AACL,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG;AACH,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC;AAC5B,EAAE,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC;AAC1B,EAAE,OAAO,SAAS,CAAC;AACnB,CAAC;AACD;AACA,IAAA,UAAc,GAAGW,UAAQ,CAAA;;kEC9LzB,IAAI,QAAQ,GAAGO,UAAqB;AACpC,IAAI,QAAQ,GAAGC,UAAqB,CAAC;AACrC;AACA;AACA,IAAI,eAAe,GAAG,qBAAqB,CAAC;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;AACvC,EAAE,IAAI,OAAO,GAAG,IAAI;AACpB,MAAM,QAAQ,GAAG,IAAI,CAAC;AACtB;AACA,EAAE,IAAI,OAAO,IAAI,IAAI,UAAU,EAAE;AACjC,IAAI,MAAM,IAAI,SAAS,CAAC,eAAe,CAAC,CAAC;AACzC,GAAG;AACH,EAAE,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE;AACzB,IAAI,OAAO,GAAG,SAAS,IAAI,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;AACjE,IAAI,QAAQ,GAAG,UAAU,IAAI,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACrE,GAAG;AACH,EAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE;AAC9B,IAAI,SAAS,EAAE,OAAO;AACtB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,UAAU,EAAE,QAAQ;AACxB,GAAG,CAAC,CAAC;AACL,CAAC;AACD;AACA,IAAA,UAAc,GAAG,QAAQ,CAAA;;kECtDzB;AACA;AACA,IAAI,aAAa,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE;AACnC,IAAI,aAAa,GAAG,MAAM,CAAC,cAAc;AACzC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;AACpF,QAAQ,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1G,IAAI,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC;AACF;AACA,SAAS,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE;AACzB,IAAI,IAAI,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,IAAI;AAC7C,QAAQ,MAAM,IAAI,SAAS,CAAC,sBAAsB,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,+BAA+B,CAAC,CAAC;AAClG,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACxB,IAAI,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;AAC3C,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;AACzF,CAAC;AACD;AACA,IAAI,QAAQ,GAAG,WAAW;AAC1B,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC,EAAE;AACrD,QAAQ,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAC7D,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AAC7B,YAAY,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACzF,SAAS;AACT,QAAQ,OAAO,CAAC,CAAC;AACjB,KAAK,CAAC;AACN,IAAI,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC3C,CAAC,CAAC;AACF;AACA,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;AACtB,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;AACf,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;AACvF,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACpB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;AACvE,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAChF,YAAY,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1F,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,SAAS;AACT,IAAI,OAAO,CAAC,CAAC;AACb,CAAC;AACD;AACA,OAAO,eAAe,KAAK,UAAU,GAAG,eAAe,GAAG,UAAU,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE;AAChG,IAAI,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AAC/B,IAAI,OAAO,CAAC,CAAC,IAAI,GAAG,iBAAiB,EAAE,CAAC,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC,UAAU,GAAG,UAAU,EAAE,CAAC,CAAC;AACrF,CAAC,CAAC,IAAI,mBAAmB,GAAG,UAAU,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE;AAChG,IAAI,QAAQ,WAAW;AACvB,QAAQ,KAAK,UAAU;AACvB,YAAY,OAAOR,UAAQ,CAAC,cAAc,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;AACzE,QAAQ,KAAK,UAAU;AACvB,YAAY,OAAOC,UAAQ,CAAC,cAAc,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;AACzE,QAAQ;AACR,YAAY,OAAO,cAAc,CAAC;AAClC,KAAK;AACL,CAAC,CAAC;AACF,IAAI,UAAU,GAAG,UAAU,EAAE,EAAE,EAAE,OAAO,OAAO,EAAE,KAAK,UAAU,CAAC,EAAE,CAAC;AACpE,IAAI,KAAK,GAAG,YAAY,EAAE,OAAO,OAAO,MAAM,KAAK,WAAW,CAAC,EAAE,CAAC;AAClE,IAAI,YAAY,GAAG,UAAU,OAAO,EAAE;AACtC,IAAI,OAAO,OAAO,YAAY,OAAO,IAAI,OAAO,YAAY,YAAY,CAAC;AACzE,CAAC,CAAsB,gBAAe,UAAU,MAAM,EAAE;AACxD,IAAI,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;AACtC,IAAI,SAAS,cAAc,CAAC,KAAK,EAAE;AACnC,QAAQ,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC;AACrD,QAAQ,KAAK,CAAC,aAAa,GAAG,YAAY;AAC1C,YAAY,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AACnE;AACA,gBAAgB,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;AAC7C,gBAAgB,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;AAC3C,aAAa;AACb,SAAS,CAAC;AACV,QAAQ,KAAK,CAAC,cAAc,GAAG,YAAY;AAC3C,YAAY,IAAI,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,SAAS,GAAG,EAAE,CAAC,SAAS,EAAE,eAAe,GAAG,EAAE,CAAC,eAAe,CAAC;AACjG,YAAY,IAAI,KAAK,EAAE,EAAE;AACzB,gBAAgB,OAAO;AACvB,aAAa;AACb,YAAY,IAAI,SAAS,IAAI,SAAS,CAAC,OAAO,EAAE;AAChD,gBAAgB,KAAK,CAAC,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;AAC5D,aAAa;AACb,YAAY,IAAI,OAAO,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;AAC7C,YAAY,IAAI,CAAC,OAAO,EAAE;AAC1B;AACA,gBAAgB,OAAO;AACvB,aAAa;AACb,YAAY,IAAI,KAAK,CAAC,iBAAiB,IAAI,KAAK,CAAC,iBAAiB,KAAK,OAAO,EAAE;AAChF;AACA,gBAAgB,OAAO;AACvB,aAAa;AACb,YAAY,KAAK,CAAC,iBAAiB,GAAG,OAAO,CAAC;AAC9C,YAAY,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;AACnE,SAAS,CAAC;AACV,QAAQ,KAAK,CAAC,UAAU,GAAG,YAAY;AACvC,YAAY,IAAI,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,aAAa,GAAG,EAAE,CAAC,aAAa,EAAE,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC;AACjG,YAAY,IAAI,KAAK,EAAE;AACvB,gBAAgB,OAAO,IAAI,CAAC;AAC5B;AACA,YAAY,IAAI,aAAa;AAC7B,gBAAgB,OAAO,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;AAC7D;AACA,YAAY,IAAI,WAAW,IAAI,YAAY,CAAC,WAAW,CAAC;AACxD,gBAAgB,OAAO,WAAW,CAAC;AACnC;AACA,YAAY,IAAI,KAAK,CAAC,SAAS,IAAI,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC;AACxE,gBAAgB,OAAO,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC;AAC/C;AACA;AACA,YAAY,IAAI,cAAc,GAAGS,oBAAW,CAAC,KAAK,CAAC,CAAC;AACpD,YAAY,IAAI,CAAC,cAAc;AAC/B,gBAAgB,OAAO,IAAI,CAAC;AAC5B,YAAY,IAAI,UAAU,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;AACnD,YAAY,QAAQ,UAAU;AAC9B,gBAAgB,KAAK,YAAY;AACjC,oBAAoB,OAAO,cAAc,CAAC;AAC1C,gBAAgB,KAAK,eAAe;AACpC,oBAAoB,OAAO,cAAc,CAAC;AAC1C,gBAAgB,KAAK,OAAO;AAC5B,oBAAoB,OAAO,cAAc,CAAC;AAC1C,gBAAgB,KAAK,YAAY;AACjC,oBAAoB,OAAO,cAAc,CAAC;AAC1C,gBAAgB;AAChB,oBAAoB,OAAO,cAAc,CAAC,aAAa,CAAC;AACxD,aAAa;AACb,SAAS,CAAC;AACV,QAAQ,KAAK,CAAC,mBAAmB,GAAG,UAAU,OAAO,EAAE;AACvD,YAAY,IAAI,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,WAAW,GAAG,EAAE,KAAK,KAAK,CAAC,GAAG,IAAI,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,YAAY,GAAG,EAAE,KAAK,KAAK,CAAC,GAAG,IAAI,GAAG,EAAE,EAAE,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;AACvL,YAAY,IAAI,CAAC,WAAW,IAAI,CAAC,YAAY;AAC7C,gBAAgB,OAAO;AACvB,YAAY,IAAI,YAAY,GAAG,UAAU,EAAE,EAAE;AAC7C,gBAAgB,IAAI,KAAK,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;AACzD,gBAAgB,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE;AAClF;AACA,oBAAoB,OAAO;AAC3B,iBAAiB;AACjB,gBAAgB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,YAAY,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE;AACvH;AACA,oBAAoB,OAAO;AAC3B,iBAAiB;AACjB,gBAAgB,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC5F,gBAAgB,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;AACjE,aAAa,CAAC;AACd,YAAY,OAAO,CAAC,OAAO,CAAC,UAAU,KAAK,EAAE;AAC7C,gBAAgB,IAAI,EAAE,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,WAAW,KAAK,EAAE,EAAE,KAAK,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;AAClG,gBAAgB,IAAI,aAAa,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,EAAE,CAAC;AACnE,gBAAgB,IAAI,aAAa,EAAE;AACnC,oBAAoB,YAAY,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;AACnE,iBAAiB;AACjB,gBAAgB,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC;AAC1C,aAAa,CAAC,CAAC;AACf,SAAS,CAAC;AACV,QAAQ,KAAK,CAAC,aAAa,GAAG,YAAY;AAC1C,YAAY,IAAI,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,CAAC,MAAM,EAAE,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;AAC7E,YAAY,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE;AACpC;AACA,gBAAgB,OAAO,YAAY,CAAC;AACpC,aAAa;AACb,YAAY,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE;AACtC,gBAAgB,OAAO,eAAe,CAAC;AACvC,aAAa;AACb,YAAY,IAAIC,oBAAc,CAAC,QAAQ,CAAC,EAAE;AAC1C,gBAAgB,OAAO,OAAO,CAAC;AAC/B,aAAa;AACb,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;AACzC;AACA,gBAAgB,OAAO,YAAY,CAAC;AACpC,aAAa;AACb;AACA,YAAY,OAAO,QAAQ,CAAC;AAC5B,SAAS,CAAC;AACV,QAAQ,IAAI,WAAW,GAAG,KAAK,CAAC,WAAW,EAAE,WAAW,GAAG,KAAK,CAAC,WAAW,EAAE,EAAE,GAAG,KAAK,CAAC,WAAW,EAAE,WAAW,GAAG,EAAE,KAAK,KAAK,CAAC,GAAG,IAAI,GAAG,EAAE,EAAE,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;AACrL,QAAQ,KAAK,CAAC,KAAK,GAAG;AACtB,YAAY,KAAK,EAAE,SAAS;AAC5B,YAAY,MAAM,EAAE,SAAS;AAC7B,SAAS,CAAC;AACV,QAAQ,KAAK,CAAC,OAAO,GAAG;AACxB,YAAY,OAAO,EAAE,KAAK,CAAC,KAAK;AAChC,SAAS,CAAC;AACV,QAAQ,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;AACxC,QAAQ,KAAK,CAAC,SAAS,GAAGC,eAAS,EAAE,CAAC;AACtC,QAAQ,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC;AACvC,QAAQ,IAAI,KAAK,EAAE,EAAE;AACrB,YAAY,OAAO,KAAK,CAAC;AACzB,SAAS;AACT,QAAQ,KAAK,CAAC,aAAa,GAAG,mBAAmB,CAAC,KAAK,CAAC,mBAAmB,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;AACvH,QAAQ,KAAK,CAAC,cAAc,GAAG,IAAI,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAC9E,QAAQ,OAAO,KAAK,CAAC;AACrB,KAAK;AACL,IAAI,cAAc,CAAC,SAAS,CAAC,iBAAiB,GAAG,YAAY;AAC7D,QAAQ,IAAI,CAAC,cAAc,EAAE,CAAC;AAC9B,KAAK,CAAC;AACN,IAAI,cAAc,CAAC,SAAS,CAAC,kBAAkB,GAAG,YAAY;AAC9D,QAAQ,IAAI,CAAC,cAAc,EAAE,CAAC;AAC9B,QAAQ,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC;AAC1C,KAAK,CAAC;AACN,IAAI,cAAc,CAAC,SAAS,CAAC,oBAAoB,GAAG,YAAY;AAChE,QAAQ,IAAI,KAAK,EAAE,EAAE;AACrB,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;AACtC,QAAQ,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;AACzC,QAAQ,IAAI,CAAC,aAAa,EAAE,CAAC;AAC7B,KAAK,CAAC;AACN,IAAI,cAAc,CAAC,SAAS,CAAC,MAAM,GAAG,YAAY;AAClD,QAAQ,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,CAAC,MAAM,EAAE,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,UAAU,GAAG,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;AACnI,QAAQ,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;AAClE,QAAQ,IAAI,UAAU,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;AACrF,QAAQ,IAAI,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;AAC9C,QAAQ,QAAQ,UAAU;AAC1B,YAAY,KAAK,YAAY;AAC7B,gBAAgB,OAAO,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAC1F,YAAY,KAAK,eAAe,EAAE;AAClC,gBAAgB,IAAI,aAAa,GAAG,QAAQ,CAAC;AAC7C,gBAAgB,OAAO,aAAa,KAAK,IAAI,IAAI,aAAa,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;AAC/G,aAAa;AACb,YAAY,KAAK,OAAO,EAAE;AAC1B;AACA,gBAAgB,IAAI,KAAK,GAAG,QAAQ,CAAC;AACrC,gBAAgB,IAAI,KAAK,CAAC,IAAI,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;AAClE;AACA;AACA,oBAAoB,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,WAAW,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;AAC9F,oBAAoB,OAAOC,kBAAY,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;AAC5D,iBAAiB;AACjB;AACA,gBAAgB,OAAOA,kBAAY,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AACvD,aAAa;AACb,YAAY,KAAK,YAAY,EAAE;AAC/B,gBAAgB,IAAI,UAAU,GAAG,QAAQ,CAAC;AAC1C,gBAAgB,OAAO,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,IAAIA,kBAAY,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;AACtG,aAAa;AACb,YAAY;AACZ,gBAAgB,OAAO,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AAC7D,SAAS;AACT,KAAK,CAAC;AACN,IAAI,OAAO,cAAc,CAAC;AAC1B,EAAC,CAACC,mBAAa,CAAC,EAuBf,SAAS,iBAAiB,CAAC,EAAE,EAAE;AAChC,IAAI,IAAI,EAAE,GAAG,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,WAAW,GAAG,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE,EAAE,WAAW,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,WAAW,GAAG,EAAE,KAAK,KAAK,CAAC,GAAG,IAAI,GAAG,EAAE,EAAE,cAAc,GAAG,EAAE,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,WAAW,GAAG,EAAE,KAAK,KAAK,CAAC,GAAG,IAAI,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,YAAY,GAAG,EAAE,KAAK,KAAK,CAAC,GAAG,IAAI,GAAG,EAAE,EAAE,SAAS,GAAG,EAAE,CAAC,SAAS,EAAE,eAAe,GAAG,EAAE,CAAC,eAAe,EAAE,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;AAC1b,IAAI,IAAI,UAAU,GAAGC,YAAM,CAAC,WAAW,CAAC,CAAC;AACzC,IAAI,IAAI,EAAE,GAAGC,cAAQ,CAAC;AACtB,QAAQ,KAAK,EAAE,SAAS;AACxB,QAAQ,MAAM,EAAE,SAAS;AACzB,KAAK,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AACtC;AACA,IAAI,IAAI,EAAE,GAAGA,cAAQ,CAAC,CAAC,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,SAAS,CAAC,OAAO,KAAK,IAAI,CAAC,EAAE,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AACpJ;AACA;AACA;AACA,IAAI,IAAI,SAAS,EAAE;AACnB,QAAQ,UAAU,CAAC,YAAY;AAC/B,YAAY,IAAI,SAAS,CAAC,OAAO,KAAK,UAAU,EAAE;AAClD,gBAAgB,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AACjD,aAAa;AACb,SAAS,EAAE,CAAC,CAAC,CAAC;AACd,KAAK;AACL;AACA;AACA,IAAI,IAAI,WAAW,GAAGC,iBAAW,CAAC,UAAU,IAAI,EAAE;AAClD,QAAQ,IAAI,IAAI,KAAK,UAAU,EAAE;AACjC,YAAY,aAAa,CAAC,IAAI,CAAC,CAAC;AAChC,SAAS;AACT,KAAK,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AACrB;AACA,IAAI,WAAW,CAAC,OAAO,GAAG,UAAU,CAAC;AACrC,IAAI,IAAI,aAAa,GAAGA,iBAAW,CAAC,UAAU,QAAQ,EAAE,QAAQ,EAAE;AAClE,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE;AACtF;AACA,YAAY,OAAO,KAAK,CAAC;AACzB,SAAS;AACT,QAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,IAAI,CAAC,YAAY;AAC/D,aAAa,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE;AACnE;AACA,YAAY,OAAO,KAAK,CAAC;AACzB,SAAS;AACT,QAAQ,OAAO,IAAI,CAAC;AACpB,KAAK,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;AACpC,IAAI,IAAI,cAAc,GAAGA,iBAAW,CAAC,UAAU,OAAO,EAAE;AACxD,QAAQ,IAAI,CAAC,WAAW,IAAI,CAAC,YAAY;AACzC,YAAY,OAAO;AACnB,QAAQ,IAAI,UAAU,CAAC,OAAO,EAAE;AAChC,YAAY,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;AACvC,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,OAAO,CAAC,OAAO,CAAC,UAAU,KAAK,EAAE;AACzC,YAAY,IAAI,EAAE,GAAG,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,WAAW,KAAK,EAAE,EAAE,KAAK,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;AACnI,YAAY,OAAO,CAAC,UAAU,QAAQ,EAAE;AACxC,gBAAgB,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC9E,oBAAoB,OAAO,QAAQ,CAAC;AACpC,gBAAgB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACxD,aAAa,CAAC,CAAC;AACf,SAAS,CAAC,CAAC;AACX,KAAK,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;AAC/D,IAAI,IAAI,aAAa,GAAGA,iBAAW,CAAC,mBAAmB,CAAC,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,CAAC,EAAE;AACnH,QAAQ,cAAc;AACtB,QAAQ,WAAW;AACnB,QAAQ,WAAW;AACnB,QAAQ,cAAc;AACtB,KAAK,CAAC,CAAC;AACP;AACA,IAAIC,eAAS,CAAC,YAAY;AAC1B,QAAQ,IAAI,cAAc,CAAC;AAC3B,QAAQ,IAAI,UAAU,EAAE;AACxB,YAAY,cAAc,GAAG,IAAI,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;AACtE,YAAY,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;AAChE,SAAS;AACT,aAAa;AACb,YAAY,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;AAC3C,gBAAgB,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;AACjE,aAAa;AACb,SAAS;AACT,QAAQ,OAAO,YAAY;AAC3B,YAAY,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAC3B,YAAY,CAAC,EAAE,GAAG,cAAc,KAAK,IAAI,IAAI,cAAc,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,cAAc,CAAC,UAAU,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AAC1K,YAAY,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,aAAa,EAAE,MAAM,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChG,SAAS,CAAC;AACV,KAAK,EAAE,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC;AACpC,IAAIA,eAAS,CAAC,YAAY;AAC1B,QAAQ,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AAC9F,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AACf,IAAI,OAAO,QAAQ,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;AAChD,CCjQa,IAAA,iBAAiB,GAAqE;AACjG,IAAA,YAAY,EAAE,MAAM;AACpB,IAAA,WAAW,EAAE,QAAQ;AACrB,IAAA,WAAW,EAAE,EAAE;EChGV,IAAMC,eAAa,GAAGC,eAAM,CAACC,iBAAQ,CAAC,CAAC,UAAC,EAAS,EAAA;AAAP,IAAA,IAAA,KAAK,GAAA,EAAA,CAAA,KAAA,CAAA;AAAO,IAAA,QAAC;AAC5D,QAAA,0CAA0C,EAAE;AAC1C,YAAA,eAAe,EAAEC,gBAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC;AAC1D,SAAA;AACD,QAAA,4CAA4C,EAAE;AAC5C,YAAA,eAAe,EAAEA,gBAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC;AAC1D,SAAA;KACF,EAAC;AAP2D,CAO3D,CAAC,CAAC;AAEG,IAAM,eAAe,GAAGF,eAAM,CAAC,KAAK,CAAC,CAAAG,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,uMAAA,CAAA,EAAA,CAAA,uMAY3C,CAAA,CAAA,CAAA,CAAA,CAAC;uBCPK,IAAM,wBAAwB,GAAG,EAAE,CC8P1C,MAAM,GAAG,gBAAgB,MAAM,CAAC,MAAM,CAAC;AACvC,EAAE,SAAS,EAAE;AACb,IAAI,QAAQ,CAAC,SAAS,EAAE;AACxB,MAAM,IAAI,CAAC,SAAS,EAAE;AACtB,QAAQ,OAAO;AACf,OAAO;AACP;AACA,MAAM,MAAM;AACZ,QAAQ,CAAC;AACT,QAAQ,CAAC;AACT,OAAO,GAAG,SAAS,CAAC;AACpB,MAAM,OAAO,cAAc,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;AACpG,KAAK;AACL;AACA,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,QAAQ,CAAC,SAAS,EAAE;AACxB,MAAM,IAAI,CAAC,SAAS,EAAE;AACtB,QAAQ,OAAO;AACf,OAAO;AACP;AACA,MAAM,MAAM;AACZ,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,OAAO,GAAG,SAAS,CAAC;AACpB,MAAM,OAAO,SAAS,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,GAAG,GAAG,CAAC;AAC7D,KAAK;AACL;AACA,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,QAAQ,CAAC,SAAS,EAAE;AACxB,MAAM,IAAI,CAAC,SAAS,EAAE;AACtB,QAAQ,OAAO;AACf,OAAO;AACP;AACA,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1F,KAAK;AACL;AACA,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,QAAQ,CAAC,IAAI,EAAE;AACnB,MAAM,IAAI;AACV,QAAQ,QAAQ;AAChB,QAAQ,QAAQ;AAChB,QAAQ,MAAM;AACd,OAAO,GAAG,IAAI,CAAC;AACf,MAAM,OAAO,QAAQ,GAAG,GAAG,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AACxD,KAAK;AACL;AACA,GAAG;AACH,CAAC,CAAC,CChUF,IAAM,KAAK,GAAG,UAAU,CAAM,EAAA;IAC5B,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,CAAC,IAAI,IAAI,EAAE;QACb,MAAM,GAAG,IAAI,CAAC;AACf,KAAA;AAAM,SAAA,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;AAChC,QAAA,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;AACnB,KAAA;AAAM,SAAA,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;AAChC,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;AACpB,YAAA,MAAM,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AACzB,SAAA;AAAM,aAAA,IAAI,EAAE,CAAC,YAAY,IAAI,CAAC,EAAE;YAC/B,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AACzC,SAAA;AACF,KAAA;AACD,IAAA,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,IAAM,QAAQ,GAAG,UAAU,CAAM,EAAA;AAC/B,IAAA,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC,CAAC;AAEF,IAAM,KAAK,GAAG,UAAC,EAAO,EAAE,EAAO,EAAA;IAC7B,IAAI,EAAE,KAAK,EAAE;AAAE,QAAA,OAAO,IAAI,CAAC;AAC3B,IAAA,IAAI,OAAO,EAAE,KAAK,OAAO,EAAE;AAAE,QAAA,OAAO,KAAK,CAAC;AAC1C,IAAA,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI;AAAE,QAAA,OAAO,KAAK,CAAC;AAC3C,IAAA,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;AAC1C,QAAA,IAAI,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM;AAAE,YAAA,OAAO,KAAK,CAAC;AAC1C,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;YACrC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAAE,gBAAA,OAAO,KAAK,CAAC;AACnC,SAAA;AACF,KAAA;AAAM,SAAA;QACL,OAAO,EAAE,KAAK,EAAE,CAAC;AAClB,KAAA;AACD,IAAA,OAAO,IAAI,CAAC;AACd,CAAC,CCjCK,SAAU,2BAA2B,CAAC,CAAkB,EAAA;IAC5D,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;AAC5D,CCEgB,SAAA,mBAAmB,CAAC,MAAmB,EAAE,YAAkC,EAAA;IACzF,QAAQ,MAAM,CAAC,IAAI;AACjB,QAAA,KAAK,QAAQ;AACX,YAAA,OAAO,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC;AAC/C,QAAA;AACE,YAAA,OAAO,MAAM,CAAC,KAAK,IAAI,YAAY,CAAC;AACvC,KAAA;AACH,CAAC;SAEe,SAAS,GAAA;IAAC,IAAwC,EAAA,GAAA,EAAA,CAAA;SAAxC,IAAwC,EAAA,GAAA,CAAA,EAAxC,EAAwC,GAAA,SAAA,CAAA,MAAA,EAAxC,EAAwC,EAAA,EAAA;QAAxC,EAAwC,CAAA,EAAA,CAAA,GAAA,SAAA,CAAA,EAAA,CAAA,CAAA;;IAChE,IAAM,OAAO,GAAwB,EAAE,CAAC;AACxC,IAAA,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AAC1B,QAAA,EAAE,CAAC,OAAO,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,IAAI,OAAO,CAAC,IAAI,CAAA,KAAA,CAAZ,OAAO,GAAU,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAlD,EAAkD,CAAC,CAAC;AACvE,KAAA;AACD,IAAA,OAAO,OAAO,CAAC;AACjB,CAAC;AAEK,SAAU,wBAAwB,CAAC,KAA+B,EAAA;AACtE,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YACxE,OAAO,EAAA,CAAA,MAAA,CAAG,KAAK,EAAA,OAAA,CAAO,CAAC;AACxB,SAAA;aAAM,IAAI,KAAK,KAAK,MAAM,EAAE;AAC3B,YAAA,OAAO,cAAc,CAAC;AACvB,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;AACF,KAAA;AAAM,SAAA;AACL,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACH,CClBO,IAAM,wBAAwB,GAAsB;AACzD,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,UAAU,EAAE,SAAS;;AAErB,IAAA,WAAW,iBAAK;AAChB,IAAA,oBAAoB,iBAAK;AACzB,IAAA,0BAA0B,iBAAK;AAC/B,IAAA,qBAAqB,iBAAK;AAC1B,IAAA,oBAAoB,iBAAK;AACzB,IAAA,qBAAqB,iBAAK;;CAE3B,CCvBD,IAAM,YAAY,GAAGC,mBAAa,CAAoB,wBAAwB,CAAC,CCCjE,SAAU,aAAa,GAAA;AACnC,IAAA,IAAM,KAAK,GAAGC,gBAAU,CAAC,YAAY,CAAC,CAAC;IACvC,IAAI,KAAK,KAAK,SAAS,EAAE;AACvB,QAAA,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;AAC7E,KAAA;AACD,IAAA,OAAO,KAAK,CAAC;AACf,CCFA,IAAM,eAAe,GAAGL,eAAM,CAACM,kBAAS,CAAC,CAAAH,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,oJAAA,CAAA,EAAA,CAAA,oJAQxC,CAAA,CAAA,CAAA,CAAA,CAAC;AAEF,IAAM,eAAe,GAAmC,UAAC,EAYxD,EAAA;;AAXC,IAAA,IAAA,QAAQ,GAAA,EAAA,CAAA,QAAA,EACG,aAAa,GAAA,EAAA,CAAA,SAAA,EACjB,SAAS,GAAA,EAAA,CAAA,KAAA,EACZ,MAAM,GAAA,EAAA,CAAA,EAAA,EACV,IAAI,UAAA,EACJ,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,YAAY,GAAA,EAAA,CAAA,YAAA,EACK,mBAAmB,GAAA,EAAA,CAAA,eAAA,EACpC,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,OAAO,GAAA,EAAA,CAAA,OAAA,CAAA;AAIC,IAAA,IAAA,QAAQ,GAAK,aAAa,EAAE,SAApB,CAAqB;;IAIrC,IAAM,KAAK,GAAGI,aAAO,CAAC,cAAM,OAAA,mBAAmB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA,EAAA,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IAE/F,IAAM,QAAQ,GAAGA,aAAO,CACtB,YAAA;QACE,OAAA,IAAI,KAAK,MAAM;YACf,MAAM,CAAC,IAAI,KAAK,KAAK;YACrB,MAAM,CAAC,IAAI,KAAK,QAAQ;YACxB,MAAM,CAAC,IAAI,KAAK,SAAS;AACzB,aAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,GAAG,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,mBAAmB,CAAC,CAAA;KAAA,EACrE,CAAC,IAAI,EAAE,MAAM,EAAE,mBAAmB,CAAC,CACpC,CAAC;IAEF,IAAM,SAAS,GAAGA,aAAO,CAAC,YAAA;;AACxB,QAAA,IAAI,SAAqC,CAAC;AAC1C,QAAA,IAAI,YAAwC,CAAC;AAE7C,QAAA,QAAQ,IAAI;AACV,YAAA,KAAK,MAAM;AACT,gBAAA,SAAS,GAAG,CAAA,EAAA,GAAA,MAAM,CAAC,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,SAAS,CAAC;gBACnC,YAAY,GAAG,CAAA,CAAA,EAAA,GAAA,MAAM,CAAC,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,cAAc,IAAG,MAAA,MAAM,CAAC,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,cAAc,EAAE,GAAG,SAAS,CAAC;gBACvF,MAAM;AACR,YAAA,KAAK,MAAM;AACT,gBAAA,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAC7B,gBAAA,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,EAAE;AACjC,oBAAA,YAAY,GAAG,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,SAAS,CAAC;AACvF,iBAAA;gBACD,MAAM;AACR,YAAA,KAAK,QAAQ;AACX,gBAAA,SAAS,GAAG,CAAA,EAAA,GAAA,MAAM,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,SAAS,CAAC;gBACrC,YAAY,GAAG,CAAA,CAAA,EAAA,GAAA,MAAM,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,cAAc,IAAG,MAAA,MAAM,CAAC,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,cAAc,EAAE,GAAG,SAAS,CAAC;gBAC3F,MAAM;AACT,SAAA;QAED,IAAI,SAAS,IAAI,YAAY,EAAE;YAC7B,OAAO,UAAU,CAAC,aAAa,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;AAC3D,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,aAAa,CAAC;AACtB,SAAA;AACH,KAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAE/C,IAAM,KAAK,GAAGA,aAAO,CAAC,YAAA;;AACpB,QAAA,IAAI,KAA6B,CAAC;AAClC,QAAA,IAAI,QAAgC,CAAC;AAErC,QAAA,QAAQ,IAAI;AACV,YAAA,KAAK,MAAM;AACT,gBAAA,KAAK,GAAG,CAAA,EAAA,GAAA,MAAM,CAAC,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,CAAC;gBAC3B,QAAQ,GAAG,CAAA,CAAA,EAAA,GAAA,MAAM,CAAC,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,UAAU,IAAG,MAAA,MAAM,CAAC,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,UAAU,EAAE,GAAG,SAAS,CAAC;gBAC3E,MAAM;AACR,YAAA,KAAK,MAAM;AACT,gBAAA,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;AACrB,gBAAA,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,EAAE;AACjC,oBAAA,QAAQ,GAAG,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,SAAS,CAAC;AAC3E,iBAAA;gBACD,MAAM;AACR,YAAA,KAAK,QAAQ;AACX,gBAAA,KAAK,GAAG,CAAA,EAAA,GAAA,MAAM,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,CAAC;gBAC7B,QAAQ,GAAG,CAAA,CAAA,EAAA,GAAA,MAAM,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,UAAU,IAAG,MAAA,MAAM,CAAC,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,UAAU,EAAE,GAAG,SAAS,CAAC;gBAC/E,MAAM;AACT,SAAA;AAED,QAAA,OAAAzB,UAAA,CAAAA,UAAA,CAAAA,UAAA,CAAAA,UAAA,CAAA,EAAA,EACK,SAAS,CACZ,EAAA,EAAA,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,MAAM,EAAE,IAAI,KAAK,MAAM,KAAK,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,SAAS,GAAG,SAAS,KAC3E,KAAK,CAAA,EACL,QAAQ,CACX,CAAA;AACJ,KAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAEpD,IAAM,EAAE,GAAGyB,aAAO,CAAC,YAAA;;AACjB,QAAA,IAAI,EAAuB,CAAC;AAC5B,QAAA,IAAI,KAA0B,CAAC;AAC/B,QAAA,IAAI,SAA8B,CAAC;AAEnC,QAAA,QAAQ,IAAI;AACV,YAAA,KAAK,MAAM;AACT,gBAAA,EAAE,GAAG,CAAA,EAAA,GAAA,MAAM,CAAC,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,EAAE,CAAC;gBACrB,KAAK,GAAG,CAAA,CAAA,EAAA,GAAA,MAAM,CAAC,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,IAAG,MAAA,MAAM,CAAC,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,EAAE,GAAG,SAAS,CAAC;gBAClE,MAAM;AACR,YAAA,KAAK,MAAM;AACT,gBAAA,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;AACf,gBAAA,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,EAAE;AACjC,oBAAA,KAAK,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,SAAS,CAAC;AAClE,iBAAA;gBACD,MAAM;AACR,YAAA,KAAK,QAAQ;AACX,gBAAA,EAAE,GAAG,CAAA,EAAA,GAAA,MAAM,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,EAAE,CAAC;gBACvB,KAAK,GAAG,CAAA,CAAA,EAAA,GAAA,MAAM,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,IAAG,MAAA,MAAM,CAAC,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,EAAE,GAAG,SAAS,CAAC;gBACtE,MAAM;AACT,SAAA;QAED,IAAI,MAAM,CAAC,OAAO,EAAE;YAElB,IAAM,OAAO,GAMT,EAAE,CAAC;AACP,YAAA,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,SAAS;AAAE,gBAAA,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,YAAY,GAAG,MAAM,CAAC;AAC5F,YAAA,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,SAAS;AAAE,gBAAA,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,YAAY,GAAG,MAAM,CAAC;AAC5F,YAAA,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,SAAS;AAAE,gBAAA,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,YAAY,GAAG,MAAM,CAAC;AAC5F,YAAA,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,SAAS;AAAE,gBAAA,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,YAAY,GAAG,MAAM,CAAC;AAC5F,YAAA,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,SAAS;AAAE,gBAAA,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,YAAY,GAAG,MAAM,CAAC;AAC5F,YAAA,SAAS,GAAG,EAAE,OAAO,EAAA,OAAA,EAAE,CAAC;AACzB,SAAA;QAED,IAAM,MAAM,GAAG,EAAE,CAAC;AAClB,QAAA,IAAI,KAAK;AAAE,YAAA,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9B,QAAA,IAAI,EAAE;AAAE,YAAA,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxB,QAAA,IAAI,MAAM;AAAE,YAAA,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAChC,QAAA,IAAI,SAAS;AAAE,YAAA,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAEtC,QAAA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AACrB,YAAA,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;AACvB,gBAAA,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;AAClB,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAC,EAAE,EAAA,EAAK,OAAA,OAAO,EAAE,KAAK,QAAQ,CAAtB,EAAsB,CAAC,EAAE;AAChD,oBAAA,OAAO,MAAM,CAAC,MAAM,CAAC,UAAC,GAAW,EAAE,EAAU,EAAA;AAC3C,wBAAA,GAAG,GAAQzB,UAAA,CAAAA,UAAA,CAAA,EAAA,EAAA,GAAG,CAAK,EAAA,EAAE,CAAE,CAAC;AACxB,wBAAA,OAAO,GAAG,CAAC;qBACZ,EAAE,EAAE,CAAC,CAAC;AACR,iBAAA;AACF,aAAA;AACF,SAAA;AACH,KAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;;AAIxC,IAAA,IAAM,WAAW,GAAGe,iBAAW,CAC7B,UAAC,CAAyC,EAAA;AACxC,QAAA,IACE,CAAC,QAAQ;YACT,MAAM,CAAC,IAAI,KAAK,OAAO;YACvB,MAAM,CAAC,IAAI,KAAK,QAAQ;YACxB,MAAM,CAAC,IAAI,KAAK,SAAS;AACzB,YAAA,MAAM,CAAC,IAAI,KAAK,KAAK,EACrB;YACA,CAAC,CAAC,eAAe,EAAE,CAAC;YAEpB,IAAI,IAAI,KAAK,MAAM,EAAE;AACnB,gBAAA,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,EAAE;oBACjC,IAAI,MAAM,CAAC,OAAO,EAAE;AAClB,wBAAA,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC7B,qBAAA;AAAM,yBAAA;AACL,wBAAA,IAAI,OAAO;AAAE,4BAAA,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACnC,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;AACH,KAAC,EACD,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAC/C,CAAC;;AAIF,IAAA,QACE,KAAA,CAAA,aAAA,CAAC,eAAe,EAAA,EACd,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,UAAU,CACnB,SAAS,EACT,iBAAiB,EACjB,QAAQ,IAAI,UAAU,EACtB,MAAM,CAAC,IAAI,GAAG,cAAe,CAAA,MAAA,CAAA,MAAM,CAAC,IAAI,CAAE,GAAG,KAAK,CACnD,EACD,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,EAAE,EACN,OAAO,EAAE,IAAI,KAAK,MAAM,GAAG,WAAW,GAAG,SAAS,EAAA,EAEjD,QAAQ,CACO,EAClB;AACJ,CAAC,CAAC;uBC3MF,IAAM,gBAAgB,GAAGG,eAAM,CAACQ,YAAG,CAAC,CAAAL,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,uDAAA,CAAA,EAAA,CAAA,uDAInC,CAAA,CAAA,CAAA,CAAA,CAAC;AAEF,IAAM,aAAa,GAAoB,UAAC,EAQvC,EAAA;;AAPC,IAAA,IAAA,IAAI,UAAA,EACJ,KAAK,WAAA,EACL,MAAM,YAAA,EACN,YAAY,GAAA,EAAA,CAAA,YAAA,EACZ,eAAe,GAAA,EAAA,CAAA,eAAA,EACf,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,aAAa,GAAA,EAAA,CAAA,aAAA,CAAA;AAIP,IAAA,IAAA,EAAwF,GAAA,aAAa,EAAE,EAArG,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,oBAAoB,GAAA,EAAA,CAAA,oBAAA,EAAE,0BAA0B,GAAA,EAAA,CAAA,0BAAA,EAAE,qBAAqB,2BAAoB,CAAC;;IAIxG,IAAA,EAAA,GAAwBP,cAAQ,CAAC,KAAK,CAAC,EAAtC,OAAO,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,UAAU,GAAA,EAAA,CAAA,CAAA,CAAmB,CAAC;IACxC,IAAA,EAAA,GAAoCA,cAAQ,CAAC,KAAK,CAAC,EAAlD,aAAa,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,gBAAgB,GAAA,EAAA,CAAA,CAAA,CAAmB,CAAC;;AAI1D,IAAAE,eAAS,CAAC,YAAA;AACR,QAAA,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;AAC3B,YAAA,UAAU,CAAC,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;AACtE,YAAA,gBAAgB,CAAC,MAAM,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;AACjF,SAAA;AAED,QAAA,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE;AAClC,YAAA,UAAU,YAAC,OAAgB,EAAA;AACzB,gBAAA,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;oBAC3B,UAAU,CAAC,OAAO,CAAC,CAAC;AACrB,iBAAA;aACF;AACD,YAAA,gBAAgB,YAAC,QAAiB,EAAA;AAChC,gBAAA,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;oBAC3B,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AAC5B,iBAAA;aACF;AACF,SAAA,CAAC,CAAC;KACJ,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAC;AAE1C,IAAAA,eAAS,CAAC,YAAA;AACR,QAAA,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;AAC3B,YAAA,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAC7C,SAAA;;AAEH,KAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AAEd,IAAAA,eAAS,CAAC,YAAA;AACR,QAAA,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;AAC3B,YAAA,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;YACxD,MAAM,CAAC,qBAAqB,IAAI,MAAM,CAAC,qBAAqB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;AACnF,SAAA;;AAEH,KAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;;AAIpB,IAAA,IAAM,QAAQ,GAAGS,aAAO,CAAC,YAAA,EAAM,QAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,KAAK,EAAnD,EAAoD,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IAE5G,IAAM,wBAAwB,GAAGA,aAAO,CAAC,YAAA;AACvC,QAAA,QAAQ,mBAAmB,CAAC,MAAM,EAAE,YAAY,CAAC;AAC/C,YAAA,KAAK,QAAQ;AACX,gBAAA,OAAO,QAAQ,CAAC;AAClB,YAAA,KAAK,OAAO;AACV,gBAAA,OAAO,KAAK,CAAC;AACf,YAAA;AACE,gBAAA,OAAO,OAAO,CAAC;AAClB,SAAA;AACH,KAAC,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IAE3B,IAAM,IAAI,GAAGA,aAAO,CAAC,YAAA;;AACnB,QAAA,IAAI,IAAI,CAAC;AACT,QAAA,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;YAC3B,IAAI,MAAM,CAAC,QAAQ,EAAE;gBACnB,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACrC,aAAA;iBAAM,IAAI,MAAM,CAAC,IAAI,EAAE;AACtB,gBAAA,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC1B,aAAA;AAAM,iBAAA;gBACL,IAAI,GAAG,SAAS,CAAC;AAClB,aAAA;AACF,SAAA;QAED,QAAQ,MAAM,CAAC,IAAI;AACjB,YAAA,KAAK,QAAQ;gBACX,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AACxD,oBAAA,IAAI,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAC;AAC1C,iBAAA;gBACD,MAAM;AACR,YAAA,KAAK,OAAO;AACV,gBAAA,IAAI,IACF,KAAC,CAAA,aAAA,CAAAC,YAAG,EAAC,EAAA,SAAS,EAAC,yBAAyB,EAAC,OAAO,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAC,CAAC,EAAA,EAAK,OAAA,CAAC,CAAC,eAAe,EAAE,CAAA,EAAA,EAAA;AACjG,oBAAA,KAAA,CAAA,aAAA,CAACC,iBAAQ,EAAA,EACP,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,UAAC,CAAC,EAAE,UAAU,EAAA;4BACtB,UAAU,CAAC,UAAU,CAAC,CAAC;4BACvB,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;4BAC/D,aAAa,IAAI,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;yBAC1D,EAAA,CACD,CACE,CACP,CAAC;gBACF,MAAM;AACR,YAAA,KAAK,QAAQ;AACX,gBAAA,IAAI,IACF,KAAC,CAAA,aAAA,CAAAD,YAAG,IAAC,SAAS,EAAC,0BAA0B,EAAC,OAAO,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAC,CAAC,EAAA,EAAK,OAAA,CAAC,CAAC,eAAe,EAAE,GAAA,EAAA,EACjG,IAAI,CACD,CACP,CAAC;gBACF,MAAM;AACR,YAAA,KAAK,SAAS;AACZ,gBAAA,IAAI,IACF,KAAA,CAAA,aAAA,CAAC,gBAAgB,EAAA,EACf,SAAS,EAAC,2BAA2B,EACrC,cAAc,EAAE,wBAAwB,EACxC,OAAO,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,eAAe,EAAE,CAAnB,EAAmB,IAEzD,IAAI,CACY,CACpB,CAAC;gBACF,MAAM;AACT,SAAA;QAED,QAAQ,MAAM,CAAC,IAAI;AACjB,YAAA,KAAK,KAAK;AACR,gBAAA;oBACE,IAAM,GAAG,GAAG,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAC,EAAE,EAAA,CAAG,CAAC;oBAC5F,IAAM,SAAS,GAAG,CAAA,CAAA,EAAA,GAAA,MAAM,CAAC,YAAY,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,SAAS,IAAG,CAAA,EAAA,GAAA,MAAM,CAAC,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,SAAS,GAAG,MAAM,CAAC;AAE3F,oBAAA,IAAI,IACF,KACE,CAAA,aAAA,CAAA,GAAA,EAAA,EAAA,IAAI,EAAE,IAAI,EACV,MAAM,EAAC,QAAQ,EACf,OAAO,EACL,QAAQ;AACN,8BAAE,SAAS;8BACT,UAAC,CAAsC,EAAA;gCACrC,CAAC,CAAC,eAAe,EAAE,CAAC;6BACrB,EAAA;AAGP,wBAAA,KAAA,CAAA,aAAA,CAACE,gBAAO,EACN5B,UAAA,CAAA,EAAA,SAAS,EAAC,uBAAuB,EACjC,KAAK,EAAE,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,IAAG,GAAG,CAAO,EAC/D,EAAA,MAAM,CAAC,YAAY,EAAA,EACvB,SAAS,EAAE,SAAS,EAEnB,CAAA,EAAA,GAAG,CACI,CACR,CACL,CAAC;AACH,iBAAA;gBACD,MAAM;AACR,YAAA,KAAK,MAAM;AACT,gBAAA,IAAI,IAAI,EAAE;AACR,oBAAA,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AAC5D,iBAAA;gBACD,MAAM;AACR,YAAA,KAAK,UAAU;AACb,gBAAA,IAAI,IAAI,EAAE;AACR,oBAAA,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;AACrE,iBAAA;gBACD,MAAM;AACT,SAAA;AAED,QAAA,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE;YACzB,IAAI,OAAO,SAAW,CAAC;YACvB,IAAI,MAAM,CAAC,YAAY,EAAE;gBACvB,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC5C,aAAA;AACD,YAAA,IAAI,OAAO,EAAE;gBACX,IAAI,IACF,KAAA,CAAA,aAAA,CAAC4B,gBAAO,EAAA5B,UAAA,CAAA,EAAC,SAAS,EAAC,uBAAuB,EAAC,KAAK,EAAE,OAAO,EAAA,EAAM,MAAM,CAAC,YAAY,CAAA,EAC/E,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,IACzB,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,QAAQ,IAC1B,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,IAAA,EAAO,IAAI,CAAQ,KAEnB,IAAI,CACL,KAED,KAAO,CAAA,aAAA,CAAA,MAAA,EAAA,IAAA,EAAA,IAAI,CAAQ,CACpB,CACO,CACX,CAAC;AACH,aAAA;AACF,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;AACd,KAAC,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,aAAa,CAAC,CAAC,CAAC;;AAIrG,IAAA,IAAM,WAAW,GAAGe,iBAAW,CAC7B,UAAC,IAAe,EAAE,KAAa,EAAA;QAC7B,IAAI,MAAM,CAAC,OAAO,EAAE;AAClB,YAAA,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC7B,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,OAAO;AAAE,gBAAA,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACnC,SAAA;AACH,KAAC,EACD,CAAC,MAAM,EAAE,OAAO,CAAC,CAClB,CAAC;;IAIF,QACE,KAAC,CAAA,aAAA,CAAA,eAAe,EACd,EAAA,IAAI,EAAC,MAAM,EACX,SAAS,EAAC,eAAe,EACzB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,OAAO,GAAG,WAAW,GAAG,SAAS,EAAA,EAE3D,CAAC,QAAQ,IAAI,IAAI,CACF,EAClB;AACJ,CAAC,CAAC;uBChOK,IAAM,aAAa,GAAGG,eAAM,CAACC,iBAAQ,CAAC,CAAC,UAAC,EAAS,EAAA;AAAP,IAAA,IAAA,KAAK,GAAA,EAAA,CAAA,KAAA,CAAA;AAAO,IAAA,QAAC;AAC5D,QAAA,0CAA0C,EAAE;AAC1C,YAAA,eAAe,EAAEC,gBAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC;AAC1D,SAAA;AACD,QAAA,4CAA4C,EAAE;AAC5C,YAAA,eAAe,EAAEA,gBAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC;AAC1D,SAAA;KACF,EAAC;AAP2D,CAO3D,CAAC,CAAC;AAEJ,IAAM,YAAY,GAAoB,UAAC,EAetC,EAAA;AAdC,IAAA,IAAA,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,KAAK,GAAA,EAAA,CAAA,KAAA;;IAEL,EAAE,GAAA,EAAA,CAAA,EAAA,EACF,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,YAAY,GAAA,EAAA,CAAA,YAAA,EACZ,eAAe,GAAA,EAAA,CAAA,eAAA,EACfS,UAAQ,cAAA,EACR,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,aAAa,GAAA,EAAA,CAAA,aAAA;;IAEV,KAAK,GAAA3B,QAAA,CAAA,EAAA,EAd6B,mIAetC,CADS,CAAA;IAEF,IAAA,EAAA,GAA+D4B,oBAAW,CAAC,EAAE,EAAE,EAAA,EAAA,EAAE,CAAC,EAAhF,UAAU,GAAA,EAAA,CAAA,UAAA,EAAE,SAAS,GAAA,EAAA,CAAA,SAAA,EAAE,UAAU,GAAA,EAAA,CAAA,UAAA,EAAE,SAAS,GAAA,EAAA,CAAA,SAAA,EAAE,UAAU,GAAA,EAAA,CAAA,UAAwB,CAAC;IAEzF,IAAM,UAAU,GAAGL,aAAO,CACxB,YAAA;AACE,QAAA,OAAAI,UAAQ;AACN,wCACO,KAAK,CAAA,EAAA,EACR,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAC5C,UAAU,YAAA,EAEd,CAAA,GAAE,KAAK,CAAA;KAAA,EACX,CAACA,UAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,CACzC,CAAC;IAEF,IAAM,aAAa,GAAGJ,aAAO,CAC3B,YAAA;AACE,QAAA,OAAAI,UAAQ;cACL7B,UAAA,CAAAA,UAAA,CAAA,EACG,GAAG,EAAE,UAAU,EAAA,EACZ,UAAU,CAAA,EACV,SAAS,CAAA,GAEd,EAAE,CAAA;KAAA,EACR,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE6B,UAAQ,CAAC,CAC9C,CAAC;AAEF,IAAA,QACE,KAAA,CAAA,aAAA,CAAC,aAAa,EAAA7B,UAAA,CAAA,EAAC,SAAS,EAAE,UAAU,CAAC,cAAc,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,UAAU,EAAA,EAAM,KAAK,EAAM,aAAa,CAAA,EAC7G,OAAO,CAAC,GAAG,CAAC,UAAC,MAAmB,EAAE,SAAS,EAAK,EAAA,QAC/C,KAAA,CAAA,aAAA,CAAC,aAAa,EACZ,EAAA,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,aAAa,EAAA,CAC5B,EAV6C,EAWhD,CAAC,CACY,EAChB;AACJ,CAAC,CAAC;AAEF,YAAY,CAAC,WAAW,GAAG,cAAc,CAAC;AAC1C,YAAY,CAAC,YAAY,GAAG,wBAAwB,CC3EpD,IAAM,eAAe,GAAmC,UAAC,EAAwB,EAAA;QAAtB,MAAM,GAAA,EAAA,CAAA,MAAA,EAAE,YAAY,GAAA,EAAA,CAAA,YAAA,CAAA;IAC7E,IAAM,IAAI,GAAGyB,aAAO,CAAC,YAAA;;AACnB,QAAA,IAAI,MAAA,MAAM,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,QAAQ,EAAE;AAC3B,YAAA,OAAO,MAAA,MAAM,CAAC,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,EAAE,CAAC;AAClC,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,MAAA,MAAM,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,CAAC;AAC7B,SAAA;AACH,KAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,QACE,oBAAC,eAAe,EAAA,EAAC,IAAI,EAAC,MAAM,EAAC,SAAS,EAAC,iBAAiB,EAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAChG,EAAA,IAAI,CACW,EAClB;AACJ,CAAC,CCbD,IAAM,eAAe,GAAmC,UAAC,EAAiD,EAAA;AAA/C,IAAA,IAAA,SAAS,GAAA,EAAA,CAAA,SAAA,EAAE,KAAK,GAAA,EAAA,CAAA,KAAA,EAAE,EAAE,GAAA,EAAA,CAAA,EAAA,EAAE,MAAM,YAAA,EAAE,KAAK,GAAA,EAAA,CAAA,KAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,QAAA,CAAA;AACtG,IAAA,QACE,KAAC,CAAA,aAAA,CAAAM,cAAK,EAAC,EAAA,UAAU,EAAE,KAAK,EAAA;AACtB,QAAA,KAAA,CAAA,aAAA,CAACC,mBAAU,EACT,EAAA,KAAK,EAAE,MAAM,CAAC,SAAS,EACvB,IAAI,EAAE,MAAM,CAAC,YAAY,EACzB,KAAK,EAAC,SAAS,EACf,SAAS,EAAE,UAAU,CAAC,iBAAiB,EAAE,SAAS,CAAC,EACnD,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,EAAE,EACN,QAAQ,EAAE,UAAC,CAAC,EAAE,IAAI,EAAA;AAChB,gBAAA,IAAI,QAAQ;oBAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;aAC9B,EAAA,CACD,CACI,EACR;AACJ,CAAC,CCXA,IAAI,MAAM,GAAG,UAAU,EAAE,EAAE,EAAE,EAAE;AAChC,IAAI,IAAI,EAAE,KAAK,EAAE;AACjB,QAAQ,OAAO,IAAI,CAAC;AACpB,IAAI,IAAI,OAAO,EAAE,KAAK,OAAO,EAAE;AAC/B,QAAQ,OAAO,KAAK,CAAC;AACrB,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI;AAChC,QAAQ,OAAO,KAAK,CAAC;AACrB,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;AAChD,QAAQ,IAAI,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM;AACnC,YAAY,OAAO,KAAK,CAAC;AACzB,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AAC/C,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAC/B,gBAAgB,OAAO,KAAK,CAAC;AAC7B,SAAS;AACT,KAAK;AACL,SAAS;AACT,QAAQ,OAAO,EAAE,KAAK,EAAE,CAAC;AACzB,KAAK;AACL,IAAI,OAAO,IAAI,CAAC;AAChB,CAAC,CAiCA,SAAS,wBAAwB,CAAC,MAAM,EAAE,IAAI,EAAE;AACjD,IAAI,IAAI,QAAQ,GAAGnB,YAAM,CAAC,IAAI,CAAC,CAAC;AAChC,IAAIoB,qBAAe,CAAC,YAAY;AAChC,QAAQ,IAAI,QAAQ,CAAC,OAAO,EAAE;AAC9B,YAAY,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;AACrC,SAAS;AACT,aAAa;AACb,YAAY,MAAM,EAAE,CAAC;AACrB,SAAS;AACT,KAAK,EAAE,IAAI,CAAC,CAAC;AACb,CAAC,SAAS,wBAAwB,CAAC,EAAE,EAAE,EAAE,EAAE;AAC3C,IAAI,IAAI,KAAK,GAAG,OAAO,EAAE,KAAK,UAAU,GAAG,SAAS,GAAG,EAAE,CAAC;AAC1D,IAAI,IAAI,kBAAkB,GAAG,OAAO,EAAE,KAAK,UAAU,GAAG,EAAE,GAAG,EAAE,CAAC;AAChE,IAAI,IAAI,EAAE,GAAGnB,cAAQ,CAAC,CAAC,CAAC,EAAE,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AAC/C,IAAI,IAAI,UAAU,GAAGA,cAAQ,CAAC,YAAY;AAC1C,QAAQ,OAAO,kBAAkB,GAAG,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;AACzE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,IAAI,IAAI,MAAM,GAAGD,YAAM,CAAC,UAAU,CAAC,CAAC;AACpC,IAAI,IAAI,WAAW,GAAGE,iBAAW,CAAC,YAAY;AAC9C,QAAQ,YAAY,CAAC,UAAU,SAAS,EAAE,EAAE,OAAO,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AACrE,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,IAAI,wBAAwB,CAAC,YAAY;AACzC,QAAQ,IAAI,QAAQ,GAAG,kBAAkB,GAAG,kBAAkB,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;AAC9E,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE;AAC/C,YAAY,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAC;AACtC,YAAY,WAAW,EAAE,CAAC;AAC1B,SAAS;AACT,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAChB,IAAI,wBAAwB,CAAC,YAAY;AACzC,QAAQ,IAAI,QAAQ,GAAG,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;AAChG,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE;AAC/C,YAAY,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAC;AACtC,YAAY,WAAW,EAAE,CAAC;AAC1B,SAAS;AACT,KAAK,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAC7B,IAAI,IAAI,QAAQ,GAAGA,iBAAW,CAAC,UAAU,QAAQ,EAAE;AACnD,QAAQ,IAAI,aAAa,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC;AACjG,QAAQ,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE;AACpD,YAAY,MAAM,CAAC,OAAO,GAAG,aAAa,CAAC;AAC3C,YAAY,WAAW,EAAE,CAAC;AAC1B,SAAS;AACT,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AACtC,CCzGA,SAAS,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE;AAC/B,EAAE,KAAK,GAAG,KAAK,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;AACjC,EAAE,IAAI,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;AAC9B;AACA,EAAE,IAAI,CAAC,GAAG,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,EAAE,OAAO,EAAE;AAC1D;AACA,EAAE,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE,EAAE,IAAI,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAC9C,EAAE,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC;AAC1B;AACA,EAAE,IAAI,QAAQ,KAAK,KAAK,EAAE;AAC1B,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;AACzB,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AAChD,KAAK,MAAM;AACX,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC9B,KAAK;AACL,GAAG,MAAM;AACT,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC5B,GAAG;AACH;AACA,EAAE,IAAI,KAAK,CAAC,UAAU,EAAE;AACxB,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,GAAG,GAAG,CAAC;AACnC,GAAG,MAAM;AACT,IAAI,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;AACpD,GAAG;AACH;sBCrBA,IAAM,oBAAoB,GAAoB,UAAC,EAAmB,EAAA;QAAjB,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,KAAK,GAAA,EAAA,CAAA,KAAA,CAAA;IAC9D,OAAO,KAAA,CAAA,aAAA,CAAC,YAAY,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,KAAK,EAAA,EAAG,QAAQ,CAAyB,CAAC;AACjF,CAAC,CCND;AACA;AACA;AACA,IAAI,eAAe,CAAC;AACpB,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;AAClB,SAAS,GAAG,GAAG;AAC9B;AACA,EAAE,IAAI,CAAC,eAAe,EAAE;AACxB;AACA,IAAI,eAAe,GAAG,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACrH;AACA,IAAI,IAAI,CAAC,eAAe,EAAE;AAC1B,MAAM,MAAM,IAAI,KAAK,CAAC,0GAA0G,CAAC,CAAC;AAClI,KAAK;AACL,GAAG;AACH;AACA,EAAE,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;AAChC,CChBA;AACA;AACA;AACA;AACA;AACA,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB;AACA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE;AAC9B,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AACD;AACO,SAAS,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE;AACjD;AACA;AACA,EAAE,OAAO,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;AACrf,CChBA,MAAM,UAAU,GAAG,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACxG,aAAe;AACf,EAAE,UAAU;AACZ,CAAC,CCCD,SAAS,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE;AAClC,EAAE,IAAI,MAAM,CAAC,UAAU,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE;AAC7C,IAAI,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC;AAC/B,GAAG;AACH;AACA,EAAE,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;AAC1B,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC;AACxD;AACA,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAClC,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAClC;AACA,EAAE,IAAI,GAAG,EAAE;AACX,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC;AACzB;AACA,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;AACjC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAChC,KAAK;AACL;AACA,IAAI,OAAO,GAAG,CAAC;AACf,GAAG;AACH;AACA,EAAE,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;AAC/B,CCLO,IAAM,wBAAwB,GAAG,EAAE,CCnBnC,IAAM,sBAAsB,GAAGG,eAAM,CAACC,iBAAQ,CAAC,CAAC,UAAC,EAAS,EAAA;AAAP,IAAA,IAAA,KAAK,GAAA,EAAA,CAAA,KAAA,CAAA;AAAO,IAAA,QAAC;AACrE,QAAA,MAAM,EAAE;AACN,YAAA,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI;AACxC,YAAA,SAAS,EAAE,QAAQ;AACnB,YAAA,UAAU,EAAE,GAAG;AAChB,SAAA;KACF,EAAC;AANoE,CAMpE,CAAC,CCFH,IAAM,aAAa,GAAiC,UAAC,EAA4C,EAAA;;QAA1C,MAAM,GAAA,EAAA,CAAA,MAAA,EAAE,YAAY,GAAA,EAAA,CAAA,YAAA,EAAE,GAAG,GAAA,EAAA,CAAA,GAAA,EAAE,aAAa,GAAA,EAAA,CAAA,aAAA,CAAA;IAGvF,IAAA,EAAA,GAAkD,aAAa,EAAE,EAA/D,oBAAoB,GAAA,EAAA,CAAA,oBAAA,EAAE,qBAAqB,GAAA,EAAA,CAAA,qBAAoB,CAAC;;IAIlE,IAAA,EAAA,GAAwBL,cAAQ,CAAC,KAAK,CAAC,EAAtC,OAAO,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,UAAU,GAAA,EAAA,CAAA,CAAA,CAAmB,CAAC;IACxC,IAAA,EAAA,GAAoCA,cAAQ,CAAC,KAAK,CAAC,EAAlD,aAAa,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,gBAAgB,GAAA,EAAA,CAAA,CAAA,CAAmB,CAAC;;AAI1D,IAAAE,eAAS,CAAC,YAAA;AACR,QAAA,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;AAC3B,YAAA,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACvC,SAAA;KACF,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC;AAE5C,IAAAA,eAAS,CAAC,YAAA;QACR,qBAAqB,CAAC,MAAM,EAAE;AAC5B,YAAA,UAAU,YAAC,OAAgB,EAAA;AACzB,gBAAA,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;oBAC3B,UAAU,CAAC,OAAO,CAAC,CAAC;AACrB,iBAAA;aACF;AACD,YAAA,gBAAgB,YAAC,aAAsB,EAAA;AACrC,gBAAA,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;oBAC3B,gBAAgB,CAAC,aAAa,CAAC,CAAC;AACjC,iBAAA;aACF;AACF,SAAA,CAAC,CAAC;AACL,KAAC,EAAE,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC;;AAIpC,IAAA,IAAM,KAAK,GAAGS,aAAO,CAAC,YAAM,EAAA,QAAC,GAAG,KAAK,SAAS,GAAG,EAAE,GAAG,EAAA,GAAA,EAAE,GAAG,SAAS,EAAxC,EAAyC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAE9E,IAAM,IAAI,GAAGA,aAAO,CAAC,YAAA;;AACnB,QAAA,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;AAC3B,YAAA,QACE,KAAC,CAAA,aAAA,CAAAE,iBAAQ,EACP,EAAA,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,UAAC,CAAC,EAAE,UAAU,EAAA;oBACtB,UAAU,CAAC,UAAU,CAAC,CAAC;AACvB,oBAAA,aAAa,IAAI,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;iBACpD,EAAA,CACD,EACF;AACH,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,MAAA,MAAM,CAAC,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,QAAQ,EAAE;AACzB,gBAAA,OAAO,MAAA,MAAM,CAAC,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,EAAE,CAAC;AAChC,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE;oBACpC,OAAO,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,uBAAuB,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,EAAA,CAAI,CAAC;AACnE,iBAAA;AAAM,qBAAA;oBACL,OAAO,MAAM,CAAC,KAAK,CAAC;AACrB,iBAAA;AACF,aAAA;AACF,SAAA;KACF,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;;IAIpD,QACE,KAAC,CAAA,aAAA,CAAA,eAAe,EAAC,EAAA,IAAI,EAAC,MAAM,EAAC,SAAS,EAAC,eAAe,EAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAC5G,EAAA,IAAI,CACW,EAClB;AACJ,CAAC,CCpED,IAAM,UAAU,GAAGT,eAAM,CAAC,KAAK,CAAC,CAAAG,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,sFAAA,CAAA,EAAA,CAAA,sFAM/B,CAAA,CAAA,CAAA,CAAA,CAAC;AAEF,IAAM,YAAY,GAAoB,UAAC,EAAuD,EAAA;;AAArD,IAAA,IAAA,OAAO,GAAA,EAAA,CAAA,OAAA,EAAE,IAAI,GAAA,EAAA,CAAA,IAAA,EAAE,OAAO,GAAA,EAAA,CAAA,OAAA,EAAE,YAAY,GAAA,EAAA,CAAA,YAAA,EAAE,aAAa,GAAA,EAAA,CAAA,aAAA,CAAA;AAG1F,IAAA,IAAM,KAAK,GAAGa,iBAAQ,EAAE,CAAC;;AAIzB,IAAA,IAAM,UAAU,GAAGrB,YAAM,CAAsB,IAAI,CAAC,CAAC;AACrD,IAAA,IAAM,OAAO,GAAGA,YAAM,CAAsB,IAAI,CAAC,CAAC;AAClD,IAAA,IAAM,OAAO,GAAGA,YAAM,CAAsB,IAAI,CAAC,CAAC;AAClD,IAAA,IAAM,OAAO,GAAGA,YAAM,CAAsB,IAAI,CAAC,CAAC;;IAI1C,IAAQ,aAAa,GAAK,iBAAiB,CAAC;AAClD,QAAA,SAAS,EAAE,UAAU;AACrB,QAAA,WAAW,EAAE,KAAK;AAClB,QAAA,YAAY,EAAE,IAAI;AACnB,KAAA,CAAC,OAJ2B,CAI1B;AACK,IAAA,IAAQ,UAAU,GAAK,iBAAiB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,OAAtF,CAAuF;AACzG,IAAA,IAAQ,UAAU,GAAK,iBAAiB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,OAAtF,CAAuF;AACzG,IAAA,IAAQ,UAAU,GAAK,iBAAiB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,OAAtF,CAAuF;;IAIjH,IAAM,UAAU,GAAGY,aAAO,CACxB,YAAA;AACE,QAAA,OAAA,CAAC,CAAC,OAAO,KACP,KAAC,CAAA,aAAA,CAAA,sBAAsB,EAAC,EAAA,GAAG,EAAE,UAAU,EAAE,SAAS,EAAC,wBAAwB,EAAA;YACzE,KAAC,CAAA,aAAA,CAAAD,kBAAS,EAAC,EAAA,OAAO,EAAE,OAAO,CAAC,MAAM,EAAG,EAAA,OAAO,CAAa,CAClC,CAC1B,CAAA;AAJD,KAIC,EACH,CAAC,OAAO,EAAE,OAAO,CAAC,CACnB,CAAC;AAEF,IAAA,IAAM,YAAY,GAAGT,iBAAW,CAC9B,UAAC,GAAiC,EAAE,GAAY,EAAA;QAC9C,IAAM,KAAK,GAAG,GAAG;AACd,aAAA,GAAG,CACF,UAAC,IAAI,EAAE,GAAG,EAAA;YACR,OAAA,CAAC,CAAC,IAAI,KACJ,oBAACS,kBAAS,EAAA,EACR,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,KAAK,EAAE;AACL,oBAAA,GAAG,EAAA,GAAA;AACH,oBAAA,YAAY,EAAE,CAAC;AAChB,iBAAA,EAAA;AAEA,gBAAA,IAAI,CAAC,KAAK;gBACV,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,KAAC,CAAA,aAAA,CAAA,UAAU,IAAC,KAAK,EAAE,EAAE,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAI,CAAA,CAC9E,CACb,CAAA;AAbD,SAaC,CACJ;aACA,MAAM,CAAC,UAAC,IAAI,EAAK,EAAA,OAAA,CAAC,CAAC,IAAI,CAAA,EAAA,CAAgB,CAAC;AAE3C,QAAA,IAAI,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE;AACjC,YAAA,KAAK,CAAC,IAAI,CACR,KAAA,CAAA,aAAA,CAACA,kBAAS,EAAC,EAAA,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,EAAA,GAAA,EAAE,YAAY,EAAE,CAAC,EAAE,EAAA,CAAI,CAC5G,CAAC;AACH,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;KACd,EACD,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CACjC,CAAC;IAEF,IAAM,SAAS,GAAGC,aAAO,CAAC,YAAA;QACxB,IAAM,GAAG,GAAG,CAAC,aAAa,IAAI,CAAC,KAAK,UAAU,IAAI,CAAC,CAAC,IAAI,UAAU,IAAI,CAAC,CAAC,IAAI,UAAU,IAAI,CAAC,CAAC,CAAC;QAE7F,QACE,oBAACN,iBAAQ,EAAA,IAAA,EACN,OAAO,CAAC,GAAG,CAAC,UAAC,MAAM,EAAE,GAAG,EAAA,EAAK,QAC5B,KAAA,CAAA,aAAA,CAAC,aAAa,EACZ,EAAA,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,GAAG,EAAE,GAAG,EACR,aAAa,EAAE,aAAa,GAC5B,EACH,EAAA,CAAC,CACO,EACX;AACJ,KAAC,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;;AAI9F,IAAA,IAAI,IAAI,EAAE;QACR,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;AAC1B,YAAA,QACE,KAAC,CAAA,aAAA,CAAAgB,kBAAS,EAAC,EAAA,SAAS,EAAC,WAAW,EAAA;gBAC7B,UAAU;AACV,gBAAA,IAAI,CAAC,GAAG,CAAC,UAAC,GAAG,EAAE,GAAG,EAAA;oBACjB,IAAI,GAAG,GAA+C,SAAS,CAAC;oBAChE,IAAI,GAAG,GAAuB,SAAS,CAAC;AAExC,oBAAA,QAAQ,GAAG;AACT,wBAAA,KAAK,CAAC;4BACJ,GAAG,GAAG,OAAO,CAAC;4BACd,GAAG,GAAG,aAAa,CAAC;4BACpB,MAAM;AACR,wBAAA,KAAK,CAAC;4BACJ,GAAG,GAAG,OAAO,CAAC;AACd,4BAAA,GAAG,GAAG,CAAC,aAAa,IAAI,CAAC,KAAK,UAAU,IAAI,CAAC,CAAC,CAAC;4BAC/C,MAAM;AACR,wBAAA,KAAK,CAAC;4BACJ,GAAG,GAAG,OAAO,CAAC;AACd,4BAAA,GAAG,GAAG,CAAC,aAAa,IAAI,CAAC,KAAK,UAAU,IAAI,CAAC,CAAC,IAAI,UAAU,IAAI,CAAC,CAAC,CAAC;4BACnE,MAAM;AACR,wBAAA,KAAK,CAAC;4BACJ,GAAG,GAAG,CAAC,aAAa,IAAI,CAAC,KAAK,UAAU,IAAI,CAAC,CAAC,IAAI,UAAU,IAAI,CAAC,CAAC,IAAI,UAAU,IAAI,CAAC,CAAC,CAAC;AAC1F,qBAAA;oBACD,QACE,KAAC,CAAA,aAAA,CAAAhB,iBAAQ,EAAC,EAAA,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAC,cAAc,EACnD,EAAA,YAAY,CAAC,GAAmC,EAAE,GAAG,CAAC,CAC9C,EACX;iBACH,CAAC,CACQ,EACZ;AACH,SAAA;AAAM,aAAA;AACL,YAAA,QACE,KAAC,CAAA,aAAA,CAAAgB,kBAAS,EAAC,EAAA,SAAS,EAAC,WAAW,EAAA;gBAC7B,UAAU;AACX,gBAAA,KAAA,CAAA,aAAA,CAAChB,iBAAQ,EAAC,EAAA,GAAG,EAAE,OAAO,EAAE,SAAS,EAAC,cAAc,EAAA,EAC7C,YAAY,CAAC,IAAoC,EAAE,aAAa,CAAC,CACzD;gBACV,SAAS,CACA,EACZ;AACH,SAAA;AACF,KAAA;AAAM,SAAA;AACL,QAAA,QACE,KAAC,CAAA,aAAA,CAAAgB,kBAAS,EAAC,EAAA,SAAS,EAAC,WAAW,EAAA;YAC7B,UAAU;YACV,SAAS,CACA,EACZ;AACH,KAAA;AACH,CAAC,CAAC;AAEF,YAAY,CAAC,WAAW,GAAG,cAAc,CAAC;AAC1C,YAAY,CAAC,YAAY,GAAG,wBAAwB,CAAC;uBC1HrD,SAAS,YAAY,CAAI,CAA+B,EAAA;IACtD,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC;AACtD,CAAC;AAwBK,IAAA,KAAK,GAAuB,KAAK,CAAC,UAAU,CAChD,UACE,EA8BC,EACD,GAAG,EAAA;;AA9BD,IAAA,IAAA,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,WAAW,GAAA,EAAA,CAAA,WAAA,EACF,WAAW,GAAA,EAAA,CAAA,OAAA,EACb,SAAS,WAAA,EACR,UAAU,GAAA,EAAA,CAAA,MAAA,EAClB,WAAW,GAAA,EAAA,CAAA,WAAA,EACX,YAAY,GAAA,EAAA,CAAA,YAAA,EACZ,eAAe,GAAA,EAAA,CAAA,eAAA,EACD,gBAAgB,GAAA,EAAA,CAAA,YAAA,EAC9B,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,SAAS,eAAA,EACT,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,YAAY,GAAA,EAAA,CAAA,YAAA,EACZ,aAAa,mBAAA,EACb,WAAW,GAAA,EAAA,CAAA,WAAA,EACX,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,UAAU,GAAA,EAAA,CAAA,UAAA,EACVN,UAAQ,GAAA,EAAA,CAAA,QAAA,EACR,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,cAAc,GAAA,EAAA,CAAA,cAAA,EACd,YAAY,kBAAA,EACZ,YAAY,GAAA,EAAA,CAAA,YAAA,EACZ,aAAa,GAAA,EAAA,CAAA,aAAA;;AAEb,IAAA,SAAS,eAAA,EACF,SAAS,GAAA,EAAA,CAAA,KAAA,EAChB,EAAE,GAAA,EAAA,CAAA,EAAA,CAAA;AAMJ,IAAA,IAAM,kBAAkB,GAAGhB,YAAM,CAAmB,EAAE,CAAC,CAAC;AACxD,IAAA,IAAM,gBAAgB,GAAGA,YAAM,CAAiB,EAAE,CAAC,CAAC;AACpD,IAAA,IAAM,oBAAoB,GAAGA,YAAM,EAAkB,CAAC;AACtD,IAAA,IAAM,sBAAsB,GAAGA,YAAM,CAA6C,EAAE,CAAC,CAAC;AACtF,IAAA,IAAM,YAAY,GAAGA,YAAM,CAAgB,IAAI,CAAC,CAAC;;AAIjD,IAAA,IAAM,OAAO,GAAGuB,eAAU,CACxBC,cAAS,CAACC,gBAAW,EAAE;;AAErB,QAAA,oBAAoB,EAAE;AACpB,YAAA,QAAQ,EAAE,EAAE;AACb,SAAA;AACF,KAAA,CAAC,EACFD,cAAS,CAACE,gBAAW,EAAE;;AAErB,QAAA,oBAAoB,EAAE;AACpB,YAAA,KAAK,EAAE,GAAG;AACV,YAAA,SAAS,EAAE,CAAC;AACb,SAAA;AACF,KAAA,CAAC,EACFF,cAAS,CAACG,mBAAc,EAAE;AACxB,QAAA,gBAAgB,EAAEC,oCAA2B;AAC9C,KAAA,CAAC,CACH,CAAC;;IAII,IAAA,EAAA,GAA0B3B,cAAQ,CAAC,KAAK,CAAC,EAAxC,QAAQ,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,WAAW,GAAA,EAAA,CAAA,CAAA,CAAmB,CAAC;IAC1C,IAAA,EAAA,GAA8BA,cAAQ,CAAqB,SAAS,CAAC,EAApE,UAAU,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,aAAa,GAAA,EAAA,CAAA,CAAA,CAA2C,CAAC;;IAItE,IAAA,EAAA,GAAwCA,cAAQ,EAAsB,EAArE,eAAe,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,kBAAkB,GAAA,EAAA,CAAA,CAAA,CAAkC,CAAC;IAErE,IAAK,uBAAuB,GAAK,iBAAiB,CAAC;AACzD,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,WAAW,EAAE,KAAK;QAClB,QAAQ,EAAA,YAAA;YACN,IAAI,uBAAuB,CAAC,OAAO,EAAE;gBACnC,kBAAkB,CAAC,uBAAuB,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC,CAAC;AACpF,aAAA;AAAM,iBAAA;gBACL,kBAAkB,CAAC,SAAS,CAAC,CAAC;AAC/B,aAAA;SACF;AACF,KAAA,CAAC,IAVkC,CAUjC;;IAIG,IAAA,EAAA,GAAkCA,cAAQ,EAAsB,EAA/D,YAAY,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,eAAe,GAAA,EAAA,CAAA,CAAA,CAAkC,CAAC;IAE/D,IAAK,0BAA0B,GAAK,iBAAiB,CAAC;AAC5D,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,WAAW,EAAE,KAAK;QAClB,QAAQ,EAAA,YAAA;YACN,IAAI,0BAA0B,CAAC,OAAO,EAAE;gBACtC,eAAe,CAAC,0BAA0B,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC,CAAC;AACpF,aAAA;AAAM,iBAAA;gBACL,eAAe,CAAC,SAAS,CAAC,CAAC;AAC5B,aAAA;SACF;AACF,KAAA,CAAC,IAVqC,CAUpC;;IAIG,IAAA,EAAA,GAAwB,wBAAwB,CAAwB,WAAW,CAAC,EAAnF,OAAO,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,UAAU,GAAA,EAAA,CAAA,CAAA,CAAgE,CAAC;IACrF,IAAA,EAAA,GAAkCA,cAAQ,EAA4B,EAArE,YAAY,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,eAAe,GAAA,EAAA,CAAA,CAAA,CAAwC,CAAC;IACvE,IAAA,EAAA,GAAoB,wBAAwB,CAAsB,SAAS,CAAC,EAA3E,KAAK,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,CAAA,CAA4D,CAAC;IAC7E,IAAA,EAAA,GAAoCA,cAAQ,EAA2C,EAAtF,aAAa,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,gBAAgB,GAAA,EAAA,CAAA,CAAA,CAAuD,CAAC;IACxF,IAAA,EAAA,GAAsB,wBAAwB,CAAuB,UAAU,CAAC,EAA/E,MAAM,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,SAAS,GAAA,EAAA,CAAA,CAAA,CAA8D,CAAC;;IAIvF,IAAM,OAAO,GAAGW,aAAO,CAAC,YAAA;AACtB,QAAA,IAAM,EAAE,GAAG;AACT,YAAA,OAAO,EAAE,OAAO,WAAW,KAAK,QAAQ,GAAG,EAAA,CAAA,MAAA,CAAG,WAAW,EAAA,IAAA,CAAI,GAAG,WAAW;SAC5E,CAAC;QAEF,OAAO;AACL,YAAA,gEAAgE,EAAE,EAAE;AACpE,YAAA,gEAAgE,EAAE,EAAE;AACpE,YAAA,kEAAkE,EAAE,EAAE;SACvE,CAAC;AACJ,KAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;;AAIlB,IAAA,IAAM,iBAAiB,GAAGV,iBAAW,CAAC,UAAC,KAA2B,EAAA;QAChE,OAAO,KAAK,KAAL,IAAA,IAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,KAAK,CAAE,GAAG,CAAsC,UAAC,EAAe,EAAE,KAAK,EAAA;AAApB,YAAA,IAAA,EAAE,GAAA,EAAA,CAAA,EAAA,EAAK,IAAI,GAAAb,QAAA,CAAA,EAAA,EAAb,MAAe,CAAF,CAAA;YACnE,OAASF,UAAA,CAAA,EAAA,EAAE,EAAE,EAAE,IAAI,IAAI,GAAG,EAAG,CAAA,MAAA,CAAA0C,EAAI,EAAE,EAAI,GAAA,CAAA,CAAA,MAAA,CAAA,KAAK,CAAE,GAAG,EAAE,EAAA,EAAK,IAAI,CAAG,CAAA;AACjE,SAAC,CAAC,CAAC;KACJ,EAAE,EAAE,CAAC,CAAC;AAEP,IAAA,IAAM,eAAe,GAAG3B,iBAAW,CAAC,UAAC,MAAmB,EAAA;QACtD,IAAI,oBAAoB,CAAC,OAAO,EAAE;AAChC,YAAA,YAAY,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC3C,YAAA,oBAAoB,CAAC,OAAO,GAAG,SAAS,CAAC;AAC1C,SAAA;QAED,IAAM,cAAc,GAAG,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC7D,QAAA,IAAI,cAAc,EAAE;AAClB,YAAA,oBAAoB,CAAC,OAAO,GAAG,UAAU,CAAC,YAAA;;AACxC,gBAAA,oBAAoB,CAAC,OAAO,GAAG,SAAS,CAAC;AAEzC,gBAAA,IAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,GAAG,EAAA;AAC1E,oBAAA,IAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACpE,oBAAA,IAAI,UAAU,EAAE;AACd,wBAAA,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;AAC7B,4BAAA,OAAO,IAAI,CAAC;AACb,yBAAA;AACF,qBAAA;AACH,iBAAC,CAAC,CAAC;gBAEH,IAAM,UAAU,GACd,kBAAkB;AAClB,oBAAA,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,GAAG,EAAA;AAC9C,wBAAA,IAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACpE,wBAAA,IAAI,UAAU,EAAE;AACd,4BAAA,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;AAC7B,gCAAA,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;AAC5B,6BAAA;AACF,yBAAA;AACH,qBAAC,CAAC,CAAC;gBAEL,CAAA,EAAA,GAAA,cAAc,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,gBAAgB,CAAC,CAAC,kBAAkB,CAAC,CAAC;gBAC/D,CAAA,EAAA,GAAA,cAAc,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,UAAU,CAAC,UAAU,CAAC,CAAC;aACjD,EAAE,GAAG,CAAC,CAAC;AACT,SAAA;KACF,EAAE,EAAE,CAAC,CAAC;AAEP,IAAA,IAAM,eAAe,GAAGA,iBAAW,CAAC,UAAC,QAAgB,EAAA;QACnD,IAAM,YAAY,GAAgB,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG,EAAA;YAChD,IAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC/C,IAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC9C,YAAA,IAAI,UAAU,EAAE;gBACd,IAAI,UAAU,CAAC,OAAO,EAAE;AACtB,oBAAA,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAClC,iBAAA;AACF,aAAA;AACH,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,YAAY,CAAC;KACrB,EAAE,EAAE,CAAC,CAAC;IAEP,IAAM,kBAAkB,GAAGA,iBAAW,CAAC,YAAA;QACrC,IAAI,oBAAoB,CAAC,OAAO,EAAE;AAChC,YAAA,YAAY,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC3C,YAAA,oBAAoB,CAAC,OAAO,GAAG,SAAS,CAAC;AAC1C,SAAA;KACF,EAAE,EAAE,CAAC,CAAC;IAEP,IAAM,2BAA2B,GAAGA,iBAAW,CAAC,YAAA;QAC9C,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG,EAAA;AACtD,YAAA,IAAI,sBAAsB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACvC,YAAY,CAAC,sBAAsB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AACnD,aAAA;AACH,SAAC,CAAC,CAAC;AACH,QAAA,sBAAsB,CAAC,OAAO,GAAG,EAAE,CAAC;KACrC,EAAE,EAAE,CAAC,CAAC;AAEP,IAAA,IAAM,iBAAiB,GAAGA,iBAAW,CACnC,UAAC,QAAgB,EAAA;AACf,QAAA,IAAI,sBAAsB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC5C,YAAY,CAAC,sBAAsB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvD,YAAA,sBAAsB,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;AACtD,SAAA;AACD,QAAA,IAAI,aAAa,EAAE;AACjB,YAAA,sBAAsB,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,YAAA;AACpD,gBAAA,sBAAsB,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;gBAErD,aAAa,IAAI,aAAa,CAAC,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;aACrE,EAAE,GAAG,CAAC,CAAC;AACT,SAAA;AACH,KAAC,EACD,CAAC,eAAe,EAAE,aAAa,CAAC,CACjC,CAAC;IAEF,IAAM,oBAAoB,GAAGA,iBAAW,CAAC,YAAA;;AACvC,QAAA,CAAA,EAAA,GAAA,MAAA,YAAY,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,gBAAgB,EAAE,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;KAChE,EAAE,EAAE,CAAC,CAAC;;AAIP,IAAAC,eAAS,CAAC,YAAA;QACR,OAAO,YAAA;AACL,YAAA,kBAAkB,EAAE,CAAC;AACrB,YAAA,2BAA2B,EAAE,CAAC;AAChC,SAAC,CAAC;;KAEH,EAAE,EAAE,CAAC,CAAC;AAEP,IAAAA,eAAS,CAAC,YAAA;AACR,QAAA,kBAAkB,EAAE,CAAC;AACrB,QAAA,2BAA2B,EAAE,CAAC;QAE9B,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG,EAAA;;AAClD,YAAA,IAAI,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;AAC3D,gBAAA,CAAA,EAAA,GAAA,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,UAAU,CAAC,KAAK,CAAC,CAAC;AAC7D,aAAA;AACH,SAAC,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG,EAAA;AAChD,YAAA,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAC,IAAI,EAAA;;AAC9D,gBAAA,CAAA,EAAA,GAAA,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,UAAU,CAAC,KAAK,CAAC,CAAC;AAC1E,aAAC,CAAC,CAAC;AACL,SAAC,CAAC,CAAC;AAEH,QAAA,gBAAgB,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;;AAE7C,KAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAEZ,IAAAA,eAAS,CAAC,YAAA;AACR,QAAA,kBAAkB,EAAE,CAAC;AACrB,QAAA,2BAA2B,EAAE,CAAC;AAE9B,QAAA,eAAe,CAAC,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;;AAEjD,KAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AAEd,IAAAiB,qBAAe,CAAC,YAAA;AACd,QAAA,2BAA2B,EAAE,CAAC;AAE9B,QAAA,IAAI,aAAa,EAAE;YACjB,gBAAgB,CAAC,OAAO,GAAG,aAAa,CAAC,MAAM,CAAiB,UAAC,GAAG,EAAE,IAAI,EAAA;AACxE,gBAAA,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG;AACb,oBAAA,IAAI,EAAA,IAAA;AACJ,oBAAA,OAAO,EAAE,EAAE;iBACZ,CAAC;AAEF,gBAAA,IAAI,YAAY,EAAE;AAChB,oBAAA,YAAY,CAAC,OAAO,CAAC,UAAC,CAAC,EAAA;;AACrB,wBAAA,IAAM,QAAQ,GAAI,CAAiB,CAAC,EAAE,CAAC;AAEvC,wBAAA,IAAI,CAAA,EAAA,GAAA,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,CAAC,QAAQ,CAAC,EAAE;4BACxD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACtF,yBAAA;AAAM,6BAAA;4BACL,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG;AAC/B,gCAAA,MAAM,EAAE,CAAC;AACT,gCAAA,OAAO,EAAE,KAAK;AACd,gCAAA,aAAa,EAAE,KAAK;6BACrB,CAAC;AACH,yBAAA;AACH,qBAAC,CAAC,CAAC;AACJ,iBAAA;AACD,gBAAA,OAAO,GAAG,CAAC;aACZ,EAAE,EAAE,CAAC,CAAC;AACR,SAAA;AAAM,aAAA;AACL,YAAA,gBAAgB,CAAC,OAAO,GAAG,EAAE,CAAC;AAC/B,SAAA;KACF,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,2BAA2B,CAAC,CAAC,CAAC;AAE/D,IAAAA,qBAAe,CAAC,YAAA;AACd,QAAA,IAAI,YAAY,EAAE;YAChB,kBAAkB,CAAC,OAAO,GAAG,YAAY,CAAC,MAAM,CAAmB,UAAC,GAAG,EAAE,CAAC,EAAA;AACxE,gBAAA,GAAG,CAAE,CAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC3D,gBAAA,OAAO,GAAG,CAAC;aACZ,EAAE,EAAE,CAAC,CAAC;AACR,SAAA;AAAM,aAAA;AACL,YAAA,kBAAkB,CAAC,OAAO,GAAG,EAAE,CAAC;AACjC,SAAA;AACH,KAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;;AAInB,IAAAA,qBAAe,CAAC,YAAA;AACd,QAAA,IAAI,GAAG,EAAE;YACP,IAAI,aAAW,GAAG,OAAO,CAAC;YAC1B,IAAI,WAAS,GAAG,KAAK,CAAC;YACtB,IAAI,YAAU,GAAG,MAAM,CAAC;AAExB,YAAA,IAAM,QAAQ,GAAkB;AAC9B,gBAAA,UAAU,EAAE,YAAA,EAAM,OAAA,aAAW,GAAA;gBAC7B,UAAU,EAAE,UAAC,OAAO,EAAA;oBAClB,aAAW,GAAG,OAAO,CAAC;oBACtB,UAAU,CAAC,aAAW,CAAC,CAAC;iBACzB;AACD,gBAAA,QAAQ,EAAE,YAAA,EAAM,OAAA,WAAS,GAAA;AACzB,gBAAA,SAAS,EAAE,YAAA,EAAM,OAAA,YAAU,GAAA;AAC3B,gBAAA,cAAc,EAAE,UAAC,KAAK,EAAE,MAAM,EAAA;oBAC5B,WAAS,GAAG,KAAK,CAAC;oBAClB,YAAU,GAAG,MAAM,CAAC;oBACpB,QAAQ,CAAC,WAAS,CAAC,CAAC;oBACpB,SAAS,CAAC,YAAU,CAAC,CAAC;iBACvB;gBACD,SAAS,EAAA,YAAA;AACP,oBAAA,gBAAgB,CAAC,iBAAiB,CAAC,WAAS,CAAC,CAAC,CAAC;iBAChD;AACD,gBAAA,eAAe,EAAA,eAAA;AACf,gBAAA,WAAW,EAAE,oBAAoB;aAClC,CAAC;AAEF,YAAA,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE;gBAC7B,GAAG,CAAC,QAAQ,CAAC,CAAC;AACf,aAAA;AAAM,iBAAA;AACL,gBAAA,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC;AACxB,aAAA;AACF,SAAA;AACH,KAAC,EAAE;QACD,GAAG;QACH,OAAO;QACP,KAAK;QACL,MAAM;QACN,iBAAiB;QACjB,UAAU;QACV,QAAQ;QACR,SAAS;QACT,eAAe;QACf,oBAAoB;AACrB,KAAA,CAAC,CAAC;;AAIH,IAAA,IAAM,aAAa,GAAGlB,iBAAW,CAC/B,UAAC,KAAmB,EAAA;QACV,IAAA,MAAM,GAAW,KAAK,CAAA,MAAhB,EAAE,IAAI,GAAK,KAAK,CAAA,IAAV,CAAW;QAE/B,IAAI,MAAM,IAAI,IAAI,EAAE;YAClB,gBAAgB,CAAC,UAAC,KAAK,EAAA;AACrB,gBAAA,IAAI,KAAK,EAAE;oBACT,IAAI,UAAQ,GAAkB,IAAI,CAAC;oBACnC,IAAI,UAAQ,GAAkB,IAAI,CAAC;AAEnC,oBAAA,KAAK,CAAC,IAAI,CAAC,UAAC,IAAI,EAAE,GAAG,EAAA;AACnB,wBAAA,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,EAAE;4BACzB,UAAQ,GAAG,GAAG,CAAC;AAChB,yBAAA;AAAM,6BAAA,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE;4BAC9B,UAAQ,GAAG,GAAG,CAAC;AAChB,yBAAA;AACD,wBAAA,OAAO,UAAQ,IAAI,IAAI,IAAI,UAAQ,IAAI,IAAI,CAAC;AAC9C,qBAAC,CAAC,CAAC;AAEH,oBAAA,IAAI,UAAQ,IAAI,IAAI,IAAI,UAAQ,IAAI,IAAI,EAAE;wBACxC,IAAM,UAAU,GAAG4B,kBAAS,CAAC,KAAK,EAAE,UAAQ,EAAE,UAAQ,CAAC,CAAC;AACxD,wBAAA,YAAY,IAAI,YAAY,CAAC,UAAU,CAAC,CAAC;AACzC,wBAAA,OAAO,UAAU,CAAC;AACnB,qBAAA;AAAM,yBAAA;AACL,wBAAA,OAAO,KAAK,CAAC;AACd,qBAAA;AACF,iBAAA;AAAM,qBAAA;AACL,oBAAA,OAAO,KAAK,CAAC;AACd,iBAAA;AACH,aAAC,CAAC,CAAC;AACJ,SAAA;AACH,KAAC,EACD,CAAC,YAAY,CAAC,CACf,CAAC;AAEF,IAAA,IAAM,qBAAqB,GAAG5B,iBAAW,CAAC,UAAC,MAAmB,EAAE,OAAgB,EAAA;QAC9E,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG,EAAA;;AAChD,YAAA,IAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC9D,YAAA,IAAI,IAAI,EAAE;AACR,gBAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;oBACvB,CAAA,EAAA,GAAA,IAAI,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,UAAU,CAAC,OAAO,CAAC,CAAC;AACpC,iBAAA;AACF,aAAA;AACH,SAAC,CAAC,CAAC;KACJ,EAAE,EAAE,CAAC,CAAC;AAEP,IAAA,IAAM,qBAAqB,GAAGA,iBAAW,CACvC,UAAC,IAAe,EAAE,MAAmB,EAAA;QACnC,eAAe,CAAC,MAAM,CAAC,CAAC;AAC1B,KAAC,EACD,CAAC,eAAe,CAAC,CAClB,CAAC;AAEF,IAAA,IAAM,gBAAgB,GAAGA,iBAAW,CAClC,UAAC,IAAY,EAAA;AACX,QAAA,oBAAoB,EAAE,CAAC;AACvB,QAAA,YAAY,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;AACrC,KAAC,EACD,CAAC,YAAY,EAAE,oBAAoB,CAAC,CACrC,CAAC;;AAIF,IAAA,IAAM,uBAAuB,GAAGA,iBAAW,CACzC,UAAC,WAAoB,EAAE,aAAiC,EAAA;AACtD,QAAA,IAAI,WAAW,EAAE;YACf,WAAW,CAAC,WAAW,CAAC,CAAC;YACzB,aAAa,CAAC,aAAa,CAAC,CAAC;AAC9B,SAAA;AAAM,aAAA;YACL,IAAI,UAAU,KAAK,aAAa,EAAE;gBAChC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACnB,aAAa,CAAC,SAAS,CAAC,CAAC;AAC1B,aAAA;AACF,SAAA;AACH,KAAC,EACD,CAAC,UAAU,CAAC,CACb,CAAC;IAEF,IAAM,gCAAgC,GAAGA,iBAAW,CAClD,UAAC,IAAe,EAAE,MAAmB,EAAE,OAAgB,EAAA;;AACrD,QAAA,IAAM,IAAI,GAAG,CAAA,EAAA,GAAA,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,0CAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACnE,QAAA,IAAI,IAAI,EAAE;AACR,YAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACvB,YAAA,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC9B,SAAA;AACH,KAAC,EACD,CAAC,iBAAiB,CAAC,CACpB,CAAC;IAEF,IAAM,sCAAsC,GAAGA,iBAAW,CACxD,UAAC,IAAe,EAAE,MAAmB,EAAE,QAAiB,EAAA;;AACtD,QAAA,IAAM,IAAI,GAAG,CAAA,EAAA,GAAA,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,0CAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACnE,QAAA,IAAI,IAAI,EAAE;AACR,YAAA,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;YAC9B,eAAe,CAAC,MAAM,CAAC,CAAC;AACzB,SAAA;AACH,KAAC,EACD,CAAC,eAAe,CAAC,CAClB,CAAC;IAEF,IAAM,iCAAiC,GAAGA,iBAAW,CACnD,UAAC,IAAe,EAAE,MAAmB,EAAE,QAA+B,EAAA;;AACpE,QAAA,IAAM,IAAI,GAAG,CAAA,EAAA,GAAA,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,0CAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACnE,QAAA,IAAI,IAAI,EAAE;AACR,YAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC1B,SAAA;KACF,EACD,EAAE,CACH,CAAC;AAEF,IAAA,IAAM,gCAAgC,GAAGA,iBAAW,CAAC,UAAC,MAAmB,EAAE,OAAgB,EAAA;QACzF,IAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACnD,QAAA,IAAI,IAAI,EAAE;AACR,YAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACxB,SAAA;KACF,EAAE,EAAE,CAAC,CAAC;AAEP,IAAA,IAAM,iCAAiC,GAAGA,iBAAW,CAAC,UAAC,MAAmB,EAAE,QAA+B,EAAA;QACzG,IAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACnD,QAAA,IAAI,IAAI,EAAE;AACR,YAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC1B,SAAA;KACF,EAAE,EAAE,CAAC,CAAC;;AAIP,IAAA,IAAM,iBAAiB,GAAGU,aAAO,CAC/B,YAAA,EAAM,QAAC;AACL,QAAA,QAAQ,EAAA,QAAA;AACR,QAAA,UAAU,EAAA,UAAA;AACV,QAAA,WAAW,EAAE,uBAAuB;AACpC,QAAA,oBAAoB,EAAE,gCAAgC;AACtD,QAAA,0BAA0B,EAAE,sCAAsC;AAClE,QAAA,qBAAqB,EAAE,iCAAiC;AACxD,QAAA,oBAAoB,EAAE,gCAAgC;AACtD,QAAA,qBAAqB,EAAE,iCAAiC;KACzD,EAAC,EAAA,EACF;QACE,gCAAgC;QAChC,iCAAiC;QACjC,sCAAsC;QACtC,gCAAgC;QAChC,iCAAiC;QACjC,uBAAuB;QACvB,QAAQ;QACR,UAAU;AACX,KAAA,CACF,CAAC;;IAIF,IAAM,QAAQ,GAAGA,aAAO,CAAC,cAAM,OAAA,CAAC,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,CAA5C,EAA4C,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;AAC9F,IAAA,IAAM,iBAAiB,GAAGA,aAAO,CAC/B,cAAM,QAAC,MAAM,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG,YAAY,IAAI,CAAC,GAAG,CAAC,EAAC,EAAA,EAC1D,CAAC,MAAM,EAAE,YAAY,CAAC,CACvB,CAAC;AACF,IAAA,IAAM,YAAY,GAAGA,aAAO,CAAC,YAAM,EAAA,OAAA,CAAC,QAAQ,IAAI,gBAAgB,CAA7B,EAA6B,EAAE,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEhG,IAAM,KAAK,GAAGA,aAAO,CAAC,YAAA;AACpB,QAAA,IAAI,UAAU,EAAE;AACd,YAAA,OAAAzB,UAAA,CAAAA,UAAA,CAAA,EACE,KAAK,EAAE,MAAM,EAAA,EACV,SAAS,CAAA,EAAA,EACZ,IAAI,EAAE,CAAC,EACP,cAAc,EAAE,UAAU,EAC1B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,QAAQ,EACvB,QAAQ,EAAE,UAAU,EACpB,CAAA,CAAA;AACH,SAAA;AAAM,aAAA;AACL,YAAA,OAAAA,UAAA,CAAA,EAAS,KAAK,EAAE,MAAM,EAAA,EAAK,SAAS,CAAG,CAAA;AACxC,SAAA;AACH,KAAC,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IAE5B,IAAM,cAAc,GAAGyB,aAAO,CAAC,YAAA;AAC7B,QAAA,IAAI,UAAU,EAAE;YACd,OAAO;AACL,gBAAA,MAAM,EAAE,CAAC,eAAe,IAAI,CAAC,KAAK,iBAAiB,IAAI,CAAC,CAAC,GAAG,CAAC;AAC7D,gBAAA,IAAI,EAAE,CAAC;AACP,gBAAA,QAAQ,EAAE,UAAU;AACpB,gBAAA,GAAG,EAAE,CAAC;AACN,gBAAA,IAAI,EAAE,CAAC;AACP,gBAAA,KAAK,EAAE,CAAC;gBACR,YAAY,EAAE,iBAAiB,IAAI,CAAC;aACrC,CAAC;AACH,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,EAAE,MAAM,EAAA,MAAA,EAAE,SAAS,EAAA,SAAA,EAAE,SAAS,EAAA,SAAA,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC;AAC3D,SAAA;AACH,KAAC,EAAE,CAAC,UAAU,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IAEnF,IAAM,UAAU,GAAGA,aAAO,CAAC,YAAA;QACzB,IAAI,UAAU,IAAI,QAAQ,EAAE;AAC1B,YAAA,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,eAAe,IAAI,CAAC,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;AAC5E,SAAA;KACF,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAE/D,IAAM,WAAW,GAAGA,aAAO,CAAC,YAAA;QAC1B,IAAM,KAAK,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,kCAAkC,EAAE,CAAC;AACnF,QAAA,IAAI,UAAU,EAAE;AACd,YAAA,OAAAzB,UAAA,CAAA,EAAS,QAAQ,EAAE,QAAQ,EAAA,EAAK,KAAK,CAAG,CAAA;AACzC,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;AACf,KAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,IAAM,YAAY,GAAGyB,aAAO,CAC1B,YAAA;QACE,OAAA,YAAY,KACV,KAAC,CAAA,aAAA,CAAA,YAAY,EACX,EAAA,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,YAAY,EACrB,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,qBAAqB,EAAA,CACpC,CACH,CAAA;AARD,KAQC,EACH,CAAC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,qBAAqB,EAAE,WAAW,CAAC,CAC1E,CAAC;IAEF,IAAM,SAAS,GAAGA,aAAO,CACvB,YAAA;AACE,QAAA,OAAA,YAAY,KACV,KAAA,CAAA,aAAA,CAACmB,kBAAS,EAAA,IAAA,EACP,aAAa,IACZ,aAAa,CAAC,MAAM,GAAG,CAAC,IACtB,KAAA,CAAA,aAAA,CAACC,wBAAe,EAAC,EAAA,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAEC,oCAA2B,IACzE,aAAa,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,GAAG,EAAK,EAAA,QAChC,KAAA,CAAA,aAAA,CAAC,YAAY,EAAA,EACX,GAAG,EAAE,IAAI,CAAC,EAAE,EACZ,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,YAAY,IAAI,WAAW,EAAE,CAAC,CAAC,aAAa,IAAI,YAAY,CAAC,EACrF,KAAK,EAAA,IAAA,EACL,EAAE,EAAE,cAAc,GAAG,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,SAAS,EAC1D,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,KAAK,EAAE,GAAG,EACV,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,QAAQ,EAAEjB,UAAQ,EAClB,OAAO,EAAE,YAAY,EACrB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,qBAAqB,EACpC,CAAA,IACH,CAAC,CACc,KAElB,oBAACZ,eAAa,EAAA,IAAA;AACZ,YAAA,KAAA,CAAA,aAAA,CAACO,kBAAS,EAAA,EAAC,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAA,EACxD,MAAM,IACL,MAAM,KAEN,KAAA,CAAA,aAAA,CAAC,eAAe,EAAA,IAAA;AACd,gBAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,IAAA;oBACE,KAAC,CAAA,aAAA,CAAAuB,aAAI,gBAAa,CACd;gBACN,KAAwB,CAAA,aAAA,CAAA,KAAA,EAAA,IAAA,EAAA,iEAAA,CAAA,CACR,CACnB,CACS,CACE,CACjB,IACC,SAAS,CACH,CACb,CAAA;AAzCD,KAyCC,EACH;QACE,YAAY;QACZ,eAAe;QACf,YAAY;QACZ,qBAAqB;QACrB,MAAM;QACN,OAAO;QACP,cAAc;QACd,aAAa;QACb,YAAY;QACZlB,UAAQ;QACR,aAAa;AACd,KAAA,CACF,CAAC;IAEF,IAAM,WAAW,GAAGJ,aAAO,CACzB,YAAA;AACE,QAAA,OAAA,YAAY;AACZ,YAAA,CAAC,QAAQ;YACT,MAAM,KACJ,KAAA,CAAA,aAAA,CAACuB,oBAAW,EAAA,IAAA;AACV,YAAA,KAAA,CAAA,aAAA,CAAC7B,iBAAQ,EAAA,IAAA,EACN,YAAY,CAAC,GAAG,CAAC,UAAC,MAAM,EAAE,GAAG,EAAK,EAAA,QACjC,KAAA,CAAA,aAAA,CAAC,eAAe,EAAC,EAAA,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAA,CAAI,EADxC,EAElC,CAAC,CACO,CACC,CACf,CAAA;KAAA,EACH,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,CAC/C,CAAC;IAEF,IAAM,WAAW,GAAGM,aAAO,CACzB,YAAA;AACE,QAAA,OAAA,YAAY;YACZ,MAAM;YACN,MAAM,CAAC,KAAK,GAAG,CAAC,KACd,KAAA,CAAA,aAAA,CAACM,cAAK,EAAA,EAAC,GAAG,EAAE,UAAU,GAAG,0BAA0B,GAAG,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAA;YAC1G,KAAC,CAAA,aAAA,CAAA,eAAe,IACd,SAAS,EAAE,UAAU,KAAV,IAAA,IAAA,UAAU,uBAAV,UAAU,CAAE,SAAS,EAChC,KAAK,EAAE,UAAU,KAAA,IAAA,IAAV,UAAU,KAAV,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAU,CAAE,KAAK,EACxB,EAAE,EAAE,UAAU,aAAV,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAV,UAAU,CAAE,EAAE,EAClB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,gBAAgB,EAC1B,CAAA,CACI,CACT,CAAA;AAbD,KAaC,EACH;QACE,YAAY;QACZ,UAAU;QACV,gBAAgB;AAChB,QAAA,UAAU,KAAV,IAAA,IAAA,UAAU,KAAV,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAU,CAAE,SAAS;AACrB,QAAA,UAAU,KAAV,IAAA,IAAA,UAAU,KAAV,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAU,CAAE,KAAK;AACjB,QAAA,UAAU,KAAV,IAAA,IAAA,UAAU,KAAV,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAU,CAAE,EAAE;QACd,MAAM;QACN,WAAW;QACX,0BAA0B;QAC1B,WAAW;AACZ,KAAA,CACF,CAAC;;IAIF,OAAO,YAAY,IACjB,oBAAC,oBAAoB,EAAA,EAAC,KAAK,EAAE,iBAAiB,EAAA;AAC5C,QAAA,KAAA,CAAA,aAAA,CAACkB,cAAK,EAAA,EACJ,GAAG,EAAE,UAAU,GAAG,uBAAuB,GAAG,SAAS,EACrD,SAAS,EAAE,UAAU,CACnB,OAAO,EACP,SAAS,EACT,CAAC,CAAC,YAAY,IAAI,eAAe,EACjC,CAAC,CAAC,UAAU,IAAI,aAAa,EAC7B,CAAC,CAAC,YAAY,IAAI,WAAW,EAC7B,CAAC,CAAC,aAAa,IAAI,YAAY,EAC/B,CAAC,CAACpB,UAAQ,IAAI,UAAU,CACzB,EACD,OAAO,EAAC,UAAU,EAClB,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,EAAE,EAAA;YAEN,KAAC,CAAA,aAAA,CAAA,SAAS,IAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,EAAA;AACjD,gBAAA,KAAA,CAAA,aAAA,CAACqB,eAAU,EAAA,EAAC,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAEC,kBAAa,EAAE,SAAS,EAAE,aAAa,EAAA;AACvF,oBAAA,KAAA,CAAA,aAAA,CAACC,cAAQ,EAAA,EAAC,YAAY,EAAE,YAAY,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAA;wBACjE,YAAY;wBACZ,SAAS;wBACT,WAAW,CACH,CACA,CACH;AACX,YAAA,WAAW,CACN,CACa,IACrB,IAAI,CAAC;AACX,CAAC,EACD;AAEF,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC;AAC5B,KAAK,CAAC,YAAY,GAAG,iBAAiB,CCluB/B,IAAM,uBAAuB,GAAG,GCcjC,IAAA,WAAW,GAAuB,KAAK,CAAC,UAAU,CACtD,UACE,EAcC,EACD,GAAG,EAAA;;QAdD,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,YAAY,GAAA,EAAA,CAAA,YAAA,EACZ,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,MAAM,YAAA,EACN,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,2BAA2B,GAAA,EAAA,CAAA,2BAAA,EAC3B,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,mBAAmB,GAAA,EAAA,CAAA,mBAAA;;AAEnB,IAAA,SAAS,eAAA,EACF,SAAS,GAAA,EAAA,CAAA,KAAA,EAChB,EAAE,GAAA,EAAA,CAAA,EAAA,CAAA;AAIJ,IAAA,IAAM,SAAS,GAAGvC,YAAM,EAAkB,CAAC;AAC3C,IAAA,IAAM,QAAQ,GAAGA,YAAM,EAAiB,CAAC;;AAIzC,IAAA,IAAM,aAAa,GAAGE,iBAAW,CAAC,UAAC,MAAkC,EAAA;QACnE,IAAM,UAAU,GAAe,EAAE,CAAC;AAClC,QAAA,IAAI,MAAM,EAAE;AACF,YAAA,IAAA,KAAG,GAA6B,MAAM,CAAnC,GAAA,EAAE,YAAY,GAAe,MAAM,CAArB,YAAA,EAAK,KAAK,GAAKb,QAAA,CAAA,MAAM,EAAxC,CAAA,KAAA,EAAA,cAAA,CAA+B,CAAF,CAAY;AAC/C,YAAA,UAAU,CAAC,GAAG,GAAG,KAAG,CAAC;AACrB,YAAA,UAAU,CAAC,YAAY,GAAG,YAAY,CAAC;AACvC,YAAA,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;AAC1B,SAAA;AACD,QAAA,OAAO,UAAU,CAAC;KACnB,EAAE,EAAE,CAAC,CAAC;AAEP,IAAA,IAAM,YAAY,GAAGa,iBAAW,CAAC,UAAC,KAAgC,EAAA;QAChE,IAAM,SAAS,GAAc,EAAE,CAAC;AAChC,QAAA,IAAI,KAAK,EAAE;YACD,IAAA,KAAG,GAAe,KAAK,CAApB,GAAA,EAAK,KAAK,GAAAb,QAAA,CAAK,KAAK,EAAzB,CAAiB,KAAA,CAAA,CAAF,CAAW;AAChC,YAAA,SAAS,CAAC,GAAG,GAAG,KAAG,CAAC;AACpB,YAAA,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC;AACzB,SAAA;AACD,QAAA,OAAO,SAAS,CAAC;KAClB,EAAE,EAAE,CAAC,CAAC;;AAIP,IAAA,IAAM,kBAAkB,GAAGW,YAAM,CAAe,EAAE,CAAC,CAAC;;IAI9C,IAAA,EAAA,GAAgDC,cAAQ,CAAC,IAAI,CAAC,EAA7D,mBAAmB,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,sBAAsB,GAAA,EAAA,CAAA,CAAA,CAAkB,CAAC;IAE/D,IAAA,EAAA,GAA4BA,cAAQ,EAAmB,EAAtD,SAAS,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,YAAY,GAAA,EAAA,CAAA,CAAA,CAA+B,CAAC;;AAI9D,IAAA,IAAM,wBAAwB,GAAGD,YAAM,CAAC,IAAI,CAAC,CAAC;AACxC,IAAA,IAAA,KAA8BC,cAAQ,CAAa,cAAM,OAAA,aAAa,CAAC,MAAM,CAAC,CAArB,EAAqB,CAAC,EAA9E,UAAU,QAAA,EAAE,aAAa,QAAqD,CAAC;AACtF,IAAAE,eAAS,CAAC,YAAA;QACR,IAAI,wBAAwB,CAAC,OAAO,EAAE;AACpC,YAAA,wBAAwB,CAAC,OAAO,GAAG,KAAK,CAAC;AAC1C,SAAA;AAAM,aAAA;AACL,YAAA,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;AACtC,SAAA;;AAEH,KAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;;AAIb,IAAA,IAAM,uBAAuB,GAAGH,YAAM,CAAC,IAAI,CAAC,CAAC;AACvC,IAAA,IAAA,KAA4BC,cAAQ,CAAY,cAAM,OAAA,YAAY,CAAC,KAAK,CAAC,CAAnB,EAAmB,CAAC,EAAzE,SAAS,QAAA,EAAE,YAAY,QAAkD,CAAC;AACjF,IAAAE,eAAS,CAAC,YAAA;QACR,IAAI,uBAAuB,CAAC,OAAO,EAAE;AACnC,YAAA,uBAAuB,CAAC,OAAO,GAAG,KAAK,CAAC;AACzC,SAAA;AAAM,aAAA;AACL,YAAA,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;AACnC,SAAA;;AAEH,KAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;;AAIZ,IAAA,IAAM,OAAO,GAAGD,iBAAW,CACzB,UAAC,IAAkB,EAAA;AACjB,QAAA,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC;AAElC,QAAA,IAAI,SAAS,EAAE;YACb,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACpC,SAAA;AACH,KAAC,EACD,CAAC,SAAS,CAAC,CACZ,CAAC;;IAIF,IAAM,MAAM,GAAGA,iBAAW,CAAC,YAAA;QACzB,IAAM,MAAM,GAAiB,EAAE,CAAC;AAChC,QAAA,IAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,UAAC,SAAS,EAAE,GAAG,EAAE,KAAK,EAAA;YACtD,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;AAC5D,YAAA,OAAO,SAAS,CAAC;AACnB,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,MAAM,CAAC;KACf,EAAE,EAAE,CAAC,CAAC;IAEP,IAAM,iBAAiB,GAAGA,iBAAW,CAAC,YAAA;AACpC,QAAA,IAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC;AACnC,QAAA,IAAI,QAAQ,EAAE;YACZ,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAEpB,YAAA,IAAM,YAAU,GAAG,MAAM,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,YAAU,CAAC,CAAC,OAAO,CAAC,UAAC,IAAI,EAAA;;AACnC,gBAAA,IAAM,KAAK,GAAc,YAAU,CAAC,IAAI,CAAC,CAAC;gBAC1C,IAAI,IAAI,KAAK,MAAM,EAAE;AACnB,oBAAA,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7C,iBAAA;AAAM,qBAAA;oBACL,IAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC5C,oBAAA,IAAI,YAAY,EAAE;AAChB,wBAAA,QAAQ,YAAY,CAAC,OAAO,EAAE;AAC5B,4BAAA,KAAK,cAAc;AACjB,gCAAA,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;oCACnB,IAAM,aAAa,GAAG,YAA+C,CAAC;AACtE,oCAAA,IAAI,KAAK,CAAC,QAAQ,EAAE,MAAK,CAAA,EAAA,GAAA,YAAY,CAAC,QAAQ,EAAE,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,QAAQ,EAAE,CAAA,EAAE;AAC5D,wCAAA,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAChC,qCAAA;AAAM,yCAAA,IAAI,KAAK,CAAC,QAAQ,EAAE,MAAK,CAAA,EAAA,GAAA,aAAa,CAAC,iBAAiB,EAAE,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,QAAQ,EAAE,CAAA,EAAE;AAC7E,wCAAA,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACjC,qCAAA;AACF,iCAAA;gCACD,MAAM;AACR,4BAAA,KAAK,gBAAgB,CAAC;AACtB,4BAAA,KAAK,oBAAoB,CAAC;AAC1B,4BAAA,KAAK,gBAAgB;AACnB,gCAAA;AACE,oCAAA,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;wCACnB,IAAM,YAAY,GAAG,YAAyC,CAAC;AAC/D,wCAAA,IAAM,MAAM,GAAG,YAAY,CAAC,kBAAkB,EAAE,CAAC;wCACjD,IAAM,SAAS,GAAG,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACvC,wCAAA,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC;AAC/D,qCAAA;AAAM,yCAAA;AACL,wCAAA,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC7B,qCAAA;AACF,iCAAA;gCACD,MAAM;AACR,4BAAA,KAAK,qBAAqB;AACxB,gCAAA;oCACE,IAAM,uBAAuB,GAAG,YAA2C,CAAC;AAC5E,oCAAA,IAAM,QAAQ,GAAG,uBAAuB,CAAC,OAAO,EAAE,CAAC;AACnD,oCAAA,IAAM,eAAe,GAAG,uBAAuB,CAAC,2BAA2B,EAAE,CAAC;AAC9E,oCAAA,IAAM,aAAa,GAAG,uBAAuB,CAAC,yBAAyB,EAAE,CAAC;AAC1E,oCAAA,IAAM,MAAM,GAAG,uBAAuB,CAAC,kBAAkB,EAAE,CAAC;AAE5D,oCAAA,IAAI,IAAI,KAAK,EAAA,CAAA,MAAA,CAAG,QAAQ,CAAG,CAAA,MAAA,CAAA,eAAe,CAAE,EAAE;AAC5C,wCAAA,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;4CACnB,IAAM,UAAU,GAAG,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACxC,4CAAA,uBAAuB,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,UAAU,GAAG,IAAI,CAAC,CAAC;AACjF,yCAAA;AAAM,6CAAA;AACL,4CAAA,uBAAuB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AAC7C,yCAAA;AACF,qCAAA;AAAM,yCAAA,IAAI,IAAI,KAAK,EAAA,CAAA,MAAA,CAAG,QAAQ,CAAG,CAAA,MAAA,CAAA,aAAa,CAAE,EAAE;AACjD,wCAAA,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;4CACnB,IAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACtC,4CAAA,uBAAuB,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,QAAQ,GAAG,IAAI,CAAC,CAAC;AAC3E,yCAAA;AAAM,6CAAA;AACL,4CAAA,uBAAuB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAC3C,yCAAA;AACF,qCAAA;AACF,iCAAA;gCACD,MAAM;AACR,4BAAA;AACE,gCAAA,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gCAC/B,MAAM;AACT,yBAAA;AACF,qBAAA;AACF,iBAAA;AACH,aAAC,CAAC,CAAC;AACH,YAAA,OAAO,QAAQ,CAAC,eAAe,EAAE,CAAC;AACnC,SAAA;AACH,KAAC,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;;AAIxB,IAAAkB,qBAAe,CAAC,YAAA;AACd,QAAA,IAAI,GAAG,EAAE;AACP,YAAA,IAAM,QAAQ,GAAwB;gBACpC,MAAM,EAAE,UAAC,IAAa,EAAA;;oBACpB,IAAI,IAAI,IAAI,IAAI,EAAE;AAChB,wBAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAW,EAAE,CAAC;AACjC,qBAAA;AAED,oBAAA,IAAI,SAAuB,CAAC;oBAC5B,IAAI,kBAAkB,CAAC,OAAO,EAAE;AAC9B,wBAAA,SAAS,GAAQjC,UAAA,CAAA,EAAA,EAAA,kBAAkB,CAAC,OAAO,CAAE,CAAC;wBAC9C,IAAI,IAAI,IAAI,IAAI,EAAE;4BAChB,CAAA,EAAA,GAAA,SAAS,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAE1C,4BAAA,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC;AACvB,yBAAA;AACF,qBAAA;AAAM,yBAAA;AACL,wBAAA,IAAI,IAAI,EAAE;AACR,4BAAA,iBAAiB,EAAE,CAAC;AACrB,yBAAA;wBAED,IAAI,IAAI,IAAI,IAAI,EAAE;4BAChB,CAAA,EAAA,GAAA,SAAS,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC3C,yBAAA;wBAED,SAAS,GAAG,CAAA,CAAA,EAAA,GAAA,SAAS,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,eAAe,EAAE,KAAI,EAAE,CAAC;AACxD,qBAAA;oBAED,OAAO,CAAC,SAAS,CAAC,CAAC;iBACpB;gBACD,eAAe,EAAE,cAAM,OAAA,kBAAkB,CAAC,OAAO,IAAI,EAAE,CAAA,EAAA;AACvD,gBAAA,SAAS,EAAE,YAAM,EAAA,OAAA,SAAS,CAAC,OAAO,GAAA;AAClC,gBAAA,QAAQ,EAAE,YAAM,EAAA,OAAA,QAAQ,CAAC,OAAO,GAAA;aACjC,CAAC;AAEF,YAAA,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE;gBAC7B,GAAG,CAAC,QAAQ,CAAC,CAAC;AACf,aAAA;AAAM,iBAAA;AACL,gBAAA,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC;AACxB,aAAA;AACF,SAAA;AACH,KAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC;;AAIrF,IAAAgB,eAAS,CAAC,YAAA;AACR,QAAA,IAAI,IAAI,EAAE;AACR,YAAA,IAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC;AACjC,YAAA,IAAI,IAAI;gBAAE,OAAO,CAAC,IAAI,CAAC,CAAC;AACzB,SAAA;;KAEF,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;;AAI3B,IAAA,IAAM,UAAU,GAAGD,iBAAW,CAC5B,UAAC,MAAoB,EAAA;AACnB,QAAA,IAAI,mBAAmB,EAAE;YACvB,IAAM,QAAM,GAAa,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAC,IAAI,EAAA;AAC/B,gBAAA,IAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC3B,IAAI,IAAI,KAAK,MAAM,EAAE;AACnB,oBAAA,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;wBACrB,QAAM,CAAC,IAAI,CAAC,EAAA,CAAA,MAAA,CAAG,IAAI,EAAI,GAAA,CAAA,CAAA,MAAA,CAAA,KAAK,CAAE,CAAC,CAAC;AACjC,qBAAA;AACF,iBAAA;AAAM,qBAAA;oBACL,IAAI,SAAS,CAAC,OAAO,EAAE;wBACrB,IAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAErD,wBAAA,IAAI,YAAY,EAAE;4BAChB,IAAI,UAAU,GAAqB,IAAI,CAAC;AAExC,4BAAA,QAAQ,YAAY,CAAC,OAAO,EAAE;AAC5B,gCAAA,KAAK,qBAAqB;AACxB,oCAAA;AACE,wCAAA,IAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC;AACxC,wCAAA,IAAM,WAAW,GAAI,YAA4C,CAAC,2BAA2B,EAAE,CAAC;AAChG,wCAAA,IAAM,SAAS,GAAI,YAA4C,CAAC,yBAAyB,EAAE,CAAC;AAE5F,wCAAA,IAAI,IAAI,KAAK,EAAA,CAAA,MAAA,CAAG,QAAQ,CAAG,CAAA,MAAA,CAAA,WAAW,CAAE,EAAE;4CACxC,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AACpE,yCAAA;AAAM,6CAAA,IAAI,IAAI,KAAK,EAAA,CAAA,MAAA,CAAG,QAAQ,CAAG,CAAA,MAAA,CAAA,SAAS,CAAE,EAAE;4CAC7C,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAClE,yCAAA;AACF,qCAAA;oCACD,MAAM;AACR,gCAAA;oCACE,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;oCAClD,MAAM;AACT,6BAAA;4BAED,IAAI,UAAU,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE;AACnD,gCAAA,QAAM,CAAC,IAAI,CAAC,EAAA,CAAA,MAAA,CAAG,IAAI,EAAA,GAAA,CAAA,CAAA,MAAA,CAAI,kBAAkB,CAAC,KAAK,CAAC,CAAE,CAAC,CAAC;AACrD,6BAAA;AACF,yBAAA;AACF,qBAAA;AACF,iBAAA;AACH,aAAC,CAAC,CAAC;YACH,IAAM,SAAS,GAAG,QAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnC,YAAA,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;gBACnD,OAAO,CAAC,MAAM,CAAC,CAAC;AACjB,aAAA;AAAM,iBAAA;gBACL,mBAAmB,CAAC,QAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACvC,aAAA;AACF,SAAA;AACH,KAAC,EACD,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAC/B,CAAC;;AAIF,IAAA,IAAM,gBAAgB,GAAGA,iBAAW,CAClC,UAAC,IAAY,EAAA;;QACX,CAAA,EAAA,GAAA,SAAS,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAE1C,QAAA,IAAI,SAAmC,CAAC;QACxC,IAAI,kBAAkB,CAAC,OAAO,EAAE;AAC9B,YAAA,SAAS,GAAQf,UAAA,CAAA,EAAA,EAAA,kBAAkB,CAAC,OAAO,CAAE,CAAC;AAC9C,YAAA,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC;AACvB,SAAA;AAAM,aAAA;YACL,SAAS,GAAG,MAAA,SAAS,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,eAAe,EAAE,CAAC;AAClD,SAAA;AAED,QAAA,IAAI,IAAI,EAAE;AACR,YAAA,UAAU,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;AAC7B,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;AAC1B,SAAA;KACF,EACD,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CACvC,CAAC;AAEF,IAAA,IAAM,kBAAkB,GAAGe,iBAAW,CACpC,UAAC,IAAkB,EAAA;;AACjB,QAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAW,EAAE,CAAC;AAEhC,QAAA,IAAI,mBAAmB,EAAE;YACvB,sBAAsB,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,CAAC,IAAI,EAAE;gBACT,OAAO,CAAC,IAAI,CAAC,CAAC;AACf,aAAA;AACF,SAAA;AAAM,aAAA;YACL,CAAA,EAAA,GAAA,SAAS,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACvC,IAAM,SAAS,6BAAsB,IAAI,CAAA,EAAA,EAAE,IAAI,EAAE,CAAC,GAAE,CAAC;AACrD,YAAA,IAAI,IAAI,EAAE;gBACR,UAAU,CAAC,SAAS,CAAC,CAAC;AACvB,aAAA;AAAM,iBAAA;gBACL,OAAO,CAAC,SAAS,CAAC,CAAC;AACpB,aAAA;AACF,SAAA;AACH,KAAC,EACD,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAC5D,CAAC;;IAIF,IAAM,KAAK,GAAGU,aAAO,CAAC,YAAA;AACpB,QAAA,IAAI,UAAU,EAAE;YACd,OAAYzB,UAAA,CAAAA,UAAA,CAAA,EAAA,EAAA,SAAS,KAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAG,CAAA,CAAA;AACnD,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,SAAS,CAAC;AAClB,SAAA;AACH,KAAC,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IAE5B,IAAM,mBAAmB,GAAGyB,aAAO,CAAC,YAAA;AAClC,QAAA,IAAI,UAAU,EAAE;AACd,YAAA,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;AAC9D,SAAA;AACH,KAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;;AAIjB,IAAA,QACE,KAAA,CAAA,aAAA,CAAC4B,aAAI,EAAA,EACH,SAAS,EAAA,IAAA,EACT,SAAS,EAAC,QAAQ,EAClB,OAAO,EAAE,CAAC,EACV,SAAS,EAAE,UAAU,CAAC,aAAa,EAAE,SAAS,CAAC,EAC/C,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,EAAE,EAAA;QAEN,KAAC,CAAA,aAAA,CAAAA,aAAI,IAAC,IAAI,EAAA,IAAA,EAAC,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,YAAY,GAAG,SAAS,GAAG,MAAM,EAAE,EAAA;AACtE,YAAA,KAAA,CAAA,aAAA,CAACC,gBAAM,EAAAtD,UAAA,CAAA,EACL,KAAK,EAAE,KAAK,EAAA,EACR,UAAU,CAAC,KAAK,EAAA,EACpB,GAAG,EAAE,UAAC,QAAwB,EAAA;oBAC5B,IAAI,UAAU,CAAC,GAAG,EAAE;AAClB,wBAAA,IAAI,OAAO,UAAU,CAAC,GAAG,KAAK,UAAU,EAAE;AACxC,4BAAA,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,yBAAA;AAAM,6BAAA;AACL,4BAAA,UAAU,CAAC,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC;AACnC,yBAAA;AACF,qBAAA;AACD,oBAAA,SAAS,CAAC,OAAO,GAAG,QAAQ,IAAI,SAAS,CAAC;AAC5C,iBAAC,EACD,UAAU,EACV,IAAA,EAAA,QAAQ,EAAE,kBAAkB,EAAA,CAAA;gBAE5B,KAAC,CAAA,aAAA,CAAAuD,qBAAW,IAAC,MAAM,EAAA,IAAA,EAAA;oBACjB,KAAC,CAAA,aAAA,CAAAC,oBAAU,EAAC,EAAA,IAAI,EAAC,MAAM,EAAC,KAAK,EAAE,CAAC,EAAA,CAAI,CACxB;gBACb,UAAU,CAAC,YAAY,CACjB,CACJ;AACN,QAAA,2BAA2B,IAAI,KAAC,CAAA,aAAA,CAAAH,aAAI,IAAC,IAAI,EAAA,IAAA,EAAA,EAAE,2BAA2B,CAAQ;AAC/E,QAAA,KAAA,CAAA,aAAA,CAACA,aAAI,EAAC,EAAA,IAAI,EAAC,IAAA,EAAA,KAAK,EAAE,mBAAmB,EAAA;AACnC,YAAA,KAAA,CAAA,aAAA,CAAC,KAAK,EAAArD,UAAA,CAAA,EAAA,EACA,SAAS,CAAC,KAAK,EACnB,EAAA,YAAY,EAAE,YAAY,KAAI,CAAA,EAAA,GAAA,SAAS,CAAC,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,YAAY,CAAA,EAC3D,UAAU,EAAE,UAAU,KAAI,MAAA,SAAS,CAAC,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,UAAU,CAAA,EACrD,GAAG,EAAE,UAAC,QAAuB,EAAA;oBAC3B,IAAI,SAAS,CAAC,GAAG,EAAE;AACjB,wBAAA,IAAI,OAAO,SAAS,CAAC,GAAG,KAAK,UAAU,EAAE;AACvC,4BAAA,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACzB,yBAAA;AAAM,6BAAA;AACL,4BAAA,SAAS,CAAC,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC;AAClC,yBAAA;AACF,qBAAA;AACD,oBAAA,QAAQ,CAAC,OAAO,GAAG,QAAQ,IAAI,SAAS,CAAC;AAC3C,iBAAC,EACD,KAAK,EAAE,SAAS,KAAT,IAAA,IAAA,SAAS,KAAT,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,SAAS,CAAE,KAAK,EACvB,MAAM,EAAE,SAAS,KAAT,IAAA,IAAA,SAAS,KAAT,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,SAAS,CAAE,MAAM,EACzB,YAAY,EAAE,gBAAgB,EAC9B,CAAA,CAAA,CACG,CACF,EACP;AACJ,CAAC,EACD;AAEF,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC;AACxC,WAAW,CAAC,YAAY,GAAG,uBAAuB,CCpcrC,IAAA,uBAAuB,GAAgD;AAClF,IAAA,OAAO,EAAE,UAAU;AACnB,IAAA,KAAK,EAAE,SAAS;ECJX,IAAM,qBAAqB,GAAG,GCD/B,IAAA,SAAS,GAAG,KAAK,CAAC,UAAU,CAA2B,UAAC,EAA+C,EAAE,GAAG,EAAA;;IAAlD,IAAA,SAAS,eAAA,EAAY,YAAY,cAAA,EAAK,KAAK,GAA7CE,QAAA,CAAA,EAAA,EAAA,CAAA,WAAA,EAAA,UAAA,CAA+C,CAAF,CAAA;IAGzG,IAAM,QAAQ,GAAGuB,aAAO,CACtB,cAAM,OAAA,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAC,MAAM,EAAE,GAAG,IAAK,OAAA,EAAA,CAAA,MAAA,CAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAG,CAAA,MAAA,CAAA,MAAM,CAAC,WAAW,EAAE,CAAE,CAA9C,EAA8C,CAAC,CAA/F,EAA+F,EACrG,CAAC,YAAY,CAAC,CACf,CAAC;;IAIF,QACE,oBAACsB,aAAI,EAAA/C,UAAA,CAAA,EAAC,GAAG,EAAE,GAAG,EAAM,EAAA,KAAK,EAAE,EAAA,SAAS,EAAE,UAAU,CAAC,WAAW,EAAE,SAAS,CAAC,EACrE,CAAA,EAAA,QAAQ,CACJ,EACP;AACJ,CAAC,EAAE;AAEH,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC;AACpC,SAAS,CAAC,YAAY,GAAG,qBAAqB,CCjBxC,IAAA,WAAW,GAAG,KAAK,CAAC,UAAU,CAClC,UAAC,EAAuF,EAAE,GAAG,EAAA;IAA1F,IAAA,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,SAAS,GAAA,EAAA,CAAA,SAAA,EAAM,MAAM,GAAA,EAAA,CAAA,EAAA,EAAE,KAAK,GAAA,EAAA,CAAA,KAAA,EAAE,IAAI,GAAA,EAAA,CAAA,IAAA,EAAE,SAAS,GAAA,EAAA,CAAA,SAAA,EAAE,OAAO,GAAA,EAAA,CAAA,OAAA,EAAE,OAAO,GAAA,EAAA,CAAA,OAAA,EAAK,KAAK,GAArFE,QAAA,CAAA,EAAA,EAAA,CAAA,UAAA,EAAA,WAAA,EAAA,IAAA,EAAA,OAAA,EAAA,MAAA,EAAA,WAAA,EAAA,SAAA,EAAA,SAAA,CAAuF,CAAF,CAAA;AACpF,IAAA,IAAM,EAAE,GAAGuB,aAAO,CAChB,YAAM,EAAA,qBAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,IAAI,CAAC,OAAO,GAAG,GAAG,GAAG,GAAG,EAAK,EAAA,MAAM,GAAjE,EAAoE,EAC1E,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAC7B,CAAC;;IAIF,QACE,oBAACgC,eAAM,EAAAzD,UAAA,CAAA,EACL,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,aAAa,CAAC,EAC/C,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,OAAO,EACZ,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,SAAS,EACP,SAAS,IACP,KAAA,CAAA,aAAA,CAAC,SAAS,EAAA,EAAC,QAAQ,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,EAAA,EACzC,SAAS,CACA,IACV,SAAS,EAEf,OAAO,EACL,OAAO,IACL,oBAAC,SAAS,EAAA,EAAC,QAAQ,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,EAAA,EACzC,OAAO,CACE,IACV,SAAS,EAAA,EAEX,KAAK,CAAA;AAER,QAAA,IAAI,KACH,KAAC,CAAA,aAAA,CAAA,SAAS,IAAC,QAAQ,EAAC,OAAO,EAAC,KAAK,EAAE,KAAK,EACrC,EAAA,IAAI,CACK,CACb;QACA,QAAQ,CACF,EACT;AACJ,CAAC,EACD;AAEF,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC;AACxC,WAAW,CAAC,YAAY,GAAG,uBAAuB,CCtCrC,IAAA,2BAA2B,GAAkE;AACxG,IAAA,OAAO,EAAE,UAAU;AACnB,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,SAAS,EAAE,QAAQ;ECVf,IAAA,eAAe,GAAG,KAAK,CAAC,UAAU,CACtC,UACE,EAaC,EACD,GAAG,EAAA;;AAbD,IAAA,IAAA,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,SAAS,GAAA,EAAA,CAAA,SAAA,EACL,MAAM,GAAA,EAAA,CAAA,EAAA,EACV,KAAK,WAAA,EACL,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,OAAO,aAAA,EACP,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,QAAQ,GAAA,EAAA,CAAA,QAAA,EACL,KAAK,GAAAE,QAAA,CAAA,EAAA,EAZV,sHAaC,CADS,CAAA;AAMV,IAAA,IAAM,QAAQ,GAAGwD,WAAK,EAAE,CAAC;AACzB,IAAA,IAAM,MAAM,GAAGA,WAAK,EAAE,CAAC;;AAIjB,IAAA,IAAA,EAAwC,GAAA,aAAa,EAAE,EAArD,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,UAAU,GAAA,EAAA,CAAA,UAAA,EAAE,WAAW,GAAA,EAAA,CAAA,WAAoB,CAAC;;AAI9D,IAAA,IAAM,SAAS,GAAG7C,YAAM,EAA4B,CAAC;;IAI/C,IAAA,EAAA,GAAkBC,cAAQ,CAAC,KAAK,CAAC,EAAhC,IAAI,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,OAAO,GAAA,EAAA,CAAA,CAAA,CAAmB,CAAC;;AAIxC,IAAAE,eAAS,CAAC,YAAA;AACR,QAAA,IAAI,IAAI,IAAI,QAAQ,IAAI,UAAU,KAAK,MAAM,EAAE;YAC7C,OAAO,CAAC,KAAK,CAAC,CAAC;AAChB,SAAA;KACF,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;;AAIzC,IAAA,IAAM,EAAE,GAAGS,aAAO,CAChB,YAAM,EAAA,qBAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,IAAI,CAAC,OAAO,GAAG,GAAG,GAAG,GAAG,EAAK,EAAA,MAAM,GAAjE,EAAoE,EAC1E,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAC7B,CAAC;;IAIF,IAAM,WAAW,GAAGV,iBAAW,CAAC,YAAA;QAC9B,OAAO,CAAC,UAAC,GAAG,EAAK,EAAA,OAAA,CAAC,GAAG,CAAA,EAAA,CAAC,CAAC;QACvB,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC3B,SAAA;AAAM,aAAA;AACL,YAAA,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC5B,SAAA;KACF,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IAEhC,IAAM,WAAW,GAAGA,iBAAW,CAAC,YAAA;AAC9B,QAAA,IAAI,IAAI,EAAE;YACR,OAAO,CAAC,KAAK,CAAC,CAAC;AACf,YAAA,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC5B,SAAA;KACF,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;AAEhC,IAAA,IAAM,iBAAiB,GAAGA,iBAAW,CACnC,UAAC,KAA0B,EAAA;AACzB,QAAA,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,EAAE;YACvB,KAAK,CAAC,cAAc,EAAE,CAAC;AACvB,YAAA,IAAI,IAAI,EAAE;gBACR,OAAO,CAAC,KAAK,CAAC,CAAC;AACf,gBAAA,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC5B,aAAA;AACF,SAAA;AAAM,aAAA,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;AACjC,YAAA,IAAI,IAAI,EAAE;gBACR,OAAO,CAAC,KAAK,CAAC,CAAC;AACf,gBAAA,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC5B,aAAA;AACF,SAAA;KACF,EACD,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,CAC5B,CAAC;;IAIF,IAAM,aAAa,GAAGU,aAAO,CAAC,YAAA;AAC5B,QAAA,OAAO,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE;AAClC,YAAA,aAAa,EAAE,IAAI;AACnB,YAAA,EAAE,EAAE,MAAM;AACV,YAAA,iBAAiB,EAAE,QAAQ;AAC3B,YAAA,SAAS,EAAE,iBAAiB;AAC5B,YAAA,OAAO,EAAE,WAAW;AACrB,SAAA,CAAC,CAAC;AACL,KAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;;AAIvE,IAAA,QACE,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,IAAA;AACE,QAAA,KAAA,CAAA,aAAA,CAACgC,eAAM,EAAAzD,UAAA,CAAA,EACL,GAAG,EAAE,UAAC,CAAC,EAAA;AACL,gBAAA,IAAI,GAAG,EAAE;AACP,oBAAA,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE;wBAC7B,GAAG,CAAC,CAAC,CAAC,CAAC;AACR,qBAAA;AAAM,yBAAA;AACL,wBAAA,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC;AACjB,qBAAA;AACF,iBAAA;AACD,gBAAA,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC;aACvB,EACD,EAAE,EAAE,QAAQ,EAAA,eAAA,EACG,IAAI,GAAG,MAAM,GAAG,SAAS,EACzB,eAAA,EAAA,IAAI,GAAG,MAAM,GAAG,SAAS,EAC1B,eAAA,EAAA,MAAM,EACpB,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,iBAAiB,CAAC,EACnD,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,OAAO,EACZ,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,WAAW,EACpB,SAAS,EACP,SAAS,IACP,KAAA,CAAA,aAAA,CAAC,SAAS,EAAA,EAAC,QAAQ,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,EAAA,EACzC,SAAS,CACA,IACV,SAAS,EAEf,OAAO,EACL,OAAO,IACL,KAAC,CAAA,aAAA,CAAA,SAAS,EAAC,EAAA,QAAQ,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,EAAA,EACzC,OAAO,CACE,IACV,SAAS,EAAA,EAEX,KAAK,CAAA;AAER,YAAA,IAAI,KACH,KAAC,CAAA,aAAA,CAAA,SAAS,IAAC,QAAQ,EAAC,OAAO,EAAC,KAAK,EAAE,KAAK,EACrC,EAAA,IAAI,CACK,CACb;AACA,YAAA,QAAQ,CACF;QACT,KAAC,CAAA,aAAA,CAAA2D,eAAM,EACL,EAAA,SAAS,EAAC,wBAAwB,EAClC,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,SAAS,CAAC,OAAO,EAC3B,IAAI,EAAE,SAAS,EACf,SAAS,EAAE,SAAS,EACpB,UAAU,EACV,IAAA,EAAA,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,IAAI,MAAM,KAAK,SAAS,GAAG,IAAI,GAAG,MAAM,IAAI,MAAM,EAAE,EAE3E,EAAA,UAAC,EAA8B,EAAA;gBAA5B,eAAe,GAAA,EAAA,CAAA,eAAA,EAAE,SAAS,GAAA,EAAA,CAAA,SAAA,CAAA;YAC5B,IAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,eAAe,GAAG,EAAE,CAAC;AACzB,YAAA,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;gBAC5B,eAAe,GAAG,OAAO,CAAC;;;;;;;;AAQ3B,aAAA;AAAM,iBAAA,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;gBACpC,eAAe,GAAG,MAAM,CAAC;;;;;;;;AAQ1B,aAAA;AAAM,iBAAA,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE;gBAClC,eAAe,GAAG,QAAQ,CAAC;;;;;;;;AAQ5B,aAAA;AAAM,iBAAA,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;gBACrC,eAAe,GAAG,KAAK,CAAC;;;;;;;;AAQzB,aAAA;AAAM,iBAAA;gBACL,eAAe,GAAG,KAAK,CAAC;AACzB,aAAA;AAED,YAAA,QACE,KAAC,CAAA,aAAA,CAAAC,aAAI,iBACC,eAAe,EAAA,EACnB,KAAK,EAAE;AACL,oBAAA,eAAe,EAAA,eAAA;AAChB,iBAAA,EAAA,CAAA;AAED,gBAAA,KAAA,CAAA,aAAA,CAACX,cAAK,EAAA,IAAA;oBACJ,KAAC,CAAA,aAAA,CAAAY,0BAAiB,EAAC,EAAA,WAAW,EAAE,WAAW,EAAG,EAAA,aAAa,CAAqB,CAC1E,CACH,EACP;SACH,CACM,CACJ,EACP;AACJ,CAAC,EACD;AAEF,eAAe,CAAC,WAAW,GAAG,iBAAiB,CAAC;AAChD,eAAe,CAAC,YAAY,GAAG,2BAA2B,CC5J7C,IAAA,qBAAqB,GAAoF;AACpH,IAAA,OAAO,EAAE,CAAC;AACV,IAAA,UAAU,EAAE,CAAC;AACb,IAAA,UAAU,EAAE,SAAS;ECtEhB,IAAM,KAAK,GAAG3C,eAAM,CAACQ,YAAG,CAAC,CAAA,gBAAA,KAAA,gBAAA,GAAA,oBAAA,CAAA,CAAA,8CAAA,CAAA,EAAA,CAAA,8CAG/B,CAAA,CAAA,CAAA,CAAA,CAAC;AAEK,IAAM,SAAS,GAAGR,eAAM,CAACQ,YAAG,CAAC,CAAA,gBAAA,KAAA,gBAAA,GAAA,oBAAA,CAAA,CAAA,yFAAA,CAAA,EAAA,CAAA,yFAKnC,CAAA,CAAA,CAAA,CAAA,CAAC;AAEK,IAAM,KAAK,GAAGR,eAAM,CAAC,KAAK,CAAC,CAAA,gBAAA,KAAA,gBAAA,GAAA,oBAAA,CAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,gBAEjC,CAAA,CAAA,CAAA,CAAA,CAAC;AAEK,IAAM,aAAa,GAAGA,eAAM,CAAC,KAAK,CAAC,CAAA,gBAAA,KAAA,gBAAA,GAAA,oBAAA,CAAA,CAAA,gHAAA,CAAA,EAAA,CAAA,gHAMzC,CAAA,CAAA,CAAA,CAAA,CAAC;AAEK,IAAM,cAAc,GAAGA,eAAM,CAAC,KAAK,CAAC,CAAA,gBAAA,KAAA,gBAAA,GAAA,oBAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAE,CAAA,CAAA,CAAA,CAAA,CAAC;AAEvC,IAAM,mBAAmB,GAAGA,eAAM,CAAC4C,mBAAU,CAAC,CAAA,gBAAA,KAAA,gBAAA,GAAA,oBAAA,CAAA,CAAA,mDAAA,CAAA,EAAA,CAAA,mDAGpD,CAAA,CAAA,CAAA,CAAA,CAAC;kIC9BF,IAAA,eAAc,GAAG,YAAY;AAC7B,EAAE,IAAI,SAAS,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;AAC1C,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AAC7B,IAAI,OAAO,YAAY,EAAE,CAAC;AAC1B,GAAG;AACH,EAAE,IAAI,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC;AACtC;AACA,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE;AACjD,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,GAAG;AACH;AACA,EAAE,QAAQ,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE;AACtC,IAAI,KAAK,OAAO,CAAC;AACjB,IAAI,KAAK,UAAU;AACnB,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;AACpB,MAAM,MAAM;AACZ;AACA,IAAI;AACJ,MAAM,MAAM,GAAG,IAAI,CAAC;AACpB,MAAM,MAAM;AACZ,GAAG;AACH;AACA,EAAE,SAAS,CAAC,eAAe,EAAE,CAAC;AAC9B,EAAE,OAAO,YAAY;AACrB,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO;AAC9B,IAAI,SAAS,CAAC,eAAe,EAAE,CAAC;AAChC;AACA,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AAC/B,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,KAAK,EAAE;AACrC,QAAQ,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAClC,OAAO,CAAC,CAAC;AACT,KAAK;AACL;AACA,IAAI,MAAM;AACV,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;AACnB,GAAG,CAAC;AACJ,CAAC,CCpCD,IAAI,eAAe,GAAGzD,eAA2B,CAAC;AAClD;AACA,IAAI,yBAAyB,GAAG;AAChC,EAAE,YAAY,EAAE,MAAM;AACtB,EAAE,WAAW,EAAE,KAAK;AACpB,EAAE,SAAS,EAAE,MAAM;AACnB,EAAC;AACD;AACA,IAAI,cAAc,GAAG,kCAAkC,CAAC;AACxD;AACA,SAAS,MAAM,CAAC,OAAO,EAAE;AACzB,EAAE,IAAI,OAAO,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,GAAG,GAAG,MAAM,IAAI,IAAI,CAAC;AAC9E,EAAE,OAAO,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC;AACD;AACA,SAAS,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE;AAC7B,EAAE,IAAI,KAAK;AACX,IAAI,OAAO;AACX,IAAI,gBAAgB;AACpB,IAAI,KAAK;AACT,IAAI,SAAS;AACb,IAAI,IAAI;AACR,IAAI,OAAO,GAAG,KAAK,CAAC;AACpB,EAAE,IAAI,CAAC,OAAO,EAAE;AAChB,IAAI,OAAO,GAAG,EAAE,CAAC;AACjB,GAAG;AACH,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;AACjC,EAAE,IAAI;AACN,IAAI,gBAAgB,GAAG,eAAe,EAAE,CAAC;AACzC;AACA,IAAI,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;AACnC,IAAI,SAAS,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;AACxC;AACA,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAC1C,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;AAC5B;AACA,IAAI,IAAI,CAAC,UAAU,GAAG,OAAM;AAC5B;AACA,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC;AAC7B;AACA,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;AAClC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;AACvB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,kBAAkB,CAAC;AACzC;AACA,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC;AAClC;AACA,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,MAAM,CAAC;AACzC,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;AACtC,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC;AACrC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;AACnC,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE;AAC9C,MAAM,CAAC,CAAC,eAAe,EAAE,CAAC;AAC1B,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE;AAC1B,QAAQ,CAAC,CAAC,cAAc,EAAE,CAAC;AAC3B,QAAQ,IAAI,OAAO,CAAC,CAAC,aAAa,KAAK,WAAW,EAAE;AACpD,UAAU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;AACjE,UAAU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;AAC5D,UAAU,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;AAC3C,UAAU,IAAI,MAAM,GAAG,yBAAyB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,yBAAyB,CAAC,SAAS,EAAC;AACxG,UAAU,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACrD,SAAS,MAAM;AACf,UAAU,CAAC,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;AACtC,UAAU,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACxD,SAAS;AACT,OAAO;AACP,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE;AAC1B,QAAQ,CAAC,CAAC,cAAc,EAAE,CAAC;AAC3B,QAAQ,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;AACxC,OAAO;AACP,KAAK,CAAC,CAAC;AACP;AACA,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACpC;AACA,IAAI,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;AACnC,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC9B;AACA,IAAI,IAAI,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAClD,IAAI,IAAI,CAAC,UAAU,EAAE;AACrB,MAAM,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;AACvD,KAAK;AACL,IAAI,OAAO,GAAG,IAAI,CAAC;AACnB,GAAG,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAC;AACtE,IAAI,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;AACtD,IAAI,IAAI;AACR,MAAM,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,EAAE,IAAI,CAAC,CAAC;AACnE,MAAM,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AAC7D,MAAM,OAAO,GAAG,IAAI,CAAC;AACrB,KAAK,CAAC,OAAO,GAAG,EAAE;AAClB,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,GAAG,CAAC,CAAC;AAC1E,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;AACvD,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,cAAc,CAAC,CAAC;AAChF,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACnC,KAAK;AACL,GAAG,SAAS;AACZ,IAAI,IAAI,SAAS,EAAE;AACnB,MAAM,IAAI,OAAO,SAAS,CAAC,WAAW,IAAI,UAAU,EAAE;AACtD,QAAQ,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACrC,OAAO,MAAM;AACb,QAAQ,SAAS,CAAC,eAAe,EAAE,CAAC;AACpC,OAAO;AACP,KAAK;AACL;AACA,IAAI,IAAI,IAAI,EAAE;AACd,MAAM,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACtC,KAAK;AACL,IAAI,gBAAgB,EAAE,CAAC;AACvB,GAAG;AACH;AACA,EAAE,OAAO,OAAO,CAAC;AACjB,CAAC;AACD;AACA,IAAA,eAAc,GAAG,IAAI,CChHrB,SAAS,OAAO,CAAC,GAAG,EAAE,EAAE,yBAAyB,CAAC,CAAC,OAAO,OAAO,GAAG,UAAU,IAAI,OAAO,MAAM,IAAI,QAAQ,IAAI,OAAO,MAAM,CAAC,QAAQ,GAAG,UAAU,GAAG,EAAE,EAAE,OAAO,OAAO,GAAG,CAAC,EAAE,GAAG,UAAU,GAAG,EAAE,EAAE,OAAO,GAAG,IAAI,UAAU,IAAI,OAAO,MAAM,IAAI,GAAG,CAAC,WAAW,KAAK,MAAM,IAAI,GAAG,KAAK,MAAM,CAAC,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE;AAChV;AACA,MAAM,CAAC,cAAc,CAAC,SAAO,EAAE,YAAY,EAAE;AAC7C,EAAE,KAAK,EAAE,IAAI;AACb,CAAC,CAAC,CAAC;AACoB,SAAA,CAAA,eAAA,GAAG,KAAK,EAAE;AACjC;AACA,IAAI,MAAM,GAAG,sBAAsB,CAACA,KAAgB,CAAC,CAAC;AACtD;AACA,IAAI,gBAAgB,GAAG,sBAAsB,CAACC,eAA4B,CAAC,CAAC;AAC5E;AACA,IAAI,SAAS,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAC1D;AACA,SAAS,sBAAsB,CAAC,GAAG,EAAE,EAAE,OAAO,GAAG,IAAI,GAAG,CAAC,UAAU,GAAG,GAAG,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE;AACjG;AACA,SAAS,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,qBAAqB,EAAE,EAAE,IAAI,OAAO,GAAG,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,KAAK,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,EAAE,OAAO,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,EAAE;AACrV;AACA,SAAS,aAAa,CAAC,MAAM,EAAE,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,MAAM,GAAG,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,EAAE,EAAE,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,yBAAyB,GAAG,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,EAAE,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,MAAM,CAAC,EAAE;AAC1f;AACA,SAAS,wBAAwB,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,IAAI,MAAM,IAAI,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,MAAM,GAAG,6BAA6B,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,qBAAqB,EAAE,EAAE,IAAI,gBAAgB,GAAG,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,MAAM,CAAC,EAAE;AAC5e;AACA,SAAS,6BAA6B,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,IAAI,MAAM,IAAI,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,MAAM,GAAG,EAAE,CAAC,CAAC,IAAI,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,MAAM,CAAC,EAAE;AACnT;AACA,SAAS,eAAe,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,YAAY,WAAW,CAAC,EAAE,EAAE,MAAM,IAAI,SAAS,CAAC,mCAAmC,CAAC,CAAC,EAAE,EAAE;AACzJ;AACA,SAAS,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,IAAI,KAAK,CAAC,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,IAAI,OAAO,IAAI,UAAU,EAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,EAAE;AAC7T;AACA,SAAS,YAAY,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,IAAI,UAAU,EAAE,iBAAiB,CAAC,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,iBAAiB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,WAAW,CAAC,EAAE;AAC7R;AACA,SAAS,SAAS,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,IAAI,OAAO,UAAU,KAAK,UAAU,IAAI,UAAU,KAAK,IAAI,EAAE,EAAE,MAAM,IAAI,SAAS,CAAC,oDAAoD,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,IAAI,UAAU,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,EAAE;AACpc;AACA,SAAS,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,eAAe,GAAG,MAAM,CAAC,cAAc,IAAI,SAAS,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;AAC1K;AACA,SAAS,YAAY,CAAC,OAAO,EAAE,EAAE,IAAI,yBAAyB,GAAG,yBAAyB,EAAE,CAAC,CAAC,OAAO,SAAS,oBAAoB,GAAG,EAAE,IAAI,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,yBAAyB,EAAE,EAAE,IAAI,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,OAAO,0BAA0B,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;AACza;AACA,SAAS,0BAA0B,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,EAAE,MAAM,IAAI,IAAI,KAAK,KAAK,CAAC,EAAE,EAAE,MAAM,IAAI,SAAS,CAAC,0DAA0D,CAAC,CAAC,EAAE,CAAC,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC,EAAE;AAChS;AACA,SAAS,sBAAsB,CAAC,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,CAAC,EAAE,EAAE,MAAM,IAAI,cAAc,CAAC,2DAA2D,CAAC,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,EAAE;AACtK;AACA,SAAS,yBAAyB,GAAG,EAAE,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,KAAK,CAAC,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,KAAK,CAAC,CAAC,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,OAAO,IAAI,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,KAAK,CAAC,EAAE,EAAE;AACzU;AACA,SAAS,eAAe,CAAC,CAAC,EAAE,EAAE,eAAe,GAAG,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,GAAG,SAAS,eAAe,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE;AAC7M;AACA,SAAS,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,OAAO,GAAG,CAAC,EAAE;AACjN;AACA,IAAIyD,iBAAe,gBAAgB,UAAU,oBAAoB,EAAE;AACnE,EAAE,SAAS,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAC;AACnD;AACA,EAAE,IAAI,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC;AAC7C;AACA,EAAE,SAAS,eAAe,GAAG;AAC7B,IAAI,IAAI,KAAK,CAAC;AACd;AACA,IAAI,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;AAC3C;AACA,IAAI,KAAK,IAAI,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE;AAC7F,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AACnC,KAAK;AACL;AACA,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3D;AACA,IAAI,eAAe,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,UAAU,KAAK,EAAE;AAC/E,MAAM,IAAI,WAAW,GAAG,KAAK,CAAC,KAAK;AACnC,UAAU,IAAI,GAAG,WAAW,CAAC,IAAI;AACjC,UAAU,MAAM,GAAG,WAAW,CAAC,MAAM;AACrC,UAAU,QAAQ,GAAG,WAAW,CAAC,QAAQ;AACzC,UAAU,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;AACxC;AACA,MAAM,IAAI,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC3D;AACA,MAAM,IAAI,MAAM,GAAG,IAAI,gBAAgB,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AACnE;AACA,MAAM,IAAI,MAAM,EAAE;AAClB,QAAQ,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC7B,OAAO;AACP;AACA;AACA,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,UAAU,EAAE;AAC1E,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAClC,OAAO;AACP,KAAK,CAAC,CAAC;AACP;AACA,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH;AACA,EAAE,YAAY,CAAC,eAAe,EAAE,CAAC;AACjC,IAAI,GAAG,EAAE,QAAQ;AACjB,IAAI,KAAK,EAAE,SAAS,MAAM,GAAG;AAC7B,MAAU,IAAA,YAAY,GAAG,IAAI,CAAC,KAAK,CAAA;AACnC,UAAkB,YAAY,CAAC,IAAI,CAAA;AACnC,UAAoB,YAAY,CAAC,MAAM,CAAA;AACvC,UAAqB,YAAY,CAAC,OAAO,CAAA;AACzC,cAAU,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAA;AAC1C,UAAU,KAAK,GAAG,wBAAwB,CAAC,YAAY,EAAE,SAAS,EAAE;AACpE;AACA,MAAM,IAAI,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC3D;AACA,MAAM,oBAAoB,MAAM,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC,aAAa,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE;AAC3G,QAAQ,OAAO,EAAE,IAAI,CAAC,OAAO;AAC7B,OAAO,CAAC,CAAC,CAAC;AACV,KAAK;AACL,GAAG,CAAC,CAAC,CAAC;AACN;AACA,EAAE,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC;AACnC;AACuB,SAAA,CAAA,eAAA,GAAGA,iBAAe,CAAC;AAC1C;AACA,eAAe,CAACA,iBAAe,EAAE,cAAc,EAAE;AACjD,EAAE,MAAM,EAAE,SAAS;AACnB,EAAE,OAAO,EAAE,SAAS;AACpB,CAAC,CAAC,CC/GF,IAAI,QAAQ,GAAG1D,SAAsB;AACrC,IAAI,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC;AAC/C;AACA,eAAe,CAAC,eAAe,GAAG,eAAe,CAAC;AAClD,IAAA,GAAc,GAAG,eAAe,CCO1B,IAAA,SAAS,GAAa,UAAC,EAoBrB,EAAA;QAnBN,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,aAAa,GAAA,EAAA,CAAA,aAAA,EACb,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,SAAS,eAAA,EACT,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,EAAE,GAAA,EAAA,CAAA,EAAA,EACF,cAAc,GAAA,EAAA,CAAA,cAAA,EACd,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,UAAU,gBAAA,EACV,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,cAAc,GAAA,EAAA,CAAA,cAAA,EACd,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,cAAc,GAAA,EAAA,CAAA,cAAA,EACd,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,iBAAiB,GAAA,EAAA,CAAA,iBAAA,CAAA;IAEjB,IAAM,SAAS,GAAGoB,aAAO,CAAC,YAAA;QACxB,IAAM,KAAK,GAAwE,EAAE,CAAC;AACtF,QAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAC5B,YAAA,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AACtB,SAAA;AAAM,aAAA;YACL,IAAI,IAAI,CAAC,EAAE;gBAAE,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YACrC,IAAI,IAAI,CAAC,EAAE;gBAAE,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YACrC,IAAI,IAAI,CAAC,EAAE;gBAAE,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YACrC,IAAI,IAAI,CAAC,EAAE;gBAAE,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YACrC,IAAI,IAAI,CAAC,EAAE;gBAAE,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;AACtC,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;AACf,KAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AAEX,IAAA,QACE,KAAC,CAAA,aAAA,CAAA4B,aAAI,IACH,SAAS,EAAA,IAAA,EACT,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,UAAU,CAAC,WAAW,EAAE,SAAS,CAAC,EAC7C,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,EAAE,EAAA,EAEL,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,GAAG,EAAA;AACnB,QAAA,IAAI,IAAI,EAAE;YACR,IAAM,eAAe,GAAG,wBAAwB,CAAC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,CAAC;YAChF,IAAM,YAAY,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,eAAe,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;YACvG,IAAM,YAAY,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACtD,IAAM,mBAAmB,GAAG,cAAc;kBACtC,EAAE,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,CAAC,EAAE;kBACvD,SAAS,CAAC;AAEd,YAAA,IAAM,cAAc,GAAArD,UAAA,CAAA,EAAA,EAAQ,SAAS,CAAE,CAAC;YACxC,IAAI,IAAI,CAAC,EAAE;AAAE,gBAAA,cAAc,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YACzC,IAAI,IAAI,CAAC,EAAE;AAAE,gBAAA,cAAc,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YACzC,IAAI,IAAI,CAAC,EAAE;AAAE,gBAAA,cAAc,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YACzC,IAAI,IAAI,CAAC,EAAE;AAAE,gBAAA,cAAc,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YACzC,IAAI,IAAI,CAAC,EAAE;AAAE,gBAAA,cAAc,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YAEzC,IAAI,IAAI,GAAgC,IAAI,CAAC,IAAI,KAAK,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;YAC9F,IAAI,IAAI,CAAC,QAAQ;AAAE,gBAAA,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,KAAK,CAAC,IAAI,CAAC;AAAE,gBAAA,IAAI,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,mDAAW,CAAC;AAEpF,YAAA,IAAM,qBAAmB,GACvB,IAAI,CAAC,aAAa,KAAK,OAAO,IAAI,KAAK,QAAQ,GAAG,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;AAE5G,YAAA,QACE,KAAA,CAAA,aAAA,CAACqD,aAAI,EAAArD,UAAA,CAAA,EAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAA,IAAA,EAAA,EAAK,cAAc,EAAA,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAA,CAAA;AAChG,gBAAA,KAAA,CAAA,aAAA,CAAC,KAAK,EAAA,EACJ,SAAS,EAAE,UAAU,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,EAC1D,KAAK,EAAOA,UAAA,CAAAA,UAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,CAAK,EAAA,UAAU,CAC1C,EAAA,EAAE,EAAE,YAAY,EAEf,EAAA,IAAI,CAAC,KAAK,CACL;gBACR,KAAC,CAAA,aAAA,CAAA,SAAS,EACR,EAAA,SAAS,EAAE,UAAU,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,EAC1D,KAAK,EAAAA,UAAA,CAAAA,UAAA,CAAAA,UAAA,CAAA,EAAA,EAAO,UAAU,CAAA,EAAK,IAAI,CAAC,UAAU,CAAA,EAAK,mBAAmB,CAAA,EAClE,EAAE,EAAE,YAAY,EAAA;AAEf,oBAAA,IAAI,CAAC,QAAQ,IAAI,QAAQ,GAAG,KAAC,CAAA,aAAA,CAAA,aAAa,QAAE,IAAI,CAAiB,GAAG,oBAAC,KAAK,EAAA,IAAA,EAAE,IAAI,CAAS;oBACzF,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC,qBAAmB,CAAC,KAC9C,KAAA,CAAA,aAAA,CAAC,cAAc,EAAA,IAAA;wBACb,KAAC,CAAA,aAAA,CAAA+D,mBAAe,EACd,EAAA,IAAI,EAAE,qBAAmB,EACzB,MAAM,EAAE,iBAAiB,GAAG,cAAM,OAAA,iBAAiB,CAAC,IAAI,EAAE,qBAAmB,CAAC,CAAA,EAAA,GAAG,SAAS,EAAA;AAE1F,4BAAA,KAAA,CAAA,aAAA,CAAC,mBAAmB,EAAA/D,UAAA,CAAA,EAAC,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,SAAS,EAAA,EAAK,IAAI,CAAC,cAAc,CAAA;AACvE,gCAAA,KAAA,CAAA,aAAA,CAAC,SAAS,EAAA,IAAA,EAAE,IAAI,CAAC,aAAa,IAAI,cAAc,CAAa,CACzC,CACN,CACH,CAClB,CACS,CACP,EACP;AACH,SAAA;KACF,CAAC,CACG,EACP;AACJ,EAAE;AAEF,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC;AACpC,SAAS,CAAC,YAAY,GAAG,qBAAqB","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,38,50,51,53,54,55,56,72,73,74,75]}
1
+ {"version":3,"file":"index.js","sources":["../node_modules/classnames/index.js","../node_modules/lodash-es/_freeGlobal.js","../node_modules/lodash-es/_root.js","../node_modules/lodash-es/_Symbol.js","../node_modules/lodash-es/_getRawTag.js","../node_modules/lodash-es/_objectToString.js","../node_modules/lodash-es/_baseGetTag.js","../node_modules/lodash-es/isObjectLike.js","../node_modules/lodash-es/isSymbol.js","../node_modules/lodash-es/_trimmedEndIndex.js","../node_modules/lodash-es/_baseTrim.js","../node_modules/lodash-es/isObject.js","../node_modules/lodash-es/toNumber.js","../node_modules/lodash-es/now.js","../node_modules/lodash-es/debounce.js","../node_modules/lodash-es/throttle.js","../node_modules/can-use-dom/index.js","../node_modules/simplebar-core/dist/index.mjs","../node_modules/simplebar-react/dist/index.mjs","../node_modules/lodash/isObject.js","../node_modules/lodash/_freeGlobal.js","../node_modules/lodash/_root.js","../node_modules/lodash/now.js","../node_modules/lodash/_trimmedEndIndex.js","../node_modules/lodash/_baseTrim.js","../node_modules/lodash/_Symbol.js","../node_modules/lodash/_getRawTag.js","../node_modules/lodash/_objectToString.js","../node_modules/lodash/_baseGetTag.js","../node_modules/lodash/isObjectLike.js","../node_modules/lodash/isSymbol.js","../node_modules/lodash/toNumber.js","../node_modules/lodash/debounce.js","../node_modules/lodash/throttle.js","../node_modules/react-resize-detector/build/index.esm.js","../src/Table/Table.types.ts","../src/Table/Table.styles.ts","../src/TableBodyRow/TableBodyRow.types.ts","../node_modules/@dnd-kit/utilities/dist/utilities.esm.js","../src/@util/compare.ts","../src/@util/number.ts","../src/@util/table.ts","../src/TableContext/TableContext.types.ts","../src/TableContext/TableContext.ts","../src/TableContext/useTableState.ts","../src/TableCommonCell/TableCommonCell.tsx","../src/TableBodyCell/TableBodyCell.tsx","../src/TableBodyRow/TableBodyRow.tsx","../src/TableFooterCell/TableFooterCell.tsx","../src/TablePagination/TablePagination.tsx","../node_modules/@pdg/react-hook/dist/index.esm.js","../node_modules/style-inject/dist/style-inject.es.js","../src/TableContextProvider/TableContextProvider.tsx","../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/native.js","../node_modules/uuid/dist/esm-browser/v4.js","../src/TableTopHead/TableTopHead.types.ts","../src/TableTopHead/TableTopHead.style.ts","../src/TableHeadCell/TableHeadCell.tsx","../src/TableTopHead/TableTopHead.tsx","../src/Table/Table.tsx","../src/SearchTable/SearchTable.types.ts","../src/SearchTable/SearchTable.tsx","../src/TableButton/TableButton.types.ts","../src/TableIcon/TableIcon.types.ts","../src/TableIcon/TableIcon.tsx","../src/TableButton/TableButton.tsx","../src/TableMenuButton/TableMenuButton.types.ts","../src/TableMenuButton/TableMenuButton.tsx","../src/InfoTable/InfoTable.types.ts","../src/InfoTable/InfoTable.style.ts","../node_modules/toggle-selection/index.js","../node_modules/copy-to-clipboard/index.js","../node_modules/react-copy-to-clipboard/lib/Component.js","../node_modules/react-copy-to-clipboard/lib/index.js","../src/InfoTable/InfoTable.tsx"],"sourcesContent":["/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nexport default isSymbol;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nexport default trimmedEndIndex;\n","import trimmedEndIndex from './_trimmedEndIndex.js';\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nexport default baseTrim;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;\n","import baseTrim from './_baseTrim.js';\nimport isObject from './isObject.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nexport default toNumber;\n","import root from './_root.js';\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nexport default now;\n","import isObject from './isObject.js';\nimport now from './now.js';\nimport toNumber from './toNumber.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nexport default debounce;\n","import debounce from './debounce.js';\nimport isObject from './isObject.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nexport default throttle;\n","var canUseDOM = !!(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n);\n\nmodule.exports = canUseDOM;","/**\n * simplebar-core - v1.2.4\n * Scrollbars, simpler.\n * https://grsmto.github.io/simplebar/\n *\n * Made by Adrien Denat from a fork by Jonathan Nicol\n * Under MIT License\n */\n\nimport { throttle, debounce } from 'lodash-es';\nimport canUseDOM from 'can-use-dom';\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\n\nvar cachedScrollbarWidth = null;\nvar cachedDevicePixelRatio = null;\nif (canUseDOM) {\n window.addEventListener('resize', function () {\n if (cachedDevicePixelRatio !== window.devicePixelRatio) {\n cachedDevicePixelRatio = window.devicePixelRatio;\n cachedScrollbarWidth = null;\n }\n });\n}\nfunction scrollbarWidth() {\n if (cachedScrollbarWidth === null) {\n if (typeof document === 'undefined') {\n cachedScrollbarWidth = 0;\n return cachedScrollbarWidth;\n }\n var body = document.body;\n var box = document.createElement('div');\n box.classList.add('simplebar-hide-scrollbar');\n body.appendChild(box);\n var width = box.getBoundingClientRect().right;\n body.removeChild(box);\n cachedScrollbarWidth = width;\n }\n return cachedScrollbarWidth;\n}\n\nfunction getElementWindow$1(element) {\n if (!element ||\n !element.ownerDocument ||\n !element.ownerDocument.defaultView) {\n return window;\n }\n return element.ownerDocument.defaultView;\n}\nfunction getElementDocument$1(element) {\n if (!element || !element.ownerDocument) {\n return document;\n }\n return element.ownerDocument;\n}\n// Helper function to retrieve options from element attributes\nvar getOptions$1 = function (obj) {\n var initialObj = {};\n var options = Array.prototype.reduce.call(obj, function (acc, attribute) {\n var option = attribute.name.match(/data-simplebar-(.+)/);\n if (option) {\n var key = option[1].replace(/\\W+(.)/g, function (_, chr) { return chr.toUpperCase(); });\n switch (attribute.value) {\n case 'true':\n acc[key] = true;\n break;\n case 'false':\n acc[key] = false;\n break;\n case undefined:\n acc[key] = true;\n break;\n default:\n acc[key] = attribute.value;\n }\n }\n return acc;\n }, initialObj);\n return options;\n};\nfunction addClasses$1(el, classes) {\n var _a;\n if (!el)\n return;\n (_a = el.classList).add.apply(_a, classes.split(' '));\n}\nfunction removeClasses$1(el, classes) {\n if (!el)\n return;\n classes.split(' ').forEach(function (className) {\n el.classList.remove(className);\n });\n}\nfunction classNamesToQuery$1(classNames) {\n return \".\".concat(classNames.split(' ').join('.'));\n}\n\nvar helpers = /*#__PURE__*/Object.freeze({\n __proto__: null,\n getElementWindow: getElementWindow$1,\n getElementDocument: getElementDocument$1,\n getOptions: getOptions$1,\n addClasses: addClasses$1,\n removeClasses: removeClasses$1,\n classNamesToQuery: classNamesToQuery$1\n});\n\nvar getElementWindow = getElementWindow$1, getElementDocument = getElementDocument$1, getOptions = getOptions$1, addClasses = addClasses$1, removeClasses = removeClasses$1, classNamesToQuery = classNamesToQuery$1;\nvar SimpleBarCore = /** @class */ (function () {\n function SimpleBarCore(element, options) {\n if (options === void 0) { options = {}; }\n var _this = this;\n this.removePreventClickId = null;\n this.minScrollbarWidth = 20;\n this.stopScrollDelay = 175;\n this.isScrolling = false;\n this.isMouseEntering = false;\n this.scrollXTicking = false;\n this.scrollYTicking = false;\n this.wrapperEl = null;\n this.contentWrapperEl = null;\n this.contentEl = null;\n this.offsetEl = null;\n this.maskEl = null;\n this.placeholderEl = null;\n this.heightAutoObserverWrapperEl = null;\n this.heightAutoObserverEl = null;\n this.rtlHelpers = null;\n this.scrollbarWidth = 0;\n this.resizeObserver = null;\n this.mutationObserver = null;\n this.elStyles = null;\n this.isRtl = null;\n this.mouseX = 0;\n this.mouseY = 0;\n this.onMouseMove = function () { };\n this.onWindowResize = function () { };\n this.onStopScrolling = function () { };\n this.onMouseEntered = function () { };\n /**\n * On scroll event handling\n */\n this.onScroll = function () {\n var elWindow = getElementWindow(_this.el);\n if (!_this.scrollXTicking) {\n elWindow.requestAnimationFrame(_this.scrollX);\n _this.scrollXTicking = true;\n }\n if (!_this.scrollYTicking) {\n elWindow.requestAnimationFrame(_this.scrollY);\n _this.scrollYTicking = true;\n }\n if (!_this.isScrolling) {\n _this.isScrolling = true;\n addClasses(_this.el, _this.classNames.scrolling);\n }\n _this.showScrollbar('x');\n _this.showScrollbar('y');\n _this.onStopScrolling();\n };\n this.scrollX = function () {\n if (_this.axis.x.isOverflowing) {\n _this.positionScrollbar('x');\n }\n _this.scrollXTicking = false;\n };\n this.scrollY = function () {\n if (_this.axis.y.isOverflowing) {\n _this.positionScrollbar('y');\n }\n _this.scrollYTicking = false;\n };\n this._onStopScrolling = function () {\n removeClasses(_this.el, _this.classNames.scrolling);\n if (_this.options.autoHide) {\n _this.hideScrollbar('x');\n _this.hideScrollbar('y');\n }\n _this.isScrolling = false;\n };\n this.onMouseEnter = function () {\n if (!_this.isMouseEntering) {\n addClasses(_this.el, _this.classNames.mouseEntered);\n _this.showScrollbar('x');\n _this.showScrollbar('y');\n _this.isMouseEntering = true;\n }\n _this.onMouseEntered();\n };\n this._onMouseEntered = function () {\n removeClasses(_this.el, _this.classNames.mouseEntered);\n if (_this.options.autoHide) {\n _this.hideScrollbar('x');\n _this.hideScrollbar('y');\n }\n _this.isMouseEntering = false;\n };\n this._onMouseMove = function (e) {\n _this.mouseX = e.clientX;\n _this.mouseY = e.clientY;\n if (_this.axis.x.isOverflowing || _this.axis.x.forceVisible) {\n _this.onMouseMoveForAxis('x');\n }\n if (_this.axis.y.isOverflowing || _this.axis.y.forceVisible) {\n _this.onMouseMoveForAxis('y');\n }\n };\n this.onMouseLeave = function () {\n _this.onMouseMove.cancel();\n if (_this.axis.x.isOverflowing || _this.axis.x.forceVisible) {\n _this.onMouseLeaveForAxis('x');\n }\n if (_this.axis.y.isOverflowing || _this.axis.y.forceVisible) {\n _this.onMouseLeaveForAxis('y');\n }\n _this.mouseX = -1;\n _this.mouseY = -1;\n };\n this._onWindowResize = function () {\n // Recalculate scrollbarWidth in case it's a zoom\n _this.scrollbarWidth = _this.getScrollbarWidth();\n _this.hideNativeScrollbar();\n };\n this.onPointerEvent = function (e) {\n if (!_this.axis.x.track.el ||\n !_this.axis.y.track.el ||\n !_this.axis.x.scrollbar.el ||\n !_this.axis.y.scrollbar.el)\n return;\n var isWithinTrackXBounds, isWithinTrackYBounds;\n _this.axis.x.track.rect = _this.axis.x.track.el.getBoundingClientRect();\n _this.axis.y.track.rect = _this.axis.y.track.el.getBoundingClientRect();\n if (_this.axis.x.isOverflowing || _this.axis.x.forceVisible) {\n isWithinTrackXBounds = _this.isWithinBounds(_this.axis.x.track.rect);\n }\n if (_this.axis.y.isOverflowing || _this.axis.y.forceVisible) {\n isWithinTrackYBounds = _this.isWithinBounds(_this.axis.y.track.rect);\n }\n // If any pointer event is called on the scrollbar\n if (isWithinTrackXBounds || isWithinTrackYBounds) {\n // Prevent event leaking\n e.stopPropagation();\n if (e.type === 'pointerdown' && e.pointerType !== 'touch') {\n if (isWithinTrackXBounds) {\n _this.axis.x.scrollbar.rect =\n _this.axis.x.scrollbar.el.getBoundingClientRect();\n if (_this.isWithinBounds(_this.axis.x.scrollbar.rect)) {\n _this.onDragStart(e, 'x');\n }\n else {\n _this.onTrackClick(e, 'x');\n }\n }\n if (isWithinTrackYBounds) {\n _this.axis.y.scrollbar.rect =\n _this.axis.y.scrollbar.el.getBoundingClientRect();\n if (_this.isWithinBounds(_this.axis.y.scrollbar.rect)) {\n _this.onDragStart(e, 'y');\n }\n else {\n _this.onTrackClick(e, 'y');\n }\n }\n }\n }\n };\n /**\n * Drag scrollbar handle\n */\n this.drag = function (e) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;\n if (!_this.draggedAxis || !_this.contentWrapperEl)\n return;\n var eventOffset;\n var track = _this.axis[_this.draggedAxis].track;\n var trackSize = (_b = (_a = track.rect) === null || _a === void 0 ? void 0 : _a[_this.axis[_this.draggedAxis].sizeAttr]) !== null && _b !== void 0 ? _b : 0;\n var scrollbar = _this.axis[_this.draggedAxis].scrollbar;\n var contentSize = (_d = (_c = _this.contentWrapperEl) === null || _c === void 0 ? void 0 : _c[_this.axis[_this.draggedAxis].scrollSizeAttr]) !== null && _d !== void 0 ? _d : 0;\n var hostSize = parseInt((_f = (_e = _this.elStyles) === null || _e === void 0 ? void 0 : _e[_this.axis[_this.draggedAxis].sizeAttr]) !== null && _f !== void 0 ? _f : '0px', 10);\n e.preventDefault();\n e.stopPropagation();\n if (_this.draggedAxis === 'y') {\n eventOffset = e.pageY;\n }\n else {\n eventOffset = e.pageX;\n }\n // Calculate how far the user's mouse is from the top/left of the scrollbar (minus the dragOffset).\n var dragPos = eventOffset -\n ((_h = (_g = track.rect) === null || _g === void 0 ? void 0 : _g[_this.axis[_this.draggedAxis].offsetAttr]) !== null && _h !== void 0 ? _h : 0) -\n _this.axis[_this.draggedAxis].dragOffset;\n dragPos = _this.draggedAxis === 'x' && _this.isRtl\n ? ((_k = (_j = track.rect) === null || _j === void 0 ? void 0 : _j[_this.axis[_this.draggedAxis].sizeAttr]) !== null && _k !== void 0 ? _k : 0) -\n scrollbar.size -\n dragPos\n : dragPos;\n // Convert the mouse position into a percentage of the scrollbar height/width.\n var dragPerc = dragPos / (trackSize - scrollbar.size);\n // Scroll the content by the same percentage.\n var scrollPos = dragPerc * (contentSize - hostSize);\n // Fix browsers inconsistency on RTL\n if (_this.draggedAxis === 'x' && _this.isRtl) {\n scrollPos = ((_l = SimpleBarCore.getRtlHelpers()) === null || _l === void 0 ? void 0 : _l.isScrollingToNegative)\n ? -scrollPos\n : scrollPos;\n }\n _this.contentWrapperEl[_this.axis[_this.draggedAxis].scrollOffsetAttr] =\n scrollPos;\n };\n /**\n * End scroll handle drag\n */\n this.onEndDrag = function (e) {\n var elDocument = getElementDocument(_this.el);\n var elWindow = getElementWindow(_this.el);\n e.preventDefault();\n e.stopPropagation();\n removeClasses(_this.el, _this.classNames.dragging);\n elDocument.removeEventListener('mousemove', _this.drag, true);\n elDocument.removeEventListener('mouseup', _this.onEndDrag, true);\n _this.removePreventClickId = elWindow.setTimeout(function () {\n // Remove these asynchronously so we still suppress click events\n // generated simultaneously with mouseup.\n elDocument.removeEventListener('click', _this.preventClick, true);\n elDocument.removeEventListener('dblclick', _this.preventClick, true);\n _this.removePreventClickId = null;\n });\n };\n /**\n * Handler to ignore click events during drag\n */\n this.preventClick = function (e) {\n e.preventDefault();\n e.stopPropagation();\n };\n this.el = element;\n this.options = __assign(__assign({}, SimpleBarCore.defaultOptions), options);\n this.classNames = __assign(__assign({}, SimpleBarCore.defaultOptions.classNames), options.classNames);\n this.axis = {\n x: {\n scrollOffsetAttr: 'scrollLeft',\n sizeAttr: 'width',\n scrollSizeAttr: 'scrollWidth',\n offsetSizeAttr: 'offsetWidth',\n offsetAttr: 'left',\n overflowAttr: 'overflowX',\n dragOffset: 0,\n isOverflowing: true,\n forceVisible: false,\n track: { size: null, el: null, rect: null, isVisible: false },\n scrollbar: { size: null, el: null, rect: null, isVisible: false }\n },\n y: {\n scrollOffsetAttr: 'scrollTop',\n sizeAttr: 'height',\n scrollSizeAttr: 'scrollHeight',\n offsetSizeAttr: 'offsetHeight',\n offsetAttr: 'top',\n overflowAttr: 'overflowY',\n dragOffset: 0,\n isOverflowing: true,\n forceVisible: false,\n track: { size: null, el: null, rect: null, isVisible: false },\n scrollbar: { size: null, el: null, rect: null, isVisible: false }\n }\n };\n if (typeof this.el !== 'object' || !this.el.nodeName) {\n throw new Error(\"Argument passed to SimpleBar must be an HTML element instead of \".concat(this.el));\n }\n this.onMouseMove = throttle(this._onMouseMove, 64);\n this.onWindowResize = debounce(this._onWindowResize, 64, { leading: true });\n this.onStopScrolling = debounce(this._onStopScrolling, this.stopScrollDelay);\n this.onMouseEntered = debounce(this._onMouseEntered, this.stopScrollDelay);\n this.init();\n }\n /**\n * Helper to fix browsers inconsistency on RTL:\n * - Firefox inverts the scrollbar initial position\n * - IE11 inverts both scrollbar position and scrolling offset\n * Directly inspired by @KingSora's OverlayScrollbars https://github.com/KingSora/OverlayScrollbars/blob/master/js/OverlayScrollbars.js#L1634\n */\n SimpleBarCore.getRtlHelpers = function () {\n if (SimpleBarCore.rtlHelpers) {\n return SimpleBarCore.rtlHelpers;\n }\n var dummyDiv = document.createElement('div');\n dummyDiv.innerHTML =\n '<div class=\"simplebar-dummy-scrollbar-size\"><div></div></div>';\n var scrollbarDummyEl = dummyDiv.firstElementChild;\n var dummyChild = scrollbarDummyEl === null || scrollbarDummyEl === void 0 ? void 0 : scrollbarDummyEl.firstElementChild;\n if (!dummyChild)\n return null;\n document.body.appendChild(scrollbarDummyEl);\n scrollbarDummyEl.scrollLeft = 0;\n var dummyContainerOffset = SimpleBarCore.getOffset(scrollbarDummyEl);\n var dummyChildOffset = SimpleBarCore.getOffset(dummyChild);\n scrollbarDummyEl.scrollLeft = -999;\n var dummyChildOffsetAfterScroll = SimpleBarCore.getOffset(dummyChild);\n document.body.removeChild(scrollbarDummyEl);\n SimpleBarCore.rtlHelpers = {\n // determines if the scrolling is responding with negative values\n isScrollOriginAtZero: dummyContainerOffset.left !== dummyChildOffset.left,\n // determines if the origin scrollbar position is inverted or not (positioned on left or right)\n isScrollingToNegative: dummyChildOffset.left !== dummyChildOffsetAfterScroll.left\n };\n return SimpleBarCore.rtlHelpers;\n };\n SimpleBarCore.prototype.getScrollbarWidth = function () {\n // Try/catch for FF 56 throwing on undefined computedStyles\n try {\n // Detect browsers supporting CSS scrollbar styling and do not calculate\n if ((this.contentWrapperEl &&\n getComputedStyle(this.contentWrapperEl, '::-webkit-scrollbar')\n .display === 'none') ||\n 'scrollbarWidth' in document.documentElement.style ||\n '-ms-overflow-style' in document.documentElement.style) {\n return 0;\n }\n else {\n return scrollbarWidth();\n }\n }\n catch (e) {\n return scrollbarWidth();\n }\n };\n SimpleBarCore.getOffset = function (el) {\n var rect = el.getBoundingClientRect();\n var elDocument = getElementDocument(el);\n var elWindow = getElementWindow(el);\n return {\n top: rect.top +\n (elWindow.pageYOffset || elDocument.documentElement.scrollTop),\n left: rect.left +\n (elWindow.pageXOffset || elDocument.documentElement.scrollLeft)\n };\n };\n SimpleBarCore.prototype.init = function () {\n // We stop here on server-side\n if (canUseDOM) {\n this.initDOM();\n this.rtlHelpers = SimpleBarCore.getRtlHelpers();\n this.scrollbarWidth = this.getScrollbarWidth();\n this.recalculate();\n this.initListeners();\n }\n };\n SimpleBarCore.prototype.initDOM = function () {\n var _a, _b;\n // assume that element has his DOM already initiated\n this.wrapperEl = this.el.querySelector(classNamesToQuery(this.classNames.wrapper));\n this.contentWrapperEl =\n this.options.scrollableNode ||\n this.el.querySelector(classNamesToQuery(this.classNames.contentWrapper));\n this.contentEl =\n this.options.contentNode ||\n this.el.querySelector(classNamesToQuery(this.classNames.contentEl));\n this.offsetEl = this.el.querySelector(classNamesToQuery(this.classNames.offset));\n this.maskEl = this.el.querySelector(classNamesToQuery(this.classNames.mask));\n this.placeholderEl = this.findChild(this.wrapperEl, classNamesToQuery(this.classNames.placeholder));\n this.heightAutoObserverWrapperEl = this.el.querySelector(classNamesToQuery(this.classNames.heightAutoObserverWrapperEl));\n this.heightAutoObserverEl = this.el.querySelector(classNamesToQuery(this.classNames.heightAutoObserverEl));\n this.axis.x.track.el = this.findChild(this.el, \"\".concat(classNamesToQuery(this.classNames.track)).concat(classNamesToQuery(this.classNames.horizontal)));\n this.axis.y.track.el = this.findChild(this.el, \"\".concat(classNamesToQuery(this.classNames.track)).concat(classNamesToQuery(this.classNames.vertical)));\n this.axis.x.scrollbar.el =\n ((_a = this.axis.x.track.el) === null || _a === void 0 ? void 0 : _a.querySelector(classNamesToQuery(this.classNames.scrollbar))) || null;\n this.axis.y.scrollbar.el =\n ((_b = this.axis.y.track.el) === null || _b === void 0 ? void 0 : _b.querySelector(classNamesToQuery(this.classNames.scrollbar))) || null;\n if (!this.options.autoHide) {\n addClasses(this.axis.x.scrollbar.el, this.classNames.visible);\n addClasses(this.axis.y.scrollbar.el, this.classNames.visible);\n }\n };\n SimpleBarCore.prototype.initListeners = function () {\n var _this = this;\n var _a;\n var elWindow = getElementWindow(this.el);\n // Event listeners\n this.el.addEventListener('mouseenter', this.onMouseEnter);\n this.el.addEventListener('pointerdown', this.onPointerEvent, true);\n this.el.addEventListener('mousemove', this.onMouseMove);\n this.el.addEventListener('mouseleave', this.onMouseLeave);\n (_a = this.contentWrapperEl) === null || _a === void 0 ? void 0 : _a.addEventListener('scroll', this.onScroll);\n // Browser zoom triggers a window resize\n elWindow.addEventListener('resize', this.onWindowResize);\n if (!this.contentEl)\n return;\n if (window.ResizeObserver) {\n // Hack for https://github.com/WICG/ResizeObserver/issues/38\n var resizeObserverStarted_1 = false;\n var resizeObserver = elWindow.ResizeObserver || ResizeObserver;\n this.resizeObserver = new resizeObserver(function () {\n if (!resizeObserverStarted_1)\n return;\n elWindow.requestAnimationFrame(function () {\n _this.recalculate();\n });\n });\n this.resizeObserver.observe(this.el);\n this.resizeObserver.observe(this.contentEl);\n elWindow.requestAnimationFrame(function () {\n resizeObserverStarted_1 = true;\n });\n }\n // This is required to detect horizontal scroll. Vertical scroll only needs the resizeObserver.\n this.mutationObserver = new elWindow.MutationObserver(function () {\n elWindow.requestAnimationFrame(function () {\n _this.recalculate();\n });\n });\n this.mutationObserver.observe(this.contentEl, {\n childList: true,\n subtree: true,\n characterData: true\n });\n };\n SimpleBarCore.prototype.recalculate = function () {\n if (!this.heightAutoObserverEl ||\n !this.contentEl ||\n !this.contentWrapperEl ||\n !this.wrapperEl ||\n !this.placeholderEl)\n return;\n var elWindow = getElementWindow(this.el);\n this.elStyles = elWindow.getComputedStyle(this.el);\n this.isRtl = this.elStyles.direction === 'rtl';\n var contentElOffsetWidth = this.contentEl.offsetWidth;\n var isHeightAuto = this.heightAutoObserverEl.offsetHeight <= 1;\n var isWidthAuto = this.heightAutoObserverEl.offsetWidth <= 1 || contentElOffsetWidth > 0;\n var contentWrapperElOffsetWidth = this.contentWrapperEl.offsetWidth;\n var elOverflowX = this.elStyles.overflowX;\n var elOverflowY = this.elStyles.overflowY;\n this.contentEl.style.padding = \"\".concat(this.elStyles.paddingTop, \" \").concat(this.elStyles.paddingRight, \" \").concat(this.elStyles.paddingBottom, \" \").concat(this.elStyles.paddingLeft);\n this.wrapperEl.style.margin = \"-\".concat(this.elStyles.paddingTop, \" -\").concat(this.elStyles.paddingRight, \" -\").concat(this.elStyles.paddingBottom, \" -\").concat(this.elStyles.paddingLeft);\n var contentElScrollHeight = this.contentEl.scrollHeight;\n var contentElScrollWidth = this.contentEl.scrollWidth;\n this.contentWrapperEl.style.height = isHeightAuto ? 'auto' : '100%';\n // Determine placeholder size\n this.placeholderEl.style.width = isWidthAuto\n ? \"\".concat(contentElOffsetWidth || contentElScrollWidth, \"px\")\n : 'auto';\n this.placeholderEl.style.height = \"\".concat(contentElScrollHeight, \"px\");\n var contentWrapperElOffsetHeight = this.contentWrapperEl.offsetHeight;\n this.axis.x.isOverflowing =\n contentElOffsetWidth !== 0 && contentElScrollWidth > contentElOffsetWidth;\n this.axis.y.isOverflowing =\n contentElScrollHeight > contentWrapperElOffsetHeight;\n // Set isOverflowing to false if user explicitely set hidden overflow\n this.axis.x.isOverflowing =\n elOverflowX === 'hidden' ? false : this.axis.x.isOverflowing;\n this.axis.y.isOverflowing =\n elOverflowY === 'hidden' ? false : this.axis.y.isOverflowing;\n this.axis.x.forceVisible =\n this.options.forceVisible === 'x' || this.options.forceVisible === true;\n this.axis.y.forceVisible =\n this.options.forceVisible === 'y' || this.options.forceVisible === true;\n this.hideNativeScrollbar();\n // Set isOverflowing to false if scrollbar is not necessary (content is shorter than offset)\n var offsetForXScrollbar = this.axis.x.isOverflowing\n ? this.scrollbarWidth\n : 0;\n var offsetForYScrollbar = this.axis.y.isOverflowing\n ? this.scrollbarWidth\n : 0;\n this.axis.x.isOverflowing =\n this.axis.x.isOverflowing &&\n contentElScrollWidth > contentWrapperElOffsetWidth - offsetForYScrollbar;\n this.axis.y.isOverflowing =\n this.axis.y.isOverflowing &&\n contentElScrollHeight >\n contentWrapperElOffsetHeight - offsetForXScrollbar;\n this.axis.x.scrollbar.size = this.getScrollbarSize('x');\n this.axis.y.scrollbar.size = this.getScrollbarSize('y');\n if (this.axis.x.scrollbar.el)\n this.axis.x.scrollbar.el.style.width = \"\".concat(this.axis.x.scrollbar.size, \"px\");\n if (this.axis.y.scrollbar.el)\n this.axis.y.scrollbar.el.style.height = \"\".concat(this.axis.y.scrollbar.size, \"px\");\n this.positionScrollbar('x');\n this.positionScrollbar('y');\n this.toggleTrackVisibility('x');\n this.toggleTrackVisibility('y');\n };\n /**\n * Calculate scrollbar size\n */\n SimpleBarCore.prototype.getScrollbarSize = function (axis) {\n var _a, _b;\n if (axis === void 0) { axis = 'y'; }\n if (!this.axis[axis].isOverflowing || !this.contentEl) {\n return 0;\n }\n var contentSize = this.contentEl[this.axis[axis].scrollSizeAttr];\n var trackSize = (_b = (_a = this.axis[axis].track.el) === null || _a === void 0 ? void 0 : _a[this.axis[axis].offsetSizeAttr]) !== null && _b !== void 0 ? _b : 0;\n var scrollbarRatio = trackSize / contentSize;\n var scrollbarSize;\n // Calculate new height/position of drag handle.\n scrollbarSize = Math.max(~~(scrollbarRatio * trackSize), this.options.scrollbarMinSize);\n if (this.options.scrollbarMaxSize) {\n scrollbarSize = Math.min(scrollbarSize, this.options.scrollbarMaxSize);\n }\n return scrollbarSize;\n };\n SimpleBarCore.prototype.positionScrollbar = function (axis) {\n var _a, _b, _c;\n if (axis === void 0) { axis = 'y'; }\n var scrollbar = this.axis[axis].scrollbar;\n if (!this.axis[axis].isOverflowing ||\n !this.contentWrapperEl ||\n !scrollbar.el ||\n !this.elStyles) {\n return;\n }\n var contentSize = this.contentWrapperEl[this.axis[axis].scrollSizeAttr];\n var trackSize = ((_a = this.axis[axis].track.el) === null || _a === void 0 ? void 0 : _a[this.axis[axis].offsetSizeAttr]) || 0;\n var hostSize = parseInt(this.elStyles[this.axis[axis].sizeAttr], 10);\n var scrollOffset = this.contentWrapperEl[this.axis[axis].scrollOffsetAttr];\n scrollOffset =\n axis === 'x' &&\n this.isRtl &&\n ((_b = SimpleBarCore.getRtlHelpers()) === null || _b === void 0 ? void 0 : _b.isScrollOriginAtZero)\n ? -scrollOffset\n : scrollOffset;\n if (axis === 'x' && this.isRtl) {\n scrollOffset = ((_c = SimpleBarCore.getRtlHelpers()) === null || _c === void 0 ? void 0 : _c.isScrollingToNegative)\n ? scrollOffset\n : -scrollOffset;\n }\n var scrollPourcent = scrollOffset / (contentSize - hostSize);\n var handleOffset = ~~((trackSize - scrollbar.size) * scrollPourcent);\n handleOffset =\n axis === 'x' && this.isRtl\n ? -handleOffset + (trackSize - scrollbar.size)\n : handleOffset;\n scrollbar.el.style.transform =\n axis === 'x'\n ? \"translate3d(\".concat(handleOffset, \"px, 0, 0)\")\n : \"translate3d(0, \".concat(handleOffset, \"px, 0)\");\n };\n SimpleBarCore.prototype.toggleTrackVisibility = function (axis) {\n if (axis === void 0) { axis = 'y'; }\n var track = this.axis[axis].track.el;\n var scrollbar = this.axis[axis].scrollbar.el;\n if (!track || !scrollbar || !this.contentWrapperEl)\n return;\n if (this.axis[axis].isOverflowing || this.axis[axis].forceVisible) {\n track.style.visibility = 'visible';\n this.contentWrapperEl.style[this.axis[axis].overflowAttr] = 'scroll';\n this.el.classList.add(\"\".concat(this.classNames.scrollable, \"-\").concat(axis));\n }\n else {\n track.style.visibility = 'hidden';\n this.contentWrapperEl.style[this.axis[axis].overflowAttr] = 'hidden';\n this.el.classList.remove(\"\".concat(this.classNames.scrollable, \"-\").concat(axis));\n }\n // Even if forceVisible is enabled, scrollbar itself should be hidden\n if (this.axis[axis].isOverflowing) {\n scrollbar.style.display = 'block';\n }\n else {\n scrollbar.style.display = 'none';\n }\n };\n SimpleBarCore.prototype.showScrollbar = function (axis) {\n if (axis === void 0) { axis = 'y'; }\n if (this.axis[axis].isOverflowing && !this.axis[axis].scrollbar.isVisible) {\n addClasses(this.axis[axis].scrollbar.el, this.classNames.visible);\n this.axis[axis].scrollbar.isVisible = true;\n }\n };\n SimpleBarCore.prototype.hideScrollbar = function (axis) {\n if (axis === void 0) { axis = 'y'; }\n if (this.axis[axis].isOverflowing && this.axis[axis].scrollbar.isVisible) {\n removeClasses(this.axis[axis].scrollbar.el, this.classNames.visible);\n this.axis[axis].scrollbar.isVisible = false;\n }\n };\n SimpleBarCore.prototype.hideNativeScrollbar = function () {\n if (!this.offsetEl)\n return;\n this.offsetEl.style[this.isRtl ? 'left' : 'right'] =\n this.axis.y.isOverflowing || this.axis.y.forceVisible\n ? \"-\".concat(this.scrollbarWidth, \"px\")\n : '0px';\n this.offsetEl.style.bottom =\n this.axis.x.isOverflowing || this.axis.x.forceVisible\n ? \"-\".concat(this.scrollbarWidth, \"px\")\n : '0px';\n };\n SimpleBarCore.prototype.onMouseMoveForAxis = function (axis) {\n if (axis === void 0) { axis = 'y'; }\n var currentAxis = this.axis[axis];\n if (!currentAxis.track.el || !currentAxis.scrollbar.el)\n return;\n currentAxis.track.rect = currentAxis.track.el.getBoundingClientRect();\n currentAxis.scrollbar.rect =\n currentAxis.scrollbar.el.getBoundingClientRect();\n if (this.isWithinBounds(currentAxis.track.rect)) {\n this.showScrollbar(axis);\n addClasses(currentAxis.track.el, this.classNames.hover);\n if (this.isWithinBounds(currentAxis.scrollbar.rect)) {\n addClasses(currentAxis.scrollbar.el, this.classNames.hover);\n }\n else {\n removeClasses(currentAxis.scrollbar.el, this.classNames.hover);\n }\n }\n else {\n removeClasses(currentAxis.track.el, this.classNames.hover);\n if (this.options.autoHide) {\n this.hideScrollbar(axis);\n }\n }\n };\n SimpleBarCore.prototype.onMouseLeaveForAxis = function (axis) {\n if (axis === void 0) { axis = 'y'; }\n removeClasses(this.axis[axis].track.el, this.classNames.hover);\n removeClasses(this.axis[axis].scrollbar.el, this.classNames.hover);\n if (this.options.autoHide) {\n this.hideScrollbar(axis);\n }\n };\n /**\n * on scrollbar handle drag movement starts\n */\n SimpleBarCore.prototype.onDragStart = function (e, axis) {\n var _a;\n if (axis === void 0) { axis = 'y'; }\n var elDocument = getElementDocument(this.el);\n var elWindow = getElementWindow(this.el);\n var scrollbar = this.axis[axis].scrollbar;\n // Measure how far the user's mouse is from the top of the scrollbar drag handle.\n var eventOffset = axis === 'y' ? e.pageY : e.pageX;\n this.axis[axis].dragOffset =\n eventOffset - (((_a = scrollbar.rect) === null || _a === void 0 ? void 0 : _a[this.axis[axis].offsetAttr]) || 0);\n this.draggedAxis = axis;\n addClasses(this.el, this.classNames.dragging);\n elDocument.addEventListener('mousemove', this.drag, true);\n elDocument.addEventListener('mouseup', this.onEndDrag, true);\n if (this.removePreventClickId === null) {\n elDocument.addEventListener('click', this.preventClick, true);\n elDocument.addEventListener('dblclick', this.preventClick, true);\n }\n else {\n elWindow.clearTimeout(this.removePreventClickId);\n this.removePreventClickId = null;\n }\n };\n SimpleBarCore.prototype.onTrackClick = function (e, axis) {\n var _this = this;\n var _a, _b, _c, _d;\n if (axis === void 0) { axis = 'y'; }\n var currentAxis = this.axis[axis];\n if (!this.options.clickOnTrack ||\n !currentAxis.scrollbar.el ||\n !this.contentWrapperEl)\n return;\n // Preventing the event's default to trigger click underneath\n e.preventDefault();\n var elWindow = getElementWindow(this.el);\n this.axis[axis].scrollbar.rect =\n currentAxis.scrollbar.el.getBoundingClientRect();\n var scrollbar = this.axis[axis].scrollbar;\n var scrollbarOffset = (_b = (_a = scrollbar.rect) === null || _a === void 0 ? void 0 : _a[this.axis[axis].offsetAttr]) !== null && _b !== void 0 ? _b : 0;\n var hostSize = parseInt((_d = (_c = this.elStyles) === null || _c === void 0 ? void 0 : _c[this.axis[axis].sizeAttr]) !== null && _d !== void 0 ? _d : '0px', 10);\n var scrolled = this.contentWrapperEl[this.axis[axis].scrollOffsetAttr];\n var t = axis === 'y'\n ? this.mouseY - scrollbarOffset\n : this.mouseX - scrollbarOffset;\n var dir = t < 0 ? -1 : 1;\n var scrollSize = dir === -1 ? scrolled - hostSize : scrolled + hostSize;\n var speed = 40;\n var scrollTo = function () {\n if (!_this.contentWrapperEl)\n return;\n if (dir === -1) {\n if (scrolled > scrollSize) {\n scrolled -= speed;\n _this.contentWrapperEl[_this.axis[axis].scrollOffsetAttr] = scrolled;\n elWindow.requestAnimationFrame(scrollTo);\n }\n }\n else {\n if (scrolled < scrollSize) {\n scrolled += speed;\n _this.contentWrapperEl[_this.axis[axis].scrollOffsetAttr] = scrolled;\n elWindow.requestAnimationFrame(scrollTo);\n }\n }\n };\n scrollTo();\n };\n /**\n * Getter for content element\n */\n SimpleBarCore.prototype.getContentElement = function () {\n return this.contentEl;\n };\n /**\n * Getter for original scrolling element\n */\n SimpleBarCore.prototype.getScrollElement = function () {\n return this.contentWrapperEl;\n };\n SimpleBarCore.prototype.removeListeners = function () {\n var elWindow = getElementWindow(this.el);\n // Event listeners\n this.el.removeEventListener('mouseenter', this.onMouseEnter);\n this.el.removeEventListener('pointerdown', this.onPointerEvent, true);\n this.el.removeEventListener('mousemove', this.onMouseMove);\n this.el.removeEventListener('mouseleave', this.onMouseLeave);\n if (this.contentWrapperEl) {\n this.contentWrapperEl.removeEventListener('scroll', this.onScroll);\n }\n elWindow.removeEventListener('resize', this.onWindowResize);\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n // Cancel all debounced functions\n this.onMouseMove.cancel();\n this.onWindowResize.cancel();\n this.onStopScrolling.cancel();\n this.onMouseEntered.cancel();\n };\n /**\n * Remove all listeners from DOM nodes\n */\n SimpleBarCore.prototype.unMount = function () {\n this.removeListeners();\n };\n /**\n * Check if mouse is within bounds\n */\n SimpleBarCore.prototype.isWithinBounds = function (bbox) {\n return (this.mouseX >= bbox.left &&\n this.mouseX <= bbox.left + bbox.width &&\n this.mouseY >= bbox.top &&\n this.mouseY <= bbox.top + bbox.height);\n };\n /**\n * Find element children matches query\n */\n SimpleBarCore.prototype.findChild = function (el, query) {\n var matches = el.matches ||\n el.webkitMatchesSelector ||\n el.mozMatchesSelector ||\n el.msMatchesSelector;\n return Array.prototype.filter.call(el.children, function (child) {\n return matches.call(child, query);\n })[0];\n };\n SimpleBarCore.rtlHelpers = null;\n SimpleBarCore.defaultOptions = {\n forceVisible: false,\n clickOnTrack: true,\n scrollbarMinSize: 25,\n scrollbarMaxSize: 0,\n ariaLabel: 'scrollable content',\n classNames: {\n contentEl: 'simplebar-content',\n contentWrapper: 'simplebar-content-wrapper',\n offset: 'simplebar-offset',\n mask: 'simplebar-mask',\n wrapper: 'simplebar-wrapper',\n placeholder: 'simplebar-placeholder',\n scrollbar: 'simplebar-scrollbar',\n track: 'simplebar-track',\n heightAutoObserverWrapperEl: 'simplebar-height-auto-observer-wrapper',\n heightAutoObserverEl: 'simplebar-height-auto-observer',\n visible: 'simplebar-visible',\n horizontal: 'simplebar-horizontal',\n vertical: 'simplebar-vertical',\n hover: 'simplebar-hover',\n dragging: 'simplebar-dragging',\n scrolling: 'simplebar-scrolling',\n scrollable: 'simplebar-scrollable',\n mouseEntered: 'simplebar-mouse-entered'\n },\n scrollableNode: null,\n contentNode: null,\n autoHide: true\n };\n /**\n * Static functions\n */\n SimpleBarCore.getOptions = getOptions;\n SimpleBarCore.helpers = helpers;\n return SimpleBarCore;\n}());\n\nexport { SimpleBarCore as default };\n//# sourceMappingURL=index.mjs.map\n","/**\n * simplebar-react - v3.2.4\n * React component for SimpleBar\n * https://grsmto.github.io/simplebar/\n *\n * Made by Adrien Denat\n * Under MIT License\n */\n\nimport * as React from 'react';\nimport SimpleBarCore from 'simplebar-core';\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\n\nvar SimpleBar = React.forwardRef(function (_a, ref) {\n var children = _a.children, _b = _a.scrollableNodeProps, scrollableNodeProps = _b === void 0 ? {} : _b, otherProps = __rest(_a, [\"children\", \"scrollableNodeProps\"]);\n var elRef = React.useRef();\n var scrollableNodeRef = React.useRef();\n var contentNodeRef = React.useRef();\n var options = {};\n var rest = {};\n Object.keys(otherProps).forEach(function (key) {\n if (Object.prototype.hasOwnProperty.call(SimpleBarCore.defaultOptions, key)) {\n options[key] = otherProps[key];\n }\n else {\n rest[key] = otherProps[key];\n }\n });\n var classNames = __assign(__assign({}, SimpleBarCore.defaultOptions.classNames), options.classNames);\n var scrollableNodeFullProps = __assign(__assign({}, scrollableNodeProps), { className: \"\".concat(classNames.contentWrapper).concat(scrollableNodeProps.className ? \" \".concat(scrollableNodeProps.className) : ''), tabIndex: 0, role: 'region', 'aria-label': options.ariaLabel || SimpleBarCore.defaultOptions.ariaLabel });\n React.useEffect(function () {\n var instance;\n scrollableNodeRef.current = scrollableNodeFullProps.ref\n ? scrollableNodeFullProps.ref.current\n : scrollableNodeRef.current;\n if (elRef.current) {\n instance = new SimpleBarCore(elRef.current, __assign(__assign(__assign({}, options), (scrollableNodeRef.current && {\n scrollableNode: scrollableNodeRef.current\n })), (contentNodeRef.current && {\n contentNode: contentNodeRef.current\n })));\n if (typeof ref === 'function') {\n ref(instance);\n }\n else if (ref) {\n ref.current = instance;\n }\n }\n return function () {\n instance === null || instance === void 0 ? void 0 : instance.unMount();\n instance = null;\n if (typeof ref === 'function') {\n ref(null);\n }\n };\n }, []);\n return (React.createElement(\"div\", __assign({ \"data-simplebar\": \"init\", ref: elRef }, rest),\n React.createElement(\"div\", { className: classNames.wrapper },\n React.createElement(\"div\", { className: classNames.heightAutoObserverWrapperEl },\n React.createElement(\"div\", { className: classNames.heightAutoObserverEl })),\n React.createElement(\"div\", { className: classNames.mask },\n React.createElement(\"div\", { className: classNames.offset }, typeof children === 'function' ? (children({\n scrollableNodeRef: scrollableNodeRef,\n scrollableNodeProps: __assign(__assign({}, scrollableNodeFullProps), { ref: scrollableNodeRef }),\n contentNodeRef: contentNodeRef,\n contentNodeProps: {\n className: classNames.contentEl,\n ref: contentNodeRef\n }\n })) : (React.createElement(\"div\", __assign({}, scrollableNodeFullProps),\n React.createElement(\"div\", { className: classNames.contentEl }, children))))),\n React.createElement(\"div\", { className: classNames.placeholder })),\n React.createElement(\"div\", { className: \"\".concat(classNames.track, \" simplebar-horizontal\") },\n React.createElement(\"div\", { className: classNames.scrollbar })),\n React.createElement(\"div\", { className: \"\".concat(classNames.track, \" simplebar-vertical\") },\n React.createElement(\"div\", { className: classNames.scrollbar }))));\n});\nSimpleBar.displayName = 'SimpleBar';\n\nexport { SimpleBar as default };\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","var debounce = require('./debounce'),\n isObject = require('./isObject');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nmodule.exports = throttle;\n","import React,{isValidElement,createRef,cloneElement,PureComponent,Component,forwardRef,useRef,useState,useCallback,useEffect}from'react';import {findDOMNode}from'react-dom';import debounce from'lodash/debounce';import throttle from'lodash/throttle';/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\ntypeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};var patchResizeCallback = function (resizeCallback, refreshMode, refreshRate, refreshOptions) {\n switch (refreshMode) {\n case 'debounce':\n return debounce(resizeCallback, refreshRate, refreshOptions);\n case 'throttle':\n return throttle(resizeCallback, refreshRate, refreshOptions);\n default:\n return resizeCallback;\n }\n};\nvar isFunction = function (fn) { return typeof fn === 'function'; };\nvar isSSR = function () { return typeof window === 'undefined'; };\nvar isDOMElement = function (element) {\n return element instanceof Element || element instanceof HTMLDocument;\n};var ResizeDetector = /** @class */ (function (_super) {\n __extends(ResizeDetector, _super);\n function ResizeDetector(props) {\n var _this = _super.call(this, props) || this;\n _this.cancelHandler = function () {\n if (_this.resizeHandler && _this.resizeHandler.cancel) {\n // cancel debounced handler\n _this.resizeHandler.cancel();\n _this.resizeHandler = null;\n }\n };\n _this.attachObserver = function () {\n var _a = _this.props, targetRef = _a.targetRef, observerOptions = _a.observerOptions;\n if (isSSR()) {\n return;\n }\n if (targetRef && targetRef.current) {\n _this.targetRef.current = targetRef.current;\n }\n var element = _this.getElement();\n if (!element) {\n // can't find element to observe\n return;\n }\n if (_this.observableElement && _this.observableElement === element) {\n // element is already observed\n return;\n }\n _this.observableElement = element;\n _this.resizeObserver.observe(element, observerOptions);\n };\n _this.getElement = function () {\n var _a = _this.props, querySelector = _a.querySelector, targetDomEl = _a.targetDomEl;\n if (isSSR())\n return null;\n // in case we pass a querySelector\n if (querySelector)\n return document.querySelector(querySelector);\n // in case we pass a DOM element\n if (targetDomEl && isDOMElement(targetDomEl))\n return targetDomEl;\n // in case we pass a React ref using React.createRef()\n if (_this.targetRef && isDOMElement(_this.targetRef.current))\n return _this.targetRef.current;\n // the worse case when we don't receive any information from the parent and the library doesn't add any wrappers\n // we have to use a deprecated `findDOMNode` method in order to find a DOM element to attach to\n var currentElement = findDOMNode(_this);\n if (!currentElement)\n return null;\n var renderType = _this.getRenderType();\n switch (renderType) {\n case 'renderProp':\n return currentElement;\n case 'childFunction':\n return currentElement;\n case 'child':\n return currentElement;\n case 'childArray':\n return currentElement;\n default:\n return currentElement.parentElement;\n }\n };\n _this.createResizeHandler = function (entries) {\n var _a = _this.props, _b = _a.handleWidth, handleWidth = _b === void 0 ? true : _b, _c = _a.handleHeight, handleHeight = _c === void 0 ? true : _c, onResize = _a.onResize;\n if (!handleWidth && !handleHeight)\n return;\n var notifyResize = function (_a) {\n var width = _a.width, height = _a.height;\n if (_this.state.width === width && _this.state.height === height) {\n // skip if dimensions haven't changed\n return;\n }\n if ((_this.state.width === width && !handleHeight) || (_this.state.height === height && !handleWidth)) {\n // process `handleHeight/handleWidth` props\n return;\n }\n onResize === null || onResize === void 0 ? void 0 : onResize(width, height);\n _this.setState({ width: width, height: height });\n };\n entries.forEach(function (entry) {\n var _a = (entry && entry.contentRect) || {}, width = _a.width, height = _a.height;\n var shouldSetSize = !_this.skipOnMount && !isSSR();\n if (shouldSetSize) {\n notifyResize({ width: width, height: height });\n }\n _this.skipOnMount = false;\n });\n };\n _this.getRenderType = function () {\n var _a = _this.props, render = _a.render, children = _a.children;\n if (isFunction(render)) {\n // DEPRECATED. Use `Child Function Pattern` instead\n return 'renderProp';\n }\n if (isFunction(children)) {\n return 'childFunction';\n }\n if (isValidElement(children)) {\n return 'child';\n }\n if (Array.isArray(children)) {\n // DEPRECATED. Wrap children with a single parent\n return 'childArray';\n }\n // DEPRECATED. Use `Child Function Pattern` instead\n return 'parent';\n };\n var skipOnMount = props.skipOnMount, refreshMode = props.refreshMode, _a = props.refreshRate, refreshRate = _a === void 0 ? 1000 : _a, refreshOptions = props.refreshOptions;\n _this.state = {\n width: undefined,\n height: undefined\n };\n _this.sizeRef = {\n current: _this.state\n };\n _this.skipOnMount = skipOnMount;\n _this.targetRef = createRef();\n _this.observableElement = null;\n if (isSSR()) {\n return _this;\n }\n _this.resizeHandler = patchResizeCallback(_this.createResizeHandler, refreshMode, refreshRate, refreshOptions);\n _this.resizeObserver = new window.ResizeObserver(_this.resizeHandler);\n return _this;\n }\n ResizeDetector.prototype.componentDidMount = function () {\n this.attachObserver();\n };\n ResizeDetector.prototype.componentDidUpdate = function () {\n this.attachObserver();\n this.sizeRef.current = this.state;\n };\n ResizeDetector.prototype.componentWillUnmount = function () {\n if (isSSR()) {\n return;\n }\n this.observableElement = null;\n this.resizeObserver.disconnect();\n this.cancelHandler();\n };\n ResizeDetector.prototype.render = function () {\n var _a = this.props, render = _a.render, children = _a.children, _b = _a.nodeType, WrapperTag = _b === void 0 ? 'div' : _b;\n var _c = this.state, width = _c.width, height = _c.height;\n var childProps = { width: width, height: height, targetRef: this.targetRef };\n var renderType = this.getRenderType();\n switch (renderType) {\n case 'renderProp':\n return render === null || render === void 0 ? void 0 : render(childProps);\n case 'childFunction': {\n var childFunction = children;\n return childFunction === null || childFunction === void 0 ? void 0 : childFunction(childProps);\n }\n case 'child': {\n // @TODO bug prone logic\n var child = children;\n if (child.type && typeof child.type === 'string') {\n // child is a native DOM elements such as div, span etc\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n childProps.targetRef; var nativeProps = __rest(childProps, [\"targetRef\"]);\n return cloneElement(child, nativeProps);\n }\n // class or functional component otherwise\n return cloneElement(child, childProps);\n }\n case 'childArray': {\n var childArray = children;\n return childArray.map(function (el) { return !!el && cloneElement(el, childProps); });\n }\n default:\n return React.createElement(WrapperTag, null);\n }\n };\n return ResizeDetector;\n}(PureComponent));function withResizeDetector(ComponentInner, options) {\n if (options === void 0) { options = {}; }\n var ResizeDetectorHOC = /** @class */ (function (_super) {\n __extends(ResizeDetectorHOC, _super);\n function ResizeDetectorHOC() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.ref = createRef();\n return _this;\n }\n ResizeDetectorHOC.prototype.render = function () {\n var _a = this.props, forwardedRef = _a.forwardedRef, rest = __rest(_a, [\"forwardedRef\"]);\n var targetRef = forwardedRef !== null && forwardedRef !== void 0 ? forwardedRef : this.ref;\n return (React.createElement(ResizeDetector, __assign({}, options, { targetRef: targetRef }),\n React.createElement(ComponentInner, __assign({ targetRef: targetRef }, rest))));\n };\n return ResizeDetectorHOC;\n }(Component));\n function forwardRefWrapper(props, ref) {\n return React.createElement(ResizeDetectorHOC, __assign({}, props, { forwardedRef: ref }));\n }\n var name = ComponentInner.displayName || ComponentInner.name;\n forwardRefWrapper.displayName = \"withResizeDetector(\".concat(name, \")\");\n return forwardRef(forwardRefWrapper);\n}function useResizeDetector(_a) {\n var _b = _a === void 0 ? {} : _a, _c = _b.skipOnMount, skipOnMount = _c === void 0 ? false : _c, refreshMode = _b.refreshMode, _d = _b.refreshRate, refreshRate = _d === void 0 ? 1000 : _d, refreshOptions = _b.refreshOptions, _e = _b.handleWidth, handleWidth = _e === void 0 ? true : _e, _f = _b.handleHeight, handleHeight = _f === void 0 ? true : _f, targetRef = _b.targetRef, observerOptions = _b.observerOptions, onResize = _b.onResize;\n var skipResize = useRef(skipOnMount);\n var _g = useState({\n width: undefined,\n height: undefined\n }), size = _g[0], setSize = _g[1];\n // we are going to use this ref to store the last element that was passed to the hook\n var _h = useState((targetRef === null || targetRef === void 0 ? void 0 : targetRef.current) || null), refElement = _h[0], setRefElement = _h[1];\n // if targetRef is passed, we need to update the refElement\n // we have to use setTimeout because ref get assigned after the hook is called\n // in the future releases we are going to remove targetRef and force users to use ref returned by the hook\n if (targetRef) {\n setTimeout(function () {\n if (targetRef.current !== refElement) {\n setRefElement(targetRef.current);\n }\n }, 0);\n }\n // this is a callback that will be called every time the ref is changed\n // we call setState inside to trigger rerender\n var onRefChange = useCallback(function (node) {\n if (node !== refElement) {\n setRefElement(node);\n }\n }, [refElement]);\n // adding `current` to make it compatible with useRef shape\n onRefChange.current = refElement;\n var shouldSetSize = useCallback(function (prevSize, nextSize) {\n if (prevSize.width === nextSize.width && prevSize.height === nextSize.height) {\n // skip if dimensions haven't changed\n return false;\n }\n if ((prevSize.width === nextSize.width && !handleHeight) ||\n (prevSize.height === nextSize.height && !handleWidth)) {\n // process `handleHeight/handleWidth` props\n return false;\n }\n return true;\n }, [handleWidth, handleHeight]);\n var resizeCallback = useCallback(function (entries) {\n if (!handleWidth && !handleHeight)\n return;\n if (skipResize.current) {\n skipResize.current = false;\n return;\n }\n entries.forEach(function (entry) {\n var _a = (entry === null || entry === void 0 ? void 0 : entry.contentRect) || {}, width = _a.width, height = _a.height;\n setSize(function (prevSize) {\n if (!shouldSetSize(prevSize, { width: width, height: height }))\n return prevSize;\n return { width: width, height: height };\n });\n });\n }, [handleWidth, handleHeight, skipResize, shouldSetSize]);\n var resizeHandler = useCallback(patchResizeCallback(resizeCallback, refreshMode, refreshRate, refreshOptions), [\n resizeCallback,\n refreshMode,\n refreshRate,\n refreshOptions\n ]);\n // on refElement change\n useEffect(function () {\n var resizeObserver;\n if (refElement) {\n resizeObserver = new window.ResizeObserver(resizeHandler);\n resizeObserver.observe(refElement, observerOptions);\n }\n else {\n if (size.width || size.height) {\n setSize({ width: undefined, height: undefined });\n }\n }\n return function () {\n var _a, _b, _c;\n (_a = resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.disconnect) === null || _a === void 0 ? void 0 : _a.call(resizeObserver);\n (_c = (_b = resizeHandler).cancel) === null || _c === void 0 ? void 0 : _c.call(_b);\n };\n }, [resizeHandler, refElement]);\n useEffect(function () {\n onResize === null || onResize === void 0 ? void 0 : onResize(size.width, size.height);\n }, [size]);\n return __assign({ ref: onRefChange }, size);\n}export{ResizeDetector as default,useResizeDetector,withResizeDetector};//# sourceMappingURL=index.esm.js.map\n","import { ReactNode } from 'react';\nimport { TableCellProps, TooltipProps } from '@mui/material';\nimport { TablePaginationProps } from '../TablePagination/TablePagination.types';\nimport { CommonSxProps } from '../@types';\nimport { TableTopHeadProps } from '../TableTopHead';\n\n//--------------------------------------------------------------------------------------------------------------------\n\nexport interface TableItem {\n [key: string]: any;\n}\n\n//--------------------------------------------------------------------------------------------------------------------\n\nexport interface TableColumn<T = TableItem> {\n id: string;\n type?: 'text' | 'number' | 'date' | 'datetime' | 'img' | 'button' | 'buttons' | 'check';\n label?: ReactNode;\n name?: string;\n align?: TableCellProps['align'];\n width?: string | number;\n minWidth?: string | number;\n ellipsis?: boolean;\n dateFormat?: string;\n tooltipProps?: Omit<TooltipProps, 'children' | 'title'>;\n display?: { xs?: boolean; sm?: boolean; md?: boolean; lg?: boolean; xl?: boolean };\n head?: {\n className?: CommonSxProps['className'];\n style?: CommonSxProps['style'];\n sx?: CommonSxProps['sx'];\n onGetClassName?(): CommonSxProps['className'];\n onGetStyle?(): CommonSxProps['style'];\n onGetSx?(): CommonSxProps['sx'];\n onRender?(): ReactNode;\n };\n footer?: {\n value?: ReactNode;\n className?: CommonSxProps['className'];\n style?: CommonSxProps['style'];\n sx?: CommonSxProps['sx'];\n onGetClassName?(): CommonSxProps['className'];\n onGetStyle?(): CommonSxProps['style'];\n onGetSx?(): CommonSxProps['sx'];\n onRender?(): ReactNode;\n };\n className?: CommonSxProps['className'];\n style?: CommonSxProps['style'];\n sx?: CommonSxProps['sx'];\n onGetClassName?(item: T, index: number): CommonSxProps['className'];\n onGetStyle?(item: T, index: number): CommonSxProps['style'];\n onGetSx?(item: T, index: number): CommonSxProps['sx'];\n onHide?(item: T, index: number): boolean;\n onGetTooltip?(item: T, index: number): ReactNode;\n onRender?(item: T, index: number): ReactNode;\n onClick?(item: T, index: number): void;\n onInitChecked?(item: T): boolean;\n onCheckDisabled?(item: T): boolean;\n onCheckChange?(item: T, checked: boolean): void;\n onCheckDisabledChange?(item: T, checkDisabled: boolean): void;\n}\n\n//--------------------------------------------------------------------------------------------------------------------\n\nexport interface TableProps<T = TableItem> extends CommonSxProps {\n caption?: ReactNode;\n topHeadRows?: TableTopHeadProps['rows'];\n columns?: (TableColumn<T> | false | undefined | null)[];\n defaultAlign?: TableCellProps['align'];\n defaultEllipsis?: boolean;\n stickyHeader?: boolean;\n items?: T[];\n paging?: TablePaginationProps['paging'];\n pagingAlign?: TablePaginationProps['align'];\n height?: string | number;\n maxHeight?: string | number;\n minHeight?: string | number;\n fullHeight?: boolean;\n showOddColor?: boolean;\n showEvenColor?: boolean;\n cellPadding?: string | number;\n footer?: boolean;\n noData?: ReactNode;\n pagination?: {\n className?: CommonSxProps['className'];\n style?: CommonSxProps['style'];\n sx?: CommonSxProps['sx'];\n };\n sortable?: boolean;\n onClick?(item: T, index: number): void;\n onGetBodyRowSx?(item: T, index: number): CommonSxProps['sx'] | undefined;\n onPageChange?(page: number): void;\n onSortChange?(items: T[]): void;\n onCheckChange?(columnId: string, items: T[]): void;\n}\n\nexport const TableDefaultProps: Pick<TableProps, 'defaultAlign' | 'pagingAlign' | 'cellPadding'> = {\n defaultAlign: 'left',\n pagingAlign: 'center',\n cellPadding: 13,\n};\n\n//--------------------------------------------------------------------------------------------------------------------\n\nexport interface TableCommands<T = TableItem> {\n getColumns(): TableProps<T>['columns'];\n setColumns(columns: TableProps<T>['columns']): void;\n getItems(): TableProps<T>['items'];\n getPaging(): TableProps<T>['paging'];\n setItemsPaging(items: TableProps<T>['items'], paging: TableProps<T>['paging']): void;\n resetSort(): void;\n getCheckedItems(columnId: string): T[];\n scrollToTop(): void;\n}\n","import { styled, TableRow, lighten } from '@mui/material';\n\nexport const StyledBodyRow = styled(TableRow)(({ theme }) => ({\n '&.odd-color:nth-of-type(odd):not(:hover)': {\n backgroundColor: lighten(theme.palette.action.hover, 0.4),\n },\n '&.even-color:nth-of-type(even):not(:hover)': {\n backgroundColor: lighten(theme.palette.action.hover, 0.4),\n },\n}));\n\nexport const StyledNoDataDiv = styled('div')`\n text-align: center;\n padding: 30px 0;\n font-weight: 500;\n font-size: 13px;\n color: #94a0b2;\n opacity: 0.8;\n\n .material-icons {\n font-size: 40px;\n margin-bottom: 5px;\n }\n`;\n","import { TableCellProps, TableRowProps } from '@mui/material';\nimport { TableColumn, TableItem, TableProps } from '../Table';\nimport { TableBodyCellProps } from '../TableBodyCell';\n\nexport interface TableBodyRowProps extends Omit<TableRowProps, 'id' | 'onClick'> {\n id: string | number;\n index: number;\n defaultAlign?: TableCellProps['align'];\n defaultEllipsis?: boolean;\n sortable?: boolean;\n columns: TableColumn<TableItem>[];\n item: TableItem;\n onClick: TableProps['onClick'];\n onCheckChange: TableBodyCellProps['onCheckChange'];\n}\n\nexport const TableBodyRowDefaultProps = {};\n","import { useMemo, useLayoutEffect, useEffect, useRef, useCallback } from 'react';\n\nfunction useCombinedRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n return useMemo(() => node => {\n refs.forEach(ref => ref(node));\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n refs);\n}\n\n// https://github.com/facebook/react/blob/master/packages/shared/ExecutionEnvironment.js\nconst canUseDOM = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined';\n\nfunction isWindow(element) {\n const elementString = Object.prototype.toString.call(element);\n return elementString === '[object Window]' || // In Electron context the Window object serializes to [object global]\n elementString === '[object global]';\n}\n\nfunction isNode(node) {\n return 'nodeType' in node;\n}\n\nfunction getWindow(target) {\n var _target$ownerDocument, _target$ownerDocument2;\n\n if (!target) {\n return window;\n }\n\n if (isWindow(target)) {\n return target;\n }\n\n if (!isNode(target)) {\n return window;\n }\n\n return (_target$ownerDocument = (_target$ownerDocument2 = target.ownerDocument) == null ? void 0 : _target$ownerDocument2.defaultView) != null ? _target$ownerDocument : window;\n}\n\nfunction isDocument(node) {\n const {\n Document\n } = getWindow(node);\n return node instanceof Document;\n}\n\nfunction isHTMLElement(node) {\n if (isWindow(node)) {\n return false;\n }\n\n return node instanceof getWindow(node).HTMLElement;\n}\n\nfunction isSVGElement(node) {\n return node instanceof getWindow(node).SVGElement;\n}\n\nfunction getOwnerDocument(target) {\n if (!target) {\n return document;\n }\n\n if (isWindow(target)) {\n return target.document;\n }\n\n if (!isNode(target)) {\n return document;\n }\n\n if (isDocument(target)) {\n return target;\n }\n\n if (isHTMLElement(target) || isSVGElement(target)) {\n return target.ownerDocument;\n }\n\n return document;\n}\n\n/**\r\n * A hook that resolves to useEffect on the server and useLayoutEffect on the client\r\n * @param callback {function} Callback function that is invoked when the dependencies of the hook change\r\n */\n\nconst useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;\n\nfunction useEvent(handler) {\n const handlerRef = useRef(handler);\n useIsomorphicLayoutEffect(() => {\n handlerRef.current = handler;\n });\n return useCallback(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return handlerRef.current == null ? void 0 : handlerRef.current(...args);\n }, []);\n}\n\nfunction useInterval() {\n const intervalRef = useRef(null);\n const set = useCallback((listener, duration) => {\n intervalRef.current = setInterval(listener, duration);\n }, []);\n const clear = useCallback(() => {\n if (intervalRef.current !== null) {\n clearInterval(intervalRef.current);\n intervalRef.current = null;\n }\n }, []);\n return [set, clear];\n}\n\nfunction useLatestValue(value, dependencies) {\n if (dependencies === void 0) {\n dependencies = [value];\n }\n\n const valueRef = useRef(value);\n useIsomorphicLayoutEffect(() => {\n if (valueRef.current !== value) {\n valueRef.current = value;\n }\n }, dependencies);\n return valueRef;\n}\n\nfunction useLazyMemo(callback, dependencies) {\n const valueRef = useRef();\n return useMemo(() => {\n const newValue = callback(valueRef.current);\n valueRef.current = newValue;\n return newValue;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [...dependencies]);\n}\n\nfunction useNodeRef(onChange) {\n const onChangeHandler = useEvent(onChange);\n const node = useRef(null);\n const setNodeRef = useCallback(element => {\n if (element !== node.current) {\n onChangeHandler == null ? void 0 : onChangeHandler(element, node.current);\n }\n\n node.current = element;\n }, //eslint-disable-next-line\n []);\n return [node, setNodeRef];\n}\n\nfunction usePrevious(value) {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref.current;\n}\n\nlet ids = {};\nfunction useUniqueId(prefix, value) {\n return useMemo(() => {\n if (value) {\n return value;\n }\n\n const id = ids[prefix] == null ? 0 : ids[prefix] + 1;\n ids[prefix] = id;\n return prefix + \"-\" + id;\n }, [prefix, value]);\n}\n\nfunction createAdjustmentFn(modifier) {\n return function (object) {\n for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n adjustments[_key - 1] = arguments[_key];\n }\n\n return adjustments.reduce((accumulator, adjustment) => {\n const entries = Object.entries(adjustment);\n\n for (const [key, valueAdjustment] of entries) {\n const value = accumulator[key];\n\n if (value != null) {\n accumulator[key] = value + modifier * valueAdjustment;\n }\n }\n\n return accumulator;\n }, { ...object\n });\n };\n}\n\nconst add = /*#__PURE__*/createAdjustmentFn(1);\nconst subtract = /*#__PURE__*/createAdjustmentFn(-1);\n\nfunction hasViewportRelativeCoordinates(event) {\n return 'clientX' in event && 'clientY' in event;\n}\n\nfunction isKeyboardEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n KeyboardEvent\n } = getWindow(event.target);\n return KeyboardEvent && event instanceof KeyboardEvent;\n}\n\nfunction isTouchEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n TouchEvent\n } = getWindow(event.target);\n return TouchEvent && event instanceof TouchEvent;\n}\n\n/**\r\n * Returns the normalized x and y coordinates for mouse and touch events.\r\n */\n\nfunction getEventCoordinates(event) {\n if (isTouchEvent(event)) {\n if (event.touches && event.touches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.touches[0];\n return {\n x,\n y\n };\n } else if (event.changedTouches && event.changedTouches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.changedTouches[0];\n return {\n x,\n y\n };\n }\n }\n\n if (hasViewportRelativeCoordinates(event)) {\n return {\n x: event.clientX,\n y: event.clientY\n };\n }\n\n return null;\n}\n\nconst CSS = /*#__PURE__*/Object.freeze({\n Translate: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n x,\n y\n } = transform;\n return \"translate3d(\" + (x ? Math.round(x) : 0) + \"px, \" + (y ? Math.round(y) : 0) + \"px, 0)\";\n }\n\n },\n Scale: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n scaleX,\n scaleY\n } = transform;\n return \"scaleX(\" + scaleX + \") scaleY(\" + scaleY + \")\";\n }\n\n },\n Transform: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n return [CSS.Translate.toString(transform), CSS.Scale.toString(transform)].join(' ');\n }\n\n },\n Transition: {\n toString(_ref) {\n let {\n property,\n duration,\n easing\n } = _ref;\n return property + \" \" + duration + \"ms \" + easing;\n }\n\n }\n});\n\nconst SELECTOR = 'a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]';\nfunction findFirstFocusableNode(element) {\n if (element.matches(SELECTOR)) {\n return element;\n }\n\n return element.querySelector(SELECTOR);\n}\n\nexport { CSS, add, canUseDOM, findFirstFocusableNode, getEventCoordinates, getOwnerDocument, getWindow, hasViewportRelativeCoordinates, isDocument, isHTMLElement, isKeyboardEvent, isNode, isSVGElement, isTouchEvent, isWindow, subtract, useCombinedRefs, useEvent, useInterval, useIsomorphicLayoutEffect, useLatestValue, useLazyMemo, useNodeRef, usePrevious, useUniqueId };\n//# sourceMappingURL=utilities.esm.js.map\n","const empty = function (v: any) {\n let result = false;\n if (v == null) {\n result = true;\n } else if (typeof v === 'string') {\n result = v === '';\n } else if (typeof v === 'object') {\n if (Array.isArray(v)) {\n result = v.length === 0;\n } else if (!(v instanceof Date)) {\n result = Object.entries(v).length === 0;\n }\n }\n return result;\n};\n\nconst notEmpty = function (v: any) {\n return !empty(v);\n};\n\nconst equal = (v1: any, v2: any): boolean => {\n if (v1 === v2) return true;\n if (typeof v1 !== typeof v2) return false;\n if (v1 == null || v2 == null) return false;\n if (Array.isArray(v1) && Array.isArray(v2)) {\n if (v1.length !== v2.length) return false;\n for (let i = 0; i < v1.length; i += 1) {\n if (v1[i] !== v2[i]) return false;\n }\n } else {\n return v1 === v2;\n }\n return true;\n};\n\nexport { empty, notEmpty, equal };\n","export function numberWithThousandSeparator(x: string | number) {\n return x.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n}\n","import { TableColumn } from '../Table/Table.types';\nimport { CommonSxProps } from '../@types';\nimport { TypographyProps } from '@mui/material';\n\nexport function getTableColumnAlign(column: TableColumn, defaultAlign: TableColumn['align']): TableColumn['align'] {\n switch (column.type) {\n case 'number':\n return column.align ? column.align : 'right';\n default:\n return column.align || defaultAlign;\n }\n}\n\nexport function combineSx(...sx: (boolean | CommonSxProps['sx'])[]): CommonSxProps['sx'] {\n const finalSx: CommonSxProps['sx'] = [];\n if (Array.isArray(finalSx)) {\n sx.forEach((v) => v && finalSx.push(...(Array.isArray(v) ? v : [v])));\n }\n return finalSx;\n}\n\nexport function typographyColorToSxColor(color: TypographyProps['color']) {\n if (typeof color === 'string') {\n if (['primary', 'secondary', 'info', 'warning', 'error'].includes(color)) {\n return `${color}.main`;\n } else if (color === 'text') {\n return 'text.primary';\n } else {\n return color;\n }\n } else {\n return color;\n }\n}\n","import { TableColumn, TableItem } from '../Table';\nimport { TableBodyCellCommands } from '../TableBodyCell';\nimport { TableHeadCellCommands } from '../TableHeadCell';\n\nexport interface TableContextValue {\n menuOpen: boolean;\n openMenuId?: string;\n setMenuOpen(menuOpen: boolean, openMenuId?: string): void;\n setItemColumnChecked(item: TableItem, column: TableColumn, checked: boolean): void;\n setItemColumnCheckDisabled(item: TableItem, column: TableColumn, checkDisabled: boolean): void;\n setItemColumnCommands(item: TableItem, column: TableColumn, commands: TableBodyCellCommands): void;\n setHeadColumnChecked(column: TableColumn, checked: boolean): void;\n setHeadColumnCommands(column: TableColumn, commands: TableHeadCellCommands): void;\n}\n\nexport const TableContextDefaultValue: TableContextValue = {\n menuOpen: false,\n openMenuId: undefined,\n /* eslint-disable */\n setMenuOpen() {},\n setItemColumnChecked() {},\n setItemColumnCheckDisabled() {},\n setItemColumnCommands() {},\n setHeadColumnChecked() {},\n setHeadColumnCommands() {},\n /* eslint-enable */\n};\n","import { createContext } from 'react';\nimport { TableContextDefaultValue, TableContextValue } from './TableContext.types';\n\nconst TableContext = createContext<TableContextValue>(TableContextDefaultValue);\n\nexport default TableContext;\n","import TableContext from './TableContext';\nimport { TableContextValue } from './TableContext.types';\nimport { useContext } from 'react';\n\nexport default function useTableState(): TableContextValue {\n const value = useContext(TableContext);\n if (value === undefined) {\n throw new Error('useFormState should be used within TableContext.Provider');\n }\n return value;\n}\n","import React, { useCallback, useMemo } from 'react';\nimport classNames from 'classnames';\nimport { TableCell, styled } from '@mui/material';\nimport { TableCommonCellProps } from './TableCommonCell.types';\nimport { getTableColumnAlign } from '../@util';\nimport { CommonSxProps } from '../@types';\nimport useTableState from '../TableContext/useTableState';\n\nconst StyledTableCell = styled(TableCell)`\n &.ellipsis {\n position: relative;\n max-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n`;\n\nconst TableCommonCell: React.FC<TableCommonCellProps> = ({\n children,\n className: initClassName,\n style: initStyle,\n sx: initSx,\n type,\n column,\n defaultAlign,\n defaultEllipsis: initDefaultEllipsis,\n index,\n item,\n onClick,\n}) => {\n // Use ---------------------------------------------------------------------------------------------------------------\n\n const { menuOpen } = useTableState();\n\n // Memo --------------------------------------------------------------------------------------------------------------\n\n const align = useMemo(() => getTableColumnAlign(column, defaultAlign), [column, defaultAlign]);\n\n const ellipsis = useMemo(\n () =>\n type !== 'head' &&\n column.type !== 'img' &&\n column.type !== 'button' &&\n column.type !== 'buttons' &&\n (column.ellipsis != null ? column.ellipsis : !!initDefaultEllipsis),\n [type, column, initDefaultEllipsis]\n );\n\n const className = useMemo(() => {\n let className: CommonSxProps['className'];\n let getClassName: CommonSxProps['className'];\n\n switch (type) {\n case 'head':\n className = column.head?.className;\n getClassName = column.head?.onGetClassName ? column.head?.onGetClassName() : undefined;\n break;\n case 'body':\n className = column.className;\n if (item != null && index != null) {\n getClassName = column.onGetClassName ? column.onGetClassName(item, index) : undefined;\n }\n break;\n case 'footer':\n className = column.footer?.className;\n getClassName = column.footer?.onGetClassName ? column.footer?.onGetClassName() : undefined;\n break;\n }\n\n if (className || getClassName) {\n return classNames(initClassName, className, getClassName);\n } else {\n return initClassName;\n }\n }, [column, index, initClassName, item, type]);\n\n const style = useMemo(() => {\n let style: CommonSxProps['style'];\n let getStyle: CommonSxProps['style'];\n\n switch (type) {\n case 'head':\n style = column.head?.style;\n getStyle = column.head?.onGetStyle ? column.head?.onGetStyle() : undefined;\n break;\n case 'body':\n style = column.style;\n if (item != null && index != null) {\n getStyle = column.onGetStyle ? column.onGetStyle(item, index) : undefined;\n }\n break;\n case 'footer':\n style = column.footer?.style;\n getStyle = column.footer?.onGetStyle ? column.footer?.onGetStyle() : undefined;\n break;\n }\n\n return {\n ...initStyle,\n width: column.width,\n minWidth: column.minWidth,\n cursor: type === 'body' && (column.onClick || onClick) ? 'pointer' : undefined,\n ...style,\n ...getStyle,\n };\n }, [column, index, initStyle, item, onClick, type]);\n\n const sx = useMemo(() => {\n let sx: CommonSxProps['sx'];\n let getSx: CommonSxProps['sx'];\n let displaySx: CommonSxProps['sx'];\n\n switch (type) {\n case 'head':\n sx = column.head?.sx;\n getSx = column.head?.onGetSx ? column.head?.onGetSx() : undefined;\n break;\n case 'body':\n sx = column.sx;\n if (item != null && index != null) {\n getSx = column.onGetSx ? column.onGetSx(item, index) : undefined;\n }\n break;\n case 'footer':\n sx = column.footer?.sx;\n getSx = column.footer?.onGetSx ? column.footer?.onGetSx() : undefined;\n break;\n }\n\n if (column.display) {\n type DisplayValue = 'none' | 'table-cell';\n const display: {\n xs?: DisplayValue;\n sm?: DisplayValue;\n md?: DisplayValue;\n lg?: DisplayValue;\n xl?: DisplayValue;\n } = {};\n if (column.display.xs !== undefined) display.xs = column.display.xs ? 'table-cell' : 'none';\n if (column.display.sm !== undefined) display.sm = column.display.sm ? 'table-cell' : 'none';\n if (column.display.md !== undefined) display.md = column.display.md ? 'table-cell' : 'none';\n if (column.display.lg !== undefined) display.lg = column.display.lg ? 'table-cell' : 'none';\n if (column.display.xl !== undefined) display.xl = column.display.xl ? 'table-cell' : 'none';\n displaySx = { display };\n }\n\n const sxList = [];\n if (getSx) sxList.push(getSx);\n if (sx) sxList.push(sx);\n if (initSx) sxList.push(initSx);\n if (displaySx) sxList.push(displaySx);\n\n if (sxList.length > 0) {\n if (sxList.length === 1) {\n return sxList[0];\n } else {\n if (!sxList.find((sx) => typeof sx !== 'object')) {\n return sxList.reduce((res: object, sx: object) => {\n res = { ...res, ...sx };\n return res;\n }, {});\n }\n }\n }\n }, [column, index, initSx, item, type]);\n\n // Event Handler ---------------------------------------------------------------------------------------------------\n\n const handleClick = useCallback(\n (e: React.MouseEvent<HTMLTableCellElement>) => {\n if (\n !menuOpen &&\n column.type !== 'check' &&\n column.type !== 'button' &&\n column.type !== 'buttons' &&\n column.type !== 'img'\n ) {\n e.stopPropagation();\n\n if (type === 'body') {\n if (item != null && index != null) {\n if (column.onClick) {\n column.onClick(item, index);\n } else {\n if (onClick) onClick(item, index);\n }\n }\n }\n }\n },\n [menuOpen, type, item, index, column, onClick]\n );\n\n // Render ----------------------------------------------------------------------------------------------------------\n\n return (\n <StyledTableCell\n align={align}\n className={classNames(\n className,\n 'TableCommonCell',\n ellipsis && 'ellipsis',\n column.type ? `column-type-${column.type}` : false\n )}\n style={style}\n sx={sx}\n onClick={type === 'body' ? handleClick : undefined}\n >\n {children}\n </StyledTableCell>\n );\n};\n\nexport default TableCommonCell;\n","import React, { ReactNode, useCallback, useEffect, useMemo, useState } from 'react';\nimport { Box, Checkbox, styled, Tooltip } from '@mui/material';\nimport { TableBodyCellProps as Props } from './TableBodyCell.types';\nimport { getTableColumnAlign, numberWithThousandSeparator } from '../@util';\nimport TableCommonCell from '../TableCommonCell';\nimport { TableItem } from '../Table/Table.types';\nimport dayjs from 'dayjs';\nimport useTableState from '../TableContext/useTableState';\n\nconst StyledButtonsBox = styled(Box)`\n display: flex;\n flex-wrap: wrap;\n gap: 5px;\n`;\n\nconst TableBodyCell: React.FC<Props> = ({\n item,\n index,\n column,\n defaultAlign,\n defaultEllipsis,\n onClick,\n onCheckChange,\n}) => {\n // Use ---------------------------------------------------------------------------------------------------------------\n\n const { menuOpen, setItemColumnChecked, setItemColumnCheckDisabled, setItemColumnCommands } = useTableState();\n\n // State -------------------------------------------------------------------------------------------------------------\n\n const [checked, setChecked] = useState(false);\n const [checkDisabled, setCheckDisabled] = useState(false);\n\n // Effect ------------------------------------------------------------------------------------------------------------\n\n useEffect(() => {\n if (column.type === 'check') {\n setChecked(column.onInitChecked ? column.onInitChecked(item) : false);\n setCheckDisabled(column.onCheckDisabled ? column.onCheckDisabled(item) : false);\n }\n\n setItemColumnCommands(item, column, {\n setChecked(checked: boolean) {\n if (column.type === 'check') {\n setChecked(checked);\n }\n },\n setCheckDisabled(disabled: boolean) {\n if (column.type === 'check') {\n setCheckDisabled(disabled);\n }\n },\n });\n }, [column, item, setItemColumnCommands]);\n\n useEffect(() => {\n if (column.type === 'check') {\n setItemColumnChecked(item, column, checked);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [checked]);\n\n useEffect(() => {\n if (column.type === 'check') {\n setItemColumnCheckDisabled(item, column, checkDisabled);\n column.onCheckDisabledChange && column.onCheckDisabledChange(item, checkDisabled);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [checkDisabled]);\n\n // Memo --------------------------------------------------------------------------------------------------------------\n\n const isHidden = useMemo(() => (column.onHide ? column.onHide(item, index) : false), [column, index, item]);\n\n const buttonsBoxJustifyContent = useMemo(() => {\n switch (getTableColumnAlign(column, defaultAlign)) {\n case 'center':\n return 'center';\n case 'right':\n return 'end';\n default:\n return 'start';\n }\n }, [column, defaultAlign]);\n\n const data = useMemo(() => {\n let data;\n if (column.type !== 'check') {\n if (column.onRender) {\n data = column.onRender(item, index);\n } else if (column.name) {\n data = item[column.name];\n } else {\n data = undefined;\n }\n }\n\n switch (column.type) {\n case 'number':\n if (typeof data === 'string' || typeof data === 'number') {\n data = numberWithThousandSeparator(data);\n }\n break;\n case 'check':\n data = (\n <Box className='TableBoxyCell-check-box' onClick={menuOpen ? undefined : (e) => e.stopPropagation()}>\n <Checkbox\n checked={checked}\n disabled={checkDisabled}\n onChange={(e, newChecked) => {\n setChecked(newChecked);\n column.onCheckChange && column.onCheckChange(item, newChecked);\n onCheckChange && onCheckChange(item, column, newChecked);\n }}\n />\n </Box>\n );\n break;\n case 'button':\n data = (\n <Box className='TableBoxyCell-button-box' onClick={menuOpen ? undefined : (e) => e.stopPropagation()}>\n {data}\n </Box>\n );\n break;\n case 'buttons':\n data = (\n <StyledButtonsBox\n className='TableBodyCell-buttons-box'\n justifyContent={buttonsBoxJustifyContent}\n onClick={menuOpen ? undefined : (e) => e.stopPropagation()}\n >\n {data}\n </StyledButtonsBox>\n );\n break;\n }\n\n switch (column.type) {\n case 'img':\n {\n const img = <img src={data} style={{ maxWidth: '100%', verticalAlign: 'middle' }} alt='' />;\n const placement = column.tooltipProps?.placement ? column.tooltipProps?.placement : 'left';\n\n data = (\n <a\n href={data}\n target='_blank'\n onClick={\n menuOpen\n ? undefined\n : (e: React.MouseEvent<HTMLAnchorElement>) => {\n e.stopPropagation();\n }\n }\n >\n <Tooltip\n className='TableBodyCell-tooltip'\n title={<div style={{ paddingTop: 3, paddingBottom: 3 }}>{img}</div>}\n {...column.tooltipProps}\n placement={placement}\n >\n {img}\n </Tooltip>\n </a>\n );\n }\n break;\n case 'date':\n if (data) {\n data = dayjs(data, column.dateFormat).format('YYYY-MM-DD');\n }\n break;\n case 'datetime':\n if (data) {\n data = dayjs(data, column.dateFormat).format('YYYY-MM-DD HH:mm:ss');\n }\n break;\n }\n\n if (column.type !== 'img') {\n let tooltip: ReactNode;\n if (column.onGetTooltip) {\n tooltip = column.onGetTooltip(item, index);\n }\n if (tooltip) {\n data = (\n <Tooltip className='TableBodyCell-tooltip' title={tooltip} {...column.tooltipProps}>\n {React.isValidElement(data) ? (\n data.type === React.Fragment ? (\n <span>{data}</span>\n ) : (\n data\n )\n ) : (\n <span>{data}</span>\n )}\n </Tooltip>\n );\n }\n }\n return data;\n }, [column, item, index, menuOpen, checked, checkDisabled, buttonsBoxJustifyContent, onCheckChange]);\n\n // Event Handler ---------------------------------------------------------------------------------------------------\n\n const handleClick = useCallback(\n (item: TableItem, index: number) => {\n if (column.onClick) {\n column.onClick(item, index);\n } else {\n if (onClick) onClick(item, index);\n }\n },\n [column, onClick]\n );\n\n // Render ----------------------------------------------------------------------------------------------------------\n\n return (\n <TableCommonCell\n type='body'\n className='TableBodyCell'\n column={column}\n defaultAlign={defaultAlign}\n defaultEllipsis={defaultEllipsis}\n item={item}\n index={index}\n onClick={column.onClick || onClick ? handleClick : undefined}\n >\n {!isHidden && data}\n </TableCommonCell>\n );\n};\n\nexport default TableBodyCell;\n","import React, { useMemo } from 'react';\nimport classNames from 'classnames';\nimport { TableBodyRowProps as Props, TableBodyRowDefaultProps } from './TableBodyRow.types';\nimport { styled, TableRow, lighten } from '@mui/material';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport { TableColumn } from '../Table';\nimport TableBodyCell from '../TableBodyCell';\n\nexport const StyledBodyRow = styled(TableRow)(({ theme }) => ({\n '&.odd-color:nth-of-type(odd):not(:hover)': {\n backgroundColor: lighten(theme.palette.action.hover, 0.4),\n },\n '&.even-color:nth-of-type(even):not(:hover)': {\n backgroundColor: lighten(theme.palette.action.hover, 0.4),\n },\n}));\n\nconst TableBodyRow: React.FC<Props> = ({\n className,\n style,\n //--------------------------------------------------------------------------------------------------------------------\n id,\n index,\n defaultAlign,\n defaultEllipsis,\n sortable,\n columns,\n item,\n onClick,\n onCheckChange,\n // -------------------------------------------------------------------------------------------------------------------\n ...props\n}) => {\n const { attributes, listeners, setNodeRef, transform, transition } = useSortable({ id });\n\n const finalStyle = useMemo(\n () =>\n sortable\n ? {\n ...style,\n transform: CSS.Transform.toString(transform),\n transition,\n }\n : style,\n [sortable, style, transform, transition]\n );\n\n const sortableProps = useMemo(\n () =>\n sortable\n ? {\n ref: setNodeRef,\n ...attributes,\n ...listeners,\n }\n : {},\n [attributes, listeners, setNodeRef, sortable]\n );\n\n return (\n <StyledBodyRow className={classNames('TableBodyRow', className)} style={finalStyle} {...props} {...sortableProps}>\n {columns.map((column: TableColumn, columnIdx) => (\n <TableBodyCell\n key={columnIdx}\n index={index}\n item={item}\n defaultAlign={defaultAlign}\n defaultEllipsis={defaultEllipsis}\n column={column}\n onClick={onClick}\n onCheckChange={onCheckChange}\n />\n ))}\n </StyledBodyRow>\n );\n};\n\nTableBodyRow.displayName = 'TableBodyRow';\nTableBodyRow.defaultProps = TableBodyRowDefaultProps;\n\nexport default TableBodyRow;\n","import React, { useMemo } from 'react';\nimport { TableFooterCellProps } from './TableFooterCell.types';\nimport TableCommonCell from '../TableCommonCell';\n\nconst TableFooterCell: React.FC<TableFooterCellProps> = ({ column, defaultAlign }) => {\n const data = useMemo(() => {\n if (column.footer?.onRender) {\n return column.footer?.onRender();\n } else {\n return column.footer?.value;\n }\n }, [column]);\n\n return (\n <TableCommonCell type='head' className='TableFooterCell' column={column} defaultAlign={defaultAlign}>\n {data}\n </TableCommonCell>\n );\n};\n\nexport default TableFooterCell;\n","import React from 'react';\nimport classNames from 'classnames';\nimport { TablePaginationProps } from './TablePagination.types';\nimport { Pagination, Stack } from '@mui/material';\n\nconst TablePagination: React.FC<TablePaginationProps> = ({ className, style, sx, paging, align, onChange }) => {\n return (\n <Stack alignItems={align}>\n <Pagination\n count={paging.last_page}\n page={paging.current_page}\n color='primary'\n className={classNames('TablePagination', className)}\n style={style}\n sx={sx}\n onChange={(e, page) => {\n if (onChange) onChange(page);\n }}\n />\n </Stack>\n );\n};\n\nexport default TablePagination;\n","import {useRef,useEffect,useState,useCallback,useLayoutEffect}from'react';function useFirstSkipEffect(effect, deps) {\n var firstRef = useRef(true);\n useEffect(function () {\n if (firstRef.current) {\n firstRef.current = false;\n }\n else {\n effect();\n }\n }, deps);\n}var isSame = function (v1, v2) {\n if (v1 === v2)\n return true;\n if (typeof v1 !== typeof v2)\n return false;\n if (v1 == null || v2 == null)\n return false;\n if (Array.isArray(v1) && Array.isArray(v2)) {\n if (v1.length !== v2.length)\n return false;\n for (var i = 0; i < v1.length; i += 1) {\n if (v1[i] !== v2[i])\n return false;\n }\n }\n else {\n return v1 === v2;\n }\n return true;\n};function useAutoUpdateState(p1, p2) {\n var state = typeof p1 === 'function' ? undefined : p1;\n var finalStateCallback = typeof p1 === 'function' ? p1 : p2;\n var _a = useState(0), setUpdateKey = _a[1];\n var _initState = useState(function () {\n return finalStateCallback ? finalStateCallback(state) : state;\n })[0];\n var _state = useRef(_initState);\n var forceUpdate = useCallback(function () {\n setUpdateKey(function (updateKey) { return updateKey + 1; });\n }, []);\n useFirstSkipEffect(function () {\n var newState = finalStateCallback ? finalStateCallback(state) : state;\n if (!isSame(newState, _state.current)) {\n _state.current = newState;\n forceUpdate();\n }\n }, [state]);\n useFirstSkipEffect(function () {\n var newState = finalStateCallback ? finalStateCallback(_state.current) : _state.current;\n if (!isSame(newState, _state.current)) {\n _state.current = newState;\n forceUpdate();\n }\n }, [finalStateCallback]);\n var setState = useCallback(function (newState) {\n var finalNewState = typeof newState === 'function' ? newState(_state.current) : newState;\n if (!isSame(_state.current, finalNewState)) {\n _state.current = finalNewState;\n forceUpdate();\n }\n }, []);\n return [_state.current, setState];\n}function useFirstSkipLayoutEffect(effect, deps) {\n var firstRef = useRef(true);\n useLayoutEffect(function () {\n if (firstRef.current) {\n firstRef.current = false;\n }\n else {\n effect();\n }\n }, deps);\n}function useAutoUpdateLayoutState(p1, p2) {\n var state = typeof p1 === 'function' ? undefined : p1;\n var finalStateCallback = typeof p1 === 'function' ? p1 : p2;\n var _a = useState(0), setUpdateKey = _a[1];\n var _initState = useState(function () {\n return finalStateCallback ? finalStateCallback(state, 0) : state;\n })[0];\n var _state = useRef(_initState);\n var forceUpdate = useCallback(function () {\n setUpdateKey(function (updateKey) { return updateKey + 1; });\n }, []);\n useFirstSkipLayoutEffect(function () {\n var newState = finalStateCallback ? finalStateCallback(state) : state;\n if (!isSame(newState, _state.current)) {\n _state.current = newState;\n forceUpdate();\n }\n }, [state]);\n useFirstSkipLayoutEffect(function () {\n var newState = finalStateCallback ? finalStateCallback(_state.current) : _state.current;\n if (!isSame(newState, _state.current)) {\n _state.current = newState;\n forceUpdate();\n }\n }, [finalStateCallback]);\n var setState = useCallback(function (newState) {\n var finalNewState = typeof newState === 'function' ? newState(_state.current) : newState;\n if (!isSame(_state.current, finalNewState)) {\n _state.current = finalNewState;\n forceUpdate();\n }\n }, []);\n return [_state.current, setState];\n}export{useAutoUpdateLayoutState,useAutoUpdateState,useFirstSkipEffect,useFirstSkipLayoutEffect};//# sourceMappingURL=index.esm.js.map\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import React from 'react';\nimport { TableContextProviderProps as Props } from './TableContextProvider.types';\nimport TableContext from '../TableContext';\n\nconst TableContextProvider: React.FC<Props> = ({ children, value }) => {\n return <TableContext.Provider value={value}>{children}</TableContext.Provider>;\n};\n\nexport default TableContextProvider;\n","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;","import { ReactNode } from 'react';\nimport { TableCellProps } from '@mui/material';\nimport { TableColumn, TableProps } from '../Table/Table.types';\n\nexport interface TableTopHeadRowColumn {\n colSpan?: number;\n rowSpan?: number;\n label?: ReactNode;\n align?: TableCellProps['align'];\n}\n\nexport type TableTopHeadRowColumnValue = TableTopHeadRowColumn | false | undefined | null;\n\nexport interface TableTopHeadProps {\n caption?: ReactNode;\n rows?: TableTopHeadRowColumnValue[] | TableTopHeadRowColumnValue[][];\n columns: TableColumn[];\n defaultAlign: TableProps['defaultAlign'];\n onCheckChange(column: TableColumn, checked: boolean): void;\n}\n\nexport const TableTopHeadDefaultProps = {};\n","import { styled, TableRow } from '@mui/material';\n\nexport const TableTopHeadCaptionRow = styled(TableRow)(({ theme }) => ({\n '> th': {\n backgroundColor: theme.palette.grey.A100,\n textAlign: 'center',\n fontWeight: 700,\n },\n}));\n","import React, { useEffect, useMemo, useState } from 'react';\nimport { TableHeadCellProps } from './TableHeadCell.types';\nimport TableCommonCell from '../TableCommonCell';\nimport { Checkbox } from '@mui/material';\nimport useTableState from '../TableContext/useTableState';\n\nconst TableHeadCell: React.FC<TableHeadCellProps> = ({ column, defaultAlign, top, onCheckChange }) => {\n // Use ---------------------------------------------------------------------------------------------------------------\n\n const { setHeadColumnChecked, setHeadColumnCommands } = useTableState();\n\n // State -------------------------------------------------------------------------------------------------------------\n\n const [checked, setChecked] = useState(false);\n const [checkDisabled, setCheckDisabled] = useState(false);\n\n // Effect ------------------------------------------------------------------------------------------------------------\n\n useEffect(() => {\n if (column.type === 'check') {\n setHeadColumnChecked(column, checked);\n }\n }, [column, checked, setHeadColumnChecked]);\n\n useEffect(() => {\n setHeadColumnCommands(column, {\n setChecked(checked: boolean) {\n if (column.type === 'check') {\n setChecked(checked);\n }\n },\n setCheckDisabled(checkDisabled: boolean) {\n if (column.type === 'check') {\n setCheckDisabled(checkDisabled);\n }\n },\n });\n }, [setHeadColumnCommands, column]);\n\n // Memo --------------------------------------------------------------------------------------------------------------\n\n const style = useMemo(() => (top !== undefined ? { top } : undefined), [top]);\n\n const data = useMemo(() => {\n if (column.type === 'check') {\n return (\n <Checkbox\n checked={checked}\n disabled={checkDisabled}\n onChange={(e, newChecked) => {\n setChecked(newChecked);\n onCheckChange && onCheckChange(column, newChecked);\n }}\n />\n );\n } else {\n if (column.head?.onRender) {\n return column.head?.onRender();\n } else {\n if (typeof column.label === 'string') {\n return <div dangerouslySetInnerHTML={{ __html: column.label }} />;\n } else {\n return column.label;\n }\n }\n }\n }, [checkDisabled, checked, column, onCheckChange]);\n\n // Render ------------------------------------------------------------------------------------------------------------\n\n return (\n <TableCommonCell type='head' className='TableHeadCell' style={style} column={column} defaultAlign={defaultAlign}>\n {data}\n </TableCommonCell>\n );\n};\n\nexport default TableHeadCell;\n","import React, { ReactNode, useCallback, useMemo, useRef } from 'react';\nimport { TableTopHeadProps as Props, TableTopHeadDefaultProps, TableTopHeadRowColumnValue } from './TableTopHead.types';\nimport { styled, TableCell, TableHead, TableRow, useTheme } from '@mui/material';\nimport { useResizeDetector } from 'react-resize-detector';\nimport { TableTopHeadCaptionRow } from './TableTopHead.style';\nimport TableHeadCell from '../TableHeadCell';\n\nconst BottomLine = styled('div')`\n height: 1px;\n position: absolute;\n left: 3px;\n right: 3px;\n bottom: 0;\n`;\n\nconst TableTopHead: React.FC<Props> = ({ columns, rows, caption, defaultAlign, onCheckChange }) => {\n // Use ---------------------------------------------------------------------------------------------------------------\n\n const theme = useTheme();\n\n // Ref ---------------------------------------------------------------------------------------------------------------\n\n const captionRef = useRef<HTMLTableRowElement>(null);\n const row1Ref = useRef<HTMLTableRowElement>(null);\n const row2Ref = useRef<HTMLTableRowElement>(null);\n const row3Ref = useRef<HTMLTableRowElement>(null);\n\n // ResizeDetector ----------------------------------------------------------------------------------------------------\n\n const { height: captionHeight } = useResizeDetector({\n targetRef: captionRef,\n handleWidth: false,\n handleHeight: true,\n });\n const { height: row1Height } = useResizeDetector({ targetRef: row1Ref, handleWidth: false, handleHeight: true });\n const { height: row2Height } = useResizeDetector({ targetRef: row2Ref, handleWidth: false, handleHeight: true });\n const { height: row3Height } = useResizeDetector({ targetRef: row3Ref, handleWidth: false, handleHeight: true });\n\n // Function ----------------------------------------------------------------------------------------------------------\n\n const captionRow = useMemo(\n () =>\n !!caption && (\n <TableTopHeadCaptionRow ref={captionRef} className='TableTopHeadCaptionRow'>\n <TableCell colSpan={columns.length}>{caption}</TableCell>\n </TableTopHeadCaptionRow>\n ),\n [caption, columns]\n );\n\n const makeRowCells = useCallback(\n (row: TableTopHeadRowColumnValue[], top?: number) => {\n const cells = row\n .map(\n (info, idx) =>\n !!info && (\n <TableCell\n key={idx}\n colSpan={info.colSpan}\n align={info.align}\n style={{\n top,\n borderBottom: 0,\n }}\n >\n {info.label}\n {info.label != null && <BottomLine style={{ backgroundColor: theme.palette.divider }} />}\n </TableCell>\n )\n )\n .filter((cell) => !!cell) as ReactNode[];\n\n if (cells.length < columns.length) {\n cells.push(\n <TableCell key={columns.length} colSpan={columns.length - cells.length} style={{ top, borderBottom: 0 }} />\n );\n }\n return cells;\n },\n [columns, theme.palette.divider]\n );\n\n const columnRow = useMemo(() => {\n const top = (captionHeight || 0) + (row1Height || 0) + (row2Height || 0) + (row3Height || 0);\n\n return (\n <TableRow>\n {columns.map((column, idx) => (\n <TableHeadCell\n key={idx}\n column={column}\n defaultAlign={defaultAlign}\n top={top}\n onCheckChange={onCheckChange}\n />\n ))}\n </TableRow>\n );\n }, [captionHeight, columns, defaultAlign, onCheckChange, row1Height, row2Height, row3Height]);\n\n // Render ------------------------------------------------------------------------------------------------------------\n\n if (rows) {\n if (Array.isArray(rows[0])) {\n return (\n <TableHead className='TableHead'>\n {captionRow}\n {rows.map((row, idx) => {\n let ref: React.Ref<HTMLTableRowElement> | undefined = undefined;\n let top: number | undefined = undefined;\n\n switch (idx) {\n case 0:\n ref = row1Ref;\n top = captionHeight;\n break;\n case 1:\n ref = row2Ref;\n top = (captionHeight || 0) + (row1Height || 0);\n break;\n case 2:\n ref = row3Ref;\n top = (captionHeight || 0) + (row1Height || 0) + (row2Height || 0);\n break;\n case 3:\n top = (captionHeight || 0) + (row1Height || 0) + (row2Height || 0) + (row3Height || 0);\n }\n return (\n <TableRow key={idx} ref={ref} className='TableHeadRow'>\n {makeRowCells(row as TableTopHeadRowColumnValue[], top)}\n </TableRow>\n );\n })}\n </TableHead>\n );\n } else {\n return (\n <TableHead className='TableHead'>\n {captionRow}\n <TableRow ref={row1Ref} className='TableHeadRow'>\n {makeRowCells(rows as TableTopHeadRowColumnValue[], captionHeight)}\n </TableRow>\n {columnRow}\n </TableHead>\n );\n }\n } else {\n return (\n <TableHead className='TableHead'>\n {captionRow}\n {columnRow}\n </TableHead>\n );\n }\n};\n\nTableTopHead.displayName = 'TableTopHead';\nTableTopHead.defaultProps = TableTopHeadDefaultProps;\n\nexport default TableTopHead;\n","import React, { CSSProperties, useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport { Table as MuiTable, TableBody, TableRow, TableCell, Paper, Stack, TableFooter, Icon } from '@mui/material';\nimport SimpleBar from 'simplebar-react';\nimport SimpleBarCore from 'simplebar-core';\nimport { useResizeDetector } from 'react-resize-detector';\nimport { TableProps, TableDefaultProps, TableCommands, TableColumn, TableItem } from './Table.types';\nimport { StyledBodyRow, StyledNoDataDiv } from './Table.styles';\nimport TableBodyRow from '../TableBodyRow';\nimport { TableHeadCellCommands } from '../TableHeadCell';\nimport TableFooterCell from '../TableFooterCell';\nimport TablePagination from '../TablePagination';\nimport { useAutoUpdateLayoutState } from '@pdg/react-hook';\nimport {\n DndContext,\n closestCenter,\n KeyboardSensor,\n MouseSensor,\n TouchSensor,\n useSensor,\n useSensors,\n DragEndEvent,\n} from '@dnd-kit/core';\nimport {\n arrayMove,\n SortableContext,\n sortableKeyboardCoordinates,\n verticalListSortingStrategy,\n} from '@dnd-kit/sortable';\nimport 'simplebar-react/dist/simplebar.min.css';\nimport TableContextProvider from '../TableContextProvider';\nimport { v4 as uuid } from 'uuid';\nimport { TableBodyCellCommands } from '../TableBodyCell';\nimport TableTopHead from '../TableTopHead';\n\nfunction columnFilter<T>(v: T | undefined | null | false): v is T {\n return v !== undefined && v !== null && v !== false;\n}\n\ntype TLocalBodyData = Record<\n string | number,\n {\n item: TableItem;\n columns: Record<\n string,\n {\n column: TableColumn;\n checked: boolean;\n checkDisabled: boolean;\n commands?: TableBodyCellCommands;\n }\n >;\n }\n>;\n\ntype TLocalHeaderData = Record<string, { column: TableColumn; checked: boolean; commands?: TableHeadCellCommands }>;\n\ninterface WithForwardRefType<T = TableItem> extends React.FC<TableProps<T>> {\n <T = TableItem>(props: TableProps<T> & React.RefAttributes<TableCommands<T>>): ReturnType<React.FC<TableProps<T>>>;\n}\n\nconst Table: WithForwardRefType = React.forwardRef<TableCommands, TableProps>(\n (\n {\n caption,\n topHeadRows,\n columns: initColumns,\n items: initItems,\n paging: initPaging,\n pagingAlign,\n defaultAlign,\n defaultEllipsis,\n stickyHeader: initStickyHeader,\n height,\n minHeight,\n maxHeight,\n fullHeight,\n showOddColor,\n showEvenColor,\n cellPadding,\n footer,\n noData,\n pagination,\n sortable,\n onClick,\n onGetBodyRowSx,\n onPageChange,\n onSortChange,\n onCheckChange,\n // ---------------------------------------------------------------------------------------------------------------\n className,\n style: initStyle,\n sx,\n },\n ref\n ) => {\n // Ref ---------------------------------------------------------------------------------------------------------------\n\n const localHeaderDataRef = useRef<TLocalHeaderData>({});\n const localBodyDataRef = useRef<TLocalBodyData>({});\n const updateHeadCheckTimer = useRef<NodeJS.Timeout>();\n const fireOnCheckChangeTimer = useRef<Record<string, NodeJS.Timeout | undefined>>({});\n const simpleBarRef = useRef<SimpleBarCore>(null);\n\n // sortable --------------------------------------------------------------------------------------------------------\n\n const sensors = useSensors(\n useSensor(MouseSensor, {\n // Require the mouse to move by 10 pixels before activating\n activationConstraint: {\n distance: 10,\n },\n }),\n useSensor(TouchSensor, {\n // Press delay of 250ms, with tolerance of 5px of movement\n activationConstraint: {\n delay: 250,\n tolerance: 5,\n },\n }),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n })\n );\n\n // State -------------------------------------------------------------------------------------------------------------\n\n const [menuOpen, setMenuOpen] = useState(false);\n const [openMenuId, setOpenMenuId] = useState<string | undefined>(undefined);\n\n // State - containerHeight -------------------------------------------------------------------------------------------\n\n const [containerHeight, setContainerHeight] = useState<number | undefined>();\n\n const { ref: containerHeightDetector } = useResizeDetector({\n handleHeight: true,\n handleWidth: false,\n onResize() {\n if (containerHeightDetector.current) {\n setContainerHeight(containerHeightDetector.current.getBoundingClientRect().height);\n } else {\n setContainerHeight(undefined);\n }\n },\n });\n\n // State - footerHeight --------------------------------------------------------------------------------------------\n\n const [pagingHeight, setPagingHeight] = useState<number | undefined>();\n\n const { ref: pagingHeightResizeDetector } = useResizeDetector({\n handleHeight: true,\n handleWidth: false,\n onResize() {\n if (pagingHeightResizeDetector.current) {\n setPagingHeight(pagingHeightResizeDetector.current.getBoundingClientRect().height);\n } else {\n setPagingHeight(undefined);\n }\n },\n });\n\n // State -----------------------------------------------------------------------------------------------------------\n\n const [columns, setColumns] = useAutoUpdateLayoutState<TableProps['columns']>(initColumns);\n const [finalColumns, setFinalColumns] = useState<TableColumn<TableItem>[]>();\n const [items, setItems] = useAutoUpdateLayoutState<TableProps['items']>(initItems);\n const [sortableItems, setSortableItems] = useState<(TableItem & { id: number | string })[]>();\n const [paging, setPaging] = useAutoUpdateLayoutState<TableProps['paging']>(initPaging);\n\n // Memo --------------------------------------------------------------------------------------------------------------\n\n const tableSx = useMemo(() => {\n const sx = {\n padding: typeof cellPadding === 'number' ? `${cellPadding}px` : cellPadding,\n };\n\n return {\n '> .MuiTableHead-root > .MuiTableRow-root > .MuiTableCell-root ': sx,\n '> .MuiTableBody-root > .MuiTableRow-root > .MuiTableCell-root ': sx,\n '> .MuiTableFooter-root > .MuiTableRow-root > .MuiTableCell-root ': sx,\n };\n }, [cellPadding]);\n\n // Function --------------------------------------------------------------------------------------------------------\n\n const makeSortableItems = useCallback((items?: TableProps['items']) => {\n return items?.map<TableItem & { id: number | string }>(({ id, ...item }, index) => {\n return { id: id == null ? `${uuid()}_${index}` : id, ...item };\n });\n }, []);\n\n const updateHeadCheck = useCallback((column: TableColumn) => {\n if (updateHeadCheckTimer.current) {\n clearTimeout(updateHeadCheckTimer.current);\n updateHeadCheckTimer.current = undefined;\n }\n\n const headColumnData = localHeaderDataRef.current[column.id];\n if (headColumnData) {\n updateHeadCheckTimer.current = setTimeout(() => {\n updateHeadCheckTimer.current = undefined;\n\n const enabledCheckExists = !!Object.keys(localBodyDataRef.current).find((key) => {\n const columnData = localBodyDataRef.current[key].columns[column.id];\n if (columnData) {\n if (!columnData.checkDisabled) {\n return true;\n }\n }\n });\n\n const allChecked =\n enabledCheckExists &&\n !Object.keys(localBodyDataRef.current).find((key) => {\n const columnData = localBodyDataRef.current[key].columns[column.id];\n if (columnData) {\n if (!columnData.checkDisabled) {\n return !columnData.checked;\n }\n }\n });\n\n headColumnData.commands?.setCheckDisabled(!enabledCheckExists);\n headColumnData.commands?.setChecked(allChecked);\n }, 100);\n }\n }, []);\n\n const getCheckedItems = useCallback((columnId: string): TableItem[] => {\n const checkedItems: TableItem[] = [];\n Object.keys(localBodyDataRef.current).forEach((key) => {\n const itemData = localBodyDataRef.current[key];\n const columnData = itemData.columns[columnId];\n if (columnData) {\n if (columnData.checked) {\n checkedItems.push(itemData.item);\n }\n }\n });\n return checkedItems;\n }, []);\n\n const stopHeadCheckTimer = useCallback(() => {\n if (updateHeadCheckTimer.current) {\n clearTimeout(updateHeadCheckTimer.current);\n updateHeadCheckTimer.current = undefined;\n }\n }, []);\n\n const clearFireOnCheckChangeTimer = useCallback(() => {\n Object.keys(fireOnCheckChangeTimer.current).forEach((key) => {\n if (fireOnCheckChangeTimer.current[key]) {\n clearTimeout(fireOnCheckChangeTimer.current[key]);\n }\n });\n fireOnCheckChangeTimer.current = {};\n }, []);\n\n const fireOnCheckChange = useCallback(\n (columnId: string) => {\n if (fireOnCheckChangeTimer.current[columnId]) {\n clearTimeout(fireOnCheckChangeTimer.current[columnId]);\n fireOnCheckChangeTimer.current[columnId] = undefined;\n }\n if (onCheckChange) {\n fireOnCheckChangeTimer.current[columnId] = setTimeout(() => {\n fireOnCheckChangeTimer.current[columnId] = undefined;\n\n onCheckChange && onCheckChange(columnId, getCheckedItems(columnId));\n }, 100);\n }\n },\n [getCheckedItems, onCheckChange]\n );\n\n const simpleBarScrollToTop = useCallback(() => {\n simpleBarRef.current?.getScrollElement()?.scrollTo({ top: 0 });\n }, []);\n\n // Effect ----------------------------------------------------------------------------------------------------------\n\n useEffect(() => {\n return () => {\n stopHeadCheckTimer();\n clearFireOnCheckChangeTimer();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n stopHeadCheckTimer();\n clearFireOnCheckChangeTimer();\n\n Object.keys(localHeaderDataRef.current).forEach((key) => {\n if (localHeaderDataRef.current[key].column.type === 'check') {\n localHeaderDataRef.current[key].commands?.setChecked(false);\n }\n });\n\n Object.keys(localBodyDataRef.current).forEach((key) => {\n Object.keys(localBodyDataRef.current[key].columns).forEach((cKey) => {\n localBodyDataRef.current[key].columns[cKey].commands?.setChecked(false);\n });\n });\n\n setSortableItems(makeSortableItems(items));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [items]);\n\n useEffect(() => {\n stopHeadCheckTimer();\n clearFireOnCheckChangeTimer();\n\n setFinalColumns(columns?.filter(columnFilter));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [columns]);\n\n useLayoutEffect(() => {\n clearFireOnCheckChangeTimer();\n\n if (sortableItems) {\n localBodyDataRef.current = sortableItems.reduce<TLocalBodyData>((res, item) => {\n res[item.id] = {\n item,\n columns: {},\n };\n\n if (finalColumns) {\n finalColumns.forEach((c) => {\n const columnId = (c as TableColumn).id;\n\n if (localBodyDataRef.current[item.id]?.columns[columnId]) {\n res[item.id].columns[columnId] = localBodyDataRef.current[item.id].columns[columnId];\n } else {\n res[item.id].columns[columnId] = {\n column: c,\n checked: false,\n checkDisabled: false,\n };\n }\n });\n }\n return res;\n }, {});\n } else {\n localBodyDataRef.current = {};\n }\n }, [sortableItems, finalColumns, clearFireOnCheckChangeTimer]);\n\n useLayoutEffect(() => {\n if (finalColumns) {\n localHeaderDataRef.current = finalColumns.reduce<TLocalHeaderData>((res, c) => {\n res[(c as TableColumn).id] = { column: c, checked: false };\n return res;\n }, {});\n } else {\n localHeaderDataRef.current = {};\n }\n }, [finalColumns]);\n\n // Commands --------------------------------------------------------------------------------------------------------\n\n useLayoutEffect(() => {\n if (ref) {\n let lastColumns = columns;\n let lastItems = items;\n let lastPaging = paging;\n\n const commands: TableCommands = {\n getColumns: () => lastColumns,\n setColumns: (columns) => {\n lastColumns = columns;\n setColumns(lastColumns);\n },\n getItems: () => lastItems,\n getPaging: () => lastPaging,\n setItemsPaging: (items, paging) => {\n lastItems = items;\n lastPaging = paging;\n setItems(lastItems);\n setPaging(lastPaging);\n },\n resetSort() {\n setSortableItems(makeSortableItems(lastItems));\n },\n getCheckedItems,\n scrollToTop: simpleBarScrollToTop,\n };\n\n if (typeof ref === 'function') {\n ref(commands);\n } else {\n ref.current = commands;\n }\n }\n }, [\n ref,\n columns,\n items,\n paging,\n makeSortableItems,\n setColumns,\n setItems,\n setPaging,\n getCheckedItems,\n simpleBarScrollToTop,\n ]);\n\n // Event Handler ---------------------------------------------------------------------------------------------------\n\n const handleDragEnd = useCallback(\n (event: DragEndEvent) => {\n const { active, over } = event;\n\n if (active && over) {\n setSortableItems((items) => {\n if (items) {\n let oldIndex: number | null = null;\n let newIndex: number | null = null;\n\n items.find((item, idx) => {\n if (item.id === active.id) {\n oldIndex = idx;\n } else if (item.id === over.id) {\n newIndex = idx;\n }\n return oldIndex != null && newIndex != null;\n });\n\n if (oldIndex != null && newIndex != null) {\n const finalItems = arrayMove(items, oldIndex, newIndex);\n onSortChange && onSortChange(finalItems);\n return finalItems;\n } else {\n return items;\n }\n } else {\n return items;\n }\n });\n }\n },\n [onSortChange]\n );\n\n const handleHeadCheckChange = useCallback((column: TableColumn, checked: boolean) => {\n Object.keys(localBodyDataRef.current).forEach((key) => {\n const data = localBodyDataRef.current[key].columns[column.id];\n if (data) {\n if (!data.checkDisabled) {\n data.commands?.setChecked(checked);\n }\n }\n });\n }, []);\n\n const handleBodyCheckChange = useCallback(\n (item: TableItem, column: TableColumn) => {\n updateHeadCheck(column);\n },\n [updateHeadCheck]\n );\n\n const handlePageChange = useCallback(\n (page: number) => {\n simpleBarScrollToTop();\n onPageChange && onPageChange(page);\n },\n [onPageChange, simpleBarScrollToTop]\n );\n\n // TableContext Function ---------------------------------------------------------------------------------------------\n\n const TableContextSetMenuOpen = useCallback(\n (newMenuOpen: boolean, newOpenMenuId: string | undefined) => {\n if (newMenuOpen) {\n setMenuOpen(newMenuOpen);\n setOpenMenuId(newOpenMenuId);\n } else {\n if (openMenuId === newOpenMenuId) {\n setMenuOpen(false);\n setOpenMenuId(undefined);\n }\n }\n },\n [openMenuId]\n );\n\n const TableContextSetItemColumnChecked = useCallback(\n (item: TableItem, column: TableColumn, checked: boolean) => {\n const data = localBodyDataRef.current[item.id]?.columns[column.id];\n if (data) {\n data.checked = checked;\n fireOnCheckChange(column.id);\n }\n },\n [fireOnCheckChange]\n );\n\n const TableContextSetItemColumnCheckDisabled = useCallback(\n (item: TableItem, column: TableColumn, disabled: boolean) => {\n const data = localBodyDataRef.current[item.id]?.columns[column.id];\n if (data) {\n data.checkDisabled = disabled;\n updateHeadCheck(column);\n }\n },\n [updateHeadCheck]\n );\n\n const TableContextSetItemColumnCommands = useCallback(\n (item: TableItem, column: TableColumn, commands: TableBodyCellCommands) => {\n const data = localBodyDataRef.current[item.id]?.columns[column.id];\n if (data) {\n data.commands = commands;\n }\n },\n []\n );\n\n const TableContextSetHeadColumnChecked = useCallback((column: TableColumn, checked: boolean) => {\n const data = localHeaderDataRef.current[column.id];\n if (data) {\n data.checked = checked;\n }\n }, []);\n\n const TableContextSetHeadColumnCommands = useCallback((column: TableColumn, commands: TableHeadCellCommands) => {\n const data = localHeaderDataRef.current[column.id];\n if (data) {\n data.commands = commands;\n }\n }, []);\n\n // Memo --------------------------------------------------------------------------------------------------------------\n\n const tableContextValue = useMemo(\n () => ({\n menuOpen,\n openMenuId,\n setMenuOpen: TableContextSetMenuOpen,\n setItemColumnChecked: TableContextSetItemColumnChecked,\n setItemColumnCheckDisabled: TableContextSetItemColumnCheckDisabled,\n setItemColumnCommands: TableContextSetItemColumnCommands,\n setHeadColumnChecked: TableContextSetHeadColumnChecked,\n setHeadColumnCommands: TableContextSetHeadColumnCommands,\n }),\n [\n TableContextSetHeadColumnChecked,\n TableContextSetHeadColumnCommands,\n TableContextSetItemColumnCheckDisabled,\n TableContextSetItemColumnChecked,\n TableContextSetItemColumnCommands,\n TableContextSetMenuOpen,\n menuOpen,\n openMenuId,\n ]\n );\n\n // Memo --------------------------------------------------------------------------------------------------------------\n\n const isNoData = useMemo(() => !!sortableItems && sortableItems.length <= 0, [sortableItems]);\n const finalPagingHeight = useMemo(\n () => (paging && paging.total > 0 ? pagingHeight || 0 : 0),\n [paging, pagingHeight]\n );\n const stickyHeader = useMemo(() => !isNoData && initStickyHeader, [initStickyHeader, isNoData]);\n\n const style = useMemo((): CSSProperties => {\n if (fullHeight) {\n return {\n width: '100%',\n ...initStyle,\n flex: 1,\n justifyContent: 'flex-end',\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n position: 'relative',\n };\n } else {\n return { width: '100%', ...initStyle };\n }\n }, [initStyle, fullHeight]);\n\n const simpleBarStyle = useMemo((): CSSProperties => {\n if (fullHeight) {\n return {\n height: (containerHeight || 0) - (finalPagingHeight || 0) - 1,\n flex: 1,\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n marginBottom: finalPagingHeight || 0,\n };\n } else {\n return { height, minHeight, maxHeight, marginBottom: -1 };\n }\n }, [fullHeight, containerHeight, finalPagingHeight, height, minHeight, maxHeight]);\n\n const tableStyle = useMemo((): CSSProperties | undefined => {\n if (fullHeight && isNoData) {\n return { flex: 1, height: (containerHeight || 0) - finalPagingHeight - 2 };\n }\n }, [fullHeight, isNoData, containerHeight, finalPagingHeight]);\n\n const pagingStyle = useMemo((): CSSProperties => {\n const style = { padding: '13px 0', borderTop: '1px solid rgba(224, 224, 224, 1)' };\n if (fullHeight) {\n return { position: 'sticky', ...style };\n }\n return style;\n }, [fullHeight]);\n\n const tableTopHead = useMemo(\n () =>\n finalColumns && (\n <TableTopHead\n caption={caption}\n rows={topHeadRows}\n columns={finalColumns}\n defaultAlign={defaultAlign}\n onCheckChange={handleHeadCheckChange}\n />\n ),\n [caption, defaultAlign, finalColumns, handleHeadCheckChange, topHeadRows]\n );\n\n const tableBody = useMemo(\n () =>\n finalColumns && (\n <TableBody>\n {sortableItems ? (\n sortableItems.length > 0 ? (\n <SortableContext items={sortableItems} strategy={verticalListSortingStrategy}>\n {sortableItems.map((item, idx) => (\n <TableBodyRow\n key={item.id}\n className={classNames(!!showOddColor && 'odd-color', !!showEvenColor && 'even-color')}\n hover\n sx={onGetBodyRowSx ? onGetBodyRowSx(item, idx) : undefined}\n id={item.id}\n index={idx}\n defaultAlign={defaultAlign}\n defaultEllipsis={defaultEllipsis}\n sortable={sortable}\n columns={finalColumns}\n item={item}\n onClick={onClick}\n onCheckChange={handleBodyCheckChange}\n />\n ))}\n </SortableContext>\n ) : (\n <StyledBodyRow>\n <TableCell colSpan={finalColumns.length} style={{ flex: 1 }}>\n {noData ? (\n noData\n ) : (\n <StyledNoDataDiv>\n <div>\n <Icon>error</Icon>\n </div>\n <div>검색된 정보가 없습니다.</div>\n </StyledNoDataDiv>\n )}\n </TableCell>\n </StyledBodyRow>\n )\n ) : undefined}\n </TableBody>\n ),\n [\n defaultAlign,\n defaultEllipsis,\n finalColumns,\n handleBodyCheckChange,\n noData,\n onClick,\n onGetBodyRowSx,\n showEvenColor,\n showOddColor,\n sortable,\n sortableItems,\n ]\n );\n\n const tableFooter = useMemo(\n () =>\n finalColumns &&\n !isNoData &&\n footer && (\n <TableFooter>\n <TableRow>\n {finalColumns.map((column, idx) => (\n <TableFooterCell key={idx} column={column} defaultAlign={defaultAlign} />\n ))}\n </TableRow>\n </TableFooter>\n ),\n [defaultAlign, finalColumns, footer, isNoData]\n );\n\n const tablePaging = useMemo(\n () =>\n finalColumns &&\n paging &&\n paging.total > 0 && (\n <Stack ref={fullHeight ? pagingHeightResizeDetector : undefined} alignItems={pagingAlign} style={pagingStyle}>\n <TablePagination\n className={pagination?.className}\n style={pagination?.style}\n sx={pagination?.sx}\n paging={paging}\n align={pagingAlign}\n onChange={handlePageChange}\n />\n </Stack>\n ),\n [\n finalColumns,\n fullHeight,\n handlePageChange,\n pagination?.className,\n pagination?.style,\n pagination?.sx,\n paging,\n pagingAlign,\n pagingHeightResizeDetector,\n pagingStyle,\n ]\n );\n\n // Render ----------------------------------------------------------------------------------------------------------\n\n return finalColumns ? (\n <TableContextProvider value={tableContextValue}>\n <Paper\n ref={fullHeight ? containerHeightDetector : undefined}\n className={classNames(\n 'Table',\n className,\n !!stickyHeader && 'sticky-header',\n !!fullHeight && 'full-height',\n !!showOddColor && 'odd-color',\n !!showEvenColor && 'even-color',\n !!sortable && 'sortable'\n )}\n variant='outlined'\n style={style}\n sx={sx}\n >\n <SimpleBar ref={simpleBarRef} style={simpleBarStyle}>\n <DndContext sensors={sensors} collisionDetection={closestCenter} onDragEnd={handleDragEnd}>\n <MuiTable stickyHeader={stickyHeader} sx={tableSx} style={tableStyle}>\n {tableTopHead}\n {tableBody}\n {tableFooter}\n </MuiTable>\n </DndContext>\n </SimpleBar>\n {tablePaging}\n </Paper>\n </TableContextProvider>\n ) : null;\n }\n);\n\nTable.displayName = 'Table';\nTable.defaultProps = TableDefaultProps;\n\nexport default Table;\n","import React from 'react';\nimport { TableProps, TableCommands, TableItem } from '../Table';\nimport { FormValueMap, SearchCommands, SearchProps } from '@pdg/react-form';\nimport { ReactNode } from 'react';\nimport { CommonSxProps } from '../@types';\n\nexport interface SearchTableData<T = TableItem> {\n items: TableProps<T>['items'];\n paging?: TableProps<T>['paging'];\n}\n\nexport interface SearchTableSearchProps extends Omit<SearchProps, 'ref' | 'color' | 'autoSubmit' | 'onSubmit'> {\n ref?: React.ForwardedRef<SearchCommands>;\n searchGroups?: ReactNode;\n}\n\nexport interface SearchTableTableProps<T = TableItem>\n extends Omit<TableProps<T>, 'ref' | 'items' | 'paging' | 'onPageChange'> {\n ref?: React.ForwardedRef<TableCommands<T>>;\n}\n\nexport interface SearchTableProps<T = TableItem> extends CommonSxProps {\n color?: SearchProps['color'];\n hash?: boolean;\n stickyHeader?: boolean;\n fullHeight?: boolean;\n search?: SearchTableSearchProps;\n table: SearchTableTableProps<T>;\n betweenSearchTableComponent?: ReactNode;\n onGetData?(data: FormValueMap): Promise<SearchTableData<T>>;\n onRequestHashChange?(hash: string): void;\n}\n\nexport const SearchTableDefaultProps = {};\n\n//--------------------------------------------------------------------------------------------------------------------\n\nexport interface SearchTableCommands<T = TableItem> {\n reload(page?: number): void;\n getLastLoadData(): FormValueMap;\n getSearch(): SearchCommands | undefined;\n getTable(): TableCommands<T> | undefined;\n}\n","import React, { CSSProperties, useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport { Grid } from '@mui/material';\nimport {\n SearchTableProps,\n SearchTableDefaultProps,\n SearchTableSearchProps,\n SearchTableCommands,\n SearchTableData,\n SearchTableTableProps,\n} from './SearchTable.types';\nimport {\n FormCheckValueItemCommands,\n FormDateRangePickerCommands,\n FormDateValueItemCommands,\n FormHidden,\n FormMonthPickerCommands,\n FormMonthRangePickerCommands,\n FormRangeValueItemNameCommands,\n FormValue,\n FormValueMap,\n FormYearRangePickerCommands,\n Search,\n SearchCommands,\n SearchGroup,\n} from '@pdg/react-form';\nimport { Table, TableCommands, TableItem } from '../Table';\nimport { equal, notEmpty } from '../@util';\nimport dayjs from 'dayjs';\n\ninterface HashValueMap {\n [key: string]: string;\n}\n\ninterface SearchInfo {\n ref?: SearchTableSearchProps['ref'];\n searchGroups?: SearchTableSearchProps['searchGroups'];\n props?: Omit<SearchTableSearchProps, 'ref' | 'searchGroups'>;\n}\n\ninterface TableInfo {\n ref?: SearchTableTableProps['ref'];\n props?: Omit<SearchTableTableProps, 'ref'>;\n}\n\ninterface WithForwardRefType<T = TableItem> extends React.FC<SearchTableProps<T>> {\n <T = TableItem>(\n props: SearchTableProps<T> & React.RefAttributes<SearchTableCommands<T>>\n ): ReturnType<React.FC<SearchTableProps<T>>>;\n}\n\nconst SearchTable: WithForwardRefType = React.forwardRef<SearchTableCommands, SearchTableProps>(\n (\n {\n color,\n hash,\n stickyHeader,\n fullHeight,\n search,\n table,\n betweenSearchTableComponent,\n onGetData,\n onRequestHashChange,\n // ---------------------------------------------------------------------------------------------------------------\n className,\n style: initStyle,\n sx,\n },\n ref\n ) => {\n const searchRef = useRef<SearchCommands>();\n const tableRef = useRef<TableCommands>();\n\n //------------------------------------------------------------------------------------------------------------------\n\n const getSearchInfo = useCallback((search: SearchTableProps['search']) => {\n const searchInfo: SearchInfo = {};\n if (search) {\n const { ref, searchGroups, ...props } = search;\n searchInfo.ref = ref;\n searchInfo.searchGroups = searchGroups;\n searchInfo.props = props;\n }\n return searchInfo;\n }, []);\n\n const getTableInfo = useCallback((table: SearchTableProps['table']) => {\n const tableInfo: TableInfo = {};\n if (table) {\n const { ref, ...props } = table;\n tableInfo.ref = ref;\n tableInfo.props = props;\n }\n return tableInfo;\n }, []);\n\n // Ref -------------------------------------------------------------------------------------------------------------\n\n const lastGetDataDataRef = useRef<FormValueMap>({});\n\n // State -----------------------------------------------------------------------------------------------------------\n\n const [isFirstSearchSubmit, setIsFirstSearchSubmit] = useState(true);\n\n const [tableData, setTableData] = useState<SearchTableData>();\n\n // searchInfo ------------------------------------------------------------------------------------------------------\n\n const searchInfoFirstUseEffect = useRef(true);\n const [searchInfo, setSearchInfo] = useState<SearchInfo>(() => getSearchInfo(search));\n useEffect(() => {\n if (searchInfoFirstUseEffect.current) {\n searchInfoFirstUseEffect.current = false;\n } else {\n setSearchInfo(getSearchInfo(search));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [search]);\n\n // tableInfo -------------------------------------------------------------------------------------------------------\n\n const tableInfoFirstUseEffect = useRef(true);\n const [tableInfo, setTableInfo] = useState<TableInfo>(() => getTableInfo(table));\n useEffect(() => {\n if (tableInfoFirstUseEffect.current) {\n tableInfoFirstUseEffect.current = false;\n } else {\n setTableInfo(getTableInfo(table));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [table]);\n\n // Function - getData ----------------------------------------------------------------------------------------------\n\n const getData = useCallback(\n (data: FormValueMap) => {\n lastGetDataDataRef.current = data;\n\n if (onGetData) {\n onGetData(data).then(setTableData);\n }\n },\n [onGetData]\n );\n\n // Function ----------------------------------------------------------------------------------------------------------\n\n const deHash = useCallback((): HashValueMap => {\n const values: HashValueMap = {};\n const hash = window.location.hash.substring(1);\n hash.replace(/([^=&]+)=([^&]*)/g, (substring, key, value) => {\n values[decodeURIComponent(key)] = decodeURIComponent(value);\n return substring;\n });\n return values;\n }, []);\n\n const hashToSearchValue = useCallback((): FormValueMap | undefined => {\n const commands = searchRef.current;\n if (commands) {\n commands.resetAll();\n\n const hashValues = deHash();\n Object.keys(hashValues).forEach((name) => {\n const value: FormValue = hashValues[name];\n if (name === 'page') {\n commands.setValue(name, Number(value) || 1);\n } else {\n const itemCommands = commands.getItem(name);\n if (itemCommands) {\n switch (itemCommands.getType()) {\n case 'FormCheckbox':\n if (notEmpty(value)) {\n const checkCommands = itemCommands as FormCheckValueItemCommands<any>;\n if (value.toString() === itemCommands.getValue()?.toString()) {\n checkCommands.setChecked(true);\n } else if (value.toString() === checkCommands.getUncheckedValue()?.toString()) {\n checkCommands.setChecked(false);\n }\n }\n break;\n case 'FormDatePicker':\n case 'FormDateTimePicker':\n case 'FormTimePicker':\n {\n if (notEmpty(value)) {\n const dateCommands = itemCommands as FormDateValueItemCommands;\n const format = dateCommands.getFormValueFormat();\n const itemValue = dayjs(value, format);\n itemCommands.setValue(itemValue.isValid() ? itemValue : null);\n } else {\n itemCommands.setValue(null);\n }\n }\n break;\n case 'FormDateRangePicker':\n {\n const dateRangePickerCommands = itemCommands as FormDateRangePickerCommands;\n const fromName = dateRangePickerCommands.getFormValueFromName();\n const toName = dateRangePickerCommands.getFormValueToName();\n const format = dateRangePickerCommands.getFormValueFormat();\n\n if (name === fromName) {\n if (notEmpty(value)) {\n const startValue = dayjs(value, format);\n dateRangePickerCommands.setFromValue(startValue.isValid() ? startValue : null);\n } else {\n dateRangePickerCommands.setFromValue(null);\n }\n } else if (name === toName) {\n if (notEmpty(value)) {\n const endValue = dayjs(value, format);\n dateRangePickerCommands.setToValue(endValue.isValid() ? endValue : null);\n } else {\n dateRangePickerCommands.setToValue(null);\n }\n }\n }\n break;\n case 'FormYearRangePicker':\n {\n const dateRangePickerCommands = itemCommands as FormYearRangePickerCommands;\n const fromName = dateRangePickerCommands.getFormValueFromName();\n const toName = dateRangePickerCommands.getFormValueToName();\n\n if (name === fromName) {\n dateRangePickerCommands.setFromValue(notEmpty(value) ? Number(value) : null);\n } else if (name === toName) {\n dateRangePickerCommands.setToValue(notEmpty(value) ? Number(value) : null);\n }\n }\n break;\n case 'FormMonthPicker':\n {\n const monthCommands = itemCommands as FormMonthPickerCommands;\n const yearName = monthCommands.getFormValueYearName();\n const monthName = monthCommands.getFormValueMonthName();\n\n if (name === yearName) {\n monthCommands.setYear(notEmpty(value) ? Number(value) : null);\n } else if (name === monthName) {\n monthCommands.setMonth(notEmpty(value) ? Number(value) : null);\n }\n }\n break;\n case 'FormMonthRangePicker':\n {\n const monthRangeCommands = itemCommands as FormMonthRangePickerCommands;\n const fromYearName = monthRangeCommands.getFormValueFromYearName();\n const fromMonthName = monthRangeCommands.getFormValueFromMonthName();\n const toYearName = monthRangeCommands.getFormValueToYearName();\n const toMonthName = monthRangeCommands.getFormValueToMonthName();\n\n if (name === fromYearName) {\n monthRangeCommands.setFromYear(notEmpty(value) ? Number(value) : null);\n } else if (name === fromMonthName) {\n monthRangeCommands.setFromMonth(notEmpty(value) ? Number(value) : null);\n } else if (name === toYearName) {\n monthRangeCommands.setToYear(notEmpty(value) ? Number(value) : null);\n } else if (name === toMonthName) {\n monthRangeCommands.setToMonth(notEmpty(value) ? Number(value) : null);\n }\n }\n break;\n default:\n commands.setValue(name, value);\n break;\n }\n }\n }\n });\n return commands.getAllFormValue();\n }\n }, [searchRef, deHash]);\n\n // Commands --------------------------------------------------------------------------------------------------------\n\n useLayoutEffect(() => {\n if (ref) {\n const commands: SearchTableCommands = {\n reload: (page?: number) => {\n if (page != null) {\n tableRef.current?.scrollToTop();\n }\n\n let finalData: FormValueMap;\n if (lastGetDataDataRef.current) {\n finalData = { ...lastGetDataDataRef.current };\n if (page != null) {\n searchRef.current?.setValue('page', page);\n\n finalData.page = page;\n }\n } else {\n if (hash) {\n hashToSearchValue();\n }\n\n if (page != null) {\n searchRef.current?.setValue('page', page);\n }\n\n finalData = searchRef.current?.getAllFormValue() || {};\n }\n\n getData(finalData);\n },\n getLastLoadData: () => lastGetDataDataRef.current || {},\n getSearch: () => searchRef.current,\n getTable: () => tableRef.current,\n };\n\n if (typeof ref === 'function') {\n ref(commands);\n } else {\n ref.current = commands;\n }\n }\n }, [ref, hash, lastGetDataDataRef, searchRef, tableRef, getData, hashToSearchValue]);\n\n //--------------------------------------------------------------------------------------------------------------------\n\n useEffect(() => {\n if (hash) {\n const data = hashToSearchValue();\n if (data) getData(data);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [window.location.hash]);\n\n //--------------------------------------------------------------------------------------------------------------------\n\n const hashChange = useCallback(\n (params: FormValueMap) => {\n if (onRequestHashChange) {\n const hashes: string[] = [];\n Object.keys(params).forEach((name) => {\n const value = params[name];\n if (name === 'page') {\n if (Number(value) > 1) {\n hashes.push(`${name}=${value}`);\n }\n } else {\n if (searchRef.current) {\n const itemCommands = searchRef.current.getItem(name);\n\n if (itemCommands) {\n let resetValue: FormValue | null = null;\n\n switch (itemCommands.getType()) {\n case 'FormDateRangePicker':\n case 'FormYearRangePicker':\n {\n const commands = itemCommands as FormRangeValueItemNameCommands;\n const itemName = itemCommands.getName();\n const fromName = commands.getFormValueFromName();\n const fromSuffix = commands.getFormValueFromNameSuffix();\n const toName = commands.getFormValueToName();\n const toSuffix = commands.getFormValueToNameSuffix();\n\n if (name === fromName) {\n resetValue = searchRef.current.getFormReset(itemName, fromSuffix);\n } else if (name === toName) {\n resetValue = searchRef.current.getFormReset(itemName, toSuffix);\n }\n }\n break;\n case 'FormMonthPicker':\n {\n const commands = itemCommands as FormMonthPickerCommands;\n const itemName = commands.getName();\n const yearName = commands.getFormValueYearName();\n const yearSuffix = commands.getFormValueYearNameSuffix();\n const monthName = commands.getFormValueMonthName();\n const monthSuffix = commands.getFormValueMonthNameSuffix();\n\n if (name === yearName) {\n resetValue = searchRef.current.getFormReset(itemName, yearSuffix);\n } else if (name === monthName) {\n resetValue = searchRef.current.getFormReset(itemName, monthSuffix);\n }\n }\n break;\n case 'FormMonthRangePicker':\n {\n const commands = itemCommands as FormMonthRangePickerCommands;\n const itemName = commands.getName();\n const fromYearName = commands.getFormValueFromYearName();\n const fromYearSuffix = commands.getFormValueFromYearNameSuffix();\n const fromMonthName = commands.getFormValueFromMonthName();\n const fromMonthSuffix = commands.getFormValueFromMonthNameSuffix();\n const toYearName = commands.getFormValueToYearName();\n const toYearSuffix = commands.getFormValueToYearNameSuffix();\n const toMonthName = commands.getFormValueToMonthName();\n const toMonthSuffix = commands.getFormValueToMonthNameSuffix();\n\n if (name === fromYearName) {\n resetValue = searchRef.current.getFormReset(itemName, fromYearSuffix);\n } else if (name === fromMonthName) {\n resetValue = searchRef.current.getFormReset(itemName, fromMonthSuffix);\n } else if (name === toYearName) {\n resetValue = searchRef.current.getFormReset(itemName, toYearSuffix);\n } else if (name === toMonthName) {\n resetValue = searchRef.current.getFormReset(itemName, toMonthSuffix);\n }\n }\n break;\n default:\n resetValue = searchRef.current.getFormReset(name);\n break;\n }\n\n if (resetValue != null && !equal(resetValue, value) && typeof value !== 'object') {\n hashes.push(`${name}=${encodeURIComponent(value)}`);\n }\n }\n }\n }\n });\n const finalHash = hashes.join('&');\n if (window.location.hash.substring(1) === finalHash) {\n getData(params);\n } else {\n onRequestHashChange(hashes.join('&'));\n }\n }\n },\n [onRequestHashChange, getData]\n );\n\n //------------------------------------------------------------------------------------------------------------------\n\n const handlePageChange = useCallback(\n (page: number) => {\n searchRef.current?.setValue('page', page);\n\n let finalData: FormValueMap | undefined;\n if (lastGetDataDataRef.current) {\n finalData = { ...lastGetDataDataRef.current };\n finalData.page = page;\n } else {\n finalData = searchRef.current?.getAllFormValue();\n }\n\n if (hash) {\n hashChange(finalData || {});\n } else {\n getData(finalData || {});\n }\n },\n [searchRef, hash, hashChange, getData]\n );\n\n const handleSearchSubmit = useCallback(\n (data: FormValueMap) => {\n tableRef.current?.scrollToTop();\n\n if (isFirstSearchSubmit) {\n setIsFirstSearchSubmit(false);\n if (!hash) {\n getData(data);\n }\n } else {\n searchRef.current?.setValue('page', 1);\n const finalData: FormValueMap = { ...data, page: 1 };\n if (hash) {\n hashChange(finalData);\n } else {\n getData(finalData);\n }\n }\n },\n [searchRef, hash, hashChange, getData, isFirstSearchSubmit]\n );\n\n // Memo --------------------------------------------------------------------------------------------------------------\n\n const style = useMemo((): CSSProperties | undefined => {\n if (fullHeight) {\n return { ...initStyle, flex: 1, display: 'flex' };\n } else {\n return initStyle;\n }\n }, [initStyle, fullHeight]);\n\n const tableContainerStyle = useMemo((): CSSProperties | undefined => {\n if (fullHeight) {\n return { flex: 1, display: 'flex', flexDirection: 'column' };\n }\n }, [fullHeight]);\n\n //------------------------------------------------------------------------------------------------------------------\n\n return (\n <Grid\n container\n direction='column'\n spacing={1}\n className={classNames('SearchTable', className)}\n style={style}\n sx={sx}\n >\n <Grid item sx={{ display: searchInfo.searchGroups ? undefined : 'none' }}>\n <Search\n color={color}\n {...searchInfo.props}\n ref={(commands: SearchCommands) => {\n if (searchInfo.ref) {\n if (typeof searchInfo.ref === 'function') {\n searchInfo.ref(commands);\n } else {\n searchInfo.ref.current = commands;\n }\n }\n searchRef.current = commands || undefined;\n }}\n autoSubmit\n onSubmit={handleSearchSubmit}\n >\n <SearchGroup hidden>\n <FormHidden name='page' value={1} />\n </SearchGroup>\n {searchInfo.searchGroups}\n </Search>\n </Grid>\n {betweenSearchTableComponent && <Grid item>{betweenSearchTableComponent}</Grid>}\n <Grid item style={tableContainerStyle}>\n <Table\n {...tableInfo.props}\n stickyHeader={stickyHeader || tableInfo.props?.stickyHeader}\n fullHeight={fullHeight || tableInfo.props?.fullHeight}\n ref={(commands: TableCommands) => {\n if (tableInfo.ref) {\n if (typeof tableInfo.ref === 'function') {\n tableInfo.ref(commands);\n } else {\n tableInfo.ref.current = commands;\n }\n }\n tableRef.current = commands || undefined;\n }}\n items={tableData?.items}\n paging={tableData?.paging}\n onPageChange={handlePageChange}\n />\n </Grid>\n </Grid>\n );\n }\n);\n\nSearchTable.displayName = 'SearchTable';\nSearchTable.defaultProps = SearchTableDefaultProps;\n\nexport default SearchTable;\n","import { ButtonProps } from '@mui/material';\n\nexport interface TableButtonProps extends Omit<ButtonProps, 'size' | 'startIcon' | 'endIcon'> {\n icon?: string;\n startIcon?: string;\n endIcon?: string;\n}\n\nexport const TableButtonDefaultProps: Pick<TableButtonProps, 'variant' | 'color'> = {\n variant: 'outlined',\n color: 'primary',\n};\n","import { IconProps } from '@mui/material';\n\nexport interface TableIconProps extends IconProps {\n children: string;\n}\n\nexport const TableIconDefaultProps = {};\n","import React, { useMemo } from 'react';\nimport classNames from 'classnames';\nimport { Icon } from '@mui/material';\nimport { TableIconProps as Props, TableIconDefaultProps } from './TableIcon.types';\n\nconst TableIcon = React.forwardRef<HTMLAnchorElement, Props>(({ className, children: initChildren, ...props }, ref) => {\n // Memo --------------------------------------------------------------------------------------------------------------\n\n const children = useMemo(\n () => initChildren.replace(/[A-Z]/g, (letter, idx) => `${idx > 0 ? '_' : ''}${letter.toLowerCase()}`),\n [initChildren]\n );\n\n // Render ----------------------------------------------------------------------------------------------------------\n\n return (\n <Icon ref={ref} {...props} className={classNames('TableIcon', className)}>\n {children}\n </Icon>\n );\n});\n\nTableIcon.displayName = 'TableIcon';\nTableIcon.defaultProps = TableIconDefaultProps;\n\nexport default TableIcon;\n","import React, { useMemo } from 'react';\nimport classNames from 'classnames';\nimport { Button } from '@mui/material';\nimport { TableButtonProps as Props, TableButtonDefaultProps } from './TableButton.types';\nimport TableIcon from '../TableIcon';\n\nconst TableButton = React.forwardRef<HTMLButtonElement, Props>(\n ({ children, className, sx: initSx, color, icon, startIcon, endIcon, onClick, ...props }, ref) => {\n const sx = useMemo(\n () => ({ minWidth: 0, px: !startIcon && !endIcon ? 0.7 : 1.7, ...initSx }),\n [endIcon, initSx, startIcon]\n );\n\n // Render ----------------------------------------------------------------------------------------------------------\n\n return (\n <Button\n ref={ref}\n className={classNames(className, 'TableButton')}\n type='button'\n size='small'\n sx={sx}\n color={color}\n onClick={onClick}\n startIcon={\n startIcon ? (\n <TableIcon fontSize='small' sx={{ mr: -0.5 }}>\n {startIcon}\n </TableIcon>\n ) : undefined\n }\n endIcon={\n endIcon ? (\n <TableIcon fontSize='small' sx={{ ml: -0.5 }}>\n {endIcon}\n </TableIcon>\n ) : undefined\n }\n {...props}\n >\n {icon && (\n <TableIcon fontSize='small' color={color}>\n {icon}\n </TableIcon>\n )}\n {children}\n </Button>\n );\n }\n);\n\nTableButton.displayName = 'TableButton';\nTableButton.defaultProps = TableButtonDefaultProps;\n\nexport default TableButton;\n","import { ButtonProps } from '@mui/material';\nimport { ReactElement } from 'react';\nimport { PopperPlacementType } from '@mui/base/Popper/Popper.types';\n\nexport interface TableMenuButtonProps extends Omit<ButtonProps, 'size' | 'startIcon' | 'endIcon' | 'onClick'> {\n icon?: string;\n startIcon?: string;\n endIcon?: string;\n placement?: PopperPlacementType;\n inModal?: boolean;\n zIndex?: number;\n menuList: ReactElement;\n}\n\nexport const TableMenuButtonDefaultProps: Pick<TableMenuButtonProps, 'variant' | 'color' | 'placement'> = {\n variant: 'outlined',\n color: 'primary',\n placement: 'bottom',\n};\n","import React, { useCallback, useEffect, useId, useMemo, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport { Button, ClickAwayListener, Grow, Paper, Popper } from '@mui/material';\nimport { TableMenuButtonProps as Props, TableMenuButtonDefaultProps } from './TableMenuButton.types';\nimport TableIcon from '../TableIcon';\nimport useTableState from '../TableContext/useTableState';\n\nconst TableMenuButton = React.forwardRef<HTMLButtonElement, Props>(\n (\n {\n children,\n className,\n sx: initSx,\n color,\n icon,\n startIcon,\n endIcon,\n placement,\n inModal,\n zIndex,\n menuList,\n ...props\n },\n ref\n ) => {\n // ID ----------------------------------------------------------------------------------------------------------------\n\n const buttonId = useId();\n const menuId = useId();\n\n // Use ---------------------------------------------------------------------------------------------------------------\n\n const { menuOpen, openMenuId, setMenuOpen } = useTableState();\n\n // Ref ---------------------------------------------------------------------------------------------------------------\n\n const anchorRef = useRef<HTMLButtonElement | null>();\n\n // State -------------------------------------------------------------------------------------------------------------\n\n const [open, setOpen] = useState(false);\n\n // Effect ------------------------------------------------------------------------------------------------------------\n\n useEffect(() => {\n if (open && menuOpen && openMenuId !== menuId) {\n setOpen(false);\n }\n }, [menuId, menuOpen, open, openMenuId]);\n\n // Memo --------------------------------------------------------------------------------------------------------------\n\n const sx = useMemo(\n () => ({ minWidth: 0, px: !startIcon && !endIcon ? 0.7 : 1.7, ...initSx }),\n [endIcon, initSx, startIcon]\n );\n\n // Event Handler -----------------------------------------------------------------------------------------------------\n\n const handleClick = useCallback(() => {\n setOpen((old) => !old);\n if (!open) {\n setMenuOpen(true, menuId);\n } else {\n setMenuOpen(false, menuId);\n }\n }, [menuId, open, setMenuOpen]);\n\n const handleClose = useCallback(() => {\n if (open) {\n setOpen(false);\n setMenuOpen(false, menuId);\n }\n }, [menuId, open, setMenuOpen]);\n\n const handleListKeyDown = useCallback(\n (event: React.KeyboardEvent) => {\n if (event.key === 'Tab') {\n event.preventDefault();\n if (open) {\n setOpen(false);\n setMenuOpen(false, menuId);\n }\n } else if (event.key === 'Escape') {\n if (open) {\n setOpen(false);\n setMenuOpen(false, menuId);\n }\n }\n },\n [menuId, open, setMenuOpen]\n );\n\n // Memo --------------------------------------------------------------------------------------------------------------\n\n const finalMenuList = useMemo(() => {\n return React.cloneElement(menuList, {\n autoFocusItem: open,\n id: menuId,\n 'aria-labelledby': buttonId,\n onKeyDown: handleListKeyDown,\n onClick: handleClose,\n });\n }, [buttonId, handleClose, handleListKeyDown, menuId, menuList, open]);\n\n // Render ----------------------------------------------------------------------------------------------------------\n\n return (\n <span>\n <Button\n ref={(r) => {\n if (ref) {\n if (typeof ref === 'function') {\n ref(r);\n } else {\n ref.current = r;\n }\n }\n anchorRef.current = r;\n }}\n id={buttonId}\n aria-controls={open ? menuId : undefined}\n aria-expanded={open ? 'true' : undefined}\n aria-haspopup='true'\n className={classNames(className, 'TableMenuButton')}\n type='button'\n size='small'\n sx={sx}\n color={color}\n onClick={handleClick}\n startIcon={\n startIcon ? (\n <TableIcon fontSize='small' sx={{ mr: -0.5 }}>\n {startIcon}\n </TableIcon>\n ) : undefined\n }\n endIcon={\n endIcon ? (\n <TableIcon fontSize='small' sx={{ ml: -0.5 }}>\n {endIcon}\n </TableIcon>\n ) : undefined\n }\n {...props}\n >\n {icon && (\n <TableIcon fontSize='small' color={color}>\n {icon}\n </TableIcon>\n )}\n {children}\n </Button>\n <Popper\n className='TableMenuButton-Popper'\n open={open}\n anchorEl={anchorRef.current}\n role={undefined}\n placement={placement}\n transition\n style={{ zIndex: inModal ? (zIndex === undefined ? 1301 : zIndex) : zIndex }}\n >\n {({ TransitionProps, placement }) => {\n const placements = placement.split('-');\n let transformOrigin = '';\n if (placements[0] === 'left') {\n transformOrigin = 'right';\n // if (placements.length > 1) {\n // if (placements[1] === 'start') {\n // transformOrigin += ' top';\n // } else if (placements[1] === 'end') {\n // transformOrigin += ' bottom';\n // }\n // }\n } else if (placements[0] === 'right') {\n transformOrigin = 'left';\n // if (placements.length > 1) {\n // if (placements[1] === 'start') {\n // transformOrigin += ' top';\n // } else if (placements[1] === 'end') {\n // transformOrigin += ' bottom';\n // }\n // }\n } else if (placements[0] === 'top') {\n transformOrigin = 'bottom';\n // if (placements.length > 1) {\n // if (placements[1] === 'start') {\n // transformOrigin += ' left';\n // } else if (placements[1] === 'end') {\n // transformOrigin += ' right';\n // }\n // }\n } else if (placements[0] === 'bottom') {\n transformOrigin = 'top';\n // if (placements.length > 1) {\n // if (placements[1] === 'start') {\n // transformOrigin += ' left';\n // } else if (placements[1] === 'end') {\n // transformOrigin += ' right';\n // }\n // }\n } else {\n transformOrigin = 'top';\n }\n\n return (\n <Grow\n {...TransitionProps}\n style={{\n transformOrigin,\n }}\n >\n <Paper>\n <ClickAwayListener onClickAway={handleClose}>{finalMenuList}</ClickAwayListener>\n </Paper>\n </Grow>\n );\n }}\n </Popper>\n </span>\n );\n }\n);\n\nTableMenuButton.displayName = 'TableMenuButton';\nTableMenuButton.defaultProps = TableMenuButtonDefaultProps;\n\nexport default TableMenuButton;\n","import { ReactNode } from 'react';\nimport { BoxProps, GridProps, IconButtonProps, TypographyProps } from '@mui/material';\nimport { CommonSxProps } from '../@types';\n\nexport interface InfoTableInfo {\n [key: string]: any;\n}\n\nexport interface InfoTableItem<T = InfoTableInfo> {\n label: ReactNode;\n name?: keyof T;\n ellipsis?: boolean;\n className?: string;\n style?: CommonSxProps['style'];\n sx?: BoxProps['sx'];\n labelClassName?: string;\n labelColor?: TypographyProps['color'];\n labelStyle?: CommonSxProps['style'];\n labelSx?: BoxProps['sx'];\n valueClassName?: string;\n valueStyle?: CommonSxProps['style'];\n valueSx?: CommonSxProps['sx'];\n xs?: number;\n sm?: number;\n md?: number;\n lg?: number;\n xl?: number;\n clipboard?: boolean;\n clipboardIcon?: string;\n clipboardText?: string;\n clipboardProps?: Omit<IconButtonProps, 'children'>;\n onRender?(info: T): ReactNode;\n onRenderEmpty?(info: T): ReactNode;\n}\n\nexport type InfoTableItems<T = InfoTableInfo> = (InfoTableItem<T> | false | undefined | null)[];\n\nexport type InfoTableCols = 1 | 2 | 3 | 4 | 6 | 12;\n\nexport interface InfoTableProps<T = InfoTableInfo> {\n cols:\n | InfoTableCols\n | {\n xs?: InfoTableCols;\n sm?: InfoTableCols;\n md?: InfoTableCols;\n lg?: InfoTableCols;\n xl?: InfoTableCols;\n };\n spacing?: GridProps['spacing'];\n columnSpacing?: GridProps['spacing'];\n rowSpacing?: GridProps['spacing'];\n className?: string;\n style?: CommonSxProps['style'];\n sx?: CommonSxProps['sx'];\n labelClassName?: string;\n labelColor?: TypographyProps['color'];\n labelStyle?: CommonSxProps['style'];\n labelSx?: BoxProps['sx'];\n valueClassName?: string;\n valueStyle?: CommonSxProps['style'];\n valueSx?: CommonSxProps['sx'];\n ellipsis?: boolean;\n valueUnderline?: boolean;\n info: T;\n items: InfoTableItems<T>;\n onCopyToClipboard?(item: InfoTableItem<T>, text: string): void;\n}\n\nexport const InfoTableDefaultProps: Pick<InfoTableProps, 'spacing' | 'columnSpacing' | 'rowSpacing' | 'labelColor'> = {\n spacing: 2,\n rowSpacing: 3,\n labelColor: 'primary',\n};\n","import { Box, IconButton, styled } from '@mui/material';\n\nexport const Label = styled(Box)`\n font-size: 12px;\n font-weight: bold;\n`;\n\nexport const ValueWrap = styled(Box)`\n margin-top: 3px;\n position: relative;\n display: flex;\n flex-direction: row;\n`;\n\nexport const Value = styled('div')`\n flex: 1;\n`;\n\nexport const ValueEllipsis = styled('div')`\n flex: 1;\n position: relative;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n\nexport const ValueClipboard = styled('div')``;\n\nexport const ClipboardIconButton = styled(IconButton)`\n margin-top: -10px;\n margin-bottom: -10px;\n`;\n","\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n","\"use strict\";\n\nvar deselectCurrent = require(\"toggle-selection\");\n\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n}\n\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement(\"span\");\n mark.textContent = text;\n // avoid screen readers from reading out loud the text\n mark.ariaHidden = \"true\"\n // reset user styles for span element\n mark.style.all = \"unset\";\n // prevents scrolling to the end of the page\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = \"pre\";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === \"undefined\") { // IE 11\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"]\n window.clipboardData.setData(format, text);\n } else { // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CopyToClipboard = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _copyToClipboard = _interopRequireDefault(require(\"copy-to-clipboard\"));\n\nvar _excluded = [\"text\", \"onCopy\", \"options\", \"children\"];\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar CopyToClipboard = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(CopyToClipboard, _React$PureComponent);\n\n var _super = _createSuper(CopyToClipboard);\n\n function CopyToClipboard() {\n var _this;\n\n _classCallCheck(this, CopyToClipboard);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"onClick\", function (event) {\n var _this$props = _this.props,\n text = _this$props.text,\n onCopy = _this$props.onCopy,\n children = _this$props.children,\n options = _this$props.options;\n\n var elem = _react[\"default\"].Children.only(children);\n\n var result = (0, _copyToClipboard[\"default\"])(text, options);\n\n if (onCopy) {\n onCopy(text, result);\n } // Bypass onClick if it was present\n\n\n if (elem && elem.props && typeof elem.props.onClick === 'function') {\n elem.props.onClick(event);\n }\n });\n\n return _this;\n }\n\n _createClass(CopyToClipboard, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n _text = _this$props2.text,\n _onCopy = _this$props2.onCopy,\n _options = _this$props2.options,\n children = _this$props2.children,\n props = _objectWithoutProperties(_this$props2, _excluded);\n\n var elem = _react[\"default\"].Children.only(children);\n\n return /*#__PURE__*/_react[\"default\"].cloneElement(elem, _objectSpread(_objectSpread({}, props), {}, {\n onClick: this.onClick\n }));\n }\n }]);\n\n return CopyToClipboard;\n}(_react[\"default\"].PureComponent);\n\nexports.CopyToClipboard = CopyToClipboard;\n\n_defineProperty(CopyToClipboard, \"defaultProps\", {\n onCopy: undefined,\n options: undefined\n});","\"use strict\";\n\nvar _require = require('./Component'),\n CopyToClipboard = _require.CopyToClipboard;\n\nCopyToClipboard.CopyToClipboard = CopyToClipboard;\nmodule.exports = CopyToClipboard;","import React, { ReactNode, useMemo } from 'react';\nimport classNames from 'classnames';\nimport { InfoTableProps as Props, InfoTableDefaultProps, InfoTableInfo } from './InfoTable.types';\nimport { ClipboardIconButton, Label, Value, ValueClipboard, ValueEllipsis, ValueWrap } from './InfoTable.style';\nimport { Grid } from '@mui/material';\nimport { combineSx, empty, notEmpty, typographyColorToSxColor } from '../@util';\nimport TableIcon from '../TableIcon';\nimport { CopyToClipboard } from 'react-copy-to-clipboard';\n\ninterface WithType<T = InfoTableInfo> extends React.FC<Props<T>> {\n <T = InfoTableInfo>(props: Props<T>): ReturnType<React.FC<Props<T>>>;\n}\n\nconst InfoTable: WithType = ({\n cols,\n spacing,\n columnSpacing,\n rowSpacing,\n className,\n style,\n sx,\n labelClassName,\n labelColor,\n labelStyle,\n labelSx,\n valueClassName,\n valueStyle,\n valueSx,\n ellipsis,\n valueUnderline,\n info,\n items,\n onCopyToClipboard,\n}: Props) => {\n const sizeProps = useMemo(() => {\n const value: { xs?: number; sm?: number; md?: number; lg?: number; xl?: number } = {};\n if (typeof cols === 'number') {\n value.xs = 12 / cols;\n } else {\n if (cols.xs) value.xs = 12 / cols.xs;\n if (cols.sm) value.sm = 12 / cols.sm;\n if (cols.md) value.md = 12 / cols.md;\n if (cols.lg) value.lg = 12 / cols.lg;\n if (cols.xl) value.xl = 12 / cols.xl;\n }\n return value;\n }, [cols]);\n\n return (\n <Grid\n container\n spacing={spacing}\n columnSpacing={columnSpacing}\n rowSpacing={rowSpacing}\n className={classNames('InfoTable', className)}\n style={style}\n sx={sx}\n >\n {items.map((item, idx) => {\n if (item) {\n const finalLabelColor = typographyColorToSxColor(item.labelColor || labelColor);\n const finalLabelSx = combineSx(labelSx, item.labelSx, !!finalLabelColor && { color: finalLabelColor });\n const finalValueSx = combineSx(valueSx, item.valueSx);\n const valueUnderlineStyle = valueUnderline\n ? { borderBottom: '1px solid #efefef', paddingBottom: 5 }\n : undefined;\n\n const finalSizeProps = { ...sizeProps };\n if (item.xs) finalSizeProps.xs = item.xs;\n if (item.sm) finalSizeProps.sm = item.sm;\n if (item.md) finalSizeProps.md = item.md;\n if (item.lg) finalSizeProps.lg = item.lg;\n if (item.xl) finalSizeProps.xl = item.xl;\n\n let data: ReactNode | string | number = item.name !== undefined ? info[item.name] : undefined;\n if (item.onRender) data = item.onRender(info);\n if (empty(data)) data = item.onRenderEmpty ? item.onRenderEmpty(info) : <>&nbsp;</>;\n\n const copyToClipboardText =\n item.clipboardText || (typeof data === 'string' ? data : typeof data === 'number' ? data.toString() : '');\n\n return (\n <Grid key={idx} item {...finalSizeProps} className={item.className} style={item.style} sx={item.sx}>\n <Label\n className={classNames(labelClassName, item.labelClassName)}\n style={{ ...item.labelStyle, ...labelStyle }}\n sx={finalLabelSx}\n >\n {item.label}\n </Label>\n <ValueWrap\n className={classNames(valueClassName, item.valueClassName)}\n style={{ ...valueStyle, ...item.valueStyle, ...valueUnderlineStyle }}\n sx={finalValueSx}\n >\n {item.ellipsis || ellipsis ? <ValueEllipsis>{data}</ValueEllipsis> : <Value>{data}</Value>}\n {item.clipboard && notEmpty(copyToClipboardText) && (\n <ValueClipboard>\n <CopyToClipboard\n text={copyToClipboardText}\n onCopy={onCopyToClipboard ? () => onCopyToClipboard(item, copyToClipboardText) : undefined}\n >\n <ClipboardIconButton size='small' color='primary' {...item.clipboardProps}>\n <TableIcon>{item.clipboardIcon || 'ContentPaste'}</TableIcon>\n </ClipboardIconButton>\n </CopyToClipboard>\n </ValueClipboard>\n )}\n </ValueWrap>\n </Grid>\n );\n }\n })}\n </Grid>\n );\n};\n\nInfoTable.displayName = 'InfoTable';\nInfoTable.defaultProps = InfoTableDefaultProps;\n\nexport default InfoTable;\n"],"names":["freeGlobal","freeSelf","root","Symbol","objectProto","hasOwnProperty","nativeObjectToString","symToStringTag","getRawTag","objectToString","nullTag","undefinedTag","baseGetTag","isObjectLike","symbolTag","isSymbol","reWhitespace","trimmedEndIndex","reTrimStart","baseTrim","isObject","NAN","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","toNumber","now","FUNC_ERROR_TEXT","nativeMax","nativeMin","debounce","throttle","__assign","canUseDOM","__rest","React","global","require$$0","require$$1","require$$2","findDOMNode","isValidElement","createRef","cloneElement","PureComponent","useRef","useState","useCallback","useEffect","StyledBodyRow","styled","TableRow","lighten","templateObject_1","createContext","useContext","TableCell","useMemo","Box","Checkbox","Tooltip","sortable","useSortable","Stack","Pagination","useLayoutEffect","useTheme","TableHead","useSensors","useSensor","MouseSensor","TouchSensor","KeyboardSensor","sortableKeyboardCoordinates","uuid","arrayMove","TableBody","SortableContext","verticalListSortingStrategy","Icon","TableFooter","Paper","DndContext","closestCenter","MuiTable","Grid","Search","SearchGroup","FormHidden","Button","useId","Popper","Grow","ClickAwayListener","IconButton","CopyToClipboard"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,38,50,51,53,54,55,56,72,73,74,75]}