{"version":3,"file":"tooltip.DGBoIlim.js","sources":["../../../node_modules/@radix-ui/react-tooltip/dist/index.mjs","../../../src/components/ui/tooltip.tsx"],"sourcesContent":["\"use client\";\n\n// packages/react/tooltip/src/Tooltip.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Slottable } from \"@radix-ui/react-slot\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport * as VisuallyHiddenPrimitive from \"@radix-ui/react-visually-hidden\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar [createTooltipContext, createTooltipScope] = createContextScope(\"Tooltip\", [\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar PROVIDER_NAME = \"TooltipProvider\";\nvar DEFAULT_DELAY_DURATION = 700;\nvar TOOLTIP_OPEN = \"tooltip.open\";\nvar [TooltipProviderContextProvider, useTooltipProviderContext] = createTooltipContext(PROVIDER_NAME);\nvar TooltipProvider = (props) => {\n const {\n __scopeTooltip,\n delayDuration = DEFAULT_DELAY_DURATION,\n skipDelayDuration = 300,\n disableHoverableContent = false,\n children\n } = props;\n const [isOpenDelayed, setIsOpenDelayed] = React.useState(true);\n const isPointerInTransitRef = React.useRef(false);\n const skipDelayTimerRef = React.useRef(0);\n React.useEffect(() => {\n const skipDelayTimer = skipDelayTimerRef.current;\n return () => window.clearTimeout(skipDelayTimer);\n }, []);\n return /* @__PURE__ */ jsx(\n TooltipProviderContextProvider,\n {\n scope: __scopeTooltip,\n isOpenDelayed,\n delayDuration,\n onOpen: React.useCallback(() => {\n window.clearTimeout(skipDelayTimerRef.current);\n setIsOpenDelayed(false);\n }, []),\n onClose: React.useCallback(() => {\n window.clearTimeout(skipDelayTimerRef.current);\n skipDelayTimerRef.current = window.setTimeout(\n () => setIsOpenDelayed(true),\n skipDelayDuration\n );\n }, [skipDelayDuration]),\n isPointerInTransitRef,\n onPointerInTransitChange: React.useCallback((inTransit) => {\n isPointerInTransitRef.current = inTransit;\n }, []),\n disableHoverableContent,\n children\n }\n );\n};\nTooltipProvider.displayName = PROVIDER_NAME;\nvar TOOLTIP_NAME = \"Tooltip\";\nvar [TooltipContextProvider, useTooltipContext] = createTooltipContext(TOOLTIP_NAME);\nvar Tooltip = (props) => {\n const {\n __scopeTooltip,\n children,\n open: openProp,\n defaultOpen = false,\n onOpenChange,\n disableHoverableContent: disableHoverableContentProp,\n delayDuration: delayDurationProp\n } = props;\n const providerContext = useTooltipProviderContext(TOOLTIP_NAME, props.__scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const [trigger, setTrigger] = React.useState(null);\n const contentId = useId();\n const openTimerRef = React.useRef(0);\n const disableHoverableContent = disableHoverableContentProp ?? providerContext.disableHoverableContent;\n const delayDuration = delayDurationProp ?? providerContext.delayDuration;\n const wasOpenDelayedRef = React.useRef(false);\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: (open2) => {\n if (open2) {\n providerContext.onOpen();\n document.dispatchEvent(new CustomEvent(TOOLTIP_OPEN));\n } else {\n providerContext.onClose();\n }\n onOpenChange?.(open2);\n }\n });\n const stateAttribute = React.useMemo(() => {\n return open ? wasOpenDelayedRef.current ? \"delayed-open\" : \"instant-open\" : \"closed\";\n }, [open]);\n const handleOpen = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n wasOpenDelayedRef.current = false;\n setOpen(true);\n }, [setOpen]);\n const handleClose = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n setOpen(false);\n }, [setOpen]);\n const handleDelayedOpen = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = window.setTimeout(() => {\n wasOpenDelayedRef.current = true;\n setOpen(true);\n }, delayDuration);\n }, [delayDuration, setOpen]);\n React.useEffect(() => {\n return () => window.clearTimeout(openTimerRef.current);\n }, []);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n TooltipContextProvider,\n {\n scope: __scopeTooltip,\n contentId,\n open,\n stateAttribute,\n trigger,\n onTriggerChange: setTrigger,\n onTriggerEnter: React.useCallback(() => {\n if (providerContext.isOpenDelayed) handleDelayedOpen();\n else handleOpen();\n }, [providerContext.isOpenDelayed, handleDelayedOpen, handleOpen]),\n onTriggerLeave: React.useCallback(() => {\n if (disableHoverableContent) {\n handleClose();\n } else {\n window.clearTimeout(openTimerRef.current);\n }\n }, [handleClose, disableHoverableContent]),\n onOpen: handleOpen,\n onClose: handleClose,\n disableHoverableContent,\n children\n }\n ) });\n};\nTooltip.displayName = TOOLTIP_NAME;\nvar TRIGGER_NAME = \"TooltipTrigger\";\nvar TooltipTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTooltip, ...triggerProps } = props;\n const context = useTooltipContext(TRIGGER_NAME, __scopeTooltip);\n const providerContext = useTooltipProviderContext(TRIGGER_NAME, __scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref, context.onTriggerChange);\n const isPointerDownRef = React.useRef(false);\n const hasPointerMoveOpenedRef = React.useRef(false);\n const handlePointerUp = React.useCallback(() => isPointerDownRef.current = false, []);\n React.useEffect(() => {\n return () => document.removeEventListener(\"pointerup\", handlePointerUp);\n }, [handlePointerUp]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n \"aria-describedby\": context.open ? context.contentId : void 0,\n \"data-state\": context.stateAttribute,\n ...triggerProps,\n ref: composedRefs,\n onPointerMove: composeEventHandlers(props.onPointerMove, (event) => {\n if (event.pointerType === \"touch\") return;\n if (!hasPointerMoveOpenedRef.current && !providerContext.isPointerInTransitRef.current) {\n context.onTriggerEnter();\n hasPointerMoveOpenedRef.current = true;\n }\n }),\n onPointerLeave: composeEventHandlers(props.onPointerLeave, () => {\n context.onTriggerLeave();\n hasPointerMoveOpenedRef.current = false;\n }),\n onPointerDown: composeEventHandlers(props.onPointerDown, () => {\n isPointerDownRef.current = true;\n document.addEventListener(\"pointerup\", handlePointerUp, { once: true });\n }),\n onFocus: composeEventHandlers(props.onFocus, () => {\n if (!isPointerDownRef.current) context.onOpen();\n }),\n onBlur: composeEventHandlers(props.onBlur, context.onClose),\n onClick: composeEventHandlers(props.onClick, context.onClose)\n }\n ) });\n }\n);\nTooltipTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"TooltipPortal\";\nvar [PortalProvider, usePortalContext] = createTooltipContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar TooltipPortal = (props) => {\n const { __scopeTooltip, forceMount, children, container } = props;\n const context = useTooltipContext(PORTAL_NAME, __scopeTooltip);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeTooltip, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nTooltipPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"TooltipContent\";\nvar TooltipContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeTooltip);\n const { forceMount = portalContext.forceMount, side = \"top\", ...contentProps } = props;\n const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.disableHoverableContent ? /* @__PURE__ */ jsx(TooltipContentImpl, { side, ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(TooltipContentHoverable, { side, ...contentProps, ref: forwardedRef }) });\n }\n);\nvar TooltipContentHoverable = React.forwardRef((props, forwardedRef) => {\n const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);\n const providerContext = useTooltipProviderContext(CONTENT_NAME, props.__scopeTooltip);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const [pointerGraceArea, setPointerGraceArea] = React.useState(null);\n const { trigger, onClose } = context;\n const content = ref.current;\n const { onPointerInTransitChange } = providerContext;\n const handleRemoveGraceArea = React.useCallback(() => {\n setPointerGraceArea(null);\n onPointerInTransitChange(false);\n }, [onPointerInTransitChange]);\n const handleCreateGraceArea = React.useCallback(\n (event, hoverTarget) => {\n const currentTarget = event.currentTarget;\n const exitPoint = { x: event.clientX, y: event.clientY };\n const exitSide = getExitSideFromRect(exitPoint, currentTarget.getBoundingClientRect());\n const paddedExitPoints = getPaddedExitPoints(exitPoint, exitSide);\n const hoverTargetPoints = getPointsFromRect(hoverTarget.getBoundingClientRect());\n const graceArea = getHull([...paddedExitPoints, ...hoverTargetPoints]);\n setPointerGraceArea(graceArea);\n onPointerInTransitChange(true);\n },\n [onPointerInTransitChange]\n );\n React.useEffect(() => {\n return () => handleRemoveGraceArea();\n }, [handleRemoveGraceArea]);\n React.useEffect(() => {\n if (trigger && content) {\n const handleTriggerLeave = (event) => handleCreateGraceArea(event, content);\n const handleContentLeave = (event) => handleCreateGraceArea(event, trigger);\n trigger.addEventListener(\"pointerleave\", handleTriggerLeave);\n content.addEventListener(\"pointerleave\", handleContentLeave);\n return () => {\n trigger.removeEventListener(\"pointerleave\", handleTriggerLeave);\n content.removeEventListener(\"pointerleave\", handleContentLeave);\n };\n }\n }, [trigger, content, handleCreateGraceArea, handleRemoveGraceArea]);\n React.useEffect(() => {\n if (pointerGraceArea) {\n const handleTrackPointerGrace = (event) => {\n const target = event.target;\n const pointerPosition = { x: event.clientX, y: event.clientY };\n const hasEnteredTarget = trigger?.contains(target) || content?.contains(target);\n const isPointerOutsideGraceArea = !isPointInPolygon(pointerPosition, pointerGraceArea);\n if (hasEnteredTarget) {\n handleRemoveGraceArea();\n } else if (isPointerOutsideGraceArea) {\n handleRemoveGraceArea();\n onClose();\n }\n };\n document.addEventListener(\"pointermove\", handleTrackPointerGrace);\n return () => document.removeEventListener(\"pointermove\", handleTrackPointerGrace);\n }\n }, [trigger, content, pointerGraceArea, onClose, handleRemoveGraceArea]);\n return /* @__PURE__ */ jsx(TooltipContentImpl, { ...props, ref: composedRefs });\n});\nvar [VisuallyHiddenContentContextProvider, useVisuallyHiddenContentContext] = createTooltipContext(TOOLTIP_NAME, { isInside: false });\nvar TooltipContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeTooltip,\n children,\n \"aria-label\": ariaLabel,\n onEscapeKeyDown,\n onPointerDownOutside,\n ...contentProps\n } = props;\n const context = useTooltipContext(CONTENT_NAME, __scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const { onClose } = context;\n React.useEffect(() => {\n document.addEventListener(TOOLTIP_OPEN, onClose);\n return () => document.removeEventListener(TOOLTIP_OPEN, onClose);\n }, [onClose]);\n React.useEffect(() => {\n if (context.trigger) {\n const handleScroll = (event) => {\n const target = event.target;\n if (target?.contains(context.trigger)) onClose();\n };\n window.addEventListener(\"scroll\", handleScroll, { capture: true });\n return () => window.removeEventListener(\"scroll\", handleScroll, { capture: true });\n }\n }, [context.trigger, onClose]);\n return /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents: false,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside: (event) => event.preventDefault(),\n onDismiss: onClose,\n children: /* @__PURE__ */ jsxs(\n PopperPrimitive.Content,\n {\n \"data-state\": context.stateAttribute,\n ...popperScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...contentProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-tooltip-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-tooltip-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-tooltip-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-tooltip-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-tooltip-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n },\n children: [\n /* @__PURE__ */ jsx(Slottable, { children }),\n /* @__PURE__ */ jsx(VisuallyHiddenContentContextProvider, { scope: __scopeTooltip, isInside: true, children: /* @__PURE__ */ jsx(VisuallyHiddenPrimitive.Root, { id: context.contentId, role: \"tooltip\", children: ariaLabel || children }) })\n ]\n }\n )\n }\n );\n }\n);\nTooltipContent.displayName = CONTENT_NAME;\nvar ARROW_NAME = \"TooltipArrow\";\nvar TooltipArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTooltip, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeTooltip);\n const visuallyHiddenContentContext = useVisuallyHiddenContentContext(\n ARROW_NAME,\n __scopeTooltip\n );\n return visuallyHiddenContentContext.isInside ? null : /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nTooltipArrow.displayName = ARROW_NAME;\nfunction getExitSideFromRect(point, rect) {\n const top = Math.abs(rect.top - point.y);\n const bottom = Math.abs(rect.bottom - point.y);\n const right = Math.abs(rect.right - point.x);\n const left = Math.abs(rect.left - point.x);\n switch (Math.min(top, bottom, right, left)) {\n case left:\n return \"left\";\n case right:\n return \"right\";\n case top:\n return \"top\";\n case bottom:\n return \"bottom\";\n default:\n throw new Error(\"unreachable\");\n }\n}\nfunction getPaddedExitPoints(exitPoint, exitSide, padding = 5) {\n const paddedExitPoints = [];\n switch (exitSide) {\n case \"top\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y + padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding }\n );\n break;\n case \"bottom\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y - padding }\n );\n break;\n case \"left\":\n paddedExitPoints.push(\n { x: exitPoint.x + padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding }\n );\n break;\n case \"right\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x - padding, y: exitPoint.y + padding }\n );\n break;\n }\n return paddedExitPoints;\n}\nfunction getPointsFromRect(rect) {\n const { top, right, bottom, left } = rect;\n return [\n { x: left, y: top },\n { x: right, y: top },\n { x: right, y: bottom },\n { x: left, y: bottom }\n ];\n}\nfunction isPointInPolygon(point, polygon) {\n const { x, y } = point;\n let inside = false;\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const xi = polygon[i].x;\n const yi = polygon[i].y;\n const xj = polygon[j].x;\n const yj = polygon[j].y;\n const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;\n if (intersect) inside = !inside;\n }\n return inside;\n}\nfunction getHull(points) {\n const newPoints = points.slice();\n newPoints.sort((a, b) => {\n if (a.x < b.x) return -1;\n else if (a.x > b.x) return 1;\n else if (a.y < b.y) return -1;\n else if (a.y > b.y) return 1;\n else return 0;\n });\n return getHullPresorted(newPoints);\n}\nfunction getHullPresorted(points) {\n if (points.length <= 1) return points.slice();\n const upperHull = [];\n for (let i = 0; i < points.length; i++) {\n const p = points[i];\n while (upperHull.length >= 2) {\n const q = upperHull[upperHull.length - 1];\n const r = upperHull[upperHull.length - 2];\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) upperHull.pop();\n else break;\n }\n upperHull.push(p);\n }\n upperHull.pop();\n const lowerHull = [];\n for (let i = points.length - 1; i >= 0; i--) {\n const p = points[i];\n while (lowerHull.length >= 2) {\n const q = lowerHull[lowerHull.length - 1];\n const r = lowerHull[lowerHull.length - 2];\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) lowerHull.pop();\n else break;\n }\n lowerHull.push(p);\n }\n lowerHull.pop();\n if (upperHull.length === 1 && lowerHull.length === 1 && upperHull[0].x === lowerHull[0].x && upperHull[0].y === lowerHull[0].y) {\n return upperHull;\n } else {\n return upperHull.concat(lowerHull);\n }\n}\nvar Provider = TooltipProvider;\nvar Root3 = Tooltip;\nvar Trigger = TooltipTrigger;\nvar Portal = TooltipPortal;\nvar Content2 = TooltipContent;\nvar Arrow2 = TooltipArrow;\nexport {\n Arrow2 as Arrow,\n Content2 as Content,\n Portal,\n Provider,\n Root3 as Root,\n Tooltip,\n TooltipArrow,\n TooltipContent,\n TooltipPortal,\n TooltipProvider,\n TooltipTrigger,\n Trigger,\n createTooltipScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as React from 'react'\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip'\n\nimport { cn } from '@lib/utils'\n\nconst TooltipProvider = TooltipPrimitive.Provider\n\nconst Tooltip = TooltipPrimitive.Root\n\nconst TooltipTrigger = TooltipPrimitive.Trigger\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, sideOffset = 4, ...props }, ref) => (\n \n \n \n))\nTooltipContent.displayName = TooltipPrimitive.Content.displayName\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\n"],"names":["createTooltipContext","createTooltipScope","createContextScope","createPopperScope","usePopperScope","PROVIDER_NAME","DEFAULT_DELAY_DURATION","TOOLTIP_OPEN","TooltipProviderContextProvider","useTooltipProviderContext","TooltipProvider","props","__scopeTooltip","delayDuration","skipDelayDuration","disableHoverableContent","children","isOpenDelayed","setIsOpenDelayed","React.useState","isPointerInTransitRef","React.useRef","skipDelayTimerRef","React.useEffect","skipDelayTimer","jsx","React.useCallback","inTransit","TOOLTIP_NAME","TooltipContextProvider","useTooltipContext","Tooltip","openProp","defaultOpen","onOpenChange","disableHoverableContentProp","delayDurationProp","providerContext","popperScope","trigger","setTrigger","contentId","useId","openTimerRef","wasOpenDelayedRef","open","setOpen","useControllableState","open2","stateAttribute","React.useMemo","handleOpen","handleClose","handleDelayedOpen","PopperPrimitive.Root","TRIGGER_NAME","TooltipTrigger","React.forwardRef","forwardedRef","triggerProps","context","ref","composedRefs","useComposedRefs","isPointerDownRef","hasPointerMoveOpenedRef","handlePointerUp","PopperPrimitive.Anchor","Primitive","composeEventHandlers","event","PORTAL_NAME","PortalProvider","usePortalContext","TooltipPortal","forceMount","container","Presence","PortalPrimitive","CONTENT_NAME","TooltipContent","portalContext","side","contentProps","TooltipContentImpl","TooltipContentHoverable","pointerGraceArea","setPointerGraceArea","onClose","content","onPointerInTransitChange","handleRemoveGraceArea","handleCreateGraceArea","hoverTarget","currentTarget","exitPoint","exitSide","getExitSideFromRect","paddedExitPoints","getPaddedExitPoints","hoverTargetPoints","getPointsFromRect","graceArea","getHull","handleTriggerLeave","handleContentLeave","handleTrackPointerGrace","target","pointerPosition","hasEnteredTarget","isPointerOutsideGraceArea","isPointInPolygon","VisuallyHiddenContentContextProvider","useVisuallyHiddenContentContext","ariaLabel","onEscapeKeyDown","onPointerDownOutside","handleScroll","DismissableLayer","jsxs","PopperPrimitive.Content","Slottable","VisuallyHiddenPrimitive.Root","ARROW_NAME","TooltipArrow","arrowProps","PopperPrimitive.Arrow","point","rect","top","bottom","right","left","padding","polygon","x","y","inside","j","xi","yi","xj","yj","points","newPoints","a","b","getHullPresorted","upperHull","i","p","q","r","lowerHull","Provider","Root3","Trigger","Portal","Content2","TooltipPrimitive.Provider","TooltipPrimitive.Root","TooltipPrimitive.Trigger","className","sideOffset","TooltipPrimitive.Portal","TooltipPrimitive.Content","cn"],"mappings":"g0BAkBA,GAAI,CAACA,EAAsBC,EAAkB,EAAIC,EAAmB,UAAW,CAC7EC,CACF,CAAC,EACGC,EAAiBD,EAAiB,EAClCE,EAAgB,kBAChBC,GAAyB,IACzBC,EAAe,eACf,CAACC,GAAgCC,CAAyB,EAAIT,EAAqBK,CAAa,EAChGK,EAAmBC,GAAU,CAC/B,KAAM,CACJ,eAAAC,EACA,cAAAC,EAAgBP,GAChB,kBAAAQ,EAAoB,IACpB,wBAAAC,EAA0B,GAC1B,SAAAC,CACD,EAAGL,EACE,CAACM,EAAeC,CAAgB,EAAIC,EAAc,SAAC,EAAI,EACvDC,EAAwBC,SAAa,EAAK,EAC1CC,EAAoBD,SAAa,CAAC,EACxCE,OAAAA,EAAAA,UAAgB,IAAM,CACpB,MAAMC,EAAiBF,EAAkB,QACzC,MAAO,IAAM,OAAO,aAAaE,CAAc,CAChD,EAAE,CAAE,CAAA,EACkBC,EAAG,IACxBjB,GACA,CACE,MAAOI,EACP,cAAAK,EACA,cAAAJ,EACA,OAAQa,EAAiB,YAAC,IAAM,CAC9B,OAAO,aAAaJ,EAAkB,OAAO,EAC7CJ,EAAiB,EAAK,CACvB,EAAE,EAAE,EACL,QAASQ,EAAiB,YAAC,IAAM,CAC/B,OAAO,aAAaJ,EAAkB,OAAO,EAC7CA,EAAkB,QAAU,OAAO,WACjC,IAAMJ,EAAiB,EAAI,EAC3BJ,CACV,CACA,EAAS,CAACA,CAAiB,CAAC,EACtB,sBAAAM,EACA,yBAA0BM,EAAAA,YAAmBC,GAAc,CACzDP,EAAsB,QAAUO,CACjC,EAAE,EAAE,EACL,wBAAAZ,EACA,SAAAC,CACD,CACL,CACA,EACAN,EAAgB,YAAcL,EAC9B,IAAIuB,EAAe,UACf,CAACC,GAAwBC,CAAiB,EAAI9B,EAAqB4B,CAAY,EAC/EG,EAAWpB,GAAU,CACvB,KAAM,CACJ,eAAAC,EACA,SAAAI,EACA,KAAMgB,EACN,YAAAC,EAAc,GACd,aAAAC,EACA,wBAAyBC,EACzB,cAAeC,CAChB,EAAGzB,EACE0B,EAAkB5B,EAA0BmB,EAAcjB,EAAM,cAAc,EAC9E2B,EAAclC,EAAeQ,CAAc,EAC3C,CAAC2B,EAASC,CAAU,EAAIrB,EAAc,SAAC,IAAI,EAC3CsB,EAAYC,IACZC,EAAetB,SAAa,CAAC,EAC7BN,EAA0BoB,GAA+BE,EAAgB,wBACzExB,EAAgBuB,GAAqBC,EAAgB,cACrDO,EAAoBvB,SAAa,EAAK,EACtC,CAACwB,EAAO,GAAOC,CAAO,EAAIC,EAAqB,CACnD,KAAMf,EACN,YAAaC,EACb,SAAWe,GAAU,CACfA,GACFX,EAAgB,OAAM,EACtB,SAAS,cAAc,IAAI,YAAY9B,CAAY,CAAC,GAEpD8B,EAAgB,QAAO,EAEzBH,IAAec,CAAK,CACrB,CACL,CAAG,EACKC,EAAiBC,EAAAA,QAAc,IAC5BL,EAAOD,EAAkB,QAAU,eAAiB,eAAiB,SAC3E,CAACC,CAAI,CAAC,EACHM,EAAazB,EAAAA,YAAkB,IAAM,CACzC,OAAO,aAAaiB,EAAa,OAAO,EACxCC,EAAkB,QAAU,GAC5BE,EAAQ,EAAI,CAChB,EAAK,CAACA,CAAO,CAAC,EACNM,EAAc1B,EAAAA,YAAkB,IAAM,CAC1C,OAAO,aAAaiB,EAAa,OAAO,EACxCG,EAAQ,EAAK,CACjB,EAAK,CAACA,CAAO,CAAC,EACNO,EAAoB3B,EAAAA,YAAkB,IAAM,CAChD,OAAO,aAAaiB,EAAa,OAAO,EACxCA,EAAa,QAAU,OAAO,WAAW,IAAM,CAC7CC,EAAkB,QAAU,GAC5BE,EAAQ,EAAI,CACb,EAAEjC,CAAa,CACpB,EAAK,CAACA,EAAeiC,CAAO,CAAC,EAC3BvB,OAAAA,EAAAA,UAAgB,IACP,IAAM,OAAO,aAAaoB,EAAa,OAAO,EACpD,CAAE,CAAA,EACkBlB,EAAG,IAAC6B,GAAsB,CAAE,GAAGhB,EAAa,SAA0Bb,EAAG,IAC9FI,GACA,CACE,MAAOjB,EACP,UAAA6B,EACA,KAAAI,EACA,eAAAI,EACA,QAAAV,EACA,gBAAiBC,EACjB,eAAgBd,EAAiB,YAAC,IAAM,CAClCW,EAAgB,cAAegB,IAC9BF,GACN,EAAE,CAACd,EAAgB,cAAegB,EAAmBF,CAAU,CAAC,EACjE,eAAgBzB,EAAiB,YAAC,IAAM,CAClCX,EACFqC,IAEA,OAAO,aAAaT,EAAa,OAAO,CAElD,EAAS,CAACS,EAAarC,CAAuB,CAAC,EACzC,OAAQoC,EACR,QAASC,EACT,wBAAArC,EACA,SAAAC,CACD,CACF,CAAA,CAAE,CACL,EACAe,EAAQ,YAAcH,EACtB,IAAI2B,EAAe,iBACfC,EAAiBC,EAAgB,WACnC,CAAC9C,EAAO+C,IAAiB,CACvB,KAAM,CAAE,eAAA9C,EAAgB,GAAG+C,CAAY,EAAKhD,EACtCiD,EAAU9B,EAAkByB,EAAc3C,CAAc,EACxDyB,EAAkB5B,EAA0B8C,EAAc3C,CAAc,EACxE0B,EAAclC,EAAeQ,CAAc,EAC3CiD,EAAMxC,SAAa,IAAI,EACvByC,EAAeC,EAAgBL,EAAcG,EAAKD,EAAQ,eAAe,EACzEI,EAAmB3C,SAAa,EAAK,EACrC4C,EAA0B5C,SAAa,EAAK,EAC5C6C,EAAkBxC,EAAAA,YAAkB,IAAMsC,EAAiB,QAAU,GAAO,CAAA,CAAE,EACpFzC,OAAAA,EAAAA,UAAgB,IACP,IAAM,SAAS,oBAAoB,YAAa2C,CAAe,EACrE,CAACA,CAAe,CAAC,EACGzC,EAAAA,IAAI0C,GAAwB,CAAE,QAAS,GAAM,GAAG7B,EAAa,SAA0Bb,EAAG,IAC/G2C,GAAU,OACV,CACE,mBAAoBR,EAAQ,KAAOA,EAAQ,UAAY,OACvD,aAAcA,EAAQ,eACtB,GAAGD,EACH,IAAKG,EACL,cAAeO,EAAqB1D,EAAM,cAAgB2D,GAAU,CAC9DA,EAAM,cAAgB,SACtB,CAACL,EAAwB,SAAW,CAAC5B,EAAgB,sBAAsB,UAC7EuB,EAAQ,eAAc,EACtBK,EAAwB,QAAU,GAE9C,CAAS,EACD,eAAgBI,EAAqB1D,EAAM,eAAgB,IAAM,CAC/DiD,EAAQ,eAAc,EACtBK,EAAwB,QAAU,EAC5C,CAAS,EACD,cAAeI,EAAqB1D,EAAM,cAAe,IAAM,CAC7DqD,EAAiB,QAAU,GAC3B,SAAS,iBAAiB,YAAaE,EAAiB,CAAE,KAAM,EAAI,CAAE,CAChF,CAAS,EACD,QAASG,EAAqB1D,EAAM,QAAS,IAAM,CAC5CqD,EAAiB,SAASJ,EAAQ,OAAM,CACvD,CAAS,EACD,OAAQS,EAAqB1D,EAAM,OAAQiD,EAAQ,OAAO,EAC1D,QAASS,EAAqB1D,EAAM,QAASiD,EAAQ,OAAO,CAC7D,CACF,CAAA,CAAE,CACJ,CACH,EACAJ,EAAe,YAAcD,EAC7B,IAAIgB,EAAc,gBACd,CAACC,GAAgBC,EAAgB,EAAIzE,EAAqBuE,EAAa,CACzE,WAAY,MACd,CAAC,EACGG,EAAiB/D,GAAU,CAC7B,KAAM,CAAE,eAAAC,EAAgB,WAAA+D,EAAY,SAAA3D,EAAU,UAAA4D,CAAS,EAAKjE,EACtDiD,EAAU9B,EAAkByC,EAAa3D,CAAc,EAC7D,OAAuBa,MAAI+C,GAAgB,CAAE,MAAO5D,EAAgB,WAAA+D,EAAY,SAA0BlD,EAAG,IAACoD,EAAU,CAAE,QAASF,GAAcf,EAAQ,KAAM,SAA0BnC,MAAIqD,EAAiB,CAAE,QAAS,GAAM,UAAAF,EAAW,SAAA5D,CAAQ,CAAE,CAAG,CAAA,CAAG,CAAA,CAC5P,EACA0D,EAAc,YAAcH,EAC5B,IAAIQ,EAAe,iBACfC,EAAiBvB,EAAgB,WACnC,CAAC9C,EAAO+C,IAAiB,CACvB,MAAMuB,EAAgBR,GAAiBM,EAAcpE,EAAM,cAAc,EACnE,CAAE,WAAAgE,EAAaM,EAAc,WAAY,KAAAC,EAAO,MAAO,GAAGC,CAAc,EAAGxE,EAC3EiD,EAAU9B,EAAkBiD,EAAcpE,EAAM,cAAc,EACpE,OAAuBc,EAAG,IAACoD,EAAU,CAAE,QAASF,GAAcf,EAAQ,KAAM,SAAUA,EAAQ,wBAA0CnC,EAAG,IAAC2D,EAAoB,CAAE,KAAAF,EAAM,GAAGC,EAAc,IAAKzB,EAAc,EAAoBjC,EAAG,IAAC4D,GAAyB,CAAE,KAAAH,EAAM,GAAGC,EAAc,IAAKzB,CAAc,CAAA,CAAG,CAAA,CAC7S,CACH,EACI2B,GAA0B5B,EAAgB,WAAC,CAAC9C,EAAO+C,IAAiB,CACtE,MAAME,EAAU9B,EAAkBiD,EAAcpE,EAAM,cAAc,EAC9D0B,EAAkB5B,EAA0BsE,EAAcpE,EAAM,cAAc,EAC9EkD,EAAMxC,SAAa,IAAI,EACvByC,EAAeC,EAAgBL,EAAcG,CAAG,EAChD,CAACyB,EAAkBC,CAAmB,EAAIpE,EAAc,SAAC,IAAI,EAC7D,CAAE,QAAAoB,EAAS,QAAAiD,CAAS,EAAG5B,EACvB6B,EAAU5B,EAAI,QACd,CAAE,yBAAA6B,CAA0B,EAAGrD,EAC/BsD,EAAwBjE,EAAAA,YAAkB,IAAM,CACpD6D,EAAoB,IAAI,EACxBG,EAAyB,EAAK,CAClC,EAAK,CAACA,CAAwB,CAAC,EACvBE,EAAwBlE,EAAiB,YAC7C,CAAC4C,EAAOuB,IAAgB,CACtB,MAAMC,EAAgBxB,EAAM,cACtByB,EAAY,CAAE,EAAGzB,EAAM,QAAS,EAAGA,EAAM,SACzC0B,EAAWC,GAAoBF,EAAWD,EAAc,sBAAuB,CAAA,EAC/EI,EAAmBC,GAAoBJ,EAAWC,CAAQ,EAC1DI,EAAoBC,GAAkBR,EAAY,sBAAuB,CAAA,EACzES,EAAYC,GAAQ,CAAC,GAAGL,EAAkB,GAAGE,CAAiB,CAAC,EACrEb,EAAoBe,CAAS,EAC7BZ,EAAyB,EAAI,CAC9B,EACD,CAACA,CAAwB,CAC7B,EACEnE,OAAAA,EAAAA,UAAgB,IACP,IAAMoE,EAAqB,EACjC,CAACA,CAAqB,CAAC,EAC1BpE,EAAAA,UAAgB,IAAM,CACpB,GAAIgB,GAAWkD,EAAS,CACtB,MAAMe,EAAsBlC,GAAUsB,EAAsBtB,EAAOmB,CAAO,EACpEgB,EAAsBnC,GAAUsB,EAAsBtB,EAAO/B,CAAO,EAC1E,OAAAA,EAAQ,iBAAiB,eAAgBiE,CAAkB,EAC3Df,EAAQ,iBAAiB,eAAgBgB,CAAkB,EACpD,IAAM,CACXlE,EAAQ,oBAAoB,eAAgBiE,CAAkB,EAC9Df,EAAQ,oBAAoB,eAAgBgB,CAAkB,CACtE,CACK,CACF,EAAE,CAAClE,EAASkD,EAASG,EAAuBD,CAAqB,CAAC,EACnEpE,EAAAA,UAAgB,IAAM,CACpB,GAAI+D,EAAkB,CACpB,MAAMoB,EAA2BpC,GAAU,CACzC,MAAMqC,EAASrC,EAAM,OACfsC,EAAkB,CAAE,EAAGtC,EAAM,QAAS,EAAGA,EAAM,SAC/CuC,EAAmBtE,GAAS,SAASoE,CAAM,GAAKlB,GAAS,SAASkB,CAAM,EACxEG,EAA4B,CAACC,GAAiBH,EAAiBtB,CAAgB,EACjFuB,EACFlB,IACSmB,IACTnB,IACAH,IAEV,EACM,gBAAS,iBAAiB,cAAekB,CAAuB,EACzD,IAAM,SAAS,oBAAoB,cAAeA,CAAuB,CACjF,CACL,EAAK,CAACnE,EAASkD,EAASH,EAAkBE,EAASG,CAAqB,CAAC,EAChDlE,EAAAA,IAAI2D,EAAoB,CAAE,GAAGzE,EAAO,IAAKmD,CAAY,CAAE,CAChF,CAAC,EACG,CAACkD,GAAsCC,EAA+B,EAAIjH,EAAqB4B,EAAc,CAAE,SAAU,EAAK,CAAE,EAChIwD,EAAqB3B,EAAgB,WACvC,CAAC9C,EAAO+C,IAAiB,CACvB,KAAM,CACJ,eAAA9C,EACA,SAAAI,EACA,aAAckG,EACd,gBAAAC,EACA,qBAAAC,EACA,GAAGjC,CACJ,EAAGxE,EACEiD,EAAU9B,EAAkBiD,EAAcnE,CAAc,EACxD0B,EAAclC,EAAeQ,CAAc,EAC3C,CAAE,QAAA4E,CAAS,EAAG5B,EACpBrC,OAAAA,EAAAA,UAAgB,KACd,SAAS,iBAAiBhB,EAAciF,CAAO,EACxC,IAAM,SAAS,oBAAoBjF,EAAciF,CAAO,GAC9D,CAACA,CAAO,CAAC,EACZjE,EAAAA,UAAgB,IAAM,CACpB,GAAIqC,EAAQ,QAAS,CACnB,MAAMyD,EAAgB/C,GAAU,CACfA,EAAM,QACT,SAASV,EAAQ,OAAO,GAAG4B,EAAO,CACxD,EACQ,cAAO,iBAAiB,SAAU6B,EAAc,CAAE,QAAS,EAAI,CAAE,EAC1D,IAAM,OAAO,oBAAoB,SAAUA,EAAc,CAAE,QAAS,EAAI,CAAE,CAClF,CACF,EAAE,CAACzD,EAAQ,QAAS4B,CAAO,CAAC,EACN/D,EAAG,IACxB6F,EACA,CACE,QAAS,GACT,4BAA6B,GAC7B,gBAAAH,EACA,qBAAAC,EACA,eAAiB9C,GAAUA,EAAM,eAAgB,EACjD,UAAWkB,EACX,SAA0B+B,EAAI,KAC5BC,GACA,CACE,aAAc5D,EAAQ,eACtB,GAAGtB,EACH,GAAG6C,EACH,IAAKzB,EACL,MAAO,CACL,GAAGyB,EAAa,MAGd,2CAA4C,uCAC5C,0CAA2C,sCAC3C,2CAA4C,uCAC5C,gCAAiC,mCACjC,iCAAkC,mCAErC,EACD,SAAU,CACQ1D,MAAIgG,EAAW,CAAE,SAAAzG,EAAU,EAC3BS,MAAIuF,GAAsC,CAAE,MAAOpG,EAAgB,SAAU,GAAM,SAA0Ba,EAAAA,IAAIiG,GAA8B,CAAE,GAAI9D,EAAQ,UAAW,KAAM,UAAW,SAAUsD,GAAalG,CAAU,CAAA,EAAG,CAC9O,CACF,CACF,CACF,CACP,CACG,CACH,EACAgE,EAAe,YAAcD,EAC7B,IAAI4C,EAAa,eACbC,GAAenE,EAAgB,WACjC,CAAC9C,EAAO+C,IAAiB,CACvB,KAAM,CAAE,eAAA9C,EAAgB,GAAGiH,CAAU,EAAKlH,EACpC2B,EAAclC,EAAeQ,CAAc,EAKjD,OAJqCqG,GACnCU,EACA/G,CACN,EACwC,SAAW,KAAuBa,EAAG,IAACqG,GAAuB,CAAE,GAAGxF,EAAa,GAAGuF,EAAY,IAAKnE,CAAc,CAAA,CACtJ,CACH,EACAkE,GAAa,YAAcD,EAC3B,SAAS1B,GAAoB8B,EAAOC,EAAM,CACxC,MAAMC,EAAM,KAAK,IAAID,EAAK,IAAMD,EAAM,CAAC,EACjCG,EAAS,KAAK,IAAIF,EAAK,OAASD,EAAM,CAAC,EACvCI,EAAQ,KAAK,IAAIH,EAAK,MAAQD,EAAM,CAAC,EACrCK,EAAO,KAAK,IAAIJ,EAAK,KAAOD,EAAM,CAAC,EACzC,OAAQ,KAAK,IAAIE,EAAKC,EAAQC,EAAOC,CAAI,EAAC,CACxC,KAAKA,EACH,MAAO,OACT,KAAKD,EACH,MAAO,QACT,KAAKF,EACH,MAAO,MACT,KAAKC,EACH,MAAO,SACT,QACE,MAAM,IAAI,MAAM,aAAa,CAChC,CACH,CACA,SAAS/B,GAAoBJ,EAAWC,EAAUqC,EAAU,EAAG,CAC7D,MAAMnC,EAAmB,CAAA,EACzB,OAAQF,EAAQ,CACd,IAAK,MACHE,EAAiB,KACf,CAAE,EAAGH,EAAU,EAAIsC,EAAS,EAAGtC,EAAU,EAAIsC,CAAS,EACtD,CAAE,EAAGtC,EAAU,EAAIsC,EAAS,EAAGtC,EAAU,EAAIsC,CAAS,CAC9D,EACM,MACF,IAAK,SACHnC,EAAiB,KACf,CAAE,EAAGH,EAAU,EAAIsC,EAAS,EAAGtC,EAAU,EAAIsC,CAAS,EACtD,CAAE,EAAGtC,EAAU,EAAIsC,EAAS,EAAGtC,EAAU,EAAIsC,CAAS,CAC9D,EACM,MACF,IAAK,OACHnC,EAAiB,KACf,CAAE,EAAGH,EAAU,EAAIsC,EAAS,EAAGtC,EAAU,EAAIsC,CAAS,EACtD,CAAE,EAAGtC,EAAU,EAAIsC,EAAS,EAAGtC,EAAU,EAAIsC,CAAS,CAC9D,EACM,MACF,IAAK,QACHnC,EAAiB,KACf,CAAE,EAAGH,EAAU,EAAIsC,EAAS,EAAGtC,EAAU,EAAIsC,CAAS,EACtD,CAAE,EAAGtC,EAAU,EAAIsC,EAAS,EAAGtC,EAAU,EAAIsC,CAAS,CAC9D,EACM,KACH,CACD,OAAOnC,CACT,CACA,SAASG,GAAkB2B,EAAM,CAC/B,KAAM,CAAE,IAAAC,EAAK,MAAAE,EAAO,OAAAD,EAAQ,KAAAE,CAAI,EAAKJ,EACrC,MAAO,CACL,CAAE,EAAGI,EAAM,EAAGH,CAAK,EACnB,CAAE,EAAGE,EAAO,EAAGF,CAAK,EACpB,CAAE,EAAGE,EAAO,EAAGD,CAAQ,EACvB,CAAE,EAAGE,EAAM,EAAGF,CAAQ,CAC1B,CACA,CACA,SAASnB,GAAiBgB,EAAOO,EAAS,CACxC,KAAM,CAAE,EAAAC,EAAG,EAAAC,CAAG,EAAGT,EACjB,IAAIU,EAAS,GACb,QAAS,EAAI,EAAGC,EAAIJ,EAAQ,OAAS,EAAG,EAAIA,EAAQ,OAAQI,EAAI,IAAK,CACnE,MAAMC,EAAKL,EAAQ,CAAC,EAAE,EAChBM,EAAKN,EAAQ,CAAC,EAAE,EAChBO,EAAKP,EAAQI,CAAC,EAAE,EAChBI,EAAKR,EAAQI,CAAC,EAAE,EACJE,EAAKJ,GAAMM,EAAKN,GAAKD,GAAKM,EAAKF,IAAOH,EAAII,IAAOE,EAAKF,GAAMD,IAC/DF,EAAS,CAACA,EAC1B,CACD,OAAOA,CACT,CACA,SAASlC,GAAQwC,EAAQ,CACvB,MAAMC,EAAYD,EAAO,QACzB,OAAAC,EAAU,KAAK,CAACC,EAAGC,IACbD,EAAE,EAAIC,EAAE,EAAU,GACbD,EAAE,EAAIC,EAAE,EAAU,EAClBD,EAAE,EAAIC,EAAE,EAAU,GAClBD,EAAE,EAAIC,EAAE,EAAU,EACf,CACb,EACMC,GAAiBH,CAAS,CACnC,CACA,SAASG,GAAiBJ,EAAQ,CAChC,GAAIA,EAAO,QAAU,EAAG,OAAOA,EAAO,MAAK,EAC3C,MAAMK,EAAY,CAAA,EAClB,QAASC,EAAI,EAAGA,EAAIN,EAAO,OAAQM,IAAK,CACtC,MAAMC,EAAIP,EAAOM,CAAC,EAClB,KAAOD,EAAU,QAAU,GAAG,CAC5B,MAAMG,EAAIH,EAAUA,EAAU,OAAS,CAAC,EAClCI,EAAIJ,EAAUA,EAAU,OAAS,CAAC,EACxC,IAAKG,EAAE,EAAIC,EAAE,IAAMF,EAAE,EAAIE,EAAE,KAAOD,EAAE,EAAIC,EAAE,IAAMF,EAAE,EAAIE,EAAE,GAAIJ,EAAU,UACjE,MACN,CACDA,EAAU,KAAKE,CAAC,CACjB,CACDF,EAAU,IAAG,EACb,MAAMK,EAAY,CAAA,EAClB,QAASJ,EAAIN,EAAO,OAAS,EAAGM,GAAK,EAAGA,IAAK,CAC3C,MAAMC,EAAIP,EAAOM,CAAC,EAClB,KAAOI,EAAU,QAAU,GAAG,CAC5B,MAAMF,EAAIE,EAAUA,EAAU,OAAS,CAAC,EAClCD,EAAIC,EAAUA,EAAU,OAAS,CAAC,EACxC,IAAKF,EAAE,EAAIC,EAAE,IAAMF,EAAE,EAAIE,EAAE,KAAOD,EAAE,EAAIC,EAAE,IAAMF,EAAE,EAAIE,EAAE,GAAIC,EAAU,UACjE,MACN,CACDA,EAAU,KAAKH,CAAC,CACjB,CAED,OADAG,EAAU,IAAG,EACTL,EAAU,SAAW,GAAKK,EAAU,SAAW,GAAKL,EAAU,CAAC,EAAE,IAAMK,EAAU,CAAC,EAAE,GAAKL,EAAU,CAAC,EAAE,IAAMK,EAAU,CAAC,EAAE,EACpHL,EAEAA,EAAU,OAAOK,CAAS,CAErC,CACA,IAAIC,GAAWhJ,EACXiJ,GAAQ5H,EACR6H,GAAUpG,EACVqG,GAASnF,EACToF,EAAW9E,ECrdf,MAAMtE,GAAkBqJ,GAElBhI,GAAUiI,GAEVxG,GAAiByG,GAEjBjF,GAAiBvB,EAAAA,WAGrB,CAAC,CAAE,UAAAyG,EAAW,WAAAC,EAAa,EAAG,GAAGxJ,GAASkD,IACzCpC,EAAAA,IAAA2I,GAAA,CACC,SAAA3I,EAAA,IAAC4I,EAAA,CACC,IAAAxG,EACA,WAAAsG,EACA,UAAWG,GAAG,oBAAqBJ,CAAS,EAC3C,GAAGvJ,CAAA,CACN,CAAA,CACF,CACD,EACDqE,GAAe,YAAcqF,EAAyB","x_google_ignoreList":[0]}