(globalThis.TURBOPACK = globalThis.TURBOPACK || []).push(["object" == typeof document ? document.currentScript : void 0, {
  351696: e => {
    "use strict";
    e.s({
      mergeClasses: () => t,
      toKebabCase: () => r
    });
    let r = e => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(),
      t = (...e) => e.filter((e, r, t) => !!e && "" !== e.trim() && t.indexOf(e) === r).join(" ").trim()
  },
  848074: e => {
    "use strict";
    e.s({
      default: () => r
    });
    var r = {
      xmlns: "http://www.w3.org/2000/svg",
      width: 24,
      height: 24,
      viewBox: "0 0 24 24",
      fill: "none",
      stroke: "currentColor",
      strokeWidth: 2,
      strokeLinecap: "round",
      strokeLinejoin: "round"
    }
  },
  165867: e => {
    "use strict";
    e.s({
      default: () => l
    });
    var r = e.i(378469),
      t = e.i(848074),
      o = e.i(351696);
    let l = (0, r.forwardRef)(({
      color: e = "currentColor",
      size: l = 24,
      strokeWidth: n = 2,
      absoluteStrokeWidth: i,
      className: a = "",
      children: s,
      iconNode: c,
      ...d
    }, u) => (0, r.createElement)("svg", {
      ref: u,
      ...t.default,
      width: l,
      height: l,
      stroke: e,
      strokeWidth: i ? 24 * Number(n) / Number(l) : n,
      className: (0, o.mergeClasses)("lucide", a),
      ...d
    }, [...c.map(([e, t]) => (0, r.createElement)(e, t)), ...Array.isArray(s) ? s : [s]]))
  },
  287319: e => {
    "use strict";
    e.s({
      default: () => l
    });
    var r = e.i(378469),
      t = e.i(351696),
      o = e.i(165867);
    let l = (e, l) => {
      let n = (0, r.forwardRef)(({
        className: n,
        ...i
      }, a) => (0, r.createElement)(o.default, {
        ref: a,
        iconNode: l,
        className: (0, t.mergeClasses)(`lucide-${(0,t.toKebabCase)(e)}`, n),
        ...i
      }));
      return n.displayName = `${e}`, n
    }
  },
  968249: e => {
    "use strict";
    e.s({
      __iconNode: () => t,
      default: () => o
    });
    var r = e.i(287319);
    let t = [
        ["path", {
          d: "M20 6 9 17l-5-5",
          key: "1gmf2c"
        }]
      ],
      o = (0, r.default)("Check", t)
  },
  103142: e => {
    "use strict";
    e.s({
      Check: () => r.default
    });
    var r = e.i(968249)
  },
  264773: e => {
    "use strict";
    e.s({
      __iconNode: () => t,
      default: () => o
    });
    var r = e.i(287319);
    let t = [
        ["rect", {
          width: "14",
          height: "14",
          x: "8",
          y: "8",
          rx: "2",
          ry: "2",
          key: "17jyea"
        }],
        ["path", {
          d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",
          key: "zix9uf"
        }]
      ],
      o = (0, r.default)("Copy", t)
  },
  295118: e => {
    "use strict";
    e.s({
      Copy: () => r.default
    });
    var r = e.i(264773)
  },
  796473: e => {
    "use strict";
    e.s({
      __iconNode: () => t,
      default: () => o
    });
    var r = e.i(180981);
    let t = [
        ["path", {
          d: "M20 6 9 17l-5-5",
          key: "1gmf2c"
        }]
      ],
      o = (0, r.default)("Check", t)
  },
  511148: e => {
    "use strict";
    e.s({
      Check: () => r.default
    });
    var r = e.i(796473)
  },
  664703: e => {
    "use strict";
    e.s({
      useCopyButton: () => t
    });
    var r = e.i(378469);

    function t(e) {
      let [t, o] = (0, r.useState)(!1), l = (0, r.useRef)(null), n = (0, r.useRef)(e);
      n.current = e;
      let i = (0, r.useCallback)(() => {
        l.current && window.clearTimeout(l.current), l.current = window.setTimeout(() => {
          o(!1)
        }, 1500), n.current(), o(!0)
      }, []);
      return (0, r.useEffect)(() => () => {
        l.current && window.clearTimeout(l.current)
      }, []), [t, i]
    }
  },
  918948: e => {
    "use strict";

    function r(e, [r, t]) {
      return Math.min(t, Math.max(r, e))
    }
    e.s({
      clamp: () => r
    })
  },
  270: e => {
    "use strict";
    e.s({
      Corner: () => K,
      Root: () => Y,
      ScrollAreaThumb: () => _,
      Scrollbar: () => $,
      Viewport: () => F
    });
    var r = e.i(378469),
      t = e.i(645488),
      o = e.i(656310),
      l = e.i(150924),
      n = e.i(199933),
      i = e.i(82535),
      a = e.i(226251),
      s = e.i(823749),
      c = e.i(918948),
      d = e.i(987373),
      u = e.i(892988),
      f = "ScrollArea",
      [p, h] = (0, l.createContextScope)(f),
      [v, m] = p(f),
      w = (0, r.forwardRef)((e, o) => {
        let {
          __scopeScrollArea: l,
          type: i = "hover",
          dir: s,
          scrollHideDelay: c = 600,
          ...d
        } = e, [f, p] = (0, r.useState)(null), [h, m] = (0, r.useState)(null), [w, b] = (0, r.useState)(null), [g, y] = (0, r.useState)(null), [x, C] = (0, r.useState)(null), [S, R] = (0, r.useState)(0), [E, j] = (0, r.useState)(0), [T, N] = (0, r.useState)(!1), [P, k] = (0, r.useState)(!1), L = (0, n.useComposedRefs)(o, e => p(e)), _ = (0, a.useDirection)(s);
        return (0, u.jsx)(v, {
          scope: l,
          type: i,
          dir: _,
          scrollHideDelay: c,
          scrollArea: f,
          viewport: h,
          onViewportChange: m,
          content: w,
          onContentChange: b,
          scrollbarX: g,
          onScrollbarXChange: y,
          scrollbarXEnabled: T,
          onScrollbarXEnabledChange: N,
          scrollbarY: x,
          onScrollbarYChange: C,
          scrollbarYEnabled: P,
          onScrollbarYEnabledChange: k,
          onCornerWidthChange: R,
          onCornerHeightChange: j,
          children: (0, u.jsx)(t.Primitive.div, {
            dir: _,
            ...d,
            ref: L,
            style: {
              position: "relative",
              "--radix-scroll-area-corner-width": S + "px",
              "--radix-scroll-area-corner-height": E + "px",
              ...e.style
            }
          })
        })
      });
    w.displayName = f;
    var b = "ScrollAreaViewport",
      g = (0, r.forwardRef)((e, o) => {
        let {
          __scopeScrollArea: l,
          children: i,
          nonce: a,
          ...s
        } = e, c = m(b, l), d = (0, r.useRef)(null), f = (0, n.useComposedRefs)(o, d, c.onViewportChange);
        return (0, u.jsxs)(u.Fragment, {
          children: [(0, u.jsx)("style", {
            dangerouslySetInnerHTML: {
              __html: "[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"
            },
            nonce: a
          }), (0, u.jsx)(t.Primitive.div, {
            "data-radix-scroll-area-viewport": "",
            ...s,
            ref: f,
            style: {
              overflowX: c.scrollbarXEnabled ? "scroll" : "hidden",
              overflowY: c.scrollbarYEnabled ? "scroll" : "hidden",
              ...e.style
            },
            children: (0, u.jsx)("div", {
              ref: c.onContentChange,
              style: {
                minWidth: "100%",
                display: "table"
              },
              children: i
            })
          })]
        })
      });
    g.displayName = b;
    var y = "ScrollAreaScrollbar",
      x = (0, r.forwardRef)((e, t) => {
        let {
          forceMount: o,
          ...l
        } = e, n = m(y, e.__scopeScrollArea), {
          onScrollbarXEnabledChange: i,
          onScrollbarYEnabledChange: a
        } = n, s = "horizontal" === e.orientation;
        return (0, r.useEffect)(() => (s ? i(!0) : a(!0), () => {
          s ? i(!1) : a(!1)
        }), [s, i, a]), "hover" === n.type ? (0, u.jsx)(C, {
          ...l,
          ref: t,
          forceMount: o
        }) : "scroll" === n.type ? (0, u.jsx)(S, {
          ...l,
          ref: t,
          forceMount: o
        }) : "auto" === n.type ? (0, u.jsx)(R, {
          ...l,
          ref: t,
          forceMount: o
        }) : "always" === n.type ? (0, u.jsx)(E, {
          ...l,
          ref: t
        }) : null
      });
    x.displayName = y;
    var C = (0, r.forwardRef)((e, t) => {
        let {
          forceMount: l,
          ...n
        } = e, i = m(y, e.__scopeScrollArea), [a, s] = (0, r.useState)(!1);
        return (0, r.useEffect)(() => {
          let e = i.scrollArea,
            r = 0;
          if (e) {
            let t = () => {
                window.clearTimeout(r), s(!0)
              },
              o = () => {
                r = window.setTimeout(() => s(!1), i.scrollHideDelay)
              };
            return e.addEventListener("pointerenter", t), e.addEventListener("pointerleave", o), () => {
              window.clearTimeout(r), e.removeEventListener("pointerenter", t), e.removeEventListener("pointerleave", o)
            }
          }
        }, [i.scrollArea, i.scrollHideDelay]), (0, u.jsx)(o.Presence, {
          present: l || a,
          children: (0, u.jsx)(R, {
            "data-state": a ? "visible" : "hidden",
            ...n,
            ref: t
          })
        })
      }),
      S = (0, r.forwardRef)((e, t) => {
        var l, n;
        let {
          forceMount: i,
          ...a
        } = e, s = m(y, e.__scopeScrollArea), c = "horizontal" === e.orientation, f = M(() => h("SCROLL_END"), 100), [p, h] = (l = "hidden", n = {
          hidden: {
            SCROLL: "scrolling"
          },
          scrolling: {
            SCROLL_END: "idle",
            POINTER_ENTER: "interacting"
          },
          interacting: {
            SCROLL: "interacting",
            POINTER_LEAVE: "idle"
          },
          idle: {
            HIDE: "hidden",
            SCROLL: "scrolling",
            POINTER_ENTER: "interacting"
          }
        }, (0, r.useReducer)((e, r) => n[e][r] ?? e, l));
        return (0, r.useEffect)(() => {
          if ("idle" === p) {
            let e = window.setTimeout(() => h("HIDE"), s.scrollHideDelay);
            return () => window.clearTimeout(e)
          }
        }, [p, s.scrollHideDelay, h]), (0, r.useEffect)(() => {
          let e = s.viewport,
            r = c ? "scrollLeft" : "scrollTop";
          if (e) {
            let t = e[r],
              o = () => {
                let o = e[r];
                t !== o && (h("SCROLL"), f()), t = o
              };
            return e.addEventListener("scroll", o), () => e.removeEventListener("scroll", o)
          }
        }, [s.viewport, c, h, f]), (0, u.jsx)(o.Presence, {
          present: i || "hidden" !== p,
          children: (0, u.jsx)(E, {
            "data-state": "hidden" === p ? "hidden" : "visible",
            ...a,
            ref: t,
            onPointerEnter: (0, d.composeEventHandlers)(e.onPointerEnter, () => h("POINTER_ENTER")),
            onPointerLeave: (0, d.composeEventHandlers)(e.onPointerLeave, () => h("POINTER_LEAVE"))
          })
        })
      }),
      R = (0, r.forwardRef)((e, t) => {
        let l = m(y, e.__scopeScrollArea),
          {
            forceMount: n,
            ...i
          } = e,
          [a, s] = (0, r.useState)(!1),
          c = "horizontal" === e.orientation,
          d = M(() => {
            if (l.viewport) {
              let e = l.viewport.offsetWidth < l.viewport.scrollWidth,
                r = l.viewport.offsetHeight < l.viewport.scrollHeight;
              s(c ? e : r)
            }
          }, 10);
        return X(l.viewport, d), X(l.content, d), (0, u.jsx)(o.Presence, {
          present: n || a,
          children: (0, u.jsx)(E, {
            "data-state": a ? "visible" : "hidden",
            ...i,
            ref: t
          })
        })
      }),
      E = (0, r.forwardRef)((e, t) => {
        let {
          orientation: o = "vertical",
          ...l
        } = e, n = m(y, e.__scopeScrollArea), i = (0, r.useRef)(null), a = (0, r.useRef)(0), [s, c] = (0, r.useState)({
          content: 0,
          viewport: 0,
          scrollbar: {
            size: 0,
            paddingStart: 0,
            paddingEnd: 0
          }
        }), d = B(s.viewport, s.content), f = {
          ...l,
          sizes: s,
          onSizesChange: c,
          hasThumb: !!(d > 0 && d < 1),
          onThumbChange: e => i.current = e,
          onThumbPointerUp: () => a.current = 0,
          onThumbPointerDown: e => a.current = e
        };

        function p(e, r) {
          return function(e, r, t, o = "ltr") {
            let l = O(t),
              n = r || l / 2,
              i = t.scrollbar.paddingStart + n,
              a = t.scrollbar.size - t.scrollbar.paddingEnd - (l - n),
              s = t.content - t.viewport;
            return V([i, a], "ltr" === o ? [0, s] : [-1 * s, 0])(e)
          }(e, a.current, s, r)
        }
        return "horizontal" === o ? (0, u.jsx)(j, {
          ...f,
          ref: t,
          onThumbPositionChange: () => {
            if (n.viewport && i.current) {
              let e = I(n.viewport.scrollLeft, s, n.dir);
              i.current.style.transform = `translate3d(${e}px, 0, 0)`
            }
          },
          onWheelScroll: e => {
            n.viewport && (n.viewport.scrollLeft = e)
          },
          onDragScroll: e => {
            n.viewport && (n.viewport.scrollLeft = p(e, n.dir))
          }
        }) : "vertical" === o ? (0, u.jsx)(T, {
          ...f,
          ref: t,
          onThumbPositionChange: () => {
            if (n.viewport && i.current) {
              let e = I(n.viewport.scrollTop, s);
              i.current.style.transform = `translate3d(0, ${e}px, 0)`
            }
          },
          onWheelScroll: e => {
            n.viewport && (n.viewport.scrollTop = e)
          },
          onDragScroll: e => {
            n.viewport && (n.viewport.scrollTop = p(e))
          }
        }) : null
      }),
      j = (0, r.forwardRef)((e, t) => {
        let {
          sizes: o,
          onSizesChange: l,
          ...i
        } = e, a = m(y, e.__scopeScrollArea), [s, c] = (0, r.useState)(), d = (0, r.useRef)(null), f = (0, n.useComposedRefs)(t, d, a.onScrollbarXChange);
        return (0, r.useEffect)(() => {
          d.current && c(getComputedStyle(d.current))
        }, [d]), (0, u.jsx)(k, {
          "data-orientation": "horizontal",
          ...i,
          ref: f,
          sizes: o,
          style: {
            bottom: 0,
            left: "rtl" === a.dir ? "var(--radix-scroll-area-corner-width)" : 0,
            right: "ltr" === a.dir ? "var(--radix-scroll-area-corner-width)" : 0,
            "--radix-scroll-area-thumb-width": O(o) + "px",
            ...e.style
          },
          onThumbPointerDown: r => e.onThumbPointerDown(r.x),
          onDragScroll: r => e.onDragScroll(r.x),
          onWheelScroll: (r, t) => {
            if (a.viewport) {
              let o = a.viewport.scrollLeft + r.deltaX;
              e.onWheelScroll(o),
                function(e, r) {
                  return e > 0 && e < r
                }(o, t) && r.preventDefault()
            }
          },
          onResize: () => {
            d.current && a.viewport && s && l({
              content: a.viewport.scrollWidth,
              viewport: a.viewport.offsetWidth,
              scrollbar: {
                size: d.current.clientWidth,
                paddingStart: W(s.paddingLeft),
                paddingEnd: W(s.paddingRight)
              }
            })
          }
        })
      }),
      T = (0, r.forwardRef)((e, t) => {
        let {
          sizes: o,
          onSizesChange: l,
          ...i
        } = e, a = m(y, e.__scopeScrollArea), [s, c] = (0, r.useState)(), d = (0, r.useRef)(null), f = (0, n.useComposedRefs)(t, d, a.onScrollbarYChange);
        return (0, r.useEffect)(() => {
          d.current && c(getComputedStyle(d.current))
        }, [d]), (0, u.jsx)(k, {
          "data-orientation": "vertical",
          ...i,
          ref: f,
          sizes: o,
          style: {
            top: 0,
            right: "ltr" === a.dir ? 0 : void 0,
            left: "rtl" === a.dir ? 0 : void 0,
            bottom: "var(--radix-scroll-area-corner-height)",
            "--radix-scroll-area-thumb-height": O(o) + "px",
            ...e.style
          },
          onThumbPointerDown: r => e.onThumbPointerDown(r.y),
          onDragScroll: r => e.onDragScroll(r.y),
          onWheelScroll: (r, t) => {
            if (a.viewport) {
              let o = a.viewport.scrollTop + r.deltaY;
              e.onWheelScroll(o),
                function(e, r) {
                  return e > 0 && e < r
                }(o, t) && r.preventDefault()
            }
          },
          onResize: () => {
            d.current && a.viewport && s && l({
              content: a.viewport.scrollHeight,
              viewport: a.viewport.offsetHeight,
              scrollbar: {
                size: d.current.clientHeight,
                paddingStart: W(s.paddingTop),
                paddingEnd: W(s.paddingBottom)
              }
            })
          }
        })
      }),
      [N, P] = p(y),
      k = (0, r.forwardRef)((e, o) => {
        let {
          __scopeScrollArea: l,
          sizes: a,
          hasThumb: s,
          onThumbChange: c,
          onThumbPointerUp: f,
          onThumbPointerDown: p,
          onThumbPositionChange: h,
          onDragScroll: v,
          onWheelScroll: w,
          onResize: b,
          ...g
        } = e, x = m(y, l), [C, S] = (0, r.useState)(null), R = (0, n.useComposedRefs)(o, e => S(e)), E = (0, r.useRef)(null), j = (0, r.useRef)(""), T = x.viewport, P = a.content - a.viewport, k = (0, i.useCallbackRef)(w), L = (0, i.useCallbackRef)(h), _ = M(b, 10);

        function A(e) {
          E.current && v({
            x: e.clientX - E.current.left,
            y: e.clientY - E.current.top
          })
        }
        return (0, r.useEffect)(() => {
          let e = e => {
            let r = e.target;
            C?.contains(r) && k(e, P)
          };
          return document.addEventListener("wheel", e, {
            passive: !1
          }), () => document.removeEventListener("wheel", e, {
            passive: !1
          })
        }, [T, C, P, k]), (0, r.useEffect)(L, [a, L]), X(C, _), X(x.content, _), (0, u.jsx)(N, {
          scope: l,
          scrollbar: C,
          hasThumb: s,
          onThumbChange: (0, i.useCallbackRef)(c),
          onThumbPointerUp: (0, i.useCallbackRef)(f),
          onThumbPositionChange: L,
          onThumbPointerDown: (0, i.useCallbackRef)(p),
          children: (0, u.jsx)(t.Primitive.div, {
            ...g,
            ref: R,
            style: {
              position: "absolute",
              ...g.style
            },
            onPointerDown: (0, d.composeEventHandlers)(e.onPointerDown, e => {
              0 === e.button && (e.target.setPointerCapture(e.pointerId), E.current = C.getBoundingClientRect(), j.current = document.body.style.webkitUserSelect, document.body.style.webkitUserSelect = "none", x.viewport && (x.viewport.style.scrollBehavior = "auto"), A(e))
            }),
            onPointerMove: (0, d.composeEventHandlers)(e.onPointerMove, A),
            onPointerUp: (0, d.composeEventHandlers)(e.onPointerUp, e => {
              let r = e.target;
              r.hasPointerCapture(e.pointerId) && r.releasePointerCapture(e.pointerId), document.body.style.webkitUserSelect = j.current, x.viewport && (x.viewport.style.scrollBehavior = ""), E.current = null
            })
          })
        })
      }),
      L = "ScrollAreaThumb",
      _ = (0, r.forwardRef)((e, r) => {
        let {
          forceMount: t,
          ...l
        } = e, n = P(L, e.__scopeScrollArea);
        return (0, u.jsx)(o.Presence, {
          present: t || n.hasThumb,
          children: (0, u.jsx)(A, {
            ref: r,
            ...l
          })
        })
      }),
      A = (0, r.forwardRef)((e, o) => {
        let {
          __scopeScrollArea: l,
          style: i,
          ...a
        } = e, s = m(L, l), c = P(L, l), {
          onThumbPositionChange: f
        } = c, p = (0, n.useComposedRefs)(o, e => c.onThumbChange(e)), h = (0, r.useRef)(void 0), v = M(() => {
          h.current && (h.current(), h.current = void 0)
        }, 100);
        return (0, r.useEffect)(() => {
          let e = s.viewport;
          if (e) {
            let r = () => {
              v(), h.current || (h.current = U(e, f), f())
            };
            return f(), e.addEventListener("scroll", r), () => e.removeEventListener("scroll", r)
          }
        }, [s.viewport, v, f]), (0, u.jsx)(t.Primitive.div, {
          "data-state": c.hasThumb ? "visible" : "hidden",
          ...a,
          ref: p,
          style: {
            width: "var(--radix-scroll-area-thumb-width)",
            height: "var(--radix-scroll-area-thumb-height)",
            ...i
          },
          onPointerDownCapture: (0, d.composeEventHandlers)(e.onPointerDownCapture, e => {
            let r = e.target.getBoundingClientRect(),
              t = e.clientX - r.left,
              o = e.clientY - r.top;
            c.onThumbPointerDown({
              x: t,
              y: o
            })
          }),
          onPointerUp: (0, d.composeEventHandlers)(e.onPointerUp, c.onThumbPointerUp)
        })
      });
    _.displayName = L;
    var D = "ScrollAreaCorner",
      z = (0, r.forwardRef)((e, r) => {
        let t = m(D, e.__scopeScrollArea),
          o = !!(t.scrollbarX && t.scrollbarY);
        return "scroll" !== t.type && o ? (0, u.jsx)(H, {
          ...e,
          ref: r
        }) : null
      });
    z.displayName = D;
    var H = (0, r.forwardRef)((e, o) => {
      let {
        __scopeScrollArea: l,
        ...n
      } = e, i = m(D, l), [a, s] = (0, r.useState)(0), [c, d] = (0, r.useState)(0), f = !!(a && c);
      return X(i.scrollbarX, () => {
        let e = i.scrollbarX?.offsetHeight || 0;
        i.onCornerHeightChange(e), d(e)
      }), X(i.scrollbarY, () => {
        let e = i.scrollbarY?.offsetWidth || 0;
        i.onCornerWidthChange(e), s(e)
      }), f ? (0, u.jsx)(t.Primitive.div, {
        ...n,
        ref: o,
        style: {
          width: a,
          height: c,
          position: "absolute",
          right: "ltr" === i.dir ? 0 : void 0,
          left: "rtl" === i.dir ? 0 : void 0,
          bottom: 0,
          ...e.style
        }
      }) : null
    });

    function W(e) {
      return e ? parseInt(e, 10) : 0
    }

    function B(e, r) {
      let t = e / r;
      return isNaN(t) ? 0 : t
    }

    function O(e) {
      let r = B(e.viewport, e.content),
        t = e.scrollbar.paddingStart + e.scrollbar.paddingEnd;
      return Math.max((e.scrollbar.size - t) * r, 18)
    }

    function I(e, r, t = "ltr") {
      let o = O(r),
        l = r.scrollbar.paddingStart + r.scrollbar.paddingEnd,
        n = r.scrollbar.size - l,
        i = r.content - r.viewport,
        a = (0, c.clamp)(e, "ltr" === t ? [0, i] : [-1 * i, 0]);
      return V([0, i], [0, n - o])(a)
    }

    function V(e, r) {
      return t => {
        if (e[0] === e[1] || r[0] === r[1]) return r[0];
        let o = (r[1] - r[0]) / (e[1] - e[0]);
        return r[0] + o * (t - e[0])
      }
    }
    var U = (e, r = () => {}) => {
      let t = {
          left: e.scrollLeft,
          top: e.scrollTop
        },
        o = 0;
      return ! function l() {
        let n = {
            left: e.scrollLeft,
            top: e.scrollTop
          },
          i = t.left !== n.left,
          a = t.top !== n.top;
        (i || a) && r(), t = n, o = window.requestAnimationFrame(l)
      }(), () => window.cancelAnimationFrame(o)
    };

    function M(e, t) {
      let o = (0, i.useCallbackRef)(e),
        l = (0, r.useRef)(0);
      return (0, r.useEffect)(() => () => window.clearTimeout(l.current), []), (0, r.useCallback)(() => {
        window.clearTimeout(l.current), l.current = window.setTimeout(o, t)
      }, [o, t])
    }

    function X(e, r) {
      let t = (0, i.useCallbackRef)(r);
      (0, s.useLayoutEffect)(() => {
        let r = 0;
        if (e) {
          let o = new ResizeObserver(() => {
            cancelAnimationFrame(r), r = window.requestAnimationFrame(t)
          });
          return o.observe(e), () => {
            window.cancelAnimationFrame(r), o.unobserve(e)
          }
        }
      }, [e, t])
    }
    var Y = w,
      F = g,
      $ = x,
      K = z
  },
  745814: e => {
    "use strict";
    e.s({
      ScrollArea: () => n,
      ScrollBar: () => a,
      ScrollViewport: () => i
    });
    var r = e.i(892988),
      t = e.i(270),
      o = e.i(378469);
    e.i(806681);
    var l = e.i(81805);
    let n = (0, o.forwardRef)(({
      className: e,
      children: o,
      ...n
    }, i) => (0, r.jsxs)(t.Root, {
      ref: i,
      className: (0, l.cn)("overflow-hidden", e),
      ...n,
      children: [o, (0, r.jsx)(t.Corner, {}), (0, r.jsx)(a, {
        orientation: "vertical"
      })]
    }));
    n.displayName = t.Root.displayName;
    let i = (0, o.forwardRef)(({
      className: e,
      children: o,
      ...n
    }, i) => (0, r.jsx)(t.Viewport, {
      ref: i,
      className: (0, l.cn)("size-full rounded-[inherit]", e),
      ...n,
      children: o
    }));
    i.displayName = t.Viewport.displayName;
    let a = (0, o.forwardRef)(({
      className: e,
      orientation: o = "vertical",
      ...n
    }, i) => (0, r.jsx)(t.Scrollbar, {
      ref: i,
      orientation: o,
      className: (0, l.cn)("flex select-none data-[state=hidden]:animate-fd-fade-out", "vertical" === o && "h-full w-1.5", "horizontal" === o && "h-1.5 flex-col", e),
      ...n,
      children: (0, r.jsx)(t.ScrollAreaThumb, {
        className: "relative flex-1 rounded-full bg-fd-border"
      })
    }));
    a.displayName = t.Scrollbar.displayName
  },
  849238: e => {
    "use strict";
    e.s({
      __iconNode: () => t,
      default: () => o
    });
    var r = e.i(180981);
    let t = [
        ["rect", {
          width: "14",
          height: "14",
          x: "8",
          y: "8",
          rx: "2",
          ry: "2",
          key: "17jyea"
        }],
        ["path", {
          d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",
          key: "zix9uf"
        }]
      ],
      o = (0, r.default)("Copy", t)
  },
  812280: e => {
    "use strict";
    e.s({
      Copy: () => r.default
    });
    var r = e.i(849238)
  },
  885718: e => {
    "use strict";
    e.s({
      CodeBlock: () => d,
      Pre: () => c
    });
    var r = e.i(892988),
      t = e.i(511148),
      o = e.i(812280),
      l = e.i(378469);
    e.i(806681);
    var n = e.i(81805),
      i = e.i(745814),
      a = e.i(664703),
      s = e.i(388398);
    let c = (0, l.forwardRef)(({
      className: e,
      ...t
    }, o) => (0, r.jsx)("pre", {
      ref: o,
      className: (0, n.cn)("p-4 focus-visible:outline-none", e),
      ...t,
      children: t.children
    }));
    c.displayName = "Pre";
    let d = (0, l.forwardRef)(({
      title: e,
      allowCopy: t = !0,
      keepBackground: o = !1,
      icon: a,
      viewportProps: s,
      ...c
    }, d) => {
      let f = (0, l.useRef)(null),
        p = (0, l.useCallback)(() => {
          let e = f.current?.getElementsByTagName("pre").item(0);
          if (!e) return;
          let r = e.cloneNode(!0);
          r.querySelectorAll(".nd-copy-ignore").forEach(e => {
            e.remove()
          }), navigator.clipboard.writeText(r.textContent ?? "")
        }, []);
      return (0, r.jsxs)("figure", {
        ref: d,
        ...c,
        className: (0, n.cn)("not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm", o && "bg-[var(--shiki-light-bg)] dark:bg-[var(--shiki-dark-bg)]", c.className),
        children: [e ? (0, r.jsxs)("div", {
          className: "flex flex-row items-center gap-2 border-b bg-fd-muted px-4 py-1.5",
          children: [a ? (0, r.jsx)("div", {
            className: "text-fd-muted-foreground [&_svg]:size-3.5",
            dangerouslySetInnerHTML: "string" == typeof a ? {
              __html: a
            } : void 0,
            children: "string" != typeof a ? a : null
          }) : null, (0, r.jsx)("figcaption", {
            className: "flex-1 truncate text-fd-muted-foreground",
            children: e
          }), t ? (0, r.jsx)(u, {
            className: "-me-2",
            onCopy: p
          }) : null]
        }) : t && (0, r.jsx)(u, {
          className: "absolute right-2 top-2 z-[2] backdrop-blur-md",
          onCopy: p
        }), (0, r.jsxs)(i.ScrollArea, {
          ref: f,
          dir: "ltr",
          children: [(0, r.jsx)(i.ScrollViewport, {
            ...s,
            className: (0, n.cn)("max-h-[600px]", s?.className),
            children: c.children
          }), (0, r.jsx)(i.ScrollBar, {
            orientation: "horizontal"
          })]
        })]
      })
    });

    function u({
      className: e,
      onCopy: l,
      ...i
    }) {
      let [c, d] = (0, a.useCopyButton)(l);
      return (0, r.jsxs)("button", {
        type: "button",
        className: (0, n.cn)((0, s.buttonVariants)({
          color: "ghost"
        }), "transition-opacity group-hover:opacity-100", !c && "opacity-0", e),
        "aria-label": "Copy Text",
        onClick: d,
        ...i,
        children: [(0, r.jsx)(t.Check, {
          className: (0, n.cn)("size-3.5 transition-transform", !c && "scale-0")
        }), (0, r.jsx)(o.Copy, {
          className: (0, n.cn)("absolute size-3.5 transition-transform", c && "scale-0")
        })]
      })
    }
    d.displayName = "CodeBlock"
  },
  837119: e => {
    e.v(r => Promise.all(["static/chunks/04eb764e93f8985d.js", "static/chunks/6287bba3f3d23471.js", "static/chunks/17edb7ecbfcf3b25.js", "static/chunks/55aabdc15011497c.js", "static/chunks/8d2d386cba341659.js"].map(r => e.l(r))).then(() => r(294739)))
  },
  358797: e => {
    e.v(r => Promise.all(["static/chunks/a0b97575a3b068d9.js"].map(r => e.l(r))).then(() => r(582758)))
  },
  733720: e => {
    e.v(r => Promise.all(["static/chunks/842664a841409f1c.js"].map(r => e.l(r))).then(() => r(950026)))
  },
  230882: e => {
    e.v(r => Promise.all(["static/chunks/7ee02ea74ed188b6.js", "static/chunks/17edb7ecbfcf3b25.js"].map(r => e.l(r))).then(() => r(932436)))
  }
}]);

//# sourceMappingURL=dc2c5b9db72e088b.js.map