{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/B2xAlJLcN0gOnt11mSPw/nFAy8p4fOASsyhPbo192/Ticker.js", "ssg:https://framerusercontent.com/modules/V9ryrjN5Am9WM1dJeyyJ/9mrJHeWj7rhvLTLu7Yzt/UsePageVisibility.js", "ssg:https://framerusercontent.com/modules/zvkTOpMSuRzRhLzZZIwG/bwgDNfOkuRQlrlKseDFD/SlideShow.js", "ssg:https://framerusercontent.com/modules/G1aqripuReQAEqoeAuW5/pyVIHUyUUhbPFQ34AhAD/BJfe7GWv_.js"],
  "sourcesContent": ["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Children, useEffect, useState, useRef, useMemo, createRef, useCallback, cloneElement } from \"react\";\nimport { addPropertyControls, ControlType, RenderTarget } from \"framer\";\nimport { useAnimationFrame, useReducedMotion, LayoutGroup, useInView, useMotionValue, useTransform, motion, wrap } from \"framer-motion\";\nimport { resize } from \"@motionone/dom\";\nconst directionTransformers = {\n  left: offset => `translateX(-${offset}px)`,\n  right: offset => `translateX(${offset}px)`,\n  top: offset => `translateY(-${offset}px)`,\n  bottom: offset => `translateY(${offset}px)`\n};\nconst supportsAcceleratedAnimations = typeof Animation !== \"undefined\" && typeof Animation.prototype.updatePlaybackRate === \"function\"; /**\n                                                                                                                                        *\n                                                                                                                                        * @framerIntrinsicWidth 400\n                                                                                                                                        * @framerIntrinsicHeight 200\n                                                                                                                                        *\n                                                                                                                                        * @framerDisableUnlink\n                                                                                                                                        *\n                                                                                                                                        * @framerSupportedLayoutWidth fixed\n                                                                                                                                        * @framerSupportedLayoutHeight fixed\n                                                                                                                                        */\nexport default function Ticker(props) {\n  /* Props */let {\n    slots,\n    gap,\n    padding,\n    paddingPerSide,\n    paddingTop,\n    paddingRight,\n    paddingBottom,\n    paddingLeft,\n    speed,\n    hoverFactor,\n    direction,\n    alignment,\n    sizingOptions,\n    fadeOptions,\n    style\n  } = props;\n  const {\n    fadeContent,\n    overflow,\n    fadeWidth,\n    fadeInset,\n    fadeAlpha\n  } = fadeOptions;\n  const {\n    widthType,\n    heightType\n  } = sizingOptions;\n  const paddingValue = paddingPerSide ? `${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px` : `${padding}px`; /* Checks */\n  const isCanvas = RenderTarget.current() === RenderTarget.canvas;\n  const numChildren = Children.count(slots);\n  const hasChildren = numChildren > 0;\n  if (direction === true) {\n    direction = \"left\";\n  }\n  const isHorizontal = direction === \"left\" || direction === \"right\";\n  const offset = useMotionValue(0);\n  const transformer = directionTransformers[direction];\n  const transform = useTransform(offset, transformer); /* Refs and State */\n  const parentRef = useRef(null);\n  const childrenRef = useMemo(() => {\n    return [/*#__PURE__*/createRef(), /*#__PURE__*/createRef()];\n  }, []);\n  const [size, setSize] = useState({\n    parent: null,\n    children: null\n  }); /* Arrays */\n  let clonedChildren = [];\n  let dupedChildren = []; /* Duplicate value */\n  let duplicateBy = 0;\n  let opacity = 0;\n  if (isCanvas) {\n    // duplicateBy = 10\n    duplicateBy = numChildren ? Math.floor(10 / numChildren) : 0;\n    opacity = 1;\n  }\n  if (!isCanvas && hasChildren && size.parent) {\n    duplicateBy = Math.round(size.parent / size.children * 2) + 1;\n    opacity = 1;\n  } /* Measure parent and child */\n  const measure = useCallback(() => {\n    if (hasChildren && parentRef.current) {\n      const parentLength = isHorizontal ? parentRef.current.offsetWidth : parentRef.current.offsetHeight;\n      const start = childrenRef[0].current ? isHorizontal ? childrenRef[0].current.offsetLeft : childrenRef[0].current.offsetTop : 0;\n      const end = childrenRef[1].current ? isHorizontal ? childrenRef[1].current.offsetLeft + childrenRef[1].current.offsetWidth : childrenRef[1].current.offsetTop + childrenRef[1].current.offsetHeight : 0;\n      const childrenLength = end - start + gap;\n      setSize({\n        parent: parentLength,\n        children: childrenLength\n      });\n    }\n  }, []);\n  const childrenStyles = isCanvas ? {\n    contentVisibility: \"auto\"\n  } : {}; /* Add refs to first and last child */\n  if (hasChildren) {\n    // TODO: These conditional hooks will be unsafe if hasChildren ever changes outside the canvas.\n    if (!isCanvas) {\n      /**\n      * Track whether this is the initial resize event. By default this will fire on mount,\n      * which we do in the useEffect. We should only fire it on subsequent resizes.\n      */\n      let initialResize = useRef(true);\n      useEffect(() => {\n        measure();\n        return resize(parentRef.current, ({\n          contentSize\n        }) => {\n          if (!initialResize.current && (contentSize.width || contentSize.height)) {\n            measure();\n          }\n          initialResize.current = false;\n        });\n      }, []);\n    }\n    clonedChildren = Children.map(slots, (child, index) => {\n      var ref, ref1, ref2, ref3;\n      let ref4;\n      if (index === 0) {\n        ref4 = childrenRef[0];\n      }\n      if (index === slots.length - 1) {\n        ref4 = childrenRef[1];\n      }\n      const size = {\n        width: widthType ? (ref = child.props) === null || ref === void 0 ? void 0 : ref.width : \"100%\",\n        height: heightType ? (ref1 = child.props) === null || ref1 === void 0 ? void 0 : ref1.height : \"100%\"\n      };\n      return /*#__PURE__*/_jsx(LayoutGroup, {\n        inherit: \"id\",\n        children: /*#__PURE__*/_jsx(\"li\", {\n          ref: ref4,\n          style: size,\n          children: /*#__PURE__*/cloneElement(child, {\n            style: {\n              ...((ref2 = child.props) === null || ref2 === void 0 ? void 0 : ref2.style),\n              ...size,\n              flexShrink: 0,\n              ...childrenStyles\n            },\n            layoutId: child.props.layoutId ? child.props.layoutId + \"-original-\" + index : undefined\n          }, (ref3 = child.props) === null || ref3 === void 0 ? void 0 : ref3.children)\n        })\n      });\n    });\n  }\n  if (!isCanvas) {\n    for (let i = 0; i < duplicateBy; i++) {\n      dupedChildren = [...dupedChildren, ...Children.map(slots, (child, childIndex) => {\n        var ref, ref1, ref2, ref3;\n        return /*#__PURE__*/_jsx(LayoutGroup, {\n          inherit: \"id\",\n          children: /*#__PURE__*/_jsx(\"li\", {\n            style: {\n              display: \"contents\"\n            },\n            \"aria-hidden\": true,\n            children: /*#__PURE__*/cloneElement(child, {\n              key: i + \" \" + childIndex,\n              style: {\n                ...((ref = child.props) === null || ref === void 0 ? void 0 : ref.style),\n                width: widthType ? (ref1 = child.props) === null || ref1 === void 0 ? void 0 : ref1.width : \"100%\",\n                height: heightType ? (ref2 = child.props) === null || ref2 === void 0 ? void 0 : ref2.height : \"100%\",\n                flexShrink: 0,\n                ...childrenStyles\n              },\n              layoutId: child.props.layoutId ? child.props.layoutId + \"-dupe-\" + i : undefined\n            }, (ref3 = child.props) === null || ref3 === void 0 ? void 0 : ref3.children)\n          }, i + \"li\" + childIndex)\n        }, i + \"lg\" + childIndex);\n      })];\n    }\n  }\n  const animateToValue = size.children + size.children * Math.round(size.parent / size.children);\n  const initialTime = useRef(null);\n  const prevTime = useRef(null);\n  const xOrY = useRef(0);\n  const isHover = useRef(false);\n  const isInView = useInView(parentRef);\n  const isReducedMotion = useReducedMotion();\n  const listRef = useRef(null);\n  const animationRef = useRef(null); /**\n                                     * Setup animations\n                                     */\n  if (!isCanvas) {\n    /**\n    * If this is an animation we can hardware accelerate, animate with WAAPI\n    */\n    if (supportsAcceleratedAnimations) {\n      useEffect(() => {\n        if (isReducedMotion || !animateToValue || !speed) {\n          return;\n        }\n        animationRef.current = listRef.current.animate({\n          transform: [transformer(0), transformer(animateToValue)]\n        }, {\n          duration: Math.abs(animateToValue) / speed * 1e3,\n          iterations: Infinity,\n          easing: \"linear\"\n        });\n        return () => animationRef.current.cancel();\n      }, [hoverFactor, animateToValue, speed]);\n    } else {\n      /**\n      * If we can't accelerate this animation because we have a hoverFactor defined\n      * animate with a rAF loop.\n      */\n      useAnimationFrame(t => {\n        if (!animateToValue || isReducedMotion || supportsAcceleratedAnimations) {\n          return;\n        } /**\n          * In case this animation is delayed from starting because we're running a bunch\n          * of other work, we want to set an initial time rather than counting from 0.\n          * That ensures that if the animation is delayed, it starts from the first frame\n          * rather than jumping.\n          */\n        if (initialTime.current === null) {\n          initialTime.current = t;\n        }\n        t = t - initialTime.current;\n        const timeSince = prevTime.current === null ? 0 : t - prevTime.current;\n        let delta = timeSince * (speed / 1e3);\n        if (isHover.current) {\n          delta *= hoverFactor;\n        }\n        xOrY.current += delta;\n        xOrY.current = wrap(0, animateToValue, xOrY.current);\n        prevTime.current = t;\n        if (!isInView) return;\n        offset.set(xOrY.current);\n      });\n    }\n  } /* Fades */\n  const fadeDirection = isHorizontal ? \"to right\" : \"to bottom\";\n  const fadeWidthStart = fadeWidth / 2;\n  const fadeWidthEnd = 100 - fadeWidth / 2;\n  const fadeInsetStart = clamp(fadeInset, 0, fadeWidthStart);\n  const fadeInsetEnd = 100 - fadeInset;\n  const fadeMask = `linear-gradient(${fadeDirection}, rgba(0, 0, 0, ${fadeAlpha}) ${fadeInsetStart}%, rgba(0, 0, 0, 1) ${fadeWidthStart}%, rgba(0, 0, 0, 1) ${fadeWidthEnd}%, rgba(0, 0, 0, ${fadeAlpha}) ${fadeInsetEnd}%)`; /* Empty state */\n  if (!hasChildren) {\n    return /*#__PURE__*/_jsxs(\"section\", {\n      style: placeholderStyles,\n      children: [/*#__PURE__*/_jsx(\"div\", {\n        style: emojiStyles,\n        children: \"\u2728\"\n      }), /*#__PURE__*/_jsx(\"p\", {\n        style: titleStyles,\n        children: \"Connect to Content\"\n      }), /*#__PURE__*/_jsx(\"p\", {\n        style: subtitleStyles,\n        children: \"Add layers or components to infinitely loop on your page.\"\n      })]\n    });\n  }\n  return /*#__PURE__*/_jsx(\"section\", {\n    style: {\n      ...containerStyle,\n      opacity: opacity,\n      WebkitMaskImage: fadeContent ? fadeMask : undefined,\n      MozMaskImage: fadeContent ? fadeMask : undefined,\n      maskImage: fadeContent ? fadeMask : undefined,\n      overflow: overflow ? \"visible\" : \"hidden\",\n      padding: paddingValue\n    },\n    ref: parentRef,\n    children: /*#__PURE__*/_jsxs(motion.ul, {\n      ref: listRef,\n      style: {\n        ...containerStyle,\n        gap: gap,\n        top: direction === \"bottom\" && isValidNumber(animateToValue) ? -animateToValue : undefined,\n        left: direction === \"right\" && isValidNumber(animateToValue) ? -animateToValue : undefined,\n        placeItems: alignment,\n        position: \"relative\",\n        flexDirection: isHorizontal ? \"row\" : \"column\",\n        ...style,\n        transform: supportsAcceleratedAnimations ? undefined : transform,\n        willChange: \"transform\"\n      },\n      onMouseEnter: () => {\n        isHover.current = true;\n        if (animationRef.current) {\n          animationRef.current.updatePlaybackRate(hoverFactor);\n        }\n      },\n      onMouseLeave: () => {\n        isHover.current = false;\n        if (animationRef.current) {\n          animationRef.current.updatePlaybackRate(1);\n        }\n      },\n      children: [clonedChildren, dupedChildren]\n    })\n  });\n}\n; /* Default Properties */\nTicker.defaultProps = {\n  gap: 10,\n  padding: 10,\n  sizingOptions: {\n    widthType: true,\n    heightType: true\n  },\n  fadeOptions: {\n    fadeContent: true,\n    overflow: false,\n    fadeWidth: 25,\n    fadeAlpha: 0,\n    fadeInset: 0\n  },\n  direction: true\n}; /* Property Controls */\naddPropertyControls(Ticker, {\n  slots: {\n    type: ControlType.Array,\n    title: \"Children\",\n    control: {\n      type: ControlType.ComponentInstance\n    }\n  },\n  speed: {\n    type: ControlType.Number,\n    title: \"Speed\",\n    min: 0,\n    max: 1e3,\n    defaultValue: 100,\n    unit: \"%\",\n    displayStepper: true,\n    step: 5\n  },\n  direction: {\n    type: ControlType.Enum,\n    title: \"Direction\",\n    options: [\"left\", \"right\", \"top\", \"bottom\"],\n    optionIcons: [\"direction-left\", \"direction-right\", \"direction-up\", \"direction-down\"],\n    optionTitles: [\"Left\", \"Right\", \"Top\", \"Bottom\"],\n    defaultValue: \"left\",\n    displaySegmentedControl: true\n  },\n  alignment: {\n    type: ControlType.Enum,\n    title: \"Align\",\n    options: [\"flex-start\", \"center\", \"flex-end\"],\n    optionIcons: {\n      direction: {\n        right: [\"align-top\", \"align-middle\", \"align-bottom\"],\n        left: [\"align-top\", \"align-middle\", \"align-bottom\"],\n        top: [\"align-left\", \"align-center\", \"align-right\"],\n        bottom: [\"align-left\", \"align-center\", \"align-right\"]\n      }\n    },\n    defaultValue: \"center\",\n    displaySegmentedControl: true\n  },\n  gap: {\n    type: ControlType.Number,\n    title: \"Gap\"\n  },\n  padding: {\n    title: \"Padding\",\n    type: ControlType.FusedNumber,\n    toggleKey: \"paddingPerSide\",\n    toggleTitles: [\"Padding\", \"Padding per side\"],\n    valueKeys: [\"paddingTop\", \"paddingRight\", \"paddingBottom\", \"paddingLeft\"],\n    valueLabels: [\"T\", \"R\", \"B\", \"L\"],\n    min: 0\n  },\n  sizingOptions: {\n    type: ControlType.Object,\n    title: \"Sizing\",\n    controls: {\n      widthType: {\n        type: ControlType.Boolean,\n        title: \"Width\",\n        enabledTitle: \"Auto\",\n        disabledTitle: \"Stretch\",\n        defaultValue: true\n      },\n      heightType: {\n        type: ControlType.Boolean,\n        title: \"Height\",\n        enabledTitle: \"Auto\",\n        disabledTitle: \"Stretch\",\n        defaultValue: true\n      }\n    }\n  },\n  fadeOptions: {\n    type: ControlType.Object,\n    title: \"Clipping\",\n    controls: {\n      fadeContent: {\n        type: ControlType.Boolean,\n        title: \"Fade\",\n        defaultValue: true\n      },\n      overflow: {\n        type: ControlType.Boolean,\n        title: \"Overflow\",\n        enabledTitle: \"Show\",\n        disabledTitle: \"Hide\",\n        defaultValue: false,\n        hidden(props) {\n          return props.fadeContent === true;\n        }\n      },\n      fadeWidth: {\n        type: ControlType.Number,\n        title: \"Width\",\n        defaultValue: 25,\n        min: 0,\n        max: 100,\n        unit: \"%\",\n        hidden(props) {\n          return props.fadeContent === false;\n        }\n      },\n      fadeInset: {\n        type: ControlType.Number,\n        title: \"Inset\",\n        defaultValue: 0,\n        min: 0,\n        max: 100,\n        unit: \"%\",\n        hidden(props) {\n          return props.fadeContent === false;\n        }\n      },\n      fadeAlpha: {\n        type: ControlType.Number,\n        title: \"Opacity\",\n        defaultValue: 0,\n        min: 0,\n        max: 1,\n        step: .05,\n        hidden(props) {\n          return props.fadeContent === false;\n        }\n      }\n    }\n  },\n  hoverFactor: {\n    type: ControlType.Number,\n    title: \"Hover\",\n    min: 0,\n    max: 1,\n    unit: \"x\",\n    defaultValue: 1,\n    step: .1,\n    displayStepper: true,\n    description: \"Slows down the speed while you are hovering.\"\n  }\n}); /* Placeholder Styles */\nconst containerStyle = {\n  display: \"flex\",\n  width: \"100%\",\n  height: \"100%\",\n  maxWidth: \"100%\",\n  maxHeight: \"100%\",\n  placeItems: \"center\",\n  margin: 0,\n  padding: 0,\n  listStyleType: \"none\",\n  textIndent: \"none\"\n}; /* Styles */\nconst placeholderStyles = {\n  display: \"flex\",\n  width: \"100%\",\n  height: \"100%\",\n  placeContent: \"center\",\n  placeItems: \"center\",\n  flexDirection: \"column\",\n  color: \"#96F\",\n  background: \"rgba(136, 85, 255, 0.1)\",\n  fontSize: 11,\n  overflow: \"hidden\",\n  padding: \"20px 20px 30px 20px\"\n};\nconst emojiStyles = {\n  fontSize: 32,\n  marginBottom: 10\n};\nconst titleStyles = {\n  margin: 0,\n  marginBottom: 10,\n  fontWeight: 600,\n  textAlign: \"center\"\n};\nconst subtitleStyles = {\n  margin: 0,\n  opacity: .7,\n  maxWidth: 150,\n  lineHeight: 1.5,\n  textAlign: \"center\"\n}; /* Clamp function, used for fadeInset */\nconst clamp = (num, min, max) => Math.min(Math.max(num, min), max);\nconst isValidNumber = value => typeof value === \"number\" && !isNaN(value);\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"default\": {\n      \"type\": \"reactComponent\",\n      \"name\": \"Ticker\",\n      \"slots\": [],\n      \"annotations\": {\n        \"framerSupportedLayoutHeight\": \"fixed\",\n        \"framerContractVersion\": \"1\",\n        \"framerIntrinsicWidth\": \"400\",\n        \"framerIntrinsicHeight\": \"200\",\n        \"framerDisableUnlink\": \"*\",\n        \"framerSupportedLayoutWidth\": \"fixed\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./Ticker.map", "import { useState, useEffect } from \"react\";\nexport const isBrowser = () => typeof document === \"object\";\nexport function getBrowserVisibilityProp() {\n  if (!isBrowser()) return;\n  if (typeof document.hidden !== \"undefined\") {\n    // Opera 12.10 and Firefox 18 and later support\n    return \"visibilitychange\";\n  } else if (typeof document.msHidden !== \"undefined\") {\n    return \"msvisibilitychange\";\n  } else if (typeof document.webkitHidden !== \"undefined\") {\n    return \"webkitvisibilitychange\";\n  }\n}\nexport function getBrowserDocumentHiddenProp() {\n  if (!isBrowser()) return;\n  if (typeof document.hidden !== \"undefined\") {\n    return \"hidden\";\n  } else if (typeof document.msHidden !== \"undefined\") {\n    return \"msHidden\";\n  } else if (typeof document.webkitHidden !== \"undefined\") {\n    return \"webkitHidden\";\n  }\n}\nexport function getIsDocumentHidden() {\n  if (!isBrowser()) return;\n  return !document[getBrowserDocumentHiddenProp()];\n}\nexport function usePageVisibility() {\n  if (!isBrowser()) return;\n  const [isVisible, setIsVisible] = useState(getIsDocumentHidden());\n  const onVisibilityChange = () => setIsVisible(getIsDocumentHidden());\n  useEffect(() => {\n    const visibilityChange = getBrowserVisibilityProp();\n    document.addEventListener(visibilityChange, onVisibilityChange, false);\n    return () => {\n      document.removeEventListener(visibilityChange, onVisibilityChange);\n    };\n  });\n  return isVisible;\n}\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"getBrowserVisibilityProp\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"getIsDocumentHidden\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"usePageVisibility\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"isBrowser\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"getBrowserDocumentHiddenProp\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./UsePageVisibility.map", "import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Children, useLayoutEffect, useEffect, useState, useRef, useMemo, createRef, useCallback, cloneElement, forwardRef } from \"react\";\nimport { addPropertyControls, ControlType, RenderTarget } from \"framer\";\nimport { motion, animate, useMotionValue, useTransform, LayoutGroup, wrap, sync } from \"framer-motion\";\nimport { resize } from \"@motionone/dom\";\nimport { usePageVisibility } from \"https://framerusercontent.com/modules/V9ryrjN5Am9WM1dJeyyJ/9mrJHeWj7rhvLTLu7Yzt/UsePageVisibility.js\"; /**\n                                                                                                                                          *\n                                                                                                                                          * SLIDESHOW\n                                                                                                                                          * V2 with Drag\n                                                                                                                                          * By Benjamin and Matt\n                                                                                                                                          *\n                                                                                                                                          * @framerIntrinsicWidth 400\n                                                                                                                                          * @framerIntrinsicHeight 200\n                                                                                                                                          *\n                                                                                                                                          * @framerDisableUnlink\n                                                                                                                                          *\n                                                                                                                                          * @framerSupportedLayoutWidth fixed\n                                                                                                                                          * @framerSupportedLayoutHeight fixed\n                                                                                                                                          */\nexport default function Slideshow(props) {\n  /**\n  * Properties\n  */\n  const {\n    slots,\n    startFrom,\n    direction,\n    effectsOptions,\n    autoPlayControl,\n    dragControl,\n    alignment,\n    gap,\n    padding,\n    paddingPerSide,\n    paddingTop,\n    paddingRight,\n    paddingBottom,\n    paddingLeft,\n    itemAmount,\n    fadeOptions,\n    intervalControl,\n    transitionControl,\n    arrowOptions,\n    borderRadius,\n    progressOptions,\n    style\n  } = props;\n  const {\n    effectsOpacity,\n    effectsScale,\n    effectsRotate,\n    effectsPerspective,\n    effectsHover\n  } = effectsOptions;\n  const {\n    fadeContent,\n    overflow,\n    fadeWidth,\n    fadeInset,\n    fadeAlpha\n  } = fadeOptions;\n  const {\n    showMouseControls,\n    arrowSize,\n    arrowRadius,\n    arrowFill,\n    leftArrow,\n    rightArrow,\n    arrowShouldSpace = true,\n    arrowShouldFadeIn = false,\n    arrowPosition,\n    arrowPadding,\n    arrowGap,\n    arrowPaddingTop,\n    arrowPaddingRight,\n    arrowPaddingBottom,\n    arrowPaddingLeft\n  } = arrowOptions;\n  const {\n    showProgressDots,\n    dotSize,\n    dotsInset,\n    dotsRadius,\n    dotsPadding,\n    dotsGap,\n    dotsFill,\n    dotsBackground,\n    dotsActiveOpacity,\n    dotsOpacity,\n    dotsBlur\n  } = progressOptions;\n  const paddingValue = paddingPerSide ? `${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px` : `${padding}px`; /**\n                                                                                                                                  * Checks\n                                                                                                                                  */\n  const isCanvas = RenderTarget.current() === RenderTarget.canvas;\n  const hasChildren = Children.count(slots) > 0;\n  const isHorizontal = direction === \"left\" || direction === \"right\";\n  const isInverted = direction === \"right\" || direction === \"bottom\"; /**\n                                                                      * Empty state for Canvas\n                                                                      */\n  if (!hasChildren) {\n    return /*#__PURE__*/_jsxs(\"section\", {\n      style: placeholderStyles,\n      children: [/*#__PURE__*/_jsx(\"div\", {\n        style: emojiStyles,\n        children: \"\u2B50\uFE0F\"\n      }), /*#__PURE__*/_jsx(\"p\", {\n        style: titleStyles,\n        children: \"Connect to Content\"\n      }), /*#__PURE__*/_jsx(\"p\", {\n        style: subtitleStyles,\n        children: \"Add layers or components to make infinite auto-playing slideshows.\"\n      })]\n    });\n  } /**\n    * Refs, State\n    */\n  const parentRef = useRef(null);\n  const childrenRef = useMemo(() => {\n    return slots.map(index => /*#__PURE__*/createRef());\n  }, [slots]);\n  const timeoutRef = useRef(undefined);\n  const [size, setSize] = useState({\n    parent: null,\n    children: null,\n    item: null,\n    itemWidth: null,\n    itemHeight: null\n  }); /* For pausing on hover */\n  const [isHovering, setIsHovering] = useState(false);\n  const [shouldPlayOnHover, setShouldPlayOnHover] = useState(autoPlayControl); /* For cursor updates */\n  const [isMouseDown, setIsMouseDown] = useState(false); /* Check if resizing */\n  const [isResizing, setIsResizing] = useState(false); /**\n                                                       * Array for children\n                                                       */\n  const dupedChildren = [];\n  let duplicateBy = 4;\n  if (isCanvas) {\n    duplicateBy = 1;\n  } /**\n    * Measure parent, child, items\n    */\n  const measure = useCallback(() => {\n    sync.read(() => {\n      if (hasChildren && parentRef.current) {\n        const total = slots.length - 1;\n        const parentLength = isHorizontal ? parentRef.current.offsetWidth : parentRef.current.offsetHeight;\n        const start = childrenRef[0].current ? isHorizontal ? childrenRef[0].current.offsetLeft : childrenRef[0].current.offsetTop : 0;\n        const end = childrenRef[total].current ? isHorizontal ? childrenRef[total].current.offsetLeft + childrenRef[total].current.offsetWidth : childrenRef[total].current.offsetTop + childrenRef[total].current.offsetHeight : 0;\n        const childrenLength = end - start + gap;\n        const itemSize = childrenRef[0].current ? isHorizontal ? childrenRef[0].current.offsetWidth : childrenRef[0].current.offsetHeight : 0;\n        const itemWidth = childrenRef[0].current ? childrenRef[0].current.offsetWidth : 0;\n        const itemHeight = childrenRef[0].current ? childrenRef[0].current.offsetHeight : 0;\n        setSize({\n          parent: parentLength,\n          children: childrenLength,\n          item: itemSize,\n          itemWidth,\n          itemHeight\n        });\n      }\n    });\n  }, [hasChildren]); /**\n                     * Add refs to all children\n                     * Added itemAmount for resizing\n                     */\n  useLayoutEffect(() => {\n    if (hasChildren) measure();\n  }, [hasChildren, itemAmount]); /**\n                                 * Track whether this is the initial resize event. By default this will fire on mount,\n                                 * which we do in the useEffect. We should only fire it on subsequent resizes.\n                                 */\n  let initialResize = useRef(true);\n  useEffect(() => {\n    return resize(parentRef.current, ({\n      contentSize\n    }) => {\n      if (!initialResize.current && (contentSize.width || contentSize.height)) {\n        measure();\n        setIsResizing(true);\n      }\n      initialResize.current = false;\n    });\n  }, []);\n  useEffect(() => {\n    if (isResizing) {\n      const timer = setTimeout(() => setIsResizing(false), 500);\n      return () => clearTimeout(timer);\n    }\n  }, [isResizing]); /**\n                    * Animation, pagination\n                    */\n  const totalItems = slots === null || slots === void 0 ? void 0 : slots.length;\n  const childrenSize = isCanvas ? 0 : size === null || size === void 0 ? void 0 : size.children;\n  const itemWithGap = (size === null || size === void 0 ? void 0 : size.item) + gap;\n  const itemOffset = startFrom * itemWithGap;\n  const [currentItem, setCurrentItem] = useState(startFrom + totalItems);\n  const [isDragging, setIsDragging] = useState(false); /* Check for browser window visibility */ /* Otherwise, it will re-play all the item increments */\n  const isVisible = usePageVisibility();\n  const factor = isInverted ? 1 : -1; /* The x and y values to start from */\n  const xOrY = useMotionValue(childrenSize); /* For canvas only. Using xOrY is slower upon page switching */\n  const canvasPosition = isHorizontal ? -startFrom * ((size === null || size === void 0 ? void 0 : size.itemWidth) + gap) : -startFrom * ((size === null || size === void 0 ? void 0 : size.itemHeight) + gap); /* Calculate the new value to animate to */\n  const newPosition = () => factor * currentItem * itemWithGap; /* Wrapped values for infinite looping */ /* Instead of 0 to a negative full duplicated row, we start with an offset */\n  const wrappedValue = !isCanvas ? useTransform(xOrY, value => {\n    const wrapped = wrap(-childrenSize, -childrenSize * 2, value);\n    return isNaN(wrapped) ? 0 : wrapped;\n  }) : 0; /* Convert the current item to a wrapping index for dots */\n  const wrappedIndex = wrap(0, totalItems, currentItem);\n  const wrappedIndexInverted = wrap(0, -totalItems, currentItem); /* Update x or y with the provided starting point */ /* The subtraction of a full row of children is for overflow */\n  useLayoutEffect(() => {\n    if ((size === null || size === void 0 ? void 0 : size.children) === null) return; /* Initial measure */ // if (initialResize.current) {\n    //     xOrY.set((childrenSize + itemOffset) * factor)\n    // }\n    /* Subsequent resizes */\n    if (!initialResize.current && isResizing) {\n      xOrY.set(newPosition());\n    }\n  }, [size, childrenSize, factor, itemOffset, currentItem, itemWithGap, isResizing]); /**\n                                                                                      * Page item methods\n                                                                                      * Switching, deltas, autoplaying\n                                                                                      */ /* Next and previous function, animates the X */\n  const switchPages = () => {\n    if (isCanvas || !hasChildren || !size.parent || isDragging) return;\n    if (xOrY.get() !== newPosition()) {\n      animate(xOrY, newPosition(), transitionControl);\n    }\n    if (autoPlayControl && shouldPlayOnHover) {\n      timeoutRef.current = setTimeout(() => {\n        setCurrentItem(currentItem + 1);\n        switchPages();\n      }, intervalControl * 1e3);\n    }\n  }; /* Page navigation functions */\n  const setDelta = delta => {\n    if (!isInverted) {\n      setCurrentItem(currentItem + delta);\n    } else {\n      setCurrentItem(currentItem - delta);\n    }\n  };\n  const setPage = index => {\n    const currentItemWrapped = wrap(0, totalItems, currentItem);\n    const currentItemWrappedInvert = wrap(0, -totalItems, currentItem);\n    const goto = index - currentItemWrapped;\n    const gotoInverted = index - Math.abs(currentItemWrappedInvert);\n    if (!isInverted) {\n      setCurrentItem(currentItem + goto);\n    } else {\n      setCurrentItem(currentItem - gotoInverted);\n    }\n  }; /**\n     * Drag\n     */\n  const handleDragStart = () => {\n    setIsDragging(true);\n  };\n  const handleDragEnd = (event, {\n    offset,\n    velocity\n  }) => {\n    setIsDragging(false);\n    const offsetXorY = isHorizontal ? offset.x : offset.y;\n    const velocityThreshold = 200 // Based on testing, can be tweaked or could be 0\n    ;\n    const velocityXorY = isHorizontal ? velocity.x : velocity.y;\n    const isHalfOfNext = offsetXorY < -size.item / 2;\n    const isHalfOfPrev = offsetXorY > size.item / 2; /* In case you drag more than 1 item left or right */\n    const normalizedOffset = Math.abs(offsetXorY);\n    const itemDelta = Math.round(normalizedOffset / size.item); /* Minimum delta is 1 to initiate a page switch */ /* For velocity use only */\n    const itemDeltaFromOne = itemDelta === 0 ? 1 : itemDelta; /* For quick flicks, even with low offsets */\n    if (velocityXorY > velocityThreshold) {\n      setDelta(-itemDeltaFromOne);\n    } else if (velocityXorY < -velocityThreshold) {\n      setDelta(itemDeltaFromOne);\n    } else {\n      /* For dragging over half of the current item with 0 velocity */if (isHalfOfNext) {\n        setDelta(itemDelta);\n      }\n      if (isHalfOfPrev) {\n        setDelta(-itemDelta);\n      }\n    }\n  }; /* Kickstart the auto-playing once we have all the children */\n  useEffect(() => {\n    if (!isVisible || isResizing) return;\n    switchPages();\n    return () => timeoutRef.current && clearTimeout(timeoutRef.current);\n  }, [dupedChildren, isVisible, isResizing]); /* Create copies of our children to create a perfect loop */\n  let childCounter = 0; /**\n                        * Sizing\n                        * */\n  let columnOrRowValue = `calc(${100 / itemAmount}% - ${gap}px + ${gap / itemAmount}px)`; /**\n                                                                                          * Nested array to create duplicates of the children for infinite looping\n                                                                                          * These are wrapped around, and start at a full \"page\" worth of offset\n                                                                                          * as defined above.\n                                                                                          */\n  for (let index = 0; index < duplicateBy; index++) {\n    dupedChildren.push(...Children.map(slots, (child, childIndex) => {\n      let ref;\n      if (childIndex === 0) {\n        ref = childrenRef[0];\n      }\n      if (childIndex === slots.length - 1) {\n        ref = childrenRef[1];\n      }\n      return /*#__PURE__*/_jsx(Slide, {\n        ref: childrenRef[childIndex],\n        slideKey: index + childIndex + \"lg\",\n        index: index,\n        width: isHorizontal ? itemAmount > 1 ? columnOrRowValue : \"100%\" : \"100%\",\n        height: !isHorizontal ? itemAmount > 1 ? columnOrRowValue : \"100%\" : \"100%\",\n        size: size,\n        child: child,\n        numChildren: slots === null || slots === void 0 ? void 0 : slots.length,\n        wrappedValue: wrappedValue,\n        childCounter: childCounter++,\n        gap: gap,\n        isCanvas: isCanvas,\n        isHorizontal: isHorizontal,\n        effectsOpacity: effectsOpacity,\n        effectsScale: effectsScale,\n        effectsRotate: effectsRotate,\n        children: index + childIndex\n      }, index + childIndex + \"lg\");\n    }));\n  } /**\n    * Fades with masks\n    */\n  const fadeDirection = isHorizontal ? \"to right\" : \"to bottom\";\n  const fadeWidthStart = fadeWidth / 2;\n  const fadeWidthEnd = 100 - fadeWidth / 2;\n  const fadeInsetStart = clamp(fadeInset, 0, fadeWidthStart);\n  const fadeInsetEnd = 100 - fadeInset;\n  const fadeMask = `linear-gradient(${fadeDirection}, rgba(0, 0, 0, ${fadeAlpha}) ${fadeInsetStart}%, rgba(0, 0, 0, 1) ${fadeWidthStart}%, rgba(0, 0, 0, 1) ${fadeWidthEnd}%, rgba(0, 0, 0, ${fadeAlpha}) ${fadeInsetEnd}%)`; /**\n                                                                                                                                                                                                                              * Dots\n                                                                                                                                                                                                                              */\n  const dots = [];\n  const dotsBlurStyle = {};\n  if (showProgressDots) {\n    for (let i = 0; i < (slots === null || slots === void 0 ? void 0 : slots.length); i++) {\n      dots.push( /*#__PURE__*/_jsx(Dot, {\n        dotStyle: {\n          ...dotStyle,\n          width: dotSize,\n          height: dotSize,\n          backgroundColor: dotsFill\n        },\n        buttonStyle: baseButtonStyles,\n        selectedOpacity: dotsActiveOpacity,\n        opacity: dotsOpacity,\n        onClick: () => setPage(i),\n        wrappedIndex: wrappedIndex,\n        wrappedIndexInverted: wrappedIndexInverted,\n        total: totalItems,\n        index: i,\n        gap: dotsGap,\n        padding: dotsPadding,\n        isHorizontal: isHorizontal,\n        isInverted: isInverted\n      }, i));\n    }\n    if (dotsBlur > 0) {\n      dotsBlurStyle.backdropFilter = dotsBlurStyle.WebkitBackdropFilter = dotsBlurStyle.MozBackdropFilter = `blur(${dotsBlur}px)`;\n    }\n  }\n  const dragProps = dragControl ? {\n    drag: isHorizontal ? \"x\" : \"y\",\n    onDragStart: handleDragStart,\n    onDragEnd: handleDragEnd,\n    dragDirectionLock: true,\n    values: {\n      x: xOrY,\n      y: xOrY\n    },\n    dragMomentum: false\n  } : {};\n  const arrowHasTop = arrowPosition === \"top-left\" || arrowPosition === \"top-mid\" || arrowPosition === \"top-right\";\n  const arrowHasBottom = arrowPosition === \"bottom-left\" || arrowPosition === \"bottom-mid\" || arrowPosition === \"bottom-right\";\n  const arrowHasLeft = arrowPosition === \"top-left\" || arrowPosition === \"bottom-left\";\n  const arrowHasRight = arrowPosition === \"top-right\" || arrowPosition === \"bottom-right\";\n  const arrowHasMid = arrowPosition === \"top-mid\" || arrowPosition === \"bottom-mid\" || arrowPosition === \"auto\";\n  return /*#__PURE__*/_jsxs(\"section\", {\n    style: {\n      ...containerStyle,\n      padding: paddingValue,\n      WebkitMaskImage: fadeContent ? fadeMask : undefined,\n      MozMaskImage: fadeContent ? fadeMask : undefined,\n      maskImage: fadeContent ? fadeMask : undefined,\n      opacity: (size === null || size === void 0 ? void 0 : size.item) !== null ? 1 : 0,\n      userSelect: \"none\"\n    },\n    onMouseEnter: () => {\n      setIsHovering(true);\n      if (!effectsHover) setShouldPlayOnHover(false);\n    },\n    onMouseLeave: () => {\n      setIsHovering(false);\n      if (!effectsHover) setShouldPlayOnHover(true);\n    },\n    onMouseDown: event => {\n      // Preventdefault fixes the cursor switching to text on drag on safari\n      event.preventDefault();\n      setIsMouseDown(true);\n    },\n    onMouseUp: () => setIsMouseDown(false),\n    children: [/*#__PURE__*/_jsx(\"div\", {\n      style: {\n        width: \"100%\",\n        height: \"100%\",\n        margin: 0,\n        padding: \"inherit\",\n        position: \"absolute\",\n        inset: 0,\n        overflow: overflow ? \"visible\" : \"hidden\",\n        borderRadius: borderRadius,\n        userSelect: \"none\",\n        perspective: effectsPerspective\n      },\n      children: /*#__PURE__*/_jsx(motion.ul, {\n        ref: parentRef,\n        ...dragProps,\n        style: {\n          ...containerStyle,\n          gap: gap,\n          placeItems: alignment,\n          x: isHorizontal ? isCanvas ? canvasPosition : wrappedValue : 0,\n          y: !isHorizontal ? isCanvas ? canvasPosition : wrappedValue : 0,\n          flexDirection: isHorizontal ? \"row\" : \"column\",\n          transformStyle: effectsRotate !== 0 ? \"preserve-3d\" : undefined,\n          cursor: dragControl ? isMouseDown ? \"grabbing\" : \"grab\" : \"auto\",\n          userSelect: \"none\",\n          ...style\n        },\n        children: dupedChildren\n      })\n    }), /*#__PURE__*/_jsxs(\"fieldset\", {\n      style: {\n        ...controlsStyles\n      },\n      \"aria-label\": \"Slideshow pagination controls\",\n      className: \"framer--slideshow-controls\",\n      children: [/*#__PURE__*/_jsxs(motion.div, {\n        style: {\n          position: \"absolute\",\n          display: \"flex\",\n          flexDirection: isHorizontal ? \"row\" : \"column\",\n          justifyContent: arrowShouldSpace ? \"space-between\" : \"center\",\n          gap: arrowShouldSpace ? \"unset\" : arrowGap,\n          opacity: arrowShouldFadeIn ? 0 : 1,\n          alignItems: \"center\",\n          inset: arrowPadding,\n          top: arrowShouldSpace ? arrowPadding : arrowHasTop ? arrowPaddingTop : \"unset\",\n          left: arrowShouldSpace ? arrowPadding : arrowHasLeft ? arrowPaddingLeft : arrowHasMid ? 0 : \"unset\",\n          right: arrowShouldSpace ? arrowPadding : arrowHasRight ? arrowPaddingRight : arrowHasMid ? 0 : \"unset\",\n          bottom: arrowShouldSpace ? arrowPadding : arrowHasBottom ? arrowPaddingBottom : \"unset\"\n        },\n        animate: arrowShouldFadeIn && {\n          opacity: isHovering ? 1 : 0\n        },\n        transition: transitionControl,\n        children: [/*#__PURE__*/_jsx(motion.button, {\n          type: \"button\",\n          style: {\n            ...baseButtonStyles,\n            backgroundColor: arrowFill,\n            width: arrowSize,\n            height: arrowSize,\n            borderRadius: arrowRadius,\n            rotate: !isHorizontal ? 90 : 0,\n            display: showMouseControls ? \"block\" : \"none\",\n            pointerEvents: \"auto\"\n          },\n          onClick: () => setDelta(-1),\n          \"aria-label\": \"Previous\",\n          whileTap: {\n            scale: .9\n          },\n          transition: {\n            duration: .15\n          },\n          children: /*#__PURE__*/_jsx(\"img\", {\n            width: arrowSize,\n            height: arrowSize,\n            src: leftArrow || \"https://framerusercontent.com/images/6tTbkXggWgQCAJ4DO2QEdXXmgM.svg\",\n            alt: \"Back Arrow\"\n          })\n        }), /*#__PURE__*/_jsx(motion.button, {\n          type: \"button\",\n          style: {\n            ...baseButtonStyles,\n            backgroundColor: arrowFill,\n            width: arrowSize,\n            height: arrowSize,\n            borderRadius: arrowRadius,\n            rotate: !isHorizontal ? 90 : 0,\n            display: showMouseControls ? \"block\" : \"none\",\n            pointerEvents: \"auto\"\n          },\n          onClick: () => setDelta(1),\n          \"aria-label\": \"Next\",\n          whileTap: {\n            scale: .9\n          },\n          transition: {\n            duration: .15\n          },\n          children: /*#__PURE__*/_jsx(\"img\", {\n            width: arrowSize,\n            height: arrowSize,\n            src: rightArrow || \"https://framerusercontent.com/images/11KSGbIZoRSg4pjdnUoif6MKHI.svg\",\n            alt: \"Next Arrow\"\n          })\n        })]\n      }), dots.length > 1 ? /*#__PURE__*/_jsx(\"div\", {\n        style: {\n          ...dotsContainerStyle,\n          left: isHorizontal ? \"50%\" : dotsInset,\n          top: !isHorizontal ? \"50%\" : \"unset\",\n          transform: isHorizontal ? \"translateX(-50%)\" : \"translateY(-50%)\",\n          flexDirection: isHorizontal ? \"row\" : \"column\",\n          bottom: isHorizontal ? dotsInset : \"unset\",\n          borderRadius: dotsRadius,\n          backgroundColor: dotsBackground,\n          userSelect: \"none\",\n          ...dotsBlurStyle\n        },\n        children: dots\n      }) : null]\n    })]\n  });\n}\n; /* Default Properties */\nSlideshow.defaultProps = {\n  direction: \"left\",\n  dragControl: false,\n  startFrom: 0,\n  itemAmount: 1,\n  infinity: true,\n  gap: 10,\n  padding: 10,\n  autoPlayControl: true,\n  effectsOptions: {\n    effectsOpacity: 1,\n    effectsScale: 1,\n    effectsRotate: 0,\n    effectsPerspective: 1200,\n    effectsHover: true\n  },\n  transitionControl: {\n    type: \"spring\",\n    stiffness: 200,\n    damping: 40\n  },\n  fadeOptions: {\n    fadeContent: false,\n    overflow: false,\n    fadeWidth: 25,\n    fadeAlpha: 0,\n    fadeInset: 0\n  },\n  arrowOptions: {\n    showMouseControls: true,\n    arrowShouldFadeIn: false,\n    arrowShouldSpace: true,\n    arrowFill: \"rgba(0,0,0,0.2)\",\n    arrowSize: 40\n  },\n  progressOptions: {\n    showProgressDots: true\n  }\n}; /* Property Controls */\naddPropertyControls(Slideshow, {\n  slots: {\n    type: ControlType.Array,\n    title: \"Content\",\n    control: {\n      type: ControlType.ComponentInstance\n    }\n  },\n  direction: {\n    type: ControlType.Enum,\n    title: \"Direction\",\n    options: [\"left\", \"right\", \"top\", \"bottom\"],\n    optionIcons: [\"direction-left\", \"direction-right\", \"direction-up\", \"direction-down\"],\n    optionTitles: [\"Left\", \"Right\", \"Top\", \"Bottom\"],\n    displaySegmentedControl: true,\n    defaultValue: Slideshow.defaultProps.direction\n  },\n  autoPlayControl: {\n    type: ControlType.Boolean,\n    title: \"Auto Play\",\n    defaultValue: true\n  },\n  intervalControl: {\n    type: ControlType.Number,\n    title: \"Interval\",\n    defaultValue: 1.5,\n    min: .5,\n    max: 10,\n    step: .1,\n    displayStepper: true,\n    unit: \"s\",\n    hidden: props => !props.autoPlayControl\n  },\n  dragControl: {\n    type: ControlType.Boolean,\n    title: \"Draggable\",\n    defaultValue: false\n  },\n  startFrom: {\n    type: ControlType.Number,\n    title: \"Current\",\n    min: 0,\n    max: 10,\n    displayStepper: true,\n    defaultValue: Slideshow.defaultProps.startFrom\n  },\n  effectsOptions: {\n    type: ControlType.Object,\n    title: \"Effects\",\n    controls: {\n      effectsOpacity: {\n        type: ControlType.Number,\n        title: \"Opacity\",\n        defaultValue: Slideshow.defaultProps.effectsOptions.effectsOpacity,\n        min: 0,\n        max: 1,\n        step: .01,\n        displayStepper: true\n      },\n      effectsScale: {\n        type: ControlType.Number,\n        title: \"Scale\",\n        defaultValue: Slideshow.defaultProps.effectsOptions.effectsScale,\n        min: 0,\n        max: 1,\n        step: .01,\n        displayStepper: true\n      },\n      effectsPerspective: {\n        type: ControlType.Number,\n        title: \"Perspective\",\n        defaultValue: Slideshow.defaultProps.effectsOptions.effectsPerspective,\n        min: 200,\n        max: 2e3,\n        step: 1\n      },\n      effectsRotate: {\n        type: ControlType.Number,\n        title: \"Rotate\",\n        defaultValue: Slideshow.defaultProps.effectsOptions.effectsRotate,\n        min: -180,\n        max: 180,\n        step: 1\n      },\n      effectsHover: {\n        type: ControlType.Boolean,\n        title: \"On Hover\",\n        enabledTitle: \"Play\",\n        disabledTitle: \"Pause\",\n        defaultValue: Slideshow.defaultProps.effectsOptions.effectsHover\n      }\n    }\n  },\n  alignment: {\n    type: ControlType.Enum,\n    title: \"Align\",\n    options: [\"flex-start\", \"center\", \"flex-end\"],\n    optionIcons: {\n      direction: {\n        right: [\"align-top\", \"align-middle\", \"align-bottom\"],\n        left: [\"align-top\", \"align-middle\", \"align-bottom\"],\n        top: [\"align-left\", \"align-center\", \"align-right\"],\n        bottom: [\"align-left\", \"align-center\", \"align-right\"]\n      }\n    },\n    defaultValue: \"center\",\n    displaySegmentedControl: true\n  },\n  itemAmount: {\n    type: ControlType.Number,\n    title: \"Items\",\n    min: 1,\n    max: 10,\n    displayStepper: true,\n    defaultValue: Slideshow.defaultProps.itemAmount\n  },\n  gap: {\n    type: ControlType.Number,\n    title: \"Gap\",\n    min: 0\n  },\n  padding: {\n    title: \"Padding\",\n    type: ControlType.FusedNumber,\n    toggleKey: \"paddingPerSide\",\n    toggleTitles: [\"Padding\", \"Padding per side\"],\n    defaultValue: 0,\n    valueKeys: [\"paddingTop\", \"paddingRight\", \"paddingBottom\", \"paddingLeft\"],\n    valueLabels: [\"T\", \"R\", \"B\", \"L\"],\n    min: 0\n  },\n  borderRadius: {\n    type: ControlType.Number,\n    title: \"Radius\",\n    min: 0,\n    max: 500,\n    displayStepper: true,\n    defaultValue: 0\n  },\n  transitionControl: {\n    type: ControlType.Transition,\n    defaultValue: Slideshow.defaultProps.transitionControl,\n    title: \"Transition\"\n  },\n  fadeOptions: {\n    type: ControlType.Object,\n    title: \"Clipping\",\n    controls: {\n      fadeContent: {\n        type: ControlType.Boolean,\n        title: \"Fade\",\n        defaultValue: false\n      },\n      overflow: {\n        type: ControlType.Boolean,\n        title: \"Overflow\",\n        enabledTitle: \"Show\",\n        disabledTitle: \"Hide\",\n        defaultValue: false,\n        hidden(props) {\n          return props.fadeContent === true;\n        }\n      },\n      fadeWidth: {\n        type: ControlType.Number,\n        title: \"Width\",\n        defaultValue: 25,\n        min: 0,\n        max: 100,\n        unit: \"%\",\n        hidden(props) {\n          return props.fadeContent === false;\n        }\n      },\n      fadeInset: {\n        type: ControlType.Number,\n        title: \"Inset\",\n        defaultValue: 0,\n        min: 0,\n        max: 100,\n        unit: \"%\",\n        hidden(props) {\n          return props.fadeContent === false;\n        }\n      },\n      fadeAlpha: {\n        type: ControlType.Number,\n        title: \"Opacity\",\n        defaultValue: 0,\n        min: 0,\n        max: 1,\n        step: .05,\n        hidden(props) {\n          return props.fadeContent === false;\n        }\n      }\n    }\n  },\n  arrowOptions: {\n    type: ControlType.Object,\n    title: \"Arrows\",\n    controls: {\n      showMouseControls: {\n        type: ControlType.Boolean,\n        title: \"Show\",\n        defaultValue: Slideshow.defaultProps.arrowOptions.showMouseControls\n      },\n      arrowFill: {\n        type: ControlType.Color,\n        title: \"Fill\",\n        hidden: props => !props.showMouseControls,\n        defaultValue: Slideshow.defaultProps.arrowOptions.arrowFill\n      },\n      leftArrow: {\n        type: ControlType.Image,\n        title: \"Previous\",\n        hidden: props => !props.showMouseControls\n      },\n      rightArrow: {\n        type: ControlType.Image,\n        title: \"Next\",\n        hidden: props => !props.showMouseControls\n      },\n      arrowSize: {\n        type: ControlType.Number,\n        title: \"Size\",\n        min: 0,\n        max: 200,\n        displayStepper: true,\n        defaultValue: Slideshow.defaultProps.arrowOptions.arrowSize,\n        hidden: props => !props.showMouseControls\n      },\n      arrowRadius: {\n        type: ControlType.Number,\n        title: \"Radius\",\n        min: 0,\n        max: 500,\n        defaultValue: 40,\n        hidden: props => !props.showMouseControls\n      },\n      arrowShouldFadeIn: {\n        type: ControlType.Boolean,\n        title: \"Fade In\",\n        defaultValue: false,\n        hidden: props => !props.showMouseControls\n      },\n      arrowShouldSpace: {\n        type: ControlType.Boolean,\n        title: \"Distance\",\n        enabledTitle: \"Space\",\n        disabledTitle: \"Group\",\n        defaultValue: Slideshow.defaultProps.arrowOptions.arrowShouldSpace,\n        hidden: props => !props.showMouseControls\n      },\n      arrowPosition: {\n        type: ControlType.Enum,\n        title: \"Position\",\n        options: [\"auto\", \"top-left\", \"top-mid\", \"top-right\", \"bottom-left\", \"bottom-mid\", \"bottom-right\"],\n        optionTitles: [\"Center\", \"Top Left\", \"Top Middle\", \"Top Right\", \"Bottom Left\", \"Bottom Middle\", \"Bottom Right\"],\n        hidden: props => !props.showMouseControls || props.arrowShouldSpace\n      },\n      arrowPadding: {\n        type: ControlType.Number,\n        title: \"Inset\",\n        min: -100,\n        max: 100,\n        defaultValue: 20,\n        displayStepper: true,\n        hidden: props => !props.showMouseControls || !props.arrowShouldSpace\n      },\n      arrowPaddingTop: {\n        type: ControlType.Number,\n        title: \"Top\",\n        min: -500,\n        max: 500,\n        defaultValue: 0,\n        displayStepper: true,\n        hidden: props => !props.showMouseControls || props.arrowShouldSpace || props.arrowPosition === \"auto\" || props.arrowPosition === \"bottom-mid\" || props.arrowPosition === \"bottom-left\" || props.arrowPosition === \"bottom-right\"\n      },\n      arrowPaddingBottom: {\n        type: ControlType.Number,\n        title: \"Bottom\",\n        min: -500,\n        max: 500,\n        defaultValue: 0,\n        displayStepper: true,\n        hidden: props => !props.showMouseControls || props.arrowShouldSpace || props.arrowPosition === \"auto\" || props.arrowPosition === \"top-mid\" || props.arrowPosition === \"top-left\" || props.arrowPosition === \"top-right\"\n      },\n      arrowPaddingRight: {\n        type: ControlType.Number,\n        title: \"Right\",\n        min: -500,\n        max: 500,\n        defaultValue: 0,\n        displayStepper: true,\n        hidden: props => !props.showMouseControls || props.arrowShouldSpace || props.arrowPosition === \"auto\" || props.arrowPosition === \"top-left\" || props.arrowPosition === \"top-mid\" || props.arrowPosition === \"bottom-left\" || props.arrowPosition === \"bottom-mid\"\n      },\n      arrowPaddingLeft: {\n        type: ControlType.Number,\n        title: \"Left\",\n        min: -500,\n        max: 500,\n        defaultValue: 0,\n        displayStepper: true,\n        hidden: props => !props.showMouseControls || props.arrowShouldSpace || props.arrowPosition === \"auto\" || props.arrowPosition === \"top-right\" || props.arrowPosition === \"top-mid\" || props.arrowPosition === \"bottom-right\" || props.arrowPosition === \"bottom-mid\"\n      },\n      arrowGap: {\n        type: ControlType.Number,\n        title: \"Gap\",\n        min: 0,\n        max: 100,\n        defaultValue: 10,\n        displayStepper: true,\n        hidden: props => !props.showMouseControls || props.arrowShouldSpace\n      }\n    }\n  },\n  progressOptions: {\n    type: ControlType.Object,\n    title: \"Dots\",\n    controls: {\n      showProgressDots: {\n        type: ControlType.Boolean,\n        title: \"Show\",\n        defaultValue: false\n      },\n      dotSize: {\n        type: ControlType.Number,\n        title: \"Size\",\n        min: 1,\n        max: 100,\n        defaultValue: 10,\n        displayStepper: true,\n        hidden: props => !props.showProgressDots || props.showScrollbar\n      },\n      dotsInset: {\n        type: ControlType.Number,\n        title: \"Inset\",\n        min: -100,\n        max: 100,\n        defaultValue: 10,\n        displayStepper: true,\n        hidden: props => !props.showProgressDots || props.showScrollbar\n      },\n      dotsGap: {\n        type: ControlType.Number,\n        title: \"Gap\",\n        min: 0,\n        max: 100,\n        defaultValue: 10,\n        displayStepper: true,\n        hidden: props => !props.showProgressDots || props.showScrollbar\n      },\n      dotsPadding: {\n        type: ControlType.Number,\n        title: \"Padding\",\n        min: 0,\n        max: 100,\n        defaultValue: 10,\n        displayStepper: true,\n        hidden: props => !props.showProgressDots || props.showScrollbar\n      },\n      dotsFill: {\n        type: ControlType.Color,\n        title: \"Fill\",\n        defaultValue: \"#fff\",\n        hidden: props => !props.showProgressDots || props.showScrollbar\n      },\n      dotsBackground: {\n        type: ControlType.Color,\n        title: \"Backdrop\",\n        defaultValue: \"rgba(0,0,0,0.2)\",\n        hidden: props => !props.showProgressDots || props.showScrollbar\n      },\n      dotsRadius: {\n        type: ControlType.Number,\n        title: \"Radius\",\n        min: 0,\n        max: 200,\n        defaultValue: 50,\n        hidden: props => !props.showProgressDots || props.showScrollbar\n      },\n      dotsOpacity: {\n        type: ControlType.Number,\n        title: \"Opacity\",\n        min: 0,\n        max: 1,\n        defaultValue: .5,\n        step: .1,\n        displayStepper: true,\n        hidden: props => !props.showProgressDots || props.showScrollbar\n      },\n      dotsActiveOpacity: {\n        type: ControlType.Number,\n        title: \"Current\",\n        min: 0,\n        max: 1,\n        defaultValue: 1,\n        step: .1,\n        displayStepper: true,\n        hidden: props => !props.showProgressDots || props.showScrollbar\n      },\n      dotsBlur: {\n        type: ControlType.Number,\n        title: \"Blur\",\n        min: 0,\n        max: 50,\n        defaultValue: 0,\n        step: 1,\n        hidden: props => !props.showProgressDots || props.showScrollbar\n      }\n    }\n  }\n}); /* Placeholder Styles */\nconst containerStyle = {\n  display: \"flex\",\n  flexDirection: \"row\",\n  width: \"100%\",\n  height: \"100%\",\n  maxWidth: \"100%\",\n  maxHeight: \"100%\",\n  placeItems: \"center\",\n  margin: 0,\n  padding: 0,\n  listStyleType: \"none\",\n  textIndent: \"none\"\n}; /* Component Styles */\nconst placeholderStyles = {\n  display: \"flex\",\n  width: \"100%\",\n  height: \"100%\",\n  placeContent: \"center\",\n  placeItems: \"center\",\n  flexDirection: \"column\",\n  color: \"#96F\",\n  background: \"rgba(136, 85, 255, 0.1)\",\n  fontSize: 11,\n  overflow: \"hidden\",\n  padding: \"20px 20px 30px 20px\"\n};\nconst emojiStyles = {\n  fontSize: 32,\n  marginBottom: 10\n};\nconst titleStyles = {\n  margin: 0,\n  marginBottom: 10,\n  fontWeight: 600,\n  textAlign: \"center\"\n};\nconst subtitleStyles = {\n  margin: 0,\n  opacity: .7,\n  maxWidth: 180,\n  lineHeight: 1.5,\n  textAlign: \"center\"\n}; /* Control Styles */\nconst baseButtonStyles = {\n  border: \"none\",\n  display: \"flex\",\n  placeContent: \"center\",\n  placeItems: \"center\",\n  overflow: \"hidden\",\n  background: \"transparent\",\n  cursor: \"pointer\",\n  margin: 0,\n  padding: 0\n};\nconst controlsStyles = {\n  display: \"flex\",\n  justifyContent: \"space-between\",\n  alignItems: \"center\",\n  position: \"absolute\",\n  pointerEvents: \"none\",\n  userSelect: \"none\",\n  top: 0,\n  left: 0,\n  right: 0,\n  bottom: 0,\n  border: 0,\n  padding: 0,\n  margin: 0\n}; /* Clamp function, used for fadeInset */\nconst clamp = (num, min, max) => Math.min(Math.max(num, min), max); /* Slide Component */\nconst Slide = /*#__PURE__*/forwardRef(function Component(props, ref) {\n  var ref1, ref2;\n  const {\n    slideKey,\n    width,\n    height,\n    child,\n    size,\n    gap,\n    wrappedValue,\n    numChildren,\n    childCounter,\n    isCanvas,\n    effects,\n    effectsOpacity,\n    effectsScale,\n    effectsRotate,\n    isHorizontal,\n    isLast,\n    index\n  } = props; /**\n             * Unique offsets + scroll range [0, 1, 1, 0]\n             */\n  const childOffset = ((size === null || size === void 0 ? void 0 : size.item) + gap) * childCounter;\n  const scrollRange = [-(size === null || size === void 0 ? void 0 : size.item), 0, (size === null || size === void 0 ? void 0 : size.parent) - (size === null || size === void 0 ? void 0 : size.item) + gap, size === null || size === void 0 ? void 0 : size.parent].map(val => val - childOffset); /**\n                                                                                                                                                                                                                                                                                                       * Effects\n                                                                                                                                                                                                                                                                                                       */\n  const rotateY = !isCanvas && useTransform(wrappedValue, scrollRange, [-effectsRotate, 0, 0, effectsRotate]);\n  const rotateX = !isCanvas && useTransform(wrappedValue, scrollRange, [effectsRotate, 0, 0, -effectsRotate]);\n  const opacity = !isCanvas && useTransform(wrappedValue, scrollRange, [effectsOpacity, 1, 1, effectsOpacity]);\n  const scale = !isCanvas && useTransform(wrappedValue, scrollRange, [effectsScale, 1, 1, effectsScale]);\n  const originXorY = !isCanvas && useTransform(wrappedValue, scrollRange, [1, 1, 0, 0]);\n  const isVisible = !isCanvas && useTransform(wrappedValue, latest => latest >= scrollRange[1] && latest <= scrollRange[2]);\n  useEffect(() => {\n    if (!isVisible) return;\n    return isVisible.onChange(newValue => {\n      ref.current.setAttribute(\"aria-hidden\", !newValue);\n    });\n  }, []);\n  return /*#__PURE__*/_jsx(LayoutGroup, {\n    inherit: \"id\",\n    children: /*#__PURE__*/_jsx(\"li\", {\n      style: {\n        display: \"contents\"\n      },\n      \"aria-hidden\": index === 0 ? false : true,\n      children: /*#__PURE__*/cloneElement(child, {\n        ref: ref,\n        key: slideKey + \"child\",\n        style: {\n          ...((ref1 = child.props) === null || ref1 === void 0 ? void 0 : ref1.style),\n          flexShrink: 0,\n          userSelect: \"none\",\n          width,\n          height,\n          opacity: opacity,\n          scale: scale,\n          originX: isHorizontal ? originXorY : .5,\n          originY: !isHorizontal ? originXorY : .5,\n          rotateY: isHorizontal ? rotateY : 0,\n          rotateX: !isHorizontal ? rotateX : 0\n        }\n      }, (ref2 = child.props) === null || ref2 === void 0 ? void 0 : ref2.children)\n    })\n  });\n});\nfunction Dot({\n  selectedOpacity,\n  opacity,\n  total,\n  index,\n  wrappedIndex,\n  wrappedIndexInverted,\n  dotStyle,\n  buttonStyle,\n  gap,\n  padding,\n  isHorizontal,\n  isInverted,\n  ...props\n}) {\n  /* Check active item */ /* Go 0\u20141\u20142\u20143\u20144\u20145\u20140 */let isSelected = wrappedIndex === index; /* Go 0\u20145\u20144\u20143\u20142\u20141\u20140\u20145 instead when inverted */\n  if (isInverted) {\n    isSelected = Math.abs(wrappedIndexInverted) === index;\n  }\n  const inlinePadding = gap / 2;\n  let top = !isHorizontal && index > 0 ? inlinePadding : padding;\n  let bottom = !isHorizontal && index !== total - 1 ? inlinePadding : padding;\n  let right = isHorizontal && index !== total - 1 ? inlinePadding : padding;\n  let left = isHorizontal && index > 0 ? inlinePadding : padding;\n  return /*#__PURE__*/_jsx(\"button\", {\n    \"aria-label\": `Scroll to page ${index + 1}`,\n    type: \"button\",\n    ...props,\n    style: {\n      ...buttonStyle,\n      padding: `${top}px ${right}px ${bottom}px ${left}px`\n    },\n    children: /*#__PURE__*/_jsx(motion.div, {\n      style: {\n        ...dotStyle\n      },\n      initial: false,\n      animate: {\n        opacity: isSelected ? selectedOpacity : opacity\n      },\n      transition: {\n        duration: .3\n      }\n    })\n  });\n} /* Dot Styles */\nconst dotsContainerStyle = {\n  display: \"flex\",\n  placeContent: \"center\",\n  placeItems: \"center\",\n  overflow: \"hidden\",\n  position: \"absolute\",\n  pointerEvents: \"auto\"\n};\nconst dotStyle = {\n  borderRadius: \"50%\",\n  background: \"white\",\n  cursor: \"pointer\",\n  border: \"none\",\n  placeContent: \"center\",\n  placeItems: \"center\",\n  padding: 0\n};\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"default\": {\n      \"type\": \"reactComponent\",\n      \"name\": \"Slideshow\",\n      \"slots\": [],\n      \"annotations\": {\n        \"framerContractVersion\": \"1\",\n        \"framerSupportedLayoutWidth\": \"fixed\",\n        \"framerDisableUnlink\": \"*\",\n        \"framerIntrinsicWidth\": \"400\",\n        \"framerIntrinsicHeight\": \"200\",\n        \"framerSupportedLayoutHeight\": \"fixed\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./SlideShow.map", "// Generated by Framer (2bdc57c)\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { addFonts, cx, SVG, useVariantState, withCSS } from \"framer\";\nimport { LayoutGroup, motion } from \"framer-motion\";\nimport * as React from \"react\";\nconst cycleOrder = [\"oUdz7EOCV\"];\nconst variantClassNames = {\n  oUdz7EOCV: \"framer-v-iaovwn\"\n};\nfunction addPropertyOverrides(overrides, ...variants) {\n  const nextOverrides = {};\n  variants === null || variants === void 0 ? void 0 : variants.forEach(variant => variant && Object.assign(nextOverrides, overrides[variant]));\n  return nextOverrides;\n}\nconst humanReadableVariantMap = {};\nconst transitions = {\n  default: {\n    damping: 60,\n    delay: 0,\n    duration: .3,\n    ease: [.44, 0, .56, 1],\n    mass: 1,\n    stiffness: 500,\n    type: \"spring\"\n  }\n};\nconst Component = /*#__PURE__*/React.forwardRef(function ({\n  id,\n  style,\n  className,\n  width,\n  height,\n  layoutId,\n  variant: outerVariant = \"oUdz7EOCV\",\n  ...restProps\n}, ref) {\n  const outerVariantId = humanReadableVariantMap[outerVariant];\n  const variant = outerVariantId || outerVariant;\n  const {\n    baseVariant,\n    classNames,\n    gestureVariant,\n    setGestureState,\n    setVariant,\n    transition,\n    variants\n  } = useVariantState({\n    cycleOrder,\n    defaultVariant: \"oUdz7EOCV\",\n    transitions,\n    variant,\n    variantClassNames\n  });\n  const layoutDependency = variants.join(\"-\") + restProps.layoutDependency;\n  const defaultLayoutId = React.useId();\n  return /*#__PURE__*/_jsx(LayoutGroup, {\n    id: layoutId !== null && layoutId !== void 0 ? layoutId : defaultLayoutId,\n    children: /*#__PURE__*/_jsx(motion.div, {\n      initial: variant,\n      animate: variants,\n      onHoverStart: () => setGestureState({\n        isHovered: true\n      }),\n      onHoverEnd: () => setGestureState({\n        isHovered: false\n      }),\n      onTapStart: () => setGestureState({\n        isPressed: true\n      }),\n      onTap: () => setGestureState({\n        isPressed: false\n      }),\n      onTapCancel: () => setGestureState({\n        isPressed: false\n      }),\n      className: cx(\"framer-90pro\", classNames),\n      style: {\n        display: \"contents\"\n      },\n      children: /*#__PURE__*/_jsx(motion.div, {\n        ...restProps,\n        className: cx(\"framer-iaovwn\", className),\n        \"data-framer-name\": \"Variant 1\",\n        layoutDependency: layoutDependency,\n        layoutId: \"oUdz7EOCV\",\n        ref: ref,\n        style: {\n          backgroundColor: \"var(--token-e0ee3a90-2605-48fc-9865-65e08debc5e3, rgb(27, 26, 24))\",\n          ...style\n        },\n        transition: transition,\n        children: /*#__PURE__*/_jsx(SVG, {\n          className: \"framer-cb2k8i\",\n          \"data-framer-name\": \"tools_white\",\n          fill: \"black\",\n          intrinsicHeight: 36,\n          intrinsicWidth: 1062,\n          layoutDependency: layoutDependency,\n          layoutId: \"F2gTasxYJ\",\n          svg: '<svg id=\"Layer_2\" data-name=\"Layer 2\" xmlns=\"http://www.w3.org/2000/svg\" width=\"1062.31\" height=\"36.27\"><defs><style>.cls-1{fill:#fff}</style></defs><g id=\"Layer_1-2\" data-name=\"Layer 1\"><path id=\"framer\" class=\"cls-1\" d=\"M965.01.13h24v12h-12l-12-12Zm0 12h12l12 12h-24v-12Zm0 12h12v12l-12-12Z\"/><g id=\"bxl-discord\"><path id=\"Path_7\" data-name=\"Path 7\" class=\"cls-1\" d=\"M688.18 15.84a1.59 1.59 0 0 0-1.72 1.45c-.08.87.57 1.64 1.45 1.72.87.08 1.64-.57 1.72-1.45v-.14c.04-.84-.61-1.55-1.45-1.58Zm5.2 0a1.59 1.59 0 0 0-1.72 1.45c-.08.87.57 1.64 1.45 1.72.87.08 1.64-.57 1.72-1.45v-.14c.04-.84-.61-1.55-1.45-1.58Z\"/><path id=\"Path_8\" data-name=\"Path 8\" class=\"cls-1\" d=\"M700.31 3.88h-19.1c-1.62 0-2.92 1.32-2.92 2.93v19.27c0 1.62 1.3 2.93 2.92 2.94h16.16l-.76-2.64 1.83 1.7 1.72 1.6 3.07 2.7V6.82c0-1.62-1.3-2.93-2.92-2.93Zm-5.5 18.61s-.51-.61-.94-1.16c1.03-.24 1.95-.84 2.58-1.69-.51.34-1.06.62-1.64.84-1.82.76-3.82.97-5.76.6-.72-.14-1.42-.35-2.09-.61-.36-.14-.7-.3-1.04-.48-.04-.03-.09-.04-.13-.07a.265.265 0 0 1-.06-.05c-.26-.14-.4-.24-.4-.24.61.83 1.49 1.43 2.49 1.68-.43.54-.96 1.18-.96 1.18-1.72.05-3.35-.77-4.34-2.17.05-2.89.75-5.73 2.05-8.31 1.15-.9 2.54-1.43 4-1.5l.14.17c-1.37.34-2.65.98-3.75 1.87 0 0 .31-.17.84-.41 1.02-.47 2.12-.77 3.23-.9.08-.02.16-.03.24-.03 2.47-.33 4.98.14 7.17 1.34a9.498 9.498 0 0 0-3.55-1.81l.2-.23c1.46.07 2.85.6 4 1.5 1.3 2.58 2.01 5.42 2.05 8.31a5.225 5.225 0 0 1-4.36 2.17Z\"/></g><path id=\"adobecreativecloud\" class=\"cls-1\" d=\"M161.28 4.87c-.35.03-.71.06-1.05.11-1.48.16-2.92.59-4.25 1.25a13.46 13.46 0 0 0-3.69 2.66c-.05.06-.13.09-.21.07a11.34 11.34 0 0 0-12.25 7.2c-.4 1.03-.63 2.11-.69 3.21 0 .07-.01.13-.03.2v1.16c.03.3.08.59.1.89.15 1.22.51 2.4 1.06 3.49 1.18 2.42 3.2 4.34 5.68 5.39 1.16.51 2.41.81 3.68.89.04 0 .09 0 .13.01h12.86c.27-.03.54-.05.82-.09 1.47-.16 2.9-.59 4.22-1.25 2.26-1.1 4.15-2.82 5.47-4.96.9-1.41 1.51-2.99 1.78-4.64.08-.51.12-1.04.18-1.55 0-.07.01-.13.03-.19v-1.19c-.03-.34-.08-.68-.08-.99-.16-1.47-.59-2.9-1.25-4.22a13.428 13.428 0 0 0-4.99-5.47c-1.4-.89-2.97-1.49-4.61-1.76-.54-.09-1.07-.14-1.61-.2-.07 0-.14-.01-.21-.03h-1.09Zm.55 2.54c3.11-.03 6.07 1.32 8.09 3.68 2.01 2.33 2.93 5.41 2.53 8.46a10.786 10.786 0 0 1-12.2 9.23 9.57 9.57 0 0 1-4.5-1.73c-.36-.26-.7-.54-1.01-.86-1.84-1.81-3.66-3.63-5.5-5.44-.4-.35-.51-.93-.27-1.4.23-.5.75-.78 1.29-.71.31.05.58.2.78.44 1.66 1.67 3.3 3.31 4.96 4.99a7.85 7.85 0 0 0 4.64 2.3c2.76.45 5.56-.57 7.38-2.7a8.359 8.359 0 0 0 1.99-4.22c.41-2.27-.19-4.61-1.64-6.4a8.308 8.308 0 0 0-11.06-1.9c-.06.04-.13.04-.2.02-.66-.49-1.37-.92-2.11-1.28a.219.219 0 0 1-.03-.05c.58-.48 1.21-.9 1.88-1.23a9.995 9.995 0 0 1 3.96-1.18c.33-.03.67-.04 1-.04h.01Zm-11.41 3.99c2.24-.01 4.39.87 5.97 2.44 1.28 1.2 2.45 2.45 3.69 3.7.34.32.44.82.26 1.25-.16.44-.56.74-1.02.77-.35.05-.71-.08-.95-.34-1.18-1.18-2.35-2.33-3.51-3.52-.91-.94-2.1-1.57-3.4-1.78-3.41-.69-6.74 1.52-7.42 4.93-.69 3.41 1.52 6.74 4.93 7.42.74.14 1.49.19 2.25.15.18-.01.36.06.48.19.72.71 1.49 1.42 2.25 2.12.05.05.1.09.15.14-.09 0-.15.01-.21.01h-3.45c-4.1 0-7.65-2.85-8.54-6.85a8.652 8.652 0 0 1 5.89-10.2 9.54 9.54 0 0 1 2.64-.44Z\"/><path id=\"adobe\" class=\"cls-1\" d=\"M473.52 3.13h13.35v30l-13.35-30Zm-9.31 0h-13.35v30l13.35-30Zm4.65 11.1 8.4 18.9h-5.7l-2.4-6h-6.15l5.85-12.9Z\"/><g id=\"figma\"><path id=\"Path_9\" data-name=\"Path 9\" class=\"cls-1\" d=\"M82.31 3.13c-2.49 0-4.5 2.01-4.5 4.5s2.01 4.5 4.5 4.5h10.5c2.49 0 4.5-2.01 4.5-4.5s-2.01-4.5-4.5-4.5h-10.5Z\"/><path id=\"Path_10\" data-name=\"Path 10\" class=\"cls-1\" d=\"M92.81 13.63c-2.49 0-4.5 2.01-4.5 4.5s2.01 4.5 4.5 4.5 4.5-2.01 4.5-4.5-2.01-4.5-4.5-4.5Z\"/><path id=\"Path_11\" data-name=\"Path 11\" class=\"cls-1\" d=\"M77.81 18.13c0-2.49 2.01-4.5 4.5-4.5h4.5v9h-4.5c-2.49 0-4.5-2.01-4.5-4.5Z\"/><path id=\"Path_12\" data-name=\"Path 12\" class=\"cls-1\" d=\"M82.31 24.13c-2.49 0-4.5 2.01-4.5 4.5s2.01 4.5 4.5 4.5 4.5-2.01 4.5-4.5v-4.5h-4.5Z\"/></g><path id=\"clickup\" class=\"cls-1\" d=\"m528.68 27.79 5.53-4.24c2.94 3.84 6.07 5.61 9.55 5.61s6.5-1.75 9.31-5.56l5.61 4.14c-4.05 5.49-9.09 8.39-14.92 8.39s-10.9-2.88-15.08-8.34Zm15.06-18.43-9.85 8.49-4.55-5.28L543.77.14l14.32 12.44-4.58 5.26-9.77-8.48Z\"/><path id=\"googledrive\" class=\"cls-1\" d=\"m758.26 2.84.28-.46h9l12.16 20.25h-10.02L758.25 2.84Zm-8.19 29.25-5.03-7.21 11.78-19.65 4.32 7.49-11.07 19.37Zm7-7.21h23.97l-6.26 9h-22.92l5.21-9Z\"/><g id=\"accessibility-alt\"><path id=\"Path_13\" data-name=\"Path 13\" class=\"cls-1\" d=\"M1054.44 15.88v-2.25h-15.75v2.25h5.62v3.08l-4.35 7.62 1.95 1.12 4.18-7.31h.94l4.18 7.31 1.95-1.12-4.35-7.62v-3.08h5.62Z\"/><path id=\"Path_14\" data-name=\"Path 14\" class=\"cls-1\" d=\"M1048.81 10.26c0 1.24-1.01 2.25-2.25 2.25s-2.25-1.01-2.25-2.25 1.01-2.25 2.25-2.25 2.25 1.01 2.25 2.25Z\"/><path id=\"Path_15\" data-name=\"Path 15\" class=\"cls-1\" d=\"M1046.56 33.88c-8.7 0-15.75-7.05-15.75-15.75s7.05-15.75 15.75-15.75 15.75 7.05 15.75 15.75-7.05 15.75-15.75 15.75Zm0-29.25c-7.46 0-13.5 6.04-13.5 13.5s6.04 13.5 13.5 13.5 13.5-6.04 13.5-13.5-6.04-13.5-13.5-13.5Z\"/></g><path id=\"affinity\" class=\"cls-1\" d=\"M14.05 1.75h5.67l.48.82h1.62L36 27.13l-3.05 5.2H20.54l1.26 2.17h-.55l-1.26-2.17H4.59l-.79-1.39h-.98L0 26.06l3.62-6.26 3.35-1.93 5.54-9.59-1.11-1.93 2.67-4.62Zm3.34 8.48L7.6 27.15h9.38l-1.09-1.87H26.1l-8.71-15.04Z\"/><path id=\"gitlab\" class=\"cls-1\" d=\"M607.75 1.49c-.65 0-1.23.42-1.43 1.04l-3.8 11.68s0 .02-.01.03l-1.92 5.9c-.29.89.03 1.86.78 2.41l16.62 12.07c.3.22.7.21 1 0l16.61-12.06c.76-.55 1.07-1.52.78-2.41l-1.89-5.8a.983.983 0 0 0-.05-.16l-3.79-11.66c-.21-.62-.79-1.03-1.43-1.03-.65 0-1.23.41-1.42 1.03l-3.61 11.11h-11.4l-3.61-11.11c-.19-.62-.77-1.04-1.41-1.03Zm0 2.13 3.26 10.01h-6.51l3.25-10.01Zm21.49 0 3.25 10.01h-6.51l3.26-10.01Zm-15.89 11.71h10.29l-3.23 9.93-1.93 5.91-5.14-15.84Zm-8.27 0h6.48l4.63 14.25-11.11-14.25Zm20.35 0h6.49l-10.06 12.88-1.06 1.37 4.44-13.66.19-.59Zm-21.79.94 10.47 13.42-11.73-8.52a.46.46 0 0 1-.17-.51l1.43-4.39Zm29.7 0 1.43 4.38c.06.19 0 .4-.17.51l-11.73 8.52.04-.05 10.43-13.36Z\"/><path class=\"cls-1\" d=\"M845.09 2.78h-4.46l3.96 6.15-8.39-6.15h-4.47l3.97 8.06-8.39-8.06h-4.47l3.9 10.4-3.9 20.3h4.47l8.38-21.76-3.97 21.76h4.47l8.39-23.67-3.97 23.67h4.47l8.45-26-8.45-4.7Zm50.84 1.2c-.74.76-.78 1.62-.1 2.42l.49.57 8.99.1c10.12.12 9.75.06 11.47 1.78 1.97 1.97 1.95 5.57-.08 7.48-.31.31-1.02.76-1.6 1.02-.96.43-1.33.47-5.57.53l-4.55.08-.51.51c-.66.64-.7 1.66-.14 2.34.39.47.49.49 4.53.59l4.16.1 3.34 5.33c1.84 2.93 3.54 5.49 3.79 5.7.25.18.76.35 1.15.35.92 0 1.91-.92 1.91-1.78 0-.41-.94-2.11-3.07-5.51-1.68-2.68-3.07-4.94-3.07-5s.41-.33.92-.59c3.75-1.99 5.18-7.35 3.09-11.6-.82-1.64-1.76-2.64-3.46-3.67-2.11-1.27-2.97-1.35-12.54-1.35h-8.54l-.59.59ZM232.33.06c-.86.16-1.32.38-3.74 1.83-2.96 1.78-9.17 5.41-9.75 5.71-.82.42-1.43 1.41-1.73 2.77-.26 1.23-.26 14.08 0 15.23.37 1.63 1.03 2.55 2.62 3.63 1.72 1.16 9.18 5.52 11.32 6.59.96.49 2.49.59 3.7.26.83-.23 1.2-.42 4.19-2.11 1.09-.62 2.24-1.27 2.56-1.44.32-.18 1.06-.61 1.63-.95.59-.34 1.07-.62 1.09-.62.01 0 .62-.34 1.34-.77.72-.42 1.51-.86 1.75-.98 1.04-.55 2.02-2.1 2.28-3.6.12-.66.13-2.17.04-7.94-.11-6.86-.12-7.14-.33-7.69-.52-1.34-1.19-2.02-3.01-3.08-.5-.29-3.17-1.86-5.93-3.51-3.56-2.11-5.21-3.03-5.65-3.15-.81-.22-1.78-.3-2.39-.18Zm3.42 7.11c1.06.56 1.42 1.34 1.42 2.96 0 1.07-.04 1.28-.39 2.31-.56 1.67-1.02 2.52-2.91 5.36-.94 1.41-1.85 2.8-2.04 3.09l-.34.54.15.95c.37 2.46.93 4.11 1.49 4.49.35.22.84.07 1.68-.52.83-.6 1.4-1.2 2.5-2.71.76-1.01.96-1.21 1.35-1.36.65-.26 1.25-.05 1.68.59.32.47.23 1.06-.26 1.77-2.57 3.66-4.76 5.29-6.92 5.14-.92-.06-1.56-.38-2.25-1.12-.55-.59-1.25-1.9-1.47-2.78-.36-1.39-.27-1.25-.83-1.21-.65.04-1.15-.26-1.39-.8-.23-.58-.13-.95.64-2.13l.68-1.07.06-2.28c.06-2.5.22-3.56.83-5.47.67-2.08 1.96-4.17 3.17-5.14 1.17-.94 2.17-1.13 3.12-.61Z\"/><path class=\"cls-1\" d=\"M233.83 10.56c-.84.96-2.14 4.06-2.14 5.13 0 .25.12.12.7-.77 1.14-1.73 2.06-3.89 1.94-4.64-.03-.23-.06-.22-.5.28ZM306.99.58c-3.85 0-7.26 2.47-8.45 6.12a8.771 8.771 0 0 0-5.86 4.25 8.829 8.829 0 0 0 1.1 10.37c-.8 2.39-.52 5.01.75 7.17 1.92 3.34 5.77 5.05 9.55 4.26a8.78 8.78 0 0 0 6.6 2.95c3.85 0 7.26-2.47 8.45-6.12a8.756 8.756 0 0 0 5.85-4.24 8.826 8.826 0 0 0-1.08-10.37c.8-2.4.52-5.02-.75-7.19a8.897 8.897 0 0 0-9.54-4.25A8.823 8.823 0 0 0 307 .59Zm0 2.28h-.01c1.55.01 3.04.55 4.23 1.53-.05.02-.14.08-.21.12l-7 4.03c-.36.2-.57.58-.57 1V19l-3.01-1.74V9.44c0-3.63 2.94-6.58 6.58-6.59Zm8.43 2.76c2.36 0 4.54 1.25 5.72 3.3.76 1.33 1.05 2.89.78 4.4-.05-.03-.14-.08-.2-.12l-7-4.04c-.36-.2-.8-.2-1.15 0l-8.2 4.73v-3.47l6.77-3.91c1-.58 2.13-.88 3.28-.88ZM298.1 9.21v8.31c0 .42.21.78.57 1l8.19 4.72-3.02 1.75-6.76-3.9a6.574 6.574 0 0 1-2.4-8.99 6.629 6.629 0 0 1 3.43-2.89Zm15.69 2.06 6.77 3.9a6.557 6.557 0 0 1 2.4 8.99h.01a6.532 6.532 0 0 1-3.43 2.89v-8.31c0-.42-.21-.8-.57-1l-8.2-4.73 3.01-1.73Zm-4.98 2.86 3.45 2v3.98l-3.45 2-3.45-2v-3.98l3.45-2Zm5.43 3.14 3.01 1.74v7.81c0 3.64-2.95 6.59-6.58 6.59a6.638 6.638 0 0 1-4.21-1.53c.05-.02.16-.08.21-.12l7-4.03c.36-.2.58-.58.57-1v-9.46Zm-1.97 5.11v3.47l-6.77 3.9c-3.16 1.81-7.18.74-9-2.4h.01a6.556 6.556 0 0 1-.79-4.4c.05.03.14.08.2.12l7 4.04c.36.2.8.2 1.15 0l8.19-4.73Zm61.57-21.2c-.26.27-.23.44.2 1.23.97 1.77 1.8 3.66 2.45 5.62.84 2.51 1.16 4.28 1.15 6.45 0 1.8-.11 2.93-.44 4.55-.6 2.95-1.82 5.58-3.37 7.3-.32.35-.38.53-.28.78.19.45.53.46 1.23.03 1.97-1.22 4.58-2.17 7.15-2.62.91-.16 3.28-.22 4.43-.12 2.18.19 4.73.78 6.69 1.53.95.36 1.04.38 1.26.26.3-.15.34-.36.22-1.08-.54-3.32-2.24-7.33-4.68-11.04-3.43-5.21-8.53-9.68-14.3-12.53-1.21-.6-1.44-.65-1.71-.38Zm2.54 2.09c1.84 1.01 3.91 2.42 5.65 3.85 4.92 4.04 8.73 9.5 10.63 15.24.29.88.66 2.38.59 2.41-.03.01-.25-.05-.49-.13-1.56-.56-3.72-1.05-5.59-1.28-1.48-.18-3.75-.18-5.04 0-1.83.26-3.54.73-5.23 1.45-.35.15-.68.29-.73.31-.06.02-.05-.03.04-.17.36-.59.98-1.93 1.31-2.86.98-2.72 1.47-6.39 1.21-9.13-.26-2.79-1.38-6.44-2.9-9.49-.14-.28-.26-.53-.26-.54 0-.06.09-.02.78.36Z\"/><path class=\"cls-1\" d=\"M384.83 5.27c-.19.11-.28.25-.28.49 0 .28.05.35.52.66 1.47.99 3.66 3.02 4.76 4.41 2.45 3.08 5.04 8.34 6.54 13.31.16.53.34 1.01.39 1.07.17.19.33.22.84.13.27-.05.74-.11 1.04-.12.68-.04 1.25.09 2.48.59.91.37 1.14.4 1.35.18.25-.25.22-.42-.23-1.61-1.62-4.2-3.84-8.18-6.02-10.73-1.15-1.35-3.14-3.37-4.46-4.53-2.42-2.12-4.48-3.41-6.06-3.81-.57-.15-.67-.15-.88-.03Zm5.89 4.44c.97.83 3.57 3.41 4.38 4.36 1.87 2.18 3.62 5.05 5.11 8.37.41.91.84 1.96.84 2.04 0 .03-.28-.04-.63-.16-.61-.2-.67-.21-1.48-.21-.47 0-.97 0-1.11.02l-.26.02-.28-.87c-1.31-4.16-3.32-8.44-5.52-11.73-.23-.34-.49-.72-.59-.85-.36-.47-1.25-1.53-1.38-1.63-.15-.13-.17-.27-.02-.15.05.05.47.4.92.78Zm15.13 17.11c-.28.01-4.09.26-7.93.51-1.22.08-2.67.17-3.22.2-.54.04-1.54.1-2.22.15-.67.05-1.69.11-2.25.15s-2.02.12-3.25.2c-3.22.21-7.26.47-10.45.67-5.28.34-5.31.34-5.47.44-.08.05-.18.18-.21.29-.08.23-.03.35.72 1.76l.38.71-.97.67c-1.57 1.08-2.14 1.4-2.51 1.4-.08 0-.22.08-.32.17-.24.24-.23.53.01.78.17.17.19.18.56.15.51-.04 1.15-.35 2.21-1.08 1.78-1.23 2.23-1.48 2.61-1.48.28 0 .59.19 1.52.93 1.69 1.34 2.39 1.67 3.55 1.67 1.04 0 1.62-.25 3.08-1.35 1.1-.83 1.33-.94 1.98-.94s.91.13 1.78.83c1.43 1.16 2.12 1.49 3.11 1.49.95 0 1.69-.33 2.84-1.3 1.03-.87 1.5-1.08 2.29-1.04.68.04.95.19 2.33 1.33.85.7 1.71 1.05 2.56 1.05.94 0 1.64-.32 2.87-1.3.47-.37 1.03-.77 1.24-.88.35-.18.42-.19.97-.19s.61.01.97.19c.22.11.67.43 1.03.74.36.3.78.65.93.77.66.5 1.72.84 2.12.67.21-.09.36-.32.36-.57s-.34-.54-.64-.54c-.5 0-.87-.21-1.79-.99-.8-.68-1.1-.91-1.47-1.09-1.35-.63-2.62-.43-3.94.63-.83.66-1.37 1.06-1.64 1.19-.61.31-1.39.31-2.04 0-.17-.08-.3-.16-.29-.17s.35-.18.75-.39c1.46-.73 3.73-2.01 4.68-2.65 1.25-.83 3.75-2.71 3.89-2.93.12-.16.11-.5-.02-.66-.12-.16-.36-.23-.71-.2Zm-1.64 1.28c0 .05-1.6 1.2-2.32 1.67-1.35.88-4.36 2.51-5.36 2.91l-.33.13-.4-.31c-1.08-.83-2.25-1.06-3.36-.66-.54.19-1 .49-1.9 1.22-.39.32-.87.66-1.08.75-.34.16-.44.18-.91.18-.78 0-1.08-.16-2.48-1.3-1.23-1-2.24-1.26-3.37-.88-.47.16-.89.42-1.87 1.16-.46.34-.99.7-1.2.79-.35.16-.43.18-1.02.18-.62 0-.66 0-1.09-.22-.57-.27-.84-.45-1.71-1.16-1.27-1.02-1.8-1.28-2.48-1.19l-.33.04-.33-.63c-.19-.35-.33-.63-.32-.64.01-.01 1.08-.09 2.39-.17 1.3-.09 3.37-.22 4.59-.3 1.22-.08 3.45-.22 4.94-.32 1.5-.09 2.93-.19 3.19-.2s1.48-.09 2.72-.18c7.66-.49 13.13-.84 13.46-.87.53-.04.59-.04.59 0Z\"/></g></svg>',\n          transition: transition,\n          withExternalLayout: true\n        })\n      })\n    })\n  });\n});\nconst css = ['.framer-90pro [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; pointer-events: none; }', \"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\", \".framer-90pro .framer-1u9w4cx { display: block; }\", \".framer-90pro .framer-iaovwn { height: 36px; overflow: hidden; position: relative; width: 1062px; }\", \".framer-90pro .framer-cb2k8i { aspect-ratio: 29.5 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 35px); left: 31px; position: absolute; right: 10px; top: 0px; }\"]; /**\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       * This is a generated Framer component.\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       * @framerIntrinsicHeight 36\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       * @framerIntrinsicWidth 1062\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       */\nconst FramerBJfe7GWv_ = withCSS(Component, css, \"framer-90pro\");\nexport default FramerBJfe7GWv_;\nFramerBJfe7GWv_.displayName = \"tools_white\";\nFramerBJfe7GWv_.defaultProps = {\n  height: 36,\n  width: 1062\n};\naddFonts(FramerBJfe7GWv_, []);\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"Props\": {\n      \"type\": \"tsType\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"default\": {\n      \"type\": \"reactComponent\",\n      \"name\": \"FramerBJfe7GWv_\",\n      \"slots\": [],\n      \"annotations\": {\n        \"framerContractVersion\": \"1\",\n        \"framerIntrinsicHeight\": \"36\",\n        \"framerCanvasComponentVariantDetails\": \"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\n        \"framerIntrinsicWidth\": \"1062\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./BJfe7GWv_.map"],
  "mappings": "kWAKA,IAAMA,GAAwB,CAC5B,KAAMC,GAAU,eAAeA,OAC/B,MAAOA,GAAU,cAAcA,OAC/B,IAAKA,GAAU,eAAeA,OAC9B,OAAQA,GAAU,cAAcA,MAClC,EACMC,GAAgC,OAAO,UAAc,KAAe,OAAO,UAAU,UAAU,oBAAuB,WAU7G,SAARC,GAAwBC,EAAO,CACzB,GAAI,CACb,MAAAC,EACA,IAAAC,EACA,QAAAC,EACA,eAAAC,EACA,WAAAC,EACA,aAAAC,EACA,cAAAC,EACA,YAAAC,EACA,MAAAC,EACA,YAAAC,EACA,UAAAC,EACA,UAAAC,GACA,cAAAC,EACA,YAAAC,EACA,MAAAC,CACF,EAAIf,EACE,CACJ,YAAAgB,EACA,SAAAC,EACA,UAAAC,EACA,UAAAC,EACA,UAAAC,EACF,EAAIN,EACE,CACJ,UAAAO,GACA,WAAAC,EACF,EAAIT,EACEU,EAAenB,EAAiB,GAAGC,OAAgBC,OAAkBC,OAAmBC,MAAkB,GAAGL,MAC7GqB,EAAWC,GAAa,QAAQ,IAAMA,GAAa,OACnDC,GAAcC,GAAS,MAAM1B,CAAK,EAClC2B,GAAcF,GAAc,EAC9Bf,IAAc,KAChBA,EAAY,QAEd,IAAMkB,EAAelB,IAAc,QAAUA,IAAc,QACrDd,EAASiC,GAAe,CAAC,EACzBC,GAAcnC,GAAsBe,CAAS,EAC7CqB,EAAYC,EAAapC,EAAQkC,EAAW,EAC5CG,EAAYC,EAAO,IAAI,EACvBC,EAAcC,GAAQ,IACnB,CAAcC,GAAU,EAAgBA,GAAU,CAAC,EACzD,CAAC,CAAC,EACC,CAACC,EAAMC,CAAO,EAAIC,EAAS,CAC/B,OAAQ,KACR,SAAU,IACZ,CAAC,EACGC,GAAiB,CAAC,EAClBC,GAAgB,CAAC,EACjBC,GAAc,EACdC,GAAU,EACVrB,IAEFoB,GAAclB,GAAc,KAAK,MAAM,GAAKA,EAAW,EAAI,EAC3DmB,GAAU,GAER,CAACrB,GAAYI,IAAeW,EAAK,SACnCK,GAAc,KAAK,MAAML,EAAK,OAASA,EAAK,SAAW,CAAC,EAAI,EAC5DM,GAAU,GAEZ,IAAMC,EAAUC,GAAY,IAAM,CAChC,GAAInB,IAAeM,EAAU,QAAS,CACpC,IAAMc,EAAenB,EAAeK,EAAU,QAAQ,YAAcA,EAAU,QAAQ,aAChFe,EAAQb,EAAY,CAAC,EAAE,QAAUP,EAAeO,EAAY,CAAC,EAAE,QAAQ,WAAaA,EAAY,CAAC,EAAE,QAAQ,UAAY,EAEvHc,GADMd,EAAY,CAAC,EAAE,QAAUP,EAAeO,EAAY,CAAC,EAAE,QAAQ,WAAaA,EAAY,CAAC,EAAE,QAAQ,YAAcA,EAAY,CAAC,EAAE,QAAQ,UAAYA,EAAY,CAAC,EAAE,QAAQ,aAAe,GACzKa,EAAQ/C,EACrCsC,EAAQ,CACN,OAAQQ,EACR,SAAUE,CACZ,CAAC,EAEL,EAAG,CAAC,CAAC,EACCC,GAAiB3B,EAAW,CAChC,kBAAmB,MACrB,EAAI,CAAC,EACL,GAAII,GAAa,CAEf,GAAI,CAACJ,EAAU,CAKb,IAAI4B,EAAgBjB,EAAO,EAAI,EAC/BkB,EAAU,KACRP,EAAQ,EACDQ,GAAOpB,EAAU,QAAS,CAAC,CAChC,YAAAqB,CACF,IAAM,CACA,CAACH,EAAc,UAAYG,EAAY,OAASA,EAAY,SAC9DT,EAAQ,EAEVM,EAAc,QAAU,EAC1B,CAAC,GACA,CAAC,CAAC,EAEPV,GAAiBf,GAAS,IAAI1B,EAAO,CAACuD,EAAOC,IAAU,CACrD,IAAIC,EAAKC,EAAMC,EAAMC,EACrB,IAAIC,EACAL,IAAU,IACZK,EAAO1B,EAAY,CAAC,GAElBqB,IAAUxD,EAAM,OAAS,IAC3B6D,EAAO1B,EAAY,CAAC,GAEtB,IAAMG,GAAO,CACX,MAAOlB,IAAaqC,EAAMF,EAAM,SAAW,MAAQE,IAAQ,OAAS,OAASA,EAAI,MAAQ,OACzF,OAAQpC,IAAcqC,EAAOH,EAAM,SAAW,MAAQG,IAAS,OAAS,OAASA,EAAK,OAAS,MACjG,EACA,OAAoBI,EAAKC,GAAa,CACpC,QAAS,KACT,SAAuBD,EAAK,KAAM,CAChC,IAAKD,EACL,MAAOvB,GACP,SAAuB0B,GAAaT,EAAO,CACzC,MAAO,CACL,IAAKI,EAAOJ,EAAM,SAAW,MAAQI,IAAS,OAAS,OAASA,EAAK,MACrE,GAAGrB,GACH,WAAY,EACZ,GAAGY,EACL,EACA,SAAUK,EAAM,MAAM,SAAWA,EAAM,MAAM,SAAW,aAAeC,EAAQ,MACjF,GAAII,EAAOL,EAAM,SAAW,MAAQK,IAAS,OAAS,OAASA,EAAK,QAAQ,CAC9E,CAAC,CACH,CAAC,CACH,CAAC,EAEH,GAAI,CAACrC,EACH,QAAS0C,EAAI,EAAGA,EAAItB,GAAasB,IAC/BvB,GAAgB,CAAC,GAAGA,GAAe,GAAGhB,GAAS,IAAI1B,EAAO,CAACuD,EAAOW,IAAe,CAC/E,IAAIT,EAAKC,EAAMC,EAAMC,EACrB,OAAoBE,EAAKC,GAAa,CACpC,QAAS,KACT,SAAuBD,EAAK,KAAM,CAChC,MAAO,CACL,QAAS,UACX,EACA,cAAe,GACf,SAAuBE,GAAaT,EAAO,CACzC,IAAKU,EAAI,IAAMC,EACf,MAAO,CACL,IAAKT,EAAMF,EAAM,SAAW,MAAQE,IAAQ,OAAS,OAASA,EAAI,MAClE,MAAOrC,IAAasC,EAAOH,EAAM,SAAW,MAAQG,IAAS,OAAS,OAASA,EAAK,MAAQ,OAC5F,OAAQrC,IAAcsC,EAAOJ,EAAM,SAAW,MAAQI,IAAS,OAAS,OAASA,EAAK,OAAS,OAC/F,WAAY,EACZ,GAAGT,EACL,EACA,SAAUK,EAAM,MAAM,SAAWA,EAAM,MAAM,SAAW,SAAWU,EAAI,MACzE,GAAIL,EAAOL,EAAM,SAAW,MAAQK,IAAS,OAAS,OAASA,EAAK,QAAQ,CAC9E,EAAGK,EAAI,KAAOC,CAAU,CAC1B,EAAGD,EAAI,KAAOC,CAAU,CAC1B,CAAC,CAAC,EAGN,IAAMC,EAAiB7B,EAAK,SAAWA,EAAK,SAAW,KAAK,MAAMA,EAAK,OAASA,EAAK,QAAQ,EACvF8B,EAAclC,EAAO,IAAI,EACzBmC,GAAWnC,EAAO,IAAI,EACtBoC,GAAOpC,EAAO,CAAC,EACfqC,GAAUrC,EAAO,EAAK,EACtBsC,GAAWC,GAAUxC,CAAS,EAC9ByC,GAAkBC,GAAiB,EACnCC,GAAU1C,EAAO,IAAI,EACrB2C,EAAe3C,EAAO,IAAI,EAG3BX,IAIC1B,GACFuD,EAAU,IAAM,CACd,GAAI,EAAAsB,IAAmB,CAACP,GAAkB,CAAC3D,GAG3C,OAAAqE,EAAa,QAAUD,GAAQ,QAAQ,QAAQ,CAC7C,UAAW,CAAC9C,GAAY,CAAC,EAAGA,GAAYqC,CAAc,CAAC,CACzD,EAAG,CACD,SAAU,KAAK,IAAIA,CAAc,EAAI3D,EAAQ,IAC7C,WAAY,IACZ,OAAQ,QACV,CAAC,EACM,IAAMqE,EAAa,QAAQ,OAAO,CAC3C,EAAG,CAACpE,EAAa0D,EAAgB3D,CAAK,CAAC,EAMvCsE,GAAkBC,GAAK,CACrB,GAAI,CAACZ,GAAkBO,IAAmB7E,GACxC,OAOEuE,EAAY,UAAY,OAC1BA,EAAY,QAAUW,GAExBA,EAAIA,EAAIX,EAAY,QAEpB,IAAIY,GADcX,GAAS,UAAY,KAAO,EAAIU,EAAIV,GAAS,UACtC7D,EAAQ,KAC7B+D,GAAQ,UACVS,GAASvE,GAEX6D,GAAK,SAAWU,EAChBV,GAAK,QAAUW,GAAK,EAAGd,EAAgBG,GAAK,OAAO,EACnDD,GAAS,QAAUU,EACdP,IACL5E,EAAO,IAAI0E,GAAK,OAAO,CACzB,CAAC,GAGL,IAAMY,GAAgBtD,EAAe,WAAa,YAC5CuD,GAAiBlE,EAAY,EAC7BmE,GAAe,IAAMnE,EAAY,EACjCoE,GAAiBC,GAAMpE,EAAW,EAAGiE,EAAc,EACnDI,GAAe,IAAMrE,EACrBsE,GAAW,mBAAmBN,qBAAgC/D,OAAckE,yBAAqCF,yBAAqCC,sBAAgCjE,OAAcoE,OAC1M,OAAK5D,GAeemC,EAAK,UAAW,CAClC,MAAO,CACL,GAAG2B,GACH,QAAS7C,GACT,gBAAiB7B,EAAcyE,GAAW,OAC1C,aAAczE,EAAcyE,GAAW,OACvC,UAAWzE,EAAcyE,GAAW,OACpC,SAAUxE,EAAW,UAAY,SACjC,QAASM,CACX,EACA,IAAKW,EACL,SAAuByD,GAAMC,EAAO,GAAI,CACtC,IAAKf,GACL,MAAO,CACL,GAAGa,GACH,IAAKxF,EACL,IAAKS,IAAc,UAAYkF,GAAczB,CAAc,EAAI,CAACA,EAAiB,OACjF,KAAMzD,IAAc,SAAWkF,GAAczB,CAAc,EAAI,CAACA,EAAiB,OACjF,WAAYxD,GACZ,SAAU,WACV,cAAeiB,EAAe,MAAQ,SACtC,GAAGd,EACH,UAAWjB,GAAgC,OAAYkC,EACvD,WAAY,WACd,EACA,aAAc,IAAM,CAClBwC,GAAQ,QAAU,GACdM,EAAa,SACfA,EAAa,QAAQ,mBAAmBpE,CAAW,CAEvD,EACA,aAAc,IAAM,CAClB8D,GAAQ,QAAU,GACdM,EAAa,SACfA,EAAa,QAAQ,mBAAmB,CAAC,CAE7C,EACA,SAAU,CAACpC,GAAgBC,EAAa,CAC1C,CAAC,CACH,CAAC,EArDqBgD,GAAM,UAAW,CACnC,MAAOG,GACP,SAAU,CAAc/B,EAAK,MAAO,CAClC,MAAOgC,GACP,SAAU,QACZ,CAAC,EAAgBhC,EAAK,IAAK,CACzB,MAAOiC,GACP,SAAU,oBACZ,CAAC,EAAgBjC,EAAK,IAAK,CACzB,MAAOkC,GACP,SAAU,2DACZ,CAAC,CAAC,CACJ,CAAC,CA0CL,CAEAlG,GAAO,aAAe,CACpB,IAAK,GACL,QAAS,GACT,cAAe,CACb,UAAW,GACX,WAAY,EACd,EACA,YAAa,CACX,YAAa,GACb,SAAU,GACV,UAAW,GACX,UAAW,EACX,UAAW,CACb,EACA,UAAW,EACb,EACAmG,GAAoBnG,GAAQ,CAC1B,MAAO,CACL,KAAMoG,EAAY,MAClB,MAAO,WACP,QAAS,CACP,KAAMA,EAAY,iBACpB,CACF,EACA,MAAO,CACL,KAAMA,EAAY,OAClB,MAAO,QACP,IAAK,EACL,IAAK,IACL,aAAc,IACd,KAAM,IACN,eAAgB,GAChB,KAAM,CACR,EACA,UAAW,CACT,KAAMA,EAAY,KAClB,MAAO,YACP,QAAS,CAAC,OAAQ,QAAS,MAAO,QAAQ,EAC1C,YAAa,CAAC,iBAAkB,kBAAmB,eAAgB,gBAAgB,EACnF,aAAc,CAAC,OAAQ,QAAS,MAAO,QAAQ,EAC/C,aAAc,OACd,wBAAyB,EAC3B,EACA,UAAW,CACT,KAAMA,EAAY,KAClB,MAAO,QACP,QAAS,CAAC,aAAc,SAAU,UAAU,EAC5C,YAAa,CACX,UAAW,CACT,MAAO,CAAC,YAAa,eAAgB,cAAc,EACnD,KAAM,CAAC,YAAa,eAAgB,cAAc,EAClD,IAAK,CAAC,aAAc,eAAgB,aAAa,EACjD,OAAQ,CAAC,aAAc,eAAgB,aAAa,CACtD,CACF,EACA,aAAc,SACd,wBAAyB,EAC3B,EACA,IAAK,CACH,KAAMA,EAAY,OAClB,MAAO,KACT,EACA,QAAS,CACP,MAAO,UACP,KAAMA,EAAY,YAClB,UAAW,iBACX,aAAc,CAAC,UAAW,kBAAkB,EAC5C,UAAW,CAAC,aAAc,eAAgB,gBAAiB,aAAa,EACxE,YAAa,CAAC,IAAK,IAAK,IAAK,GAAG,EAChC,IAAK,CACP,EACA,cAAe,CACb,KAAMA,EAAY,OAClB,MAAO,SACP,SAAU,CACR,UAAW,CACT,KAAMA,EAAY,QAClB,MAAO,QACP,aAAc,OACd,cAAe,UACf,aAAc,EAChB,EACA,WAAY,CACV,KAAMA,EAAY,QAClB,MAAO,SACP,aAAc,OACd,cAAe,UACf,aAAc,EAChB,CACF,CACF,EACA,YAAa,CACX,KAAMA,EAAY,OAClB,MAAO,WACP,SAAU,CACR,YAAa,CACX,KAAMA,EAAY,QAClB,MAAO,OACP,aAAc,EAChB,EACA,SAAU,CACR,KAAMA,EAAY,QAClB,MAAO,WACP,aAAc,OACd,cAAe,OACf,aAAc,GACd,OAAOnG,EAAO,CACZ,OAAOA,EAAM,cAAgB,EAC/B,CACF,EACA,UAAW,CACT,KAAMmG,EAAY,OAClB,MAAO,QACP,aAAc,GACd,IAAK,EACL,IAAK,IACL,KAAM,IACN,OAAOnG,EAAO,CACZ,OAAOA,EAAM,cAAgB,EAC/B,CACF,EACA,UAAW,CACT,KAAMmG,EAAY,OAClB,MAAO,QACP,aAAc,EACd,IAAK,EACL,IAAK,IACL,KAAM,IACN,OAAOnG,EAAO,CACZ,OAAOA,EAAM,cAAgB,EAC/B,CACF,EACA,UAAW,CACT,KAAMmG,EAAY,OAClB,MAAO,UACP,aAAc,EACd,IAAK,EACL,IAAK,EACL,KAAM,IACN,OAAOnG,EAAO,CACZ,OAAOA,EAAM,cAAgB,EAC/B,CACF,CACF,CACF,EACA,YAAa,CACX,KAAMmG,EAAY,OAClB,MAAO,QACP,IAAK,EACL,IAAK,EACL,KAAM,IACN,aAAc,EACd,KAAM,GACN,eAAgB,GAChB,YAAa,8CACf,CACF,CAAC,EACD,IAAMT,GAAiB,CACrB,QAAS,OACT,MAAO,OACP,OAAQ,OACR,SAAU,OACV,UAAW,OACX,WAAY,SACZ,OAAQ,EACR,QAAS,EACT,cAAe,OACf,WAAY,MACd,EACMI,GAAoB,CACxB,QAAS,OACT,MAAO,OACP,OAAQ,OACR,aAAc,SACd,WAAY,SACZ,cAAe,SACf,MAAO,OACP,WAAY,0BACZ,SAAU,GACV,SAAU,SACV,QAAS,qBACX,EACMC,GAAc,CAClB,SAAU,GACV,aAAc,EAChB,EACMC,GAAc,CAClB,OAAQ,EACR,aAAc,GACd,WAAY,IACZ,UAAW,QACb,EACMC,GAAiB,CACrB,OAAQ,EACR,QAAS,GACT,SAAU,IACV,WAAY,IACZ,UAAW,QACb,EACMV,GAAQ,CAACa,EAAKC,EAAKC,IAAQ,KAAK,IAAI,KAAK,IAAIF,EAAKC,CAAG,EAAGC,CAAG,EAC3DT,GAAgBU,GAAS,OAAOA,GAAU,UAAY,CAAC,MAAMA,CAAK,ECjfjE,IAAMC,GAAY,IAAM,OAAO,UAAa,SAC5C,SAASC,IAA2B,CACzC,GAAKD,GAAU,EACf,IAAI,OAAO,SAAS,OAAW,IAE7B,MAAO,mBACF,GAAI,OAAO,SAAS,SAAa,IACtC,MAAO,qBACF,GAAI,OAAO,SAAS,aAAiB,IAC1C,MAAO,yBAEX,CACO,SAASE,IAA+B,CAC7C,GAAKF,GAAU,EACf,IAAI,OAAO,SAAS,OAAW,IAC7B,MAAO,SACF,GAAI,OAAO,SAAS,SAAa,IACtC,MAAO,WACF,GAAI,OAAO,SAAS,aAAiB,IAC1C,MAAO,eAEX,CACO,SAASG,IAAsB,CACpC,GAAKH,GAAU,EACf,MAAO,CAAC,SAASE,GAA6B,CAAC,CACjD,CACO,SAASE,IAAoB,CAClC,GAAI,CAACJ,GAAU,EAAG,OAClB,GAAM,CAACK,EAAWC,CAAY,EAAIC,EAASJ,GAAoB,CAAC,EAC1DK,EAAqB,IAAMF,EAAaH,GAAoB,CAAC,EACnE,OAAAM,EAAU,IAAM,CACd,IAAMC,EAAmBT,GAAyB,EAClD,gBAAS,iBAAiBS,EAAkBF,EAAoB,EAAK,EAC9D,IAAM,CACX,SAAS,oBAAoBE,EAAkBF,CAAkB,CACnE,CACF,CAAC,EACMH,CACT,CCpBe,SAARM,EAA2BC,EAAO,CAIvC,GAAM,CACJ,MAAAC,EACA,UAAAC,EACA,UAAAC,EACA,eAAAC,EACA,gBAAAC,EACA,YAAAC,EACA,UAAAC,EACA,IAAAC,EACA,QAAAC,EACA,eAAAC,EACA,WAAAC,EACA,aAAAC,GACA,cAAAC,EACA,YAAAC,EACA,WAAAC,EACA,YAAAC,EACA,gBAAAC,EACA,kBAAAC,EACA,aAAAC,EACA,aAAAC,GACA,gBAAAC,GACA,MAAAC,EACF,EAAItB,EACE,CACJ,eAAAuB,EACA,aAAAC,EACA,cAAAC,GACA,mBAAAC,GACA,aAAAC,CACF,EAAIvB,EACE,CACJ,YAAAwB,EACA,SAAAC,GACA,UAAAC,EACA,UAAAC,EACA,UAAAC,CACF,EAAIhB,EACE,CACJ,kBAAAiB,EACA,UAAAC,EACA,YAAAC,GACA,UAAAC,GACA,UAAAC,GACA,WAAAC,GACA,iBAAAC,EAAmB,GACnB,kBAAAC,GAAoB,GACpB,cAAAC,EACA,aAAAC,EACA,SAAAC,GACA,gBAAAC,GACA,kBAAAC,GACA,mBAAAC,GACA,iBAAAC,EACF,EAAI5B,EACE,CACJ,iBAAA6B,GACA,QAAAC,EACA,UAAAC,GACA,WAAAC,GACA,YAAAC,GACA,QAAAC,GACA,SAAAC,GACA,eAAAC,GACA,kBAAAC,EACA,YAAAC,EACA,SAAAC,CACF,EAAIrC,GACEsC,EAAejD,EAAiB,GAAGC,OAAgBC,QAAkBC,OAAmBC,MAAkB,GAAGL,MAG7GmD,EAAWC,GAAa,QAAQ,IAAMA,GAAa,OACnDC,EAAcC,GAAS,MAAM9D,CAAK,EAAI,EACtC+D,EAAe7D,IAAc,QAAUA,IAAc,QACrD8D,GAAa9D,IAAc,SAAWA,IAAc,SAG1D,GAAI,CAAC2D,EACH,OAAoBI,GAAM,UAAW,CACnC,MAAOC,GACP,SAAU,CAAcC,EAAK,MAAO,CAClC,MAAOC,GACP,SAAU,cACZ,CAAC,EAAgBD,EAAK,IAAK,CACzB,MAAOE,GACP,SAAU,oBACZ,CAAC,EAAgBF,EAAK,IAAK,CACzB,MAAOG,GACP,SAAU,oEACZ,CAAC,CAAC,CACJ,CAAC,EAIH,IAAMC,GAAYC,EAAO,IAAI,EACvBC,EAAcC,GAAQ,IACnB1E,EAAM,IAAI2E,GAAsBC,GAAU,CAAC,EACjD,CAAC5E,CAAK,CAAC,EACJ6E,GAAaL,EAAO,MAAS,EAC7B,CAACM,EAAMC,EAAO,EAAIC,EAAS,CAC/B,OAAQ,KACR,SAAU,KACV,KAAM,KACN,UAAW,KACX,WAAY,IACd,CAAC,EACK,CAACC,GAAYC,EAAa,EAAIF,EAAS,EAAK,EAC5C,CAACG,GAAmBC,EAAoB,EAAIJ,EAAS5E,CAAe,EACpE,CAACiF,GAAaC,EAAc,EAAIN,EAAS,EAAK,EAC9C,CAACO,GAAYC,EAAa,EAAIR,EAAS,EAAK,EAG5CS,GAAgB,CAAC,EACnBC,GAAc,EACd/B,IACF+B,GAAc,GAIhB,IAAMC,GAAUC,GAAY,IAAM,CAChCC,GAAK,KAAK,IAAM,CACd,GAAIhC,GAAeU,GAAU,QAAS,CACpC,IAAMuB,EAAQ9F,EAAM,OAAS,EACvB+F,EAAehC,EAAeQ,GAAU,QAAQ,YAAcA,GAAU,QAAQ,aAChFyB,EAAQvB,EAAY,CAAC,EAAE,QAAUV,EAAeU,EAAY,CAAC,EAAE,QAAQ,WAAaA,EAAY,CAAC,EAAE,QAAQ,UAAY,EAEvHwB,IADMxB,EAAYqB,CAAK,EAAE,QAAU/B,EAAeU,EAAYqB,CAAK,EAAE,QAAQ,WAAarB,EAAYqB,CAAK,EAAE,QAAQ,YAAcrB,EAAYqB,CAAK,EAAE,QAAQ,UAAYrB,EAAYqB,CAAK,EAAE,QAAQ,aAAe,GAC7LE,EAAQzF,EAC/B2F,GAAWzB,EAAY,CAAC,EAAE,QAAUV,EAAeU,EAAY,CAAC,EAAE,QAAQ,YAAcA,EAAY,CAAC,EAAE,QAAQ,aAAe,EAC9H0B,GAAY1B,EAAY,CAAC,EAAE,QAAUA,EAAY,CAAC,EAAE,QAAQ,YAAc,EAC1E2B,GAAa3B,EAAY,CAAC,EAAE,QAAUA,EAAY,CAAC,EAAE,QAAQ,aAAe,EAClFM,GAAQ,CACN,OAAQgB,EACR,SAAUE,GACV,KAAMC,GACN,UAAAC,GACA,WAAAC,EACF,CAAC,EAEL,CAAC,CACH,EAAG,CAACvC,CAAW,CAAC,EAIhBwC,GAAgB,IAAM,CAChBxC,GAAa8B,GAAQ,CAC3B,EAAG,CAAC9B,EAAa/C,CAAU,CAAC,EAI5B,IAAIwF,GAAgB9B,EAAO,EAAI,EAC/B+B,EAAU,IACDC,GAAOjC,GAAU,QAAS,CAAC,CAChC,YAAAkC,CACF,IAAM,CACA,CAACH,GAAc,UAAYG,EAAY,OAASA,EAAY,UAC9Dd,GAAQ,EACRH,GAAc,EAAI,GAEpBc,GAAc,QAAU,EAC1B,CAAC,EACA,CAAC,CAAC,EACLC,EAAU,IAAM,CACd,GAAIhB,GAAY,CACd,IAAMmB,EAAQ,WAAW,IAAMlB,GAAc,EAAK,EAAG,GAAG,EACxD,MAAO,IAAM,aAAakB,CAAK,EAEnC,EAAG,CAACnB,EAAU,CAAC,EAGf,IAAMoB,GAA2D3G,GAAM,OACjE4G,GAAejD,EAAW,EAAgDmB,GAAK,SAC/E+B,GAA2D/B,GAAK,KAAQvE,EACxEuG,GAAa7G,EAAY4G,GACzB,CAACE,EAAaC,EAAc,EAAIhC,EAAS/E,EAAY0G,EAAU,EAC/D,CAACM,GAAYC,EAAa,EAAIlC,EAAS,EAAK,EAC5CmC,GAAYC,GAAkB,EAC9BC,GAASrD,GAAa,EAAI,GAC1BsD,GAAOC,GAAeX,EAAY,EAClCY,GAAiBzD,EAAe,CAAC9D,GAA0D6E,GAAK,UAAavE,GAAO,CAACN,GAA0D6E,GAAK,WAAcvE,GAClMkH,GAAc,IAAMJ,GAASN,EAAcF,GAC3Ca,GAAgB/D,EAGjB,EAH4BgE,EAAaL,GAAMM,GAAS,CAC3D,IAAMC,EAAUC,GAAK,CAAClB,GAAc,CAACA,GAAe,EAAGgB,CAAK,EAC5D,OAAO,MAAMC,CAAO,EAAI,EAAIA,CAC9B,CAAC,EACKE,GAAeD,GAAK,EAAGnB,GAAYI,CAAW,EAC9CiB,GAAuBF,GAAK,EAAG,CAACnB,GAAYI,CAAW,EAC7DV,GAAgB,IAAM,CAC6BvB,GAAK,WAAc,MAIhE,CAACwB,GAAc,SAAWf,IAC5B+B,GAAK,IAAIG,GAAY,CAAC,CAE1B,EAAG,CAAC3C,EAAM8B,GAAcS,GAAQP,GAAYC,EAAaF,GAAatB,EAAU,CAAC,EAIjF,IAAM0C,GAAc,IAAM,CACpBtE,GAAY,CAACE,GAAe,CAACiB,EAAK,QAAUmC,KAC5CK,GAAK,IAAI,IAAMG,GAAY,GAC7BS,GAAQZ,GAAMG,GAAY,EAAGxG,CAAiB,EAE5Cb,GAAmB+E,KACrBN,GAAW,QAAU,WAAW,IAAM,CACpCmC,GAAeD,EAAc,CAAC,EAC9BkB,GAAY,CACd,EAAGjH,EAAkB,GAAG,GAE5B,EACMmH,GAAWC,GAAS,CAItBpB,GAHGhD,GAGY+C,EAAcqB,EAFdrB,EAAcqB,CAEK,CAEtC,EACMC,GAAU1D,GAAS,CACvB,IAAM2D,EAAqBR,GAAK,EAAGnB,GAAYI,CAAW,EACpDwB,EAA2BT,GAAK,EAAG,CAACnB,GAAYI,CAAW,EAC3DyB,EAAO7D,EAAQ2D,EACfG,GAAe9D,EAAQ,KAAK,IAAI4D,CAAwB,EAI5DvB,GAHGhD,GAGY+C,EAAc0B,GAFd1B,EAAcyB,CAEY,CAE7C,EAGME,GAAkB,IAAM,CAC5BxB,GAAc,EAAI,CACpB,EACMyB,GAAgB,CAACC,EAAO,CAC5B,OAAAC,EACA,SAAAC,CACF,IAAM,CACJ5B,GAAc,EAAK,EACnB,IAAM6B,EAAahF,EAAe8E,EAAO,EAAIA,EAAO,EAC9CG,GAAoB,IAEpBC,GAAelF,EAAe+E,EAAS,EAAIA,EAAS,EACpDI,GAAeH,EAAa,CAACjE,EAAK,KAAO,EACzCqE,GAAeJ,EAAajE,EAAK,KAAO,EACxCsE,GAAmB,KAAK,IAAIL,CAAU,EACtCM,GAAY,KAAK,MAAMD,GAAmBtE,EAAK,IAAI,EACnDwE,GAAmBD,KAAc,EAAI,EAAIA,GAC3CJ,GAAeD,GACjBb,GAAS,CAACmB,EAAgB,EACjBL,GAAe,CAACD,GACzBb,GAASmB,EAAgB,GAE2CJ,IAClEf,GAASkB,EAAS,EAEhBF,IACFhB,GAAS,CAACkB,EAAS,EAGzB,EACA9C,EAAU,IAAM,CACd,GAAI,GAACY,IAAa5B,IAClB,OAAA0C,GAAY,EACL,IAAMpD,GAAW,SAAW,aAAaA,GAAW,OAAO,CACpE,EAAG,CAACY,GAAe0B,GAAW5B,EAAU,CAAC,EACzC,IAAIgE,GAAe,EAGfC,GAAmB,QAAQ,IAAM1I,QAAiBP,SAAWA,EAAMO,OAKvE,QAAS6D,EAAQ,EAAGA,EAAQe,GAAaf,IACvCc,GAAc,KAAK,GAAG3B,GAAS,IAAI9D,EAAO,CAACyJ,EAAOC,IAAe,CAC/D,IAAIC,EACJ,OAAID,IAAe,IACjBC,EAAMlF,EAAY,CAAC,GAEjBiF,IAAe1J,EAAM,OAAS,IAChC2J,EAAMlF,EAAY,CAAC,GAEDN,EAAKyF,GAAO,CAC9B,IAAKnF,EAAYiF,CAAU,EAC3B,SAAU/E,EAAQ+E,EAAa,KAC/B,MAAO/E,EACP,MAAOZ,GAAejD,EAAa,EAAI0I,GAA4B,OACnE,OAASzF,EAA4D,OAA7CjD,EAAa,EAAI0I,GAAmB,OAC5D,KAAM1E,EACN,MAAO2E,EACP,YAA2DzJ,GAAM,OACjE,aAAc0H,GACd,aAAc6B,KACd,IAAKhJ,EACL,SAAUoD,EACV,aAAcI,EACd,eAAgBzC,EAChB,aAAcC,EACd,cAAeC,GACf,SAAUmD,EAAQ+E,CACpB,EAAG/E,EAAQ+E,EAAa,IAAI,CAC9B,CAAC,CAAC,EAIJ,IAAMG,GAAgB9F,EAAe,WAAa,YAC5C+F,GAAiBjI,EAAY,EAC7BkI,GAAe,IAAMlI,EAAY,EACjCmI,GAAiBC,GAAMnI,EAAW,EAAGgI,EAAc,EACnDI,GAAe,IAAMpI,EACrBqI,GAAW,mBAAmBN,qBAAgC9H,MAAciI,yBAAqCF,yBAAqCC,sBAAgChI,MAAcmI,OAGpME,GAAO,CAAC,EACRC,GAAgB,CAAC,EACvB,GAAItH,GAAkB,CACpB,QAASuH,EAAI,EAAGA,EAAmDtK,GAAM,OAASsK,IAChFF,GAAK,KAAmBjG,EAAKoG,GAAK,CAChC,SAAU,CACR,GAAGC,GACH,MAAOxH,EACP,OAAQA,EACR,gBAAiBK,EACnB,EACA,YAAaoH,GACb,gBAAiBlH,EACjB,QAASC,EACT,QAAS,IAAM6E,GAAQiC,CAAC,EACxB,aAAcvC,GACd,qBAAsBC,GACtB,MAAOrB,GACP,MAAO2D,EACP,IAAKlH,GACL,QAASD,GACT,aAAcY,EACd,WAAYC,EACd,EAAGsG,CAAC,CAAC,EAEH7G,EAAW,IACb4G,GAAc,eAAiBA,GAAc,qBAAuBA,GAAc,kBAAoB,QAAQ5G,QAGlH,IAAMiH,GAAYrK,EAAc,CAC9B,KAAM0D,EAAe,IAAM,IAC3B,YAAa2E,GACb,UAAWC,GACX,kBAAmB,GACnB,OAAQ,CACN,EAAGrB,GACH,EAAGA,EACL,EACA,aAAc,EAChB,EAAI,CAAC,EACCqD,GAAcnI,IAAkB,YAAcA,IAAkB,WAAaA,IAAkB,YAC/FoI,GAAiBpI,IAAkB,eAAiBA,IAAkB,cAAgBA,IAAkB,eACxGqI,GAAerI,IAAkB,YAAcA,IAAkB,cACjEsI,GAAgBtI,IAAkB,aAAeA,IAAkB,eACnEuI,GAAcvI,IAAkB,WAAaA,IAAkB,cAAgBA,IAAkB,OACvG,OAAoByB,GAAM,UAAW,CACnC,MAAO,CACL,GAAG+G,GACH,QAAStH,EACT,gBAAiB/B,EAAcwI,GAAW,OAC1C,aAAcxI,EAAcwI,GAAW,OACvC,UAAWxI,EAAcwI,GAAW,OACpC,QAAsDrF,GAAK,OAAU,KAAO,EAAI,EAChF,WAAY,MACd,EACA,aAAc,IAAM,CAClBI,GAAc,EAAI,EACbxD,GAAc0D,GAAqB,EAAK,CAC/C,EACA,aAAc,IAAM,CAClBF,GAAc,EAAK,EACdxD,GAAc0D,GAAqB,EAAI,CAC9C,EACA,YAAawD,GAAS,CAEpBA,EAAM,eAAe,EACrBtD,GAAe,EAAI,CACrB,EACA,UAAW,IAAMA,GAAe,EAAK,EACrC,SAAU,CAAcnB,EAAK,MAAO,CAClC,MAAO,CACL,MAAO,OACP,OAAQ,OACR,OAAQ,EACR,QAAS,UACT,SAAU,WACV,MAAO,EACP,SAAUvC,GAAW,UAAY,SACjC,aAAcT,GACd,WAAY,OACZ,YAAaM,EACf,EACA,SAAuB0C,EAAK8G,EAAO,GAAI,CACrC,IAAK1G,GACL,GAAGmG,GACH,MAAO,CACL,GAAGM,GACH,IAAKzK,EACL,WAAYD,EACZ,EAAGyD,EAAeJ,EAAW6D,GAAiBE,GAAe,EAC7D,EAAI3D,EAA0D,EAA3CJ,EAAW6D,GAAiBE,GAC/C,cAAe3D,EAAe,MAAQ,SACtC,eAAgBvC,KAAkB,EAAI,cAAgB,OACtD,OAAQnB,EAAcgF,GAAc,WAAa,OAAS,OAC1D,WAAY,OACZ,GAAGhE,EACL,EACA,SAAUoE,EACZ,CAAC,CACH,CAAC,EAAgBxB,GAAM,WAAY,CACjC,MAAO,CACL,GAAGiH,EACL,EACA,aAAc,gCACd,UAAW,6BACX,SAAU,CAAcjH,GAAMgH,EAAO,IAAK,CACxC,MAAO,CACL,SAAU,WACV,QAAS,OACT,cAAelH,EAAe,MAAQ,SACtC,eAAgBzB,EAAmB,gBAAkB,SACrD,IAAKA,EAAmB,QAAUI,GAClC,QAASH,GAAoB,EAAI,EACjC,WAAY,SACZ,MAAOE,EACP,IAAKH,EAAmBG,EAAekI,GAAchI,GAAkB,QACvE,KAAML,EAAmBG,EAAeoI,GAAe/H,GAAmBiI,GAAc,EAAI,QAC5F,MAAOzI,EAAmBG,EAAeqI,GAAgBlI,GAAoBmI,GAAc,EAAI,QAC/F,OAAQzI,EAAmBG,EAAemI,GAAiB/H,GAAqB,OAClF,EACA,QAASN,IAAqB,CAC5B,QAAS0C,GAAa,EAAI,CAC5B,EACA,WAAYhE,EACZ,SAAU,CAAckD,EAAK8G,EAAO,OAAQ,CAC1C,KAAM,SACN,MAAO,CACL,GAAGR,GACH,gBAAiBtI,GACjB,MAAOF,EACP,OAAQA,EACR,aAAcC,GACd,OAAS6B,EAAoB,EAAL,GACxB,QAAS/B,EAAoB,QAAU,OACvC,cAAe,MACjB,EACA,QAAS,IAAMmG,GAAS,EAAE,EAC1B,aAAc,WACd,SAAU,CACR,MAAO,EACT,EACA,WAAY,CACV,SAAU,GACZ,EACA,SAAuBhE,EAAK,MAAO,CACjC,MAAOlC,EACP,OAAQA,EACR,IAAKG,IAAa,sEAClB,IAAK,YACP,CAAC,CACH,CAAC,EAAgB+B,EAAK8G,EAAO,OAAQ,CACnC,KAAM,SACN,MAAO,CACL,GAAGR,GACH,gBAAiBtI,GACjB,MAAOF,EACP,OAAQA,EACR,aAAcC,GACd,OAAS6B,EAAoB,EAAL,GACxB,QAAS/B,EAAoB,QAAU,OACvC,cAAe,MACjB,EACA,QAAS,IAAMmG,GAAS,CAAC,EACzB,aAAc,OACd,SAAU,CACR,MAAO,EACT,EACA,WAAY,CACV,SAAU,GACZ,EACA,SAAuBhE,EAAK,MAAO,CACjC,MAAOlC,EACP,OAAQA,EACR,IAAKI,IAAc,sEACnB,IAAK,YACP,CAAC,CACH,CAAC,CAAC,CACJ,CAAC,EAAG+H,GAAK,OAAS,EAAiBjG,EAAK,MAAO,CAC7C,MAAO,CACL,GAAGgH,GACH,KAAMpH,EAAe,MAAQd,GAC7B,IAAMc,EAAuB,QAAR,MACrB,UAAWA,EAAe,mBAAqB,mBAC/C,cAAeA,EAAe,MAAQ,SACtC,OAAQA,EAAed,GAAY,QACnC,aAAcC,GACd,gBAAiBI,GACjB,WAAY,OACZ,GAAG+G,EACL,EACA,SAAUD,EACZ,CAAC,EAAI,IAAI,CACX,CAAC,CAAC,CACJ,CAAC,CACH,CAEAtK,EAAU,aAAe,CACvB,UAAW,OACX,YAAa,GACb,UAAW,EACX,WAAY,EACZ,SAAU,GACV,IAAK,GACL,QAAS,GACT,gBAAiB,GACjB,eAAgB,CACd,eAAgB,EAChB,aAAc,EACd,cAAe,EACf,mBAAoB,KACpB,aAAc,EAChB,EACA,kBAAmB,CACjB,KAAM,SACN,UAAW,IACX,QAAS,EACX,EACA,YAAa,CACX,YAAa,GACb,SAAU,GACV,UAAW,GACX,UAAW,EACX,UAAW,CACb,EACA,aAAc,CACZ,kBAAmB,GACnB,kBAAmB,GACnB,iBAAkB,GAClB,UAAW,kBACX,UAAW,EACb,EACA,gBAAiB,CACf,iBAAkB,EACpB,CACF,EACAsL,GAAoBtL,EAAW,CAC7B,MAAO,CACL,KAAMuL,EAAY,MAClB,MAAO,UACP,QAAS,CACP,KAAMA,EAAY,iBACpB,CACF,EACA,UAAW,CACT,KAAMA,EAAY,KAClB,MAAO,YACP,QAAS,CAAC,OAAQ,QAAS,MAAO,QAAQ,EAC1C,YAAa,CAAC,iBAAkB,kBAAmB,eAAgB,gBAAgB,EACnF,aAAc,CAAC,OAAQ,QAAS,MAAO,QAAQ,EAC/C,wBAAyB,GACzB,aAAcvL,EAAU,aAAa,SACvC,EACA,gBAAiB,CACf,KAAMuL,EAAY,QAClB,MAAO,YACP,aAAc,EAChB,EACA,gBAAiB,CACf,KAAMA,EAAY,OAClB,MAAO,WACP,aAAc,IACd,IAAK,GACL,IAAK,GACL,KAAM,GACN,eAAgB,GAChB,KAAM,IACN,OAAQtL,GAAS,CAACA,EAAM,eAC1B,EACA,YAAa,CACX,KAAMsL,EAAY,QAClB,MAAO,YACP,aAAc,EAChB,EACA,UAAW,CACT,KAAMA,EAAY,OAClB,MAAO,UACP,IAAK,EACL,IAAK,GACL,eAAgB,GAChB,aAAcvL,EAAU,aAAa,SACvC,EACA,eAAgB,CACd,KAAMuL,EAAY,OAClB,MAAO,UACP,SAAU,CACR,eAAgB,CACd,KAAMA,EAAY,OAClB,MAAO,UACP,aAAcvL,EAAU,aAAa,eAAe,eACpD,IAAK,EACL,IAAK,EACL,KAAM,IACN,eAAgB,EAClB,EACA,aAAc,CACZ,KAAMuL,EAAY,OAClB,MAAO,QACP,aAAcvL,EAAU,aAAa,eAAe,aACpD,IAAK,EACL,IAAK,EACL,KAAM,IACN,eAAgB,EAClB,EACA,mBAAoB,CAClB,KAAMuL,EAAY,OAClB,MAAO,cACP,aAAcvL,EAAU,aAAa,eAAe,mBACpD,IAAK,IACL,IAAK,IACL,KAAM,CACR,EACA,cAAe,CACb,KAAMuL,EAAY,OAClB,MAAO,SACP,aAAcvL,EAAU,aAAa,eAAe,cACpD,IAAK,KACL,IAAK,IACL,KAAM,CACR,EACA,aAAc,CACZ,KAAMuL,EAAY,QAClB,MAAO,WACP,aAAc,OACd,cAAe,QACf,aAAcvL,EAAU,aAAa,eAAe,YACtD,CACF,CACF,EACA,UAAW,CACT,KAAMuL,EAAY,KAClB,MAAO,QACP,QAAS,CAAC,aAAc,SAAU,UAAU,EAC5C,YAAa,CACX,UAAW,CACT,MAAO,CAAC,YAAa,eAAgB,cAAc,EACnD,KAAM,CAAC,YAAa,eAAgB,cAAc,EAClD,IAAK,CAAC,aAAc,eAAgB,aAAa,EACjD,OAAQ,CAAC,aAAc,eAAgB,aAAa,CACtD,CACF,EACA,aAAc,SACd,wBAAyB,EAC3B,EACA,WAAY,CACV,KAAMA,EAAY,OAClB,MAAO,QACP,IAAK,EACL,IAAK,GACL,eAAgB,GAChB,aAAcvL,EAAU,aAAa,UACvC,EACA,IAAK,CACH,KAAMuL,EAAY,OAClB,MAAO,MACP,IAAK,CACP,EACA,QAAS,CACP,MAAO,UACP,KAAMA,EAAY,YAClB,UAAW,iBACX,aAAc,CAAC,UAAW,kBAAkB,EAC5C,aAAc,EACd,UAAW,CAAC,aAAc,eAAgB,gBAAiB,aAAa,EACxE,YAAa,CAAC,IAAK,IAAK,IAAK,GAAG,EAChC,IAAK,CACP,EACA,aAAc,CACZ,KAAMA,EAAY,OAClB,MAAO,SACP,IAAK,EACL,IAAK,IACL,eAAgB,GAChB,aAAc,CAChB,EACA,kBAAmB,CACjB,KAAMA,EAAY,WAClB,aAAcvL,EAAU,aAAa,kBACrC,MAAO,YACT,EACA,YAAa,CACX,KAAMuL,EAAY,OAClB,MAAO,WACP,SAAU,CACR,YAAa,CACX,KAAMA,EAAY,QAClB,MAAO,OACP,aAAc,EAChB,EACA,SAAU,CACR,KAAMA,EAAY,QAClB,MAAO,WACP,aAAc,OACd,cAAe,OACf,aAAc,GACd,OAAOtL,EAAO,CACZ,OAAOA,EAAM,cAAgB,EAC/B,CACF,EACA,UAAW,CACT,KAAMsL,EAAY,OAClB,MAAO,QACP,aAAc,GACd,IAAK,EACL,IAAK,IACL,KAAM,IACN,OAAOtL,EAAO,CACZ,OAAOA,EAAM,cAAgB,EAC/B,CACF,EACA,UAAW,CACT,KAAMsL,EAAY,OAClB,MAAO,QACP,aAAc,EACd,IAAK,EACL,IAAK,IACL,KAAM,IACN,OAAOtL,EAAO,CACZ,OAAOA,EAAM,cAAgB,EAC/B,CACF,EACA,UAAW,CACT,KAAMsL,EAAY,OAClB,MAAO,UACP,aAAc,EACd,IAAK,EACL,IAAK,EACL,KAAM,IACN,OAAOtL,EAAO,CACZ,OAAOA,EAAM,cAAgB,EAC/B,CACF,CACF,CACF,EACA,aAAc,CACZ,KAAMsL,EAAY,OAClB,MAAO,SACP,SAAU,CACR,kBAAmB,CACjB,KAAMA,EAAY,QAClB,MAAO,OACP,aAAcvL,EAAU,aAAa,aAAa,iBACpD,EACA,UAAW,CACT,KAAMuL,EAAY,MAClB,MAAO,OACP,OAAQtL,GAAS,CAACA,EAAM,kBACxB,aAAcD,EAAU,aAAa,aAAa,SACpD,EACA,UAAW,CACT,KAAMuL,EAAY,MAClB,MAAO,WACP,OAAQtL,GAAS,CAACA,EAAM,iBAC1B,EACA,WAAY,CACV,KAAMsL,EAAY,MAClB,MAAO,OACP,OAAQtL,GAAS,CAACA,EAAM,iBAC1B,EACA,UAAW,CACT,KAAMsL,EAAY,OAClB,MAAO,OACP,IAAK,EACL,IAAK,IACL,eAAgB,GAChB,aAAcvL,EAAU,aAAa,aAAa,UAClD,OAAQC,GAAS,CAACA,EAAM,iBAC1B,EACA,YAAa,CACX,KAAMsL,EAAY,OAClB,MAAO,SACP,IAAK,EACL,IAAK,IACL,aAAc,GACd,OAAQtL,GAAS,CAACA,EAAM,iBAC1B,EACA,kBAAmB,CACjB,KAAMsL,EAAY,QAClB,MAAO,UACP,aAAc,GACd,OAAQtL,GAAS,CAACA,EAAM,iBAC1B,EACA,iBAAkB,CAChB,KAAMsL,EAAY,QAClB,MAAO,WACP,aAAc,QACd,cAAe,QACf,aAAcvL,EAAU,aAAa,aAAa,iBAClD,OAAQC,GAAS,CAACA,EAAM,iBAC1B,EACA,cAAe,CACb,KAAMsL,EAAY,KAClB,MAAO,WACP,QAAS,CAAC,OAAQ,WAAY,UAAW,YAAa,cAAe,aAAc,cAAc,EACjG,aAAc,CAAC,SAAU,WAAY,aAAc,YAAa,cAAe,gBAAiB,cAAc,EAC9G,OAAQtL,GAAS,CAACA,EAAM,mBAAqBA,EAAM,gBACrD,EACA,aAAc,CACZ,KAAMsL,EAAY,OAClB,MAAO,QACP,IAAK,KACL,IAAK,IACL,aAAc,GACd,eAAgB,GAChB,OAAQtL,GAAS,CAACA,EAAM,mBAAqB,CAACA,EAAM,gBACtD,EACA,gBAAiB,CACf,KAAMsL,EAAY,OAClB,MAAO,MACP,IAAK,KACL,IAAK,IACL,aAAc,EACd,eAAgB,GAChB,OAAQtL,GAAS,CAACA,EAAM,mBAAqBA,EAAM,kBAAoBA,EAAM,gBAAkB,QAAUA,EAAM,gBAAkB,cAAgBA,EAAM,gBAAkB,eAAiBA,EAAM,gBAAkB,cACpN,EACA,mBAAoB,CAClB,KAAMsL,EAAY,OAClB,MAAO,SACP,IAAK,KACL,IAAK,IACL,aAAc,EACd,eAAgB,GAChB,OAAQtL,GAAS,CAACA,EAAM,mBAAqBA,EAAM,kBAAoBA,EAAM,gBAAkB,QAAUA,EAAM,gBAAkB,WAAaA,EAAM,gBAAkB,YAAcA,EAAM,gBAAkB,WAC9M,EACA,kBAAmB,CACjB,KAAMsL,EAAY,OAClB,MAAO,QACP,IAAK,KACL,IAAK,IACL,aAAc,EACd,eAAgB,GAChB,OAAQtL,GAAS,CAACA,EAAM,mBAAqBA,EAAM,kBAAoBA,EAAM,gBAAkB,QAAUA,EAAM,gBAAkB,YAAcA,EAAM,gBAAkB,WAAaA,EAAM,gBAAkB,eAAiBA,EAAM,gBAAkB,YACvP,EACA,iBAAkB,CAChB,KAAMsL,EAAY,OAClB,MAAO,OACP,IAAK,KACL,IAAK,IACL,aAAc,EACd,eAAgB,GAChB,OAAQtL,GAAS,CAACA,EAAM,mBAAqBA,EAAM,kBAAoBA,EAAM,gBAAkB,QAAUA,EAAM,gBAAkB,aAAeA,EAAM,gBAAkB,WAAaA,EAAM,gBAAkB,gBAAkBA,EAAM,gBAAkB,YACzP,EACA,SAAU,CACR,KAAMsL,EAAY,OAClB,MAAO,MACP,IAAK,EACL,IAAK,IACL,aAAc,GACd,eAAgB,GAChB,OAAQtL,GAAS,CAACA,EAAM,mBAAqBA,EAAM,gBACrD,CACF,CACF,EACA,gBAAiB,CACf,KAAMsL,EAAY,OAClB,MAAO,OACP,SAAU,CACR,iBAAkB,CAChB,KAAMA,EAAY,QAClB,MAAO,OACP,aAAc,EAChB,EACA,QAAS,CACP,KAAMA,EAAY,OAClB,MAAO,OACP,IAAK,EACL,IAAK,IACL,aAAc,GACd,eAAgB,GAChB,OAAQtL,GAAS,CAACA,EAAM,kBAAoBA,EAAM,aACpD,EACA,UAAW,CACT,KAAMsL,EAAY,OAClB,MAAO,QACP,IAAK,KACL,IAAK,IACL,aAAc,GACd,eAAgB,GAChB,OAAQtL,GAAS,CAACA,EAAM,kBAAoBA,EAAM,aACpD,EACA,QAAS,CACP,KAAMsL,EAAY,OAClB,MAAO,MACP,IAAK,EACL,IAAK,IACL,aAAc,GACd,eAAgB,GAChB,OAAQtL,GAAS,CAACA,EAAM,kBAAoBA,EAAM,aACpD,EACA,YAAa,CACX,KAAMsL,EAAY,OAClB,MAAO,UACP,IAAK,EACL,IAAK,IACL,aAAc,GACd,eAAgB,GAChB,OAAQtL,GAAS,CAACA,EAAM,kBAAoBA,EAAM,aACpD,EACA,SAAU,CACR,KAAMsL,EAAY,MAClB,MAAO,OACP,aAAc,OACd,OAAQtL,GAAS,CAACA,EAAM,kBAAoBA,EAAM,aACpD,EACA,eAAgB,CACd,KAAMsL,EAAY,MAClB,MAAO,WACP,aAAc,kBACd,OAAQtL,GAAS,CAACA,EAAM,kBAAoBA,EAAM,aACpD,EACA,WAAY,CACV,KAAMsL,EAAY,OAClB,MAAO,SACP,IAAK,EACL,IAAK,IACL,aAAc,GACd,OAAQtL,GAAS,CAACA,EAAM,kBAAoBA,EAAM,aACpD,EACA,YAAa,CACX,KAAMsL,EAAY,OAClB,MAAO,UACP,IAAK,EACL,IAAK,EACL,aAAc,GACd,KAAM,GACN,eAAgB,GAChB,OAAQtL,GAAS,CAACA,EAAM,kBAAoBA,EAAM,aACpD,EACA,kBAAmB,CACjB,KAAMsL,EAAY,OAClB,MAAO,UACP,IAAK,EACL,IAAK,EACL,aAAc,EACd,KAAM,GACN,eAAgB,GAChB,OAAQtL,GAAS,CAACA,EAAM,kBAAoBA,EAAM,aACpD,EACA,SAAU,CACR,KAAMsL,EAAY,OAClB,MAAO,OACP,IAAK,EACL,IAAK,GACL,aAAc,EACd,KAAM,EACN,OAAQtL,GAAS,CAACA,EAAM,kBAAoBA,EAAM,aACpD,CACF,CACF,CACF,CAAC,EACD,IAAMiL,GAAiB,CACrB,QAAS,OACT,cAAe,MACf,MAAO,OACP,OAAQ,OACR,SAAU,OACV,UAAW,OACX,WAAY,SACZ,OAAQ,EACR,QAAS,EACT,cAAe,OACf,WAAY,MACd,EACM9G,GAAoB,CACxB,QAAS,OACT,MAAO,OACP,OAAQ,OACR,aAAc,SACd,WAAY,SACZ,cAAe,SACf,MAAO,OACP,WAAY,0BACZ,SAAU,GACV,SAAU,SACV,QAAS,qBACX,EACME,GAAc,CAClB,SAAU,GACV,aAAc,EAChB,EACMC,GAAc,CAClB,OAAQ,EACR,aAAc,GACd,WAAY,IACZ,UAAW,QACb,EACMC,GAAiB,CACrB,OAAQ,EACR,QAAS,GACT,SAAU,IACV,WAAY,IACZ,UAAW,QACb,EACMmG,GAAmB,CACvB,OAAQ,OACR,QAAS,OACT,aAAc,SACd,WAAY,SACZ,SAAU,SACV,WAAY,cACZ,OAAQ,UACR,OAAQ,EACR,QAAS,CACX,EACMS,GAAiB,CACrB,QAAS,OACT,eAAgB,gBAChB,WAAY,SACZ,SAAU,WACV,cAAe,OACf,WAAY,OACZ,IAAK,EACL,KAAM,EACN,MAAO,EACP,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,OAAQ,CACV,EACMjB,GAAQ,CAACqB,EAAKC,EAAKC,IAAQ,KAAK,IAAI,KAAK,IAAIF,EAAKC,CAAG,EAAGC,CAAG,EAC3D5B,GAAqB6B,GAAW,SAAmB1L,EAAO4J,EAAK,CACnE,IAAI+B,EAAMC,EACV,GAAM,CACJ,SAAAC,EACA,MAAAC,EACA,OAAAC,EACA,MAAArC,EACA,KAAA3E,EACA,IAAAvE,EACA,aAAAmH,EACA,YAAAqE,GACA,aAAAxC,EACA,SAAA5F,EACA,QAAAqI,EACA,eAAA1K,EACA,aAAAC,EACA,cAAAC,EACA,aAAAuC,EACA,OAAAkI,GACA,MAAAtH,EACF,EAAI5E,EAGEmM,IAA4DpH,GAAK,KAAQvE,GAAOgJ,EAChF4C,EAAc,CAAC,CAA8CrH,GAAK,KAAO,EAAgDA,GAAK,OAAuDA,GAAK,KAAQvE,EAAiDuE,GAAK,MAAM,EAAE,IAAIsH,GAAOA,EAAMF,EAAW,EAG5RG,EAAU,CAAC1I,GAAYgE,EAAaD,EAAcyE,EAAa,CAAC,CAAC3K,EAAe,EAAG,EAAGA,CAAa,CAAC,EACpG8K,GAAU,CAAC3I,GAAYgE,EAAaD,EAAcyE,EAAa,CAAC3K,EAAe,EAAG,EAAG,CAACA,CAAa,CAAC,EACpG+K,GAAU,CAAC5I,GAAYgE,EAAaD,EAAcyE,EAAa,CAAC7K,EAAgB,EAAG,EAAGA,CAAc,CAAC,EACrGkL,EAAQ,CAAC7I,GAAYgE,EAAaD,EAAcyE,EAAa,CAAC5K,EAAc,EAAG,EAAGA,CAAY,CAAC,EAC/FkL,EAAa,CAAC9I,GAAYgE,EAAaD,EAAcyE,EAAa,CAAC,EAAG,EAAG,EAAG,CAAC,CAAC,EAC9EhF,GAAY,CAACxD,GAAYgE,EAAaD,EAAcgF,GAAUA,GAAUP,EAAY,CAAC,GAAKO,GAAUP,EAAY,CAAC,CAAC,EACxH,OAAA5F,EAAU,IAAM,CACd,GAAKY,GACL,OAAOA,GAAU,SAASwF,GAAY,CACpChD,EAAI,QAAQ,aAAa,cAAe,CAACgD,CAAQ,CACnD,CAAC,CACH,EAAG,CAAC,CAAC,EACexI,EAAKyI,GAAa,CACpC,QAAS,KACT,SAAuBzI,EAAK,KAAM,CAChC,MAAO,CACL,QAAS,UACX,EACA,cAAeQ,KAAU,EACzB,SAAuBkI,GAAapD,EAAO,CACzC,IAAKE,EACL,IAAKiC,EAAW,QAChB,MAAO,CACL,IAAKF,EAAOjC,EAAM,SAAW,MAAQiC,IAAS,OAAS,OAASA,EAAK,MACrE,WAAY,EACZ,WAAY,OACZ,MAAAG,EACA,OAAAC,EACA,QAASS,GACT,MAAOC,EACP,QAASzI,EAAe0I,EAAa,GACrC,QAAU1I,EAA4B,GAAb0I,EACzB,QAAS1I,EAAesI,EAAU,EAClC,QAAUtI,EAAyB,EAAVuI,EAC3B,CACF,GAAIX,EAAOlC,EAAM,SAAW,MAAQkC,IAAS,OAAS,OAASA,EAAK,QAAQ,CAC9E,CAAC,CACH,CAAC,CACH,CAAC,EACD,SAASpB,GAAI,CACX,gBAAAuC,EACA,QAAAP,EACA,MAAAzG,EACA,MAAAnB,EACA,aAAAoD,EACA,qBAAAC,EACA,SAAAwC,EACA,YAAAuC,EACA,IAAAxM,EACA,QAAAC,EACA,aAAAuD,EACA,WAAAC,EACA,GAAGjE,EACL,EAAG,CAC6C,IAAIiN,EAAajF,IAAiBpD,EAC5EX,IACFgJ,EAAa,KAAK,IAAIhF,CAAoB,IAAMrD,GAElD,IAAMsI,EAAgB1M,EAAM,EACxB2M,EAAM,CAACnJ,GAAgBY,EAAQ,EAAIsI,EAAgBzM,EACnD2M,EAAS,CAACpJ,GAAgBY,IAAUmB,EAAQ,EAAImH,EAAgBzM,EAChE4M,EAAQrJ,GAAgBY,IAAUmB,EAAQ,EAAImH,EAAgBzM,EAC9D6M,EAAOtJ,GAAgBY,EAAQ,EAAIsI,EAAgBzM,EACvD,OAAoB2D,EAAK,SAAU,CACjC,aAAc,kBAAkBQ,EAAQ,IACxC,KAAM,SACN,GAAG5E,GACH,MAAO,CACL,GAAGgN,EACH,QAAS,GAAGG,OAASE,OAAWD,OAAYE,KAC9C,EACA,SAAuBlJ,EAAK8G,EAAO,IAAK,CACtC,MAAO,CACL,GAAGT,CACL,EACA,QAAS,GACT,QAAS,CACP,QAASwC,EAAaF,EAAkBP,CAC1C,EACA,WAAY,CACV,SAAU,EACZ,CACF,CAAC,CACH,CAAC,CACH,CACA,IAAMpB,GAAqB,CACzB,QAAS,OACT,aAAc,SACd,WAAY,SACZ,SAAU,SACV,SAAU,WACV,cAAe,MACjB,EACMX,GAAW,CACf,aAAc,MACd,WAAY,QACZ,OAAQ,UACR,OAAQ,OACR,aAAc,SACd,WAAY,SACZ,QAAS,CACX,EC1pCA,IAAM8C,GAAa,CAAC,WAAW,EACzBC,GAAoB,CACxB,UAAW,iBACb,EAMA,IAAMC,GAA0B,CAAC,EAC3BC,GAAc,CAClB,QAAS,CACP,QAAS,GACT,MAAO,EACP,SAAU,GACV,KAAM,CAAC,IAAK,EAAG,IAAK,CAAC,EACrB,KAAM,EACN,UAAW,IACX,KAAM,QACR,CACF,EACMC,GAA+BC,GAAW,SAAU,CACxD,GAAAC,EACA,MAAAC,EACA,UAAAC,EACA,MAAAC,EACA,OAAAC,EACA,SAAAC,EACA,QAASC,EAAe,YACxB,GAAGC,CACL,EAAGC,EAAK,CAEN,IAAMC,EADiBb,GAAwBU,CAAY,GACzBA,EAC5B,CACJ,YAAAI,EACA,WAAAC,GACA,eAAAC,EACA,gBAAAC,EACA,WAAAC,EACA,WAAAC,EACA,SAAAC,CACF,EAAIC,GAAgB,CAClB,WAAAC,GACA,eAAgB,YAChB,YAAArB,GACA,QAAAY,EACA,kBAAAU,EACF,CAAC,EACKC,EAAmBJ,EAAS,KAAK,GAAG,EAAIT,EAAU,iBAClDc,EAAwBC,GAAM,EACpC,OAAoBC,EAAKC,GAAa,CACpC,GAAInB,GAAsDgB,EAC1D,SAAuBE,EAAKE,EAAO,IAAK,CACtC,QAAShB,EACT,QAASO,EACT,aAAc,IAAMH,EAAgB,CAClC,UAAW,EACb,CAAC,EACD,WAAY,IAAMA,EAAgB,CAChC,UAAW,EACb,CAAC,EACD,WAAY,IAAMA,EAAgB,CAChC,UAAW,EACb,CAAC,EACD,MAAO,IAAMA,EAAgB,CAC3B,UAAW,EACb,CAAC,EACD,YAAa,IAAMA,EAAgB,CACjC,UAAW,EACb,CAAC,EACD,UAAWa,GAAG,eAAgBf,EAAU,EACxC,MAAO,CACL,QAAS,UACX,EACA,SAAuBY,EAAKE,EAAO,IAAK,CACtC,GAAGlB,EACH,UAAWmB,GAAG,gBAAiBxB,CAAS,EACxC,mBAAoB,YACpB,iBAAkBkB,EAClB,SAAU,YACV,IAAKZ,EACL,MAAO,CACL,gBAAiB,qEACjB,GAAGP,CACL,EACA,WAAYc,EACZ,SAAuBQ,EAAKI,GAAK,CAC/B,UAAW,gBACX,mBAAoB,cACpB,KAAM,QACN,gBAAiB,GACjB,eAAgB,KAChB,iBAAkBP,EAClB,SAAU,YACV,IAAK,4vXACL,WAAYL,EACZ,mBAAoB,EACtB,CAAC,CACH,CAAC,CACH,CAAC,CACH,CAAC,CACH,CAAC,EACKa,GAAM,CAAC,sZAAuZ,kFAAmF,oDAAqD,sGAAuG,iLAAiL,EAM9zBC,GAAkBC,GAAQhC,GAAW8B,GAAK,cAAc,EACvDG,GAAQF,GACfA,GAAgB,YAAc,cAC9BA,GAAgB,aAAe,CAC7B,OAAQ,GACR,MAAO,IACT,EACAG,GAASH,GAAiB,CAAC,CAAC",
  "names": ["directionTransformers", "offset", "supportsAcceleratedAnimations", "Ticker", "props", "slots", "gap", "padding", "paddingPerSide", "paddingTop", "paddingRight", "paddingBottom", "paddingLeft", "speed", "hoverFactor", "direction", "alignment", "sizingOptions", "fadeOptions", "style", "fadeContent", "overflow", "fadeWidth", "fadeInset", "fadeAlpha", "widthType", "heightType", "paddingValue", "isCanvas", "RenderTarget", "numChildren", "j", "hasChildren", "isHorizontal", "useMotionValue", "transformer", "transform", "useTransform", "parentRef", "pe", "childrenRef", "se", "W", "size", "setSize", "ye", "clonedChildren", "dupedChildren", "duplicateBy", "opacity", "measure", "te", "parentLength", "start", "childrenLength", "childrenStyles", "initialResize", "ue", "resize", "contentSize", "child", "index", "ref", "ref1", "ref2", "ref3", "ref4", "p", "LayoutGroup", "q", "i", "childIndex", "animateToValue", "initialTime", "prevTime", "xOrY", "isHover", "isInView", "useInView", "isReducedMotion", "useReducedMotion", "listRef", "animationRef", "useAnimationFrame", "t", "delta", "wrap", "fadeDirection", "fadeWidthStart", "fadeWidthEnd", "fadeInsetStart", "clamp", "fadeInsetEnd", "fadeMask", "containerStyle", "u", "motion", "isValidNumber", "placeholderStyles", "emojiStyles", "titleStyles", "subtitleStyles", "addPropertyControls", "ControlType", "num", "min", "max", "value", "isBrowser", "getBrowserVisibilityProp", "getBrowserDocumentHiddenProp", "getIsDocumentHidden", "usePageVisibility", "isVisible", "setIsVisible", "ye", "onVisibilityChange", "ue", "visibilityChange", "Slideshow", "props", "slots", "startFrom", "direction", "effectsOptions", "autoPlayControl", "dragControl", "alignment", "gap", "padding", "paddingPerSide", "paddingTop", "paddingRight", "paddingBottom", "paddingLeft", "itemAmount", "fadeOptions", "intervalControl", "transitionControl", "arrowOptions", "borderRadius", "progressOptions", "style", "effectsOpacity", "effectsScale", "effectsRotate", "effectsPerspective", "effectsHover", "fadeContent", "overflow", "fadeWidth", "fadeInset", "fadeAlpha", "showMouseControls", "arrowSize", "arrowRadius", "arrowFill", "leftArrow", "rightArrow", "arrowShouldSpace", "arrowShouldFadeIn", "arrowPosition", "arrowPadding", "arrowGap", "arrowPaddingTop", "arrowPaddingRight", "arrowPaddingBottom", "arrowPaddingLeft", "showProgressDots", "dotSize", "dotsInset", "dotsRadius", "dotsPadding", "dotsGap", "dotsFill", "dotsBackground", "dotsActiveOpacity", "dotsOpacity", "dotsBlur", "paddingValue", "isCanvas", "RenderTarget", "hasChildren", "j", "isHorizontal", "isInverted", "u", "placeholderStyles", "p", "emojiStyles", "titleStyles", "subtitleStyles", "parentRef", "pe", "childrenRef", "se", "index", "W", "timeoutRef", "size", "setSize", "ye", "isHovering", "setIsHovering", "shouldPlayOnHover", "setShouldPlayOnHover", "isMouseDown", "setIsMouseDown", "isResizing", "setIsResizing", "dupedChildren", "duplicateBy", "measure", "te", "sync", "total", "parentLength", "start", "childrenLength", "itemSize", "itemWidth", "itemHeight", "fe", "initialResize", "ue", "resize", "contentSize", "timer", "totalItems", "childrenSize", "itemWithGap", "itemOffset", "currentItem", "setCurrentItem", "isDragging", "setIsDragging", "isVisible", "usePageVisibility", "factor", "xOrY", "useMotionValue", "canvasPosition", "newPosition", "wrappedValue", "useTransform", "value", "wrapped", "wrap", "wrappedIndex", "wrappedIndexInverted", "switchPages", "animate", "setDelta", "delta", "setPage", "currentItemWrapped", "currentItemWrappedInvert", "goto", "gotoInverted", "handleDragStart", "handleDragEnd", "event", "offset", "velocity", "offsetXorY", "velocityThreshold", "velocityXorY", "isHalfOfNext", "isHalfOfPrev", "normalizedOffset", "itemDelta", "itemDeltaFromOne", "childCounter", "columnOrRowValue", "child", "childIndex", "ref", "Slide", "fadeDirection", "fadeWidthStart", "fadeWidthEnd", "fadeInsetStart", "clamp", "fadeInsetEnd", "fadeMask", "dots", "dotsBlurStyle", "i", "Dot", "dotStyle", "baseButtonStyles", "dragProps", "arrowHasTop", "arrowHasBottom", "arrowHasLeft", "arrowHasRight", "arrowHasMid", "containerStyle", "motion", "controlsStyles", "dotsContainerStyle", "addPropertyControls", "ControlType", "num", "min", "max", "Y", "ref1", "ref2", "slideKey", "width", "height", "numChildren", "effects", "isLast", "childOffset", "scrollRange", "val", "rotateY", "rotateX", "opacity", "scale", "originXorY", "latest", "newValue", "LayoutGroup", "q", "selectedOpacity", "buttonStyle", "isSelected", "inlinePadding", "top", "bottom", "right", "left", "cycleOrder", "variantClassNames", "humanReadableVariantMap", "transitions", "Component", "Y", "id", "style", "className", "width", "height", "layoutId", "outerVariant", "restProps", "ref", "variant", "baseVariant", "classNames", "gestureVariant", "setGestureState", "setVariant", "transition", "variants", "useVariantState", "cycleOrder", "variantClassNames", "layoutDependency", "defaultLayoutId", "ae", "p", "LayoutGroup", "motion", "cx", "SVG", "css", "FramerBJfe7GWv_", "withCSS", "BJfe7GWv_default", "addFonts"]
}
