{"ast":null,"code":"import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"prefixCls\", \"className\", \"height\", \"itemHeight\", \"fullHeight\", \"style\", \"data\", \"children\", \"itemKey\", \"virtual\", \"direction\", \"scrollWidth\", \"component\", \"onScroll\", \"onVirtualScroll\", \"onVisibleChange\", \"innerProps\", \"extraRender\", \"styles\"];\nimport * as React from 'react';\nimport { useRef, useState } from 'react';\nimport { flushSync } from 'react-dom';\nimport classNames from 'classnames';\nimport ResizeObserver from 'rc-resize-observer';\nimport Filler from './Filler';\nimport ScrollBar from './ScrollBar';\nimport useChildren from './hooks/useChildren';\nimport useHeights from './hooks/useHeights';\nimport useScrollTo from './hooks/useScrollTo';\nimport useDiffItem from './hooks/useDiffItem';\nimport useFrameWheel from './hooks/useFrameWheel';\nimport useMobileTouchMove from './hooks/useMobileTouchMove';\nimport useOriginScroll from './hooks/useOriginScroll';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport { getSpinSize } from './utils/scrollbarUtil';\nimport { useEvent } from 'rc-util';\nimport { useGetSize } from './hooks/useGetSize';\nvar EMPTY_DATA = [];\nvar ScrollStyle = {\n  overflowY: 'auto',\n  overflowAnchor: 'none'\n};\nexport function RawList(props, ref) {\n  var _props$prefixCls = props.prefixCls,\n    prefixCls = _props$prefixCls === void 0 ? 'rc-virtual-list' : _props$prefixCls,\n    className = props.className,\n    height = props.height,\n    itemHeight = props.itemHeight,\n    _props$fullHeight = props.fullHeight,\n    fullHeight = _props$fullHeight === void 0 ? true : _props$fullHeight,\n    style = props.style,\n    data = props.data,\n    children = props.children,\n    itemKey = props.itemKey,\n    virtual = props.virtual,\n    direction = props.direction,\n    scrollWidth = props.scrollWidth,\n    _props$component = props.component,\n    Component = _props$component === void 0 ? 'div' : _props$component,\n    onScroll = props.onScroll,\n    onVirtualScroll = props.onVirtualScroll,\n    onVisibleChange = props.onVisibleChange,\n    innerProps = props.innerProps,\n    extraRender = props.extraRender,\n    styles = props.styles,\n    restProps = _objectWithoutProperties(props, _excluded);\n  // ================================= MISC =================================\n  var useVirtual = !!(virtual !== false && height && itemHeight);\n  var inVirtual = useVirtual && data && (itemHeight * data.length > height || !!scrollWidth);\n  var isRTL = direction === 'rtl';\n  var mergedClassName = classNames(prefixCls, _defineProperty({}, \"\".concat(prefixCls, \"-rtl\"), isRTL), className);\n  var mergedData = data || EMPTY_DATA;\n  var componentRef = useRef();\n  var fillerInnerRef = useRef();\n  // =============================== Item Key ===============================\n  var _useState = useState(0),\n    _useState2 = _slicedToArray(_useState, 2),\n    offsetTop = _useState2[0],\n    setOffsetTop = _useState2[1];\n  var _useState3 = useState(0),\n    _useState4 = _slicedToArray(_useState3, 2),\n    offsetLeft = _useState4[0],\n    setOffsetLeft = _useState4[1];\n  var _useState5 = useState(false),\n    _useState6 = _slicedToArray(_useState5, 2),\n    scrollMoving = _useState6[0],\n    setScrollMoving = _useState6[1];\n  var onScrollbarStartMove = function onScrollbarStartMove() {\n    setScrollMoving(true);\n  };\n  var onScrollbarStopMove = function onScrollbarStopMove() {\n    setScrollMoving(false);\n  };\n  // =============================== Item Key ===============================\n  var getKey = React.useCallback(function (item) {\n    if (typeof itemKey === 'function') {\n      return itemKey(item);\n    }\n    return item === null || item === void 0 ? void 0 : item[itemKey];\n  }, [itemKey]);\n  var sharedConfig = {\n    getKey: getKey\n  };\n  // ================================ Scroll ================================\n  function syncScrollTop(newTop) {\n    setOffsetTop(function (origin) {\n      var value;\n      if (typeof newTop === 'function') {\n        value = newTop(origin);\n      } else {\n        value = newTop;\n      }\n      var alignedTop = keepInRange(value);\n      componentRef.current.scrollTop = alignedTop;\n      return alignedTop;\n    });\n  }\n  // ================================ Legacy ================================\n  // Put ref here since the range is generate by follow\n  var rangeRef = useRef({\n    start: 0,\n    end: mergedData.length\n  });\n  var diffItemRef = useRef();\n  var _useDiffItem = useDiffItem(mergedData, getKey),\n    _useDiffItem2 = _slicedToArray(_useDiffItem, 1),\n    diffItem = _useDiffItem2[0];\n  diffItemRef.current = diffItem;\n  // ================================ Height ================================\n  var _useHeights = useHeights(getKey, null, null),\n    _useHeights2 = _slicedToArray(_useHeights, 4),\n    setInstanceRef = _useHeights2[0],\n    collectHeight = _useHeights2[1],\n    heights = _useHeights2[2],\n    heightUpdatedMark = _useHeights2[3];\n  // ========================== Visible Calculation =========================\n  var _React$useMemo = React.useMemo(function () {\n      if (!useVirtual) {\n        return {\n          scrollHeight: undefined,\n          start: 0,\n          end: mergedData.length - 1,\n          offset: undefined\n        };\n      }\n      // Always use virtual scroll bar in avoid shaking\n      if (!inVirtual) {\n        var _fillerInnerRef$curre;\n        return {\n          scrollHeight: ((_fillerInnerRef$curre = fillerInnerRef.current) === null || _fillerInnerRef$curre === void 0 ? void 0 : _fillerInnerRef$curre.offsetHeight) || 0,\n          start: 0,\n          end: mergedData.length - 1,\n          offset: undefined\n        };\n      }\n      var itemTop = 0;\n      var startIndex;\n      var startOffset;\n      var endIndex;\n      var dataLen = mergedData.length;\n      for (var i = 0; i < dataLen; i += 1) {\n        var item = mergedData[i];\n        var key = getKey(item);\n        var cacheHeight = heights.get(key);\n        var currentItemBottom = itemTop + (cacheHeight === undefined ? itemHeight : cacheHeight);\n        // Check item top in the range\n        if (currentItemBottom >= offsetTop && startIndex === undefined) {\n          startIndex = i;\n          startOffset = itemTop;\n        }\n        // Check item bottom in the range. We will render additional one item for motion usage\n        if (currentItemBottom > offsetTop + height && endIndex === undefined) {\n          endIndex = i;\n        }\n        itemTop = currentItemBottom;\n      }\n      // When scrollTop at the end but data cut to small count will reach this\n      if (startIndex === undefined) {\n        startIndex = 0;\n        startOffset = 0;\n        endIndex = Math.ceil(height / itemHeight);\n      }\n      if (endIndex === undefined) {\n        endIndex = mergedData.length - 1;\n      }\n      // Give cache to improve scroll experience\n      endIndex = Math.min(endIndex + 1, mergedData.length - 1);\n      return {\n        scrollHeight: itemTop,\n        start: startIndex,\n        end: endIndex,\n        offset: startOffset\n      };\n    }, [inVirtual, useVirtual, offsetTop, mergedData, heightUpdatedMark, height]),\n    scrollHeight = _React$useMemo.scrollHeight,\n    start = _React$useMemo.start,\n    end = _React$useMemo.end,\n    fillerOffset = _React$useMemo.offset;\n  rangeRef.current.start = start;\n  rangeRef.current.end = end;\n  // ================================= Size =================================\n  var _React$useState = React.useState({\n      width: 0,\n      height: height\n    }),\n    _React$useState2 = _slicedToArray(_React$useState, 2),\n    size = _React$useState2[0],\n    setSize = _React$useState2[1];\n  var onHolderResize = function onHolderResize(sizeInfo) {\n    setSize({\n      width: sizeInfo.width || sizeInfo.offsetWidth,\n      height: sizeInfo.height || sizeInfo.offsetHeight\n    });\n  };\n  // Hack on scrollbar to enable flash call\n  var verticalScrollBarRef = useRef();\n  var horizontalScrollBarRef = useRef();\n  var horizontalScrollBarSpinSize = React.useMemo(function () {\n    return getSpinSize(size.width, scrollWidth);\n  }, [size.width, scrollWidth]);\n  var verticalScrollBarSpinSize = React.useMemo(function () {\n    return getSpinSize(size.height, scrollHeight);\n  }, [size.height, scrollHeight]);\n  // =============================== In Range ===============================\n  var maxScrollHeight = scrollHeight - height;\n  var maxScrollHeightRef = useRef(maxScrollHeight);\n  maxScrollHeightRef.current = maxScrollHeight;\n  function keepInRange(newScrollTop) {\n    var newTop = newScrollTop;\n    if (!Number.isNaN(maxScrollHeightRef.current)) {\n      newTop = Math.min(newTop, maxScrollHeightRef.current);\n    }\n    newTop = Math.max(newTop, 0);\n    return newTop;\n  }\n  var isScrollAtTop = offsetTop <= 0;\n  var isScrollAtBottom = offsetTop >= maxScrollHeight;\n  var originScroll = useOriginScroll(isScrollAtTop, isScrollAtBottom);\n  // ================================ Scroll ================================\n  var getVirtualScrollInfo = function getVirtualScrollInfo() {\n    return {\n      x: isRTL ? -offsetLeft : offsetLeft,\n      y: offsetTop\n    };\n  };\n  var lastVirtualScrollInfoRef = useRef(getVirtualScrollInfo());\n  var triggerScroll = useEvent(function () {\n    if (onVirtualScroll) {\n      var nextInfo = getVirtualScrollInfo();\n      // Trigger when offset changed\n      if (lastVirtualScrollInfoRef.current.x !== nextInfo.x || lastVirtualScrollInfoRef.current.y !== nextInfo.y) {\n        onVirtualScroll(nextInfo);\n        lastVirtualScrollInfoRef.current = nextInfo;\n      }\n    }\n  });\n  function onScrollBar(newScrollOffset, horizontal) {\n    var newOffset = newScrollOffset;\n    if (horizontal) {\n      flushSync(function () {\n        setOffsetLeft(newOffset);\n      });\n      triggerScroll();\n    } else {\n      syncScrollTop(newOffset);\n    }\n  }\n  // When data size reduce. It may trigger native scroll event back to fit scroll position\n  function onFallbackScroll(e) {\n    var newScrollTop = e.currentTarget.scrollTop;\n    if (newScrollTop !== offsetTop) {\n      syncScrollTop(newScrollTop);\n    }\n    // Trigger origin onScroll\n    onScroll === null || onScroll === void 0 ? void 0 : onScroll(e);\n    triggerScroll();\n  }\n  var keepInHorizontalRange = function keepInHorizontalRange(nextOffsetLeft) {\n    var tmpOffsetLeft = nextOffsetLeft;\n    var max = scrollWidth - size.width;\n    tmpOffsetLeft = Math.max(tmpOffsetLeft, 0);\n    tmpOffsetLeft = Math.min(tmpOffsetLeft, max);\n    return tmpOffsetLeft;\n  };\n  var onWheelDelta = useEvent(function (offsetXY, fromHorizontal) {\n    if (fromHorizontal) {\n      // Horizontal scroll no need sync virtual position\n      flushSync(function () {\n        setOffsetLeft(function (left) {\n          var nextOffsetLeft = left + (isRTL ? -offsetXY : offsetXY);\n          return keepInHorizontalRange(nextOffsetLeft);\n        });\n      });\n      triggerScroll();\n    } else {\n      syncScrollTop(function (top) {\n        var newTop = top + offsetXY;\n        return newTop;\n      });\n    }\n  });\n  // Since this added in global,should use ref to keep update\n  var _useFrameWheel = useFrameWheel(useVirtual, isScrollAtTop, isScrollAtBottom, !!scrollWidth, onWheelDelta),\n    _useFrameWheel2 = _slicedToArray(_useFrameWheel, 2),\n    onRawWheel = _useFrameWheel2[0],\n    onFireFoxScroll = _useFrameWheel2[1];\n  // Mobile touch move\n  useMobileTouchMove(useVirtual, componentRef, function (deltaY, smoothOffset) {\n    if (originScroll(deltaY, smoothOffset)) {\n      return false;\n    }\n    onRawWheel({\n      preventDefault: function preventDefault() {},\n      deltaY: deltaY\n    });\n    return true;\n  });\n  useLayoutEffect(function () {\n    // Firefox only\n    function onMozMousePixelScroll(e) {\n      if (useVirtual) {\n        e.preventDefault();\n      }\n    }\n    var componentEle = componentRef.current;\n    componentEle.addEventListener('wheel', onRawWheel);\n    componentEle.addEventListener('DOMMouseScroll', onFireFoxScroll);\n    componentEle.addEventListener('MozMousePixelScroll', onMozMousePixelScroll);\n    return function () {\n      componentEle.removeEventListener('wheel', onRawWheel);\n      componentEle.removeEventListener('DOMMouseScroll', onFireFoxScroll);\n      componentEle.removeEventListener('MozMousePixelScroll', onMozMousePixelScroll);\n    };\n  }, [useVirtual]);\n  // Sync scroll left\n  useLayoutEffect(function () {\n    if (scrollWidth) {\n      setOffsetLeft(function (left) {\n        return keepInHorizontalRange(left);\n      });\n    }\n  }, [size.width, scrollWidth]);\n  // ================================= Ref ==================================\n  var delayHideScrollBar = function delayHideScrollBar() {\n    var _verticalScrollBarRef, _horizontalScrollBarR;\n    (_verticalScrollBarRef = verticalScrollBarRef.current) === null || _verticalScrollBarRef === void 0 ? void 0 : _verticalScrollBarRef.delayHidden();\n    (_horizontalScrollBarR = horizontalScrollBarRef.current) === null || _horizontalScrollBarR === void 0 ? void 0 : _horizontalScrollBarR.delayHidden();\n  };\n  var _scrollTo = useScrollTo(componentRef, mergedData, heights, itemHeight, getKey, function () {\n    return collectHeight(true);\n  }, syncScrollTop, delayHideScrollBar);\n  React.useImperativeHandle(ref, function () {\n    return {\n      getScrollInfo: getVirtualScrollInfo,\n      scrollTo: function scrollTo(config) {\n        function isPosScroll(arg) {\n          return arg && _typeof(arg) === 'object' && ('left' in arg || 'top' in arg);\n        }\n        if (isPosScroll(config)) {\n          // Scroll X\n          if (config.left !== undefined) {\n            setOffsetLeft(keepInHorizontalRange(config.left));\n          }\n          // Scroll Y\n          _scrollTo(config.top);\n        } else {\n          _scrollTo(config);\n        }\n      }\n    };\n  });\n  // ================================ Effect ================================\n  /** We need told outside that some list not rendered */\n  useLayoutEffect(function () {\n    if (onVisibleChange) {\n      var renderList = mergedData.slice(start, end + 1);\n      onVisibleChange(renderList, mergedData);\n    }\n  }, [start, end, mergedData]);\n  // ================================ Extra =================================\n  var getSize = useGetSize(mergedData, getKey, heights, itemHeight);\n  var extraContent = extraRender === null || extraRender === void 0 ? void 0 : extraRender({\n    start: start,\n    end: end,\n    virtual: inVirtual,\n    offsetX: offsetLeft,\n    offsetY: fillerOffset,\n    rtl: isRTL,\n    getSize: getSize\n  });\n  // ================================ Render ================================\n  var listChildren = useChildren(mergedData, start, end, scrollWidth, setInstanceRef, children, sharedConfig);\n  var componentStyle = null;\n  if (height) {\n    componentStyle = _objectSpread(_defineProperty({}, fullHeight ? 'height' : 'maxHeight', height), ScrollStyle);\n    if (useVirtual) {\n      componentStyle.overflowY = 'hidden';\n      if (scrollWidth) {\n        componentStyle.overflowX = 'hidden';\n      }\n      if (scrollMoving) {\n        componentStyle.pointerEvents = 'none';\n      }\n    }\n  }\n  var containerProps = {};\n  if (isRTL) {\n    containerProps.dir = 'rtl';\n  }\n  return /*#__PURE__*/React.createElement(\"div\", _extends({\n    style: _objectSpread(_objectSpread({}, style), {}, {\n      position: 'relative'\n    }),\n    className: mergedClassName\n  }, containerProps, restProps), /*#__PURE__*/React.createElement(ResizeObserver, {\n    onResize: onHolderResize\n  }, /*#__PURE__*/React.createElement(Component, {\n    className: \"\".concat(prefixCls, \"-holder\"),\n    style: componentStyle,\n    ref: componentRef,\n    onScroll: onFallbackScroll,\n    onMouseEnter: delayHideScrollBar\n  }, /*#__PURE__*/React.createElement(Filler, {\n    prefixCls: prefixCls,\n    height: scrollHeight,\n    offsetX: offsetLeft,\n    offsetY: fillerOffset,\n    scrollWidth: scrollWidth,\n    onInnerResize: collectHeight,\n    ref: fillerInnerRef,\n    innerProps: innerProps,\n    rtl: isRTL,\n    extra: extraContent\n  }, listChildren))), inVirtual && scrollHeight > height && /*#__PURE__*/React.createElement(ScrollBar, {\n    ref: verticalScrollBarRef,\n    prefixCls: prefixCls,\n    scrollOffset: offsetTop,\n    scrollRange: scrollHeight,\n    rtl: isRTL,\n    onScroll: onScrollBar,\n    onStartMove: onScrollbarStartMove,\n    onStopMove: onScrollbarStopMove,\n    spinSize: verticalScrollBarSpinSize,\n    containerSize: size.height,\n    style: styles === null || styles === void 0 ? void 0 : styles.verticalScrollBar,\n    thumbStyle: styles === null || styles === void 0 ? void 0 : styles.verticalScrollBarThumb\n  }), inVirtual && scrollWidth && /*#__PURE__*/React.createElement(ScrollBar, {\n    ref: horizontalScrollBarRef,\n    prefixCls: prefixCls,\n    scrollOffset: offsetLeft,\n    scrollRange: scrollWidth,\n    rtl: isRTL,\n    onScroll: onScrollBar,\n    onStartMove: onScrollbarStartMove,\n    onStopMove: onScrollbarStopMove,\n    spinSize: horizontalScrollBarSpinSize,\n    containerSize: size.width,\n    horizontal: true,\n    style: styles === null || styles === void 0 ? void 0 : styles.horizontalScrollBar,\n    thumbStyle: styles === null || styles === void 0 ? void 0 : styles.horizontalScrollBarThumb\n  }));\n}\nvar List = /*#__PURE__*/React.forwardRef(RawList);\nList.displayName = 'List';\nexport default List;","map":{"version":3,"names":["_extends","_objectSpread","_typeof","_slicedToArray","_defineProperty","_objectWithoutProperties","_excluded","React","useRef","useState","flushSync","classNames","ResizeObserver","Filler","ScrollBar","useChildren","useHeights","useScrollTo","useDiffItem","useFrameWheel","useMobileTouchMove","useOriginScroll","useLayoutEffect","getSpinSize","useEvent","useGetSize","EMPTY_DATA","ScrollStyle","overflowY","overflowAnchor","RawList","props","ref","_props$prefixCls","prefixCls","className","height","itemHeight","_props$fullHeight","fullHeight","style","data","children","itemKey","virtual","direction","scrollWidth","_props$component","component","Component","onScroll","onVirtualScroll","onVisibleChange","innerProps","extraRender","styles","restProps","useVirtual","inVirtual","length","isRTL","mergedClassName","concat","mergedData","componentRef","fillerInnerRef","_useState","_useState2","offsetTop","setOffsetTop","_useState3","_useState4","offsetLeft","setOffsetLeft","_useState5","_useState6","scrollMoving","setScrollMoving","onScrollbarStartMove","onScrollbarStopMove","getKey","useCallback","item","sharedConfig","syncScrollTop","newTop","origin","value","alignedTop","keepInRange","current","scrollTop","rangeRef","start","end","diffItemRef","_useDiffItem","_useDiffItem2","diffItem","_useHeights","_useHeights2","setInstanceRef","collectHeight","heights","heightUpdatedMark","_React$useMemo","useMemo","scrollHeight","undefined","offset","_fillerInnerRef$curre","offsetHeight","itemTop","startIndex","startOffset","endIndex","dataLen","i","key","cacheHeight","get","currentItemBottom","Math","ceil","min","fillerOffset","_React$useState","width","_React$useState2","size","setSize","onHolderResize","sizeInfo","offsetWidth","verticalScrollBarRef","horizontalScrollBarRef","horizontalScrollBarSpinSize","verticalScrollBarSpinSize","maxScrollHeight","maxScrollHeightRef","newScrollTop","Number","isNaN","max","isScrollAtTop","isScrollAtBottom","originScroll","getVirtualScrollInfo","x","y","lastVirtualScrollInfoRef","triggerScroll","nextInfo","onScrollBar","newScrollOffset","horizontal","newOffset","onFallbackScroll","e","currentTarget","keepInHorizontalRange","nextOffsetLeft","tmpOffsetLeft","onWheelDelta","offsetXY","fromHorizontal","left","top","_useFrameWheel","_useFrameWheel2","onRawWheel","onFireFoxScroll","deltaY","smoothOffset","preventDefault","onMozMousePixelScroll","componentEle","addEventListener","removeEventListener","delayHideScrollBar","_verticalScrollBarRef","_horizontalScrollBarR","delayHidden","_scrollTo","useImperativeHandle","getScrollInfo","scrollTo","config","isPosScroll","arg","renderList","slice","getSize","extraContent","offsetX","offsetY","rtl","listChildren","componentStyle","overflowX","pointerEvents","containerProps","dir","createElement","position","onResize","onMouseEnter","onInnerResize","extra","scrollOffset","scrollRange","onStartMove","onStopMove","spinSize","containerSize","verticalScrollBar","thumbStyle","verticalScrollBarThumb","horizontalScrollBar","horizontalScrollBarThumb","List","forwardRef","displayName"],"sources":["/var/www/gavt/node_modules/rc-virtual-list/es/List.js"],"sourcesContent":["import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"prefixCls\", \"className\", \"height\", \"itemHeight\", \"fullHeight\", \"style\", \"data\", \"children\", \"itemKey\", \"virtual\", \"direction\", \"scrollWidth\", \"component\", \"onScroll\", \"onVirtualScroll\", \"onVisibleChange\", \"innerProps\", \"extraRender\", \"styles\"];\nimport * as React from 'react';\nimport { useRef, useState } from 'react';\nimport { flushSync } from 'react-dom';\nimport classNames from 'classnames';\nimport ResizeObserver from 'rc-resize-observer';\nimport Filler from './Filler';\nimport ScrollBar from './ScrollBar';\nimport useChildren from './hooks/useChildren';\nimport useHeights from './hooks/useHeights';\nimport useScrollTo from './hooks/useScrollTo';\nimport useDiffItem from './hooks/useDiffItem';\nimport useFrameWheel from './hooks/useFrameWheel';\nimport useMobileTouchMove from './hooks/useMobileTouchMove';\nimport useOriginScroll from './hooks/useOriginScroll';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport { getSpinSize } from './utils/scrollbarUtil';\nimport { useEvent } from 'rc-util';\nimport { useGetSize } from './hooks/useGetSize';\nvar EMPTY_DATA = [];\nvar ScrollStyle = {\n  overflowY: 'auto',\n  overflowAnchor: 'none'\n};\nexport function RawList(props, ref) {\n  var _props$prefixCls = props.prefixCls,\n    prefixCls = _props$prefixCls === void 0 ? 'rc-virtual-list' : _props$prefixCls,\n    className = props.className,\n    height = props.height,\n    itemHeight = props.itemHeight,\n    _props$fullHeight = props.fullHeight,\n    fullHeight = _props$fullHeight === void 0 ? true : _props$fullHeight,\n    style = props.style,\n    data = props.data,\n    children = props.children,\n    itemKey = props.itemKey,\n    virtual = props.virtual,\n    direction = props.direction,\n    scrollWidth = props.scrollWidth,\n    _props$component = props.component,\n    Component = _props$component === void 0 ? 'div' : _props$component,\n    onScroll = props.onScroll,\n    onVirtualScroll = props.onVirtualScroll,\n    onVisibleChange = props.onVisibleChange,\n    innerProps = props.innerProps,\n    extraRender = props.extraRender,\n    styles = props.styles,\n    restProps = _objectWithoutProperties(props, _excluded);\n  // ================================= MISC =================================\n  var useVirtual = !!(virtual !== false && height && itemHeight);\n  var inVirtual = useVirtual && data && (itemHeight * data.length > height || !!scrollWidth);\n  var isRTL = direction === 'rtl';\n  var mergedClassName = classNames(prefixCls, _defineProperty({}, \"\".concat(prefixCls, \"-rtl\"), isRTL), className);\n  var mergedData = data || EMPTY_DATA;\n  var componentRef = useRef();\n  var fillerInnerRef = useRef();\n  // =============================== Item Key ===============================\n  var _useState = useState(0),\n    _useState2 = _slicedToArray(_useState, 2),\n    offsetTop = _useState2[0],\n    setOffsetTop = _useState2[1];\n  var _useState3 = useState(0),\n    _useState4 = _slicedToArray(_useState3, 2),\n    offsetLeft = _useState4[0],\n    setOffsetLeft = _useState4[1];\n  var _useState5 = useState(false),\n    _useState6 = _slicedToArray(_useState5, 2),\n    scrollMoving = _useState6[0],\n    setScrollMoving = _useState6[1];\n  var onScrollbarStartMove = function onScrollbarStartMove() {\n    setScrollMoving(true);\n  };\n  var onScrollbarStopMove = function onScrollbarStopMove() {\n    setScrollMoving(false);\n  };\n  // =============================== Item Key ===============================\n  var getKey = React.useCallback(function (item) {\n    if (typeof itemKey === 'function') {\n      return itemKey(item);\n    }\n    return item === null || item === void 0 ? void 0 : item[itemKey];\n  }, [itemKey]);\n  var sharedConfig = {\n    getKey: getKey\n  };\n  // ================================ Scroll ================================\n  function syncScrollTop(newTop) {\n    setOffsetTop(function (origin) {\n      var value;\n      if (typeof newTop === 'function') {\n        value = newTop(origin);\n      } else {\n        value = newTop;\n      }\n      var alignedTop = keepInRange(value);\n      componentRef.current.scrollTop = alignedTop;\n      return alignedTop;\n    });\n  }\n  // ================================ Legacy ================================\n  // Put ref here since the range is generate by follow\n  var rangeRef = useRef({\n    start: 0,\n    end: mergedData.length\n  });\n  var diffItemRef = useRef();\n  var _useDiffItem = useDiffItem(mergedData, getKey),\n    _useDiffItem2 = _slicedToArray(_useDiffItem, 1),\n    diffItem = _useDiffItem2[0];\n  diffItemRef.current = diffItem;\n  // ================================ Height ================================\n  var _useHeights = useHeights(getKey, null, null),\n    _useHeights2 = _slicedToArray(_useHeights, 4),\n    setInstanceRef = _useHeights2[0],\n    collectHeight = _useHeights2[1],\n    heights = _useHeights2[2],\n    heightUpdatedMark = _useHeights2[3];\n  // ========================== Visible Calculation =========================\n  var _React$useMemo = React.useMemo(function () {\n      if (!useVirtual) {\n        return {\n          scrollHeight: undefined,\n          start: 0,\n          end: mergedData.length - 1,\n          offset: undefined\n        };\n      }\n      // Always use virtual scroll bar in avoid shaking\n      if (!inVirtual) {\n        var _fillerInnerRef$curre;\n        return {\n          scrollHeight: ((_fillerInnerRef$curre = fillerInnerRef.current) === null || _fillerInnerRef$curre === void 0 ? void 0 : _fillerInnerRef$curre.offsetHeight) || 0,\n          start: 0,\n          end: mergedData.length - 1,\n          offset: undefined\n        };\n      }\n      var itemTop = 0;\n      var startIndex;\n      var startOffset;\n      var endIndex;\n      var dataLen = mergedData.length;\n      for (var i = 0; i < dataLen; i += 1) {\n        var item = mergedData[i];\n        var key = getKey(item);\n        var cacheHeight = heights.get(key);\n        var currentItemBottom = itemTop + (cacheHeight === undefined ? itemHeight : cacheHeight);\n        // Check item top in the range\n        if (currentItemBottom >= offsetTop && startIndex === undefined) {\n          startIndex = i;\n          startOffset = itemTop;\n        }\n        // Check item bottom in the range. We will render additional one item for motion usage\n        if (currentItemBottom > offsetTop + height && endIndex === undefined) {\n          endIndex = i;\n        }\n        itemTop = currentItemBottom;\n      }\n      // When scrollTop at the end but data cut to small count will reach this\n      if (startIndex === undefined) {\n        startIndex = 0;\n        startOffset = 0;\n        endIndex = Math.ceil(height / itemHeight);\n      }\n      if (endIndex === undefined) {\n        endIndex = mergedData.length - 1;\n      }\n      // Give cache to improve scroll experience\n      endIndex = Math.min(endIndex + 1, mergedData.length - 1);\n      return {\n        scrollHeight: itemTop,\n        start: startIndex,\n        end: endIndex,\n        offset: startOffset\n      };\n    }, [inVirtual, useVirtual, offsetTop, mergedData, heightUpdatedMark, height]),\n    scrollHeight = _React$useMemo.scrollHeight,\n    start = _React$useMemo.start,\n    end = _React$useMemo.end,\n    fillerOffset = _React$useMemo.offset;\n  rangeRef.current.start = start;\n  rangeRef.current.end = end;\n  // ================================= Size =================================\n  var _React$useState = React.useState({\n      width: 0,\n      height: height\n    }),\n    _React$useState2 = _slicedToArray(_React$useState, 2),\n    size = _React$useState2[0],\n    setSize = _React$useState2[1];\n  var onHolderResize = function onHolderResize(sizeInfo) {\n    setSize({\n      width: sizeInfo.width || sizeInfo.offsetWidth,\n      height: sizeInfo.height || sizeInfo.offsetHeight\n    });\n  };\n  // Hack on scrollbar to enable flash call\n  var verticalScrollBarRef = useRef();\n  var horizontalScrollBarRef = useRef();\n  var horizontalScrollBarSpinSize = React.useMemo(function () {\n    return getSpinSize(size.width, scrollWidth);\n  }, [size.width, scrollWidth]);\n  var verticalScrollBarSpinSize = React.useMemo(function () {\n    return getSpinSize(size.height, scrollHeight);\n  }, [size.height, scrollHeight]);\n  // =============================== In Range ===============================\n  var maxScrollHeight = scrollHeight - height;\n  var maxScrollHeightRef = useRef(maxScrollHeight);\n  maxScrollHeightRef.current = maxScrollHeight;\n  function keepInRange(newScrollTop) {\n    var newTop = newScrollTop;\n    if (!Number.isNaN(maxScrollHeightRef.current)) {\n      newTop = Math.min(newTop, maxScrollHeightRef.current);\n    }\n    newTop = Math.max(newTop, 0);\n    return newTop;\n  }\n  var isScrollAtTop = offsetTop <= 0;\n  var isScrollAtBottom = offsetTop >= maxScrollHeight;\n  var originScroll = useOriginScroll(isScrollAtTop, isScrollAtBottom);\n  // ================================ Scroll ================================\n  var getVirtualScrollInfo = function getVirtualScrollInfo() {\n    return {\n      x: isRTL ? -offsetLeft : offsetLeft,\n      y: offsetTop\n    };\n  };\n  var lastVirtualScrollInfoRef = useRef(getVirtualScrollInfo());\n  var triggerScroll = useEvent(function () {\n    if (onVirtualScroll) {\n      var nextInfo = getVirtualScrollInfo();\n      // Trigger when offset changed\n      if (lastVirtualScrollInfoRef.current.x !== nextInfo.x || lastVirtualScrollInfoRef.current.y !== nextInfo.y) {\n        onVirtualScroll(nextInfo);\n        lastVirtualScrollInfoRef.current = nextInfo;\n      }\n    }\n  });\n  function onScrollBar(newScrollOffset, horizontal) {\n    var newOffset = newScrollOffset;\n    if (horizontal) {\n      flushSync(function () {\n        setOffsetLeft(newOffset);\n      });\n      triggerScroll();\n    } else {\n      syncScrollTop(newOffset);\n    }\n  }\n  // When data size reduce. It may trigger native scroll event back to fit scroll position\n  function onFallbackScroll(e) {\n    var newScrollTop = e.currentTarget.scrollTop;\n    if (newScrollTop !== offsetTop) {\n      syncScrollTop(newScrollTop);\n    }\n    // Trigger origin onScroll\n    onScroll === null || onScroll === void 0 ? void 0 : onScroll(e);\n    triggerScroll();\n  }\n  var keepInHorizontalRange = function keepInHorizontalRange(nextOffsetLeft) {\n    var tmpOffsetLeft = nextOffsetLeft;\n    var max = scrollWidth - size.width;\n    tmpOffsetLeft = Math.max(tmpOffsetLeft, 0);\n    tmpOffsetLeft = Math.min(tmpOffsetLeft, max);\n    return tmpOffsetLeft;\n  };\n  var onWheelDelta = useEvent(function (offsetXY, fromHorizontal) {\n    if (fromHorizontal) {\n      // Horizontal scroll no need sync virtual position\n      flushSync(function () {\n        setOffsetLeft(function (left) {\n          var nextOffsetLeft = left + (isRTL ? -offsetXY : offsetXY);\n          return keepInHorizontalRange(nextOffsetLeft);\n        });\n      });\n      triggerScroll();\n    } else {\n      syncScrollTop(function (top) {\n        var newTop = top + offsetXY;\n        return newTop;\n      });\n    }\n  });\n  // Since this added in global,should use ref to keep update\n  var _useFrameWheel = useFrameWheel(useVirtual, isScrollAtTop, isScrollAtBottom, !!scrollWidth, onWheelDelta),\n    _useFrameWheel2 = _slicedToArray(_useFrameWheel, 2),\n    onRawWheel = _useFrameWheel2[0],\n    onFireFoxScroll = _useFrameWheel2[1];\n  // Mobile touch move\n  useMobileTouchMove(useVirtual, componentRef, function (deltaY, smoothOffset) {\n    if (originScroll(deltaY, smoothOffset)) {\n      return false;\n    }\n    onRawWheel({\n      preventDefault: function preventDefault() {},\n      deltaY: deltaY\n    });\n    return true;\n  });\n  useLayoutEffect(function () {\n    // Firefox only\n    function onMozMousePixelScroll(e) {\n      if (useVirtual) {\n        e.preventDefault();\n      }\n    }\n    var componentEle = componentRef.current;\n    componentEle.addEventListener('wheel', onRawWheel);\n    componentEle.addEventListener('DOMMouseScroll', onFireFoxScroll);\n    componentEle.addEventListener('MozMousePixelScroll', onMozMousePixelScroll);\n    return function () {\n      componentEle.removeEventListener('wheel', onRawWheel);\n      componentEle.removeEventListener('DOMMouseScroll', onFireFoxScroll);\n      componentEle.removeEventListener('MozMousePixelScroll', onMozMousePixelScroll);\n    };\n  }, [useVirtual]);\n  // Sync scroll left\n  useLayoutEffect(function () {\n    if (scrollWidth) {\n      setOffsetLeft(function (left) {\n        return keepInHorizontalRange(left);\n      });\n    }\n  }, [size.width, scrollWidth]);\n  // ================================= Ref ==================================\n  var delayHideScrollBar = function delayHideScrollBar() {\n    var _verticalScrollBarRef, _horizontalScrollBarR;\n    (_verticalScrollBarRef = verticalScrollBarRef.current) === null || _verticalScrollBarRef === void 0 ? void 0 : _verticalScrollBarRef.delayHidden();\n    (_horizontalScrollBarR = horizontalScrollBarRef.current) === null || _horizontalScrollBarR === void 0 ? void 0 : _horizontalScrollBarR.delayHidden();\n  };\n  var _scrollTo = useScrollTo(componentRef, mergedData, heights, itemHeight, getKey, function () {\n    return collectHeight(true);\n  }, syncScrollTop, delayHideScrollBar);\n  React.useImperativeHandle(ref, function () {\n    return {\n      getScrollInfo: getVirtualScrollInfo,\n      scrollTo: function scrollTo(config) {\n        function isPosScroll(arg) {\n          return arg && _typeof(arg) === 'object' && ('left' in arg || 'top' in arg);\n        }\n        if (isPosScroll(config)) {\n          // Scroll X\n          if (config.left !== undefined) {\n            setOffsetLeft(keepInHorizontalRange(config.left));\n          }\n          // Scroll Y\n          _scrollTo(config.top);\n        } else {\n          _scrollTo(config);\n        }\n      }\n    };\n  });\n  // ================================ Effect ================================\n  /** We need told outside that some list not rendered */\n  useLayoutEffect(function () {\n    if (onVisibleChange) {\n      var renderList = mergedData.slice(start, end + 1);\n      onVisibleChange(renderList, mergedData);\n    }\n  }, [start, end, mergedData]);\n  // ================================ Extra =================================\n  var getSize = useGetSize(mergedData, getKey, heights, itemHeight);\n  var extraContent = extraRender === null || extraRender === void 0 ? void 0 : extraRender({\n    start: start,\n    end: end,\n    virtual: inVirtual,\n    offsetX: offsetLeft,\n    offsetY: fillerOffset,\n    rtl: isRTL,\n    getSize: getSize\n  });\n  // ================================ Render ================================\n  var listChildren = useChildren(mergedData, start, end, scrollWidth, setInstanceRef, children, sharedConfig);\n  var componentStyle = null;\n  if (height) {\n    componentStyle = _objectSpread(_defineProperty({}, fullHeight ? 'height' : 'maxHeight', height), ScrollStyle);\n    if (useVirtual) {\n      componentStyle.overflowY = 'hidden';\n      if (scrollWidth) {\n        componentStyle.overflowX = 'hidden';\n      }\n      if (scrollMoving) {\n        componentStyle.pointerEvents = 'none';\n      }\n    }\n  }\n  var containerProps = {};\n  if (isRTL) {\n    containerProps.dir = 'rtl';\n  }\n  return /*#__PURE__*/React.createElement(\"div\", _extends({\n    style: _objectSpread(_objectSpread({}, style), {}, {\n      position: 'relative'\n    }),\n    className: mergedClassName\n  }, containerProps, restProps), /*#__PURE__*/React.createElement(ResizeObserver, {\n    onResize: onHolderResize\n  }, /*#__PURE__*/React.createElement(Component, {\n    className: \"\".concat(prefixCls, \"-holder\"),\n    style: componentStyle,\n    ref: componentRef,\n    onScroll: onFallbackScroll,\n    onMouseEnter: delayHideScrollBar\n  }, /*#__PURE__*/React.createElement(Filler, {\n    prefixCls: prefixCls,\n    height: scrollHeight,\n    offsetX: offsetLeft,\n    offsetY: fillerOffset,\n    scrollWidth: scrollWidth,\n    onInnerResize: collectHeight,\n    ref: fillerInnerRef,\n    innerProps: innerProps,\n    rtl: isRTL,\n    extra: extraContent\n  }, listChildren))), inVirtual && scrollHeight > height && /*#__PURE__*/React.createElement(ScrollBar, {\n    ref: verticalScrollBarRef,\n    prefixCls: prefixCls,\n    scrollOffset: offsetTop,\n    scrollRange: scrollHeight,\n    rtl: isRTL,\n    onScroll: onScrollBar,\n    onStartMove: onScrollbarStartMove,\n    onStopMove: onScrollbarStopMove,\n    spinSize: verticalScrollBarSpinSize,\n    containerSize: size.height,\n    style: styles === null || styles === void 0 ? void 0 : styles.verticalScrollBar,\n    thumbStyle: styles === null || styles === void 0 ? void 0 : styles.verticalScrollBarThumb\n  }), inVirtual && scrollWidth && /*#__PURE__*/React.createElement(ScrollBar, {\n    ref: horizontalScrollBarRef,\n    prefixCls: prefixCls,\n    scrollOffset: offsetLeft,\n    scrollRange: scrollWidth,\n    rtl: isRTL,\n    onScroll: onScrollBar,\n    onStartMove: onScrollbarStartMove,\n    onStopMove: onScrollbarStopMove,\n    spinSize: horizontalScrollBarSpinSize,\n    containerSize: size.width,\n    horizontal: true,\n    style: styles === null || styles === void 0 ? void 0 : styles.horizontalScrollBar,\n    thumbStyle: styles === null || styles === void 0 ? void 0 : styles.horizontalScrollBarThumb\n  }));\n}\nvar List = /*#__PURE__*/React.forwardRef(RawList);\nList.displayName = 'List';\nexport default List;"],"mappings":"AAAA,OAAOA,QAAQ,MAAM,oCAAoC;AACzD,OAAOC,aAAa,MAAM,0CAA0C;AACpE,OAAOC,OAAO,MAAM,mCAAmC;AACvD,OAAOC,cAAc,MAAM,0CAA0C;AACrE,OAAOC,eAAe,MAAM,2CAA2C;AACvE,OAAOC,wBAAwB,MAAM,oDAAoD;AACzF,IAAIC,SAAS,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,CAAC;AACrQ,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAASC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AACxC,SAASC,SAAS,QAAQ,WAAW;AACrC,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,cAAc,MAAM,oBAAoB;AAC/C,OAAOC,MAAM,MAAM,UAAU;AAC7B,OAAOC,SAAS,MAAM,aAAa;AACnC,OAAOC,WAAW,MAAM,qBAAqB;AAC7C,OAAOC,UAAU,MAAM,oBAAoB;AAC3C,OAAOC,WAAW,MAAM,qBAAqB;AAC7C,OAAOC,WAAW,MAAM,qBAAqB;AAC7C,OAAOC,aAAa,MAAM,uBAAuB;AACjD,OAAOC,kBAAkB,MAAM,4BAA4B;AAC3D,OAAOC,eAAe,MAAM,yBAAyB;AACrD,OAAOC,eAAe,MAAM,kCAAkC;AAC9D,SAASC,WAAW,QAAQ,uBAAuB;AACnD,SAASC,QAAQ,QAAQ,SAAS;AAClC,SAASC,UAAU,QAAQ,oBAAoB;AAC/C,IAAIC,UAAU,GAAG,EAAE;AACnB,IAAIC,WAAW,GAAG;EAChBC,SAAS,EAAE,MAAM;EACjBC,cAAc,EAAE;AAClB,CAAC;AACD,OAAO,SAASC,OAAOA,CAACC,KAAK,EAAEC,GAAG,EAAE;EAClC,IAAIC,gBAAgB,GAAGF,KAAK,CAACG,SAAS;IACpCA,SAAS,GAAGD,gBAAgB,KAAK,KAAK,CAAC,GAAG,iBAAiB,GAAGA,gBAAgB;IAC9EE,SAAS,GAAGJ,KAAK,CAACI,SAAS;IAC3BC,MAAM,GAAGL,KAAK,CAACK,MAAM;IACrBC,UAAU,GAAGN,KAAK,CAACM,UAAU;IAC7BC,iBAAiB,GAAGP,KAAK,CAACQ,UAAU;IACpCA,UAAU,GAAGD,iBAAiB,KAAK,KAAK,CAAC,GAAG,IAAI,GAAGA,iBAAiB;IACpEE,KAAK,GAAGT,KAAK,CAACS,KAAK;IACnBC,IAAI,GAAGV,KAAK,CAACU,IAAI;IACjBC,QAAQ,GAAGX,KAAK,CAACW,QAAQ;IACzBC,OAAO,GAAGZ,KAAK,CAACY,OAAO;IACvBC,OAAO,GAAGb,KAAK,CAACa,OAAO;IACvBC,SAAS,GAAGd,KAAK,CAACc,SAAS;IAC3BC,WAAW,GAAGf,KAAK,CAACe,WAAW;IAC/BC,gBAAgB,GAAGhB,KAAK,CAACiB,SAAS;IAClCC,SAAS,GAAGF,gBAAgB,KAAK,KAAK,CAAC,GAAG,KAAK,GAAGA,gBAAgB;IAClEG,QAAQ,GAAGnB,KAAK,CAACmB,QAAQ;IACzBC,eAAe,GAAGpB,KAAK,CAACoB,eAAe;IACvCC,eAAe,GAAGrB,KAAK,CAACqB,eAAe;IACvCC,UAAU,GAAGtB,KAAK,CAACsB,UAAU;IAC7BC,WAAW,GAAGvB,KAAK,CAACuB,WAAW;IAC/BC,MAAM,GAAGxB,KAAK,CAACwB,MAAM;IACrBC,SAAS,GAAGnD,wBAAwB,CAAC0B,KAAK,EAAEzB,SAAS,CAAC;EACxD;EACA,IAAImD,UAAU,GAAG,CAAC,EAAEb,OAAO,KAAK,KAAK,IAAIR,MAAM,IAAIC,UAAU,CAAC;EAC9D,IAAIqB,SAAS,GAAGD,UAAU,IAAIhB,IAAI,KAAKJ,UAAU,GAAGI,IAAI,CAACkB,MAAM,GAAGvB,MAAM,IAAI,CAAC,CAACU,WAAW,CAAC;EAC1F,IAAIc,KAAK,GAAGf,SAAS,KAAK,KAAK;EAC/B,IAAIgB,eAAe,GAAGlD,UAAU,CAACuB,SAAS,EAAE9B,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC0D,MAAM,CAAC5B,SAAS,EAAE,MAAM,CAAC,EAAE0B,KAAK,CAAC,EAAEzB,SAAS,CAAC;EAChH,IAAI4B,UAAU,GAAGtB,IAAI,IAAIf,UAAU;EACnC,IAAIsC,YAAY,GAAGxD,MAAM,CAAC,CAAC;EAC3B,IAAIyD,cAAc,GAAGzD,MAAM,CAAC,CAAC;EAC7B;EACA,IAAI0D,SAAS,GAAGzD,QAAQ,CAAC,CAAC,CAAC;IACzB0D,UAAU,GAAGhE,cAAc,CAAC+D,SAAS,EAAE,CAAC,CAAC;IACzCE,SAAS,GAAGD,UAAU,CAAC,CAAC,CAAC;IACzBE,YAAY,GAAGF,UAAU,CAAC,CAAC,CAAC;EAC9B,IAAIG,UAAU,GAAG7D,QAAQ,CAAC,CAAC,CAAC;IAC1B8D,UAAU,GAAGpE,cAAc,CAACmE,UAAU,EAAE,CAAC,CAAC;IAC1CE,UAAU,GAAGD,UAAU,CAAC,CAAC,CAAC;IAC1BE,aAAa,GAAGF,UAAU,CAAC,CAAC,CAAC;EAC/B,IAAIG,UAAU,GAAGjE,QAAQ,CAAC,KAAK,CAAC;IAC9BkE,UAAU,GAAGxE,cAAc,CAACuE,UAAU,EAAE,CAAC,CAAC;IAC1CE,YAAY,GAAGD,UAAU,CAAC,CAAC,CAAC;IAC5BE,eAAe,GAAGF,UAAU,CAAC,CAAC,CAAC;EACjC,IAAIG,oBAAoB,GAAG,SAASA,oBAAoBA,CAAA,EAAG;IACzDD,eAAe,CAAC,IAAI,CAAC;EACvB,CAAC;EACD,IAAIE,mBAAmB,GAAG,SAASA,mBAAmBA,CAAA,EAAG;IACvDF,eAAe,CAAC,KAAK,CAAC;EACxB,CAAC;EACD;EACA,IAAIG,MAAM,GAAGzE,KAAK,CAAC0E,WAAW,CAAC,UAAUC,IAAI,EAAE;IAC7C,IAAI,OAAOvC,OAAO,KAAK,UAAU,EAAE;MACjC,OAAOA,OAAO,CAACuC,IAAI,CAAC;IACtB;IACA,OAAOA,IAAI,KAAK,IAAI,IAAIA,IAAI,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,IAAI,CAACvC,OAAO,CAAC;EAClE,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EACb,IAAIwC,YAAY,GAAG;IACjBH,MAAM,EAAEA;EACV,CAAC;EACD;EACA,SAASI,aAAaA,CAACC,MAAM,EAAE;IAC7BhB,YAAY,CAAC,UAAUiB,MAAM,EAAE;MAC7B,IAAIC,KAAK;MACT,IAAI,OAAOF,MAAM,KAAK,UAAU,EAAE;QAChCE,KAAK,GAAGF,MAAM,CAACC,MAAM,CAAC;MACxB,CAAC,MAAM;QACLC,KAAK,GAAGF,MAAM;MAChB;MACA,IAAIG,UAAU,GAAGC,WAAW,CAACF,KAAK,CAAC;MACnCvB,YAAY,CAAC0B,OAAO,CAACC,SAAS,GAAGH,UAAU;MAC3C,OAAOA,UAAU;IACnB,CAAC,CAAC;EACJ;EACA;EACA;EACA,IAAII,QAAQ,GAAGpF,MAAM,CAAC;IACpBqF,KAAK,EAAE,CAAC;IACRC,GAAG,EAAE/B,UAAU,CAACJ;EAClB,CAAC,CAAC;EACF,IAAIoC,WAAW,GAAGvF,MAAM,CAAC,CAAC;EAC1B,IAAIwF,YAAY,GAAG9E,WAAW,CAAC6C,UAAU,EAAEiB,MAAM,CAAC;IAChDiB,aAAa,GAAG9F,cAAc,CAAC6F,YAAY,EAAE,CAAC,CAAC;IAC/CE,QAAQ,GAAGD,aAAa,CAAC,CAAC,CAAC;EAC7BF,WAAW,CAACL,OAAO,GAAGQ,QAAQ;EAC9B;EACA,IAAIC,WAAW,GAAGnF,UAAU,CAACgE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC;IAC9CoB,YAAY,GAAGjG,cAAc,CAACgG,WAAW,EAAE,CAAC,CAAC;IAC7CE,cAAc,GAAGD,YAAY,CAAC,CAAC,CAAC;IAChCE,aAAa,GAAGF,YAAY,CAAC,CAAC,CAAC;IAC/BG,OAAO,GAAGH,YAAY,CAAC,CAAC,CAAC;IACzBI,iBAAiB,GAAGJ,YAAY,CAAC,CAAC,CAAC;EACrC;EACA,IAAIK,cAAc,GAAGlG,KAAK,CAACmG,OAAO,CAAC,YAAY;MAC3C,IAAI,CAACjD,UAAU,EAAE;QACf,OAAO;UACLkD,YAAY,EAAEC,SAAS;UACvBf,KAAK,EAAE,CAAC;UACRC,GAAG,EAAE/B,UAAU,CAACJ,MAAM,GAAG,CAAC;UAC1BkD,MAAM,EAAED;QACV,CAAC;MACH;MACA;MACA,IAAI,CAAClD,SAAS,EAAE;QACd,IAAIoD,qBAAqB;QACzB,OAAO;UACLH,YAAY,EAAE,CAAC,CAACG,qBAAqB,GAAG7C,cAAc,CAACyB,OAAO,MAAM,IAAI,IAAIoB,qBAAqB,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,qBAAqB,CAACC,YAAY,KAAK,CAAC;UAChKlB,KAAK,EAAE,CAAC;UACRC,GAAG,EAAE/B,UAAU,CAACJ,MAAM,GAAG,CAAC;UAC1BkD,MAAM,EAAED;QACV,CAAC;MACH;MACA,IAAII,OAAO,GAAG,CAAC;MACf,IAAIC,UAAU;MACd,IAAIC,WAAW;MACf,IAAIC,QAAQ;MACZ,IAAIC,OAAO,GAAGrD,UAAU,CAACJ,MAAM;MAC/B,KAAK,IAAI0D,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,OAAO,EAAEC,CAAC,IAAI,CAAC,EAAE;QACnC,IAAInC,IAAI,GAAGnB,UAAU,CAACsD,CAAC,CAAC;QACxB,IAAIC,GAAG,GAAGtC,MAAM,CAACE,IAAI,CAAC;QACtB,IAAIqC,WAAW,GAAGhB,OAAO,CAACiB,GAAG,CAACF,GAAG,CAAC;QAClC,IAAIG,iBAAiB,GAAGT,OAAO,IAAIO,WAAW,KAAKX,SAAS,GAAGvE,UAAU,GAAGkF,WAAW,CAAC;QACxF;QACA,IAAIE,iBAAiB,IAAIrD,SAAS,IAAI6C,UAAU,KAAKL,SAAS,EAAE;UAC9DK,UAAU,GAAGI,CAAC;UACdH,WAAW,GAAGF,OAAO;QACvB;QACA;QACA,IAAIS,iBAAiB,GAAGrD,SAAS,GAAGhC,MAAM,IAAI+E,QAAQ,KAAKP,SAAS,EAAE;UACpEO,QAAQ,GAAGE,CAAC;QACd;QACAL,OAAO,GAAGS,iBAAiB;MAC7B;MACA;MACA,IAAIR,UAAU,KAAKL,SAAS,EAAE;QAC5BK,UAAU,GAAG,CAAC;QACdC,WAAW,GAAG,CAAC;QACfC,QAAQ,GAAGO,IAAI,CAACC,IAAI,CAACvF,MAAM,GAAGC,UAAU,CAAC;MAC3C;MACA,IAAI8E,QAAQ,KAAKP,SAAS,EAAE;QAC1BO,QAAQ,GAAGpD,UAAU,CAACJ,MAAM,GAAG,CAAC;MAClC;MACA;MACAwD,QAAQ,GAAGO,IAAI,CAACE,GAAG,CAACT,QAAQ,GAAG,CAAC,EAAEpD,UAAU,CAACJ,MAAM,GAAG,CAAC,CAAC;MACxD,OAAO;QACLgD,YAAY,EAAEK,OAAO;QACrBnB,KAAK,EAAEoB,UAAU;QACjBnB,GAAG,EAAEqB,QAAQ;QACbN,MAAM,EAAEK;MACV,CAAC;IACH,CAAC,EAAE,CAACxD,SAAS,EAAED,UAAU,EAAEW,SAAS,EAAEL,UAAU,EAAEyC,iBAAiB,EAAEpE,MAAM,CAAC,CAAC;IAC7EuE,YAAY,GAAGF,cAAc,CAACE,YAAY;IAC1Cd,KAAK,GAAGY,cAAc,CAACZ,KAAK;IAC5BC,GAAG,GAAGW,cAAc,CAACX,GAAG;IACxB+B,YAAY,GAAGpB,cAAc,CAACI,MAAM;EACtCjB,QAAQ,CAACF,OAAO,CAACG,KAAK,GAAGA,KAAK;EAC9BD,QAAQ,CAACF,OAAO,CAACI,GAAG,GAAGA,GAAG;EAC1B;EACA,IAAIgC,eAAe,GAAGvH,KAAK,CAACE,QAAQ,CAAC;MACjCsH,KAAK,EAAE,CAAC;MACR3F,MAAM,EAAEA;IACV,CAAC,CAAC;IACF4F,gBAAgB,GAAG7H,cAAc,CAAC2H,eAAe,EAAE,CAAC,CAAC;IACrDG,IAAI,GAAGD,gBAAgB,CAAC,CAAC,CAAC;IAC1BE,OAAO,GAAGF,gBAAgB,CAAC,CAAC,CAAC;EAC/B,IAAIG,cAAc,GAAG,SAASA,cAAcA,CAACC,QAAQ,EAAE;IACrDF,OAAO,CAAC;MACNH,KAAK,EAAEK,QAAQ,CAACL,KAAK,IAAIK,QAAQ,CAACC,WAAW;MAC7CjG,MAAM,EAAEgG,QAAQ,CAAChG,MAAM,IAAIgG,QAAQ,CAACrB;IACtC,CAAC,CAAC;EACJ,CAAC;EACD;EACA,IAAIuB,oBAAoB,GAAG9H,MAAM,CAAC,CAAC;EACnC,IAAI+H,sBAAsB,GAAG/H,MAAM,CAAC,CAAC;EACrC,IAAIgI,2BAA2B,GAAGjI,KAAK,CAACmG,OAAO,CAAC,YAAY;IAC1D,OAAOnF,WAAW,CAAC0G,IAAI,CAACF,KAAK,EAAEjF,WAAW,CAAC;EAC7C,CAAC,EAAE,CAACmF,IAAI,CAACF,KAAK,EAAEjF,WAAW,CAAC,CAAC;EAC7B,IAAI2F,yBAAyB,GAAGlI,KAAK,CAACmG,OAAO,CAAC,YAAY;IACxD,OAAOnF,WAAW,CAAC0G,IAAI,CAAC7F,MAAM,EAAEuE,YAAY,CAAC;EAC/C,CAAC,EAAE,CAACsB,IAAI,CAAC7F,MAAM,EAAEuE,YAAY,CAAC,CAAC;EAC/B;EACA,IAAI+B,eAAe,GAAG/B,YAAY,GAAGvE,MAAM;EAC3C,IAAIuG,kBAAkB,GAAGnI,MAAM,CAACkI,eAAe,CAAC;EAChDC,kBAAkB,CAACjD,OAAO,GAAGgD,eAAe;EAC5C,SAASjD,WAAWA,CAACmD,YAAY,EAAE;IACjC,IAAIvD,MAAM,GAAGuD,YAAY;IACzB,IAAI,CAACC,MAAM,CAACC,KAAK,CAACH,kBAAkB,CAACjD,OAAO,CAAC,EAAE;MAC7CL,MAAM,GAAGqC,IAAI,CAACE,GAAG,CAACvC,MAAM,EAAEsD,kBAAkB,CAACjD,OAAO,CAAC;IACvD;IACAL,MAAM,GAAGqC,IAAI,CAACqB,GAAG,CAAC1D,MAAM,EAAE,CAAC,CAAC;IAC5B,OAAOA,MAAM;EACf;EACA,IAAI2D,aAAa,GAAG5E,SAAS,IAAI,CAAC;EAClC,IAAI6E,gBAAgB,GAAG7E,SAAS,IAAIsE,eAAe;EACnD,IAAIQ,YAAY,GAAG7H,eAAe,CAAC2H,aAAa,EAAEC,gBAAgB,CAAC;EACnE;EACA,IAAIE,oBAAoB,GAAG,SAASA,oBAAoBA,CAAA,EAAG;IACzD,OAAO;MACLC,CAAC,EAAExF,KAAK,GAAG,CAACY,UAAU,GAAGA,UAAU;MACnC6E,CAAC,EAAEjF;IACL,CAAC;EACH,CAAC;EACD,IAAIkF,wBAAwB,GAAG9I,MAAM,CAAC2I,oBAAoB,CAAC,CAAC,CAAC;EAC7D,IAAII,aAAa,GAAG/H,QAAQ,CAAC,YAAY;IACvC,IAAI2B,eAAe,EAAE;MACnB,IAAIqG,QAAQ,GAAGL,oBAAoB,CAAC,CAAC;MACrC;MACA,IAAIG,wBAAwB,CAAC5D,OAAO,CAAC0D,CAAC,KAAKI,QAAQ,CAACJ,CAAC,IAAIE,wBAAwB,CAAC5D,OAAO,CAAC2D,CAAC,KAAKG,QAAQ,CAACH,CAAC,EAAE;QAC1GlG,eAAe,CAACqG,QAAQ,CAAC;QACzBF,wBAAwB,CAAC5D,OAAO,GAAG8D,QAAQ;MAC7C;IACF;EACF,CAAC,CAAC;EACF,SAASC,WAAWA,CAACC,eAAe,EAAEC,UAAU,EAAE;IAChD,IAAIC,SAAS,GAAGF,eAAe;IAC/B,IAAIC,UAAU,EAAE;MACdjJ,SAAS,CAAC,YAAY;QACpB+D,aAAa,CAACmF,SAAS,CAAC;MAC1B,CAAC,CAAC;MACFL,aAAa,CAAC,CAAC;IACjB,CAAC,MAAM;MACLnE,aAAa,CAACwE,SAAS,CAAC;IAC1B;EACF;EACA;EACA,SAASC,gBAAgBA,CAACC,CAAC,EAAE;IAC3B,IAAIlB,YAAY,GAAGkB,CAAC,CAACC,aAAa,CAACpE,SAAS;IAC5C,IAAIiD,YAAY,KAAKxE,SAAS,EAAE;MAC9BgB,aAAa,CAACwD,YAAY,CAAC;IAC7B;IACA;IACA1F,QAAQ,KAAK,IAAI,IAAIA,QAAQ,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,QAAQ,CAAC4G,CAAC,CAAC;IAC/DP,aAAa,CAAC,CAAC;EACjB;EACA,IAAIS,qBAAqB,GAAG,SAASA,qBAAqBA,CAACC,cAAc,EAAE;IACzE,IAAIC,aAAa,GAAGD,cAAc;IAClC,IAAIlB,GAAG,GAAGjG,WAAW,GAAGmF,IAAI,CAACF,KAAK;IAClCmC,aAAa,GAAGxC,IAAI,CAACqB,GAAG,CAACmB,aAAa,EAAE,CAAC,CAAC;IAC1CA,aAAa,GAAGxC,IAAI,CAACE,GAAG,CAACsC,aAAa,EAAEnB,GAAG,CAAC;IAC5C,OAAOmB,aAAa;EACtB,CAAC;EACD,IAAIC,YAAY,GAAG3I,QAAQ,CAAC,UAAU4I,QAAQ,EAAEC,cAAc,EAAE;IAC9D,IAAIA,cAAc,EAAE;MAClB;MACA3J,SAAS,CAAC,YAAY;QACpB+D,aAAa,CAAC,UAAU6F,IAAI,EAAE;UAC5B,IAAIL,cAAc,GAAGK,IAAI,IAAI1G,KAAK,GAAG,CAACwG,QAAQ,GAAGA,QAAQ,CAAC;UAC1D,OAAOJ,qBAAqB,CAACC,cAAc,CAAC;QAC9C,CAAC,CAAC;MACJ,CAAC,CAAC;MACFV,aAAa,CAAC,CAAC;IACjB,CAAC,MAAM;MACLnE,aAAa,CAAC,UAAUmF,GAAG,EAAE;QAC3B,IAAIlF,MAAM,GAAGkF,GAAG,GAAGH,QAAQ;QAC3B,OAAO/E,MAAM;MACf,CAAC,CAAC;IACJ;EACF,CAAC,CAAC;EACF;EACA,IAAImF,cAAc,GAAGrJ,aAAa,CAACsC,UAAU,EAAEuF,aAAa,EAAEC,gBAAgB,EAAE,CAAC,CAACnG,WAAW,EAAEqH,YAAY,CAAC;IAC1GM,eAAe,GAAGtK,cAAc,CAACqK,cAAc,EAAE,CAAC,CAAC;IACnDE,UAAU,GAAGD,eAAe,CAAC,CAAC,CAAC;IAC/BE,eAAe,GAAGF,eAAe,CAAC,CAAC,CAAC;EACtC;EACArJ,kBAAkB,CAACqC,UAAU,EAAEO,YAAY,EAAE,UAAU4G,MAAM,EAAEC,YAAY,EAAE;IAC3E,IAAI3B,YAAY,CAAC0B,MAAM,EAAEC,YAAY,CAAC,EAAE;MACtC,OAAO,KAAK;IACd;IACAH,UAAU,CAAC;MACTI,cAAc,EAAE,SAASA,cAAcA,CAAA,EAAG,CAAC,CAAC;MAC5CF,MAAM,EAAEA;IACV,CAAC,CAAC;IACF,OAAO,IAAI;EACb,CAAC,CAAC;EACFtJ,eAAe,CAAC,YAAY;IAC1B;IACA,SAASyJ,qBAAqBA,CAACjB,CAAC,EAAE;MAChC,IAAIrG,UAAU,EAAE;QACdqG,CAAC,CAACgB,cAAc,CAAC,CAAC;MACpB;IACF;IACA,IAAIE,YAAY,GAAGhH,YAAY,CAAC0B,OAAO;IACvCsF,YAAY,CAACC,gBAAgB,CAAC,OAAO,EAAEP,UAAU,CAAC;IAClDM,YAAY,CAACC,gBAAgB,CAAC,gBAAgB,EAAEN,eAAe,CAAC;IAChEK,YAAY,CAACC,gBAAgB,CAAC,qBAAqB,EAAEF,qBAAqB,CAAC;IAC3E,OAAO,YAAY;MACjBC,YAAY,CAACE,mBAAmB,CAAC,OAAO,EAAER,UAAU,CAAC;MACrDM,YAAY,CAACE,mBAAmB,CAAC,gBAAgB,EAAEP,eAAe,CAAC;MACnEK,YAAY,CAACE,mBAAmB,CAAC,qBAAqB,EAAEH,qBAAqB,CAAC;IAChF,CAAC;EACH,CAAC,EAAE,CAACtH,UAAU,CAAC,CAAC;EAChB;EACAnC,eAAe,CAAC,YAAY;IAC1B,IAAIwB,WAAW,EAAE;MACf2B,aAAa,CAAC,UAAU6F,IAAI,EAAE;QAC5B,OAAON,qBAAqB,CAACM,IAAI,CAAC;MACpC,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,CAACrC,IAAI,CAACF,KAAK,EAAEjF,WAAW,CAAC,CAAC;EAC7B;EACA,IAAIqI,kBAAkB,GAAG,SAASA,kBAAkBA,CAAA,EAAG;IACrD,IAAIC,qBAAqB,EAAEC,qBAAqB;IAChD,CAACD,qBAAqB,GAAG9C,oBAAoB,CAAC5C,OAAO,MAAM,IAAI,IAAI0F,qBAAqB,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,qBAAqB,CAACE,WAAW,CAAC,CAAC;IAClJ,CAACD,qBAAqB,GAAG9C,sBAAsB,CAAC7C,OAAO,MAAM,IAAI,IAAI2F,qBAAqB,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,qBAAqB,CAACC,WAAW,CAAC,CAAC;EACtJ,CAAC;EACD,IAAIC,SAAS,GAAGtK,WAAW,CAAC+C,YAAY,EAAED,UAAU,EAAEwC,OAAO,EAAElE,UAAU,EAAE2C,MAAM,EAAE,YAAY;IAC7F,OAAOsB,aAAa,CAAC,IAAI,CAAC;EAC5B,CAAC,EAAElB,aAAa,EAAE+F,kBAAkB,CAAC;EACrC5K,KAAK,CAACiL,mBAAmB,CAACxJ,GAAG,EAAE,YAAY;IACzC,OAAO;MACLyJ,aAAa,EAAEtC,oBAAoB;MACnCuC,QAAQ,EAAE,SAASA,QAAQA,CAACC,MAAM,EAAE;QAClC,SAASC,WAAWA,CAACC,GAAG,EAAE;UACxB,OAAOA,GAAG,IAAI3L,OAAO,CAAC2L,GAAG,CAAC,KAAK,QAAQ,KAAK,MAAM,IAAIA,GAAG,IAAI,KAAK,IAAIA,GAAG,CAAC;QAC5E;QACA,IAAID,WAAW,CAACD,MAAM,CAAC,EAAE;UACvB;UACA,IAAIA,MAAM,CAACrB,IAAI,KAAK1D,SAAS,EAAE;YAC7BnC,aAAa,CAACuF,qBAAqB,CAAC2B,MAAM,CAACrB,IAAI,CAAC,CAAC;UACnD;UACA;UACAiB,SAAS,CAACI,MAAM,CAACpB,GAAG,CAAC;QACvB,CAAC,MAAM;UACLgB,SAAS,CAACI,MAAM,CAAC;QACnB;MACF;IACF,CAAC;EACH,CAAC,CAAC;EACF;EACA;EACArK,eAAe,CAAC,YAAY;IAC1B,IAAI8B,eAAe,EAAE;MACnB,IAAI0I,UAAU,GAAG/H,UAAU,CAACgI,KAAK,CAAClG,KAAK,EAAEC,GAAG,GAAG,CAAC,CAAC;MACjD1C,eAAe,CAAC0I,UAAU,EAAE/H,UAAU,CAAC;IACzC;EACF,CAAC,EAAE,CAAC8B,KAAK,EAAEC,GAAG,EAAE/B,UAAU,CAAC,CAAC;EAC5B;EACA,IAAIiI,OAAO,GAAGvK,UAAU,CAACsC,UAAU,EAAEiB,MAAM,EAAEuB,OAAO,EAAElE,UAAU,CAAC;EACjE,IAAI4J,YAAY,GAAG3I,WAAW,KAAK,IAAI,IAAIA,WAAW,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,WAAW,CAAC;IACvFuC,KAAK,EAAEA,KAAK;IACZC,GAAG,EAAEA,GAAG;IACRlD,OAAO,EAAEc,SAAS;IAClBwI,OAAO,EAAE1H,UAAU;IACnB2H,OAAO,EAAEtE,YAAY;IACrBuE,GAAG,EAAExI,KAAK;IACVoI,OAAO,EAAEA;EACX,CAAC,CAAC;EACF;EACA,IAAIK,YAAY,GAAGtL,WAAW,CAACgD,UAAU,EAAE8B,KAAK,EAAEC,GAAG,EAAEhD,WAAW,EAAEuD,cAAc,EAAE3D,QAAQ,EAAEyC,YAAY,CAAC;EAC3G,IAAImH,cAAc,GAAG,IAAI;EACzB,IAAIlK,MAAM,EAAE;IACVkK,cAAc,GAAGrM,aAAa,CAACG,eAAe,CAAC,CAAC,CAAC,EAAEmC,UAAU,GAAG,QAAQ,GAAG,WAAW,EAAEH,MAAM,CAAC,EAAET,WAAW,CAAC;IAC7G,IAAI8B,UAAU,EAAE;MACd6I,cAAc,CAAC1K,SAAS,GAAG,QAAQ;MACnC,IAAIkB,WAAW,EAAE;QACfwJ,cAAc,CAACC,SAAS,GAAG,QAAQ;MACrC;MACA,IAAI3H,YAAY,EAAE;QAChB0H,cAAc,CAACE,aAAa,GAAG,MAAM;MACvC;IACF;EACF;EACA,IAAIC,cAAc,GAAG,CAAC,CAAC;EACvB,IAAI7I,KAAK,EAAE;IACT6I,cAAc,CAACC,GAAG,GAAG,KAAK;EAC5B;EACA,OAAO,aAAanM,KAAK,CAACoM,aAAa,CAAC,KAAK,EAAE3M,QAAQ,CAAC;IACtDwC,KAAK,EAAEvC,aAAa,CAACA,aAAa,CAAC,CAAC,CAAC,EAAEuC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE;MACjDoK,QAAQ,EAAE;IACZ,CAAC,CAAC;IACFzK,SAAS,EAAE0B;EACb,CAAC,EAAE4I,cAAc,EAAEjJ,SAAS,CAAC,EAAE,aAAajD,KAAK,CAACoM,aAAa,CAAC/L,cAAc,EAAE;IAC9EiM,QAAQ,EAAE1E;EACZ,CAAC,EAAE,aAAa5H,KAAK,CAACoM,aAAa,CAAC1J,SAAS,EAAE;IAC7Cd,SAAS,EAAE,EAAE,CAAC2B,MAAM,CAAC5B,SAAS,EAAE,SAAS,CAAC;IAC1CM,KAAK,EAAE8J,cAAc;IACrBtK,GAAG,EAAEgC,YAAY;IACjBd,QAAQ,EAAE2G,gBAAgB;IAC1BiD,YAAY,EAAE3B;EAChB,CAAC,EAAE,aAAa5K,KAAK,CAACoM,aAAa,CAAC9L,MAAM,EAAE;IAC1CqB,SAAS,EAAEA,SAAS;IACpBE,MAAM,EAAEuE,YAAY;IACpBuF,OAAO,EAAE1H,UAAU;IACnB2H,OAAO,EAAEtE,YAAY;IACrB/E,WAAW,EAAEA,WAAW;IACxBiK,aAAa,EAAEzG,aAAa;IAC5BtE,GAAG,EAAEiC,cAAc;IACnBZ,UAAU,EAAEA,UAAU;IACtB+I,GAAG,EAAExI,KAAK;IACVoJ,KAAK,EAAEf;EACT,CAAC,EAAEI,YAAY,CAAC,CAAC,CAAC,EAAE3I,SAAS,IAAIiD,YAAY,GAAGvE,MAAM,IAAI,aAAa7B,KAAK,CAACoM,aAAa,CAAC7L,SAAS,EAAE;IACpGkB,GAAG,EAAEsG,oBAAoB;IACzBpG,SAAS,EAAEA,SAAS;IACpB+K,YAAY,EAAE7I,SAAS;IACvB8I,WAAW,EAAEvG,YAAY;IACzByF,GAAG,EAAExI,KAAK;IACVV,QAAQ,EAAEuG,WAAW;IACrB0D,WAAW,EAAErI,oBAAoB;IACjCsI,UAAU,EAAErI,mBAAmB;IAC/BsI,QAAQ,EAAE5E,yBAAyB;IACnC6E,aAAa,EAAErF,IAAI,CAAC7F,MAAM;IAC1BI,KAAK,EAAEe,MAAM,KAAK,IAAI,IAAIA,MAAM,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,MAAM,CAACgK,iBAAiB;IAC/EC,UAAU,EAAEjK,MAAM,KAAK,IAAI,IAAIA,MAAM,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,MAAM,CAACkK;EACrE,CAAC,CAAC,EAAE/J,SAAS,IAAIZ,WAAW,IAAI,aAAavC,KAAK,CAACoM,aAAa,CAAC7L,SAAS,EAAE;IAC1EkB,GAAG,EAAEuG,sBAAsB;IAC3BrG,SAAS,EAAEA,SAAS;IACpB+K,YAAY,EAAEzI,UAAU;IACxB0I,WAAW,EAAEpK,WAAW;IACxBsJ,GAAG,EAAExI,KAAK;IACVV,QAAQ,EAAEuG,WAAW;IACrB0D,WAAW,EAAErI,oBAAoB;IACjCsI,UAAU,EAAErI,mBAAmB;IAC/BsI,QAAQ,EAAE7E,2BAA2B;IACrC8E,aAAa,EAAErF,IAAI,CAACF,KAAK;IACzB4B,UAAU,EAAE,IAAI;IAChBnH,KAAK,EAAEe,MAAM,KAAK,IAAI,IAAIA,MAAM,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,MAAM,CAACmK,mBAAmB;IACjFF,UAAU,EAAEjK,MAAM,KAAK,IAAI,IAAIA,MAAM,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,MAAM,CAACoK;EACrE,CAAC,CAAC,CAAC;AACL;AACA,IAAIC,IAAI,GAAG,aAAarN,KAAK,CAACsN,UAAU,CAAC/L,OAAO,CAAC;AACjD8L,IAAI,CAACE,WAAW,GAAG,MAAM;AACzB,eAAeF,IAAI"},"metadata":{},"sourceType":"module","externalDependencies":[]}