{
  "version": 3,
  "sources": ["../../src/modules/address-history/components/AddressHistory/AddressHistory.tsx", "../../src/modules/address-history/hooks/ActiveBoundWitness/use.ts", "../../src/modules/address-history/contexts/ActiveBoundWitness/Context.ts", "../../src/modules/address-history/contexts/HashSelectionHistory/Context.ts", "../../src/modules/address-history/contexts/NestedBoundWitnesses/index.ts", "../../src/modules/address-history/hooks/HashSelectionHistory/use.ts", "../../src/modules/address-history/hooks/NestedBoundWitnesses/index.ts", "../../src/modules/address-history/hooks/useAddressHistory.tsx", "../../src/modules/address-history/hooks/useOrderHistory.tsx", "../../src/modules/address-history/components/AddressHistoryArchivist/AddressHistoryArchivist.tsx", "../../src/modules/address-history/components/BoundWitnessesBox/ActiveBoundWitness/ActiveBWFlexBox.tsx", "../../src/modules/address-history/components/BoundWitnessesBox/ActiveBoundWitness/NoBlockSelectedBox.tsx", "../../src/modules/address-history/components/BoundWitnessesBox/BoundWitnessBoxWithAddressRouter.tsx", "../../src/modules/address-history/components/BoundWitnessesBox/BoundWitnessesBox.tsx", "../../src/modules/address-history/components/BoundWitnessesBox/Errors/ErrorAlert.tsx", "../../src/modules/address-history/components/BoundWitnessesBox/hooks/useBoundWitnessClickHandler.tsx", "../../src/modules/address-history/components/BoundWitnessesBox/NestedBoundWitnesses/NestedBoundWitnessesBox.tsx", "../../src/modules/address-history/components/BoundWitnessesBox/layout/GlowingDiv.tsx", "../../src/modules/address-history/components/BoundWitnessesBox/layout/StyledGlowingDiv.tsx", "../../src/modules/address-history/components/layout/Column.tsx", "../../src/modules/address-history/components/layout/ColumnHeading.tsx", "../../src/modules/address-history/components/layout/Container.tsx", "../../src/modules/address-history/components/layout/QuickTips.tsx", "../../src/modules/address-history/providers/ActiveBoundWitness/Provider.tsx", "../../src/modules/address-history/providers/HashSelectionHistory/Provider.tsx", "../../src/modules/address-history/providers/NestedBoundWitnesses/index.tsx"],
  "sourcesContent": ["import type { Hash } from '@ariestools/sdk'\nimport { usePromise } from '@ariestools/sdk-react/promise'\nimport type { ListProps } from '@mui/material'\nimport {\n  Divider, List, Skeleton, styled, useTheme,\n} from '@mui/material'\nimport type { BoundWitness } from '@xyo-network/sdk'\nimport React, { Fragment } from 'react'\n\nimport { BoundWitnessRendererCard } from '#boundwitness-plugin'\nimport { useEvent } from '#event'\nimport { usePayloadHashes, useShareForwardedRef } from '#shared'\n\nimport { orderedHistory, useActiveBoundWitness } from '../../hooks/index.ts'\n\nconst AddressChainList = styled(List, { name: 'AddressChainList' })(() => ({\n  overflow: 'scroll',\n  padding: 0,\n}))\n\n/** Props for {@link AddressHistory}. */\nexport interface AddressHistoryProps extends ListProps {\n  addressHistory?: BoundWitness[]\n  selectable?: boolean\n  skeleton?: boolean\n}\n\n/** Scrollable list of bound witnesses for an address, with optional selection and skeletons. */\nconst AddressHistory = ({\n  ref, addressHistory, selectable, skeleton = true, ...props\n}: AddressHistoryProps & { ref?: React.RefObject<HTMLUListElement | null> }) => {\n  const theme = useTheme()\n  const { setActiveBoundWitnessHash, activeBoundWitnessHash } = useActiveBoundWitness(!!selectable)\n  const sharedRef = useShareForwardedRef<HTMLUListElement>(ref)\n  const [ulRef, dispatch] = useEvent<HTMLUListElement>(undefined, sharedRef)\n  const [orderedAddressHistory] = usePromise(() => orderedHistory(addressHistory), [addressHistory])\n\n  const orderedAddressHistoryPairs = usePayloadHashes(orderedAddressHistory)\n\n  const handleClick = (hash: Hash) => {\n    setActiveBoundWitnessHash?.(hash)\n    dispatch('boundwitness', 'click', hash)\n  }\n\n  return (\n    <AddressChainList ref={ulRef} {...props}>\n      {orderedAddressHistoryPairs\n        ? orderedAddressHistoryPairs.map(([bw, bwHash], index) => (\n            <Fragment key={bw._sequence}>\n              {index === 0\n                ? null\n                : (\n                    <Divider\n                      flexItem\n                      orientation=\"vertical\"\n                      sx={{\n                        height: theme.spacing(4), my: 1, width: '50%',\n                      }}\n                    />\n                  )}\n              <BoundWitnessRendererCard\n                payload={bw}\n                onClick={() => handleClick(bwHash)}\n                sx={{ cursor: selectable ? 'pointer' : 'default' }}\n                active={activeBoundWitnessHash ? bwHash === activeBoundWitnessHash : false}\n              />\n            </Fragment>\n          ))\n        : (\n            <>\n              {skeleton\n                ? <Skeleton variant=\"rounded\" width=\"100%\" sx={{ p: 2 }} />\n                : null}\n            </>\n          )}\n    </AddressChainList>\n  )\n}\n\nAddressHistory.displayName = 'AddressHistory'\nexport { AddressHistory }\n", "import { useContextEx } from '@ariestools/sdk-react/shared'\n\nimport { ActiveBoundWitnessContext } from '../../contexts/index.ts'\n\n/** Returns the active bound witness context, optionally requiring a provider. */\nexport const useActiveBoundWitness = (required?: boolean) => useContextEx(ActiveBoundWitnessContext, 'ActiveBoundWitness', required)\n", "import { createContextEx } from '@ariestools/sdk-react/shared'\n\nimport type { ActiveBoundWitnessState } from './State.ts'\n\n/** React context holding the currently active bound witness and its hash. */\nexport const ActiveBoundWitnessContext = createContextEx<ActiveBoundWitnessState>()\n", "import { createContextEx } from '@ariestools/sdk-react/shared'\n\nimport type { HashSelectionHistoryState } from './State.ts'\n\n/** React context holding nested bound witness hash selection history. */\nexport const HashSelectionHistoryContext = createContextEx<HashSelectionHistoryState>()\n", "import type { ContextExState } from '@ariestools/sdk-react/shared'\nimport { createContextEx } from '@ariestools/sdk-react/shared'\nimport type { Dispatch, SetStateAction } from 'react'\n\n/** Context state for nested bound witness loading and re-click highlight feedback. */\nexport type NestedBoundWitnessesState = ContextExState<{\n  clickedExistingHash?: string\n  loading?: boolean\n  setClickedExistingHash?: Dispatch<SetStateAction<string | undefined>>\n  setLoading?: Dispatch<SetStateAction<boolean>>\n}>\n\n/** React context for nested bound witness loading and click highlight state. */\nexport const NestedBoundWitnessesContext = createContextEx<NestedBoundWitnessesState>()\n", "import { useContextEx } from '@ariestools/sdk-react/shared'\n\nimport { HashSelectionHistoryContext } from '../../contexts/index.ts'\n\n/** Returns hash selection history context state for nested bound witnesses. */\nexport const usePayloadHashSelectionHistory = (required = true) => useContextEx(HashSelectionHistoryContext, 'HashSelectionHistory', required)\n", "import { useContextEx } from '@ariestools/sdk-react/shared'\n\nimport { NestedBoundWitnessesContext } from '../../contexts/index.ts'\n\n/** Returns nested bound witness UI state, optionally requiring a provider. */\nexport const useNestedBoundWitnesses = (required = false) => useContextEx(NestedBoundWitnessesContext, 'NestedBoundWitnesses', required)\n", "import type { Address } from '@ariestools/sdk'\nimport { useAsyncEffect } from '@ariestools/sdk-react/async-effect'\nimport { AddressHistoryQuerySchema } from '@xyo-network/diviner-address-history-model'\nimport { TYPES } from '@xyo-network/node-core-types'\nimport type { BoundWitness, WithSources } from '@xyo-network/sdk'\nimport { PayloadBuilder } from '@xyo-network/sdk'\nimport { useState } from 'react'\n\nimport { useWeakDivinerFromNode } from '#diviner'\n\n/** Divines address history for an address and returns blocks, error, and a refresh function. */\nexport const useAddressHistory = (address?: Address): [BoundWitness[] | undefined, Error | undefined, () => void] => {\n  const [diviner, divinerError] = useWeakDivinerFromNode(TYPES.AddressHistoryDiviner)\n  const [refresh, setRefresh] = useState(1)\n  const [blocks, setBlocks] = useState<BoundWitness[]>()\n  const [error, setError] = useState<Error>()\n  const refreshHistory = () => setRefresh(previous => previous + 1)\n\n  useAsyncEffect(\n\n    async (mounted) => {\n      if (divinerError) {\n        setBlocks(undefined)\n        setError(divinerError)\n      } else {\n        const instance = diviner?.deref()\n        if (instance) {\n          try {\n            const query\n              = address\n                ? [new PayloadBuilder({ schema: AddressHistoryQuerySchema }).fields({ address }).build()]\n                : undefined\n            const blocks = (await instance.divine(query)) as WithSources<BoundWitness>[]\n            if (mounted()) {\n              setBlocks(blocks)\n              setError(undefined)\n            }\n          } catch (ex) {\n            if (mounted()) {\n              setError(ex as Error)\n              setBlocks(undefined)\n            }\n          }\n        } else {\n          setBlocks(undefined)\n          setError(undefined)\n        }\n      }\n    },\n    [address, refresh, diviner, divinerError],\n  )\n\n  return [blocks!, error, refreshHistory]\n}\n", "import type { BoundWitness, WithStorageMeta } from '@xyo-network/sdk'\nimport { PayloadBuilder } from '@xyo-network/sdk'\n\n// If a boundwitness hash is not found in any other previous_hashes in the history,\n// it is not yet a parent and therefore the head\nconst getHead = async (addressHistory: BoundWitness[]): Promise<BoundWitness | undefined> => {\n  const addressHistoryPairs = await PayloadBuilder.dataHashPairs(addressHistory)\n  return addressHistoryPairs?.find(([_, bwHash]) => {\n    const isChild = addressHistory.some(nestedBW => nestedBW.previous_hashes.includes(bwHash))\n    return !isChild\n  })?.[0]\n}\n\n// find the index in addressHistory of the parent by comparing possible parent hashes\n// to the current child's previous_hashes[0]\nconst findParent = (hashes: string[], addressHistory: BoundWitness[], currentChild?: BoundWitness) => {\n  const nextParentIndex = hashes?.indexOf(currentChild?.previous_hashes[0] || '')\n  return addressHistory[nextParentIndex]\n}\n\n/** Orders address history by previous_hashes chain ascending or descending (no orphaned records). */\nexport const orderedHistory = async (addressHistory?: BoundWitness[], order: 'asc' | 'desc' = 'asc'): Promise<WithStorageMeta<BoundWitness>[] | undefined> => {\n  if (addressHistory?.length) {\n    const stack: BoundWitness[] = []\n    const youngestBW = await getHead(addressHistory)\n    const hashes = await PayloadBuilder.dataHashes(addressHistory)\n    if (youngestBW && hashes) {\n      // stack starts with you youngest bw and works back up from its previous_hashes[0]\n      stack.unshift(youngestBW)\n      let currentChild = youngestBW\n      let noParent = false\n      // once currentChild has a previous hash of null, there are no more parents\n      while (!noParent) {\n        // Note: Potential optimization to remove already placed items in the stack from address history\n        // and pass the remaining items to findParent\n        const parent = findParent(hashes, addressHistory, currentChild)\n        if (parent) {\n          currentChild = parent\n          stack.push(parent)\n        } else {\n          noParent = true\n        }\n      }\n\n      const orderedStack = order === 'desc' ? stack.toReversed() : stack\n\n      return addressHistory?.length ? PayloadBuilder.addStorageMeta(orderedStack) : undefined\n    }\n  }\n  return []\n}\n", "import type { Address } from '@ariestools/sdk'\nimport { ErrorRender } from '@ariestools/sdk-react/error'\nimport type { PropsWithChildren } from 'react'\nimport React from 'react'\n\nimport { LoadResult } from '#shared'\n\nimport { useAddressHistory } from '../../hooks/index.ts'\n\n/** Props for {@link AddressHistoryArchivist}. */\nexport interface AddressHistoryArchivistProps extends PropsWithChildren {\n  address?: Address\n  required?: boolean\n}\n\n/** @deprecated rely on outside storage archivist \u2014 loads address history and gates children on the result. */\nexport const AddressHistoryArchivist: React.FC<AddressHistoryArchivistProps> = ({ address, children }) => {\n  const [addressHistory, error] = useAddressHistory(address)\n\n  return (\n    <ErrorRender error={error}>\n      <LoadResult notFound={addressHistory === null} searchResult={addressHistory} apiError={error}>\n        {children}\n      </LoadResult>\n    </ErrorRender>\n  )\n}\n", "import type { FlexBoxProps } from '@ariestools/sdk-react/flexbox'\nimport { FlexGrowCol } from '@ariestools/sdk-react/flexbox'\nimport React from 'react'\n\nimport { BoundWitnessDetailsCard } from '#boundwitness-plugin'\nimport type { TableHeightState } from '#table'\n\nimport { useActiveBoundWitness } from '../../../hooks/index.ts'\nimport { NoBlockSelectedBox } from './NoBlockSelectedBox.tsx'\n\n/** Props for {@link ActiveBWFlexBox}. */\nexport interface ActiveBWFlexBoxProps extends FlexBoxProps {\n  visibleRows?: TableHeightState['visibleRows']\n}\n\n/** Displays details for the active bound witness, or a no-selection placeholder. */\nconst ActiveBWFlexBox = ({\n  ref, visibleRows, ...props\n}: ActiveBWFlexBoxProps) => {\n  const { activeBoundWitness } = useActiveBoundWitness(false)\n  return (\n    <FlexGrowCol\n      ref={ref}\n      {...props}\n      sx={[{\n        alignItems: 'stretch',\n        justifyContent: activeBoundWitness ? 'start' : 'center',\n      }, ...(Array.isArray(props.sx) ? props.sx : [props.sx])]}\n    >\n      {activeBoundWitness\n        ? <BoundWitnessDetailsCard visibleRows={visibleRows} payload={activeBoundWitness} />\n        : <NoBlockSelectedBox />}\n    </FlexGrowCol>\n  )\n}\n\nActiveBWFlexBox.displayName = 'ActiveBWFlexBox'\n\nexport { ActiveBWFlexBox }\n", "import { FlexCol } from '@ariestools/sdk-react/flexbox'\nimport { Typography } from '@mui/material'\nimport React from 'react'\n\n/** Placeholder shown when no bound witness block is selected. */\nexport const NoBlockSelectedBox: React.FC = () => (\n  <FlexCol sx={{ justifyContent: 'center' }}>\n    <Typography variant=\"h2\">No Block Selected</Typography>\n    <Typography variant=\"subtitle1\">Select a block to see details like address, signatures, and payload schemas</Typography>\n  </FlexCol>\n)\n", "import type { FlexBoxProps } from '@ariestools/sdk-react/flexbox'\nimport type { Ref } from 'react'\nimport React from 'react'\nimport { useNavigate } from 'react-router'\n\nimport { useEvent } from '#event'\nimport { useShareForwardedRef } from '#shared'\n\nimport { usePayloadHashSelectionHistory } from '../../hooks/index.ts'\nimport { BoundWitnessesBox } from './BoundWitnessesBox.tsx'\n\n/** Props for {@link BoundWitnessBoxWithAddressRouter}. */\nexport interface BoundWitnessBoxWithAddressRouterProps extends FlexBoxProps {\n  baseRoute?: string\n  ref?: Ref<HTMLDivElement>\n}\n\n/** Bound witness panel that navigates to an address route when an address event is emitted. */\nexport const BoundWitnessBoxWithAddressRouter = ({\n  ref, baseRoute = '/address/', ...props\n}: BoundWitnessBoxWithAddressRouterProps) => {\n  const navigate = useNavigate()\n  const { clearHistory } = usePayloadHashSelectionHistory()\n\n  const sharedRef = useShareForwardedRef<HTMLDivElement>(ref)\n\n  const [listenerRef] = useEvent<HTMLDivElement>((noun, _verb, data) => {\n    if (noun === 'address' && data) {\n      clearHistory?.()\n      void navigate(`${baseRoute}/${data}`)\n    }\n  }, sharedRef)\n\n  return <BoundWitnessesBox ref={listenerRef} {...props} />\n}\n\nBoundWitnessBoxWithAddressRouter.displayName = 'BoundWitnessBoxWithAddressRouter'\n", "import type { Hash } from '@ariestools/sdk'\nimport { ThrownErrorBoundary, useErrorReporter } from '@ariestools/sdk-react/error'\nimport type { FlexBoxProps } from '@ariestools/sdk-react/flexbox'\nimport { FlexGrowCol } from '@ariestools/sdk-react/flexbox'\nimport { LinearProgress, Slide } from '@mui/material'\nimport React from 'react'\n\nimport type { EventNoun, EventVerb } from '#event'\nimport { useEvent } from '#event'\n\nimport { useActiveBoundWitness, useNestedBoundWitnesses } from '../../hooks/index.ts'\nimport { ActiveBWFlexBox } from './ActiveBoundWitness/index.ts'\nimport { BWErrorAlert } from './Errors/index.ts'\nimport { useBoundWitnessClickHandler } from './hooks/index.ts'\nimport { NestedBoundWitnessesBox } from './NestedBoundWitnesses/index.ts'\n\n/** Panel that shows nested and active bound witness details with loading and error state. */\nexport const BoundWitnessesBox = ({ ref, ...props }: FlexBoxProps) => {\n  const { activeBoundWitness, activeBoundWitnessHash } = useActiveBoundWitness(false)\n  const { boundwitnessClick } = useBoundWitnessClickHandler()\n  const { rollbar } = useErrorReporter()\n  const { loading } = useNestedBoundWitnesses(false)\n\n  const [activeBWref] = useEvent<HTMLDivElement, EventNoun, EventVerb, Hash>((noun, _verb, data) =>\n    boundwitnessClick(noun, data, 'activeBoundWitness'))\n\n  return (\n    <ThrownErrorBoundary rollbar={rollbar} boundaryName=\"BoundWitness Scrolling List\">\n      <FlexGrowCol\n        ref={ref}\n        {...props}\n        sx={[{\n          alignItems: 'stretch',\n          rowGap: 3,\n          justifyContent: activeBoundWitnessHash ? 'start' : 'center',\n        }, ...(Array.isArray(props.sx) ? props.sx : [props.sx])]}\n      >\n        {loading\n          ? <LinearProgress sx={{ minHeight: '10px' }} />\n          : null}\n        <BWErrorAlert />\n        <NestedBoundWitnessesBox />\n        {activeBoundWitness ? null : <ActiveBWFlexBox />}\n        <Slide direction=\"down\" in={!!activeBoundWitness}>\n          <ActiveBWFlexBox ref={activeBWref} />\n        </Slide>\n      </FlexGrowCol>\n    </ThrownErrorBoundary>\n  )\n}\n\nBoundWitnessesBox.displayName = 'BoundWitnessesBox'\n", "import { ErrorAlert } from '@ariestools/sdk-react/error'\nimport React from 'react'\n\nimport { usePayloadHashSelectionHistory } from '../../../hooks/index.ts'\n\n/** Displays a hash selection history error, if any, as an alert. */\nexport const BWErrorAlert: React.FC = () => {\n  const { error } = usePayloadHashSelectionHistory()\n  return error ? <ErrorAlert error={error} scope=\"HashSelectionContext Error\" /> : null\n}\n", "import type { Hash } from '@ariestools/sdk'\nimport { useMounted } from '@ariestools/sdk-react/shared'\nimport { useCallback } from 'react'\n\nimport type { EventNoun } from '#event'\n\nimport { useNestedBoundWitnesses, usePayloadHashSelectionHistory } from '../../../hooks/index.ts'\nimport type { BoundwitnessClickType } from '../lib/index.ts'\n\n/** Returns a click handler that loads bound witnesses into hash selection history. */\nexport const useBoundWitnessClickHandler = () => {\n  const mounted = useMounted()\n  const {\n    hashSelectionHistory, fetchFromHash, addSelection, clearHistory,\n  } = usePayloadHashSelectionHistory(false)\n  const { setClickedExistingHash, setLoading } = useNestedBoundWitnesses(false)\n  const boundwitnessClick = useCallback(\n    (noun: EventNoun, data?: Hash, clickType?: BoundwitnessClickType) => {\n      // eslint-disable-next-line complexity\n      void (async () => {\n        if (noun === 'boundwitness' && data) {\n          if (clickType === 'activeBoundWitness' && !hashSelectionHistory?.includes(data)) {\n            clearHistory?.()\n          }\n          if (hashSelectionHistory?.includes(data)) {\n            setClickedExistingHash?.(data)\n          } else {\n            setClickedExistingHash?.(undefined)\n          }\n          setLoading?.(true)\n          try {\n            const bw = await fetchFromHash?.(data)\n            if (bw) {\n              await addSelection?.(bw)\n              if (mounted()) {\n                setLoading?.(false)\n              }\n              return true\n            }\n          } catch (e) {\n            setLoading?.(false)\n            console.error(e)\n          }\n        }\n      })()\n    },\n    [addSelection, clearHistory, fetchFromHash, hashSelectionHistory, mounted, setClickedExistingHash, setLoading],\n  )\n\n  return { boundwitnessClick }\n}\n", "import type { Hash } from '@ariestools/sdk'\nimport type { FlexBoxProps } from '@ariestools/sdk-react/flexbox'\nimport { FlexCol } from '@ariestools/sdk-react/flexbox'\nimport { Slide } from '@mui/material'\nimport React, { Fragment } from 'react'\n\nimport { BoundWitnessDetailsCard } from '#boundwitness-plugin'\nimport type { EventNoun, EventVerb } from '#event'\nimport { useEvent } from '#event'\n\nimport { usePayloadHashSelectionHistory } from '../../../hooks/index.ts'\nimport { useBoundWitnessClickHandler } from '../hooks/index.ts'\nimport { GlowingDiv } from '../layout/index.ts'\n\n/** Props for {@link NestedBoundWitnessesBox}. */\nexport type NestedBoundWitnessesProps = FlexBoxProps\n\nconst isEmpty = (obj?: object) => Object.keys(obj ?? {}).length === 0\n\n/** Renders nested bound witness cards from hash selection history with glow feedback. */\nexport const NestedBoundWitnessesBox: React.FC<NestedBoundWitnessesProps> = (props) => {\n  const { nestedBoundWitnesses, hashSelectionHistory } = usePayloadHashSelectionHistory(false)\n  const { boundwitnessClick } = useBoundWitnessClickHandler()\n  const [nestedBWRef] = useEvent<HTMLDivElement, EventNoun, EventVerb, Hash>((noun, _verb, data) =>\n    boundwitnessClick(noun, data, 'nestedBoundWitnesses'))\n\n  return isEmpty(nestedBoundWitnesses)\n    ? null\n    : (\n        <FlexCol\n          ref={nestedBWRef}\n          {...props}\n          sx={[{\n            alignItems: 'stretch',\n            rowGap: 3,\n          }, ...(Array.isArray(props.sx) ? props.sx : [props.sx])]}\n        >\n          {hashSelectionHistory?.map((hash, index) => (\n            <Fragment key={hash}>\n              <Slide direction=\"down\" in={!!nestedBoundWitnesses?.[hash]}>\n                <GlowingDiv hash={hash}>\n                  <BoundWitnessDetailsCard payload={nestedBoundWitnesses?.[hash]} active={index !== 0} />\n                </GlowingDiv>\n              </Slide>\n            </Fragment>\n          ))}\n        </FlexCol>\n      )\n}\n", "import type {\n  DetailedHTMLProps, HTMLAttributes, PropsWithChildren,\n} from 'react'\nimport React, {\n  useEffect, useLayoutEffect, useRef,\n} from 'react'\n\nimport { useNestedBoundWitnesses } from '../../../hooks/index.ts'\nimport { StyledGlowingDiv } from './StyledGlowingDiv.tsx'\n\n/** Props for {@link GlowingDiv}. */\nexport interface GlowingDivProps extends DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, PropsWithChildren {\n  hash?: string\n}\n\n/** Div that briefly glows when its hash matches a re-clicked nested bound witness. */\nexport const GlowingDiv = ({\n  ref, hash, children, ...props\n}: GlowingDivProps) => {\n  const { clickedExistingHash, setClickedExistingHash } = useNestedBoundWitnesses()\n  const internalRef = useRef<HTMLDivElement | null>(null)\n\n  useLayoutEffect(() => {\n    // update the parent ref with the internal parent\n    if (typeof ref === 'function') {\n      ref(internalRef.current)\n    }\n  })\n\n  useEffect(() => {\n    if (internalRef?.current && hash) {\n      if (clickedExistingHash === hash) {\n        // update classes when we have a match\n        internalRef.current.classList.remove('no-glow')\n        internalRef.current.classList.add('glow-2')\n        const timeout = setTimeout(() => {\n          // once animation is complete, remove classes and reset existing hash\n          internalRef?.current?.classList.add('no-glow')\n          internalRef?.current?.classList.remove('glow-2')\n          setClickedExistingHash?.(undefined)\n        }, 1000)\n        return () => clearTimeout(timeout)\n      } else if (clickedExistingHash !== undefined) {\n        // not a match so don't animate\n        internalRef.current.classList.add('no-glow')\n      }\n    }\n  }, [clickedExistingHash, ref, hash, setClickedExistingHash])\n\n  return (\n    <StyledGlowingDiv {...props} ref={internalRef}>\n      {children}\n    </StyledGlowingDiv>\n  )\n}\n\nGlowingDiv.displayName = 'GlowingDiv'\n", "import type { StyledComponent } from '@emotion/styled'\nimport type { Theme } from '@mui/material'\nimport { styled } from '@mui/material'\nimport type { MUIStyledCommonProps } from '@mui/system'\nimport type { DetailedHTMLProps, HTMLAttributes } from 'react'\n\n/**\n * Styled div with glow keyframe animations for nested bound witness feedback.\n * Explicit type annotation keeps the emitted declaration portable (TS2883).\n */\nexport const StyledGlowingDiv: StyledComponent<\n  MUIStyledCommonProps<Theme>,\n  DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>\n> = styled('div', { name: 'StyledGlowingDiv' })(({ theme }) => {\n  const glowAnimationSteps = {\n    '0%': { boxShadow: `0 0 10px -10px ${theme.vars.palette.secondary.light}` },\n    '100%': { boxShadow: `0 0 10px -10px ${theme.vars.palette.secondary.light}` },\n    '50%': { boxShadow: `0 0 10px 10px ${theme.vars.palette.secondary.light}` },\n  }\n  const glowAnimationProps = {\n    animationDuration: '1s',\n    animationTimingFunction: 'ease-in-out',\n    borderRadius: theme.shape.borderRadius,\n  }\n  return {\n    'animationName': 'glow-1',\n    ...glowAnimationProps,\n    '&.glow-2': {\n      ...glowAnimationProps,\n      animationName: 'glow-2',\n    },\n    // prevent the default animation by setting animationName to one that does not exist\n    '&.no-glow': { animationName: 'none' },\n    '@keyframes glow-1': { ...glowAnimationSteps },\n    '@keyframes glow-2': { ...glowAnimationSteps },\n  }\n})\n", "import type { FlexBoxProps } from '@ariestools/sdk-react/flexbox'\nimport { FlexCol } from '@ariestools/sdk-react/flexbox'\nimport type { GridProps } from '@mui/material'\nimport { Grid, styled } from '@mui/material'\nimport type { PropsWithChildren, ReactNode } from 'react'\nimport React from 'react'\n\n/** Props for {@link ScrollableGridColumn}. */\nexport interface AddressHistoryColumnProps extends GridProps, PropsWithChildren {\n  heading?: ReactNode\n  scrollableProps?: FlexBoxProps\n}\n\nconst GridColumn = styled(Grid, { name: 'GridColumn' })(() => ({\n  display: 'flex',\n  flexDirection: 'column',\n  position: 'relative',\n}))\n\nconst Scrollable = styled(FlexCol, { name: 'Scrollable' })(({ theme }) => ({\n  alignItems: 'stretch',\n  inset: 0,\n  justifyContent: 'start',\n  overflow: 'scroll',\n  position: 'absolute',\n  [theme.breakpoints.down('sm')]: {\n    inset: 'unset',\n    position: 'relative',\n  },\n}))\n\n/** Grid column with an optional heading and absolutely positioned scrollable body. */\nconst ScrollableGridColumn = ({\n  ref, children, heading, scrollableProps, ...props\n}: AddressHistoryColumnProps) => {\n  return (\n    <GridColumn ref={ref} {...props}>\n      {heading}\n      <FlexCol\n        sx={{\n          height: '100%',\n          width: '100%',\n        }}\n      >\n        <Scrollable {...scrollableProps}>{children}</Scrollable>\n      </FlexCol>\n    </GridColumn>\n  )\n}\n\nScrollableGridColumn.displayName = 'ScrollableGridColumn'\n\nexport { ScrollableGridColumn }\n", "import { styled } from '@mui/material'\nimport type { PropsWithChildren } from 'react'\nimport React from 'react'\n\nimport type { TypographyExProps } from '#shared'\nimport { TypographyEx } from '#shared'\n\n/** Uppercase column heading typography for address history layouts. */\nexport const ColumnHeadingTypography: React.FC<PropsWithChildren<TypographyExProps>> = ({ children, ...props }) => {\n  return <StyledColumnHeadingTypography {...props}>{children}</StyledColumnHeadingTypography>\n}\n\nconst StyledColumnHeadingTypography = styled(TypographyEx, { name: 'styledColumnHeadingTypography' })(({ theme }) => ({\n  borderBottom: `1px solid ${theme.vars.palette.divider}`,\n  fontWeight: 200,\n  paddingBottom: theme.spacing(1),\n  textTransform: 'uppercase',\n  variant: 'h6',\n}))\n", "import type { FlexBoxProps } from '@ariestools/sdk-react/flexbox'\nimport { FlexGrowCol } from '@ariestools/sdk-react/flexbox'\nimport { Grid, styled } from '@mui/material'\nimport type { PropsWithChildren } from 'react'\nimport React from 'react'\n\nconst GridContainer = styled(Grid, { name: 'GridContainer' })(() => ({\n  flexGrow: 1,\n  height: '100%',\n  overflow: 'hidden',\n  width: '100%',\n}))\n\n/** Props for {@link WrappedContainer}. */\nexport interface WrappedContainerProps extends FlexBoxProps, PropsWithChildren {\n  spacing?: number\n}\n\n/** Flex column wrapper around a full-height MUI grid container. */\nconst WrappedContainer = ({\n  ref, children, spacing, ...props\n}: WrappedContainerProps) => (\n  <FlexGrowCol ref={ref} {...props}>\n    <GridContainer container spacing={spacing}>\n      {children}\n    </GridContainer>\n  </FlexGrowCol>\n)\n\nWrappedContainer.displayName = 'WrappedContainerWithRef'\n\nexport { WrappedContainer }\n", "import type { QuickTipButtonProps } from '@ariestools/sdk-react/quick-tip-button'\nimport { QuickTipButton } from '@ariestools/sdk-react/quick-tip-button'\nimport { styled, Typography } from '@mui/material'\nimport React from 'react'\n\n/** Props for {@link BlocksQuickTipButton}. */\nexport interface BlocksQuickTipButtonProps extends QuickTipButtonProps {\n  address?: string\n}\n\n/** Quick tip describing blockchain history for a given address. */\nexport const BlocksQuickTipButton: React.FC<BlocksQuickTipButtonProps> = ({ address, ...props }) => (\n  <StyledQuickTipButton superScriptIcon {...props}>\n    <Typography>\n      Blockchain history for the current address:\n      {' '}\n      <span style={{ fontFamily: 'monospace' }}>{address}</span>\n    </Typography>\n  </StyledQuickTipButton>\n)\n\n/** Props for {@link SelectedBlockQuickTipButton}. */\nexport interface SelectedBlockQuickTipButtonProps extends QuickTipButtonProps {\n  boundwitnessHash?: string\n}\n\n/** Quick tip describing how to browse history for a selected bound witness. */\nexport const SelectedBlockQuickTipButton: React.FC<SelectedBlockQuickTipButtonProps> = ({ boundwitnessHash, ...props }) => (\n  <StyledQuickTipButton superScriptIcon {...props}>\n    <Typography>\n      Browse the history for the selected block:\n      {' '}\n      <span style={{ fontFamily: 'monospace' }}>{boundwitnessHash}</span>\n      . Click on hashes in the Bound\n      Witness tab to load related blocks.\n    </Typography>\n  </StyledQuickTipButton>\n)\n\n/** Props for the styled quick tip button used in address history headings. */\nexport interface StyledQuickTipButtonProps extends QuickTipButtonProps {\n  superScriptIcon?: boolean\n}\n\nconst StyledQuickTipButton = styled(QuickTipButton, {\n  name: 'StyledQuickTipButton',\n  shouldForwardProp: propName => propName !== 'superScriptIcon',\n})<StyledQuickTipButtonProps>(({ superScriptIcon, theme }) => ({\n  // less than ideal but tough to get a negative value from a theme value that returns in px\n  ...(superScriptIcon && { top: -Math.abs(Number.parseInt(theme.spacing(0.75).replace('px', ''))) }),\n}))\n", "import type { Hash } from '@ariestools/sdk'\nimport { useResetState } from '@ariestools/sdk-react/hooks'\nimport type { ContextExProviderProps } from '@ariestools/sdk-react/shared'\nimport type { ArchivistInstance, BoundWitness } from '@xyo-network/sdk'\nimport React, { useMemo } from 'react'\nimport { useParams } from 'react-router'\n\nimport { useWeakArchivistFromNode, useWeakArchivistGet } from '#archivist'\n\nimport { ActiveBoundWitnessContext } from '../../contexts/index.ts'\n\n/** Props for {@link ActiveBoundWitnessProvider}. */\nexport interface ActiveBoundWitnessProviderProps extends ContextExProviderProps {\n  activeBoundWitnessHash?: Hash\n  archivist?: WeakRef<ArchivistInstance> | string\n}\n\n/** Provides the active bound witness loaded from an archivist by hash or route param. */\nexport const ActiveBoundWitnessProvider: React.FC<ActiveBoundWitnessProviderProps> = ({\n  children,\n  activeBoundWitnessHash: activeBoundWitnessHashProp,\n  archivist,\n}) => {\n  const archivistString = typeof archivist == 'string' ? archivist : undefined\n  const archivistModule = typeof archivist == 'string' ? undefined : archivist\n  const { boundwitness: boundwitnessHashFromParam } = useParams()\n  const [activeArchivist] = useWeakArchivistFromNode(archivistString)\n  const [activeBoundWitnessHash, setActiveBoundWitnessHash] = useResetState<Hash | undefined>(activeBoundWitnessHashProp ?? (boundwitnessHashFromParam as Hash))\n\n  const hashes = useMemo(() => (activeBoundWitnessHash ? [activeBoundWitnessHash] : undefined), [activeBoundWitnessHash])\n  const [payload] = useWeakArchivistGet(archivistModule ?? activeArchivist, hashes)\n  const activeBoundWitness: BoundWitness | undefined = payload?.at(0) as BoundWitness\n\n  const value = useMemo(() => ({\n    activeBoundWitness,\n    activeBoundWitnessHash,\n    provided: true as const,\n    setActiveBoundWitnessHash,\n  }), [activeBoundWitness, activeBoundWitnessHash, setActiveBoundWitnessHash])\n\n  return (\n    <ActiveBoundWitnessContext\n      value={value}\n    >\n      {children}\n    </ActiveBoundWitnessContext>\n  )\n}\n", "import type { Hash } from '@ariestools/sdk'\nimport type { ContextExProviderProps } from '@ariestools/sdk-react/shared'\nimport { useMounted } from '@ariestools/sdk-react/shared'\nimport type {\n  ArchivistInstance, BoundWitness, ModuleError, WithStorageMeta,\n} from '@xyo-network/sdk'\nimport { PayloadBuilder } from '@xyo-network/sdk'\nimport type { PropsWithChildren } from 'react'\nimport React, {\n  useCallback, useEffect, useMemo, useState,\n} from 'react'\n\nimport type { NestedBoundWitnesses } from '../../contexts/index.ts'\nimport { HashSelectionHistoryContext } from '../../contexts/index.ts'\nimport { useActiveBoundWitness } from '../../hooks/index.ts'\n\n/** Props for {@link HashSelectionHistoryProvider}. */\nexport interface HashSelectionHistoryProviderProps extends PropsWithChildren, ContextExProviderProps {\n  archivist?: ArchivistInstance | null\n  defaultHashSelectionHistory?: Hash[]\n  defaultNestedBoundWitnesses?: NestedBoundWitnesses\n}\n\n/** Provides nested bound witness selection history backed by an archivist. */\nexport const HashSelectionHistoryProvider: React.FC<HashSelectionHistoryProviderProps> = ({\n  archivist,\n  children,\n  defaultHashSelectionHistory,\n  defaultNestedBoundWitnesses,\n}) => {\n  const { activeBoundWitness } = useActiveBoundWitness(false)\n  const mounted = useMounted()\n  const [hashSelectionHistory, setHashSelectionHistory] = useState<Hash[]>(defaultHashSelectionHistory ?? [])\n  const [nestedBoundWitnesses, setNestedBoundWitnesses] = useState<NestedBoundWitnesses>(defaultNestedBoundWitnesses ?? {})\n  const [error, setError] = useState<ModuleError>()\n\n  const clearHistory = useCallback(() => {\n    // eslint-disable-next-line react-x/set-state-in-effect\n    setHashSelectionHistory([])\n    // eslint-disable-next-line react-x/set-state-in-effect\n    setNestedBoundWitnesses({})\n    return true\n  }, [setHashSelectionHistory, setNestedBoundWitnesses])\n\n  useEffect(() => {\n    if (activeBoundWitness) {\n      // eslint-disable-next-line react-hooks/set-state-in-effect\n      clearHistory()\n    }\n    // eslint-disable-next-line react-hooks/exhaustive-deps, react-x/exhaustive-deps\n  }, [activeBoundWitness])\n\n  const addSelection = useCallback(async (boundwitness?: BoundWitness | null) => {\n    if (archivist === null || boundwitness === null) {\n      return null\n    }\n\n    if (archivist === undefined || boundwitness === undefined) {\n      return\n    }\n\n    const hash = await PayloadBuilder.dataHash(boundwitness)\n    if (hashSelectionHistory.includes(hash)) {\n      return null\n    }\n    const result = (await archivist.insert([boundwitness]))?.[0]\n    if (result && mounted()) {\n      setNestedBoundWitnesses(value => ({\n        ...value,\n        [hash]: boundwitness,\n      }))\n      setHashSelectionHistory(previous => [hash, ...previous])\n      return result as WithStorageMeta<BoundWitness>\n    }\n    return null\n  }, [archivist, hashSelectionHistory, mounted])\n\n  const fetchFromHash = useCallback(async (hash?: Hash) => {\n    if (!archivist || !hash) {\n      return null\n    }\n    try {\n      const [result] = await archivist.get([hash])\n      return result as WithStorageMeta<BoundWitness>\n    } catch (e) {\n      setError(e as ModuleError)\n      return\n    }\n  }, [archivist])\n\n  const value = useMemo(() => ({\n    addSelection,\n    clearHistory,\n    error,\n    fetchFromHash,\n    hashSelectionHistory,\n    nestedBoundWitnesses,\n    provided: true as const,\n  }), [addSelection, clearHistory, error, fetchFromHash, hashSelectionHistory, nestedBoundWitnesses])\n\n  return (\n    <HashSelectionHistoryContext\n      value={value}\n    >\n      {children}\n    </HashSelectionHistoryContext>\n  )\n}\n", "import type { PropsWithChildren } from 'react'\nimport React, { useMemo, useState } from 'react'\n\nimport { NestedBoundWitnessesContext } from '../../contexts/index.ts'\n\n/** Provides nested bound witness loading and re-click highlight state. */\nexport const NestedBoundWitnessesProvider: React.FC<PropsWithChildren> = ({ children }) => {\n  const [loading, setLoading] = useState(false)\n  const [clickedExistingHash, setClickedExistingHash] = useState<string>()\n\n  const value = useMemo(() => ({\n    clickedExistingHash, loading, provided: true as const, setClickedExistingHash, setLoading,\n  }), [clickedExistingHash, loading])\n\n  return (\n    <NestedBoundWitnessesContext value={value}>\n      {children}\n    </NestedBoundWitnessesContext>\n  )\n}\n"],
  "mappings": ";AACA,SAAS,kBAAkB;AAE3B;AAAA,EACE;AAAA,EAAS;AAAA,EAAM;AAAA,EAAU;AAAA,EAAQ;AAAA,OAC5B;AAEP,SAAgB,gBAAgB;AAEhC,SAAS,gCAAgC;AACzC,SAAS,gBAAgB;AACzB,SAAS,kBAAkB,4BAA4B;;;ACXvD,SAAS,oBAAoB;;;ACA7B,SAAS,uBAAuB;AAKzB,IAAM,4BAA4B,gBAAyC;;;ACLlF,SAAS,mBAAAA,wBAAuB;AAKzB,IAAM,8BAA8BA,iBAA2C;;;ACJtF,SAAS,mBAAAC,wBAAuB;AAYzB,IAAM,8BAA8BA,iBAA2C;;;AHR/E,IAAM,wBAAwB,CAAC,aAAuB,aAAa,2BAA2B,sBAAsB,QAAQ;;;AILnI,SAAS,gBAAAC,qBAAoB;AAKtB,IAAM,iCAAiC,CAAC,WAAW,SAASC,cAAa,6BAA6B,wBAAwB,QAAQ;;;ACL7I,SAAS,gBAAAC,qBAAoB;AAKtB,IAAM,0BAA0B,CAAC,WAAW,UAAUC,cAAa,6BAA6B,wBAAwB,QAAQ;;;ACJvI,SAAS,sBAAsB;AAC/B,SAAS,iCAAiC;AAC1C,SAAS,aAAa;AAEtB,SAAS,sBAAsB;AAC/B,SAAS,gBAAgB;AAEzB,SAAS,8BAA8B;AAGhC,IAAM,oBAAoB,CAAC,YAAmF;AACnH,QAAM,CAAC,SAAS,YAAY,IAAI,uBAAuB,MAAM,qBAAqB;AAClF,QAAM,CAAC,SAAS,UAAU,IAAI,SAAS,CAAC;AACxC,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAyB;AACrD,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAgB;AAC1C,QAAM,iBAAiB,MAAM,WAAW,cAAY,WAAW,CAAC;AAEhE;AAAA,IAEE,OAAO,YAAY;AACjB,UAAI,cAAc;AAChB,kBAAU,MAAS;AACnB,iBAAS,YAAY;AAAA,MACvB,OAAO;AACL,cAAM,WAAW,SAAS,MAAM;AAChC,YAAI,UAAU;AACZ,cAAI;AACF,kBAAM,QACF,UACE,CAAC,IAAI,eAAe,EAAE,QAAQ,0BAA0B,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,IACtF;AACN,kBAAMC,UAAU,MAAM,SAAS,OAAO,KAAK;AAC3C,gBAAI,QAAQ,GAAG;AACb,wBAAUA,OAAM;AAChB,uBAAS,MAAS;AAAA,YACpB;AAAA,UACF,SAAS,IAAI;AACX,gBAAI,QAAQ,GAAG;AACb,uBAAS,EAAW;AACpB,wBAAU,MAAS;AAAA,YACrB;AAAA,UACF;AAAA,QACF,OAAO;AACL,oBAAU,MAAS;AACnB,mBAAS,MAAS;AAAA,QACpB;AAAA,MACF;AAAA,IACF;AAAA,IACA,CAAC,SAAS,SAAS,SAAS,YAAY;AAAA,EAC1C;AAEA,SAAO,CAAC,QAAS,OAAO,cAAc;AACxC;;;ACpDA,SAAS,kBAAAC,uBAAsB;AAI/B,IAAM,UAAU,OAAO,mBAAsE;AAC3F,QAAM,sBAAsB,MAAMA,gBAAe,cAAc,cAAc;AAC7E,SAAO,qBAAqB,KAAK,CAAC,CAAC,GAAG,MAAM,MAAM;AAChD,UAAM,UAAU,eAAe,KAAK,cAAY,SAAS,gBAAgB,SAAS,MAAM,CAAC;AACzF,WAAO,CAAC;AAAA,EACV,CAAC,IAAI,CAAC;AACR;AAIA,IAAM,aAAa,CAAC,QAAkB,gBAAgC,iBAAgC;AACpG,QAAM,kBAAkB,QAAQ,QAAQ,cAAc,gBAAgB,CAAC,KAAK,EAAE;AAC9E,SAAO,eAAe,eAAe;AACvC;AAGO,IAAM,iBAAiB,OAAO,gBAAiC,QAAwB,UAAgE;AAC5J,MAAI,gBAAgB,QAAQ;AAC1B,UAAM,QAAwB,CAAC;AAC/B,UAAM,aAAa,MAAM,QAAQ,cAAc;AAC/C,UAAM,SAAS,MAAMA,gBAAe,WAAW,cAAc;AAC7D,QAAI,cAAc,QAAQ;AAExB,YAAM,QAAQ,UAAU;AACxB,UAAI,eAAe;AACnB,UAAI,WAAW;AAEf,aAAO,CAAC,UAAU;AAGhB,cAAM,SAAS,WAAW,QAAQ,gBAAgB,YAAY;AAC9D,YAAI,QAAQ;AACV,yBAAe;AACf,gBAAM,KAAK,MAAM;AAAA,QACnB,OAAO;AACL,qBAAW;AAAA,QACb;AAAA,MACF;AAEA,YAAM,eAAe,UAAU,SAAS,MAAM,WAAW,IAAI;AAE7D,aAAO,gBAAgB,SAASA,gBAAe,eAAe,YAAY,IAAI;AAAA,IAChF;AAAA,EACF;AACA,SAAO,CAAC;AACV;;;ARFY,SAqBA,YAAAC,WAjBQ,KAJR;AAjCZ,IAAM,mBAAmB,OAAO,MAAM,EAAE,MAAM,mBAAmB,CAAC,EAAE,OAAO;AAAA,EACzE,UAAU;AAAA,EACV,SAAS;AACX,EAAE;AAUF,IAAM,iBAAiB,CAAC;AAAA,EACtB;AAAA,EAAK;AAAA,EAAgB;AAAA,EAAY,WAAW;AAAA,EAAM,GAAG;AACvD,MAAgF;AAC9E,QAAM,QAAQ,SAAS;AACvB,QAAM,EAAE,2BAA2B,uBAAuB,IAAI,sBAAsB,CAAC,CAAC,UAAU;AAChG,QAAM,YAAY,qBAAuC,GAAG;AAC5D,QAAM,CAAC,OAAO,QAAQ,IAAI,SAA2B,QAAW,SAAS;AACzE,QAAM,CAAC,qBAAqB,IAAI,WAAW,MAAM,eAAe,cAAc,GAAG,CAAC,cAAc,CAAC;AAEjG,QAAM,6BAA6B,iBAAiB,qBAAqB;AAEzE,QAAM,cAAc,CAAC,SAAe;AAClC,gCAA4B,IAAI;AAChC,aAAS,gBAAgB,SAAS,IAAI;AAAA,EACxC;AAEA,SACE,oBAAC,oBAAiB,KAAK,OAAQ,GAAG,OAC/B,uCACG,2BAA2B,IAAI,CAAC,CAAC,IAAI,MAAM,GAAG,UAC5C,qBAAC,YACE;AAAA,cAAU,IACP,OAEE;AAAA,MAAC;AAAA;AAAA,QACC,UAAQ;AAAA,QACR,aAAY;AAAA,QACZ,IAAI;AAAA,UACF,QAAQ,MAAM,QAAQ,CAAC;AAAA,UAAG,IAAI;AAAA,UAAG,OAAO;AAAA,QAC1C;AAAA;AAAA,IACF;AAAA,IAEN;AAAA,MAAC;AAAA;AAAA,QACC,SAAS;AAAA,QACT,SAAS,MAAM,YAAY,MAAM;AAAA,QACjC,IAAI,EAAE,QAAQ,aAAa,YAAY,UAAU;AAAA,QACjD,QAAQ,yBAAyB,WAAW,yBAAyB;AAAA;AAAA,IACvE;AAAA,OAjBa,GAAG,SAkBlB,CACD,IAEC,oBAAAA,WAAA,EACG,qBACG,oBAAC,YAAS,SAAQ,WAAU,OAAM,QAAO,IAAI,EAAE,GAAG,EAAE,GAAG,IACvD,MACN,GAER;AAEJ;AAEA,eAAe,cAAc;;;AS9E7B,SAAS,mBAAmB;AAI5B,SAAS,kBAAkB;AAgBrB,gBAAAC,YAAA;AALC,IAAM,0BAAkE,CAAC,EAAE,SAAS,SAAS,MAAM;AACxG,QAAM,CAAC,gBAAgB,KAAK,IAAI,kBAAkB,OAAO;AAEzD,SACE,gBAAAA,KAAC,eAAY,OACX,0BAAAA,KAAC,cAAW,UAAU,mBAAmB,MAAM,cAAc,gBAAgB,UAAU,OACpF,UACH,GACF;AAEJ;;;ACzBA,SAAS,mBAAmB;AAG5B,SAAS,+BAA+B;;;ACJxC,SAAS,eAAe;AACxB,SAAS,kBAAkB;AAKzB,SACE,OAAAC,MADF,QAAAC,aAAA;AADK,IAAM,qBAA+B,MAC1C,gBAAAA,MAAC,WAAQ,IAAI,EAAE,gBAAgB,SAAS,GACtC;AAAA,kBAAAD,KAAC,cAAW,SAAQ,MAAK,+BAAiB;AAAA,EAC1C,gBAAAA,KAAC,cAAW,SAAQ,aAAY,yFAA2E;AAAA,GAC7G;;;ADqBQ,gBAAAE,YAAA;AAdV,IAAM,kBAAkB,CAAC;AAAA,EACvB;AAAA,EAAK;AAAA,EAAa,GAAG;AACvB,MAA4B;AAC1B,QAAM,EAAE,mBAAmB,IAAI,sBAAsB,KAAK;AAC1D,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACC,GAAG;AAAA,MACJ,IAAI,CAAC;AAAA,QACH,YAAY;AAAA,QACZ,gBAAgB,qBAAqB,UAAU;AAAA,MACjD,GAAG,GAAI,MAAM,QAAQ,MAAM,EAAE,IAAI,MAAM,KAAK,CAAC,MAAM,EAAE,CAAE;AAAA,MAEtD,+BACG,gBAAAA,KAAC,2BAAwB,aAA0B,SAAS,oBAAoB,IAChF,gBAAAA,KAAC,sBAAmB;AAAA;AAAA,EAC1B;AAEJ;AAEA,gBAAgB,cAAc;;;AEjC9B,SAAS,mBAAmB;AAE5B,SAAS,YAAAC,iBAAgB;AACzB,SAAS,wBAAAC,6BAA4B;;;ACLrC,SAAS,qBAAqB,wBAAwB;AAEtD,SAAS,eAAAC,oBAAmB;AAC5B,SAAS,gBAAgB,SAAAC,cAAa;AAItC,SAAS,YAAAC,iBAAgB;;;ACRzB,SAAS,kBAAkB;AAQV,gBAAAC,YAAA;AAFV,IAAM,eAAyB,MAAM;AAC1C,QAAM,EAAE,MAAM,IAAI,+BAA+B;AACjD,SAAO,QAAQ,gBAAAA,KAAC,cAAW,OAAc,OAAM,8BAA6B,IAAK;AACnF;;;ACRA,SAAS,kBAAkB;AAC3B,SAAS,mBAAmB;AAQrB,IAAM,8BAA8B,MAAM;AAC/C,QAAM,UAAU,WAAW;AAC3B,QAAM;AAAA,IACJ;AAAA,IAAsB;AAAA,IAAe;AAAA,IAAc;AAAA,EACrD,IAAI,+BAA+B,KAAK;AACxC,QAAM,EAAE,wBAAwB,WAAW,IAAI,wBAAwB,KAAK;AAC5E,QAAM,oBAAoB;AAAA,IACxB,CAAC,MAAiB,MAAa,cAAsC;AAEnE,YAAM,YAAY;AAChB,YAAI,SAAS,kBAAkB,MAAM;AACnC,cAAI,cAAc,wBAAwB,CAAC,sBAAsB,SAAS,IAAI,GAAG;AAC/E,2BAAe;AAAA,UACjB;AACA,cAAI,sBAAsB,SAAS,IAAI,GAAG;AACxC,qCAAyB,IAAI;AAAA,UAC/B,OAAO;AACL,qCAAyB,MAAS;AAAA,UACpC;AACA,uBAAa,IAAI;AACjB,cAAI;AACF,kBAAM,KAAK,MAAM,gBAAgB,IAAI;AACrC,gBAAI,IAAI;AACN,oBAAM,eAAe,EAAE;AACvB,kBAAI,QAAQ,GAAG;AACb,6BAAa,KAAK;AAAA,cACpB;AACA,qBAAO;AAAA,YACT;AAAA,UACF,SAAS,GAAG;AACV,yBAAa,KAAK;AAClB,oBAAQ,MAAM,CAAC;AAAA,UACjB;AAAA,QACF;AAAA,MACF,GAAG;AAAA,IACL;AAAA,IACA,CAAC,cAAc,cAAc,eAAe,sBAAsB,SAAS,wBAAwB,UAAU;AAAA,EAC/G;AAEA,SAAO,EAAE,kBAAkB;AAC7B;;;AChDA,SAAS,WAAAC,gBAAe;AACxB,SAAS,aAAa;AACtB,SAAgB,YAAAC,iBAAgB;AAEhC,SAAS,2BAAAC,gCAA+B;AAExC,SAAS,YAAAC,iBAAgB;;;ACLzB;AAAA,EACE;AAAA,EAAW;AAAA,EAAiB;AAAA,OACvB;;;ACHP,SAAS,UAAAC,eAAc;AAQhB,IAAM,mBAGTA,QAAO,OAAO,EAAE,MAAM,mBAAmB,CAAC,EAAE,CAAC,EAAE,MAAM,MAAM;AAC7D,QAAM,qBAAqB;AAAA,IACzB,MAAM,EAAE,WAAW,kBAAkB,MAAM,KAAK,QAAQ,UAAU,KAAK,GAAG;AAAA,IAC1E,QAAQ,EAAE,WAAW,kBAAkB,MAAM,KAAK,QAAQ,UAAU,KAAK,GAAG;AAAA,IAC5E,OAAO,EAAE,WAAW,iBAAiB,MAAM,KAAK,QAAQ,UAAU,KAAK,GAAG;AAAA,EAC5E;AACA,QAAM,qBAAqB;AAAA,IACzB,mBAAmB;AAAA,IACnB,yBAAyB;AAAA,IACzB,cAAc,MAAM,MAAM;AAAA,EAC5B;AACA,SAAO;AAAA,IACL,iBAAiB;AAAA,IACjB,GAAG;AAAA,IACH,YAAY;AAAA,MACV,GAAG;AAAA,MACH,eAAe;AAAA,IACjB;AAAA;AAAA,IAEA,aAAa,EAAE,eAAe,OAAO;AAAA,IACrC,qBAAqB,EAAE,GAAG,mBAAmB;AAAA,IAC7C,qBAAqB,EAAE,GAAG,mBAAmB;AAAA,EAC/C;AACF,CAAC;;;ADcG,gBAAAC,YAAA;AAlCG,IAAM,aAAa,CAAC;AAAA,EACzB;AAAA,EAAK;AAAA,EAAM;AAAA,EAAU,GAAG;AAC1B,MAAuB;AACrB,QAAM,EAAE,qBAAqB,uBAAuB,IAAI,wBAAwB;AAChF,QAAM,cAAc,OAA8B,IAAI;AAEtD,kBAAgB,MAAM;AAEpB,QAAI,OAAO,QAAQ,YAAY;AAC7B,UAAI,YAAY,OAAO;AAAA,IACzB;AAAA,EACF,CAAC;AAED,YAAU,MAAM;AACd,QAAI,aAAa,WAAW,MAAM;AAChC,UAAI,wBAAwB,MAAM;AAEhC,oBAAY,QAAQ,UAAU,OAAO,SAAS;AAC9C,oBAAY,QAAQ,UAAU,IAAI,QAAQ;AAC1C,cAAM,UAAU,WAAW,MAAM;AAE/B,uBAAa,SAAS,UAAU,IAAI,SAAS;AAC7C,uBAAa,SAAS,UAAU,OAAO,QAAQ;AAC/C,mCAAyB,MAAS;AAAA,QACpC,GAAG,GAAI;AACP,eAAO,MAAM,aAAa,OAAO;AAAA,MACnC,WAAW,wBAAwB,QAAW;AAE5C,oBAAY,QAAQ,UAAU,IAAI,SAAS;AAAA,MAC7C;AAAA,IACF;AAAA,EACF,GAAG,CAAC,qBAAqB,KAAK,MAAM,sBAAsB,CAAC;AAE3D,SACE,gBAAAA,KAAC,oBAAkB,GAAG,OAAO,KAAK,aAC/B,UACH;AAEJ;AAEA,WAAW,cAAc;;;ADfP,gBAAAC,YAAA;AAxBlB,IAAM,UAAU,CAAC,QAAiB,OAAO,KAAK,OAAO,CAAC,CAAC,EAAE,WAAW;AAG7D,IAAM,0BAA+D,CAAC,UAAU;AACrF,QAAM,EAAE,sBAAsB,qBAAqB,IAAI,+BAA+B,KAAK;AAC3F,QAAM,EAAE,kBAAkB,IAAI,4BAA4B;AAC1D,QAAM,CAAC,WAAW,IAAIC,UAAqD,CAAC,MAAM,OAAO,SACvF,kBAAkB,MAAM,MAAM,sBAAsB,CAAC;AAEvD,SAAO,QAAQ,oBAAoB,IAC/B,OAEE,gBAAAD;AAAA,IAACE;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACJ,GAAG;AAAA,MACJ,IAAI,CAAC;AAAA,QACH,YAAY;AAAA,QACZ,QAAQ;AAAA,MACV,GAAG,GAAI,MAAM,QAAQ,MAAM,EAAE,IAAI,MAAM,KAAK,CAAC,MAAM,EAAE,CAAE;AAAA,MAEtD,gCAAsB,IAAI,CAAC,MAAM,UAChC,gBAAAF,KAACG,WAAA,EACC,0BAAAH,KAAC,SAAM,WAAU,QAAO,IAAI,CAAC,CAAC,uBAAuB,IAAI,GACvD,0BAAAA,KAAC,cAAW,MACV,0BAAAA,KAACI,0BAAA,EAAwB,SAAS,uBAAuB,IAAI,GAAG,QAAQ,UAAU,GAAG,GACvF,GACF,KALa,IAMf,CACD;AAAA;AAAA,EACH;AAER;;;AHpBM,SAUM,OAAAC,MAVN,QAAAC,aAAA;AAXC,IAAM,oBAAoB,CAAC,EAAE,KAAK,GAAG,MAAM,MAAoB;AACpE,QAAM,EAAE,oBAAoB,uBAAuB,IAAI,sBAAsB,KAAK;AAClF,QAAM,EAAE,kBAAkB,IAAI,4BAA4B;AAC1D,QAAM,EAAE,QAAQ,IAAI,iBAAiB;AACrC,QAAM,EAAE,QAAQ,IAAI,wBAAwB,KAAK;AAEjD,QAAM,CAAC,WAAW,IAAIC,UAAqD,CAAC,MAAM,OAAO,SACvF,kBAAkB,MAAM,MAAM,oBAAoB,CAAC;AAErD,SACE,gBAAAF,KAAC,uBAAoB,SAAkB,cAAa,+BAClD,0BAAAC;AAAA,IAACE;AAAA,IAAA;AAAA,MACC;AAAA,MACC,GAAG;AAAA,MACJ,IAAI,CAAC;AAAA,QACH,YAAY;AAAA,QACZ,QAAQ;AAAA,QACR,gBAAgB,yBAAyB,UAAU;AAAA,MACrD,GAAG,GAAI,MAAM,QAAQ,MAAM,EAAE,IAAI,MAAM,KAAK,CAAC,MAAM,EAAE,CAAE;AAAA,MAEtD;AAAA,kBACG,gBAAAH,KAAC,kBAAe,IAAI,EAAE,WAAW,OAAO,GAAG,IAC3C;AAAA,QACJ,gBAAAA,KAAC,gBAAa;AAAA,QACd,gBAAAA,KAAC,2BAAwB;AAAA,QACxB,qBAAqB,OAAO,gBAAAA,KAAC,mBAAgB;AAAA,QAC9C,gBAAAA,KAACI,QAAA,EAAM,WAAU,QAAO,IAAI,CAAC,CAAC,oBAC5B,0BAAAJ,KAAC,mBAAgB,KAAK,aAAa,GACrC;AAAA;AAAA;AAAA,EACF,GACF;AAEJ;AAEA,kBAAkB,cAAc;;;ADlBvB,gBAAAK,YAAA;AAfF,IAAM,mCAAmC,CAAC;AAAA,EAC/C;AAAA,EAAK,YAAY;AAAA,EAAa,GAAG;AACnC,MAA6C;AAC3C,QAAM,WAAW,YAAY;AAC7B,QAAM,EAAE,aAAa,IAAI,+BAA+B;AAExD,QAAM,YAAYC,sBAAqC,GAAG;AAE1D,QAAM,CAAC,WAAW,IAAIC,UAAyB,CAAC,MAAM,OAAO,SAAS;AACpE,QAAI,SAAS,aAAa,MAAM;AAC9B,qBAAe;AACf,WAAK,SAAS,GAAG,SAAS,IAAI,IAAI,EAAE;AAAA,IACtC;AAAA,EACF,GAAG,SAAS;AAEZ,SAAO,gBAAAF,KAAC,qBAAkB,KAAK,aAAc,GAAG,OAAO;AACzD;AAEA,iCAAiC,cAAc;;;AOnC/C,SAAS,WAAAG,gBAAe;AAExB,SAAS,MAAM,UAAAC,eAAc;AAiCzB,SAQI,OAAAC,OARJ,QAAAC,aAAA;AAvBJ,IAAM,aAAaF,QAAO,MAAM,EAAE,MAAM,aAAa,CAAC,EAAE,OAAO;AAAA,EAC7D,SAAS;AAAA,EACT,eAAe;AAAA,EACf,UAAU;AACZ,EAAE;AAEF,IAAM,aAAaA,QAAOD,UAAS,EAAE,MAAM,aAAa,CAAC,EAAE,CAAC,EAAE,MAAM,OAAO;AAAA,EACzE,YAAY;AAAA,EACZ,OAAO;AAAA,EACP,gBAAgB;AAAA,EAChB,UAAU;AAAA,EACV,UAAU;AAAA,EACV,CAAC,MAAM,YAAY,KAAK,IAAI,CAAC,GAAG;AAAA,IAC9B,OAAO;AAAA,IACP,UAAU;AAAA,EACZ;AACF,EAAE;AAGF,IAAM,uBAAuB,CAAC;AAAA,EAC5B;AAAA,EAAK;AAAA,EAAU;AAAA,EAAS;AAAA,EAAiB,GAAG;AAC9C,MAAiC;AAC/B,SACE,gBAAAG,MAAC,cAAW,KAAW,GAAG,OACvB;AAAA;AAAA,IACD,gBAAAD;AAAA,MAACF;AAAA,MAAA;AAAA,QACC,IAAI;AAAA,UACF,QAAQ;AAAA,UACR,OAAO;AAAA,QACT;AAAA,QAEA,0BAAAE,MAAC,cAAY,GAAG,iBAAkB,UAAS;AAAA;AAAA,IAC7C;AAAA,KACF;AAEJ;AAEA,qBAAqB,cAAc;;;AClDnC,SAAS,UAAAE,eAAc;AAKvB,SAAS,oBAAoB;AAIpB,gBAAAC,aAAA;AADF,IAAM,0BAA0E,CAAC,EAAE,UAAU,GAAG,MAAM,MAAM;AACjH,SAAO,gBAAAA,MAAC,iCAA+B,GAAG,OAAQ,UAAS;AAC7D;AAEA,IAAM,gCAAgCD,QAAO,cAAc,EAAE,MAAM,gCAAgC,CAAC,EAAE,CAAC,EAAE,MAAM,OAAO;AAAA,EACpH,cAAc,aAAa,MAAM,KAAK,QAAQ,OAAO;AAAA,EACrD,YAAY;AAAA,EACZ,eAAe,MAAM,QAAQ,CAAC;AAAA,EAC9B,eAAe;AAAA,EACf,SAAS;AACX,EAAE;;;ACjBF,SAAS,eAAAE,oBAAmB;AAC5B,SAAS,QAAAC,OAAM,UAAAC,eAAc;AAqBzB,gBAAAC,aAAA;AAjBJ,IAAM,gBAAgBD,QAAOD,OAAM,EAAE,MAAM,gBAAgB,CAAC,EAAE,OAAO;AAAA,EACnE,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,OAAO;AACT,EAAE;AAQF,IAAM,mBAAmB,CAAC;AAAA,EACxB;AAAA,EAAK;AAAA,EAAU;AAAA,EAAS,GAAG;AAC7B,MACE,gBAAAE,MAACH,cAAA,EAAY,KAAW,GAAG,OACzB,0BAAAG,MAAC,iBAAc,WAAS,MAAC,SACtB,UACH,GACF;AAGF,iBAAiB,cAAc;;;AC5B/B,SAAS,sBAAsB;AAC/B,SAAS,UAAAC,SAAQ,cAAAC,mBAAkB;AAW/B,SAGE,OAAAC,OAHF,QAAAC,aAAA;AAFG,IAAM,uBAA4D,CAAC,EAAE,SAAS,GAAG,MAAM,MAC5F,gBAAAD,MAAC,wBAAqB,iBAAe,MAAE,GAAG,OACxC,0BAAAC,MAACF,aAAA,EAAW;AAAA;AAAA,EAET;AAAA,EACD,gBAAAC,MAAC,UAAK,OAAO,EAAE,YAAY,YAAY,GAAI,mBAAQ;AAAA,GACrD,GACF;AASK,IAAM,8BAA0E,CAAC,EAAE,kBAAkB,GAAG,MAAM,MACnH,gBAAAA,MAAC,wBAAqB,iBAAe,MAAE,GAAG,OACxC,0BAAAC,MAACF,aAAA,EAAW;AAAA;AAAA,EAET;AAAA,EACD,gBAAAC,MAAC,UAAK,OAAO,EAAE,YAAY,YAAY,GAAI,4BAAiB;AAAA,EAAO;AAAA,GAGrE,GACF;AAQF,IAAM,uBAAuBF,QAAO,gBAAgB;AAAA,EAClD,MAAM;AAAA,EACN,mBAAmB,cAAY,aAAa;AAC9C,CAAC,EAA6B,CAAC,EAAE,iBAAiB,MAAM,OAAO;AAAA;AAAA,EAE7D,GAAI,mBAAmB,EAAE,KAAK,CAAC,KAAK,IAAI,OAAO,SAAS,MAAM,QAAQ,IAAI,EAAE,QAAQ,MAAM,EAAE,CAAC,CAAC,EAAE;AAClG,EAAE;;;ACjDF,SAAS,qBAAqB;AAG9B,SAAgB,eAAe;AAC/B,SAAS,iBAAiB;AAE1B,SAAS,0BAA0B,2BAA2B;AAkC1D,gBAAAI,aAAA;AAvBG,IAAM,6BAAwE,CAAC;AAAA,EACpF;AAAA,EACA,wBAAwB;AAAA,EACxB;AACF,MAAM;AACJ,QAAM,kBAAkB,OAAO,aAAa,WAAW,YAAY;AACnE,QAAM,kBAAkB,OAAO,aAAa,WAAW,SAAY;AACnE,QAAM,EAAE,cAAc,0BAA0B,IAAI,UAAU;AAC9D,QAAM,CAAC,eAAe,IAAI,yBAAyB,eAAe;AAClE,QAAM,CAAC,wBAAwB,yBAAyB,IAAI,cAAgC,8BAA+B,yBAAkC;AAE7J,QAAM,SAAS,QAAQ,MAAO,yBAAyB,CAAC,sBAAsB,IAAI,QAAY,CAAC,sBAAsB,CAAC;AACtH,QAAM,CAAC,OAAO,IAAI,oBAAoB,mBAAmB,iBAAiB,MAAM;AAChF,QAAM,qBAA+C,SAAS,GAAG,CAAC;AAElE,QAAM,QAAQ,QAAQ,OAAO;AAAA,IAC3B;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV;AAAA,EACF,IAAI,CAAC,oBAAoB,wBAAwB,yBAAyB,CAAC;AAE3E,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MAEC;AAAA;AAAA,EACH;AAEJ;;;AC7CA,SAAS,cAAAC,mBAAkB;AAI3B,SAAS,kBAAAC,uBAAsB;AAE/B;AAAA,EACE,eAAAC;AAAA,EAAa,aAAAC;AAAA,EAAW,WAAAC;AAAA,EAAS,YAAAC;AAAA,OAC5B;AA2FH,gBAAAC,aAAA;AA7EG,IAAM,+BAA4E,CAAC;AAAA,EACxF;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,EAAE,mBAAmB,IAAI,sBAAsB,KAAK;AAC1D,QAAM,UAAUC,YAAW;AAC3B,QAAM,CAAC,sBAAsB,uBAAuB,IAAIC,UAAiB,+BAA+B,CAAC,CAAC;AAC1G,QAAM,CAAC,sBAAsB,uBAAuB,IAAIA,UAA+B,+BAA+B,CAAC,CAAC;AACxH,QAAM,CAAC,OAAO,QAAQ,IAAIA,UAAsB;AAEhD,QAAM,eAAeC,aAAY,MAAM;AAErC,4BAAwB,CAAC,CAAC;AAE1B,4BAAwB,CAAC,CAAC;AAC1B,WAAO;AAAA,EACT,GAAG,CAAC,yBAAyB,uBAAuB,CAAC;AAErD,EAAAC,WAAU,MAAM;AACd,QAAI,oBAAoB;AAEtB,mBAAa;AAAA,IACf;AAAA,EAEF,GAAG,CAAC,kBAAkB,CAAC;AAEvB,QAAM,eAAeD,aAAY,OAAO,iBAAuC;AAC7E,QAAI,cAAc,QAAQ,iBAAiB,MAAM;AAC/C,aAAO;AAAA,IACT;AAEA,QAAI,cAAc,UAAa,iBAAiB,QAAW;AACzD;AAAA,IACF;AAEA,UAAM,OAAO,MAAME,gBAAe,SAAS,YAAY;AACvD,QAAI,qBAAqB,SAAS,IAAI,GAAG;AACvC,aAAO;AAAA,IACT;AACA,UAAM,UAAU,MAAM,UAAU,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC;AAC3D,QAAI,UAAU,QAAQ,GAAG;AACvB,8BAAwB,CAAAC,YAAU;AAAA,QAChC,GAAGA;AAAA,QACH,CAAC,IAAI,GAAG;AAAA,MACV,EAAE;AACF,8BAAwB,cAAY,CAAC,MAAM,GAAG,QAAQ,CAAC;AACvD,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT,GAAG,CAAC,WAAW,sBAAsB,OAAO,CAAC;AAE7C,QAAM,gBAAgBH,aAAY,OAAO,SAAgB;AACvD,QAAI,CAAC,aAAa,CAAC,MAAM;AACvB,aAAO;AAAA,IACT;AACA,QAAI;AACF,YAAM,CAAC,MAAM,IAAI,MAAM,UAAU,IAAI,CAAC,IAAI,CAAC;AAC3C,aAAO;AAAA,IACT,SAAS,GAAG;AACV,eAAS,CAAgB;AACzB;AAAA,IACF;AAAA,EACF,GAAG,CAAC,SAAS,CAAC;AAEd,QAAM,QAAQI,SAAQ,OAAO;AAAA,IAC3B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,EACZ,IAAI,CAAC,cAAc,cAAc,OAAO,eAAe,sBAAsB,oBAAoB,CAAC;AAElG,SACE,gBAAAP;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MAEC;AAAA;AAAA,EACH;AAEJ;;;AC1GA,SAAgB,WAAAQ,UAAS,YAAAC,iBAAgB;AAcrC,gBAAAC,aAAA;AATG,IAAM,+BAA4D,CAAC,EAAE,SAAS,MAAM;AACzF,QAAM,CAAC,SAAS,UAAU,IAAIC,UAAS,KAAK;AAC5C,QAAM,CAAC,qBAAqB,sBAAsB,IAAIA,UAAiB;AAEvE,QAAM,QAAQC,SAAQ,OAAO;AAAA,IAC3B;AAAA,IAAqB;AAAA,IAAS,UAAU;AAAA,IAAe;AAAA,IAAwB;AAAA,EACjF,IAAI,CAAC,qBAAqB,OAAO,CAAC;AAElC,SACE,gBAAAF,MAAC,+BAA4B,OAC1B,UACH;AAEJ;",
  "names": ["createContextEx", "createContextEx", "useContextEx", "useContextEx", "useContextEx", "useContextEx", "blocks", "PayloadBuilder", "Fragment", "jsx", "jsx", "jsxs", "jsx", "useEvent", "useShareForwardedRef", "FlexGrowCol", "Slide", "useEvent", "jsx", "FlexCol", "Fragment", "BoundWitnessDetailsCard", "useEvent", "styled", "jsx", "jsx", "useEvent", "FlexCol", "Fragment", "BoundWitnessDetailsCard", "jsx", "jsxs", "useEvent", "FlexGrowCol", "Slide", "jsx", "useShareForwardedRef", "useEvent", "FlexCol", "styled", "jsx", "jsxs", "styled", "jsx", "FlexGrowCol", "Grid", "styled", "jsx", "styled", "Typography", "jsx", "jsxs", "jsx", "useMounted", "PayloadBuilder", "useCallback", "useEffect", "useMemo", "useState", "jsx", "useMounted", "useState", "useCallback", "useEffect", "PayloadBuilder", "value", "useMemo", "useMemo", "useState", "jsx", "useState", "useMemo"]
}
